From fb44d01119f942c2e67ee51af5937d2184868bb7 Mon Sep 17 00:00:00 2001 From: Rouzax Date: Tue, 24 Mar 2026 10:46:18 +0000 Subject: [PATCH] [script.easymovie] 1.0.0 --- script.easymovie/LICENSE.txt | 675 ++++++++++ script.easymovie/addon.xml | 31 + script.easymovie/changelog.txt | 32 + script.easymovie/default.py | 31 + script.easymovie/icon.png | Bin 0 -> 151872 bytes script.easymovie/icon_default.png | Bin 0 -> 151872 bytes script.easymovie/resources/__init__.py | 0 script.easymovie/resources/addon_clone.xml | 28 + script.easymovie/resources/clone.py | 300 +++++ script.easymovie/resources/dialog_preview.py | 401 ++++++ .../resources/icons/icon-ember.png | Bin 0 -> 149872 bytes .../resources/icons/icon-golden-hour.png | Bin 0 -> 151872 bytes .../resources/icons/icon-nightfall.png | Bin 0 -> 153716 bytes .../resources/icons/icon-ultraviolet.png | Bin 0 -> 154186 bytes .../resource.language.en_gb/strings.po | 987 +++++++++++++++ script.easymovie/resources/lib/__init__.py | 0 script.easymovie/resources/lib/constants.py | 161 +++ .../resources/lib/data/__init__.py | 0 .../resources/lib/data/filters.py | 199 +++ .../resources/lib/data/movie_sets.py | 152 +++ .../resources/lib/data/queries.py | 189 +++ .../resources/lib/data/results.py | 73 ++ .../resources/lib/data/smart_playlists.py | 55 + .../resources/lib/data/storage.py | 231 ++++ .../resources/lib/playback/__init__.py | 0 .../lib/playback/playback_monitor.py | 293 +++++ .../resources/lib/playback/player.py | 101 ++ .../lib/playback/playlist_builder.py | 130 ++ .../resources/lib/service/__init__.py | 0 .../resources/lib/service/main.py | 138 +++ .../resources/lib/service/playback_monitor.py | 230 ++++ script.easymovie/resources/lib/ui/__init__.py | 33 + .../resources/lib/ui/browse_window.py | 246 ++++ .../resources/lib/ui/context_menu.py | 116 ++ script.easymovie/resources/lib/ui/dialogs.py | 284 +++++ script.easymovie/resources/lib/ui/main.py | 1096 +++++++++++++++++ script.easymovie/resources/lib/ui/settings.py | 212 ++++ script.easymovie/resources/lib/ui/wizard.py | 258 ++++ script.easymovie/resources/lib/utils.py | 428 +++++++ script.easymovie/resources/selector.py | 284 +++++ script.easymovie/resources/settings.xml | 752 +++++++++++ script.easymovie/resources/settings_clone.xml | 743 +++++++++++ .../skins/Default/1080i/Includes.xml | 104 ++ .../1080i/script-easymovie-BigScreenList.xml | 327 +++++ .../1080i/script-easymovie-cardlist.xml | 373 ++++++ .../1080i/script-easymovie-confirm.xml | 148 +++ .../1080i/script-easymovie-contextwindow.xml | 109 ++ .../1080i/script-easymovie-continuation.xml | 187 +++ .../Default/1080i/script-easymovie-main.xml | 339 +++++ .../1080i/script-easymovie-postergrid.xml | 300 +++++ .../Default/1080i/script-easymovie-select.xml | 291 +++++ .../1080i/script-easymovie-setwarning.xml | 173 +++ .../1080i/script-easymovie-splitlist.xml | 442 +++++++ .../skins/Default/media/check_off.png | Bin 0 -> 983 bytes .../skins/Default/media/check_on.png | Bin 0 -> 2260 bytes .../Default/media/common/IconWatched.png | Bin 0 -> 1997 bytes .../Default/media/common/gradient_bottom.png | Bin 0 -> 87 bytes .../skins/Default/media/common/line_fade.png | Bin 0 -> 88 bytes .../skins/Default/media/common/menu.png | Bin 0 -> 246 bytes .../skins/Default/media/common/movieset.png | Bin 0 -> 2974 bytes .../Default/media/common/scrim_topleft.png | Bin 0 -> 1153 bytes .../Default/media/common/scrim_topright.png | Bin 0 -> 1499 bytes .../skins/Default/media/common/white.png | Bin 0 -> 146 bytes .../Default/media/common/white_rounded.png | Bin 0 -> 238 bytes script.easymovie/resources/update_clone.py | 280 +++++ script.easymovie/service.py | 5 + 66 files changed, 11967 insertions(+) create mode 100644 script.easymovie/LICENSE.txt create mode 100644 script.easymovie/addon.xml create mode 100644 script.easymovie/changelog.txt create mode 100644 script.easymovie/default.py create mode 100644 script.easymovie/icon.png create mode 100644 script.easymovie/icon_default.png create mode 100644 script.easymovie/resources/__init__.py create mode 100644 script.easymovie/resources/addon_clone.xml create mode 100644 script.easymovie/resources/clone.py create mode 100644 script.easymovie/resources/dialog_preview.py create mode 100644 script.easymovie/resources/icons/icon-ember.png create mode 100644 script.easymovie/resources/icons/icon-golden-hour.png create mode 100644 script.easymovie/resources/icons/icon-nightfall.png create mode 100644 script.easymovie/resources/icons/icon-ultraviolet.png create mode 100644 script.easymovie/resources/language/resource.language.en_gb/strings.po create mode 100644 script.easymovie/resources/lib/__init__.py create mode 100644 script.easymovie/resources/lib/constants.py create mode 100644 script.easymovie/resources/lib/data/__init__.py create mode 100644 script.easymovie/resources/lib/data/filters.py create mode 100644 script.easymovie/resources/lib/data/movie_sets.py create mode 100644 script.easymovie/resources/lib/data/queries.py create mode 100644 script.easymovie/resources/lib/data/results.py create mode 100644 script.easymovie/resources/lib/data/smart_playlists.py create mode 100644 script.easymovie/resources/lib/data/storage.py create mode 100644 script.easymovie/resources/lib/playback/__init__.py create mode 100644 script.easymovie/resources/lib/playback/playback_monitor.py create mode 100644 script.easymovie/resources/lib/playback/player.py create mode 100644 script.easymovie/resources/lib/playback/playlist_builder.py create mode 100644 script.easymovie/resources/lib/service/__init__.py create mode 100644 script.easymovie/resources/lib/service/main.py create mode 100644 script.easymovie/resources/lib/service/playback_monitor.py create mode 100644 script.easymovie/resources/lib/ui/__init__.py create mode 100644 script.easymovie/resources/lib/ui/browse_window.py create mode 100644 script.easymovie/resources/lib/ui/context_menu.py create mode 100644 script.easymovie/resources/lib/ui/dialogs.py create mode 100644 script.easymovie/resources/lib/ui/main.py create mode 100644 script.easymovie/resources/lib/ui/settings.py create mode 100644 script.easymovie/resources/lib/ui/wizard.py create mode 100644 script.easymovie/resources/lib/utils.py create mode 100644 script.easymovie/resources/selector.py create mode 100644 script.easymovie/resources/settings.xml create mode 100644 script.easymovie/resources/settings_clone.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/Includes.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-BigScreenList.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-cardlist.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-confirm.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-contextwindow.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-continuation.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-main.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-postergrid.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-select.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-setwarning.xml create mode 100644 script.easymovie/resources/skins/Default/1080i/script-easymovie-splitlist.xml create mode 100644 script.easymovie/resources/skins/Default/media/check_off.png create mode 100644 script.easymovie/resources/skins/Default/media/check_on.png create mode 100644 script.easymovie/resources/skins/Default/media/common/IconWatched.png create mode 100644 script.easymovie/resources/skins/Default/media/common/gradient_bottom.png create mode 100644 script.easymovie/resources/skins/Default/media/common/line_fade.png create mode 100644 script.easymovie/resources/skins/Default/media/common/menu.png create mode 100644 script.easymovie/resources/skins/Default/media/common/movieset.png create mode 100644 script.easymovie/resources/skins/Default/media/common/scrim_topleft.png create mode 100644 script.easymovie/resources/skins/Default/media/common/scrim_topright.png create mode 100644 script.easymovie/resources/skins/Default/media/common/white.png create mode 100644 script.easymovie/resources/skins/Default/media/common/white_rounded.png create mode 100644 script.easymovie/resources/update_clone.py create mode 100644 script.easymovie/service.py diff --git a/script.easymovie/LICENSE.txt b/script.easymovie/LICENSE.txt new file mode 100644 index 0000000000..10926e87f1 --- /dev/null +++ b/script.easymovie/LICENSE.txt @@ -0,0 +1,675 @@ + 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/script.easymovie/addon.xml b/script.easymovie/addon.xml new file mode 100644 index 0000000000..0be6867958 --- /dev/null +++ b/script.easymovie/addon.xml @@ -0,0 +1,31 @@ + + + + + + + executable + + + + Simplify movie night + EasyMovie helps you pick movies for movie night. Answer a few questions (genre, rating, runtime) and get a curated random selection from your library. Supports movie set awareness, multiple viewing modes, and playlist generation. + + icon.png + + GPL-3.0-only + https://forum.kodi.tv/showthread.php?tid=385063 + https://rouzax.github.io/script.easymovie/ + https://github.com/Rouzax/script.easymovie + all + +v1.0.0 (2026-03-24) +- Filter wizard narrows your library by genre, rating, runtime, year, and score +- Five browse views: Showcase, Card List, Posters, Big Screen, Split View +- Playlist mode builds movie marathons with resume support +- Movie set awareness with continuation prompts and earlier-movie warnings +- Four color themes: Golden Hour, Ultraviolet, Ember, Nightfall +- Clone support for multiple instances with independent settings + + + diff --git a/script.easymovie/changelog.txt b/script.easymovie/changelog.txt new file mode 100644 index 0000000000..8ca4ffb549 --- /dev/null +++ b/script.easymovie/changelog.txt @@ -0,0 +1,32 @@ +v1.0.0 (2026-03-24) +-------------------------- +New Features: + - Filter Wizard: step-by-step filter flow for genre, watched status, age rating, + runtime, time period, and score. Each filter configurable as Ask, Pre-set, or Skip. + Supports genre ignore/select with OR/AND matching, decade browsing, recency ranges, + and cumulative movie counts per option. + - Browse Mode: visual results screen with 5 view styles — Showcase (horizontal + filmstrip carousel, default), Card List, Posters, Big Screen, and Split View. + Includes Re-roll, Surprise Me, Play Full Set, and configurable result count (1–50). + - Playlist Mode: automatic movie marathon generation with configurable length (1–20), + sort options, partial resume prioritization, and seek-to-resume-point. + - Movie Set Awareness: detects Kodi movie collections and suggests the first unwatched + entry instead of a random one. Shows set name and position in browse views. + - Set Continuation: after finishing a collection movie, prompts to watch the next one + with a configurable countdown timer and default action. + - Earlier Movie Warning: alerts when about to watch a set movie while an earlier + entry is unwatched, via background service monitoring. + - Smart Re-suggestion: tracks recently suggested movies and avoids repeating them + within a configurable cooldown window (4–72 hours). + - Movie Pool Filtering: limit the movie pool to any Kodi smart playlist. + - Clone Support: create multiple EasyMovie instances with independent settings. + Includes mandatory version check and one-click update on launch. + - 4 Color Themes: Golden Hour, Ultraviolet, Ember, Nightfall — applied to all + views and dialogs. Live preview cycling via T key / blue remote button. + - Custom Icons: set a custom addon icon per instance, persisted across upgrades. + - In-progress Check: on launch, offers to resume a partially watched movie. + - Wizard Memory: remembers last wizard answers for quick repeat sessions. + - Structured Logging: separate log file with rotating backups, structured key=value + data, and per-module loggers. + - GitHub Pages landing page, wiki documentation, and Kodi forum thread. + - CI validation workflow (syntax, pyflakes, pyright, kodi-addon-checker). diff --git a/script.easymovie/default.py b/script.easymovie/default.py new file mode 100644 index 0000000000..0e5b48728a --- /dev/null +++ b/script.easymovie/default.py @@ -0,0 +1,31 @@ +""" +EasyMovie entry point. + +Dispatches to the main UI flow or handles special +command-line arguments (selector, clone, set_icon). + +Logging: + Logger: 'default' + Key events: + - launch.crash (ERROR): Unhandled error caught at top level + See LOGGING.md for full guidelines. +""" +from resources.lib.ui.main import main, _handle_entry_args + +try: + if not _handle_entry_args("script.easymovie"): + main() +except SystemExit: + pass +except Exception: + try: + from resources.lib.utils import get_logger + log = get_logger('default') + log.exception("Unhandled error in EasyMovie", event="launch.crash") + except Exception: + import traceback + import xbmc + xbmc.log( + f"[EasyMovie] Unhandled error: {traceback.format_exc()}", + xbmc.LOGERROR, + ) diff --git a/script.easymovie/icon.png b/script.easymovie/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c72a8fe69cd97092c11a942ecca578ef91dc05f GIT binary patch literal 151872 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

}ok{$f^<9=sT7|QJL)^G9>)|L_% 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 literal 0 HcmV?d00001 diff --git a/script.easymovie/icon_default.png b/script.easymovie/icon_default.png new file mode 100644 index 0000000000000000000000000000000000000000..1c72a8fe69cd97092c11a942ecca578ef91dc05f GIT binary patch literal 151872 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

}ok{$f^<9=sT7|QJL)^G9>)|L_% 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 literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/__init__.py b/script.easymovie/resources/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/script.easymovie/resources/addon_clone.xml b/script.easymovie/resources/addon_clone.xml new file mode 100644 index 0000000000..682c43c0c1 --- /dev/null +++ b/script.easymovie/resources/addon_clone.xml @@ -0,0 +1,28 @@ + + + + + + + + executable + + + +

COMBNAME + This is a cloned version of the EasyMovie front-end with independent settings. + + all + GPL-3.0-only + https://github.com/Rouzax/script.easymovie + https://github.com/Rouzax/script.easymovie + + icon.png + fanart.jpg + + + diff --git a/script.easymovie/resources/clone.py b/script.easymovie/resources/clone.py new file mode 100644 index 0000000000..3aea955638 --- /dev/null +++ b/script.easymovie/resources/clone.py @@ -0,0 +1,300 @@ +""" +EasyMovie Clone Creation. + +Creates independent "clones" of EasyMovie with separate settings. +Useful for pre-configured instances like "Kids Movies", "Action Night", etc. + +Clone Lifecycle: + 1. Creation: + - User triggers via "Create clone addon..." in EasyMovie settings + - Confirmation dialog explains what cloning does + - Keyboard dialog prompts for a name + - Progress dialog shows each step + + 2. File Structure: + - Copies entire addon to temp folder first (atomic) + - Removes clone-only files (clone.py, templates) + - Replaces addon.xml and settings.xml with clone versions + - Updates addon ID in Python scripts, skin XMLs, language files + + 3. Registration: + - UpdateLocalAddons + disable/enable cycle + - Clone appears in Video Addons with the user's name + + 4. Usage: + - Each clone has independent settings (in userdata) + - Clones are updated via update_clone.py when parent updates + +Logging: + Logger: 'clone' + Key events: + - clone.create (INFO): Clone created successfully + - clone.fail (ERROR): Clone creation failed + - clone.name_fallback (WARNING): Name sanitized to fallback + See LOGGING.md for full guidelines. +""" +import os +import shutil +from typing import List, Tuple +from xml.etree import ElementTree as ET + +import xbmc +import xbmcaddon +import xbmcgui +import xbmcvfs + +from resources.lib.constants import ADDON_ID, ADDON_NAME +from resources.lib.utils import get_logger, lang +from resources.lib.ui.dialogs import show_confirm_dialog + +log = get_logger('clone') + + +def _sanitize_filename(dirty_string: str) -> str: + """Sanitize a string for use as an addon ID component.""" + import string as string_module + dirty_string = dirty_string.strip() + valid_chars = f"-_.(){string_module.ascii_letters}{string_module.digits} " + sanitized = ''.join(c for c in dirty_string if c in valid_chars) + sanitized = sanitized.replace(' ', '_').lower() + return sanitized + + +def _replace_in_file(filepath: str, replacements: List[Tuple[str, str]]) -> None: + """Perform string replacements in a file.""" + with open(filepath, 'r', encoding='utf-8') as f: + content = f.read() + for old, new in replacements: + content = content.replace(old, new) + with open(filepath, 'w', encoding='utf-8') as f: + f.write(content) + + +def create_clone() -> None: + """Create a clone of the EasyMovie addon.""" + dialog = xbmcgui.Dialog() + + # Pre-creation confirmation + confirmed = show_confirm_dialog( + ADDON_NAME, + lang(32700) + '\n' + lang(32701) + '\n' + lang(32702), + yes_label=lang(32716), # "Continue" + no_label=lang(32301), # "Cancel" + ) + if not confirmed: + return + + # Get clone name from user + keyboard = xbmc.Keyboard(lang(32703)) # "EasyMovie - " + keyboard.doModal() + + if not keyboard.isConfirmed(): + return + + clone_name = keyboard.getText().strip() + if not clone_name: + clone_name = 'Clone' + + sanitized = _sanitize_filename(clone_name) + + # Fallback if sanitization yields empty/non-alphanumeric + if not sanitized or not any(c.isalnum() for c in sanitized): + sanitized = 'clone' + log.warning("Clone name sanitized to fallback", + event="clone.name_fallback", original=clone_name) + + clone_id = f"script.easymovie.{sanitized}" + + # Get parent addon info + addon = xbmcaddon.Addon(ADDON_ID) + addon_path = addon.getAddonInfo('path') + parent_version = addon.getAddonInfo('version') + addons_dir = xbmcvfs.translatePath('special://home/addons') + clone_path = os.path.join(addons_dir, clone_id) + + # Prevent overwriting parent addon + if clone_id == ADDON_ID: + log.error("Invalid clone name would overwrite parent", + event="clone.fail", clone_id=clone_id) + dialog.ok(ADDON_NAME, lang(32704)) + addon.openSettings() + return + + # Check if clone already exists + if os.path.isdir(clone_path): + log.warning("Clone name already in use", + event="clone.fail", clone_id=clone_id) + dialog.ok(ADDON_NAME, lang(32704)) + addon.openSettings() + return + + # Use temp folder for atomic operation + temp_base = xbmcvfs.translatePath('special://temp/') + temp_path = os.path.join(temp_base, f'easymovie_clone_{clone_id}') + + # Show modal progress dialog + progress = xbmcgui.DialogProgress() + progress.create(ADDON_NAME, "Creating clone...") + + try: + # Clean up any leftover temp folder + if os.path.isdir(temp_path): + shutil.rmtree(temp_path, ignore_errors=True) + + progress.update(10, "Copying addon files...") + ignore = shutil.ignore_patterns( + '.pyc', '.git*', '__pycache__', 'CVS', '.svn', + 'docs', 'tests', '.claude*', '.mcp.json', + 'CLAUDE.md', 'LOGGING.md', 'CONTRIBUTING.md', 'README.md', + 'pyrightconfig.json', '.pyflakes', '.ruff_cache', + '.pytest_cache', 'conftest.py', 'pytest.ini', + '_temp', '.worktrees', + ) + shutil.copytree(addon_path, temp_path, ignore=ignore) + + # Restore default icon + default_icon = os.path.join(temp_path, 'icon_default.png') + if os.path.isfile(default_icon): + shutil.copy2(default_icon, os.path.join(temp_path, 'icon.png')) + + progress.update(25, "Configuring clone...") + # Remove original addon.xml and settings.xml (will be replaced by templates) + os.remove(os.path.join(temp_path, 'addon.xml')) + os.remove(os.path.join(temp_path, 'resources', 'settings.xml')) + + # Move clone templates into place + addon_xml = os.path.join(temp_path, 'addon.xml') + shutil.move( + os.path.join(temp_path, 'resources', 'addon_clone.xml'), + addon_xml, + ) + shutil.move( + os.path.join(temp_path, 'resources', 'settings_clone.xml'), + os.path.join(temp_path, 'resources', 'settings.xml'), + ) + + # Remove clone-only files (clones don't run background services) + for remove_file in [ + 'resources/clone.py', 'resources/update_clone.py', 'service.py', + ]: + path = os.path.join(temp_path, remove_file) + if os.path.exists(path): + os.remove(path) + + progress.update(35, "Updating addon metadata...") + # Update addon.xml via ElementTree (overwrites template tokens) + tree = ET.parse(addon_xml) + root = tree.getroot() + root.set('id', clone_id) + root.set('name', clone_name) + root.set('version', parent_version) + summary_elem = tree.find('.//summary') + if summary_elem is not None: + summary_elem.text = clone_name + tree.write(addon_xml, encoding='unicode', xml_declaration=True) + + progress.update(45, "Updating settings...") + settings_file = os.path.join(temp_path, 'resources', 'settings.xml') + _replace_in_file(settings_file, [('script.easymovie', clone_id)]) + + progress.update(55, "Updating language files...") + language_dir = os.path.join(temp_path, 'resources', 'language') + for lang_folder in os.listdir(language_dir): + strings_file = os.path.join(language_dir, lang_folder, 'strings.po') + if os.path.isfile(strings_file): + _replace_in_file(strings_file, [ + ('# Addon Name: EasyMovie', f'# Addon Name: {clone_name}'), + ('# Addon id: script.easymovie', f'# Addon id: {clone_id}'), + ]) + + progress.update(65, "Updating scripts...") + # Rewrite default.py with clone addon ID + default_py = os.path.join(temp_path, 'default.py') + with open(default_py, 'w', encoding='utf-8') as f: + f.write( + '"""EasyMovie clone entry point."""\n' + 'from resources.lib.ui.main import main, _handle_entry_args\n' + '\n' + 'try:\n' + f' if not _handle_entry_args("{clone_id}"):\n' + f' main(addon_id="{clone_id}")\n' + 'except SystemExit:\n' + ' pass\n' + 'except Exception:\n' + ' try:\n' + ' from resources.lib.utils import get_logger\n' + " log = get_logger('default')\n" + ' log.exception("Unhandled error in EasyMovie clone", event="launch.crash")\n' + ' except Exception:\n' + ' import traceback\n' + ' import xbmc\n' + ' xbmc.log(\n' + ' f"[EasyMovie] Unhandled error: {traceback.format_exc()}",\n' + ' xbmc.LOGERROR,\n' + ' )\n' + ) + + # Update selector.py addon ID references + selector_py = os.path.join(temp_path, 'resources', 'selector.py') + if os.path.isfile(selector_py): + _replace_in_file(selector_py, [('script.easymovie', clone_id)]) + + progress.update(75, "Updating skins...") + skin_dir = os.path.join( + temp_path, 'resources', 'skins', 'Default', '1080i' + ) + for filename in os.listdir(skin_dir): + if filename.endswith('.xml'): + skin_file = os.path.join(skin_dir, filename) + _replace_in_file(skin_file, [ + ('$ADDON[script.easymovie ', f'$ADDON[{clone_id} '), + ]) + + progress.update(85, "Installing clone...") + shutil.move(temp_path, clone_path) + + except Exception: + log.exception("Clone creation failed", event="clone.fail", + clone_id=clone_id) + if os.path.isdir(temp_path): + shutil.rmtree(temp_path, ignore_errors=True) + progress.close() + dialog.ok(ADDON_NAME, lang(32707) + '\n' + lang(32708)) + return + + # Register with Kodi + try: + progress.update(90, "Registering with Kodi...") + xbmc.executebuiltin('UpdateLocalAddons') + xbmc.sleep(3000) + + progress.update(95, "Enabling clone...") + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Addons.SetAddonEnabled",' + f'"id":1,"params":{{"addonid":"{clone_id}","enabled":false}}}}' + ) + xbmc.sleep(500) + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Addons.SetAddonEnabled",' + f'"id":1,"params":{{"addonid":"{clone_id}","enabled":true}}}}' + ) + xbmc.sleep(1000) + + progress.update(100, "Complete!") + xbmc.sleep(500) + except Exception: + log.warning("Addon registration may have failed", + event="clone.fail", clone_id=clone_id) + finally: + progress.close() + + log.info("Clone created successfully", event="clone.create", + clone_id=clone_id, name=clone_name, version=parent_version) + + dialog.ok(ADDON_NAME, lang(32705) + '\n' + lang(32706)) + + +if __name__ == '__main__': + log.info("Clone creation started", event="clone.start") + create_clone() + log.info("Clone creation completed", event="clone.complete") diff --git a/script.easymovie/resources/dialog_preview.py b/script.easymovie/resources/dialog_preview.py new file mode 100644 index 0000000000..b3eb8effb2 --- /dev/null +++ b/script.easymovie/resources/dialog_preview.py @@ -0,0 +1,401 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Dialog Preview Script — quickly cycle through all custom dialogs. + +Usage from Kodi: + RunScript(script.easymovie,dialog_preview) + RunScript(script.easymovie,dialog_preview,script.easymovie.kids) + +Or from the Kodi debug console / JSON-RPC: + {"jsonrpc":"2.0","method":"Addons.ExecuteAddon", + "params":{"addonid":"script.easymovie","params":["dialog_preview"]},"id":1} + +The optional third argument overrides the addon ID, so dialogs use +that addon's name, theme, and skin path (useful for testing clones). +""" +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Union, cast + +import xbmcgui +import xbmcaddon + +dialog = xbmcgui.Dialog() + +# Resolved at init() time — overridable via Main(override_addon_id) +addon_id = "" +addon_name = "" +script_path = "" +_notify_title = "" + +# Module-level cache so "All Dialogs" doesn't re-query +_cached_movies: Optional[List[Dict[str, Any]]] = None + + +def _fetch_preview_movies(count: int = 20) -> List[Dict[str, Any]]: + """Fetch random movies with art from the library. + + Returns cached result on subsequent calls. + """ + global _cached_movies + if _cached_movies is not None: + return _cached_movies + + from resources.lib.utils import json_query + + query = { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovies", + "params": { + "properties": [ + "title", "genre", "year", "rating", "runtime", + "mpaa", "set", "setid", "playcount", "dateadded", + "plot", "art", "file", "resume", "lastplayed", + ], + "sort": {"method": "random"}, + "limits": {"end": count}, + }, + "id": 1, + } + result = json_query(query) + movies = result.get("movies", []) + _cached_movies = movies + return movies + + +def _find_set_movie(movies: List[Dict[str, Any]]) -> Dict[str, Any]: + """Find a movie that belongs to a set, or fall back to first movie.""" + for m in movies: + if m.get("set") and m.get("setid", 0) > 0: + return m + if movies: + # Fake set info on first movie + fake = dict(movies[0]) + fake["set"] = "Preview Collection" + fake["setid"] = 999 + return fake + return { + "movieid": 0, "title": "Preview Movie", "year": 2024, + "genre": ["Drama"], "rating": 7.5, "runtime": 7200, + "mpaa": "PG-13", "plot": "A preview movie.", + "set": "Preview Collection", "setid": 999, + "art": {}, "playcount": 0, + } + + +# Module-level cache for set pair +_cached_set_pair: Optional[Dict[str, Any]] = None + + +def _fetch_set_pair() -> Dict[str, Any]: + """Fetch two consecutive movies from the same set. + + Returns dict with keys: finished, next_movie, set_name. + Uses cached result on subsequent calls. + """ + global _cached_set_pair + if _cached_set_pair is not None: + return _cached_set_pair + + from resources.lib.utils import json_query + from resources.lib.data.queries import ( + get_all_movie_sets_query, + get_movie_set_details_query, + ) + + # Find a set with at least 2 movies + sets_result = json_query(get_all_movie_sets_query()) + for movie_set in sets_result.get("sets", []): + set_id = movie_set.get("setid", 0) + if not set_id: + continue + details = json_query(get_movie_set_details_query(set_id)) + set_details = details.get("setdetails", details) + set_movies = set_details.get("movies", []) + if len(set_movies) >= 2: + _cached_set_pair = { + "finished": set_movies[0], + "next_movie": set_movies[1], + "set_name": set_details.get("title", movie_set.get("title", "")), + } + return _cached_set_pair + + # Fallback: no sets with 2+ movies + _cached_set_pair = { + "finished": {"title": "The Dark Knight", "year": 2008, "art": {}}, + "next_movie": {"title": "The Dark Knight Rises", "year": 2012, "art": {}}, + "set_name": "The Dark Knight Collection", + } + return _cached_set_pair + + +def preview_confirm() -> None: + """Show the themed ConfirmDialog.""" + from resources.lib.ui.dialogs import show_confirm_dialog + result = show_confirm_dialog( + "Confirm Dialog Preview", + "This is a test message.\nDo you want to continue?", + yes_label="Accept", + no_label="Decline", + addon_id=addon_id, + ) + dialog.notification(_notify_title, "Confirm result: %s" % result) + + +def preview_confirm_single() -> None: + """Show the themed ConfirmDialog in OK-only mode.""" + from resources.lib.ui.dialogs import show_confirm_dialog + result = show_confirm_dialog( + "Confirm (OK Only) Preview", + "This is an information message.\nOnly an OK button is shown.", + yes_label="OK", + no_label="", + addon_id=addon_id, + ) + dialog.notification(_notify_title, "OK-only result: %s" % result) + + +def preview_select_single() -> None: + """Show the themed SelectDialog in single-select mode.""" + from resources.lib.ui.dialogs import show_select_dialog + items = [ + "First Option", + "Second Option", + "Third Option", + "Fourth Option", + "Fifth Option", + "Sixth Option", + "Seventh Option", + "Eighth Option", + ] + result = show_select_dialog( + "Single Select Preview", items, + multi_select=False, addon_id=addon_id, + ) + dialog.notification(_notify_title, "Selected: %s" % result) + + +def preview_select_multi() -> None: + """Show the themed SelectDialog in multi-select mode.""" + from resources.lib.ui.dialogs import show_select_dialog + items = [ + "Action", + "Comedy", + "Drama", + "Horror", + "Sci-Fi", + "Thriller", + "Animation", + "Documentary", + ] + result = show_select_dialog( + "Multi Select Preview", items, + multi_select=True, preselected=[1, 3, 5], + addon_id=addon_id, + ) + dialog.notification(_notify_title, "Selected: %s" % result) + + +def preview_browse() -> None: + """Show the BrowseWindow — lets user pick which view style to preview.""" + movies = _fetch_preview_movies() + if not movies: + dialog.ok(_notify_title, + "No movies found in the library.\n" + "Browse preview requires a populated movie library.") + return + + from resources.lib.ui.browse_window import BrowseWindow, VIEW_XML_MAP + from resources.lib.constants import ( + VIEW_SHOWCASE, VIEW_CARD_LIST, VIEW_POSTERS, + VIEW_BIG_SCREEN, VIEW_SPLIT_VIEW, + ) + + view_names = [ + "Showcase", + "Card List", + "Posters", + "Big Screen", + "Split View", + ] + view_values = [ + VIEW_SHOWCASE, VIEW_CARD_LIST, VIEW_POSTERS, + VIEW_BIG_SCREEN, VIEW_SPLIT_VIEW, + ] + + choice = dialog.select("Browse View Style", + cast(List[Union[str, xbmcgui.ListItem]], view_names)) + if choice < 0: + return + + addon = xbmcaddon.Addon(addon_id) + try: + theme_index = int(addon.getSetting('theme') or '0') + except (ValueError, TypeError): + theme_index = 0 + + xml_file = VIEW_XML_MAP.get(view_values[choice], VIEW_XML_MAP[VIEW_SHOWCASE]) + addon_path = addon.getAddonInfo('path') + window = BrowseWindow(xml_file, addon_path, 'Default', '1080i') + window.set_movies(movies) + window.set_addon_id(addon_id) + window.set_preview_mode(theme_index) + window.doModal() + + result = window.result + if result is None: + dialog.notification(_notify_title, "Browse: closed") + elif isinstance(result, dict): + title = result.get("title", result.get("movie", {}).get("title", "")) + dialog.notification(_notify_title, "Browse: %s" % title) + else: + dialog.notification(_notify_title, "Browse: %s" % result) + + +def preview_context_menu() -> None: + """Show the ContextMenuWindow with a movie that has a set.""" + movies = _fetch_preview_movies() + movie = _find_set_movie(movies) + + from resources.lib.ui.context_menu import show_context_menu + result = show_context_menu(movie, addon_id=addon_id) + dialog.notification(_notify_title, "Context: %s" % result) + + +def preview_continuation() -> None: + """Show the ContinuationDialog with countdown (playlist continuation).""" + from resources.lib.playback.playback_monitor import ContinuationDialog + from resources.lib.utils import lang + + pair = _fetch_set_pair() + finished_title = pair["finished"].get("title", "Preview Movie") + next_movie = pair["next_movie"] + next_title = next_movie.get("title", "Next Movie") + set_name = pair["set_name"] + art = next_movie.get("art", {}) + poster = art.get("poster", "") if isinstance(art, dict) else "" + + cd = ContinuationDialog( + 'script-easymovie-continuation.xml', + script_path, 'Default', '1080i', + message=f"{lang(32333)}[CR][B]{finished_title}[/B]", + subtitle=f"{lang(32332)} [B]{set_name}[/B]:[CR]{next_title}", + yes_label=lang(32330), + no_label=lang(32331), + poster=poster, + duration=15, + default_yes=True, + heading=addon_name, + addon_id=addon_id, + ) + cd.doModal() + dialog.notification( + _notify_title, + "Continuation: result=%s" % cd.result + ) + del cd + + +def preview_set_warning() -> None: + """Show the ContinuationDialog as set warning (no countdown).""" + from resources.lib.playback.playback_monitor import ContinuationDialog + from resources.lib.utils import lang + + pair = _fetch_set_pair() + movie = pair["finished"] + title = movie.get("title", "Preview Movie") + year = str(movie.get("year", 2024)) + set_name = pair["set_name"] + art = movie.get("art", {}) + poster = art.get("poster", "") if isinstance(art, dict) else "" + + cd = ContinuationDialog( + 'script-easymovie-setwarning.xml', + script_path, 'Default', '1080i', + message=( + f"[B]{title}[/B] ({year})[CR]" + f"{lang(32340)} [B]{set_name}[/B][CR]" + f"{lang(32341)}" + ), + subtitle=lang(32342), + yes_label=lang(32300), + no_label=lang(32301), + poster=poster, + duration=0, + default_yes=True, + heading=addon_name, + addon_id=addon_id, + ) + cd.doModal() + dialog.notification( + _notify_title, + "Set warning: result=%s" % cd.result + ) + del cd + + +def Main(override_addon_id: Optional[str] = None) -> None: + """Show the dialog preview selection menu. + + Args: + override_addon_id: If set, use this addon ID for theming and + name display instead of the running addon's own ID. + Useful for testing clones. + """ + global addon_id, addon_name, script_path, _notify_title + + addon = xbmcaddon.Addon(override_addon_id) if override_addon_id else xbmcaddon.Addon() + addon_id = addon.getAddonInfo('id') + addon_name = addon.getAddonInfo('name') + script_path = addon.getAddonInfo('path') + _notify_title = "%s Preview" % addon_name + + # Theme picker — temporarily override for the preview session + theme_names = ["Golden Hour", "Ultraviolet", "Ember", "Nightfall"] + original_theme = addon.getSetting('theme') or '0' + current_name = theme_names[int(original_theme)] if original_theme.isdigit() and int(original_theme) < len(theme_names) else theme_names[0] + + theme_options = ["Keep current (%s)" % current_name] + theme_names + theme_choice = dialog.select("Theme Color", theme_options) # type: ignore[arg-type] + if theme_choice < 0: + return + if theme_choice > 0: + addon.setSetting('theme', str(theme_choice - 1)) + + try: + options = [ + "1. Confirm Dialog", + "2. Confirm Dialog (OK only)", + "3. Select Dialog (single)", + "4. Select Dialog (multi)", + "5. Browse Window", + "6. Context Menu", + "7. Continuation Dialog (countdown)", + "8. Set Warning Dialog (no countdown)", + "9. All Dialogs (cycle through)", + ] + + menu_title = "%s Dialog Preview [%s]" % (addon_name, addon_id) + choice = dialog.select(menu_title, options) # type: ignore[arg-type] + + previews = [ + preview_confirm, + preview_confirm_single, + preview_select_single, + preview_select_multi, + preview_browse, + preview_context_menu, + preview_continuation, + preview_set_warning, + ] + + if 0 <= choice < len(previews): + previews[choice]() + elif choice == len(previews): + for fn in previews: + fn() + finally: + # Restore original theme + if theme_choice > 0: + addon.setSetting('theme', original_theme) diff --git a/script.easymovie/resources/icons/icon-ember.png b/script.easymovie/resources/icons/icon-ember.png new file mode 100644 index 0000000000000000000000000000000000000000..d788e7c66dd7d53a69315d9844d94e3e94055f39 GIT binary patch literal 149872 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�)a)48~ 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 wJPr@mj{fO-dcQZU0LIW#HL&U<2^c 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�X5FjCI=@l8~4k0^I*lDJLsh?)s-R-d{EuJ)N^z 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

e#D6vk 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 PUze<;l0=P|N!Wh_-1*n0 literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/icons/icon-golden-hour.png b/script.easymovie/resources/icons/icon-golden-hour.png new file mode 100644 index 0000000000000000000000000000000000000000..1c72a8fe69cd97092c11a942ecca578ef91dc05f GIT binary patch literal 151872 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

}ok{$f^<9=sT7|QJL)^G9>)|L_% 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

+ + + + + + + 0 + 2 + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + RunScript(script.easymovie,set_icon) + + true + + + + + 0 + RunScript(script.easymovie,reset_icon) + + true + + + + + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,ignore_genres) + + true + + + + + 0 + - + + 1 + + false + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,genres) + + true + + + + + 0 + - + + 1 + + false + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,mpaa) + + true + + + + + 0 + - + + 1 + + false + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 300 + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 300 + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + + + 0 + 2000 + + 1 + 3 + + + 1920 + 1 + 2030 + + + + + + 0 + 2026 + + 1 + 2 + + + 1920 + 1 + 2030 + + + + + + 0 + 5 + + 1 + 3 + + + 1 + 1 + 30 + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 100 + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + true + + + + + + + + 0 + true + + true + + + + + + 0 + 20 + + true + true + + + 5 + 5 + 60 + + + + + + 0 + 0 + + true + true + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + 0 + true + + + + + + + 0 + 10 + + 1 + 1 + 50 + + + + + + 0 + 0 + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + + + + + + 0 + 5 + + 1 + 1 + 20 + + + + + + 0 + 0 + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + + + + + + + + + + + 0 + true + + + + + + + 0 + true + + + + + + + 0 + true + + + + + + + 1 + true + + + + + + + + + + + + 0 + false + + + + + 0 + + true + + RunScript(script.easymovie,selector,playlist) + + true + + + + + 0 + - + + true + + false + + + + + + + 0 + true + + + + + 0 + 3 + + true + + + + + + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + + + + 0 + true + + true + + + + + + + + 0 + false + + + + + + + 0 + RunScript(script.easymovie,clone) + + true + + + + + + + + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + +
+ diff --git a/script.easymovie/resources/settings_clone.xml b/script.easymovie/resources/settings_clone.xml new file mode 100644 index 0000000000..12e1c5f654 --- /dev/null +++ b/script.easymovie/resources/settings_clone.xml @@ -0,0 +1,743 @@ + + + +
+ + + + + + + 0 + 2 + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + RunScript(script.easymovie,set_icon) + + true + + + + + 0 + RunScript(script.easymovie,reset_icon) + + true + + + + + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,ignore_genres) + + true + + + + + 0 + - + + 1 + + false + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,genres) + + true + + + + + 0 + - + + 1 + + false + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + + 1 + + RunScript(script.easymovie,selector,mpaa) + + true + + + + + 0 + - + + 1 + + false + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 300 + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 300 + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + + + + + + + + + + + + 0 + 2000 + + 1 + 3 + + + 1920 + 1 + 2030 + + + + + + 0 + 2026 + + 1 + 2 + + + 1920 + 1 + 2030 + + + + + + 0 + 5 + + 1 + 3 + + + 1 + 1 + 30 + + + + + + + + + 0 + 2 + + + + + + + + + + + + 0 + 0 + + 1 + + + 0 + 5 + 100 + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + true + + + + + + + + 0 + true + + true + + + + + + 0 + 20 + + true + true + + + 5 + 5 + 60 + + + + + + 0 + 0 + + true + true + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + 0 + true + + + + + + + 0 + 10 + + 1 + 1 + 50 + + + + + + 0 + 0 + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + + + + + + 0 + 5 + + 1 + 1 + 20 + + + + + + 0 + 0 + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + + + + + + + + + + + 0 + true + + + + + + + 0 + true + + + + + + + 0 + true + + + + + + + 1 + true + + + + + + + + + + + + 0 + false + + + + + 0 + + true + + RunScript(script.easymovie,selector,playlist) + + true + + + + + 0 + - + + true + + false + + + + + + + 0 + true + + + + + 0 + 3 + + true + + + + + + + + + + + + + + + + + + 0 + true + + + + + 0 + true + + + + + 0 + true + + true + + + + + + + + 0 + false + + + + + + + + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + + 4 + none + + + + +
+
diff --git a/script.easymovie/resources/skins/Default/1080i/Includes.xml b/script.easymovie/resources/skins/Default/1080i/Includes.xml new file mode 100644 index 0000000000..085d51b7c0 --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/Includes.xml @@ -0,0 +1,104 @@ + + + + + + + 30 + 50 + 2 + + + + + + left + center + font13 + FFCCCCCC + + + + left + font13 + FFCCCCCC + true + + + + center + center + font12 + 30 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 4dFFFFFF + false + + + + 400 + true + 0 + + + + common/white.png + + common/white.png + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-BigScreenList.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-BigScreenList.xml new file mode 100644 index 0000000000..38f27becff --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-BigScreenList.xml @@ -0,0 +1,327 @@ + + + + !System.ScreenSaverActive + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + 80 + 15 + 1760 + 40 + font14_title + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 80 + 20 + 1760 + 30 + right + font10 + FF888888 + + + + + + 80 + 60 + 1760 + 2 + common/line_fade.png + + + + + Control.IsVisible(655) + + + + + + + + + + + + 25 + 72 + 1200 + 950 + + + + 35 + 8 + 1125 + 632 + $INFO[Container(655).ListItem.Art(fanart)] + scale + + + + + 35 + 650 + 1125 + 45 + font13 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 35 + 700 + 1125 + 200 + font12 + FFAAAAAA + true + + + + + + 35 + 910 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 11 + common/white_rounded.png + common/white_rounded.png + + + + 265 + 910 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + + 1260 + 72 + 630 + 930 + vertical + 3 + 200 + 10 + 655 + + + + + 10 + 5 + 53 + 80 + $INFO[ListItem.Art(poster)] + keep + + + 75 + 10 + 480 + 30 + center + font12 + FFCCCCCC + + + + + + 566 + 13 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 598 + 13 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + 75 + 42 + 540 + 25 + center + font10 + FF888888 + + !String.IsEmpty(ListItem.Mpaa) + + + + + 75 + 42 + 540 + 25 + center + font10 + FF888888 + + String.IsEmpty(ListItem.Mpaa) + + + + + + + 0 + 0 + 630 + 135 + common/white.png + + + 10 + 5 + 83 + 125 + $INFO[ListItem.Art(poster)] + keep + + + 105 + 10 + 450 + 30 + center + font12 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 566 + 13 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 598 + 13 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + 105 + 42 + 510 + 25 + center + font10 + ffFFFFFF + + !String.IsEmpty(ListItem.Mpaa) + + + + + 105 + 42 + 510 + 25 + center + font10 + ffFFFFFF + + String.IsEmpty(ListItem.Mpaa) + + + 105 + 73 + 510 + 22 + center + font10 + ffFFFFFF + + + + 105 + 105 + 510 + 22 + center + font10 + $INFO[Window.Property(EasyMovie.Accent)] + + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-cardlist.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-cardlist.xml new file mode 100644 index 0000000000..cbb029dc6d --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-cardlist.xml @@ -0,0 +1,373 @@ + + + + 1 + !System.ScreenSaverActive + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 260 + 140 + + + + + + + + + + + + -2 + -2 + 1404 + 804 + common/white_rounded.png + + + + + 0 + 0 + 1400 + 800 + common/menu.png + ffffffff + + + + + 30 + 13 + 1340 + 40 + font14_title + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 30 + 18 + 1340 + 25 + right + font10 + FF888888 + + + + + + 30 + 66 + 1340 + 2 + common/line_fade.png + + + + + 30 + 82 + 1340 + 638 + vertical + 200 + 655 + 655 + 655 + 10 + + + + + + 0 + 2 + 1340 + 74 + common/white.png + + + + + 10 + 4 + 47 + 70 + $INFO[ListItem.Art(poster)] + keep + + + + + 70 + 11 + 840 + 28 + center + font12 + FFCCCCCC + + + + + + 920 + 15 + 20 + 20 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 948 + 15 + 20 + 20 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + 1000 + 11 + 330 + 28 + right + center + font10 + FF888888 + + + + + + 70 + 42 + 850 + 26 + center + font10 + FFAAAAAA + + !String.IsEmpty(ListItem.Mpaa) + + + + + 70 + 42 + 850 + 26 + center + font10 + FFAAAAAA + + String.IsEmpty(ListItem.Mpaa) + + + + + 1000 + 42 + 330 + 26 + right + center + font10 + FF888888 + + + + + + + + + 0 + 0 + 1340 + 78 + common/white.png + + + + + 10 + 4 + 47 + 70 + $INFO[ListItem.Art(poster)] + keep + + + + + 70 + 11 + 840 + 28 + center + font12 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 920 + 15 + 20 + 20 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 948 + 15 + 20 + 20 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + 1000 + 11 + 330 + 28 + right + center + font10 + ffFFFFFF + + + + + + 70 + 42 + 850 + 26 + center + font10 + ffFFFFFF + + !String.IsEmpty(ListItem.Mpaa) + + + + + 70 + 42 + 850 + 26 + center + font10 + ffFFFFFF + + String.IsEmpty(ListItem.Mpaa) + + + + + 1000 + 42 + 330 + 26 + right + center + font10 + ffFFFFFF + + + + + + + + 415 + 730 + 570 + 50 + + + + 0 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + + 230 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-confirm.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-confirm.xml new file mode 100644 index 0000000000..0571a288a5 --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-confirm.xml @@ -0,0 +1,148 @@ + + + + 1 + 10 + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 600 + 420 + 720 + 240 + + + + + + + + + + + + -2 + -2 + 724 + 244 + common/white_rounded.png + + + + + 0 + 0 + 720 + 240 + common/menu.png + ffffffff + + + + + 30 + 13 + 660 + 40 + center + $INFO[Window.Property(EasyMovie.Accent)] + font14_title + + + + + + 30 + 66 + 660 + 2 + common/line_fade.png + + + + + 30 + 82 + 660 + 70 + center + center + ffFFFFFF + font13 + true + + + + + + 145 + 170 + 430 + 50 + center + 30 + horizontal + + + + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + common/white_rounded.png + common/white_rounded.png + + + + + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + !String.IsEqual(Window.Property(EasyMovie.SingleButton),true) + common/white_rounded.png + common/white_rounded.png + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-contextwindow.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-contextwindow.xml new file mode 100644 index 0000000000..63119ab323 --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-contextwindow.xml @@ -0,0 +1,109 @@ + + + + 100000 + 100 + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 720 + 455 + 480 + 170 + + + + + + + + + + + + -2 + -2 + 484 + 174 + common/white_rounded.png + + + + + 0 + 0 + 480 + 170 + common/menu.png + ffffffff + + + + + 30 + 25 + 420 + 120 + 12 + vertical + 100 + 100 + 100 + 100 + + + + 420 + 50 + left + center + font12 + 25 + ffFFFFFF + $INFO[Window.Property(EasyMovie.Accent)] + common/white_rounded.png + common/white_rounded.png + + + + + 420 + 50 + left + center + font12 + 25 + ffFFFFFF + $INFO[Window.Property(EasyMovie.Accent)] + common/white_rounded.png + common/white_rounded.png + + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-continuation.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-continuation.xml new file mode 100644 index 0000000000..ce251d7f78 --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-continuation.xml @@ -0,0 +1,187 @@ + + + + 1 + 10 + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 560 + 300 + 800 + 490 + + + + + + + + + + + + -2 + -2 + 804 + 494 + common/white_rounded.png + + + + + 0 + 0 + 800 + 490 + common/menu.png + ffffffff + + + + + 30 + 13 + 740 + 40 + center + $INFO[Window.Property(EasyMovie.Accent)] + font14_title + + + + + + 30 + 66 + 740 + 2 + common/line_fade.png + + + + + 30 + 82 + 160 + 240 + keep + - + + + + + 210 + 85 + 560 + 95 + left + ffFFFFFF + font13 + true + + + + + + 210 + 195 + 560 + 95 + left + FFAAAAAA + font12 + true + + + + + + 185 + 385 + 430 + 50 + + + + 0 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + + 230 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + + 30 + 445 + 740 + 25 + center + center + FF888888 + font10 + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-main.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-main.xml new file mode 100644 index 0000000000..46d75c2956 --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-main.xml @@ -0,0 +1,339 @@ + + + + !System.ScreenSaverActive + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + Control.IsVisible(655) + + + + + + + + + + + + 40 + 15 + 1140 + 40 + font14_title + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 40 + 20 + 1840 + 30 + right + font10 + FF888888 + + + + + + 40 + 60 + 1840 + 2 + common/line_fade.png + + + + + 40 + 72 + 660 + 960 + + + + 0 + 0 + 620 + 349 + $INFO[Container(655).ListItem.Art(fanart)] + scale + + + + + 0 + 357 + 620 + 2 + common/line_fade.png + + + + + 0 + 369 + 620 + 45 + font13 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 0 + 419 + 620 + 30 + font12 + FFCCCCCC + + !String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 0 + 419 + 620 + 30 + font12 + FFCCCCCC + + String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 0 + 454 + 620 + 25 + font10 + FFAAAAAA + + + + + + 0 + 484 + 620 + 25 + font10 + $INFO[Window.Property(EasyMovie.Accent)] + + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 490 + 620 + 2 + common/line_fade.png + String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 519 + 620 + 2 + common/line_fade.png + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 502 + 620 + 395 + font12 + FFAAAAAA + true + + String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 531 + 620 + 370 + font12 + FFAAAAAA + true + + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 910 + 620 + 50 + + + 0 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + 230 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + + + 720 + 72 + 1160 + 975 + vertical + 10 + 655 + 655 + 655 + 6 + 200 + + + + + + 15 + 20 + 190 + 285 + $INFO[ListItem.Art(poster)] + scale + + + + + 19 + 24 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 177 + 24 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + + + 12 + 17 + 196 + 291 + common/white.png + + + + + 15 + 20 + 190 + 285 + $INFO[ListItem.Art(poster)] + scale + + + + + 19 + 24 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 177 + 24 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-postergrid.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-postergrid.xml new file mode 100644 index 0000000000..e8e8bb364a --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-postergrid.xml @@ -0,0 +1,300 @@ + + + + 655 + !System.ScreenSaverActive + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + Control.IsVisible(655) + + + + + + + + + + + + + + 40 + 15 + 800 + 40 + font14_title + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 40 + 20 + 1840 + 30 + right + font10 + FF888888 + + + + + + 40 + 60 + 1840 + 2 + common/line_fade.png + + + + + 40 + 72 + 1840 + 790 + horizontal + 1 + 300 + 655 + 10 + 655 + 655 + 6 + + + + + + 14 + 258 + 182 + 273 + scale + $INFO[ListItem.Art(poster)] + + + + + 18 + 262 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 168 + 262 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + + + + + + + + + + + 7 + 77 + 426 + 636 + common/white.png + + + + + 10 + 80 + 420 + 630 + scale + $INFO[ListItem.Art(poster)] + + + + + 14 + 84 + 40 + 40 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 386 + 84 + 40 + 40 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + + + + + 40 + 870 + 1840 + 2 + common/line_fade.png + + + + + 40 + 882 + 700 + 35 + font13 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 40 + 922 + 700 + 24 + font10 + FFCCCCCC + + !String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 40 + 922 + 700 + 24 + font10 + FFCCCCCC + + String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 40 + 952 + 700 + 24 + font10 + FFAAAAAA + + + + + + 40 + 982 + 700 + 24 + font10 + $INFO[Window.Property(EasyMovie.Accent)] + + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 800 + 882 + 1080 + 180 + font12 + FFAAAAAA + + true + + + + + 40 + 1020 + 200 + 45 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + + 270 + 1020 + 200 + 45 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-select.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-select.xml new file mode 100644 index 0000000000..eb1598f67e --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-select.xml @@ -0,0 +1,291 @@ + + + + 1 + 11 + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 660 + 250 + 600 + 580 + + + + + + + + + + + + -2 + -2 + 604 + 584 + common/white_rounded.png + + + + + 0 + 0 + 600 + 580 + common/menu.png + ffffffff + + + + + 30 + 13 + 540 + 40 + center + $INFO[Window.Property(EasyMovie.Accent)] + font14_title + + + + + + 30 + 66 + 540 + 2 + common/line_fade.png + + + + + 30 + 82 + 540 + 420 + vertical + 200 + 100 + 10 + 100 + 11 + + + + + + 0 + 0 + 540 + 50 + center + center + font10 + 66FFFFFF + + String.IsEqual(ListItem.Property(is_header),true) + + + + + + 10 + 13 + 24 + 24 + check_off.png + [!String.IsEqual(ListItem.Property(checked),true)] + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + 10 + 13 + 24 + 24 + check_on.png + [String.IsEqual(ListItem.Property(checked),true)] + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + + 48 + 0 + 480 + 50 + center + font12 + FFCCCCCC + + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + 15 + 0 + 510 + 50 + center + font12 + FFCCCCCC + + String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + + + + + 0 + 0 + 540 + 50 + common/white.png + !String.IsEqual(ListItem.Property(is_header),true) + + + + + 0 + 0 + 540 + 50 + center + center + font10 + 66FFFFFF + + String.IsEqual(ListItem.Property(is_header),true) + + + + + + 10 + 13 + 24 + 24 + check_off.png + [!String.IsEqual(ListItem.Property(checked),true)] + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + 10 + 13 + 24 + 24 + check_on.png + [String.IsEqual(ListItem.Property(checked),true)] + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + + 48 + 0 + 480 + 50 + center + font12 + $INFO[Window.Property(EasyMovie.Accent)] + + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + 15 + 0 + 510 + 50 + center + font12 + $INFO[Window.Property(EasyMovie.Accent)] + + String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + !String.IsEqual(ListItem.Property(is_header),true) + + + + + + + 115 + 515 + 370 + 50 + center + 30 + horizontal + 100 + + + + 170 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 100 + + common/white_rounded.png + common/white_rounded.png + + + + + 170 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 100 + !String.IsEqual(Window.Property(EasyMovie.SingleSelect),true) + + common/white_rounded.png + common/white_rounded.png + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-setwarning.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-setwarning.xml new file mode 100644 index 0000000000..9b4088144f --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-setwarning.xml @@ -0,0 +1,173 @@ + + + + 1 + 10 + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 560 + 300 + 800 + 480 + + + + + + + + + + + + -2 + -2 + 804 + 484 + common/white_rounded.png + + + + + 0 + 0 + 800 + 480 + common/menu.png + ffffffff + + + + + 30 + 13 + 740 + 40 + center + $INFO[Window.Property(EasyMovie.Accent)] + font14_title + + + + + + 30 + 66 + 740 + 2 + common/line_fade.png + + + + + 30 + 82 + 160 + 240 + keep + - + + + + + 210 + 85 + 560 + 165 + left + ffFFFFFF + font13 + true + + + + + + 30 + 340 + 740 + 50 + center + FFAAAAAA + font12 + true + + + + + + 185 + 415 + 430 + 50 + + + + 0 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + + 230 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + diff --git a/script.easymovie/resources/skins/Default/1080i/script-easymovie-splitlist.xml b/script.easymovie/resources/skins/Default/1080i/script-easymovie-splitlist.xml new file mode 100644 index 0000000000..27b1e2e7fa --- /dev/null +++ b/script.easymovie/resources/skins/Default/1080i/script-easymovie-splitlist.xml @@ -0,0 +1,442 @@ + + + + 1 + !System.ScreenSaverActive + + + + + 0 + 0 + 1920 + 1080 + common/white.png + + + + + + + + + + + 260 + 140 + + + + + + + + + + + + -2 + -2 + 1404 + 804 + common/white_rounded.png + + + + + 0 + 0 + 1400 + 800 + common/menu.png + ffffffff + + + + + Control.IsVisible(655) + + + + 30 + 13 + 730 + + + + 0 + 0 + 730 + 40 + font14_title + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 0 + 5 + 1340 + 30 + right + font10 + FF888888 + + + + + + + + 30 + 66 + 1340 + 2 + common/line_fade.png + + + + + 30 + 82 + 730 + 648 + vertical + 200 + 655 + 655 + 655 + 10 + + + + + + 15 + 6 + 530 + 28 + center + font12 + FFCCCCCC + + + + + + 15 + 38 + 530 + 24 + center + font10 + FF888888 + + !String.IsEmpty(ListItem.Mpaa) + + + + + 15 + 38 + 530 + 24 + center + font10 + FF888888 + + String.IsEmpty(ListItem.Mpaa) + + + + + 670 + 19 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 700 + 19 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + + + 0 + 0 + 730 + 68 + common/white.png + + + + + 15 + 6 + 530 + 28 + center + font12 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 15 + 38 + 530 + 24 + center + font10 + ffFFFFFF + + !String.IsEmpty(ListItem.Mpaa) + + + + + 15 + 38 + 530 + 24 + center + font10 + ffFFFFFF + + String.IsEmpty(ListItem.Mpaa) + + + + + 670 + 19 + 24 + 24 + common/IconWatched.png + !String.IsEmpty(ListItem.Property(watched)) + + + + + 700 + 19 + 24 + 24 + common/movieset.png + !String.IsEmpty(ListItem.Property(set_name)) + + + + + + + 165 + 740 + 570 + 50 + + + + 0 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 11 + 11 + common/white_rounded.png + common/white_rounded.png + + + + + 230 + 0 + 200 + 50 + center + center + font12 + 10 + FFFFFFFF + $INFO[Window.Property(EasyMovie.ButtonTextFocused)] + + 655 + 10 + 10 + common/white_rounded.png + common/white_rounded.png + + + + + + 780 + 13 + 590 + + + + 185 + 68 + 220 + 330 + $INFO[Container(655).ListItem.Art(poster)] + keep + + + + + 0 + 413 + 590 + 2 + common/line_fade.png + + + + + 0 + 421 + 590 + 35 + center + font13 + $INFO[Window.Property(EasyMovie.Accent)] + + + + + + 0 + 458 + 590 + 28 + center + font10 + FFCCCCCC + + !String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 0 + 458 + 590 + 28 + center + font10 + FFCCCCCC + + String.IsEmpty(Container(655).ListItem.Mpaa) + + + + + 0 + 488 + 590 + 28 + center + true + font10 + FFAAAAAA + + + + + + 0 + 518 + 590 + 28 + center + font10 + $INFO[Window.Property(EasyMovie.Accent)] + + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 521 + 590 + 2 + common/line_fade.png + String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 550 + 590 + 2 + common/line_fade.png + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 533 + 590 + 250 + font10 + FFCCCCCC + true + + String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + 0 + 562 + 590 + 212 + font10 + FFCCCCCC + true + + !String.IsEmpty(Container(655).ListItem.Property(set_name)) + + + + + + diff --git a/script.easymovie/resources/skins/Default/media/check_off.png b/script.easymovie/resources/skins/Default/media/check_off.png new file mode 100644 index 0000000000000000000000000000000000000000..74757301db4138b4030c9d0476705c5508660413 GIT binary patch literal 983 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV4mmc;uumf=k4sX-7=vfN9(s& zrJc~|l3-h$Ei9m{7rR4JF-;(5N13XgXzL&5w0{iO-?+9o0pU5}p05CdJ0s7YJyT`azMo_ANb@1;#k-giBJ?p0Xl z81(q{v%l9Z?(dl%TVQKFX`8C;^UuE8=la+GK4j}z?-BJ;`rqxf^A7CP|Mlaw(gyio zcbJ|!TvDIZHaFyDp4wigj~VN$651!_c}Ja*oHW-;@nyC6e%+Tx?cD7bSLpb8{5twI z*R$&0dGp@=Leo6uEg9;W%4_N*j?`)u@TR4G_slo&$Zy%RG5Rqxq(FkM{1<|5qTW~wmD!DJQV zMV3W@yd7!+y`(GcDvV^QmEm6I<-7LUG7C!$Ke-!;7n7&x+UGK6JXT$7eW2~UEz_DG ze+o~qRG$5C`Com12oKj19*G$@*$O6${7p@`x>~1tulp9!haYqbjve36xV^?kr+exB zZ&9~4E!d%J{a$%W)w~H`G8euzo-h5xb?1T#*GsnRS4|6g?(t4k;>*#FMd=FDPt7m( zwO;pHbiVu)@u!>eMbvC~ zaE7P6LHfY+v~Qv+A0I2#FS(bv^zTC+&An=I;vIh~cQe*xr`0=4e_g!wY~P)W(HE8- xFDwhFDwV(Wxnzk)*8j~Fa?196hZnp3kuR&1@9EfV7Y)p?44$rjF6*2UngE9D(E$Je literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/check_on.png b/script.easymovie/resources/skins/Default/media/check_on.png new file mode 100644 index 0000000000000000000000000000000000000000..afb4c97d915335b1f9d6942b5c179303a4c5c017 GIT binary patch literal 2260 zcmV;_2rKuAP)%+|sjqEqpXdB`@qC!pn0_SHq(4YPo}A}A z=lB0Q=YMkk0vSM308ju3A%u~sZ9ajd3P1obg%HftR%Gf#2w^Vhv@~aVmAk`9FLi}L% z-vRg?EaFZOEL0GH0YC@v7XW(!D5)_)0o*`gko+2!_UG*13Yk1$DNqM63*c)2-wGj2 z+tS?zj&H03@DBj>u-u@~$*00`2@}ANg%JNFsR$vYVw*kzdEagT4)C(aSKgb+{^C2JuRoB$ln z8-{_$j~_!(6qx2Gv)x5eZ~`z*6N;kX^5x6ey?ZwX1_q$2YIc@D(ogb@okGgbm#r=j zb8~Yf$^QO+hC(5R!(oO(Azrv}fg~xVq?8$lZ`z-GY~E_Y2*4pfG&DrN-_LM3%t$1{ zXf(>Aq9UF@f1ZY6&@|0V-Fzf~f^Y%TG@)r4Mn*<(_Uu`dl$5vuPzZsdq9QajG(b_7 zPbcpMV45aWRmJn?&vE$hVI-4Dcsw3RDWPc^#>U2Q>eMNmIB^0bmo0?67J!rzs;Xjg zauTOcpGG2)KuJjn48wq~>qsOLXlZG|rAwD!7zTt`{#q_?1>i*WWHO27=4L#5_6$Cs z4|8*K&~+W-FI&r?_ZJMry}nJ;6(fzH*VnC zwQH{CRaM38>@3R4%5dk-9aL9WyMoFF+Tu+<9}L5QrfG=B<7jVh$A%3XV45a`5Rg)0 zdU_fI0|VH$ZJXORTV!nkQcBkkvw=hC(W6IbX=y=maq&F=o|>9MS63Hy?AVbr@<5gr zAf~H148wq;C>R|b#j97Z zTr*uR96x^X;suTzIf99a33xmnn5OB@^=HnU!LehHW$KA#p`W-eeD21#;wc$hUc zHQc**FQ=xaXqx6?Yw`IDbG!Y-#02;4+s9xq$XG1K>gsCN)zz`2q=Y9=o^+qNNTRc( zN7|n&PlgP<3SXx@j*49>%R_2yT2vSNnyK8N2 zrO)SMZEdYfJ{Syg&z?O@CX?2vb3>lYHX9T|fFx>aYEV^G7zj;^jQbaZq; z)3l7cG)~a#=;%OKSC>22I}4p)Fo^E%Zg{<3cLQWq!DYCBV+9W%K4c&eaP#tTILv4? zN}tci-rio4A9DCqIM;f6d+GD}7>!2VKB}s!SYKby;o;$V&&nZkvmuhYGvf%Mrl!Vy z1p)!~_xI0ho9@2Ud&1!`{eC}(hK4@6FNet8j*z3BzP>(|mzTR%;E*XRE91R;_efe~ zoc2$jK4nEkg&RK{?FWOwv_i``dBPRzu(WcwlU2Q;J^X&_4T>?dn;W|FA>hckFSIf_j4iu`+j#< z=IGI*7#tjQb9g6>H4FpA#l`LtHiUBU~=*VWY_9*@KC_XGGWe1)_0PA^$u#bqc4q%i=kAR#qaJOhVUn=(>)XnHfka(cj;Xty{O| zWJf3KG3UBNRaIe{CIW!~Zr!?tNF;(pB7xVhU&G_^ptG|R+qZ9Dz0`J@$Vm`P2ihAX z)6>%!92`Uwyq9|?vBneejzi7Zq zhgIJd7DD8OuYU@u>R77>B-6p=>Igsp$X_+(9xhjf)P6?Uv?7EU2k={1Zn4(R4bQ;}e0PNqe`QK3U24scYL}DTgH<~)3#-7O(A{DV z7LR`e_z8eFNGYL9jRDejg%be&1nXG2fMpF5h2<6!AI7Z%_!od9LWoaSjR98eknapLz5=3gp`3}d|9mE0rS_qM#T_?1#@jTd80K1~%M*w~Wt9rBng|k@tFM#_1`h*aF z27q+rfhE=s)7n0+M}Ak8IA;9=fKegD6krj@Qp;vP>XB4P=G8HprGli&l={F=VM&^_ i-D06{00002H@`iTmX?$ z8Cqg^01^QHD}-18wC7R?!F9J{_BhFYl6Oe{$*qGw8Q9!kh?9vt451TjM*9*lV0pMog35ODfE%Taf{0D_@T z2;r0bCx8h6830Zdj4dY=r#>OXq~e^L8Gk_#KU*c%zXk#Uw_idBNeUqZ8I1G)1JGbp z*iKOMfR6wU2_Y6p3UkQl1Q5mc_kbt@t^i<}0{kQUz1he4jX-fzTrD#P)Ku7*YC>~0 z1z7)FdFw-S-Ewz%rN$2ds%=2EQSsTHloBLChEt9Z0zwE_R%QF7A_9TTP$VcWs#)RQMq@bu|ZJbwH*RJOCT6K!p6Xm4-VWqsc-yH}J&0M(0% z$jg^6ap}?}OifK;Zf*{lOs23gj)U&*ZuIo@;Nr!LXlZEyP-Y=WMzY_(W|xz^jjTmw zG8z4QW@d(igM*AlqeL+F5&#{?VQp+0%QS69c{+FC{;kx-dvG|IujLC(y~6m0t& zp}763xwAw9NGU0$BuTz|_l`qDLm^VOZPT`GI*t<}YJSvt+qU(wNF>6cp&=%d$-L{7 zLV%KlfJ$0YN{o+>BNmI{*|TQ=0Nb`9rPTQV0GgVb(9_d{&d%VTU_f81Bq6a;5AeL8_~POsdwY9BZk}CsqGegyt>f`H z-@JK~*Usn9pLz4B{t)-rim=E-r?yy%7)CkO0bnWHL$Db+zG&up$6} zd-m+%?Ch+rn@Xj$E2mN^`o2#x5K^_3+l~^&bzL12UnxRq1dvkdgfu!js*{`DE8XX-a86?Mb=7o(5pn8fVW3gDCVTFv1 z$KxS_uV26BsZ*!8Yu7F|Ha7Cuv12;hr_*VY+7r6mpz z4{JA7Zl2rw0NB*j#Kpx$W-=N2zR$OB-*Wfv-8^#S2rpc?5Xu>M@7@gw)z{ZoR9w?L zhKGl_w6qkmvE%|M7h7Il)-jqpb{FcU6DLlP43Zp44i68rudh$Hd-?KZUAC>Qjj2?M zp65|Y$*WhdYH^BPN7>-It`4U)!XZz9b&VrZ1}jOA9z8-=R~HhA1RTeK=XpizsCj%x zM+ZnE5{Y1CWd(Qc+`-|)hjqEu)>inwk4PkfWHO1lxj8tF10e(s9Xb@cej#|C2gh-c zNF>nJ)rE60F>6N!XA=QvI%zDGtzv{)p0`t<3dIiTW6P@&i`xYlrW`}S>;tJ!^g ze4HH}9lBggOAD`Dxe{DFn*d+Edd2$sdI}-(1U9c#(P2;_cOul#&`{7-m3JIGcu-GY z)j03_K4)iVIXOAWj~_ph40=y_%E^-_3%05LH#9U@1s`n>A^(htzM^ zb+wzO)9E}{Rc=p`=g*(dBX7EVb91wvR##;zTu6k4g@vLwLyAaucQ>b}r;E1r{P}a8 zTTJq~H$w{x3*SQCv=R*3E~PBe>Pa@XMbP9=CY;=_#r^G4X8FkugX@0UiVRfYmoDw;PCn+Xn<(0YF;W_k`{29-Aq3q8b*K8H&?X z_B~-+2$8ps<~MAA5BSYIXaPWWuYe_lm;~?#f*Io1KLpsk@DOnNBfD3?5<>XEk1aE+ z8DAX`Li`0_0KrD12!c&hKDJg^5UX}a5O5jDa?@OaAKT^%gWvPUNu$E|yLHwCzt_#v fg&M>*+&=$*p;IUV)$T6R00000NkvXXu0mjfPsP6y literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/gradient_bottom.png b/script.easymovie/resources/skins/Default/media/common/gradient_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..19451ac25177a32e6b3ed62c1dace69377177003 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^j6m$b!3HF63(7hGDLGFU$B>FS$v^)8w`Ue+W@hG= i<+zrZDtP!m5HK^WHs>gqRC*tzlEKr}&t;ucLK6T%S{IT4 literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/line_fade.png b/script.easymovie/resources/skins/Default/media/common/line_fade.png new file mode 100644 index 0000000000000000000000000000000000000000..15b328febdd4695e85343f8448884cbbbe8a0fc1 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1Igpa~ba4!+nDh29BQFC32eZPK m`m}t3)Wwq=7XCkJ@c)TUjZx!&E7`2OAdQ}`elF{r5}E)$H5c^& literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/menu.png b/script.easymovie/resources/skins/Default/media/common/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..058f52792b5a1a19a74bcb0e5a035b165dc460dc GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUty`C*WuI&?P5WJQ}x{-O@}Jx8AsWNkYT@J%8MP-AlWF?d8hlcSIu(+LkNDHfkKS zwH5r#9(b7fZ_c+X0=)AtuH%}Rxp`ighBVugU4OmK&Z%Qkef)O&lKBlRH#{18@e{o^ zscxzFuW9~gY1qjAG~>#d`!g6OWOL<)?bdQRnr^c;Af+>ITYlZQ4=(@miWw%{v^J>> SuG|Oo2!p4qpUXO@geCy?nrC$Y literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/movieset.png b/script.easymovie/resources/skins/Default/media/common/movieset.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c5d1875ce3d32c940607c494c95a6735e5deb4 GIT binary patch literal 2974 zcmV;P3t{w$P)IBCU!xZ4KCpQi`QC#fAogL8VQJ z+G2whe6>(3f=Clcg7_Ir8!Kr|McE)WC_Z9rki71l*_oZ0d%iz*XPup$B>VJHdteB= z*_pZLoZorga|uLAh$sL60RSP|dma*T06;!$h$xQsJ2Jup2mlaE zl8E?k0Qe68%m)BZvKE?T(gEN%0Pqq*x&cDSMM4Nh{S>>#5%Fb2{1Fic@$sQS46ONO zH=gVifdE7l2q7F1vjAWh0Bp4Vn+LB)nFI*;QwIQ`f)Fxf@n-*Vm;h|d{|f+G0AK+C zn6?KGYch`*A>3D#2mtK>@G2ps-zkI;Lm0Gq0LTDtdBO;il37m5f1OY@*L{St$5Ckwy6HL<_{UPxafdFqG zhkc2Ngb;!li1VEQFy3}UQpjRll0u*|J3BkI`ucjz$;pBD-g{5T&CN{*009w00wN@- zda&{U3IKBnA>D{b0E5{QA}$NYP%~M<*fdQv48#7Fzon&xtyr;w5<;}#qIhOzrdD2F zPS2e?CnKV6{aDv^G|i+f2k|~{%Yr z26E2hWB)#HHEsgf=J-)mWSXXvaer%TD_gyKHT8Hr7R*r;MHB=fjB&Rs=oqcfeEj(F z>bvj0JJjCZ9$_AF2*SF5Tfzcxz>+h@)We4l(}fEc$`FXVA(-1V8}%g!LWFq~7ZTN&b#--g=FFK21jCpMG#~gy2yqJE zC@3h9zxwJc+SAjcnx^T5LG%JJO%plic;Ui@zWn_B0gG`-k}xeT?V&R6CWy4OG&?HH zY15_+w70kSan9{dGIj)*rpf>M>o4uVfdh2WqD8V3`l+<}I7~r*_St9U`uci$>((vR zFbrpSNH`4YZEbDxh7B8Nc6PQ3!47OPy?!*>b~sy}nVG4+`R1GS%$YL`5&a{rKP~~d zL;cI=?nu3b|QF{FVQE5_srz%B%bAW+wJt+~0Gz5e>^EImCvEKwQ`6_&Q`g_6hP z(N?Zp$r>6On7ukgMD+Xp5$}Cq0&vs5*X#B5^z^70-cK;DUAv~#)YQR}p+kpg ze}BJhB!?;=uf+odm9uz(#p zbciy>Lho@=RAK_K7H%~-CQX{;+Td_WkIgAlruaVm@I!j>;zilW=zzT zpG)V*UtCqo}n-#{G-{Bi# zuLUk%yf`p#-n>DuB|9FEC+e`~;^fS{yga3{vXXkeUfJvQ%9WLsRzD%aNk$tsJswY3 zQB+u1IB?;@g@J@?0So>e9Ub!K&6{aXPL689GS-UFMVo%RU`NxoQ?Sk?DJv^WEiW&p zZEbCA7(QYbfCED2y?gh3-+c28eg669<4%E{iB2N-0)SpvSSat_y*sQ!%E1Ego%;9XnPnD=UjAfJSMdC!Pqo6-GThJ-$7A_C$omL<=J~ zZ5I?2$e(}yIlX=RcC-ahas^-~r?gGe)J~s1&E9z94VsaW5jQHF+8#4zjJ9gkD%#xK z9MxPaQe@m zKQHguvxoip=bvE?FG?iDFMudEIynI73l}bw_wV0N@7=o>wm?KQy1KgL>gwueZ_eDREz4pL+1%LHfcAFIX)(o|cvtPdyMk7Hq@zRIgM)+W_uqd{UwY}KumZ@L zdJk6*R99CI-MV#4M)z(0*ivCcxQel^#y*Xvd6kkO}1-*RvvJ(~h zrAwFOii!%Fo0}VO$LS<+i#`mewKDsSAl(b_0U+4i_SGaNT=oVtGfdiv8(KgCi9 zBrX7phTABqudk=iJ@;HvHcE!8`gZNwMep3X^KhD?Zsb-ao;`b(z4g{xF>jQ(X*(k$ zLtVFS9X);ew5zsb9FrMQ0LdPbGP}FGeRXwpbne`_Bh~|Mb-?V|v+Y%1yc;1-8gWP} zDPwY$({#4aTUuJ!nl)=!u&>DNj?iK}Jw07pwQ3b@YHDJJVT9@c%l9NO9cGd1m|RK+ zC7p%S_3PJ_?c2B0{QP_i6~>GiGnAT|nnbs~qFPe$Z)i~RfsM*?&h10dXc&gx(9ob0 zLdc30Dz>% literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/scrim_topleft.png b/script.easymovie/resources/skins/Default/media/common/scrim_topleft.png new file mode 100644 index 0000000000000000000000000000000000000000..7367a776ba43b3063043cbf58872f61e30d25018 GIT binary patch literal 1153 zcmV-{1b+L8P)vaU|9+7GR}*L{Fcx7aLOM}8KtLFeyTF6 zKSku-slRu1R7U9ylu`cH)lIxQHJo7ujp zF~pv;VQJ4j}?tp!`EjOOHR zKx8YeKr|4lpSj!Y!lSSd*@`^l3z$Gpb@5Tn-^&sD@|v(kk< zqR@Q2xgjqxpAs%5G4_7%n0L^`iTM zMiwwjK%^wbCflCE>^*RXzzms{V`azkn5< zf2%zWO(3JbmNO)x$y$@HdOosg`Zy#w`^^26NpVJsUL|UHR zd89&CNf|Yx&0uY%aKs_PswPXGMcBwj45?4#SQn1ehul|_!l=-5;mB5r0!2NmRNyKX zw%j!9!fEsbdPJ^Jpr<~M0LG5D31#t5#CGAM6v&>Kx@}~K2?b~a(x`}m=o#xWmfEbv zTO=Yo)&^MphLHUxl2u`JU_^^%7S5{B8+%B7BKx^;#_b{^GfE!Dhzmz<9L2PwTsUKE z7#@KlpNY|Vq(mzY&McfEgo%NDn!=esCNK+Uh{_O(#+iav;MoL5^-=Py&!)i=*vb_I zvIoNIG_5|7{S~+}m7pgO?Z{a%u$A>I4ovd;w9m@$5c@p{bhseWbRCiB5tmUNODJmh z-i=p=E8PPMjh-k;NL zm*6Tc9H}shgUiqewB(J*Yk9>foIOAgVb==qL*#Uq)#wRClSArjc|_vVsE=M_w!}mJ{(mS0t-h8sBwFMl;yl;gQguC! z_$tT5K#RofvFk;8Yt{AG&4n*RT*FR3s9q8y3T%1RDST<1b&cTU00000NkvXXu0mjf#x*SP literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/scrim_topright.png b/script.easymovie/resources/skins/Default/media/common/scrim_topright.png new file mode 100644 index 0000000000000000000000000000000000000000..2877d09244d4fe6d1ac54658c8be78b6497780e0 GIT binary patch literal 1499 zcmV<11tj{3P);2HlXbNETjeK=} z1F$6Li#u1oI*|BCeB9dn9%AdW1L&|#tY-ksV2pt3xo75sDD~9~uo~cziKu&5I%f1) zxt86t0^c)RmRtS91tb@N6nOfw;q7jK{k;JTn~mJ zwV*}n^Wy?@0q&rAI|49*HKNc6Tvo5tXZ2Qs{A^we`4PBHeJ{W&G}X>vMCyy6eTg`t zu^>txx3W}WL7RKuy#VcIe$o*{{{L&HzAUvX>mbL(&{RD9|6f+0Qs%}+0A_0ISp!?@ z>)Avi6;{&MY($B}3d|;86K|z(MSUuL&7!f@8n~dH!qFON5983s1h%6o?5~}f!X8{J zg+0hqQ`kC-AS(5>Hj)UUw?))d*1s7FRO(xRV*ojD4=#J!Ed?4RR$#QV0~+2;1#%i& z`(c0<5C`gm%+|mKF+`A`nT_fFR!rVJw8|Q|(*1`3a>`az7^yFV7wy(&3ZjY$K}Kdrj2jRC&-IuL@z7E)fWc2|7JYWt$1t?M@*Kv?=?Y#MQP`%1{<#Jic4z&iV z5_~=bAW(y+AXbBoHVxks!I|brC?X%nV)@lZ`N_px9x{}5+zOw*k zUu42yf_|cU1<(3zL9Df<&&DIBHm%cZclNQn_V2A6%(kKk3**Ru;pu`Z7QxMHuwnSDp_7+j{lmsTLKhuCWC z{gwhVhzzc^26n*%9tRMJKaO%65E)$M6{ZDm1M-mofgE52uSb3UBWO?hR@c9$ zrLebN6^^E`0{3>WF_AIEl}hths^j{W`l?EV@Kxz;0iFjC_=c$9Sjq4dFa{T?Z)694 z$u*G8@6H}r1TTWfDrEIl)<6i~mr&==1_=B>RKUC+sZOPDkNVyoAfT0a0UR(>;sx-4 z+2&%$2lnvPPwD(xXXotC*hDtxuLuy>u8Ry&{Yq=0YplEsB7$>OdVBh7OvSt!Z|;cH z=)o~G1rf2xKorBt8=V?Eso7mI&^)>La%Pza@vdb>J?6SXU{{e}d?K$5UfBXOd002ovPDHLkV1jnA B)-eD8 literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/white.png b/script.easymovie/resources/skins/Default/media/common/white.png new file mode 100644 index 0000000000000000000000000000000000000000..19b1fe95dd3dbb42652ca2d0c86955465fbd80dc GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9xET0uvxxrT_R9Ovcxr_#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaLR- l$J50zgyVYhkN^Me8Cd@@{kwA}@;OkP!PC{xWt~$(698%BB^Lky literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/skins/Default/media/common/white_rounded.png b/script.easymovie/resources/skins/Default/media/common/white_rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0883847bf82b7b21d79c96b5db4ee5cff73d20 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtt)4E9Ar*7p&f3U(K!JxPm;b=O z;xxt}Ma6a%k%|9g|4zMeRKAQoPx{Nf{<-_s7k>YC>vM<;>v@|_9oC4Z^f0A~{1Jy| zuibn!npxU1`Htv}nVaLnR!Aj=z5d3oT>O)>;^^)9n)ZyG3nns1;U#9>s63T&^ltQD z&KYlQH8vX>{ZD2}+q%pky>~a0w&mm0))}f{H~;;-seJg)-DfN}|5)VIv%Xjf^Z None: + """Simple logging wrapper.""" + xbmc.log(f"[EasyMovie.update_clone] {message}", level) + + +def _lang(string_id: int) -> str: + """Get localized string from main addon.""" + return _main_addon.getLocalizedString(string_id) + + +def _error_and_exit( + exception: Exception, + path_to_clean: Optional[str] = None, +) -> None: + """Handle errors during update.""" + _log(f"Clone update failed: {exception}", xbmc.LOGERROR) + dialog.ok(ADDON_NAME, _lang(32715) + '\n' + _lang(32708)) + if path_to_clean: + shutil.rmtree(path_to_clean, ignore_errors=True) + sys.exit() + + +def _replace_in_file(filepath: str, old: str, new: str) -> None: + """Replace string in a file.""" + with open(filepath, 'r', encoding='utf-8') as f: + content = f.read() + with open(filepath, 'w', encoding='utf-8') as f: + f.write(content.replace(old, new)) + + +def run_update( + src_path: str, + clone_path: str, + clone_id: str, + clone_name: str, +) -> None: + """Run the clone update. + + Args: + src_path: Path to main EasyMovie installation. + clone_path: Path to clone addon folder. + clone_id: Sanitized addon ID (e.g., script.easymovie.kids_movies). + clone_name: Human-readable name (e.g., "Kids Movies"). + """ + parent_version = _main_addon.getAddonInfo('version') + + # Use temp folder for atomic operation + temp_base = xbmcvfs.translatePath('special://temp/') + temp_path = os.path.join(temp_base, f'easymovie_update_{clone_id}') + + progress = xbmcgui.DialogProgress() + progress.create(ADDON_NAME, "Updating clone...") + + try: + # Clean up leftover temp + if os.path.isdir(temp_path): + shutil.rmtree(temp_path, ignore_errors=True) + + progress.update(10, "Copying addon files...") + ignore = shutil.ignore_patterns( + '.pyc', '.git*', '__pycache__', 'CVS', '.svn', + 'docs', 'tests', '.claude*', '.mcp.json', + 'CLAUDE.md', 'LOGGING.md', 'CONTRIBUTING.md', 'README.md', + 'pyrightconfig.json', '.pyflakes', '.ruff_cache', + '.pytest_cache', 'conftest.py', 'pytest.ini', + '_temp', '.worktrees', + ) + shutil.copytree(src_path, temp_path, ignore=ignore) + + progress.update(25, "Configuring clone...") + # Remove original addon.xml and settings.xml + addon_xml = os.path.join(temp_path, 'addon.xml') + os.remove(addon_xml) + os.remove(os.path.join(temp_path, 'resources', 'settings.xml')) + + # Move clone templates into place + shutil.move( + os.path.join(temp_path, 'resources', 'addon_clone.xml'), + addon_xml, + ) + shutil.move( + os.path.join(temp_path, 'resources', 'settings_clone.xml'), + os.path.join(temp_path, 'resources', 'settings.xml'), + ) + + # Remove clone-only files (clones don't run background services) + for remove_file in [ + 'resources/clone.py', 'resources/update_clone.py', 'service.py', + ]: + path = os.path.join(temp_path, remove_file) + if os.path.exists(path): + os.remove(path) + + progress.update(35, "Updating addon metadata...") + # Parse and update addon.xml + tree = ET.parse(addon_xml) + root = tree.getroot() + root.set('id', clone_id) + root.set('name', clone_name) + root.set('version', parent_version) + summary_elem = tree.find('.//summary') + if summary_elem is not None: + summary_elem.text = clone_name + tree.write(addon_xml, encoding='unicode', xml_declaration=True) + + progress.update(45, "Updating settings...") + settings_file = os.path.join(temp_path, 'resources', 'settings.xml') + _replace_in_file(settings_file, 'script.easymovie', clone_id) + + progress.update(55, "Updating language files...") + language_dir = os.path.join(temp_path, 'resources', 'language') + for lang_folder in os.listdir(language_dir): + strings_file = os.path.join(language_dir, lang_folder, 'strings.po') + if os.path.isfile(strings_file): + with open(strings_file, 'r', encoding='utf-8') as f: + content = f.read() + content = content.replace( + '# Addon Name: EasyMovie', f'# Addon Name: {clone_name}' + ) + content = content.replace( + '# Addon id: script.easymovie', f'# Addon id: {clone_id}' + ) + with open(strings_file, 'w', encoding='utf-8') as f: + f.write(content) + + progress.update(65, "Updating scripts...") + # Rewrite default.py + default_py = os.path.join(temp_path, 'default.py') + with open(default_py, 'w', encoding='utf-8') as f: + f.write( + '"""EasyMovie clone entry point."""\n' + 'from resources.lib.ui.main import main, _handle_entry_args\n' + '\n' + 'try:\n' + f' if not _handle_entry_args("{clone_id}"):\n' + f' main(addon_id="{clone_id}")\n' + 'except SystemExit:\n' + ' pass\n' + 'except Exception:\n' + ' try:\n' + ' from resources.lib.utils import get_logger\n' + " log = get_logger('default')\n" + ' log.exception("Unhandled error in EasyMovie clone",' + ' event="launch.crash")\n' + ' except Exception:\n' + ' import traceback\n' + ' import xbmc\n' + ' xbmc.log(\n' + ' f"[EasyMovie] Unhandled error:' + ' {traceback.format_exc()}",\n' + ' xbmc.LOGERROR,\n' + ' )\n' + ) + + # Update selector.py + selector_py = os.path.join(temp_path, 'resources', 'selector.py') + if os.path.isfile(selector_py): + _replace_in_file(selector_py, 'script.easymovie', clone_id) + + progress.update(75, "Updating skins...") + skin_dir = os.path.join( + temp_path, 'resources', 'skins', 'Default', '1080i' + ) + for filename in os.listdir(skin_dir): + if filename.endswith('.xml'): + skin_file = os.path.join(skin_dir, filename) + _replace_in_file( + skin_file, + '$ADDON[script.easymovie ', + f'$ADDON[{clone_id} ', + ) + + # Restore custom icon if user had one + custom_icon = xbmcvfs.translatePath( + f'special://profile/addon_data/{clone_id}/custom_icon.png' + ) + if os.path.isfile(custom_icon): + shutil.copy2(custom_icon, os.path.join(temp_path, 'icon.png')) + _log(f"Restored custom icon for {clone_id}") + + progress.update(85, "Installing updated clone...") + # Remove old clone, move new one into place + if os.path.isdir(clone_path): + shutil.rmtree(clone_path) + shutil.move(temp_path, clone_path) + + except Exception as e: + if os.path.isdir(temp_path): + shutil.rmtree(temp_path, ignore_errors=True) + progress.close() + _error_and_exit(e, clone_path) + + # Register with Kodi + try: + progress.update(90, "Registering with Kodi...") + xbmc.executebuiltin('UpdateLocalAddons') + xbmc.sleep(3000) + + progress.update(95, "Enabling clone...") + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Addons.SetAddonEnabled",' + f'"id":1,"params":{{"addonid":"{clone_id}","enabled":false}}}}' + ) + xbmc.sleep(1000) + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Addons.SetAddonEnabled",' + f'"id":1,"params":{{"addonid":"{clone_id}","enabled":true}}}}' + ) + except Exception: + _log(f"Addon re-registration failed: {clone_id}", xbmc.LOGWARNING) + + # Set flag to prevent update loop (Kodi cache may still report old version) + progress.update(95, "Finalizing...") + xbmcgui.Window(10000).setProperty( + f'EasyMovie.UpdateComplete.{clone_id}', parent_version + ) + _log(f"Set update complete flag: {clone_id} -> {parent_version}") + + progress.update(100, "Complete!") + xbmc.sleep(500) + progress.close() + + dialog.ok(ADDON_NAME, _lang(32713) + '\n' + _lang(32714)) + + +if __name__ == "__main__": + _src_path = sys.argv[1] + _clone_path = sys.argv[2] + _clone_id = sys.argv[3] + _clone_name = sys.argv[4] + + _log(f"Clone update started: {_clone_name}") + run_update(_src_path, _clone_path, _clone_id, _clone_name) + _log(f"Clone update completed: {_clone_name} -> " + f"{_main_addon.getAddonInfo('version')}") diff --git a/script.easymovie/service.py b/script.easymovie/service.py new file mode 100644 index 0000000000..feb05a0b68 --- /dev/null +++ b/script.easymovie/service.py @@ -0,0 +1,5 @@ +"""EasyMovie Background Service Entry Point.""" + +if __name__ == "__main__": + from resources.lib.service.main import main + main()

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 literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/icons/icon-nightfall.png b/script.easymovie/resources/icons/icon-nightfall.png new file mode 100644 index 0000000000000000000000000000000000000000..58c6b0533fa052362217ffa54931f6249d804884 GIT binary patch literal 153716 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 VJ67%Sw*54agWc8h<>$QP{{!JIvI+nI literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/icons/icon-ultraviolet.png b/script.easymovie/resources/icons/icon-ultraviolet.png new file mode 100644 index 0000000000000000000000000000000000000000..10f40ac87a3219aa23aab12846408d859a4892da GIT binary patch literal 154186 zcmeEs@1a z0E)6wTHZ^?zdpozd~l<q?_YxVmVj?-ar~t7}tL>ggb2ZC?shNSO{{;kGRL8cgFWa>mlpgq)%fgfc?MuQ`tu#3b*#_ zL(bKK(O``Tz^ZYu{onW<{a-9^Uc-i6#@N3ZU!oyiLT#z#2e z#ftp1(1X-m)?aBKKGf~0PGz4Bo^{fSm7M0 zq*sNIU_l_@530KO>cR2BP|hkZ*vgjzOS*2Tt+p2XSNO!ULf9=ie`i!?gzlF4y{G?v z)r)_i)7_ZbYrp^Pf^0ThNl6Q$ujNpl79=B0IQ9)0YSgH+x z<(cm64S3fxanfXh`&n$$V8wG(p8Ot{ijN*!90C2DG#SUc4*(f=fBqsAaC4P*JTLrE zq;_1crMcg))qC-<6)xBg7S6&z^MO0V#xw&{T>Tr5S=6Ub#t}dA9oMjl#-ynZc zQFW^%K8+H!I)m~`ml1r=*eN*57|LQ?a`6ECxFOPjX%y%wjP31d|3m->84!83NDTCP zT>8stBLBq-<+P$Ee<$N$G_5UN6)*qP2(^x?<2-@ZzXEVW02ewRjJK9?4S=rcZKx>m zomY8Ws~M?AKI6*&=Dhpz+)Esu4xlOvjTfnW{E~{ECK`GvRtJ!BJ(uT2aAv^vMpAp} z8Gkb#fO~K$jeMDH|bX8a!PjNaGg_OC!B5BBg0Jq0sF4%Z&QCYUmlhYrdbdqzqle0;#@P& zUTfxD+GYlKK>pB@FVS}H6(a-&7j0^$lD9>bKCGlet1^SznL-IMjb!0+Qqz})i|`l#mo;$d^25tCI)Qt zZFCP{UBnIMr#JgMk%R4R#*Mn13*STnZ(AK;(;bI4001NSjaFTP8BjnDjk}F1cYUns zke1T2780)b|GB@2@lgL$*}gy&YdB_Q+$Je0JR1 zUIIjuZc#q)7YN@c!GQ^1?5XNUahcTKDy3j}2#}84H=Z46>|?VGXPmf*pM@kKQrUIW zlIf)i4*l>K0ruw{rpbWimzU7seKLkup={yY9n%TV+A^WJ^aN$`E${tAP1J*^VZ<^U zuQl|DwG&%`UyZESoHa5%YHk#J!Vh29!B_4Nh#S`c|G(}g?!y=4L&E13^YLnkWd2Rb zrU#=V_C;~WJAykl+%KzB2b^H|BL~=zB-m95gb@)iAn;If1udGZ(|m|In+{@l`DR=6 z1`nT*6NC)Z3yHG8%%R8%_>!*~IQV@MA#g8t>UXlpygXRjS9azVv{~SzNp|82ct7!w zNU5K25sr;=dj4s`P$pm~NyfixVsAR38x;_4B3=aB`+RrT;P*=a5lOJ?N0Al6O;O>EIYO_h0UQ2%Q00d*Ca7=#c6a2~MBEw>1mpfw z@b=T+Xtn)=7ldM5XXPmAfLmR3^~~kNr)Mn`KkM8z(Np8RWK?j#+9X~Rt$5~ypM&+L z5Bb9Yzw?_3*M zm;D3Aq#UA!D2^_o7_C)e_kMK0!rT9((0!f-tlil6BRC7*6~2 zy3}waV38Xc5Xo_%Y#i$VbQ^j9>}szT45wy<<_!;US$ROnJin{InpgcL_rmZp4#HMe zyeND7{6bmoh*NAp@fr0?O!*nx+&uH-sf==f@1MW9r&y{VY5h?Fm-re(UxZfNwcQVV zfQYj-dj%isy0Cr_|MnH68jt~_B>e~KP&@*Vfb$tCyL9Hj%9%!7QW+}0V`$24d=5k^Rs$J(z@!ll9^04~=%V&Bl;f5}=3VBRRdL<) zbK5v)Vps6vmxo+MQwRVC17Xl0QVp&X41B&0PQ;xQ`J(ryNA=;m7YvUSe&PyzeHqdo zPa4wn8g`WooY*tS@6tMFi`*(g;LqFnbDs$H!-#kVUXb`sP3+0%F33!tRY>lph{%q{ zi|03Hpg-SN5B@?3ba--7FL{Hb1$_6MIe6*)JMior3Zjif9mU~F$$?VK%4X=*Rlw2G z%*E5+Oyqo}hCvLl|Ad`z67_U2`V7X+yd3HHuRPdCz?IU@)MndP8W@}!B0oq9;eKdt_dEMv}GOZ>1nEumP$Rge<0&SkzDHm zj0Asp^|0Y;WVbT$u)jwJ;>e;~)4nnEDwqmT#YNJYQo*x9s2FAt@q#0n_FT{ri_anz z;v%-6$`nW2(m$oL{#Z>l&v$#q0>3?`O7;)mH38t;=uD%h1&a;fZU5eNi7?xxwM;HzWHQGjH@eW4O@6x_3k1 z3wYp`3ArVhzbBK?yq=tMA}C=Mc|5kRSK<-e{nWD<)RJF2QQ8#&w&=QQTq1Y5^a}&0 zpIO9a>>l0nUr}&BK9byK>@MRG;nj#|Qh2lE-yVpDDBnk|rNs?Q`CrO>A&Xt{Bc~Xw z7WF<+1yG&fT!hl28(Z@dIzm!tgR(WR5aV=&5emV9$h`;dbP#6tr{iagq^&(5s1X_N za1Iwi*-iNa_DADa@A88@-@OtMvI6V7`Rl-%J9})?*i<&jG2|3n01uNMH~pcZ3#4m)MnndZVGJtC zQQ>B2F6Cz=`Ne-1etRa6mjuM6utrYpiAiakq5@zS`)}e?lpbRyIexCMxF_i|(8M=1 zrh43qO?cQ85eRdypB4*CfCE`BN=Z-zM%JOhmzAb8t%Hy)P@76yca z!%ub&V}|iYRI^h;Od&}=-qCEZB3{6N!K>D@f77Y+%pJ1z$#cwB3lbu>e#U#^0yw}s zIO_6+Am(THH5j?+iqUVFX@?@FSECPHNS{|H)A)jc>ylTf6xq*ai^ojjdSVXA{?a%oa+>t(H#Ui<76}M=DTu;xzV>0%QQN znVw~ixYO>j9_-o6|L7aIw8tM|7t-T_up9Z}fh5=a>O#MOXN(UoqGp&Vu3;^alcC-8l^_99 zy(6wMTLcKz%KmguUL*%{j%I_=v_+l`qGAaTW5{UWS04MN017PQV%g){A=^uaS%W?_nqNj(FR)| z#w6xhyVtLBtT92I@BS_1{*;3>9QbuMrk^`4{8J%*Fh&n@2hkZ!Pa0T3Kax~6>_}!B ziSrCsv`T{*-bgrJ{MoUdR5p&QUuo`yU6w1h`JCHaw+D&N*rt zG0zXRbD!{so7Qxm)h8d>abpsha^*tEK8>1j zPN*RA5+vs9!2tB}PGJb9(yosV@Jb_6%6Y%i5Htqh6!ihz!z5~^w4ou|%p3G}@bSX{ zvTv`p>STJ?yMpX~!oQ$yuY_|8m%>%X*@87nY<%8lClebT(4&D1^85#C|3|}Dx>#3A zeR)y~gJSW~j6E@H*9O}}3YaMw<~*SMIR|d^3L^x(k@ZuADvTIW)mCh$02M~YpnOFk zdvHcO5Y}2|&*kn5+C?DY8b%*im0$nj3g`zBAZct#X4-EL0ldTnfJ^>FBT(&t?0Vf6!i6B(i#u}H4H;_!`k4e}*-*P~qH)Pur;R8(^4 z%W&i1gzqG|t~8Md`(a+l#{neVv~U~pS5iF4)rpa}L1)U9(JX2#uh(gqM3}x+3eUv?cdcNYi zIWw1zd0Zpn1~qsA^XvOd%2(vTs}X3V$=ew8YaR5>imPNTa0JzXCnhL5jH)IGwHSGk zk`-v`@)z-=WxWgXR2S=!yueT)i3cV`0tmO6ytGl;#)dX%7JUUN*sOX@%sFxdhNB!P4$xXN)nIhantdW<_ z+@XbN!J!|;*`4$&uFf`!D_3Wv_VSk!4c?wy)XPUAlZRnlq?7_oUlwng_c>%pk|_cp zf+k)@`H7RWELGZ_&vuFNXJ`xAoq|J8bNIqFwYvB^^`TO9a#XPGGaT0Yp?Uc~BCg+F z_2Gj@NmOy{vy&(GGH6tFMTpAtg52{e<;%e?PJP<8)btv`eqL)VNH{xh9{sY7Njp{@ zCyETYyPG4{~N9JceABEt6FM~@2X+ZrQ8rb4Q0tq_0XgR)&472Ybf zoMrHJ^856R_%TQh6udSEeHlI7I$vK-%;1U3#v8kSZ={5)+HF{?;H=-l)~7A%Y9Bln zwss%wzOi|uij>ohq-Qoi`yXDdqn&;3P^8;9xn-9et_f!o*g~py1r3l_6LYt#P!nRw zu+*IjaMrJ$aJ8~$;C%<8J}b z8dS+}3e)T0xMh1mxQsGgX;5vG_-I6ac&T_I6knrOfBEb6F3Yh$6YN29sL!DHmxdxi zhJz4PJw5*;zx)BU=Y6$J_x#5-T0y!^*7bXuuFISC?%6S2t_i>6J6%)r<1#FqOjoc` zszKcyit=B8gxdK9#7Erpw&EwgPi?kx)cEHchcmLC-TkO5g@H$GS7Ox6R|Wyna@!^7EZ`rp(iYL@AvHYZKTA*xpFE~^*@f3y6rtTSHg!ZI3zqspsGuB_^6HV|xQrDW#|ewFbiV6t=e?A&MKfBj z=Zha1O6T30-_9WlCD#P6lT+0-L*ok`qXRf%qZ{G{F5^1)8y3ra&{oCnD zAToGt7pdPYw1wjh*maY<9<0{+Ld@?RetwewD&_xF7K9CbdV+>PAHKZ#JqMY*Il?3x z;OORseu;)BF?m5SMz=NL`?p~knr`O*o`E6f8Vz2A#FHiT)LANdEUpZfRobJwgGNL!DbQR2{ zxclW8TIJ|JYm`|fTd?$a@DNqk`t(~m%F;%Ffwc`k4LQjY3f3YM2 zw6F;+0v7HE+39G|$Gi33!Pl>zayj*X-7+ad_etH2wz?WgCUoyjneO&KmJ%}<6UP+j zx=gLZKRNC!T^dseLQ6f$rR?fFpWekjbBH%n%oN0?`-v$gp-?Rl*wY%SHH!Pa^hq*h zY5@DA6uKU^XcP%(HpLIwEt6_s6qqyp#HyhFmS6R*#R>A=49?BXj*C*$Go0VAs21uL z;+Q7CzFfXJf~KJtAm_#KK=R3f+-q4X>|^UG-Upo8=UVmmF->|>0}UjX(M)I#sIi4# zF_F03dT=tu>K7eI_S*+*sx+_;g$@a-rABEi=E$zlY&R4b3f2ymU$hv!4*1tnDhcC) zP=Rs5p%y{ejEjlmZe$NDS#V%eDAW;7xwFuL`fzT}uXL1pjyK+ef1=c-|E**o5)5_}u*LQZIqe#U|2P;Dw_9 zZM?tW>;2vF(NEN@E74WXE_e z2X5HixFsK@#(p@grH-c9Pd@~>H<9TcxRYxYqbnqMd_;v>Cf6PRX@U%xg>i?Sc*Tra z`#B4D$&w`E6s2ov*H%rLS1FTbsUOBNEk;=xT)&p20RV!`^G3Ru#Kk)(+NY#dOjOCg z(vtKXqX|`3Gh%qP?y}kztKFNjJ^);a2}(Bz$>@Crq8{v#@GVgYlsEYibIG(Ebv1=eaxP^PSr^!apR1O!7S0;vCokXdoUf zKUzB%_~JrlNlF_OOZ*bSw6Tj%hy_s^04hp>F+6k25>)de`kNB_^=5^=ARYCVd}p7Lep|A}ex9%RZWV zRcKV{3$+N6P(dNPZIN$qtZp?PQrw-!;GW@cbz6?E%RJL}@6;cyWCCxZgjM@tE)dSNMXVtR;8`ZjiT6GT*|gL1 zg8jZr;==iFhs4_!2KN0J=Zn~LGxWuzILQ?OUK$P|QOq1T^e}QJ?I0!j@FkBPW|s!Z z($K5LaS;H5-vL&%pC-oT<=^C(?}(#bYsT1vYG+=O8@~{sm(NM^Aai=<_d=hx-U!5R z*n>LBhR$Bs>i(7m-9r0xyIz-7+S{Anh_w-{oN|g2za|}xD|&=3yZ!LRIw>A*as^BO zZ!f?m(H=Q*D_P?;S7<23(dX!%C^pYe(pN67$#nB!>>P1SWnmfR#hX6gXJ?%Z4#-dh zH#RTfx4eTmB@oW3Y5(Y*W~Q=9*Nz?8+t#onvhu~fbs-D&>p~y-!$8B0HAU?9 zZFeUv=0-+X3d@_#n4!NoxNsXIB1l!{etjSz0rEU|u9Wpdo709?Z*2b_=r zJ{2JK&&fzq(_{kIE!BoL8$Nv zh4PZ+4RLguE|HH@GI7p;8@G2c1*Z{t3tSESfq_*(9GpFue@C(Amyi$@ie-xV?TQge z=^Hm_03)XnG_b;vg?!%m){W9o<{C5gQT{Or_uB}f^)A`HWS$tz;GI3Wac66odk+iD z=j=oxI_L%EP1Aq5<$36`asBB~qVMfd@Xg(5Jy0bWKyWb-2@3Fhmg?HefT)dTh8*5| z5<=Qai{jnkjHv;i8J{wXCZS_-CS;w>It_5B=ozE0L{tg1Z_sn+SFFAVUf$Pn&KJ)6 zMU%%5k=!X5Urp_VGh59{_f()wxWf#Dhy)CBTpOXznmz9=09H69&4!%%h=2P&qp^b1 zF{fMy`e&3wm%xQHkl{cL=})RS5{wZei8$cje(Oz9{EB)6H6T#u%dNPUOSrCNitP6oR4or6YFS9DWyp))r6~IE}$Adj$KsN>^W#=14t68s8 zOV7y(d#%KCeOh7zZBwl}m<~f(_d!^vjDuSS9l+hW_dANKm+An<9fR*~!2827VDv7= zkg;!yeZAjSp?69gF|!v7>BK5IpdwNBXgsh>?j2k$S2tsDAkq z%z$8$rw(`K0aTg*LCBgL@2m0vBq)~4&6-BRq+|`Z_hiGUHiQu11kqhWHOT=nx06WS z=PqE#3WRAwhB~1CBSgmtGIMi5nJ>CfeewPQnN!x2% zPj5JFpF^-KJYPdd9D5MBkU-CEL0iyX8;KjS5{{Sopi^i+=kwv44y{T!Jk3pr9yPJB z;(-2<>9<4fxQZR7aC{%|k!ek8N|w4MpWPRf_YR{rU8`}-FR3_mKuh+1*HAOw-xvsk zXxL0dT*)#l`62il30&guWg6;hxKZ&DP5No;1Uhivm!UW|F8>zxqa)9xfcWHnAXz2J zChRC~*asfH=$UBbt-|0DBbO8^6!Ow!i(srg=88*%-0Z%F|(E zeVA0H!em^r2)7zCxn-zkdE9Zd@c+1sAeExU_!XR!!tsNvvh8726;`qgmEG{ieru{4 zK0zRcM9;^Q>hzM7c8uR_*%%{@348#J;Y6hU@}CkjxQgQ}e<~jh6|Kfg$9R+34nS(} zUnTk@UrxTSyt82E@DkCp;8M}7F~v4(SvCieb>7i`Ah1BxN3c;jB5b8k-#tS>Q1v|_ z#fW@=M1K&C0>@2i2Mj zZe49`&D)ybzuH!NSj}q5O4tDxSg$y>cP0ZZLCaW>$n&|rmJP%8C)MYEqF1lfhfksg zD#=`X9MJ~RVOcURVSoNy>ckoSEjxkNt2kgTHGip1J(z8OQQCq+zV4(*L}djXKfQ)( zT-jJZk50S@-lwkLlSaRcd<`{qYp5xPI%+n4)36!Ea>X^{Q7i}}=0;Yu8u@{?X}!r) zUtYkmDNUoS`WfPW5bz82+^nA~w!}S{G%1OVLla5e0NzNe#>DOF8(bfdL1|mOl6fgD zx+jJM$$-1tew%`8j92eb69XN251&!$&Xlt%yvoja=$uOK9vc_HD)uzMQu;w0m6gX- z3CX~oTO~Q+v~`B|id)!TbJ&Q7@4=X~+OLSXW}MM#ib@J~V$hf68^AN*zzM?~CX9j! zcjb?5NnyGI;4QV^e=%Aj{-u_kWt9?(LTjE^hEJc==aIpMPTP;})j1&ga2N~3;O)8= z$o9loPf7a9tW0DbewQqpSUIL9Q3Xke2eHu^X^<+9N=l|yEd_`viQ*XED=3M4O7$_{ zE+yMCasw+m3{WAOXzb6GdbBqqix*R~gt{-FJFR|`s$?s@#^>wFZ*vTFFvK`om$zP7 zSuxE@Mt;9L?Gl->*S0z$`Tn-~G^&%~m|d!w%OV$B?_PW9t0tNF&L@+W$h?&yLYD^|T{Is>U{5ZPt!4fnN+_yA#j|kobK%5mgasQ2 zbN2uH28bXI+KqVQ#m4#f3+vx!dB^WnH1Jh72ra?*ZTkph2?|%48fK#EO}YHUg&2Lg zgd~V)SNEIyb)oSm90dk)g<@_|Cg3xg6ib=Wr72~RFba?Jf3~RT>+IPR)`;Jm3G_Ps z0_*L1D+Kx$>EGxQB>M@VjuH+udih_w?1ykH&8b+|YL~9Bj%=P_nRa8`#3e~LF!X=Sj zj+EQf0o9a!csB=VV(FmeM+`FZ#{-X#n+SRqgko#|3=j%9Zf#LzOU9Kkg0|{W3gKpe zfo;Uw2pRp`Y9;DoNJ1^#q4A~keNQ_^b;5EM6T{1kSEFKaP7mA~3L>Q`N`&hQ9e|fn zW7!Nkuq}pcVJ2l7r99b{F=;uSeQ{+ubl6U18XcMOqa6bbw5W#vpsIx(aIT>` zEeu=%nx<~)6woSJPb?OXX5{KRm8fbFb96@Lz%e6{u-|LZtm1!92k38xg3Obn`0$gG zXe;$}$1%P0=NMWYSuIO{7D=TF9j*;IZb&x$DfqafP}%)~xsim9Ukr1sy+S{<36q0^ z({$sJvDdOk1jOURExy8oknrRhL9U%TtJY=Ry*OZa@f4BWy6+|dDg zA3#PbW+h*hUB=B_5c*x&9udYtAbqm5Y6twz&HY3C&uwF2a^{E{ucka9F3JAvY|OI8 zv|~9GqZK+9Kmj$O(Fs&kG%a-%<{CZ2#r*PE=c#f@3=@O)C8Ooxi70o~LR1aL!Pcsz zCMT_}((etmD0V6E1=`hd$_b;BA7jxiR4RkM0xj4DmK}Xejg5?HyyMNt%&NbVhRbRE z{K=NI4|I`9q|(7TpvhHHD*Aphv4@QPDd3*EwyqXYp+uOOm&+l%slprU-S1kXc-1E$y*E^cQxx z!)dBRto*VHD0P1Mb(%h3!Ha5_O;ifWPC-L^ygHaY|E`dm*RTVG@z!I(SJ}&?$`KVi zMO=cmhU6F0+ZlWM8XMfOiLQjchUDlU4N%@}GI-=+-}kk6j1SA$xI;pA3_h=hTJ>;4 zIy>`pwK%$&PP5!oR6T5kmcTzN)H($zZMAI-v{`jgw!;Fcx>H^`>>YHMuE$Z#4%~r@4F(nrRXm zqLs^e>`)0X{m{xc3nH8}%VqSvYzh zB@lsxc`S`ENiz{&tP2ZWk2q21Ez9{+40T8^DCDMHi!{%(`1&!@ z3vf*`gRw;=EvyDDRf3q`%f_82b51}=9S-*Of2Si9^%_nHOuDiE9ScaL zOMvG$A#aFP-H)Hzxv>Y0)%?K5fmuGYTRaX9j`!1{%gVO2J0lw#AG|`{1>)GM-M=YW zyE`Vr{?xmw*oIpqaD?%@Ou#p#a%#LUjcxk0tDMMPTL?B56$~Rpq!OcD{1J5?Fxm2X z$(3}#_zqxEZutcR__7*uk{hws-d1eec4GQ7L3_8|ak9U5%#@cM@dd3Q~ zmr)^v#NA7uh_vD487NgYdyKnl0FdJq;mFRgJ~E5Wn2}kt&Rx&cw3YgPrdWP?ibP$s#NsD znUhhvM7B%|fS$~|Nrz`eE}~^7kYLk$0N9pDJ)PSNoW7}&h68M-XsZTePSsIn=mCAt zgp+8yA9;}55NPEKb5KUh&qy5ubmpZ?@JoIK6}gpll&hgZ`rPA#*gvsj~Q4$`G8`56*Xwh7(i`!873%AYN;<@lRAm{KI&3Ag@lg~qW{t?}5)kmU=P$%{W#jS^w`29a zCJFln3)X4W3Rz=wl!(q!&kiW`F6n^wZ>=n9VM^>^qM5cVj56@0<$MHs!MkGl9PwGz%#}RD{EyxKhoy+Ril0?jWTcZdKbMBiA$qiF?O6E!)6VK zHe)JLz9Eq)q>`zVCPHr~{9!FL)g|)!o{=l0R28eH?PDdP<2yY~dqjRrqegq)Bxc0? zqJT}-=!p z7Qmj*_0X>H^)o5-)-gRo=?qQ8(>;XJ6%49|u|Q}u9$@Hg?H_!)f z%u$9+bA+id1zot&KrwW_T}ZGIxP%5GkYA>tC6o{SDQJ``yz3K^ zzbE@A`4{bt?Gxg?o^W&q&T}j_!n3HLsySi(usls4177JX%2cw}4mkC?nZhgOZ4K}) zgr9%{F7~*2j*uKpqi4ZwQA4;0$DF33)G1c)4!El=QchTa8vJe}iiS4lYabesbUM>_ z08npCn)DpEl?G!s&AKxa;ehg7r9FhMA(w8 zUyw0#BN0d2CM6EMGObq4xEq>sB84~nLrUS$4?cE1bp&?i%s2-;P;Oekc}iJn0iD{` zdGTI&SX5%#J>4q2@(7Xzl7zzh`sk6iO0Ot zzUn2Wt*g7Fn3BzuHupH$mJE{nstojx@xMQ~L{Mtd2!aus%ah7gtyH zWQBIwvDqP;KIyc$y=9O{zB>7F z*zoenjLa&4Tr`%={RK&Wv#aw{ zlZ`ZjCp1-`vUHM7zBFE_4$RH{RBRs6{rBHZCR>rB#hdhFbOqvpvb|0}_Xhd0?t{X) z=1aYbbHM8+z>N|~EE+c0AmQG_x}jZ~s8lwDq8k*s{yfE*w)L9cbv2;w>#1OKv46?~ z(MdOoTbq=SSR#F8`vhnze`1lZo#MB|$CAu1s1R&c0^)UT@k(f|UFARDP6+tLSr?Lg zdgo{gBBD_sMk~Djo!gip-MejLR>jHyZMqrbwv~47$6(0AooXrEW(Xm8A1zR&8Jy(+ z6IC-+{PaX)noPlEU+qF-uxMmYo<7med&q{) zZtx{76TVv3kEI=Jj85E%rq;8qh>4ixn`iWorc=IrgU26=Ky%~6n$%VxKv3|z&mV=O z`4&ryMTcVgDwf2iPlNB^Nry&}ixi^T#q5^WLu?{yn1)ZBoy@=?a;zFZ2YUch0k{nA zU07D8DT>)?L@*0;W=b*C{OIB1pCraH%PaleG~p*V zWi!z`Cfte^{Z=?2TX$5nV%g@6YFEr47Ha`_t$&T8z~VXi9%7D*V?pTUox1-E|5cJ5 zt01#Vy^WLIITWZ=B!$GQ{GMKI=iwdjPiLGCb%J4Hamni&jiJW90=4<4JzLZ%E7gdc zqD1w+rs`GR?g%Q+z`xlF6~XR*=!gbMvcc4qy@iY4?c0`%^KmkNKz|WTS)BZ|8xE!wxFyh5$%<55^(7PhQ<1-6x2Od@#F z_A*jn=%?K5oQ}b2=#Bc0wsJ2M^{l3G6eV_SiN}uR~KUYHTb$YCz;pe%im@a z-A@%v>AN1@u~DD$H4nPW(6y;26p3TE+ZbaCHy0xD*t>taq(on7K?K}2Vim`k!# zzM}BNON@ZI@;R#sW|K(67_;j2&gK&h{J16yBU>4j27$i$q|btqTF^NK9~iwSV+P}E zNq##GklMR=HzS4rXWHq0@^H5rB)FTX>mF;^)&DX7iD+X5*>$eykD`@jYEX((Jz-%> z&w9oKW*fV>aMQ~L9qfq(K_v$MJF^~zqAh6u7N*txxXmc8Yw*@}+nw&>hfOSBVZoq* z$0-*$=Sz*p@{b0%={JZL3O;Ylz!JmuDT4+-dO%Lx< zE1yM&tmpVlrZ(f7<8_w;2LF}zgaY0yQ?rlSBQa+Dg?KA+w^`nL?>{Vct3KX0OxI~v z>nVzHwgTJB+KUC3$AgpN*o5!3X!WJ5oX5bG-r5HIAL0e(Bjm~&J)iW4@R{8TzlS5X zk$oK=18cK+V{qRy8=u;P6Gnfs-Rk%U6|Nv!aA2)=V#1A-tj_RaRP13~OzoqM3E10vEqZJpCUp z6Kct@Qk7pD)jUvV-?JdT$bK_zT1p=f4Rmo zN`ib{e$HJge6K5Kz?>_?nUc`U+V5do|vN~-9jCbWXZux0ia>q|&<=}`E zF0`X-$mG+FTdN7P`;a;Juoo^{!mB+pR@h{$^ujCf>D^~JLESt=qH{e17NPf9U&S0T zL>b8gS{66F@^F~AldlZ8dtK5ta=N+n?l-u7;)M`lOHDYSP{{*fUL{$hPBc{jAt_%`ETRywTBJ!-@fU7JBLXhMBS?ug3s;6^IM(jX zj*O|q0)4G#g7-E;3^PK8ITT0Z$lbN6%`%l2SzV1Orm{I3|H;^1Xn#r?xm>YF@(X_| z8<{J?J04_=AvqyboviyROh7Ybb#LjlIOpXV5s^seQ&TIgf-PQD)EAczi9 zYe)4bN%)_5dyyC`#LgpzWAgBLmZnQ!GXEK8e-MgMZA+aRn2!~>i3=l-eG>sfPR8ss zuZl}6*$t5~fE_0tJ1@0PPF;|=1I*BXV@aQY4OS{6gRE>F94=M zS-jz|M2(AlDOQxTXYVZXx;z_t9^FBrXF~X8TQJ!Qf>B_>EmC0~mf{%&; z9BU-Zk-;{C2b7dhn-b)es7j1!bF{Khj5VM@B~or?ZmWp8j!QL#m{g=crI)xymAX}m zN}8z#S`}CrYv4IzDXE+MLM)3qZ;tsyrmQ$4FA)F+@ZG zC^0as3@G7dpU+NR%Vu_Aok3 z*9Xjjv7cw$T;C#w831E*F<^8Gx%wrdBD2ai&I6TET^> zDDklZiA1gFRONc0lqi-$KfD}oRmNSbnF^+=71lboq)nv@DT$RyE2bhTvTD_(BLuBw z>tYn0h0&$pB*cIr^~4o*JuqXMr!t{%o+d;aV697QRb_axjBhQCWPu@J>SyvAw`H>2 z%`-TMX`YTTBo>+qEs?MR`emq87T&27Ep>FwY7%D_=&3i4Rp775f13D9N17}(FNtw+ zae>WdTjsvxQqDZjrORucGq5t{y`6KSl$vx#s!Xz3wEwjrM2k!1=VzL3%C#GYOL5|) z%8kMUNCN|!$T|@LaW4^&76QwsY66{@0ics#(-HvNj6l;NKrL5bGwjMcO@5!!E`}Q2 z?3@*g($Y3KTLe!$C)u8)9)>cduCzDBh%ikc=im&%OIkfgSP9W(0h_vrg4Cs*BN(y> z9GaFg&4?uch~X$|E+qrR=Jk0jaa>j=bIn%N#j=tg6E|Z)fz(3|V_=;{EE21A5K%+S zK}{C|B*>R^;4BE3%5ai&{Y3+g3G5?+(h-P-fxTcJH+%%C)lxfaU7v>rd9}AOw?Ubj zwv-iSoGF`Jp2P-Ga7@I?D5E-)_)}2;%Tlp1t3FZ%t-L1lqO37)CRW9aKngkoUq^Tn~8Q=qajDPMU!8^s8&FnrWxDKrV9S#vI@0nM%+oQz0Z^ISf|D)1sMNS5wN_nN+?|4oYg~hH7i53PfT|QwgoL*qQqcM)}28u zk%7wiUm{9EfNJ)M&bH`wYK9(DtlG=fcy*nv)1@3u`Z-&bX0Op%TU7yv6QzK0IJRdz>AR8HxDdlNJX1BCBsR>~mJe&bS zOtsDs)f6yI5*OCH5yF)Z0oEBrUniT(P6^#tAECe}TQiPTuDKFBjccmvY-lO*DKg0?k4nu1%BrbEU{j-* z92J-CPS1dstb!W{;bbr@2$zv@eS4G6Da16IR-~l;Ji`!h@F}9+Y#f|PQz=sxBV`T- zOL%dy!)7-k-grbxIuwU_UrQy@gI-&_Vq59~wDr^OiN$om|?!+`j zjcH95&EPn5Oi1%rRHVtPF}2*Z6y}KExg^CKBw}QhDRQz7qO`V#7|UR?5Ts?$2Vg@D zX;8PT>Ujj&IpL^GW(@-vt7LT( z*l-y$D%iB%wU?B6VVr_6Q0aKx$WlBFs=sC}+2K`q*;o*BI>3|_$;4z)3dUdzeDJVNO&L^#Kp-|O-z+>) zG=s`8m8g``B*iR1BW>6zax+@#$z*+Y-?YU*oPt#&f`dp_>am=4bg}`CER@v#5@0Oa zl$`2aPQz)c5*CCIMNA7~2FesPLd)S<_U#t}TIpXxah_>7Moad~(?j*9E)6{Z1vv}` z8#NM`0FD9HB)MQ8yowB~4mwjF8y(9mfRe=EDE0re;f8s};bspG5r%=Cv52!rUOgjA0mLQ};L=CSY)d@$2UahJbh8eg_l-I0Tr@P~@KdenP9q7)w&c4E7#X4&lTo zPDHBV8~E8vZMF8uXJ=Q|4*|1u0$jYf0K=B)fr$kfOPeGXS^!2=-!wmErG2loA4@;tBC!|~5Ff2As%@qJpK3&_BS~JRl&K-9HZ|;08cU_RdG_ECN~Ih83vcGtEBsbXneTAVcd*rPf+TTq@7rO?!5P-5(;QAu$*41X{fZw9?+_v{)l5g(sNI% zM!eLWlh@reRRBBRl)%YtJe$(6on=G1R5q!~6S>0l`I>6}d(?oGdIcG|3l_~ed)gzN|Bgd~&P zc}j6DQboE~I>uHwC2LFvpG0SjDJ>->>rH6}c!+7!3o-;JYR-b_%a``OxbAtc>RxLZ z&t?uh7$JJ8G1va#yvbEP^GeEL(R9z94W)&vIC2)}oYx39=)ELhqqNKrDIupLa}MP9 zCH2ZF;xg7?gv0E8NzX@PK*nM)B-8bLfoRq`5q7B)5v{XAj8f|}N0h8HCk%29yUR<& z*<Xfv zZ_{SYoW_O5S~jwS1&yu&X}T+_fUeAh~X6DjM&m7_B8BU13%nU=Ve#Sf}!7&nLx%CVMB@jhb#~=g( zk!W|w^AVX!OR%3)>e>whj7#V24|(WQ26QNs0&fooY}ko-QcRM+?w!Eb_1A*D;TG2HFgO@^x){`BDrDM_6}CN}A|sQ1^TQ zfbMTUsBH?=j4@rF&`Qn_z&Kv062L9A2hf8`G7_@R!p{-T4XJO{5NwQyhF}6fCb5Zg z%ZGM^F*3+H_z)2|)LW|3zEtYurpk&+i;p8#14AaC~=HnV`Y*T z)xkW5;LMm(d)|xwLRtrwvp|wBgGU1DU>V98n_Ol>Ri7;9m4q1(MUS4W!FIR9&FxJR zY8i&aRUu#)EN*Y-l)4QOZcL+t^WYZ_GuSh**?}Vvrx{l6PUc|ffkc@CPkL++<@=r$ zFf#)=;P&04n@wES(|6Q%YY$0&mHY#(3+$Sw;G*tp6%{ z!)1>m&7aEp1(HQ5S(C^O0kHZ!-37pl8vWWSGjQkNGcD=PjqKJ^u!$En|2EU0_b>y% z8Iv-DF=9HX48XWsIdonn&X4#|EXj~qUX-)b0guZ7EIR|}PL$A67tHab2?5wR#Q~UZ zF#B2Bk(5}A&Mq)uoq@A1rO`R2erzYTCNJqbnSJoU+>#R@`*w&7KOa=hE@Ha6lG?Q?0Oa;|4{++AXUeJWRM@r1 z>3ClpGnZN%HTvw}M1u3FUrF`X*Hn540rNDcjg-?yl7}M25F5p+oJldprt!+o3iCZ7 zd7a*52FRIaHE7mqGv9l`s!bawm7aD`Qnt%&o|)6Yl0Jr%P;%QIa}*JrEMSw_#~w~H zMkHMmQ55q?v(n`=%e?n2urqrcuC8H<4uD7C0Bc5UcN-iI`$P=PjjUv0EMRCthy*7a zPB=^nXc>S*gq4kg8G!dNoHI;N8Wza`=9%rLHmOU^JlEy(_)xt!}}&H%I{Flvt2SOd%{ zJ-yv-Yneu6r5Y{|jt!8}Qw!085N_KDy*S6h43}#iy@wajRe}8xaxqU;W~BrS>}&uZEI6R+(b^87@oQ59#}H}Ta{u) zJ1&V;j;RF%byBQi?sIJTANqahXsch#C*Z~F755b&ZZZIy;l-W4y0!u?vjPvb0zR$| za54Z`O8#P*=3g)w*98F0Sfxevqs;)^9Ii0?03a078LPT(8AM~!Ldh)=xlO}3i&@mU zav)KA!qeE{NR=I*0Y)hm2(zA`1U_U4yN?kNXSdmG8_q!C4lo)rT&aEM5~N9}J>+zH zWK6j=#|UZ98gNXCb1b7@K~&ne3eic`G@DhS2z_>Nh=)-0{2M|EGyF8A^dU0>Gsa;k zqc6Rm(={^$XNIE6#y$#TITTSQ0*i)ys{mHgzYWKrrWY#t1y;uM7wm&s+8tc)#=Wy~{W6)%aD@_Ym|jBsI3L)EzRHYmHh84R{>y+}U9AF#i^ z!t7HjIIGZdOlj6QIv5~L0F;u{Fbp81)T{9`HkTI|HY38#zRn?++HX29O5#Iho(%&W zQcfhQVOYW{O(eP0H8LG$%#$ymG(=XN4z*>LRq9iVBY|R)KBWlD5flLS9(H!HE@gnS zv~g)KRauMH<+h--lG}qXTl2ArN#??};gtmP)^`&P%PgGqwX%T2; z&d33lZL>ee5TsgT3we!1pFen?$apf71Vr%Un~}CG8~~FC2x)@piiJ*%*b=Mj99i!H zB>UrHGN=G{BOH@jfZ?@5qZ$s?>PsAR(o1Qcwo`zX6E5{i)w45jcdOrVZh>mVlPQEj z*3mra62Qf(D2^4&e;H&`bKUgFXI^9>&LIZAJO=pRvfp??$dRMeQ3(_xjI)XO7o&6lq~nbRO>+?~ihj!bIS} zu+r&JB~4R_gk@%fHH3MZ({=S8ah?+ib)J)uOz;xq#6$p;>v1?t7+g|%3_f5!Owy46 z#5pNXmQk$;aIt2@bCH{JOP35UDr;00UzjIM`+!+MrgZyBW4bA#3}w`78Jo)G{uf6K zV1`MIa!MJDFh`g`Fg{}3Y+$StiNre2Ry$lBu@SW`cQK}D)>)gtJ}+lE)HbLBj#$N8 zY6DjozjO|*L|vf31?fRH>#aSg7B*xskZLWM{frN3m4n+d7j-fJLjK zW>_@HSjMlscvf<`DNhPy&io6}7~z-%#n_aQzvJLads~utmJ)D z{qe6k;@|K0I2rqBpf3aI^~>K~v4S|}0~QvU!{Au0qaLIr_9 zf~ulwX<86%AcZ0|_g-twIR}4?G3Oj}?S0O<-^1Zb_Wka? zXP>hlYt1pnZ~PwUd;qp}*ri@eP|_>0BLAIH1-udB-y3KE=#<>IHuX8_zRtt`RyeRm z0H*oYB!>}Fk&);P;oy|j?{xRsWIvLL9xHdi1`joPRAYbp640W>m(&2K?Co3$$?#5# zZwBRzS!HJ1!jLZUF~%9NJh^5vqsNPv!(o{h#Ka)V)f$&{_gxCF^Ms^Oq!TqcoQAAq zsTbnHE`#WxsBd#w0N?jzdkaD`q_z z!oCOk03YrwMY(1}IOhbRK-*6z-Nn1=b<;OCMQ^M-5rJik*4g=LzLScNIteqEO_+&f zy|WS-TXB%^B2+(b@*b|_HpGaq+aWFySI<9>6r~Y}hZ`U@cgMr=D3;1G!8^hj0+y5! z=LO?tgbOl-rFlUlkr@UeVDP{)BRzd;<-&3wKp5ZcU|=A(LpH{Qu1S0aB`5(kA^3`54cm>NKxxtM>pF>9 zbuMLbi7erkw-oN`a}ST#a8+RZaEtbSFi>$>qtcZFr@Sa21}nB;w8}=VTAh zXSo5L3u#>|$oH0eX2CE7@GzWk1566ciTmJMCRo-CnIr&?RN8(*0(^$_Ub@ffcSQp1 zMbvM&0if4~0oX8$69MBL-#+*e-iZz~rbYeGUAuWYB8Q}A6|2(HDU`yUAZ~TU?a(L@ zm8EknH)>AVgxe^DreQB26DXvN_L#Z%+(&P0!Pzo>bM4R@VYy9UF~(+KQzcO?S~X`D z{jNf2uEJ}%tpl|XrkJXAajud>s=Ms+8ikZ1(l`|NK8WllrG#-if{2k8Bh1D3JVkhxYeD3pfa6?0 zbHKql*+Ul6Wl?byM=z)Gqcsa1j8K{k-IAv)>k&8t4MA2b8cCZ{uId7EvZmoonCGYw zsYR0NFpM7aJRxjGWHlfeLfNY`=4nEX3w%x}mJ9;>N+I^b1T$+3C1`4()Zs88B}UFv zxe&!=k(DRYh?S`$?X9U&T|iSk%o`#SoWnFrV9F3Z$PEaCS*fhl1|?z8e($0-aeDpY zMBd+EP4Ar=6uDJlM3eFwOD%3RdV>~N>WPgu?uk6CpL>aLChx&Z>?ZjF*B4ZZqxC1C z>e|=13AvXXn$={5-(NvjoL3Y{B8wdXff_%;IEd-={U2XQh!iLqADq(r%&eeV%*X3}4;0y+YrqSt^7nagrS$_u<3YQ2kTexRIMWMw^6 zzZMMO?yn8cO!|MFO949fVyGuKSXsoh+%_9ry@5PgCq4DB&kT?luoUEJ7=qZJR@SNf zLpIT~tT1m(&7R8>RZ`5n2>#!sa*c7pxo4OXac}xi5C~*&;>L7U-U2CJ9+!l}ac-nK zz{FLy3#-Mx0$Fi&BDp|IQd>RKG7FR4_4(g+9~3qNViJGwpoFWk-`tF$*Z`uw(Q3}Y zWmlV_KbIOGK@CY5gtSCi_jwQRJbV~xfmwIp<pxkia~~$RQVQ8!$*phvcA@ZYBsqu^3Aj?pv^|U7kPwnkn2#_Lw++N z#|22DP7wncv-Sucn-FkRjdgQO*Ai zlNxyW4suQ@VVb9UJvBI%S4NWzoK;2{E)S@4zq6Aq8Si<^L3R$z{a5$4%3gSN1(uBr{xsR-(=6OQ!Vv8M@siGsK z$*6vis|iXVwg{=L zqnI9DUteRp-C`KVW*7xtJ?GOsemRp4hXW3WJy?-U2I~5A9EWc5KUEN%^8zsUNoBs3 zL1quXd9EVf@i4c0U=xBvhk07*naR7FeSTjByAg51=p1&vhL&Naw( zolM248KLlrJONUel7?TX#c!^Jq};5N3*@N?Og8R@IWxv_P!gj|FDcF9tQCBHJr%08 zmtyh9R;ZS2G9(MhiA?fYNilQYizRAK-JDknNx5;$FK?2+5IkJc&=!>%m138)$dVe6 z+#ht+ zBnizh2`j>$WmVf;40L+(b}yCa*%%|1xL~v0>h;rHC`GG|9%^Od3~4M^ONw5X0nfcZ zfjwEPt09adB&ag-i<@0>;yWH=MP!Z|xcViy%Dtj9E9B<At+gs8p*VC-8l35&sY+-RMY0ga-8?rY6GwtF0ntnde5j$cb3r; zH^4pt;5GevV{yRGs2s2m&$*VMLjdMmqrEM=IEB--J5NcZLorDp%aW2X12l8Kz=UiA zB@9D&Ng9``hf~hRjZDc%#5Mwxjj2d``-fl|xGfqKWeN@+3@l09FU5F72%e&6 zF-5nSvvJ8ZcNKyS!PndfXQr~|xNr95%++ToGa-|}oh7l-64-2NXRf5$GrLS1UZsB> z)r_ccLpt&qdI;SLN^DWdXGw)djbb;H+!|+jA4~){5w_cHeOKmrHs;j8X0xf@5nXh) zqBqF>SZ3pgYwDhIb-ecyQd4<1S(-*wLO^*O(xfFnpBUv9K;mH2RU>@2ndi=EK-Zv(uI>Dv9PhEl<)0&sZ+UT zGinZf)(Kp0YF9huT>g&4y$hzxw{U(74YUCpu9v$pqsz88pMeVwyRgG_oUqK3+U2_1 zROH-bKVFSTGB=yfVHmO5Zd6Vq|DJNhIBpSw6ukn|caXm+3}vtARZHE9L)qs$^&sHt zOP))Ri7)ZaE0(eHI$(CUbv;sc!DM!p#h`^Vm|fL<7Z)`GBaspdbz;eJkuaoXLG}(j z&+s{emjsFlyD;DwMJg72KunYJ5d>FAIl?6ZL7do@=?HQ=Ss$bYsmiE;_S zGTBN5hioQ*^8O{ATIzkFj}5`&^6CoHal&R3R6P+i3`%$bAx4bjh?Fv>d6I})V}@d7 zbTA}R;&v@IcR@Z;i?y{}ubXDgm2l*+EVJx&okNTwM{~xX!#ZK2TFX-BhFF`GYB~d> zLRiJjn=r5rwNY+}%O&ntK2I^)QS+SQ9a0Q0ok)yJ4o3#VgF7g{4}L+F%T$veRi1?4 zRb2ozz7n^-JPUtk7=kKXw6P7obLUh2tUM?0qWBZDzn(+VEdNRR@N0!O{K_FB@Gql!m{Iyv4H-$VBM8Cl?pL%9II2JOAhn#h`|Re z^MvK;Q+Vg#cU#1pTlHO6UN^TmUzbI%?>9oc95!1lw+D=BZd2LbDqk$j^D;?hC8TC$ zO1a`|P#|$bZp*~AsBCw;N~H6_!?VLQ32d4<3$XpHKf#C_%yujju zN8HCb*Mv>eG#G@S#z7SIOUgB^PF%ctYZtDoA9O|Nq*!ooR94(QyOjaN0gu%Z8Z5|z z_W?cx$&b(#MoG#`oQ!ur1hI3}odtv8E5sP}jB%ZZJrzPFGM0I&R>)cJyQHfyDQt6t zory3{2i>y^O;y5A?0%a-?3B-=DScX^5+|f%teF&6#56GCfDI;`ZLm2Xu5)>naz zyqEjtp~!CADuB(N+x5w+j>ONRlZtU?3*Xc%Hlv^wX6HR(Ot`(h!ESd^qkKDZAdB?W zc`s;kj2OojSI_#n$z#tG@7Cr&oy~BS7dM1tp6{>&eyHZ22fwXc=m0Skh_mRT?-gxoP)1=dHOD^jmNJT54@xCE=xX{93mU+g!EUKfWE_qC* zv?l#yRzhKi3@8yyndorbng)xU8B(M34%>?hq`1iboST^r>(BIIz%Y&yCc-OO5|v%4 zCVzR~f_-cf*ol3m8os2gg;x&880AncyZ9jpGd`t7iD9nB$$D}v*{^dzBUKBV zzH&^)xE)r1}0AYKI~dn~NQwuW{UMfq6zA2zk#yOrYHsZU_i2V81NzgD6gd zDMp?M+sy{^G=rTa|6wy!xtkvbolVYP+4p+0^&N<=s z=7@0|aXcR3Rd#utjtD;B^5R1F@XDjey!K;9hrD%6e*!qSTnPfz$-IO{@m*HH;Etdv zstp6Qn&zL3{j5{jT_I}n`jjcjljjV)9dt z{tPh}p_Zs>JR_PH0&56Y^G+$GWHMIc)>A-*Saj<%Xed$}gQ1?u9K62`ioCC5w)UZ6Zn+;S631#YopRx{-L=P z_s&^949c+1N~UBW45EE^u8YyNB%MOg%PGMJbq_34m2vp8Q(w(-uY2KK*9@fr$yr?p zQ*VS(I)1O=AyR0lLl|O8B6SK>4V;3ei^Z5#C!IU{)#81Sasq4SyhAg6DrTZY4)Zc0 z9v56*U7^q>Ip=EgS`*xKAMApB&O>4GvT#kpFk(LL0nH|#uWuv`@X{gP?tz%#GuI+s z>_xdaX%^_yi5<2axE@OsQWNKl{q3z5a)=l{u4MM_yEHk}l~qx=)I&2k)ySvHrS4>f*@Oz2i?a{?>6;@y%3g9ctQn35>Zp37rDl3nJyGMd z*gd&x_cp0ql&Z8=y%<2CP=3CvvQQ#)1+VZhB4SU{v-}IR^Qx@S%G!+zqaSV6k#oYl zEEqd}Psu~b-95XgnhRBWij}g7R{z~T(^*Zr0LI~Ps0dF`6E0C&WZXQxspm@2M$bP^JW)T}lR z%#6W#47yuN8ky~?q>n+VK^8f2RS@Kq;FZjic@Z*W%7{7En~{hRb%)Q$GFeq;J)Q6} zH?=eOGA2W|H}X5vJQ)Ud2f>x;%Lh=PuKBJeDSWb9P&pk}86_F0!F92{WcF&!g^|_G zj&iDQhlT7}b8E{rvr6V|a%=4n=G=e%r4MM@n zU!1LJj9w)n3=O3z{0rnp@Prr;WzzWMG6`kXY)=a|k1s(ns7gf-nG&2NY`!ihUP7)R zc5W8(%#5({xVpN+&CLy#%$N=nc9*+q#!@F`6S%?v!Z2XB-C&w#kRv?WU0{FMgEM2d z+v0efFbo05!?8lV20StQ|GwaLC<}AHGcyk7+3vyX_3E3d!87vAAjj4H&RGeWk$i!B zMF7K?S#<^LRLkyzhszCC9>xLQc^sZRss0LkB0PTlNTQl!tSfRc8EIu)V^hG%A}d^YGY%(C`eauA&Ka)6DO?mk;3`X&cAsugx=URT~A)eVJDEt;D*i<0*?a{X4+LXnz+dX)y__V!kz zUcO}yWPtASXVgbqkz|+-r8rN3}$96;Rw_8wAH-v^4_9LXT<<>3G6)ME;`~sh%Ou=YVtjP3~nXTIC!szF! z#WfD|Muy@YRXf$%Jr)8^`8vJmoFfb_hZ+gedZYn1Qim9V|1Z z8^}sQf!>S^ue^P6evECZQn_Z`@3OCx6?4M8%ve&y&Hff(#%>%iAEy&=vU<@g6dJt8 zlPA~6IbpNeA`T1o`+Y@XQqH)%xWM6fG}hD9652BN41U-`z6yInO{s3h#JIm@7E-QE z@CoEb1ol`k%RNh?HdvFf%8H@h3svTK8ZdQY-c{GCB$2&nZjr@(Fvg6S7?*>fL}3U> zH>pm)Wy*|794q%n<#S{*lEhWsg1L_~Tty411SO#-QD!!VFv_m4duB_nEMz*e=3T~u zx!eO;CAmypLLr-jnv6LUpYx1ZPp;Hd2u_iTsGbSi%|`A=B9%c)6HuC?66fulM@+f9 z#(G&QG@r!b;^G41IAXuw%PL1Bi3{<%tdqR=*lb1|rwQ}CR38T-LKp^&<5(NJyBfyc zgM!X_0d#U_28et;MW&^#0ES`L$r`(0AKWuccc0P!pDF;HO9DIv`_Cr<_FuPI$pDvW zmT(m%^KpuX#DXq@Hh~eB1%r1=?6Ztvu3c*FXbn4@%A}UtjmL^(I}!%G({a=5P2`G$ zREk&@1`T7|?|KhoudaUUs9NWe@|6^s@Z_;5p$G;+$mSqvp+3fsfQ$rItsPjx5+!54J2-Ff^rkeG;Sh*Poq3qf6rKT$x_6;^TMDu#IPkU##s_T zj2OldSzXKo9`$-~%TEr@!)-?_dKlyw;gvCM<%zPsA!N!TAmIcXC(3FwT*FwrN&%-C zX^9wjJ6*+kY#%++9Ct}p8!var(~N0e5OWf5@i`(TO)eyWmkIG{#KohlY6Iz zWxbJ2`d_hvEtB;yj+m!OeI5c*&LUGYQ&C&JpdvH-!>w{>2%F8Q(b8PC_cRlgRW$p+ZWWo979~BqJ)rbf}O=$uuZg87awo`rPBk!r7YV z`o2xmtWwyZk>Rd``+M^;fbK*C+MrYTND{x{Kq+G~GQjOQ65yS{I^8V>;5U{D5MEog zf3`28*SN>9aL6>>>V9p3^8w2oq3b|}NySSaNo;?SOXMVX(WDGWDqKp!t~EBBr9;n5 z>YAlDx^|!?NZk7%87Gw#M;Z;R62v9Kxd8UPD;6^~8&&0kr{agr>W~Fd8c4(7jJ}#X zrf}5^=T^YWq$)n`#WV&DxyTGQ`ctlxf-NcrEF|s@VKx@VWDcB@;OY{*hBR2t0YexiXvu`Il%|3T zIW(84x{rlTx*l?HHD)&*j%|92vrHVzEJ>73T?*4Ad;=EHKF0+30XYyB2MjguJz~s^ zd4B{GBaugr8Tl~R0Ib@~>Y6FDAug8aV@RNjOzF}D2JbO5W891gA>gn-zVwDa&21;8+l(8`^NbJzHsgrH@rd9(hGD=o3Bs`5Y^pOJcYER7MU*#AOs^oQ zu9LQTP=cqRH)>eq{fXI6HrKU9j_Sc^VAOd!V!uDsFsP#4BNI|o;NK@tu2l!#Ol~z&RO*6hQe-T84tE(&Vi8zXb<8zOn2RXv=c*K6chbM>4Zqug} z1GRYop|F$cnu^d~V7C=0*c7d;UQDWKd8}!gm`fb5`q$YMR73W&*>lw!g?#mA@rDz@ zU`-%(1_f-KA~uMnq;w|rxkyz7RQG*mT0T)a0oZPLaL(ayILP+7adRo{}^TWNTA zyPZTz=O%kT9z}h2>imb3KldXIuZ-~7JVHM)63Oml0)fWyZWVxy1b)3W^-G5UoZbJ^ z{r~>JlisYXfU_D~Fh``Eaj{W7C6TyVWv(lL;wA4?;#AXG?=5;2p5tD8=q<+ zhBSS7j0v0I!8xidsdw3PL;}yknxM$&U!3KL%Bmv42Z8uyFYM|x2u2ry$>>RbH6Td+ z;8)%gouQ4@R$F4$5+hPd*lgscn5H8xc9*(?PqhdyX+e%zbpAv*P7}t>sLp``^;c4% z7V2e5BBN0=l%yodlJ)Mr=EuiEXyR^{S6t~z#zWz6w3|qXf8%D09254-R1Kdb(|`(n zzp5`%%xaA+hl_U(F{kRZ7N{i%=CucYu_e{Xbx8?{67mA<9z6mnkthrSaayq7-(Yun ziE-Q_#)$pR4crj$+~da}BE0g&FJipd;c|0j+#`YGlWQs9mpcrXyL$hO+YR!vV19Z7 zRtXt%<4Z812E~+XY|%n}vAd9@#<*0|r$xhuiZm_8*s^d{N)~)Tj8RfHhXIctJ+7q6 z%gYOR=dr|yAq2UGRHfm(!#Iw3<<(bPbCmPhb!F#UVRpPlaZu!T!3QZ~>}2heGdQQJ z(=HQ!K^7QR8{RXc%l(p4mWjSV{*>$b$14OqFAKJtZ6%}G<1EJ5JSR+Xvnm|3?b9-ZW;S*2(HUXOiyCTWs=Bn2UwS%w7 zqOm_`YN0)7VM(-F-<4)1bArpRDz&P2K`!Ltq%rIc&T$()I9EqQAlI`-OwUq#-JOJx z%=Sq>>2cg(7$n$iUKRxJadEK&v!wma^Mc#`9w}v9U0qhce{xQ_Vs=e*f35(VRch}O z&^HUkI-MCE32+lGU;D&;MZP^e0qS*f6vnddz^8xyFeI%P8!_S001~er1JccwIK8g01+q*jSyvwR2Wo)jucm|k-x`f zsZCjNcS~w81WS6dk}+z{6~n<@Y(bmB#L*JMb_7oznZ%4`P#e{0o@&ggcWwVE#58&I z_Hw6w6JAP{?gHUGs1zKvWM*Vl0YJGfS!0o1o3uFN>CIDIUS5i|^(2L6yWQe;e~a)a zsHsd(3ab{#8cQv!xJgzXal!TVH6A~HjByxnb9;kf954=Ipt9L+5ILeb{4p#`v&%d% z48dHAk)0+}GWLJl=0lG(wadUHnlrtVbevF(m zuCK2p2up*l9zS{vB4L!@+&o1X20XfY1fY1xA8>hjiE$j|d#S@H0PJ>`xVYHi=IM>> zou{e37X?*`>NyYcdQIpntntC_WJgT4BoV;mOruib(p{bIYk?#|3QImgBLJHyZX)>3 zik2`hb4OlmxSZ>(db28zVp;$M#JH#?pDJ%8rL5=#8Sas~6=q;jH53_1pw-m(MU4&T z&7AY(Fpe8tFEpiqC|VXZBszeZ@#xW&*q1vGzj2u6x#Nw{Ny6YNYW;)*K>f;wsY>?= zjKy#OHY+0_TD22&hAc<-EZf&g6svamlF9(-L1MtenTNI;x;M2$i-a3As*MBNoOd+&iij&du!&VvM-DyhIp+9Cj+f@!n(LL01+Do9!i_ zxeGlTluj<%%!L@4O(=<4CkJ0mb*w>DK_x;MOuNRZc<;ZiJ_)xSSCXwmW{bQfQX z3=3KSPw-(t24mSD5DybJ&pm<pZrJ$?i~ z3}UuKBHcXP>?K`})j%n=$kMD5%c>Npa-vb;cR7T&+bz8FxH;Y+_yF%5ZcQ^HrdH_m z`Eoc;^{R?7;_~tmH#awx+v2^)&CQMK+XLo##u67i8Xn>4&C{OTrZ%tL2HTQVsUHps z0T&RdR%uLf&Iln$5Kv{SpK^gtqUk%bVrinK@P!aCj6?I>XRb`}^8S=ipkW9azEwzV z4ui7$k7eaTgw1AC<7CTy?=@d!7zZ4V2f&4jAkNEzF-5)4%9_D<(_~o-+C?6b>rGKw zht+H0Z9a&aHaQAawNXCjtVT=ONGY4$v~V?YiYGn_O?v3s{H>u}gS_n}rLLxMLZ`WejTaur0mJw_CSAR}^2)2a4%pNt z<2>uXS1Hhm8(<#^Tx7(-OY*8*YK+Mm0citpGOQDw#wy-XJl}u;;OlJw=;3w1ov6Y2 z7eFfnV49x7In?}lv6#$V$5&vi;shtssRSlh15}(6zR2m?Kw;*h^Cc4sQOtNmXzp(j7+p9wI2($(F}z?+59pGpKTH@|&r8<}mAGokY>Xoen51KsJbmB7>_ zL%B8+DE{(EcH#TOzS{NHqOb@=mr}wwj@6q!<)qLZFfTJQXNMaI1xyoWSvu?)k5-u8?xVG)=PeOqzUX4k{E5 z!Qs%6@JQL*1S<lK+r14u?b4z^53`FvYW(_>KEtZE`bU zv+1=sdLNXusNl3WZf~{OHcWpDN87`gyX4t=-yaSK%*$LoJThn8?r+tHL$0r^2;{4; zz6w&GcvAJwE3dvH*SASWw5;(ioU0(2wV7>*#x%`!?ZqtC&>&i=XShz1f>63@c9v4% zu24-21PHnn6F(HQEi3_BW1ZNH&-v3%3P)@DT2yq$Wc4&!3drZ;gkd<|FFcQZg>MY6I>W1NP|4c zEdn!F+fFU$o%}ChnZ+AFaaK}XV*$eij&LqbhjmG7Q@10B?8LGzoBd#s5t3Rb7XN%! zeR}c8AJx^*Ibn}yqf=*YJG-1^f4|vo>a?`X66WEltTSO)q&ZsC# z(2W5Kiju^wOlP3GPfs4(-KI{GB~rL}Nt6V$zyeJY5pwX@J-U>JZJMxu^;KzKh~O9% znoVXG8Z?eJ^Zfo;=ae0B8r#E0`Ow&|NyNZcY&Iu_5jKfd^ zoC=ej&+Oy5k`DDAbsozyOGE5jjrE4r*4In|s{EfK7cHeICUGouK2)y`&Kb!u#?62j zMaEeS!BU)sEK7vVCY*q9bpl@1ld>kT_PY&Q=YIAkD7iLQ?m$6KdasVwsP`s1RQ&@A zDq52L=%l`}L03=o68%c50J%U$ze@qs!l$M{1-;qtB@);>k6~zD2p#Eh<@QG>#kPGy z&OzK}^=EqTka#+a0KC@9dta@!PA^|_8Q{ayKiygMZU5FG0L$K-A=KFUcJJe;Ll6kQ zZe}vR}pp)|-qcB0`gK{RzgpT#G<5ZAK0{gr8g$klk)I`bP> zLcls27HJMQlN(hdlsM9HGbqzss0^Oa1+8o}6I)=k2A_-Jh4`8e<50tQ#4~%rIF5>X zpzf4o6ex5YHzK3SvPSULFW$9=gMhe1N&6yFxRx-@GcI;J5Ewhv>&l^-&Ggosw${bJ zSgT6NQ%2y>?|}T(9eJvlNcTWl9x^nH@7z`YZFP^<>iHb&I4|57dZXi0O988Q%Nq25izF9pEwrD zq4%I6;O6E=NnD-pZe`&!_gV5)g`y*>^B%Nlu~)uL^?BFKifKCbhdwp6iS?wfyJZtS z&BiS2@go#4dmQ%r+Ekn9ljd@1 z2N-irkK<6A;b9o-TI$>iqh70q3|nNKA}>SH@fi*QtFx(V{s06x_BG6_nr~4%W1Cdk z67J3rIXkjpNg?Fwhv2MikA!gP)PJN!O|u~})Z-jkC8Dlav6oYwxZ{#oB+1J0dOpZ~ z$$f0B!&z4Vz>_D}dL9m|(RSrKaiRdA6GVWagCZJPQ}_{$15iX&y>{R(W1usnzc*nC z5S|5spx1;E(6fmE^h<*u;hnruDKAKQG4`QQD7x6;>dodHoK>UxW-<`SRc3!F?nUm= zInxm}Qy7KK!LAYjOF~#?2BnNSFK{7aLt7Q%$*#7@?{bakMRi^yKqO(MxRON9f-Uo( z>)OKD+SDRN3=G>*a;~-TN{CPD$beNcq|v~|G89xC5d$`x5n&uL9gn&%_lV>$ZbnSg z5srNQu;w_6%b9Ws=2=+fgZeW#B8;02Vq9eZIWNs>(>rXp8yt=WQg(_S$iXhY+^E7P zt1PzNG;v8H%(XzWda8FpGXTJ;9txe|kbWN7cImbOLz9+~spy4=kXR&nsYnF@BmyQR z3|LQj@*HPC?0D5~dJPwcA>iuj3Y?64;1Y53>XW9#*5_?aQmj`)N*Oo0doK~k^E}t@ zmr}%je_M;~_4Re##oEb99Mbl%sccW5-Uu5z%G&Do=2qF+jHfqGD^aUJ=T-l{UIW0a z>g?xRB8ky7|E2kC$SYTrECi2vcJSn3J=V)1P6ojuBbcw|G1RWE?QVl{+^Av99t7ax z;zHuD3oBpGiE%Tkfx(XnWS=$tXwKS-5ALM4ZWpW1U`;I=0m(IxX&RXmkIj5v$4mCeutzEfm>R%H9 z*JW;+riwCUVPcC?f;wPPGzAYAU3z8{pwrgie6tYVknI1NDFS!P1jm&L5F3*b zQd5bj4Ee;mM^D1gAA?`76>`;)G)~U`cvP9n1C50d$U1CMgTgDBc^G>;drPfTTh-m5%^pY zfVf0Fxt711^*S%)zw+nJc7u7Eu;1@hUw%YpkxU9Q*ElW1ICM>$eLZwS2BT^eRRVO% zIoGWn3OCOXiY+&&XqWDaa6fq;(ef~=ywU8shd~;V;Jvz-_VUF7W@LRXe((adqairn z5mI7=!PPWZ7bMJUQ9ewr*Ha@0b}ENXkB>8jzbEQ-g9i)I_4((YH^ymqY5f^@Sp(bL z05CUi4AWZ8^B&vHBbC2jV4t4cQ5)$Yn%!$E%lxHW0njtNG(vf!rz(fByg>zGd zWgA=;IfG;I0B8jO&R24`4<30*l8o+(u3P;AoyVM_HUzn5s0Y6FmyK$v1#%f=#@?M+of_PE|uLkLpPQ;V@JQz7T}*jy%~ zoUDST-t68vA>A-x3Ru_3cHi@*laiT5F%#vK$k;j z7zc^>^*a*{ss|QTUSq#HwmW>5>2I^$B8VnTenwf>#PPcz2N2F`hGcCK0u&(nnA(!+VGyW>kuQ-mWNj}wBL@{HOTFf$H^V z0d5Q}k{KCE{CjKjS=jR2Z@oJ?ltn)5J!dCOc?mp&5E``lsO`dEJ zjj;s{4t2`o;%5N4e(SwdV~7cZswn1pt}CeE0?6CfPo~MUd**forYtFb;w@k_{-xO~ z$Ql@j{h=avfRkXHeN;PfQ7g=PeK{w5j@@>PWmzyyvnDIby%&Z7DIM!QRNkYaI_OyT zu%SuRXMGsXOlPNTS@C8vCXzK~b7JLQeug>W%V(s}(Xt-_K3|PDGN1 z7=$yms1M3G3|KUHY}kwvA+G0`Q$&}OHV3h#2IdvXa*a;(D}dAd3Y?qT>2yIYuk~CA z5UrqpUJ(Qva-1qjE7vA@vJJp^f&KAG_tc3V2n3=xPXX|{8vuHSwxkvN`|S+Jp)~-< z`KA`aoD!%obt#{AZH5e1N&6|mX*y3%xfWY-X%jYlu7vTDp{+$ztzk)*YcaP-*e0DJ zFdR}6xIagR->R-TtD}1^)44~^v&grU6Hr*e&Py0kicvG?4e><}oN*Wtyldn@ZoxBb zrkj?`S3;2b3*0$}=bn46lB=9^7`Ng&Hn^egtu8OGI&iDNj$s%u(%5y&mY>k%GkrLT z5MR6=j{WCvBZ|vZ!EE+=>X{IN$9B6B5*7oLn^(W(nKYJou4K%Z65>2-lyb9B?stfM zl8nf@ZS7d=8g8;b9^~-aj_~A=IAb~-WCGMCFU<>b$~fHIz=fdKa>UJ(Yiurdvg6K- z93%GoJvL#)@pj*iDt-MWqrOO>BpAxA_ORLPMpye;GIBW+z1pB%lMG3{DHB;Tnu%F% zlQ*A`!iWkqn>#9&Z0(A%mubSZI2Esf6eHp?t6bC9GoY;RgnT-v-F8NbGuUT%4%HaR zIkm$!0d*}9M_%BQSD&oBs2Q)k@=80pGxyh6<^m8IpNP_knPQZsk$CdtNiBdSu`ngZ zQJabD>+4!DuCK3^e=(k{PP(Dc-t2_Vi@&=E4CjC>df=!MCfD~)-zaf^pRXE|b!#B! zuak2%M{!QoO_@_DpENK`R;0zFLozss9LPh@)3(OpXeH4dfxlBe_SZa}Spnb-S?`>D z&jcvdGh!uUJwtmxl>qj^Q<;rkT|X}?1>AIY!1RVt_-EDq|F)0-afe#r+zabg0L#AF z);b#80>rUA_e`ec8*nx_lA4 z&0`$qTO5zq_~P|v@#)X~n%bf=hRvq>7!>4!JlSw`W0FzGgH-pXW7y#xZ~GcNzIq$3 zu3kV&GY-=Yu5Uk!SFS(VnW|LXs^LdK*~&w>=+fHk2$}MNB_3Puw;}U6B80HTyzIL^ zwSza&!?Mg=Uo#wGGYldxEGrMRNK||F5v_9JRsA7>OG}+t+H)ucjM0+h(Yc%1gT1`A zVj*#yjyN6<8m7Xv7#4PUIs9+;hx!VOP4Larr)C8%@Atte! zv7N{*fzrCtwTXs}^#QkCx@&$DU2HV(31I+i^|g^}$$gfPW~ zVGNz!EwyBuR*0#|tm<>1wO2-C*w=zFHx66+tL}${=YJKa&yb>GC|N! z%T=mMjW~Q7v~zmTl+Ua~0xW5;YtnnReoxMpjqkhRpk76$xu!{*J%UtpQfNhn21GsTmM( z>h^ce6v%Ru`kaj8d~>$;(aEMCz0b*)=vR3C;J&TwbSG)yq30G4xN;)XYv#_ zv|9caH$W#kYuT}e#`^aTAvi2CRk(;Xq3!bG1$^VnKZvjS%HM~_S8u=brRALQ+28sI zKKv^`hF|!#zm3GRkX~4CTurfSegdvCR>jXc%CPyNzg!^c1UvyIrN8R<=<+a|OI-2%aF@WHS7r|}Ih{{Y_p;`=Mixc+sRp5SAj z`8j;}*ZwDb?v;<8%IEYG_~GyQ^LW?WK5+MY!wG-o$Nw}w{rO*MMMf{)fBw7w1HAhk z-?-`-GNwhk-<%@;+aLQ;eDX8D*c2L_o*Nj)O~)arhcfj5b+vHj=AKwH=8GF+WsY;B z_ICvz#<7w*T%CD!HWqU!W>aJvGz#Tl)MrW52u&;4H0N?~xjN04;GgaoBAmEdmiM${ z)>}!4xq*r;E1M@kUE&$9&MtFwaxd+JMGRKcD4AxU%HH&SaYTlD(Xt@cg|FPFtjL~o zMt)h6>#R#&Mkkv+f6{O_gpl=qSbIR6a8b?YjK0{mKN@nHVbL3XYPHa!{teDoE^)v68waF+$7#iu1VZxL^ZKY?PcMa2`rsk@sR+S6V zijc@%+;m(0_RUOp{a}qWuVMOgb*M*7=`6T@9w}Ip1G|+@)iCP>cK_Ep9wkU_{ z@A}{mXu9e;QIFS_cj2I zJih!bFXPjn|CL^kOTatd`gLb67l-Zm$Phkns{Y6N!x!f{a?Jpx?d`KY#f=wIgTpJi zi(8^zS)0_U%WQ>fAD?^pHI+D1bKaNWl_&9+yJI6h<(#U*ZGqm3RKu564=KZinL*@74 zI(kAh%#FxnoddI7`=Q)}gv923Dy^_`R0vLdFPdzsJ^%I4*))`^X5cQEzTe-UUk%{S z#-U#gtZjnV>*{u{ET+Z{Ve|Uxts^1Eos|Z@HmRU{BZR-Tt3REP{vPgDY!_7Fb|aZ8 z#k`SAb4`m9?{ZYKkvItI4XRFcF-jPXcL9IsyZ#)0-#7lTXDa^dUym=}ia+`T|1m!F z!9R@Pose1z{0om?IyrzZ zcW=RPM`v4p-5!1mUwHKsI<3oR>_`kx7$pU+S;y+8M;!5hx~If!wfaUA&9=zV>ie!<*LpM5M_F+T$I-ACt7)&{jOqtLB(}Lrj6$we z*`srs1yUa4sOGza`t?I8I0nUD!L(*CV&6x5O)z(aIEc$t1u#ZHZ3}Osxz_|twhERNa?llb^t_J#^Y0>>R#3TN`Wqkqa(x!-OIy2}y?IGz zP4)R@h<8QjWq>Awwl`$%;QD5uWmOH8sk7olFrVuG*PlP1i7G!2>*Ey8Kk*#s5eG{m z%(dkx+!qZ5O2=;Kd#KX(tMgL}ATlNtuLl!w_>%uxwFoPdAln5k@d&F!tvc@FYG)uH zr=}q=dRERrj+)AsnheT&kALP{egyA(>36?D9)rX0|JHvE?|;v?BLs&rxaz)Uo1WkQ zd;S!@_PyWnhJMyK?C^u%`S0OfZ~K6f7jxANL#>0~`xW1e@Bg-c+gNnI_FvCGdMAG9 zJO3QK8@o^J)1UhX4?gzA$6v8x;{q=}e(Ax-ed4pfP}%!r2~{;r$pg9FdYO4eLny7L zgH0(e!AwpalI&z!xdU}N!5Jp|ImY`5)gHzMNKqI)^vv$DkUBFr7eSFex5+Z=ftO8i zjx~kJMNM*YuqnyUlKapvN4ti=L^HR^oKFf1&K`}canqntrO-BlVQ!lEg4pEZ^PaUI z$=zNhgaG0E3A0|Lfvz@h75O6|I1fi^K!irVZPD9gnA>Y0mscGN->rBcK0Ujr|JqtK zZF7`+1g55R0=;>?oz$&y5mwVV_fYq_eel{u=p;t`gd5-WK@VU5D>7YKuT}L5Yo>+{ zCH2p>3Dj$%g#2g*heVv0e@pdyly0?#qg8(g{hy))wBkbXnjC;$9dd3hKr0piRzXPT ziGOr{*T1@Ny5&GQpNS9+0uU{F^_Qw_}*{*(K~njujSX@5TJg-7ptxB>Xw&#zL=$RuZp>tVUetCcIvfzVB4s5|Cz+YLS-grFRNMldWl zSR<6Rl)>gQ);qazXCcI90-@>~VKv)za_99yY>wd7j(&|8nW#m%;e5;F@ZKS~(&&?t z%Ph!n1{yaLJ-T9N{@Z%FuT~h0{`Gh7CG$zM+X_7OGvfOFXZud``3A%y6Dx?@51BE`m?szM-FqICNhsi6qGsvfj%V(u{p>Pj}R{<~KRVTC5x1P5NX6DzgG9FJ%C zZ}g@X^*5&hpx0B`>7IV!JV#&{dIW&%1#O5d4voEA2uI>s&vh3L>!Yn|{*)qq&o}(5 zZ|a-2**wCBKKL(6jUpwW>Bac%-}EQn)SvbE^2_iIFaJhKaUVQGQH|^(q z=mUQkgWs548sXCqtN|`|FJQZQ)Y)o2|M=M&fI3l-{avDdi-f9kS2MR-G8y#;c)v=p4c7 zWw6^~#49E=m&4Y=plqMtnmK)LI_#Ar-A;c!H}ZL;0W2<>wkQ^jH?e^^S%YB8F{R3# z=I2he;U}VQ+U^RMDXiTZqf>LscBRH0=fm)= zjeHg-s~PH>yykj;4r-x(1u*!{z2y1x$~n5bKHoK* z-&4!qBqJc|dVnTjpa&lre1o2a1jrpJ2Vl&xOqr=&oW)1lIS@NI#~K}Mwa>s?UwjYV z`oepk>2<`kh{4A*Kzq7<2uQ-}};s@aXExp6O@J@%X?F$n5IB>U;1L zKlR^qlgd|p#l!22fAr}O;}<{jzk!+Y_3!`vc+b1O;qInpxWrqo-j9!d@+Uzgd*hFM z{HO5pd%yesCSZ6gzW7_8m4vdK@o4vsd%yn4)6e5$AOCe(<7km)gI_W+rqnXXGq=Li z;8gSsbUuxR%>+=eGQVEat|v*i4+hj`I+7SKIcp4(*ZQNjDyDU4Nb@)MKy{Y0ai%C{ zD$HQVChxuN$6c|gE_+4YHRl>$R9x0<^J_HJ^|^B|hb+&%6i$=;vwpyS*@(H#M;tVwv)gshJ^>dBv_L9pM^X)XcLDyEeSQq&*M89-J7VLSXu z6X{O)0$)!n?Z^mDc2mA@ZcQRq;&3W`M)gj3QUn6R9Uv@O8QHr3acZVQPE328 z_nK?3L?LqZ@P6NWzUAR!Jn!+p{{6pzk9_R!!@GcQ{+<5bY_{k6dP5g-;{!j3}ul&%Rk9qey{t5iQ|LFhH zbBXb>PyWn1S#8zawn5oL#20YJQ*Ub%J&ssxxU-pR?X;DFR5LSL-aELrk*$^&&KN^!Dj+$kNpWH> z@8AkosH`D!X>8=(PnkhsKqW@%djay`5a7J53m1*Qt}nrK%^K`KlGn{&ePa1f6Z=W2>&BiG6I50<6Qrs*L`b!<`N4DUh> z=^+quO!YObul|~cqRyLk02+q@kDq^hG83!IP(-z4tLMzVH>*mwX%tyydwszxV5Z{o_B^5t8@>F6ORc6M8b#ns!q@ z=(XWW-RF0*IliO#^NIST$}TLUceMj|rbw>S?yQWAwZNua^zbc-(uUf=u(iP}l39h5 z`Sjn6SxPyOY^YETS#i#U0m=8!JGY=W4nm_qDHk+zM4^A#!!Q z@PaT{HoO{0)pd@eGyko=4o;uDKBlB7%J2H;74$0KLw3rniE@D$4hfEApeToXP7!g5 zNI7W($MQAeJ`Lvq?*UH??@7tOB0Wwys(K~YMv+MQ8cv(0VxfV2t*sutG$T4i3XmM}7kkJRx|8(R&PD0^O7G0k}^Fc$abBn@t9Euc?wh!xz0)IzupTLaZdf z_0FcB=E@Gtk8uk;Lp0W1)m7s5BGlkl8#+0DhT+kS3mXOXTc1lm?d&JGXC+W ze(ruE;PdYm|84@_`ocTm9*|gm^b;TMcC+36XRLPx2vS)foeBG}#IALSIrt8*aGVhC zaK>FM*TaW;xYO7F5IgL|d zR^NwWMCHWAQgTHUW(S!-qvnza>lR4pq<&D{yhL$J@@5DDLm0$@yds~jHV&+-If3;^ z3m0mhNS#>Kz$(TCDMhtn&Yh_h(TWUbc@QOK^-M$D>0rxef{Z!NnBszDkc(VMgYv;u zCCJ(y`2+zxQL*&Oinb~`Jr~xrk3Q?dtUaiaR4viBBLSOp$7%QyAt8`lLn#>*z~G1uikwA;qFQEo=b=O-~HI11~|j}jdB}$G-I0gh-o(7{&Jyw;gwH3__GE-bb8tS z@fy!v-L3uq<`4cM{KH@WX=Jl={`hBp8GrFF{|RhIIn=$A`L=v)zww*DjwNblffn44 ze*9; z#GOlFw_>n6T>XEihF#97Wo_{$fUkUyOwDFi)`zGlO7O0}_bxMnBLE3JC!{nZ0oYtz z)$72O=BfGt$h1l*k-ZtjHYzw*SHKz}UVJBFYRy1tRCMx5Ny5mW5OfFuIR_9q#267% zk>sH(;IKT2s>#o4)YI;*%o#|{c@)O!6DD%IcM~=Pn)&?u*oAVRI!x1q<1!;7V+aF+ z53(`|S+6_!IxdYeidF=jip3INi{TfY93rcf#g(%rtsIq{BV$c`%9m(EUp}#52CexX z?Ws7T9s%$Valr1VxBS3E_}Nzj;o+K3&${8iW9NULbr3KNjR>*C=?tbL6GK9>S5n>e zyE=iaRyKThnps~;vIg=P;tLfX!o$CMVwqfyOFZgp>32hGGnMj5S!u}q&sA?T2EOp> z$L?(aKJeAwiGSsX{v-UYzx$uzH(&W=wch;XXMRb}5{~d*V{bLMB4#eqT#!26edJ^J z^8nuR+`9mHq!jVubN4F%e*Kd_r|@#dNjMPB8P!O@(^4igJ=C2K@WFV*79fkc=ct=v z*0Zbaz0%`{^#Cr(V~`2Ybsq68$fjnsle~ASn)$TVLAFvlRkTPlbOeQ zCrZXDsO4mBpsEy&nI3}V&PR3EODRhF99VNQ)O{~5?do+@b2O&o1n&qjMhWL4!gjmG zJkJQ^t6`519(iu^tc=_lvmk4-VPhJ~ez#>gE9If>Pgy0rB>~bl1s!5*ls~z+L2{E* zHf2Y-5S*sjIk17!3uGRAkfxXwc`2D3`T^t|;W=Y)gy}HBy9r^lQ8kJ~@E$2fIIlSd zoV3_9M@Om%L`#mdCQRNrIPWARWp!=Q-JJh=i(*8OyOTPSv*9{ewBQUmxl#$V zds^~rRsiFfy80TX`?Jl!Ya<1`sbN6$8XF0D6RZ!wj9#X}MiyA?cI80uRky8sPn#9a z)WK*EzlmC)bFP!`GwJJjH4<|Fxd>_@-}{BfUyirE@Ktzp`67m}!KfNgX5h=-`rg;n zOfdl;{lw4WeJ}m4dmr+3@B21nEOqg~Yzw07RpB3G@B72b?7!WXESrC12yl>#C4)Cx&Z}kmC%OGg3+zx$PyrCyWTlaENFVKIvy(&Kg%xDBXEyQ$$PL_7Y?Lz99r@h6>pZ z>WNaO_)IlMIfNjMo=f$5vzY~zN0$qEP}T%?o-T@nvaT>4`WZ#{%Jq;Lah5pjoFslZ z3`3_Hah@=;7h<>b;3P?&fgCbNI447e55Bs-4nqL3uP%hWJQb(+E792@3TEACYXp~! z2@^xz-|wf1o1MQD^#ih19TapcniarZF0uB!S=TSRhjzbiRGuXvFubV+|3n%<4?fny zAWJ%w5dqd~Js0x_INcGdXMFJ0hSz?$a#+$cr6_HNOZ@A9fAO#5yT194KjhD0QUPmVvI;JcW|G}8CWDLcC+1L7()NflZEoxSibgZgA=0gJr4V|s7ZO~7X_8NQIb+S9P(aGu@SVFLB;cn1s%CZI+ z#sSMTgNykQqy9H%mP3^xgfnKOB+oacgzavJoDwh$^7*gKfjCQseM||P&8S2*g^^R% z=inNaF zR9RG-08a3r%E@T?38}_7CkH854CG}&-j+lnG-tvb+xox*NV;xQLLxHPxZI=}7sb;= z)+~a;q$JkoTp}rnr7)^u0LWMtiM$SBP-o2y?+96=lZgol8J>MZ$5NJD1xH9JHi9A= z@4z`P#Tn}i0^`6}h?LqWF3XIZxi*u-Fo0sjGS5hykz>NR8Nr+|PZNgC2FpAnC&oAo zh$(4vCTo#6M>tQ&F=F8iBH^+iyI!_O#){rJXI4&!QNs{XXNuH0 z1Xn&+{%XjY-p8D=EC;g!*qoo)d!Om`6!-?_{WsJA(8GLyJE#5gS;u1hV#9zA9qG#= z<*bZk(aAP~jj&>=O)6#0K+n9WctgdxapoIa`@JuH2tW88e+pmr;#c9#|0O@;=JpHt z@t^!J@crNRBhUQEm)`Mpcqx4-cJk@x1owq{p-*l+FOJLlflYK>^A818g&acMfGKH_Qx-%& zA&@u4fI8SUGG=M}y0Yv`K`9x_To8gcYuD1o8d(@c7$^*K9#j!UR&pSbk`<}u2G}*{ zN#njVEKav>%FGJew?svt6l;dOZuF&OOflGIUc;62NOh25YjG5U>(SwR$b<}c+1fsNh!WrD4DLDnj0}EpZ%&I!k>A~_u-xY-#@{JKlIS&h&zz8Spo z$@JJQhIwG%7na6NAnzLES}wpAS|zd(R^~@l9v3PROrYbeVJ=P(h!OIrXCLZjD^51JiQlLPy=x!8zYaUOaL)Xl0%>aw%vm3WQe0UYB!N$!G*fjSnZ}d54^42xs`s zWMpCPaz2X=2XpfqplWaHyc+(vq3c(Ap!z2eA%fsy0CH}`KrkaO3rHB=0>zwpL$DBH zj0oO?OKCrKSrT0E2rYrMXt`7vVhRL807S4mK1NEpHAgN)Ev5=qvbV}nK`HwB?iRG> zE0Of^+X;ToI>NXa771ayv5n3A8e$B9^O&Xp;ewo#DN6!CLD45@UO?ral)}hM>Q14~ z>Bvu@R>9==_+q19#sz@dm61`mitj?HwWFY15E(f6{wKT#hJs{VZ^V$SbQu)@J;6Qp zN^t>qC2x6!Q~y)_(MW`t^Ugf~oo(a_aXGIutz}u7KD);Lwv+2HbTW)w66W3fsFWJ_309^YP55U4O}u%V*Bstf^pQ1$}`8y?I%XQnCBa zx7jvZC(4DJX-&=rDJAW~Xzg{rX5o&TdjD+MlL-+K(vneZ##%cy2Z1-Q^ZMTlXMms# z>|&c??Sv~Yv4x<}fNXU}a7}qkDQRbCb44OWUTE-59j%AS7~xGbZ-1|4(z)X!q@0Wq zuE$bIfCbS{hOSuG#oP#fXF)Vt!=uU>& z*ylBVz+krcG>I0xku)Bsc*)2pjLPjRBkJFgd|NARJB(6A4ffh*dEW z%}b#A>6e^QO4bo>kDvDTCb zFth~BD5)UNNy&=5Ht1OupM(>67+|@e0T>TShUB{y}x`aL8m1F~6^_}X(51~u{oY4uelo>v#tKY7egI1GvK;qjgU#jeRUKIQ7-8+S@$dIYjRvlC9IB9+fNI2+0jL zyfS#ZvpHgl6-eZ3HU$}s>O1kuc{uNo(_&;pZnm@4Znq*0T*x|py&iJO@XlcGQs4+U zo_DPf@4ozf>@p@Ps^{rWY1G z>sX6<0jC+B)NjF89X`;G2^Yrh__&QT)r`pZ-HLh0egKN`q8Oq`Pw;S#u$f{5LUPto z0uRU#T_8Y*Mws75f9*aUM`^eaa(5C{B@jZKtPpY7ZZ_C%^f~i9gG*NV zDG_3vz${25S&8DTF&G&rFTFk6zwtY4Xl?a}rH6;-YVfwV>!=t9WCK>Xgf2(QkW z19C+~aBw;%+(!T|*09qB_Ex#NJIYln0IpoZpci9}p%oDnNjTUZV4mj&%ZOBMb#)?@ zHdg}cEUYqC*)GIVlr?&qUeq8NROI~o>?eA(_g(+hHs=Uh<7iX>gjySH0%@arVyl@v7P&YXuf;Sj7<=kBAqzv7UNxlXLRWpmxx2+?C z^<19UgifqwVQcpEcym$f&dCjI?7lDz3;ICBqWyrQKHn!H2=N6RB&~oWb@PKab6|D| zn++T>xTrc|Hz!2r;Y%&5xbca6j4G3r$`N2p!DGpcA_bg)?9M|~UUqIXBLr10pgxzRceA5(G%GZP^NedU7g{WV4yTNs(R_ zHpwUuX+mKuhAj@dXI>04MHyIGL&_mtAmC|K3$?MxXv8EZefZn!S_p^?9H098dlKLn zmjqI?yZSh77R1AZ|w1T!B6dC$z?{2Q9G8J>c-TP;Z~S? zlMlnk87}41%Kmpuexma&&>Fh zcl{`CzU^&|a3vym(eqz_*#dwX-H@96WPfE95bnC~k8syJ|2}@@xBnNs@=L!7U-ioG z!V7PB?Ws=T8(#lcaQkO|w{IkYlx$Q4cii`ZOTPBiFZ<4m{@JHL`+gJ>4YL_4?6GjJ z@-?nJfx)l7ur$B&zUz{)%!_tO zYFE?wFillZi)ZhYD?o%~;Uv{2m{u4(4c5D(2Z3u6$NhNai!}qQ)b(mK)Y#T;t);Tj z%c$g7oBZGeT+5^CqM{~NT(Hv()l2OnR0it+Y_?nE`3T-CB+rGF7qMhbr6r&cAw*@$ zauIB%3EnY;9G2x6oCOpZX_w)MyXKsL#2z6y#L1hNlqoty8e&1lYhoiTh7b&4EG_Z0 z%09hwaBwZ;$HQUagcu?=(}duIx;@$^TZ+e-Gg=g!KRU)T&)t%jyQ^M|6Alj!8bqIS zMoOvsf;6alKkB%1X!bi)89L|2`>5Fn)QOzk>#ujzDJL}tGH(KyNt38S!JyGu%XPD5x|5MfifT%{n639uLT>=adXRue#3#w)f^_S|R>Jg*m z#Cw1F&YGq335MRJZQSs@S6=cnuD|Zfu|0S?&g~wAIMNv< z>1^)Y`Oo9QhtJ{}mtgu|bpC(OEyyMn6O>Nck#(N7b|A2u-nvri7NesRZq=oeb(3PN zS%t$_MF6k!;yGn3%VMLV)SSO!P-|M0Y{`=fIp@N<$YX6*l%)IQQz-*`ctE$=#vaU_ zA#7=Fih3!bsm(#14lRO>2xMUEtT)2uw+pf3mI@<;*mdzR9eq1i!*RE)kpTqnFpIQvOBjkT zd;iKC;pTiPE5j@rgS%R4APt!ww6CaZ#r$|(2zu6m_dz`-h>*FU2*ZWgI)1X_7h?dU zASFSZ{0Y}Pq2cpaQ;T|D=|u5DL!qh1b_nVkhXIu*LHpMtUEmEn$mPskqOhq$fyzC792^It4%HN0{M{#iB*Q{~?iYfpqWLYm3=iESI8D_g~Fh2oS zx$?etI0cuLM{MF5Y_do4C~3PCMy-C#8* z=xPaGUyme$`T_c$b1ulnPIlyUqu>gos&_(>^?1SUholTE zjgGynOD{rB)IhrD92tUFU|?v6>S(5WF}PA|w&GP+@9~?i( z%{=FXM<09if`nBW)9UsB*RFNno1O1_1q@sty^pNmNXbHV^c$6&LEh{4m#PeKnjMfb z06_?0g%IxR<7v1VdwlYGY>F|+YtPlMA(PViHPsPN_EZ5R14=;MsBNSpjNx4*Kq?C= zRvhC7$MfUc*`KHfz>`7(+^>o*#SEAR31H6isw-Y?5N!cfeXX+y&UV9?`AF4Vs{@&$ zwo5*DX&Hobc+rio#oeE~4Q?Uq$_|NvuYARK;rY+|@=Lz<(|6sB2OhcufSk%pU@;R2 z8KiI^;F`l{o?3Mv5WMhX2!YT?Ae>~>X*IgimrvvJ@_f?=7$l2!!mbgJ2ZoqwFD=GfVi0uTv17u=;mMG zkV@`Wvc|eDxhQe2&hIg3a93fX-G87Ib;_IK1c?#5<6||IYNjT-95F+?At*HL9BBk> zj4EfcqJ&JD&?ciYbW8O*GgBq+9lSSbqiEQSuyzJ@GiYvb`X1RybR%+a#O6R(T%52xp^zzl_`zS&czU(Zszr3aI=Vx`4~# z2>%nU+!pr{q6!{S*OB%P&Y1Bc!+d>M;Hi;EshJs-Qs58j`H<$%FD%W)6H*Zq{X6G^ zWzI-k;6snIW)Un)MotB3DcDTToce4t9|(%|>lY)Ra_PuYu=ixc-fPh;orDB&PVJpN zHN-&QM?iPZ@*k*!(2)IHa@#4(b?ubIJCZE=I1uNOLY%SQ1=$ z9Pkq))n7~jkjvbpD?S7`?=Wp9Oq)&bm<3%TXr9fjVKbu+;hJKlg}}L^2QT}bzV0jj z8V)v3F{TjVxzBnbzWUYQb7=(t7kuI2&$bJ0Ud~_kbH4bwFJBR<>Qw*rul%ml?EUQ| z@0Lp!HBY_fIe7ZD&ovH&E*eZg+?=9F**yj-3@U)6f-)zdFkAu7-g)z7ITiblJMXy# zBs$lu>23h8XU4QP^$5mh)nizU1-_JmlnaWe1Te;kX^NO)Xz6U)b&ZgHUxd_iy&yOscn!sI zjxa9?%aYBOwac~IU*wwWKRGo*(d0WqbgC&2-V*Fc=lrAx2As3S^cIwy?4Ma3=d6IJ zsfsdm`p)^5t`|eVW-}=PYmBtDf})1bXoszxcFEdxx1`NdOzu|t^M-%VDIpg%>0u*8 zidh+pm?It+Fx&frjU39>;WHo#UyHdj*3WKaK62P>CTuoQ_30LvBZW;DCU9o1)b#OY z%}dN+&gSH&?^#K6b!`FxDQ6rVC(JuLr^(hMu2#(|uVhmssGWfRj(Qwx#zJ2xsEtlo z^x1`btZs}^qn$&5BZnBGU5A8aNqF?pb9OwsSAR88i&6aooOeTK&nijXYd+e1do;;0 z_$@>d04|pt2Py$97;-9=DDFAxfCNyI%FH|Rl_akoFM=MLPc~UBcr>f4oVAP z2-eyQ78(>I7{;odza?u9N<*t?71>?U1+x2<8v^3AF!!X*ZrcM7F3P>5E8TA&$KHGu z5CD3d0{|e#(FS;@1#UGd0aU7E{{I!)^);khY8sQQtFI~#v?}`E2R?DxU-0Z_ehL1| zZ~H&+sk`0_=O(=L1z&qvi`~yZbO#D|Nyl!!d;#!=SAQ=)dG>wy#2xPj06guQ=iocP z{_o<2H+;pZk1_#xzU}W~H$SE$iZjo|>tFLdmwnwM58nsR>PjXC zS=E~Mkw@>tgAd(_XFlVmQ(qlt@4f{Ng2mY9Gz2%TW@*-Pi){u?k4$D5gWo73p_RroJ;2}&PV`T?NARm#I1jp)s0BZXYPKc2$W_}X`rq;a{CD0OK zm$Qbs0Vb)EI;FM6OP%^^aaD}B4gy@zPRrYI*={z5h6uu>{DR{}VcTqSTYx~`HHcN? zd)3ee(1pBm5kj0WFEipaVe6b~-I)=m4N6Xm=7pe|c<0)&WoCG!b5wK|Ak!*@`_v`?&b0)3e(r(#1GH(a{jUo6}cxs`Q zkWy;hyLSO`3a$HgMUh7v%T-rRqN?Pm=x_gCb*FaNQznexRAet|+^q|SwbWq^@$Yx~!zgbY zH_%F*rRznGzMUtQ0x1N?f>bWA1fZ+gbw9oWfF55BK&K}ygw+UOv1-^^8kVDeOG3DexBoSV&%&!-@~x--$sf7>T`NEL&p&kMWnUA+ z20!%OKZ!@qeGVljJpHNHoeJ7%6{_9*4?lVz?tkzzc+N8}9wPLj8@>{M@4tE*?zrbe zC^_Rr&wm{bHkalpJoNBq@!&&et&$fME8|r*rewf7?!Nid1pqVSGoSrHlV_SRW4br?wpz&*(F&FrYt3^qh49d z$Q%hKA0V8X1gzQ0R!iej<%z1fuhJovVHwAnNISd+Nh^vGqeEUw`&}V~27`8@DIw=# z3wP~!v?PnpX%SHh(mcaOk7;`V9|Imu+_rpg^>baorYXXaN6HC))9=CB-A79(+{TEb z^G7HtK|t_1;LKB=f=!G_tWIq%cnCRgNhfaglrlo_5aH(UaNs;r(sVdxK~71(qagy! z$^j}?3|11b_Z}py=3WzHv)LMAP~bzvGOLN0x8IO+#wG*^?D&#(*+vS~?m1iWROM{k zTqA|pJV?iYO>LO8aDfnQ$#719LMmU)S$`E zHw(cLo0oz`C=YK~1E8j90vEPa#~S@yRTb6FnatMMkS;DD@+dYs>5^#6#Mqa>HS2R) zjl7&08wrbU{$>DF?TqJT(a{F$h91b9k(4xvOpP!m5K>w&ZMKToc|AsCITIJ!V_H`( zdnD;L_8LgAd$Z|AkX=nV`oFuC85a$o)!jXtB#}&|G3lsK3Y+Ox!JOumX@%_|&e0Prc^Zc*bR%^DcC($%t=6z%94^>SbSZu)P*v_QJ2hE57uN zm)-mU;MUuI6%0bw+a3_Y0>O?mW-v+s?zoIC@c6j@fluJkN56nl7^UY(#c-UC>g^P9$Zr}Wa8{)u&gI66Js1y%4-t92&mL4|^LG*&d zO~B#ga1cGtOaX_JNAx}JwlbjA6)tNRRY_f@3D=H6zf&NMId%lZNGSGv0byPWj^~0T z4jCSE296VBx0L19loiih4dv zUi7*Mz7x{8Z%EZW(HS!4y>Ds?T`zTf>OyFvf?P^-y(1!QV!*+6s|c&{Te#>()th>0 zJ}f8a{mp3!!oadykmec7aWY^4nc(+4gLCJ#MZo!wwz@M=)L4dZrEzfKm#EUt0cb`5iDznef0gWQgEV?U?^)LkugOH>s*Suc@g!Z zD3gQu0E!V30$hwprC?ch7bL=8+0IR;<_27Y=O2n*lX;EXFdACEU zqXgTq%y&?k-nROB5^STx;pDN2goDXr<9h;SpVecXAT~gV)o4UylnLr$6WHRQlyBzBc{Uc4iO zVCZBZxZrTSBxJz2N&(*KZ_0p`2*#;*iY7T?I1=S)I1RfoAj{Ms3T3zRVVnXtG)644 zg1T#@byX4+VU)s1i=rcGPI`}^OZt43oZ6@Yb_{FWbG>f853KJkhp7Fo~TfmHyRbmBlm^~UhGeq1_XoydX7gUO?i!%_;CTp;9; zdA?v1d{H7Gt%-gYmxx_CCh)isfYZqV_oEEguNmhbIjcd1^A4NMMtz}$S6y5+Ux688 zNR^(n&RC0sVq~GZIGj6r5O4i=e}6^3c)X9Z_uhto_n!Z274ur}iGTl|pVqnLlkgBT zydi@!GcWj=xBX2#^4RB|@Oz&>dJsSV_P?d)0F1(^eU|rn;|1s77?_VA#OEJ8UEy)Z z+4q}X+Grlmi1hno%#e4QLl4zz=Ui}fv|G9M zZR+MMYd?Tx$xXXGr;L&{s#j;ZXq#y+ijFMvjHC1Ck+Z_{eu{v1a4}-qY}y8slfLhE zyM;HRWC#J97{P^cbnZNM$H$mrXil8tjJS1B)dto1cA%;fq8j)t^A5S%>sldG|G5&d zsxL(2{?vSkQd(Rtb6N3!#x79{ExkTkYGB3CU6oXJE<<&ABWE3W@~LFYZt2`THE5spzcRd0=gKez#O($lMC6jOn`i9i z8Kr2XwRWqoOn7PUmF~n|_M?pA|@;Al>uig9h zgN|g_Q@IzkEGH5!F}_t*$uy;c1DmMSxro9_CZ0zGppC)l6np4}|H~7xyLV4`_n^n~ zG_oL-wF;olPvSHw(P#7uH~2U$spX@SV0AN8jdiVcRS6&{g>lE-AH>i7+TS@9f$n0D zPu=x?{HwSB2;K`OocaLDkWTl&Luc`S z{?ZTP&U-%mxPQ~#_x}-o`YnGI4?Os3W!^hN2p-O>%q-R}g;nkb7TkIE{ii@G3huo7 z)+T|{BBp@2cWk@|+m1X3A_wvgOH#&t&Z+}mva!TP31Do{e>Hu{DP!5q#vPzRbs^1B z&HDiI4%2pnFir5@Bg6<7d?O3_7_3Vmh>%GFm7TvNMk;%O;CthmDuE)5ydv8)n2|E0 z2wKWs8y}e~oHXxt!od`qCVGVZmXwAH>n#6Gh<=KaZVZm>>Re6sq+bfS1v^G zx>&O=S?AB4Ymz~NIa{MjghV%7p+foO+8fS@+Y}S`h8=J z*d88Wd*%Rf3OIj!&boO)N{e;x3gx@tT2aBJzgaq$f=RZ3C z&}sv0Eq(9gt0s8OpS5+t4P;Mh>6xHDKGb{v1hCcWhxPhD@^<>jugVR5RnvHfG9&^{ zal5Ab?->?dZPx$kNPrhDM(C?}_+RZP^GR%jK)w(21o2j#OE3?)N zK*(8$Of#C%4d>nmK8k<&_P>U&dd2tPRWJQk9B!X>s&D_mLwDl$Zh13q{^;8;U|`eX zAR^$FkNyTe_k}y~9dG;}aKm$7e#!T}{p@@2*5CR^ctJW*sYPg$w7@n4>~wS-@c2 zarS-qir0MKr3;JuK8krhLfA$urF!6sx%dxy@I47&W7#^wX0uUO!(~Cq7In+|9V&s) zTUTGrI@p=Mx^`^N0p9mbRzw-(B^j%_v<;*rm8@l9xZ>KzQT_TWlqyY!da?+RQU5R8 z_$+nf7t*kvrP$nll=}%R+Sn{oZB*c$CZn~@jH+WFwXQ^<2*#34e&>Q|&-J}Rj36n9 zA$F4-5X9KtWm&*JwBn^kYR~fy!m(M@dham>wP+P#l$5YNIKXZxE#b>Yd*lss%wbtX$ zdQA_biP}A~Fme$crX58aF~}FDKXeNm8m*! z$dZOr5p}LcwdBqzBTSpMt#&sO84Qa?hCi*Kc?EN*wYy^mK!^H)RbuGMs+?AKz%<%& z4~S)R9jU=x!n&>+rvLz^YBill1Ym*y%Jyc zg0I2#&v_ZHJ@ZTuJRW}RUflD*ALA2u{ysi?-)%@a#&xhZN_k8Hz;JRnO1UFs(8r<-lm*FXg&%(j>S`ZPAc8}ux(L=cV z{*U91dp?AF?)#X{BdZs=wmi<*$07n`2IZn1GnC<8ir~KcFE6dUeS=9$XsrL^(No+K(3~^7VBPFfX3WGm*mzZdlS9gar4*Eb ziM$D#Q$Mn}t2OUtvxTpOLgxT-@TI^{8ypozHdj0*0+X5;u?T`4*HTP(Ueu>tpq}!x z%g80GPePcGmV|@DgH~vW#o#vN4WxwyO0#&a>Wvn2Y}cyZyKLQ_7@>`jmZiOaF1crf z*z-nPCyiBI`iNsS>ZzthKwfsO3q}zLvKG4LK;O~>S&OE|ZDak*dxhrPZ1A0Bb=Sq6e`S_nOo+5c`Zk(>r{aQo%J7>(Mje&)E$lM%+3+J~q}YA;gFfwIfV9Yjs>LV42k|%KoR( zrUWX2X_~b9h03=M4i2!Sgiqi7ethz-_cobPwnZy=ZzM21(cA47DJ?cP4K{Byx{p=F z&YZ5s^LX~&+i>T-9~rzgj5TVNZwR6JZh!D&?`-p0z3zLCJCRe{Sa8!6wd-~GyAa{- z`#*tu9{7Zkd@!|~1R)u64~*ShYu&-#Q#XXtI2hF283~CPU|@4_dF15my|;h@Swt^^ zF@)v}TIf0}UlD82?L(){)KH%y1#z0pElf8I=N+8a&a@OZW1G&B)rG#;Z_$D(CuvD( zu$k;;yRo9K0F+ICT;XfAmfklX>CDCMiC&39b#7hdQQp!ji?EWG0Hjh7vI7@Jl4{r5 zRWRErB6`3H!-2tsc0RZ;CTZYVPHa`#vac>GEDGs2sijJT ziE3aMR(8ds18F4$iUk>EJ~lF)SW+`LyH|)H7!RPR7(fZ9!YD<31;`8r$my}FrRA8WFd+=UUjy#qE7*_`j>=3~&{~fG$Q-xcpc2 zV*$WPyU&5eUvmL4Y)&$ePg+8rWp}reYwlyJeRc+$7wZH~LmeYPz`UE0I3q-7PG4#` z(vs;w@Yd1PDlx=>c{leCZ(xB|zjEx6-7t6tKv;=B1(;$~C@m!;Q@J7euUn<|R4c45 zGBhpjP$gH_DkrPh)*5aD?!*~lCE3(5N)gr@wF#CTN@f5KSrQOEuDkxyp+fWg81B6H zgWx*$^aNgp_(ZT~dUwCBwpjCU%Q^G8pQepwoi9lVOI9HH;7uABk#m6$t`&q8N)^FM zk58r+sNql3c7w7k2wpSP**Op;EGa2jjcA=9tBm$AEFWvL+Q-^!92co>a`=s z9*lZ|xnF~})KsaiHBCNP@c`=Y(QJ-kI)1UDt8kkxk*f)kGQ3VpVRD2y6>v5eLU2zM zWDO%@G4m%bAW~$;k(x?5(n`U@MqZW`QJM7KB8GdX$eo{3xZCH|NDC`03YAW7V}Uqn zMWxvHb`Xf@;zKeN)+fy3kO_~{DqfD8QR(VQojwCAC&;XG}&-ww3il+3P?OuVIfjh2kn1GXhq z8LS{H9czd4U9;N6%HO$#_t@tvG^Wl@o$=hY$1=|3hBUe!SY(8qsuo~@kG}o4lB>tK zv~U=fK8I^F-^M=WHH=jkTrr<-to6H9IpJVkifCG$10j<_o#KFG2Z%)tfxI)bj~MWk zulkFZygokung4(!OC#1e`$9CNh&4i+1tKv^gXxaG<& zM7|S7Yq4l3hU;eEX40e22^J=lIqTTLv?aBqs-EO2%>_`4OH*{vQhq?fJvCGm>Gr9m}i5$ThVnR;f zZBr|$mz+7NC!+HN6lsQ7j$E_R&84U0aB~-=HZrW&PyhY} z#2o>IQ*^+=8RDbk3vqp%z~)=v?4AzZYq*&45o8GH*_c7lWGsE>Jkp{DSTJSLGS4_X zJb-tw(MGlrn%=`KqOw^dEqW^?#Sjr46>0(NjL4fsu*iZSW|ZaC{V*}(%;7a~1RNjj z%t%Qynq%C+Pm>{6ZrxIf49<$ueL`%}=fQrvb<0CgT#w1>2lL|d3?b@Pf8fj>btqqApp#|cV=ul(9H&p z9Cl`%SY_V$;0LEi#o$ zUP=AB?sIKO(l*}u=T_WQHFN!ZAps||IVJ};8K@`}7)M`;K>EFS@ue=9IBjH;%|LON~1SP+vgu)DOCQawckwNLAWJV$&cg=rFxf%I*-{+Yvsc$584dE^$sj5GR z_PCbR3u0NHi4hf8*-blwi>~gRFv`7>=n7jx9RT9S+0fCW24m$?<%xRwbJixHWWltV zkQNJDvdyn1QZ}FbYSdK8p#U7KF=p+~g{mXra4ktKjH^SQ>)}6KT`nC87i@ypS$rvN z48Q|~J#97$^Y6IZ4p+I|(DZ~Duo%LrL{sHu1S8Ytln{b%HpbOyP>Xi9M#FnLGGRnT%6uu3zn4H;JQzdECJU>mRXLJcC#HB9)kUCnpJ^y5>grY@FBzPYJM7#FfFTE+ zZR4#RR~Cj)w=b>NIS-~aFL~kD;uT-|O}O^Vv+?w6ufsE*e#2$Y>Cx^XeCq6bEdg~1 zO<_SENHlc;=LX31(#33_+N`h=@7Tz0LQ~fNi6pAx^s64UaIhG~GCt0tz)! zR|!nDTV>PcI~xL*`r4ca$aB3VtrQJ)AYh{aN5FP+aO82k6l8;@y(b(*j}R(^t1vm6 zgJSc{^YtDO4`!r?SwUKT7VS+QU;zS@NwV%8k{AP`YEHw^a#TjsrU9h$Aa`?U*} z!O)8fH)l}iXiS$~b^ElwF)b+)fQvww%FU-1#@v2tv2{- zBuCVV0?t(j&4OaeARhwAQ!8-MLCL{Lp?eXKt(!EgEkwS_8$*ohb!Z+4%()i;m$0ZO z!jt|8r`XF+he14!`ecOwNH&=aL8KT|lFj9;&Sf;Vv?aE&>%43k$QUrFjx|0wG#Qwh zp{QopWQ9w?n2S9K`_^5_Fl%bvWs8cGCO0XAoTNT+ont>XkF~Jquu}6rU_s`knHh~b z;6dHokO7wdz3D{hxJTuwGiZYh*0$F z=>1;LS+5dX;ZyB}So-K#1J>1Yd(qB9wMMH~Qn zyxsprq<>Ei0zh=d`hXGssCnh&H0^DkXIlgv*gBpT^isQMHW*c8MNVNTq!+i7vYp9N zx42-k`IS1$6$=m=nCF7^Ml{%Oj!_LU^ujtSi6j;Q|)g+mP4LlJg$S8W-9& zbD`nl?PeF9(cfhD9T{jhQ{RX+*}fZIiZRpkfTK3ZkmQP^f9K^q-uIDTY|Q4`=~)s> zBQ*iQoEAX5dHa*jy9eZAOn~PSRnlMLTOW;X(sp?MxLSJ=ktdW3DjmW;-Fq zfb++@Zl7AaR@>ybZWw%#5^IE{sYCaQGEuX2bp%Y4N2zi%<}U593;{=k&DOVo7VmuL z9MrkEa~gzHG@5vs=cbRY>5CQKbpQ^pIfH4t#cr8#{^+=&Ufy{ybW?WL#ix|pV(1(} zipt7Dj0ircGNKYIOF;-aWWX zyJ;mj$HGDmBZ)-`%j9RvYP2i@q8QQe*QA z4TQ;NTg~g4QuB-$QElm;g~4#Jj%du3j7fCG9eD}PH=hhZ$0Jul0Ho9Gt*6-dA4dW3 zMDd7|ulK_UfF(CW2j*&TDTq@<&dCTNLp5YF9%c8BFru+cU5~@8cA*XCZ;JzgE%A$5 zP|ff@b@O(e5d}mz)Y-;tguQd;&+FL0 zIx$U26eYenXRLKI$`Qfgc8eGy9(w3u?c#D)vmgK|Cq%E#fDqtdyVZoZ7_r;!nl?UX zGgopoNf3ykdow@;xr`b2=G2!v(outKYLcfjU3Dp?r7TR-gc!YzFcvIxLN3)>x_AA% z-Hdrz5JSLbvq3QFugc#tP;BEbx#ic#jUg6MXX{!pp!pG$!U!AP+(#?ih8Wgl!IV)- zM(_bXXocr}ur*2=C7=?=oGFs(oGu0rVRvHP?ue4KVu+Z{5s{ijuB*I(CY4i{J@wQm za6UG6X5}z*-o}GbGP0WE%d7bsjfvMtAB5C)nh3PW-ElK=W+;(jaO)Jmeu!m zAdn|3ya-ZY5yrmB42MO3kS=#rpf+A8rHxNVIibUzbda2RC!CbRpL(wy)EG~+0tlD> z9C{pG|D~9WYcOMl0B~ssPbGNT0ZlRDxI#XK+lw3cGUPSVFf$}!%fRj-K{ZdH#WvOw zeg)0T-f`?Y__4|ypHpY%H2N@zw4}n($f93JV-l6kzQzm3`BvOi>0(tujM>v|6uOYq`)gE`fmNBx8uFH{#*~mfa;4$Y*QOJ3}Ra`mx98{ z;ACfZ4gxYs70IB9>Xf-5M}QiOcYS58zk4GMQD;u8fr_kPKH0x%+PDF26tQxFqzhIV zD}Ml?%3o1fUpHHueLHD(xrWRuG%mxqNvM(N9Lb3}lGvOzgn(??fAv;Z2KBVrfV@Lq zW^AVkyQA|6J|Y<88bd(J8O~emZU{|5QM>TtqhmzNb+18PoKuUuRaZhZ)k^*OY~waD z!Y4;TI(6P7o!wV;0J(~O zs5LQMXU_`+In|<#SC_Uk^B*?NJq>Lr8S zvTPKzTNYg}3S%1slH^`+xAZ{$-OhW2X;Kf1R2rkdZjvRJwr;Bhw`-i4#zPQpSsW|w z)QE8!+NdN>b$|8ZR`Qa1J=M)y$%fj1a4vcb4B0Ef2DMgwHdjjmZej~oF1#F6(Wpal$9-pA9a@qxbK)8#n;WvOHFX0$VHrY5}r`mCIs z0}3lUw4$b>T2lvt_+UJNY6Q}|MH$I`wY%muow!@>4y3~>FyKLQHxf=(6{GadzAaMg zM6`ZUJ6+hT_T9Txp;2M(_0lBW6>GQ=TnEedHmEA4(&y;v>5)zHHZlfVz!Bu+hIoNT z$~*kdd;U58@B=@qRd{c8tROQb0vrUT6)-gk4o1Kc;^rQQ;2KGI6u^BU?h=Uu<$ND{^ntet2q!G2Un0wto@*~$#72)35 zi?Gg|4UJfq8Mz1?d8PlX2^Rx-P4DgV=Z~@36vXJ8_M8Uxw=f|sxoOkA>jd6fH2M%) z7DWZ%rs$EO$6VuffrEnxNH$_`h6^_HcMd`hE~?=Z8MmPx*XAN>HqkML?vYW7aVoSR z@FuHWx&KvZuPJ2eZ>$^&5W&aL?88gWdLJ3dRH(*QODp866?28g&3Z>sEFW=j5H+O} znyMLN)O*#5ITh+}T}&z%wgJ4%swNS=mM9mEvED?);7smHEgPYq&sBWpAbX>hg&@>T zx+-UCWP>V6oCZ~zuBXhUje{zH!i6!7d%9=OkQ!&T+^c%+XyX%QkYq9g zY?&AhiQaAs8fjXN#(q3_Kq0R7tFWioged=9! z|3}_}$Id;VtS9H}_qoPf5D}zoPJGfi59+s0Mp)DH2QhfjIn6_FF|BozkrnEKX1;@7 z+>L$z-mwvbtwZ#CH(C!2qOopT0SU@Kn5Ky5KmSHtcinSw{q@)5#v5=4Txx+w4lpzD+}8@wC`WTn4I%X7MDwgBWK~ z+&N{Uw~L=}qTXA%3F_>)v|EV*c=3_aEis;4gCZW!NNMW5@%!5x~W+{LM1#)<9~1?LxQ@o zmmBHL6(OiDn1u(!GaaRZ9K1IqiF-Prla3;mCAILmWu99OhxZ=GM@Lo!)X${Bo25&9 zt1m*I7)!hML$eRgjR&CXP(INFpYY7QL}!0B#Q|4Y21r-*HCG$}%L2$Ht5e?;TeK_2 z*d3eiw@s>b2s_Iza#J167!*I^)MPNJ0@$OhpbU~cpA*f!)y&p8E8ss}Fz4h(3Th<9Ii>u5TpO=0zPT zLyS6yx1_!bcg@QJ${E|k1BJASH2ux^HY~moO|{VW2DzHEr|~cp?IJ`MFxX{4C&o(t ztq9H0`6K&t*O>ZPtNl*qkf29UlNH!Gn-gK6=1HK^$yy+Lo9R{sN>2=|-Tx*8MP*n? znR$@B1+Qa(!Y0>)6|@tfuyPsLLaQ3n+zr;!<_?%r#%8-Q4L&RKu`Cb=gm{Quno-iC z?wF3$F4!b|ITbUvGM#qOC%}1lLnfH@<3Qd!b^6R7{ooR|zY--`+;Tth{+3nz`sg0v5CqeC*lr-5#N1fx*R0^$W ztjAN#Q(-=x55SW}$GaK@!0C+u=~Obn!Wo6tKxBJ(pfm9OaeReXR>Tgp4NFAqh9sRM zn-6-;x-L~7WsAu7egAjk#+$x)y-^J0KIb%wlUXyb=Xq|K?oH{ff(_6_La zSrzq=Aw#=Xy-x+uj~J%%BQ8vszYNaxiJ${+>8i=_8lL*FtPhOT0f)yWxf#@a^C6t@yTY`xboV z>tDCBn7tYg?>%1f(wE>RFMSEV_xm+f@%Gzq$8Wvk-{RMQ?bq%4o2id8`Rnb z(3$G4SdVne-Kd+TnR0pS?5jS!-UPSa`a!(&9skw}h*=oO}}AwE-VGix6- zZL#ExJI|iQul&kyz&T^%6G3WpgX=0HGM@(l3}G{^y~&xs{Y~G77r*37bWKjWF~-f* zV{%sui^;9c!k4O{)?mI>(-1MJp(+vt0fO_E4}tFbI^;vFbKYo()z(6KsWNdI#n05d zVPs_QkN18X4PccN`rv~Pt0qOrL6#$nY|DDDH=)xpG%>mzRHU|4rch-{&_2{)bqG8Ui)nH})*M*x| z4Qa|iDj@*h{-$rnSHIya@gMu~OTYA1eCm^*F;DVAn=EpI)+Q@PK$R8^8#`!Ki1dYt zI#d1lM2AAJJ$?g%+? z0rfc8)wN2%>t6R-{N*3`OZbLw_&Q^d|H(aG{Nfkm#V>v_e)zxn8~E^tK8%0))Bg|N z_SRp~F2jJEv!F!J%`CEVUN&9{8 zeCKcBH-F7Z=P{%Qz>J<8`g5sh%u3vR++ z{~Le(s{f{c`oI2|dFBgB%E+YGr5X6@Z!`m=;2nPOul^9uTyxEna(sXHcYY6V`{m!T z5$K>A8rJOUpxOw7wb2+Na^Lv%UyE=2^M4NisXjjW$vg1oH~%sSglU?vJKiaAxJJzn zmzJ0k&5^7@xn>1#R^9_&$q6Y6vbP7Gidpw07z3TMwRv(ZiB<@JMXv@+HWM=cXVJ~SL0Z)!^H0a)rkidAu^`KhH6 z2{-L@CEe{8s$cOHufxB2>o4KWKmV`r&ENcuf8v|}{^QGE_2u~SpZI6^gZKX-zU@ul zg_H$Z2**j8-{gJk(7hS&)4Fl{cg++=nhv}wMd<%$?_Fc;%ChsY zZ|%L$Ik!l5PtRzkUnHxFtCRqg^7{^(SQSKKs9!)6apKl9|ddEkocqG`~Fp|>K=NQ;S;bvws0$4^NQJKuRo zhK3>4fe!+9Kyn0WT+0N&cYn`!;qU+Yui{_*zVAKv8`3v@^Ecu*fBQG^AN=LNs6OSk zuGxI}v;ThZp}6t+(4p%(i%ibE3zeCLF2Dtk;Pl|kBb4jUAFcKtE?l^P_rC85%yTq5 z?#495{5jMzn9C?nedNs(V}S%V_R#ioXI>KCJA~jd>}|?kapmfjRo>H$8%IsZ6q^QK zt%GCI=Z%eM$!j+pcDkf2?agBzFr1S@_=KQ%Gqe`SnF#sFLjW*`RZ*fbcxjWY;YqRZ zVMT_ND`@an0P+aBZ9D>3#8I? z-D|wB83RSF((*hq%EL{BulY4!y?Xixz-K=FX{2ZwvIudFm_ zy-4^37c1MWFPs4V!yPxSdjing6#$J4FwT|um)+!=KpiS9R4J02))GYeO zn&)16{)asRxOM=T&kHqGB$;F}o71|i;cwLn&A6ogUcL8pf;XXrNMQfq>iK!#Z1XCL z4bl0qb}d}B)gVZ;2h)2scrmG?C#MYf#GsiWQ-WjF{bn)6-i1B3|5Jn0>Joye#UZ7}H#&iEE4iZrwb>(0dF+ zhrSQk?DZf|=sI6USKZL7`yEu;x%y`AYWgHtKqWSqi)2n>f^aH{rpcJ@0Kq^$zfN!F zyUzdka>W00OnW(-N-Av9?muzy9g(FGr5X%nC5pJh7iiIyx#0j5FC2PjXDHoA=FaK` z0Nv*W_!CAzVmaBZIbDVdv)rdT>ekHn*0L2;$#a~cu0^-pjuXzu>+03Z=)H%e#&z(7 z6PGi)(cm09rvV_rIdtR@9BBd=S%!Io^=B_~W+}685y9a(ng2H{8+mLaQj_FdX5WI4 zqNWFSU8mNvW;YwB2%gkqUgm@}M@Wo7WH{Es>B8Ox{L(M~BEI$8{)I33J!*gdD*oX= z{GagQ4}DOjN)3xU#u>~S_dCbAkVW-*(_~C%nsHa6PgQq)bYoov;NV~%h1_b-wD%4} z-@&;6NrHKrF`O0~8FsSR$&z-M z-+!6o2~q(`o0vo=C3 z#)}*PnTt*)C&^`5PfPq;bnZ6Ott7xa`>yF@WML&aIq)u)%Q;%>hu8KMPI6L$HBba7 zD0-{3Ih0I73WO41egY#1Wn46baK?lLYETs@ZT@F(* zcd}09Z2e|HH}s(3;rk9@)1%uAaGgTlKlfMvvoEW|zZ3yaJ&C{fKmJ|pUD>+U^mv zruG@BmPiSc$!3~4UYDG0{yqTCXD_evUT)pG0kBk0e{-W#V;V-^>u4aa+qDl? z5iRQaVL;b!&~-gRP9vNR0brBMGC)ZWE+-C7fIwdJR32>rU~!&gf~>Ppvm7yyIaLLN zqKd+xkpVgZyrH>^URFd=1Z1P6@J0IQw}AXl>4S1-duQ)m0HhR4Zn`w#Kg-Ijv9!x8 zUZja~Iawg&c{*cZAaFXPlhfZEuU*aQIcOLS+N}ZbwwN5Mp$`d8Z)4o;%w5u#j}Sk9_Ud;4l1p|IU~FruD~v;QR6C ze)LBG0OK?kk|bHWTt{`7M$ih(| zQXWdly5^R_Y>~5n<-hpPAG)jGS-pPlKmCvK)cfCGVtke5t)#TwG$9fpIRZO}l=Og% zF+5*|IOp)pYM zeZBa?EzDB{3n?nq2LP@ZlX>s4w>JPn;H2Y>d2J2=0pnKHAk%gWp0ufQ-XjEG#wp~S z<~R_6yt6T?jZn^jtMDa&0f3kr=sv-LL97JHtjcl_5NDN^nX*~(V3Aw0jh?BxcIN#o zrFWYLu+D3>-SO>e-jg{1)uF9{`Wkj~$>=_Dn3IwG3Un-Y$Jv(dzYTOaXRm{6``8I1 zhlp?v0P<99MM>Jw3t84wR3(7kD|v7-d0kGGBTLviFBZVp5N2%#mt(re}f1# zlqnZ(tPdUMbVW3YcE%<7>7V*3eB>iv^T=#lk3Dt?f9>c0Dt_$8eq1+xgK}AbnHg~$ zHP|L4IQubi)G>;YCJDgNjdi7f2L}gu<+Go*PCA;Ak><$H(`b>z#_nJE=Pv0?nH0!P z5~rFV1=Db=CjRi+>2qC_o5wFbc2}M&!mW*|Nwp z0r2pg6#&#Y`(-FPu^>e)Xp)!3p3(J1O?`raqriy!}qfBTW!xc=qu z`7V6RH-95$^HAvez7PTD6tUZFvD+SFcYFuYB4$&Zs)Htg>qqNL0UeP^Q&T|($mDY% zx(fkh)AzSUJ_;M#6&J}EBX;A6d5&chIXpc50^sJ2n;KZ<9HuBGp8|$F5?Lm_82oQt z_quy6q3=4((^P`coRMUc8D%NoBO<05i4!76B#wwF+WmdhyZ`zbwmEcJbp#?Ls6q=l zk{E0XHdg|d>KUYKFqwR?T3w&y0CaD2hOXDJo&g8o-WTuM9DsCp2njckuH5yvG~~bL zH>Gi1%Kz6UM5`&Gdn>K{Fw!j)lxFSAqrszVHUz9z$8E&7 zpTNb77az&Z>o5O@KLcjXl)rO)jO}iRX`Yeh2u=}_l6nOs`|oKsqbXf3H;!(u3IiV= z?w7!>Z2O!)V|7?-K>yQhIok zQ#nDJG=E>T_VBI4SBJ`zzk} zKK#hP`NNOw*7eW-u|JA$|MqXwv5NQAW8b_I2$~7t9pFg~Y82|!g|yvm@ySnqYDJ{$ zuo_ckqc3Rp{#LwPY7oJ;CsJxlRYX%W&jzp>(skqdP4m^aP^t#TRrf^)N7{Xh5MmNU zUU$Rcl)z~=UIl|w#I)NXPLneI?a<0mDPs1R1#uIV7C-7nfSEL1ktZk`nW|C-&LN5_ zDHs_Iu%Ii{UIqJs6)N8&w_U39Uu&$e zs8sXs(MjGVPIUcszH%PNU5AJJCDyk@i3*os8~riE-qOSX*H~aMWg0>0j%<=uy6W@B z0T{;-w{PFZcDq#_bz+R;gg0;B#%?!Oh&M%S$6cw)$>6obtk4=K{A+*uhp@M|_egJI zKlu~?R+UtmFMjAcvjx@yAb1Z)`ePwl7!q)OMIzv}YX{o>3m2YHiV0JUO(4|Ll2%I0 zYDIgf*n>By--*-f+O@+~-orop_{WhrVVV`zWlK2hLWdAMV$wr(J4GB%5xY6z&D-P3 z2bW;HbBuY~AtlE4_!#5yR#OP6nu;;8Wd|!s;}u&CyVRhc z%HOPnNXur$thK}B&}uR3cIh~5w7l^ zuMq%&z=^Tjjkt6B4qkubO&s4jwv;ljY5*VLohIEm=Pk&@h+jcXW%{nezy8C2=8@mP zzVG|L7f(O^G!iqs^XR)!WS|-Y?9}1RIrLp$S>X2Eu1N$uI6NqR1&I^JamEzmlE)*J zkml?rFokQQ;kvV6vyXMK(N|7%}(4R5^mhTcaAUFqIN7`A@CW1 zyKD%dcAQ-O)Qo(VlQ6ya6(j{fW(t+1qmTOQ#BOUk{#*zUav3U377OS8lI#8~905si z!f+(2CJ+WBEymt&r2;sMkK+CdfCs#~mK2jxv?$P81dxTlR2YCtH$WwU>F$Gnp}Q=p zfO7AT`JAow!)pf++bW1;8SK$+j?Svnl7qlj46wz4GKli>FRSEO9?JTDIdPh~S}=fvOiE#Hj&gNKK1y#D&@xN+kqKK}9Rc;%JPJv2#G z2mycg&;F@mjFnN8uIu5vO2R6NLS|`8@Lr36HB$jEUAlxPo_N9vRE_U-8JTlh?6rrw zvvok_@NY5#&DVlF6@qKq!0zv#{#rOXI?_>`jWO~*qtZ%6GO{gk?Ewk0`esuIG?s#> zooAAC!fDgoL`APRF&Bd6#PJUi0HCRn%?!VdoqI<=I@7{D@MFB0|G#fEUI~KObrNjYb%>Kj!UP*tn{CWALsF4IN z9~ImKGJM#tYu662Fyv@Rjba*9L5=O?#$P%YMC5WZAe##yHA&RKbLYqc_~hqNf;UPr zEyY_~1RzfhKLqt&SuynefBgH;^tx}}yoF!;wSR!$`QQF`{NsQ8yP99$kWw8veBIZ7 z1mFGL--#dif$zgNf6F(W*|q(tANrH{n}73f0po;j7)q)hr(`aR4t>`ZPEAqP5OB2O z2msJ{-p{}KdE0CAb4tbs$T=a+>L@6mWID@o@5>#pG({m~6%N4B^G7=CCF38kv!YuI z8qPsvqREELQlR9uA0mAu9CT2a!9!Asr}uh)siJOZ47H@li~sPoAn#eAl$esLO43mX z*3Ql+hM4qEc>=`AG6Mi2Zq6|*6c_ZsKs?>|2lo(NQtF#dA{dikN;81DlJ@Kdzvn%V zS96d|YRmSDEO_(w9mEs?q0;daIXgHRXbXgl7?8txg8;5QcL)ck6(~8I&($NpS{P92 zFxpy%2#{3g{r$y_nX6P+#A_e=;Q1>6=7hAHnhvgRnEE^=+#aVT)GO`7s{iq=-+DGl zf1i8hbNFjN|JU)~{kOkj-L=}m`c9eGB6`pQgn#IegjjYx|hH-yMg+|J?k1rN%V?bM)y;+;Yyg1I{WEon4-dHJ~%x0 z!LK|M`2VB7_fPPnKm6zL+0VX$*&<+rnS2nDva!MFIvuklbGalU{I9?LJNQTc=>Ntq z{qis1PyFBytowX9hwuE3e+j?->%Z~Vdm^29+HI}9^107pw;Qq93@a77*U7$5oPzP%z1xu*W3Hp7L2`sCAq&~)0Qp*&(gAtB?IIh7ZeKj(@xvhRX^AF^9zgT&geRYJNe z2xRWWi3l{$8V^|-x5^oy6UZ~&Z~lTK)r+4>8-CUm$by*1%Tmo@0b6HjMiuqDlFC%` zn9D%?Zm1uvC2-w5&LiFB;Bdd_aw$t0n|I>OTfA=Fm0skWYfO?(Rt|bY_7AR}zc)>U z&;@jx0f`x#y$#?9!^I02E?&fi#~*{=^yn^Zu(@;*ei+bS*r257~`K>+;nr80QhYaYPihw95)lV^O$Q9zY%$#27KpGp1=$ z`Cu}~NLDyCG2^MHp29GkegRX*BTZa+qgHCSx3fC@+af@0p6{&L$xQ!jn@!F#7D$^g zYU1pu2~}DV?^~F=(OuT=g52tfm2=9Zcr$ zEO0DvT+eg1f1$OZuBsV3yQnd#YZib&G%P9@$F%&Pf5Vx{y8iF7F&Z@C0-9BPN}^A<2!d$;;A8YrpPmSHHfW{h9v= zpMB*s<-hyTnT*clmQ6~h^J-W$3QAQHQCnjf&~XFcwI0vZrysJ z>@i)}q3?SQGU@{89*KW_-x=BQ45qDi*p(TzqavZs6^d&j!QpCg<-FzttY4(K<^GgA zW-D5XGgJw9Ln#E3NaaT5Bv@MRcC~S|0z5~==LHY*KtNtT4d;q8d%ty@Y*<(MzuSlk zQB+~+L|c()II5_D&xIE?L_?fW0wbMW0q{=Nk!!vwQ&yz8&Z_%uM=(^bIz#?td~jmM zU&vzR*Rm$=e9K%8t{s?>2sNFA`AK_+mbpMy5ja{F(JtQ)sge}+u?DX0Up{|t+TM^4 z0o~Apyo2vN5+~e#^ES4}$EDfgluQYrMl0%p9`Utb_mNdE@$diIKfrJO=5G}Pn*s^4 z>g@Be70j(L1YeTvVw@4px)_!w_6MK%B!2$C{OjwkrGx#q_e8jt*A{?VH`glw_7C<8 zc`AgUk~(T4RdXfP09_?3grzACP)t_Xih?Y6Jh*!Lh3-o)zFZU)*(2V2E%LgqgZB<0 z1oVAZpGD`iQ0UeTd=cb8rJ&(q7NuQy2#YWaBf{0phe`?_!5Qn!P2mr zq{QszLpYNxGx0ey@oNB>SfCXHi4k`b=Is_p5owM{;{;-c%n>q9;BiLUjfmS3aW?`n z!HMXf-Hu4}2v{}-Qo_930Ws=WWtx%Z8F4ovjw9kcgJU!YNZXUCDIARBl7rc_C~!++ z`Uclwjjc##~;TBKe#Tr@xS@yzfN0LpVEW`NkOoj6=G{vDbAwFgL9U0>eP|aK6md3fgA`7Z{$faB?YI7{z!9xWmJd& zOvlHVj*k(?5!*LzgXbCJonuH$kV$_Y#}U(=J4oY*dACEFBP1s5Zr?_lMoh$uC zyl0${?rbq{N05kq|M3>{c8j>vA9uI!Kx`D13+jp(prqBp#xL$fupPZ^+|M~10o-pa z@LP`n3In7pl$`Qc34T-{wo3A&Y8aG%E-3y0`O_!_-DWf(ay}KWhtC}}-Fs#}8wQ3N zf>gtj+MhS?k*J_d1cgZVtgvy^001BWNklF;V&;@ixPAqdpsU}n* z_$K1E&KKW&^G*EbZ~WG(_x8hIRB=G}>?Da);<(n!dylJE_Zvlr&3z5BrM8)|d!7$5 z9~^ve#dycL6MP;5y58ft=MGQ(y0b%Kb|TH>#9Vy%j7kBE!od5pQ5*?$yp*D*EXH{* zqn;%q3Ns4Q?mC&F*jbpQWlDlCKN33U5xhem0y?J#OTqcF&p8_rpmBg*q`iVHkV%kY zL^t%Hn+dAb9t_r?ic*9y)3J9>rt-?SfeA=KJ~8)kl){p4<+jO0O8 z?_It9YlknC8J^U1`VI>$p^OTa^V)MY0yx|UWsQH{4TUW3*R-TC=@gMxoe+prPxNYz zNQL-AgmV`H)UKszo-w`tdiiWPF>X(D<}X<=kYL(w6$);2%TK)L@l~(yw|?`t(HSZ; zH8Edg9^fK^IVSi}IV;J?Sl(=Sz4w@>3A=GBY8U4SzxluX7JleY|KNJv_Os94$1$=l z2LMnWzzertFc{qx0vj5i3*)L`Hsq@d9{tc2BusN5i~!~w$jo`10}ijPPyl2Ffatht zv)O=C!Z`2Lig%nEl%g70sTtE2YqE}V4Q@hn&s?z62}3Zafj4@a>;9cQQ}96^{ChYaHVvfdO#T|&`~K^ z9o3(E*L3_&M*=Bnh!l%%uKBP{EI3#}5_;zcQ9^`Yuf0hM@kXX zb_b5Br2e_g-$<2D!Il_Um1)&&HBVr?xtmfeNavd6@*oE~ol;TY?)M*jP|RRKHd!?3 z3-x{jmsG7~b;WJH!_ge}%YTzj<^+Jwbtb^!wL^pLq#WduoyQy@1c#yTG4#F8lemIm zVh(_HQBZN%JFf@;8uvdkm@b2+Y$2u$4Kzt4h{A}%5JwP4c>3})t6ttm|G(eU4clukTapq;lMjBCR(ga^JKU6Ggjv1zGZK>$tLt83?Co8^ z2R`tDQ@`egMRLPg+S|LJT$R4VFbrkmN7E^)r^0%eV@9G9b4hm0gboqb5HTCH6ZHGU z?10IP!p>q(^r%?`na%I=XrLMYXwCv@;Rh&Jz`G{ey&-yMEx#kUuEXZiMMdkztwkR@ zgv|igdB79It9-D(xQA}D0ldocLf@mmu!j^Q#@((YRTiY$ia2RylUa?>*wv#UVLKvt zvoI&B#R{LI3gAIj)fpiGbQh~J`_Swh}RLwo6{Ew#_h2&n;9Mi?}K{p$AmP`5KicVD=1b> z2`|2|p631oPksQ_Gu7uxs*`4$H_<+y0>Z5u>+t{%5BD40x#$Sb>3wlctS=GtAn;UN z|8mT(!tCCHg7isY798v!oI0ER`1lx~`sAky%2wixZGTd~hhU^XLQEPLn;*`#Wq@@i zUL|bVGh`Y^^+;gBrXRG+mpnW7<CxT%!D7i0bz5xXXgif($(TThZ0WNq&0ECgo8IHV?j;9EW6Ci?d z+-hvHB`bn!gHrhGsJt|k``f4!O1?$zSii^!pk)fLTo8m+clEbj2~8(&2XpRx3yZ(p zlXjj@%?VfKeR<)RZ>8!pzO0n>o}X6?;PBc3h`fzPO#0N=MJ7%P@g;6%VyMA}B_KfP&J0d3aFHFQ4$e+z!)PKg5%>mrD2-JS?}|T*O-lZ%Ck*m zoDFLFL|4^KTnns1-lkzQ4o7JxD z_M2~N;v6)Rc%CD=VE`w=b~j=eh7zwEd_dn1n5Plm3|UfCEwb}eU_g}uIRHv5dgF~Z zSG)erFkttE*VU}V1%xgjjXN_@(F54|fbPNt_@OTavJi0Vg%?*`;|Dd@BFk8t=XaU+ zV6odFm* zSj0RE3_d55qYnKB&N=KXS0g3W;gd%p}e>EOvVX!pb&sy{v0Vn63}fNx-OuIKo)JPzyZl%%+REVL4Sm5}J2D+XyqFjFes>O&W_c>tFrS9eB} zV5%KlC32fSKIfir_AtrtztbW>i-bG|a)1XoS_-2z3Jd_wV{_qx{&{GsNUU zDYX=w5)x}@MF>DlmOj^#QWhQvg8ls~=l1OY2JlAWVNejuRk^I7jUoq?M}XbjnbOEZjnb&J}XeDh0qWsG*ei2p9JNPLMkU zctU^aA|xh^caH5aElUnez>6=vj2NQ@Fs-o85BKrW-+R3r;BOBbDr6i}Dx@_fi-oce zq?l>}eVQYHqnjrhHbSfUE^Kc^}3XLu`?GS{gTPx|xF1i+p8vcc05};2L=fV- z7z{?K6&@B49Be@swySGmV#zA8=Fl%5&qZo@el3BYeDVXhbZHN7zInUEpt7+|GOLs& zVVVW~&>?gI(=;K)boYUpH`{YO|IcL~@|?FE{){9!J&VlZluB%Au+P6+(F914O;fbU zax8G6L)P``!O1qcwEf3+xorC347qCUnMLjqAhN>C8SE+EAvpp^UUVI7GCJ1|=|0O3)QNZOCriN|rO(MwV2avrN2sLG}G?p>y2&tL>dhz9%&B>$1T&j&;7v%(K zu#YPw%Y5<08^E49c!A7KNFY~>YdQ&aX2Xkz(374M9{^)~mvpMy1(tC?H4Mu3ZWTvB zROTh9`Rl347FR!Ul9p+HdaqA^>NEIzzw)c6)Eym~T&9sM3aJ#8V1YSYW@UZf*#l;b z>T=-d0)9{g;BWkmUtIP0&#-uragvyWnwZDBMQa-T@4Z9tZv9GGN|T}r1VdWLY0B5I z=^Ow5fMM8Rv$uy~vr#R$4+So4ZC5+*;oZ9Sum!~sfeS%5o+Ka!Tx86*?_eBviUtgQ zW0ZyRS=?Mv3aC(h-C)(yRo8Ul>QKi94acPM!JK7+#=U4_+B64X|MW)yH(CVXt(J;i zC);~C^CG(N&Z+@XMgW8b<1}I(C(P5N`z1@WzR%|L$;^0?2I*Y{v{f793Y2kEbXBu6 zh#<~0Qd9|OV#XXJVoHc9m7mW^e-t9jamJh?Ci9R;DIui3*A$}$y*L6(0z(Z%+`{#7y$XOEfkM~! z)!aoYQ&>`j?}CPh81uVuR!oac&AKJ$;Jq2x$lA}EMZYq@F{$T1IgByFIl^%9A}9nz zb1rN&x45;UCGgd&SBlXkiswbM&7Zh0+|Eu(wc*aUz97KUPd|md3#XfR@##-}8gIUh zSHp=B@56x57KxzQB-}ZN;61#V*^JY!po!#t&8BAo!ny!}7Dx<7u8Duk6Z{Hg)DFEi za-18zGE&oT>AJ2ddITx4IrKT4qB{;|6W^4>pvy^;qoO9^A9;ur#Psx7WmFs%Y5x|<> z@C6pkOmNB}E2`Mo^c|*{FwF^FXo#L~5d^hD&tm_UKJbYXyw@Z|BV|r-xi^jx_lq%EAJ02ijz0h>`TyhJ(y>B*W`s{X8Ov- z^zofzT)cQm3;yi+TOVmVKp8av#p2%cUcMmGp>bH`((GlE5Hk568g$VS;Ifr?(>zeI z@O1@kbxvwBF<~(p$R<`N$$aG+t&l0BiNbB5yXCJBkpy@)tdF-ES}i(xG~V~d`7QQv zs0m9a6apl5QRGP>MCarRAW)T)i5duHS=Smz$BU;VojN?+2Z$B!_fCJ51mRS&(1itQ zPHLs;2;Kpk%|=H`O`gJ~OBeCJ_r3SNuVoxZeDYJDS#J?KLfiWVAI$Zz<{0#SK=9ON z9@g=}89XS-xCS9;;ET=zq5J~^<~Y|BHrpVQL4$1et2weZF(b}1rg>I=!Rj5OAjKKe zxKnpRFeYO7JylQ4<78=S#i|Uu-45H`7T2GDe$@gXa}F|Ny==C|w07j+vgwzo3MOy1 z83EGuu4`zG41lBSH{Q|7{xA=JX`S)7GA96KzmutnoO77wSR0^H*isoCtofRYDuRmn z6xj*soo~(bupkC!BrPZFH4)K7u1E@l4+Y^RSvGl|G%o^~S0q>vb)_{@Lbh6$V(ygr z9=V8TQFE|7+fR7}V9$BW*>Yrg4L;cQwnyQkI0A636Cf`uSZe+HrNSxXPC%(#OoTGg zBAZA#i(cdu^?)=9mT*L3SuG6sg%@8s73TE*!Bq&WohK;j_*Jq_}It($!gbi`SN9i;1FYicMY398+s8n*ftg4e-XfU4&>EOJ{MR5!L=0- zfR8_a9q)vtCHLxanhtz*oJSg9T?9;oWCs)_B_#R~Aln_tyHYrijS!vlE3ZYuX4oK< z!p(unA+koElW*joCCa@j0t!k*QoLdWjAA4!wUZY+9|{2+nZ1AF&zs4b==zNkExHzNnMpDQ5z?llu?Pmb-og7?`L99byk~vl zJ;Jbow|S$=gVdEQ2Q6g>z~E|U>KzsBa&cwM-CDse*026uKUf-Ce&8!_2EMYt$w-dd z?G_jI_5fkL{@Uw!SuJ08jKhfNC zVj%dXmf7 z;8d$B$!0_IxK(lo)GAXr8f$c36cwjk*xWn?5A~;?c^Z#B_8182Smo@!F5D4O4Ky-T z4pL%Fo&ylk0~@1UzkUO6uIN@LM&8j4o@@0FE943*SV~$PNWe${tvo{)U{2;;&bqEr zQnv9tE4x^o)m+_NT=n+W>#fO-xob##b^~K+pvLME(b{cQIchc*vFw?4}dz&y~WK|fPKvU^Uf&*}`Duv$Nw=e$Tg$f`o5BSz|yXlkEh{cupcCtn7 z@{FZGGnxrL^c{wwLmxamlmRW)MP%0T8r$t@C;^;v*gx3EFbwEJryZp|s1@?pN;Ae- z{qdpcX}SA!j&SgR62MG?S`Prw&n!t&`4=--$h;s7W^agLncb|sk=3Cpbo~Ht(Z14B z&H?pausn6|J2Xs`l10(Ush0fU&00I>4ye!LtdWlk{wlPl1T22YKZmyULc(8AT z;2i$r?5h&42tbT_pmm+M@t&o}8QC{WLQi`HFikUFdgo!vn?9v<rP;tT49JLa#_^qFOw*(gSAl3!sq%vN*xMW6 zAef!gKbO>4Mi1CEZoA65UbuNWM8GRouj2Rr*>wyXg>aXaqBSQ_OzM{+LqrdK=adY? z%nuv_bp86xGdQ432FAI7%ksu-=s{?MoyZA7=U3NTJLhoW(j^c%jZQT`e}(@%*fF}k zL!7WMV5((6W3EFbhqn+k&*IU~WG}kM=w*4L)%a48gp_8)7;&SG!9C^IDbk2-k#KAlBGZ)>gSkl=b0ASAu|?M@s6U;LZ4nnc+hKxf#7h zD=X@kVQ&VEv3>3EU_mZEjh8wA%G&{+Z(Vo+%NW>|w^wF{Bi70}tK3ooyvICi3ZMwX zIbZTBl>Fx!oAfou6oPS@^fNW{H}4ppa%Z2DU3J{%NKCbb5^R*;tVGQ=;7k~`!#Q{V zDJCrteRb}eS$znC^F^|k(KzSy8FrqG$*+DS)DRX@N^0PhM-4&+()Zq%d&o)3NTzVJ zESxSziwHikPVN^?|B^%iP8tEx$!@>wNi9D>jbJu?4-NqY;CMSC&O79=kUaYdPJ=P# zX;P_`k+pQ8uP41?X52WX0$~4ezrbP6V3oR*F$XjZ=E*1Df8W>e z>Z_l}7he55-uvFiSKPR4R?b>=GZYCxWHUP=I11{gpZyQy?v$k+z%uU2LUXVjK3<&+8qZ)GR;`mTdxO*Q-DKWgG0$0AU>ImQfoEYOYVei5Q z$H!Y+x4n*qIAP-qnstI{in<{NMY?X^IWBYEYtLOf_3Jyje)M4N?pY)O+RM9|an2SF zmW3+GNg=B_>vHpY)Mv`!tP)b@m@rQh`o0HCEXABy>~r>d;1mHHpWJmwHsT6r`vF8f9~`_mT)1%2 zjDXS-iZp7w_W{1^)PXH;*31u8KYo`fCRzGq_2k5jqno7|IPKTL!G8UFtqbeAppwv@ z;Nft5yn`>+$q~cQsR@vU*mPZo7-t+Dt`P!s;{n%BhJV*30TSsx(1ieJ4MB_v#Eg_b zOAXKE2h9C)6M zfR`Qls+u70Gt)dHjuTQ!a89L(lu3e?ACMgj$>gb7YO3;X^R7r{QsgZdj7Sw{Ilg*? z@|sf8v065vD|^{HLjca^6h7;X=Y$bZ-cUsvhG>y~P$hxn1Tg2(cOAS_*nQ}GV{_`p zn#^#bcu1I|lz^+*(@GGR2;kii;0?i7yYQw+tPm@$q5x<^fbM7QWcK*lA2ETj83tU~ z+rwrU&~+w3vuA4&Pis&$r-V4q#b1H>3?#J{;6-Lf?cmBmo;c}<$M{Z5$2=qR*%uq} zuOw+2fiT91*_0t!dCyrg4TbQh-463S>)#U@+vBZ$4@v+X=gbvucu5U%5-oU53lCM9 zrDS14R0{?%G(+q;=o3*gJz3GiJ)!Kk`US2Gw56_Dolt0#aXLX4Aj62{2nWT=8G z`O`U6O6Q2{5nh~gr{bZ0_39P$Lubf>GEQ3W^IQa^q*1hUOv|7YJa`Dujhi?1pjt7q z*1NEnvnd>iqWzv{t)i18d+>Rw7+L#e4{{-?vOq*-ODRTk%{wmo-ZGjYb2#fl$q&%^ zpaqa{Qc3E{L`Hgxue;!CR8m-yyxszay}flqf%f;y{5Jc$ccD|XFD6A!d?@JPb~_@@ zHKsXpFW2w@xc&em04Ycnt9dT@QypD7MRxLRJqPAQR{x4P&!xy+doAYp zW*-6)Gl-OfAgu10d8S`H6!P(MNLwJ=w;83d`1b-ko{ay6=biH8v3cy-|QvON&z3H3g96Y0CHkk zptyNSlLfSNjHvRJ+#N(_#A3A?OOjmQcUo22NQX-mXTcA2`qmr*DJBp%Z@lo}^O@jr z`SRtW`zNRV^Cec(0FrT? z5+h`eXJiHZ*1K`*!5^m?yX_XVHpB5tYO-vzhAJX#$N}_rHgU06sJhK)dO+NKYLNH10_! zD1yoso-8Sk(FG5NMywJ6UAKp!@AcMl!fqP%;6Sw)^?44vLR~|kQ(i!-x z31gZkb@zn1Fv7g(^Rl&6y1e;l*WuBb##-No7&$YQE(2$UV0_VMkP3>FxU!RTiezGj zcVSg8fUEmgOTp($coM<80O#_2I2NveH*|}o@<9|aJKX}{`tuJae`H~FU60MsVS9YM z{$}2H<$i>&!}0O9r0BH@4}r?uAcD|!*lY$%Ry><{>MS>{-X_w7y_q7QiH0OYcJp{D zt3&eNMJ|9y|1R%6dWLN*+z~j3it$Bmj6o6IB6_*ZY=O;Jm67BqfVwS2A#s zO`5XC+1RSALjgGN&r}soC9j5IxeLt*{2@d~KlB0strxQMmI?q9LF~R(HIq3-Dc@{o zWzU?f?S%VZc1k$}T2S&F3i>07Qgg7{JVU z@x{||PdnJZiWDQ@JUFGs(vucQN=cc@xd@`L)Pr$%gWW<-Pg967+#T?Js7_dBP^iSY;W z!QXcN^pMa0{7-x5K+c0iJ0@W&<0P`rXUzg&|L_1qZ)k}pq}^x|F*Ez=LLrU~eJDj0 zJkWOmED0a{s^?Dqx*oIuKV{P!f_aWM3S}@yYogk;R4F_wJ%5}L+9Cu29k@i^ zu7~oeaa(?lAqS-Rp^kNC4s-F^!`x7INr^zChss!3RR$ci4?1y3nZ%#yM>IuB1;T zQ9owghfja!oyHj;!E0Zb@u^RJ2G2hG^aK5U*Pc6sD=DqX5)Gw1sGJyxdS9oRuo-$x z(+o)oSFbz^@9)2JR}XYo;IH+tATGY-c@9jjI>U*PXWDg?jFjgDXJTHGQbOPNAdrrf zm?4FkE^y=v1erHmEV}8dyI41<>Fz!a|b~|h~ zn^V7x1GBt#ju4Ze8+wJY%>YIK?CtH9qJ)u<@!`F_9s-v?q zR>3$=5Olgm$5D$quqE1|76Aarckl!?RkLFH!rleM`*b~gcLjg4c|Vuzhit4>2EHVv z(dSGAXEWMr6=NcZafU;e|DF8w_o< z$=Q4*9|F!fcv5$`$Ogv{AW31M-JN3qgs$)4k~*@?1~IX*KhgTSpW1s88&N11;pUB7 z4_p8oKDV!P=f&3%3!G`KSs3iJdv@NLeQwSZM}__+)eLhvKXSizbU|jl8e>EpC$Q6O zgE-HC0K0KUOc5{MdI2B)ny)_f>$r0D3PK3QyoQYM3PZC{0+y_6d-hWUDfbD-XraX?l=fEgs#^*dD^WRHYM3EkcR z*M}31oyy{$rU{!~3)6X4#m|=SfC%XOL6HTveTZwCZB6^j>4AA)$S$tV?1}Sxcz6ha zdsmzEz3{{PtXkR;fOp>VsA(|*$O|IpTxZE2*@qlcDg{BF5etC6?=eSZ#>(lx+D@Q6Bw);!h>c2+&H?S|At$) zO>H+SmkR)2jXAP}$#)(;)RZ`9X?_Jn4 zYf^Iq>y#|TMqGt3Qmpp51@@PU*p!*SoN$(Z$f!V(CW&AgclsHCOfH3DH7z2zaeX~0 z;MIexcc-$>Y<$Q`4n*1~Nb*0x1kzxLwMwx4q0H zojEOgoK&|j&~PQ~>f2Brwe=;AARmj|mY{`0-*xCaP3fHDglRYH9wLlx7?ixrVkoQH z5j*=pgL9Cs(@1bcOmhS{Aw}J9r)k1=w=1^n1hRPHV0OT%h}kmp(A7D^xj+CO;s`)a zbby(FWRMkU2#np`@_^;TElWs3*A*myvWEZ(I`0uFVP}M*j3`J-h=~_zOsBn}8U}}> zQ!-C^?%E;#;1i!Rw8RzJNWLdIOr;6J1{k>dfF?jkM@R5EG-E}qU6@Nmb1rDg!A^C4 znSbpptuw_WM~>8SGLIxuN<{{!!6OmmO{tNCcZy@3)Puiy_}Pe1{E&)(>Zu_(zH^K@ zC2)*Nj^b=&%rLg=zltg;zOa}czX&(EJ(SF44&AhPQ8lO*dsl}puiI`$~* z9c11BWcey=Bz0}DxG7ljbDhVe`AqAF0U>l4=hsSneM@~4<7K=(T)zIk@bFXsCs?tC z(2-JM&L&}y3yW%dj?v~h6;eXdglAVgqEV`FP7x_NfSh*!tp3lZ!O*`aq)MgO!>yy! z@dCKIe?=?iJPXS+QccZS#3*M-GKoBpH~R7MF+TUotLVFcX`WYw+2sT)ei0hk`~tP{ zHBEQ3a*K>K&tM{On?xo84@Icv?H2uJz&y<-W~j1wzAFN7wgm?> zhvjB1XuT@9kU#srR~|+An&F%)Uh`|NR%O>$pNh<((2kSKxT$#mlUQ+^aC|%!lyvQv zcdEWG>DX2oa~Wy6!UbY8Kts{~3#NI}Lp{?#Ok?jnA;wq^W`Z_>!D~V+LlZ{Tb+GQG zm;`%!g4=iQmrBzWrFogB3DZ2olh+W}#?sq}upO@o`q}r)e`qjUt>U%Y%z42afv5Odkh_{7UEV;o1T{vWJ6O6J#1&Y=%MtuD=JDl_P_%b{{0 z(gVc+A06G)g-=-jplS~P1>GR)?B!lk8PzhM#Y<&>1R*XDFa7`Iy-SZ}*Oeyrt+n?# z_eMk}MU^OtMP@vbs>rWbI)V%wZ8Q|nBe-Zz=ts= zB(rPIMWEb+`cNQ8%nF<3AHkxbruhM7z4hVYfikYA3E@`2DM3u5or0#a{mqhYfM>@L zQD;O-K$r%zRgLh@*$6Mzd!4zE*PcClw)3E(ix(F&6Vf)J)Y+WcF=4ejL}wl(o7-De z%a9aLkX66JIF7h}b+h+}=u=hZ^NwWQ&=j^biN0MNDux`dg`ZccWipw4>U3T5~Fb*lE5D{a-$DjNbpZ)#| zmHv5;5CS%v4IJkXEG6v@VM2@v0|=edk+Wk$v2hQU%6mCqK9_oL)x zL#&fP5Ow@u;dQg-_s2H^NVC>C83Lf2oU07wCP!V<`~(pRzUyY*%WMfuFnwk+ALcA+ z3L%17Os17;{`?ZFt-*mQ2|j-LDgM2G|F0g|9esddRB!9THg9HVWN1fb{`$`0{lEN6 zbdQLcees)ft*DVnmdoA`)OhE&B$?Ub+e$;`7{QXYNi9N2J1Su{AYo?2FoK;^v!+}y zBx!e!@(wa_snW9K`*`rGy2jpMPmJxbRp0Y*0$Wk3wyl7eTiaJ(y~5xB-QVM9@BM7| z1;EKMB<8FKTMKM76k z9o{++8EDQyYP&*3LqXuYM0sRBC3`OQz*QfrC!X8 z|K)%CpYVOY{>T5}U*LcJpZ|C5)WcNR{>+SZ@0HjIja47x1kDKQ;Mr+b0_AWp_4Y_H zniq|74Tuz_4k0%#GIzN()M}0@{RlY#a}|JArP6}BOduh1SIe8Zvo1eknj)O}&#{&QdwSjtICozj|~5aF(I`qBE7shBe5+ zyWZ?DwG#fTfAp)zEr2gBY>P4r<;6EEy2p-fRyOVSh-TzRG(j*+7AAe)m-IeJ!m3}x zIgb&`h4J9OtmznyqdJB86P5%VNUujxzuNXqcC&AeadK zYNc**oiAyQ!#H5G*%tffuJbrJ(2akZCVchvSD3~L&S_V;k6BMH>NG{vQY$l$#@J{U z2yCqOSnh?ifHeBg?Uk}ASB1ukyI+hJqGqZznCx&00q}a=W6UFe0OwuVzWCfhEggFIb<_hwr)giT?0-Z zNs3a*mt+A3WMLWLY%XSO++0BymaJfIps|PBluUZ2I(1k1DPbzglVB|6)R?VgGb^_5 z&+m;bvYJu?La_1HenuHGE1&fIrZ6E*Q>K$3#85g(CX+si&PILbaejV*fBaAW@y?I! zz4zY3YQ4hEt5-!6o>HaV58DCLG~JQCsxRh;AAY#gW4XP(#pj=W4o8I5T7!ICCMVkb zce}a4WRbAF_vqJabY2N%!!Y9J=BA7+Qj)z8SB0dB!8JdM971JlF0(^a*tA&khG{ZH z6hDF&Ar&1?wU;N!yfEczY&Jt7B}WTQ^2{LCK(E}iwlcn zUX=e=7S-&Ql@sa;8YHP9Ugfjg777b1=}0}xrx?ru42WSWQKIZzQDt=Aft?!Y2n7AA zF9ARrZ|Y0&I{E&Qy}Hx_WiW}_YlVT7X&VTy1}2D@t~L;`dND>!Dny!v>t z<2*iohF|}Gzb-bhVg@#OxfW^TRqMx}?RW%md7(Dm2SZ42h?|?+85*yD?_rT|4RX+|p}EMk<${~lH!B8GlA?qEA-|Xi&iDnU;4Qf$ zeYXNp&Fp|PR5Gcw8)WJjGp5RCsy7bEG-?qLQf$W8cZjRmJrH+B0N+y$@ck43GS@y* zPNFJvzgQ}X=o?cbU8WUU&-NM}mkG2IDP&&UG&ApRoQs4FyFp4_sffX+x1Js zyl#EXGwiwaD~6yQRo5v)J!(dM457^PoCO3a8O>ngn9SF}OpWZ?Ftb@S`#p7r7OZLK zlWb#{wu8o4|qy06ae} z9ezD8NyjF|e8#-TiSYdS*<1gvFFyYQuU@?>$%3H$(bcGNEXz##mij06QrVY}1P&>| zcYRqLyOsLkJLW?E^WG$Exg!XZkp@YvPVIBKm>}XZ$0pw6V<>tYDFjTLTQDgc$*T@v z#$;%kZv3oQy&(kEwv~t+K-b0@KqlNXGxMQ?F55{y}c)dy~!8?bp>oggW zfPTG3wCL3-gtGZ}eW%7BP;YW?8~Zp8N(>uEc<&KIg!6C>Ga$0whB0+EC%1Z-|MNGV~xUSWN()-WRL@KTDHLclmqCG{;kRqku< z-(F+KPPOg1OfsqDlzlu%!@~{^p5WbgeuC?p8y#m@+U0t^{=p*vE+b22V~#jDH~~k=I#oDa~e1&DQQC*qY*9{5@L}C<{XXEJf-YwmzqK(uYce5{4cl2 zE!cXyfsr;cA*?Ruw(FbyWD62uskOsAr2RRlOz zxm!w*5SF(Cw&sHX$TVTNxq(ch%KbzzZb!%z5vQO|YtBKu2lu}CuWvR3uCH(Kr$2p( zPe1u|k;6PWInho_5@L2qw9A~-?@Qyo^WRbM?0EMIfXj<3gb=a0-M~4A!=poVU0*y( zVhq@BH@LaoV7uKa*{|*T8bwRtwqSW8jdR>2J7nV|#uO&p-dr~+s{-de-g)OIc=z3( zmLx`Q90Y%;uNWfwuG8mJ1m1c0u2aMdD0woiizgA8e7xqA2olC&DkOCz{oZjH)C9=6 zGIJx!#&y-{l--ZY2S6GaK>wqKJu=g}^B!ZEkckudnId53|J|NAF`s(xRr4Orktrht z(j-fj|Btd*T}7niLnd{mN-5&<{0jfcfBGLk>gPT;nA15fCK+Vj`MIFVY^XAO^5hm&FbMCu99X5F}wUY|(+>g|X^- zmBd-+ba8Qs=O3Nz{5VfePiKU`*>rRk`&?5OcRl|HQ~|@xc=F^4l0{L+q-^hT)KpPT zdX#(5em!8S{_=ZCtOVBUwK}B&MQ<+95o5^}R!g5$x6Hp4nNpxWgC%(jGR5>H2Go z+bvR*BL8b8o(uqSLN;kV$VHY2K*`|$`nq~?4*XaDaU-NgK0A|1Tc+b zu}D=yoDu*XJB-t$9`MHQ4^x2i9w|o6w|B-5@Ljp*lmp-2^{ZDHwgZ0hlXn1UdZ9wy zKipT>X-JcpHFDQ?NFb0T#5k$tdV*Q4E3blV%R@w!7I|7XXh%1lp=clHlg%);!f?(Og#fnKAzz&w_7KG>L{) z+i{Jsx7ux56-oezQ<+tX z2%bMe0ys?*KKbO+S=?$NVlK7GvSz@yYh}LtB}vbuXdxu+pv`%0af?*|+i@%%KsHu^ za{xKG4j9c%4FLQ~Wnm$zwW>OWt(8R|MZ>7P$2gA0u*aTYS9vSKBoVuiAn;LaRs76IIJ65r5?-~Iaib=6@CpcP?#aDcAw z@#R-vS(=`qhN+UFITNXEyz%PmSD3NmexR>u3fOG6YB$djG!8H$d9%Q7Bj{O+gCt;f zm<;8M)2QP=-xY(<>7z;`~$ySqmI?Us@`d@gVKGul3D znx>{!xA(+i%4eoH!ZNprWngynylNqynI<$nCxER{x>CVoK`O z65H@3-L$#%>r)|d=5>&X%x6goB2^9MGD=AZ5^GejSw^>;eU28Mr2)Q1(X~`vwzCny z>sKXmZv+5h2ve!{GkDhcRq4rNs;>0rPo7e=q_6}~FnLC_8H>yw%(kOlWJ{A~A!rtb zaUAjc-+iXBzK?i4|LC-I$2rG9Z&aD_8qOYp0Gyv+lukhQr2fzLuG}VjAOa#DJ6t)G`&9+e}-whEeMoY@e>!8 z0lv{?e4q=gS>|f6^@lIM!1b$Fc(P;p9RNK0@EKt7t_46fHAqS|P$@&!AAb13ZV`YN z=hbXT(0C8rx7lvXIo28Y z4;uksc7XH6LY?lUk4n=tR;G!lO%lx;(!8;g*$Y!b<*hZb<#}{Ajk&OhcN%Ef(Zl-| z=VO_!={2g=)(D8Go_J}_b7T9NnfwIJcSceuSe;^((VA=_RR}f~ujjInP%Cp;A`2Mb zXq66EGKvpo(zGj#vlOZNJ@8BB3oCq*%CybLu zg67RXa{?qSTc)&zGtLY{Znpz&w_60Us8vG-9C`oewL;1_ zxspj^(=50;zg*jr0yWblHbc{pm-%Wbyw~`OHp9q zI{Cb%40#z7jM&%jCaxBY_Hd9f@*fx@?tVABqc9+lTI)XYl@WjfO-j1!Dn0v}w|QM$ zTvk(_!X#d}DmPch^2av!lvHb*;Yorm{`Nrb>-g&PB_*DAim`0|(*9|zi|e1ce_^tb z)fA%k7XJX)*KC$F5RVm){+517z`3_H>JVDp@K;C<7R7x2Xvv7#LmU9t3Da!IUR~I0 z%h9rd+l3=V`G;e^(%b@<3lRZNPfsluOjPB;jU{CR|7S#Om#>dser$7H6yoWlm&W!U zS@7l9q3`=yXHU)V?YskMg=rkH-3D7v>pDVB-olUJRRVb$L^w(9h_&%d<$~rXx`qCc zDjxvNh#3tUSbP9V+9}wXT1Z+^yfc+4@XaraD9E#+_-h45y7J+fEVYN z=B{YQAw*!IWr^yd0Z{dymT3SZ(`ENZN@W(Dc>^L#+vt*|_0hdbk8wx2Fxx5TT_D*b z5mtP%Zsc7??rb?>aG&Sfn!`0pK&U2fQY>2=SAQmB=M^Kfk$HXniI;JNXEI{p-I$dphT{TC!*1`A&cL?|%C!e)iLMnu1!ex!qth4COqe zlyW|iB0&koMXu{QJbiLl(=8uz3S6qln?`*3<(FmSPm<$(QTSEmZ|g=WirEpBfa?mGDo2Yn3GhQ)px14a;Kx)10}bdi~P`k{@Lfaxw+jz z0dP{@KRp1?K7ao9UD5fA3ylRO0(-9r3ER4xek|bNLny!lcT6FeG(|x3#X|E;gYt1{ zBtm#S3D7P!)nc2RH+{)deVP-(1jU6fzfngt_h*2TT9+DKoSq&VxivK-A7!a4+g^X~ z+1YLpfU8`jo5lEMv%xTp#oT`4~m*5Dm!e;>azLssP=G80f^An-ao76%-IW3^h-PP0f@#+6 ziKxc@v9IUP&-BJ^M+|0}CxSr)n-|A1d~X!6;e#!Yh>l0!%NDBiJD9&X|_?y zEUvlnvT8z%YJ0eRSNPDKsg2CMbII?Gjf)|7bjos1-!9l}Hu&tb&lfq;=VvEqSXj-U zwg?fNp6)gX=<4!HH~*yXFHG6kWe)kzyhPgbWXXG9zq+;}p!$?7-E`!i&ct9=PC#ym zh?|CC7E6mvyu#gD;D`Gl=X1oi;Y+awW}>oD=gph5qCzRiwMZ!B^t#S-6=XN+m3cgH z-KSjBL#Nk#e%}ru{kE5X{G#%92NhGOFsm{6%cjMzwdDwJ6kU)Yu$w%u z-fL$4pW&jBEr^-85LJmxdTPmHL|K+7jTsb`AQpC9_JWo$wDjxAlOx>R+#;ofRo{b% zaC>`;Cr_S$h;Vaz1Lqu8t2MTp4MYS-M~8?p;pX-RPoAi(^!D}^tA17FwwD)I_~3)T z-1+gIoIFE{A)~D&OhqiwlbG@DyYJ%NcYm_;0zgDCjGFM5tweHBT(l5WZIMCQRj*#t zX`1lW*I(n^ciw^bdra6Xj!&${HAZ%x-)3`GVqFty@#Bm!;h+7p|EBUJsGX7$W=Q#+ zrJ5Qq{)}kF5Nch^G<$pbebs~%y>_2|`dKL;iRymB#rJ`2^EbI4=kb`e%O>TeMxDa5 z(V0EpO&s*h8Pb|s$6a$?rX_mpeG~w1Un0a*-?ZmWZ`kIp$f$EG5u8)2=Im*~yxY$k zFrj5&?zDLNMj$Su3J|9eWh!rtHC5}QrTpoCS;wYl*nz}@P=WFciwpiU%z^V z^YaV*=l{h&-TCpJJwJtauEc3)?R0A7RUdt{TLr+^Uw@51{_&5x@e`|!v&H955^Ym} zTEn8o>LSU^10eG&VobQczQ&WMPc%Vp&lPLlket)C)8#nrh^ng5H)vxOB}p%hNd2pS z{qOFrm-lCxG-sYP1y`M^6T&nCsU;}WtRv4wMK0jW_(%lE5%Ho$ruW?}vX|SjmqmM% z?NJV`NmXi!{kdysQEZvzcOE~JP-%L#$(_D^@07X@eZK|3Yam%7a_6950|9WI&0Ej} ze!%P()BI<*@aY{`r9$paB_^#y*B$cHLhTnn;1EI}T<)L%IQ!@f-aDkIx#*cV@mLFB z0JuEA0uoC101yrj4$yaAt#^N<-Tyd_AR;_9=evw9g=s3$qDm+wNKBd_7GrS)BmoXq zYmHl7ul4If09LETQ{n*N=;#o)h5&4~TlA}y$=w>nP3l4^0>qd#_~x={1xY7_H%NNP_f97bgvBy0ulA9SJ zM1(MDvHU>l-xT!z;MHnzc%6v!oUt<`D&cms!D_We-*<-O0XMg|U~=fZ!)6$8u`uFCidCxPNp#@VuWc_0 z?-v+s9szeDel(qZ?YI>JD<7N336uqoXd&%2)%rC_s^lyCU6(s>1APDeU*hTE0d8)$ zh-oY~w9Nb{V-yj=<>gh`wEC{Y7&MZ37zP}MAGSyMx5BEJ6FT!aY20cw^*9VwQKHsr z2EVGrNH>aG^s809!HM>U^WEOuVi+e70oT{peH1^rmlcex0vtHl!fueM%^CJ!7i2-pM zEu~M@W&%PI0%5{9DEiZND>&b&RF}B%_-N++Ikp@P{9n}5xhQD&oXkU0?;7X22hs3- z^Dq}3?8>+NyM5D+y}?pBx{?huVbf^N%Esz+)x^}wow-qK#!2@`SJgIn*KauAnw(w4 zq{3L2myag_5)qD1j*Vkz^LnVR_c7V%zyIB5*lf3O-obmXMoL5)a~Z?pdiy`;SKs%D zG2;5>TD{XrJ7h3peXv$%zZgq5l70X4ZR@x}Mp~*1Fuw_Cp zI9nPRI|rt;jPWGe9sTuR|7MZnJvcbP&)<6wHGfez;?=50-*u3baC)*^0^sGv6~Z(r zx?!7tiqS?QdJn8tJ-W`R7YV6MtnYgq9;~ri^%2vL6QYE2-BE0QoduIM*3eAFEK2(XYKZHt8iO0}XfcW5 z!v(;@d+2i4g_pay-+s_@5@1(0>K6XzB44Twiv{k#Q#{^-Qmt|)x=RLBI8&@c+cBn9 zQlzL9G#Qo>T)%pSKm6_AJ^I(2K0hh*Nv&mdF@KB=@cH?LreZOJyw?Sg1gq5=hfj`{ zUmW&e==YeS>&ernSglsYZH<|6cyt8c_c%B@0^2z|I6TC`;USKmJh4I+I6OK;x9V|t zbX0EI)xjEUGj3j(VA-PlB};+1NY$u#?9c5{XDjLqxzM8ElTUw(?RHq?n2&9P&mJM_ z4$4@sR?2tTu?yh&`8i^Ys(z6wiFE9+TCdT04@Ycla4DM%TOqJo^;q?N;Y*Zt3OXvn zeiENi`A;>^BZ(!XW^OtsBY@PgPu1EIdzq_ZjF0xFeK%^ONKyb}0 zKO+U5_gJqF(Dy6&&ZFx**!U)F909i7I~COq*T3`cD(gDU%%7;q6exy2t%4{Y8@pyN zjQ6*Ec|BBL-f-W2Q~_{LcJ~Gg(B1E7=N_7mtS2~!eV`at)C!BJhTyc+)_ZfKOb{#t zyg34(j@?d(fG4NNaGtU1I(T-a$a($<6QIk>D@4l%pJKpd z$$QySnHDE9F&b4aAPf=vm}FmbO+id>NF}^;=|#2Pe_hwvrcSdzIV6aPbTKgxg?tZE zZ6(UclPyDhACbn599^F&t{c1--DHbfmO0gpEx%2s`v{x}aCLRH$T1(E9yf(_gAO`} z&ikDg0GH<%8t7!mAOY}RyF~B2HX~HKQ@Yc}5`eDnv0nAXMBVIfT-7gPhu1h0iNqURyWO(w^@4qyvgPbyw&SdqsJvvT%(cRw&7J| zBVV>J=~gTII<~W5>7oJ2QK;HMXc0yC{MJ+-3RJ00%!Ku-!_%WfJbikEcb**K=8E{XCLlvM3T}htSeu_gT6V}QZC$8TjXqt zsgOB`&4>_dCcT*L_Gr=7Y@5_L?q?J740y+IBBQ=Aw*!$+H$VT{73R*oc!6dyxRCphfv@kC&j(O~93ZHU>CKseOOSt&|&tuf7 z>GWH*2)pkZ0qh5j*`F1#+${ha4nSr^GL;lRlU!N?9A-9)v-xRb8YJ^f&c>{5{y74h z^kVlX*+Emb3NbMWgsK*NCrW^`6HFlhOgf(j@cdV2kLn~Z&M)m)>k23qtL(EA)`FWq z`4!l$axO4L97qIA0cjeLVu14}ZD9|` zzHFBHVy5ONw6p)h8JRhiRifrB&T_^TY&X&utN0zSxBqz?r&^ zjT1sryVS=}x{0QF^K$*>woz}*T$j0A=g&QrR@ zyZ?GWCo_iOs!}$)*qjeu?zac;D*2Aee%WfjbGqo~nI{o&yV(}Mcp#Y(PzOOmOk{Sa z1WB>Xk`GoL96!-8Dm(u#7D@$tc6^K&6T&zmCJlw^dXIj!#;<<0+YErqi%W|duJ*_v zLI{&~%=tMMfp-qxB%diIglR&Isp$X7^5dBufKajnLRh}TX0uRFm-}Xf8(B zb&cFKNkmLy9CTN=E|Z3eXu-hDaE=u@Xw2zaIXabYRtpy88Dt)TYY@ipEla^StQR|4 zGW>V#>#u)Hyh)%zo9%6La&m|i3&Bq}B9yeMc}LY4Fi=Y>xnl%if45;608FB{7~Wb8 zAe2)=CD{<58PxdJ-O;lT;JOZR3I&Ebdqe>+3Ac!vnUjqHrVw$xgB*iz zTohafkgqn%NcM-ze41>|E@c5p03rm-c2+Z6&r(@t%inf}){=K*_5|HGJK67xAW#Hf z5K~0w9M*l0?Ko-#DiKzFr!5%N0$PaRjgLcRo*B`5!qMRxH@8~|1Q$z<08UTfoWqa= zAw+o32vY#L>Ct`{_X~gvMZcsO=VSvUav(`S47xTkgNX}YAQQzLb0JnHD_GEY1B8$k zt@DTo&gnQ1$&g12sFEaQ{G*&2F|UuPQqKhQzL&*CDS|4`&YO77%U~iTW9(ByT)CU2 zlN~f$kNxt9v97t4CE?8a^UUg392*IbiygfH@ZO38kdgs2+90Y1$@vcD`ZCao2eU69 zC)59D)R~0K9+nBXF-3Upzq$K=gY&qHU72@vQQzh@a|3jp5s$c-GcYP~sg|i_9xx03 z$&!-UyubB4FS8-C%5E9hI1~T!j3~2IVZl0|y!;el3Xl68&f)Cjc=rAuql>=0e2Exh znSa$ThB1YRzUy&xbhzN^#m#1=(0&-ML6WULDLZjD7h8(}qUGg@A}!V+1(v$ISV~F$ zkfDNKkVAcY8tNk^b5K~exx1X)sN=Nx+D zo}6DSGXnVK`@h8D;bGa>`mWc`TSWN*J1qdN3UN$jbFQ%EW0)|G1Gd9}7@}QwHc}wj zI+id_6Q(H`(M`WUlYg_r;IPDzsNxS%-fxZ-7v1eJ}PnvsBgSW{Cm>1pyc zsHP`oiDe;wN+o5op$23PBAV~d%@>Ky`ngrSG~5@e#ZL^Tj*wL4giPrB6`YX-MFb&6 zeKy8PrG#NB=P<+x!?4A6yFm!C9*firjmlv$38426?t$OOYhnG-cN75a7{L2xVWm<< zahq2rwMU$TztsA*+?z$r0)VWD;Jf|;J9=eJZA{4!H7X8U1g!u+{p7cg9|QdAZ00fj z7zMz^`6XhE#o;XF*{kJ-=R~w6A$GL%DoJn>K$036m{I1$iu-kYWB>pl07*naR5w!y z&>n8#e4bOYsptEv-Sle_P#4=I2`SHi+i)0>y}7qkSg%*`U58b_Lgzc2>^KDI z{Ka`eYM8Yk%GZy*Q>RC7gj=c(BN-*|&J{>lp?GUxteM$I&BsLW-l>H$v#NubEBsA$ zW37Z#)aR~|-7Wn*HLm%ykga0iqj)^({5-drslo;3%-9yWZ7O*F87(o;IfhN_b)?jJ zIPdM&PiBAZszSz@Z^jf5rhpJ9NDOKu7Xv~VZ3Gk$Q^YU~h$)qsbTKcQ$GS5*2-at>|WY63k}>G@k`!a~{HC z;Wi1W@IYfUnAnoJOhCSqF~IYW&WdpbK#$@8oS$EUm@y6`VoYFm8U!Rtci9fpEWL5} zi#<2~Zc; z*XX+*&gmw5yki95;>ATF@_A-8%CT4HJ9M4qKXhG>zU!MMM!-&8^;Wq^@M>ztY$FuZ z1i>XEfr(99ZiRqzIj&YWHDW4A8_AvKiLjhI>Vs$$%@gvZdbV)uK_N9^lQP$)xCgg- z`-%?anulrb#gfV7`T0x`Oj(L9$w+*d?JMj&QVNK1Di*(8$8erOP=aSZ*93ug85xpU z5@=Pk5tv;~zkS3AV6OO zf-pNbvo5NUBmq!s-54N9`rp}nO3)NEX>kl7%dAq+0>&|GRspG#nMgD(b(*0XSqGif z*&#;t?+|H>x_}o;DFHtGz&b2tZL6!E;P`lV1%SpHe|GO05b64q^WeSn1@+KNmrCKr zL~!0$mU@HmB-xL{Rc5byW}C4~l~xy@|GfUT-IA2F<-HJU?bjqp29a~_?VIMl@y)Pz zSB^WMO0(fbM&&YknDn}dnH;%nCGV{Hv+-sL2+C*A*~c5nu3memR?be5p04xoOb}?X zOjaa5IXc2>z0wgz9$1helt!>rA~B(Ja}GcrKb72?*KN4JZJ&M3o!h_OC8KZo?Ca_2 z<-0}z&fEY6vnW+ix--kK#G3mtz>Pdd=4t>zz4^7;-96l8_Ry-CFF{6BI=)O2*@brc z`1F|?Tl5`1c=q9=Ao|P8m&O8LA%*|}VG5I;*Q8|4C1uRTKEuuzk-C?~IMlQ?a+YY; zl?9A_2Y9zEY}vr2wFs5@Qz5OKP72W}lUx-Rb`}1wnW1~>y25re9ku>ywL|r~NHXgq z27zOO^A1zcjjyvge~da3n8Kt6Ib9EOzHEjUm&*_V-+%v?7{?Kk#2nigPo6x%yFYz* zXTRg>@}&kN<=M1dL+3qG2xu+q#5SHvG*^8%T&w%fo2pd(IPK46kBJbW^4*lAG&bhB+iayJ-I z1Xnv)FhBV418j#8+hN4n>EnV?&M&UuyAB5jYjk}NHhGJ}hXm(4%R^sklhxdAA_9x4 zC;+gS>4*KTx?X#@gaPiXAXum+M?G$s93Q z>ecn$$VaL}?t1|2Koh@@F$Qa>lEub4Be^N#-gjK!Q%%TAa5)?Wz-F8fEgO9)1mN`f zDb}kM`c;o$nH0}XpY8N_TwPu^`<|KhB!TZb#H6T4hRjn;#ZDK^T0{*Bl;wiNtP#ff zEB3|xBq(Fu91TUp#y)A5p)xxx!QOHyBx~wxIPT1^rOg452GP~OwNc0#pj<+bJwwwl zV3;QL6Nm{h1Z+1q*lunhNqI0~8mmC8JdZHvRyT7L)Ix)sJxHIIVo{vE0UFm@MopS6 z=UeLNAtu}z0ZebOwaB+GRBy3o`?p>dzu{(iojF&&;O+c_OirQDi6~@aQmeLtZWRI4 z_zmPoQJUgm#%gWR1ER$=uNj;cYVTq#I&AIViFE4p?6_$2&mNHh@W(&?315HtB?ye0 zn_D>VEfZbmTQMeh=Ma~~+9fH{V-wU zrb$`-$;J?Xs(4HuHVXi<|BM2JlrULBpsrsFI{_Noe~J;oNT*pIFCt(gSZqohjR0O7_FrI`;J4rC zUiTBdx{q?KIb#+~b4?cJw1bUP&`o+a1yz>AALt_W(y*V&~7x$|dBb4b$stjLY z4{|GzTLG?v694kRKmZAlI4-_uB@yLzh?Hcvd~ap*s{Ankh#}z1FTci@UwwrTwO83} zHu&<(udv+?<>x7}aQURTFor^ibrx3BcU}u9NnlApQf9xTSRl+4lmHcxz>eWM5BAP% ztz9v{`S|6>3Zw7%b$oh)5CXQ_4PuI5$2dOOZ4B_miwm^}Z#w8?k}%(O2vewB0CMQq zW8JUey>2pj^wx4YV@w#vu@-g7{PmHD=zIre9ht1xD{u}nx?_x{hgGvz_Gwko zqPZlEGT?49AeuEl%PF&BrHSOIBtXJA1#C7OWAgj*9&c*a@a7 z7D6n~kdln5NL6>0<}y`u!G3P(SGf|>eb>L?2;kd|#2&MJ?3fBKZ**8~AdvGtn05ZB zah#+Tbdx@I7ec7n&@zi*e5jzU2tgy~TH=;(V=1X6vPg02VrIPDK{W8$^HVU-B358cip;&>fkIBz$A+3H*$2`}7pVc% z?T$-au|wxOCBjh+R>}4O7;;AL$k&XrJ?5w_|F*@t5vUI zY)0M_0~gs$nwV6vky11VKyUWqT`_QrF<}Y;Axs#@2{A=XQ4Q*%q!RB8Qa(ja_2WkC zpON0eDWs}C6OnJX0e)2X{e2by^5&mQZ5{x3VDI3(!#GU{Az%u@LMrB)YITC5`@f=L zlhoNvH4Ta>;dZ;h_4TVoU^)Fgl@11*XFDQgl6nWngpaRwPyl>%V&j0f?}|Qt`AL!d z0i@BTb~cl_u!+dB5++js=mPAJl0yD55T-y7I1o8V8@NdTQ36xKvK4^kl_fEDah>-| zV-X9GZt7M5q$WHhM?~k&VHzieC1ccczi`wtu|tf8RM_S&F@XVi(oB1H&XfvLjuXwO zB9q#tDdP6_*1BXW{`b3(wm$TFcKl4W)iz(>^#~wm8BkH6=rs#r(z&qn7>Ci2h%Gj^ zHyDNi!*;Oi9Gmf^$wgC+-mUiLymaEDAyt&22!o~LG+FV2q7ner4XaFrz<1<<%Z@8r zj#f_E%lBr=gu13Eo143-wQ+9$b5dg-$AJ{;zq#FD7)NZk1Ewh;LDb-f7%?WhuX2KC zZy6-1KHDi_90p9I`ezhkr=8+#AzUMv70wXk{0N%49OgaCJrD#W-_&$0yZ^s=0U)m} zQm9}1P2V#kK#;3J52OSdGUjBh7*RJPY9ak5{HOH=km@j%lOa+H1$tfT<}Q+dWNAs} z01&*>+y3PaQUTANpMgE&*&~wCuC6{d!jMLZhL|vpqgKB$SYSvhVMdFsUeK=T_WBmn z6d}TR_4N(D`tll^+pXRYK%M!Qw63MC%TPM17XBBh(0`V9#+38q1(Xd%+HS}0gJ}u{ zdi<`3eJ3Lf5Xgv~A!zrrTCWO(-S<8E)f(OU5CTF>N>)l@+JT&iDjIo9#n+<3ZAu>qed;j#DUPKqA7h9f~9@yJQlesL#w8N(pGx#F{Je zxb)Uq$!u)a>d71mTMv&CkKWiG(*hgIHyu(ow)J5P;_&o#END58)q?jCOHxse_be zwgpnnYF#V@;pL zjaAiq%X<$-mG((9I4q$jAjG7dzcTEXw=!mCn3TROvI&F`Bc?E60AbyC=+}oB*Mn#k~HVj*=Rx9|< zV;o2Iakru=A;FPrX2AOWQwU800HK;%?TKM8Z9SmA9<5`jpdqZ<=9kmz_7P2;L=AK# z<&i^M3`k-A&jR2YXV@|_q}&Kr$+(#GvGZAjZ$*3KCa4`aAx7=ea!O+*X>%zyrSW;l zzb7U^oFZ22kD%q2mGypEy?=16wGn;Bv0FOgvXxb^0mCJIOu-DYoOuT*9IKM7fEXiEY%2F%*5Hk6S}9trGYBD+0E~+r zm;s%h9pmH?vZxp%US54_?si60G59bgvB*xHh4O-yyUB=WVH!&E7Cgf{MvMUx6Q*&( zs!w;WKP}$1NHL&MGoLlBwc`&#A=VVj;uK;)91PaKHx`n5j*%^blM-JSMgWFs#5hgp zSml789k#=W#14{xC<)tf#KCHX!}S_H2)DO4CCa)iUIa{0kUUlR-~Ru6p%K6bAN(bT z%@$D-PR~x!_x;X(_Qm-{gXCn}*;LX+H`@V3gud%AO##C=mKk*+&NVaYVT>5ZsmOrI zq+&^A<}SF@=AR4p+A*gR?VWumTG$_UKZ@L4z?OvnxgfJCck|{1D8=ZnA#QVxey27Q zMrvwfO%K&^fOAd*kaD(3%%1-!Hi+b$d7h|JC+q*SPeLvLn5jOWmQE_7gy~$cbe*ba z$nKsjtlKU0};I*2X?_4il{~GR)1Mub^#VrEhd}kfM6rzfd%ng28;Gre` zpUNzbB_Bk5T~q_S4^Cv$-uS z<#sMdl=b*J2VJyJm4p;Vu+yes)puC+y=JmIhxNM0dgZM0*N~c=#l3W#h2E#>9%Px4 zl7-5`OBy1Q%|WWu85I~1S(9x@P>6A!EwB^R5)p_!Hp77H z%@*Ew==)v~f)p_UNX{X#1DtmMsa3mRIVs@r=`oTd^qt4^U;S#QKl|dvMUxO}8gHJv z&}|0|PwG}ZQWA{g1Y$1Eex>Xb+-#zG;iuwS zSGkO|s9He;7>5BNDY=`8Fb4B%W=UVtQR^*0OI$i+-oZJBBDHlLDJz)b|4|q+^N*F(4t9%b%@*g;X}kZ5WVz z7YR_l;a{?g{r@#q&)3Qbp}LmvH+Q(MdD0MNJ%TYUc67mxZ~2M25XcmMr={RsH~$~HH#ob3u3GgC3I zNs`PJZJ`Yc2^2QyDBx(#@C;1j1f&FS{_kq2F+#>ID2Q;gVdw`!WCS5&*jgknFNeJtAhU}>dCX3)$q~&w*6=XljsJO zMp4MrP6B2noihXMVVi$w_L;^RGUqBdXGw#$j}R-0maKqu0JupPG$f$#frQ|=dvFij z?e6+|-?C8q^m?~@YDWOsC(|U$ok&)MSiwX4P2d8!b!bq{*b9HjuIcReOES{ zrC+Z1==vUhwSst$AYxKAv1iZ0_Z`@I2!Pw|1}PCi; z7{PWsV6)knZ$?$0{$H~vVXrR z00==&Ok;|98qaXO7M_{r%{&o5rfE8PK8w8LlEW#z_<7S>?K8V@x}97u;Y-% zW;6Gt5})nhcj7b&Z9v4#efwV76I0ZOG>nL%|DESbjg8>$5deDN@gyagNG6w%?8FP; zF|VA1Ud&9Ipqh+arqrhJVX=gj(97eouAROTnaX7|httU8C@0iFe9rcaOr z4}ychks4~%`*aVXMWPCeEXjuGI3mV`&UF~ap?HqWUEixrGoM;D=Zc6iB1$yBi-bCT zsp*y8yOP#OfI0DnT8<8w2>o9Cbum>nPh|92U zQayS~h>ct;bAECtR3?5deUEN7TXepM^Bp+oteacdJc%W)s;o_|o=L}lw0tau=23X~ zp4Eqfox%0MfnS3?1H;s`bbNN)XXw zmuAdHdPkMf#pOaNYOlQrUVU0*Z7BpeBCN;(jxn*r5F;k21aRR!N}bc7+1eqEAQJRm zH(YUyWL*`rGt~e9iu>^bXcpOM92B*O<(W37!2Pi@|64eZvRR2CEm0D-+wI~T#1x|% z0U5C~#R$r&cB;p1WMKj_sn{?~ShF)eOXIxx0C_>M3<3ZECue7n|KtC}$qo^Ki}Q<$ zFamc>UMxkAGz@6nt>7Iagb3%H#wi0}IAwneVM+;!5;Q4(ZcAQBflETUtdhSWjkXzT z^l0bUx?)>ySVwf7-GOQj_6mbdY_pFKWpKMY6|SE(8~S` zmR}K*B_WcU^+k6MIwl0RvgT% z-yirHEt-&L%|VtQ2ZSW5Mi&kADW(Rc@R~0rd9)T&Qdt`_h{-m$hsu1hkJAeP2Qt(`mF zPj;;eB{uS%u1|#@Kn~2=c*j!yNDCxMirhG1^W)H>PT6~np;uJ9Zr$Wf@nJ=Olu6Ye zlF*e*408~Kx56eX7Gy@21!xxC-kLN)_AGF(V2KON}1pqlS ztx&Q>vN>y#yJ0EREIYRO3owp@X4qTh)hGlNmPuT6n%N|1ky~AAWy?*4TSpX{uIC-& zv)_M?VHmMm_1O38;^GQP1nczywwn!NLg^M5f)E2%-h<6H^T4|W+kd^To9z~^TZ1UV zkpojLm~O7O02oi6tkL&HUxO6)VqRLh3B7M)=>*zFpG#+`8+}Xs)5>4FFt)`g#%Lbp z%f5%0tV2r5PUaG+T<_KPVI{CWTdYMjSc8DF7WO} z#z_QXkTMs}h9FKOR_is;bs!2D!vt3I+`=7TLw8cDX_mQP-Iozi?;J!F?P2H9G2!6w z5QL=m#p47B8H!eAsv>q>c@Mf2s^((4g;QaE5yV_3Ej2S`70sRHB30E!G|O!rw{j8O z7cT(&c_P_PI@bNgh@B2xI(L=jWzP;(_#j5Ou7`7k^?}0_bd&FVSI}e;8wXJUk!##% zXAU+11m3M{aUKSIlaKBUM11Wo`^~N&zfnv7)}7YFZ*Yo3GZ$H_e$o<{lt@GKNd7gwUu`>p1jQI4EPrnxg;NtvJ zWp;fJ*Y^k_7*fI{f?()L3=?_)YXV$K3oi;l=e;T<`o0usgoMrkeMevf#PJ5mkft~Q zuB3Y{c6j`NIz?(XUtIH;t;_PI7-%1Xlmksnr>uc3%ljB;9DL4&m)ZR~o1sYqwYEMP zGOz5viFa{x{R&@v{>9FZ|K#)-XQ#W(0JyxkC>`V7HL6H?iO@N(+zFs$d3dvuEvh7@ z!l);!`q|J%bp_pz#12I8&ciuE=UMG=oiftZYMl-I;S#OgcH`x}FT4L6WR7C0Q%X;| zQ!r5_&ffh~Y`BvaJkt0EizMsTp$KM*#mc-E!j{z#tG#!&3!X&{LmmAD)su$32fH3g zqh7S=0{~K$NQ|RKgad_Zpbe?+2VJ+S1wb73Gr^QMDF7D0|K$O+AcSrCNat5&k&KpJ zMtL*Ml_|-r|4%7lyB*YyHKoGbWg>W!;=ty{OpI|1HKl8z8$GA}k-?_@AuB3>vFEV2FW;$u{%YTKhvNsbU~i&w-3oW!JxK+EY+0GjB@`u`t=#EF{4c>$5Co z@}=Wz{auA{U`)XL^E+1yfN|Q+cgTCeYr8T0c{2pywQe_gt*@GI`t$D@n*zYQRUsQG z%+oAX>5kQ}U65fMFim4)455~rx?rW^%MVez$Cw1e6aX;D`9*GacKN2(8`ousmjUP1 zP&d0*rzH6J>XYxK0Jt>k)+tOXcj~=TD_Ok?x_$+)1H3N`+GVR#0h3c#I`6PvACwRn zNfDlsWd!8pu!PO+Eyhuk*_L`89IR&xlQSiNI*U;ud$l1@xuZZcBG8yvDaI#Z3T2@> zI6PSF_&1xaTAoT&DOm1Xi%DHgHB6;=Nd<;gLnx^Vop#&L@4dj32^W9!o1MRhr|&$) zKmTw4`ObdcS6_XNzy0D5+F&%-N;@_&7d=MTd-Qz=c3inbPG|mEPaYxKA+i<+*?v|e zRbm~{9wMvrX6UWinIHmmT@NBQS503tR+@sZpci{+MekZ9s}*mwfUFEzRrHi|Ae^P^ zS-@&R0-RGlzaSz>(ChdAv-j@7x@}oq*l&zE=UU&l&$-U+EIrSCmw?{BU782Mw2`B>k1?R)!thXa@0)pfeh*^jl?nrqH6e&hF`5uKA(kdy5j zIjwE2=bZKLY~7dK$${1LqnKp2UT+V|)Ivat*@a6Tx%IJi{argcOz?gf0p!CQKF#G# zoyB+m@NaaVroP(l_%}JS>wVC#pz{x#Uxi&`ZjQkZEg`T^W+0+7t(c-N=%Nl>d^F3f zUr)pcVZxd&;2a|tfjdd()uSl^f~)NAsulH0ssmKF%g#NNP@p%907#7tHPYoAJa%(H z@a6!QGMw``oL``vkf~k^(uKyRQGjk6VZkDT#0P>9BJ>n8^SPmzsq@TO}CWI zL~|I(6~T==X6p~<K6 zcGPXJK(cnMt`G`oyl$>0D1{zL&h8kNgCb@H%*~y$>f(vXkREC&mjpt36vk9Ws9jf$ zSQcnxae-hr?=Vdhyz_eSm$Ds2(HI10hi%G6_+z!-HRzyh>}06L@j`SQP)V-!aOYM) z>HQ)@kYg+W6JpK?OctF^EksGOAd>|NHW%BYvt={p0Hy%}h-rD?Ik^E5?Iv5Jd88+!KrCk4p?IZTkD~o&M>IXN=Vb(C(*f1&2ldS zP0ur!>|q~d3OhNJoWZt`6@@5@4iq*;g66b8eexT0{zFrm)j)GiP{j zI&);OIHY7U(eh{<_9|vxQbx%dgp;x$*c!{#B*)$@9#ZOpxv~br8TWsb5seI=tA~Htpe-Fq%klHP^j1j zj?FCh6!oq%lZ|3bZ*J`Aj$+hnOEKZeC$B&94e+Ipyo_77Zgobt@gic*z$);r56@~a zM?U2yX0x^6HISo>JtjF6Fba9lM8I-rlSB>pE;`1KGuIv96|2tM^wfBwm?|K*oo)>O^$t*)I^JH&f}91RI~qwI)CyGk0| z@|t7&5UBGrq5!ydz01&Qro8j;&HMJdea?Zf zrnTQcYii1=$@N3-37~Lv%o!nNuy^fRh@kJcWJ_8F;0Ro3$Tv9c2*5Ezyc===ECayS z;^A;;(pYB3e!s^w%{|+tyQ(MwkZMq0G3I{3xVs1MRni(GrfC9MHjEDeJ^*n|VCU4* znKe8p<%D8cB;E(C%L>U_46<`rN@_&HoCuk!WF5+(Vjv8zux&RW!W4Ex6MVS*nJseZ zgZ;7}4}pR#5B&Rkea4zD1_WT&3?EvNV=;}j(yJNWFv1l<4=cw#A*%kT6fys90fXV# z+uYV+Jsgm8ItkoGjt!CMg@#&5ayO14QoXx#xP9vaKlSQQJ!1I(x^7saG8_g01tv{X zEq;vIMizC(by_Dt<=n8j5DL~TNLHAnB1lEO&IyY4aLEWnU=qCe!gD9RU!VD&&)ire z*RF+|K}gppk0)*YJUJ%z3_|Bm{*+I~yWjn;lU@4@&%b!jePrYSbZ>=$eT{0aQh)E# z-qE|MlZb%lp84=e5t)aE02Hy`O%LaiHO(()U`++L&o6L(SdenD1I8(j$k^m0{qO-g znJmS;QGAT+`{V#XRhT&6I@|N*faS32r4%wn%hsKc?2AXz+^Ih15LA~h(g~-vc^)Ve zHMTv*h+DUBBUx||S_-J08GocJQ@iy;Di=~5 zH~@av6Q2fIiZtRy#t!Un$=V>?$juZMqQn}Zaqy=IIF zIi+^1Rc2x{Dmy@KK4K!^ji+wHSq3)^MtU_kDdvoray#^ErF*(ns66B~B`hi7{IKA) ziv>#o5*X*}g7bAnEV*fJ8LF(9UBF8(zHrj}^`7_qDwUX4r@tDAQ`yTca#fktbq&-v zzjoVq+gpG2uYS)-ul@NKUKq1gj-KP-r-3b0UDXZS&z9bS$=wV5oHL%jar3c90LGxM zswdAWV~wjGAOZ+6QqD*g=EBaI6}2K(MbvdP<${z2%bF1F;JV`^eIykC;}8>a5fth0 zc9sGr2O%+kdjg8;9jJu?3B2c%a{%JHss(e4Wydi39dk+g5-X*s(n~j^0lo*=6*w>O zp5Oz4UDfiJX3mw8I>TyOVnU3X8=z#|6{WHHODj4w>qGxra`Ip) zIQCeV6)9$1f9lb0m`^=*142A#Yz>{T=asG7&bdH{HSFb-6@Y!~bzN|Aexc6{ghMX4 z6$=(29Ad;_T`at#x`Z;O-GmokeDS3B>o@(Tf3HD~WJMd3&WxvdR&Q^!2aY)*m)tsN z9&KRgZr}Sip7h%99yxt4^YCq@(3s0Z{I(3%srTA_u0Q$YV|)0QQq+Q5Moj~?(UUno zfkUwUhty$I1aXZTL)|Qq2}NL%uxxNP438d)K%qzAuhY3Fg#dD@rV#)!Clo1|!i0Ih zLyCfnL(~x^t1`(sO}e8KbA3`uST7c&tm6jnf+4eZa1u2reMGC4bx~y)`n}XcSBn?o z0&)TuRCcK>epmsJ5!ciRf2kxx2(-w}<~<_<zp6wV%DJVHZN`~XA@akh1 zmH#COlA&e2`!?i;69t89G|K8y}fUIk@+|N47WkL^5A{_o*x?(fScM~>S4X5 zSyrlRpdS3ymXt^zGO25)b=qcQD#h}fxydv%bxO%xsmMtVH5xk$r(FR7SR^8Njf^ED zoWv-|MexkcM~eVlf9j@nrd2sxNi~FQZ(ReeD|zgMhBZd5LvZ?BQgiDPfSgV93Lu66 zfRHU&aS8!9pE_-(!smSMXX6)q>d(hZFTdQnlxm+0A~@$TK{vNra8@hGnp*)IU5t`5 z_74Be@A;i4z4o8@$q)5Tg6=kZsn1xB4n=H2amIe1AX`G=SnQMF`nAWG2k_i;&*N~h zK&*fRX|c}0Mpj0w1YWMPV-fgi2B!k5%>yyQJhy|XyUU3c(l*#5^VAwi~$xEkxDlt;E`9)XdK(y$9!SMtQJ7dQP7W*4hfp11igc#Ss6wB6pR=$8134#!+ zfe_o60gVI*rJT0BfH05%V_Y6^V#=w&_|qW(ce}(fce~F&ju3zb-J=bJs&i8{Yalxd ziU2Vxbd&2$rV5*v2ZsUMD8j#bERzU3Fyw1C7RAkkXGBe_ujd{$tdE?Q#0X}v8 zh7nbitk}qa+=+ipCvKFy(?*4A6+e5%ej+$Y@KoSg$2Gwb0um-J*ae`Zh>{b4400K- zz4j_ze(9x?U7hzH|Ml;!N-nC9k}0;t7y@V=ocKzIAA;ZwW)8N3f_7G~&bg84W25HRm{@ID~yb^vKa@fs6SDt7-gVKAlCB(xehlwp)mkf93@ zM#(^03vvWfG=50SCg7Gd2?E>(0XW?8EQcQUE!_PIyi>Z>oq#sr-&;%_m^yC1hXlD8B9G*CvFnfYSL68hz z5}ud{S0`Yigy0GstzcPzbbv^~PyWP@o%9O7?92Wj-ucdVb{wy!j~RKaWGh5-0<*(3 zO|9auhf9qU4pYExx5uCUhCg-EYkuXGSMmJwFTA;3dhi0Mhkh##r2qG>1?FRn09?EF z6oj@2X0dE~Z6uQA!LNuhVO=BEr2l_emZq7nGhJ;!vKfsTL@dzp*;sVllLhi{KGcTV zyzr$MqQ=VcsW!Hx9w@04#4I?ZjEl8cEU<^Rv?m_H*GnkwP-$Bo{l;eF4PPxZf`iUL-CqV!N^2Q+y zDad7Q5KZvAPP42Al>)4>C%)D6BpF_+{q72`zU}SU@2`THaCT*nv;7qSgn74D=?4L4 zSI+Rn6Hg$7fc^fgEvSb+0^lBSA)*UtngZr&LbZQYsH-5Qh-Yp-)7ZtQ{&@Q7XCO&a ztQ<(~O`(yd&Arh6WMViW1cOLV*8h{rW8Acd^Lu#ShY<{3lO(-`?>_@4z?yxo=Q@i7}G1p-*DnS6#Zi@hn$|Lk$43PPqtv z-yis5{F-0;Stq^b4}9Q*M`M=bBj_IQ?1%2ZF=($5;w@&91E~ z8|uiWl!BO&Dq-vy#~2Y~LW&tFX--Ls(dNK{oD!1x%%@y!W{a67m8Jr!Uht$|AycZrqC2# zo3N?MNik!d9%+$VCQBPl2_dG40!{cMb97Xz?1Hniy=EzRk9i81r(h#32N!0L5AgGh z!UR7}5GNon@Dt!>fG2{R0Ge(LqDd5U(!qs`kexBexV?Xb(-|gDS z;%o}o&lC33gm6+0fNn?t1LPVZ$rHdL@a*9@fGL<$AcF*&;>7_X9zXa4KYa3g_l3Xx z^YKUj_?NYjRE1sZIhspl5wGTARukg%aL|rN@E`vtzZqZmbzgPz>-`u1{9g_(cXXe2 zzmvaY+)V3=F4a(Fw2d`1t)Tty%H??FW3S@XS6+QA3xFq|ysoT&>2gk!q1!Vx*=w%$ z$kkiE`;%1P_ZqNN^Gl@Y;a1vQT^eUiPJOb9priyT1)d0#)6s@!9^CY#H6Sr1Em|ER z7tIJrSx!q z?RR=m0dNPZ{_r1;e*?$beVM;^UZh;=o5i$ZZ|DBb&A4b)ljcC`;ZWKJ1HnLA>$%H0 zMKA@M%>e^oX`~#rmK6eg2o~mYf&#!6A(I|b%2MnM+s3pt$dOY*DH%7e-^9B=?Oi9| z0B=5Z6J=d3rA*qr(Q2@OimvNgJh9mvz{Gwm<@8EyPu=v!HNT?qS@dhCDd0=L z^bg`||J0v^_x|M1`v3XA{~5Y-VNZTj$hRYoWba0mWmR;o5q_;3D^*KfH|@$eA2)b* zUXaztq3$3d3O;=D(U5mT5@YlVp)16{O0?(=V#9ROUq0Jy&^pj^^Z zPmZ8R0U-_~h~4fg!t#m+L)iOMhA7eosoQK-s84@F2o2oIskE8PSp5!iX*}_d1D}>`KmkT@bt|Oo>qqrt3wDO|C?&x_UOkO9qgO zx>?l>?NdWV#graJ1@(3?2@o~NN!1@pIz!27*;yj86dck8e((o=0H6DLpLg|N>i5X38>%9zx6-=E%=jP{m1Z2e#tL> zBnRC~FTIQpeBgt2fUyniYYJNrR2ettie72gq8%-`&kmGGtM|XiV99E0yOf$F30!~j zsmHDWI9wd?-1E=3LmbqJS>7pWSZpr5uB#Hxpe8}{ZimC+0Plm6cwSPAA!pr6nU&12X=(Oda%_Ksbn$3Et6BXlj;#90TSW&e#sZ%asIe* z{b~H~f8}o?<%lqOlpLGmC!`>iI4Ti!zcPcOdJakgAcWTG%ZY^ z@%7*EwfKpj_z-^hhu(*mUU~^1`{*mkIpdQ*<&*HvcYX@q^PbPdum5*{-AVW+_xt$X zfAmj>u5*xhHB#!(%?@yN&)~S5^iz}XihX@uze6^wLFR;Ok0BB8+Edpz!9UvVYeSK9 z#(uxo@TsFz2S2KYc+KyXA2mIr?AXoVQu4DW-=ZD{aRCv2)NvM~Tx zXvKU24i^{LpIvG2zB9dcoq=jGkkukMpQa+0((|OnV55@Mc!HVQ;$dbpl+c&+=JiJt z3iP!79M6m^lMb>{5iC*T%to^fDFuZU`jv9}s8AvSBwH9zcY^FrVX~bUS^{J(@cz+v z|3iHBfB&bkJMkFc_~SD^^w>EP;Ac8RPrhM2rKXUsruc zU|UrocpZNk2Tg}57|fu`FwVF$4`h7umns0{KBwkGUPccU*S&uN@ZJA)90B-ghg34! z+;RwAlSaZB?nNV7^f{+vMqH!01}YRY&oi!^U9m&A`+h(4!JGi8D48Y~U|kaq>x%Qk zii>5%?ehc9&lkkif+VtzDP0{#LW!UbwQQ+g5rF}3D!P$D$dVgmDa18Tr{**UA zBDhS^`9K63qRh+w3lYW`Rh5L)Xt=2$fAcFJ7>)7hYM>91Th<>m}yuP_S>8LRLTO18Eh~+6XDrsp2zw5 zInK_`PPVSEU%P2WNrFUzHDwU8DJkmcgaPwdfCXxJ&+vRo(pt|+7-MyfXEiX?rF}k` zBa|9}P(zIV-rxD#_=5lPcf6(duW$eM?`%a|C$-TXa6JtuW6M}?aGMNLTWn*$&4yVF zifh1t9XthUx0|d(etZg}YY?arlga?I8N+y#QZ#W6f@N88c6J2-uq-;FtRo!f9Oik4 zi;HtO=OC=zq9Osws1}6a14=HMM3*zJT)A>`DPZtUB@N`%5J(hl%%yC+9h3~$jjC(T zMJYdb`h&Wpy+|)?<;WeUy)O+-8B^<}$^J&n4WOeSp!JQm(U)kd%RZ6n15iupJxRr1dQ$map%NnsR2Q~Dt>OED6?gV)N)j3Tt zC^oq!SeY#+2w8w=21QFuI4luQpV$%bscSbBq9p>e$9|r%n`caO=nyY4<`A%(C+z0g z90U2JR=~$ER_j(9+^iCvO|?LsJO0Ms-o#J$ zOb(dDc6*QepJ-a^CJpRPCY?}gnMRlvL-zH;b$MKd-J5Z09GH45Q290 zW+XOt_9>b)b?41K$^-wDp`wwo-nA!F?9s6EXzqL_G+=K_SrEdKm@UK|f7Q+;RZy1-}!Y;sSCu6+nWGSo<^-Rmxk?Vg4L@29(- zeV4}6FY6L`$+gCp+?Ox?NpfFM;?9pT4AFEm1+1V5JHL za_TDP97Bk)=5lg*5N)dEHoOykyE6a)AOJ~3K~!#q2NN}G)tU&_SKKzl)vooew)N0zjm2-lk*YWI3*h`NvZ_?a}m<_#2#E4t#g4@f2C2CsOVNJMLBhC*C4$F%3!(#TR8EcFuExTptsA%&bJMW{y{9*y! z#N&vlkBolgU;hxk@BjN3Z@G=@#TP$tJ?oZJ|6Tpx%fO`=#!;pYXvLGD zvB5FktCQ|EeJ>MIehjh6`oKp`WB(nC04W!ZD<7JXpZl=0q8P+qY~M!j?yGkKwJx6< z@lPys`kG}*HPN| zvlrml#+r)Ra@XQ~o_E+)S1$pcd-nOq=H5K@)Qz@m>L%S%9UK2)Y&0r|LI$&%(eQ=4 za~+g9&Z8FG-m7v%#5~!dMT|rN5{@}r8d)o)^E}%7ziC*cIrY8OyMOQYT?T8-Nm`R- zrRn}Os*n0h)2*L#0zUrQYnpLVGeH8dXr5x19(tO_r+5Qcz+H4m`9>?nh+&($p2F#wOO)lwz)Hf{%RUWB5zo`d9E(U-QS_5*ydw|E~WF z-~HX+3&*TQF}ZGa3zLU6j)iQ30cmjk>k?KuQZUm1Xp%w9{lqLH2$RQ^v$M9SUU>e+ z$L9WAzpjzdwX+|ISz`opX=unc!gpKz(8dRaDru4`(kIQ3heeS-p%cphi9s&3@l8cb zYj?qJFb6;n+ZodW3Dgon-?|k5Axyg#6(@`jXO7jAqr(S6I{jWc81?P|`Mk z6e46uGsKX}3#cnLJGi*d{h50-Y;(jsdj3b?@Mx0L#sULOPRHBpOFI)^Wh%ntUP!O zAP<-uT=Fb`!JX4-3nfP!1ud7=G_ctkHfMc<i07 z8@#dq?~Q%%;1hgYKoH@hFMSlZZ=XLNBYU413*v*&-&R+ zfU~R*mLcTEpmu&_opoIUYPOCiM`1xD z5yFRE^QZ19egKyOlnh1&mjovnOa-p!!OoJwQW{P$>hGy&U`*$U2}rUU-JjrgS1A=$ z*R9%-QSTH;#)GdjtpVWar=L5?Q@Hu`vjgdAlu6v>1sLLN$Ll_2_g`yECc@c%k0}J3 z&FXcA;Be*26*Dhk#F%jV);Z44FL1FOuq-Q5k=W__lPHOgB(m0?lPmIj&=a@P3gS~QG^ZX*mfXxNl)bp()? zyPuJlgyA<_fJapT$X#yMy)H=P!N15Tg_!(|CMlBAD(|u$AUT3cMp+KXaRHZ%yj&o! z2T+PghjZk^Z6F@N$dL5{a=49rxP@{!M>*Vr#0B}{7V`OR$i+G2q1yo;cS0isM|Tn& zM}n~3qEn3lZrpfg`(tU8SZ-n6wm~%Wms10Sow!u*MF;`poRTI>(HD^&oby=Mgp2cY zwRCR8E<-MC1y#pKk%FK6(1-9xzU(V;I4nP_Hmg7PXa79@?%(|`>~=GzDVUR^MiSSM zni^faea^U}xD(vTh9b$D4 zYK4$JKZOf^4h4WH0eM*$q?nL$LbkI=1~peN6{{kNLC%@af^wNU#|EvC91(!^zHz{J z8w1?qxR*DQ|F`{k^CZCIFrZ_R{$(M|+&ASZ%pg_>r7lVWKsf-V z)8ZgT^M@f&2%x+Ixxj^4tFsi5OV$^<5Xifeb+tlAHTY1KZ?aR-<0C7>^qHqmW1ezz z{JwYOI2qZ+4*VLDLQ?;f6PuVAE7@4LM7ps$5tO8(9;M7Fhs}fIY*rn%bmXHY8E!J&xkhFuDicy!q3Q06hEb zb4W)Lx6x>-9-Q^i6q6Zg;X@jM3{}kl1oqrGD)T(+h>FyOuNG1zXDrJB>#~9g$PJ-9 zA)L!&0n-rx!Z2^F2NuB+EcM`LcmKrKx6Ju31!-LnjVM{0j+Tv~8~mo#B|G%12^0xH zr8M_U8Kk3^l>y%CkXMjf-oQC4p9lgVm%K2!FPY(fA2IeB;cmWy{Vu3XMMnKMG})pg z7}5qw2`zRtB|R{_Q)oYT1B_g>D-sbn9~8!cAm@0J5r8xs)gf}_2wrTJqqO(2btk7n z0IuJBW6m<-w+w#!#+} z^A?kX_f9)h06+Xg@5h(?-amwwU;60J*bQn~7W~Pt{5rh%+rI<3WW<=T#&zgmM-<9+ z=z7StKTcP;JCv+l>u$Hl6IZTczdyq~&uR`Oy`xc68Nj(=WmAWkpMDGqfcj2tpnd6w zX1i+y00oXUEX#YwJb7HbvcrC!Fz;qO@x)cU?dlVF$J^hAx4r#s*zfl?V@EfxvMl@E zeuw>j1~VbJ(^?|y_45`9I2vQ9eY&6+LL@TeK!7$x(YNwP-H$X(t_*R&V&}@Rx6|>P zwDs{HIVFk!3?#sG@xZelmlo8&$=~%+Kq_KI3lEoG@7p>Q0P}PPkz|5@v&tc8mmf1y zDR5H&a)#uBLZpE(MF3~H%n(RUee%NkIkg%iF@2|>PXc*SLq@1WHi8ZHU#PnrR=@k! zt(<@Zu&xm=yzo+ATuq)-XS!Ml(6DevnUI{C9ZWF8A)Tq^oB>iqUurY z%4wmDs=ldol48WCwpy&Py!jX?0a_6`Zkg z-=$6p9Oi0c@>^wzhiTRW6+@h8TOuxTFr63zh*?l7H-5Agq2r!4UVPC#|*W-M1ZU84ulH@nL(BAmx z-2H3D0$>Vf%_yg~{-p?nJ=l4G8R9(11$_x?!WOFr7JdSpL&|~zhs+E&?LgBGnH)q+ zBIq0>oT&DxjN8$1kO@N}Xwo9uXshd@dG@&%n*aF2g#WWax7$&LaV?5@6;xhivFKtE zl~4*!ni7_?TCZxRLsTZM6#_XWcbkN#Lg0TrHPNX|MIDH%EC zb`Xp_l+piv+~-F%K(pUQXNOl`fFd19W73)bWbfbD@gK_zZ{B$3m$pX$Lem zJQxecaUOwGDY2UZ-ge~-Z-3j{u%Gt`-ZdDVM&mA`Z8IaC>ti-C4I17}dmWXW@^H1H zxE=mnLw`(B<2-iLjNNXBc?y`OfZ#oX4*+Xn{c~x6UGB%sh61@EmXrqHv7yr+i$G=& zJ8U!TsqOvqe6^!_@%+B$qr3rZ{>{E)56KAVe*Y$SUgU7Ghjm*3NOA30EZOEL96(cm z)8Vcbv_7=1x^46XAWUldLqKNxKQ_(WjUCE5?Zp~ z_V=S+1rF|Z%_v9&ab2xIE3GguIjfmY7GxxwaSmz&>S%&Ma5xgF@(qd?M z4AZK1n$k0B=CHqO^LzJhUrvSmKezyRQq1kHq)TW5SLNleu`qex!BP$)8Ax(dgyY$A12WO0Z-q2_MsO5 zGDKREEn2ovq-hFp%vcWxglWQ>S0zgl!H3DrO-}0r5MxxLm2;bQQ>?&~Qb4S^>=nXf z=aB1W2O}*)b=!`Wg$+^CR$f!rbz8bu$_39o`z-$0S9~?z`|W=VzyA+>F@DQ``X4Em zGCArBg z%i#7{IRP>p-qoXG4gp~b$XSp}0)!AbK|t8;0&>m>G+|j+Xr>f3o9i~85a8*jpZRGn z06x6&GiW472xcEZ47h31`^tS>N7ZypfLsKD)N*$@T%hCx?LrA_apLV8239X-|RR{QLs1zjg}`s|dPv%Tm}H zo4tQ0HfB9rr%%w&Nh!C@1|lc~{Nztu!>{>upLxfIarc*#9#|G$yLMv`XlPm(*;qns zHVCs)Ue=`<$&|7pl?3lRAcBv7{55P1(`B0!H?GzPbkpO%E{8)4P6A*^0Gg{}$pwiL zrfF_TT(#3-`?*t?^zbhk!lX%WNf7*mH6=?vWMlz62EK^Bpg;P758^An{HyS3?|v74 z_ZR(6eEt{wXL$F!f8itDdtQCzRs7@c{wH|vU;mr<;0JyT#Ef~jgPS}=y33(+%1)Pp zX7v3%Wz)$@6 zhwv*t|?KBwD%z^&qW zb*i*NGXxLv)>@1l11TVKwTuOUa5x;aaFgSFw@--+&IhdPf-p@DHCWdb^Sr~d9N>LGiYxpSkk+WkL0l208F^WO zd4jj1CmWxDhg|x7NeIpXq=l1r-VS~;Pk%;AvGJ^e_n77h7w6|-cBby=h20b;I3^Uy z3R6SvprH>9eBb~3{rKMR`6u{+@Bcw1D-L6e;60`*XZ4Ze_N~`(^@%H{Y|sOJIUEpE zM#{M{(%I>|R#H+pKQ0aK@7$BEjCVug129hk^E5#Lvy7Z;);uupc9`c07l#9u!vP?| z)hlOs;)y4Y&_25B2Ezc-;efoZ00e1`@RLUflWxG=^9Gom=B-z9Eh)6_f(JYg?>RLY zqZ}bjufFms4u^wI3BAJ{9Gp|Oewb!OJ&4T?80Z-R`feT0&oS@MupSni-+tZZ!vVYf z9vpn*{?zxCTB9-$E9*Uxf)o=D7Z->*qfo$ncBLDY*>mLlt%&f9G>*b=v#nE%W9>_%i=K_cwq$K!hwlfKh6x>MG zMNo1=TvrfaF}?`^Ay~-R*>2yO*!uH`9S+L^b^%~#Q%BYjL6sqoV*oo;q!i4YH-+jG zXP=Be{Ja0QHj5Xp;9LLBf2Cts$%e>eaF9hiKL4*Uh%xJP1&V&V5RC^OJV`4iUaOt6(OSV!Tk388*j1wx466Hbu&? zI2n!w;&lUYRull;L9lLMVh_4@7c~*FS2x`Vr$r+Vy5=SYt6F(8hjBi%*_CrzxFyjM zfOCwru3)dl90#w2yD8Z3;E_v#n2a)RT4In0nygM##hnRmO+$FXZE!~k+D3K-moQz+U2|KyK< z2tV?^_v4$t=>pz+e8#W%W%#UL`&sz(Pyc0j*Sp_^cfIQu;9c+jh4|!8`Xq$u?qNx# z6ukQCPvIjkegrQ*_X3`O?m0a7;b-x|_kR#S`u=~5*KgfctI^U&V`Z4vr&2JXkHfSW z>(wO_BTN%gz8L6t)DClY4k@kx*b3uq_dgQ-6OCPR8696LDnAmoPj=w{7uo*RTMDT3gErihS@NlPPc+0Swy zup{i|pa-S*m_w-J*+B_2_##x3Dkj8r!MZH%uvIlu0(ob%VeV;*M4P5Tw}Kjb&06f_ zfOM#S@&+dxuf^N*P?%mDlAN{pN+>`A*gJR^ns5EEAwo*Q6udP~eSBI<0f&IYnox3m zb}-M31A?F6f=7-~{UnZ>mM&@I*6uL##zuTO9Q1mvps$5?Rqk+mCPw8cf^}J~*fTwS zJ@l;uAB%{(&(-xq#GS@P#6Eg!OriUatj2wlOP;(BMuNAe@rg))cXkc;g5oZt0;t{KIuHT(^ObH= zQ8z{F>KkLZc5$*jz>)2=Z=axu1MH~*+_LF=GvPO8{}OM{gv$v}DY~89uMBbyo;^}lI6X%tfI0890|B zShD(gPgNd81Y*@e6BAIlAvQJ4MH+jXkTXzH0s%-d;)5UjaeUxMf2_&o3i``W%y{C7 zt5(Q(EHUENYp){}od-G+OrGFTHS?|=^dfna#ZZg4Qj;W00hpWCeles*#@vh=ootfy zl5_hWwK(mw>45{#SpGu_q%CGu;Ap2_i{gHeWTX_k=LKOCCez7MG8|A9ajWJ;#eDSj zU=~r+9Y+kkyWEJfI)V(U8ee zQ}Lh@+>;xnPI>ymETt%af(XU2H7CV*6&5yU=4gYoXh5rnYcoPM z+21kKRsoQ1-{+{lhfVdR0)XDwSnU&50o*Zrk+DU&+z_YU3;=lh6Q7LN&(Baqa99pD zBQF5_(BY$Hc#mw|<8ZqX`l#EIvzZ=<;Mr-QkR=56RzP8W87x$5F_L1`1zL5UgAHRf zA0pD3924Vgzr*XVy{;W>%J6$<_Norcvf%8>72Lk{dV|6)ZlB}I75n`!F5ul23!ccx zA;B}_A|(Xx5tDYeUBi3i<_8?jCEKLRphAb7R907VHYJmGMq(t%$)J4_QfROwxOoQ` zf)*m|ur3Sc-408P_Ks?mpNl}840S1OX!()y1Ugt zr~>UeKp@8kC8{Ov{%o&=(roCDaUhC7O{QQO@JwKff)(3n^+A_5f~thMmI-e7{A(Y7 zeL$(uNPFF)7@*pbVN{G%!kCx|6ZbW4-CUEA5#jv&aMZa=e-TsC;+2PSm5>o9smV|4 z2&#@ggp`j`*F}sGDJLM0o17^RVuUJHho6n1GaJk;$dHE-w9D(Na?WZi3j6bLa$qj)5H7_sN-H0!e(yF4P&AJnL-VbSH)PVz7*{yQ2tJ@Xh}U(X zdj8a(Ny*5G5T?+)A4V<*i8RA69>TtMQ!oN)Zlmhj!O!!I-EOaqLd|61{@ya<&Tu6G zQb_~AM2#sw7DXe7D*_w&RImMFMV2)VId6+cB1p+SHol@krrWQhGRM-S-f|RmUKd3% zg$z5ddq72iME3%e!D?p!03ZNKL_t(tcdiGx)%R6o;8c}fG+NOzauTGGz6rbO><$Fr zj;>xVp9}CX=$e-*0AxcPy39ae`xi25CY!Yk?s_wJ^O;t`c9WfLT!PXLx(bOgjZvrQ z8Rb+fL?b8JytO)(2@`TkSWE5@S+%`Ik4}vc@L=V*u385D zsMk3gjFeZ3c2YvFulb?dR=)!Mue0$*whVFS7&)72WSGtm{lwr^;7Fw3sGBHpFQ# z6;S6=cFIktxdaBGJ7&N+OPO8=Od%;noiitMpq}ZWkA}h>uz`8(Z?cG!xagFd( z&oAM@Q-WyN*Ec~>KwM*M9{Lop-;<5>x{XUZmr0;pBkzOefi!PVX(&UsgO-Umg-xl= z2YS#N2&Ux+a$LczC}%|GNra=zfB~dk3y_id#E=X)0#l~Awt4t<@;E_^P zi5e>@OL9Vr5zDf`2W1_vaYd1WDFmBqd&F$;I(wv;3=(r#*HvY50Cu|_4u=aR?#*m( zw+x-nozH17r929mDDAp^P{+4Y^d5#V*<8M$)bJ#MlIpBzs0UR{3FJggdxGzU;|R-E zktR75Q3XOJel6>Yv;E#SPu3JQOE@b9Hd?Sk&&W;{63t}fCxgQi)I^9{5Q~mJ4u^vo zEft$B7bMP@cci4mMzXAgUuv<_V%qV#lM$26DvLd5M#*V|a&U#+2`E{xfHf3= zvp^i{A!84zm>HAQTxRNr*p`Pf&|-;Eo9!xR>htW;>Cuo0E38sV8&Vbqh!<_t)=T%% z1&@Y#=cc|Kh#nONEk*1>D$${GWYQXSp6y+OsC5cO1DVbcId+-@0uP~#yhfB{PJ2}< zY=sYv=~o0er_#oGHqswT^LB6MoGne1t)l~$!(z`GZ7wXf9*PuDE+AKi?Xja?wBZd` zQdn+MvBq5}6@g$K2^n#<@2$GlTJvLwVVjMYf|Q~f7fDa{>y27Lwh@aKQ+Bv#-Fwyu zB}SKCxW;8c@P1%6*K6V7;3t#n8aiZ+4u;?<44wISV9}8FNlcrwqm&FFG%AH!f(M8Q za=sW)#DVBGaE-+7Q^}>h$Ia)Wa*^212pA73^JiZ#5FNRHEnbJFk zs~h(i3$+-=-86W8=iKMJVz3RY;$!Jmb&)<-%68xt=a5o__o2`)ZWZq8lU zSmve_ZPZYOnP`PUg{0N*z&bEeK0z#{!N*00PEPtNVCO+n!&P8<{C;o}^gh9eoGE5K z$e2+IkgcG=FmsinBZCmafVXwyqc-oY@bPfq68bw*0QeE@A$3lSIVu`qqcD|%g>7Uo z4aEhd+nSD;e(SK0oCYiWtg;%EsE2i6vSOuj4;U#GcuxT7OjzviX$Vpg0dh+4LElLh z^|H|Jy%!F+!|+IFxKmI+f0Ddy9)OMjpm%X2iLB*li0DB|0;j%Ydg$dm_?;iY{Z>?L zS?Pw%c(p38ms-ikUGaoA*RJCYw!)PytVkK{1!XNrE?B5mv5|_tyUzFuRcQl|a(j&b zq4u|eTuq&<;Ywz`eMgQ&-*$$EqBK;12U1{5R%}GvZR(_83W@VXiDFt>e? z4VA&bVafJ;5dqHYEI%i0s&cO8Ree6MJS5-HTOEB7hzr7`sickMmr zlK~pZuy%+Az&s5kz<7S|Q?%T9n!eF9^^tG@+PI${>L-Mov05sT&eIuRq`GM(%uogYR?aoxz6Q>%FIDjymMYk4$g| z+x_D~T2vkVVob<+>t^R1VTlFvti-6g*`%D|Y;-iwbNe1T(?c60Ij(SKWf<4+*DBFW zfFwW)ykjL8QKz|y&3Ws6YpDsmC87#J*9VCnw1CcViLmpo6T~XZnqB8#%oD;ifxSaU zA8*Ofxr z6_qoI8xxR8-T0ES&chV62q*&YSXBm&5!__+RZH(!GerUy8 zJ&g4LDed4N`7$vYdMJaUhGjUo)QVb?l2m=22bN)!ATU;kjg2fnz7%QZO!_r?a3)i) zu*vy!j<0J-q?i=;V{d9Qqll6y7-Q)@V?6g1_GTngqXz=xnsLdji;Z=_#k{wtBP7G$ORsoU5}_ZxjL zrXdI5Fr0b!ZTjzb=syH6yN70ozp*Hg`!gDkFM3^jDpCl$p<>VuvAsCG`t z#wVa|2`MK#l%>5CRc==oZqE9`YK-RsX8|(7`v$LXe?PsBbzSuP!$L%A1~~Q38$}@X zB|@?4bztbXs<{$|I#x(=z1BT@2XB1$-mCQU|((s5y^OCsda2^?}()Z z>qt>GP!V0b%0(y|lw_pkz1zbL!Xi}pvJ{iCmTCo{q*S$&YwoAZvLeNZ5CWEEY5MM3 zqWGUe~_wtbMx}IGdLzliL;)uxyQ&THZj-mk@nd znFwp@vf5_QHg@;JaYpw9m&LmH(nyu1?%l(lJ@T-KN7JtqSixBg73fZ|WGEst z4+W#sk(_hzlfyjin)@gQ=D&UpK?<9bqHANjR-g>Lp?0?U&H;$=V)MSpgAjEYm2>il z5P*Ai_jlz1+~=YPa?9O#0~-Xu?>96kW~b4;2B`w0<*RIGjU=NG+VdbFLVBe2vP0-S78pKHONtsL{KOl2;8S%4I-M zs7dbxqa+K>j#9W2zK(8egA7ZjNjBn6NA0#wef3bS(Z97DX=4`q9VXHOqeA#~{@F{D zI>V#Q@(`hJ1psWi!)m6X8;H~ATXN%KROWSe{-Z{0LhH0)x^(Sm=6MGnCM?TAkpOc5 z^iF*mP^!Oug%J%>%o#<1!v%2V$_{K6prtYS?Q?D9u$zKD>mp!i_gEpoaqWv0vTPk@ zwFmV^tjaczl^Q3DF3V#}Y%DP$6BMCpaji#Pe}#tG*^F9?7*O}daAsVSi|Xy2(~f*u z*G44FR;Vrfn*r5w@WlpC3F@eOqC>T&)X3rRXJI^ZkX{}0Hi3Q z#X82zIm3Go$MfiFV5kp_Y)oyIt%XRJ$uS7IcIU%bs&@XB$=?H~paxNm1lq~GF~yBy zWxH=lLl}<9Ya3&oD$}iY?n6N#Ly^;s(1voN2J{SGDub<`jg<>>5)@XC3+EjCH0gRY zRZq!=_Ss%UGVFU01XfR!b&aht7|L@cTn;LLaqNB9LtpOGOkYY4c)5we>EnR!YA1w^ zL}@Glg5MA14rN%UBrR^V?k=T5XD#TYZ;3K6^Q7p@k+KqnQq`xH9)_XvGo24<2E8uK z4&ig_DB2?}wYw#d8zu*WHfLkv;epDq@D)C4O!R>=E5lfT*k;SM1e0cV||32C%0RpSq)2Cr82n{3QzWOyc9*FA+G>&v7E zRI)=f*Nl7gfvFfNj<_MHMzl=uK7dIu?{-KzH#wWm-UPV_*0^9@)!=BFCa~EB*NrF_ zX>r8tRPGsLQu|;dtSyHXVJZlYLFBP4$s|d-AYD-M(7MK9MB0-f#o}~fiU)>rI@V1CF)emZV-1%}~EFt&`>wkP=bFMoe|wC!3ow zh;lg@h#pYR+ zdTNI)6{uC74U`Az$TrHfvNQ!b<_6D~W=q<8R{<~^v8_g(R&6h_b}GRe$%i_zr*%s9 z(8`hH;IbYdWx`xH?6GSaT!v~O5Y-uzjW*bfaq4W3_y~v@4gu8Jy>%K@x>EA6VKWU- z;2;^R+#(AGqLP7Jw9|5`Mt1DtKLZQ}%V`45vqy?TI} zb0Q1q|7Y*rer?;bv%atO-p810?X#<7X(`(JRoezjulIQ1;m9fxQakw`_!qu*PLVY-dY~orMEuU z+NVz4jF321`Rudz+H1`@<`})V-rD#5KB;Mu(1(5WVZlMeeA5~ud>lu#^PLWMoHyKV zXS6~0%Z^HpsjdpOF-2*ojuaE_}uqR+w`2otE?(@DrRAPP+_E4 zoUdd}gyj3p3P&Y@S!aNQ7U$PVmQk6`l8>8;OIuT`Z)vKPaK}tIFibpo_O4yT^TcJ} z6<#KeG&05p5vVC-YA{EKXS1$aDN4U{z*Q{;#YUmMkAPzh7i89=g=8Lu4vylNfDkWh zSCdg{LotWNU~QQ@c`uwGBH*IJ<$iX+9XSz{Gt-W=Xs)KQLcp;6{_njTwm7$u<_LF! z!It{bPW^RhHuvZ>7$3q41ur6bswt;v+#%|A`d4xBx*qvxKuEwcK&7LzrlO9a*V1j3 zet4vX{HKLi9zS){Q@HRk+W@bz=gG%DILkAL-q$V-Y+u=S|7Au2EI{@7<9(XZyX}Fu zqyf0>k5i=yUS{Mvx3zhh6$yF96f-YUdsycY9|rTZu(8ZWxm%!a$1Uc%TWe@dVJOG# zP@AAgobdAv>W%|zlFcY%2ShlNz#mdd*xsl>c`o9GV&3Q8UAM_FvR!5hpS)|}?LXy8 zCm4*}&yKZ7(uJd2aL9?RHf_7M&Avt;y(^+Op@@g^x@+42DZ0>j`@cZRVs6=7&scG~ zRLULCirHq0x8r6TPD##zRV+l-Qf}=sMOIW4AY>8JTieY3S9CPccC}2}11!Y}jple@ z#;eB%+k+d|1{(5YI~r&p|-!kxn^sRT%lZcDxB%zuceRW4P?bf+{)rZc55h{QO{ zH4*b#N{pv?O!TrXYgVXm%(sjEn_19WMKgNbI0v|CdSG%U2R#zLc99ooiP}L0C=86L zWw>6SFzjd4rY;xhW1h+Z%@Q%XqIV}kr_cww<&Kn6z~j{WShOn@BZcJS6bLFcMPw&e zNI|ijiL$iRd2pQ0cgxI}WWu|xY-t_MQSao}Ck0obNU-#Ek?i-0%Ul!u_i1*tBz^uo zwBRnqvL)dhz;f)DJNnMHS7D6#E`TlURxX-4G=W)}PTA`S+#_Qq%mSQb9d%#)1MMF0#kx{L3 z^y(Dsb+@+I%#2wds^-=cTgYRPO6@aO`jI76$sDTKWJ%bRoBbreAM(cznRq(^ZRNt8)mEx z1-F}WK*bRHOAZlX+cXD)M;0q4orZ6+G=NgkO&lqMAw@?bZj&t51>&KdpSEpbL6j&i zCJpkEvH-5f+jpL+KMwlm4&?H$-v#jUo0*l&eNb?&A96LcZ?EQDJGb$y+GXLHf@R|Y zBElGcQ;s{EnYV!4!^bnXJ7!rDp3ZIC6H3>zwaes7XNUzQ#FivqG@ECi3^ysjTdSi&a89$?4q zGNHDDBEZRlLK1C07ER%^xNLyf+N(-;+Z~ha;FmI~bv|1q($iC|DZ1G$S1t-7f1f@t zx0XCRl2=7}Fb}w|U0d6t12as^AguFQ7jf3MVHhZgh0%)T86+$(!vjeGs=(1Z9xe@~ zRGhaC5fzu}9JWQQvZ9E6BcHQyw$BW;#@v3HxBGY_kgK{GwX*5x3$F0i6L&3Yu~Zd! zO~ONoIBK@j>Q=S|OrslJL1{31rP2r&CA|CMLsY1Yes>O>wyD(GB46TJUS{h4m93#N zL;65JP6(!ULfqqRV;~*Ds;^~O8+Y3qs?EQ<1@LU8MuEX*qoccx+rzk+1ziT36@MXL z4V})K*6G}V;%*evm5jt4cT3@Mb`S)w9(O!GUNGL?6dblwh!U-qwrmkuD23iV(^17l zW_#N@f^=8_=}C(;g>bjyv}YqjzRWUfZ2blb6gBsA`sz*Wmo-j+@*#R8l&+y~-o+Vn(i}x7C0%!De=tFjId7i>XBb1=XdFMe1hACXds^S8RP^Mxq zS;YyTc7kT`M7&xWi~`3v${$~Z$WC>)vt!$|Jy@!?JZsS|$+k6&KF~#DahVw%3=+1P zt)5Pb6+wF`_I;J}-Y&a}w4h3QzMBaP^knJ}2AkKJnI|?j>_+C%w(ID@D8;$}rP})~ z1=Tt!0^s`g7Tp%HFb}q*H4jsAXwfRy(;}*x_g|PH=Ty0?g1unK2-Z81M(5J$3sceH znwYOMZs)1(cxG%(Tir5@)F(3_rc{d5v}&sUZZtE02AcE9nX#3M3PRVsTomWq5up|< zP^t?V^&~Yc1ZZy?PSK)r_tT}o{!Weiu(P0uCe)qwXIyn*ZKaqmKjT+d0$wp<7&Z&dbQMRk?FXWhA!W3vL7Uj<6q6ytAR9 zKLYT8xDA}A&ct&@n(3lyb)7{Ik#$&C?RDiWfZH+xkdL=lzQY9Ywb%mN#~1s33=rT) zw*Bwa@Tsy{IsomJR)4n}I%~`7VJi!9NLawcOYn!bxoqxibIww#g~}ML!&{|yYPCXh z@n>(fnGlOlF)^|z$rB1r@ej2%y(!0O0wp4_shx+j?U7!i%)DxEV-se!G+EM`a8cqE z3AR#DH#@a(1#JFCWbYY-opGwYt>T8eV5nbGzgTs2=BHbP-h#dv8I zLx95;t5&olK#V99O0i9~HWky|Za^t`c=fmdiEw%|ApgP&MviujCf{_L}#7|hr&n=0#Vk>DT*7PPtHneWF5~bKYys6X)4cZzGdZTqPn%mRZUW3oV=^bGujtqtX zt*WrpPHe@avr}T5uolmCD+=y0c+wz7_hMz+QKif{Y)ZmnPT~lf#UzVhFi;ujs;0!~ z!|ttu*2>iP*ho{mc4DXN*;xr8t7`xR(Y9ursXLL_xiBoab579gHb)^kxgNC?bRLUp zp2#WMWwgWwq&^Yczs`xJoMM#-|mT#8XUeOdJx z_!vFr{c-JLq)W-6tnaV2rhE!}QfCokT{%`zT5A;}_iY5}WRKWiLaSkj?kPl^e3G2s zf&?at>n#il?SU*fZf6Koa|7r#o-`USd|UvVMSx2fkh3T5^bhyr0QuO0!H+*3XkV2J z?M>|f03ZNKL_t*e@1r*SrIP zzBB(m4~++onS3>ly#QO&R&JaM0Bdg}W@|GNS5P9xb}>RB^cW+V*1)~vvMTIX3Nlwuz}#}XSQ^F%58udC0Vl|g57^_9tAV@zpQV-PNz&8+1hnQJgr1!E~M0D*kgC}?9mnvHE*(P&aY?T&N(1j`(| z`ajhyb-j0M*E{2Y=X>Q@nZ@T5B65Ab50-3to~H@Cr%k&Q!nW@^Vhc@$%r2m_$1Gfm zO&e26!Reu)rGy|`q(_&>KW|qlga}e70-YclLPVu#huPdK#Yn4XAEr~P5fnwn5Ydd6 z9kp!Be)r|KQ+YN9kgo>#{}EsN6^;PpzCpe?0q#@&bBynCyv5_g`=)4p1;Up? zJR*|32_Iq=?yxsxAa3Dyc>1>?%#L#Ypsfxv0%Y9uO53Du!}iH_Zuvwa1j=%103mbzDCWCFlMY>ZOX3k?t+9xkYD*NxTe zmGO|(<|O8jQL+eSzJ9A zo=DvZ_Sy$C#@TI5VOjKT1IeMdRm_;u0QDFxjC&7yn@Tl`Zi1FvIEEyVX4O-8NF^#j z+C`f7&8cqQwq|aRVc8ioF1Qc>dwN}qsn4BSsQhv*a=NIX(}8%EwA(afCenGxQU`E~ zp!)3G3K|u&@-wHx!oSBXWXrCOit48@9???mwBrItJDP#d$VUwL*G4VrFbY59E>Du)5jTv_>Hcxl! zC3463j?X-(XsKc*C2Y0zvJz7FeaFMY1!FLdgL%pJ@W$$Ywj zb2R>E7Zsu7A(>*iLWJQkHFGe9TYx1S%|ahiFxN~?9z={__N@hYibpq>fgTz;xo6_s zF2MGZ13F>0C#^T&y;q*Pa?o)Xvdtgu~e4w0@+Ca_Vs)d1;Ay0oXKIuEoD=n z*=m{dBh0oBo0_Awsi=2gh30h3c9+lIWznWeq|JG2OFu}C1TG?|lGIMao!LCwc9Iwa zH@oTfT~o*U7zURRJ40!kZde>@DLPa31$Wz((?4!Eun3Op4WspVXk5G&z#|t$ieogj zM<`U6mR6{^dk^Kju%0CKbZ>Ssqd}OB#Jt30Kho{wScp_gP23Jy1nGm7yWa5KN zactjDPyPk>&MkHiToP;*lk^JBaY^y;KKq|xGk_cXC+FIvn?sj#al!5#8r`SeItD@ds=0mqXojfha*>%+8i|}^^($J!TeOyt1 zb94oQRNbfwk@DTk6t0|oV82{&9;g0ZotC9y?MgpAka4p|AE?`|rwuEJo^Chn`-bCC za7^1aln`m|sIA~UZWe&lly+vH&0ytkpe6nqW5KrT?;m5th?)>CN4Z9Elj3KK zC;GYK+hz|_1UYxDV)J`<1hiHms)>%MP_I&`RE&N_-JAVvHWs}@PLP6B+6-7>j+1>n zD`mEaH9%b80&%5USqOZNtWbo?5@7pEz%)VwY{aQfoum zH|r?P`=4a`z!Rf*Mqp!2Ta2jVP|j0~2uty3WU}{Y5JAjTNJ$aRLk2c#0FOD>&ywOY zIVM<=@6vsePsTE@`z$c6yCj(7FXMB`DGRlfSy0>Te2CaRVWhxwbkim96eF6jw-|{s z0BSEL)9OJh;)rDuKBsN_-jOihclvmy@D3A$?Xu8XD_VQhTm-lNg*{MKp*A?e*aoxd zQ|in-v9UxBvy#NC5Sn=L+-7x~CRyBeYBlK?FM0E;Whr>4$~91rm)9!=aOq#mT`?dp zXld50jgJ}$d?n6-_O%}QpCc8qVXKZUdj~nOfJi5Lq~-#IjjLkCDQQOjtP+ z3zfQth!`#5S)Qw^7?)eG@kUz;(wPi_iEXxfu%>FC#6Aa^E(N2X6;jptwqLOAyNdUS zu(gKU?S|G`1h3Sp(5PDV8Ueu5^$E<{(%df(xZSSt=WpJ=0ST~eyK=|}qQg|h0?0V#ukOp z@OdUGr1Hxr578ql@#1$G)7;$tTV;K*#n!2iY@-NP92i^>_^16M#bhLQB&r-mC*d1;pmVA z2=e)Vwjov%>}lJZW=w9H!ILH6ZTl9_l%x?%1`LUGoX2T)Us={SB~}(}wT1{+g@~N2 z#6AuooA=w;vG?U#$`Y%*vP(qP7LhhEDGpro9@U?(-9^t9DCr(b$alXV1C%3y2+ktw z7y}hqHdGgidol0eAz=np9mi4?6BX;)*2hqIRY{S?UQ~D&LS|;ek^^Aen-|e|d{6rO zm`Q;04ekKE4F92LT>?q3PI6o0&QkC^5ioTC_QyD!hzI;6+MU_}i`k{7QdXmbDXMY; z(2pKBbZZ7AF^)C|#&N=A0)ms0tXeAxze<+-z6OJ^Q{ha7PsL7Ar6eD}gc!}~U&Iop zUxEw$MgUN}Mdde>CJAzg--h8+{Q*?5-Uz!~oDzqaA&u3mFC2(YvKFl(j@4oau@iG2 zHkVf*&~dv(3-RG{0YKOcaKpmb_sv9!S^!iir{7h^`a-Lcw$7QyT}n0hk-q0fZmZI{ zHJ4&1FP^LfUpR?W);FdGjS7YOTMIz5(#0fzruR5ohtx2v@*DPelkhHP=9wQZ2D3---AIzH2_G}Fu6_g`z( zzh^~U6wTsS&AHA<1`pwfU3C|>V|HlvYVxdEdDIQ}i7QW0OkOgv* z*%vRISk3-NVcBB?1Q}4u(7M>2p-egW3h6zZsB6Yskxx}iC$H{BZ(DtvmS%P^5#FcxV^*_@oG__)DoVmDe_l*d(FbMrWKj;{>LGN{H<3 zYMI^Mesqt#d*-!+Nj6%r1xtWhbo8RdUV@MqG4C`{5G?+5E_Nm&90S{a!P~b_czmT8 z;G8bzE#kIs+DQVTbJt=4DH9&r$!Vp5i)t;JxgJE$2{f@B24_}mt>Ww_SSSgV^prAK zAx0&fFGV+EQ=l_5sCOJLgN{3w7DVlRN}Ibf*kLPnzn=Y^9CWj*Qc;!p7_4Nz1&_T( zbJM->J6X(F;rMDbtX0PgRJHi1HN_pzY>gNxrOobMq)Y+(8mZG^T{UD|nvH5`qL9Uu z_W}eVvzqv8E9(7jg)pq6wAF$}TZHTsbAZG&ODLEZYrHuvoz(E|H+A2PuAx+(`vG|O z#fs%^v#}AyX_&Gob|OWi%S9;In%hNd6yeo48pHGkvx{JwhT^G(CG5D*gQ4EBQQeJa z=14|!8PvAu+!cw>r?sZ*l?k?cpWP9ULMNHg#;&XKB4e)g7T;~nf|00((c3qch}+7A zf!lG@ac@z5%1F+ovv=&53-)b~?&f(aeQ`SC2oKvkFu;=86Z3!To-Qv(0)HJKL0Ou-4WKOXh?ng>9LK5cC%XZru+@ZAoM>H8PC)U~xIOId3h=qk zFcc|^s+Pr5I)rql<}@eYY^;UH=Er3y#x&aA6cgUKxjf5SPxU2tJuQ_hw?HIXt)bx( z3e~o+L<{g!)UwEeupN2w9Xa)Eu(r@yPxLKXS|cDHy?1POT?z>vwhd<$G)e7XODh8l z_R9mVPj9h5JfKj~Hh8VLUf=4X-E`4DueaEgORZ?6!6QYpUv=3Xr-Dvqm~gb+e9<`# zSi+{fZE3zP?1^5J5+))z`T-f5_UCSZ(G?=3fhKc)K1{IbbIzG?rwn=@-}FAvc1?z) z1eR8?aH zu=7ERIT2XKY_AG~sZRaJUGFpJMc{6}j1;%6_C4DaJl;C|-(_|H>=P9eD9X@NO{p^` zT-*AL)(FQrJ?N@k5TGf1Dei6W=((1~t~sZ%R{{g5Z+zcTsNgIn_#_JbkcSzy)==8^ zd<0?n66~&tJUT1YkjOTEB-kNI3xDrab{NSoMf3)?I^JtUkj;s7)>Y7CS3vIS09ijI zKMd(TG%N_nJ@z9=iQxvYBG?OTGE1J40=+Zb7Ty7qYs5GX3osT%IIe&R4l}`Dj1;Z& z>J-6hjx9%iD_JuoVcK=i6u^1deeU~TyXG(Lr}BdO|6fA^@LU-9G7V5prR&tZ)0aS`0Cf8?hL2A`&=cQOT;NUZ6bq?=wzwhXp?iDT&N&e?p zt!!jd)neeYRsVZAPSy7tNzv85cueK9OocT;?+Ys&#^_T(WSz5W#Ji*G*r4}e>2A|? zQQh0`FqQDadxUfi*UWkLP_JobL>@QH&C)kS-%ML+)AL^EELE(4+4l=XM8%_+V-zC# z2z!uo0Yfq?&Z489ff@eg!9;~LKcOVc!n5SdQqYR0;@QtC zP{N!2ceL%@Js{5V!x}hdFtS1wL_O%1Zs*mE3fqWWh3`5HStD&zRMr$++JjKH1{BiS zeY&Sg)iG4t_G$TZ7m2M0m;Itq(_?PnYA5U|b(ccJG+;RNrsE6&aNG_9+)U-X>Rn1W zDwt=t0CcBXm%B*mWh5{UIrl+8VpKi1Yin0v-msk0TSd^S&CiSHEX)j*oSIrpbV;`U zdmvOC;4FO0lS7$19v>c}Yg=r@HYta+Xs|?FB+fR{wL@)=0zTfvX1?I3lNeCsV^RRW z#x6knD$o1xboWo$pDb@`omHgj#=iCKoQZ&i_7I~<=Cx^QHN`8Xb;+d9m4QW%~H1Zi-UJhL#oIiwqqR=}1c1 z6*Y1LLPW_UPW8-*4u}*#&LvD3O4ii-FORk|t7maa#8^+o&)}(}35pT!2#qg}0m4@r zUmKQN%uXPYj(3R)P-kw43kD-{*NR>T?-UCGE2)bFx9a)6V1+fHIsw&WF~l@jK4L5; z(1vv%kFzg_LoxxSuZPU3__up%-zNp|*01j%0IsKKAA!tW^(%n@$=9g>xL5q&!GJVI zakjOlno)vqHBUlp5QjS(gG_4#0Br3cHvdqCQ$jXc3)lrcVo6_(Dntn9VRIT=Y&(0i zSySbx&;&-D;K2$0$J0RH1W_m;}xBfkAd?!}Dr-B>@hmEWEb4HN@;9B+fm@$eXcF&We*c;>_ zH`;X?cH-BxMKOV>j<9+^5kfgVR-O~v;I9ZpqO8}qqL^?yN!1u zI4LwCQ}7l(X}RmomYH*23t^D5HrpX(=8hRjz2rhjuta;9OY$a%c6MYtXXiClJv5Gl@=t2ru|}vGt53 zgM}nc?67-%9=6!5kVf}3RzPT_x^`>!eM5^pfjJ^MPDa@pEA4y0>wW72Qm)7Dn*4A*I9lNy}^s2gq2^&^7M?o3DcG)8GSZwp)lte~m(?ixb*kZBo+wySD7JO67 zj%hhcaY%{={CJBm{Ma#eNH#V9Ol+ZbPqfZiP5s`Q5+Ow*eXzC}`8q~NtDAmyCTuFc zXu}G`y3Xglt+H{2zi;9 zIJGNYJ!R~0YYh+WVjTL8+wD+c;(6lDm%gOeYYETFLNC2ywNyM@>hz+IzRWzGb%8)5 zW1^C1f{kW3%x1Txm?(8wb`o?bjV@qXB724#T7bNWW>HPggw-@hBg@aAm5rLSJRr)W zFx0XFgeLJ)H4O;J7T-CiOqOT#MhaDasTG@1Iei8$#$tfz&p^@>m0Gm(R0w1-(r68} zXi;(=2imq-w6xw&S#+jCURteuNx?4>u9ks6v=jsP|4oYk63;jR&+LK`dri?^&klpw z2&ICm-ZO;xytxj{$709zs!OA-Bc+tknkYWp3Qrpi5or=+9_t10XL%o9JW2r7vS|I2 zufHSqw=X^YZj6<(PG?#GB_$T#NdZM(umGkpqWpf60Pn1Tk`$qWwY4EJgO|0vVGGX} zKKQNp+Hd>j?~PCnpF=Mvj078+ABx{>V_Ho7hAs1EVG9Y`_k!E)Tyo73+yR?8`@IKR zKlEUs&(lmXaf#3AT5aeN-MPXt=B1Mm2kC2{D9ItyJ>c<|*-pbe9TdgyMOVDDSRMhJ z8^X^eG(D&>z! zBsd$)GSSAl#h*5>+~CW?Jn`jrzIOfPYbn%8gD&a?8wwxs`_Jr#u&vWhMgq3BF{u08QJdJ)5-X za!LsE0wm)a5fh@hK4YfIWeX#LNpK$Oo|s>pI^%vq_fvQK=R&c3PQpA9fZ#e|fguxZW^KuY79yPz7%y0nDzqzw3Z`Rg(tfapFW?tZ=G zMRz84k_-_bQGktFZ2|Ks7FS)A1rLGX;o)&PL{&^XVX4+taIldu&U4^QNs;=kClwKa zd*^8_7cu>kK6~Hx&EFHx-0%2aC--CWDQwThjVv0tkH!K2{)zyTh)*0#O15GatZy>C zS++RR*;Qct&hP$a1Ok2AH+>IYJ-m;%*Do3uo=~w?M|0*iAw4m>r|IjAU)zbD1#`wj zId|C>BlnOqY|dCFelrDSIKt9TS-p3|;Ogw}JdfF0&NnU=;;1QGO-KR>b+M#Hm7_yF ziF!0MSLTN9lq(dB)CPHeT|@!^QDh3;->~ILES)ywc05Yg#V?z3PH#W?pa^F2vJT z8pUEE%gH4<)=BOJs?+ub!+?%{+ML@K_*zYHs$gCciad$fY`j=$WQlMbjvAOl001BW zNklaSE zL02oJBuyu5dKj1EO+(PelIn^?D->B`fTO5LWH@IgP)eFpcEzq80_%EEt(FBrOB6St zKp;xCLXim_nhlL<*JQh&S&&rX+Ro4O_xwF_f~8Xz#gh_6(@LX*Ad|x%f-qxLuoYGD z8p-e7$rr)h!Ks+_FPc+!FSJ%sq|7A12-z~!H!F&p4K;q8hkhOD@AWYfPJI>|;a0Mu zL6T!6cRuEUUNTH#?Ep#Ac;xYE`Z`Hf#3TpuV&N3=F$Aq&n|g(w#o+Wv&R%}olnW`; zs-M+hTU&G|CyP^}fOQ8FrIEHA|ZW-Oo5`b zz?;lTy8|A%x|4%cH>h-p645yP;?k(vFIJ0oKe2E_FQ2M=xMhPP5G*R zBIbe0n(DY;HWgwqgIb*@o>JrUIL;d`+iv2?ZV|(pOeyBj@YXmPVNQ1hGAGIO^!w%5 zHeI~>dB*&oO2OMVZx>&Ch_jHpSnIP}S_#pmM_bp{aJ}7d*)OVf7)n0l!6}2nVN9w2 zmKE$y6ucitdIux2Jh0e-ODzC3eZF9{N;mlW9()JYiNXUDC!4Kxo(ppHf%hIBRK#Ug zG0*p?HnL;uXv7+8&w+}DVaRZQrd>mmPR#HCF%{T46W>Fje6b&cQwMeB7L-zB!!Jb1 zhwm0>Mk&o692FtEM#Vuv-iBr`LaJhv**XYg49&EtWtxmRVThN32ql(DwlUA&Ux|Nr zpZcBMZ~h&6ZrNM_LhJX+>gu9k7)_oZW&ooXmm*$RA~AllI_`rUsHn;xLs zx(LR?`Ij^fDX9yYXY_u(v&P{EzWYzaJ^8tR`47?iZRuR+J#p;>@J9*&<(+mwdG`O` z^-uZg&;Iv9K3VXGE?!u40CB-$U=eSOMex~w_KWd7|Hu#h$Jn+FTiflS#3W>;)*hV2 zAL&cpjw7Q6`f=Un_SPz0ys1`H_+p?TB>LdPDoR%<=bUvhGM|TG_zBI^%_L}2c5*C) z$tbi3ovJBK^+~9;May{Kb_>Co4E>2z#Uk*@3vXz>O9Sc#riz0F67%IUF{v_xKA0Kj z*>O8=IFAGU?5RVNlExf6Ya4@hMXa!>&Z{qY_39N`-9oWjw+;2-0&J>0?nXTveu|fw z>gd{w36+`~HA^P9>f%P`8AgZ+?LGPRSUk4oCMe~_S+8G34_$)kI$W$N=8Ycx#OP;) zw3MO?L-kl{X1$K4h4AkeamUsraT^tn0WhPVUB9o1ig<8HvdL7*$~q`9Cr0`l?_oRi zq77>eNttxD)P*S&Gw87R1t%gW{-uqco)^qW837qVoUx#kTUyZjh&G+iX03}Cdfxgc ztbs0TUP-Px^t!xxx*58*#D?r#jn?#8gvhfsj-V&+T1w!6y^|I(0&x0g4e}?sP!4;&ecBX~-P6#Ph@28M|F? zk!}jn(bn6yPl|;1H7Dc%$&q!p=~laM){%uhpLawgX2FmC&`-yIfA+V3DR?K0Sx^b% zS*JWYk&tEVeJ=pSSCInvl@$Q@gr}^Izrz`Z4uID=|4UXpN&QS2R{8L z@lCHkrEPdy)YvxbRlrxm)-za?rEjM;p*vwjLWj+Kd_f4$w(>0ZJS z;Ls=U1aaD+hO0*-GBihrQkvn<_6rek9;Yhb`>8S1qhnY%;W*9^yT$$E4E)3`@Q+{E zxaMYs1x;gv z*}h2u@tHG8nW$cwcE|g9H7%R_JsW3kdReoQ|BgQ=Y$9PtW&7bQ^)EEi+oHeS;NacE z^H5jMIfi~#W^;D^PA-00+e{EV!C92FZ*DL5pZxwOKZSqi(?1cuoA2P}cvHbC9{e(!_N;Ws}2%eFZ- z{KSv`7h%0vKnOI2aBO~HPh!iji*t1gN+LdeJ+-ROy44n^et$h|ymo(xSOk5jIE;-e z&%z-<^Le3I>p8a{XB*AijU}nr#l%FuxpU-=r+~7UYX=fHYY{DU=Hc;S&R3Hiii}oO znli)7)=>ABtU@#eGqvi5(rPG;i;Xnc82OzUQtSbs0+b4A6Qm93#4o`suS+@e>^kZ(Z7~ z*3r(sRUF3&fNyEM*jn6!08@itfTPnsqN(K$sSHS~i4#Z)2K*W`PlfIRuS9q~fZ13r$zFAR@@|rE=p-rPcY+$lw{S-KEM}on zYKhLtzyHVovW{y2{QBpA86SN3`LxkzTO)@q;Q3ep&*%SNM)Ch~6#^fB1Rx)yM37Zb zHOBxibO9KP7QkB~KmYgt_xQel{D=QDeEYY4|I8PV>9>shHrt3b5J%&3Th-00ko~$i z|Jm$hWwtX55w^X>MxJeY%!1x6JA3HKcd%G@U}YZoU#}K93tB}zDiEX~NO?=2#{|R_ zQo>rbM7e3<(kinW&_>)LVAodXx7vCxiB9K$9ao+=6Pi`)mW)y`NZAEZ>=-XxtP29O z$q3C^b7?x`^u=KScJgm1rK&%;R<+U;ZBq}C=ck$2(MpU;TzM_&w3O2Zecn%`vrM)9 zX`5Ad3tC$GN=(D#n%n8<9_y>4jWiFXv=CcyqUnfreowc9CQBvaw5YTCZQJ$lm4?># zV6C$QNc^M+W4+gjKdrUcCS#}4rXTKkcJN@lefu{4ce~vd{O;^jl$j!zv)*ZnXf?B9 zfIA0ykjKDzYUg6~fib$d6gYh^JX>^2%C#o}_&n8nJy?ZOcPBl+#!4)dnD@)sA@*A6 ze$0>xYa&d@5@t?-p87_N`*P@0z<#`A*gJY3IQqcZdpHxEFse=(vlyH8)!idJ1h?a~ za4n9uu@aN#X0ke=X3^x}8qMM0pkfA~%2Vm$K0(S-SuZC;&__4=pcW&ybJ+B=7z|7E zKpZkA=IjW^9rJSJBe^4Gg2E*<3sl6K1<#HR}xDWg-%PUOiaG1RK3~a|P%OKO#v5mYL01 zJCg;Kl(x1T9@ZDsC2)e&D%YyE2_G&OW#gOBs~Mr{>aYYMD!j@qAiXA6Au=z{1wm99fs0CB?9lpSq zxOYNlP>W?PY$!!t6;v8Z)q7&Q?AR_BJ#}6luw6Fn+pc-zz2iI;d3-w#C9~P-InUbf zPh^Wm#GEnP*5cl~Tz2gHuEnI?-&@lYuL}O#DmNCifH^|BpZ1%z07=#>2X&ca zOeuiObH2&iFBulD#Njd5&;A@^NdRQa5YYR$%<@d`FvWJ_sHxjE$1T&?FKMHjdKrEF zx0`BqdhfBp-Hhnzu7^?z9xj{te$TMmWF7mYk)MSuTtx#<031wbitqxWYf z+i-nM;+;w-ermL^e{G9yobxOocb$RzjnE^O8EJHYr9($1t`%qYv+gmzX$;c>gf-WR zucqgro5I>|I9bA?S*<0s0Q&11{`5R*0Mv60+AvDPK?S{5NU6GU zmkObVv0X6QhF+U))}<;ftZl%yp*}pKy?R7_d<4~9Px{*h^>RVoH;{>^gtVwY+fdq$ zwp~z4Ga*z%+cvbzZeswOzguh6A0V|=>LQS5jfl^8E=aYO@TF|sNRUJJLPtJN{Fv6bEC6fE^jGrG?o}@}f|#A?l+)Eo_WsifJdxc8+{CvR^g}PK&Og>f$M1*3r2dZ5Ns)vz)$iHF7k1#r?0wYh8Fey zD!>yvK(*GQAZxXuSvZjwjUgVkLcm9h+QF+aqKx&rHbZ|``m#{KICiKJmAH;b(&K$C5_hoH;S`-_doEJDA>Gz}`y$ps%C^r~v-gFaKqf z1Q@H3h*HjYEGnsWiu`-DZcZ-Tm?}~I9&fK7K!ovq-}U1FfKPwtAHkR2d;y>T!ate` zOQu@S?KM?ra?EwWhi@Rj@^QVySbsmN{HGN~D=8d?EzONR$Vu^{k&V8D$k1wkqxoEAp2X7hBwAXlCEbSvO7rnG z+uWJwkPLDu#yj6}*)Q=N7ZHr}MB8@^9%#GL7%9LN0C$Z--YyTS%PB=WRCf9rgV8Q~ zoXDc^upA9O^m8Y7?67eej#INDOy_YsO#P3!&PeJ2Etz~?BnVrwr;7DB1Y0xxv-?`$ zFd`cPGUtt!)&)D+Gec8SYG{f=iz2c(BSH&7D=kmVg_Hjs8=P61i*0iGWA}h96`#&1 za-_NU*@xY8bhjT!a4ncs4>5*jiHLBZ*!?<@gHHDnNi=x#u(ndFQsaCl2Rs%$O4=b8+k-%kaY!0A=4D;>;CZ{{tNhX zKlR_m)%rWX^w;r^e&g@PK{tZPWY{x4=I`-{ui<0|e75<&>wx|hngPDD0^ojbL;2uK z87USNH(z8+nWvRy4vDf@Mf_)c?qB>veAl=CFuvuJp9T@(2fz2H@Wr=Zz~{g4kAsvI z`hrBb;~>Pr;6x=@17Q`kP>xdS9Y1`|r@eKndmKFzg9x*>;4#}&rOfwLjHT}ZHj@@u zW-HU&&$>x)EVzY=H!{zji*>v_ZSRnTR0A~9cnp2(sT~29^kZj zXa4$~fD4N>ZC%u!^;yp8?#cG|vb7Cu-^_?lIuv!frU0*v|q_l~w-Ky?a2&)Z>I0-!xyAYEJ8Vhc2% z9pgBaI@y}0@Db3D1AGpMCGgc&V?DZEZ!H4Kv`phyYiwZv64vAa9@`4^g5(LU7 z)46LgG3vB96}&?xmNpmB&}n||B3O7PM6%e$dKhBlJ4?M47F#P8rOZpgqp6;3v_?vC z1Uh0l$5@`>j9M;*EMlBv^x}*a7ur=@k32n4qLYDT{JVsU*#_&~S9%5$@^yBLQ6bBi zyoi)cn8zo@#VIay3|n+^wxtlCuuYqm#5)Z{+Tqi*Sq@bDAN!#{kH7fu{nhwf{>g9t zJ^b7+{7h{2%LtsU2oQ!u*1?G40(>_fcu{Zn@jd@vLjjO2MMyxP)CI`Ws}!b@y8z4S zpXjcTpm;!vozVZ^-}-rc|EGTfpLq3cAR_#`pZU|MZO3nX?pF+N>u?`h9S5umPM>fr zic}+x`Rr*hhute97b9fG;o(VN=I|9|zEqog`AOdkg86<+sZk_&#Yol16FSSUcH*6# zfnwPmbDm74q+(0r3|QP%K+~VxYQ-pJ28YavXFB=HGPjk?;-_bsYO_!X9BZC4C*N`s z`p9B$N)O_2&Bm&(7fCAibkX~HqP1onj)JG_6ZUooLd(Yq2Cz9USb%Xo^lQ%!K2LRcfFNBL%k6T( zdAsR2%%C{?<)Ymvo7-M*w+Mn+??)_lLX>qwNd1+tBRdl#o~eZ5*6t!rW=Z69lsneV zwAGPy{}6#j5&|^33(?7-r-WcKFZ*m0$MY<{agnAu8W_!6_&jFInUibC?}~GD^v=&z z{>Z6;DV%4a1SU5aOSUvWXGKUFO)TGQLCUYJfH-IoB@j|#qlC6-et(G(Rvst$hO5vk zAJGb{7bOXpYwg9;I6X!O5mg?m$fZOBz0h?c6mJ^L{go97~Z+13|$MfsZYEGIX$p zVESP>SIfc++)Auf?Wg(`fI(3qubj;ZR`HX5^-hGf-b+oVecL39S<(F0#Q-?&b||Dp z28!wjO0784qC{yKTLC9_QXwq1n0q@e=!H}M(pAU>#=TEip7oN7&6o4ZKP*1ZT#u}G zJ!Op1v2A;xKRx(ISgZq}?cgy+%o)$)R8bz4#S`yAQ^5RvhoSVd8?kXNhC27F>0~mC zM%RKAi<*u&YEPE5lMGowR$_FZbU?RqjozbEpxvL<0y$aZvUJ|EA|PuZCLpM&^|NT$ zQ>n^tuz-UARQV$68$yYcGt5|PJHZj2w`BLr1^c#vSa7_(qCM`~_2>f_)_mPJ@b!wi z?>MekY!4R|MA|9qczVMA_^6T6qIv9f-}D5=g8FdL5g1WX-qaE;cp(gvM3$ta~0-@e=oI8cCtMO-~KJ% zi~sVc{}=qBANaHJ%0B;vU&a6Nv;Q-mjxXACJGE|nclu}70*Jb7?oa;^th$e{N%r?O z6adda3`9$a$g=gn&;`g;unfNl$jQ>G)}MHeD}ME}e;eQNEkB5Fd0zt+-hcfm{P-XK zi+KI&Tk-$>t6#%$zFkKWl>OV7d}z^!%|B>L>Q{G>GNlJ16(g`&S6IS*hG^~T)xU}~ zJ6+r6IXgSIp`R@l*4LTw>{IdiEnR>)pQOBzlvNCLcOxJp zqKWR`Lpm{}Kc6E2SvdVUNF*;d3jLW;%9Kt40$|%3j^m8+fZFY}(5uECc=os?h`b~( zdq0jyo%7Az7eqEVQixoAM3BHt8lGf?L;s&g_?lYXqhQ$*5+`#!&0-VjEaC$o&lLSD zX$^Oo6Kd_;FUlimn}VULaTZE#sCA3$6-7tU?v`5=x632yw#UqJ{rJ5A*wrK72c&oG zj}PYju#t)h-NvaDI;jQi;S!vMaVp!OT{aD_IhC@w?;8ebd%3h~m}&)3iCxQL;>Gjm z*!B&yHB)KpRXDCw1CUH(D=*Ma?~pv^q$w6l#6lu^w(#DEF5Tb%&m0rhQ7cr!DTSb57qStSxt;Lp2(&kGuS))dIJp1BCj37nWB@EG%8jwKMf1uXg(h*$=IUcdK0@oo6& zKlNYZFa6p75$~t8zkl+Ze-D52=l&X=ZgcbZLxZjf5-oq`DTe1HM9!!GXWoC2ca{P2 zjVl1&AqK>q7?AF|1Zgv$%H#Q9VF82C^1c1H2cP)W&;D)nao{uG`NzT&`(2;cs$6AJX@`&9mF{JYqRfdNIj;E>0KR!GDqdPr9u@)_twBAghi8asO8ZD;eX#Rpb8iOQjHOjnPp{nIbY1KWz~QJx=&TcHA&Jud{y8oi-+&Zs~3{r5O^Gi)wmig{0@3-`zR%UK3NR+CejlS?dT{aOZ1i z&K&mlONklSOfg<9EzQu)-WGpfmFS=P zrtia_|1*CTpZU%|@gkM*cRu)SeBpP09Ur{;mpG0m+>SQ@1lQw3urO}7HxMwc*EbLu zIQkVsP8_#4IQxmC-@xOB-jAu)mDM^jD@+N>+e=y3xf39gT?i?|-XK2u+};Oi1m5xx9ry%}r;zzbD$PKu+1w7u5~B>d;v-j^31$os+sFZ{m#cRLPEDD*-skftu4 zlBJ7u90xor!6QG<(NRkSgweK!+x3QR-_cK95L?yU`f4nOg)nOK)rC`GFZVcZL8S9V zKxtz=#GIZuMwL)ootuLRq564Rw5mi%PBBkC)e_%RM8LhPZ7!1^$-b{en+~%QUe80@ zmx)n+|LdhqXwTyQ_$rFwutqaOScR2h91I>kP9(KdEvDKM4CTxM81hQ(3wq67nDGgoxmaAAE?X z>-FV*gx1(vdd5w-KmWdb|G(?`f9d|uH)CxL+x`$6I2q7uSf^v!L}oOMiwk*Z-o&tA zpITdldm-7#3Tf=^Rx3zYzjx~PO(C9ctj5MFULZk!h!j~5mA^j)z?~ML+*tyNa{IUh=RN@VXpf8fVn{6M}Q|D5L&26x=fCk2$8S~OgbH(+60Z(l+s(*FkIINpM#<2bJv zeB$g^jB(;TZ|LKO!6%OMiarkg-qO+g%|Jd+YtmnSM(*Jycb&C`QIM*PC;*ZMf}U06 zcj|swf6#J@zk6_(sN)o8N=pQ7`q}B%?Kl*nYR!w1=Bc3zct(9Aqac>~GYgXFDT{{a z?!mYVA;D^;3fd$KZnvAAyiG^qd~}G#q?%yLsFPyyVz+tnV2tB5I^DEfQBkp?cb%L# z2OdE0vpXXU@uJt1>^`=--fjyTJDg#;c*q%^q#Bp);b9g4G13~QpQsQX7`>w`8VJMK zmS$m24gEOL&s#!PBi_gB*YDx=t5*=S%vFQmxCef+8pPW76l?%2IMw<2Eoy8QOR}^? zWTM55ku81mR@UGD;P*bz0$^!k(Gpqw?&a~__kVu=o^N=#%e!MI&-Q2-Xh|E{)YXlkGcS}7>G@X1A_iK1P9vbBbzcTG?HI=+9Rf`|P* zl+v*8uTZIC-yhNHj;%fDzqgD1x?$U1={0JvP)ot(@*0GK$IB;xQt)_rjbh)EO2K7& z&oUk!Q0s=RJ$ys<2NA)qfBu*8^S|;p@av!ZWz~xc2>^JyeyAf7>9`$F zAZYyT;KRQ5i>O5C{lFMc02REsUX^%7g6s7|6}?GEKdySFk|&fxxE_o*Z$AVu;`9*| ztOAg9Tv|bG6}MZ*w_S780i0u~peDvK z#UgR%qOvR=NLIy^_bxAx?j!|AP(t&#l@ouFEgD1th&TPei+K)FROqL4F3U zddergAKxAgM3-gXTu##SAp6X90^E1D%G_)UrDoNPg2fUzgcnCwIR@$R@s(L1CymFu zaT=6!!&Y4{(EzG<{(FFl&6T3mJ;jbIe`02a_J~4N9W_uFO|2XD?GYeg zvyB@79xk8ILX#S{b^!sn?C+tVVBcS(5aD8*^yTvU-{|#u@QL647r%zZc*7{`cV3<$dhid$?TQ1CdpQ zwPI_p^hVtt(5yOabw{fgw04Q#`!~Ii_04uae9B~8EUC(dz0DFsj0 zHvua8@JqjALcf7NZeV6ykGDAcffkf7;C8;5Cj=IBJ`@mRb2t{@INxT&Hu|`tk8{rS zg>js37e@VYJ|(ZLD$39EYDMWw>;nDO+qZAywLROP$U})rN<7PkEQ&QccSUC5LF?w8 zM*M{PsN-c21Od=*U&O7QWmFW-yT_MZQc4;G3F(lKSP=;c1yqodl92AsU6#-VX#}K0 zkVcS_j>R7((%mdwOE#Xa}jd;kA=@tHH{%ro=M_suhB&df7PV@JSdg#5vY zIE6@p#0gIV$kr;PU|8F$+@#RLg7J<=W?)u4UM_EEktfIwA?Rbb%zBCR<(R;~V;*81 zvcL4^%X4sFD#$l4{HIVCW@KpXXnCYv%F-thkl8apjbV(Vtf-v0kNL3=S0u-*PwdiC zDZCpKVw%1nHAO(oK)z1!TGzPZMUMAj#JTj|Dt7K_eg_kn9l4eF%Sz4VGVpTQX~Kto z)AH|`y_6hh`KQZ6$pI+~QirpZ6H(5GlvTfQb3u3S&&X+<{ncfi z5&)_KP2Z-Q$(TD>x!q~lUg{$*n73{!p{XfravEF+`!kvvbjt6?VNQ^Cbf@79`JB%)K^dcF^Y0Afb(XFS zU#j1`#*GXL6s%Mus)6fgV5cufuDGl4*uERXb@~ZJI2UAv$$&;%8emvzl~03!fqS)clH>#So%nwex1eP&Ig^VwC+cI z6R>FZglyn~ygWv;m?bIaxj2RiLfoq-b?OIh)1EI1B&mNqWU>@a33|oJuqm6f(Z}dK zFr{ziIVjkKOhXxuM%hfGN*dE%B8{_P%&Am9{!OtfU{T`D_OsC#kn!7r>!zDe@*h5K zPxAY16P!={+)MGt1?;I824TgV=WfUYV}J`J7d@NC7YjXXV>?CuP+Yy)4rYRJEM5Kp zC;oim8Wyx2W`#73*`bv+`SUQ9lI$M%Rnd9E)4hO3Q&(^K+CsGS4ED*{_2vq)$#Ja= zj_vWjCv}bmGX^FKtZ0_Fh7NsDgpPP%4XzILY=^^&B>EL%4zRRGDbBhW0RVdg-+pKvl(X1YM^T!0yd{ovazwmMw-TX2vq5Il1L(#WBFcSsw-*?z! zW`Yu?w7Im3bf-kh{m>BAD!m_%2SXEV94Iw7-BYR{@L@w}H~vX4$mDy`!< z*E^hqHT6CHAyO96jiz5Q7V3{;H%-zr8qafkQD-wxd%KFmt=}{ehl`DhL_j@%Ai?*h zUZ%8&&q~?%@1f^rY{K)S=L~r4m!{6@b?#hkZ#(?Z9O45CS&&*XY`B)Q<}-CU8}XaeTP9W73jNPY;RlkI1kFJP0LMK~(NrtaPTQ zC_8>duw@eSVN&LMx_^9{I&gPU`nAi35!5S+X_&h&w+5Pv-GP?Ej?F~SHb&Du1E5rT zv1(3Wx!D#k7q(;-O9#PCkSYAem#9$*wOZ*MB;BG@sW1u5F z9CBSPBpmVz`;IBmCMrK1@l&xXwIW;T9LXy?WPzzIfEJ1OLJF=UKWVMgq(v#`)#T;d z!n^y7zDcjH8xkt%$0Z8uQZbLZL_#00NT)!u7I-&Vqk+!z)|=%4!D`pgj^QTM!)Xp& z+O#p@lIl@~3t-;YVIKb#vd<|Hai82RI#@EJy##NG3$F=9_gF2Y+RDhn)hvS8y=+rB z;sK*L3&96I>1NfDniMP9q!@(6%rmZad{YGhWQnJJAetB*pI$K`qU+lzHPBF~9imE{ z>p0`?@rhGHELZdi;g2f2Xvk~#F0=CYfZ9KL-({r^qU!616XsC*^$nWlHX%<6EuH6a zx`a9X_|Zs$JLvEu2V#Tg?WTo3cPG`By7;M{m<4(`%tF!^(sN$s(=>`MeYTR&CV$~z zJUPpg7AGZxjlUpu*tug@i#!=M)W{vaaOot09FtPrz{q>fR}0P@NTEn+aOoR(Vi#W@ zW9Y!MKQ+;{wlktzPF|gw0G5i|*YcmR!w<2Tpq8y@%qB zJl5M!tWcWbD9A;|JCYaaQQrUv7g^gZp_^|hfjRoky=rNv{UKk@H_UXF)U}`M>58}2 zWT!SM0q;@U8ION*rG_KrHV&`6eB_shV5vq|2Np!2&$hr_yW3wa%&k+~NiHaRoZp>@ z)+ux{-$~U3eNoAcWFY;sg&_jJqLS!ka~i6}+XiMzYlsl|llm7;7fm5B_C8YNP;y(R zK9Uxtd~>bN(_$JuRCAFmX?Y!NH0z}XdP-o9OZM4B^od`$V#i3F%fKgoby4BpV@)a_ zuHWM|`vj-OoG^pef{2cgy#TIsKoM9@1j#H3>^PsqnJ6t~MAL;N7q~$!-UeCKr}lG4 zwX6}&pA3Ao+GJ4O9?COqCWY(fW5wd=*IaK;O#{WZDK=+18kEsv#(9+K#{aw!A53G^ z=cB)Y8+!1!p)Jofbldwwk?4Nu3<@2}I6B;Ya)o*PaC~~& zV^2``n>Ge+gUfm81R<*naKgM!3cP>U>L_9OhL0wBG#Z_t=5j?v+&lLlV&>{WBGM>CAEVruInadB)9*0+-k<} zwtX@K0Zw-9C|X wBD{_*PQl_skK&S)UOi=#{g}R!fKv7urJe`y|8Qb7VrT2$RmQ zNZYcP3J~9P3qJqBlC9XR=bd7AY$+*s?N|k-W;8X1zq4?V5C9+bD-PB=i;;eZ*6~k} zNFKMeKD2QJ`E}qWZ&5-&l@cePp)Y7~ATot?5`$<$Ax1nLG%cc)?KqAYvBm>etIf9a zsi@_DZ91p@K|hkBrm<|$=qLxIba{rQ79}y1-IdAoNBzhUSmUl!ikf@d^H@1p=_u`1rOeu`+(rPHf+Vhx^V2E&o;p1=->=zR#7~Tk)$g*ev4$i>9>y@ z&-x}Uq@-&o1^R1|qcn@Ozozx`xn-R^+s!~M7o{&{ma!Xo-x^SLs;b+yh2$Z+pT!=A zm)RNp;usK9d-9bdN6?X|0Y%;k#|5qg<=_>+$G^VYhz~t|5bwWF9e?GNJ4os2st!qv ziNdFQXE~7#Q_1uAvsg!b2T|m+Sn~9UN{i%ScBBDEoVn-tgBS3QhYJZ&X*U6rlborr zO^vv5g>{Ac;x`QtWEvc&LCDU2&i~wefD8_~`ZZjooN%=>Uay&~Bwd_h+G4o<;92z< z@x;MIVCxCd8+7^Wfbey|X-kUEOr>4Ysw*=B*~Mia`dc;LK4Kjtqzr612~`d{E-U#b z=vw47Hp+_-Zc)B6AIU^~=UdrtqmUfcP@}yGNWpDHx$=vr(=qMHSrjIU^y(%HKWJD) z(rfiWsP5k*D1OR{aNjg}Ko!x4W<7H%eP^k*_|d@w7Gj=Tq&MOl8WgB`z}dlTP#}|> z#3}|7wD>BdSgW|AUE}l4aAjfHCVxdX2{h!5iwe5{nx6giKVcSlb7i%{xA+o z-@s>IuGQ7ugbA>$T7<2(pA9Iba~GHYc&LLlyMW@!;-+W9n`rXvVF1_ZrSDyr_}Q9G z9ZHWj$?bKoIGin?>%{jm=br-Soi#nzYzq-v_QpO5-S#8;l7l%(34Cm7r)<9gR*WBr z?i$C-6qTu+k!xa@b89G&`l7z{3t6>-vng$uO3ieR5l+{8ggLLu&Z7?H>pH`qw!^_! zjYCANx}uuJB!--erSca{1QfZpft8HGH=zo#GIamEo%!j;u*{0So_+u+lrh|tK=Vz( z@h(j_mWRdv47Irei1)5Ca^$Z9-vgH7Llfg^gil|PE`m&d91G!r0O3rJvI45)w_2>;^$+V$VH{~x^iPrLdrQ~ke| o`Y-n8f2I2G1^nNuy2NtLHckIVHAl!e_3vU7toUwBLDyZ literal 0 HcmV?d00001 diff --git a/script.easymovie/resources/language/resource.language.en_gb/strings.po b/script.easymovie/resources/language/resource.language.en_gb/strings.po new file mode 100644 index 0000000000..0622721108 --- /dev/null +++ b/script.easymovie/resources/language/resource.language.en_gb/strings.po @@ -0,0 +1,987 @@ +# Kodi Media Center language file +# Addon Name: EasyMovie +# Addon id: script.easymovie +# Addon Provider: Rouzax +msgid "" +msgstr "" +"Project-Id-Version: Kodi Addons\n" +"Report-Msgid-Bugs-To: https://github.com/Rouzax/script.easymovie/issues\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Kodi Translation Team\n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +# ============================================================================= +# STRING ID RANGES +# ============================================================================= +# +# 32000-32099: Settings categories and group labels +# 32100-32199: Setting labels +# 32200-32299: Filter/wizard labels and options +# 32300-32399: UI labels (dialogs, buttons, browse views) +# 32400-32499: (reserved for future use) +# 32500-32599: Settings option values (spinners) +# 32600-32699: Help text for settings +# 32700-32799: Clone and update messages +# +# ============================================================================= + + +# ============================================================================= +# SETTINGS CATEGORIES & GROUPS (32000-32099) +# ============================================================================= + +msgctxt "#32000" +msgid "EasyMovie" +msgstr "" + +msgctxt "#32001" +msgid "Filters" +msgstr "" + +msgctxt "#32002" +msgid "Movie Sets" +msgstr "" + +msgctxt "#32003" +msgid "Browse Mode" +msgstr "" + +msgctxt "#32004" +msgid "Playlist Mode" +msgstr "" + +msgctxt "#32005" +msgid "Playback" +msgstr "" + +msgctxt "#32006" +msgid "Advanced" +msgstr "" + +# Group labels +msgctxt "#32010" +msgid "On Launch" +msgstr "" + +msgctxt "#32011" +msgid "Appearance" +msgstr "" + +msgctxt "#32012" +msgid "Genre" +msgstr "" + +msgctxt "#32013" +msgid "Watched" +msgstr "" + +msgctxt "#32014" +msgid "Age Rating" +msgstr "" + +msgctxt "#32015" +msgid "Runtime" +msgstr "" + +msgctxt "#32016" +msgid "Year" +msgstr "" + +msgctxt "#32017" +msgid "Score" +msgstr "" + +msgctxt "#32018" +msgid "Set Awareness" +msgstr "" + +msgctxt "#32019" +msgid "Continuation" +msgstr "" + +msgctxt "#32020" +msgid "Results" +msgstr "" + +msgctxt "#32021" +msgid "Basics" +msgstr "" + +msgctxt "#32022" +msgid "On Launch" +msgstr "" + +msgctxt "#32023" +msgid "During Playback" +msgstr "" + +msgctxt "#32024" +msgid "Notifications" +msgstr "" + +msgctxt "#32025" +msgid "Movie Pool" +msgstr "" + +msgctxt "#32026" +msgid "Re-suggestion" +msgstr "" + +msgctxt "#32027" +msgid "Debugging" +msgstr "" + +msgctxt "#32028" +msgid "Tools" +msgstr "" + +msgctxt "#32029" +msgid "Warnings" +msgstr "" + + +# ============================================================================= +# SETTING LABELS (32100-32199) +# ============================================================================= + +# Category 1: EasyMovie +msgctxt "#32100" +msgid "When I open EasyMovie" +msgstr "" + +msgctxt "#32101" +msgid "Theme" +msgstr "" + +msgctxt "#32102" +msgid "Set custom icon" +msgstr "" + +msgctxt "#32103" +msgid "Reset to default icon" +msgstr "" + +# Category 2: Filters +msgctxt "#32110" +msgid "Genre filter" +msgstr "" + +msgctxt "#32111" +msgid "Genre matching" +msgstr "" + +msgctxt "#32112" +msgid "Select genres..." +msgstr "" + +msgctxt "#32113" +msgid "Selected genres" +msgstr "" + +msgctxt "#32114" +msgid "Watched filter" +msgstr "" + +msgctxt "#32115" +msgid "Watched status" +msgstr "" + +msgctxt "#32116" +msgid "Age rating filter" +msgstr "" + +msgctxt "#32117" +msgid "Select ratings..." +msgstr "" + +msgctxt "#32118" +msgid "Selected ratings" +msgstr "" + +msgctxt "#32119" +msgid "Runtime filter" +msgstr "" + +msgctxt "#32120" +msgid "Minimum runtime (minutes)" +msgstr "" + +msgctxt "#32121" +msgid "Maximum runtime (minutes)" +msgstr "" + +msgctxt "#32122" +msgid "Year filter" +msgstr "" + +msgctxt "#32123" +msgid "Year filter type" +msgstr "" + +msgctxt "#32124" +msgid "From year" +msgstr "" + +msgctxt "#32125" +msgid "To year" +msgstr "" + +msgctxt "#32126" +msgid "Score filter" +msgstr "" + +msgctxt "#32127" +msgid "Minimum score" +msgstr "" + +# Category 3: Movie Sets +msgctxt "#32130" +msgid "Enable movie set awareness" +msgstr "" + +msgctxt "#32131" +msgid "Show set information" +msgstr "" + +msgctxt "#32132" +msgid "Enable continuation prompts" +msgstr "" + +msgctxt "#32133" +msgid "Countdown duration (seconds)" +msgstr "" + +msgctxt "#32134" +msgid "If countdown expires" +msgstr "" + +# Category 4: Browse Mode +msgctxt "#32140" +msgid "View style" +msgstr "" + +msgctxt "#32141" +msgid "Return to EasyMovie after playback" +msgstr "" + +msgctxt "#32142" +msgid "Number of movies" +msgstr "" + +msgctxt "#32143" +msgid "Sort by" +msgstr "" + +msgctxt "#32144" +msgid "Sort direction" +msgstr "" + +# Category 5: Playlist Mode +msgctxt "#32150" +msgid "Number of movies" +msgstr "" + +msgctxt "#32151" +msgid "Sort by" +msgstr "" + +msgctxt "#32152" +msgid "Sort direction" +msgstr "" + +msgctxt "#32153" +msgid "Start playlist with unfinished movies" +msgstr "" + +msgctxt "#32154" +msgid "Seek to resume point for movies" +msgstr "" + +# Category 6: Playback +msgctxt "#32160" +msgid "Check for in-progress movie on launch" +msgstr "" + +msgctxt "#32161" +msgid "Show info when playing" +msgstr "" + +msgctxt "#32162" +msgid "Show processing notifications" +msgstr "" + +msgctxt "#32163" +msgid "Warn about earlier unwatched movies in set" +msgstr "" + +# Category 7: Advanced +msgctxt "#32170" +msgid "Limit to smart playlist" +msgstr "" + +msgctxt "#32171" +msgid "Select playlist..." +msgstr "" + +msgctxt "#32172" +msgid "Selected playlist" +msgstr "" + +msgctxt "#32173" +msgid "Avoid re-suggesting recent movies" +msgstr "" + +msgctxt "#32174" +msgid "Re-suggestion window" +msgstr "" + +msgctxt "#32175" +msgid "Remember last wizard answers" +msgstr "" + +msgctxt "#32176" +msgid "Enable debug logging" +msgstr "" + +msgctxt "#32177" +msgid "Create EasyMovie copy..." +msgstr "" + +msgctxt "#32178" +msgid "Show movie counts in wizard" +msgstr "" + +msgctxt "#32179" +msgid "Cumulative counts" +msgstr "" + +msgctxt "#32180" +msgid "Ignore genre filter" +msgstr "" + +msgctxt "#32181" +msgid "Ignore genre matching" +msgstr "" + +msgctxt "#32182" +msgid "Select genres to ignore..." +msgstr "" + +msgctxt "#32183" +msgid "Ignored genres" +msgstr "" + + +# ============================================================================= +# FILTER / WIZARD LABELS (32200-32299) +# ============================================================================= + +# Wizard dialog headings +msgctxt "#32200" +msgid "Select Genres" +msgstr "" + +msgctxt "#32201" +msgid "Select Age Ratings" +msgstr "" + +msgctxt "#32202" +msgid "Select Time Period" +msgstr "" + +msgctxt "#32203" +msgid "Select Playlist" +msgstr "" + +msgctxt "#32204" +msgid "Ignore Genres" +msgstr "" + +# Wizard option: year filter group header +msgctxt "#32206" +msgid "— By decade —" +msgstr "" + +# Wizard option: year recency +msgctxt "#32210" +msgid "Last year" +msgstr "" + +msgctxt "#32211" +msgid "Last 2 years" +msgstr "" + +msgctxt "#32212" +msgid "Last 5 years" +msgstr "" + +msgctxt "#32213" +msgid "Last 10 years" +msgstr "" + +msgctxt "#32214" +msgid "Last 20 years" +msgstr "" + +# Wizard option: year catch-all +msgctxt "#32220" +msgid "Any year" +msgstr "" + + +# ============================================================================= +# UI LABELS (32300-32399) +# ============================================================================= + +# Common dialog buttons +msgctxt "#32300" +msgid "OK" +msgstr "" + +msgctxt "#32301" +msgid "Cancel" +msgstr "" + +msgctxt "#32302" +msgid "Back" +msgstr "" + +# Browse view buttons +msgctxt "#32310" +msgid "Surprise Me" +msgstr "" + +msgctxt "#32311" +msgid "Re-roll" +msgstr "" + +msgctxt "#32312" +msgid "Play" +msgstr "" + +msgctxt "#32313" +msgid "Play Full Set" +msgstr "" + +# Mode selection +msgctxt "#32320" +msgid "Choose Mode" +msgstr "" + +msgctxt "#32321" +msgid "Browse" +msgstr "" + +msgctxt "#32322" +msgid "Playlist" +msgstr "" + +# Continuation prompts +msgctxt "#32330" +msgid "Watch Next" +msgstr "" + +msgctxt "#32331" +msgid "Skip" +msgstr "" + +msgctxt "#32332" +msgid "Next in" +msgstr "" + +msgctxt "#32333" +msgid "You just watched" +msgstr "" + +# Set warning dialog +msgctxt "#32340" +msgid "from" +msgstr "" + +msgctxt "#32341" +msgid "is in your library and unwatched." +msgstr "" + +msgctxt "#32342" +msgid "Would you like to watch it instead?" +msgstr "" + +# Notification toasts +msgctxt "#32350" +msgid "Finding movies..." +msgstr "" + + +# ============================================================================= +# SETTINGS OPTION VALUES / SPINNERS (32500-32599) +# ============================================================================= + +# Primary function +msgctxt "#32500" +msgid "Browse" +msgstr "" + +msgctxt "#32501" +msgid "Playlist" +msgstr "" + +msgctxt "#32502" +msgid "Ask each time" +msgstr "" + +# Filter modes +msgctxt "#32503" +msgid "Ask" +msgstr "" + +msgctxt "#32504" +msgid "Pre-set" +msgstr "" + +msgctxt "#32505" +msgid "Skip" +msgstr "" + +# Genre matching +msgctxt "#32506" +msgid "Any selected genre (OR)" +msgstr "" + +msgctxt "#32507" +msgid "All selected genres (AND)" +msgstr "" + +# Watched +msgctxt "#32508" +msgid "Unwatched" +msgstr "" + +msgctxt "#32509" +msgid "Watched" +msgstr "" + +msgctxt "#32510" +msgid "Both" +msgstr "" + +# Year filter type +msgctxt "#32511" +msgid "After year" +msgstr "" + +msgctxt "#32512" +msgid "Before year" +msgstr "" + +msgctxt "#32513" +msgid "Between years" +msgstr "" + +# Sort options +msgctxt "#32514" +msgid "Random" +msgstr "" + +msgctxt "#32515" +msgid "Title" +msgstr "" + +msgctxt "#32516" +msgid "Year" +msgstr "" + +msgctxt "#32517" +msgid "Rating" +msgstr "" + +msgctxt "#32518" +msgid "Runtime" +msgstr "" + +msgctxt "#32519" +msgid "Date Added" +msgstr "" + +# Sort direction +msgctxt "#32520" +msgid "Ascending" +msgstr "" + +msgctxt "#32521" +msgid "Descending" +msgstr "" + +# View styles +msgctxt "#32522" +msgid "Showcase" +msgstr "" + +msgctxt "#32523" +msgid "Card List" +msgstr "" + +msgctxt "#32524" +msgid "Posters" +msgstr "" + +msgctxt "#32525" +msgid "Big Screen" +msgstr "" + +msgctxt "#32526" +msgid "Split View" +msgstr "" + +# Themes +msgctxt "#32527" +msgid "Golden Hour" +msgstr "" + +msgctxt "#32528" +msgid "Ultraviolet" +msgstr "" + +msgctxt "#32529" +msgid "Ember" +msgstr "" + +msgctxt "#32530" +msgid "Nightfall" +msgstr "" + +# Re-suggestion window +msgctxt "#32531" +msgid "4 hours" +msgstr "" + +msgctxt "#32532" +msgid "8 hours" +msgstr "" + +msgctxt "#32533" +msgid "12 hours" +msgstr "" + +msgctxt "#32534" +msgid "24 hours" +msgstr "" + +msgctxt "#32535" +msgid "48 hours" +msgstr "" + +msgctxt "#32536" +msgid "72 hours" +msgstr "" + +# Continuation default action +msgctxt "#32537" +msgid "Continue set" +msgstr "" + +msgctxt "#32538" +msgid "Continue playlist" +msgstr "" + +msgctxt "#32539" +msgid "Less than X years ago" +msgstr "" + +msgctxt "#32540" +msgid "Maximum age (years)" +msgstr "" + + +# ============================================================================= +# HELP TEXT (32600-32699) +# ============================================================================= + +msgctxt "#32600" +msgid "Choose what happens when you launch EasyMovie" +msgstr "" + +msgctxt "#32601" +msgid "Choose the accent color theme for EasyMovie windows and dialogs" +msgstr "" + +msgctxt "#32602" +msgid "Ask: Show a dialog each time. Pre-set: Use the values below. Skip: Ignore this filter." +msgstr "" + +msgctxt "#32603" +msgid "OR: Movies matching any selected genre. AND: Movies matching all selected genres." +msgstr "" + +msgctxt "#32604" +msgid "Filter movies by watched status" +msgstr "" + +msgctxt "#32605" +msgid "Filter movies by age rating (MPAA/certification)" +msgstr "" + +msgctxt "#32606" +msgid "Filter movies by runtime in minutes. Set to 0 for no limit." +msgstr "" + +msgctxt "#32607" +msgid "Filter movies by release year" +msgstr "" + +msgctxt "#32608" +msgid "Filter movies by minimum score (0-100, where 70 = 7.0 rating)" +msgstr "" + +msgctxt "#32609" +msgid "When enabled, EasyMovie suggests the first unwatched movie in a collection instead of a random one" +msgstr "" + +msgctxt "#32610" +msgid "Show a prompt when a collection movie finishes to watch the next one" +msgstr "" + +msgctxt "#32611" +msgid "Seconds before the continuation prompt auto-dismisses" +msgstr "" + +msgctxt "#32612" +msgid "What happens when the countdown timer reaches zero without user input" +msgstr "" + +msgctxt "#32613" +msgid "Visual layout for the browse results screen" +msgstr "" + +msgctxt "#32614" +msgid "Return to the movie list after a movie finishes playing" +msgstr "" + +msgctxt "#32615" +msgid "How many movies to show in the results" +msgstr "" + +msgctxt "#32616" +msgid "How to order the results" +msgstr "" + +msgctxt "#32617" +msgid "Partially watched movies play first in the playlist" +msgstr "" + +msgctxt "#32618" +msgid "Automatically skip to where you left off for movies" +msgstr "" + +msgctxt "#32619" +msgid "Check if you have a partially watched movie when EasyMovie launches" +msgstr "" + +msgctxt "#32620" +msgid "Limit the movie pool to a Kodi smart playlist" +msgstr "" + +msgctxt "#32621" +msgid "Avoid suggesting the same movies again within the selected time window" +msgstr "" + +msgctxt "#32622" +msgid "How long to wait before a movie can be suggested again" +msgstr "" + +msgctxt "#32623" +msgid "Pre-fill wizard dialogs with your last answers" +msgstr "" + +msgctxt "#32624" +msgid "Write detailed diagnostic information to a separate log file" +msgstr "" + +msgctxt "#32625" +msgid "Create a separate copy of EasyMovie with its own settings" +msgstr "" + +msgctxt "#32626" +msgid "Display how many movies match each option in the filter wizard" +msgstr "" + +msgctxt "#32627" +msgid "Count against remaining movies after each filter step (slower on low-end hardware)" +msgstr "" + +msgctxt "#32628" +msgid "Choose from built-in icon themes or browse for a custom image. The addon icon shown in Kodi menus and notifications will update immediately." +msgstr "" + +msgctxt "#32629" +msgid "Restore the original EasyMovie icon." +msgstr "" + +msgctxt "#32630" +msgid "Filter by unwatched, watched, or both" +msgstr "" + +msgctxt "#32631" +msgid "Only include movies at least this long. Set to 0 for no minimum." +msgstr "" + +msgctxt "#32632" +msgid "Only include movies no longer than this. Set to 0 for no maximum." +msgstr "" + +msgctxt "#32633" +msgid "Choose how to filter by year: after, before, between, or recent" +msgstr "" + +msgctxt "#32634" +msgid "The starting year for the filter range" +msgstr "" + +msgctxt "#32635" +msgid "The ending year for the filter range" +msgstr "" + +msgctxt "#32636" +msgid "Only include movies released within this many years" +msgstr "" + +msgctxt "#32637" +msgid "Only include movies rated at or above this score (0–100)" +msgstr "" + +msgctxt "#32638" +msgid "Display movie set name and position in the browse view" +msgstr "" + +msgctxt "#32639" +msgid "Choose ascending or descending sort order" +msgstr "" + +msgctxt "#32640" +msgid "Show a notification with title and details when a movie starts playing" +msgstr "" + +msgctxt "#32641" +msgid "Show progress notifications while EasyMovie searches and filters your library" +msgstr "" + +msgctxt "#32642" +msgid "If you start a movie but there's an earlier unwatched one in the same set, ask if you want to watch that instead." +msgstr "" + +msgctxt "#32643" +msgid "Ask: Show a dialog each time. Pre-set: Use the values below. Skip: Ignore this filter." +msgstr "" + +msgctxt "#32644" +msgid "OR: Exclude movies matching any ignored genre. AND: Only exclude movies matching all ignored genres." +msgstr "" + +msgctxt "#32645" +msgid "Open selector to choose genres that will be excluded from results." +msgstr "" + +msgctxt "#32646" +msgid "Genres currently excluded from results." +msgstr "" + +msgctxt "#32647" +msgid "Open selector to choose which genres to include in results." +msgstr "" + +msgctxt "#32648" +msgid "Genres currently included in results." +msgstr "" + +msgctxt "#32649" +msgid "Open selector to choose which age ratings to include in results." +msgstr "" + +msgctxt "#32650" +msgid "Age ratings currently included in results." +msgstr "" + +msgctxt "#32651" +msgid "Select a Kodi smart playlist (.xsp) file to use as the movie pool." +msgstr "" + +msgctxt "#32652" +msgid "Smart playlist currently used as the movie pool." +msgstr "" + +# ============================================================================= +# CLONE & UPDATE (32700-32799) +# ============================================================================= + +msgctxt "#32700" +msgid "This creates a copy of EasyMovie with its own settings." +msgstr "" + +msgctxt "#32701" +msgid "It creates a new folder in your addons directory." +msgstr "" + +msgctxt "#32702" +msgid "Do you wish to continue?" +msgstr "" + +msgctxt "#32703" +msgid "EasyMovie - " +msgstr "" + +msgctxt "#32704" +msgid "That name is already in use. Please try another." +msgstr "" + +msgctxt "#32705" +msgid "Clone created successfully." +msgstr "" + +msgctxt "#32706" +msgid "Restart Kodi for settings labels to appear." +msgstr "" + +msgctxt "#32707" +msgid "An error occurred while creating the clone." +msgstr "" + +msgctxt "#32708" +msgid "Operation cancelled." +msgstr "" + +msgctxt "#32709" +msgid "A new version of EasyMovie is available." +msgstr "" + +msgctxt "#32710" +msgid "The clone needs to be updated before it can be used." +msgstr "" + +msgctxt "#32711" +msgid "Update now?" +msgstr "" + +msgctxt "#32712" +msgid "Update" +msgstr "" + +msgctxt "#32713" +msgid "Update successful." +msgstr "" + +msgctxt "#32714" +msgid "Restart Kodi for all changes to take effect." +msgstr "" + +msgctxt "#32715" +msgid "An error occurred while updating the clone." +msgstr "" + +msgctxt "#32716" +msgid "Continue" +msgstr "" diff --git a/script.easymovie/resources/lib/__init__.py b/script.easymovie/resources/lib/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/script.easymovie/resources/lib/constants.py b/script.easymovie/resources/lib/constants.py new file mode 100644 index 0000000000..3364285a39 --- /dev/null +++ b/script.easymovie/resources/lib/constants.py @@ -0,0 +1,161 @@ +""" +Centralized constants for EasyMovie. + +All magic numbers, string literals, property names, setting IDs, +and configuration values live here. Import from this module rather +than hardcoding values elsewhere. +""" + +# Addon identity +ADDON_ID = "script.easymovie" +ADDON_NAME = "EasyMovie" + +# Icon persistence +CUSTOM_ICON_BACKUP = "custom_icon.png" + +# Log file configuration +LOG_DIR = "logs" +LOG_FILENAME = "easymovie.log" +LOG_MAX_BYTES = 500 * 1024 # 500KB +LOG_BACKUP_COUNT = 3 +LOG_MAX_VALUE_LENGTH = 200 +LOG_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S.%f" +LOG_TIMESTAMP_TRIM = 23 # Trim microseconds to milliseconds + +# Primary function modes +MODE_BROWSE = 0 +MODE_PLAYLIST = 1 +MODE_ASK = 2 + +# Filter modes (for settings: Ask / Pre-set / Skip) +FILTER_ASK = 0 +FILTER_PRESET = 1 +FILTER_SKIP = 2 + +# Watched status values +WATCHED_UNWATCHED = 0 +WATCHED_WATCHED = 1 +WATCHED_BOTH = 2 + +# Year filter types +YEAR_FILTER_AFTER = 0 +YEAR_FILTER_RECENCY = 3 + +# Sort options +SORT_RANDOM = 0 +SORT_TITLE = 1 +SORT_YEAR = 2 +SORT_RATING = 3 +SORT_RUNTIME = 4 +SORT_DATE_ADDED = 5 + +# Sort directions +SORT_ASC = 0 +SORT_DESC = 1 + +# View styles +VIEW_SHOWCASE = 0 # Horizontal filmstrip carousel +VIEW_CARD_LIST = 1 +VIEW_POSTERS = 2 +VIEW_BIG_SCREEN = 3 +VIEW_SPLIT_VIEW = 4 + +# Theme IDs (shared with EasyTV) +THEME_GOLDEN_HOUR = 0 +THEME_ULTRAVIOLET = 1 +THEME_EMBER = 2 +THEME_NIGHTFALL = 3 + +# Theme color definitions (AARRGGBB format) +# Same values as EasyTV for visual consistency +THEME_COLORS = { + THEME_GOLDEN_HOUR: { + 'EasyMovie.Accent': 'FFF5A623', + 'EasyMovie.AccentGlow': 'FFF5C564', + 'EasyMovie.AccentBG': '59B4781E', + 'EasyMovie.ButtonTextFocused': 'FF0D1117', + 'EasyMovie.ButtonFocus': 'FFD4912A', + }, + THEME_ULTRAVIOLET: { + 'EasyMovie.Accent': 'FFA78BFA', + 'EasyMovie.AccentGlow': 'FFC4B5FD', + 'EasyMovie.AccentBG': '596432B4', + 'EasyMovie.ButtonTextFocused': 'FFFFFFFF', + 'EasyMovie.ButtonFocus': 'FF7C3AED', + }, + THEME_EMBER: { + 'EasyMovie.Accent': 'FFF87171', + 'EasyMovie.AccentGlow': 'FFFCA5A5', + 'EasyMovie.AccentBG': '59B43232', + 'EasyMovie.ButtonTextFocused': 'FFFFFFFF', + 'EasyMovie.ButtonFocus': 'FFEF4444', + }, + THEME_NIGHTFALL: { + 'EasyMovie.Accent': 'FF60A5FA', + 'EasyMovie.AccentGlow': 'FF93C5FD', + 'EasyMovie.AccentBG': '59286AB4', + 'EasyMovie.ButtonTextFocused': 'FFFFFFFF', + 'EasyMovie.ButtonFocus': 'FF3B82F6', + }, +} + +# Re-suggestion window options (hours) +RESURFACE_WINDOWS = { + 0: 4, + 1: 8, + 2: 12, + 3: 24, + 4: 48, + 5: 72, +} + +# Runtime filter ranges for wizard (in minutes) +RUNTIME_RANGES = [ + (0, 90, "Under 90 minutes"), + (90, 120, "90 – 120 minutes"), + (120, 150, "120 – 150 minutes"), + (150, 0, "Over 150 minutes"), # 0 = no upper limit + (0, 0, "Any runtime"), # both 0 = no filter +] + +# Recency ranges for year filter wizard (years_ago, lang_id) +RECENCY_RANGES = [ + (1, 32210), # "Last year" + (2, 32211), # "Last 2 years" + (5, 32212), # "Last 5 years" + (10, 32213), # "Last 10 years" + (20, 32214), # "Last 20 years" +] + +# Score filter ranges for wizard +SCORE_RANGES = [ + (80, "8.0+ (Excellent)"), + (70, "7.0+ (Good)"), + (60, "6.0+ (Above Average)"), + (50, "5.0+ (Average)"), + (0, "Any score"), +] + +# Timing constants (milliseconds) +NOTIFICATION_DURATION_MS = 5000 +PLAYLIST_ADD_DELAY_MS = 50 + +# Continuation prompt +CONTINUATION_DEFAULT_CONTINUE_SET = 0 + +# Window properties for service coordination +PROP_PLAYLIST_RUNNING = "EasyMovie.PlaylistRunning" + +# Playback monitor timing (milliseconds) +PLAYER_STOP_DELAY_MS = 500 + +# Kodi GUI action IDs +ACTION_MOVE_UP = 3 +ACTION_MOVE_DOWN = 4 +ACTION_PREVIOUS_MENU = 10 +ACTION_NAV_BACK = 92 +ACTION_CONTEXT_MENU = 117 +ACTION_TELETEXT_BLUE = 218 + +# Theme names (for UI display, e.g. preview mode cycling) +THEME_NAMES = ["Golden Hour", "Ultraviolet", "Ember", "Nightfall"] diff --git a/script.easymovie/resources/lib/data/__init__.py b/script.easymovie/resources/lib/data/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/script.easymovie/resources/lib/data/filters.py b/script.easymovie/resources/lib/data/filters.py new file mode 100644 index 0000000000..c07902ed8f --- /dev/null +++ b/script.easymovie/resources/lib/data/filters.py @@ -0,0 +1,199 @@ +""" +Movie filter engine. + +Applies user-configured filters to a list of movie dicts from +Kodi's JSON-RPC API. All filtering is client-side after an +initial bulk query. + +Logging: + Logger: 'data' + Key events: + - filter.step (DEBUG): Per-step remaining count after each filter + - filter.apply (DEBUG): Filters applied with result count + See LOGGING.md for full guidelines. +""" +from dataclasses import dataclass, field +from typing import Any, Dict, List, Optional, Set + +from resources.lib.constants import WATCHED_BOTH, WATCHED_UNWATCHED, WATCHED_WATCHED +from resources.lib.utils import get_logger + +log = get_logger('data') + + +@dataclass +class FilterConfig: + """Configuration for movie filtering.""" + ignore_genres: Optional[List[str]] = None + ignore_genre_match_and: bool = False # False = OR, True = AND + genres: Optional[List[str]] = None + genre_match_and: bool = False # False = OR, True = AND + watched: int = WATCHED_BOTH # 0=unwatched, 1=watched, 2=both + mpaa_ratings: Optional[List[str]] = None + runtime_min: int = 0 # minutes, 0 = no minimum + runtime_max: int = 0 # minutes, 0 = no maximum + year_from: int = 0 # 0 = no lower bound + year_to: int = 0 # 0 = no upper bound + min_score: int = 0 # 0-100 (divide by 10 for comparison) + exclude_ids: Optional[List[int]] = field(default_factory=list) + + +def apply_filters( + movies: List[Dict[str, Any]], config: FilterConfig, + reason: str = "final", +) -> List[Dict[str, Any]]: + """Apply all configured filters to a list of movies. + + Args: + movies: List of movie dicts from Kodi JSON-RPC. + config: Filter configuration. + reason: Why filters are being applied. "final" logs per-step detail, + "cumulative_count" logs only the summary. + + Returns: + Filtered list of movie dicts. + """ + result = movies + verbose = reason == "final" + + # Exclude specific movie IDs (previously suggested, blacklisted) + if config.exclude_ids: + exclude_set = set(config.exclude_ids) + result = [m for m in result if m.get("movieid", 0) not in exclude_set] + if verbose: + log.debug("Filter step", event="filter.step", + step="exclude_ids", remaining=len(result)) + + # Ignore genres filter (exclude matching movies) + if config.ignore_genres: + ignore_set = set(config.ignore_genres) + if config.ignore_genre_match_and: + # AND: only exclude if ALL ignored genres present + result = [m for m in result + if not ignore_set.issubset(set(m.get("genre", [])))] + else: + # OR: exclude if ANY ignored genre present + result = [m for m in result + if not ignore_set.intersection(set(m.get("genre", [])))] + if verbose: + log.debug("Filter step", event="filter.step", + step="ignore_genres", remaining=len(result)) + + # Genre filter + if config.genres: + genre_set = set(config.genres) + if config.genre_match_and: + result = [m for m in result if genre_set.issubset(set(m.get("genre", [])))] + else: + result = [m for m in result if genre_set.intersection(set(m.get("genre", [])))] + if verbose: + log.debug("Filter step", event="filter.step", + step="genre", remaining=len(result)) + + # Watched status + if config.watched == WATCHED_UNWATCHED: + result = [m for m in result if m.get("playcount", 0) == 0] + if verbose: + log.debug("Filter step", event="filter.step", + step="watched", remaining=len(result)) + elif config.watched == WATCHED_WATCHED: + result = [m for m in result if m.get("playcount", 0) > 0] + if verbose: + log.debug("Filter step", event="filter.step", + step="watched", remaining=len(result)) + # WATCHED_BOTH: no filter + + # MPAA rating + if config.mpaa_ratings: + mpaa_set = set(config.mpaa_ratings) + result = [m for m in result if m.get("mpaa", "") in mpaa_set] + if verbose: + log.debug("Filter step", event="filter.step", + step="mpaa", remaining=len(result)) + + # Runtime (Kodi stores in seconds, config uses minutes) + if config.runtime_min > 0: + min_seconds = config.runtime_min * 60 + result = [m for m in result if m.get("runtime", 0) >= min_seconds] + if verbose: + log.debug("Filter step", event="filter.step", + step="runtime_min", remaining=len(result)) + if config.runtime_max > 0: + max_seconds = config.runtime_max * 60 + result = [m for m in result if m.get("runtime", 0) <= max_seconds] + if verbose: + log.debug("Filter step", event="filter.step", + step="runtime_max", remaining=len(result)) + + # Year + if config.year_from > 0: + result = [m for m in result if m.get("year", 0) >= config.year_from] + if verbose: + log.debug("Filter step", event="filter.step", + step="year_from", remaining=len(result)) + if config.year_to > 0: + result = [m for m in result if m.get("year", 0) <= config.year_to] + if verbose: + log.debug("Filter step", event="filter.step", + step="year_to", remaining=len(result)) + + # Score (config stores 0-100, Kodi rating is 0.0-10.0) + if config.min_score > 0: + min_rating = config.min_score / 10.0 + result = [m for m in result if m.get("rating", 0.0) >= min_rating] + if verbose: + log.debug("Filter step", event="filter.step", + step="score", remaining=len(result)) + + log.debug("Filters applied", event="filter.apply", + reason=reason, input_count=len(movies), result_count=len(result)) + return result + + +def filter_by_playlist_ids( + movies: List[Dict[str, Any]], playlist_ids: Set[int], +) -> List[Dict[str, Any]]: + """Filter movies to only those present in a smart playlist. + + Args: + movies: Full movie list from library query. + playlist_ids: Set of movie IDs from the smart playlist. + + Returns: + Movies whose movieid is in playlist_ids. + """ + return [m for m in movies if m.get("movieid", 0) in playlist_ids] + + +def extract_unique_genres(movies: List[Dict[str, Any]]) -> List[str]: + """Extract and sort all unique genres from a movie list.""" + genres = set() + for movie in movies: + for genre in movie.get("genre", []): + genres.add(genre) + return sorted(genres) + + +def extract_unique_mpaa(movies: List[Dict[str, Any]]) -> List[str]: + """Extract and sort all unique MPAA ratings from a movie list.""" + ratings = set() + for movie in movies: + mpaa = movie.get("mpaa", "") + if mpaa: + ratings.add(mpaa) + return sorted(ratings) + + +def extract_decade_buckets(movies: List[Dict[str, Any]]) -> List[tuple]: + """Extract decade buckets with counts from a movie list. + + Returns list of (decade_start, count, label) tuples, sorted descending. + Example: [(2020, 331, "2020s"), (1990, 3, "1990s")] + """ + from collections import Counter + decades = Counter((m.get("year", 0) // 10) * 10 for m in movies if m.get("year", 0) > 0) + buckets = [] + for decade, count in sorted(decades.items(), reverse=True): + label = f"{decade}s" + buckets.append((decade, count, label)) + return buckets diff --git a/script.easymovie/resources/lib/data/movie_sets.py b/script.easymovie/resources/lib/data/movie_sets.py new file mode 100644 index 0000000000..1b736c3f6f --- /dev/null +++ b/script.easymovie/resources/lib/data/movie_sets.py @@ -0,0 +1,152 @@ +""" +Movie set awareness logic. + +Handles finding the correct movie within a set (first unwatched), +substituting random picks, and determining set continuations. + +Logging: + Logger: 'data' + Key events: + - results.set_substitute (DEBUG): Movie substituted for set-correct entry + - results.set_dedup (DEBUG): Duplicate set member skipped + - continuation.next_found (DEBUG): Next movie in set identified + See LOGGING.md for full guidelines. +""" +from typing import Dict, List, Optional, Any + +from resources.lib.utils import get_logger + +log = get_logger('data') + + +def find_first_unwatched_in_set( + set_details: Dict[str, Any], +) -> Optional[Dict[str, Any]]: + """Find the first unwatched movie in a set (by release order). + + Args: + set_details: MovieSetDetails response with movies sorted by year. + + Returns: + First unwatched movie dict, or None if all watched. + """ + for movie in set_details.get("movies", []): + if movie.get("playcount", 0) == 0: + return movie + return None + + +def find_first_unwatched_before( + set_details: Dict[str, Any], + current_movie_id: int, +) -> Optional[Dict[str, Any]]: + """Find the first unwatched movie that comes before the given movie in a set. + + Used by the background service to detect when a user starts playing + a later movie in a set while an earlier one is still unwatched. + + Args: + set_details: MovieSetDetails response with movies sorted by year. + current_movie_id: The movie being played. + + Returns: + First unwatched movie before current, or None if none exist + or current movie is not in the set. + """ + movies = set_details.get("movies", []) + + # Verify the current movie is actually in this set + if not any(m.get("movieid") == current_movie_id for m in movies): + return None + + for movie in movies: + if movie.get("movieid") == current_movie_id: + # Reached the current movie — no earlier unwatched found + return None + if movie.get("playcount", 0) == 0: + return movie + return None + + +def apply_set_substitutions( + movies: List[Dict[str, Any]], + set_cache: Dict[int, Dict[str, Any]], +) -> List[Dict[str, Any]]: + """Replace set-member movies with the first unwatched entry in their set. + + Also deduplicates: if multiple movies from the same set were picked, + only the first occurrence (substituted) is kept. + + Args: + movies: List of picked movie dicts. + set_cache: Dict of setid -> GetMovieSetDetails response. + + Returns: + New list with substitutions applied and set duplicates removed. + """ + seen_sets = set() + result = [] + + for movie in movies: + set_id = movie.get("setid", 0) + + if set_id and set_id in set_cache: + # Skip if we already have a movie from this set + if set_id in seen_sets: + log.debug("Duplicate set member skipped", + event="results.set_dedup", + title=movie.get("title", ""), + set_name=movie.get("set", "")) + continue + seen_sets.add(set_id) + + # Find first unwatched in set + first_unwatched = find_first_unwatched_in_set(set_cache[set_id]) + if first_unwatched is not None: + # Copy the substitute and preserve set info + substitute = dict(first_unwatched) + substitute["set"] = movie.get("set", "") + substitute["setid"] = set_id + log.debug("Movie substituted for set-correct entry", + event="results.set_substitute", + original_title=movie.get("title", ""), + substitute_title=substitute.get("title", ""), + set_name=movie.get("set", "")) + result.append(substitute) + else: + # All watched — keep original pick + result.append(movie) + else: + result.append(movie) + + return result + + +def get_next_in_set( + set_details: Dict[str, Any], + current_movie_id: int, +) -> Optional[Dict[str, Any]]: + """Get the next movie in a set after the given movie. + + Used for continuation prompts: "You just watched X, + want to watch Y next?" + + Args: + set_details: MovieSetDetails response with movies sorted by year. + current_movie_id: The movie that was just watched. + + Returns: + Next movie dict, or None if current is last or not found. + """ + movies = set_details.get("movies", []) + for i, movie in enumerate(movies): + if movie.get("movieid") == current_movie_id: + if i + 1 < len(movies): + next_movie = movies[i + 1] + log.debug("Next movie in set identified", + event="continuation.next_found", + current_title=movie.get("title", ""), + next_title=next_movie.get("title", "")) + return next_movie + return None + return None diff --git a/script.easymovie/resources/lib/data/queries.py b/script.easymovie/resources/lib/data/queries.py new file mode 100644 index 0000000000..b7c709b7aa --- /dev/null +++ b/script.easymovie/resources/lib/data/queries.py @@ -0,0 +1,189 @@ +""" +JSON-RPC query builders for movie operations. + +All Kodi JSON-RPC queries are constructed here. No other module +should build raw query dicts. + +""" +from typing import Dict, Any + + +def get_all_movies_query() -> Dict[str, Any]: + """Get all movies with properties needed for filtering (no art).""" + return { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovies", + "params": { + "properties": [ + "title", "genre", "year", "rating", "runtime", + "mpaa", "set", "setid", "playcount", "dateadded", + "file", "resume", "lastplayed", + ], + "sort": {"method": "title"}, + }, + "id": 1, + } + + +def get_movie_details_with_art_query(movie_id: int) -> Dict[str, Any]: + """Get a single movie with art and plot for display.""" + return { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovieDetails", + "params": { + "movieid": movie_id, + "properties": [ + "title", "genre", "year", "rating", "runtime", + "mpaa", "set", "setid", "playcount", "dateadded", + "plot", "art", "file", "resume", "lastplayed", + ], + }, + "id": 1, + } + + +def get_all_movie_sets_query() -> Dict[str, Any]: + """Get all movie sets.""" + return { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovieSets", + "params": { + "properties": ["title", "playcount"], + "sort": {"method": "title"}, + }, + "id": 1, + } + + +def get_movie_set_details_query(set_id: int) -> Dict[str, Any]: + """Get movies within a set, sorted by year (release order).""" + return { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovieSetDetails", + "params": { + "setid": set_id, + "properties": ["title"], + "movies": { + "properties": [ + "title", "playcount", "year", "runtime", + "rating", "genre", "art", "resume", + ], + "sort": {"method": "year"}, + }, + }, + "id": 1, + } + + +def get_playlist_files_query() -> Dict[str, Any]: + """Get list of video playlist files from Kodi's playlist directory.""" + return { + "jsonrpc": "2.0", + "method": "Files.GetDirectory", + "params": { + "directory": "special://profile/playlists/video/", + "media": "video", + }, + "id": 1, + } + + +def build_playlist_get_movies_query(playlist_path: str) -> Dict[str, Any]: + """Get movie contents of a smart playlist file. + + Uses Files.GetDirectory which evaluates the .xsp rules and returns + matching items, just like Kodi's UI would. + + Args: + playlist_path: Full path to the .xsp file (special:// or filesystem). + """ + return { + "jsonrpc": "2.0", + "method": "Files.GetDirectory", + "params": { + "directory": playlist_path, + "media": "video", + }, + "id": 1, + } + + +def get_clear_video_playlist_query() -> Dict[str, Any]: + """Clear the video playlist.""" + return { + "jsonrpc": "2.0", + "method": "Playlist.Clear", + "params": {"playlistid": 1}, + "id": 1, + } + + +def build_add_movie_query(movie_id: int, position: int = -1) -> Dict[str, Any]: + """Add a movie to the video playlist.""" + params: Dict[str, Any] = { + "playlistid": 1, + "item": {"movieid": movie_id}, + } + if position >= 0: + params["position"] = position + return { + "jsonrpc": "2.0", + "method": "Playlist.Add", + "params": params, + "id": 1, + } + + +def build_play_playlist_query(position: int = 0) -> Dict[str, Any]: + """Start playing the video playlist.""" + return { + "jsonrpc": "2.0", + "method": "Player.Open", + "params": {"item": {"playlistid": 1, "position": position}}, + "id": 1, + } + + +def build_play_movie_query(movie_id: int) -> Dict[str, Any]: + """Play a single movie directly.""" + return { + "jsonrpc": "2.0", + "method": "Player.Open", + "params": {"item": {"movieid": movie_id}}, + "id": 1, + } + + +def get_playing_item_query() -> Dict[str, Any]: + """Get information about the currently playing video item.""" + return { + "jsonrpc": "2.0", + "method": "Player.GetItem", + "params": { + "playerid": 1, + "properties": ["title", "setid", "set", "playcount", "type"], + }, + "id": 1, + } + + +def get_in_progress_movies_query() -> Dict[str, Any]: + """Get movies with a resume point (partially watched).""" + return { + "jsonrpc": "2.0", + "method": "VideoLibrary.GetMovies", + "params": { + "properties": [ + "title", "runtime", "resume", "lastplayed", + "art", "set", "setid", + ], + "filter": { + "field": "inprogress", + "operator": "true", + "value": "", + }, + "sort": {"method": "lastplayed", "order": "descending"}, + "limits": {"start": 0, "end": 10}, + }, + "id": 1, + } diff --git a/script.easymovie/resources/lib/data/results.py b/script.easymovie/resources/lib/data/results.py new file mode 100644 index 0000000000..f75b02a317 --- /dev/null +++ b/script.easymovie/resources/lib/data/results.py @@ -0,0 +1,73 @@ +""" +Result selection and sorting. + +Handles selecting N random movies from a filtered pool and +sorting them according to user preferences. + +Logging: + Logger: 'data' + Key events: + - results.generate (DEBUG): Result set generated with count and sort + See LOGGING.md for full guidelines. +""" +import random +from typing import Dict, List, Any + +from resources.lib.constants import ( + SORT_RANDOM, SORT_TITLE, SORT_YEAR, SORT_RATING, + SORT_RUNTIME, SORT_DATE_ADDED, SORT_DESC, +) +from resources.lib.utils import get_logger + +log = get_logger('data') + + +# Sort key functions mapped to sort option constants +_SORT_KEYS = { + SORT_TITLE: lambda m: m.get("title", "").lower(), + SORT_YEAR: lambda m: m.get("year", 0), + SORT_RATING: lambda m: m.get("rating", 0.0), + SORT_RUNTIME: lambda m: m.get("runtime", 0), + SORT_DATE_ADDED: lambda m: m.get("dateadded", ""), +} + + +def select_and_sort_results( + movies: List[Dict[str, Any]], + count: int, + sort_by: int, + sort_dir: int, +) -> List[Dict[str, Any]]: + """Select N movies and sort them. + + For SORT_RANDOM: randomly sample N, then return in random order. + For other sorts: randomly sample N, then sort by the chosen key. + + Args: + movies: Pool of filtered movies to select from. + count: Maximum number of movies to return. + sort_by: Sort option constant (SORT_RANDOM, SORT_TITLE, etc). + sort_dir: Sort direction (SORT_ASC or SORT_DESC). + + Returns: + Selected and sorted list of movie dicts. + """ + # Sample from pool + if len(movies) <= count: + selected = list(movies) + else: + selected = random.sample(movies, count) + + # Sort + if sort_by == SORT_RANDOM: + random.shuffle(selected) + elif sort_by in _SORT_KEYS: + selected.sort( + key=_SORT_KEYS[sort_by], + reverse=(sort_dir == SORT_DESC), + ) + + log.debug("Results generated", event="results.generate", + pool_size=len(movies), result_count=len(selected), + sort_by=sort_by, sort_dir=sort_dir) + return selected diff --git a/script.easymovie/resources/lib/data/smart_playlists.py b/script.easymovie/resources/lib/data/smart_playlists.py new file mode 100644 index 0000000000..1848240703 --- /dev/null +++ b/script.easymovie/resources/lib/data/smart_playlists.py @@ -0,0 +1,55 @@ +""" +Smart playlist movie ID extraction. + +Queries a Kodi smart playlist (.xsp) file via Files.GetDirectory +and returns the set of movie IDs that match the playlist rules. + +Logging: + Logger: 'data' + Key events: + - pool.query (DEBUG): Playlist queried with result count + - pool.empty (WARNING): Playlist returned no movies + See LOGGING.md for full guidelines. +""" +import os +from typing import Set + +from resources.lib.data.queries import build_playlist_get_movies_query +from resources.lib.utils import get_logger, json_query + +log = get_logger('data') + + +def extract_movie_ids_from_playlist(playlist_path: str) -> Set[int]: + """Extract movie IDs from a smart playlist file. + + Normalizes the path to special:// format, queries Kodi via + Files.GetDirectory, and returns only items with type 'movie'. + + Args: + playlist_path: Path to the .xsp file (absolute or special://). + + Returns: + Set of Kodi movie IDs found in the playlist. + """ + # Normalize to special:// path (Kodi expects this format) + filename = os.path.basename(playlist_path) + clean_path = "special://profile/playlists/video/" + filename + + query = build_playlist_get_movies_query(clean_path) + result = json_query(query) + + files = result.get("files", []) + movie_ids = { + item["id"] for item in files + if item.get("type") == "movie" and "id" in item + } + + if movie_ids: + log.debug("Playlist pool queried", event="pool.query", + path=filename, movie_count=len(movie_ids)) + else: + log.warning("Playlist returned no movies", event="pool.empty", + path=filename) + + return movie_ids diff --git a/script.easymovie/resources/lib/data/storage.py b/script.easymovie/resources/lib/data/storage.py new file mode 100644 index 0000000000..9841208031 --- /dev/null +++ b/script.easymovie/resources/lib/data/storage.py @@ -0,0 +1,231 @@ +""" +Persistent storage for EasyMovie data. + +Manages suggested movie history, playback tracking, and +last-used filter answers. Data is stored as JSON in the +addon's userdata directory. + +Logging: + Logger: 'data' + Key events: + - history.validate (DEBUG): Stale entries removed + - history.prune (DEBUG): Old entries pruned + - history.clear (DEBUG): History cleared + - history.load_fail (WARNING): Storage file corrupt or unreadable + - history.save_fail (WARNING): Failed to save storage + See LOGGING.md for full guidelines. +""" +import json +import os +import time +from typing import Any, Dict, List, Optional, Set, Union + + +class StorageManager: + """Manages persistent JSON storage for EasyMovie. + + Data structure: + { + "suggested": [{"movieid": int, "timestamp": float}, ...], + "started": [{"movieid": int, "timestamp": float}, ...], + "last_filters": {...} + } + """ + + def __init__(self, path: str) -> None: + """Initialize storage, loading existing data if available. + + Args: + path: Full path to the JSON storage file. + """ + self._path = path + self._logger: Optional[Union[object, bool]] = None + self._data: Dict[str, Any] = { + "suggested": [], + "started": [], + "last_filters": {}, + } + self._load() + + @property + def _log(self) -> Optional[Any]: + """Lazy-init logger to avoid circular imports at module load time.""" + if self._logger is None: + try: + from resources.lib.utils import get_logger + self._logger = get_logger('data') + except Exception: + self._logger = False # Sentinel: don't retry + return self._logger if self._logger else None + + def _load(self) -> None: + """Load data from disk.""" + if os.path.exists(self._path): + try: + with open(self._path, "r", encoding="utf-8") as f: + loaded = json.load(f) + if isinstance(loaded, dict): + self._data["suggested"] = loaded.get("suggested", []) + self._data["started"] = loaded.get("started", []) + self._data["last_filters"] = loaded.get("last_filters", {}) + except (json.JSONDecodeError, IOError, OSError): + if self._log: + self._log.warning( + "Storage file corrupt or unreadable", + event="history.load_fail", + path=self._path) + + def save(self) -> None: + """Write data to disk atomically (write to temp, then replace).""" + try: + dir_path = os.path.dirname(self._path) + if dir_path: + os.makedirs(dir_path, exist_ok=True) + tmp_path = self._path + ".tmp" + with open(tmp_path, "w", encoding="utf-8") as f: + json.dump(self._data, f, indent=2) + os.replace(tmp_path, self._path) + except (IOError, OSError) as exc: + if self._log: + self._log.warning("Failed to save storage", + event="history.save_fail", + path=self._path, error=str(exc)) + + # ------------------------------------------------------------------ + # Internal helpers for suggested/started entry management + # ------------------------------------------------------------------ + + def _add_entry(self, key: str, movieid: int, title: str) -> None: + """Add a movie entry, avoiding duplicates.""" + existing_ids = {s.get("movieid", 0) for s in self._data[key]} + if movieid not in existing_ids: + self._data[key].append({ + "movieid": movieid, + "title": title, + "timestamp": time.time(), + }) + self.save() + + def _validate_entries( + self, key: str, movies: List[Dict[str, Any]], event: str, + ) -> None: + """Remove entries whose movie ID was reused for a different title. + + Kodi reuses movie IDs after deletion. By comparing stored titles + against current library titles, we detect and remove stale entries. + """ + title_by_id = {m.get("movieid", 0): m.get("title", "") for m in movies} + before = len(self._data[key]) + self._data[key] = [ + s for s in self._data[key] + if s.get("title") and s.get("movieid", 0) in title_by_id + and title_by_id[s.get("movieid", 0)] == s.get("title") + ] + after = len(self._data[key]) + if before != after: + if self._log: + self._log.debug( + "Stale %s entries removed" % key, + event=event, + removed=before - after, remaining=after) + self.save() + + # ------------------------------------------------------------------ + # Suggested movie tracking (re-suggestion avoidance) + # ------------------------------------------------------------------ + + def add_suggested(self, movieid: int, title: str = "") -> None: + """Record a movie as suggested (for re-suggestion avoidance). + + Args: + movieid: The Kodi movie ID. + title: Movie title (stored for debugging, not used in logic). + """ + self._add_entry("suggested", movieid, title) + + def get_suggested_ids(self) -> Set[int]: + """Get all suggested movie IDs.""" + return {s.get("movieid", 0) for s in self._data["suggested"]} + + def clear_suggested(self) -> None: + """Remove all suggested entries.""" + if self._data["suggested"]: + count = len(self._data["suggested"]) + self._data["suggested"] = [] + self.save() + if self._log: + self._log.debug( + "Suggested history cleared", + event="history.clear", removed=count) + + def validate_suggested(self, movies: List[Dict[str, Any]]) -> None: + """Remove suggested entries where the ID was reused for a different movie. + + Args: + movies: Current library movies (must include movieid and title). + """ + self._validate_entries("suggested", movies, "history.validate") + + def prune_suggested(self, max_age_hours: int) -> None: + """Remove suggested entries older than max_age_hours. + + Args: + max_age_hours: Maximum age in hours. + """ + cutoff = time.time() - (max_age_hours * 3600) + before = len(self._data["suggested"]) + self._data["suggested"] = [ + s for s in self._data["suggested"] + if s.get("timestamp", 0) >= cutoff + ] + after = len(self._data["suggested"]) + if before != after: + if self._log: + self._log.debug( + "Old suggested entries pruned", + event="history.prune", + removed=before - after, remaining=after, + max_age_hours=max_age_hours) + self.save() + + # ------------------------------------------------------------------ + # Started movie tracking (in-progress detection) + # ------------------------------------------------------------------ + + def add_started(self, movieid: int, title: str = "") -> None: + """Record a movie as started through EasyMovie. + + Args: + movieid: The Kodi movie ID. + title: Movie title (stored for debugging, not used in logic). + """ + self._add_entry("started", movieid, title) + + def get_started_ids(self) -> Set[int]: + """Get all started movie IDs.""" + return {s.get("movieid", 0) for s in self._data["started"]} + + def validate_started(self, movies: List[Dict[str, Any]]) -> None: + """Remove started entries for movies no longer in the library. + + Args: + movies: Current library movies (must include movieid and title). + """ + self._validate_entries("started", movies, "history.validate_started") + + # ------------------------------------------------------------------ + # Filter persistence + # ------------------------------------------------------------------ + + def save_last_filters(self, filters: Dict[str, Any]) -> None: + """Save wizard filter answers for next session. + + Args: + filters: Dict of filter answers. + """ + self._data["last_filters"] = filters + self.save() + + def load_last_filters(self) -> Dict[str, Any]: + """Load last wizard filter answers.""" + return self._data.get("last_filters", {}) diff --git a/script.easymovie/resources/lib/playback/__init__.py b/script.easymovie/resources/lib/playback/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/script.easymovie/resources/lib/playback/playback_monitor.py b/script.easymovie/resources/lib/playback/playback_monitor.py new file mode 100644 index 0000000000..f1fb9d010d --- /dev/null +++ b/script.easymovie/resources/lib/playback/playback_monitor.py @@ -0,0 +1,293 @@ +""" +Playback monitor for movie set continuation. + +Monitors playback during playlist sessions and prompts +the user when a set-member movie finishes. + +Logging: + Logger: 'playback' + Key events: + - continuation.playback_ended (DEBUG): Playback ended callback received + - continuation.prompt (INFO): Showing continuation dialog + - continuation.accepted (INFO): User chose to watch next in set + - continuation.declined (INFO): User declined, continuing playlist + - continuation.fail (WARNING): No movieid for next movie in set + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +import threading +from typing import Any, Dict, Optional, cast + +import xbmc +import xbmcgui +import xbmcaddon + +from resources.lib.constants import ( + ACTION_NAV_BACK, + ACTION_PREVIOUS_MENU, + ADDON_ID, + CONTINUATION_DEFAULT_CONTINUE_SET, +) +from resources.lib.utils import get_logger, json_query, lang +from resources.lib.data.queries import build_add_movie_query +from resources.lib.data.movie_sets import get_next_in_set + +# Control IDs for the continuation dialog +CONT_HEADING = 1 +CONT_MESSAGE = 2 +CONT_TIMER = 3 +CONT_SUBTITLE = 4 +CONT_YES = 10 +CONT_NO = 11 +CONT_POSTER = 20 + +# Module-level logger +log = get_logger('playback') + + +class ContinuationDialog(xbmcgui.WindowXMLDialog): + """Countdown dialog for movie set continuation and set warning prompts. + + Args: + *args: Positional args passed to WindowXMLDialog. + **kwargs: Keyword args. Custom kwargs: + - message: str - Dialog message text + - subtitle: str - Secondary message text + - yes_label: str - Label for the Yes button (left) + - no_label: str - Label for the No button (right) + - duration: int - Countdown seconds (0 = no timer) + - heading: str - Static heading text (e.g. addon/clone name) + - timer_template: str - Timer format with %s for seconds + - default_yes: bool - True if Yes is the default on timeout + - poster: str - Optional poster image path + - addon_id: str - Addon ID for theming + - logger: StructuredLogger - Optional logger instance + """ + + def __new__(cls, *args, **kwargs): + """Create instance, filtering out custom kwargs for parent class.""" + for key in ('message', 'subtitle', 'yes_label', 'no_label', + 'duration', 'heading', 'timer_template', + 'default_yes', 'poster', 'addon_id', 'logger'): + kwargs.pop(key, None) + return super().__new__(cls, *args, **kwargs) + + def __init__(self, *args, **kwargs): + self._message = kwargs.pop('message', '') + self._subtitle = kwargs.pop('subtitle', '') + self._yes_label = kwargs.pop('yes_label', '') + self._no_label = kwargs.pop('no_label', '') + self._duration = kwargs.pop('duration', 0) + self._heading = kwargs.pop('heading', '') + self._timer_template = kwargs.pop('timer_template', 'Auto-selecting in %ss') + self._default_yes = kwargs.pop('default_yes', True) + self._poster = kwargs.pop('poster', '') + self._addon_id: str = kwargs.pop('addon_id', ADDON_ID) + self._log = kwargs.pop('logger', None) or log + super().__init__(*args, **kwargs) + self._closed = False + self._button_clicked: Optional[int] = None + self._timer_thread: Optional[threading.Thread] = None + + @property + def result(self) -> bool: + """Whether the affirmative action was chosen. + + Returns True if: + - User clicked Yes button, OR + - Timer expired and default_yes is True + + Returns False otherwise (No button, ESC, or timer expired with + default_yes False). + """ + if self._button_clicked == CONT_YES: + return True + if self._button_clicked == CONT_NO: + return False + return self._default_yes + + def onInit(self) -> None: + """Set up the dialog.""" + from resources.lib.ui import apply_theme + apply_theme(self, self._addon_id) + + heading = self._heading or xbmcaddon.Addon(self._addon_id).getAddonInfo('name') + cast(xbmcgui.ControlLabel, self.getControl(CONT_HEADING)).setLabel(heading) + cast(xbmcgui.ControlLabel, self.getControl(CONT_MESSAGE)).setLabel(self._message) + cast(xbmcgui.ControlLabel, self.getControl(CONT_SUBTITLE)).setLabel(self._subtitle) + cast(xbmcgui.ControlButton, self.getControl(CONT_YES)).setLabel(self._yes_label) + cast(xbmcgui.ControlButton, self.getControl(CONT_NO)).setLabel(self._no_label) + + if self._poster: + try: + cast(xbmcgui.ControlImage, self.getControl(CONT_POSTER)).setImage(self._poster) + except RuntimeError: + pass + + if self._duration > 0: + try: + cast(xbmcgui.ControlLabel, self.getControl(CONT_TIMER)).setLabel( + self._timer_template % self._duration + ) + except RuntimeError: + pass + + # Focus the non-default button + if self._default_yes: + self.setFocus(self.getControl(CONT_NO)) + else: + self.setFocus(self.getControl(CONT_YES)) + + # Start countdown + self._timer_thread = threading.Thread( + target=self._countdown_loop, daemon=True + ) + self._timer_thread.start() + else: + try: + cast(xbmcgui.ControlLabel, self.getControl(CONT_TIMER)).setLabel('') + except RuntimeError: + pass # Timer control not in this skin XML (e.g. set warning) + self.setFocus(self.getControl(CONT_YES)) + + def _countdown_loop(self) -> None: + """Countdown timer that auto-closes the dialog.""" + remaining = self._duration + while remaining > 0 and not self._closed: + xbmc.sleep(1000) + if self._closed: + return + remaining -= 1 + try: + cast(xbmcgui.ControlLabel, self.getControl(CONT_TIMER)).setLabel( + self._timer_template % remaining + ) + except RuntimeError: + return + + if not self._closed: + self._log.debug("Countdown expired", event="continuation.timeout") + self.close() + + def onClick(self, controlId: int) -> None: + """Handle button clicks.""" + if controlId in (CONT_YES, CONT_NO): + self._button_clicked = controlId + self._closed = True + self.close() + + def onAction(self, action: xbmcgui.Action) -> None: + """Handle back/escape.""" + if action.getId() in (ACTION_NAV_BACK, ACTION_PREVIOUS_MENU): + self._button_clicked = CONT_NO + self._closed = True + self.close() + + +class PlaybackMonitor(xbmc.Player): + """Monitors playback during playlist sessions for set continuation. + + Subclasses xbmc.Player to detect when a movie finishes playing. + When a set-member movie completes, checks for the next movie in + the set and shows a continuation prompt. + """ + + def __init__( + self, + set_cache: Dict[int, Dict[str, Any]], + movies: Dict[int, Dict[str, Any]], + continuation_duration: int = 20, + continuation_default: int = CONTINUATION_DEFAULT_CONTINUE_SET, + addon_id: str = ADDON_ID, + ) -> None: + super().__init__() + self._set_cache = set_cache + self._movies = movies # movieid -> movie dict + self._continuation_duration = continuation_duration + self._continuation_default = continuation_default + self._addon_id = addon_id + self._current_movie_id: Optional[int] = None + self._active = True + + def set_current_movie(self, movie_id: int) -> None: + """Set the currently playing movie ID.""" + self._current_movie_id = movie_id + + def stop_monitoring(self) -> None: + """Stop the monitor.""" + self._active = False + + def onPlayBackEnded(self) -> None: + """Called when playback ends naturally (movie finished).""" + log.debug("Playback ended callback", + event="continuation.playback_ended", + movie_id=self._current_movie_id, + active=self._active) + if not self._active or self._current_movie_id is None: + return + self._check_continuation() + + def _check_continuation(self) -> None: + """Check if we should prompt for set continuation.""" + movie_id = self._current_movie_id + if movie_id is None: + return + + movie = self._movies.get(movie_id) + if not movie: + return + + set_id = movie.get("setid", 0) + if not set_id or set_id not in self._set_cache: + return + + set_details = self._set_cache[set_id] + next_movie = get_next_in_set(set_details, movie_id) + if not next_movie: + return + + log.info("Showing continuation prompt", event="continuation.prompt", + finished_title=movie.get("title", ""), + next_title=next_movie.get("title", ""), + set_name=set_details.get("title", "")) + + # Show continuation dialog + addon_path = xbmcaddon.Addon(self._addon_id).getAddonInfo('path') + + finished_title = movie.get("title", "") + next_title = next_movie.get("title", "") + set_name = set_details.get("title", "") + + # Get poster art for next movie + next_art = next_movie.get("art", {}) + poster = next_art.get("poster", "") if isinstance(next_art, dict) else "" + + dialog = ContinuationDialog( + 'script-easymovie-continuation.xml', + addon_path, 'Default', '1080i', + message=f"{lang(32333)}[CR][B]{finished_title}[/B]", + subtitle=f"{lang(32332)} [B]{set_name}[/B]:[CR]{next_title}", + yes_label=lang(32330), + no_label=lang(32331), + poster=poster, + duration=self._continuation_duration, + default_yes=(self._continuation_default == CONTINUATION_DEFAULT_CONTINUE_SET), + heading=xbmcaddon.Addon(self._addon_id).getAddonInfo('name'), + addon_id=self._addon_id, + ) + dialog.doModal() + + if dialog.result: + log.info("Continuation accepted", event="continuation.accepted", + next_title=next_title) + # Insert next movie at front of playlist + next_id = next_movie.get("movieid", 0) + if next_id: + query = build_add_movie_query(next_id, position=0) + json_query(query, return_result=False) + else: + log.warning("No movieid for next movie in set", event="continuation.fail", + next_title=next_movie.get("title", "")) + else: + log.info("Continuation declined", event="continuation.declined") diff --git a/script.easymovie/resources/lib/playback/player.py b/script.easymovie/resources/lib/playback/player.py new file mode 100644 index 0000000000..ac771004b2 --- /dev/null +++ b/script.easymovie/resources/lib/playback/player.py @@ -0,0 +1,101 @@ +""" +Movie playback controller. + +Handles single movie playback, resume points, and +now-playing info display. + +Logging: + Logger: 'playback' + Key events: + - playback.start (INFO): Movie playback started + - playback.resume (INFO): Resumed from position + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import Any, Dict, Optional, TYPE_CHECKING + +import xbmc + +if TYPE_CHECKING: + from resources.lib.data.storage import StorageManager + +from resources.lib.utils import get_logger, json_query +from resources.lib.data.queries import build_play_movie_query + +# Module-level logger +log = get_logger('playback') + + +def play_movie( + movie: Dict[str, Any], resume: bool = False, + storage: Optional['StorageManager'] = None, +) -> None: + """Play a single movie. + + Args: + movie: Movie dict with at minimum 'movieid' and 'title'. + resume: If True, resume from the last position. + storage: Optional StorageManager to record started movies. + """ + movie_id = movie.get("movieid", 0) + title = movie.get("title", "Unknown") + position = 0.0 + + # Record that EasyMovie started this movie (persists across restarts) + if storage and movie_id: + storage.add_started(movie_id, title) + + if resume: + resume_info = movie.get("resume", {}) + position = resume_info.get("position", 0) if isinstance(resume_info, dict) else 0 + if position > 0: + log.info("Resuming movie", event="playback.resume", + title=title, movieid=movie_id, + position_seconds=int(position)) + else: + resume = False + + if not resume: + log.info("Playing movie", event="playback.start", + title=title, movieid=movie_id) + + # Start playback via JSON-RPC + query = build_play_movie_query(movie_id) + json_query(query, return_result=False) + + # If resuming, seek to the saved position after playback starts + if resume: + # Wait briefly for the player to initialize + xbmc.sleep(500) + player = xbmc.Player() + if player.isPlaying(): + player.seekTime(position) + + +def get_resume_info(movie: Dict[str, Any]) -> Optional[Dict[str, Any]]: + """Get resume information for a movie. + + Args: + movie: Movie dict with resume data. + + Returns: + Dict with 'position' and 'total' keys, or None if no resume point. + """ + resume = movie.get("resume", {}) + if not isinstance(resume, dict): + return None + + position = resume.get("position", 0) + total = resume.get("total", 0) + + if position > 0 and total > 0: + remaining_seconds = int(total - position) + remaining_minutes = remaining_seconds // 60 + return { + "position": position, + "total": total, + "remaining_seconds": remaining_seconds, + "remaining_minutes": remaining_minutes, + } + return None diff --git a/script.easymovie/resources/lib/playback/playlist_builder.py b/script.easymovie/resources/lib/playback/playlist_builder.py new file mode 100644 index 0000000000..ce66519d70 --- /dev/null +++ b/script.easymovie/resources/lib/playback/playlist_builder.py @@ -0,0 +1,130 @@ +""" +Playlist builder for movie marathon mode. + +Creates a Kodi video playlist from selected movies and +starts playback. + +Logging: + Logger: 'playback' + Key events: + - playlist.create (INFO): Playlist built + - playlist.start (INFO): Playback started + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import Any, Dict, List, Optional, TYPE_CHECKING + +import xbmc + +if TYPE_CHECKING: + from resources.lib.data.storage import StorageManager + +from resources.lib.constants import PLAYLIST_ADD_DELAY_MS +from resources.lib.utils import get_logger, json_query, notify +from resources.lib.data.queries import ( + get_clear_video_playlist_query, + build_add_movie_query, + build_play_playlist_query, +) + +# Module-level logger +log = get_logger('playback') + + +def build_and_play_playlist( + movies: List[Dict[str, Any]], + show_notifications: bool = True, + prioritize_in_progress: bool = False, + resume_from_position: bool = True, + storage: Optional['StorageManager'] = None, +) -> bool: + """Build a Kodi video playlist from movies and start playback. + + Args: + movies: List of movie dicts to add to the playlist. + show_notifications: Show progress notifications while building. + prioritize_in_progress: Sort partially-watched movies first. + resume_from_position: Resume movies from their last position. + storage: If provided, records movies as EasyMovie-started. + + Returns: + True if playlist was created and playback started. + """ + if not movies: + log.warning("No movies to build playlist", event="playlist.fail") + return False + + # Optionally sort in-progress movies first + if prioritize_in_progress: + movies = _sort_in_progress_first(movies) + + # Record all playlist movies as EasyMovie-started + if storage: + for movie in movies: + mid = movie.get("movieid", 0) + if mid: + storage.add_started(mid, movie.get("title", "")) + + # Clear existing video playlist + json_query(get_clear_video_playlist_query(), return_result=False) + + # Add movies one by one + total = len(movies) + for i, movie in enumerate(movies): + movie_id = movie.get("movieid", 0) + title = movie.get("title", "Unknown") + + if show_notifications: + notify(f"Building playlist... ({i + 1}/{total})") + + query = build_add_movie_query(movie_id) + json_query(query, return_result=False) + + log.debug("Added movie to playlist", + title=title, movieid=movie_id, + position=i) + + # Small delay between additions to avoid overwhelming Kodi + if i < total - 1: + xbmc.sleep(PLAYLIST_ADD_DELAY_MS) + + log.info("Playlist created", event="playlist.create", + movie_count=total, + titles=[m.get("title", "") for m in movies[:5]]) + + # Start playback + query = build_play_playlist_query(position=0) + json_query(query, return_result=False) + + log.info("Playlist playback started", event="playlist.start", + movie_count=total) + + return True + + +def _sort_in_progress_first( + movies: List[Dict[str, Any]] +) -> List[Dict[str, Any]]: + """Sort movies so partially-watched ones come first. + + Movies with a resume position are placed at the front, + maintaining their relative order. Unwatched movies follow. + + Args: + movies: List of movie dicts. + + Returns: + Reordered list with in-progress movies first. + """ + in_progress = [] + others = [] + + for movie in movies: + resume = movie.get("resume", {}) + if isinstance(resume, dict) and resume.get("position", 0) > 0: + in_progress.append(movie) + else: + others.append(movie) + + return in_progress + others diff --git a/script.easymovie/resources/lib/service/__init__.py b/script.easymovie/resources/lib/service/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/script.easymovie/resources/lib/service/main.py b/script.easymovie/resources/lib/service/main.py new file mode 100644 index 0000000000..1f94d389ca --- /dev/null +++ b/script.easymovie/resources/lib/service/main.py @@ -0,0 +1,138 @@ +""" +EasyMovie background service. + +Lightweight service that monitors movie playback for set awareness. +No daemon loop — just a playback monitor and abort wait. + +Logging: + Logger: 'service' + Key events: + - service.start (INFO): Service started with version, device, Kodi build + - service.stop (INFO): Service stopping + - icon.restored (INFO): Custom icon restored after addon upgrade + See LOGGING.md for full guidelines. +""" +import filecmp +import os +import socket + +import xbmc +import xbmcaddon +import xbmcvfs + +from resources.lib.constants import CUSTOM_ICON_BACKUP +from resources.lib.utils import get_logger, invalidate_icon_cache +from resources.lib.service.playback_monitor import MoviePlaybackMonitor + + +def _get_device_name() -> str: + """Return the Kodi device friendly name, falling back to hostname.""" + try: + name = xbmc.getInfoLabel('System.FriendlyName') + if name: + return name + return socket.gethostname() or 'unknown' + except Exception: + return 'unknown' + + +def _restore_icon_if_needed(addon: xbmcaddon.Addon) -> None: + """Restore custom icon after an addon upgrade overwrites icon.png. + + Checks if the user had a custom icon choice and whether the current + icon.png matches icon_default.png (indicating an upgrade replaced it). + If so, restores from the backup in addon_data. + """ + log = get_logger('service') + addon_id = addon.getAddonInfo('id') + icon_choice = addon.getSetting('icon_choice') + if not icon_choice: + return + + addon_path = addon.getAddonInfo('path') + icon_path = os.path.join(addon_path, 'icon.png') + default_path = os.path.join(addon_path, 'icon_default.png') + + if not os.path.isfile(icon_path) or not os.path.isfile(default_path): + return + + if not filecmp.cmp(icon_path, default_path, shallow=False): + return # Icon is already custom, no restore needed + + # Icon matches default — upgrade wiped it. Try to restore. + addon_data = xbmcvfs.translatePath( + f'special://profile/addon_data/{addon_id}/' + ) + backup_path = os.path.join(addon_data, CUSTOM_ICON_BACKUP) + + if os.path.isfile(backup_path): + xbmcvfs.copy(backup_path, icon_path) + invalidate_icon_cache(addon_id) + log.info("Custom icon restored after upgrade", + event="icon.restored", source="backup", addon_id=addon_id) + return + + # No backup — try built-in fallback + if icon_choice.startswith('built-in:'): + filename = icon_choice.split(':', 1)[1] + builtin_path = os.path.join(addon_path, 'resources', 'icons', filename) + if os.path.isfile(builtin_path): + xbmcvfs.copy(builtin_path, icon_path) + # Re-create the missing backup + xbmcvfs.copy(builtin_path, backup_path) + invalidate_icon_cache(addon_id) + log.info("Custom icon restored after upgrade", + event="icon.restored", source="built-in", + icon=filename, addon_id=addon_id) + return + + # Custom image with no backup — can't restore + log.warning("Custom icon backup missing, resetting to default", + event="icon.restore_failed", choice=icon_choice, + addon_id=addon_id) + addon.setSetting('icon_choice', '') + + +def _get_kodi_version() -> str: + """Return the Kodi build version (first word only).""" + try: + build = xbmc.getInfoLabel('System.BuildVersion') + if build: + return build.split()[0] + return 'unknown' + except Exception: + return 'unknown' + + +def main() -> None: + """Run the EasyMovie background service.""" + addon = xbmcaddon.Addon() + version = addon.getAddonInfo('version') + + log = get_logger('service') + log.info( + "EasyMovie service started", + event="service.start", + version=version, + device=_get_device_name(), + kodi=_get_kodi_version(), + ) + + _restore_icon_if_needed(addon) + + monitor = xbmc.Monitor() + # Must keep reference to prevent garbage collection — Kodi calls + # the Player subclass callbacks as long as the object is alive. + _player = MoviePlaybackMonitor() + + while not monitor.abortRequested(): + if monitor.waitForAbort(1): + break + + del _player # Explicit cleanup before service exit + log.info( + "EasyMovie service stopping", + event="service.stop", + version=version, + device=_get_device_name(), + ) diff --git a/script.easymovie/resources/lib/service/playback_monitor.py b/script.easymovie/resources/lib/service/playback_monitor.py new file mode 100644 index 0000000000..139e198d3f --- /dev/null +++ b/script.easymovie/resources/lib/service/playback_monitor.py @@ -0,0 +1,230 @@ +""" +Background playback monitor for movie set awareness. + +Monitors all movie playback in Kodi. When a user plays a movie +that belongs to a set with earlier unwatched entries, pauses +playback and offers to play the earlier movie instead. + +Skips the check when playback was initiated by EasyMovie +(which handles set ordering via substitution). + +Logging: + Logger: 'service' + Key events: + - setcheck.found (INFO): Earlier unwatched movie found + - setcheck.accepted (INFO): User chose to switch + - setcheck.declined (INFO): User chose to continue + - setcheck.skip (DEBUG): Check skipped (reason logged) + - setcheck.error (ERROR): Query or dialog error + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import Any, Dict + +import xbmc +import xbmcaddon +import xbmcgui + +from resources.lib.constants import ( + ADDON_ID, + PLAYER_STOP_DELAY_MS, + PROP_PLAYLIST_RUNNING, +) +from resources.lib.utils import get_bool_setting, get_logger, json_query, lang +from resources.lib.data.queries import ( + get_movie_details_with_art_query, + get_movie_set_details_query, +) +from resources.lib.data.movie_sets import find_first_unwatched_before +from resources.lib.playback.playback_monitor import ContinuationDialog + +log = get_logger('service') + + +class MoviePlaybackMonitor(xbmc.Player): + """Monitors playback for movie set awareness. + + Uses onAVStarted with xbmc.Player().getVideoInfoTag() to get + the playing movie's database ID and media type immediately + (no JSON-RPC timing issues), then queries GetMovieDetails + for set membership. + """ + + def onAVStarted(self) -> None: + """Handle AV stream start — check for earlier unwatched set movies.""" + try: + self._check_set_awareness() + except Exception: + log.exception("Set check failed", event="setcheck.error") + + def _check_set_awareness(self) -> None: + """Run the set awareness check.""" + # Check setting + if not get_bool_setting('previous_movie_check'): + log.debug("Set check disabled by setting", event="setcheck.skip") + return + + # Skip EasyMovie-initiated playback + window = xbmcgui.Window(10000) + if window.getProperty(PROP_PLAYLIST_RUNNING) == 'true': + log.debug("EasyMovie session active, skipping", + event="setcheck.skip") + return + + # Get playing item info from the player directly (no JSON-RPC delay) + try: + info_tag = self.getVideoInfoTag() + media_type = info_tag.getMediaType() + movie_id = info_tag.getDbId() + except RuntimeError: + log.debug("No video info tag available", event="setcheck.skip") + return + + if media_type != 'movie': + log.debug("Not a movie", event="setcheck.skip", + media_type=media_type) + return + + if not movie_id: + log.debug("No movie ID", event="setcheck.skip") + return + + # Query movie details for set membership + movie_result = json_query( + get_movie_details_with_art_query(movie_id), return_result=True + ) + if not movie_result: + log.debug("No movie details returned", event="setcheck.skip") + return + + movie_details = movie_result.get("moviedetails", movie_result) + set_id = movie_details.get("setid", 0) + if not set_id or set_id <= 0: + log.debug("Movie not in a set", event="setcheck.skip") + return + + # Query set details + log.debug("Querying set details", event="setcheck.query", + set_id=set_id) + set_result = json_query( + get_movie_set_details_query(set_id), return_result=True + ) + if not set_result: + log.debug("No set details returned", event="setcheck.skip") + return + + set_details = set_result.get("setdetails", set_result) + + # Check for earlier unwatched + earlier = find_first_unwatched_before(set_details, movie_id) + if earlier is None: + log.debug("No earlier unwatched movie", event="setcheck.skip", + set_name=movie_details.get('set', '')) + return + + # Found an earlier unwatched movie + earlier_title = earlier.get("title", "") + earlier_year = str(earlier.get("year", "")) + set_name = movie_details.get("set", set_details.get("title", "")) + + log.info("Earlier unwatched movie found", + event="setcheck.found", + current_title=movie_details.get('title', ''), + earlier_title=earlier_title, + set_name=set_name) + + self._show_set_warning(earlier, earlier_title, earlier_year, set_name) + + def _show_set_warning( + self, + earlier_movie: Dict[str, Any], + earlier_title: str, + earlier_year: str, + set_name: str, + ) -> None: + """Pause playback and show dialog for earlier unwatched movie.""" + # Pause playback + try: + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Player.PlayPause",' + '"params":{"playerid":1,"play":false},"id":1}' + ) + except Exception: + log.exception("Failed to pause playback", event="setcheck.error") + return + + # Build dialog + addon_path = xbmcaddon.Addon(ADDON_ID).getAddonInfo('path') + + # Get poster art + art = earlier_movie.get("art", {}) + poster = art.get("poster", "") if isinstance(art, dict) else "" + + dialog = ContinuationDialog( + 'script-easymovie-setwarning.xml', + addon_path, 'Default', '1080i', + message=( + f"[B]{earlier_title}[/B] ({earlier_year})[CR]" + f"{lang(32340)} [B]{set_name}[/B][CR]" + f"{lang(32341)}" + ), + subtitle=lang(32342), + yes_label=lang(32300), + no_label=lang(32301), + poster=poster, + duration=0, + default_yes=True, + heading=xbmcaddon.Addon(ADDON_ID).getAddonInfo('name'), + addon_id=ADDON_ID, + ) + dialog.doModal() + + if dialog.result: + log.info("User chose earlier movie", + event="setcheck.accepted", + earlier_title=earlier_title, + set_name=set_name) + self._play_earlier_movie(earlier_movie) + else: + log.info("User declined, continuing", + event="setcheck.declined", + earlier_title=earlier_title, + set_name=set_name) + self._unpause() + + def _play_earlier_movie(self, movie: Dict[str, Any]) -> None: + """Stop current playback and start the earlier movie.""" + movie_id = movie.get("movieid", 0) + if not movie_id: + log.warning("No movieid for earlier movie", + event="setcheck.error") + self._unpause() + return + + try: + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Player.Stop",' + '"params":{"playerid":1},"id":1}' + ) + xbmc.sleep(PLAYER_STOP_DELAY_MS) + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Player.Open",' + '"params":{"item":{"movieid":%d},' + '"options":{"resume":true}},"id":1}' % movie_id + ) + except Exception: + log.exception("Failed to start earlier movie", + event="setcheck.error") + + @staticmethod + def _unpause() -> None: + """Resume paused playback.""" + try: + xbmc.executeJSONRPC( + '{"jsonrpc":"2.0","method":"Player.PlayPause",' + '"params":{"playerid":1,"play":true},"id":1}' + ) + except Exception: + log.exception("Failed to unpause playback", + event="setcheck.error") diff --git a/script.easymovie/resources/lib/ui/__init__.py b/script.easymovie/resources/lib/ui/__init__.py new file mode 100644 index 0000000000..bce975ab1b --- /dev/null +++ b/script.easymovie/resources/lib/ui/__init__.py @@ -0,0 +1,33 @@ +""" +UI package initialization. + +Provides theme application for all EasyMovie windows. +""" +from __future__ import annotations + +from typing import Optional + +import xbmcgui + +from resources.lib.constants import THEME_COLORS + + +def apply_theme(window: xbmcgui.WindowXMLDialog, addon_id: Optional[str] = None) -> None: + """Apply theme colors as window properties on the given dialog. + + Must be called in each dialog's onInit() so $INFO[Window.Property(...)] + resolves correctly against the current window. + + Args: + window: The dialog window to set color properties on. + addon_id: Optional addon ID (for clone support). + """ + import xbmcaddon + addon = xbmcaddon.Addon(addon_id) if addon_id else xbmcaddon.Addon() + try: + theme = int(addon.getSetting('theme') or '0') + except (ValueError, TypeError): + theme = 0 + colors = THEME_COLORS.get(theme, THEME_COLORS[0]) + for prop, value in colors.items(): + window.setProperty(prop, value) diff --git a/script.easymovie/resources/lib/ui/browse_window.py b/script.easymovie/resources/lib/ui/browse_window.py new file mode 100644 index 0000000000..7a1328d289 --- /dev/null +++ b/script.easymovie/resources/lib/ui/browse_window.py @@ -0,0 +1,246 @@ +""" +Browse window for displaying movie results. + +Supports 5 viewing modes via different XML files. +Handles movie selection, Surprise Me, Re-roll, and context menu. + +Logging: + Logger: 'browse' + Key events: + - ui.browse (INFO): Browse window opened + - ui.select (INFO): Movie selected by user + - ui.surprise (INFO): Surprise Me triggered + - ui.reroll (INFO): Re-roll triggered + - ui.browse_close (DEBUG): User closed browse window + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import Dict, List, Any, Optional, cast + +import xbmcgui +import xbmcaddon + +from resources.lib.constants import ( + ACTION_CONTEXT_MENU, + ACTION_NAV_BACK, + ACTION_PREVIOUS_MENU, + ACTION_TELETEXT_BLUE, + ADDON_ID, + THEME_COLORS, + THEME_NAMES, + VIEW_SHOWCASE, + VIEW_CARD_LIST, + VIEW_POSTERS, + VIEW_BIG_SCREEN, + VIEW_SPLIT_VIEW, +) +from resources.lib.utils import get_logger + +# Control IDs (shared across all view XMLs) +LIST_CONTROL_ID = 655 +SURPRISE_BUTTON_ID = 10 +REROLL_BUTTON_ID = 11 + +# Result signals +RESULT_REROLL = "__reroll__" +RESULT_SURPRISE = "__surprise__" +# View style to XML filename mapping +VIEW_XML_MAP = { + VIEW_SHOWCASE: "script-easymovie-postergrid.xml", + VIEW_CARD_LIST: "script-easymovie-cardlist.xml", + VIEW_POSTERS: "script-easymovie-main.xml", + VIEW_BIG_SCREEN: "script-easymovie-BigScreenList.xml", + VIEW_SPLIT_VIEW: "script-easymovie-splitlist.xml", +} + +# Module-level logger +log = get_logger('browse') + + +class BrowseWindow(xbmcgui.WindowXMLDialog): + """Browse window for displaying and selecting movies. + + Supports all 5 viewing modes via different XML files. + The same control IDs are used across all views. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._movies: List[Dict[str, Any]] = [] + self._result: Optional[Any] = None + self._addon_id: str = ADDON_ID + self._preview_mode: bool = False + self._theme_index: int = 0 + + def set_movies(self, movies: List[Dict[str, Any]]) -> None: + """Set the movies to display.""" + self._movies = movies + + def set_addon_id(self, addon_id: str) -> None: + """Set the addon ID (for clone support).""" + self._addon_id = addon_id + + def set_preview_mode(self, theme_index: int) -> None: + """Enable preview mode with live theme cycling via blue button.""" + self._preview_mode = True + self._theme_index = theme_index + + @property + def result(self) -> Optional[Any]: + """The result after the window closes. + + Returns: + - A movie dict if user selected a movie + - RESULT_REROLL if user pressed Re-roll + - RESULT_SURPRISE if user pressed Surprise Me + - None if user closed/backed out + """ + return self._result + + def onInit(self): + """Populate the list when the window opens.""" + from resources.lib.ui import apply_theme + apply_theme(self, self._addon_id) + + # Set addon name for skin heading (shows clone name for clones) + self.setProperty( + 'EasyMovie.AddonName', + xbmcaddon.Addon(self._addon_id).getAddonInfo('name'), + ) + + log.info("Browse window opened", event="ui.browse", + movie_count=len(self._movies)) + + list_control = cast(xbmcgui.ControlList, self.getControl(LIST_CONTROL_ID)) + list_control.reset() + + for movie in self._movies: + li = xbmcgui.ListItem(movie.get("title", "")) + + # Set video info via InfoTagVideo (Kodi 21+) + info_tag = li.getVideoInfoTag() + info_tag.setTitle(movie.get("title", "")) + info_tag.setYear(movie.get("year", 0)) + info_tag.setGenres(movie.get("genre", [])) + info_tag.setRating(movie.get("rating", 0.0)) + info_tag.setDuration(movie.get("runtime", 0)) + info_tag.setPlot(movie.get("plot", "")) + info_tag.setMpaa(movie.get("mpaa", "")) + + # Set art + art = movie.get("art", {}) + if art: + li.setArt({ + 'poster': art.get("poster", ""), + 'fanart': art.get("fanart", ""), + 'thumb': art.get("poster", ""), + }) + + # Set custom properties + runtime_secs = movie.get("runtime", 0) + minutes = runtime_secs // 60 + if minutes >= 60: + li.setProperty("runtime_min", f"{minutes // 60}h {minutes % 60}m") + else: + li.setProperty("runtime_min", f"{minutes}m") + + set_name = movie.get("set", "") + if set_name: + li.setProperty("set_name", set_name) + + li.setProperty("movieid", str(movie.get("movieid", 0))) + + if movie.get("playcount", 0) > 0: + li.setProperty("watched", "true") + + list_control.addItem(li) + + if self._movies: + self.setFocusId(LIST_CONTROL_ID) + + def onClick(self, controlId): + """Handle control clicks.""" + if controlId == LIST_CONTROL_ID: + list_control = cast(xbmcgui.ControlList, self.getControl(LIST_CONTROL_ID)) + idx = list_control.getSelectedPosition() + if 0 <= idx < len(self._movies): + self._result = self._movies[idx] + log.info("Movie selected", event="ui.select", + title=self._movies[idx].get("title", ""), + movieid=self._movies[idx].get("movieid", 0)) + self.close() + + elif controlId == SURPRISE_BUTTON_ID: + log.info("Surprise Me pressed", event="ui.surprise") + self._result = RESULT_SURPRISE + self.close() + + elif controlId == REROLL_BUTTON_ID: + log.info("Re-roll pressed", event="ui.reroll") + self._result = RESULT_REROLL + self.close() + + def _get_focused_movie(self) -> Optional[Dict[str, Any]]: + """Get the currently focused movie, or None.""" + list_control = cast(xbmcgui.ControlList, self.getControl(LIST_CONTROL_ID)) + idx = list_control.getSelectedPosition() + if 0 <= idx < len(self._movies): + return self._movies[idx] + return None + + def onAction(self, action): + """Handle navigation actions.""" + action_id = action.getId() + if action_id in (ACTION_NAV_BACK, ACTION_PREVIOUS_MENU): + log.debug("Browse window closed by user", event="ui.browse_close") + self._result = None + self.close() + elif self._preview_mode and ( + action_id == ACTION_TELETEXT_BLUE + or action.getButtonCode() == 0xF054 + ): + self._theme_index = (self._theme_index + 1) % len(THEME_COLORS) + for prop, value in THEME_COLORS[self._theme_index].items(): + self.setProperty(prop, value) + xbmcgui.Dialog().notification( + "Theme", THEME_NAMES[self._theme_index], time=1500) + elif action_id == ACTION_CONTEXT_MENU: + movie = self._get_focused_movie() + if movie: + from resources.lib.ui.context_menu import ( + show_context_menu, CONTEXT_PLAY, CONTEXT_PLAY_SET, + ) + result = show_context_menu(movie, self._addon_id) + if result == CONTEXT_PLAY: + self._result = movie + self.close() + elif result == CONTEXT_PLAY_SET: + self._result = {"__play_set__": True, "movie": movie} + self.close() + + +def show_browse_window( + movies: List[Dict[str, Any]], + view_style: int, + addon_id: str = ADDON_ID, +) -> Optional[Any]: + """Show the browse window with the specified view style. + + Args: + movies: List of movie dicts (with art) to display. + view_style: View style constant (VIEW_SHOWCASE, etc.) + addon_id: Addon ID (for clone support). + + Returns: + Selected movie dict, RESULT_REROLL, RESULT_SURPRISE, or None. + """ + xml_file = VIEW_XML_MAP.get(view_style, VIEW_XML_MAP[VIEW_SHOWCASE]) + addon_path = xbmcaddon.Addon(addon_id).getAddonInfo('path') + + window = BrowseWindow(xml_file, addon_path, 'Default', '1080i') + window.set_movies(movies) + window.set_addon_id(addon_id) + window.doModal() + + return window.result diff --git a/script.easymovie/resources/lib/ui/context_menu.py b/script.easymovie/resources/lib/ui/context_menu.py new file mode 100644 index 0000000000..e7e22f511a --- /dev/null +++ b/script.easymovie/resources/lib/ui/context_menu.py @@ -0,0 +1,116 @@ +""" +Context menu for the EasyMovie browse window. + +Options: +- Play: Play the selected movie +- Play Full Set: Play all movies in the set (hidden if not in a set) + +Logging: + Logger: 'ui' + Key events: + - ui.context_open (DEBUG): Context menu opened + - ui.context_select (DEBUG): Option selected + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import Any, Dict, Optional, cast + +import xbmcgui + +from resources.lib.constants import ACTION_NAV_BACK, ACTION_PREVIOUS_MENU, ADDON_ID +from resources.lib.utils import get_logger, lang + +# Context menu action constants +CONTEXT_PLAY = "play" +CONTEXT_PLAY_SET = "play_set" + +# Control IDs matching the XML +_BUTTON_PLAY = 110 +_BUTTON_PLAY_SET = 120 + +# Module-level logger +log = get_logger('ui') + + +class ContextMenuWindow(xbmcgui.WindowXMLDialog): + """Themed context menu dialog for the browse window.""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._addon_id: str = ADDON_ID + self._has_set: bool = False + self._set_name: str = "" + self._result: Optional[str] = None + + @property + def result(self) -> Optional[str]: + """The selected action, or None if cancelled.""" + return self._result + + def onInit(self): + """Set up button labels and visibility.""" + from resources.lib.ui import apply_theme + apply_theme(self, self._addon_id) + + log.debug("Context menu opened", event="ui.context_open", + has_set=self._has_set) + + cast(xbmcgui.ControlButton, self.getControl(_BUTTON_PLAY)).setLabel( + lang(32312)) # "Play" + + set_label = lang(32313) # "Play Full Set" + cast(xbmcgui.ControlButton, self.getControl(_BUTTON_PLAY_SET)).setLabel( + set_label) + + # Hide "Play Full Set" if movie is not in a set + if not self._has_set: + self.getControl(_BUTTON_PLAY_SET).setVisible(False) + + self.setFocus(self.getControl(_BUTTON_PLAY)) + + def onClick(self, controlId): + """Handle button clicks.""" + if controlId == _BUTTON_PLAY: + self._result = CONTEXT_PLAY + elif controlId == _BUTTON_PLAY_SET: + self._result = CONTEXT_PLAY_SET + + log.debug("Context option selected", event="ui.context_select", + result=self._result) + self.close() + + def onAction(self, action): + """Handle back/escape.""" + action_id = action.getId() + if action_id in (ACTION_NAV_BACK, ACTION_PREVIOUS_MENU): + self.close() + + +def show_context_menu( + movie: Dict[str, Any], + addon_id: Optional[str] = None, +) -> Optional[str]: + """Show the themed context menu for a movie. + + Args: + movie: The movie dict for the focused item. + addon_id: Optional addon ID (for clone support). + + Returns: + CONTEXT_PLAY, CONTEXT_PLAY_SET, or None. + """ + import xbmcaddon + addon_path = xbmcaddon.Addon(addon_id or ADDON_ID).getAddonInfo('path') + + dialog = ContextMenuWindow( + 'script-easymovie-contextwindow.xml', + addon_path, 'Default', '1080i' + ) + dialog._addon_id = addon_id or ADDON_ID + set_name = movie.get("set", "") + dialog._has_set = bool(set_name) + dialog._set_name = set_name + dialog.doModal() + + return dialog.result diff --git a/script.easymovie/resources/lib/ui/dialogs.py b/script.easymovie/resources/lib/ui/dialogs.py new file mode 100644 index 0000000000..34ffad0309 --- /dev/null +++ b/script.easymovie/resources/lib/ui/dialogs.py @@ -0,0 +1,284 @@ +""" +EasyMovie Dialog Helpers. + +Provides dialog classes and helper functions for the wizard +and general-purpose dialogs. + +Logging: + Logger: 'ui' + Key events: + - ui.dialog_open (DEBUG): Dialog opened + - ui.dialog_select (DEBUG): User made selection + - ui.dialog_cancel (DEBUG): User cancelled dialog + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +from typing import List, Optional, Set, cast + +import xbmcgui + +from resources.lib.constants import ( + ACTION_MOVE_DOWN, + ACTION_MOVE_UP, + ACTION_NAV_BACK, + ACTION_PREVIOUS_MENU, + ADDON_ID, +) +from resources.lib.utils import get_logger + +# Control IDs matching the XML files +SELECT_HEADING = 1 +SELECT_LIST = 100 +SELECT_OK = 10 +SELECT_BACK = 11 + +CONFIRM_HEADING = 1 +CONFIRM_MESSAGE = 2 +CONFIRM_YES = 10 +CONFIRM_NO = 11 + +# Module-level logger +log = get_logger('ui') + + +def _get_addon_path() -> str: + """Get the addon root path (Kodi resolves the skin subdirectory).""" + import xbmcaddon + return xbmcaddon.Addon(ADDON_ID).getAddonInfo('path') + + +class SelectDialog(xbmcgui.WindowXMLDialog): + """Multi-purpose selection dialog with checkbox support.""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._addon_id: str = ADDON_ID + self.heading = "" + self.items: List[str] = [] + self.preselected: List[int] = [] + self.multi_select = True + self.headers: Set[int] = set() + self.selected: List[int] = [] + self.cancelled = False + self._back_pressed = False + + def onInit(self): + """Populate the dialog when it opens.""" + from resources.lib.ui import apply_theme + apply_theme(self, self._addon_id) + + cast(xbmcgui.ControlLabel, self.getControl(SELECT_HEADING)).setLabel(self.heading) + + list_control = cast(xbmcgui.ControlList, self.getControl(SELECT_LIST)) + list_control.reset() + + for i, item_label in enumerate(self.items): + li = xbmcgui.ListItem(item_label) + if i in self.headers: + li.setProperty('is_header', 'true') + elif i in self.preselected: + li.setProperty('checked', 'true') + self.selected.append(i) + list_control.addItem(li) + + # Single-select: set property so XML hides checkboxes and OK button + if not self.multi_select: + self.setProperty('EasyMovie.SingleSelect', 'true') + + if self.items: + self.setFocusId(SELECT_LIST) + + def onClick(self, controlId): + """Handle button and list item clicks.""" + if controlId == SELECT_LIST: + list_control = cast(xbmcgui.ControlList, self.getControl(SELECT_LIST)) + if self.multi_select: + idx = list_control.getSelectedPosition() + li = list_control.getSelectedItem() + if li and li.getProperty('is_header') == 'true': + return + if li.getProperty('checked') == 'true': + li.setProperty('checked', '') + if idx in self.selected: + self.selected.remove(idx) + else: + li.setProperty('checked', 'true') + if idx not in self.selected: + self.selected.append(idx) + else: + # Single select: close immediately (skip headers) + li = list_control.getSelectedItem() + if li and li.getProperty('is_header') == 'true': + return + self.selected = [list_control.getSelectedPosition()] + self.close() + + elif controlId == SELECT_OK: + self.close() + + elif controlId == SELECT_BACK: + self._back_pressed = True + self.cancelled = True + self.close() + + def onAction(self, action): + """Handle back/escape and skip header items on navigation.""" + action_id = action.getId() + if action_id in (ACTION_NAV_BACK, ACTION_PREVIOUS_MENU): + self._back_pressed = True + self.cancelled = True + self.close() + elif action_id in (ACTION_MOVE_UP, ACTION_MOVE_DOWN) and self.headers: + list_control = cast(xbmcgui.ControlList, self.getControl(SELECT_LIST)) + pos = list_control.getSelectedPosition() + if pos in self.headers: + step = 1 if action_id == ACTION_MOVE_DOWN else -1 + new_pos = pos + step + # Clamp to valid range + new_pos = max(0, min(new_pos, list_control.size() - 1)) + if new_pos not in self.headers: + list_control.selectItem(new_pos) + + @property + def back_pressed(self) -> bool: + """Whether the user pressed back (vs OK or item select).""" + return self._back_pressed + + +class ConfirmDialog(xbmcgui.WindowXMLDialog): + """Simple yes/no confirmation dialog.""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._addon_id: str = ADDON_ID + self.heading = "" + self.message = "" + self.yes_label = "" + self.no_label = "" + self.confirmed = False + self.cancelled = False + + def onInit(self): + """Set up the dialog labels.""" + from resources.lib.ui import apply_theme + apply_theme(self, self._addon_id) + + cast(xbmcgui.ControlLabel, self.getControl(CONFIRM_HEADING)).setLabel(self.heading) + cast(xbmcgui.ControlLabel, self.getControl(CONFIRM_MESSAGE)).setLabel(self.message) + if self.yes_label: + cast(xbmcgui.ControlButton, self.getControl(CONFIRM_YES)).setLabel(self.yes_label) + if self.no_label: + cast(xbmcgui.ControlButton, self.getControl(CONFIRM_NO)).setLabel(self.no_label) + else: + self.setProperty('EasyMovie.SingleButton', 'true') + self.setFocus(self.getControl(CONFIRM_YES)) + + def onClick(self, controlId): + """Handle button clicks.""" + if controlId == CONFIRM_YES: + self.confirmed = True + self.close() + elif controlId == CONFIRM_NO: + self.confirmed = False + self.close() + + def onAction(self, action): + """Handle back/escape.""" + action_id = action.getId() + if action_id in (ACTION_NAV_BACK, ACTION_PREVIOUS_MENU): + self.cancelled = True + self.close() + + +def show_select_dialog( + heading: str, + items: List[str], + multi_select: bool = True, + preselected: Optional[List[int]] = None, + addon_id: Optional[str] = None, + headers: Optional[Set[int]] = None, +) -> Optional[List[int]]: + """Show a themed selection dialog. + + Args: + heading: Dialog heading text. + items: List of item labels. + multi_select: If True, checkboxes. If False, single-select closes on pick. + preselected: Indices of pre-selected items. + addon_id: Optional addon ID (for clone support). + headers: Indices of non-selectable group header items. + + Returns: + List of selected indices, or None if cancelled/back pressed. + """ + log.debug("Select dialog opened", event="ui.dialog_open", + heading=heading, item_count=len(items), + multi_select=multi_select) + dialog = SelectDialog( + 'script-easymovie-select.xml', + _get_addon_path(), + 'Default', '1080i' + ) + dialog._addon_id = addon_id or ADDON_ID + dialog.heading = heading + dialog.items = items + dialog.multi_select = multi_select + dialog.preselected = preselected or [] + dialog.headers = headers or set() + dialog.doModal() + + if dialog.cancelled: + log.debug("Select dialog cancelled", event="ui.dialog_cancel", + heading=heading) + return None + selected = sorted(dialog.selected) + if not selected: + log.debug("Select dialog empty selection", event="ui.dialog_empty", + heading=heading) + return [] # OK with nothing selected = no filter + log.debug("Select dialog selection made", event="ui.dialog_select", + heading=heading, selected_count=len(selected)) + return selected + + +def show_confirm_dialog( + heading: str, + message: str, + yes_label: str = "", + no_label: str = "", + addon_id: Optional[str] = None, +) -> Optional[bool]: + """Show a themed confirmation dialog. + + Args: + heading: Dialog heading text. + message: Message body. + yes_label: Custom label for the yes button. + no_label: Custom label for the no button. + addon_id: Optional addon ID (for clone support). + + Returns: + True if user confirmed, False if declined, None if cancelled/back. + """ + log.debug("Confirm dialog opened", event="ui.dialog_open", + heading=heading) + dialog = ConfirmDialog( + 'script-easymovie-confirm.xml', + _get_addon_path(), + 'Default', '1080i' + ) + dialog._addon_id = addon_id or ADDON_ID + dialog.heading = heading + dialog.message = message + dialog.yes_label = yes_label + dialog.no_label = no_label + dialog.doModal() + + if dialog.cancelled: + log.debug("Confirm dialog cancelled", event="ui.dialog_cancel", + heading=heading) + return None + log.debug("Confirm dialog result", event="ui.dialog_select", + heading=heading, confirmed=dialog.confirmed) + return dialog.confirmed diff --git a/script.easymovie/resources/lib/ui/main.py b/script.easymovie/resources/lib/ui/main.py new file mode 100644 index 0000000000..17e76c4ac6 --- /dev/null +++ b/script.easymovie/resources/lib/ui/main.py @@ -0,0 +1,1096 @@ +""" +EasyMovie UI entry point. + +Orchestrates the full addon flow: +1. Load settings +2. Apply theme +3. Check for in-progress movie (offer resume) +4. Determine mode (Browse/Playlist/Ask) +5. Run filter wizard (if filters need asking) +6. Query movies + apply filters +7. Apply movie set substitutions +8. Show results (browse) or build playlist +9. Handle Re-roll loop + +Logging: + Logger: 'default' + Key events: + - launch.start (INFO): Addon launched + - launch.mode_selected (INFO): Mode determined + - launch.resume_offered (INFO): In-progress movie found + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +import os +import random +import sys +from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Tuple, cast + +import xbmcvfs + +from resources.lib.constants import ( + ADDON_ID, + MODE_BROWSE, MODE_PLAYLIST, MODE_ASK, + PROP_PLAYLIST_RUNNING, + RESURFACE_WINDOWS, +) +from resources.lib.utils import ( + get_logger, invalidate_icon_cache, json_query, notify, log_timing, lang, +) +from resources.lib.ui.settings import load_settings +from resources.lib.ui.wizard import WizardFlow +from resources.lib.ui.dialogs import show_confirm_dialog, show_select_dialog +from resources.lib.ui.browse_window import ( + show_browse_window, RESULT_REROLL, RESULT_SURPRISE, +) +from resources.lib.data.queries import ( + get_all_movies_query, + get_movie_details_with_art_query, + get_movie_set_details_query, + get_in_progress_movies_query, +) +from resources.lib.data.filters import apply_filters, filter_by_playlist_ids +from resources.lib.data.smart_playlists import extract_movie_ids_from_playlist +from resources.lib.data.movie_sets import apply_set_substitutions +from resources.lib.data.results import select_and_sort_results +from resources.lib.data.storage import StorageManager + +if TYPE_CHECKING: + from resources.lib.ui.settings import ( + FilterSettings, BrowseSettings, PlaylistSettings, + SetSettings, PlaybackSettings, AdvancedSettings, + ) + +_active_monitors = [] # Keep references to prevent GC + + +def _check_clone_version(addon_id: str, addon_path: str) -> bool: + """Check if a clone needs updating. Returns True if OK to proceed. + + For clones, compares clone version against parent version. + If outdated, prompts for mandatory update. + Returns False if the clone should not proceed (update triggered or declined). + """ + import xbmc + import xbmcaddon + import xbmcgui + + log = get_logger('default') + + # Check if we just updated (Kodi cache may still report old version) + window = xbmcgui.Window(10000) + update_flag = f'EasyMovie.UpdateComplete.{addon_id}' + parent_addon = xbmcaddon.Addon(ADDON_ID) + parent_version = parent_addon.getAddonInfo('version') + + update_flag_version = window.getProperty(update_flag) + if update_flag_version: + if update_flag_version == parent_version: + log.info("Clone update flag detected, skipping version check", + event="clone.update_flag_cleared", addon_id=addon_id, + flag_version=update_flag_version) + return True + else: + # Flag is for an older version — another update happened + window.clearProperty(update_flag) + log.info("Clone update flag outdated, checking version", + event="clone.update_flag_stale", addon_id=addon_id, + flag_version=update_flag_version, + parent_version=parent_version) + + clone_addon = xbmcaddon.Addon(addon_id) + clone_version = clone_addon.getAddonInfo('version') + clone_name = clone_addon.getAddonInfo('name') + + if clone_version == parent_version: + return True + + log.warning("Clone out of date", event="clone.outdated", + clone_version=clone_version, parent_version=parent_version, + addon_id=addon_id) + + # Mandatory update prompt + message = (lang(32709) + '\n' + lang(32710) + '\n\n' + lang(32711)) + confirmed = show_confirm_dialog( + clone_name, + message, + yes_label=lang(32712), # "Update" + no_label=lang(32301), # "Cancel" + ) + + if confirmed: + # Use main addon's update_clone.py (latest update logic) + parent_path = parent_addon.getAddonInfo('path') + if not os.path.isdir(parent_path): + log.error("Parent addon path invalid", + event="clone.update_fail", path=parent_path) + return False + update_script = os.path.join(parent_path, 'resources', 'update_clone.py') + if not os.path.isfile(update_script): + log.error("Update script not found", + event="clone.update_fail", path=update_script) + return False + xbmc.executebuiltin( + f'RunScript({update_script},{parent_path},' + f'{addon_path},{addon_id},{clone_name})' + ) + + return False # Don't proceed — either updating or user cancelled + + +def _prepare_movie_pool( + log, + all_movies: List[Dict[str, Any]], + advanced_settings: AdvancedSettings, + storage: StorageManager, + addon_id: str, +) -> Optional[Tuple[List[Dict[str, Any]], set]]: + """Apply playlist pool filter and prepare resurface exclusions. + + Returns: + (movies, exclude_ids) on success, or None if the pool is empty + and the user was notified. + """ + # Apply playlist pool filter (narrow universe before anything else) + if advanced_settings.movie_pool_enabled and advanced_settings.movie_pool_path: + pool_ids = extract_movie_ids_from_playlist(advanced_settings.movie_pool_path) + if pool_ids: + all_movies = filter_by_playlist_ids(all_movies, pool_ids) + log.debug("Playlist pool applied", event="pool.filter", + pool_movie_count=len(pool_ids), remaining=len(all_movies)) + if not all_movies: + show_confirm_dialog( + "No Movies", + "No movies in your library match the selected playlist.", + yes_label="OK", no_label="", addon_id=addon_id) + return None + else: + log.warning("Playlist pool enabled but empty, using full library", + event="pool.fallback") + + # Prepare resurface exclusion (before wizard, so counts are accurate) + exclude_ids: set = set() + if advanced_settings.avoid_resurface: + storage.validate_suggested(all_movies) + resurface_hours = RESURFACE_WINDOWS.get(advanced_settings.resurface_window, 24) + storage.prune_suggested(resurface_hours) + exclude_ids = storage.get_suggested_ids() + if exclude_ids: + log.debug("Resurface exclusion prepared", + event="history.exclude_prepared", + exclude_count=len(exclude_ids), + window_hours=resurface_hours) + else: + storage.clear_suggested() + + return all_movies, exclude_ids + + +def _run_wizard_and_filter( + log, + all_movies: List[Dict[str, Any]], + filter_settings: FilterSettings, + advanced_settings: AdvancedSettings, + storage: StorageManager, + exclude_ids: set, + addon_id: str, +) -> Optional[List[Dict[str, Any]]]: + """Run filter wizard and apply filters. + + Returns: + Filtered movie list, or None if cancelled or no results. + """ + wizard = WizardFlow(_build_wizard_settings(filter_settings)) + if advanced_settings.remember_filters: + wizard.load_last_answers(storage.load_last_filters()) + + filter_config = _run_wizard(log, wizard, all_movies, addon_id, + show_counts=advanced_settings.show_counts, + cumulative_counts=advanced_settings.cumulative_counts, + exclude_ids=exclude_ids) + if filter_config is None: + log.info("Wizard cancelled", event="wizard.cancel") + return None + + # Apply filters (include resurface exclusions) + if exclude_ids: + filter_config.exclude_ids = list(exclude_ids) + filtered = apply_filters(all_movies, filter_config) + if not filtered: + if exclude_ids: + log.info("All movies excluded by filters and resurface window", + event="history.exhausted", + total=len(all_movies), excluded=len(exclude_ids)) + show_confirm_dialog("No Results", + "All matching movies were recently suggested. " + "Try again later or adjust your re-suggestion window.", + yes_label="OK", no_label="", addon_id=addon_id) + else: + log.info("No movies after filtering", event="filter.no_results", + total=len(all_movies)) + show_confirm_dialog("No Results", + "No movies match your filters.\nTry relaxing your criteria.", + yes_label="OK", no_label="", addon_id=addon_id) + return None + + log.debug("Filtered movies", count=len(filtered), total=len(all_movies)) + + # Save wizard answers for next time + if advanced_settings.remember_filters: + storage.save_last_filters(wizard.get_answers()) + + return filtered + + +def main(addon_id: str = ADDON_ID) -> None: + """Entry point for the EasyMovie addon. + + Args: + addon_id: Addon ID (different for clones). + """ + import xbmc + import xbmcaddon + log = get_logger('default') + addon = xbmcaddon.Addon(addon_id) + + # Check clone version before proceeding + if addon_id != ADDON_ID: + addon_path_str = addon.getAddonInfo('path') + if not _check_clone_version(addon_id, addon_path_str): + return + + version = addon.getAddonInfo('version') + kodi_build = xbmc.getInfoLabel('System.BuildVersion') + kodi_version = kodi_build.split()[0] if kodi_build else 'unknown' + log.info("EasyMovie launched", event="launch.start", + addon_id=addon_id, version=version, kodi=kodi_version) + + # 1. Load settings + (primary_function, _theme, filter_settings, browse_settings, + playlist_settings, set_settings, playback_settings, + advanced_settings) = load_settings(addon_id if addon_id != ADDON_ID else None) + + log.debug("Settings", event="launch.settings", + # Mode + mode=primary_function, + # Browse + view_style=browse_settings.view_style, + browse_count=browse_settings.result_count, + browse_sort=browse_settings.sort_by, + browse_sort_dir=browse_settings.sort_dir, + # Playlist + playlist_count=playlist_settings.movie_count, + playlist_sort=playlist_settings.sort_by, + prioritize_in_progress=playlist_settings.prioritize_in_progress, + # Filters + genre_mode=filter_settings.genre_mode, + watched_mode=filter_settings.watched_mode, + mpaa_mode=filter_settings.mpaa_mode, + runtime_mode=filter_settings.runtime_mode, + year_mode=filter_settings.year_mode, + score_mode=filter_settings.score_mode, + # Sets + set_enabled=set_settings.enabled, + continuation=set_settings.continuation_enabled, + continuation_duration=set_settings.continuation_duration, + # Playback + check_in_progress=playback_settings.check_in_progress, + show_info=playback_settings.show_info_when_playing, + # Advanced + pool_enabled=advanced_settings.movie_pool_enabled, + avoid_resurface=advanced_settings.avoid_resurface, + resurface_window=advanced_settings.resurface_window, + remember_filters=advanced_settings.remember_filters, + show_counts=advanced_settings.show_counts, + cumulative_counts=advanced_settings.cumulative_counts) + + # 1b. Get storage for history (needed for resume check and later) + storage = _get_storage(addon_id) + + # 2. Check for in-progress movie + if playback_settings.check_in_progress: + resumed = _check_in_progress(log, advanced_settings, addon_id, storage=storage) + if resumed: + return + + # 4. Determine mode + mode = primary_function + if mode == MODE_ASK: + mode = _ask_mode(log, addon_id) + if mode is None: + return # User cancelled + + log.info("Mode selected", event="launch.mode_selected", + mode="browse" if mode == MODE_BROWSE else "playlist") + + # 5. Show processing notification + if playback_settings.show_processing_notifications: + notify(lang(32350)) + + # 6. Query all movies (bulk, no art) + with log_timing(log, "movie_query"): + result = json_query(get_all_movies_query()) + all_movies = result.get("movies", []) + + if not all_movies: + show_confirm_dialog("No Movies", "Your library has no movies.", + yes_label="OK", no_label="", addon_id=addon_id) + return + + log.debug("Movies loaded", count=len(all_movies)) + + # 6a. Clean up stale started entries (housekeeping) + storage.validate_started(all_movies) + + # 6b–7. Apply pool filter and prepare resurface exclusions + pool_result = _prepare_movie_pool(log, all_movies, advanced_settings, + storage, addon_id) + if pool_result is None: + return + all_movies, exclude_ids = pool_result + + # 8–10. Run wizard, apply filters, save answers + filtered = _run_wizard_and_filter(log, all_movies, filter_settings, + advanced_settings, storage, + exclude_ids, addon_id) + if filtered is None: + return + + # 11. Show processing notification (wizard dismisses the earlier one) + if playback_settings.show_processing_notifications: + notify(lang(32350)) + + # 12. Execute mode + # Set window property so background service skips set-awareness check + import xbmcgui + window = xbmcgui.Window(10000) + window.setProperty(PROP_PLAYLIST_RUNNING, 'true') + try: + if mode == MODE_BROWSE: + _run_browse_mode(log, filtered, browse_settings, set_settings, + playback_settings, advanced_settings, storage, addon_id) + else: + _run_playlist_mode(log, filtered, playlist_settings, set_settings, + playback_settings, advanced_settings, storage, addon_id) + finally: + window.clearProperty(PROP_PLAYLIST_RUNNING) + + +def _check_in_progress( + log, advanced_settings: AdvancedSettings, addon_id: str, + storage: Optional['StorageManager'] = None, +) -> bool: + """Check for in-progress movies started by EasyMovie and offer to resume.""" + from resources.lib.playback.player import play_movie, get_resume_info + result = json_query(get_in_progress_movies_query()) + movies = result.get("movies", []) + if not movies: + return False + + # Only consider movies that EasyMovie started + started_ids = storage.get_started_ids() if storage else set() + if started_ids: + movies = [m for m in movies if m.get("movieid", 0) in started_ids] + if not movies: + log.debug("In-progress movies found but none started by EasyMovie", + event="launch.resume_skip_foreign") + return False + else: + # No tracking data yet — skip resume check entirely + # (first run, or storage was cleared) + log.debug("No EasyMovie-started movies tracked, skipping resume check", + event="launch.resume_skip_no_history") + return False + + movie = movies[0] + resume = get_resume_info(movie) + if not resume: + return False + + title = movie.get("title", "Unknown") + remaining = resume["remaining_minutes"] + + log.info("In-progress movie found", event="launch.resume_offered", + title=title, remaining_minutes=remaining) + + confirmed = show_confirm_dialog( + "Resume Movie?", + f"{title}\n{remaining} minutes remaining", + yes_label="Resume", + no_label="New Selection", + addon_id=addon_id, + ) + + if confirmed: + play_movie(movie, resume=True, storage=storage) + return True + return False + + +def _ask_mode(log, addon_id: str = ADDON_ID) -> Optional[int]: + """Ask the user to choose Browse or Playlist mode.""" + import xbmcaddon + addon_name = xbmcaddon.Addon(addon_id).getAddonInfo('name') + result = show_confirm_dialog( + heading=addon_name, + message=lang(32320), # "Choose Mode" + yes_label=lang(32321), # "Browse" + no_label=lang(32322), # "Playlist" + addon_id=addon_id, + ) + if result is None: + return None # User pressed back/escape + return MODE_BROWSE if result else MODE_PLAYLIST + + +def _build_wizard_settings(filter_settings: FilterSettings) -> Dict[str, Any]: + """Convert FilterSettings to the dict format WizardFlow expects.""" + return { + "ignore_genre_mode": filter_settings.ignore_genre_mode, + "ignore_genre_match_and": filter_settings.ignore_genre_match_and, + "preset_ignore_genres": filter_settings.preset_ignore_genres, + "genre_mode": filter_settings.genre_mode, + "genre_match_and": filter_settings.genre_match_and, + "preset_genres": filter_settings.preset_genres, + "watched_mode": filter_settings.watched_mode, + "watched_preset": filter_settings.watched_preset, + "mpaa_mode": filter_settings.mpaa_mode, + "preset_mpaa": filter_settings.preset_mpaa, + "runtime_mode": filter_settings.runtime_mode, + "runtime_min": filter_settings.runtime_min, + "runtime_max": filter_settings.runtime_max, + "year_mode": filter_settings.year_mode, + "year_filter_type": filter_settings.year_filter_type, + "year_from": filter_settings.year_from, + "year_to": filter_settings.year_to, + "year_recency": filter_settings.year_recency, + "score_mode": filter_settings.score_mode, + "min_score": filter_settings.min_score, + } + + +def _run_multi_select_step( + items: List[str], + pool: list, + value_fn: Callable[[Dict[str, Any]], List[str]], + dialog_title: str, + preselected: List[str], + addon_id: str, + show_counts: bool, + fmt_fn: Callable[[str, int], str], +) -> Optional[List[str]]: + """Run a multi-select filter step with optional counts. + + Args: + items: The unique values to display (e.g. genre names). + pool: Movie pool for counting. + value_fn: Extracts matching values from a movie dict + (e.g. ``lambda m: m.get("genre", [])``). + dialog_title: Heading for the select dialog. + preselected: Previously selected values (for back-navigation). + addon_id: Addon ID for theming. + show_counts: Whether to append counts to labels. + fmt_fn: Formats a label with its count. + + Returns: + List of selected values, or None if cancelled. + """ + if show_counts: + counts: Dict[str, int] = {} + for m in pool: + for v in value_fn(m): + counts[v] = counts.get(v, 0) + 1 + labels = [fmt_fn(item, counts.get(item, 0)) for item in items] + else: + labels = list(items) + pre_indices = [i for i, item in enumerate(items) if item in preselected] + result = show_select_dialog(dialog_title, labels, + multi_select=True, preselected=pre_indices, + addon_id=addon_id) + if result is None: + return None + return [items[i] for i in result] + + +def _run_range_select_step( + ranges: list, + pool: list, + match_fn: Callable[[Dict[str, Any], tuple], bool], + label_fn: Callable[[tuple], str], + dialog_title: str, + addon_id: str, + show_counts: bool, + fmt_fn: Callable[[str, int], str], +) -> Optional[List[int]]: + """Run a single-select range filter step with optional counts. + + Args: + ranges: List of range tuples from constants. + pool: Movie pool for counting. + match_fn: Tests whether a movie matches a given range tuple. + label_fn: Extracts the display label from a range tuple. + dialog_title: Heading for the select dialog. + addon_id: Addon ID for theming. + show_counts: Whether to append counts to labels. + fmt_fn: Formats a label with its count. + + Returns: + Dialog result (list of selected indices), or None if cancelled. + """ + items: List[str] = [] + for r in ranges: + label = label_fn(r) + if show_counts: + count = sum(1 for m in pool if match_fn(m, r)) + items.append(fmt_fn(label, count)) + else: + items.append(label) + return show_select_dialog(dialog_title, items, multi_select=False, + addon_id=addon_id) + + +def _run_wizard(log, wizard: WizardFlow, all_movies: list, + addon_id: str = ADDON_ID, + show_counts: bool = True, + cumulative_counts: bool = False, + exclude_ids: Optional[set] = None) -> Optional[Any]: + """Run the wizard flow, returning a FilterConfig or None if cancelled.""" + from resources.lib.data.filters import ( + extract_unique_genres, extract_unique_mpaa, + ) + from resources.lib.constants import RUNTIME_RANGES, SCORE_RANGES + + from resources.lib.data.filters import apply_filters as _apply_filters + + def _count_pool() -> list: + """Get the movie pool for counting — full or cumulative.""" + if not show_counts: + return [] + if not cumulative_counts: + if exclude_ids: + return [m for m in all_movies + if m.get("movieid", 0) not in exclude_ids] + return all_movies + # Build partial filter config from completed steps only + partial_config = wizard.build_partial_filter_config() + if exclude_ids: + partial_config.exclude_ids = list(exclude_ids) + return _apply_filters(all_movies, partial_config, reason="cumulative_count") + + def _fmt(label: str, count: int) -> str: + """Format a label with optional count.""" + if show_counts: + return f"{label} ({count})" + return label + + if wizard.is_complete: + return wizard.build_filter_config() + + while not wizard.is_complete: + step = wizard.current_step + if step is None: + break + + filter_type = step.filter_type + answer = None + + if filter_type == "ignore_genre": + genres = extract_unique_genres(all_movies) + answer = _run_multi_select_step( + genres, _count_pool(), + lambda m: m.get("genre", []), + lang(32204), + wizard.get_answers().get("ignore_genre", []), + addon_id, show_counts, _fmt, + ) + if answer is None: + if not wizard.go_back(): + return None + continue + + elif filter_type == "genre": + genres = extract_unique_genres(all_movies) + answer = _run_multi_select_step( + genres, _count_pool(), + lambda m: m.get("genre", []), + "Select Genres", + wizard.get_answers().get("genre", []), + addon_id, show_counts, _fmt, + ) + if answer is None: + if not wizard.go_back(): + return None + continue + + elif filter_type == "watched": + pool = _count_pool() + if show_counts: + unwatched = sum(1 for m in pool if m.get("playcount", 0) == 0) + watched = len(pool) - unwatched + items = [ + _fmt("Unwatched only", unwatched), + _fmt("Watched only", watched), + _fmt("Both", len(pool)), + ] + else: + items = ["Unwatched only", "Watched only", "Both"] + result = show_select_dialog("Watched Status", items, multi_select=False, + addon_id=addon_id) + if result is None: + if not wizard.go_back(): + return None + continue + answer = result[0] # 0=unwatched, 1=watched, 2=both + + elif filter_type == "mpaa": + ratings = extract_unique_mpaa(all_movies) + answer = _run_multi_select_step( + ratings, _count_pool(), + lambda m: [m.get("mpaa", "")] if m.get("mpaa", "") else [], + "Select Age Ratings", + wizard.get_answers().get("mpaa", []), + addon_id, show_counts, _fmt, + ) + if answer is None: + if not wizard.go_back(): + return None + continue + + elif filter_type == "runtime": + result = _run_range_select_step( + RUNTIME_RANGES, _count_pool(), + lambda m, r: ((r[0] == 0 or m.get("runtime", 0) >= r[0] * 60) + and (r[1] == 0 or m.get("runtime", 0) <= r[1] * 60)), + lambda r: r[2], + "Select Runtime", addon_id, show_counts, _fmt, + ) + if result is None: + if not wizard.go_back(): + return None + continue + idx = result[0] + rt_min, rt_max, _ = RUNTIME_RANGES[idx] + answer = {"min": rt_min, "max": rt_max} + + elif filter_type == "year": + # Combined recency + decade picker + from resources.lib.data.filters import extract_decade_buckets + from resources.lib.constants import RECENCY_RANGES + import datetime + + current_year = datetime.datetime.now().year + pool = _count_pool() + buckets = extract_decade_buckets(pool if show_counts else all_movies) + + # Build items: recency, then header + decades, then "Any year" + items = [] + header_indices = set() + + for years_ago, label_id in RECENCY_RANGES: + if show_counts: + cutoff_year = current_year - years_ago + rcount = sum(1 for m in pool if m.get("year", 0) >= cutoff_year) + items.append(_fmt(lang(label_id), rcount)) + else: + items.append(lang(label_id)) + + # "— By decade —" group header (only if there are decade buckets) + if buckets: + header_indices.add(len(items)) + items.append(lang(32206)) + + for _, count, label in buckets: + items.append(_fmt(label, count) if show_counts else label) + items.append(_fmt(lang(32220), len(pool)) if show_counts + else lang(32220)) + + result = show_select_dialog(lang(32202), items, multi_select=False, + addon_id=addon_id, + headers=header_indices) + if result is None: + if not wizard.go_back(): + return None + continue + if not result: + answer = {"from": 0, "to": 0} # No filter, same as "Any year" + wizard.set_answer(filter_type, answer) + log.debug("Wizard answer", event="wizard.answer", + filter_type=filter_type, answer=answer) + if not wizard.advance(): + break + continue + + # Map selected index back to data index (skip headers) + idx = result[0] + headers_before = sum(1 for h in header_indices if h < idx) + data_idx = idx - headers_before + + recency_count = len(RECENCY_RANGES) + if data_idx < recency_count: + # Recency selection + years_ago = RECENCY_RANGES[data_idx][0] + answer = {"from": current_year - years_ago, "to": 0} + elif data_idx < recency_count + len(buckets): + # Decade selection + bucket_idx = data_idx - recency_count + decade_start, _, _ = buckets[bucket_idx] + answer = {"from": decade_start, "to": decade_start + 9} + else: + answer = {"from": 0, "to": 0} + + elif filter_type == "score": + result = _run_range_select_step( + SCORE_RANGES, _count_pool(), + lambda m, r: m.get("rating", 0.0) * 10 >= r[0], + lambda r: r[1], + "Select Score", addon_id, show_counts, _fmt, + ) + if result is None: + if not wizard.go_back(): + return None + continue + if not result: + answer = 0 # No filter, same as "Any score" + wizard.set_answer(filter_type, answer) + log.debug("Wizard answer", event="wizard.answer", + filter_type=filter_type, answer=answer) + if not wizard.advance(): + break + continue + idx = result[0] + answer = SCORE_RANGES[idx][0] + + wizard.set_answer(filter_type, answer) + log.debug("Wizard answer", event="wizard.answer", + filter_type=filter_type, answer=answer) + if not wizard.advance(): + break # Wizard complete + + config = wizard.build_filter_config() + log.debug("Wizard complete", event="wizard.complete") + return config + + +def _get_storage(addon_id: str) -> StorageManager: + """Get the storage manager for the addon.""" + storage_dir = xbmcvfs.translatePath( + f"special://profile/addon_data/{addon_id}/" + ) + import os + os.makedirs(storage_dir, exist_ok=True) + return StorageManager(os.path.join(storage_dir, "easymovie_data.json")) + + +def _load_set_details( + movies: List[Dict[str, Any]] +) -> Dict[int, Dict[str, Any]]: + """Load movie set details for all set-member movies.""" + _log = get_logger('data') + set_ids = {m.get("setid", 0) for m in movies if m.get("setid", 0)} + set_cache: Dict[int, Dict[str, Any]] = {} + with log_timing(_log, "load_set_details", set_count=len(set_ids)): + for set_id in set_ids: + result = json_query(get_movie_set_details_query(set_id)) + if result: + # Unwrap: json_query returns {"setdetails": {...}} + set_cache[set_id] = result.get("setdetails", result) + # Remove sets with only 1 movie in library (not useful for set features) + set_cache = { + sid: details for sid, details in set_cache.items() + if len(details.get("movies", [])) >= 2 + } + return set_cache + + +def _load_art_for_movies( + movies: List[Dict[str, Any]] +) -> List[Dict[str, Any]]: + """Load art and plot for a list of movies via individual detail queries.""" + if not movies: + return movies + _log = get_logger('data') + enriched: List[Dict[str, Any]] = [] + with log_timing(_log, "load_art_for_movies", movie_count=len(movies)): + for movie in movies: + movie_id = movie.get("movieid", 0) + if not movie_id: + enriched.append(movie) + continue + result = json_query(get_movie_details_with_art_query(movie_id)) + details = result.get("moviedetails") + if details: + enriched.append(details) + else: + enriched.append(movie) + return enriched + + +def _run_browse_mode( + log, + filtered: List[Dict[str, Any]], + browse_settings: BrowseSettings, + set_settings: SetSettings, + playback_settings: PlaybackSettings, + advanced_settings: AdvancedSettings, + storage: StorageManager, + addon_id: str, +) -> None: + """Run the browse mode loop with Re-roll support.""" + from resources.lib.playback.player import play_movie + from resources.lib.playback.playlist_builder import build_and_play_playlist + while True: + # Exclude previously suggested from this session's pool + if advanced_settings.avoid_resurface: + suggested_ids = storage.get_suggested_ids() + available = [m for m in filtered if m.get("movieid", 0) not in suggested_ids] + if not available: + log.info("All filtered movies exhausted, resetting pool", + event="ui.pool_reset", total=len(filtered)) + available = filtered + else: + available = filtered + + # Select and sort + results = select_and_sort_results( + available, browse_settings.result_count, + browse_settings.sort_by, browse_settings.sort_dir, + ) + + # Apply movie set substitutions + if set_settings.enabled: + set_cache = _load_set_details(results) + results = apply_set_substitutions(results, set_cache) + + # Load art for display (re-fetches full details including set/setid) + results = _load_art_for_movies(results) + + # Strip set info from single-movie sets after art loading + if set_settings.enabled: + valid_set_ids = set(set_cache.keys()) + for movie in results: + if movie.get("setid", 0) and movie["setid"] not in valid_set_ids: + movie["set"] = "" + movie["setid"] = 0 + + # Record as suggested (only when resurface avoidance is on) + if advanced_settings.avoid_resurface: + for movie in results: + storage.add_suggested(movie.get("movieid", 0), movie.get("title", "")) + + # Show browse window + titles = [m.get("title", "") for m in results] + log.debug("Presenting movies", event="browse.present", + count=len(results), pool=len(available), titles=titles) + result = show_browse_window(results, browse_settings.view_style, addon_id) + + if result == RESULT_REROLL: + log.info("Re-rolling", event="ui.reroll") + if playback_settings.show_processing_notifications: + notify(lang(32350)) + continue + elif result == RESULT_SURPRISE: + if not results: + continue + movie = random.choice(results) + log.info("Surprise Me", event="ui.surprise", + title=movie.get("title", "")) + play_movie(movie, storage=storage) + break + elif isinstance(result, dict) and result.get("__play_set__"): + # Play Full Set from context menu + movie = result["movie"] + set_id = movie.get("setid", 0) + if set_id: + raw = json_query(get_movie_set_details_query(set_id)) + set_details = raw.get("setdetails", raw) if raw else {} + set_movies = set_details.get("movies", []) + if set_movies: + log.info("Playing full set", event="playlist.play_set", + set_name=movie.get("set", ""), + movie_count=len(set_movies)) + build_and_play_playlist(set_movies, storage=storage) + break + elif result is not None: + log.info("Playing movie", event="playback.start", + title=result.get("title", ""), + movieid=result.get("movieid", 0)) + play_movie(result, storage=storage) + break + else: + break # User closed + + +def _run_playlist_mode( + log, + filtered: List[Dict[str, Any]], + playlist_settings: PlaylistSettings, + set_settings: SetSettings, + playback_settings: PlaybackSettings, + advanced_settings: AdvancedSettings, + storage: StorageManager, + addon_id: str, +) -> None: + """Run playlist mode.""" + from resources.lib.playback.playlist_builder import build_and_play_playlist + from resources.lib.playback.playback_monitor import PlaybackMonitor + # Select and sort + results = select_and_sort_results( + filtered, playlist_settings.movie_count, + playlist_settings.sort_by, playlist_settings.sort_dir, + ) + + # Apply movie set substitutions + if set_settings.enabled: + set_cache = _load_set_details(results) + results = apply_set_substitutions(results, set_cache) + # Strip set info from movies whose sets were filtered out + valid_set_ids = set(set_cache.keys()) + for movie in results: + if movie.get("setid", 0) and movie["setid"] not in valid_set_ids: + movie["set"] = "" + movie["setid"] = 0 + + # Record as suggested (only when resurface avoidance is on) + if advanced_settings.avoid_resurface: + for movie in results: + storage.add_suggested(movie.get("movieid", 0), movie.get("title", "")) + + # Build and play playlist + success = build_and_play_playlist( + results, + show_notifications=playback_settings.show_processing_notifications, + prioritize_in_progress=playlist_settings.prioritize_in_progress, + resume_from_position=playlist_settings.resume_from_position, + storage=storage, + ) + + if not success: + return + + # Start playback monitor for set continuation + if set_settings.enabled and set_settings.continuation_enabled: + set_cache = _load_set_details(results) + movies_by_id = {m.get("movieid", 0): m for m in results} + # Monitor runs as part of xbmc.Player — Kodi calls its callbacks. + # Must keep reference to prevent GC during playback session. + monitor = PlaybackMonitor( + set_cache=set_cache, + movies=movies_by_id, + continuation_duration=set_settings.continuation_duration, + continuation_default=set_settings.continuation_default, + addon_id=addon_id, + ) + _active_monitors.append(monitor) + + +def _reopen_settings(addon_id: str) -> None: + """Force-close dialogs and reopen settings to show updated values. + + Kodi's settings dialog caches values in memory. After a selector + changes settings via setSetting(), we must close and reopen to + pick up the new values. + """ + import xbmc + xbmc.executebuiltin('Dialog.Close(all,true)') + xbmc.executebuiltin( + f'AlarmClock(EasyMovieSettings,Addon.OpenSettings({addon_id}),00:01,silent)' + ) + + +def _handle_entry_args(addon_id: str) -> bool: + """Handle command-line arguments for special entry points. + + Returns True if the args were handled (caller should exit). + """ + if len(sys.argv) < 2: + return False + + action = sys.argv[1] + + if action == 'selector': + from resources.selector import main as selector_main + selector_main() + _reopen_settings(addon_id) + return True + elif action == 'clone': + from resources.clone import create_clone + create_clone() + return True + elif action == 'dialog_preview': + from resources import dialog_preview + override = sys.argv[2] if len(sys.argv) > 2 else None + dialog_preview.Main(override) + return True + elif action == 'set_icon': + from resources.lib.utils import get_addon + import xbmcvfs as _xbmcvfs + import xbmcgui + log = get_logger('default') + addon = get_addon(addon_id) + addon_path = addon.getAddonInfo('path') + icons_dir = os.path.join(addon_path, 'resources', 'icons') + icon_names = ["Golden Hour", "Ultraviolet", "Ember", "Nightfall", "Browse..."] + icon_files = [ + "icon-golden-hour.png", "icon-ultraviolet.png", + "icon-ember.png", "icon-nightfall.png", + ] + from resources.lib.constants import CUSTOM_ICON_BACKUP + addon_data = _xbmcvfs.translatePath( + f'special://profile/addon_data/{addon_id}/' + ) + backup_path = os.path.join(addon_data, CUSTOM_ICON_BACKUP) + result = show_select_dialog( + heading="Choose Icon", + items=icon_names, + multi_select=False, + addon_id=addon_id, + ) + if result is not None: + idx = result[0] + dst = os.path.join(addon_path, 'icon.png') + if idx < len(icon_files): + src = os.path.join(icons_dir, icon_files[idx]) + ok = _xbmcvfs.copy(src, dst) + if ok: + addon.setSetting('icon_choice', + f'built-in:{icon_files[idx]}') + _xbmcvfs.copy(src, backup_path) + log.info("Icon set" if ok else "Icon set failed", + event="icon.set", source=src, target=dst, success=ok) + else: + dialog = xbmcgui.Dialog() + image = dialog.browse(2, "Select Icon", 'files', '.png|.jpg|.jpeg') + if image: + ok = _xbmcvfs.copy(cast(str, image), dst) + if ok: + addon.setSetting('icon_choice', 'custom') + _xbmcvfs.copy(cast(str, image), backup_path) + log.info("Custom icon set" if ok else "Custom icon set failed", + event="icon.set", source=cast(str, image), + target=dst, success=ok) + invalidate_icon_cache(addon_id) + _reopen_settings(addon_id) + return True + elif action == 'reset_icon': + from resources.lib.utils import get_addon + from resources.lib.constants import CUSTOM_ICON_BACKUP + import xbmcvfs as _xbmcvfs + addon = get_addon(addon_id) + addon_path = addon.getAddonInfo('path') + default_icon = os.path.join(addon_path, 'icon_default.png') + icon_path = os.path.join(addon_path, 'icon.png') + if _xbmcvfs.exists(default_icon): + _xbmcvfs.copy(default_icon, icon_path) + addon.setSetting('icon_choice', '') + addon_data = _xbmcvfs.translatePath( + f'special://profile/addon_data/{addon_id}/' + ) + backup_path = os.path.join(addon_data, CUSTOM_ICON_BACKUP) + if _xbmcvfs.exists(backup_path): + _xbmcvfs.delete(backup_path) + invalidate_icon_cache(addon_id) + _reopen_settings(addon_id) + return True + + return False diff --git a/script.easymovie/resources/lib/ui/settings.py b/script.easymovie/resources/lib/ui/settings.py new file mode 100644 index 0000000000..c4e96b22b7 --- /dev/null +++ b/script.easymovie/resources/lib/ui/settings.py @@ -0,0 +1,212 @@ +""" +Settings loader for EasyMovie. + +Reads all addon settings and produces typed configuration +objects used by the rest of the addon. + +Logging: + Logger: 'ui' + Key events: None (settings are logged by ui/main.py at launch.settings) + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +import json +from dataclasses import dataclass +from typing import List, Optional, Tuple + +from resources.lib.utils import get_bool_setting, get_int_setting, get_string_setting, get_logger +from resources.lib.constants import ( + FILTER_ASK, FILTER_SKIP, + WATCHED_UNWATCHED, + YEAR_FILTER_AFTER, + VIEW_SHOWCASE, + SORT_RANDOM, SORT_DESC, + CONTINUATION_DEFAULT_CONTINUE_SET, + MODE_ASK, + THEME_GOLDEN_HOUR, +) + +log = get_logger('ui') + + +@dataclass +class FilterSettings: + """Pre-configured filter values from settings.""" + ignore_genre_mode: int = FILTER_SKIP + ignore_genre_match_and: bool = False + preset_ignore_genres: Optional[List[str]] = None + genre_mode: int = FILTER_ASK + genre_match_and: bool = False + preset_genres: Optional[List[str]] = None + watched_mode: int = FILTER_ASK + watched_preset: int = WATCHED_UNWATCHED + mpaa_mode: int = FILTER_SKIP + preset_mpaa: Optional[List[str]] = None + runtime_mode: int = FILTER_SKIP + runtime_min: int = 0 + runtime_max: int = 0 + year_mode: int = FILTER_SKIP + year_filter_type: int = YEAR_FILTER_AFTER + year_from: int = 0 + year_to: int = 0 + year_recency: int = 5 + score_mode: int = FILTER_SKIP + min_score: int = 0 + + +@dataclass +class BrowseSettings: + """Browse mode configuration.""" + view_style: int = VIEW_SHOWCASE + return_to_list: bool = True + result_count: int = 10 + sort_by: int = SORT_RANDOM + sort_dir: int = SORT_DESC + + +@dataclass +class PlaylistSettings: + """Playlist mode configuration.""" + movie_count: int = 5 + sort_by: int = SORT_RANDOM + sort_dir: int = SORT_DESC + prioritize_in_progress: bool = True + resume_from_position: bool = True + + +@dataclass +class SetSettings: + """Movie set configuration.""" + enabled: bool = True + show_set_info: bool = True + continuation_enabled: bool = True + continuation_duration: int = 20 + continuation_default: int = CONTINUATION_DEFAULT_CONTINUE_SET + + +@dataclass +class PlaybackSettings: + """Playback configuration.""" + check_in_progress: bool = True + show_info_when_playing: bool = True + show_processing_notifications: bool = True + + +@dataclass +class AdvancedSettings: + """Advanced configuration.""" + movie_pool_enabled: bool = False + movie_pool_path: str = "" + avoid_resurface: bool = True + resurface_window: int = 3 # Index into RESURFACE_WINDOWS (24h) + remember_filters: bool = True + show_counts: bool = True + cumulative_counts: bool = False + debug_logging: bool = False + + +def _parse_json_list(value: str) -> Optional[List[str]]: + """Parse a JSON string into a list, returning None on failure.""" + if not value: + return None + try: + result = json.loads(value) + if isinstance(result, list): + return result + except (json.JSONDecodeError, TypeError): + pass + return None + + +def load_settings( + addon_id: Optional[str] = None, +) -> Tuple[int, int, FilterSettings, BrowseSettings, PlaylistSettings, + SetSettings, PlaybackSettings, AdvancedSettings]: + """Load all settings. + + Args: + addon_id: Optional addon ID for clone support. + + Returns: + Tuple of (primary_function, theme, FilterSettings, + BrowseSettings, PlaylistSettings, SetSettings, + PlaybackSettings, AdvancedSettings) + """ + # Main + primary_function = get_int_setting('primary_function', addon_id, default=MODE_ASK) + theme = get_int_setting('theme', addon_id, default=THEME_GOLDEN_HOUR) + + # Filters + filter_settings = FilterSettings( + ignore_genre_mode=get_int_setting('ignore_genre_mode', addon_id, default=FILTER_SKIP), + ignore_genre_match_and=get_int_setting('ignore_genre_match', addon_id, default=0) == 1, + preset_ignore_genres=_parse_json_list(get_string_setting('selected_ignore_genres', addon_id)), + genre_mode=get_int_setting('genre_mode', addon_id, default=FILTER_ASK), + genre_match_and=get_int_setting('genre_match', addon_id, default=0) == 1, + preset_genres=_parse_json_list(get_string_setting('selected_genres', addon_id)), + watched_mode=get_int_setting('watched_mode', addon_id, default=FILTER_ASK), + watched_preset=get_int_setting('watched_preset', addon_id, default=WATCHED_UNWATCHED), + mpaa_mode=get_int_setting('mpaa_mode', addon_id, default=FILTER_SKIP), + preset_mpaa=_parse_json_list(get_string_setting('selected_mpaa', addon_id)), + runtime_mode=get_int_setting('runtime_mode', addon_id, default=FILTER_SKIP), + runtime_min=get_int_setting('runtime_min', addon_id, default=0), + runtime_max=get_int_setting('runtime_max', addon_id, default=0), + year_mode=get_int_setting('year_mode', addon_id, default=FILTER_SKIP), + year_filter_type=get_int_setting('year_filter_type', addon_id, default=YEAR_FILTER_AFTER), + year_from=get_int_setting('year_from', addon_id, default=0), + year_to=get_int_setting('year_to', addon_id, default=0), + year_recency=get_int_setting('year_recency', addon_id, default=5), + score_mode=get_int_setting('score_mode', addon_id, default=FILTER_SKIP), + min_score=get_int_setting('min_score', addon_id, default=0), + ) + + # Browse + browse_settings = BrowseSettings( + view_style=get_int_setting('view_style', addon_id, default=VIEW_SHOWCASE), + return_to_list=get_bool_setting('return_to_list', addon_id), + result_count=get_int_setting('browse_count', addon_id, default=10), + sort_by=get_int_setting('browse_sort', addon_id, default=SORT_RANDOM), + sort_dir=get_int_setting('browse_sort_dir', addon_id, default=SORT_DESC), + ) + + # Playlist + playlist_settings = PlaylistSettings( + movie_count=get_int_setting('playlist_count', addon_id, default=5), + sort_by=get_int_setting('playlist_sort', addon_id, default=SORT_RANDOM), + sort_dir=get_int_setting('playlist_sort_dir', addon_id, default=SORT_DESC), + prioritize_in_progress=get_bool_setting('prioritize_in_progress', addon_id), + resume_from_position=get_bool_setting('resume_from_position', addon_id), + ) + + # Movie Sets + set_settings = SetSettings( + enabled=get_bool_setting('set_enabled', addon_id), + show_set_info=get_bool_setting('set_show_info', addon_id), + continuation_enabled=get_bool_setting('continuation_enabled', addon_id), + continuation_duration=get_int_setting('continuation_duration', addon_id, default=20), + continuation_default=get_int_setting('continuation_default', addon_id, + default=CONTINUATION_DEFAULT_CONTINUE_SET), + ) + + # Playback + playback_settings = PlaybackSettings( + check_in_progress=get_bool_setting('check_in_progress', addon_id), + show_info_when_playing=get_bool_setting('show_info_playing', addon_id), + show_processing_notifications=get_bool_setting('show_notifications', addon_id), + ) + + # Advanced + advanced_settings = AdvancedSettings( + movie_pool_enabled=get_bool_setting('pool_enabled', addon_id), + movie_pool_path=get_string_setting('movie_pool_playlist_path', addon_id), + avoid_resurface=get_bool_setting('avoid_resurface', addon_id), + resurface_window=get_int_setting('resurface_window', addon_id, default=3), + remember_filters=get_bool_setting('remember_filters', addon_id), + show_counts=get_bool_setting('show_counts', addon_id), + cumulative_counts=get_bool_setting('cumulative_counts', addon_id), + debug_logging=get_bool_setting('logging', addon_id), + ) + + return (primary_function, theme, filter_settings, browse_settings, + playlist_settings, set_settings, playback_settings, advanced_settings) diff --git a/script.easymovie/resources/lib/ui/wizard.py b/script.easymovie/resources/lib/ui/wizard.py new file mode 100644 index 0000000000..454d903918 --- /dev/null +++ b/script.easymovie/resources/lib/ui/wizard.py @@ -0,0 +1,258 @@ +""" +Filter wizard flow controller. + +Manages the sequence of filter dialogs, back navigation, +answer persistence, and building the final FilterConfig. + +Logging: + Logger: 'wizard' + Key events: + - filter.ask (DEBUG): Filter step presented to user + - filter.preset (DEBUG): Filter using preset value + - filter.skip (DEBUG): Filter step skipped + See LOGGING.md for full guidelines. +""" +from dataclasses import dataclass +from typing import Any, Dict, List, Optional + +from resources.lib.constants import ( + FILTER_ASK, FILTER_PRESET, FILTER_SKIP, + WATCHED_BOTH, + YEAR_FILTER_RECENCY, +) +from resources.lib.data.filters import FilterConfig +from resources.lib.utils import get_logger + +log = get_logger('wizard') + + +# The ordered list of filter types in the wizard +FILTER_ORDER = ["ignore_genre", "genre", "watched", "mpaa", "runtime", "year", "score"] + +# Mapping from filter type to settings mode key +_MODE_KEYS = { + "ignore_genre": "ignore_genre_mode", + "genre": "genre_mode", + "watched": "watched_mode", + "mpaa": "mpaa_mode", + "runtime": "runtime_mode", + "year": "year_mode", + "score": "score_mode", +} + + +@dataclass +class WizardStep: + """A single step in the wizard flow.""" + filter_type: str + index: int + + +def _get_preset_value(settings: Dict[str, Any], filter_type: str) -> Any: + """Get the preset value for a filter type, for logging.""" + key_map = { + "ignore_genre": "preset_ignore_genres", + "genre": "preset_genres", + "watched": "watched_preset", + "mpaa": "preset_mpaa", + "runtime": ("runtime_min", "runtime_max"), + "year": ("year_from", "year_to"), + "score": "min_score", + } + key = key_map.get(filter_type) + if isinstance(key, tuple): + return {k: settings.get(k) for k in key} + if key: + return settings.get(key) + return None + + +class WizardFlow: + """Manages the wizard flow for filter selection. + + Reads filter mode settings to determine which steps to show, + maintains answer stack for back navigation, and builds a + FilterConfig from combined preset + user answers. + """ + + def __init__(self, settings: Dict[str, Any]) -> None: + """Initialize wizard from settings. + + Args: + settings: Dict containing filter mode settings + (genre_mode, watched_mode, etc.) and preset values. + """ + self._settings = settings + self._answers: Dict[str, Any] = {} + self._current_index = 0 + + # Build step list: only filters set to ASK + self.steps: List[WizardStep] = [] + for i, filter_type in enumerate(FILTER_ORDER): + mode_key = _MODE_KEYS[filter_type] + mode = settings.get(mode_key, FILTER_SKIP) + if mode == FILTER_ASK: + log.debug("Filter step will be presented", + event="filter.ask", filter_type=filter_type) + self.steps.append(WizardStep( + filter_type=filter_type, + index=len(self.steps), + )) + elif mode == FILTER_PRESET: + preset_value = _get_preset_value(settings, filter_type) + log.debug("Filter using preset value", + event="filter.preset", filter_type=filter_type, + value=preset_value) + else: + log.debug("Filter step skipped", + event="filter.skip", filter_type=filter_type) + + @property + def current_step_index(self) -> int: + """Current position in the wizard.""" + return self._current_index + + @property + def current_step(self) -> Optional[WizardStep]: + """Get the current step, or None if complete.""" + if self._current_index < len(self.steps): + return self.steps[self._current_index] + return None + + @property + def is_complete(self) -> bool: + """Whether the wizard has no more steps.""" + return self._current_index >= len(self.steps) + + def advance(self) -> bool: + """Move to the next step. + + Returns: + True if there is a next step, False if wizard is now complete. + """ + self._current_index += 1 + return self._current_index < len(self.steps) + + def go_back(self) -> bool: + """Move to the previous step. + + Returns: + True if moved back, False if already at start (signals cancel). + """ + if self._current_index <= 0: + return False + self._current_index -= 1 + return True + + def set_answer(self, filter_type: str, value: Any) -> None: + """Record the user's answer for a filter step.""" + self._answers[filter_type] = value + + def get_answers(self) -> Dict[str, Any]: + """Get all recorded answers.""" + return dict(self._answers) + + def load_last_answers(self, answers: Dict[str, Any]) -> None: + """Pre-populate answers from a previous session.""" + self._answers.update(answers) + + def build_partial_filter_config(self) -> FilterConfig: + """Build a FilterConfig using only answers for steps before the current one. + + Used for cumulative counting: when showing step N, counts should + reflect filters from steps 0..N-1 only, not pre-loaded future answers. + """ + # Determine which filter types have been answered in this session + completed_types = set() + for i, step in enumerate(self.steps): + if i >= self._current_index: + break + completed_types.add(step.filter_type) + + # Temporarily mask answers for uncompleted steps + saved_answers = dict(self._answers) + for key in list(self._answers.keys()): + if key not in completed_types: + del self._answers[key] + + config = self.build_filter_config() + + # Restore all answers + self._answers = saved_answers + return config + + def build_filter_config(self) -> FilterConfig: + """Build a FilterConfig from combined preset values and wizard answers. + + For each filter type: + - ASK: use the wizard answer + - PRESET: use the preset value from settings + - SKIP: use default (no filter) + """ + config = FilterConfig() + + # Ignore genres + ignore_genre_mode = self._settings.get("ignore_genre_mode", FILTER_SKIP) + if ignore_genre_mode == FILTER_ASK: + config.ignore_genres = self._answers.get("ignore_genre") + elif ignore_genre_mode == FILTER_PRESET: + config.ignore_genres = self._settings.get("preset_ignore_genres") + config.ignore_genre_match_and = self._settings.get( + "ignore_genre_match_and", False) + + # Genre + genre_mode = self._settings.get("genre_mode", FILTER_SKIP) + if genre_mode == FILTER_ASK: + config.genres = self._answers.get("genre") + elif genre_mode == FILTER_PRESET: + config.genres = self._settings.get("preset_genres") + config.genre_match_and = self._settings.get("genre_match_and", False) + + # Watched + watched_mode = self._settings.get("watched_mode", FILTER_SKIP) + if watched_mode == FILTER_ASK: + config.watched = self._answers.get("watched", WATCHED_BOTH) + elif watched_mode == FILTER_PRESET: + config.watched = self._settings.get("watched_preset", WATCHED_BOTH) + + # MPAA + mpaa_mode = self._settings.get("mpaa_mode", FILTER_SKIP) + if mpaa_mode == FILTER_ASK: + config.mpaa_ratings = self._answers.get("mpaa") + elif mpaa_mode == FILTER_PRESET: + config.mpaa_ratings = self._settings.get("preset_mpaa") + + # Runtime + runtime_mode = self._settings.get("runtime_mode", FILTER_SKIP) + if runtime_mode == FILTER_ASK: + rt = self._answers.get("runtime", {}) + config.runtime_min = rt.get("min", 0) + config.runtime_max = rt.get("max", 0) + elif runtime_mode == FILTER_PRESET: + config.runtime_min = self._settings.get("runtime_min", 0) + config.runtime_max = self._settings.get("runtime_max", 0) + + # Year + year_mode = self._settings.get("year_mode", FILTER_SKIP) + if year_mode == FILTER_ASK: + yr = self._answers.get("year", {}) + config.year_from = yr.get("from", 0) + config.year_to = yr.get("to", 0) + elif year_mode == FILTER_PRESET: + year_filter_type = self._settings.get("year_filter_type", 0) + if year_filter_type == YEAR_FILTER_RECENCY: + import datetime + recency = self._settings.get("year_recency", 5) + config.year_from = datetime.datetime.now().year - recency + else: + config.year_from = self._settings.get("year_from", 0) + config.year_to = self._settings.get("year_to", 0) + + # Score + score_mode = self._settings.get("score_mode", FILTER_SKIP) + if score_mode == FILTER_ASK: + config.min_score = self._answers.get("score", 0) + elif score_mode == FILTER_PRESET: + config.min_score = self._settings.get("min_score", 0) + + return config diff --git a/script.easymovie/resources/lib/utils.py b/script.easymovie/resources/lib/utils.py new file mode 100644 index 0000000000..8fbae78cad --- /dev/null +++ b/script.easymovie/resources/lib/utils.py @@ -0,0 +1,428 @@ +""" +Shared utilities for EasyMovie. + +Provides structured logging, Kodi JSON-RPC helpers, settings accessors, +and notification utilities. + +Logging: + Logger: varies (factory function) + Key events: + - Varies by consumer module + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +import json +import os +import threading +import time +import traceback +from contextlib import contextmanager +from datetime import datetime as dt +from typing import Any, Dict, Generator, List, Optional, TextIO, Union + +import xbmc +import xbmcaddon +import xbmcgui +import xbmcvfs + +from resources.lib.constants import ( + ADDON_ID, + LOG_DIR, + LOG_FILENAME, + LOG_MAX_BYTES, + LOG_BACKUP_COUNT, + LOG_MAX_VALUE_LENGTH, + LOG_TIMESTAMP_FORMAT, + LOG_TIMESTAMP_TRIM, + NOTIFICATION_DURATION_MS, +) + + +# Singleton addon instance +_addon: Optional[xbmcaddon.Addon] = None + + +def get_addon(addon_id: Optional[str] = None) -> xbmcaddon.Addon: + """Get the addon instance (cached for default addon). + + Args: + addon_id: Optional addon ID. If None, returns the current addon. + If provided, creates a new instance (not cached). + + Returns: + The addon instance. + """ + global _addon + if addon_id is not None: + return xbmcaddon.Addon(addon_id) + if _addon is None: + try: + _addon = xbmcaddon.Addon() + except RuntimeError: + _addon = xbmcaddon.Addon(ADDON_ID) + return _addon + + +def get_setting(setting_id: str, addon_id: Optional[str] = None) -> str: + """Get a setting value as a string.""" + return get_addon(addon_id).getSetting(setting_id) + + +def get_bool_setting(setting_id: str, addon_id: Optional[str] = None) -> bool: + """Get a boolean setting value.""" + return get_setting(setting_id, addon_id) == 'true' + + +def get_int_setting(setting_id: str, addon_id: Optional[str] = None, default: int = 0) -> int: + """Get an integer setting value.""" + try: + return int(float(get_setting(setting_id, addon_id))) + except (ValueError, TypeError): + return default + + +def get_string_setting(setting_id: str, addon_id: Optional[str] = None) -> str: + """Get a string setting value.""" + return get_setting(setting_id, addon_id) + + +def lang(string_id: int, addon_id: Optional[str] = None) -> str: + """Get localized string.""" + return get_addon(addon_id).getLocalizedString(string_id) + + +def notify(message: str, duration: int = NOTIFICATION_DURATION_MS) -> None: + """Show a Kodi notification toast. + + Args: + message: The notification message. + duration: Duration in milliseconds. + """ + xbmcgui.Dialog().notification( + "EasyMovie", message, xbmcgui.NOTIFICATION_INFO, duration + ) + + +class StructuredLogger: + """Structured logging for EasyMovie addon. + + Output Routing: + - ERROR/WARNING/INFO: Kodi log (always) + easymovie.log (if debug enabled) + - DEBUG: easymovie.log only (never pollutes Kodi log) + + See LOGGING.md for full guidelines. + """ + + # Class-level shared state for file handling + _log_file: Optional[TextIO] = None + _log_file_path: Optional[str] = None + _log_file_size: int = 0 + _addon_id: str = ADDON_ID + _debug_enabled: bool = False + _initialized: bool = False + _lock: threading.Lock = threading.Lock() + + def __init__(self, module_name: str) -> None: + """Initialize a logger for a specific module.""" + self.module = module_name + + @classmethod + def initialize(cls, debug_enabled: bool, addon_id: str = ADDON_ID) -> None: + """Initialize the logging system. Idempotent.""" + with cls._lock: + cls._addon_id = addon_id + cls._debug_enabled = debug_enabled + + if cls._initialized: + return + + cls._initialized = True + + if debug_enabled: + cls._init_log_file() + + @classmethod + def _init_log_file(cls) -> None: + """Initialize log file with rotation. Must be called with lock held.""" + try: + log_dir = xbmcvfs.translatePath( + f"special://profile/addon_data/{cls._addon_id}/{LOG_DIR}/" + ) + + if not xbmcvfs.exists(log_dir): + xbmcvfs.mkdirs(log_dir) + + log_path = os.path.join(log_dir, LOG_FILENAME) + + existing_size = 0 + if xbmcvfs.exists(log_path): + try: + stat_result = xbmcvfs.Stat(log_path) + existing_size = stat_result.st_size() + except (OSError, AttributeError): + existing_size = 0 + + if existing_size > LOG_MAX_BYTES: + cls._rotate_logs(log_dir) + existing_size = 0 + + cls._log_file_path = log_path + try: + cls._log_file = open(log_path, "a", encoding="utf-8") + cls._log_file_size = existing_size + except (OSError, IOError): + cls._log_file = None + raise + except (OSError, IOError) as e: + xbmc.log( + f"[EasyMovie.logging] Failed to initialize log file: {e}", + xbmc.LOGWARNING + ) + cls._log_file = None + + @classmethod + def _rotate_logs(cls, log_dir: str) -> None: + """Rotate log files. Must be called with lock held.""" + try: + oldest = os.path.join(log_dir, f"easymovie.{LOG_BACKUP_COUNT}.log") + if xbmcvfs.exists(oldest): + xbmcvfs.delete(oldest) + + for i in range(LOG_BACKUP_COUNT - 1, 0, -1): + src = os.path.join(log_dir, f"easymovie.{i}.log") + dst = os.path.join(log_dir, f"easymovie.{i + 1}.log") + if xbmcvfs.exists(src): + xbmcvfs.rename(src, dst) + + current = os.path.join(log_dir, LOG_FILENAME) + if xbmcvfs.exists(current): + xbmcvfs.rename(current, os.path.join(log_dir, "easymovie.1.log")) + except (OSError, IOError): + pass + + @classmethod + def shutdown(cls) -> None: + """Close log file cleanly.""" + with cls._lock: + if cls._log_file: + try: + cls._log_file.close() + except (OSError, IOError): + pass + cls._log_file = None + cls._initialized = False + + def _format_message(self, message: str, **kwargs: Any) -> str: + """Format log message with optional key=value pairs.""" + base = f"[EasyMovie.{self.module}] {message}" + if kwargs: + pairs = [] + for k, v in kwargs.items(): + str_v = str(v) + if k != 'trace' and len(str_v) > LOG_MAX_VALUE_LENGTH: + str_v = str_v[:LOG_MAX_VALUE_LENGTH] + "..." + pairs.append(f"{k}={str_v}") + return f"{base} | {', '.join(pairs)}" + return base + + def _format_file_line(self, level: str, formatted_message: str) -> str: + """Format a log line for file output with timestamp.""" + timestamp = dt.now().strftime(LOG_TIMESTAMP_FORMAT)[:LOG_TIMESTAMP_TRIM] + return f"{timestamp} [{level:5}] {formatted_message}\n" + + def _write_to_file(self, level: str, formatted_message: str) -> None: + """Write to log file if enabled, with thread safety.""" + if not StructuredLogger._debug_enabled or StructuredLogger._log_file is None: + return + + line = self._format_file_line(level, formatted_message) + + with StructuredLogger._lock: + try: + if StructuredLogger._log_file is None: + return + + StructuredLogger._log_file.write(line) + StructuredLogger._log_file.flush() + StructuredLogger._log_file_size += len(line.encode("utf-8")) + + if StructuredLogger._log_file_size > LOG_MAX_BYTES: + StructuredLogger._log_file.close() + log_dir = os.path.dirname(StructuredLogger._log_file_path or "") + if log_dir: + StructuredLogger._rotate_logs(log_dir) + StructuredLogger._init_log_file() + except (IOError, OSError): + pass + + def _ensure_event(self, level: str, kwargs: Dict[str, Any]) -> Dict[str, Any]: + """Ensure event= is present for INFO/WARNING/ERROR logs.""" + if "event" not in kwargs: + kwargs["event"] = f"misc.{level}" + kwargs["_missing_event"] = True + return kwargs + + def debug(self, message: str, **kwargs: Any) -> None: + """Log debug-level message (file only when enabled).""" + if StructuredLogger._debug_enabled: + formatted = self._format_message(message, **kwargs) + self._write_to_file("DEBUG", formatted) + + def info(self, message: str, **kwargs: Any) -> None: + """Log info-level message (Kodi log + file).""" + kwargs = self._ensure_event("info", kwargs) + formatted = self._format_message(message, **kwargs) + xbmc.log(formatted, xbmc.LOGINFO) + self._write_to_file("INFO", formatted) + + def warning(self, message: str, **kwargs: Any) -> None: + """Log warning-level message (Kodi log + file).""" + kwargs = self._ensure_event("warning", kwargs) + formatted = self._format_message(message, **kwargs) + xbmc.log(formatted, xbmc.LOGWARNING) + self._write_to_file("WARN", formatted) + + def error(self, message: str, **kwargs: Any) -> None: + """Log error-level message (Kodi log + file).""" + kwargs = self._ensure_event("error", kwargs) + formatted = self._format_message(message, **kwargs) + xbmc.log(formatted, xbmc.LOGERROR) + self._write_to_file("ERROR", formatted) + + def exception(self, message: str, **kwargs: Any) -> None: + """Log error with automatic stack trace capture.""" + kwargs["trace"] = traceback.format_exc() + self.error(message, **kwargs) + + +def get_logger(module_name: str) -> StructuredLogger: + """Get a logger for the specified module. Auto-initializes on first call.""" + if not StructuredLogger._initialized: + try: + debug_enabled = get_bool_setting('logging') + except RuntimeError: + debug_enabled = False + + try: + addon_id = get_addon().getAddonInfo('id') + except RuntimeError: + addon_id = ADDON_ID + + StructuredLogger.initialize(debug_enabled=debug_enabled, addon_id=addon_id) + + return StructuredLogger(module_name) + + +class TimedOperation: + """Timer object for marking phases within a timed operation.""" + + def __init__(self, start_time: float) -> None: + self._start = start_time + self._phases: Dict[str, float] = {} + self._last_mark = start_time + + def mark(self, phase_name: str) -> None: + """Record elapsed time for a phase.""" + now = time.perf_counter() + self._phases[phase_name] = now - self._last_mark + self._last_mark = now + + def _get_phase_kwargs(self) -> Dict[str, int]: + """Get phase timings as keyword arguments.""" + return { + f"{name}_ms": int(duration * 1000) + for name, duration in self._phases.items() + } + + +@contextmanager +def log_timing( + logger: StructuredLogger, + operation: str, + **context: Any +) -> Generator[TimedOperation, None, None]: + """Context manager for timing operations. + + Args: + logger: The logger instance to use. + operation: Name of the operation being timed. + **context: Additional context to include in the log. + + Yields: + TimedOperation: Timer object with .mark(phase_name) method. + """ + start = time.perf_counter() + timer = TimedOperation(start) + try: + yield timer + finally: + elapsed_ms = int((time.perf_counter() - start) * 1000) + phase_kwargs = timer._get_phase_kwargs() + logger.debug( + f"{operation} completed", + duration_ms=elapsed_ms, + **phase_kwargs, + **context + ) + + +def invalidate_icon_cache(addon_id: str) -> None: + """Remove the addon icon from Kodi's texture cache. + + Kodi caches textures by file path. After replacing icon.png, + the old cached version persists until removed via JSON-RPC. + """ + _log = get_logger('default') + result = json_query({ + "jsonrpc": "2.0", + "method": "Textures.GetTextures", + "params": { + "filter": { + "field": "url", + "operator": "contains", + "value": addon_id, + } + }, + "id": 1, + }) + for texture in result.get("textures", []): + tid = texture.get("textureid") + if tid: + json_query({ + "jsonrpc": "2.0", + "method": "Textures.RemoveTexture", + "params": {"textureid": tid}, + "id": 1, + }, return_result=False) + _log.debug("Icon texture cache invalidated", event="icon.cache_clear", + addon_id=addon_id) + + +def json_query(query: Union[Dict[str, Any], List[Dict[str, Any]]], return_result: bool = True) -> Dict[str, Any]: + """Execute a JSON-RPC query against Kodi. + + Args: + query: The JSON-RPC query dictionary. + return_result: If True, return only the 'result' key. + + Returns: + The query result or empty dict on error. + """ + try: + request = json.dumps(query) + response = xbmc.executeJSONRPC(request) + data = json.loads(response) + + if return_result: + return data.get('result', {}) + return data + except (json.JSONDecodeError, KeyError, TypeError) as exc: + try: + _log = get_logger('data') + method = query.get("method", "unknown") if isinstance(query, dict) else "batch" + _log.warning("JSON-RPC query failed", event="jsonrpc.error", + method=method, error=str(exc)) + except Exception: + pass + return {} diff --git a/script.easymovie/resources/selector.py b/script.easymovie/resources/selector.py new file mode 100644 index 0000000000..bcb00d033e --- /dev/null +++ b/script.easymovie/resources/selector.py @@ -0,0 +1,284 @@ +""" +Genre/MPAA/Playlist Selector for EasyMovie. + +Launched from settings via RunScript(script.easymovie,selector,genres), +RunScript(script.easymovie,selector,ignore_genres), +RunScript(script.easymovie,selector,mpaa), or +RunScript(script.easymovie,selector,playlist). + +Queries the Kodi library for all unique values, shows a multi-select +dialog, and saves the selection back to settings as JSON. + +Logging: + Logger: 'selector' + Key events: + - selector.open (INFO): Selector dialog opened + - selector.save (INFO): Selection saved + See LOGGING.md for full guidelines. +""" +from __future__ import annotations + +import json +import os +import sys +import xml.etree.ElementTree as ET +from typing import Optional + +import xbmcaddon +import xbmcvfs + +from resources.lib.utils import get_logger, json_query, lang +from resources.lib.data.queries import get_all_movies_query, get_playlist_files_query +from resources.lib.data.filters import extract_unique_genres, extract_unique_mpaa +from resources.lib.ui.dialogs import show_select_dialog + +log = get_logger('selector') + + +def _get_selector_type() -> str: + """Determine selector type from command-line arguments.""" + # When invoked via settings: argv = [script_path, 'selector', 'genres'|'mpaa'] + if len(sys.argv) >= 3: + return sys.argv[2] + # When invoked via default.py: argv = [script_path, 'selector', 'genres'|'mpaa'] + if len(sys.argv) >= 2: + return sys.argv[1] + return 'genres' + + +def _run_genre_selector() -> None: + """Show genre selection dialog and save to settings.""" + log.info("Opening genre selector", event="selector.open", type="genres") + + # Query all movies to extract genres + result = json_query(get_all_movies_query()) + movies = result.get("movies", []) + if not movies: + log.warning("No movies in library", event="selector.open") + return + + all_genres = extract_unique_genres(movies) + if not all_genres: + return + + # Load previously selected genres + addon = xbmcaddon.Addon() + saved_json = addon.getSetting('selected_genres') + saved_genres = [] + if saved_json: + try: + saved_genres = json.loads(saved_json) + except (json.JSONDecodeError, TypeError): + pass + + # Build preselected indices + preselected = [i for i, g in enumerate(all_genres) if g in saved_genres] + + # Show dialog + selected_indices = show_select_dialog( + heading=lang(32200), # "Select Genres" + items=all_genres, + multi_select=True, + preselected=preselected, + ) + + if selected_indices is None: + return # Cancelled + + # Save selection + selected_genres = [all_genres[i] for i in selected_indices] + addon.setSetting('selected_genres', json.dumps(selected_genres)) + + # Update display field + display = ", ".join(selected_genres) if selected_genres else "-" + addon.setSetting('selected_genres_display', display) + + log.info("Genres saved", event="selector.save", + count=len(selected_genres), genres=selected_genres[:5]) + + +def _run_ignore_genre_selector() -> None: + """Show ignore-genre selection dialog and save to settings.""" + log.info("Opening ignore genre selector", event="selector.open", + type="ignore_genres") + + result = json_query(get_all_movies_query()) + movies = result.get("movies", []) + if not movies: + log.warning("No movies in library", event="selector.open") + return + + all_genres = extract_unique_genres(movies) + if not all_genres: + return + + # Load previously selected ignore genres + addon = xbmcaddon.Addon() + saved_json = addon.getSetting('selected_ignore_genres') + saved_genres = [] + if saved_json: + try: + saved_genres = json.loads(saved_json) + except (json.JSONDecodeError, TypeError): + pass + + preselected = [i for i, g in enumerate(all_genres) if g in saved_genres] + + selected_indices = show_select_dialog( + heading=lang(32204), # "Ignore Genres" + items=all_genres, + multi_select=True, + preselected=preselected, + ) + + if selected_indices is None: + return # Cancelled + + selected_genres = [all_genres[i] for i in selected_indices] + addon.setSetting('selected_ignore_genres', json.dumps(selected_genres)) + + display = ", ".join(selected_genres) if selected_genres else "-" + addon.setSetting('ignore_genres_display', display) + + log.info("Ignore genres saved", event="selector.save", + count=len(selected_genres), genres=selected_genres[:5]) + + +def _run_mpaa_selector() -> None: + """Show MPAA rating selection dialog and save to settings.""" + log.info("Opening MPAA selector", event="selector.open", type="mpaa") + + result = json_query(get_all_movies_query()) + movies = result.get("movies", []) + if not movies: + return + + all_ratings = extract_unique_mpaa(movies) + if not all_ratings: + return + + # Load previously selected ratings + addon = xbmcaddon.Addon() + saved_json = addon.getSetting('selected_mpaa') + saved_ratings = [] + if saved_json: + try: + saved_ratings = json.loads(saved_json) + except (json.JSONDecodeError, TypeError): + pass + + preselected = [i for i, r in enumerate(all_ratings) if r in saved_ratings] + + selected_indices = show_select_dialog( + heading=lang(32201), # "Select Age Ratings" + items=all_ratings, + multi_select=True, + preselected=preselected, + ) + + if selected_indices is None: + return + + selected_ratings = [all_ratings[i] for i in selected_indices] + addon.setSetting('selected_mpaa', json.dumps(selected_ratings)) + + display = ", ".join(selected_ratings) if selected_ratings else "-" + addon.setSetting('selected_mpaa_display', display) + + log.info("MPAA ratings saved", event="selector.save", + count=len(selected_ratings)) + + +def _get_playlist_type(filepath: str) -> Optional[str]: + """Read a .xsp playlist file and return its type attribute. + + Returns: + Playlist type ('movies', 'tvshows', etc.) or None if unreadable. + """ + try: + fh = xbmcvfs.File(filepath, 'r') + try: + content = fh.read() + finally: + fh.close() + + if not content: + return None + + root = ET.fromstring(content) + return root.get('type') + except (ET.ParseError, Exception): + return None + + +def _run_playlist_selector() -> None: + """Show movie smart playlist selection and save to settings.""" + log.info("Opening playlist selector", event="selector.open", type="playlist") + + result = json_query(get_playlist_files_query()) + playlist_files = result.get('files') if result else None + + if not playlist_files: + log.warning("No playlists found", event="selector.open") + return + + # Filter to .xsp files with type 'movies' + names = [] + paths = [] + for item in playlist_files: + filepath = item.get('file', '') + label = item.get('label', '') + if not filepath.endswith('.xsp'): + continue + detected_type = _get_playlist_type(filepath) + if detected_type != 'movies': + continue + names.append(label) + paths.append(filepath) + + if not names: + log.warning("No movie playlists found", event="selector.open") + return + + selected_indices = show_select_dialog( + heading=lang(32203), # "Select Playlist" + items=names, + multi_select=False, + ) + + if selected_indices is None: + return + + idx = selected_indices[0] + selected_path = paths[idx] + filename = os.path.basename(selected_path) + if filename.endswith('.xsp'): + filename = filename[:-4] + + addon = xbmcaddon.Addon() + addon.setSetting('movie_pool_playlist_path', selected_path) + addon.setSetting('pool_display', filename) + + log.info("Playlist saved", event="selector.save", + path=selected_path, display=filename) + + +def main() -> None: + """Entry point for the selector script.""" + selector_type = _get_selector_type() + + if selector_type == 'genres': + _run_genre_selector() + elif selector_type == 'ignore_genres': + _run_ignore_genre_selector() + elif selector_type == 'mpaa': + _run_mpaa_selector() + elif selector_type == 'playlist': + _run_playlist_selector() + else: + log.warning("Unknown selector type", event="selector.open", + type=selector_type) + + +if __name__ == '__main__': + main() diff --git a/script.easymovie/resources/settings.xml b/script.easymovie/resources/settings.xml new file mode 100644 index 0000000000..ce874839bd --- /dev/null +++ b/script.easymovie/resources/settings.xml @@ -0,0 +1,752 @@ + + +