From 8ddf4e825da24cdf153421ebeb4504c27c6213fe Mon Sep 17 00:00:00 2001 From: Aleksey Sokolov Date: Mon, 21 Sep 2020 15:49:25 +0300 Subject: [PATCH] Changed folder structure and Updated README.md --- .../ChituCodeWriter.py => ChituCodeWriter.py | 0 QidiPrint/LICENSE | 661 ------------------ ...utputDevice.py => QidiPrintOutputDevice.py | 0 .../QidiPrintPlugin.py => QidiPrintPlugin.py | 0 ...QidiPrintPlugin.qml => QidiPrintPlugin.qml | 0 README.md | 36 +- .../UploadFilename.qml => UploadFilename.qml | 0 ...ompress_gcode.exe => VC_compress_gcode.exe | Bin QidiPrint/__init__.py => __init__.py | 0 QidiPrint/plugin.json => plugin.json | 0 screenshots/edit-dialog.png | Bin 0 -> 10375 bytes screenshots/menu-bar.png | Bin 0 -> 25008 bytes screenshots/print-button.png | Bin 0 -> 15236 bytes 13 files changed, 34 insertions(+), 663 deletions(-) rename QidiPrint/ChituCodeWriter.py => ChituCodeWriter.py (100%) delete mode 100644 QidiPrint/LICENSE rename QidiPrint/QidiPrintOutputDevice.py => QidiPrintOutputDevice.py (100%) rename QidiPrint/QidiPrintPlugin.py => QidiPrintPlugin.py (100%) rename QidiPrint/QidiPrintPlugin.qml => QidiPrintPlugin.qml (100%) rename QidiPrint/UploadFilename.qml => UploadFilename.qml (100%) rename QidiPrint/VC_compress_gcode.exe => VC_compress_gcode.exe (100%) rename QidiPrint/__init__.py => __init__.py (100%) rename QidiPrint/plugin.json => plugin.json (100%) create mode 100644 screenshots/edit-dialog.png create mode 100644 screenshots/menu-bar.png create mode 100644 screenshots/print-button.png diff --git a/QidiPrint/ChituCodeWriter.py b/ChituCodeWriter.py similarity index 100% rename from QidiPrint/ChituCodeWriter.py rename to ChituCodeWriter.py diff --git a/QidiPrint/LICENSE b/QidiPrint/LICENSE deleted file mode 100644 index 2def0e8..0000000 --- a/QidiPrint/LICENSE +++ /dev/null @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. \ No newline at end of file diff --git a/QidiPrint/QidiPrintOutputDevice.py b/QidiPrintOutputDevice.py similarity index 100% rename from QidiPrint/QidiPrintOutputDevice.py rename to QidiPrintOutputDevice.py diff --git a/QidiPrint/QidiPrintPlugin.py b/QidiPrintPlugin.py similarity index 100% rename from QidiPrint/QidiPrintPlugin.py rename to QidiPrintPlugin.py diff --git a/QidiPrint/QidiPrintPlugin.qml b/QidiPrintPlugin.qml similarity index 100% rename from QidiPrint/QidiPrintPlugin.qml rename to QidiPrintPlugin.qml diff --git a/README.md b/README.md index c8e6396..30340ed 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,44 @@ with Cura not running, unpack the zip file from the [release](https://github.com/alkaes/QidiPrint/releases/latest) to this specific folder: -`C:\Users\\AppData\Roaming\cura\4.6\plugins\QidiPrintPlugin` +`C:\Users\\AppData\Roaming\cura\4.7\plugins\QidiPrint` +Be careful, the unzipper often tacks on the name of the zip as a folder at the +bottom and you don't want it nested. You want the files to show up in that +folder. + +Make sure that the plugin folder name is a listed above and it does not have +any trailing version numbers (`-1.0.0`) or similar. + +## Configuration + +**Do NOT try to add a new "networked printer"!** This is only for Ultimaker printers. + +QIDI printers are configured through the extension menu bar: + +* Start Cura +* From the menu bar choose: Extensions -> QidiPrint -> QidiPrint Connections + +![Screenshot of the menu bar entry](/screenshots/menu-bar.png) + +* Click "Add" + +![Screenshot of the edit dialog](/screenshots/edit-dialog.png) + +* Enter the name of your printer + - e.g., `X-MAKER` +* Enter the IP of your printer + - e.g., `192.168.10.205` +* Click "Ok" +* Done! + +Now you can load a model and slice it. Then look at the bottom right - there +should be the big blue button with you printer name on it! ## License This project is using code from: -* https://github.com/Spanni26/ChituCodeWriter * https://github.com/Kriechi/Cura-DuetRRFPlugin +* https://github.com/Spanni26/ChituCodeWriter + diff --git a/QidiPrint/UploadFilename.qml b/UploadFilename.qml similarity index 100% rename from QidiPrint/UploadFilename.qml rename to UploadFilename.qml diff --git a/QidiPrint/VC_compress_gcode.exe b/VC_compress_gcode.exe similarity index 100% rename from QidiPrint/VC_compress_gcode.exe rename to VC_compress_gcode.exe diff --git a/QidiPrint/__init__.py b/__init__.py similarity index 100% rename from QidiPrint/__init__.py rename to __init__.py diff --git a/QidiPrint/plugin.json b/plugin.json similarity index 100% rename from QidiPrint/plugin.json rename to plugin.json diff --git a/screenshots/edit-dialog.png b/screenshots/edit-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1cff43627509a829b205b899edfa50b6e8c4eb GIT binary patch literal 10375 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 B*2Vw; literal 0 HcmV?d00001 diff --git a/screenshots/menu-bar.png b/screenshots/menu-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..7c7c49c5432687011c93f9a690459b940e091862 GIT binary patch literal 25008 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򵑽)b~kzRMf*^tWC@8ePD=jA~u!V|7N{q%>mHBDY75~Es>|(QrGHS3Be(gB_NfwKzZddwfDS8w`C&!rHhwe)l#~RLZ)2xhe$`|VqND_L{9e?G(FD?GJvbmgibRvGkWr24jOaI^KgYUq!&ZjAMi z@nUdGRVG&zcFB}O2kQYg&CTfzdY1YkSS44}qebhd0eP?|$Y_&#sk}`9?)Op4*Cuqd z_snabiQN&kswCffb@v{zb;xSGNP6gB`LuFCs$uV$VQ?p!n_D^pzIDTo>GUTWzybuq z)?>Owj9Drh+UZuu>s*^dhcBr7W{ag($cNJkjT1kNVS#}>4ut6XwOqxz>AbOYaWrDF z1OW&Y2Oryd18czEQw0+Lw@_LRj|Up=Q|vuBewQ90%(FVtux(^0G)ewowUgA)XW($- zZ`v3#BqQH>MpkLSOE;uOFG;|q*~zbf4<^Q}e>z&+*~SlW#TPPf*6}iY9L+$<17hGgTyEEl|p0INfuD^ zif7TPljQP`wR-*+;cc89Lcl8kgqWacx>2xkFRVF>$LnvgkC7C3mf289IxPrLuAm!4Mj&eEMkLkv5w{q@dpkQIwcF`DONF-&}7Ww9=|* zTeRHTk58^(Kqi9Q%o2^+4Aj^ge;L_^#-e;eamYV(^Paq2EX+Qd=j(j1&s3?3SImJp z@Yl<~!@56^_h89@H7~%HjRgXuhbdv__!-2mOb3;_UTSrayq7YeP4h6^Aac0Os0rM8 zZgTZg>8p%7q(jgT>%~P(TWkKqsyEglOQ-AMX~NqN`oRTMjkcINjfN^Qj|?Z@{yv;# zhxXJFNjgaN2~|U$L=VMZ50{*~V|Q;6_invXsmqz)p{%zEaM)D4ii)~=T|Z(ooX91~ zw<={%UtkxHbLa!%x-n1w>T?$zmWo@FXV21)zfgs<9|N&S0R!#CyQ-~K=Yawsw-9jC zf}{QyyTT1PumbUAZ@t)P`OQrzHk|Duq0(KfPWE|!Tcpfh;3Uzxl4r2y3$4WvCS}^46R*Cl?DW`YwwD!$0yyl?=NF`(vx&CEF&N+=RHqSl4G&B zubhP9nwHF|)my#3S5>Fa3&Ah~n8Vu~dmogbEb5L>Bg-UUENP_+MTgf)tIZ`-P8INR z${!=1%8(~=uI`)LZ0L}t)^*$=M+)b7o9S`tlGk1pR-j5`%xuez6C4IL6i0mxd53m2 zVAZ_KoRH|a$JuebEO%$ZH(|R8mq8%mnd1KX+iB0M;N%%nP9`wzW1^a7PO+k@L18ol zfSNb799HQu_VP}w;#$+Z@!rnrv?tg^%RThxLGVT4kTTk_e>VDkA~>z4UsWX;cr*K@ zyj!gpFF(C2!m6b>st)D0jyO(7SsOaj5Z;H1z)c>8k{*OUe%h5oB%%bJ07xPCO0-)EzAKn&dT3Ya5 z_}d;lNk#pcei!|#KWI5@9;a?ofrEW-sNx;9?}<1c1@Pticd(RoXo=~pI#)a-1dxZ3 z27fLOV+nw6%mkWSq`})_&!KH{*ju@pZTdx&%>BZx*YEeu+$JVaC3fXC#{ z`;>ETApB91^FnjQS{_-L2 zX>lQ(M0@_N1h?*fez3Ry0MnVJ;G2I&=8q?6>;tQ((je$K*x+fCak2QftQ{~!f`@zo z=CQx)+u;E^XAvFs+3R!bxP%R6npW8E{`4Dc4Mk*RvYz>Ida%TZ2Lv$$WkY{(ZI0ab z&2sU=>~)LRG6JvEo_kVrU=ws0N0lIs^?f%Yv-4PZTHv2m_;**WQHI zUz>#eU+kG61T5lUQ?F9*HCPIh>@?>Pr$~lvk)B&||5M9x`|W>%p{ovU)Sbz-2?Jvb z%UX`KkiL9XW7FH8{Xy2>^Yvta+Qz$6gnuorUDef&!-GgRh{olARaXa&Y<7l9O~_>y zpG88>cjUD6^zb>Qz*`NjW{)iV)B?xWi>Z~tv%!4p@5kNyZcmEdF-(_!0vhggS`FVP z?x$oW@05MLIEHrY*skUykgmG)^kmi9XC)+`lo*YsJ0P#9At5*G^Ip^R${ZW50v*Bq zh!Umm77;dV{Qn5M8WJqXyA0LKW?1D#aT}bmpQoT_X)4+g;?q(@~){JKAP?V6yutva~8IYD{FUFqf#*+Ev||&3(#ojNKnGb*?KqVsewaB zMNQW6s2Gicu0-Mi(p6#tm=<}OcVihHmv$tS*sC+*U$ggOL4C*dSnn8KPV*8~JhoG@ zo%V;m8Q=L53J!W)_ynKAO{yaV@<_-7vK*}$%b5MUf?pAjH=Fd5hnc5lHNDf+EJrW-V;J_tWRmi1?61B zoiQnOwnclYRy$=ZwOBrOk6b}NXU zm;N$_eJBkUbYD9)x~utV8$SZZ<2>_D(h*}YaO&^Vp$h)7RO>c{Z5Iay(E)>xj4Z!v ztTxT6f{{WxzRmNLzkt#mH-~9oXC6`F8>!hv92=N;BJVlUv|5)AM;Ag9G1?U)1AA5k zbm0E_2VJOzm3CU?sQ}=}+cLshMpvuRPdE}@);pLnh7GsAAa8;)Y6PD_uU;K=xGhHd zx%@#ut;X+=Mc#=sqGs;99+`=M_PILEcqf5k#Jmu@Zi7A=8)sGCg8@c5U3{1D3m>6ie_Tzbh{(SL7nUblvJ`Y2a9S(6El_|<^w8(c>{g!E; zzz4bI6r5?FSU+V#QZ#mbV+*gu@c160$7;0nWTN5U7y!^G)hbdEHA+lDRU`Vg%PpL$ zA=Ndj^#VVBKbF564uU4%Pe03I8hvY4MwhL^mKSY$NdK*j{zfSZNxkmD0VCxrD2>3Ty?#aWuAC zt#H5{5Ir&)tQqiRDmP-p7L+?PdZ55U>zfaBNEBmORH3PkWW&UD5h!;)GaKYrK`Dsl z{Kve;LQ^na1=K<2B2#+M`)AXV#{VAXSQyF)m6JE6iw45f5sfu4myy&8_CHrzw*{1o zg(QW~ex_f5d{uMErJ-HMMCE_5@~RY|)-}xpL+H+AN*9~;@3+jizQbJc7 zMyJT2k?CoV*mnbSVE{8OOOqk7_pbl=AOr)uuK^SyNDo|SN;DnS=&aQ|<`QevdM6XW zp+W((F-*;6@!0p8$KD-bI_sP*=kZ0I0aC05enSuTTy1|{J41z({_u#qeVU-Cd4F*` zYxX5zF$0~kdm!@Sc?#fHm^mMk#36#J|CDPGvjBJe|HRZqdvyOPe1i}FJ(n@zo4TLgCq(9qCs$w6gQ(a7tXH4ta;hwU z(9lF^O@`mbems3T;<7n!Hf>g>xM&t5@{z?iN^a3Xnm^W5 zN`sA2-Yg~x8!yUxjIWF=jGM@8+xONKnxB@{9}IoduK4YUdPBD=)3NyX=zi#_I$OCX zwaS{Qc|{uPPKes+LpRUJyw_`a@e}*IF3*!Kh28g1cW&SAr+s3lGU>6!BDfSy>~!>p z%;}F|V~W>uzxRt;$B!>6znON$WMO|hrmvlGb6OqDP5iU{I?hRq(VtXmH7NVy!gFZa z3%W7wC85xTgnZAdOtMw`E@r z1JC2h#k0Yc(DFE=5Z2?B`P(j2S;F_;Hb+z57eR4>kA%D~FnT9yb_ZMDEWR@9`;?VE z@mNVI@hL>9dMzcfivSV;ydu{tF~!}oAyH(Db069yYPZ z^6H{aNA576_3E!RTX^HyK4cXc#;g88&$*`7cz$R#@pZ9ghK-f_OPgBlN%!$5PNzpA zoHycyXOEGH72I=TG2N`s89Kub8;r^7fx8@93J#MYa#HluDy=57D}~p`$~86h`*|UW z?)~D}N2mFNQX1C_gr5KOU%bblBr!0!dqnYO=tyK!)kDN3*T<*DedDmxnUkpZ{603=7xz73;`}zIy2yC?5Z*!4SLc4Yriqi0y_!zj;(@=m77~e}$fLUJsiXM;k5h0n&-^5RvcPO8^h(t42izre6{M6R-n7`=u!f15{{_I15<*42Q&HlK_EEvjQNL@1_O99 zUn76b=9Rhv9iKgG_ULxy=%C;8iXH;G*D%wSRVf1mC>M(TcZrVXFW?IOnR5{`m3BCi19l7^4mfB>>`b;5Ma9+wg?n^U4HX zbp+)5eT|pDY}At;S!;+m@8!Pl`+n>0<6K;NcP;U6cE2i4hg#)g2a_o_RX3`p(`{;; z3hszzE9rSj=hv<#u8~s^{e7oE;rgn^cOHEt6_2}ysL&zjerHA`=Tnr5IK-_RF8F)% zZJ09b-i8>2riv@_-kb8;g-T~2l+$DFq|M#&qF>`%{kv=;Zw|+tkv}1|Xhw&UcBNH-yUm8Mo+P@5hsb`p zmyHuvR+URwg9tQ_&nz}lQ6ZMpMlHV1CnoBjw9DD_ouVna2{_dZD zxOpHlSf7)k;pf-kxEuA98PCBNeY!uIs(F^UxUrsr$2Gx-{6AV0kbGblM8X0Q{$c!U zy^4v6`6sHjA~H3t($-6|cuW4<@8)DNelYjf!fsM3yztYCg`@v^R6vE(eruDaKVv{1 zgpDB2&6JQ~;L)l)KGvT!UsyRN?3TenP+IIXRdC%;u0=A<6}A@U{qr>wlNY&}X^3Mgu=fzC+jqenH`utV7l6+(|JU*ojCsjJ~Ia6#{-d$#2u!e30oTK z#JT%-ALadcJc&%vtFP#H^lzF~iS~(0>ymwzj|c)8zmQ>j{-3C?jU-^f^!@D>L6X@@ zH>i~8ArCPdUJn}jLXm@-tUIKX!RcAxp|AQLIxddgvLda*z#Wy4uAzQ|Q*-?$1cAX& zi&&DtQI{-iaYlhr940@V55@F?zoMg`>qSRrGZ%!dh6tP{D2bu%_%?7!=l)x$;S;RrRvsCy zvPMiKd+ngm+e-Wxg`Bq~65p9LK=I=x^}mUD2x~g8G=N`^6plFf?Uxd_;;5>w#4lKy z`~_8FB~s!}0)Oc|c844i;gP_}vir)KQ&qN&iBDF<_GhHu>^Z+Z+*GS`-q08~7)=)z zzW0-arIjLn+i`*OP)Yr8LPTy-?Bcngvu>Sb-7(dT0ty6b$Y+T+11+Aql3GpHDiylf z6lUkYMtIil_y&AmX1_1K_lMaMFydYdk^S2pAi7~M$2->S)t`Ny$~-NYu$#Lrn7yH~ zU)Lj>$5mXbq33eWF(iD#=CsRQmFH|eiBGZV;BSgd6t+%G6!S1M(N4d?dFh`UbL=P` zo4YwLIwlH=>e7eELhtVHaaTqB{JvYWmJ(vQ6KAoCF3YCEx8k~vFX%F*c7oqi%}vuQ z7DYpp9~o`QXUq-eK~;3pK?deuzCMUPzRm;wM;5=T?PH5ltj5Ze9*?EvVf^qmOdFHU zlumq?Io4r)Vt-m?ct^F&@Hf*rQ5v^S<*L0#32n07b~t?}-sVL#E(P)-H;(_C)1vBg zO=RZ{HL#!s(DTPSv&*)`0|q)*kM&VLQIem_EMXQajTn+mud7x%>AbL;e*)UwADvT< z4<_=*Wy0X|NlS~FovNHD%-N=>;!(T8e^O&rSB`XTZXZL#7baM{3>?c=VHVIZk*RJ; zJ-+Bwe9yk*!-_jDr*xL52h;>ietos1h%__$8f%)2Aq{e}8w7nq2?kf6%4TmrT(_a0 z(NLIJx-|5t5A00Kb66X77W8Uj5`DpK(hf?JERONTr7Rl!$^T+wAWMOeNiFvuK;nw} zi?z1U-EE`8YE}}wrwn>|!z=V11i=?MfclL~;Evk+?Kq>E&9nhiIXf?~`XZ>{tiq;kc5nOR1q6`A#ERLsyJQMD&MSxaX zd@a^@fgF|hmhCyu{T6pu`rMRG<(j#U=^$1p^oASF^<(k*7(z|4l*ITq4)~f-pQC78 z=n8myAyK5?Vl6|o5i8oepRST5w|1?r0zrIDuYznvaA&euLc4N(d&Qm+e%^l}$x%M5 zL>_Atc@^0Af^)}Pil}OfxYXbikB1gx0^gdX;6j51D-))QQ0e40GlFW*sHs9p{;wcu zsVPKF-u@D73~W(EYA+PKqK-+a6zllkXz{jqs)RHNV43wMeg?APv)oPfd?$6BUA^Bz z1^Mg)dwv#PKS{E!|Ka`1s!VyGo@HSW1$rtUe}`Tx>8K1F_6hT>syPrXpwl z70`XGUNQdnb)F`_Hd@N+6&3%=p)$PZmpTBW`iUx$c=2H4z$iMji_c?(B%AS}s$5fT z6q%y5Sv>dF;CIs1P5r_pbTXPM{7&nWCV_dZ;w4@!6xEZNk5T}ei@9cVR3}CB!2x(7 z0_V`rGGI2(uCERZ>f}~+w$q-UUys=AH%HK&P%SJC7pdjH9Y)EiW#?Uy-4u6sA5Rox zO2gULaBWNY+AF6Gr^l#h=35);n5&UI(k|zVZh|8v` zh|7lRcx7W6_REdh{aV|uhXDBia(I4Fdk1$%IqmO+gRew__5+lHzl+`uRUe4J0ahzC zU>~~~>Cl4u;ZB5@))P~GU%z_CX>vaUzP6k+7(lIu{59T@4w5@rSn_iYDQ4 z3zk2S=AX_DirXuv^_Mx;9-TseMvkBPSxh9Zi&>8)KclBolve$#jvrWEu8SYdD+Hk8 zWGfFbBuggW&k+QQOmCd67H!Et`;g+?@oZ&a&B%QxF876Rid`$tnvqy#KxV=z=A)02 z|KgKM$z}oL<%eo@qO&+~px29GvX4y_3MJnRg@z$ZqtTlB8ElHxJ!2$T+3zlI@7)?V z{KfY0hE$i@$*@BCb%pG>*sAY#fbcZ=C%_@rzYs(&=g4o>r=RRbL~FMQ62s2;{Zdii zIx7bT=Q^Cp?VBd$me1;%qchB@d9Uag6x*)1^)tnY%J^qN&cumO9IT9dmA0to1w}H| zG6Aq{knOM0~1eFgG3h=v=_RonHqU-3~MYT+)~L?64JdolwZhBhC9k2_UihvyhtKB$yg=+N7lbGw|k^% z6@^w-Ryd7L4>nA##w!cM_t!>rl$nS*^h#rz9}u-XkR~ijua5s!R4UhR5=%hJ0)CVm zOaNx`l*1Meep-4z}lE zA}b0O@YhB!3E0&V63*BuV5L7sM$8e>mZN2+3MMdgO3;;cC8= zW7YNdEjs~NWj(1J4xSUu%&#u@vyLsefTsV&?9}_Tz4E;uS)8J zt?A;^oK8P9A51*V)l_OkT+QmLQTfdu@~Hguse43`}&%SmHdeCv5xW|MO`mK0x9~3F@Dj zVyF2PaDw@#1A~dcoUe8y=@EjjhnLThTZI1DRSz>Vih|{%3et9rMM9qZXZAu=+Al_z zqXY~LZOJUGbIlU5c?>#ZMrKrm;k`_(VkH>*C^6E{q9&t5+_KQ^KE_`QeMk%=0MqdY z-@W(9KMzj^bBM$-4&p_zXXNt=KyG?|%#wSREssX2r2O0lIH`BP$rDZyDoL&l7jlt- zk^nWt!~><;m0z|h^gI0+$j}{ghbfLiV%%?)yWU(rya~&5F1*OC}JA zriMz~-i3535_#?REe{2$LEdI}1-{RObVU&a0|Z;bu!IQ1cZB!LUJO+X1I(x2&|@9* z6h!8GW;mS?U#i}00+C^r1E}1UzW~IKPA&Jb2H> z2!HTaSB|6;VCKTn=C!`1ilFch@rzYR9>}A>L#{aftN^NFi?{cL$Uoa(&T;R z30Saq{Sx0QmJowERQ1qF8SC4Xp#(VbeyEu~`n#TzWLE5O?i&$8uC#v=mWIhKgAKaX ziIvAZu!pG)l+I;<5F&mhMCa;?4@lH0J8xBz@ilq=X!RctFfC%iG@ zEUP-K>7nx(hPNj>DPi~>LQWq=iAVk6%rA3hBIqV^nRkpZr7*T7ot|Z4Danpfdm=+I zhJ(4K~BUi!{yV-}h_=s~Z#ZV{@d;um{lzde} zf=5#6lPMw3z%fdXg^R(A0IlEMvW}%}^7{1ES#{_y=3MC|jhCPmBL+Q_7rzx#oG*pI zq;(j;=lT}hp}SU*=W{mnHFLP)ngv?v)8lL$82;^n8?DIyQtQlfT7fN~GlYlo1Xx>C zUho(#<)AD!l1ZHg8X6p0PpzNf`?8_YKn07&W;zmhHpT@ef%RDpDl;K1@xI;mQ`T`&ihc8|G@)P_VeVNhSSOX zA@<7)+0_lNef9kuuN}8@ief(co>Ki3wKp(H1P0PKHHy5`ABvxejQ|OZ0Tw@AE@mP( z_GP0NAd~w^(u$kxXezFS^CK7x{>sbgyD^W9(uA$7jTiTcYzd#^p2mwGeOlzb><~I3 zIsEp}v*_Z2LLAQg>|IUC`uB^y`%V{;&vGa0NZj8VULk0r_4vW^rT4`T`V`pFJrc|{ zqw|gNL-)6xnwC6Zv>k6Tjwk{sVIBj}eXGsI>G{#vIxG(P`l@2Ukp<~1f2%T9B$PqQ z)rRz>{%Crdjq@w;;p_nGOhSDU-mk6Q8`ysF^iRj}#o>99W!;L81iDXu#ncmZO|6m( zujBIa!7VRw$uActcc<=LMVh|v)=?M_ZO+Afkhp{<81PY6Yd^Q9u zj)lpOP7@{a?g2f9T5cpke3A#8fraTl8V2UJPsvea6CeOD$F)}2VM30}sG|6p$ZgE6 z%Xs&*Qq$Gm$J2Z9flKcnPr)O_?bq?IT{r5w}wQ#KS)@%SPnCX?RyU^*u<; zwdf+K>1yh`@2KZQ#^T;r8+y4#BY@c5Y?g#zdnjj8-1n4+U>l=vdwWZ0loUaO@xg4b zczll}$qWnV$P>*45`$KB0Z&J^d&x2fs)DKbuX7#!-2)g4AX z&Uu=noI2bqJ4(NP{(0oNo5EEBe}UU8fbvd=A#24Iw=3F|I31xssdTELhkxJgCyJAU zU?b7deYDbyF(kbmCG^prW!!pw63x!0P)>Xhgg&Dp=`)|;0r!=`K4QflmBAi;UPA6h zikLn-d326@Xggg$kwo#SD>k)%ZPr|ify>~$o7H`CT7P1**A$rCl5S6qtQ2oQ~Py&{mx;h<~K7<&U6g1A~ z?S4fvT-N$vCFT>Mx||g3Vnvq^w#!v@V;l;XV_6por5nDGC$m6T3WnZp-yJ>G7fV$gbbHxyNIbUI;b@I!w|OTb%?N zh!18R2xnH3u1>-omoUprC1}@>qzBC4f^)`8{S%Azp;5I|2ura@#&^zgY$T0AQ^Z39QZVB?5394Z{E_5G zk@+;x2y4;1)0Y>5QyOELi%5)UZ&yIc{q)!_rxLm{Cg1pAB}Ku(-j?_#xJqJLJZqT2 z5l_wWhCt)?c>7@R^3h3$mt&w!Y`D9N@@J&)dBfJ1=|Ob_qf`He_3nkN{z6-&J|rvg z`%6@+UUF7dp?0d5LeOJBqdP3i5_g?GQU0M9r`xbzSror~8SW%{*ERLN$nY>6{^uK= z?j8)=M=Ka*I0ls5`vNiecKKzOPZU?x;hS}~MHiSY zPdH&}g(!xX&!&s3K8krXJZ694PS}ehT|GLSj)L#HwVtf6g4;sLApsT@hBDe@At(W_ zP4m?lh4%c1iC$)U_u4BgcI#b=JS_ELl5H|J%7G>`?5$Y6Pe`eOmY*9gotZU|X--iR zo_4Z7%1nD4O>qV=n!e(FuAF<2D+?1koQOV&1SsHgMi(&z{(ytFQWBrva^9;cZLFr* zu>$T^%1wsQUoy4#N(l16*^o7u&#GzFY0N5ocRtHki7I<-7{$@`&SS_iBEOJ>(ujHh zFkY*eh|sg8axSQH`L4F3>)VwL73;;NUlYh*CLdW=mkb+Zzi#EMe!r_E#@g7y)GPLu z`!qReNt=AjW%2a%m5qfOUEefK%RFcGTUiz))y#RBJm73Y!~(r(wHQV|nRuu&39%Ad z5P5F6#3L1&ChN{uR55vk!)=DPQ6L5fUr$a_CPis6s}3X8NaRkga!PSfTQQq78OWs7 z>(c8)Tk?nBB|bGTmAy>X9@03CHztd-KJwO*l$8yc0^AOE_~pZbT{xh6mc23U2-vF? zJC?8f;(y*riv=-!{B!A|#c4 zEzMT!t&qboRTw(Lq|MnE(Wwf*7#Y8Wc+7fT_P+&jOM?)N=c6QpBGcP~Tk88XJ8c?s zy7lv39ViS+o^VNOb=}U;%Z!f8O2Siqo@b>pZ7uIoEmeD$$hOMg^!1LTsxs=oD;Q}f zoj(jc5Ry4PCtBHkbh4r)+WdsL+*kD-@0&X0r;ngieLZbsb3Hb%CO_ib#?)+;zW#yaA7x@u+eN;23={Agvq;{lB1vXS?Oe0@d+Qn94a(D@*&cyNOfo=Qms z#CvdtJw6?b8O;~K66{U^aja_OMFWY?>Qwu2C5b9qdk$w8NVRN}bPZXZ((5J>Wk!-uWkMc{CZ2<@Ee z0@ruXKwa9?E`vm|bqOSh_syf@W^OvQAH^HTYxPO(8|LQNoM2>f=+&6Gy`m26k({@q z2mo&8at@CHHKGjPT7`iLvbV)h18MZ(2J*hBs!)P<g&gK5rzX0O z>mpM>z#wg2l1|27ToL;I-Ns`EPhq9BnxNeGs5ttUe}qWX;rCOey>(f5!IHh2V&S*K zI?xg)8x*3&;DNawNDa8Zd8*!=^~y6F|6ut^4Y(p8)Qmz~Moy0GcM2H#t8Sln2})0W z@gnNu`^uy4j)_-xyj$tPFp5s!^HF-PxGD$lPdTFYx?tT>-&>y+SBXM!6%)}r81Ngn zei+ITKc@iPA~y@A#YGoz4ysB=C0GyvD2uhYrAaX?lw?#UKPU#qxL~$i6q&B+26W>z z4zM~yCUT}SUpG>sZ`82TeVF7v*0|xvV1i0XY;1Lk`{wub2Uk3hiO7*m)#OgnyJ53*74 z7=$|+Xks@)yvVX0#s^HdKcalF7;o;lCh&#$q>4yzB`nlF{d2wS@ALOzCfm(4&XUEm z7HaZPWcATZ_t~yE2mz8RRVB zD8fcVLoqDOwcqS4SW@Iz!yUq9+?iM)%FYOA=;e7vFaZh|Cgi?X?fDF|+fVv^XSdGf znz+!C+67kc<0)6QFNdO2ofTv$tdwzkkTyA^qybgWem!y4wIo~P^~O9xN05aKjMGM~ zZOIz0WT$&k#eXP-Y&(8Oz_mxUxyU(1p12 z56R|b6W^Cy{sx1C<8bIdmX9W>c|_2A$^HJVUiozRx7ga!^!K{Hq=yxQGVo7v#6(Li zk0az)AOvy5;fv2T?R|=vZgGO8kL!CX?fD?=doKEAjeo?rr7gvb6XGcLwZ%!E{;8-6 zxJwht1a>+vpjTtUQhP2#`v)NG?^9n5OAcXGJ-`gFVnR@^6f>z))>r!E5ydCPFwJ;0 z%e3)wEsMMqX_7bL2D{F(=F!ogcODMr7pLqjvQfCX^V?{T*X(*fc6pVHKrt*Nvwo=) zsb9#l=kaHy7GCnry8o6 zts7~y6OU3>J_zfM=dK%4_TqmbdTe6eW_~ev{xjA(1|Uz_@S~*+ib81Utr}69@r2W8 zHzp2LUT4Gk6;+eLp4nsy?=lwo!B9p8nnx0LtcX|ApZ~$JeSY>y%;SZ}KG%okbA9&} zS6d#SkWpLfba{81{`ike^5qQuL8aa9$(rr*MG&I>Wz7-Neu`?06$tPs^du8#0Jh7P zVTJb7cch~-kgpBjJfvNLQWNwhB?K>+zP=dkH+ljIELTHghXGvt#aUiFn83?!L|>#U zNn{VG$=FAywNo3v3Vq*c;JT^|tbMl(-%%$y7|k`Fw~6PMUv34g>P+9sy*O5A{1GWu zT4=r#P`}r@gs?X9AM-CLorAE%#AO>*0 zMqyb>N$S&Jf`Mr-xW~--^njP^va-X@{OhThRfqXbd#An+yu+u*{kY$IE8c*B<|ES!z5Lj z>( zXP=D{kEz5xHEK|&?B`~TKi}@bReVjbjhPUja1Y~g+y|`KpnGa?tfVx&N0MY8D)-Ay-VDmDZKO(myD;vfPE+>(0}85}Bb2xkU2t6ZH! zxawL0U6WvflR!8*g28Im(75RJfl+A)fj7#3-vYmxjf1U{#QUbRv>o#nmK(@{EVG|$ z??f^wiNg}Tt?2*uCTFwEkQkQSU{Xr55TN<{dbm(0$Fz-?5yrRB+IoQguN~sR1?GQu zt`Y?fHGne!;Hhl1WM5wOGf9JP=$v^-ucGf|T z)!Is{zzT(1v9AaHU8$-X;A9TbEI?PWv2ibXyWHX@+xehbG@18E6eawnMzOxN=nsY) z0V#Mt28SBPhI1q^8DTo0Tk(_2C@U-Lg?6v}%o*y6Ew<42I=^LWQ*S6 zXG0oOV5Qzs~ zc}omsur=W(k^JNA;eIz)@#=`yR=z=vj571J4`gekqg-Xk5C|^K7s>*`Ps6%X8#ltP zdOGeWe}2Docl*Aoe}2cQESDhWzFX8?0)6!d3|oItR5Ic_|VEh&=+oDIi&WJC&dBkIuJ z)X9$?m}9OTh&{9K@5o9V>3HQCrw>P3MhhSJeo;qXXQ( zU8yCEAkm2dj8=TUrUD-z19_Cj6S{l*%V@J7OQ_Piy}Bw~w&=Yu9ca^~&|wyjD#_~G zVj`&URLU)VjwpwBsjkdpnvQyc^bNYD3b$kjSO1X~dm-$eOjxBSg)C6(S$=6J!_vv= zK2D2{uU(Y!Jy*Nb8|c+ih~DA_;w4nRkP95~&Xs!25I>|Wf=eJEPvK1%GkVb|%jBmR zf0Tc6kW9pvv-(c~wQ}7_OZ}fp>-mUU2AL>9%JAW0gW{#*5i(e=GyH`FEcX+N+ICG? ze+Y6&Z||x3<%@Md18Y}EX!-P`Dspn?1jP52XriU+34-V!mu=CcWc)H)xE%(so{u6~zi=Hgg?Y1|ODU76pHmBGal zsQ843@(vjh1^j8K?eEY~D&lXCSzA%9)u;CJZEp+JNcnfYG5Y|I&+e0g*~^$-oB@0K z=Er}?LAfffyoB~kLF(`Veif=>hu{4_7M-$hi9DAT7S8;Ip1Jajg$0^ce_Zz3!|H;K z<;(LLEy(dYVEn+h9N-AleckFPcixyRKfAZ3MxVUXdjOg_j$P)NrW4!RE`zSs8 z!33A{C#S83w${(QC{{95pW=80O%N{$3Qxq_syWay!TLP+-03!7?@nCDY8DV~NDRiN zHtFFehx_HpT5t|9fq6L9GX>UNnLS{3%`K~7|@3b(zj5D#sT)ypZD z`}UbF;#8qER9E4UEsz`9tpbr|VYP-u|K42?5>E)qz6aOL^H42&4}@`t*onvISFp$w zG5cB2exJ*`-eaqS0yPsxgB(;^!eM+Yf&?(XBJP_GEF=^2f&2F5+9esG<4pA!VU-G%i#y(0^U`8Yc1L!Ek1HaN5>AS(mX}Iz0 z^Dw3|!G9$YGf?=RB}E_u11ri=f~mH)wm{?=2&-qiL}Fa5+55f7=@$QG?_YHsPW8%j@eEMQViq za)=Wr*v;o}_K||g0Y^gsM$ytr2w{c%8$yYo{I^A;0$26_|1y|G0Vd>eQXvd%9|?P& zRSP?>-==AwaS5Jg^~{koooRbK)HwA{%VRypZ`GqwOaiZq(d*c6^PAggW3g&#yo0G-(XI)oc_f3Q+)v9(^AYfQUQ6Z2XzI z1Jh8&>k@rr)JXu>C?f#YQbq|H4~QW0iV59N03PGDYK~&n2K)&?vls!nwu3AvUKjNv z?ar91HvvkJOUyJrRb}y?Crr9;A_t_YOgu;ci;`-o2Pe7IPJj|s8B6}PGNfYIaz`5| z@fnYs*$A~`)H%SMz}Z2$Sh$rzsDIQuqu7A^UEpgCMrF!@D|sPO(1wyOsdy7msC=jj z96G=P8vnq=$YL;R!l-a9DhHUw;y+@R{r@Cp45PxyAPx8T{D)@rmAv%X*RzH|*YH1s z=x2XPo;pa8|3`k+Mx=vE@)q>#c+Y5d->d0-GwV`owU@N8CO#N^9nipH;IO2i^Tt{c z5#?;X{#&W{)^sJdY6^Lzh;sH+l{ZUScHd%^SCv_hZsQD&Vru=)to>R$VWQGIB=W{# z#$R~6_IWfRf%2)>p}r{kEyLWKdeja6e;*fy)VcWtK&ZXf(3eF27Y@H})Z2S>32VVfyb; zQt-Vt;bwPfMn$Z?6wTfxQ~myy1?H35cK7t1xkB^Pa2Zwk%EMuoMLqAv_xw1`Bgsp_ z8HZK=^Rru=SpQ59oeYydZQ3!_XT>D{IcM<9_}aQ|48Ja$AF`F9{B`{)Bu&0*3g*^Y zbWeUC{>;AbtkVLPcyUkvkmsNYIUB0Fu#X|mEEL4wmAm-xmiA-2%PVj3oZ8M%x12rm zbQ-DmbN^Kt@&3|Hzv^UYQe+T9ak^JwO(%ZsqCoN7L7WfMOv@X{G3$ED&8v?v?a_B? z(AVdAD7vi4)U&rECTJNVFsXH*<7?{%{i%F(N~>1>i*H&LB7QP!@<>vMddkgjbsdk% z?%?Sm(tv9E(L%>;ebD7-OaIbBX32E=yTBCGlO?K#!YW%h$5S%=lL?bA-Khu&8v(hI zNQA$PX|UJp&+WiM8{Yh+`V`#P?9?$>=T-l!Hl@oz$e7+tVM%!p}&3sX{{<67`aR6v44YQBhd$)m3}X z$07E?RR|~G<`tqOSfUDFJXiU}tAC_$@LR9HN|?!;uwXM|rodpGaISH=JK$T0*L0s4 zI8;8rs$pvCmHUH}(azGfbCH;|B-Xucp%6z#XM6F7%FTI}J7nR6wTD95Rfkv@AnM!% zEl8UdN%7DbXpfyDQ_OX!>vv`I2Q#=LU0-tv z+MUIn)EN|hE?Q&10*p*X2*kgsAl{YQ^AN*8|2JNdr|Xtl)V;0GS=zaZlvbzVCt{u} zKU^_}r_6;8XXfOuap)ViDx)2bZ>_tLjx6ah$LqWj-SzPEcs*U~)9C#k9*4lM@LH`v zbqb6_amukjeUE)5#`t)bo2XsXo&YTpN_NrjBATbiM^idpmFO7rI+s?mC*62jRgU!S zWx}sc(CO=Dgg$#Tp1tS#T(rfy|2wsqQ)la3d9s?? zX8?=p5L5RL;d?Y4s?*BAt&Hbp9K3UyTyC{>_+b^-v$+w>>do0KyxdoBD3bVFkOt@q~LlBxd#A-21j1* z2o1TEaB%4yeo~tNL)OG`Y6vGcv6%G$!od z{*QWO5;Z4Jt9ze982JsxKOi3CW=UQ{%lldEwp;#LuILZJcNsZ#gX;<1-1f1Lc#A-Z z*v(*8HlHS<#cjV3V{{q39hmQ%bH7rl{HnU z)K!kW0!j(B=QPnWtS12ta7By=Ruwq1A+pB6rPj*eg>K&2edCxbVUF9qw(qUB)dLl? zOFD_0vf7M5;f{8k!I^?g>v+!bm^K75rK9<*`$tcAUl-H8GWxY+oneyJh9Y>XFId?P z08iM_p6y7kU*IQbZB+{1#w(qWzX&3WLIu0Re>fUz2-JIguzn5HkW(E|WM7I0Lf?;1 z%t4iJo#uF7CHHTS7pS-Lc%G<-$OnkAOf`V@?_*}AH(wA^zbnt}iLe$QG6W8PbhT{DJ-PyG89SX`h4nGCa)9i6#I)^O0cbV4a)Tt?_6(mxU}(c)FH2EWZ>m4{K;nVqT97*~|W_<*R|FS9Gn zJiryR0$W#QqRvmg%6_3aDkcwt9T%xsrydsQ5*@~bUf9nem64 z5e3arWLr-@AXPt@aDuPS`%ypA&h?+2_2u$4d&{S=3 zTonGFVqjo;y4d~gTRA!(V04Y~FP_s68dgZb)BO1q;AwltJps zh6b@UNF)*cACcBA@~a|YpzCo(!6&CtcBI*V7w#pnOtEO7u%$6a0NtGT(p5;bviH4FN`>G5vP{Y&(1ofKYW&-GZ~<}8{V MQ2+n{ literal 0 HcmV?d00001