From 7e67175c950265798a4e8e05c3f77148ba95ffe5 Mon Sep 17 00:00:00 2001 From: Alexandre 'Kidev' Poumaroux <1204936+Kidev@users.noreply.github.com> Date: Sun, 8 Sep 2024 07:19:22 +0200 Subject: [PATCH] Initial commit --- .github/workflows/build-release.yml | 44 ++ .gitignore | 5 + LICENSE | 674 ++++++++++++++++++++++++++++ Makefile | 10 + ModsGate.cs | 301 +++++++++++++ ModsGate.csproj | 48 ++ README.md | 6 + icon.png | Bin 0 -> 101043 bytes 8 files changed, 1088 insertions(+) create mode 100644 .github/workflows/build-release.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 ModsGate.cs create mode 100644 ModsGate.csproj create mode 100644 README.md create mode 100644 icon.png diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..6ebaf07 --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,44 @@ +name: Build and release + +on: + push: + tags: + - v* + +env: + LIB_NAME: ModsGate + +jobs: + build-and-release: + + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0 + + - name: Restore NuGet Packages + run: dotnet restore + + - name: Build Library + run: dotnet build --configuration Release + + - name: Zip Artifact + run: zip -rjD ${{ env.LIB_NAME }}.zip ${{ github.workspace }}/bin/Release/**/${{ env.LIB_NAME }}.dll + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + name: ${{ env.LIB_NAME }} ${{ github.ref_name }} + artifacts: ${{ env.LIB_NAME }}.zip + body: | + Release of ${{ env.LIB_NAME }} ${{ github.ref_name }} + generateReleaseNotes: true + makeLatest: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e8ac56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +**/bin/ +**/obj/ +**/.idea/ +*.snk +.*.png \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 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 General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..32e3275 --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +all: clean build + +clean: + @dotnet clean ModsGate.csproj + +build: + @dotnet build ModsGate.csproj + +release: clean + @dotnet build ModsGate.csproj --configuration Release diff --git a/ModsGate.cs b/ModsGate.cs new file mode 100644 index 0000000..11b10de --- /dev/null +++ b/ModsGate.cs @@ -0,0 +1,301 @@ +/* + Mods Gate + Copyright (C) 2024 Alexandre 'kidev' Poumaroux + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// ReSharper disable SuggestVarOrType_BuiltInTypes +// ReSharper disable SuggestVarOrType_SimpleTypes +// ReSharper disable SuggestVarOrType_Elsewhere + +using System.Reflection; +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.InteropServices; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Threading.Tasks; +using BepInEx; +using BepInEx.Logging; +using HarmonyLib; +using Newtonsoft.Json; +using System.IO.Compression; + +namespace ModsGate +{ + using C = Constants; + using Dependency = Dictionary; + + [BepInPlugin("org.kidev.ltd2.modsgate", "Mods Gate", "1.0.0")] + public class ModsGate : BaseUnityPlugin + { + private readonly Assembly _assembly = Assembly.GetExecutingAssembly(); + private readonly Harmony _harmony = new("org.kidev.ltd2.modsgate"); + + private static readonly HttpClient Client = new HttpClient(); + private static ManualLogSource _logger; + private string _gatewayFileAbs; + private string _gatewayFileModdedAbs; + private string _htmlUrl; + private int _htmlInjectionLine; + + public void Awake() + { + _logger = Logger; + _logger.LogInfo("Mods gate loaded!"); + + _gatewayFileAbs = + Path.Combine(Paths.GameRootPath, "Legion TD 2_Data", "uiresources", "AeonGT", C.GatewayFileName); + _gatewayFileModdedAbs = + Path.Combine(Paths.GameRootPath, "Legion TD 2_Data", "uiresources", "AeonGT", C.GatewayFileNameModded); + + try { + RemoveTempFiles(); + _harmony.PatchAll(_assembly); + } + catch (Exception e) { + Logger.LogError($"Error while patching: {e}"); + throw; + } + + _ = CheckForUpdatesAsync(); + } + + public void OnDestroy() { + RemoveTempFiles(); + } + + private void InjectIntoGateway() + { + var lines = File.ReadAllLines(_gatewayFileAbs); + using (var client = new System.Net.WebClient()) + { + string htmlContent = client.DownloadString(_htmlUrl); + lines[_htmlInjectionLine] = htmlContent + Environment.NewLine + lines[_htmlInjectionLine]; + } + + File.WriteAllLines(_gatewayFileModdedAbs, lines); + } + + private void RemoveTempFiles() { + if (File.Exists(_gatewayFileModdedAbs)) { + File.Delete(_gatewayFileModdedAbs); + } + } + + [SuppressMessage("ReSharper", "InconsistentNaming")] + [SuppressMessage("ReSharper", "UnusedMember.Local")] + [HarmonyPatch] + internal static class PatchSendCreateView + { + private static Type _typeCoherentUIGTView; + + [HarmonyPrepare] + private static void Prepare() { + _typeCoherentUIGTView = AccessTools.TypeByName("CoherentUIGTView"); + } + + [HarmonyTargetMethod] + private static MethodBase TargetMethod() { + return AccessTools.Method(_typeCoherentUIGTView, "SendCreateView"); + } + + [HarmonyPrefix] + private static bool SendCreateViewPre(ref string ___m_Page) { + if (___m_Page.Equals(C.GatewayFile)) { + ___m_Page = C.GatewayFileModded; + } + return true; + } + } + + private async Task CheckForUpdatesAsync() + { + try + { + string jsonContent = await FetchFileContentAsync(C.JsonURL); + ModData modData = JsonConvert.DeserializeObject(jsonContent); + List installedPlugins = GetInstalledPlugins(); + _htmlUrl = modData.Core.InjectHtml; + _htmlInjectionLine = modData.Core.InjectLine; + + InjectIntoGateway(); + + _ = modData.Mods.Prepend( + new Mod(modData.Core.Name, + modData.Core.Author, + modData.Core.IconUrl, + modData.Core.Url, + modData.Core.Version, + modData.Core.GameVersion, + modData.Core.Description + ) + ); + + foreach (var mod in modData.Mods) + { + var installedPlugin = installedPlugins.FirstOrDefault(p => p.Metadata.Name == mod.Name); + if (installedPlugin == null) continue; + Version installedVersion = new Version(installedPlugin.Metadata.Version.ToString()); + Version jsonVersion = new Version(mod.Version); + + mod.ReplaceVersionInUrls(); + + if (jsonVersion <= installedVersion) continue; + _logger.LogInfo($"Update available for {mod.Name}: {installedVersion} -> {jsonVersion}"); + await UpdateModAsync(mod, installedPlugin); + } + } + catch (Exception ex) + { + _logger.LogError($"Error during update check: {ex.Message}"); + } + } + + private static async Task FetchFileContentAsync(string url) + { + HttpResponseMessage response = await Client.GetAsync(url); + response.EnsureSuccessStatusCode(); + return await response.Content.ReadAsStringAsync(); + } + + private static List GetInstalledPlugins() + { + return BepInEx.Bootstrap.Chainloader.PluginInfos.Values.ToList(); + } + + private static async Task UpdateModAsync(Mod mod, PluginInfo installedPlugin) + { + try + { + string downloadUrl = mod.GetUrlForOS(); + string zipPath = Path.Combine(Paths.PluginPath, $"{mod.Name}_update.zip"); + string extractPath = Path.Combine(Paths.PluginPath, mod.Name); + + _logger.LogInfo($"Downloading {downloadUrl} to {extractPath}"); + using (var response = await Client.GetAsync(downloadUrl)) + using (var fs = new FileStream(zipPath, FileMode.CreateNew)) + { + await response.Content.CopyToAsync(fs); + } + + string backupPath = Path.Combine(Paths.PluginPath, + $"{mod.Name}_v{installedPlugin.Metadata.Version}.outdated"); + Directory.Move(extractPath, backupPath); + + ZipFile.ExtractToDirectory(zipPath, extractPath); + + File.Delete(zipPath); + + _logger.LogInfo($"Successfully updated {mod.Name} to version {mod.Version}"); + } + catch (Exception ex) + { + _logger.LogError($"Error updating {mod.Name}: {ex.Message}"); + } + } + } + + [SuppressMessage("ReSharper", "CollectionNeverUpdated.Global")] + public class ModData + { + public Core Core { get; set; } + public List Mods { get; set; } + } + + public class Core + { + public string Name { get; set; } + public string Author { get; set; } + public string IconUrl { get; set; } + public Dependency Url { get; set; } + public string Version { get; set; } + public string GameVersion { get; set; } + public string Description { get; set; } + public string InjectHtml { get; set; } + public int InjectLine { get; set; } + public List Dependencies { get; set; } + public List DependenciesVersions { get; set; } + public List Installers { get; set; } + public string Signatures { get; set; } + } + + public class Mod( + string modName, + string author, + string iconUrl, + Dependency url, + string version, + string gameVersion, + string description) + { + public string Name { get; set; } = modName; + public string Author { get; set; } = author; + public string IconUrl { get; set; } = iconUrl; + public Dependency Url { get; set; } = url; + public string Version { get; set; } = version; + public string GameVersion { get; set; } = gameVersion; + public string Description { get; set; } = description; + + public string GetUrlForOS() + { + if (Url.TryGetValue("*", out var fromMap)) + { + return fromMap; + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && Url.TryGetValue("win", out var valueFromMap)) + { + return valueFromMap; + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && Url.TryGetValue("linux", out var map1)) + { + return map1; + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && Url.TryGetValue("mac", out var fromMap1)) + { + return fromMap1; + } + + throw new Exception($"Unsupported OS: {RuntimeInformation.OSDescription}"); + } + + public void ReplaceVersionInUrls() + { + if (Url == null || Version == null) + return; + + var keys = new List(Url.Keys); // To avoid modifying the dictionary while iterating + foreach (var key in keys) + { + // Replace all occurrences of '$' with the value of Version + Url[key] = Url[key].Replace("$", Version); + } + } + } + + internal static class Constants + { + internal const string GatewayFileName = "gateway.html"; + internal const string GatewayFileNameModded = "__gateway.html"; + internal const string GatewayFile = "coui://uiresources/AeonGT/gateway.html"; + internal const string GatewayFileModded = "coui://uiresources/AeonGT/__gateway.html"; + internal const string JsonURL = "https://raw.githubusercontent.com/LegionTD2-Modding/.github/main/mods/config.json"; + } +} \ No newline at end of file diff --git a/ModsGate.csproj b/ModsGate.csproj new file mode 100644 index 0000000..5229169 --- /dev/null +++ b/ModsGate.csproj @@ -0,0 +1,48 @@ + + + + netstandard2.0 + ModsGate + Mods Gate + 1.0.0 + true + latest + + https://api.nuget.org/v3/index.json; + https://nuget.bepinex.dev/v3/index.json; + https://nuget.samboy.dev/v3/index.json + + ModsGate + true + org.kidev.ltd2.modsgate + Mods Gate + kidev + The Legion TD2 mod manager + Copyright (C) 2024 Alexandre 'kidev' Poumaroux + icon.png + https://github.com/LegionTD2-Modding/ModsGate + LICENSE + README.md + + + + + + + + + + + + + + + + + + + True + + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..3a4fc51 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Mods Gate +**The Legion TD2 mod manager** \ +![Mods Gate](https://raw.githubusercontent.com/LegionTD2-Modding/ModsGate/main/icon.png) + +### Description +This mod is automatically installed by the [official installer](https://github.com/LegionTD2-Modding/.github/wiki/AutoInstaller). It adds an in game Mod menu, that enables you to easily add, remove, configure and deactivate mods in your game \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe3a157b78535aed99d8492a1364a8d4855f36d GIT binary patch literal 101043 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“j_eW5+pky`NbPi|boDzt}sB z9t%4;7y9jmO&#hFjP1CJClmOaz%Y%a-)hUo)cwjP*erv8eVQ``(r;?`iQ*wv@l{8? zoj{6eNW?3mqf2ZT<*vNl(_ZV=hn1(Hn~gJm9UOEC;J7)jiR(IF&3>-}Z;7DkGT@#I z$tf~fIb^rp(tGfzeVQd4KtcEZ)0C^xiX$T^Rw?oJ5xG+3pte8<=?DT_3|q3trivRK z2IADObayKdU|Oa6j_d7LG>$=lEYCpr4}~(RsVAK`56t#!I%mX^V(`~yfpjtLydHgm zdO4)St3I_F^q49(ew~TxIj9n%%~F#m^s2aJ)~HPz`%Z*amM23 z>$#4me3p;(nva(8;!ith$-5?c)el7Ym zI!X?&`Ccy#FL9#e{Q8FP_mTv(!IX)lo&#)({e(AV> zSkA~;e%u8~e_MS-JF&fO*2_xq7GAEUF1}j{6(l~NqOvV==8pF3FW|X*#(HubdKrsO zEOMeD{eo#QiB18HVnnGSR%{)akZ;CGM`J_@xRX0qL3jcnKrye6mMAY>=2$VVS-7%V zAyagJvhFWM4~;-d49kiQx0oQbfPUY3PYOU6L&q@7(4|_lIa`A{^*a-auzZ#cMCS+% zlo=1pckI0C3Ad&U%_TRjI=+6;JqU(_Zl z5Oz7^_08#cu!&)$1Oyr($4xH3`);V30wkoYMh4J`hG;{(GM!#OeERT?DI_YF&Z`E1 zAN+O;#`0X^vNTphG!Q9uzd*Yl-GO9; zgdnMcaG)9T_83J(ZWJnDaCI(DA)>H95ZQLMkU|=zk)pk=$c8srD+mRk{xJj$G6Pux~*M& zT`VNNW}usmS@Xw>M+YWGW@e^pC1vG0Y*x#V#Ij~ycHL}y6`YlZZO>BR%U1GMk1zF? z4WcM@ct}yv;PU?kZa|U0psIps-5*o|?#y*vSz_rx$|@~bRRuhPf*=V;Mf=X(eD;XF z@Iw3H(xxwy`o^cAK~dF^SllAL-`jpPGt-?MpYYz-CqR&D3r9pzE<{T&SUnJR#uE7u zL{tTw3*LuH_AH{oS6@dF4PI2GD9aEec<{a~eNmK|vHEEK*2^z__xjZj5HX3ntIOL< zOPgNy)V?2)@)4|5=+czgCr$X>f zf})B_5FaFnN?v5fa<%kBb!SIZgrLI4IInr0MX`0h43d5S2QM$L?x1s%r{*S~KE3?y z?c#3Kmr_F}!Iwy?rASZ+sv(N}%=CDFkRk%GK_X;JWTAfjNn2n)7tdTAS-G>Ey_;bQ zT&N8~8UnMCmLWic3n`pAtVg?k#al!XXJ%S>kYGH9LaCsT=;`sn zYy&Uf#UFpbWlo`_;1E2icnGQzBm~eP)ia<$K_xQDfzi$NP0k%i0Z^(001@yNQ<4CY zgDvRcb(lOxhd+9>r*bpRyAfh37=e+lYh*QZz7`*xV%dfohQg5dq z?iP7^?Ss4b?rch+uxE1mD;(0j4whlO5^}BbtUOi20V~fOjbeTAYQspU-P%d>2e)n#!uaS|QI@yvKA4%F@xeJ?NOg%5 zQBmZ0e0)aH1VPatK}00D0D(mYKY!)L(e4H( z{G!PEK?-y-r>E|}%aWrH&P(tTM1zMAG*tdk4A|>ufEL&wB2oh}B2} z;IIF~UAV1S268!S2&$D40E`JtoKW1tnJH~qv*WO<`T4Gnb5Z808x*+@+x^~KzkL0z zx88jC;QlXPznnBZn*4(g9zJ@|o88Y}|GiTuPHxRi^nUsa7Xme!Szh47rL_l-R$hPO z_WJf(KkYGa2p&-z9I@e61Jj-Uy$$Oe`QWrPs#y>S0$T6;9#pjQQzV#9CHNqPkfN3f zW#x$>^iT;rKr0>(2cExL&YZCO&zi-Bz?lVbAV><9#K_IyAC$$$&S0b6>Kr^c=v05DuGnw8w!zT(LyJ^;JiakXx;`bD>gOk}@hW7)GhBS}q1X z5ERwT_4)amD^MN|Qda*-ePZepSeg19Bl0FPQW#L-hL7{HkF_U1-MRbIhZ{dyZS>f< zB0!-)9uq@Wq`EBuvPLn?9D>&u<1#HT?B6*(88u+1x4y|yGX#0{waah4buHxZKmHGY zFf}>ymw*19`NjLUZ?7&d_V&#jX|`k38zEn4H(C)le)i^#b0?FXt*u$;=0^YkAOJ~3 zK~!vWJ&&7dd|>?G*=L_RwzaYG7k~MUW5+r39gr70asOdnVMwaxuk=xzX_0!S@ zmp(-R5fzm>*#SYsv7tQmXu2Y?B1lmhT}3}BY99BD>piLJ7-&Tgu9W9d&`3aHSB%5) zuTJBBy!s!nrf+4Km0m(A0a!>3L!>&4CqZBX?KYP^!+Cz@c(`;hh2EMgT@oj^@8A2u z%fC2w@|h#YpT2YD{^oXnVk|y;`qZ^s_XG@bLX<2mrSHAIV3O?Mk){|4kleo23;B)+ zBDXn-y}C{_7T?JV+8&s{`sVjP^7P?no_@a5^WM%G)e{Ke)M|D<#HQgr9%1p!+Vn75p4 zmc=GX394DzyK{RxX;^F7rImdVh^qTRHON*OYG$g?W2$>9iljsY2$di#vXMgd5AD6v zm!-2&)K9a;2e-3g;C$>|QiLc}mV34TX|v1j>Zcm4tEf`l?YW{=R0_wc<;QaqpWCyA zhu;uS^aML-=o{XHF5IQRlPB@o6lCIFHdtPof7EWY_s%AnX4-&N2JBF&`S?~VL#72>T9aA&iZ;t-)Y@VlA{@q=@KHz+7cGMCUc~MX> zihy948ipHeBC;lKvS~4g@ZUYx|J)&$rGr8pa{Tg7UVZbI?;JY$iG2r-O;7G$Sz5k* z>-~>BbE=iJuiUufLavIfWC{t+opL^KG-9sapH2r*_RH<nV9PEr=LI4Xf%HO zt#@)LQuTM^QI&tgZI37Ps*KZDby-s!4Pz|7>APPzdVzAuTq_wSR z+lyor9H2vR0KP`nNB{@`LP)3v(Ey_KB+uaNXF4WLHy6tWI}P`W{!MX9BoZX_wzkqi z|G?a|Wdf*#Es?c}8b&rqhO8xy$XH@aY^xWDO@wR!F-SF9LSGiGW>bRHF9ne`rrM*n zw>BT$y|cBvP`b4Aog$3pHE&TA6qWZHe({NJ4GoLkU2J*MFjcp~9&H;jO)>NqIu&IDMhKoL;@1_5R7y91m{@BsyX^V*eL*FI=m+3!8sQ~P+y2DXkg|n&GOQB z4RbVtBx?`nPd&XtYi%qEs;UqL1rbS6l?)&o0!x^Oppo&m2eYj^FWo8LUgKUVWscr2 zWjg|jm?*^nNMx!9-XM5mnjCvA|L{WpxzpM9b`K*hQvaR5`<8P1nNR+X*Qx#vwAys= z^oc94uf6ux2Txx(_UVtG|A!yH-cC9SMbLOBix%#!*zs}p0uq&;Q&$GsZ{y_S&mNu| z>)gA4=lyGUE`8*8MNmi&pSiR=f9>zT^@HF0^5-YVr;fGFpZ&MyfBQeTmZTve4pL~a zh#o@3o$X>QUw*iTgiqYfR+#y z!3tYuA@I`jp%H`?MIls9b){j5H}3Z1ca!F7egZ({ouO*}R?DR;bvhUXQnZTJ{8N&c z_FkL`8K82>5~u=Fl^y#;C=>=z5H;XOJRD$NK;A)bHa3@cX>-BLu5(8~_DEZ~=CV|? zXN4iGW%&KW#+FpuNNumdX0z#BKqxoYS0<;MfDNTynm_19Q|o11`{YrxMNkwf z6`*D1K-f7nV_&=PR#Qk*^p3rg;6nAcTL115f?>8ymMBh8vqZmkaQ!pSV6l0>VaC^Y zR{r*{zt?RaeD0&a-7A#I8dh;`-|Wo&$$j5@@%0l&_n$v`81JRU;g#?{`e0* zKbDNlHuzutVe)VOL%HQ=RNClz3PurvmfAAbD~Tz|P(_eO1|?9^TJcp~CmmppFaSjc z0=1Ym-u%hxv6=M3#rBn7+;#cDl_`p-cvlu>S=MrE4G8>eLx5_aS-r9PN+$*YC{-T? zgH$uRVJL6S%TcK#2p}kXiArgU8pVJhqSa$l`AVLozUeNc=gH6ObD&ZW)TT;OgJ=X9 zS$Y5X=bqT!A9H(jFL-nhgN25jB2Z*}42@Q;coIWS3j%^#uL+Q#mJ9)rs^*XPK?Oso z2U>OCM?^$4h)NI%Ds@w%4yscRTIGNS2~LBjnqXaPnL-Gq2Y}$cYs3wXTYzqmZk;)K z`r)z_QP~}i4DFU=2+(A0D32SxFyk&i)cLf?N>ijLKKMc*X#L1p;s#*CoLG~@Nn)b7 z*@W{4xBm5)8<5^G*xu>+zx&(ojgQYh^W1NFZMjl?P!X>Xh%ky8>&t5!EAwa19Gje+ zcXpS zmGOxgitO8OynXD@(MZbKDbsDk^*ec~aR@%B2bI81=OP)TrWd>mBcaHZ@VCS1_tH>~dZSOsxl z?P>>PGKP#{W22}MCCw;G;-nczjU;KtQDRKYY*17nDWU77CAB`21nS5k0LHz3^m^~- zAvtQ-ZH%DQZg(OZyHWud(GVJ{a}#N7vT1f}Z~zGZl>FD4GDeRdn%#5Y@%O}lzUnCj zh_ReCjKU99mC&|FMqODJMY-n$cx*)AJwuH;w6Fft1OTf3S`{rN2(`;*m^$Nvcpr## zdwqE{X&Ua9*>-R@8}>pOEGiMAq9U3Afe6H)XQ0#EIy18N(nE8v@B?SlL6AIXPzs2u z%6o|M#+ta@?zY<Y-}pPc+xOnSa{c1@ljqMJaTI^#*{4sKh;2cy#v6v;F>RHrO5?pCS_tLMAre>SvSt4x!4oe*Ep<`_h+^Z2PyK9bH*=-~2@u z0{endr7##Q*j!l%k?RwnGM55XmyRk6ULgRMA}ENW5#j)xC`7)5(hZ=rzT5#Vf^%h& zxw1f&R=XR#525Nq)>ma?%%9%y z@Q5OT)M$u++_1*QCp(ivc$Drf1M2Bkk-HFpc0IRM3kV`5nVB8u0~5dfxKJ40u&^@w z4&SSykt%EA6BDpu2q%zG6+TtH56LPOeN1hDIB;yJr|P`V39!G@>klN${GiB+O!M4V z@BKUsiXtt2R$@{3ywJj7UTE$@>U>(dymVQqnG1Ot%AiGHCm4c?LS7d2FTxlK-$>f3 zw7Nb&F?(R6*A2)F3TTuHj0B>nOt5)|_J5*#|C=l3UKY|m7CYekSaGzgODPFbgb*`F zh8r=B6EQ`0Zo>WPZ}m8NQ1=KpNM2FMbx_6F1G^`Y{nUqPg4#k=bZuqhY!S&N^=Q1Ho zvpjbp_o4JsRv&|?2j@cJ#W^i~>B``o_)<#eau;&v3ZEBwC|z)6D9YemaLyNHS(Glg zvh?12FRq}3gN_x_aTU#3O=UH!K~&W(M}`Yf_aG+#87yhlWT_&_j4FZdn$d}fSP9Uw zl@q6DYD?svWS3o~r|fmq|9Zvg-agUehZ4fjNj9Xu8PNpF2{C|nLHwE`w%aYteF!LZ z3fgWPH?AS>NPxg>5DifTYE*L6Qa}P47+OaKiBL%;Pg4L2K@q`w0mue}t++KVF3$$n zBOY;nMzILw4K@RkHzqka2+C|Cra01;S`o`A z`GMsA`Eyw(o(@s}gDbbx6&IiX?9{>IH*P#qHPu+r72DgJ8;1|gv|8q;ul~dB+xJhO zIQE&(Jlko;Z+&oi{=wC5SaJDUR=83dF2t>oeaBCnIdSad^wjhxKlR+m*uu3N4;EHd z&z(Jf_RR6#ptyNsu{GM6o}Pe!W$8<=`{&Nzy86cA+REJA46LSq`Y#S_{`-x0?u}+i znM5Yv@>qZdAmo6C&7+B-v}WOQu5e4k*LG5O#m~QLRIeI9h)*y*KQxS} z<8yS^`>Ci#wUN822t9FdZh)#uLW;41RUAsMkr-k`0t``%qhoQN`LaMl+ZlmN7oOVL z$uD1fPit_zk%^Q{k|qvM zmHR(GasMyY!qtJ43s9!ybCpuH1W?iHDr^7@Q$%18Bg-5t8*NYUa+Lk-#lK(r_-8+T zaQ5WIr!I_*P2Rls=-cmoFni!!WSfJXjedWvk;q3com*U(|K5*Z0imyb@rx&pAG~wx zz3;yMv&os!sZP20&d*G50oZg}`y1_pCWQ6t>&w?JcPI8g|Jl#&o1UJVn|}YjJJ+w= zURqqZc>IDfQR|GPKjpvYNgGb^6P{^{rNMK?SL14zD z)ffxNm7CRCLpJ!bcl5|qw|O8hqDPN5OEo?qLw@P}#P~$#M?ZNZOCuSMWp-N~gycgm zgKY)CXe5`mssRvCR1iRYV$}7kVR(v!dkf#)ba31Ql&)$HBzGNc@z~1PyjptI5iRy157k9EIt&>QDi%08#Zc0Q7eiX zNz{m=W|AZqpE>o_-}%II&z|cxqC<0&zw?DlF3T>z|A<-#0m+z{IARkMvoTf``n>^x zRFE)4A_f5gvT-zu!NsH9%#S(WCT6h|jut1rIDPNM&E7AULcT!7040@>1C*#9Kok(k zAX&ngIA(4d(~P)UEe{p#&2?{%9+lHcU*A3c3mPCW%jPszRmgGRLE zSMM61HsX*Cw%>X8^0^DA_Ro$d7ILS{3+epA(&Uugf8gNK{Hk+qWTf@>FJ9SMzwzaN z_Q`Xn&V(ZU;VZAa`Q|URw~!Yzn=~1AguK^KsRUJ}GC%~>03ZYbutG{9psxUI2)oS> zZMHayc8uFB`!~R=4{2{_OGJoJ1Pmuh(rq-m6cHIV)-XpFS`k6WHx3^d`Q)db`uHcG zEz2}bdtdskeV_Q~iN*QVhYM(;CUazLVr;@TGA6b*F*c#l$1)|`9&kHARHgB$qCBo8 zo*+Wg6I^k|;c-3W+CJt>Q%zg5Ra7e?GsZ}GHYPSEQsw?2 z6<^dva|mcG5;zx{jR`@_2WuxzpIhEw#3Vmf9Qw-4{a?)Ye!dX~8!@Khb|mCdx23BC z%pgUG7KjZeOig2&9Je@*zH%x1gWti+mp@op?~RU3t!}Kn{pP#OeDv`C;gZ`{6m?x|-CmwA5+OtiGoUzlGU?Q{E897lii;3i8&Sx-Y!zYBQwxEsFjv`K zX>}-N<re=LskTrNr*(I$QTTH-!LO=+H&=L@XVX%Z2!4kvqGhGuYAD;T+p4cM< z#I23ZOCPzI^~yLyCkN_Goj6}d>7@3W#q*?A=iIprD z0ThWzm5?kZEuzv5TA4dK*vIWZYAn39QvA?Cwob0kGT1lOwnhe73Kg9SEuck;h-|(6 zbCXRQ;#P;_fBAcxqjqrc(D5`a&z^r~b)(m6kKVj}@BJ$u?4O%Ee`2!J>0Z8a^Ou+3 ze)wQ*w3A#oGt-Q>$EVeX^zD~ljO68u&u&Z|=(R@5M!VS#l zWp~QFNnvzp`|i`ve&XJpB{d}iY;XGI<&~_z`S8x=uYT$I7e4az^4jtbUw-BN8xKyN zcrHoCLaAT*>Q|=cy1#h6+{sXdMT$ydBI;3UP!Fg81VE)af^HAC9tj8{ON~a}fPR1T zww5WN+u7L=5oT6FGR-JzMK*3UtuaV!h>bCpY^=6H)EI5h@dG1Uy|qp|whU?N;>N^# z@84r=i&3n0VP-ar#;}QuF~wlDpLq|X0UDM45vpvaCu7w2+-DwVhgJ00s`*ph^{ZSN zsy2SKgqEPX`ZJ+nicExuPjrcu4^4hyXr)0#K{cxU@b05*;A%iL!th>!ABsYHA}jK- zr)GBsQje|bg0f0fP)3bFVkKiDMGQ%Egrhi$5@ySWjUi8udH0%X8>(c~;XsTKT`76)kg#-l?ZQ?dBqk2QnWVvJIq25-A^q}r@xX`g z7kR!+#U}WH_$(c4mEJq&>qri@0ERdsimYuB#@2M$HjRy+J+kxl-|C~2pS=9@OCR}o zb7W>>-q|@q$ES}^&mFjX`)aq@%2L0)ykMjJ zpZ~#E+l}O*9y2yJY#L2VY>6Uc8pb3a5`jq> zLKSUPLw~B6n%$Y*hiZmhDd^)TRUgM9?do6w0hNZo0|km~2~l%1p;ysoRb>F3x?1j+2Q7quxT>4$TXT9 zeeH7(&d)WLHZ~vJd3gTfrRB{s^X=LFbDfdVUN5t8^Obk*Uca(*bpQTyXGgN$cDGIY z4|XOe8V}xleX#VSXP<2(6I-Tjlh)D5o+6q<9Y-BS9c7px>>4JZAe@blfzQ*0yIoIk z{M^&&j@w$_=#0kW6P=HI^wJw|UH<9MFUO-Jr_NqHb?RKR851C=H=t7}fp_aqAdhkZvkC!zKi@wrOk&(OSbv z!!RTSQT=xni~=N7PPcknS?}(n)ywZaeE1-}fA5iCK!W{q`?ojOESHVgH4|w>p&3gf z(l~O{*4#qC>nL(m)V-(FkjJh;6yI@vmN{D`{w z<)w{)3Shk8PQMf~%vM#Bcx31r6NSiW5n)`GMJ(Gfj-5X{apkpqu(?TD9<+oS2w^}) zp@5-43V{$K#0beES-?ceB4J|F^GAK*-1X}poH}zMEzo&RtY%r@*4U*_eP(t3;rzl@ zNu9s>?%R>+9X&kRY!=hAak{qr=*o|u`!w;Tn4JBqBQ*GD?k%9}w zxu<&D>&r`bZ{9z0_53pzZrr^dioSaK-gjPG+bCzIl25d#+! z;nJl;9d~RZzBbPUzVfyKQ6NP%Wa0pV>QO}`pjLj`Y5{;yrId0zJ?J*TC7^&*yNe;z-A)-QAw~!hL5vs?8bTzJLzA0h-PpvsvbuKu!V5Pa z-Co%&+KrKs&ZtS6h2t_rjb?|K0kzdkRCW#?o{LQK&in5jJh3%06F7-&JRR|V)=sfm z2xwz0spe7HdTL`fofvVBqis|PE}VIGec`3~J6GR{;*o=gXRp6|3&D(yOdC6T^XBDi zS3ek^7zx2ek!6lsjbUH7Ek z1waHQAjQ~4pGxdTtXoP~vi`gxu}R3pgiNH*J@@Rvx!EXYHim1ar}H6@qJT&+l|0P* zdcGA|Rt2t@%WT*fQ~8h(nat?){7XN&9%@h(ekj~-j}EP#9uN-IZ@`Gd?*8!pL&G>Z zqT2mPNQkDY5P%?x83{Cq+1u~`4ODf-$JOv&6yvX*6+D>*JLGWHl%d@@fhZKk@#qFl_?0GwBDg}(vyh?)BB-TmURY~rt5$J>m=MMY)iH`p za`AMUu=dh{2jXV5llF||UVm|6{(9iJ*&M(2-t}gZsH#d4M_{;^oNR!X(Zk(^tp$SY z$gzDlFJG0?A!N+d9T|V~&3m)6vw5C+Uxttcmww^%pP8GTURqpicK4q=npt8`hKNYH zHbfvYvjY3lGshAF6VA;|-+M5>YaK*j0!FgVjK@5ekexjE%w)BG}X(L%eI(m5D zm%seA6Q|Eaw$8Z#03JGSR5b)}-ZO%zM>HZq!MB=CMl8w@6ny~HVAuo^1wDG_?vH+W zQ#Aq=&|MUWK?}o zX6C3Y4L8@F$rIC<*5%kL(QPUbykT2%y8i9YkUzl44Eu-Oi@(| zD_8_(VkT=ipos(xG-8{yLLS&Q0IX#iX>~rhay4p=jW!xl6jh6r2t_0Wud10ZRF#l} zC?R`aDoDFsB51FdE-q~}+arw#JDsj!tVn90T+4-?M0{3P?p`lNsoJ0j07Jcl*|q2* z8UUpFD-1w{dmw*Gy8(L&Vl9_0-`?IZPvk-F8BNR36jsU3c2};{27=lkwr8Ew-h<<@ zPYk7s&}1dWAP7JpL<|if8XxZ<3$Rh7!WGPnV9TPc6Ai#HBQn;bLsjn)fD}EM;h2Lk zgy11;Y;Q&ut)+dl`{oz!M~RKJNzL=Fd4x0yC?o=cK|P6zARwbQ5Qk_nGBrnlP=JxG zkRh^6Mr;`w8jbr$W;3v6do!Jx+Sl6|_^eL|XfX1YLATdelLTX%kB&x$H7om=G^`85rxz(Az#Q0OQcA8P zW4@E*Ww9M|$uW8GjCrT2Hfjb*LC3YwTsYNu99yM$d^u8Y=Qz=zlWWDlOcEriYm=!8xgBJdDV#<3LOy@ zNr-@{y6RUUssIRFVSDPQLK%ip_w^*t#pEm&%qJSiTkzqAhS`L;qw$WH4J$H0- zdvk3t@MB|1BWbe3ZMB{G!ng8m9&()_T#f(^y+znY|24-kWyB7&g!;Pa`kzu=0j*t~uENbCOk!G4O4z&kB4cc7w%fh)e5Dymp3PShz_ z1Q5;n*)W}9iC?Yh3Tr*J= zMcdok#+pie8pJzaHfz)vy z?icBvjNK2PB2S1%jnyFeV9@(DHNdY4ssMd#6ej$2VhsJKT$6^WW(0srh=9JxR~H|6 zf+&h>R+dzlq~N`0an-*%=e&2`hq5fTx3|+Yt-vz?P!xHu*DuQwi3;zs)M%Rz9X^uw z);{;SPn~)C`5(Nzxx5-iJB^4NOiEk;1ZHH0IF_Wr)?yq{lQE7cN^G;0L=kmI+DV*P zOHl-IL=6KUy#M~v^8Hh14v&r4R+BBp$mFYho)D>O2p&NL_AqRFm%1WKdjmw7ni;?M z$f^_sOyoebDo#WJqi$T)pxY~%+bO0Fb)YDrVE}@HM|8vj2;K1m?QSyI9&E2|yWGz| zyt}q^uib4|tve=E6%#iMp)Y+_4qVYsvq8DFJ>6dV-~Z=N1&f-rf+pI!6p22j8&?%0A8d=D+Cn|Dk8&af$p-ED3bC5 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

*zM7}Y8U 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 RXJP;V002ovPDHLkV1i6YL!|%! literal 0 HcmV?d00001