From 6c82ef608b94a53dd81bc6a74c460eb1d6b74062 Mon Sep 17 00:00:00 2001 From: xtaodada <1344089750@qq.com> Date: Wed, 19 Feb 2020 23:31:39 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20=E6=B7=BB=E5=8A=A0=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E7=BF=BB=E8=AF=91=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEVELOPMENT.md | 78 +++ Dockerfile | 42 ++ Dockerfile.persistant | 44 ++ INSTALL.md | 76 +++ LICENSE | 674 +++++++++++++++++++++++ MANIFEST.in | 2 + README.md | 75 ++- config.gen.yml | 46 ++ docker-compose.gen.yml | 13 + pagermaid/__init__.py | 99 ++++ pagermaid/__main__.py | 41 ++ pagermaid/assets/Impact-Regular.ttf | Bin 0 -> 136076 bytes pagermaid/assets/caption-gif.sh | 26 + pagermaid/assets/caption.sh | 22 + pagermaid/assets/config.gen.yml | 46 ++ pagermaid/assets/graffiti.flf | 617 +++++++++++++++++++++ pagermaid/assets/pagermaid | 4 + pagermaid/assets/replacements.json | 20 + pagermaid/interface/__init__.py | 56 ++ pagermaid/interface/__main__.py | 5 + pagermaid/interface/forms.py | 24 + pagermaid/interface/modals.py | 24 + pagermaid/interface/views.py | 143 +++++ pagermaid/listener.py | 92 ++++ pagermaid/modules/__init__.py | 49 ++ pagermaid/modules/account.py | 232 ++++++++ pagermaid/modules/avoid.py | 94 ++++ pagermaid/modules/captions.py | 176 ++++++ pagermaid/modules/clock.py | 68 +++ pagermaid/modules/external.py | 230 ++++++++ pagermaid/modules/fun.py | 354 ++++++++++++ pagermaid/modules/help.py | 22 + pagermaid/modules/message.py | 126 +++++ pagermaid/modules/plugin.py | 148 +++++ pagermaid/modules/prune.py | 82 +++ pagermaid/modules/qr.py | 56 ++ pagermaid/modules/status.py | 210 +++++++ pagermaid/modules/sticker.py | 184 +++++++ pagermaid/modules/system.py | 148 +++++ pagermaid/modules/update.py | 106 ++++ pagermaid/static/favicon.ico | Bin 0 -> 4286 bytes pagermaid/static/images/icon.png | Bin 0 -> 450146 bytes pagermaid/static/images/user.jpg | Bin 0 -> 53270 bytes pagermaid/static/style.css | 151 +++++ pagermaid/templates/includes/navbar.html | 36 ++ pagermaid/templates/pages/404.html | 37 ++ pagermaid/templates/pages/500.html | 37 ++ pagermaid/templates/pages/index.html | 124 +++++ pagermaid/templates/pages/login.html | 58 ++ pagermaid/templates/pages/profile.html | 63 +++ pagermaid/templates/pages/settings.html | 75 +++ pagermaid/templates/pages/setup.html | 64 +++ pagermaid/utils.py | 136 +++++ plugins/README | 1 + requirements.txt | 32 ++ setup.py | 33 ++ some-plugins/autorespond.py | 45 ++ some-plugins/yt-dl.py | 51 ++ utils/docker.sh | 130 +++++ utils/entrypoint.sh | 4 + utils/mksession.py | 9 + utils/pagermaid | 4 + utils/pagermaid-pip.service | 14 + utils/pagermaid.service | 14 + utils/run | 4 + utils/start.sh | 7 + 66 files changed, 5681 insertions(+), 2 deletions(-) create mode 100644 DEVELOPMENT.md create mode 100644 Dockerfile create mode 100644 Dockerfile.persistant create mode 100644 INSTALL.md create mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 config.gen.yml create mode 100644 docker-compose.gen.yml create mode 100644 pagermaid/__init__.py create mode 100644 pagermaid/__main__.py create mode 100644 pagermaid/assets/Impact-Regular.ttf create mode 100644 pagermaid/assets/caption-gif.sh create mode 100644 pagermaid/assets/caption.sh create mode 100644 pagermaid/assets/config.gen.yml create mode 100644 pagermaid/assets/graffiti.flf create mode 100644 pagermaid/assets/pagermaid create mode 100644 pagermaid/assets/replacements.json create mode 100644 pagermaid/interface/__init__.py create mode 100644 pagermaid/interface/__main__.py create mode 100644 pagermaid/interface/forms.py create mode 100644 pagermaid/interface/modals.py create mode 100644 pagermaid/interface/views.py create mode 100644 pagermaid/listener.py create mode 100644 pagermaid/modules/__init__.py create mode 100644 pagermaid/modules/account.py create mode 100644 pagermaid/modules/avoid.py create mode 100644 pagermaid/modules/captions.py create mode 100644 pagermaid/modules/clock.py create mode 100644 pagermaid/modules/external.py create mode 100644 pagermaid/modules/fun.py create mode 100644 pagermaid/modules/help.py create mode 100644 pagermaid/modules/message.py create mode 100644 pagermaid/modules/plugin.py create mode 100644 pagermaid/modules/prune.py create mode 100644 pagermaid/modules/qr.py create mode 100644 pagermaid/modules/status.py create mode 100644 pagermaid/modules/sticker.py create mode 100644 pagermaid/modules/system.py create mode 100644 pagermaid/modules/update.py create mode 100644 pagermaid/static/favicon.ico create mode 100644 pagermaid/static/images/icon.png create mode 100644 pagermaid/static/images/user.jpg create mode 100644 pagermaid/static/style.css create mode 100644 pagermaid/templates/includes/navbar.html create mode 100644 pagermaid/templates/pages/404.html create mode 100644 pagermaid/templates/pages/500.html create mode 100644 pagermaid/templates/pages/index.html create mode 100644 pagermaid/templates/pages/login.html create mode 100644 pagermaid/templates/pages/profile.html create mode 100644 pagermaid/templates/pages/settings.html create mode 100644 pagermaid/templates/pages/setup.html create mode 100644 pagermaid/utils.py create mode 100644 plugins/README create mode 100644 requirements.txt create mode 100644 setup.py create mode 100644 some-plugins/autorespond.py create mode 100644 some-plugins/yt-dl.py create mode 100644 utils/docker.sh create mode 100644 utils/entrypoint.sh create mode 100644 utils/mksession.py create mode 100644 utils/pagermaid create mode 100644 utils/pagermaid-pip.service create mode 100644 utils/pagermaid.service create mode 100644 utils/run create mode 100644 utils/start.sh diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..636e2e0 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,78 @@ +# Plugin Development +PagerMaid has a powerful plugin system, which enables convenient debugging of code sharing. This document explains + how to use the PagerMaid framework to develop your own PagerMaid plugin, and share code you have written for the + platform. + +## Plugin Manager +The plugin manager is a utility to help you manage and share plugins installed to your PagerMaid instance. + +### Install +To install a plugin, issue the plugin command replying to a message containing the plugin in it's attachments, with the + install argument. PagerMaid will download and validate the plugin, and restart after it is installed. + +### Remove +To remove a plugin, issue the plugin command with the remove argument, and append the plugin name after the argument, + PagerMaid will look for the plugin and if present, remove it and restart. + +### Enable +To enable a disabled plugin, issue the plugin command with the enable argument, and append the plugin name after the + argument, PagerMaid will look for the plugin and if present and disabled, enable it and restart. + +### Disable +To disable an enabled plugin, issue the plugin command with the disable argument, and append the plugin name after the + argument, PagerMaid will look for the plugin and if present and enabled, disable it and restart. + +### Upload +To upload a plugin, issue the plugin command with the upload argument, and append the plugin name after the argument, + PagerMaid will look for the plugin and if present, upload it to the current chat. + +### Status +To view the status of plugins, issue the plugin command with the status argument, active plugins refer to plugins that + are enabled and loaded, failed plugins refer to plugins that are enabled but failed to load, disabled plugins refer to + plugins that are disabled. + +## Event Listener +The most important part of a plugin is the event listener, which is how commands are implemented. To register an event + listener, import listener from pagermaid.listener and use the listener annotation on an async class. + +```python +""" Plugin description. """ +from pagermaid.listener import listener + + +@listener(outgoing=True, command="command", diagnostics=False, ignore_edited=False, + description="My PagerMaid plugin command.", + parameters="") +async def command(context): + await context.edit(f"Hello, World! Welcome, {context.parameter[0]}.") +``` + +The outgoing variable specifies if the message has to be sent by the user, if it is set to False the event listener + will be invoked on every single message event. + +The command variable specifies the command used to trigger the event listener, which will insert the arguments of the + command to context.pattern_match.group(1). + +The pattern variable specifies a regex pattern that overrides the command to be used to trigger the event listener. Case + insensitivity is implemented within the listener. + +The diagnostics variable specifies if exceptions of the event listener is handled by the diagnostics module which sends + the error report to Kat, defaults to True, you should disable it if you are using exceptions to trigger events. + +The ignore_edited variable specifies if the event listener will be triggered by an edit of a message, defaults to False. + +The description variable specifies the description that will appear in the help message. + +the parameters variable specifies the parameters indicator that will appear in the help message. + +## Logging +The PagerMaid framework includes two sets of logging: console and in-chat logging. In-Chat logging respects the + configuration file. To use logging, import log from the pagermaid class. + +```python +from pagermaid import log +await log("This is a log message!") +``` + +The logging handler will output an entry to the console, and, if configured, will send a message into the logging + channel the user specified. Beware that log() is a coroutine object, so please do not forget to await it. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5b6a1ec --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +FROM archlinux/base:latest +RUN pacman -Syu --needed --noconfirm \ + git \ + libffi \ + tesseract \ + openssl \ + bzip2 \ + zlib \ + readline \ + sqlite \ + fortune-mod \ + figlet \ + python-virtualenv \ + redis \ + libxslt \ + libxml2 \ + libpqxx \ + linux-api-headers \ + freetype2 \ + jpeg-archive \ + curl \ + wget \ + neofetch \ + sudo \ + gcc \ + gcc8 \ + imagemagick \ + libwebp \ + zbar \ + ffmpeg \ + file \ + procps-ng +RUN sed -e 's;^# \(%wheel.*NOPASSWD.*\);\1;g' -i /etc/sudoers +RUN useradd pagermaid -u 3333 -r -m -d /pagermaid +RUN usermod -aG wheel,users pagermaid +USER pagermaid +RUN mkdir /pagermaid/workdir +RUN git clone -b master https://git.stykers.moe/scm/~stykers/pagermaid.git /pagermaid/workdir +WORKDIR /pagermaid/workdir +RUN python3 -m virtualenv /pagermaid/venv +RUN source /pagermaid/venv/bin/activate; pip3 install -r requirements.txt +CMD ["sh","utils/entrypoint.sh"] diff --git a/Dockerfile.persistant b/Dockerfile.persistant new file mode 100644 index 0000000..0fbb61c --- /dev/null +++ b/Dockerfile.persistant @@ -0,0 +1,44 @@ +FROM archlinux/base:latest +RUN pacman -Syu --needed --noconfirm \ + git \ + libffi \ + tesseract \ + openssl \ + bzip2 \ + zlib \ + readline \ + sqlite \ + fortune-mod \ + figlet \ + python-virtualenv \ + redis \ + libxslt \ + libxml2 \ + libpqxx \ + linux-api-headers \ + freetype2 \ + jpeg-archive \ + curl \ + wget \ + neofetch \ + sudo \ + gcc \ + gcc8 \ + imagemagick \ + libwebp \ + zbar \ + ffmpeg \ + procps-ng +RUN sed -e 's;^# \(%wheel.*NOPASSWD.*\);\1;g' -i /etc/sudoers +RUN useradd pagermaid -r -m -d /pagermaid +RUN usermod -aG wheel,users pagermaid +USER pagermaid +RUN mkdir /pagermaid/workdir +RUN git clone -b master https://git.stykers.moe/scm/~stykers/pagermaid.git /pagermaid/workdir +WORKDIR /pagermaid/workdir +COPY ./pagermaid.session ./config.yml /pagermaid/workdir/ +RUN sudo chown pagermaid:pagermaid /pagermaid/workdir/config.yml +RUN sudo chown -f pagermaid:pagermaid /pagermaid/workdir/pagermaid.session; exit 0 +RUN python3 -m virtualenv venv +RUN source venv/bin/activate; pip3 install -r requirements.txt +CMD ["sh","utils/entrypoint.sh"] diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..b80f730 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,76 @@ +# 安装 + +这是开始使用 `PagerMaid` 所需的说明,支持各种初始化系统。 + +## 要求 + +您需要 `Linux` 或 `*BSD` 系统,并且您的系统应该至少运行 `python 3.6` ,推荐虚拟环境运行。 + +## 快速开始 + +如果您的系统与docker兼容,并且您想要快速且受支持的安装,Docker 将帮助您快速入门。尽管很方便,但这种安装方法将系统范围的包限制在容器内。 + +在 https://my.telegram.org/ 上创建您的应用程序,然后运行以下命令: + + +``` +curl -fsSL https://git.stykers.moe/users/stykers/repos/pagermaid/raw/utils/docker.sh | sh +``` + +如果您想在运行之前检查脚本内容: + +``` +curl https://git.stykers.moe/users/stykers/repos/pagermaid/raw/utils/docker.sh -o docker.sh +vim docker.sh +chmod 0755 docker.sh +./docker.sh +``` + +## 配置 + +将文件 `config.gen.yml` 复制一份到 `config.yml` ,并使用您最喜欢的文本编辑器,编辑配置文件,直到您满意为止。 + +## 从源代码安装 + +将 `PagerMaid-Modify` 工作目录复制到 `/var/lib` ,然后输入 `/var/lib/pagermaid` ,激活虚拟环境(如果需要),并从 `requirements.txt` 安装所有依赖项 + +``` +python3 -m pagermaid +``` + +现在确保 `zbar` , `neofetch` , `tesseract` 和 `ImageMagick` 软件包是通过软件包管理器安装的,并且您已经准备好启动 `PagerMaid` 。 + +``` +python3 -m pagermaid +``` + +## 从PyPi安装 + +为 `PagerMaid` 创建一个工作目录,通常为 `/var/lib/pagermaid` ,建议设置虚拟环境。 + +安装PagerMaid模块: + +``` +pip3 install pagermaid +``` + +现在确保 `zbar` , `neofetch` , `tesseract` 和 `ImageMagick` 软件包是通过软件包管理器安装的,并且您已经准备好启动 `PagerMaid` 。 + +``` +pagermaid +``` + +## 进程守护 + +确保您至少手动运行过 `PagerMaid` 一次,或者已经存在 session 文件。 +- Runit:在 `/etc/sv/pagermaid` 中创建一个目录,然后将 `utils/run` 复制到其中 +- SystemD:将 `utils/pagermaid.service` 复制到 `/ var/lib/systemd/system` 中 +- 直接:运行 `utils/start.sh` + +## 身份验证 + +有时(或大部分时间),当您在服务器部署 `PagerMaid` 时,登录会有问题,当出现了问题,请在应用程序的配置步骤配置唯一的 `application key` 和 `hash` ,然后在您的PC上运行 `utils/mksession.py` ,将 `pagermaid.session` 复制到服务器。 + +## 插件 + +`some-plugins` 已经内置了部分插件,请根据需要复制到 plugins 启用。 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..473785a --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + pagermaid + Copyright (C) 2019 Katherine ❄ + + 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: + + pagermaid Copyright (C) 2019 Katherine ❄ + 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/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..ce97cf6 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include LICENSE +include pagermaid/assets/* diff --git a/README.md b/README.md index ab94894..cd1cc88 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,73 @@ -# PagerMaid-Modify -PagerMaid Telegram utility daemon. +# PagerMaid + +Pagermaid 是一个用在 Telegram 的实用工具。 + +它通过响应账号通过其他客户端发出的命令来自动执行一系列任务。 + +原英文更新频道: https://t.me/PagerMaid + +## 安装 + +请阅读 [INSTALL.md](https://github.com/xtaodada/PagerMaid-Modify/blob/master/INSTALL.md) + +## 与原作者联络 + +您可以在 Telegram 上使用 -contact 并点击链接进入通过 Pagermaid 自动打开的 PM ,如果您安装上出现了问题,请通过 [stykers@stykers.moe](mailto:stykers@stykers.moe) 给我发电子邮件,或在 Telegram [@KatOnKeyboard](https://t.me/KatOnKeyboard)上给我发消息。 + +## 特别感谢 +[Amine Oversoul](https://bitbucket.org/oversoul/pagermaid-ui) + +## 修改内容 + +- `PagerMaid-Modify/README.md` + +- `PagerMaid-Modify/INSTALL.md` + +- `PagerMaid-Modify/some-plugins/autorespond.py` + +- `PagerMaid-Modify/some-plugins/yt-dl.py` + +- `PagerMaid-Modify/pagermaid/listener.py` + +- `PagerMaid-Modify/pagermaid/utils.py` + +- `PagerMaid-Modify/pagermaid/__main__.py` + +- `PagerMaid-Modify/pagermaid/__init__.py` + +- `pagermaid-Modify/interface/__init__.py` + +- `PagerMaid-Modify/pagermaid/interface/__main__.py` + +- `PagerMaid-Modify/pagermaid/interface/views.py` + +- `PagerMaid-Modify/pagermaid/modules/account.py` + +- `PagerMaid-Modify/pagermaid/modules/avoid.py` + +- `PagerMaid-Modify/pagermaid/modules/captions.py` + +- `PagerMaid-Modify/pagermaid/modules/clock.py` + +- `PagerMaid-Modify/pagermaid/modules/external.py` + +- `PagerMaid-Modify/pagermaid/modules/fun.py` + +- `PagerMaid-Modify/pagermaid/modules/help.py` + +- `PagerMaid-Modify/pagermaid/modules/message.py` + +- `PagerMaid-Modify/pagermaid/modules/plugin.py` + +- `PagerMaid-Modify/pagermaid/modules/prune.py` + +- `PagerMaid-Modify/pagermaid/modules/qr.py` + +- `PagerMaid-Modify/pagermaid/modules/status.py` + +- `PagerMaid-Modify/pagermaid/modules/sticker.py` + +- `PagerMaid-Modify/pagermaid/modules/system.py` + +- `PagerMaid-Modify/pagermaid/modules/update.py` + diff --git a/config.gen.yml b/config.gen.yml new file mode 100644 index 0000000..70592e7 --- /dev/null +++ b/config.gen.yml @@ -0,0 +1,46 @@ +# =================================================================== +# __________ _____ .__ .___ +# \______ \_____ ____ ___________ / \ _____ |__| __| _/ +# | ___/\__ \ / ___\_/ __ \_ __ \/ \ / \\__ \ | |/ __ | +# | | / __ \_/ /_/ > ___/| | \/ Y \/ __ \| / /_/ | +# |____| (____ /\___ / \___ >__| \____|__ (____ /__\____ | +# \//_____/ \/ \/ \/ \/ +# =================================================================== + +# API Credentials of your telegram application created at https://my.telegram.org/apps +api_key: "****" +api_hash: "**********" + +# Either debug logging is enabled or not +debug: "False" +error_report: "True" + +# Admin interface related +web_interface: + enable: "False" + secret_key: "RANDOM_STRING_HERE" + host: "127.0.0.1" + port: "3333" + +# Redis connection information +redis: + host: "localhost" + port: "6379" + db: "14" + +# Locale settings +application_language: "en" +application_region: "United States" + +# In-Chat logging settings, default settings logs directly into Kat, strongly advised to change +log: "False" +log_chatid: "503691334" + +# Google search preferences +result_length: "5" + +# TopCloud image output preferences +width: "1920" +height: "1080" +background: "#101010" +margin: "20" \ No newline at end of file diff --git a/docker-compose.gen.yml b/docker-compose.gen.yml new file mode 100644 index 0000000..6f3dc5f --- /dev/null +++ b/docker-compose.gen.yml @@ -0,0 +1,13 @@ +version: "3.7" +services: + pagermaid: + build: + context: . + image: pagermaid:custom + restart: always + container_name: "pagermaid" + hostname: "pagermaid" + ports: + - "3333:3333" + volumes: + - ./:/pagermaid/workdir diff --git a/pagermaid/__init__.py b/pagermaid/__init__.py new file mode 100644 index 0000000..a10a619 --- /dev/null +++ b/pagermaid/__init__.py @@ -0,0 +1,99 @@ +""" PagerMaid initialization. """ + +from os import getcwd, makedirs +from os.path import exists +from sys import version_info, platform +from yaml import load, FullLoader +from shutil import copyfile +from redis import StrictRedis +from logging import getLogger, INFO, DEBUG, StreamHandler +from distutils2.util import strtobool +from coloredlogs import ColoredFormatter +from telethon import TelegramClient + +persistent_vars = {} +module_dir = __path__[0] +working_dir = getcwd() +logging_format = "%(levelname)s [%(asctime)s] [%(name)s] %(message)s" +config = None +help_messages = {} +logs = getLogger(__name__) +logging_handler = StreamHandler() +logging_handler.setFormatter(ColoredFormatter(logging_format)) +logs.addHandler(logging_handler) +logs.setLevel(INFO) + +try: + config = load(open(r"config.yml"), Loader=FullLoader) +except FileNotFoundError: + logs.fatal("出错了呜呜呜 ~ 配置文件不存在,正在生成新的配置文件。") + copyfile(f"{module_dir}/assets/config.gen.yml", "config.yml") + exit(1) + +if strtobool(config['debug']): + logs.setLevel(DEBUG) +else: + logs.setLevel(INFO) + +if platform == "linux" or platform == "linux2" or platform == "darwin" or platform == "freebsd7" \ + or platform == "freebsd8" or platform == "freebsdN" or platform == "openbsd6": + logs.info( + "将平台检测为“ " + platform + ",进入PagerMaid的早期加载过程。" + ) +else: + logs.error( + "出错了呜呜呜 ~ 你的平台 " + platform + " 不支持运行 PagerMaid,请在Linux或 *BSD 上启动 PagerMaid。" + ) + exit(1) + +if version_info[0] < 3 or version_info[1] < 6: + logs.error( + "出错了呜呜呜 ~ 请将您的 python 升级到至少3.6版。" + ) + exit(1) + +if not exists(f"{getcwd()}/data"): + makedirs(f"{getcwd()}/data") + +api_key = config['api_key'] +api_hash = config['api_hash'] +try: + redis_host = config['redis']['host'] +except KeyError: + redis_host = 'localhost' +try: + redis_port = config['redis']['port'] +except KeyError: + redis_port = 6379 +try: + redis_db = config['redis']['db'] +except KeyError: + redis_db = 14 +if api_key is None or api_hash is None: + logs.info( + "出错了呜呜呜 ~ 请在工作目录中放置一个有效的配置文件。" + ) + exit(1) + +bot = TelegramClient("pagermaid", api_key, api_hash, auto_reconnect=True) +redis = StrictRedis(host=redis_host, port=redis_port, db=redis_db) + + +def redis_status(): + try: + redis.ping() + return True + except BaseException: + return False + + +async def log(message): + logs.info( + message.replace('`', '\"') + ) + if not strtobool(config['log']): + return + await bot.send_message( + int(config['log_chatid']), + message + ) diff --git a/pagermaid/__main__.py b/pagermaid/__main__.py new file mode 100644 index 0000000..109f000 --- /dev/null +++ b/pagermaid/__main__.py @@ -0,0 +1,41 @@ +""" PagerMaid launch sequence. """ + +from sys import path +from importlib import import_module +from telethon.errors.rpcerrorlist import PhoneNumberInvalidError +from pagermaid import bot, logs, working_dir +from pagermaid.modules import module_list, plugin_list +try: + from pagermaid.interface import server +except TypeError: + logs.error("出错了呜呜呜 ~ Web 界面配置绑定到了一个无效地址。") + server = None +except KeyError: + logs.error("出错了呜呜呜 ~ 配置文件中缺少 Web 界面配置。") + server = None + + +path.insert(1, f"{working_dir}/plugins") + +try: + bot.start() +except PhoneNumberInvalidError: + print('出错了呜呜呜 ~ 输入的电话号码无效。 请确保附加国家代码。') + exit(1) +for module_name in module_list: + try: + import_module("pagermaid.modules." + module_name) + except BaseException: + logs.info(f"模块 {module_name} 加载出错。") +for plugin_name in plugin_list: + try: + import_module("plugins." + plugin_name) + except BaseException as exception: + logs.info(f"模块 {plugin_name} 加载出错: {exception}") + plugin_list.remove(plugin_name) +if server is not None: + import_module("pagermaid.interface") +logs.info("PagerMaid-Modify 已启动,在任何聊天中输入 -help 以获得帮助消息。") +bot.run_until_disconnected() +if server is not None: + server.stop() diff --git a/pagermaid/assets/Impact-Regular.ttf b/pagermaid/assets/Impact-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..114e6c1968b663086409144e50e7a592bff1d6c2 GIT binary patch literal 136076 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 VQlm?y$QD;A35 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 literal 0 HcmV?d00001 diff --git a/pagermaid/assets/caption-gif.sh b/pagermaid/assets/caption-gif.sh new file mode 100644 index 0000000..ce8231b --- /dev/null +++ b/pagermaid/assets/caption-gif.sh @@ -0,0 +1,26 @@ +#!/bin/sh -ex + +src=$1 +dest="result.gif" +font=$2 +header=$3 +footer=$4 + +width=$(identify -format %w "${src}") +caption_height=$((width/8)) +strokewidth=$((width/500)) + +ffmpeg -i "${src}" \ + -vf "fps=10,scale=320:-1:flags=lanczos" \ + -c:v pam \ + -f image2pipe - | \ + convert -delay 10 \ + - -loop 0 \ + -layers optimize \ + output.gif + +convert "output.gif" \ +\( -clone 0 -coalesce -gravity South -background none -size 435x65.5 caption:"${header}" \) -swap -1,0 \ +"${dest}" + +rm output.gif \ No newline at end of file diff --git a/pagermaid/assets/caption.sh b/pagermaid/assets/caption.sh new file mode 100644 index 0000000..4f19a38 --- /dev/null +++ b/pagermaid/assets/caption.sh @@ -0,0 +1,22 @@ +#!/bin/sh -ex + +src=$1 +dest="result.png" +font=$2 +header=$3 +footer=$4 + +width=$(identify -format %w "${src}") +caption_height=$((width/8)) +strokewidth=$((width/500)) + +convert "${src}" \ + -background none \ + -font "${font}" \ + -fill white \ + -stroke black \ + -strokewidth ${strokewidth} \ + -size "${width}"x${caption_height} \ + -gravity north caption:"${header}" -composite \ + -gravity south caption:"${footer}" -composite \ + "${dest}" diff --git a/pagermaid/assets/config.gen.yml b/pagermaid/assets/config.gen.yml new file mode 100644 index 0000000..d4ce6fa --- /dev/null +++ b/pagermaid/assets/config.gen.yml @@ -0,0 +1,46 @@ +# =================================================================== +# __________ _____ .__ .___ +# \______ \_____ ____ ___________ / \ _____ |__| __| _/ +# | ___/\__ \ / ___\_/ __ \_ __ \/ \ / \\__ \ | |/ __ | +# | | / __ \_/ /_/ > ___/| | \/ Y \/ __ \| / /_/ | +# |____| (____ /\___ / \___ >__| \____|__ (____ /__\____ | +# \//_____/ \/ \/ \/ \/ +# =================================================================== + +# API Credentials of your telegram application created at https://my.telegram.org/apps +api_key: "143461" +api_hash: "7b8a66cb31224f4241102d7fc57b5bcd" + +# Either debug logging is enabled or not +debug: "False" +error_report: "True" + +# Admin interface related +web_interface: + enable: "False" + secret_key: "RANDOM_STRING_HERE" + host: "127.0.0.1" + port: "3333" + +# Redis connection information +redis: + host: "localhost" + port: "6379" + db: "14" + +# Locale settings +application_language: "en" +application_region: "United States" + +# In-Chat logging settings, default settings logs directly into Kat, strongly advised to change +log: "False" +log_chatid: "503691334" + +# Google search preferences +result_length: "5" + +# TopCloud image output preferences +width: "1920" +height: "1080" +background: "#101010" +margin: "20" \ No newline at end of file diff --git a/pagermaid/assets/graffiti.flf b/pagermaid/assets/graffiti.flf new file mode 100644 index 0000000..fea27a8 --- /dev/null +++ b/pagermaid/assets/graffiti.flf @@ -0,0 +1,617 @@ +flf2a$ 6 5 32 15 4 +Font name is graffiti.flf +This figlet font designed by Leigh Purdie (purdie@zeus.usq.edu.au) +'fig-fonted' by Leigh Purdie and Tim Maggio (tim@claremont.com) +Date: 5 Mar 1994 +$@ +$@ +$@ +$@ +$@ +$@@ +._.@ +| |@ +| |@ + \|@ + __@ + \/@@ +/\/\@ +)/)/@ + @ + @ + @ + @@ + _ _ @ +__| || |__@ +\ __ /@ + | || | @ +/_ ~~ _\@ + |_||_| @@ + ____/\__@ + / / /_/@ + \__/ / \ @ + / / / \@ +/_/ /__ /@ + \/ \/ @@ + _ /\ @ +/ \ / / @ +\_// /_ @ + / // \@ + / / \_/@ + \/ @@ + ____ @ + / _ \ @ + > _ < @ +/ -- \@ +\______ /@ + \/ @@ + ________ @ +/ __ \@ +\____ /@ + / / @ + /____/ @ + @@ +$ $@ +$/\$@ +$\/$@ +$/\$@ +$\/$@ +$ $@@ +$ $@ +$/\$@ +$\/$@ +$/\$@ +$)/$@ +$ $@@ +$ __$@ +$ / /$@ +$/ / $@ +$\ \ $@ +$ \_\$@ +$ $@@ +$ $@ +$ ______$@ +$/_____/$@ +$/_____/$@ +$ $@ +$ $@@ +$__ $@ +$\ \ $@ +$ \ \$@ +$ / /$@ +$/_/ $@ +$ $@@ +_________ @ +\_____ \@ + / __/@ + | | @ + |___| @ + <___> @@ + _____ @ + / ___ \ @ + / / ._\ \@ +< \_____/@ + \_____\ @ + @@ + _____ @ + / _ \ @ + / /_\ \ @ +/ | \@ +\____|__ /@ + \/ @@ +__________ @ +\______ \@ + | | _/@ + | | \@ + |______ /@ + \/ @@ +_________ @ +\_ ___ \ @ +/ \ \/ @ +\ \____@ + \______ /@ + \/ @@ +________ @ +\______ \ @ + | | \ @ + | ` \@ +/_______ /@ + \/ @@ +___________@ +\_ _____/@ + | __)_ @ + | \@ +/_______ /@ + \/ @@ +___________@ +\_ _____/@ + | __) @ + | \ @ + \___ / @ + \/ @@ + ________ @ + / _____/ @ +/ \ ___ @ +\ \_\ \@ + \______ /@ + \/ @@ + ___ ___ @ + / | \ @ +/ ~ \@ +\ Y /@ + \___|_ / @ + \/ @@ +.___ @ +| |@ +| |@ +| |@ +|___|@ + @@ + ____.@ + | |@ + | |@ +/\__| |@ +\________|@ + @@ + ____ __.@ +| |/ _|@ +| < @ +| | \ @ +|____|__ \@ + \/@@ +.____ @ +| | @ +| | @ +| |___ @ +|_______ \@ + \/@@ + _____ @ + / \ @ + / \ / \ @ +/ Y \@ +\____|__ /@ + \/ @@ + _______ @ + \ \ @ + / | \ @ +/ | \@ +\____|__ /@ + \/ @@ +________ @ +\_____ \ @ + / | \ @ +/ | \@ +\_______ /@ + \/ @@ +__________ @ +\______ \@ + | ___/@ + | | @ + |____| @ + @@ +________ @ +\_____ \ @ + / / \ \ @ +/ \_/. \@ +\_____\ \_/@ + \__>@@ +__________ @ +\______ \@ + | _/@ + | | \@ + |____|_ /@ + \/ @@ + _________@ + / _____/@ + \_____ \ @ + / \@ +/_______ /@ + \/ @@ +___________@ +\__ ___/@ + | | @ + | | @ + |____| @ + @@ + ____ ___ @ +| | \@ +| | /@ +| | / @ +|______/ @ + @@ +____ ____@ +\ \ / /@ + \ Y / @ + \ / @ + \___/ @ + @@ + __ __ @ +/ \ / \@ +\ \/\/ /@ + \ / @ + \__/\ / @ + \/ @@ +____ ___@ +\ \/ /@ + \ / @ + / \ @ +/___/\ \@ + \_/@@ +_____.___.@ +\__ | |@ + / | |@ + \____ |@ + / ______|@ + \/ @@ +__________@ +\____ /@ + / / @ + / /_ @ +/_______ \@ + \/@@ +$.____ $@ +$| _|$@ +$| | $@ +$| | $@ +$| |_ $@ +$|____|$@@ +/\ @ +\ \ @ + \ \ @ + \ \ @ + \ \@ + \/@@ +$ ____.$@ +$|_ |$@ +$ | |$@ +$ | |$@ +$ _| |$@ +$|____|$@@ +$ /\ $@ +$/ \$@ +$\/\/$@ +$ $@ +$ $@ +$ $@@ + @ + @ + @ + @ + ______@ +/_____/@@ +/\@ +\(@ + @ + @ + @ + @@ + @ +_____ @ +\__ \ @ + / __ \_@ +(____ /@ + \/ @@ +___. @ +\_ |__ @ + | __ \ @ + | \_\ \@ + |___ /@ + \/ @@ + @ + ____ @ +_/ ___\ @ +\ \___ @ + \___ >@ + \/ @@ + .___@ + __| _/@ + / __ | @ +/ /_/ | @ +\____ | @ + \/ @@ + @ + ____ @ +_/ __ \ @ +\ ___/ @ + \___ >@ + \/ @@ + _____ @ +_/ ____\@ +\ __\ @ + | | @ + |__| @ + @@ + @ + ____ @ + / ___\ @ + / /_/ >@ + \___ / @ +/_____/ @@ +.__ @ +| |__ @ +| | \ @ +| Y \@ +|___| /@ + \/ @@ +.__ @ +|__|@ +| |@ +| |@ +|__|@ + @@ + __ @ + |__|@ + | |@ + | |@ +/\__| |@ +\______|@@ + __ @ +| | __@ +| |/ /@ +| < @ +|__|_ \@ + \/@@ +.__ @ +| | @ +| | @ +| |__@ +|____/@ + @@ + @ + _____ @ + / \ @ +| Y Y \@ +|__|_| /@ + \/ @@ + @ + ____ @ + / \ @ +| | \@ +|___| /@ + \/ @@ + @ + ____ @ + / _ \ @ +( <_> )@ + \____/ @ + @@ + @ +______ @ +\____ \ @ +| |_> >@ +| __/ @ +|__| @@ + @ + ______@ + / ____/@ +< <_| |@ + \__ |@ + |__|@@ + @ +_______ @ +\_ __ \@ + | | \/@ + |__| @ + @@ + @ + ______@ + / ___/@ + \___ \ @ +/____ >@ + \/ @@ + __ @ +_/ |_ @ +\ __\@ + | | @ + |__| @ + @@ + @ + __ __ @ +| | \@ +| | /@ +|____/ @ + @@ + @ +___ __@ +\ \/ /@ + \ / @ + \_/ @ + @@ + @ +__ _ __@ +\ \/ \/ /@ + \ / @ + \/\_/ @ + @@ + @ +___ ___@ +\ \/ /@ + > < @ +/__/\_ \@ + \/@@ + @ + ___.__.@ +< | |@ + \___ |@ + / ____|@ + \/ @@ + @ +________@ +\___ /@ + / / @ +/_____ \@ + \/@@ +$ ___$@ +$/ / $@ +$\ \ $@ +$< < $@ +$/ / $@ +$\_\_$@@ +$._.$@ +$| |$@ +$|_|$@ +$|-|$@ +$| |$@ +$|_|$@@ +$___ $@ +$ \ \$@ +$ / /$@ +$ > >$@ +$ \ \$@ +$_/_/$@@ +$ ___ $@ +$/ _ \_/\$@ +$\/ \___/$@ +$ $@ +$ $@ +$ $@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ +@ +@ +@ +@ +@ +@@ diff --git a/pagermaid/assets/pagermaid b/pagermaid/assets/pagermaid new file mode 100644 index 0000000..b05e278 --- /dev/null +++ b/pagermaid/assets/pagermaid @@ -0,0 +1,4 @@ +#!/bin/bash +source venv/bin/activate; +/usr/bin/env python3 -m pagermaid + diff --git a/pagermaid/assets/replacements.json b/pagermaid/assets/replacements.json new file mode 100644 index 0000000..de81715 --- /dev/null +++ b/pagermaid/assets/replacements.json @@ -0,0 +1,20 @@ +{"cute": "kawaii", +"idiot": "baka", +"cat": "neko", +"fox": "kitsune", +"dog": "inu", +"right": "ne", +"god": "kami-sama", +"what": "nani", +"it is": "desu", +"meow": "nya", +"comic": "manga", +"girl": "shoujo", +"cartoon|cartoons|show": "anime", +"porn": "hentai", +"child": "loli", +"wife": "waifu", +"thank you": "arigatou", +"sorry": "gomenasai", +"i like you": "suki", +"i am": "watashi wa"} \ No newline at end of file diff --git a/pagermaid/interface/__init__.py b/pagermaid/interface/__init__.py new file mode 100644 index 0000000..38b4abc --- /dev/null +++ b/pagermaid/interface/__init__.py @@ -0,0 +1,56 @@ +""" PagerMaid web interface utility. """ + +from threading import Thread +from distutils2.util import strtobool +from importlib import import_module +from cheroot.wsgi import Server as WSGIServer, PathInfoDispatcher +from flask import Flask +from flask.logging import default_handler +from flask_sqlalchemy import SQLAlchemy +from flask_login import LoginManager +from flask_bcrypt import Bcrypt + +try: + from pagermaid import config, working_dir, logs, logging_handler +except ModuleNotFoundError: + print("出错了呜呜呜 ~ 此模块不应直接运行。") + exit(1) + +app = Flask("pagermaid") +app.config['CSRF_ENABLED'] = True +app.config['SECRET_KEY'] = config['web_interface']['secret_key'] +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False +app.config['SQLALCHEMY_DATABASE_URI'] = f"sqlite:///{working_dir}/data/web_interface.db" +db = SQLAlchemy(app) +bcrypt = Bcrypt(app) +login = LoginManager() +login.init_app(app) + + +@app.before_first_request +def init_db(): + db.create_all() + + +import_module('pagermaid.interface.views') +import_module('pagermaid.interface.modals') + +dispatcher = PathInfoDispatcher({'/': app}) +server = WSGIServer((config['web_interface']['host'], int(config['web_interface']['port'])), dispatcher) + + +def start(): + if strtobool(config['web_interface']['enable']): + logs.info(f"已经启动Web界面 {config['web_interface']['host']}:{config['web_interface']['port']}") + app.logger.removeHandler(default_handler) + app.logger.addHandler(logging_handler) + try: + server.start() + except OSError: + logs.fatal("出错了呜呜呜 ~ 另一个进程绑定到了 PagerMaid 需要的端口!") + return + else: + logs.info("Web 界面已禁用。") + + +Thread(target=start).start() diff --git a/pagermaid/interface/__main__.py b/pagermaid/interface/__main__.py new file mode 100644 index 0000000..05b607c --- /dev/null +++ b/pagermaid/interface/__main__.py @@ -0,0 +1,5 @@ +""" PagerMaid web interface startup. """ + +from pagermaid import logs + +logs.info("出错了呜呜呜 ~ 此模块不应直接运行。") diff --git a/pagermaid/interface/forms.py b/pagermaid/interface/forms.py new file mode 100644 index 0000000..c7d0966 --- /dev/null +++ b/pagermaid/interface/forms.py @@ -0,0 +1,24 @@ +""" PagerMaid interface forms. """ + +from flask_wtf import FlaskForm +from wtforms import StringField, PasswordField +from wtforms.validators import Email, DataRequired + + +class LoginForm(FlaskForm): + username = StringField(u'Username', validators=[DataRequired()]) + password = PasswordField(u'Password', validators=[DataRequired()]) + + +class SetupForm(FlaskForm): + full_name = StringField(u'Full Name', validators=[DataRequired()]) + username = StringField(u'Full Name', validators=[DataRequired()]) + password = PasswordField(u'Full Name', validators=[DataRequired()]) + email = StringField(u'Full Name', validators=[DataRequired(), Email()]) + + +class ModifyForm(FlaskForm): + full_name = StringField(u'Full Name') + username = StringField(u'Username') + password = PasswordField(u'Password') + email = StringField(u'Email Address', validators=[Email()]) diff --git a/pagermaid/interface/modals.py b/pagermaid/interface/modals.py new file mode 100644 index 0000000..e25130a --- /dev/null +++ b/pagermaid/interface/modals.py @@ -0,0 +1,24 @@ +""" Account related modals. """ + +from pagermaid.interface import db +from flask_login import UserMixin + + +class User(UserMixin, db.Model): + id = db.Column(db.Integer, primary_key=True) + user = db.Column(db.String(64), unique=True) + email = db.Column(db.String(120), unique=True) + password = db.Column(db.String(500)) + + def __init__(self, user, email, password): + self.user = user + self.password = password + self.email = email + + def __repr__(self): + return str(self.id) + ' - ' + str(self.user) + + def save(self): + db.session.add(self) + db.session.commit() + return self diff --git a/pagermaid/interface/views.py b/pagermaid/interface/views.py new file mode 100644 index 0000000..2596534 --- /dev/null +++ b/pagermaid/interface/views.py @@ -0,0 +1,143 @@ +""" Static views generated for PagerMaid. """ + +from pathlib import Path +from psutil import virtual_memory +from os.path import exists +from sys import platform +from platform import uname, python_version +from telethon import version as telethon_version +from flask import render_template, request, url_for, redirect, send_from_directory +from flask_login import login_user, logout_user, current_user +from pagermaid import logs, redis_status +from pagermaid.interface import app, login +from pagermaid.interface.modals import User +from pagermaid.interface.forms import LoginForm, SetupForm, ModifyForm + + +@login.user_loader +def load_user(user_id): + return User.query.get(int(user_id)) + + +@app.route("/logout") +def logout(): + logout_user() + return redirect(url_for('index')) + + +@app.route("/setup", methods=['GET', 'POST']) +def setup(): + form = SetupForm(request.form) + msg = None + if request.method == 'GET': + if exists('data/.user_configured'): + return redirect(url_for('login'), code=302) + return render_template('pages/setup.html', form=form, msg=msg) + if form.validate_on_submit(): + username = request.form.get('username', '', type=str) + password = request.form.get('password', '', type=str) + email = request.form.get('email', '', type=str) + user = User.query.filter_by(user=username).first() + user_by_email = User.query.filter_by(email=email).first() + if user or user_by_email: + msg = 'This email already exist on this system, sign in if it is yours.' + else: + pw_hash = password + user = User(username, email, pw_hash) + user.save() + Path('data/.user_configured').touch() + return redirect(url_for('login'), code=302) + else: + msg = 'Invalid input.' + return render_template('pages/setup.html', form=form, msg=msg) + + +@app.route('/login', methods=['GET', 'POST']) +def login(): + if not exists('data/.user_configured'): + return redirect(url_for('setup'), code=302) + form = LoginForm(request.form) + msg = None + if form.validate_on_submit(): + username = request.form.get('username', '', type=str) + password = request.form.get('password', '', type=str) + user = User.query.filter_by(user=username).first() + if user: + if user.password == password: + login_user(user) + return redirect(url_for('index')) + else: + msg = "用户名或密码错误。" + else: + msg = "此用户不存在" + return render_template('pages/login.html', form=form, msg=msg) + + +@app.route('/style.css') +def style(): + return send_from_directory('static', 'style.css') + + +@app.route('/favicon.ico') +def favicon(): + return send_from_directory('static', 'favicon.ico') + + +@app.route('/settings') +def settings(): + if not current_user.is_authenticated: + return redirect(url_for('login')) + return render_template('pages/settings.html') + + +@app.route('/profile') +def profile(): + if not current_user.is_authenticated: + return redirect(url_for('profile')) + form = ModifyForm(request.form) + msg = None + return render_template('pages/profile.html', form=form, msg=msg) + + +@app.route('/') +def index(): + if not current_user.is_authenticated: + return redirect(url_for('login')) + memory = virtual_memory() + memory_total = memory.total + memory_available = memory.available + memory_available_percentage = round(100 * float(memory_available)/float(memory_total), 2) + memory_free = memory.free + memory_free_percentage = round(100 * float(memory_free) / float(memory_total), 2) + memory_buffered = memory.buffers + memory_buffered_percentage = round(100 * float(memory_buffered) / float(memory_total), 2) + memory_cached = memory.cached + memory_cached_percentage = round(100 * float(memory_cached) / float(memory_total), 2) + return render_template('pages/index.html', + hostname=uname().node, + platform=platform, + kernel=uname().release, + python=python_version(), + telethon=telethon_version.__version__, + redis="Connected" if redis_status() else "Disconnected", + memory_total=round(memory_total/1048576, 2), + memory_available=round(memory_available/1048576, 2), + memory_available_percentage=memory_available_percentage, + memory_free=round(memory_free/1048576, 2), + memory_free_percentage=memory_free_percentage, + memory_buffered=round(memory_buffered/1048576, 2), + memory_buffered_percentage=memory_buffered_percentage, + memory_cached=round(memory_cached/1048576, 2), + memory_cached_percentage=memory_cached_percentage) + + +@app.errorhandler(404) +def no_such_file_or_directory(exception): + logs.debug(exception) + return render_template('pages/404.html') + + +@app.errorhandler(500) +def internal_server_error(exception): + logs.error(exception) + return render_template('pages/500.html') diff --git a/pagermaid/listener.py b/pagermaid/listener.py new file mode 100644 index 0000000..15f8411 --- /dev/null +++ b/pagermaid/listener.py @@ -0,0 +1,92 @@ +""" PagerMaid event listener. """ + +from telethon import events +from telethon.errors import MessageTooLongError +from distutils2.util import strtobool +from traceback import format_exc +from time import gmtime, strftime, time +from sys import exc_info +from telethon.events import StopPropagation +from pagermaid import bot, config, help_messages +from pagermaid.utils import attach_log + + +def listener(**args): + """ Register an event listener. """ + command = args.get('command', None) + description = args.get('description', None) + parameters = args.get('parameters', None) + pattern = args.get('pattern', None) + diagnostics = args.get('diagnostics', True) + ignore_edited = args.get('ignore_edited', False) + if command is not None: + if command in help_messages: + raise ValueError(f"出错了呜呜呜 ~ 命令 \"{command}\" 已经被注册。") + pattern = fr"^-{command}(?: |$)([\s\S]*)" + if pattern is not None and not pattern.startswith('(?i)'): + args['pattern'] = f"(?i){pattern}" + else: + args['pattern'] = pattern + if 'ignore_edited' in args: + del args['ignore_edited'] + if 'command' in args: + del args['command'] + if 'diagnostics' in args: + del args['diagnostics'] + if 'description' in args: + del args['description'] + if 'parameters' in args: + del args['parameters'] + + def decorator(function): + + async def handler(context): + try: + try: + parameter = context.pattern_match.group(1).split(' ') + if parameter == ['']: + parameter = [] + context.parameter = parameter + context.arguments = context.pattern_match.group(1) + except BaseException: + context.parameter = None + context.arguments = None + await function(context) + except StopPropagation: + raise StopPropagation + except MessageTooLongError: + await context.edit("出错了呜呜呜 ~ 生成的输出太长,无法显示。") + except BaseException: + try: + await context.edit("出错了呜呜呜 ~ 执行此命令时发生错误。") + except BaseException: + pass + if not diagnostics: + return + if not strtobool(config['error_report']): + pass + report = f"# Generated: {strftime('%H:%M %d/%m/%Y', gmtime())}. \n" \ + f"# ChatID: {str(context.chat_id)}. \n" \ + f"# UserID: {str(context.sender_id)}. \n" \ + f"# Message: \n-----BEGIN TARGET MESSAGE-----\n" \ + f"{context.text}\n-----END TARGET MESSAGE-----\n" \ + f"# Traceback: \n-----BEGIN TRACEBACK-----\n" \ + f"{str(format_exc())}\n-----END TRACEBACK-----\n" \ + f"# Error: \"{str(exc_info()[1])}\". \n" + await attach_log(report, 503691334, f"exception.{time()}.pagermaid", None, "Error report generated.") + + if not ignore_edited: + bot.add_event_handler(handler, events.MessageEdited(**args)) + bot.add_event_handler(handler, events.NewMessage(**args)) + + return handler + + if description is not None and command is not None: + if parameters is None: + parameters = "" + help_messages.update({ + f"{command}": f"**使用:** `-{command} {parameters}`\ + \n{description}" + }) + + return decorator diff --git a/pagermaid/modules/__init__.py b/pagermaid/modules/__init__.py new file mode 100644 index 0000000..c6754ba --- /dev/null +++ b/pagermaid/modules/__init__.py @@ -0,0 +1,49 @@ +""" PagerMaid module and plugin init. """ + +from os.path import dirname, basename, isfile, exists +from os import getcwd, makedirs +from glob import glob +from pagermaid import logs + + +def __list_modules(): + module_paths = glob(dirname(__file__) + "/*.py") + result = [ + basename(file)[:-3] + for file in module_paths + if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py") + ] + return result + + +def __list_plugins(): + plugin_paths = glob(f"{getcwd()}/plugins" + "/*.py") + if not exists(f"{getcwd()}/plugins"): + makedirs(f"{getcwd()}/plugins") + result = [ + basename(file)[:-3] + for file in plugin_paths + if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py") + ] + return result + + +module_list_string = "" +plugin_list_string = "" + +for module in sorted(__list_modules()): + module_list_string += f"{module}, " + +module_list_string = module_list_string[:-2] + +for plugin in sorted(__list_plugins()): + plugin_list_string += f"{plugin}, " + +plugin_list_string = plugin_list_string[:-2] + +module_list = sorted(__list_modules()) +plugin_list = sorted(__list_plugins()) +logs.info("Loading modules: %s", module_list_string) +if len(plugin_list) > 0: + logs.info("Loading plugins: %s", plugin_list_string) +__all__ = __list_modules() + ["module_list"] + __list_plugins() + ["plugin_list"] diff --git a/pagermaid/modules/account.py b/pagermaid/modules/account.py new file mode 100644 index 0000000..8e41c04 --- /dev/null +++ b/pagermaid/modules/account.py @@ -0,0 +1,232 @@ +""" This module contains utils to configure your account. """ + +from os import remove +from telethon.errors import ImageProcessFailedError, PhotoCropSizeSmallError +from telethon.errors.rpcerrorlist import PhotoExtInvalidError, UsernameOccupiedError, AboutTooLongError, \ + FirstNameInvalidError, UsernameInvalidError +from telethon.tl.functions.account import UpdateProfileRequest, UpdateUsernameRequest +from telethon.tl.functions.photos import DeletePhotosRequest, GetUserPhotosRequest, UploadProfilePhotoRequest +from telethon.tl.functions.users import GetFullUserRequest +from telethon.tl.types import InputPhoto, MessageMediaPhoto, MessageEntityMentionName +from struct import error as StructError +from pagermaid import bot, log +from pagermaid.listener import listener + + +@listener(outgoing=True, command="username", + description="通过命令快捷设置 username", + parameters="") +async def username(context): + """ 重新配置您的用户名。 """ + if len(context.parameter) > 1: + await context.edit("无效的参数。") + if len(context.parameter) == 1: + result = context.parameter[0] + else: + result = "" + try: + await bot(UpdateUsernameRequest(result)) + except UsernameOccupiedError: + await context.edit("用户名已存在。") + return + except UsernameInvalidError: + await context.edit("出错了呜呜呜 ~ 您好像输入了一个无效的用户名。") + return + await context.edit("用户名设置完毕。") + if result == "": + await log("用户名已被取消。") + return + await log(f"用户名已被设置为 `{result}`.") + + +@listener(outgoing=True, command="name", + description="换个显示名称。", + parameters=" ") +async def name(context): + """ Updates your display name. """ + if len(context.parameter) == 2: + first_name = context.parameter[0] + last_name = context.parameter[1] + elif len(context.parameter) == 1: + first_name = context.parameter[0] + last_name = " " + else: + await context.edit("无效的参数。") + return + try: + await bot(UpdateProfileRequest( + first_name=first_name, + last_name=last_name)) + except FirstNameInvalidError: + await context.edit("出错了呜呜呜 ~ 您好像输入了一个无效的 first name.") + return + await context.edit("显示名称已成功更改。") + if last_name != " ": + await log(f"显示名称已被更改为 `{first_name} {last_name}`.") + else: + await log(f"显示名称已被更改为 `{first_name}`.") + + +@listener(outgoing=True, command="pfp", + description="回复某条带附件的消息然后把它变成咱的头像") +async def pfp(context): + """ Sets your profile picture. """ + reply = await context.get_reply_message() + photo = None + await context.edit("设置头像中 . . .") + if reply.media: + if isinstance(reply.media, MessageMediaPhoto): + photo = await bot.download_media(message=reply.photo) + elif "image" in reply.media.document.mime_type.split('/'): + photo = await bot.download_file(reply.media.document) + else: + await context.edit("出错了呜呜呜 ~ 无法将附件解析为图片。") + + if photo: + try: + await bot(UploadProfilePhotoRequest( + await bot.upload_file(photo) + )) + remove(photo) + await context.edit("头像修改成功啦 ~") + except PhotoCropSizeSmallError: + await context.edit("出错了呜呜呜 ~ 图像尺寸小于最小要求。") + except ImageProcessFailedError: + await context.edit("出错了呜呜呜 ~ 服务器解释命令时发生错误。") + except PhotoExtInvalidError: + await context.edit("出错了呜呜呜 ~ 无法将附件解析为图片。") + + +@listener(outgoing=True, command="bio", + description="设置咱的公开情报", + parameters="") +async def bio(context): + """ Sets your bio. """ + try: + await bot(UpdateProfileRequest(about=context.arguments)) + except AboutTooLongError: + await context.edit("出错了呜呜呜 ~ 情报太长啦") + return + await context.edit("此情报公成功啦") + if context.arguments == "": + await log("公开的情报成功关闭啦") + return + await log(f"公开的情报已被设置为 `{context.arguments}`.") + + +@listener(outgoing=True, command="rmpfp", + description="删除指定数量的头像", + parameters="<整数>") +async def rmpfp(context): + """ Removes your profile picture. """ + group = context.text[8:] + if group == 'all': + limit = 0 + elif group.isdigit(): + limit = int(group) + else: + limit = 1 + + pfp_list = await bot(GetUserPhotosRequest( + user_id=context.from_id, + offset=0, + max_id=0, + limit=limit)) + input_photos = [] + for sep in pfp_list.photos: + input_photos.append( + InputPhoto( + id=sep.id, + access_hash=sep.access_hash, + file_reference=sep.file_reference + ) + ) + await bot(DeletePhotosRequest(id=input_photos)) + await context.edit(f"`删除了 {len(input_photos)} 张头像。`") + + +@listener(outgoing=True, command="profile", + description="生成一个用户简介 ~ 消息有点长", + parameters="") +async def profile(context): + """ Queries profile of a user. """ + if len(context.parameter) > 1: + await context.edit("无效的参数。") + return + + await context.edit("正在生成用户简介摘要 . . .") + if context.reply_to_msg_id: + reply_message = await context.get_reply_message() + user_id = reply_message.from_id + target_user = await context.client(GetFullUserRequest(user_id)) + else: + if len(context.parameter) == 1: + user = context.parameter[0] + if user.isnumeric(): + user = int(user) + else: + user_object = await context.client.get_me() + user = user_object.id + if context.message.entities is not None: + if isinstance(context.message.entities[0], MessageEntityMentionName): + return await context.client(GetFullUserRequest(context.message.entities[0].user_id)) + try: + user_object = await context.client.get_entity(user) + target_user = await context.client(GetFullUserRequest(user_object.id)) + except (TypeError, ValueError, OverflowError, StructError) as exception: + if str(exception).startswith("出错了呜呜呜 ~ 找不到与之对应的任何内容"): + await context.edit("出错了呜呜呜 ~ 指定的用户不存在。") + return + if str(exception).startswith("出错了呜呜呜 ~ 没有用户"): + await context.edit("出错了呜呜呜 ~ 指定的用户名不存在。") + return + if str(exception).startswith("出错了呜呜呜 ~ 您确定输入了东西?") or isinstance(exception, StructError): + await context.edit("出错了呜呜呜 ~ 指定的UserID与用户不对应。") + return + if isinstance(exception, OverflowError): + await context.edit("出错了呜呜呜 ~ 指定的 UserID 已超出整数限制,您确定输对了?") + return + raise exception + user_type = "Bot" if target_user.user.bot else "User" + username_system = f"@{target_user.user.username}" if target_user.user.username is not None else ( + "This user have not yet defined their username.") + first_name = target_user.user.first_name.replace("\u2060", "") + last_name = target_user.user.last_name.replace("\u2060", "") if target_user.user.last_name is not None else ( + "This user did not define a last name." + ) + biography = target_user.about if target_user.about is not None else "This user did not define a biography string." + caption = f"**Profile:** \n" \ + f"Username: {username_system} \n" \ + f"UserID: {target_user.user.id} \n" \ + f"First Name: {first_name} \n" \ + f"Last Name: {last_name} \n" \ + f"Biography: {biography} \n" \ + f"Common Groups: {target_user.common_chats_count} \n" \ + f"Verified: {target_user.user.verified} \n" \ + f"Restricted: {target_user.user.restricted} \n" \ + f"Type: {user_type} \n" \ + f"Permanent Link: [{first_name}](tg://user?id={target_user.user.id})" + reply_to = context.message.reply_to_msg_id + photo = await context.client.download_profile_photo( + target_user.user.id, + "./" + str(target_user.user.id) + ".jpg", + download_big=True + ) + if not reply_to: + reply_to = None + try: + await context.client.send_file( + context.chat_id, + photo, + caption=caption, + link_preview=False, + force_document=False, + reply_to=reply_to + ) + if not photo.startswith("http"): + remove(photo) + await context.delete() + return + except TypeError: + await context.edit(caption) + remove(photo) diff --git a/pagermaid/modules/avoid.py b/pagermaid/modules/avoid.py new file mode 100644 index 0000000..f05f6d7 --- /dev/null +++ b/pagermaid/modules/avoid.py @@ -0,0 +1,94 @@ +""" PagerMaid module for different ways to avoid users. """ + +from pagermaid import redis, log, redis_status +from pagermaid.listener import listener + + +@listener(outgoing=True, command="ghost", + description="开启对话的自动已读,需要 Redis", + parameters="") +async def ghost(context): + """ Toggles ghosting of a user. """ + if not redis_status(): + await context.edit("出错了呜呜呜 ~ Redis 离线,无法运行。") + return + if len(context.parameter) != 1: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + myself = await context.client.get_me() + self_user_id = myself.id + if context.parameter[0] == "true": + if context.chat_id == self_user_id: + await context.edit("在?为什么要在收藏夹里面用?") + return + redis.set("ghosted.chat_id." + str(context.chat_id), "true") + await context.delete() + await log(f"ChatID {str(context.chat_id)} 已被添加到自动已读对话列表中。") + elif context.parameter[0] == "false": + if context.chat_id == self_user_id: + await context.edit("在?为什么要在收藏夹里面用?") + return + redis.delete("ghosted.chat_id." + str(context.chat_id)) + await context.delete() + await log(f"ChatID {str(context.chat_id)} 已从自动已读对话列表中移除。") + elif context.parameter[0] == "status": + if redis.get("ghosted.chat_id." + str(context.chat_id)): + await context.edit("emm...当前对话已被加入自动已读对话列表中。") + else: + await context.edit("emm...当前对话已从自动已读对话列表中移除。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + + +@listener(outgoing=True, command="deny", + description="切换拒绝聊天功能,需要 redis", + parameters="") +async def deny(context): + """ Toggles denying of a user. """ + if not redis_status(): + await context.edit("出错了呜呜呜 ~ Redis 离线,无法运行。") + return + if len(context.parameter) != 1: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + myself = await context.client.get_me() + self_user_id = myself.id + if context.parameter[0] == "true": + if context.chat_id == self_user_id: + await context.edit("在?为什么要在收藏夹里面用?") + return + redis.set("denied.chat_id." + str(context.chat_id), "true") + await context.delete() + await log(f"ChatID {str(context.chat_id)} 已被添加到自动拒绝对话列表中。") + elif context.parameter[0] == "false": + if context.chat_id == self_user_id: + await context.edit("在?为什么要在收藏夹里面用?") + return + redis.delete("denied.chat_id." + str(context.chat_id)) + await context.delete() + await log(f"ChatID {str(context.chat_id)} 已从自动拒绝对话列表中移除。") + elif context.parameter[0] == "status": + if redis.get("denied.chat_id." + str(context.chat_id)): + await context.edit("emm...当前对话已被加入自动拒绝对话列表中。") + else: + await context.edit("emm...当前对话已从自动拒绝对话列表移除。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + + +@listener(incoming=True, ignore_edited=True) +async def set_read_acknowledgement(context): + """ Event handler to infinitely read ghosted messages. """ + if not redis_status(): + return + if redis.get("ghosted.chat_id." + str(context.chat_id)): + await context.client.send_read_acknowledge(context.chat_id) + + +@listener(incoming=True, ignore_edited=True) +async def message_removal(context): + """ Event handler to infinitely delete denied messages. """ + if not redis_status(): + return + if redis.get("denied.chat_id." + str(context.chat_id)): + await context.delete() diff --git a/pagermaid/modules/captions.py b/pagermaid/modules/captions.py new file mode 100644 index 0000000..8582073 --- /dev/null +++ b/pagermaid/modules/captions.py @@ -0,0 +1,176 @@ +""" PagerMaid module for adding captions to image. """ + +from os import remove +from magic import Magic +from pygments import highlight as syntax_highlight +from pygments.formatters import img +from pygments.lexers import guess_lexer +from pagermaid import log, module_dir +from pagermaid.listener import listener +from pagermaid.utils import execute, upload_attachment + + +@listener(outgoing=True, command="convert", + description="回复某附件消息然后转换为图片输出") +async def convert(context): + """ Converts image to png. """ + reply = await context.get_reply_message() + await context.edit("正在转换中 . . .") + target_file_path = await context.download_media() + reply_id = context.reply_to_msg_id + if reply: + target_file_path = await context.client.download_media( + await context.get_reply_message() + ) + if target_file_path is None: + await context.edit("出错了呜呜呜 ~ 回复的消息中好像没有附件。") + result = await execute(f"{module_dir}/assets/caption.sh \"" + target_file_path + + "\" result.png" + " \"" + str("") + + "\" " + "\"" + str("") + "\"") + if not result: + await handle_failure(context, target_file_path) + return + if not await upload_attachment("result.png", context.chat_id, reply_id): + await context.edit("出错了呜呜呜 ~ 转换期间发生了错误。") + remove(target_file_path) + return + await context.delete() + remove(target_file_path) + remove("result.png") + + +@listener(outgoing=True, command="caption", + description="将两行字幕添加到回复的图片中,字幕将分别添加到顶部和底部,字幕需要以逗号分隔。", + parameters=", ") +async def caption(context): + """ Generates images with captions. """ + await context.edit("正在渲染图像 . . .") + if context.arguments: + if ',' in context.arguments: + string_1, string_2 = context.arguments.split(',', 1) + else: + string_1 = context.arguments + string_2 = " " + else: + await context.edit("出错了呜呜呜 ~ 错误的语法。") + return + reply = await context.get_reply_message() + target_file_path = await context.download_media() + reply_id = context.reply_to_msg_id + if reply: + target_file_path = await context.client.download_media( + await context.get_reply_message() + ) + if target_file_path is None: + await context.edit("出错了呜呜呜 ~ 目标消息中没有附件") + if not target_file_path.endswith(".mp4"): + result = await execute(f"{module_dir}/assets/caption.sh \"{target_file_path}\" " + f"{module_dir}/assets/Impact-Regular.ttf " + f"\"{str(string_1)}\" \"{str(string_2)}\"") + result_file = "result.png" + else: + result = await execute(f"{module_dir}/assets/caption-gif.sh \"{target_file_path}\" " + f"{module_dir}/assets/Impact-Regular.ttf " + f"\"{str(string_1)}\" \"{str(string_2)}\"") + result_file = "result.gif" + if not result: + await handle_failure(context, target_file_path) + return + if not await upload_attachment(result_file, context.chat_id, reply_id): + await context.edit("出错了呜呜呜 ~ 转换期间发生了错误。") + remove(target_file_path) + return + await context.delete() + if string_2 != " ": + message = string_1 + "` 和 `" + string_2 + else: + message = string_1 + remove(target_file_path) + remove(result_file) + await log(f"字幕 `{message}` 添加到了一张图片.") + + +@listener(outgoing=True, command="ocr", + description="从回复的图片中提取文本") +async def ocr(context): + """ Extracts texts from images. """ + reply = await context.get_reply_message() + await context.edit("`正在处理图片,请稍候 . . .`") + if reply: + target_file_path = await context.client.download_media( + await context.get_reply_message() + ) + else: + target_file_path = await context.download_media() + if target_file_path is None: + await context.edit("`出错了呜呜呜 ~ 回复的消息中没有附件。`") + return + result = await execute(f"tesseract {target_file_path} stdout") + if not result: + await context.edit("`出错了呜呜呜 ~ 请向原作者报告此问题。`") + try: + remove(target_file_path) + except FileNotFoundError: + pass + return + success = False + if result == "/bin/sh: fbdump: command not found": + await context.edit("出错了呜呜呜 ~ 您好像少安装了个包?") + else: + result = await execute(f"tesseract {target_file_path} stdout", False) + await context.edit(f"**以下是提取到的文字: **\n{result}") + success = True + remove(target_file_path) + if not success: + return + + +@listener(outgoing=True, command="highlight", + description="生成有语法高亮显示的图片。", + parameters="") +async def highlight(context): + """ Generates syntax highlighted images. """ + if context.fwd_from: + return + reply = await context.get_reply_message() + reply_id = None + await context.edit("正在渲染图片,请稍候 . . .") + if reply: + reply_id = reply.id + target_file_path = await context.client.download_media( + await context.get_reply_message() + ) + if target_file_path is None: + message = reply.text + else: + if Magic(mime=True).from_file(target_file_path) != 'text/plain': + message = reply.text + else: + with open(target_file_path, 'r') as file: + message = file.read() + remove(target_file_path) + else: + if context.arguments: + message = context.arguments + else: + await context.edit("`出错了呜呜呜 ~ 无法检索目标消息。`") + return + lexer = guess_lexer(message) + formatter = img.JpgImageFormatter(style="colorful") + result = syntax_highlight(message, lexer, formatter, outfile=None) + await context.edit("正在上传图片 . . .") + await context.client.send_file( + context.chat_id, + result, + reply_to=reply_id + ) + await context.delete() + + +async def handle_failure(context, target_file_path): + await context.edit("出错了呜呜呜 ~ 请向原作者报告此问题。") + try: + remove("result.png") + remove(target_file_path) + except FileNotFoundError: + pass diff --git a/pagermaid/modules/clock.py b/pagermaid/modules/clock.py new file mode 100644 index 0000000..2643a81 --- /dev/null +++ b/pagermaid/modules/clock.py @@ -0,0 +1,68 @@ +""" This module handles world clock related utility. """ + +from datetime import datetime +from pytz import country_names, country_timezones, timezone +from pagermaid import config +from pagermaid.listener import listener + + +@listener(outgoing=True, command="time", + description="显示特定区域的时间,如果参数为空,则默认显示配置值。", + parameters="<地区>") +async def time(context): + """ For querying time. """ + if len(context.parameter) > 1: + context.edit("出错了呜呜呜 ~ 无效的参数。") + if len(context.parameter) == 1: + country = context.parameter[0].title() + else: + country = config['application_region'] + time_form = "%I:%M %p" + date_form = "%A %d/%m/%y" + if not country: + time_zone = await get_timezone(config['application_region']) + await context.edit( + f"**Time in {config['application_region']}**\n" + f"`{datetime.now(time_zone).strftime(date_form)} " + f"{datetime.now(time_zone).strftime(time_form)}`" + ) + return + + time_zone = await get_timezone(country) + if not time_zone: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + + try: + country_name = country_names[country] + except KeyError: + country_name = country + + await context.edit(f"**{country_name} 时间:**\n" + f"`{datetime.now(time_zone).strftime(date_form)} " + f"{datetime.now(time_zone).strftime(time_form)}`") + + +async def get_timezone(target): + """ Returns timezone of the parameter in command. """ + if "(Uk)" in target: + target = target.replace("Uk", "UK") + if "(Us)" in target: + target = target.replace("Us", "US") + if " Of " in target: + target = target.replace(" Of ", " of ") + if "(Western)" in target: + target = target.replace("(Western)", "(western)") + if "Minor Outlying Islands" in target: + target = target.replace("Minor Outlying Islands", "minor outlying islands") + if "Nl" in target: + target = target.replace("Nl", "NL") + + for country_code in country_names: + if target == country_names[country_code]: + return timezone(country_timezones[country_code][0]) + try: + if country_names[target]: + return timezone(country_timezones[target][0]) + except KeyError: + return diff --git a/pagermaid/modules/external.py b/pagermaid/modules/external.py new file mode 100644 index 0000000..b4da259 --- /dev/null +++ b/pagermaid/modules/external.py @@ -0,0 +1,230 @@ +""" PagerMaid features that uses external HTTP APIs other than Telegram. """ + +from googletrans import Translator, LANGUAGES +from os import remove +from urllib import request, parse +from math import ceil +from time import sleep +from threading import Thread +from bs4 import BeautifulSoup +from gtts import gTTS +from re import compile as regex_compile +from re import search, sub +from collections import deque +from pagermaid import log +from pagermaid.listener import listener, config +from pagermaid.utils import clear_emojis, attach_log, fetch_youtube_audio + + +@listener(outgoing=True, command="translate", + description="通过Google翻译将目标消息翻译成指定的语言。", + parameters="") +async def translate(context): + """ PagerMaid universal translator. """ + translator = Translator() + reply = await context.get_reply_message() + message = context.arguments + lang = config['application_language'] + if message: + pass + elif reply: + message = reply.text + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + + try: + await context.edit("生成翻译中 . . .") + result = translator.translate(clear_emojis(message), dest=lang) + except ValueError: + await context.edit("出错了呜呜呜 ~ 找不到目标语言,请更正配置文件中的错误。") + return + + source_lang = LANGUAGES[f'{result.src.lower()}'] + trans_lang = LANGUAGES[f'{result.dest.lower()}'] + result = f"**Translated** from {source_lang.title()}:\n{result.text}" + + if len(result) > 4096: + await context.edit("出错了呜呜呜 ~ 输出超出 TG 限制,正在附加文件。") + await attach_log(result, context.chat_id, "translation.txt", context.id) + return + await context.edit(result) + if len(result) <= 4096: + await log(f"Translated `{message}` from {source_lang} to {trans_lang}.") + else: + await log(f"Translated message from {source_lang} to {trans_lang}.") + + +@listener(outgoing=True, command="tts", + description="通过 Google文本到语音 基于字符串生成语音消息。", + parameters="") +async def tts(context): + """ Send TTS stuff as voice message. """ + reply = await context.get_reply_message() + message = context.arguments + lang = config['application_language'] + if message: + pass + elif reply: + message = reply.text + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + + try: + await context.edit("生成语音中 . . .") + gTTS(message, lang) + except AssertionError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + except ValueError: + await context.edit('出错了呜呜呜 ~ 找不到目标语言,请更正配置文件中的错误。') + return + except RuntimeError: + await context.edit('出错了呜呜呜 ~ 加载语言数组时出错。') + return + google_tts = gTTS(message, lang) + google_tts.save("vocals.mp3") + with open("vocals.mp3", "rb") as audio: + line_list = list(audio) + line_count = len(line_list) + if line_count == 1: + google_tts = gTTS(message, lang) + google_tts.save("vocals.mp3") + with open("vocals.mp3", "r"): + await context.client.send_file(context.chat_id, "vocals.mp3", voice_note=True) + remove("vocals.mp3") + if len(message) <= 4096: + await log(f"生成了一条文本到语音的音频消息 : `{message}`.") + else: + await log("生成了一条文本到语音的音频消息。") + await context.delete() + + +@listener(outgoing=True, command="google", + description="使用 Google 查询", + parameters="") +async def google(context): + """ Searches Google for a string. """ + if context.arguments == "": + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + query = context.arguments + await context.edit("正在拉取结果 . . .") + search_results = GoogleSearch().search(query=query) + results = "" + count = 0 + for result in search_results.results: + if count == int(config['result_length']): + break + count += 1 + title = result.title + link = result.url + desc = result.text + results += f"\n[{title}]({link}) \n`{desc}`\n" + await context.edit(f"**Google** |`{query}`| 🎙 🔍 \n" + f"{results}", + link_preview=False) + await log(f"在Google搜索引擎上查询了 `{query}`") + + +@listener(outgoing=True, command="fetchaudio", + description="从多个平台获取音频文件。", + parameters="") +async def fetchaudio(context): + """ Fetches audio from provided URL. """ + url = context.arguments + reply = await context.get_reply_message() + reply_id = None + await context.edit("拉取音频中 . . .") + if reply: + reply_id = reply.id + if url is None: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + youtube_pattern = regex_compile(r"^(http(s)?://)?((w){3}.)?youtu(be|.be)?(\.com)?/.+") + if youtube_pattern.match(url): + if not await fetch_youtube_audio(url, context.chat_id, reply_id): + await context.edit("出错了呜呜呜 ~ 原声带下载失败。") + await log(f"从链接中获取了一条音频,链接: {url}.") + + +class GoogleSearch: + USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0" + SEARCH_URL = "https://google.com/search" + RESULT_SELECTOR = "div.r > a" + TOTAL_SELECTOR = "#resultStats" + RESULTS_PER_PAGE = 10 + DEFAULT_HEADERS = [ + ('User-Agent', USER_AGENT), + ("Accept-Language", "en-US,en;q=0.5"), + ] + + def search(self, query, num_results=10, prefetch_pages=True, prefetch_threads=10): + search_results = [] + pages = int(ceil(num_results / float(GoogleSearch.RESULTS_PER_PAGE))) + fetcher_threads = deque([]) + total = None + for i in range(pages): + start = i * GoogleSearch.RESULTS_PER_PAGE + opener = request.build_opener() + opener.addheaders = GoogleSearch.DEFAULT_HEADERS + response = opener.open(GoogleSearch.SEARCH_URL + "?q=" + parse.quote(query) + ("" if start == 0 else ( + "&start=" + str(start)))) + soup = BeautifulSoup(response.read(), "lxml") + response.close() + if total is None: + total_text = soup.select(GoogleSearch.TOTAL_SELECTOR)[0].children.__next__() + total = int(sub("[', ]", "", search("(([0-9]+[', ])*[0-9]+)", total_text).group(1))) + results = self.parse_results(soup.select(GoogleSearch.RESULT_SELECTOR)) + if len(search_results) + len(results) > num_results: + del results[num_results - len(search_results):] + search_results += results + if prefetch_pages: + for result in results: + while True: + running = 0 + for thread in fetcher_threads: + if thread.is_alive(): + running += 1 + if running < prefetch_threads: + break + sleep(1) + fetcher_thread = Thread(target=result.get_text) + fetcher_thread.start() + fetcher_threads.append(fetcher_thread) + for thread in fetcher_threads: + thread.join() + return SearchResponse(search_results, total) + + @staticmethod + def parse_results(results): + search_results = [] + for result in results: + url = result["href"] + title = result.find_all('h3')[0].text + text = result.parent.parent.find_all('div', {'class': 's'})[0].text + search_results.append(SearchResult(title, url, text)) + return search_results + + +class SearchResponse: + def __init__(self, results, total): + self.results = results + self.total = total + + +class SearchResult: + def __init__(self, title, url, text): + self.title = title + self.url = url + self.text = text + + def get_text(self): + return self.text + + def __str__(self): + return str(self.__dict__) + + def __repr__(self): + return self.__str__() diff --git a/pagermaid/modules/fun.py b/pagermaid/modules/fun.py new file mode 100644 index 0000000..b7f865b --- /dev/null +++ b/pagermaid/modules/fun.py @@ -0,0 +1,354 @@ +""" Fun related chat utilities. """ + +from asyncio import sleep +from random import choice, random, randint, randrange, seed +from telethon.errors.rpcerrorlist import MessageNotModifiedError +from cowpy import cow +from pagermaid import module_dir +from pagermaid.listener import listener +from pagermaid.utils import owoify, execute, random_gen, obtain_message + + +@listener(outgoing=True, command="animate", + description="使用消息制作文本动画。", + parameters="") +async def animate(context): + """ Make a text animation using a message. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + interval = 0.3 + words = message.split(" ") + count = 0 + buffer = "" + while count != len(words): + await sleep(interval) + buffer = f"{buffer} {words[count]}" + await context.edit(buffer) + count += 1 + + +@listener(outgoing=True, command="teletype", + description="通过编辑消息来制作打字动画。", + parameters="") +async def teletype(context): + """ Makes a typing animation via edits to the message. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + interval = 0.03 + cursor = "█" + buffer = '' + await context.edit(cursor) + await sleep(interval) + for character in message: + buffer = f"{buffer}{character}" + buffer_commit = f"{buffer}{cursor}" + await context.edit(buffer_commit) + await sleep(interval) + await context.edit(buffer) + await sleep(interval) + + +@listener(outgoing=True, command="mock", + description="通过怪异的大写字母来嘲笑人们。", + parameters="") +async def mock(context): + """ Mock people with weird capitalization. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = mocker(message) + reply = await context.get_reply_message() + await context.edit(result) + if reply: + if reply.sender.is_self: + try: + await reply.edit(result) + except MessageNotModifiedError: + await context.edit("A rare event of two mocking messages being the same just occurred.") + return + await context.delete() + + +@listener(outgoing=True, command="widen", + description="加宽字符串中的每个字符。", + parameters="") +async def widen(context): + """ Widens every character in a string. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + wide_map = dict((i, i + 0xFEE0) for i in range(0x21, 0x7F)) + wide_map[0x20] = 0x3000 + result = str(message).translate(wide_map) + reply = await context.get_reply_message() + await context.edit(result) + if reply: + if reply.sender.is_self: + try: + await reply.edit(result) + except MessageNotModifiedError: + await context.edit("此消息已被加宽。") + return + await context.delete() + + +@listener(outgoing=True, command="fox", + description="使用狐狸来让您的消息看起来不那么完整", + parameters="") +async def fox(context): + """ Makes a fox scratch your message. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = corrupt(" ".join(message).lower()) + await edit_reply(result, context) + + +@listener(outgoing=True, command="owo", + description="将消息转换为OwO。", + parameters="") +async def owo(context): + """ Makes messages become OwO. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = owoify(message) + await edit_reply(result, context) + + +@listener(outgoing=True, command="flip", + description="翻转消息。", + parameters="") +async def flip(context): + """ Flip flops the message. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = message[::-1] + await edit_reply(result, context) + + +@listener(outgoing=True, command="ship", + description="生成随机基友,也支持指定目标。", + parameters=" ") +async def ship(context): + """ Ship randomly generated members. """ + await context.edit("生成基友中 . . .") + if len(context.parameter) == 0: + users = [] + async for user in context.client.iter_participants(context.chat_id): + users.append(user) + target_1 = choice(users) + target_2 = choice(users) + if len(users) == 1: + target_1 = users[0] + target_2 = await context.client.get_me() + elif len(context.parameter) == 1: + users = [] + user_expression = int(context.parameter[0]) if context.parameter[0].isnumeric() else context.parameter[0] + try: + target_1 = await context.client.get_entity(user_expression) + except BaseException: + await context.edit("出错了呜呜呜 ~ 获取用户时出错。") + return + async for user in context.client.iter_participants(context.chat_id): + users.append(user) + target_2 = choice(users) + elif len(context.parameter) == 2: + user_expression_1 = int(context.parameter[0]) if context.parameter[0].isnumeric() else context.parameter[0] + user_expression_2 = int(context.parameter[1]) if context.parameter[1].isnumeric() else context.parameter[1] + try: + target_1 = await context.client.get_entity(user_expression_1) + target_2 = await context.client.get_entity(user_expression_2) + except BaseException: + await context.edit("出错了呜呜呜 ~ 获取用户时出错。") + return + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + await context.edit(f"**恭喜两位(((**\n" + f"[{target_1.first_name}](tg://user?id={target_1.id}) + " + f"[{target_2.first_name}](tg://user?id={target_2.id}) = ❤️") + + +@listener(outgoing=True, command="rng", + description="生成具有特定长度的随机字符串。", + parameters="") +async def rng(context): + """ Generates a random string with a specific length. """ + if len(context.parameter) == 0: + await context.edit(await random_gen("A-Za-z0-9")) + return + if len(context.parameter) == 1: + try: + await context.edit(await random_gen("A-Za-z0-9", int(context.parameter[0]))) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + await context.edit("出错了呜呜呜 ~ 无效的参数。") + + +@listener(outgoing=True, command="aaa", + description="发送一条包含 a 和 A 的消息", + parameters="") +async def aaa(context): + """ Saves a few presses of the A and shift key. """ + if len(context.parameter) == 0: + await context.edit(await random_gen("Aa")) + return + if len(context.parameter) == 1: + try: + await context.edit(await random_gen("Aa", int(context.parameter[0]))) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + await context.edit("出错了呜呜呜 ~ 无效的参数。") + + +@listener(outgoing=True, command="asciiart", + description="为指定的字符串生成ASCII文字。", + parameters="") +async def asciiart(context): + """ Generates ASCII art of specified string. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = await execute(f"figlet -f {module_dir}/assets/graffiti.flf '{message}'") + await context.edit(f"```\n{result}\n```") + + +@listener(outgoing=True, command="tuxsay", + description="生成一条看起来像企鹅说话的 ASCII 艺术消息", + parameters="") +async def tuxsay(context): + """ Generates ASCII art of Tux saying a specific message. """ + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + result = cow.Tux().milk(message) + await context.edit(f"```\n{result}\n```") + + +@listener(outgoing=True, command="coin", + description="扔硬币。") +async def coin(context): + """ Throws a coin. """ + await context.edit("扔硬币中 . . .") + await sleep(.5) + outcomes = ['A'] * 5 + ['B'] * 5 + ['C'] * 1 + result = choice(outcomes) + count = 0 + while count <= 3: + await context.edit("`.` . .") + await sleep(.3) + await context.edit(". `.` .") + await sleep(.3) + await context.edit(". . `.`") + await sleep(.3) + count += 1 + if result == "C": + await context.edit("我丢了硬币") + elif result == "B": + await context.edit("Tails!") + elif result == "A": + await context.edit("Heads!") + + +def mocker(text, diversity_bias=0.5, random_seed=None): + """ Randomizes case in a string. """ + if diversity_bias < 0 or diversity_bias > 1: + raise ValueError('diversity_bias must be between the inclusive range [0,1]') + seed(random_seed) + out = '' + last_was_upper = True + swap_chance = 0.5 + for c in text: + if c.isalpha(): + if random() < swap_chance: + last_was_upper = not last_was_upper + swap_chance = 0.5 + c = c.upper() if last_was_upper else c.lower() + swap_chance += (1 - swap_chance) * diversity_bias + out += c + return out + + +def corrupt(text): + """ Summons fox to scratch strings. """ + num_accents_up = (1, 3) + num_accents_down = (1, 3) + num_accents_middle = (1, 2) + max_accents_per_letter = 3 + dd = ['̖', ' ̗', ' ̘', ' ̙', ' ̜', ' ̝', ' ̞', ' ̟', ' ̠', ' ̤', ' ̥', ' ̦', ' ̩', ' ̪', ' ̫', ' ̬', ' ̭', ' ̮', + ' ̯', ' ̰', ' ̱', ' ̲', ' ̳', ' ̹', ' ̺', ' ̻', ' ̼', ' ͅ', ' ͇', ' ͈', ' ͉', ' ͍', ' ͎', ' ͓', ' ͔', ' ͕', + ' ͖', ' ͙', ' ͚', ' ', ] + du = [' ̍', ' ̎', ' ̄', ' ̅', ' ̿', ' ̑', ' ̆', ' ̐', ' ͒', ' ͗', ' ͑', ' ̇', ' ̈', ' ̊', ' ͂', ' ̓', ' ̈́', ' ͊', + ' ͋', ' ͌', ' ̃', ' ̂', ' ̌', ' ͐', ' ́', ' ̋', ' ̏', ' ̽', ' ̉', ' ͣ', ' ͤ', ' ͥ', ' ͦ', ' ͧ', ' ͨ', ' ͩ', + ' ͪ', ' ͫ', ' ͬ', ' ͭ', ' ͮ', ' ͯ', ' ̾', ' ͛', ' ͆', ' ̚', ] + dm = [' ̕', ' ̛', ' ̀', ' ́', ' ͘', ' ̡', ' ̢', ' ̧', ' ̨', ' ̴', ' ̵', ' ̶', ' ͜', ' ͝', ' ͞', ' ͟', ' ͠', ' ͢', + ' ̸', ' ̷', ' ͡', ] + letters = list(text) + new_letters = [] + + for letter in letters: + a = letter + + if not a.isalpha(): + new_letters.append(a) + continue + + num_accents = 0 + num_u = randint(num_accents_up[0], num_accents_up[1]) + num_d = randint(num_accents_down[0], num_accents_down[1]) + num_m = randint(num_accents_middle[0], num_accents_middle[1]) + while num_accents < max_accents_per_letter and num_u + num_m + num_d != 0: + rand_int = randint(0, 2) + if rand_int == 0: + if num_u > 0: + a = a.strip() + du[randrange(0, len(du))].strip() + num_accents += 1 + num_u -= 1 + elif rand_int == 1: + if num_d > 0: + a = a.strip() + dd[randrange(0, len(dd))].strip() + num_d -= 1 + num_accents += 1 + else: + if num_m > 0: + a = a.strip() + dm[randrange(0, len(dm))].strip() + num_m -= 1 + num_accents += 1 + + new_letters.append(a) + + new_word = ''.join(new_letters) + return new_word + + +async def edit_reply(result, context): + reply = await context.get_reply_message() + await context.edit(result) + if reply: + if reply.sender.is_self: + await reply.edit(result) + await context.delete() diff --git a/pagermaid/modules/help.py b/pagermaid/modules/help.py new file mode 100644 index 0000000..b8d3728 --- /dev/null +++ b/pagermaid/modules/help.py @@ -0,0 +1,22 @@ +""" The help module. """ + +from pagermaid import help_messages +from pagermaid.listener import listener + + +@listener(outgoing=True, command="help", + description="显示命令列表或单个命令的帮助。", + parameters="<命令>") +async def help(context): + """ The help command,""" + if context.arguments: + if context.arguments in help_messages: + await context.edit(str(help_messages[context.arguments])) + else: + await context.edit("无效的参数") + else: + result = "**命令列表: \n**" + for command in sorted(help_messages, reverse=False): + result += "`" + str(command) + result += "`, " + await context.edit(result[:-2] + "\n**发送 \"-help <命令>\" 以查看特定命令的帮助。**") diff --git a/pagermaid/modules/message.py b/pagermaid/modules/message.py new file mode 100644 index 0000000..f9930f5 --- /dev/null +++ b/pagermaid/modules/message.py @@ -0,0 +1,126 @@ +""" Message related utilities. """ + +from telethon.tl.functions.messages import DeleteChatUserRequest +from telethon.tl.functions.channels import LeaveChannelRequest +from telethon.errors.rpcerrorlist import ChatIdInvalidError +from distutils2.util import strtobool +from pagermaid import bot, log, config +from pagermaid.listener import listener + + +@listener(outgoing=True, command="userid", + description="查询您回复消息的发送者的用户ID。") +async def userid(context): + """ Query the UserID of the sender of the message you replied to. """ + message = await context.get_reply_message() + if message: + if not message.forward: + user_id = message.sender.id + if message.sender.username: + target = "@" + message.sender.username + else: + try: + target = "**" + message.sender.first_name + "**" + except TypeError: + target = "**" + "死号" + "**" + + else: + user_id = message.forward.sender.id + if message.forward.sender.username: + target = "@" + message.forward.sender.username + else: + target = "*" + message.forward.sender.first_name + "*" + await context.edit( + f"**Username:** {target} \n" + f"**UserID:** `{user_id}`" + ) + else: + await context.edit("出错了呜呜呜 ~ 无法获取目标消息的信息。") + + +@listener(outgoing=True, command="chatid", + description="查询当前会话的 chatid 。") +async def chatid(context): + """ Queries the chatid of the chat you are in. """ + await context.edit("ChatID: `" + str(context.chat_id) + "`") + + +@listener(outgoing=True, command="log", + description="转发一条消息到日志。", + parameters="") +async def log(context): + """ Forwards a message into log group """ + if strtobool(config['log']): + if context.reply_to_msg_id: + reply_msg = await context.get_reply_message() + await reply_msg.forward_to(int(config['log_chatid'])) + elif context.arguments: + await log(context.arguments) + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + await context.edit("已记录。") + else: + await context.edit("出错了呜呜呜 ~ 日志记录已禁用。") + + +@listener(outgoing=True, command="leave", + description="说 再见 然后离开会话。") +async def leave(context): + """ It leaves you from the group. """ + if context.is_group: + await context.edit("贵群真是浪费我的时间,再见。") + try: + await bot(DeleteChatUserRequest(chat_id=context.chat_id, + user_id=context.sender_id + )) + except ChatIdInvalidError: + await bot(LeaveChannelRequest(chatid)) + else: + await context.edit("出错了呜呜呜 ~ 当前聊天不是群聊。") + + +@listener(outgoing=True, command="meter2feet", + description="将米转换为英尺。", + parameters="") +async def meter2feet(context): + """ Convert meter to feet. """ + if not len(context.parameter) == 1: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + meter = float(context.parameter[0]) + feet = meter / .3048 + await context.edit(f"将 {str(meter)} 米装换为了 {str(feet)} 英尺。") + + +@listener(outgoing=True, command="feet2meter", + description="将英尺转换为米。", + parameters="") +async def feet2meter(context): + """ Convert feet to meter. """ + if not len(context.parameter) == 1: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + feet = float(context.parameter[0]) + meter = feet * .3048 + await context.edit(f"将 {str(feet)} 英尺转换为了 {str(meter)} 米。") + + +@listener(outgoing=True, command="source", + description="显示原始 PagerMaid git 存储库的URL。") +async def source(context): + """ Outputs the git repository URL. """ + await context.edit("https://git.stykers.moe/scm/~stykers/pagermaid.git") + + +@listener(outgoing=True, command="site", + description="显示原始 PagerMaid 项目主页的URL。") +async def site(context): + """ Outputs the site URL. """ + await context.edit("https://katonkeyboard.moe/pagermaid.html") + +@listener(outgoing=True, command="sources", + description="显示 PagerMaid-Modify 存储库的URL。") +async def sources(context): + """ Outputs the repository URL. """ + await context.edit("https://github.com/xtaodada/PagerMaid-Modify/") \ No newline at end of file diff --git a/pagermaid/modules/plugin.py b/pagermaid/modules/plugin.py new file mode 100644 index 0000000..245277c --- /dev/null +++ b/pagermaid/modules/plugin.py @@ -0,0 +1,148 @@ +""" PagerMaid module to manage plugins. """ + +from os import remove, rename, chdir, path +from os.path import exists +from shutil import copyfile, move +from glob import glob +from pagermaid import log, working_dir +from pagermaid.listener import listener +from pagermaid.utils import upload_attachment +from pagermaid.modules import plugin_list as active_plugins, __list_plugins + + +@listener(outgoing=True, command="plugin", diagnostics=False, + description="用于管理安装到 PagerMaid 的插件。", + parameters="{status|install|remove|enable|disable|upload} <插件名称/文件>") +async def plugin(context): + if len(context.parameter) > 2 or len(context.parameter) == 0: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + reply = await context.get_reply_message() + plugin_directory = f"{working_dir}/plugins/" + if context.parameter[0] == "install": + if len(context.parameter) == 1: + await context.edit("安装插件中 . . .") + if reply: + file_path = await context.client.download_media(reply) + else: + file_path = await context.download_media() + if file_path is None or not file_path.endswith('.py'): + await context.edit("出错了呜呜呜 ~ 无法从附件获取插件文件。") + try: + remove(str(file_path)) + except FileNotFoundError: + pass + return + if exists(f"{plugin_directory}{file_path}"): + remove(f"{plugin_directory}{file_path}") + move(file_path, plugin_directory) + elif exists(f"{plugin_directory}{file_path}.disabled"): + remove(f"{plugin_directory}{file_path}.disabled") + move(file_path, f"{plugin_directory}{file_path}.disabled") + else: + move(file_path, plugin_directory) + await context.edit(f"插件 {path.basename(file_path)[:-3]} 已安装,PagerMaid 正在重新启动。") + await log(f"成功安装插件 {path.basename(file_path)[:-3]}.") + await context.client.disconnect() + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + elif context.parameter[0] == "remove": + if len(context.parameter) == 2: + if exists(f"{plugin_directory}{context.parameter[1]}.py"): + remove(f"{plugin_directory}{context.parameter[1]}.py") + await context.edit(f"成功删除插件 {context.parameter[1]}, PagerMaid 正在重新启动。") + await log(f"删除插件 {context.parameter[1]}.") + await context.client.disconnect() + elif exists(f"{plugin_directory}{context.parameter[1]}.py.disabled"): + remove(f"{plugin_directory}{context.parameter[1]}.py.disabled") + await context.edit(f"已删除的插件 {context.parameter[1]}.") + await log(f"已删除的插件 {context.parameter[1]}.") + elif "/" in context.parameter[1]: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + else: + await context.edit("出错了呜呜呜 ~ 指定的插件不存在。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + elif context.parameter[0] == "status": + if len(context.parameter) == 1: + inactive_plugins = sorted(__list_plugins()) + disabled_plugins = [] + if not len(inactive_plugins) == 0: + for target_plugin in active_plugins: + inactive_plugins.remove(target_plugin) + chdir("plugins/") + for target_plugin in glob(f"*.py.disabled"): + disabled_plugins += [f"{target_plugin[:-12]}"] + chdir("../") + active_plugins_string = "" + inactive_plugins_string = "" + disabled_plugins_string = "" + for target_plugin in active_plugins: + active_plugins_string += f"{target_plugin}, " + active_plugins_string = active_plugins_string[:-2] + for target_plugin in inactive_plugins: + inactive_plugins_string += f"{target_plugin}, " + inactive_plugins_string = inactive_plugins_string[:-2] + for target_plugin in disabled_plugins: + disabled_plugins_string += f"{target_plugin}, " + disabled_plugins_string = disabled_plugins_string[:-2] + if len(active_plugins) == 0: + active_plugins_string = "`没有运行中的插件。`" + if len(inactive_plugins) == 0: + inactive_plugins_string = "`没有加载失败的插件。`" + if len(disabled_plugins) == 0: + disabled_plugins_string = "`没有关闭的插件`" + output = f"**插件列表**\n" \ + f"运行中: {active_plugins_string}\n" \ + f"已关闭: {disabled_plugins_string}\n" \ + f"加载失败: {inactive_plugins_string}" + await context.edit(output) + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + elif context.parameter[0] == "enable": + if len(context.parameter) == 2: + if exists(f"{plugin_directory}{context.parameter[1]}.py.disabled"): + rename(f"{plugin_directory}{context.parameter[1]}.py.disabled", + f"{plugin_directory}{context.parameter[1]}.py") + await context.edit(f"插件 {context.parameter[1]} 已启用,PagerMaid 正在重新启动。") + await log(f"已启用 {context.parameter[1]}.") + await context.client.disconnect() + else: + await context.edit("出错了呜呜呜 ~ 指定的插件不存在。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + elif context.parameter[0] == "disable": + if len(context.parameter) == 2: + if exists(f"{plugin_directory}{context.parameter[1]}.py") is True: + rename(f"{plugin_directory}{context.parameter[1]}.py", + f"{plugin_directory}{context.parameter[1]}.py.disabled") + await context.edit(f"插件 {context.parameter[1]} 已被禁用,PagerMaid 正在重新启动。") + await log(f"已关闭插件 {context.parameter[1]}.") + await context.client.disconnect() + else: + await context.edit("出错了呜呜呜 ~ 指定的插件不存在。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + elif context.parameter[0] == "upload": + if len(context.parameter) == 2: + file_name = f"{context.parameter[1]}.py" + reply_id = None + if reply: + reply_id = reply.id + if exists(f"{plugin_directory}{file_name}"): + copyfile(f"{plugin_directory}{file_name}", file_name) + elif exists(f"{plugin_directory}{file_name}.disabled"): + copyfile(f"{plugin_directory}{file_name}.disabled", file_name) + if exists(file_name): + await context.edit("上传插件中 . . .") + await upload_attachment(file_name, + context.chat_id, reply_id, + caption=f"PagerMaid {context.parameter[1]} plugin.") + remove(file_name) + await context.delete() + else: + await context.edit("出错了呜呜呜 ~ 指定的插件不存在。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + else: + await context.edit("出错了呜呜呜 ~ 无效的参数。") diff --git a/pagermaid/modules/prune.py b/pagermaid/modules/prune.py new file mode 100644 index 0000000..3e26b24 --- /dev/null +++ b/pagermaid/modules/prune.py @@ -0,0 +1,82 @@ +""" Module to automate message deletion. """ + +from asyncio import sleep +from telethon.errors.rpcbaseerrors import BadRequestError +from pagermaid import log +from pagermaid.listener import listener + + +@listener(outgoing=True, command="prune", + description="从您回复的消息开始删除所有内容。") +async def prune(context): + """ Purge every single message after the message you replied to. """ + if not context.reply_to_msg_id: + await context.edit("出错了呜呜呜 ~ 没有回复的消息。") + return + input_chat = await context.get_input_chat() + messages = [] + count = 0 + async for message in context.client.iter_messages(input_chat, min_id=context.reply_to_msg_id): + messages.append(message) + count += 1 + messages.append(context.reply_to_msg_id) + if len(messages) == 100: + await context.client.delete_messages(input_chat, messages) + messages = [] + + if messages: + await context.client.delete_messages(input_chat, messages) + await log(f"批量删除了 {str(count)} 条消息。") + notification = await send_prune_notify(context, count) + await sleep(.5) + await notification.delete() + + +@listener(outgoing=True, command="selfprune", + description="删除您发送的特定数量的消息。", + parameters="") +async def selfprune(context): + """ Deletes specific amount of messages you sent. """ + if not len(context.parameter) == 1: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + try: + count = int(context.parameter[0]) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + count_buffer = 0 + async for message in context.client.iter_messages(context.chat_id, from_user="me"): + if count_buffer == count: + break + await message.delete() + count_buffer += 1 + await log(f"批量删除了自行发送的 {str(count)} 条消息。") + notification = await send_prune_notify(context, count) + await sleep(.5) + await notification.delete() + + +@listener(outgoing=True, command="delete", + description="删除您回复的消息。") +async def delete(context): + """ Deletes the message you replied to. """ + target = await context.get_reply_message() + if context.reply_to_msg_id: + try: + await target.delete() + await context.delete() + await log("删除了一条消息。") + except BadRequestError: + await context.edit("出错了呜呜呜 ~ 缺少删除此消息的权限。") + else: + await context.delete() + + +async def send_prune_notify(context, count): + return await context.client.send_message( + context.chat_id, + "删除了 " + + str(count) + + " 条消息。" + ) diff --git a/pagermaid/modules/qr.py b/pagermaid/modules/qr.py new file mode 100644 index 0000000..57028db --- /dev/null +++ b/pagermaid/modules/qr.py @@ -0,0 +1,56 @@ +""" QR Code related utilities. """ + +from os import remove +from pyqrcode import create +from pyzbar.pyzbar import decode +from PIL import Image +from pagermaid import log +from pagermaid.listener import listener +from pagermaid.utils import obtain_message, upload_attachment + + +@listener(outgoing=True, command="genqr", + description="生成包含文字内容的 QR Code 。", + parameters="") +async def genqr(context): + """ Generate QR codes. """ + reply_id = context.reply_to_msg_id + try: + message = await obtain_message(context) + except ValueError: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + await context.edit("生成QR码。") + try: + create(message, error='L', mode='binary').png('qr.webp', scale=6) + except UnicodeEncodeError: + await context.edit("出错了呜呜呜 ~ 目标消息中的字符无效。") + return + await upload_attachment("qr.webp", context.chat_id, reply_id) + remove("qr.webp") + await context.delete() + await log(f"为 `{message}` 生成了一张 QR 码。") + + +@listener(outgoing=True, command="parseqr", + description="将回复的消息文件解析为 QR码 并输出结果。") +async def parseqr(context): + """ Parse attachment of replied message as a QR Code and output results. """ + success = False + target_file_path = await context.client.download_media( + await context.get_reply_message() + ) + if not target_file_path: + await context.edit("出错了呜呜呜 ~ 回复的消息中没有附件。") + return + try: + message = str(decode(Image.open(target_file_path))[0].data)[2:][:-1] + success = True + await context.edit(f"**内容: **\n" + f"`{message}`") + except IndexError: + await context.edit("出错了呜呜呜 ~ 回复的附件不是 QR 码。") + message = None + if success: + await log(f"已解析一张带有 QR 码的消息,内容: `{message}`.") + remove(target_file_path) diff --git a/pagermaid/modules/status.py b/pagermaid/modules/status.py new file mode 100644 index 0000000..040ffce --- /dev/null +++ b/pagermaid/modules/status.py @@ -0,0 +1,210 @@ +""" PagerMaid module that contains utilities related to system status. """ + +from os import remove, popen +from datetime import datetime +from speedtest import Speedtest +from telethon import functions +from platform import python_version, uname +from wordcloud import WordCloud +from telethon import version as telethon_version +from sys import platform +from re import sub +from pathlib import Path +from pagermaid import log, config, redis_status +from pagermaid.utils import execute, upload_attachment +from pagermaid.listener import listener + + +@listener(outgoing=True, command="sysinfo", + description="通过 neofetch 检索系统信息。") +async def sysinfo(context): + """ Retrieve system information via neofetch. """ + await context.edit("加载系统信息中 . . .") + result = await execute("neofetch --config none --stdout") + await context.edit(f"`{result}`") + + +@listener(outgoing=True, command="fortune", + description="读取 fortune cookies 信息。") +async def fortune(context): + """ Reads a fortune cookie. """ + result = await execute("fortune") + if result == "/bin/sh: fortune: command not found": + await context.edit("`出错了呜呜呜 ~ 此系统上没有 fortune cookies`") + return + await context.edit(result) + + +@listener(outgoing=True, command="fbcon", + description="拍摄当前绑定的帧缓冲控制台的屏幕截图。") +async def tty(context): + """ Screenshots a TTY and prints it. """ + await context.edit("拍摄帧缓冲控制台的屏幕截图中 . . .") + reply_id = context.message.reply_to_msg_id + result = await execute("fbdump | magick - image.png") + if result == "/bin/sh: fbdump: command not found": + await context.edit("出错了呜呜呜 ~ 此系统上没有 fbdump") + remove("image.png") + return + if result == "/bin/sh: convert: command not found": + await context.edit("出错了呜呜呜 ~ ImageMagick 在该系统上不存在。") + remove("image.png") + return + if result == "Failed to open /dev/fb0: Permission denied": + await context.edit("出错了呜呜呜 ~ 运行 PagerMaid 的用户不在视频组中。") + remove("image.png") + return + if not await upload_attachment("image.png", context.chat_id, reply_id, + caption="绑定的帧缓冲区的屏幕截图。", + preview=False, document=False): + await context.edit("出错了呜呜呜 ~ 由于发生意外错误,导致文件生成失败。") + return + await context.delete() + remove("image.png") + await log("Screenshot of binded framebuffer console taken.") + + +@listener(outgoing=True, command="status", + description="输出 PagerMaid 的状态。") +async def status(context): + database = "Connected" if redis_status() else "Disconnected" + await context.edit( + f"**PagerMaid 状态** \n" + f"主机名: `{uname().node}` \n" + f"主机平台: `{platform}` \n" + f"Kernel 版本: `{uname().release}` \n" + f"Python 版本: `{python_version()}` \n" + f"Library 版本: `{telethon_version.__version__}` \n" + f"数据库状态: `{'Connected' if redis_status() else 'Disconnected'}`" + ) + + +@listener(outgoing=True, command="speedtest", + description="执行 speedtest 脚本并输出您的互联网速度。") +async def speedtest(context): + """ Tests internet speed using speedtest. """ + await context.edit("执行测试脚本 . . .") + test = Speedtest() + test.get_best_server() + test.download() + test.upload() + test.results.share() + result = test.results.dict() + await context.edit( + f"**Speedtest** \n" + f"Upload: `{unit_convert(result['upload'])}` \n" + f"Download: `{unit_convert(result['download'])}` \n" + f"Latency: `{result['ping']}` \n" + f"Timestamp: `{result['timestamp']}`" + ) + + +@listener(outgoing=True, command="connection", + description="显示 PagerMaid 和 Telegram 之间的连接信息。") +async def connection(context): + """ Displays connection information between PagerMaid and Telegram. """ + datacenter = await context.client(functions.help.GetNearestDcRequest()) + await context.edit( + f"**连接信息** \n" + f"国家: `{datacenter.country}` \n" + f"连接到的数据中心: `{datacenter.this_dc}` \n" + f"最近的数据中心: `{datacenter.nearest_dc}`" + ) + + +@listener(outgoing=True, command="ping", + description="计算 PagerMaid 和 Telegram 之间的延迟。") +async def ping(context): + """ Calculates latency between PagerMaid and Telegram. """ + start = datetime.now() + await context.edit("Pong!") + end = datetime.now() + duration = (end - start).microseconds / 1000 + await context.edit(f"Pong!|{duration}") + + +@listener(outgoing=True, command="topcloud", + description="生成资源占用的词云。") +async def topcloud(context): + """ Generates a word cloud of resource-hungry processes. """ + await context.edit("生成图片中 . . .") + command_list = [] + if not Path('/usr/bin/top').is_symlink(): + output = str(await execute("top -b -n 1")).split("\n")[7:] + else: + output = str(await execute("top -b -n 1")).split("\n")[4:] + for line in output[:-1]: + line = sub(r'\s+', ' ', line).strip() + fields = line.split(" ") + try: + if fields[11].count("/") > 0: + command = fields[11].split("/")[0] + else: + command = fields[11] + + cpu = float(fields[8].replace(",", ".")) + mem = float(fields[9].replace(",", ".")) + + if command != "top": + command_list.append((command, cpu, mem)) + except BaseException: + pass + command_dict = {} + for command, cpu, mem in command_list: + if command in command_dict: + command_dict[command][0] += cpu + command_dict[command][1] += mem + else: + command_dict[command] = [cpu + 1, mem + 1] + + resource_dict = {} + + for command, [cpu, mem] in command_dict.items(): + resource_dict[command] = (cpu ** 2 + mem ** 2) ** 0.5 + + width, height = None, None + try: + width, height = ((popen("xrandr | grep '*'").read()).split()[0]).split("x") + width = int(width) + height = int(height) + except BaseException: + pass + if not width or not height: + width = int(config['width']) + height = int(config['height']) + background = config['background'] + margin = int(config['margin']) + + cloud = WordCloud( + background_color=background, + width=width - 2 * int(margin), + height=height - 2 * int(margin) + ).generate_from_frequencies(resource_dict) + + cloud.to_file("cloud.png") + await context.edit("上传图片中 . . .") + await context.client.send_file( + context.chat_id, + "cloud.png", + reply_to=None, + caption="正在运行的进程。" + ) + remove("cloud.png") + await context.delete() + await log("生成了一张资源占用的词云。") + + +def unit_convert(byte): + """ Converts byte into readable formats. """ + power = 2 ** 10 + zero = 0 + units = { + 0: '', + 1: 'Kb/s', + 2: 'Mb/s', + 3: 'Gb/s', + 4: 'Tb/s'} + while byte > power: + byte /= power + zero += 1 + return f"{round(byte, 2)} {units[zero]}" diff --git a/pagermaid/modules/sticker.py b/pagermaid/modules/sticker.py new file mode 100644 index 0000000..9099928 --- /dev/null +++ b/pagermaid/modules/sticker.py @@ -0,0 +1,184 @@ +""" PagerMaid module to handle sticker collection. """ + +from urllib import request +from io import BytesIO +from telethon.tl.types import DocumentAttributeFilename, MessageMediaPhoto +from PIL import Image +from math import floor +from pagermaid import bot +from pagermaid.listener import listener + + +@listener(outgoing=True, command="sticker", + description="收集图像/贴纸作为贴纸,指定表情符号以设置自定义表情符号。", + parameters="<表情>") +async def sticker(context): + """ Fetches images/stickers and add them to your pack. """ + user = await bot.get_me() + if not user.username: + user.username = user.first_name + message = await context.get_reply_message() + custom_emoji = False + animated = False + emoji = "" + await context.edit("收集贴纸中 . . .") + if message and message.media: + if isinstance(message.media, MessageMediaPhoto): + photo = BytesIO() + photo = await bot.download_media(message.photo, photo) + elif "image" in message.media.document.mime_type.split('/'): + photo = BytesIO() + await context.edit("下载图片中 . . .") + await bot.download_file(message.media.document, photo) + if (DocumentAttributeFilename(file_name='sticker.webp') in + message.media.document.attributes): + emoji = message.media.document.attributes[1].alt + custom_emoji = True + elif (DocumentAttributeFilename(file_name='AnimatedSticker.tgs') in + message.media.document.attributes): + emoji = message.media.document.attributes[0].alt + custom_emoji = True + animated = True + photo = 1 + else: + await context.edit("`出错了呜呜呜 ~ 不支持此文件类型。`") + return + else: + await context.edit("`出错了呜呜呜 ~ 请回复带有图片/贴纸的消息。`") + return + + if photo: + split_strings = context.text.split() + if not custom_emoji: + emoji = "👀" + pack = 1 + if len(split_strings) == 3: + pack = split_strings[2] + emoji = split_strings[1] + elif len(split_strings) == 2: + if split_strings[1].isnumeric(): + pack = int(split_strings[1]) + else: + emoji = split_strings[1] + + pack_name = f"{user.username}_{pack}" + pack_title = f"@{user.username} 的私藏 ({pack})" + command = '/newpack' + file = BytesIO() + + if not animated: + await context.edit("调整图像大小中 . . .") + image = await resize_image(photo) + file.name = "sticker.png" + image.save(file, "PNG") + else: + pack_name += "_animated" + pack_title += " (animated)" + command = '/newanimated' + + response = request.urlopen( + request.Request(f'http://t.me/addstickers/{pack_name}')) + http_response = response.read().decode("utf8").split('\n') + + if " A Telegram user has created the Sticker Set." not in \ + http_response: + async with bot.conversation('Stickers') as conversation: + await conversation.send_message('/addsticker') + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.send_message(pack_name) + chat_response = await conversation.get_response() + while chat_response.text == "Whoa! That's probably enough stickers for one pack, give it a break. \ +A pack can't have more than 120 stickers at the moment.": + pack += 1 + pack_name = f"{user.username}_{pack}" + pack_title = f"@{user.username} 的私藏 ({pack})" + await context.edit("Switching to pack " + str(pack) + + " since previous pack is full . . .") + await conversation.send_message(pack_name) + chat_response = await conversation.get_response() + if chat_response.text == "Invalid pack selected.": + await add_sticker(conversation, command, pack_title, pack_name, animated, message, + context, file, emoji) + await context.edit( + f"Sticker has been added to [this](t.me/addstickers/{pack_name}) alternative pack.", + parse_mode='md') + return + await upload_sticker(animated, message, context, file, conversation) + await conversation.get_response() + await conversation.send_message(emoji) + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.get_response() + await conversation.send_message('/done') + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + else: + await context.edit("贴纸包不存在,正在创建 . . .") + async with bot.conversation('Stickers') as conversation: + await add_sticker(conversation, command, pack_title, pack_name, animated, message, + context, file, emoji) + + await context.edit( + f"这张贴纸已经被添加到 [这个](t.me/addstickers/{pack_name}) 贴纸包。", + parse_mode='md') + + +async def add_sticker(conversation, command, pack_title, pack_name, animated, message, context, file, emoji): + await conversation.send_message(command) + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.send_message(pack_title) + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + await upload_sticker(animated, message, context, file, conversation) + await conversation.get_response() + await conversation.send_message(emoji) + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.get_response() + await conversation.send_message("/publish") + if animated: + await conversation.get_response() + await conversation.send_message(f"<{pack_title}>") + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.send_message("/skip") + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.get_response() + await conversation.send_message(pack_name) + await bot.send_read_acknowledge(conversation.chat_id) + await conversation.get_response() + await bot.send_read_acknowledge(conversation.chat_id) + + +async def upload_sticker(animated, message, context, file, conversation): + if animated: + await bot.forward_messages( + 'Stickers', [message.id], context.chat_id) + else: + file.seek(0) + await context.edit("上传图片中 . . .") + await conversation.send_file(file, force_document=True) + + +async def resize_image(photo): + image = Image.open(photo) + maxsize = (512, 512) + if (image.width and image.height) < 512: + size1 = image.width + size2 = image.height + if image.width > image.height: + scale = 512 / size1 + size1new = 512 + size2new = size2 * scale + else: + scale = 512 / size2 + size1new = size1 * scale + size2new = 512 + size1new = floor(size1new) + size2new = floor(size2new) + size_new = (size1new, size2new) + image = image.resize(size_new) + else: + image.thumbnail(maxsize) + + return image diff --git a/pagermaid/modules/system.py b/pagermaid/modules/system.py new file mode 100644 index 0000000..f429894 --- /dev/null +++ b/pagermaid/modules/system.py @@ -0,0 +1,148 @@ +""" System related utilities for PagerMaid to integrate into the system. """ + +from platform import node +from getpass import getuser +from os import geteuid +from requests import head +from requests.exceptions import MissingSchema, InvalidURL, ConnectionError +from pagermaid import log +from pagermaid.listener import listener +from pagermaid.utils import attach_log, execute + + +@listener(outgoing=True, command="sh", + description="在 Telegram 上执行 Shell 命令。", + parameters="<命令>") +async def sh(context): + """ Use the command-line from Telegram. """ + user = getuser() + command = context.arguments + hostname = node() + if context.is_channel and not context.is_group: + await context.edit("`出错了呜呜呜 ~ 当前配置禁止在频道中执行 Shell 命令。`") + return + + if not command: + await context.edit("`出错了呜呜呜 ~ 无效的参数。`") + return + + if geteuid() == 0: + await context.edit( + f"`{user}`@{hostname} ~" + f"\n> `#` {command}" + ) + else: + await context.edit( + f"`{user}`@{hostname} ~" + f"\n> `$` {command}" + ) + + result = await execute(command) + + if result: + if len(result) > 4096: + await attach_log(result, context.chat_id, "output.log", context.id) + return + + if geteuid() == 0: + await context.edit( + f"`{user}`@{hostname} ~" + f"\n> `#` {command}" + f"\n`{result}`" + ) + else: + await context.edit( + f"`{user}`@{hostname} ~" + f"\n> `$` {command}" + f"\n`{result}`" + ) + else: + return + await log(f"在 Shell 中执行命令 `{command}`") + + +@listener(outgoing=True, command="restart", diagnostics=False, + description="使 PagerMaid 重新启动") +async def restart(context): + """ To re-execute PagerMaid. """ + if not context.text[0].isalpha(): + await context.edit("尝试重新启动系统。") + await log("PagerMaid-Modify 重新启动。") + await context.client.disconnect() + + +@listener(outgoing=True, command="trace", + description="跟踪 URL 的重定向。", + parameters="") +async def trace(context): + """ Trace URL redirects. """ + url = context.arguments + reply = await context.get_reply_message() + if reply: + url = reply.text + if url: + if url.startswith("https://") or url.startswith("http://"): + pass + else: + url = "https://" + url + await context.edit("跟踪重定向中 . . .") + result = str("") + for url in url_tracer(url): + count = 0 + if result: + result += " ↴\n" + url + else: + result = url + if count == 128: + result += "\n\n出错了呜呜呜 ~ 超过128次重定向,正在中止!" + break + if result: + if len(result) > 4096: + await context.edit("输出超出限制,正在附加文件。") + await attach_log(result, context.chat_id, "output.log", context.id) + return + await context.edit( + "重定向:\n" + f"{result}" + ) + await log(f"Traced redirects of {context.arguments}.") + else: + await context.edit( + "出错了呜呜呜 ~ 发出HTTP请求时出了点问题。" + ) + else: + await context.edit("无效的参数。") + + +@listener(outgoing=True, command="contact", + description="向 Kat 发送消息。", + parameters="") +async def contact(context): + """ Sends a message to Kat. """ + await context.edit("`对话已打开,请单击 `[here](tg://user?id=503691334)` 进入.`", + parse_mode="markdown") + message = "Hi, I would like to report something about PagerMaid." + if context.arguments: + message = context.arguments + await context.client.send_message( + 503691334, + message + ) + + +def url_tracer(url): + """ Method to trace URL redirects. """ + while True: + yield url + try: + response = head(url) + except MissingSchema: + break + except InvalidURL: + break + except ConnectionError: + break + if 300 < response.status_code < 400: + url = response.headers['location'] + else: + break diff --git a/pagermaid/modules/update.py b/pagermaid/modules/update.py new file mode 100644 index 0000000..a27fc4a --- /dev/null +++ b/pagermaid/modules/update.py @@ -0,0 +1,106 @@ +""" Pulls in the new version of PagerMaid from the git server. """ + +from os import remove +from git import Repo +from git.exc import GitCommandError, InvalidGitRepositoryError, NoSuchPathError +from pagermaid import log +from pagermaid.listener import listener +from pagermaid.utils import execute + + +@listener(outgoing=True, command="update", + description="从远程来源检查更新,并将其安装到 PagerMaid-Modify。", + parameters="") +async def update(context): + if len(context.parameter) > 1: + await context.edit("无效的参数。") + return + await context.edit("正在检查远程源以进行更新 . . .") + parameter = None + if len(context.parameter) == 1: + parameter = context.parameter[0] + repo_url = 'https://github.com/xtaodada/PagerMaid-Modify.git' + + try: + repo = Repo() + except NoSuchPathError as exception: + await context.edit(f"出错了呜呜呜 ~ 目录 {exception} 不存在。") + return + except InvalidGitRepositoryError: + await context.edit(f"此 PagerMaid-Modify 实例不是从源安装," + f" 请通过您的本机软件包管理器进行升级。") + return + except GitCommandError as exception: + await context.edit(f'出错了呜呜呜 ~ 收到了来自 git 的错误: `{exception}`') + return + + active_branch = repo.active_branch.name + if not await branch_check(active_branch): + await context.edit( + f"出错了呜呜呜 ~ 该分支未维护: {active_branch}.") + return + + try: + repo.create_remote('upstream', repo_url) + except BaseException: + pass + + upstream_remote = repo.remote('upstream') + upstream_remote.fetch(active_branch) + changelog = await changelog_gen(repo, f'HEAD..upstream/{active_branch}') + + if not changelog: + await context.edit(f"`PagerMaid-Modify 在分支 ` **{active_branch}**` 中已是最新。`") + return + + if parameter != "true": + changelog_str = f'**找到分支 {active_branch} 的更新.\n\n更新日志:**\n`{changelog}`' + if len(changelog_str) > 4096: + await context.edit("更新日志太长,正在附加文件。") + file = open("output.log", "w+") + file.write(changelog_str) + file.close() + await context.client.send_file( + context.chat_id, + "output.log", + reply_to=context.id, + ) + remove("output.log") + else: + await context.edit(changelog_str + "\n**执行 \"-update true\" 来安装更新。**") + return + + await context.edit('找到更新,正在拉取 . . .') + + try: + upstream_remote.pull(active_branch) + await execute("pip3 install -r requirements.txt --upgrade") + await execute("pip3 install -r requirements.txt") + await log("PagerMaid-Modify 已更新。") + await context.edit( + '更新成功,PagerMaid-Modify 正在重新启动。' + ) + await context.client.disconnect() + except GitCommandError: + upstream_remote.git.reset('--hard') + await log("PagerMaid-Modify 更新失败。") + await context.edit( + '更新时出现错误,PagerMaid-Modify 正在重新启动。' + ) + await context.client.disconnect() + + +async def changelog_gen(repo, diff): + result = '' + d_form = "%d/%m/%y" + for c in repo.iter_commits(diff): + result += f'•[{c.committed_datetime.strftime(d_form)}]: {c.summary} <{c.author}>\n' + return result + + +async def branch_check(branch): + official = ['master', 'staging'] + for k in official: + if k == branch: + return 1 + return diff --git a/pagermaid/static/favicon.ico b/pagermaid/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5dc5c0a49a959d84259e4308bba723d482e92a4f GIT binary patch literal 4286 zcmbtX2~d^i75xQ7WZz^He8>*+1Y}dtxB8Br1$ooul$ZRHWM41k0+1!f9HJXoO|zwrVWvQ zzP=j1Yr7pa%}vv^5Lxn;mM#nL|IjZpGcy-ilil3hHid+QG=_(VKN&lAEJsI2b3#JG zleDz7ru6jmjagY)lX7!&9eyaD{=BEBXOOL}?MLQowhx$XDrbxMbaHidC4YZ^3Jnb< zqtQrFQBf2V6GOs-Qd3h|IQ&C6Y|O~W2-5d?)mPcmIxH+~)#%Zq|21O72(rsACi5fh zY<{?vEtan*J3Bk_@$sRcpdcDEW(-9{M9{c#<0yLGBFf)&h|{yP$+TecH#s>uD}|Hw ztKf@{hPb%64x9^n`}+El=uS5C7L(bL^K9`&D-S)?#8y*hlZ%Us`n_pD2DvXQfjCz5bz6HN@?heKgup;5HEmzonhxa)ofc{ z$HR|xu>Iz8_KrnH_)O*Dl@V(yn_v<%7mYoewzbOb`2ieu6#MY^9N9Zz&DoDZGaV zx(|Z?R5Y*_&nL?78Tim0egoh8vm>0*{Ws2Qzs;HTy&PA2iK9<EmS4 ze%#R}4*&E3`!88d9vS)M<>jSn75bq^1_uYL4CDOZFnD&#mi{DtVY1|M6MP3pc#o{3 zr(qx8jk~G1_YqI+y3Z4YM`FV@juY&FkN2|Uv@#lEW~MwsPVfxybWE8K3Kum5Y#mq5 ztz!d!o#@dd8mOFt!}Ilq+y~0JCUiaEnLU5ynU^2%^v*k+)7r;lb{=G_gfvwP?(Xgs z5D=iegMa8(z(<~-H$0cjDO}N9z2f|Nd3g=;y8+ZDcA$Gv6c1gUiLFW zf52>n_s9`6K&IfU-UD%rpN<}RvZ~dHO)3cNwdR>5nLH5l*c#7xV z8W0Xo_@`GMsyZlEoc zVuQ*ha)AsX8|Y`qmtF_Rq2S+^)c`Kwg#Pf%i@{7nf7B52jeRf&M~)mxf$uG+!V7n} zR5F=&uA9?pr8h{OW=bZ)&s}Ag%2xK8^NzyD+`_Za0cS!T0$*^O#*ZKWfoOm`i+UgU z@CxUL_Q*5p3+F&h;vN8xU4p{M{ZCb#e6CmFk8ix9`qC8Xg~igJ5~WUETJEyTo*MQ` z&QKY8J_o=T?|)ldTs##yKqgV6`s_t5fG_G9a}T}P(b19Y?d{1vJ)fK_&a$`k`p6R( z*d+CsajBoCoFCbRZgK}CCnqO0`>kibL9Uf8>~*M~z4xACp95#v^VDT_TDOyI9URr1gg?kD z&I`SP3tf>h9b51o3BH=c!eLWUQ4#uq@&!8JbMQgu0PS6WzLb1wyE#(kkm*bpC!ILY zVTbG4P;r_)t2@|f>wb0)9ZSd^`T(*69f6-%I-3$V?Bdj=zb9Y;^FPy1)8zmDvc8rq zpdJ(t@kVI`-Z%&H=kxjk^4e3)0iBOHrS~yUxZKZEJMM5nLodf4Yvoag8`ybo9Xl0G zQ<~u!aEK|JN2U*VP}Y%p&MKQjg7cN&1?%{Dm7iD2QrsjDiU;ZfIe~7d9n=u&&ojY9 zPHT6tLCzfA{aATlB=aFx>L5`3z&*t27r#*){L^zN@^@P(aogCm_!q%J@_^p-ObcWaxqu&fJ)#bwvs3YO^4L;N#=6U#dhs4-N*{_o-p1aQ&Fr*( zH+zIfD$e0@Cmi&mO|ob4BK{x;gW%uNITTEqqIwi^q5FYs>a~GvVpgLjkxw`AC+L$3 zjy==Oi87~+)$Qylez=!RS2Zl$Z^#*5djHh<2zI2b+u%?z|6R&ly^(Sj{))2RdPnt4 zy-#3XAQ$Kls8R61T@5_!9i7Ny;Zh3z^Dz!R*~#9A8rW^lqPxw;&s;PNY9!2H?&(G<+PpuG-w}wR-b+p8G`} zf^8*hdGU-N4NU&y0nXaAi%g4G>NDfN{6MdO7HUpPuSET$SIOUK|CIas3YpK}x^KUT z_rHD?4kL?7XKgH=UfM6YWYjLQiKX`oeSRVr$fwlZQ|Xx-Cb0hvgJ@5g literal 0 HcmV?d00001 diff --git a/pagermaid/static/images/icon.png b/pagermaid/static/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9de9fe1c28be4f4d739e27ef0a63f2b734496a GIT binary patch literal 450146 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

#PN1(22(sZ-WPlgt9;nqzw zP_12Y%L9H{FqQ&o3nw%PZEvg(3o^8RjsPE<76)2|;-ZJOGW(A6P3E#Hn{_h7B#h1S zJCO_+09bF)HRxmE+st@UF&6*)j^B;POdNE$jIN#;)wd)CIlp}fP6jL}+>%}^(#Z<& z@)k9u!RVw?J+@YIYyq6;j6-Udy!eYE;QI+M&n;?%-{Nz?=FXGej#Q{N8(oSeDiCuv zrD|HwpC}!)iV(`8h3cXr)J8j2O|ZwxP<8?U`db>ycu?-3@ox2at~ z)tN6>FQw_lf+zp3`A|)%kOX#NJ9s~%`rc==v+HIqGqMvB4j$t-C4$_y zq_q;e5<}y)p)6K3w%T;g2`W@;)#hQIxi)0jMekk(obR3#k^dV#_TSObGo3sh$XMTk zF(!uEXQqx=%K#P{U`s~xjsAE*U12M6QK}|>GDG+f{PZ7?nd8{+D#JFH1<8ILoXyaF zOkr8bJW_L_n7lc(NYP+?&wABUw*17JsQlYHkkmxwJSde!zRLS4@ujd~(reQ#nmwH$ zn}M3lxC+UK73wwLHQ$WLkZoI+I(9bIKbocW-UoAJ%9g~6tE8Y}Nci(coP!C*i_ z8inz`s;6Npj6TLmnQEAo{;gSEdF#1H(SeroJibgBPEZQ=+zzGn(owyEkrH{SzLvXt;)YL7V3gHjKPLV|txt@is#W&FHRM;7)B zg|>Kpk8&j>G_JT*q$g`Yc_{dLh+2&2YIE$&cQx=p^ql}aogKplEC5xaj}#zaR+p(6 z1$u9<{LhovM~v1sG>bdMm#?s%b$^|~!lQ*lS&)FeEzaxt{uIs3*+Zd(X}&(-?Bw`5 zGNZ|Wr=aARpqpz$dR!2?$4m`PZ*4jwVz^dTQ4w56wJfcR2SBV)-oody9i6ND3c1`U zN9xF4=d(M(8IeS&BqZCX**vj@42of2KNt0|&U#enj;xIX$VC^xnbNVU&A+D?okrdL zbUplK@D`h?-|0}BVzO6SYjlY!V#NbuH(vum!W0;hs0wuE^RdE;YRnapeDdbuI6N76 z&z9r=q%S3GynVB8V1~b30FOxzPv)$1DmPS8sn}Zohc}`QiOSbmtsTDTLjNGeY|Sk3 z&r3A!OQJHBu#iE;jPsh_Fiivxt*6Wkv~?0970Qiqwq(<}078ktpBrT6Xy8uQShlf8 zB*5Xa51-VB;Ws^!w^eKR1Fosi)C1S=|24@$p{gZX%)}`9%eZ*`P?oi;BECu3%NH+L zEBM38D%-ZRtAf3s9v|#8ABT1xH@luw-}f>}oXm;4&cg`d9C7x}9v=+neF_=IVrX5f zCj$H*E?chh%6GhPA=ivedrF0kCR*n~#_b)FHC%zQC4x8AJVKn5gUM0wML4Nai8(%Hj=C$qqF(xD|8b#hfOQqtN!IreO z6s|4iE-puBrq>6mC6#ffvq6vflcHPs#b;(2=uoO)l=Nx+EDZM2kh@4B>qlu8 zeI0Xm{>)%YfidZ!|7O-zl%g{8MH%rLQA)&>l~s5Jo+b>tqFNqn>)Jrd4;xJ1KtPy8 z$2?5HXoq3+;iqSyQ+?kc^sv>3H$PSI0jROd3g;XPJ=m7rP6fhrNQrup#U$K=V3tmr zZGG^EsWALH`?KEYkQ-9&cg(z@1U#@0gvMH5GT4^!Yz!t6MRZzWxpvnYS>2_ouyhx>*X@9 zbA7ke+O~!ds*=rb2k8^<6Q53+{#)}}%1KaEFPr~H@(r#za2W->94?yki^$AmIp8>q z3YJzNv|`0S+!R`W^q>_Cn9?{c$c0@HpS!{ow&CFxs`;}4WWNxBm87nLMZHY>VO{b; z?F^*IugD1NbIM%zefLlJA|rQKDPHKunOF;1uBa7nr7U7H+>52cH{FnW6fQ7rl%i^= zcJg^oC=KPn$#w7TR^OZ+P`38XO&uAxNkx^0Mh862`rk2S$ODXKNxVTIdBIrnZ zh@Q96#8{5hO8ooq62L}P1wAjz){;TZbf>1e_<^zE?r-!;HKj0{xj=TYS_74iG{)Q$d^57~8Do&C((7NBRo|lq8cD9>xz2_Qfz+%zl z91R5S5M#HlXLpwp4>xb_`O7_iKUmbvI#`#M>wNQjc^GnmYsD9v%&b%hT$>+=WIpna zEi4^2isq6AZopioZwG2tK7-{65(a(Awg4{~7OT=0E6eUAQ{reJ$!7{QDPk z_xC+7#TH;j3nK02XHhZ9#|3)g5`%d{QC^0ZPwHz1MY=|viA%*uVq?_D3tmt4cKk)!ed65`-W7nf-D5ag8 zny$TA;7ydA^?y{^`TOXbcRjJq=JR%LfFxg;E>ha86GJH`o(E!y1Iu8_TPQ;`|Nhc+ z6RDYvoT-(0MH<_OLqEC4?1EL92odnNj-P;0RN%=#+*CKlYGuQFr7(j~?5*L#F?(hB zGOu0BEG$3Kf+>)xX;2oNbPH5@drpzVFV2Pnv{1Jw#TreF(mz7=RB^WMb&EI~o!-Vs zZKA91pYo+y(DI)@$Ea#O0u*!24o*&R9x;G=Eg}MAB}ECfwNH}+tj9QU=RX6lowSiH zj~e~v^UM)J*R|8%rgwwC-@a=HboUbPpTbwG9i<5K6-m(O2W@`ViO>5QXX!IYGEKPu z>lUXpQ9MMiLtB@CwO=JyK>#=!fJEHR0F4{d1ZRk`ksXRm!bYz< z4k&knmG(C-O4wt~@QPl|6GGt$>uyg;zE=+%{bq;o9{Si-W&Px+Qag9Q^Skf%U2}_x z%Zn@~_w145U;y{n@pK1rTXt@0yDM1}_q#T0)1V?JKNT}|$vgiO4_>n(fFPl; zS1|fkqpEc#n+@@UPbHBuXGW&|sqOe~>t%@DVA=R9vBKM->lSYf$?k+mV?$a(HuKb# zZZkAy5fRV(>zUtkDT#+6m(5JCg1?(oIxW<@TUi8k%*t$AM^28icql+N|!(9RqC)3G*il+=Zvig-s&Y+g@MdM-@siN(de|yw2 zEZbtH)QiIlH!{ih3qJ8N`|@myL^|}0CYuR}jqqX+&g|!1`Cd38NvMpNHrN;n>H~CEdk9~gRbA#PN64*lzhqNXSLsC z;PF%DlDh}0lKb-x!~?asc2OT~YqW>iW0#b$(^Nzceem9~eJ1MZ?Y;foH948&ec>Mz z7RIE4LK1C6GJ}Z=zh|*HEs&8f5_KXD7)1*dv#oM|Ud4qM^<4b!@_h5& zvjDczaMx{{=lA${91_wzy~jkWqm1k)e8oT5oxa%Y7cPws5H>iQI7U1^ZluPw2|2ws z#_%_F_1Vu@^pqFO1N6Z?^^b%S)9^FaPj6o0&Q3xXJ49+f9lVbXxd# z_H-HUD)ID#O93`A(&tgC&%TZAYG>s3|GNOBb?jq)%|>IXW2X&$93)gDE}RWiHo(UZ zSic11`d-ZH0hhsQ(D>@ris$(FQ|n8jxIQ7p(um0nfEW!xhyu`OxlLgoygrB}NALCZbwyMA&RA6teQcov zvP;-Debb*x*zbrDKU7j0J%nnHqf(GPUI1%J)WPZ?&SA6{}|)LoO&xL)N?Q?g}N%bk;5!#Sa7$-%bjS zRHW#|OrL$%B6!Qfh&NdK^X%TCA(LUqb6kA>!1n-+zk**{ihH}P_8f+VP0SkkXW^g1 z*~Dgdw~TAOp2f^X5C@M87^55?FPyoc9}!b=Ia5{{P&&?P_%0NBUd{8bl6@1_0_qa5j^DHgefF&wH9f z&@}Ln*sI!#>*aK{x(B`{7!CYPhB;&FH3Y_1d=b+V9nc2gW)|9m0t9yfYgRa$38x_gBLPSu9t3O@7Vhl1V^I9XDmFlv^p3+-%L@}8ND>tohcX3vp3SXPrF5CB) zU&pnpviLdnCol^ z98oh4dWaW1TD_{@T7D_^&x|PIP<6RGEeQ*uOJ)FuFRtMO}}DHFbj5~ zRM{fGzu9$1t!$eJcY(bGJv@3C*ZEgW?fGERW}0Vl$4E0Dz8?dA)vPhQMy+|E#dI&m zKe0jn(+IPl$?|L|*lyjia&dFJ{I|FE719(Dcs%)tDb1}}xl-+qg_{q6Px(t=!qL6j zDtX=Y(j;Kj`+{7_m`tkCtnFmWR?c^xhu19q(ajo19GYtopfW7b-%pk zj-4KJTmv^KdJg2lwEs;8kAIwvQQ78sPxiI`5!yBYfM=pPV-y%c7b3%^@8j=Gw?Nl& z%)9d}hEGo@LiJsaPo!v&2)CnA%+N@6NH}8Z?1$*l_YI&&^-t`$N#ce=@Yt{QlYJGo zW~oh`-=%?QB-c)M9Z&?+<@)bq4%9F)F(p!FEOBvvljG5^^7aox5~LU(4ptI^_CBi}l_NrtcvfffQ4ew|2;TmAt3P#X%r68Bsdg!ulPM=HbZXIn0`7@(X zjDkpYl7h4?a!W3Vvur{n4+b8M6l)baANNNK7Fnj<*Pq}CRcrO$*hnI>$offnS{1lP zH7k1|3N3nXeoB>~fPT^R*a5@tY@8$yE(n1?giOjbAWDA*wNJw2G;>h}Z+$NNv6f+K z)bi(ab^c*SC;IZ$F14xueS7p#>s@ZRQVOSy6^f+ab*VCzLyf*i{A6z$(4W}yX?;lW z{jsq`QANGh80k+^u@n|v5xjizS96k7kuI_mwq?Z%N1^3nO^Ing&J8FuY5E1Rn{mh) zOX5@EXD-qv$KctDQsN-?BPP2Qy^x(s!M95K$FtUFEdZ<>zGz#7$e%gMJ zY;_*Ew5a*+zR@qFdLPC{EZA>X@kc04(?7TFyU;Ny_LhSpbV%+STtJ@H{@x=-sf+&| zn5`(4C}GRr1qB7>z}ei`dic{huk}GKplx00>6ohHhN6S9fiFfEh!j7aM%=TF;M0xH zYgfk00KL&Q#ZR6A9-{a$l$M7qOOZ~ThJm=yQRh(X%1Ij|C*hWcxs><22 z9Cq=>`h`Ou#E5LRc`R!xv}h6(fgm9drI7_QN5T>Ppx5c;9%Vz0UXg|my?R>$$X@8~9 zyC6(43c{v>0-7wTVXA6hPK}#>^jHAGM$Dprm957u*R@J-THfo8p>pbBCG0p%g`t>?+7^}uz`jG|@3qI#HA<21d76Q%I-iX_PHysNyYB3i{KbU>^Q)sM+=Hvbfc8}b za_Tj_K7+DF>j)lYK2&H7pQb}m{cx5Kn6?OI!{{qoRfd86;Oq{5@SYk;)sKnnzmlcV z7LD?2(s+9lf;VYtL0-vr~|)24V9ggO&Q8p~w)IxC0~ISIyBvY{!KCSuH1%J{%dgi@5Q8OGj8!p#2F zRqZhEXeb>`lcdyTiOB1-GTsuAxeWyeiWa;ECY?`^6Zd&f$B_%^Ny`-R38e_XyX-rM zErL#Q?hqCO-vxotChX`{shk;1jp8m%<-u^f3 zHuFDg2-}dl1oCvFh)@0L!4Oc_+n%2Iq=FA!UA#U{)FNlf`CvE!T^fvt3Im3Gc*Vnt z)eUV{029c(&-JwM_xE~$(D*;K`BF>xZ?4q&5|ook%PXRWrv9q2_9TgNmz-G24?Dq* z>V(0}|-T$;rBL ziB@%%58R=6s4AGuebapW0DsGlOOZf0SH&3%;)t#pK1Ytv1=)iyH;zJ5HQ5Td@tmp! zc=iX7G8&lp7Xh8fyH1>Tv7NTlGStHP~fg{de3)9O<9K=t>|rd z_4j(n`MZ6z=+C5NmL@fwJ?%Q|kd)VAHB#ov;@vb?Z%k?!jN}^IX8eI~4?A0xRy=p* z0YNMZ&FFhcFb2jxk4{^Dhy8TaPM+kyjPbzj1mI!?HZdh{ClhmnE*IN(FllSqiyCM5 zuE6H0Ffx#5F01t?U64HV=zH2B-WVgzA+h*CA?TC5d9!|(JleAXo1VAfadB}eDbJTj zateOSH&Hh%wQ2u@HAC4+m@o^NpJPED!Um!&4PXa4?WeJ!C^8B?lG8pR&EAhXl}}IQ zF1?92LP72((=rB;agh3c0(mz1W3cY$Lt_4DVoPtK#h?E+NzOYaqUFts8Q`cu4;lv` zs77G*2*sr&B^C4`Z&b48e3x?oDeXu~N{Xw*Rrb}xPiGQF=?+J&*T^pr!uf-%y9D~O z+5Ov#qM{;tX}o$^1$}f0Jj|mxvp)!lh%B8WXQTKdg4FfVZ!8}-@V2B1Iw4#(5a6JNcct*IFiE74}= zo$o;i$>kxrM<_S-qwvkpm*EgJbb5FLLZ-|}JGsO@VM`vYSS0Pxmu|f*gBc-3fdJYU*XOBoE^68DZsGYC$~HimW%Vq z?Na~b84rr$>y3zaF`FyQqry#;twv=Zc2Mo|iPFcq+lMs}b{A>fP_m8YMs9g>j{5xM zIY(lPMWzJGfc!x|h)SP}MGbnGM8#dZ5W=zTN38_TlH7Df>fFK%B zvIgAHpF&d@w6b_8p#Z{*2-Eyk{Qmk;J>fJ_|c2H|=QGEG;*c^nbkBS$n?`pC#z(gKfg;@F~hYlQDNk z13t~X3FYZGTI&H1*wZ1)XDL>L1-A?e)R{@yKr~XAjFf+hMdCJyK^MDT9&a<5kpyM;N+?99VMP2`;B&{1z{5nxnNIIUS70){gYH@0IYcb%V0zWxo z{}QFptIvJW3?045h;$INxv-Op^I`|PQ;BJ1Nhqx%6*`3=u((S|YH3^1kQXHP9w>do zDFB>^FDev(8*HxR6JUS1E!fcvY}ftQ^#!)?ist-%d>S=N;faaf;SzL0SJ}h->?nLP zR;dXEaBfJrG^BbGHelYN%?zttJ@!^Y09K*S+7}35JpI31H~{VD%om z)PM>nYzft`-{fpPO5XQKQc47-Of#VpiCv|alSh_N-@BUEL{g`>cQB;ubQPRKFiK2?-Cvk*Mduz4|Umox^u92*XU=P z8ZqE#Ss6r_DH90@Kg+;74MQBjVr@;(o5dTRwGGpb;s0Q3-vu8BY&Sa_3KE809bAW+4EWde{EN*?KQnU><`Ss(Fl?(iN__&V z1?TvN@5bmU9%RlylTXqErH6W;iO{0cz1I6U%5)$M*JZI@ZggI@|3r}W0cFD93xFrT zH>+$Q>c_XUUKZG)r0rw>)_{Qo)6yy0)p!7AB!=T+8_Q2#JDz7Y^?cf^>O<^xl+k?Q znQH0bxMpVSh_>G`(jB|>^B?$(GIQ+5uXy1fk1w^E>;J}leRfDu8F&@&>*^N{3;Hc% z%{|*lx0-*fw@4=Ke6WF*%rkYd7)Xs%Kc2i9;cy`A+|$^4ow6Py4pokZPwnli=bZ|i ztEqzW2=4p_lyL5SpVr(R{GYYj-*aD10S`(Dv*Q&KL}=QfDSAMz~WF4%9kfgG3t-n^h?XG>A0d zv0Jf31|@Z3l9C<44|XI>?-GJYME9M)N!YPbYScstQ+$1&VgQ_J(2oEu}{K4AtLOlVq z;$)cpvIn-RqW$8Ym(^>4g8|6RYS|N}@~O?u@~&S#Jp$gIr0xGA-vG{H_j@OV1Cc-f zuuHr@m+HC{gsb7ad?_fP0=RFzJyd0jE!_S?*J<$I5^Y9u6JW!YE$Y7Tj6Q*yH7(A) z%J3TzcheQMIEHa-7R}II!hmkVNI`OhZ#9VE&7K__0(jpm;lC8Ai3tY4R zj}X2L5f+dM;i1wJS^liu1)A6$*Kr-!z|r+PYTkJ~p?*5)BRx*jv^CHz)gIpZ(WF+N@$RC11WU^$)b4BSj_7?($rk40rNE0IYh>fsiUeblR3s<%sa- zWHf*VLWA5k5a8l+TeSXsxO}Ayi86=$ddO*Y3Ao}2?iwq31FsQM#7e94zPpquSQnZ* zJ>`My-v-z0?wo#-IWfXzHBBJ16sDH^d?HFUXEmWzR;R=`PxriEXuk6KL~xCpg-e>P zVs-yXm+EK&<8cYCXQLv261hxH7^{QZ1oJzsi9jE}6}gA?7m+Ke@s z#UK%2Rd-&U`CF~F6eRsF zI-3T39$t@NMapFNHIG%#iKr074|Psd4+}wSIhLDD-e2~`JugXY+IfC}*7$Z9$Sj#u zR08~Tdl$dNa2WpjfhN|U0+O}j9}Yioc+@=H3m;b<+S3DX5}b+UgU}#&bYG1) zVQIus1)F43?bg!{4RCHVE&z>f>cT0UV7Yt=;5Jd1iLogJT^|;&o>si)jSh$d2WqjA z7GrraMIW&X7;GDLSc!n90E{J-0h6}3mK`8nV?ZpsnQ0kP>@&aky>amOvGMa;Y&?Wj z=vK@-FLMIB3eY}pV|Wc-7)2%W^a0f)9>JqX5GRaGW{jw1Mhj&h`Sp0&)P4~~aeNP; z=$1_bAA8Ta$1kbIb8~Zqxo++&&wO6u%rzhq#ZD*q$4x^H)r{l8{sU@j9%C8H5+Qea zK|2Q_i^j_fZTk6|QCP`rl z2@>=q&2L7W7k6E!9s{+`u{9F7EX`B6bN&^t^zUX*R+O>Smrlevk&$KqVHcR{JbytA z;AkKqW)xuQFIx}(;rH(kE^mshtPQ3$w*;zSj#;&&Uzy*qPwblZ6|JoU7cioP1@*5` zBOWWx+xgm&NQa>}JH;1(A-+$m3b^^Pq%vsj&gH->jf@`ghiiB1<2`e%(Y!T|x5!9e zVaS|;sMz>Pkl;x2e?g+f@t0<)vqhT16p=Zg)|KHJXg?ih+u0_0{B5`<&~GM1VmXjN zb*3cug;`G%`~iQKA{gore{@QBn&+d8|YAHBc;~cpDCwMJJQF;#8%` zP>PB9?fxrP=9$2N7k^|Bo0fr0ylwa}If-wP#GrJi0g=}juG4mlqlpuarHPa(-?w|G zm~6!&Bw(%`ssZCxR!u|HGSf%cm4fK|^;M$>&v0b$3Y1wV?fB*@3w3qPn%i;c|+B=H&+jTZb)-Kb1GYMU_?K!6%uJ% z5brC#8DPliP$0XjH_L17s#+q;X9oHsN%H78HR-y^Odp0dIqIEx!!bW+sI!1UozT+4 zExLFRZ7QKVW+SACYFaRIXn+BoRZmaPyO*!Tg73d0rfS(a zsB`*SUd4+hcR|{gZ|C6!K=G}R_(G!uB??@0 z)z;GyJk|B}>|5BYtql{IWz!X3wYNQMb?lzW>pzu+^iZ@vi^sD-2q%Pp8sz;Wq>4#< zA%AfR2r3iaJW$cv1qNDN9T^7~8gNNVw}B(JFDBfXh6J3XzR-m717mI50pTdLFf z68AROA_St;Wx)6{p&0$?Uqn*6L&utn!6|$RBU`7tw-*HKr6sx9nVICTsQLTtia?)6 zKh6=5%{X(+?+=1E;&F0A_98`pdHF=9z6rSFH>_;?a=zPciCvd7XVJ{V<<+lWpo^rMIb;6bTf5Sx`0!% zkR<8l9elER(H>+s^Q{5q{J#1G*lRzYGjy$(acn%eDym*RR3EX3U@+(hdj!73FHe09 zu?*wx|5=N_>r+BiqL@}ZGBN@rDZISA(J!d{9oBvU%fA}~CHSbFz~$|_+Tv|tL8qFs zx3_0|CH_F4i#di;;86Mlh~)rV+Xmo2WeK`yKyMP30Ry&y5z)de58)SRXv1gOJ|%rx zHSW_j=GBM%=$Yd6CCwY6f>u>kEjdR=XwZ+_3ZxQvL%fFFE@oBnm`tzhSl2cMTZx_NUwC z`n^ur0E+oiZD2)=m=t}3(xuG@eYtVI#pq_QL*Z%N6zv~{C}@Yr9_*IPu&|zNIvAiH z?@vs7eVgMearLvV$nx#eqh*KB!^QkNjXce4YZkMJYJ8re`d)|@3{r&I6;W95`vXub z1-iJ{0E?6ju)}viGY+T%<>lqSIx7~H7Jxn#+m|{CIIVmSy1N9L&h68CGY$>%ZLwX< zEHx-miep^EI=gdX_vfqz4u^3irmq;=Z94r3z}P=5lGIpxDbmb{sUYf{z`Ss?5e4}H671oAxy7%bu3Y{xWYNS6M5@21rwZ;{YXTMOJWnrsey zT@bj*NiqFWp)y*sJfTc=H>eXrkHByTK?jmwR#6*EO2~sQCEAVwg)Qk$yP^y}7y3r_ zw04#5_RdZ%!)mq3@sI0!$)|&H%MTRs8oT}Bt>Z0}o4)InrKMziO5;`jgyCpPIa?+W zPOHOY_IErP=^}wZ3=Euox$wh-?9TF> z#{$3=(|{CZrL{S5OVHPi>_^i1Ki4#{qAL|du9vDO6UJlm=vx*O)9WV7Yue#rfhe3H zbsW$^s9b~x3jr=!0TCC9Ge{dxK6gj7T`A&VPLjM%jj?@y0565I zSs5vWCiCb0WX&E${uY5yZrV3yE^&PpayIIx>jBsAzcHYtn=CRPv46cpgR9pV)q*_{pXgGc$WCtB2p*hH zZ;~@BbC)9^0E&qCS=sz2YOb6=;NajG9UI#&e2VuEI+&|y^*L-=55pc4vEA9-1=3^a zpS$Cy$NxN|bBR3&;{eULu$>6^&eRvTtHspKmCJFr zTk^QzWZ9tetKcgYfUc5cdLOyr8J9>c{IPk7t0maX&F(a5fPrS9mSY}m7@-aA*=MlW z%Ct;*X{?9ny%=GL&bB=?@$L2G50(FETy`@|_ zgJtReTds9JKK_+t@cl$rIQH2YkZga|+`p8(>lj;TkBR1acfMVc77&0ZGbeMJ`7%}* zbMUk(QP2q_4>m|kMT&t@qlGX0bsX({VdfBtyT3rJWQvNyz>4g~6*O`c1po(O#|GvQ z92{I-)-49bv%mV_)Bz@>c7x`Bt_FbL61BwHPfu_bwfIS|wVsiLkkIb;;Iw|IV{wBf z0E#sVSe@;-FwDE3DG7GpUUKg`kID$|{o-)s}se$aw}*rbd3Rp9O1m~ebZ)p))?PIAs_pe{~t5Hz9Xjn%2z!# zZq1*J^r{sxA$0wa63Wf`cGLES7&xyoWgCL@G9IF`{>U z#mg8g*Byyz!BUcN_#U~XDjJ&-!#g&Zyh+{ReI@z0VN6d?A08f#CpS`|i_|@AT(-~D zg{JbUM8Y%zObl>mp{ms~T|gz~tg-L+%7zHxa<$ZF;pb-8%W|zbtPGa@ItszCf@Aem z1EiucBoRVm-n**(b|0XYo6q0u;J$qMdDt4Xdxr2#a0UciAP`_GI#LU(*cLHC$X0G( zGJe^yedWJf5dF%ZSw-tQ?{Aymj~pF8fxtD#_g}jwP5G9_R9dkwrDOEHdCnS+=l{thmq73N)wKW5=KKydp4ADb*=39y+d+NBASck zdanI}{mwU7bSNb!#q-i&9Cj6CJRf8%1q?SVi!9Y78!Y|5CEyH(oiDJIWS;_kSpU5# z-uokr;B8wRXChq9$>@9uCOH)}}>$7!{}1)}8=Q zjq{;A$=TW22J@b%GXUtmHJmyJ8}WlgrDzeNH+EEw>jUHF$d9Yy;?Y(5j~!3@J=288 z9RPmHrTM}qW@2sn0WenHq<;KO{p+N1jVfDGh*#?jRhXYwoNL1OwAnW3-c!%?;bq?K zNlq42Mn92Fejqn^xT(XJ9-N>F;`uYih(Ts~{bMi6Apan8yqF8;?(PnWNYR?M&m5y5 z6G#KroyQ-lB%kssbPon+%buU^=H=Czb>LU5 z)h)Y-68!NS*gAC-_5FJ)W>7WG4*TIX{s^p~`FeZ1j|~hkiI10g`2yA}jznBm%3M+w zLeZKcVs4zaS2qz`o_1NexsO1$Cp1J*?d0&yh?#DKm-oV47iz zY|sMqf_CKe@{y_0^lG%~e*I36I9*aiyk+ZTbju?0yMlJwhu1Ho6ZE|{@7sAzgXT)B zgb8T`l^wGdzM$~IrGL5jWuuWP<+Rx9CMwr?iN1;@c-kMf-9N|cFpFu)dqV)0a`_0C zRx)EJC}6BbmwiP#2g}()5P%d&FRl3TA#cstce1(bmwFEccG@+8E=iGg?w(54Q6-|) z#PgTy#pSs&HRVC2c8RS6CrDInx?t)fFFTRu7e(0S%GJZk5av*%nKDZsK8FF(3NrOm z15SFK{L8?O*@T#{+U&r?mv`RoY;TK~5C2#$5cD9EzydQn{!0g0usOfsFU%|a1 z`2J5nZ^X_UqaV9WSx33)x!;agYMckAd0&g$T$AwuPdx2%x^3lVzU+m!Oy-@?q0LbdT>68Uu*5#?FsQq{Dzi%W^ zkiRPDKlr$?yzE$k8%8q%I061T%Vh%u)5jghUGxe1H`j!TH|AX&zGHsAzJfa|kZG5u z5hPZq64oxeWLvQsn419s^!B#A!ODr(#j{hh`OotL4H-uj-5o10mu&Z(^;ed{ z$taFpFb0IOf|XhP(CPQZDT7y`=%IXy%57ufEJdC8<4bn6c<-elQMwdaJD_#Nn8qH~ zJ$BM$%>JPT8Zi1sB#n`f>*H9P+B^mC9CI9My-c;hI0FdcIE_fTfWT@E$bqg`0IFQV z{!rU8^V}PUg7nAI zr8aR;xaTuNslI92j4>b1!=ol?6W>;Opz`&ye_~{yna2Odg}P7KPXcd{G8;nW5}mK5 z!4p2FMVH{^-H0|XHBwnR0SGO(fE2G%V*hK$_29doKjB#z(x4nRM>t~zqL6QPhGh@V zoq+UI9gG_MBuCTzg5NHt<(o0jzYX2iNte{&)Ej#GsDGW0L9ISV%p~+>Drro>wc7Ew zc7(HeGZ}akFVIKj%S_5rp~!;YzrU~QLW!{=Yf2S4Bg4NB^!Ed)e1E?@aBgq@v#JG> z_zHQ;$tgKwV`HRdj3+R&5h$0m+4@GzL>V%bRHk=%bxxn$U{;|z&1cJE*$o?o#1(d) zp}u2fdi~s@{rC-VJuTK+QwX{^HEsMiZrd%Ir=-mK?<`aQ`r$W_a0pDXj}8wdc2??u z>#f(XhrX??4JlKq&g^E^;9oIociX<^((rK?xc+}toA&@8&Utgl{ojX|5Z}R!N8niSY^WFU~Ftnq+Z{NFJ8gjR|eQk00-vBrf$r9tP=`1ABX38rGcr^_+7R zB7p#no}+-=PeZf|Xk*{1A#^B_<`YhhaBd_ZxsQZq0lj9~_T#1{cQrKt=J^wdWF0r7 zuE7AfY4FeW=}5>EVCgs#!}Q9ujQ<6t5EmC0o?O>YWh$Gu{VO@U!R;L~28v*s=5^)U zUn@7}9B?>1+ke0GY9;6xXzv2;MWIubECFM$$;j;R6cdr3{TUyv4Yr9c>I7HWat=c% zz)LrLa?%SfjSxaB=N0Hc=5xUB)x^18s?}?<`>4GgEx?x)DC&?x;_h7I9E3(t%m^rp zlIq7|aW#mNK^hTu-^Iavg=q%>2!1uF8FbZlRc_L{{okZB4QZc=A^pkPy=)dM{Hr!= z4zLjH`>T1c{qAVF!_~DwAFKFt!O#?Muap<2$XlENZF2~zseu<<37k)$u_mI3J~L8iqx&kHW)Q9cl2Nc9A};-lhneXeD}UDc@?=j#98CaU9VSwWrc@caV69@HOl$Dq2Fm4W=2hgL&0BO)N6Jdp%)pRIMdmYS0166;N zp=(D4|MYv0ft2S=ajlo)LG$9iu40Ee0F*&vLQqJ6y9@s=;7)i4=J*?@=1h#}{(ipW z2+lipKX(BTY*MMu+t%|sPPdE$u8choKVw8ipBlMyvTfBeE<>l{ZSy>TM&VvPZ2qEl zZ3%ds==L-@GerL4be1MdRtANx=W=7PyLk|v%DSxM(K_4qamn=ZsVw`ALE^%spu!>| zB7A(kc(2wj7j*QDFDgQwd_mWBz+y<#(~&4C2h0v7S?q0B1`$c8&>;gViUGQXkl-PD z^paG2#I)eJr!($58+^zI+OqnZIhU31?m(dP2#l>4_8(n}`{nj~zUrwT?P@jTH^m$I zP|X@JC>v;W)HH?{;f*eG(}}cB>8UO}eS7|Igd-&wg@`Nq8U-+!AdT`}@w?lRe7fnp z8k6wc*rPC={WgAn?nPGig^5Y%9g>~wpV&(qXYOLAa@w`ehYZdFS@4>If)B)Ox-JvUBIx*7B?u7Z&uJjoSZpV*`I^`*q|Szu@)PQO5V) z+F*nxu)hhW6FqD)SNQ`cD^bnBI zp~OTaN9XhTKIi=SAI{GB#QnbR>v~;owCob584kJci#{3filFikK{`Qiyow$+lST?X zvvASQj>g_?#K1}s)NEr9Kp@nRJ$DPWsP4-~La%lQ{4&Z9w&QqGV(zl zHyxDFJl0D7ewK9=Ud>*$&9pz_0UVSZ){|e(MU8{LS!o&}qO`R4=5m@Q;czAeFw2n= zSkbj7AaY-h9I_GkLeVlF59Y#e(nuJcKjL7WYTx+}FXA?D0A>NX^gkvPBt>3loQ{-S%aD-mIXYAWY5cc8_29nr#dZpR7COBNupVl)Giv4*4d`$45|WOCKwyY}Bwey%X8ZGA4(~%|5wao)^C0!To>f{P z(zvj9F~JCwztBndMaqL!2Dv`yBEZ;y(9MA}SE|UyOfX z)&tE+2<)ogTH=A?8@*#yLEmJ@>5BF)W4Oh$(@mD4s8^{RDgLmpr)k@mm z4&zPNHy%Ds=fE*W=VGwvMhQ_MNz^CA!0z>c z1RNG|DsUH`Qr7_!c;iA*Rn>MJdv>iwcUakkoA^hCrH*rAg^uHY4dXS2RY|Zh8#0ha z40LiBFu%+&ckV9b+}@<@&Wg*6(7pRi_Q|}KSvKHn)%?`LQZesCE+`132-HZh>(;yd z$dEIw6`8@C!U<9-))|kAF%Hx{ZRIM-l!p!De%>SSAS6C|gh&I&r}Mu=Q3v4-cy;lnJi^VP_S@+S8}3E>`oJQI5`lIZIwe#Igc>w_pUlw_rrDZ%_V6Z_2g zE4A$Qwj7~%ek7<8PtwCgljQUvWiY;}r#JAN@%UO8XVS>HQ|BU*Hj8uoU=d4<(d4Ho zfQ;m75)>(ElF1B+uc@eY5a@~8S_&Bdo@7VhK_2w6rQRV#OB$JArlxR5=q13L#}3L5 zzi~-{1^=8~4*k3*rrC8w@rGeQgAX{XVp(L%V>a`#!@{WOmz)0YY&S5P?g^+^UFLVi}T1+M$h%M$Kz`)c1Y}fF9foR|C0C)=+jd%9FUg(H{Wo% z8ypt07kYaAZ$cH11-R{kgN>M5Cj(_hfzfg-Z<^1j=3k``UIgnHMcLmqWv>-d5;of& z5cgCow2Vr<0$Zt@xGwAX_mvNs(|RvaEq0*XOY`v5jHs^xK&) z2I}NC0jiqiWpepruCg)|SGhAXsPh1~vyh^2(t>oEG1Rm}w=%!eijy57XJQ~NF%ry) z{6)X)qp!yg`4qg{x!3g3eaUAb1+8!!BA}ALEzJAkvqN=Y(6}J$Y#$NnglO?+%o}0d zi~J2tnF$jS9vca!m3b(Nlax%VC@~!!e?f(qto4mhTDw7w!c$Gp}aHB zbLpk-p$m55`@4KmgUs}WnUO2g({_oTcvz^0kiUCxJol$KOOQ`T2 zHDS5e+k1QeH7iBNCBZ`Hesgvm`Ry(QZjUv0;0oNE^XA74ORMJHnl)xgQ02Lo1wky<@P%l z!LQ&L=c(`36F8~gVmBi?V&g5V0IQ^gdZ$GodfiNoN3)bl)Ng^&|LJ_4{(G^yzk^x0 zcbj%5^N!+wk+4$Oul%g{c7*nbI*k0)e({5hm(w-7&d7NH=!Oh}yxY)-iA(4BY?9Ws zK+MPt9N9ygw7-#d1=oB+i)stDzmuALkOqpZlWH$8k;{4V!l}T%LWG8rC@23javh&Z zcIDYS&+O?(NO9d53Z!9!nIMpv2u%F+s&>Y~IsFGViXg~L7*xNG&zUOH8zW=H@oZJg z+-(MC#oaa4I1lsi!k=u^DY z&)hHx4N@L(waxwk6E|mR8NatB?m}PO*Hi1~za`FYgU4_D_eXAA+?OQI0DBwjL=oG3 zZ>#~)KEJvT*XHjS!+#Ao;-r6lJ-TT3BFJAiN(Q&!JxgFD^m@9&L?J_)CUrpSk4c1H z?3yYH78vHH-qn3mLm0;nyGipHG@)yv`6hE57#^{?Aq=VKEU zog{7vb+VSqOGU~6oUWN{bwx%;G8?O-ACWK z!fsTmmhKmQnV)_lDq8P6T?xFwwgmyM_{{am_I-=6fbeh&fT0%wE5^7rx7aHE@$QX( zlUMFJse}7z+z%0hd83K2iLH6Vl=lYh5%&;C)FYRI%eVK6S-{G61`SJ=47ADo(uZGO z0g}^@XqFwFC|Q){ZC9xOqUXSPVL%bIg6!zH+=)a5IQ!~xQ|M=xKrfUBkJD67d}tHWYO@ORDmGyE?%mHB$>Pv7crhq>Dw~NfMa4$tXrt#u zJf6yl0J`*ypQ$+Iy|7{_`H+_n)c_PYFzX9)hO3e8s}W!&oyRJ3n(qzhA*VpgS2#<_ z?DL*J&hleZ)@q+mW)zRTTp(G7%&u(O(ZNnsfB^ z_cwK|xt>HG8+NvrpZa#=q(O0OEe3*8*GZU1_dTxyl5gn4JHHEFPQPEfT^~p|26f-H zQBwxHdk*0YBtvt;OZ0PiJpQ01$X?268ByU!JINM8`#0hJ?sEab1VL zoje7IdV-xtlfmI$x8!b}u0AU_Syd^rf4>w1i7}(9X_%*}%TAy?8)b`7ymZ)1I9swIkB=?Bu9YqcH2a!kCRftzmuaz8N^FQ}F z>}1v^u_uE~lHIs!ZuMbNiF*jq;d*xw4nL{8CMtmk-@+PIO%G(B?HnG-$F z`>GGuCrtQGeR242;2&Z}e%h}uF+L=;xO~G^1#GrVBQ#`_^s7o#8j*4%1}*;p25k~6 ziA)qhQAYTm2uL+_V2OxLvo`dtAAX z9_4o5_VfZqq&17%zcWC!(EEmQ*{bQpp?Matu}R~U3ZIO)?4sNEX=mT_$^QFHkWily zjGT<$>FE()Rq8WcB;Tv8Z$G1-n}SIa!S~`*O-Oh6{WW$tlGW*`(+Q-Jnf0hSm1cTv zw_XT4UG0evUQg0W=fQuwAV!5Yn~h(5^1x?-ha3(8im3FfK)8@e#~{n7_#>yhY>iTG zvMh{AHr_M94dbg)oxmKKlP-4@La6UDQlM*(U4P8x@UXCK>t`>}0E?{ZgV58_&B?X3 z>sPtAt)a!x@>Rfn8wiZ%uh~CW=Z^f{CDX#MGuj8@7+{zSXLM>hHW0>tGEINdv=IKq zH|*??Gso=k#W)t^S0?}9UF6fiQfPG8>B#@Q07Hi#NDIZV^0pr`YcB3b4Z>WL?)NM5 zyspyD8QFMFN|S$TT04gf56`v(g!H!C-m&du`Lgg&{*IObW%7V^6;J?bpe$>F%ai>y zW;elmdKydK(#nJOK7@0lKc56J8?e3m@fK~5& z`d!ZCJufM->Sm|?pFaSU@pZl9_NKst2M+)oDL$vaLDA4aYKq}5A(u$ z9YBifeYqKw5uAi9;xvgviOlaxp+mV&*ub#g@m#y}4K91joz070BU=t|eO_8s@?_wJ zDMLzYm(slcfi?Y{X1EB*0~Ogw-C-Q(w>Rf|y7VzDU?FMDaJyqB zKk(OgT95b#FV{i|I@RY5d5Jhu0CF)#6dlvBLzJE_@z+-{z``O0YEnGSolOF=FPk&# zcyoTFwFY0<Mfw3$I<`xnNuD`u53!bTGOK`z7)w2TgUyfz3}e2 zYNO!|7=r0s>9gLt8H=zD9^I*I;a&S`&ae4mY%-*3?T6F3qsAy{oqlg-^Z;XIJFVAx zjXFLXp(reaGXniHN#v;!tZLDg$NBppnB#uWU?so$yf%v|uL?X9mB+8Wuv21823Zx^ zPBv+D6k&gX`j+&RZb42~A-ASN{IpZ?T^ACwDRo+s$);mU*30*(izm2`?upYMTN`D?gz>qlcFGZ-?scBb3jyvU(-irTbK>R8 zO<+OQ$ zCF^xua{fuDTxvEi(bjChebXDfd>LzW^Xo@PfEkX9ux? z(P?IaDUU_dNi8%QpC&Evj&bbYz?W@Or0jd6h)m!nF1EeRYALcEz9ZSOCn-BZnHv55 z{rc1~`h+SVj%cI83Wb}q@uoLReNqbNnHe+g#xrin537T{zl`%gQ!hTE2e32o&_50c zV~VU|mXr+V(h?lM+klb?A&51whFWwuy=3yW2*z!$?K}ezVuy4?y_|#E%4;w86b|Au zbmg2JZA<1V$F;@{+WEqOD695(4h#$1(Akr%3VO_<{FN+{733SnF4<5JqbamQM|TPl z8XVb?0XSI{ug8Rq*B|C zr*&)It52WEYtG4rD})W!9qFq*z0)ECn| zD6#9|80|1hG4Y+pb6F~Z;RnJ1xFLtdh7>)H@^PJY7>Ej$vd5hm<=%Al-;ysYp4tu> z+uXS%PBBADlSQGl z_HJ3*vHiI~&8L?)qm$FKJjV_zx)dl&PGqjn9IJ4oxiF z6m8LgJ&^v^fX{_Al*TNYjGMF({OqVW;0{LF#@B0qf&e{3%kR^b&_1VH>)bq9Vf#t`OnK0w1as;qQ~xgZLLC~PKFAu0 z*%eGMlYx@=9C*bEUd@W4IMy^a@F$F?s%ILfkr$)$(=Nc~kz6R?nyB;oIxzi#Whu<9 zY-s(bPlZ{$a(IZ>;m4U3kLmK7wwrhKk5L1mE2?*BWzQg^%C1Queyqvl?d@J9itWbQ-cH39P~E-_~i;h|E*%)f>!D z2XVrJ&hEgCJ9?r)&GK2`hXyn36lG}NLJ8{?&THdV$Xf;EVMy~C)rxR zf)B%Ai07jjlp7}~@~hIu+zIQE>b~tI2BsT2u7fRl2|<&3NE%NmSkGnWzNI9`=Wjek zb0dufm!;S~Qn&b9-!jMxfKaT+iLGzBMrP% z3T2X-Nd|}%JJUclm%4Sa@;ksAZMdfeCKGTQ~bLn z>~V>D<8ul)HQeXUk4ap0O#D#%@=ceQuF>bJNyn!EEjBMD^x`k)b*Fpq!b0-G*UwTx z6kba!3nQRVA;)GhRY7|b`$Q#=bTDa%j=k8&<@w&f2f5#@S;~Wj^O9vYqi4EKkmc~h zN?@VG<(^#hWhvQiUBI;M%Y<|2!Tk1a%g)J*;**~*b$1rKmdHCA(9+w01-B89dx~ce zbWBWsrb4GC4X=zee0_b@hhAf>KI^SAtj)4ELN#*BDljnciC4BfsO5vdB0jz)VSx># zXHD6Jz!Je(e@D`WkZkTpht=06k(c9%g4rh2gn;GfBF!ZkR&P7h4Db2}4XQO^F40B<1I0o$1Ed7U!ss$#Eaz9z$ z6BCE->m7HC7LU(d1Y3b7d5^TSymB(BA}gwGcGY5Sn@5qH7-ta6Wg^%4zv~`zX`FLp zS{=GRY zwEGu>2Oy&70%oW1{YYZBwu5Z$_faemI=c8ZzjTfmW!Cp>&3gH-&x8cJ>{FI|PD4Te z*{^=Z)_M?oz_G9j8TWSJgNBau5#cV{f+xlADgSDcMVE^FbZhSax}V+Lbq-iVFHrYZ zcymU0hojedwSUi^hFGwy!8OZ8Kn)CEZRp4YH?`!k!~74Nu(KbZ{cJ1XQTGSAAQHz? z>CpOo+S!`-$(CeEMSCGOZEI`Jzxk1haIC3;^o*|T!TQf5aWy(ZrQgAhhlcHpAY8Pt z$$dqrhRPsrG3q#^w`9dx+eDb{sF?e2r9n9i8N7RQ@NM>NIE#pNvOM>x{rpQmZrR zFHZmsBOIvxS&{?BzC7XNSHwJUA#~s4gwl7 zI!z2dCHo9BlE|ud9)4{B5m;Ipc1`Wq+!OV+ozT2+N zOF^e)?e&sO40KZ49St*p_vgQZnOlF|+qc)CAI{A{kd)#KD$Mr2Xz-K(Bvbx#3|DAI(k=;&yPY#kq;;Pt@Y zUgDkq=-F>yKCU^(VHG;;w*9+s1z&);qR+VQE+ZpjsPpBxP{)4Xc|R@`0Oo6aX0BZP zx6tg4MHdVlF%tA>!5`UlD5i6Q0NfK2Rtyz9JwEvt8lftU;O%p4Pa`>c~(>~v8eJGm)Wy`s*Pu8D`=iWH~`t_^3Z)^iR`bD;%DxAG6t(SCr z9lV2d?>Otb2Y4)`+Z4dE=;suKZtN!-Ue3-TmY?>D5`;pohIVvaR~~Y0{n+nV?qafg zQv*e}S}J3Q4~%UKqUzqpjmu5pYCvrSAM#ni_5|b7t|IAgRS>UUls+Dh1XH$9tCS@E z%Gd10({swmB_nDc%;ZEMh^X)(B)zO7^{?Cg3chx|uFlj>-}qTFH^ihFP4hyiDg>Bn;jR=}2NlrIOxH zOnW6XJ1iAgX|p%9r9zn&!72uhPJ}!nRMxX4V4>)kR4B?DyOx1poHTcb_5*g6j`Mz? zQg_&>FjSDIAUP%0iaR)nqh9YKj(_N$iKq(l#WSAoX_sB@iFI*;8Fx1mtKtV?Xq8xa zShg$pV}5=kM%u<|D^Q6dB4(m4KA5=$3sf{uj)$Fyp+47ktHwn>NRhco*IW*`IvDWx z_hs+Va?SHL7tBhCQC@W8D*#^9>loe~13<~*9l><~wlcJLR%`M1xmR7)tm&-}MOClm z#Kddw;e%~ydf8fXnOQ!-^Qo1CA{~^(EZ>H9P939aD2uaY0QEhs2jgsi{TnRmuyV~yu7U#@2+bPr}L@F)7UVr%5PuSCA>(_%dc5(^eKvgXW(aTSe8~!%QLkh0!Sy>r zn5;NzzzbehK~`)xLS880zWnW5G#`*w0Y`yAnUk^E_$s##l~!-N*s3k~i2te6J)c;X zyKHh_xmjag5r{tfqk0=;Ys)<{S>v2j*JfU;s&8D8nN+vlmM!(=Yw-vFJmwK82Qx=R zLCrYKSsWH){XC5(s@BZ&+wM|(lUy63z3TFWdAZ4IsjYaX28juRv(%$L@Q+D47;YotrDGk_8Vwd$XRja(lC?c+2S?G}V{IhkGHG zw7`%`T9MH-EZS?5UE*0awj?W}@6eUOD!TcCe=u#Xpu*-P->wJZ{X^*4jqGm*?Aek9 z3h&uKXwO#R!H@3eHsX}5!e~0IvIlESrgBtjGBh-MWj%qzfdW6ZVC=Q(9kL(S@A<)l zA7p3l#05hy|?)~e07+>xD+e;a@g+?CqbkAU1J&m3ut+4W{AX5sM|L&FuifE132%j#^=}DgL zj>tCVKXXxMXDI3eeA%4!+vXU##dT{{_XV<6{%{tG03urDmGGpSA+2Qm*J~~lBl{&NgB+p%3UF{!_O##=XuyuY0GIB3RW8;Yn zrrNwS=*^oqGwAY!(#Z*z8MpbytxbA&^A^kA)t*(GlTimvbFl*Yh2u z$8q9`QD%IofcEK{?2#lG0q7zq2*=+I#G1O#N`)S|P<(A~zwAp8dcU^*ApAC--2A-P zy6y~>Aav8-ecAs1@HGCmj#SBHa=^JMF3th?4Q17-Bpz-C0{$~R@O^cfu$xck-kURc z7C{dZ70D>S5OA%s4rKwgDB7Vb#Fp9ILt-nqw=9d@{^NiFC|mG#o7Z>BP=f0yoTRz| zoK*0S9y-jAmLSSVa&^V_zN8zM5(QwF|8EXHSqMM7rtkh(=2W^^nwj?j;=oYM%}Ybt zC6onCjt_n(!Akfiu3j<+=AyLjnF2|BOilexso~XW)E5{6-tudf)I9tKUhcoMjO0sN z@CP0rzhZ@Cc4uvHvUMeqR_PpJt5Wod1UAK*G(w>Z3oAkUtFyr3bzH_zo=zo_T1kXt z(u_+(i~|jEB1r7CT!`)dqG_Y%?N7>zN3nf06m2``?D9k%B_qMBdIy}HSZB%4=B2AK zK83Okbc=+5T@*9y5=FiOMxsj|F1XKG9@2c3&qeZ?9g@&8pA}k@_3`J?2f_%B@n{N~ zH!K7r9&g@Qk52(ORde8EH_18jWm(T@)7ye;_?euTysIlZsJ*)Wu>?mPAw?Rg#99F+ z%x&lqTk^Qqv}gJQ%&#sioO~GQz)3ql5=0P9COb|*8VJvMu^IXc5UPMd&Xg(8dZRuj z{Bnj_&Tb7=_qtt*w#txc?iDv{&eoZ&Ynfo=xqhT3vsMw(?deApL?U+n{leli6oe98 z*`Ed`+g9B6{@7w6dZg>h2g6bTPyg-UY;N+V@(qn1%2bm%Ze#)cKw$I)?&Z zO#A?2x7ReK;6JEcV6i?>MiQIYz~QF3awVaiZGu@iSeN zXZ0(M=>F?#f>62d+{SGI2malcO9M;`P2Sk$$mJR!Z@lv0W_L-K6g9kYxTY&xmU$Qw zo}B3$9p-Q3-!S*$n^$Sc%VXMGT(}#s=SmQ25l&vCcW;#fN0mJMFDrQSUt6rG=ph=I z7XLfT{rlSQlkFP*J3cZJ4;$BNJHh7RMu;MWW3@;#p(fdZT|MYbMv#aHLYPwZKx;rM zSh=0Hvl_%!{@3zoluJbAe%mVk+rf{y6`tsOAN(fG>wPAMxC*b1YeRSbEA<3sVjY>a zSB}!3x{o@fyaiA1QihE&G1MylxP8b3_#^@Ux*oSd)drACS@guZ0v_|%b=HC5;kPxf zW#n|JHDe6<+>rb>T4zj7xTp?7EO2|X&^%AGiHf0EiYbCu1V?Q+nWZ!U72_vGq(WyF z;WwW*_>2~TVCuB<`G@1}DRC^rTVaDpK^l!6dx5dv&d3h`75F)h<`(F%=#3ct9b zh0oudT@h&lF2DE|{d_$Z(Nb}+(eHk5I1yIJgOSm446d&tv-z&a@gBnj6~vN;NTfHK zT6FpmM5@@gSb+GjWRG-L@04E~ugA*5k&Kegrf|N~8wjuON~+@$MRWquF#}Q!wuw+O zJ&moWCOoB07~{1V)&S9524?z?YU#5$S=Mjsvn_jp8`c%C+-GHLwY9y;+uN$r)rVq$ zPCR?O=sf~RbJc_x5j!QF%1P9h!v+wQv=7;-(JM>2;D%JF^!XD<`~teH3ZP6WnxZdb z@l=ULRB%($IU#m8#9J<(9n+Kk+>$K5N2GqN<+$-{mq@CMN@D+M<^X8Je{I%u%`y)w?tQL42IQ z#mDC^jZ~56J=SflI7y~n$TJl(z{Jp_-hw0wowbSuvc7ML$=!f>01guiu>L=u?5^Z| zyei4iHS0Ru2Re+8fWV2snN`gc4Dpz7ZSZ|*9G<(lvr407ZwLtE_;U$iz)dYlt5Le+ zM-Kw_>ayd{{k_ps;x*IG%5l(&5(B?4z8S%!*fN7c(;zDD;UQi5HiyU8!cBBQGFoff_XTtx!EDX7J@4f-*m#YA4 z$Sq^g;jdWcoA8_UlrjkAvjMu4QLT zvMD}e@7iePp;RCjlOU-&FeM&@P~QJ)JiY-CKIS)a2)5`wl;RzSidbC{IPTNv0ZLZ1 zHLI+OGpf>n7m)gX;5t;90@s0KKCHn$i7dn-XxNdsPBOMYhgtUWRhQTBjTiVrk0Pb> z%yP8W^5Hr3(-!TOZsAIw!pv4zfAm-W5lH_R3fc4Z6TsOc103qV0k0s_77wKg12X)T zt*C-Ii&!xgOxi%P3wthsP00}<76T(h({X9G8k%|V1Xj(F^n2KPzzxrje*S#9P`KE9 z8j;#T@qB~w3%S?Mz zqGxeitTtR*i3QOh5mwf_Z}B6!@p<(rJgxQg3aiXJ|8C$azi>0l zqA3Pt{ro4NwO#t0=KlS8q!YY{>{9TX-kK^P>?Ob6-S`X-^6P$$&40A)4_KBE$MiK; zt3Y>6_V<`TPP^tA*XA5UZSA`%tP@geFCVHJvcA**6ysrwq<{`7YOtmu1hlt?Ct;*o zXlcBn!GseiJp-3gVnpQ6Yd3e#FcD3hB5_tpkz%%8e0nawWV&LcLF9FtR@eW$0Mt~e z`E(UC_Zg*)sasVlkb+twPsMFt`BY2hGb*D*LVV&QwZV5QCYj)1VhkT{rErh z=2744O)pr=fAD@NG*#<^^n(q~Rwef40vFJ)Q{-=U+`}}ZxP$2)K9?0C%AQX^d@+1p zI$UIFSxU`*ms8Kuocis%n@=>cWTO#@pZY0ED3EOeBVq6-m|D~Pf=dhFVzTJE?a$J< z+Fdytv$)={=vAfz{E=pP$6ERzoKt!J zMIWvF?dC^?+eq@OmF7i1&E}cc4Sr)dfZ8I|aXbc4>)fTTGpBGJ?ga;LHYM*rLqrb2 z_&DFe(i$+CljBY*SRgGV0bv^aKy_YuC+&f9wAB|Rhu3~}!o5$DUD1Uk)#ipsMAtyags{UcU*ew5_iA(Gs`5-`&) z)OuFbefc96Xh{jY*zc8V_wU?Z+6%fRz6l!3dqRd@52T8P@$y76P|k6KlZJ-UpkJa1 zS^PK%!PMW9529^X#vRxs2<7%u_ZmVrL20__6p*44-7fZeqeNoJV1JZl?WkdPX{ux5 zJvIc=Fp{h|H9z6)ph@t5xs#=KT1ug=^>mFVb?7WRDMtg+b-c2KPQ9gWQ}3{vfPslzy%G^N(asG>tyZfH;sa~&$Rei^hoG3)5kU)vmH`o zuhjBRJ_Lrj?Pk8zF=_S-ZC=QNK777uRR~xh&~v%D?9lfdHTj_@CZ;-bhd=tsnI!jp z(y(JMilN$V1y9*@wGlP1s7eV_ZMk9VKxVcQbk0mBCCFkw1M(n zl;XCYlZT)Io(xT*#wQvohL6?!?=ySvzzo;8?-L|_qOd`vb4x$<_VEf)Ce5|G4no2o zhI&=w$16)ZxMcl3Ar+)9rK4x`wsT5=lE#psA%z7Q?1cB<_M|1OagT{+vQ@vLHAP%9 zx9p{Wj_KH(!8X*BLuL}x2I8BEe<_I@NC-Y7$2 zcla%KvtBY6mRhFB@~h(1O{Trb&%T{M{R634SG|aRI4lg#uY*>WGlyT*-uw>=5r9z4-8 zF)Jx9^6fLCvRcZQ!lkmx9za#FY& zeCrRe1?_U)+>Uf#jO28z&%dxyAre)$Hl_aKu=uH4j=O@CoQN_4Y%Te|H-uI3g>2** z-#fEE4-_7;Qhie8flG?Y<2+@Uc=1Bpfdov=Q- z%QcBb3PP*eg_p3v$xIcIeOQiiQN-;!*;(*()XnYb$*AyYI206S2%?q2z+|wQ=~af> z$OX;jr6!v-)IB4M&{x^V{ldZ+aHM*=qyrL@%*ZYbW@^m1Bb?uh{>EIZXcXjB?#yXl zq|+`YC2xW-D3tg3w6Mb@=>eo-2&SEnkEV1#=D|3ls|~0gJ0odce6;z`p#T`?6?UG| zCnZhMKXqLUKy8)#$`rhAhkwY;RlmIECb{f%GqGJCJzScb%xrDolzOYEVGa4hai34! zAl?Q<_V!cyH+||mP{Sfg66L$8r!W0ph!R7cSUJUn@7jX+X6w8Kg|zfr>N#v?KNN9m znH&Ybeugp8{FgUoU%O%h8u+<)+-N}iMyC1cB==<~C#SUX9hW=r8M=O#WQw9;|&zthsb7|u5D`X-2A3uRuKU$ za2ppXHh?*CW+{p^-g*h3y9$3Kzv0 zRa_Yy{I8eIVd+$So>7BM{A-fR7WGHaxPAtgxYl18Hd|j!6$tCd8>9&pSVZ+5%>t-K994mnlP z^BnQDttaziA0_UV@@8?2O_l1ji$FDhuNNwu)LC32{hMUA_O4Fculr1wsoq%yJ8dOc zT(Jpv?(Dc<))`qaJ7(GOh@4)y3Vg43L}}c+$Map|puM+_<<29P3^_weyxw5vRgcs9 zj-&%&f#%-_YwXo$$PLPfG`h6F=PschvXUmt?cXzmj3dIYpBP(~D1`628gxMhX9CaU>LJJ^~w*O0=;;LZ?l&8k1QA%WBz@%{XJ%=!7b4bFRDb2Axfn(!PhBGs)Y>GGb4Jc-;2d_HWrW4lNaoE7Jx5kd_fuH7(Xt zWl6x_O%y5PzF1n83BR6sohKk5r~&!JYo-tK{PYArD4f+xhe)Y=MYr-H=L8--(8F`N zYd$|^<#CZ)p5i*2+O%NlYFyhs`A2wPmRCq(BZh||Rga129t&YW)}M!T`@@U=t$&UZ zKN@?2xTwWbX41|${4$y~n5&21(y>tJtFh{-m9~>2Vwpqshq(N@4^=G!hXQG}pP~fi zPp=Y$=FQ_X2ABf>(XX^r4IYZ2WnT|`CLu70qBMzM#eT>%wAK?i`n+-Gu+`X}B`Ip+ z`Dbtx0MWDtk29&B&p8xK?Hwze=rVT#lL|SbEH_vX2yEKK+P^msTBdWjM!R1(?*IY0 z#mI8)>?e=3OS2}GkaPU;ZcCm60y1vIJX|x?8Pe1mrO)*dueOnG2E3;g!Y?TZyE-({ z6egTKZIje=4bP%{x66U0{ok3z{l8TfA=6n#=6K)%`;^Sb{_8Ou>sm0-uK4BXztyArkt5Ibvnh`hOdK;#-7G6;`bE;@5P370v+ z;3E(o+*tHC-dBDh++@jeTRI~O_DTJgrA;p(Bp|>jAF@9?G3QqMlKOdrl(dM5e)bD> z{i^AFUqHXx59xv-VALjgC(i0#6GXHfz~mFWT$+=d^mH5f9u&tuW;>V#)=~dKg;eGQ z&C&#RFE|PCkDh<&5DtG+F`f5Orm01^`K!m9uoK5}x*GJM|?rU zb)!Wl9X_|f9E|Xh?VEp3-glB@NTTUrX@~M7=gg_|o+f?F=j)ihVbCananC751hL(# z5-Sq$pBUaww!1QAy~!Zr_rL1%3=%pxG@-*t7YwiiIsdrQft_8f3qph)%}yi;Eq6KZ zRQAV`BP^OD({4}P74|WOw;LSLZrnomfoAtn0=~$O?=~`zCjo$9o&NJ~-UyVIkdP6P zqWosnJXK?0^O(!%E7^BTo>hd8C`b|KI7=rXDsqBo?*>l#j5~gp-+@LQ>kwt9F+LE&T+M+q`8pQw z%%ng6Lg4^WOV+=`&p1!>yAVnL zgwehHxjkJ!YKq9FU^9@e`B}w|6dRWf_3{G9+1-^(Fz04q@4o<9laufKwDwY0?umlJ zUezMNdEWMGw{yykYUMc}H?C=|_1cnT4U0nd9t4Cx7 zdHQiI$i~O{xUz1j;$@RtXwb?H!Xf|WTg?C#YtP4yT)9H{(>vTAXWUNioZjpMjaKbp z8#^vD2$`dwVVXLh)1m35y{K#mh3%({PIHJVD7DN<7782*mV!=9$Q6K*On3KYc%}!Blr1`4Mzc%5R@+&js~-_4+PZhv`t( zexw6}kxI9UCxI;ycG^t~_kXV+jlhK{{TG84bZ=&lKhC)R8AZYh{JgDwfCxhORkp>& zA;RMNFKt)-dE?8n@maPt79pH4HSZ65%Tfvcd%y2inp?U8m0E9AGKV2zPepE`?oB-} z?-p+smlmCW?VOUF^o%-uUoJdkTfm}wKObjtQmoJ<>HY1f0l>3XuUNofB$+z2w68kb z9LC{5SUnb!q?71^!0AXJ%cSaf$8dd_(Vvj_`%~i*d18**_)*et)zEaRXej{HGG&g- z+s@#aYYumBUZ`p2L(xQbda=hOH`CTH2m`t^wIOxW6$k|^V>Oc>}n#R@tehuu=| zSXowGz0MF)PaU9R+|#?1Qv61cEyc!?4&h+RY7w3JIHT;}zO;Gv?Uj*5E(axObbNe< z9$7zHnhIotyKZ|gS59wEmyUA7UpI$cbpwSsSEIU}6K%i$jQ)DjS(ZiUvF0*U2DIIe zs1CgNP%&dpjgJs`LINUY!E^l6vJpBO_?^9vy^y%EQpv<9C_!O-W-YSqefU!mFnmxg zIkn4$sdA>5YMeznN`i^Wa`7EJi!A>Xx49m@-B5xp4%r@7-q2i1Q}#+Si5xn#~%5)@ysfalTp_&D(W7IAAhXs!*{Q?pR!R!>7yH{9Co-izw7k@P8UDe@vp zpfFaQ#1tKEtr~#%WoxUlEewuw?#woDX8Fp$b2a)In9U-F;0?#4z$A~qzvYmB@Sizi z^T)4tzkg?!K)Y~Zz;x9N(3=P#F>)VTvBXfwDni(pnj!eC(c{Mmq|T2gGiJD>w0@cY zqvRoE>kG5P8< zq}rdlFD~Ytc7ma1m`7eP6jTJjJLZ|;31tf1QT1z2j$ON*A1U&?4_twu-%hKIZhuSX z&y3y0l5ZUUE-rv0)T_VRiMNYwf0k?~yv1owask>OE-d^HPxv7O8_Lv0j7d`WF>nBe zc5mg^zZR;(Fhq)#$Hto1f&AC|>m{u2+c;14Gy}Wf>7#O4!2X~h`OEa@Sx+!PnMaXS zuhMy5B0~G?=`tw51dRdAAiyn2oMH`lub<_ z1~XSllMiV|&fqsSjI$zg;>b_tnZ2$kn!9~IeLOy{NgkG;>S#Tq&w7)0jm1!l*({9@ zZ<;`X;MlyEQ??*i$(ZjzXPSRd#1Vxf zOX~A<(PJ~0Pns`?qiv6pxJ;X=AYw4?tK)+Q2PZ#x)_~mS;`s-oupnrKYV(`Xb&=fL zz~fqmw~xRI=>jN2j2~yx!MNO2nD^3j0mNp3J@DrvXtf&xG0{bgqaraO0|Nu|b}(f% zC&gKgz<(boTQ{Rw-aD@B+c!fhu7y8Q*f1qt{E{)vR6Km0LI4u!3&A>9RpFd5hc`ZH z1g(u4DTtB{POodgmhbg6@b%=sn*Vy2KcEde^Pci8pFfOsddgI_QYa77xb`h`e)rqO z-i>C;HI`Uf!?4Vz%C{5vI^ZP=8i>kn$00S+RgKumUsNn69%7H6u+Trs+cAlz$`%J` z^)O;Mz_Vv#+M8lQB~$8F+8|9Glz;^9Y?JG1&L(*NnA$OKGsRxw{jT5I_C&~Jt@CJP zCG#SR$pGKA3JP?IeHOOVj#r$s5ga{*f1eH997_ElLn?$!bD!TTO_I_F^)A+xYU3SM zvYhOsi=J)th62xo9RO_x%))AB4c-UPbXAA7{WuEOh%gv4>UUks&u0W`X=t5@yb0oW zq1t+^fzX|3P7&~sk$$W}qT{qlD&@mJfSz3y6m$6{_FcZNxA4_gL~RpFxOq$ zr)33!hYC%~37qW#fMuba)$1qH3d+)*&;dtbzD^fE^GdN!=etSawMT|PQu&+g?w9Is z?7qE)LvM{m1?SIhA68F+wIFfl8wN%(+54b002W@~SsYwSYSp`~`Hd>Nt`4(t4iYNi zkzLCu9Y+m?F`7X?1a+8WrT4j&?wOSEE!fB)2h;O2jkVd$_9Z$ zDKNdwF#Cd2sA<}I?}=CjcP38H6L(VV{@fuEq9RiL+V~N=j?an=Z!ZxN_U1$BbhK5! z)gcr|F1{q$s3amCA(09(A&5~l2oNM?kn`}M3i1J&3IK~N8;lMAscN8UoS^4))i-W@ zocw-e9IM7(l&9k+J>Y?8?b7v!!y@Wr(_S3ocgEi#7K~gmA+4wOz+T9M$ecNpbG(Xe z#siEfqJHZVn&|CKe*PeO<;cmMWELEP18PNm`Te6rO=WdWHiX^>A{2-@OV=P{4YYWuE8*M2-0Lknp>mj$HxadZ_ z{7XWAg$rGchU^C3EaAl zxN35+d!P08_g-bPBA1|a(#(`K9$qLTXLVTc1Xk#oB^qMbOePiP_sd_SRH!t-O{}6~ z=AIypQQ&h$9C>Ez5!w2R&n_(6>7|3VYd6boOF+=&TE2K%U5HibV+vsU!VPw}w~vBn znO6kMAXbJ-*s-NvZV*6IvEj>765x@zL5XHA%7{Hu=59=p4+DPEy8 zHB#8pchTfMN!PGZDeFRbdUdcM4Fed_=a>ycj9oNRr1G|p+wBdqKcC6p*!9Kb1>Bz> zOz?V=lzyf~BFQtQCW%p>x(O+=5FpC@s7fwvwcWI~JN?M-Ke)ZPZSLxKV#{Fqn)pHZ ztm|mf_f*Vl`~3K6rFAcVf!Ja9*%4n6j{WFPHYp4f?Y5OrQ3CPnFuWd`5veQ?TuT3G0M;3LZS?DcAV8={w!8}FVXjmAv~J@D|Qz4564 z?&j8f&%Ce2J{ul;R)S~+<@;!d;uPoyvtj|72gE8zrZ9$umOhh}SP6zcM2aNDJma#p zG|$m>SUzI;COEpX2K<5TLlrI;IszL~vh$#xfsh&TA6F~38fiQT0u|PA+6bAs z&v$1HLdLL^U~sgg06Zv|ieA1BTi+Ur&um43i^@b2rm2XEG#)1bVlHd^Z68IB)~AkA zh)GvKmk@(auNN}IG$@ahh#6*@Of*krdNiyF;6p<|+TfcyOlaMB90?c-Q)ISm2%m;v zNSB3y?UjvoJAu>8m%BG=2|Kpr{(rCd1CNU-*Bb(!;@7X1ou2RW7h9ZTU0P3?#~Qw| z;}F;mm|q!LIlI{-_P~?Wwep4IRnp6gwgVaP{klaFNi#r^ zBiwrDv}DK#hVa5vvU2i>lfkaXn8~zui4+NDO{my^s09!|e+fYfT9|sPC*(7N6O8w- zC611UMjnxFD~6{BUs^J2m-1-?rM?KY$m{cGmy;!TKqzSgLB%%(C(%M18$I-T-lB4% zQh$Y)`bXLF$e`a9_!aZS_nP1(kEdtPC-3b1p8~Zq;OV%%^$hrW_uLusqbqdo>Q(MH z%vJQXvL41vpQ<^o%2JjRom{F>v+j454v4I6cu9Zc`Y1Nfek)4IXh`|Bjf90e%>zPN zGaBN0>^oxR!S1F+X!zktC1a^Lt5uMoDQE>GTNObMb3eprq2x9(`&7g>b7ZlWdFj9_ zSE@8IF_CvdGDu4iAc0#(6tP~>0NHGG=m%)3795oTyqSto#!L#-d63j>B!04`h&5<9 zYbN1MWSo80T`W@uc|s$=Q!JZs1x2UC75~=%Hf|mjW7>a=st+=2gqTS%%}olQJ0ITZz)kh|XQ?o`&*{<{!feC*KHoA*lf z4Gdeqx!h;g_J3u>NNp*nK^23_>4c(#C}_bvfSgC&jOHAAtMKhv7Ezs z>Z6@ykM-?1q1-%^mK`80`70SKp-z!z!ht zm=uTb_k%K^nsU2)jxU!)MWrs2;d`Q8o=)mf@AG{Q6V2p`7%ksfjX*vqOX6cx#j+v3 z0m`g(?i;8%eBMS7-@)Apj?U91PRtpjp-k?$Pyx&a9ZfqEw`y}5i8DXOAUGsFJBnlu zAA}&ptmopTZf58*Vj%P>`aD$`po~`qss$qm-JqNRt#4Q){7*SBs}v z#A~s5W~Bj6a&KyoNh5gf7Uc z2P5I3l77zX*h1#au4}NEw6AECrdjXWx(!vM1Zt@qC)@x2+|>9jPIcc80ylPtwYAIy z{tZY8xWkGe639&;Rn!#pAU19cL~2R&n$TT!tj_-Q+}a??0tpZtJTVx_hxH|4ZcAxk zAI?ln!(*6JIV(OMwICvpAz|81_aPM%PBa7yt{2YhI`wQcatk(wKu61ieX~2gz!3Kl zv$B@=cUrF;rT_KsaoidrkNcf;-HMUT&+U*ZC8oN{1Szjred27A-R{+xJLB1wSXMqu{BjaOA)F`_#QQ+wY8P6VgcxjoOJ+(I^aK<26USG$Pd?5 zR;sGiNs#y$UN|b2$8h&BDtbIz0v%Mal(gxaPTy-V}5uiH8xzp308zxg3mF?a8gx8 zqgS#sBgl7$>Cev2zVt(F+MKU;i8?lrUaoda5UKkF;De!j*u;H7SADzs8rwo><^{ov z#0Vf$Vn~U|3CH+E%~Hq3kG1m%kDABd#qlD}Ca-y+U)xXCSOSl=f#_Dc$k|MbV9}VS z?C7=4ccTMKf9belPP7Il7yT4XKn>Lxv@U-Od|g?Vg9fy2?HGJ?er zNJ|jQqryoc(7?mtCR3UG%>jOgUncdBP$d{sAfYh5GzlFRxN)kD$||eMw`7ma0{Gjv zC&HXbaaD@tw8ay(7b93?KWbWT2f$3+t=Ke7ydV_GU*npnueM_a+$M-}D^rQo^0qyH zY#M=?GK4Qd63T@gA$Aj`Mj`07J-F~X2c(gEAWTrMYCHyF#HIyW6re|1F<%Mfn~nAK zh{-6|JG^;Tx?CL{PkDnZ>lbZqg8vY2MUodtfl|zKslQG(w@!1{USy>pP$lrt-&c#w zQkf><8XN`6*|I^mgMSq6mEh5^bJV~fW$KDr+*Fd|5s@jF4KO2wU->A|FXt|kT1d@o2Hra3COH_(%+i2x)@ zoYsdxPljbDfw!td#;ZF-%t{9MGEmY5TUuSCi@sdXW8jv{x69=!eR9!52Oz%cR8Zl@ zP|;YC@D(ov`%UsIj0G)ITYH#Hi+z_V0ew0D4QSh8f#;!=fMoWeINlHNNj&Xv{8zNn zHS*s1^JoA1nipt>knA%?17#hO7G6PI0NkSmA*)G~?;@aY&_ty%mlHv>qza`)rmGWD6V3I16uKYlf$cB(jG?>8|vnb?I85W~W6ZQqWa*KPSNc*G7 z>dXutuESD8*|c>7LcH-47rXpZaXPV7;jbVT?|amPgy3Vf`2> zNsbn^o#Q$g8byZ=LJcWcJvi@rp3QFRc+Bm-h1U4r95t`G+%Q-p;;)SJGahggST{AA z1`TcD{1RfZ90dA+J$$7TP8`zu^wvrO?NdnyqpX`@LmHUtH!1F-(0e3wJ|Qljt@d>| z>6HVX`clBmqZdL4XOI!_b@4zzb^u)pn!+ZJHnHF14YfuZ2H|B^H7eQ;V+K{q%y;nG zuwaFN>y8sqC>J|@@BU+BmGE~e1bbbs`SLquoHqG(CB`V$H3oshOlz_!1-=w$mbpDV z1CdKQ1w59GKefdQjgTx6^kmyc%St=aDNrl;`+f?g%S0J-o5WNmH;Csh+6A#8OTt0bh~&bJDND$PRfpMt9r0b(d3}CcobSt%{i|iyWLJ9c34>Gh#2PGF_;|A$M1%FCP$Jg z$>h7Fz1ZXf%a}+MGh;XxV7mIR!v}=fOil@m(ZUtN698zmFhFbTZ<L^uEl=e?9^^|VI$6wm*$&u6bJpLwCP ziML9~G}zB~$d4C$FVd)-U^3&udjR$Xoc}0t$;ik)q+ROw)tlFhv*bU4o2jmE5;6Y5xIP&vLqIe{s_f+60 zTsU&v$@T1Vo$=HqC8Vp3cL!tQ z;^EpmA8+4^ahnZm%N;5*Q71-{-aKrs7;08Mou0j}_4W190tO+Xv&S*<=l;7nGFpot z$=RAbA@~~jQHtZ<-T797#8r*v%CqE%%ut5GcfK;aOV3e_vm71&>i9m|1#H)iz248} z2Rt1-t8tJ&W_Letyk1?zI|;w8kOiK`&i=5E8zeOuD{9DO8VgTrv}n|Xqu9~cRhWaY z5Wv%b6U~q`6~0V*&)|mgt4MIL1yOyS`PlWsid^~Ttoj!si?lvc5g1MnWl}+ciNMRS z#$9HqX5okmiFhjr)RPu5{BDBz51t$iCOoPcqtY;1>ArhfBx9L0Ba{i9f;nLcDhfru zh$5j&G&aoC2-lWq^|IF){#hFUacet)I(7=)|MJIqd0v11;A(yyJywIcWxIGmHwR^7NyWg zMW(98TJsp5K{RSG9Zgy_>)4Fo4Diu-Rp&PTicv&@C8_16|NZ*X$b2&xgrt|H`r|*5 zF|AzOwb1jYcu_H7VPCi1eNC&f;pj?01y1KO_=gc)X^)VI=(3|!D+yA?o+1Fi_`h+i zzC`PG0I>>{`B8cCBlhv;l9Cc)avTU=AF$dCL53yDA(~N}1q;TX?MPz>fei5VM0@x1 zdA}N$RMst|YJkzaiVN*C3&nCsuG!n4^WhR8mnM8oALaD)QHk!^sZj z1_&W!LDll@Tb#m;wVwVv>)^;ldQ^Bq2^KjMP?OPlUIHlW%;)^KTu!=agz{P%Y0v=r zKKH#SO9Ignsh_uBSr#1lJ6>E2&R<58n?pb{`Psq70XSL3X;Ltoo*gzp*5U4pn}Y$QbN;GztV{7f&wB2c#$Rl9Jn#3M%R?$%hb*p2>}4c z^_yx>GqT}mu8`kDKKB}qXNSdpfmKK!D-q^u#R%G#5T?yL1pq>Y|2=bHQI_8zx8d0 zv&Fhj;zLK2>@dk#qiIfdY;=A#wjr(f?w@b9=gBjtUR+!V#P#c?J_AHbxAs-bdhcmy zy3v5OtAAzquCq!2lYJ3T& zhYE&QM3LSg{tm*YLKN7``L;#8i8@-BZv}8?s3Z>Ltqba$TUm8`cY;Ha_{HX)O?ZolZ;!wi*I%rC$i5K?EdK&P^+WP4U181pfoWJ_+TY=qcJ@D6&t z+6OD5;|`@t>P+-miAZmg4>%upi>)~=d$Pb25Zd4l5fp|5=i|1EOw987o9yx5iU5h9 zQ-nTNzQ{&oDf3k_D`Ih{fc=qVVHn#Q~d+Wa( z3Qw_{IWdz%xAbTlrA@{Y&z5|KM2YL${GdoiC^#g?eG-j;^UWK)E3hg(lKk~k7{N6y z-0?|Edi+3;!~jD3x*pICw@?&4safKfu{$_XzOfi>^(%{CqclI2b0#dpYVeccjQJ zkhkm`E3b~7e<;aGX9At^ju|{h(t;{oZPF}c00pIA@X^d(_eL!c&spodn_7P)0vH;? zfQw@JkTt<9_$|@KPR69$B}S zBK#H__)s=11G*z+g|rNfLq&_S>?W0N2xUH`QBfWkBh;b`DJcQ!GSj3K{RqVe(FeBX z_1hVuP63iKXl^wvYAUz1{*uy9ng;X`3Dn-WKF;eg$u*_M1iYWD%3xVVq#&=G9bNnG za#UG%3J1+lL3_%PLp@1+nAdE=V^70pU5|H~=qxwz*AIyes4wj-uH$nV> zDUB+GE@>hOqxl-_ff}Lkby_noZ97a8BmuLb566Qtxi^+W>*8W)!NGhzFtoxbR#c|% zbxm|~5|~of1o+<7+;0}LxhIH-gd(}MOkd_^an@d`2ySz#tkhJT4#`EdN^Jb;;1pPb zQ77LFHL_OOG(u!F0K*7U-HCiF!2b)XQldl>HT5qBX!dZJidNoS_ z{eJtzGKEJ7k3f%ZUN@U z6^gDVI+KNItSdXItUtaKQrqgONSE(a^5bo~{za8*%fukwdpc5oa7ZZbW4& z9<|_x1S5k?_j2qT0NHMaVv=24EJ=RzQ7Q!t}X%v$(H z!Ts~M_`;<-BI$WcT4)CYH5{5c0up$=h6GfXkdcwA*+*=U)(U$7BsQd!uMba8o6mRa zf#(~NH0Pxij?D?0+&!bCS1w~)Uz=YI-<}69A`hkabzEdR84Ws%2nsGbvRQcF0_T!4 z#%S>e%D{6#fb*Zf)#Z5*YY?;PUQzKj8ZjjT!Oj}|um`0>Tjn&skT>f{$Ac|FOmRflnVwcMk`w;1FQQCl?aQo22IHLbilP|@bLRcaQl?qcGBPs-H zel(ocgN-Ovpgy9G)VmL~8RyDF<>H`U^Qz~{fdLO>YdrCu@6AWCR;C$%6nxkDT2nE< z4TR{eC?9_f@mJ+{ZN%_wL9|nJLgs>COW`^dVwzYV9Ae-;SMlKy$!L(-h;#=27a+2w zjrFi|J~+p*o(Gc+gH(QpzfR2E)X3sQYB$nF_8T4Py?@YCClzRro1f7u zb7{Zcl!p0=8#P276)eBa`i2%Yn7;P?Brc+J(dPGsliT)Ac@x<*L}bnTw)c!G@H}Qm z3f5Qz`qdJ@H0BAQEGopvtYKRF!Tpnjti;+>Zt6DgfMD)s4|-wP@7OXviyy$6A@({Q z__RNWHA@C_9Jbs`qU!tY-u}s4T~nSZDl#Lc5qSDp%*KJI;y?A0<<&Kj(_>qTi(6%F z%Uot|E>ehPeO6eME1+;7kO91v{qjr};nYK87NBnJS{PoU)Zg}h$CxeZoCVm3wOkRI z{t;36~?z6~Z&f#x(poXMKJ<_Al%yUQ2NGM;~#dCmsQj77ng$w$mwkH80F$2t$^EJQ7899mD3rFIUG&bZ; zd_gY@c0vR_LLUq?>M-~(0UWd-zgl1UF!5jqHV|qgYOfWBNC7Vw4?MNvC3H7l&9G&(85wM?=e3?Ed|f`Z(k3JdRYcjAGI8BK<<2U^+*hvmsNU@r;Kd|+puk2XLI z?NRl0M$_u^XI2hZ%J}EO=}?(~jF-1KJyYAO)hmYqcg=gueBwl_```BhOQz3UFGAG< zKJ`j{W0Ze*4wz;Vd0)PKb~6(IMl3FV1Bkdj(BuBQ1-fs09RL7BLnMJRdh`3TLpsz( zOHOzdy5mO*>O}s1-aXa#{sSB%l>!aT!kOom04BV4M$xijvTY{aNCeiAQ^!RtN8tS! zkngE)DAlQ0b$kV&v^+d=K&fbVkI=U>Fa7T5t{oUi0o9F1f8$&Ok|4FdoC%6t0x230 z4+=c+Xh|U8hhu=?!Kl(8ixEOr&>S6aW>3_G+M3>s*tG(pS(WI z-ii5bjLhn)@D0k6P^%`@u@04#fO;)SXz{L)((OG##;wmV{-^CD_O3&jj-SKG7R@Q?IWWK&Z?Q{Oi5U(YYPY;rI9O;D)>UmrWM5>{=Pw zu9%VLsH5AzfB-phtWIRAn2`>+R>nCD$UCA@r_pEW17~~-Xl6uT7uJ;uQ&=UPRjV&e z64<+(8FXGbX$s|3{nmxq0Gd9!btjH3HL0CtM|#(2n@MKpkV7Y9imuBmmu1aFOcCqz z{Pb#Z)>+IZTqD%m+3nUhakrYz%#f-ms6^} zBLg<7bsZ1Yo*i32A0FGnq^^kBt$C3c8yOGb9a2$MIkV$0{X_(Hjnwce;1>?dH6TtO z**9;rxQp{>_uu|A4biF@a!%Y~VNrsl-^d~ia|hM2j@50)piv_hW3|)ltyuGZHXynZ zK{@K<+<(6;lP1>~(tFK(_3yN5JvQ+|U>*8OW@aex}D{;@K;R{w4+2ZLh0^@b#L}-YW%v)9LQD9K2 zmJyqQcIqCxE4368Zf$uv-B_^zvO|kztd1QoDI7>Qn*5L(1zxqo=-W5m=|KwN>ud4X z%>4HIUESxosh2q!q7xSP)E#g9p+c>S=hSIyUUBh!^C+iTm9j0_`c+5a5D`zCEM_Qi zaApiKp4rFG@B$Lsvn06*J!m77!b?xg1gJs52wv=H7#UZayd33MS8Vs4>GVgr?|#_G zt?`>@aRsltAjwK>96$VO{p)bX*0b{Pt z=WPnOO@2=X81(8VON~dH{zTNAN0rV^;}vu&48`WWBtMcXOI<+2S8m*ym|y!ZymIzh z??P_n^78!~VR=v~!b6Q@IHlwfbAj^F4rOjDciI>tD_@wFDp>@$tblNU8JzR6v${y$ zVX>}Jr((iwk1Tf3D~WG8H+NwjWRqp7Pc94W|3;%%;N+RM1a3d@bCy)pm5zRD_v}7^ z@vpxeOszg{AT)P8?c^@5jeMArC?mVVFtjUXGmC)}l7<^5{(v$F(Mf|5Pt}Y>N)ahC zEl;FPPS9m*ZShtwc(B^*tYQasep$%VUA?|Up?n?;d|YlneSCPv5xfbH9VLQ}v3^IsRX*&fcEeF_)th+0cVNTG4^i0Wx+do zSj6>mn-)jZ<#>4d&5-JD@^-mWO~>hIg}YI8RpsE#pM>eAOIZBT9|1TGe3&h;|0NkN zAmsbj0WlErJN#E~!0*t0yg7EL;rB3CUyI(;%3YH+QBrj+M7~LEMu;k4rrD6~UqZ0uB$hWe@wshD-!wBO{1dd(OKpSwp8rvPRBxM%q2{UJ|pCBk>5r9z1#l zO?)Jj9Cqd^i^vTbc@wrQONxbzKy%sgW-zMfFY;_gRp`#INm~1*SRQh? zKW&#^;d*$FeQf{n`SS-=VZe@kqKk#ocP~zAei3th^`Hpx@S5D4@{-7bgBOqs+V8a* zdjg&AS)%NH=81yyDoe`dh68C)1rhHl%fBOtFDlT9-`%ww)1>V?nEeq)?hh!JWSIye z3dI>J6d#8^GTq=IJq+js5r>iW{yz)QNlO5lJ94L%&MGOXBsN<@G%T%T^gLdArWJoE ziGM!GCl_}HC=zcEYHq&vOa55S%FNV<2!&#{t=?MmT6<=7JwWVmO+qOq@)o2BdLaFX zdoc!7N{BG7?GTT@9;!=iB z=ONF-2IO2^jq!!AG z8}-0yGtQ2@%~(q6hkfP);ldm(`9n1y=nG;xf-z^M`K_09BI@we1l?|RwCAw$EBkMb$wqME+!_;?O2tYnTe%M zJj{t&WS(N4{In5_kP9&@nMZn8Pj}*AE8P2y4#Q$L8cK}e#0T~bR@gE=sF46V9otXE&?tFx~m5-Gv)4ej%ZEP zofev66{AZC=A=H&x+C}Ls^-XoiS&3KjgnH}Pl$_#mcb_op_F$PFU@<>*ixfx<#!cI z6<@K%+=nOt@6ocu6uB5Os8Qh1eaR-vslYLhU0Az@`=u%r6^=7bDmu1?VXudT=6KR= zhL`QCLH;9Eq@4z%41`c?(Fe@UE@<`*nCf6)=x33O2Xqjtylktze16sKCXM(T|58u6 z+-B3>)Hck5KVDNC28O;zjNw9~i|#|;y%EEPx>+RA+fKY1 zrJh21fr+;}t{|_QlN{6&zD)L$3!U41p3O|1mQ72+p)`EG#as~QTiw`rSP{8t$duZO z{Aj$u#Oa7jA6%~^Z1rq_30id|0ulE!xXX$z^ZA}G zW`v34)n7lCUV&9Ty0iq0jOzzMJ-{VQRdd%4j@b2Ipgz|Lblv^N3>;6~eER=F$QPjM z3Q2s~4pvj)E%sFBFvzU~^<8W@4GoRZWbH8bJFfz|^bj~(J7wrdR>vr65Klx56Gu}5 zH=bV-W@Mo`InrJbAu5GF)kx+}X;?#{1kuA3ZEX+|ccf&tJuiE`;a+BiGMl<})ik{j zx)h1LjCm|zZ9z1vdW$Kit)1H19A?=FIr%I1_WnvO;PQHrr{*DVVdW{ypbxS_8G~yW zBV{)M1uH57qwCsej@HY|v*+Nm*QX!A6p&-(cFU7|P;#TB(GE9ygx&KgY~r3y(Eo6;a&&i(KfKYz z##?Z~l6&%Y-Sc(zZq*p$vjmYmAJ6P+M~l}1l*l;Xeuv2LOK&xWuyC$w=VIB{8G5vI zJb}A8)+u30w^_yz_XjB7M=5vWA<5#rs>&E$hSet8En*WkM+v>LDc0=y*`x}9>P)Lf zDfo2F^Fu9P%w_x6teSZ4jyD*^CY3;2|Bnkdi47H!I-JPAKm2)q$0oG48AYQ^vD8UH zOxwtAq5MG~GzdUi!8S-LKZ6hz!)1)*wL&iJINHW_u;~UQD?^A|IBj-}MJgZb9L5=? zwMZx;{sNWE`^&Rdi?h`9&d1O*->075`FZW1Kh2hJTQk?pxigiM)S0M%ogZ@}P^VI1 zSm;v=P={w!JKdOY{)7!`lzwYqE!WhEm7Udr)w$Q!Gy!lC4kqtbYBqfuVFAf z*)DNUt4TL)V)t!+8+m)q$9XM)<@33TKO@`L`$r8?W+OImV<3Apn#dMiIbG?nCeqyW zUc_a4xbVZ*5{}h%kW`Ar0T;r0TBlZ!vDSY{G3i2MBtbJ0Ged>-ET|20>!xy3R<7|= zc%bvEKhA0QV}(M})A7^`FDOUI-FBgxLIXcXz}xS!sp`46yj!M2J5Ss>hASAg%jVWU zPca6&L=0D1Aufjt^eJr;BB7PE0La(ObNEtWFaZPWs$MkUi52M860y#ypY+zoLj7CZ zOhU7#Om$V;IzX3<>7cK3uWr>k$z!0S{xb_5Nst<`S=;Elf>3pNG#rv9APF`Vtq#}R z(Pq-xfYJhSDkmKPBV4s`6l^kbxKz@*n4ni_en21`IY|29{n%CDE71A5a1wFZ*hmHv z*q&3HFjYO;Upy>!x%V;=@-R4SWV*18NY%FT@`k4Iq}wHeh$WJbhb#CuE!3%-F}Qlz z_>2VeM;h&dr+5Daw|3@J(T^_=M_KcMpO~e-#y+#k$Gw;h=Be2R;ynxJe}8HbP;l1n zjbDZ0wv3v|WP($;ql;KLx{DT$fF%2SQY>*6V7|c_4L>M>s*WB8axsbFeur$ASWfd_ z75eOD>BT;Y%cQ;Obglg=#468c_q@zT#{6Zq%E{IbqY>|h5 z!N85{al45V^xKQINFHW;6>N7vCNzaUnbDSWgD}SxIRPlmT&6(ZVlj}*ki#@d1y0KQ zK76t7HVlQ%GSja@J_t={Q-wU=-(VL zuFWs8G1@;U>>oLUf9e}P(=VY9{_W}^Lb7Rq@ufgon*=#%iD@7cA3k%tPiqM$#{AO( ztNyb3U)YJT(bcFf$M}@PdY!}7<|d5Iz*aFz_9$Yk=3%3K{WZ?B`{=g&nGEIUYlY|Q zAYd)N>;8*k?0r>n>6T+*(=Be_xE$kb)vHGo-YDCdNS`bj$V-aZtEaB0Fam?)b_H&U^WlCb z`U)DKt(b!Hw%kncfT-5hXDTGV#KkB`sc~x;2>K7w;^d0@-cp?XTW#(<32fU4 z!3Z~3;091_$>y8wPUa1cL;X3SPW>6;uhk*0am%V)XgRpJHXrd@8{3jJ4-P75sCwZ9 z;E0c6s(!MvQmvy-18E~B@buQO>(cbgUyI`mf#qh{^a062CZ~34mHdq zS{5JJ`p?8+6ow@QGh=<3v;bc}J|{D%z4duu>h&4gNmH61WsCaW8S@ zpKkb66L4bO{hHhTC>QuN{d!*W>L4;Jdi!UqO4XOy;JPUU=8Nt!<<=;zt!-l`uqVaL zBxq&`2rMf`lR%gxui51BL#$d-s7iFHw#DX&E|`zST<|zr-_0Xqq{`}8$uN;2>Gi9N zB5LU=NJd(Pe(VP5-o2gnNFkp?Chgk zOD$TTf74&Z9;V|1?v;$0xYa?~mb;e1JR_VW)!5|fAiN;NVPe}Wfj8yWPGyN)KR3p6^!ujoas!nmvs}GSe5!cz&d% zr3;-*PC6_DRFO zluh{FVXcE8s8!)GP}hWiCgMlHHkr;AnXZp&_h}c!;+{eDtT)YScfUKtvy-T89m6%> z&tl=E8k}H4Td<^*Rhdo%<^p}|8M(tVr^vhW-bRF3+XV~Ai#IBj#T18!x9WCXrUGDC z98k3rqVA#s_ks=i&n zF5$1Ktn}O53VZ-KpTPY0Y4`OdTPCr(y4rEA&W4-B8x7o>!qiV}hFQ6@$Dg{lrH}&` z;tETw$5iKx3mROkQx@qljPHlwdp**F6lYVo2E)ZCU;~^zDVR~`IoV-6gCrnSgx220 zMU!4CeYjtRbjgrxg&;;PJn9YQ&l2W>+~%;1zSb4NA;$5m8EajVH!!su2w&1HQ5C)R~h&2*%91Nt57O&U0`VR!C%vPqPq3&H8)6Gc?PK72a{L-Mr#9 zs}eE-)Mbf--IsXSaEn#0TvqHGk0u~V49+~&hJyNJtday&>q6asjwXS}a`d}k%D|H{ zP8D!+(*VP^=hZxXRB- zatgsAuC0<`hU*+N_qM3WQt5*=v<~_ZIZP_h{`;lLCC7?Ri`m_?wu`|9|0%m>$2Fq`YHdZ>!(G! z9T22@ws-PQMgA55Yfj$oBI&|g0|OWj4?=JijC`@}DF>9{X^PBIj08G*Ke~7ShLc)U z&3pCVn*f&e?X$uxi(fFNPka6d;t0zJK`Nk);_xV3$I7sU4^|>e$`ZpOWu&MpLg*(B z%vH2<64H}8ZwIZLm)CranQGhGeEyyPU0l?6@=1M^bI;Xmt2Opgh`RpF*b|e3X^~~M zQ7%yJE5|I3!ef5p)6&q8MmN%Dcy@gNWvOoYw`5oIyie&L#wFnQZ+|OZw5!ENb+mxB z+_5=*uWWlou$&xD5Lh3R&La*mZP0%!)1U3{oUHXPy5RSeyq$I?H?R|Zlbz9Bmg`y# zvsYgA$aP(+%x4;JDRWQX|Ple)7#Y!Aq_It7X2Fa}26Io5N25&z19BDwd1u{WavUYpQ z`l&Wqwg!BpSavEl4bgo9S=r`fv5lP`FJMJbAb5ByZ*ml zs@9D^ePSD}WL5g4Q>-CIOd;rVE?=cV3%5nb#><=9uw+vg3#nMN`&CC+VO=dai)su1 zlW=a6iW$TI;n-HJ!6r3)!g^?J6^Q^iU1}a4j?k(BtIY!cgcBYe{M&drg}N+O$3tgH zSv6ZKTCJ@)t%USyh-m%$H{+QzmFzW(eb?!*0vB>liRzZfEj{pI-RB^3i6cek5kx$M zI`b-oZ81&ML|*(9^i4h`Hcex;b7z7U}Y`k{J9ZnN-SfO2H>k&h} zFsL)!hl!Iz?5bvY$F2<1BM{1|=o~89D?-RgQRRoJv}S@Yn;0srrW66!*BI}&;x_f( z4{9Rke{uZ&i3H%x;j5YHm*Zd5Gx9zxAiXnyy>-n&xZzH=cVk>9t_E^0m+3p8Mv62#KDsJTB&J4i=@Fon z8zvEuV~xSLwWA>3s;rj|!!9m`op{7LCshOldTsujwySQHRnSkdNZjed%BovLLIK%f z8gTR+=ihR&cA2qmh+hvizXoyr@!478cgP^1{m= z`0s1r_OJgIqK(IwtH75(o10Is7Y471n2XVAYBi`MF+C8r@`X)05?u?tg+5M`RAdJ> z0l65uJB_l;ZxxGprm<<`kXeYCRx7l39bcC7O&l|Zn(q89#7AU1o^Lra68_E~O5rwq5 zY%IbEy19$lACr}=43NOHyG}>oD)`TZS$4A{n>&50eEs)n>rx+w9LqFAT1P#*p)Kb* z^s5H1dA1tw1;C1U7P!SP{&GJBgiAQG7i)`+;OGZ3KQc5stRlAw`5w;oHBBti;lQKG zFCEw*NcNx!0P;wdREB=VBb^!tT-ju2t(t)<*a(y-nNF$9Ub1uX(7bK@3Xp7P@--2^ zd*&qyIQ&FXsa1k6g=koLi_&SNhTgbx)_vM;?0X?YWaPF(P;8}^?{h0%Wi(acBJh?_ zr>44!iQv1*Ew1NT3g&ibG3|9|60A2E)4i;1HhF*%dNVdChR?wpv8=@_QF+te@&!*n+X(@e+F z-T6JAAHJ`D;QVrK&*$@TJ+AAzOLY||d!@qYiZm^)Kp|+mm%`D=vr<23Y%D6rBWch| z*qEX+v{I&Rc|B+Y_B|e_M$VNH1fw(`{>#Sn{g;}BS8B@0NQEgmvL}K^tJsEDJjS?{2t!X%xvO+V{hOUQd5U)=sf^IDJP4Zn%ocQ z+>l}N`L|?7-eWV`4y(;xrVbuckI;&Rd7nE{2~4(w;ab+na*psHqb$0qZ}+bxU^{={ ze9FplE4CrUlk~|+)^S&h^*?6P^$&e-(N6wH%cQwo)Lvyl_6XcJR8+MnV>*MR?bsD^ zJlft($^DH08degMG{kG7>e8@jFh;+IqXLX;FwkNLO9I)2zoB#2o4wa2HkQyoTNO_P zaOahHui&JY@LLs?Nev{ABAjjUa~-!E=fWk7sJ2svefPb0sD#|2Kc+C4Y_a0dLkequ zZGF*m%HOcPVilT=!4nFxp4xs%$GT6DWgd>GHj(E-PmX;rMn*=m{zKH+cL&+#$W%I${FDkyJZo$;m57*1-x&f8!%umbq)1W4_{RWZ5vuB zdWW~RnjihCk3od-pr(tU>gXf}X(;N6Q+N36n4_3l1&0ErJ;RsID36#jU=GP>@LQAp zdhd#*3>#0(uaaf;&K`nPndOmxes4wd%sAApL z4$^FsOaaB?FcvV#%r5@q*ynifcfY`AolD9{o*y)X+#L<3+saPXMrYTZxsearRQ z$xx_n!PI-@q-y0w9)?_DXDbHk7^S#dW0&r!1Zl#BVn+oJriduY!Qr*v6{miWx;RNo zX9sQ3R}ZrlYn2kt9tg_!v$I3Xz~Pj97pj?EUz{FyiH+M26gpmxZ>oO2$_i?BLc}gF zdAwXM1?;zU-1r3X@X42dH!#%K)zy`k*_0R9Lw3ZmkFZx%d_4n?)DC~L8=?zz5Bt|Y zgSr5l@+L2h+t4%s_KRFyZyf%M;c9vAKd8>i*b8(uasNo#H%wtyPoTRF4J}AxGvz!c zH@E*Ntgri7T_Y?3rw|DG*vVdNnXnUK=eZ<)iMDzZ`MUaH<8z)DlDQoF-hDSQ>Wyhr zWuwTlRS$`fD|4*L$j(BaQk`k(dVk;kuT@)C2>HdjcL@L67bw_7v6Cduh(%$_>w@+1 z>pV}htNG=nC}VB7uOE|r$B;-A$^^eM`NTKTDH2zP%Rm8cdaNnkj08S-K|Ix;Rq5nn znRt^Qlb<->*uQsv)D%WOKTjjN78g@Fvx<`KDN}-beFcd0z_`C@cu`(@8@srIQ6C?v zCoa{t{?JJ8hk(0ocR2M|?q?g7nUkI#P9T5not@8`52}}29P=Qq()8RPGI@Ua-%Ix= z(D9m4Wz(VJqDNm`fSG-Rf}RZ&I^aXM56d>sS3Wl4%AC!D#5$RxN>dyoMS&798F(TC zJyQss6h5IEw{kGuW;DP8fQM_S3#R87-ml{FyK8?qCI(jfZnL*(tJN(qg2#i^*nXDd zBSn^J-AwM@*zCU203o9_zD&>hnY9XuKY((;K zvHhT#z4|SsAc93%Tts~Cz+K|$Up%uMDA7^&US2jaTDQE89{R9hZ<0Df@9PYG0{~_O ze9@WjN9am*9N`^iU*7ZtX@2U70L!xG9xuInbo-IHk7KlXc-A_!KJA6-j2RG zg0*%u<{Ducu-E?u6~DuzhNu;t$xCr3J&?)Na>zHhS z{a#BdXYIB|X-53oFJyh5>%unK$->1u&*#PrEj#0T=Gp)E0@N&VYNcLSaGKEnm@!mC zMakDGCF291h{+rOdIMzxX*_zfHQ^TTQ8R)oTCd zpE*L#&M?(7mBM8m8NIzm`aG$S?amVgQb@sDd)c9J*+$o}e(^18x+10=Gq6~l&Pj`e zn6FsM$0`+3wbrb-aiSME-myT~enEAZO&rZ2RT~>92u723>eu{`qFsXbRVOU*cZ21J zwGdSkoe!~-{EfZHj*yCPY6<^+C@z#?D4)6CJbU&z5xSk`Ys*-PYd;%9CP5%0e@lJt zt<8H_9hNVGK&m3_#o0MIIe4-`njPot9WJ+frH&mJvBr-XdBln?OkIif0;+#?PZN3$ zrbHDn5)Yh26)m-TK?x>3*~@94Y1u!O4?EeTqa>Te2=s@j^$O84B{}nEl$Bf636a0z zM8oYBl!aq@soM#794}8Dj{zyj6@Vb%g8lD}FxC>{l=^yq4!dP#F5q{` z03jTxonmg$nj+OVoZ!&V+g<kL>!-$TtRb%e#ruLO+QC~L^sQ)EJ`{)$G~sS#ME z%2p)N3pwvgdzQR~Ooi0SObnKx?vOV2>#es=qJsnn;*%Kq1L=63cEeF%Zx)Z3In@#w z9eA5AxK3`l@^0&72}Esjj>h19&e@iImz9^az<+c)h)TuDN&XWe0N^iwW%)3fNiBM3 zPN;?8Lc0y$U?+*?#3wAJRDz^&-*di>o2nZs(NhbfeZLlurnF+&j#*5c+X@9EE1 zdGG(7+`Mzt3*Xr}8r~lscFADH97Io3=N&2nC1}1rEV@v_8b5nQ_%7Pncm5Z$u0`#G zS^^@wPylHF)FK0uZh~N4LWrqAH5cXAcJ(s``lv)uR8MsYkQ4oe+=q;mW@*U2DS5xC zjZ%VQ`A`w{TqBo*K;WXJ(f+oz${z2D{pz{cyN>&~_m@HOl5J|P+pLG~T^U_akk_4&XSi_jI@tei>O{r2E-@ zAPyEnL}$PrLf2j=VAktx#yI+JItf0`4?JJ0ynnV%L-wJ*4mea|iKB+VFf0VqOi9oL z?cB+S&n!^0c?2wV7`~j`BUZ$E+nf5IZ#)UmHI(QGg*T`M_4JXruE0&ICJRL;yBLfO zjh6RNnOG`8Mv2-rs_hcg{tumBxuIqK3;QPAY?X#TW~zJ^UR`7fRQ{|I1lv{ONS%CJ zgG7D&NEi$XX5i}wNK%CsWb%2{ApS-ndD+7^zH4GP0Z(0X2JYt89#(?8brNCD*)aoG z-UgY8>y0$8@B*`4M|FO|vA*itMFjGsrfq-XKhOTlG4fr;(50YYc!X#+#R?kE!4=kH z3X)yaE!$emCjdB;=mL)H|Jl#zaT12oQ+?$d%UIY+9a}Ttp(*1AZ)KNxw-L&^b5IK( zR$pqTrX~(Cx);`t+SPw*n4>16*gQR4;8TzEBRgt2{2Rs9ahrJO5SPuTs}(&UrLkQo zskdV{^aq^*^xF9mZS|%3^HSq#z{^u!$3?Xt4Q9WVyC%fGa&8f6! zk4czVP%zSaw|dM_gG{2mC>rW#DPQ4bu*@qjyd4AtabT$%gs@5E^UEW>rfoMX4|B%% zc38fq9{yGhWOE0|KdkFo_)jU>!A=U?SaS13=Ya?Y1{He@WDMnVCyEgFtgu}|{zpe8 zOmjs3%u$Y*_eNCX%eL6fKV$}U3Q4P&M}q&(Usts_j8`qM`i*eH=g+2lcvY>JMDfAf|FNN&P+kcqoWTtxXk7nW zyIVYsOTUwn_R#xU+V{ne;Au>IK0NF+=DcYm=78oFJrFaHhhDamf(4;y3GxET)XSw7 zyO*pDUK{+XTegA0kzIq4s3yYC-a7t0DsBu@hsFC3^sJqD;eb4Z(G5Pwdo}~ukPty| zper*|z)ps>(bc{-!$ywh%H1fR?E8z1@nxr;SNfiZF2b~z+9Ao#1}anXA2apXQK@+P z1zGyz2k+$Ou96cGIaVDxNX5wyHFws8-kRDv5WV^Dhs;#VA@V^vZ>#?ju4;v=%ld3~ z)AEc6skT0@?2m>SB+qi@8Q%9Z#NmZWVND#v`6**A@~|AC>Z!%09KwjsD5-ctwcMh@ z$xqJy?GqmjG13e?7XFQPpLCqG`S{x%tQe9}>3g>l%S0<|a@?kSn($xQWyW^5Ct0Ce zfmp)WZ8 zQxMna8_FYSxD@Fa61Kj7#S%*^T;rw=sV{4>L97@)ylE+#IieDBK1A|$#4hKF-ABTb zW^g1>=70u6i;5!Qh1&lf_mAxz=P-P#4BzXgZr7L(#8y?}J$N4Anh0cO*dYaV_At7OS$qDewr32feCEg#zlprc<*KPM> ztFJ+<41<&A4h9Op?Nw8g5GiJ`bM0{!NSq!D=n`VsA$NJ>Y?xtNNnI+RiZH0h5-*J{+j`>nRXI!ZytLq9la0q{WnTpJ91n^XXoH)RkVVFOiDm? zS+C8iXokxGSX4 z(j;dsiwIEkoO%C5I*|l7^B_+^fDn3rI!_U_4-JB2+6ANw1V(nFxWEZR_>z-tj7ab$ zVMAZ@mp|dW*_1#w2d7x8_^n@a`Q8$UKTby!2V9MapJmRqcE>!xNi2n&W!`x>md=n` zu5~o;;=<<* zC>U8H$}{^HS%do^((wfM>_8X>ob9Pld+$sj-e2q?7l(h0#%q7Gy#*0%TGS^K^^wfD zz=`hU_qwjRTt*V$VgB=)Tp6B^P*aFpoa9a#bf>| zp&WBy;k1D zC7y-wlq7E;uVLCBYb~tkss?iXU0(gKkQsUR-oA-7-XMzzQfw63x008@v zP5t}x_M46yKiVn480EuNz@6*rL-R>g&nHulH@f=e=b{;k`&WNv!x@8}XKrsz^;6V` z^{Di75@sYBP*o++P2Op}#>Wnf=g&=3bAC@H#&iNoa6MpV{MF!+ioNn_cE7$k0z)dE zs(zLYGa&J;lg~+&==g~G+<`m2-Vwp~W`nu8hYex( zzrS{t0@q(0Cs@4OBPgg)2t5IEni;jM!yMIp1zU+f>tt{x;N)PWQG~Z29Tm%Ir6VyS z5WD>!tw8vg!-_h2%geD(()Z@wNOlL`JN9mFj{57XalI(26m`@OiH!Jkk@QfxM0Bc| z1NTaIM~_*31+?ys9i{5_?H$jyP3mzf5lr>4E18sNdF?g_&)>E5q~aaLr>JNrZw^YE zZ78fXa>IZmbfV6uL)()sg_AJ{?#0tif^I-(D)wT`!UBx_Yb)Cr@5Ex=R9*Vdl>w$m zohiq`+SGLYe;)lqG6%cgdO21Hmhb*`9@GmX)(nKmUEfF?SP1TojUkiUb-!nv1cxJG z;oQ;si{~9p2kb)g<}AvV4XA<69dQ68Q@;KA9+^jb4$Beo=#>nQwKz7T2&w7+)Qfy>Z!jt_y@^E9i%y!3ScdP%4*;gHruZr0v* z6;+CSN5JFZ{_w)kaNUSC&IHDM;_s;sHvEE{+!E5V;ai;rYgE~i_|X7t@*tL`(HkoY zbDPY>8aO#Bucc))HidaOYK9pU*j3v9IaSvMt_wKGraOrN7!4yYA*KE##?Nm?=@a0t zha|I>P|mcw&)Wa`7?j#T?-zD8=$Y1(+~TcJZ^490H;42wzu12bJ)DP|H> zjNMw+bJ702k~|Oyd)`}GwA6a2b_qG=-^TndCEYLNVnPMT;nNe**ugNDNPPIV zOm0pM8w%#$fa=Khlb0%ewBapIEU44@FO`R8Mr06XvP-qwP01+XP(R|nkg*3PvHbds zh4i3!cHD?%uCc889~=bSK2$gF;QR*_rkq)HZfM9xBxM*b&3w`%%~Wb)o;vhG4?EOX zx_s_HEzZ;bI$qIo8!VVb`}JK3`K7?of!Jz)lq|qy4UY`QjV`OK{ojPptIj~T3PVSJ z`k+pxlN)W>9{I*8S9m3^#Js|&on2{cg!o*BS-iY4weQ?Grp(lVf%PNG}5 zfcO26_+b>F6SSc@h~Al9Sj!=VTQbyzKW7*L-z;rki}N~0WXh!Je#_un@j89Wrd;saa!$r*Rk`Tf?RP;YAr|9eog%wr3*dsP}5zIZ*cH92_HPH zo}9W^SF56LbNv@hpDXSK+2QiTjL&iVCD;42`#HbWHAc0}AQI;`OpBm|4EQO&7#AJ} z8BmhjKyQC^6l9G#l6+ z5!m&#YG%VjoUYSM)O9<9A)Cy332mEfG zo_Xn6@sX8xNwMBMQA%kpzqs7`C3Ip-stwhJf=LK#LEuCb;?F1zD4T$OZ1dMt;xG2W zU0}ukSOXaukJuC{mQ#KU!QrFFz3_tbR~_QER==UBuW29nb~N&Y{7N1!Gxn;gnos=l zZm|EG;;@YZf6teIM8ADwR!oAZv7t1rD3iFpx{Srce`|LIYihL^N-W3?+T>%gOR+6b z1v15LlA9lT2v<1>YO!7VPE8Y;Be)|I?POVP$irm#F@7vKqa=CPeddjRYs<}Wy_jOP zovCf)u{l${_nI7a1Rv>EI!xYR%Tln8%$RUo%7i*&$y0;`p-Q{kl4r)ZPL|`+kuyM@ zhkw8l-QzV&!D86N4}C~J_`P%brN#V5#JvI z3Q)^J(V-ZnI{MGQb%1#C05mNq+i&jj57KnSiSKo=F<93>Fi60H!lm#ec>WVj4rIkd zi6m0xtyLEWaLdFYJ$SxuZVSWPAs`7L;m^~J=5PK2uGdTl-CW?F8*#OrXWIS1K2&1Q zc1*A|umF#}Sah5i%FNgBu|n&Aw0dOO!OQO1Br@Q*@y`_wNs08Ih&7iiOC2YJPIi%- zDuNi(bT__@6ODXAN1qUlb4#!|z3@+fK^P?^iG~5{u&OVAQ_Mp6hXY+H`lV6j*2(`1 z)U45jsY_#{!C2`9Bk9L}bNBm`$Qp&S@`YEC@Y*AKFBKgfR|$@v*Wa~2Q3K?3_tYI# z3M#U=IY^}w;^lC7^2jdvKp2K|5c6;oD8%abyrJ;RhC=)KxUt~FC0|wh{l2Dvn09rY z-dE;ei%Vb6q@S%rKM6i0Sn47v#5|F1VL%$a1`Dh6t>ZSIMAF91ChuYT5On9FJ@3*f zx@by>0^MoP1UDX^QN6BtEsC@dysKQj zOyOE?aJ=a<5HO@<&7l%mi74NfD{}rR{V&)f!J{TQLT@FqYsQ>!^GNWQQqCs}-~Fwj zj3joDLFP)uNa1V}SNkODAr zhkf1MEp0?u;};}B5+to&(AzG2maCpmA_)XB1JMFYPyjootUc+t6k}<`B_KY2L!3iz zBa*)4Peeg;IHJ`n%g8KZ&*$05WijvJpRve~_Gv@AA|PsR1B}goPOGCrQ9@mtM$>1-X8-{y>20U*)* z(M(VhfP7P6JYBZtYDj(DfAmBDX-N4WM@hgsf#w{9auE71_n6QsYa-0(AVd_aRr+8$ zgDSKa3REScV=OuqB!kYEk@P344mZV1xR(q-XEN*Ev^~qXu11gB2*mE^72A&I_vSjz zluqvJZ{)B=LAb{N7%+%b=iXQF>_V3{3PZ;U_jR&*adNkuoGvR#RrCG6qwm#$EK9!` zjZFh*^5GW;?f0?(D9xK=?f=5Mz$mTCEZg(E{hD*O4lRFeN#=g$3VCc*tlr+cxhn%= zQ{337|P!)#DZl6d}vWBk=pyLJ^LiR%~@}C@a0`TBKlaKEDjn1?F;o zE-gv|`KI(+EL<03DeL`Yn-Q~_C!42jnsG&leU>9{adYX(+DnQMS+i1`XdSQ$u|DSSEyef`~ zWKuvv1r~E@ufDJduig2Q zzFmD_D<*oS&YYBS5(cT%+SkzFd-4-Qc9}$N?Qhb)%p>04ynA|jYJBd;ax=_hAGfHB z?bR7hABdkv(1#FNqBBX;M}Tw{6#=R*5gNF3jEJN|ltQn9*sXuOSAx-Quh71-0zZ)O zg)nu4nffSA(TOF1ea<9drc?twX#k%75Y@3-NP*tk!pqjAhL^{Bv@% z_q}<3vbO(cu*>FE&&JFM^i4|-c6JD`D9~q0kybHL|owM`uKNy}f__zAMufxqkw{S8Y68FY1?P>$3PkoRTPp?F| zE!O97@N8Jo{7}bh2VL~xUpuwR(b8{^F^Sd4s^B)WWg(5EO%`S=oax0@=P5fQKPBOu zqt{gX)D(aDJc>Vx2=lBDB;@dJ3T9U%BgweOhK@eg%`F}NzKT85uL}1M?F*)l-s!_w zp`h>RxFBbA)by?B-B4)3x1R&w8 z(cDM^g){*DwN?3cJ(4Cl`PNRmO1H(<Yj24)+Av4CXqA9Mf-10b>zfT-*)7s5lA8inyCxBBM0+fwg~(48S$6}nt8 zc^8a6SRzQmc6}HHgIpd3Di_L47tKwr5e6uoDr4OO$jPO1YKw}qrg~$l7-NiCwS8Q@ zpO|H75Z9}OQww{4D%Y!VU3|UbbQk0JWtoZ0n30J~B~Bv@PfAM11a$G^yzH5jEu$bZ z@9Ud;T&=HX9do>_#Q2P;4p`v6j<>6k^2LJt-q8{MS_t7 zIu1CRUVP282t}(V{Cl`+5x)$nvXPZ8BqaXifiO*-5M8qu)uQM?OJ!ApwU^+y`C;ft zL{E~Nm*4jpgUs;D!ZbuS%-#?go!aCm=^!rBejOJ&!EsXDwkJPN zhmMOXAAh&|Om~m6t+%$hh^8D5;m_jYgL%dl2~aSaI8kdw%k-%s+)_ACgxC9UEukmm zleDyl00W_-veJSLi!sNapmDe53%{SqB{t4fEXNT|_OnNBY}+ow+)Cvi(u>@B^6hP1 zYL5jDuF7S?%U(OQd{uNEI{k(4JpOZm1uaK%5TcW)_h?squlM$R2^U=<|L+BOlYG@| zob^em^?~~2zSFU-dZEnsu~GbVqL6?pOR&{)WaqWxmlI^vJ&p4}%UxMXMMyD(rb6t! z_)t13Y5zah^dJfNC}-(luIS|L89}3X?Pp^@85(MlUv{fO(0)pt_PfzKf%=O2i5tBF zyP`^VW1sq7X&w(ZvqJ*$rvY()3%h=gR4!v-KCzFvoN=+#9hKig_12 ziU~30B~#KTLm|{KRPR@HUv?<0A8!W;kYVqC+|ljr?*TxA>KS`pr78XxwSJ)+!#H{v z(3E2#oj!yIoXkH6h(BPf6%cYeoKNdGpOL9=@ED7HZeQ8{`W5e>*&LBR}e&va<|BSg&A_G})Kpb0cp z%_o5p(P7KchfX{SI={zsdf(3Bj9(C9st7d2`LzaSN<;tV%n`!R*%I(Yj!v^|=KAEz zU);x~liTMff)#z6WIu6Da=57VOhr}e#=WuE=aTpxUd>L|J2#LUw8Ju;5*5W3g;f0u z%IBmPp1(}~gj)}*O+@8+HPH6-pcJrCL`{`qZr07jM;u5f3GA{9fcwV&lhHI6Vcx0| zL>ht;fr<5i_3b`oalK(NM_Kmtjs%KK?678Fu{`yUVBDs)qA7Fala6AUaH4nBYE`6+ zYzKqSMY#@&J}*^i+Pb=uMo%ccTi$9Ap?w}({j#JVaD|LSJlYxiNYx9=QX~>7MDQ>J zNa&zI4IHM+RE?VmATkT|_}FvzK~IZbP~KMxgtU^W4u17u!9%4PkfSe3hNr7XKGd+# zLzql;-n~+q0#3dC37F#E$?^DR6Q(h|uy=Xmf7|2PeuHKpht16`_~?^&Yf&)0Y~Rc= z1pLZKDd60RLf5O}a}yE|21-B_u~Tu(IV1=pjhxppkUQ|{q@}#_X*}b z_=9QQ;&ZTi`GO6xOhQ3RJ+Hv;D(Le!eOh0S@#EN242h8=!99LcO?rvsUguGM21y3a z5wqr0#X?AN!{^4#u`*&7?JAuv7cbH?t-?Lee_9nZAqka}F|Xfo=r@o6|MD-|3#eoZ zo^csJyA*B;m7MK~-`8b1`aYeWC)AWB-H3Wr7f_@bc%9uIo{c|USzjNmA~94~uTQ?r z>4yS=T{S1OJN-1RFF|cBo?QCP8?PD-h{C0e+%(Pqa?7uM+&7x4{R!nU&K0ZKyS&O0 zSarFx9Pkw7X?J}%%UOy;Pnf?NCAQA>@=ysdwY9(Alk%BwZ1=woCA-AKJ6^1_z9~S9 z6MOnyqQB=WDc6aVP~((hpRQJ)k4`%Wn?F{tsA#3)>x5QSOF zNPH25i~vouxxI;=&53NHuv60Ig8rb=g(ee`H%>w5G3enQt^fBynD(hFI!) zvhY(k(QTA0ME#aY$Q0Zk2%M}TWpAND&5mx(lzutZ&Tzg7RbXa&!ZeZQDV~|Y(yTGS>g(R9g}L4DJCZ7 zOy%RSR2zNcxArvJ*>SZ_5O9&TDvCs{y^@+rk0qQ;kLQh;)*vSgK^z$oM;QTvay`B8 zR8Styd@}w7Tw8e26x)CL zl{*Pvu_6jy;a#G1O2vt`9(2~ln!fw0+@wyJpKUM0y5J#V5XlLaK51s+*cVmir4^iXKL)+D@tl^Xnr5Ugc z$`78aPe-dSx2v~rICQ)5Y3{pdefN34k2|lUA~2oNbny)s)t{PLNkhM(a=Gr#BiX_k zDF<_}V)0^Q;d>lUhgEIF=A=U?XjFnOPGPlSRp9hX_v9-f4ZbAGagFq-r~K~2ed!$V4P@^Bg-Hv~NA z-SRmyhW+x?aW@$^&Hizi9C{IQhYnEO$Ur<%^CSX8NN^Yw!)Y<0y)`6KU;V&eEFF%^ zN*hnS9B#xEw14Whd2fbI3FJ1|%#?r3u&+|9Y*^wP`vsCI*lMTcjpURn#es_F1NqAj zl2I^0L_|(N2u+y0J&-l~)CUyYOZr%9FfC7^%57|hkpB%MR3$gXgLR_@sReeY(?bbO z=!oa=N7KWQZ=7FlY(Hij#U4-52*ljB=68q6GRkb3Fn5o}jLyoVxS9^X7Zm&Tsppb| zFgg3x(*)Ge?g?wXa@9e1clSNY5JD%oB+_rhTy+9G>kUFF zOj}w-yw1{he40QF0_NP0l+BAhit-k{tX+s7iQL}3Jga=dCNsuNR)_vbrjPZaa*eL3 zI#8S%+2$?gNE-S=tpZ6=UQ%b9;x8$+u3Z?Vu+CmD${C;uFmtdv&gMi2#TFhgn>Ry2 zvd-lF>dXxX;q=lVBd1IWbW2mwr6i;}0)Uk26+H9}OkD((E)*K;g{@c{u+Z*9?5^x%2 z+!AB6s91l$^RDA+`NYe(UL7MkqeQJAFG)R85ZOr!1)`FM(U~9K&6o$J1OdqD{6Xod zLqPl@+xA!=AW%_nLXsP4I4J6^E zC7_?8zfvpB$5ti2r*^Cp1zitEPtV=^F>i*?#S%ao`FH2a(Rt*%w89sE zM=nx7=0GaI({Gig-Xbfi{eqHBGtv`TcdlgW?Cx9|SN@y?J;c$_wq4iH8GAgvWnu1b z5O36&N{50lQRwEm-C_u#@t}XW-Q4(0gCQ!RJl`p2+}oCI>N8`^v?rajW9Jgo8-%;& zr$>9Ywvd$5Z!&SpDTqhz?#$e=?MN}PFw_3*#${zH+-Mu}z8D!?(1&!@64T(6cxRHR za9lXg+LnPjuDqALDmhA`s(I4%FxfwLRo{OCTYn z^fjmn@wMs=>qVYoH;31y4Xf_samP(B&);Z#E_bK#(pGA>8MIsXgB7?sPG^vdhat;q zas!^9gex}hfGJ@z=mc+H6)P%5rVq5s{HQvB$rVksZb&ACXosu*MX5-GdXu@=-zHnK z)f_#X*rH5!N8k6w`rH<0-+}-#T#-jopNy8uc2e-LC;3tGcoG8{!6@-~Yda!(N>i*e ztb8{|;(xA!zV*me>Na_pm<%e5AQ5}viM$&;WTyUqdvSJU{+K<#yn5WwGIsZf_<4J?=Cfg>1Ar@3o>2{gS zMMO362F$H&MIgC}A7RLaE8EbH26l#mE#)Q*20=hlpdf6@5)d|(OUDBC5{*;n_G1eB z2a*qjGK2hh0IJ&{O~DiwZu%yB9!qOshqZ?w^#RRMSVpRrh&gXKQIKZ^cefPjfT z6@sET1uQO+?1^vGr-uBo+HI~fg<%(7%;rYC+Iggp07zzkk;Ywvn!-rC>20i7#lGyW zNi8+R;1T3LM7ow~@@Y&JLwRuM6{aX=ElAkQ_=iDIQ!2V)^(HDZb-ozCZ}OjaL^d-l(W*5k! zdO|5&NEC{J<{oUNAv-OCpC-#T$9@WZ%0Fy3lqGj&t9rRd9)L(u$93T51W)wE@Wgj+ zXG-}6iF5u|y?p&~K=Bp+C7)urrf>m$IPRSpBV87Rik8-KHq*LFFO4(ViDWU1t{a4l z4YLg^*lVW!Aj$DlGt$INo$`ZZ-ORt|LuK1NGUKcLDdnZp(Ol~r8qwWv)NrYOU{Cyr zV6@pP!J-2e=uIatm)~l9PLmo91x)5ChR;|8 zwDvy7m!tfs=&%K=;R#MDzE@+NIvU|P!5IDT9yW&;;xtNHoO!&3ZFZz3b*5^KL#!JADT*mAkl(6=`W=4E zZ*vR2&*GoFS9&j}k-_1+?WOj+%9GWz&2Kb90z%8n8vA>kc=*>VxAzCDFYTU&{tI_K z?3jO6?X^|ZK@IXjJ^-E{s=e*uXs~!?2r5%(XCN6HF@|)~U}U;1f8SzGDs5P^DQLJG zykYREq&N{L6v&LO7RjxyjzehvxQZ*y62*XWN!v7lU7pM8JL%i-MqMzYdOU6q;lmpm zkG@7kkDY*yAI?HSAb6%Lq2nZvx7m68wE7H3gN%^VX8q={9!YhzAHWX=15vw#m>E-G zq5hq~zNqreyYjd-aR!FFI~;CdjEYAaF~kVyGN6l-;@Lc!kRIC<2Vky9Ml3{B;ABRY zt3y0}pcL&q?84pc*uFj1Bc<>^tlZwh_ecU!fi!2V_)dx6u+a%a3H#6`*1b#%qrEt=Q%bCe zFh#cg zYmX)G_HU{9#cpBTtgsPtj-%JQxZiWs!Mo~Jr0#f?HH#t1A;=QKN|zLur`ke%6L7B1 z!moaz4$4q918`2XqY&>NbK0bOtj=N~C#VhgEah>n1J3dBg$5vf0e!z)h$hK^I!rNK zgEdFg8I^*=q5g(e=(qU^Uqb?oQM=nRMQOFj!R0`%x64V;6H;9bh0=M6o03yDGlhUd zET$-=rn2fYqnnnFi#}t0F{qd+PieBHW06+mL5?UIEG#`9`kwY!Us1XL3Mgcxc+c=E zmQ3mNe_yU~+bntaIE?Ji5cP67UhDG9dz_a2z(1M8bwAUP!O%X(o5LDDJZ2RS5ARyX zE8ab!VYh1uJ)&_x|W!!=md`v<@+$l=*addVBjx$jy)~($BE%>l0e*f{=@E zGPv@{XGE(?r^SEy#-Za$R{WkYaCF-x%v4cP(M|6tD0jte*ebKecG)`&(sy{ql6yZj z{&*)F@bp#TTNuHyZ%HzjMYdbp3LrXiBu&`V$;=x@m#BaUjA~cES$u0ZDCQ|%dsJ|w z-?-z`Y|z-luLz0h0h%%~5il4}@rR_SX1m5>phUAWC7WWXmW`&sihbX6g?#d9&moLW z!tVZKz~15z{saJU$mA~6dA=0%-2LX8pX=EE$!F}fXK6S0b67_JY)R1zCmpGG;b7oM zwmQ%)Cj<~m=hAY+%4C8}>CMD(q`G+MuyG~lIH7Xncaorrbn|HJx8&xMAQ*P^Uj8qA zJ8+0b8D2d%@&qb<1<0)WRf0S8B={*=>gS#!B&x<^H{b!QarLUFMI}2MXX6KPFHU~7 z$i*>1>%rB#jyIS3JU6^TuO>le_-netvr2fvrs{Ez_^2PSk(+XLoRCCtv9wN4AYi>W zTN%X!=4RGgkOtoY5K{DsYAL=81sRRZxf?=?NmMwbiL{lVFOD3S7lk)@e`LAN9s{D8 z+vFZGBN)5Y3qs;P#Pp`1c>+JB`!wooV8ovkm?JhU2oHoyWXfG}PN#M6D z6=Jch8N|lKo1rUKfd&NVQRi zQQNDQ(}jE?L6%y)J1tZ8n^VZ}NR*=-;E^N;v{cCk;#KSNwR&7NAp57{URKj`m+BfP z?K47K)qgD5FWO`g33{2ixwv@rohM{D`YV+vD37MR!lGKj>5h#ySE>VYS2Muww#SA? z6U>R#@IuXM(sd=(o_BW%li888QZk#z_5e%&^SNul-Im5UsQe}_dRqVJUb7SBTue;s z4Vi*G&wuI|L3TPNou{2WOXqu|A}g0AGy3q@inqo2^Q%jHzgh69e*INeDcfpxXqmi* zRwFK_jNJQDRv({lkk7}{fq>hx%%%6fhrqa^BwlHd+9-%#ZBWt_yHhAmh=peffdWDW)40sPya18Sd*>W7E=5gRFI%phTg1&EGW)u z4Dft_Q%~`^jvp;(IAB81?DYdSIjcpGx=%*fY^6~O?O@Pvu!rR#RuHXht|m_(Sj@Ny z%4VtqiR9_mgcN@vk}C!P)K$I_Ta2VyT;IwWNomNe+XAhKG`9 zMubvEKWnSU$BTw)T>JhUZN&{n4V9QfP6XgsrR86og_GB$KZseB`Lo8T#!QiOCL#16 zt19fNMV_>jlHu7Uslh)(WKBcm{)2#MXDgPL3(=^;6!K3`88*4+MsB{myj*pFDe2Tt zktKef5Vsug;)kT7Oid+i7H$%VUjhO4%gyfF=i5m500rftwrD>&0RetYbo9KL?z(207gG=S@5AI0x^efEcwl-JUpy;*lTEP?7A9d@pFO^f_j}Tv zk3(_31%e2+$Qk>3f0yx<$+L)zg$470I9fqBi<1I1>|Y);k=kuLGsWsQPM?N8&b52= z>?jcrsOY55EE|`9%xd_25JrPe*H2Cut-8Tc^j}>6g(-Gvpy(GmGq*{4d~-#@{|wyI zVERb*MdL+=Z9UGB$H-BUM(W8oh+z*j)Rf%0OrM!&W8~;g0qGb>BPHG49U@Y~=#m(GkP<0rVT4FZBT~{JAl-1kzdzg;{{Yu}*Q?Gs z&&Sz0etFcf{dNlIo+RW8zo&6~-R$PtB!Jf?DkkK!U(;g1nE}jd(RgpR)++cnENF29 z1z${r9E?nLW3Un&$#GStft=ppp|^}4HDGHaMIkri!4yKFKkwjlg#m&W(EcWrj#v_C#7RgW%Tz-^z7Uef`fB zz;~N13LX1-ASsj>XHeVtKGv>@8prBK<0o%hHJFejY^vj8Z@=Rx{B~`SJ_E!rXUJ>H zP5yMw#1oR+Y~w&}l}j_gzx`n~F1H&JgVZHA&fL6}VeOkF?vI`G3?%15aVrREav|Gb zY`6AL#4<5>l+b^DL?3)vrv${GPOLLB~>0 zK`x8(1TCG(ABIGK@z9rq$jBo0K15}4WgOq%KBbiq6BcYZFLqt@fBpv~y;ONR>t@sy zvhlZJuKUkjgJHEPUIO9xKJuk>T`A4Odp+FQpX5x1FvJ3d@w6P(3D%;_@i1qYv`SkDak-zmnkAb`juwiMF!>}!L-mKp= z0V~G1)oXKarb@3;U!tIy`#mJ>jxf=aH!Gb_H{#h-B}HZhFd|+j4)R2*Th|#phX0Wx zK@o~)Mc($heF+zYO84@ul`<@-LO!Jx`y4trc1$K{hKcvxu7`5;XV!R&HfIkl*g1QKQiX_Qm1tIxncOs;^OVD?Cq3SlZ%N~(`!mkMc4sn2JN7@IKPNt zVSNn}(pz6+#%oyjJ*cyC-_GCv^6c+4z?=oHvlm=-ooy4Z5(9`pM1sThX&z6cH&qxJ z{!C3xMKjNi{Qc`5e#R`i6fzp8NmCTyGPqV+x<8xj5y>MdD(%Zqbf7J1JRB3$Da;?{ zu<$9dY;0)Plgf0VQ0DohNvX!9vcKC-*I?m%+xeRfd4GRVrCkH|Yzc8acad7t?%L^B z^XF$5Lu5R-I^6Sq5{8bmreQne>etK5&HD!b(*zu|KR}*L>A^zxuOJ zWp5Y9AAT*ac>ZL~iagRx(k5>ZAG`kj`*#9rn8mQat8iet8t*5KThI&C%>3mhI!B+4 zyrZr{Hfxwp(o2YlIjy+OP6gYFwjW_BRW!pH13|=D%{z&-tE0>$rW}O!W=sbB1a^Je zr#=wS%Le`C@rz>60nyC5-z1sJ`V84-(f;aw1h6NaM}@(IDJir2=gjGXFWKx5m)dxc z6B(K{rk!>NpJuo+6NxT~&-{FCx0Kd?H2Sa?luPJIi3q=dZ4NS}G9lt237YEasLun; z-=L|zBTtz{6QL+f$N&qbi$v>p!bLZZ?7DuhprDg?2igZge%sxlr&`}E7sL$9v_!o7 zpBes-o98^o*FZ0_4lex6WF>6_4$fUDiEZUu1~yPvP>Z)uhofjh$Z zt_Pu|X_(=o0=-n-bSfrK{Fk)YY41f+FvIjK&RVn9yYD|?bI)d+0vDTWs%ESA_F%%M zt}xbFDjN-Oy~;%hRn&uR7Yr3v0zyZz58qY3O$TdRCMuD%xT?d1#l=;@LvIAyYTsJ9 zP`fxd?0o6%!v6m(0KoIV~4qgJcqM?{~-Jyep_JxavoaAKY z?o9f0)YKB|iGu%2U}kU`8vGbc_fM-1CG0FmB0h;f^Gt@Qb+DCd73ODWi+z0rrTp8@eHOf<9Lj9B~7)iAbj5|_7P#NnIK7EEZagofY24b=Jx zz@?)>Tv^)c7#V89792VeaPpWBZ{`B`dQ|^K7X8CB3yFX*5t5zt6IUW9RZY=ov^=d( z$Wz+(_U<}AFB9~CGfn~ur`O!pjjxW$dvZc9-ZV7ZjC)_oUVQ$z69vG={=PDVECSRq zTZw_Mh|2lqg3(R4&huHP);m6n8#QR$rq{xBlXblcj5X1zeC=h}u(Rjbl-4I54(wXP zqv?a>rKza~ubJG^(wAMgOGgFw3EsDHZ+q<;mJXqD7>L-gH#uyOD10i}kT=^G1rhTf z0D3ST&HmnA(C8~e>5K2l-B-io_s2zdZWiH{!kWM6@GULhNQgA%!lk7l$0@{mz@1?)^b-zTl?};^liCa#Z$4$$yiE@pna=MM{tC*w{3xddJA}f ze2oFTS7Vp&(hNl*y;vDD5ipo-vCf20&4P=_K5+tEnS($fs=k~?VF;if80HL%<%o7} z)?{_usOebGluyNF^0r?SyYGFiDSfF-|2ydMe|=v&6Y?)gGveA0hUijcTbb=E2o@4; zOcFnwI|EwId9`ta-9iFNi|vK4^+I#{D5fD*jQoEb-~edT68y1rjTF^b zKlFmh2=G;S+WiDOIEdz7Z`Ia5QP|e)?RMM z8CP!Kpv6`|`bE~`-pcunrRC0F?=d=AnOT>a%fAcWkDZrE+WFZv`lO`kkSKMrfPeqS z3fjZYN`uu^VHnK^0E9 zKD(2_M++Bd`epwEVZ#-V;VP;j`vOMLl*sK(TNC59aR|5%Ol&7>Nyh?6If@s z*O#z4x|9Ow(HlX>7yAWy?+ZgOvdM22m;Fw0wt*q-U3=L}`*0clE&rTUKW+`9_Dx$s ztpSxJ&2ahsOUJf( zUH8My%Kc~xk;^XzyB|!6pS(8@50@)*T9;j#f4YV4UmO*N_GHRFoE7P5w%^xEYK;|w zFv#PJsnWPG5NZ$vi@oGPwmJ+|hRluA<;-wu`t|!aEpuZ0Q`h2PWD z#kp{ljGcS->!0PJ61Z3*WOgn}7#ILK$efM8~UC<10Z}>Y@nNDUC?0*DAuN^u~ zs{G9e;z@mW=CfT*J3Bj3%V}=Z1d+DJyFLD5YSZ6}8JTVHCF>REOkMbTb2~r~|Na3zsBORz={;r=1`JyEL5;htH%1!9J|+`` z{)iEwlegPz z_i=Plh#n+sJV{mp!pW$-*fjHih=`bK_b}3jL=nuH9Br_8ipVW~gPn#I-`9auCgFSkz2lb zs@1uCEX9{K++@OohI?KAjir1IrhL5*TF{F*SVXFRSBW2(R$%|pUDd9kT{EI9YdIM;$HpT|MAFPl}F@UnV$k93*LIvF`jp$kq(=Y0fz)`K8iR0)Zddi;Mu~&w?Z72z>7$@I zNe-0%a^U51XYl@c+lH=4x-c4%okoGOcWaSJqh&(ujb`Yx`new+Nj3g{Yf1)pX+-o2|gGz;hfW_B}g z50`Gv7rR2Y7WU%|++y&bw-4M1Qx>)cI_+cmr=*Db{u-5|mF-#-aCCqCg=8E|)|S2d z7x}i?_j6R&Yn#inX}QM);LHg`#|e&y_p_$R-t?_J%&g?oo{R8}UtT_;T@G(Fa4+L& z*K;S3R*_838OAfiDYRdBg4R%V5TXW0>JvDRP#&YTWtIi!gBN@a9pjE)7F}(Kc3sk~ zT-F8jE9K4Aj%Ne~L7hd+*wZuBge4CS7F%RnZEo$ec&|6uWh(b?M7z#My=rKO!0K}4 zAI7%`%=2#d>V_jAiNH8jqAGTI1~=6roMOJf2?MHJ$_ciU=@Zqd=` zIg9Yn|4E;Up;#~E$zf3+(yT@fT-vHCf`KQCF7!Vm{o#hUPoFQ`kJR4ZUW{sKA9Ivs zCnhBUddG3+?a=alOi3yiz8r)BC$nt-^?q+*FL*A+*y$y1p}>##u2_88^p2JFr6%av;Sq6 z`S_uf&+0#yz_^!86uPu0@o&?(6eAcCUf#Dwj`sU-)ye|JI2)7QI;RE42EWWJPSrxFbqD$EaxRQeARw0@w zmj86{@hvI6M(w=4{A$g39}g%WcMoeW-CB1_v>%4(3&LiN+1a%*mG8~_7t~to>c-E1 z$B>j$wV7US{qQzlLZyV>`Nw4?hO7}<1l%1Dl0EmWTJn>mt7b?a6EZoUEuP)mbWZ4> zyt)eD?p0Ko^}Lt8+Nkg`ub`GZ>No|EFWPlWpRHWZb^sA0?XjryGI?s9dp!22LbIsF zZDpp`z?W6MIU$(j(9&k=Z?@Af3_Vf>_DCpZ41~c$LDGZcUF6lg>Q29<4UPY>rctx) zdF|3nrvHk}x#J3bLwlxcju?G8Yp(28OYTa$0ts(n7{#}oq;kV&kLB1B3d++LBbgk3}ZQ?A^iAn`L_M!6z zDEXQt39EqaOkr^e3GtbZ%fq+y;UOnLcMQ|~VneXhHr4)YVeqd?nxM?u-(9rIZAnk1lVdf|pN)9iH*1?GIoEIntI`FTNQU3OZQ5^fdZwsq z?>`s$^M&kv|MeqbjfI1_E_q+XbByE!t;haCUC`lkc6Y=E63JJ z4SeF`FhC?TIHhaJIRS1Fm^cj!tLZShT{XxDL4xeW@&p2!3M zK=C8M>(p{!93!k=u>a-7aa%oaY;teU!}<&*8b~${5oluCr$uwH`O{l>u9)j@;mr z|4OIlDLN%NCB+@^ed-7OgiPfi4#b!sjBE-BCITzV(iod0w;Z-j4Yv$|fS|(Eqexv3 zX%B9rZntwFTdm}O?V_wt+f=4<()Hfuy(qQk{6*+v3ItJ9xq3&0<1NgtUMZkPfm;KC zvQ2Tm`=jF|(BaYZEUTLw7PKw>v>!&PU?lQC56IRSsjGJWGbH@H`sZ(Y(zpjg)U6HG zKkxQ_Pl@sIG=!bQAXE=w?`LA1B2wk@lF_|ov3B32mKo*pmc(vaB)jM|^$1o;c-{DW zscG-)I$z+>`%*s$TYWzfzvMC3he^)UK>5`2N-HRCvGJF~;MdyPDHbEnybWS{Q50$z z$}xx-IW`3@o@WeYV1Dzt@8xO|l0PaZYV0Jn^oGBLtc+45vuN=TWd9s_;^!to=zLC; zc5qX<>n=jWhw6jsDQq>oRsb`{7-ciSiI~AJcoij|1d>Awr)uY<(vzP{ZL}Rucrsu9 z_8iRWIzzS7e?8jJ(|$bLmT7mpzp-ndk%gz04PBT^zJ2=^g*3M30AuO^!>}m*(w`g@ z!$5m4p`?UF*LjWm(%E|&H2h6A77M!Q&6i!E-(Q z9pwue!ihDL+1_%g`W$f8XtC6FymWL|A=-T%g;Kx0JOnqpg$ub1_Y{8+)Uw!bH%Ak` zK}@)W4?K``*B)U zKkCPy!?htanHg7gj}VbEOeJIJkA2cp&}u%rDpQPuFm)ng@UkOcwiO@)iMN^^etlJ? zG5Bd_FMd^lan9*2HM1OpAP*i6H4OC)nCSilQOLDSAdWu2etoq1?PNV!c0b?S;=C;= zKSm**1HkZ82xP$KOibeL=eJ&ljGKOO@U-d>3Uqnx;&8b33#*l=RL1Xw}_s& zl&6Eof6fc>!4Ic=W-VJ+wS|Ri#qv%xoT~M%n+0Qjwwx|AIsFN-`Bu4VCqc|aOuv@| zv$+Bpa2#lr)?Pe)xB>d6I`1zQotp+UP_qQlLa*|pXXW5TPtNO%>a9m}g$XIRJwnHU zLgIQVo92D2LY_~KHTF0nO+Nx(SLv>F+P9Pb{1$bnW_vb36Lx$(9(Hr*J>It3>plCt zn{&-fDN;UXzfA#r_qIe{HY+bzuqJngu>T|6AU?v;QVr$0Ia_PoWIq@Ave_lY&LjuJ za6l=en^Ipg6XOwv>5-3$pc3{etYVFYFpXAI{%2*G*nj~Y_R|q%qt` z1d&oD9m26{oYy@RYLgp}oY%V`5W-}|U<~+EgJg(RW7YzO#ca37{_Bu~qx<-IFpZp9 zQ3CK1w&EB9syN0$sAT3Sbjsv3Mm-TVtDqLg{{uTfz!+9zrL}e~I=)W-t|x~amstf< z*U0u6=77h9npc-&`<**5Fs8dfGOBlB}+!I`FO9~q@Xn&|JQ zxAK^B8;2_ihcnU*pGp4Uk{rew@qjg79u@{&6^GiqtpJR`hv7VT$L4;*ammw!_q@=( z!(Tw)OUdV>drus({Zk^o>q*h>R>z~Tx%yvbn8hjtkje9ECtCt!qd9vX2Tp`ZlL-Lj zF!Hc=>8NNpEfdr-{ru*qjcIu3XMtARkXz{#*?=ST(}JMAN?_ptiOlOCa~(IQMUQuY z#_Ib6Rzbu~)wNMVsc3cEwqLvGYgqwWdbKA2FV3cphik}g%&mUbnBLb1Fe8MbG?v9_^w3at)!Z2a7D^LmG@Jo;SpFn7h*-*DHyU!@pRmj3*BY|z9Srk|-|`rCTK)Wku~;VQ zClmH7XP>b3Pp+?X!5A-uwk+PH$)MD+aU}l;#_KZmg$^$jHx^#+)n)$N1Zoi7?zR+g zIS^dIUjEDKZr&!vHOvJMljGSbmjP`{$h8W^!83I_U_y4Yb}W{VlGmj1`*CQ0D+E(d zffx&dP;;sgRHx7OX8TV|D{Hn|@^oYh1Ak(zJM5NbeSIAZ3rjtd`&jBF@CB^ObB-0j zr3{br8y|}fr_Y4G%#)DL64(%{MD}VozQX}IKCPmj*l&3~20yb4i$>@zXM-JcJANUk`}knbdzc zwT}3(3d2xoQ(=0ElQiArb8mNP~pEyjDQfz?4u6t|!_Hze*ANLmor zo{f0nmxT74bkZ_JM1(q31-?j*BBbS)V9h{+aMe1)Z(06}^rE{Bpoiya`qdB7jy1mJ z+r#3F;R<_B>SF79F>&#n;Z3!EM1G$!&2z?$TNxW}Ei$6-=b>fi8`E#bPUq?@9<#!) zvzlF3{-x6lun*+%$blC|#L@Snyi59T;7jDq-so{C-Xa-UaEU%f zcHp4)*9+SDivZ{SOoQ<57O(ze&|&fcS*h0Fuh+Ykdj~Bm*YoSQtx@^*95`JzH(|9# zhnz?We({aKu*Ywhi{m&7jlW#8bfY}{?ORF8<;mX*X_kBw`p;m})1^3LzpZe;DcX;8 zFp%P!J7OpWOH| z{5q&Ncbz85NyZ}01V`5aPRJaCKL&!5VS=brcg2LfX9dW&^PO4$s1zGp{dDds^~x z{Fib_jQ(oG{j1g){z<4$RSniaho?bUHmlH>cTl;zHNyPXz4c(3ChVdCpqCOdn$4Yt zhVM@Hk1u+RIaU-jTcP8+aInPC`U=}$1YxnsX(|N7DvVFw5v7Y2jxT;mgEID6R_k*| z>fHJtEVu3-yPArw_}%hl@|j;8ci+;myT2e+mN!*%oG&M3y3LU7sjZVR!8d_nD`GKZ zyqmKwL8_!uAijS#KPL>`L?jE8$pJ-=90^~1UwLB;-bJKf{F@R*!@uBqWa8P!?r3}j zdCaz?8h?LDO)^Mj z)vmQK$6uGvLvS{!VULe^fFY>~@7X`p6mrOvvd8xAfr-Y-FU2Sq;P4(rFp$Y$WJ&O4 z+W0qVi$(bM^APvAX`3|;+fHrL6R?AN4sgBG$zsNXl8BNvV+m!)7l0TY*{)ODX{!hkfUdpWhr$O#G7#`E#VixmW}5 z0qW=q*K^`xN#2#HaLQA0QM^C+NYxyjv&)H_=I@o_7Pj&0=&t)|_!YWpuC^d2f0`c; zq~w-6 zfaIAfW^9M|S5k^o<=lTC3#f?@yoX=cYwM-kwPih*`YC0)&A88NUN>BR7!CJ5fBWg& zq~46S2+DVMp{$E6pKM+-sM6(qhJ%-+Lmr#F9#EUdHgvUPwE6E1Z`S_7ZclRtA2|iL zG0XF>?e=R?vf(T3_G}dofHdBEy_Gk>MP?X&hTcRJkD9IpG|ad;u(GiaNJ_k?EDT>> zH*LAQS$q4^S&y|lpDq7w{ie8LssZ#(KM^l*`_ZsQH{XTu+9(M9a$RZQ3m+QR60;I! zFs~Zj@Dg9~k4-!91Czq7K_BI#aFO-97{`CD*yca7>6#D}qsp>%)L^W}ckD5#W#evAWd>#{l^^oB`mJc$ENw93X=w}YF2f%WTe?r(ZOD>TRRvpkw zn*lUbQ0MEzoo|V(RvailGsA?hhys2dE=@gD1i$qnFAxTVFg2NT<=tyekv9tP*coSP z5>J5PUB}z9;YWD21E9H(eX=Zz<3B$(Zir+w(DMV5zebr9*%c6YPSGlZ%O{W$Dr;y9TPb;sY_`$3y5WaK4qg zB=R%%NeN5jJpb4CLGg7HBSo^*t z3T+~|crq|~gcy>Zu|Yq;wd^M2lYhADx6F7R27469mfNg9oy1M(}2315A0_w zYsnu>C)y#O@fDqtpo|eJ{@Q^r9PjD;-A&*^0oR-MM=O$aY*t)<7tbcJnpF*JjD`Zg zTp!bcLEhiMjd4S20VnSUr5~@y>FMb1m;Jj}h)|;+pEW*T`t_?bc)QPMvszDk#d~!X zn8NO`ad8?d!Kf&;8K1YJ#^%?C2}`d~)yyqT7h~K0IM11YV%>c&w~+OCyx%Sgmthui z5+W^3rforBRpRi}>3_exJm)iE_;7f*SFNFC@M((8Dsh6&w58^C>lb~_ ztml3Ip9KJ>_|5>uwHL&snL5j~nT+`^6~eU77m!@lq=lWbo{a!5vouM#$~qidE04ej zOb7%4kr+u~VO?%tXdGjVTnvL^W8pLYeiddE>wvLk!m*1rOra^nx zA3doR4;b_bz#@5XxjNDBBNr~0yl($D-QRxL!LCZ$TV1t$(hNNR0O-Lcm*Ls@xpA{5 z2d;ud!E+GR;DHM8wq$U$PRw}+>Bnub+eaakb(v5sVAWXoKpG+ASI6AieXlVt!Su`D zUURbH2hNx79k*rcfNA|>m`~~`<&h+oa+BVPIE1(p12qSJl0+{CeFZ@e=v;bW^~o;ZoOVb} zbXen}V@_GTWu{EVCrcV95V;gDz*fBw1u0FkLZ%pQYwG4$euo+ajAfg&QI(37IyF~# z`vur}!dRQ4kqr!H%eIs=a;z4_@^&$agQ#)92jyJLsBGL+D7Z(j zDemaDx&ObOUbw?s*8!tU4dxg~4|ODxG~%PN>R2hHE)2~UGhsp&BWRv{y&K${jqA{8 z3fLgQ7l)5MPu=HR+{cM!?-!Pr+T-HlmahgxyAG4;aIkGk*Sn6elyLzJ<_XJYzTm*g zb;tf!dFY!9Xbwz(vClda7ox8?>NoPAtpwo28oT2&1_cK%A1C`y+wZk3hYW9NJ|$$N zsj=e}<6w#Th^qufsVcxlhzLP=HGWYxxVZh?L@!kIhCdUFR+!ctALAEt4vt_o%Ma?3 zV>qB<*Ny0;v1;2@!CfJn-~X@<9xb#4KQi)S{CWp9t}i^@_&MlrR6eA{#1ioQ$EFvc zcrO#a_E-blq86700FE_lHilJ3#YUz#8h*RLgQq+guMD&!`Uc2nDSp$KI(AX~=A}`i z(rc6GSvAA4aUWBGM3glS5xu7Z-Yy%(xAb3kdbgR=`G+(HFA}cFH;OCYDbw~%k=;Hy zcq+V|n^J9bm}_8D-n>6?2vlw#U9B4y0gXRXO^)A!j{mHsYneP=HP) zkWvVe%X`w&#H|GuK8Z%2B2Ry45Q8##=(_%#49`|e%X>Wes4)d6qKM&<;~kLWV8V{X zu8~(qkrJuo$Tj}tUXEAB&F~-Q}xGrWRhQGj-k<^|e8KiTsgAX*j zJ9h7nLbrn-PF(5eT5IwSf#BY^#*wWvhvFR;T{4m+DmNTg+VaeGYc+Mc0?S)Djnth( z)5E*96!)*&hqq6(^=~M+rFS>;ZbUm~hi|j_3)vLPsIj*NTm}#P$n^dO7G^cX zKx*J}M8R4zx@xf0T=o9eRfTdWmaqm4hmG9PQ6SBquK4Q3)1~0s(e4}I1eFZ?Hz96c z1Y9^)!h0Q^U+EJ+NzpBD!=orW2!b}7qsyClP#cvovL?8h123yYWc8G8;uWc2px8!= z1T2uYO%1r1T#ikZ<=IQ{AF;xs8)@8cgP^OO#SU=`Xd9~(aK4Z&Q*8=mq5@G@N41gesc{gi9Scx3N zeP2|oC`j{L=6Ytrp&7g2=Y)V}k%lC`%^N6g)}PhL%B6OHKVSdf-s9510!x9h(a~*o z-)^k@?{GWTKUfL>@3-*}O2P$(Rejqp740u`?I75-2iUsMLC;ow5m(7%zzKIX$tE2m zt7XBMp85IgrPU9;XyfE{FykK~C2E<6p_KE>%a^Jh&VyrWHBQ*TMv&~-v{xBTPFT5V73=x`}63d0|84nAH-AKkxIi#-zaBtMZ;r-)P;czT$Z z3(b&91tmNC`JL<2B%wCPUff0_I8i~#h$fJJiObR$D7cj@WJ*KL38JYE_K|2#@(n2-oy-C;3j3Kz;d$AXZxqQ8)k zDItD&L?m!Da>kJ9T!aTJp?q8e3Nl_!ixSn<1WqUnLc*`lKG<%PQTlbHg-o9G-g zpl=x2fE-O_W-Iq8ri`fL@;=5;mpcZ1^ho2RYD#YmJPLgpcC2pExjv@JWxyTw_*Uj> zGRthX+XE^G1Zx>nK5H~)W?L!>Gq^DPDmqFEq-C{|RDm+r+HBOw(2t`8<>27SNTq5qE|&w@!dR8DZPIr8If_XvvvC%#`DC1f zi5W2Dq6er2JUNLQG$Z{#77bxVqSh7uAu|ZUObCbhbFY9{> zVB`y^t2SHS-`Rm67%}P0ZDUexjTb(9br~fio`6OgW2ceOLT8qtYHLAD5b-x*3=I&l z{fMJ*L1mS4*$CyvS!$pBGWYBERkKAwf9wIr(PG(09U7NC*k}Ddi^p|_=G-m`{=2rN zghe3dI!?6X;Uvpkph{BO%gneUNe&6;aBDM94J5v)&KW| zUaG_4BcbD2Z1~-O`wIttRU5gKovYVq^wQ<;romz%QvT$!VmZ*Nn5(wtu|a41MvX;F zkjvewhVK9$g#;c&bJW-1pDLMW%qSkfi5V9fo^jF?`czYy zqfbiCHneNzC$TW_Yp}X(8#o-!h@Df^GB&!Gw&&Q8{eGiCW z5;!6Tv}LO?z>Ki0;Y_~A)weQ@PUm~hb)9~5V+9K3OloS^m>{4J1yLy^E>3m&Z&IC4 z8kidFh5MX_r71=L?K16`fAb3qL(q8-l;=<|zxZoJVmR=937p6Y z6aFz>+a&A6W4xB`UA*Mqkmd8eCN<75BRpA*QqlK^&iR>^VtgBg&6<@Z(2eMGWnAFw!o@ zI)Z^9jm0W4u-Rte34?uJ#!J%6bv`HWT|{kiLr_;9!BiDFVXZHC;h-1mrqOPV48S4|KJ$`Xu?6*ME3>r#?A6w zgRp&Rj#6#T=lWcwt=89x*!bY@f89CcSkzCVJ{HLL7Sc&}JO1I+sic`?a7lkBM03x%F*kH$4;le!b0Fm33POsSp$({~O)`(f? zC~uJVbV&wgC5F&!d?XW?KZaOA6PradHkEp9OkQvi3nZpE+FY$97Ts@UU{W0F^pA+xFd{r&*oz@E2S>yf0aB z=G8YB$;RvKrSbMQv(4)qtVQYjLs}bw%elgX+o#t+Cgc8mZpHg@iIbFkEu=>laV!Up zBx0`C|J@<`xHUd9LiFTGa$=%G@gFe&Ko`$E=qIP1=-H%8Z}b_&Os5pd6H_#pGtl>2Wpz**ZYd~xfo-`~Z$MoV1RCWUkX zyGagwe#U7b&I|(F7z||!o}l%-hq)p4qK?2*^z9{GzL=En0F`}*i$^?3x!ije6s|J1 zI!tU^b;Na1gcvQLQ6tRJ51vKzR|1X&$)8|9XdjXx=9|CSxE~zNxj7ot$v*{b{EL8! z;gs{7X{-COJKR~n>T<>3A1cHXEkMAe+G~(bGQBu8v(oahs_H04*txx}&92$4dw0ts z?0(-ulV zcvl0JVaX#nPLC3^DR<4C5=@u9I=-~qvvN0dTTHGIy*qoUPRU36+~oV+*v&kK3pHE4 zJttXzTG34Rn}O#)6Lb{7&+;EtD_A_p)7Wsov()l~#=_*ly4KJ*C5ZZzkTXgh#$UME z!XzZAB5mlSIIeRqgZu4qDt)!o-$8(`YP;F~v?z0hB)5ijJp5!=R_a+qQK=lG%@cc; zTo;YuFWhRC3n9*J>>t zhI1$Bl6n!VaIy+vC)qW;66I*1ec?n`5%NVKP<{nx*f5bHE?4R~?^A!jjElbu#i`br zOH1wFhBLCQjGHS!8dK*d*Bl=_Xw4!o5->!@dme7iU znNv$sfd*8nl0SyfHyWhQrzg!$hTP~EdA$5CSyml7W zV3@XybEGktcEXj1aKupZ8H>Q-pKn)-6ASDYnvo|HeP8<~W>(${0WXkdw8ww#+n?q- z*EH*bnM=w_b*^@Aik3YG%}wbSPja~|-jldB<&u-d;b$S3mH0`FoOmO2(n*NoEtO%J z2zEqnB4BNQ{RaIbhFb}O#Y{}kPlsN*bv!=cu@ACc9xOgiY`rCT{qS?JMN1=5eW(e! zATbWoz~aEfmV;yyMS(MU=|ZORmi3*5Wbbpv3qK#mJT<=;RnO!hbb9p-3_twKO=gDy ztg%G;=RB7_Z+cGBG0l+Y)T|D~Dr4ho4070x6G3Bka*UuD{K;Q_8ii_dI^0|1l1Bhb z5GUgK^4UaHUC5O9cD~n4-ipsaWyOY?ZO@Az*?D{_tQgLT7>r5enAl)vjR+5)>91GX z_A+>~ut4S0Q2~O8j7fk=0uma?)=5*vvtwSRI##mODC8x|zyJ7{H=6@^Ebi}nb{ua@ zpFc`>ya?cJ2qrjtc>a3TMMB+~C+0grMVu9UFrlRECzyXAc^x^-3VW5tf>0a&(m0!c zs?jef_$RFPPDgVpUo>4uO*et>>uOZj^0Ir_IZeybO_fQ50Y?_mq8hen_IWx@SaZ-Q zeqF$*^Cvwr<7EmqPm}>q*6>njs1-1o?bRRUXbQEl%PCkghnBv;dy}K~rjH2{6(Fn!XuZnR1>&KH zihwjW)jw@+w1b{dJG$^FaF3C568_oKC;5RlyMy%IUYjQ$YHP>FygWTT7zoe?^Iy0L zQ=No!$0cv8DZ8(fEbf2J{fU{&<*7ZZ+}HlyeJR(VyFEG&cPa219L6ZdZTRZMZl*Il z_Ut6F9yy5kVbET{M^T1+JMfgpqN}5-v~joRZIFaSG~BE{U`X8}U})_gkK)PGEU)Wx z_UhL4RZ`3guW`@v?#Q*lgk}{(M^w zwSqnXhKJkZ3~-zN3j!^QEFN5(ooTc`XVoPFCHXOH{6P|`srp;+DM)OKV}*tizK#14 z8C05eYf2D$zOYDg;O7R~C7DmnI0c@RY#r)I|na8fD9h8iH zts$!qNkEpbJ=|~oo-BPT>$TU<_T}qsBb(|Ej*_DTL?03mfcB^pfuvA_DS^p=G8M|r02J4HdY(HGb^C69qS!NAFlvqxJ~ z5nLA9r+3kvv^3u^9PzVSYNG*bbvr>lXJ|gRTzq&Xv!PcNoLIdj<)8W{P6pvR%uIi`iYGmIU%?l~o4gJX$nfMp+YB}zNVd5D zYTW(vo^LCkk^sj#7a&O`>+NxH!J+}(F+0<0u~`{1@bhXT#xa*#{-u3O)^JOSSfYX* zwcFSc4b(v>k4!IJ4ni5UvLip&tjDuR+I;Zqe$=@ugHv33YQD?HpT+X%K^NUf{_(Hh zXtEAhL8~^YLR)(q5N^i9#SIDy3K>U}2cpbct4?EH4e~&Dj*gCI)ZiL18a%@v$xSme z;;b4L{?gOZQc*by_eSGA^}9SfKRav8m2WaJpBH85xU!UNe7CeXL!X+tLQ6T>rKzoX^m&R3NNc})tu0F7Z( ze_P(Nr~CW8N)7^a9;{LwV*{BRvjiFy8~iEc^}q4YO>sRZ07;IK&?tvfKm5gO_~+ z*u-`l4=K%jbPX+zY6}*flY(kf*@^T9xY0;OOy&GRQkDTDE8jk@s-oX>NN?DZi;;Rm z*H$&ZTpaHy3oZe5Uire*Tpdaw=E;*M&826_l80aSlNV(lh91)iJa_x~jDmX!U_wl6 zy$aC-Dwcha0Rm(uHRB!o^15O}?9O$Yv?b_UwptPrvxcM>3S#GXZ^A?=)o1&gO9pR| zD8RId(b-9bMVZ*8HlPrf+sCEDd)Mbh_Uqv}8J@|%u)?;8u37`j8dP_<@yB=t^5F8| z*4p*JWJD?~=ZzRoOe(?-C`$}l6GwfmaLlcYWK&K1=?qM)#-Y#2}tT{$1V>MBZN2K75q56bQ?{s zK~{!4B_z=nv=uu8`UWSO^VOWfj_B!;U%9-!xuM`OX$;w&?CI(8YE2}@{K%q$2~p%> zTsNrNZFK{Jkyqkq0rDMv7Nj+Z;~7D-e3XIFb6A!d3W(C?Au~=lb%ZAw#P7?d3~J0q zZN|vP{&Un3j8D_d6VXhh7ttiM`MxQIih)==IQ(Z)GosIl{Y_wg-{L;^{aE`)X<@D9H+%ETUr_J8YTrV{l1(|tZ-Q})fTv19&<#~0|FG{JB1~j;offG8 zwvtOAWEJnn&Z+)wObw-VYHZdV9nmnfH?e{!={{Q0v!$MhX(=S7T0s-xFyGv=5n+r` zl6YicI8CbZM_~>hmRk}mg$7XmjK;R5QM5s>ZV95z~ZnxTj8?q&$-MhOuKX{14L01*(7p+kw09J=GY-#OR$2f+2R_kNzW*1f8( zO0FSzR1>Qc?co|2m=!=+4y5M<9+a0YWd}eH@(G^GBR;g_dTr#c7;aSLQ{JvarWaSkLo)YA%59Pz z+~!EaMeKJbZrw8{T~B#LiK0L0b7rZrluTTlow?INq4pw07HFT3gmh;N2|%vSip`;(j5q`VvngfeFR?L(HMs%Rheo@1%{SiaR=8ci49>6Y@3Xd%(9`m-$#1W5_5wJ{YR& zG}kW7j@+W63LAphalqKQy^ z`jmAnOoB7<73PF5kZ2{w{+=RGG@S~C&%j!Sgk_G~fj&4OochZNr`1Kcz@@6f77QY0 z^Jq7f+;5&Xzx&~>vCUURnB$w%yF z?Brs}(D3^F%9~QS1~wHreUvWGYj8AeQIQAvmAP~x>FmfOIbbDt^+?+NEEZLC)0oq> z(J6B|vo&U-C9_{1cE4rV63LwP{@HY*Lpe+K6P@$bD3??6Nj2^m13VDmq~ynqXMXI~ z0s;Lvp&4!bN}l&~GMIOZKp<2c4KS!gkmLUu%vaN>P9;j zhtbBycw^32GO?$MG*WEiF~#3qCVJ$Rs&T{V@$9Hax^qFZfkscf4)k+l0YQl%>YX+JkA3hTwqoU)*z zqY#xmUNN&HmDjj^Qy6n~%RuaiGZzY6XC-PxR@*YgXn4p!8Bgp4&fccXhUH2_YdWhH zEw%3A)~ zA2p<|o+n9sCezCb_K@>)ds7>iY#{N;EchCSH?aRZg;lM=r)Xy(>WaGY`}_NZgamR? zjAqXnk2odeflte;t6>iz7bBS{=V^X;PS@eo=BV|L#|sFI~R{o-ohV3a%VbsVHuB#leo?CEKV z%?phIpEy94m^VHTc|pxgU1^Vt$)NGnizHGpTT>Jz_glrE9LLJOT|?9Bw(o;yJ54hL zU~S#BYKFM-{J$4~HrY3ggs@cfU>}WJUdsM&??6{gNmY^WOi~+`S}Ev zE5R-wnD*U&nY3-~kmCkrx@vv5fK9H|!-mwmvBu4TtOSJ?C#d_;o2eQ#hWgiXqfDA# z1))J4B^*WuVZZrqqh(?Q%$_$h{=^%YPScJ!?a%qP&Ql z?g_jP8i$X@G^HPkjUBa({lnbsWdL_I>aFeR;@IT9boj#s*!?Fj4P|zk#xT`7lgVUn z#36huJ!!R3F?8eU?I2y>#hs99QpJ?X>NOH56$_rNGpjcEQdn5H$NnE|cYV6#{&Zu5 z8Cs)TRTz4`%~oT=g)dtb;Y4H|a-p%t*nYl!<^@AEf9}T*-igGl%mtyqhJ*W4 zhA!^DrSs`wx8H*-49F`}Whogd4~;KN_>w{}A_zX|en06SJesYr4!t?w@7zX-I4^zW*NoX+Xtgc!{HqF} z7{Fz~aCAJvR^)-8q?Iz$?oxro3nfE7WRf-u;eV8Ks?9=Dkwp`KoU?=L;^yPX4ZL%; zw|^W(5!tr*l0h+@`OIz&$m7iwp3pm!tKrDk%TtXwpDBjpG2}-)mi6Z(X2gZ!k#JNP z@tB&8*iA#{ zxx`1!Ebjk4+|N(AUiPQDws7z6yM;}w+81Hw&l2waas1ul%$~QDS|5D9^H6y}1}9FJ z$NKuYrZJ^LOJYb^6gM%C~W6m zRpWl@4Z0_Ic8sD4Pwi@j7sa}8{n<9QmqC|>T^v<^>AC)+Ot+0j`-Sw*yP_95QOoF{ zFQ|YVGvE20nW1M%I0RFz_^~=vIE7vy7LMnPZ=Vp0m!gszCj}k(KFd`Uacq=(B$4Z}ZdR##_s_MhFyPfX4Wy@VF8&Kn%(JDz&Ju!9ZJ(ieO@eJZFae6a-d9 z0xD)n>vVN>-iv7KI^)H#{M75`z2{!CI`ik5=Cm{NbHH@Kc12FtLDm=Z-!foif!y4W z=U(z7&tPz&^K2FiNxB(z&rE zt1@71-tX2H1*z?C#~+vzpzSn5s)~kOy0<{?falY3_lryFM)=YkRJoZCLHs`hs zp<`1wr(1XO!Q`Ev$d{>B1X7#dJgNu)nzFE z50xKl`2^ zqKbofrW(u2ywOsA<`-@v`XAXIj;2e%VpcIqbIr8oRn{7fay3^Mo7(dQ+G9ypw#O2M zT#C#rc+J44voHFA{8^$HLPY|2-hd-AX&6q+)0;v)^{&967mLN1mj6@*-Fh7#I>)_B zwlC2gb^>S}59ViFPlHN4ReRf!ccvJJI@(V_gq?XiJ!vE|zDw3@?0q&NDmsvF zjT7lN){Cv^8#!WchkbAFc;A~Xld!A17Z3khC0u3P57RLD@SSyiueU3Efj&bZ)fwdi z$+YehE!%J`$77HR3E8*PgC_HT#4X_Jw3hADP~c#w7z}L91Z-BO-#zvuT*pt=>78dj zw>VXpvTMUr?hYTV>ZuimBJzNo2lq(3oT{=iB^h~Tg8utg4$(fyoj31=ek2kM7lwq# zgbS$-@Res;Yv9XMLUXAodr8Wt7;$_CZFZJmuQl`rRfY8`w;zU9g5pddhV}!nyC2iO zGTlE5^Q>|)u{1EsKjTFPGnQgJBhkk%P0)dAJlr0C?+VZi;786yy<#-#2h+!ws^}BH z6Ts5T^WFNrJgOIJ+Z`r(Qz$0*(=tKrs0LOSQq(k2Y*u_HS-k|Sy`hlDb2qcZb}+-p z17zyvl$hP(p!)zAvgUT{rNzUXvb6tDkxam%#Qmk-i<@6_JDaL4x^-Ik_%`#A_QeyX zGlJ3YnOGum1fJ$wVq1bDoc-8{!Qnt-Iu@vzb@f7O0_L*-=TEZ9e5d;j^IK2ArBef@ zc{5W*fHLD>S^vc0=@Rky?KGDNu^{W&4UP}wqQm~&*e4+T^s;4p8z@JaUWF?wp=*8YS43wZwLd*jl!RVz(&U1s09(k97U`O z#CQTTc>)~sB4Bwekj*P2ta4&gY%W^lYrzpPw7FQqpm1_&LpA5RAe?~#3-3qm+?DgOBs`SF0JnPZTJ_jvnk*ZEmD(}2VQ zQ1IjK;P3uvvW5Y=8Tb;!>1WMQ$UHf9cHz2sJyXzoRBQ6Ee(=!q2#im7A%hN>kl4)B zi;asz0z8|*Gp7-;cN~U4!i_kyqS1pzTI8=a1Vr2)JJM+jC{fnd&h)HPxgRg49_CWLT$5c5q-Sm}&;Uk)jOF@o0|73-_vQl=9#1Wv@An^$Pfs-kuAz@XE7KY%^jt{y|2X@Fr zQcECoB{5%kqWKU))K=0Z1-ZF<+uH%7FYW+6<>8q3p)p`|OHXTF=+&zk*Erz79v>c7 z>DHAKVh6$Ba<-aA5$ZjjlmC#0tn8cm$2E1F6%Tx4*b0x{5P!f>0A=sdtm~@rhl6lA zvQj1;!!^aSw^m+C1P^tY=(-a+80WahkQmwEe`UKn8o`Qjo*4f3Z}@Od;^DH$qJ6u1 z^=jNN@adIOS*zU`)vV9%Og`%Ce&Bji$xU#RE^Hwi0}OP@QJD+O)W|8R;bp#3P*=V< zn0x(>6jbRVzUkt2Kd?EVz7RCT(x@T)6hWT&T0S?oX#AYW=9k=fq{c^s>btwuhr8#l z9sS{E0>D@OV-p34hTorCbh$2zZ>xalVWU}jeLe#7+>ETM*5BS_Xl3Dg|K_i{v1P|5 zlgBgUBULh{mm3B{@mWB8iX-#|Bfq(3wlr8CGZp2+pF4+~HkkCDm5{FGZbC@{NzjL`bj|1?E?Jaksj)q>W zHrZRWOHMnpoLEIL@ZsWzGq{5o`ra+i`%H1FdZ!y5$d$`Fu94zCy4G5%zXwuaK9YVT z|9$}~$X&YneaX;;WZ>$Z%tHOqSHbaMLOzAW@Q$cNK9R-C@*JWdNQ@O@X{KCFf#}C( zR@VJ&FP;`*#d2>NC6`&-VQdmg7^n}dutzVqB1zF&j~Tkf7x@x*ZFNEH;^{^ByU^<~2m2L2#=M|r1388uC)3R~iB6sdR)fc6%u|T_A&S-mZYg?P2wKdR(-5}Dv ztqIxfz25B&{P!VF6g4mq^(FMIx&;|>hm|!VmBwt75aDA+1kQj94kawQ1f?C5)iN|X z^a)@#+w?=Gu(A8_!LntwN_Lc32rwqYu9g=StsuR1JU&jNw+bBzS=n?Gdv{zsHzw)( z79o*WniRUI*Ay?~yqDXj9bWAgjq>*1UQI}$EM!jqJap`5r-mH_f`+d`$zv(#2bkL| z<&w`+V>#z7iXAWr-~>5JxTA}0W34+-tbu(k{o^PvZJCoP;QKfjB>U?*!}_^*4q942 z@A`P+S&zxy?wJ6FlO&&X-k2SchL&@Wqxzb?NO9v)v!K>Pl+1P1pFdU`a}GkE6p#>l zGHkiuu0U1r(6a_z(37wmu`9G@794~EdI$A_DKrGsu43XrI>F8A3^;Uwv0 z=-D{)7fipqM~d99*Gcp&8vd~GJW>a;`JdM7E8C(m*R|CB>xjP*L#z>La!E85Y3UfU zzxRH_`3q0BNAfz+JvZlzX#b6O%5)(%tGDeNcxjD61{Xwup=;Ssz6100pNM_{Afnp< z_U}P|m0Js_<4SwXP`>7o*(_1}a*+;4Nl$>NhjlTYEcCI^+CE?r_}ieqNQW$a_+q=kJp9LbD@4$W>5KXwoC=*^SI3W)t3Q z&`f7m#RRT4c$1KRIEw<(N!=!TEgGAGyBxo5kObqM`r|p;Y}ThpCn)zv9!J8c18Yu2 zkmY-cK!v^cPg@mZk6cTVhapoCYK12nmGhK))KmF2A6M?_yvs|DR_;^U%+5cnyY^h| z&W3FP>(W>ST~cv9{CQv900J+W_Hg2z^NCiSgFip`TRT)fEO0~|4rCM z(zO909Szn2(bH4%ud)o$nNwLQOyvVO(4SQ6H#|%f%Cxxu0_Ys|+-7*Y{uK`X3#_#o zE=`*j6iimCelyHLo0^J#_>+3z`U={=w=8pcFureM?mj*rA=oGCZUgsX=Cc_w(lp=; zWez(&^2I1rQ;NJgY4BdK~S^^IJF?vKP} zdv@!uVh6SFeSJsFPz@MY`9SU`16X&66kDPD6r1#Mf=uYp;yHRg=r+G)UuoJ;s{a`= zLk?1L-ynAcg*i(kLCb*60B%J744K8mh}Mj-!Im$r`^611-s{lN$SNWM>FtqTT1gAB z4A^-okId;y$6|m4m>Y*NwgkY+Dx-a*jD8YU)bBFBE3$oJ{PNH4^~W&dht`lzVQJs% zBEOYw)RSt1TBqOnn|$f*roFUDf5#&dI5=pUIg9I1f^rpRstXNKw*YXVd#yC-T&A_w z?|s~8$OAg!>~_g1HW!fq~s&M>XI+`DeW`;{qM^&ji&DQML^jB%Xs za9N`&{lYWJY?7v|=cJsUUHBI(+tdm#tuHfh!}@&-a6uqML&%XyCNnJW8xm`mys0 z>J`Z0>xn*qA_8HX^L$QB@)m9h@Z^EH6Ehny+hd5et_myhc6=yq-~E<-MrhRsE%LeL zSvK8pS&k3S!ugrM?hb2IKf9KSIU2bOB7z6;IE!y?L`3vMx(~jFYHNqK>Sm;SY^8r^ z>&j%gO&(gWbXxUmz`QTn2vP3%&a~9)pzX6@Yc~6q(?E?9nm#98yVk&Y{HRwqFSwge5+O^%tP7% z2?_BN6?E|`RW_V-=PKjj;PtddTjNG-d`f#7F-&N6s)>Yns}TRfs9iJ)=HNJv!O!|6 z*+X=~b0|ZLCT=WGjVH%(mdaokz3g*wG9d~ZX|%oZlRiLsPB#gL^6*L;D(e84BOxll zuO}jXI7#%K)S$Tj{0G;U;IS;jb3%L#Ep4qa4g6E0>}uObv^IlzYc!N(^e<6e%dSjB z(@IsD0u@r8W`5?e$G?c|_2$(QxZP>fezGP!0a$no8uKSzrfJ(ItsCcV_d{$lXB^i4 zTl4na_xY=+6h%ao29oM?PIZIuRS&}(&cmf6tQ!Q|xlB(Gia;dz2)NXaP4Noqt!vO5 zWXRN%R1wCzHRN#C_A$U)2< zl$8185b%_6=H2vggS@>2>X8fgx>gP&lwP%Aw88}~YQ}gBl=g5{#LKy6uKvdz9jDqs zVd=U))`6~-OxF&N!S;B73(t2I4PZsg;uTLY!dF&`vDWqeQ`vzG&2i-OF8Yj#D6RZ42rDt-lMskW zo|C&@tgZK1r8~Kpy>L#!i{FbXEi}Y=#KD9u!fNwcm0n8=uh@#+yJkKDK|7~cia%`x zHa#iD)Z1lV8AovQcdR%*UZph_5N~(8y`C^FX*O}|xz2y4K2&NTF>H$?z?LDm{a?SC zy2y(EfTjplH~}^CVNB+B`D8*u8@OO-slf5+?1_s#sQ);0LmqG&9H_4QpY|~=i3Fx0 z4`9!Y638+>mE=uHg&W}^21FGRwrdgJzpgkScaXWkJZ<*q6*4XHqlln`tG%<5RsTKr~K!QK%VphG?sB5+%Pq#Vm3$+wA$-9~x0#4Pio5HEIiKyLhu0JI*hi#R` zU5=ZHP*PeZIcvpN2B5o_e zYqBouRZt)jL8hyl`ALys*nSLUhToTT-f6Z=m-mFcj2*LHR}GQdl16HS@F*O8G~;wN zE`e^g0rII%>G6U;Hw7)%nfVo&E1K~*cFWgAPo6Ehkw1}eZc2(LrtG)ELSgr1s+DJ^ zFvSone#+9U4u&z5j1mzM**At(=yFgb-GvN{*$LtgnDRW|h}5c_PJn*Qdd+GY2PPyS zh!6nA%ihCH>XEtB&`YKWl*n$2S`+1<6|e$C?ze?(?po}A`nQ>5daE3EltMNx`ixss zTWjkHjtn)k4mV9iyu3RohrwO3Hj5#-u)S`yLgksL?pq_!uanWg%8VGk(P@43sv4gb z0F&F~8xKIhKZ#)fyP9G4zv7KmPz)K*A=O;dtmdDa?a z-fZu3l{B|GLi!B^QizS`oaCrf>`6204t(_-Go0#7Njm6_;a4u1sc4m|_1q8Hd{5lBpX%2|NF0jjTGb{3JaqS;Df(Y{13h^8dK*F{0^GymSI zh)PBnsIFZ(e3*8QoiQLCiu^@P-q)um@Md$Am=K)5crza1s{aAjZQb57|h{iyuY{6Fvf7PV)@ zl%)&=NP7Eujfh{2j1dhB>}AQiN(EO|KLWD14%+B(NE{o@Jbe_i)1%l%mUuu-6qIoR zb#74oHXcO{m^FhahZ@H?#rs#-+R&*RwqW~{H9=a6aMfLQ-MnC)l$m0wAaLL3x7DVz z$z=}3`$=BXy^$>rNf`c<#b(d=+&LKb5fz>!+oCXHY~93KlQu0)ZBze0IMl+0*!byM zKuDDlm7vDli}Q%z5dGI`dYyyg?ps_%*poU)5?!tamnTdP*0#wNZtg&xQpY#qa_n zDi8W4fNI?#y1${5J#SPu58Z@)fwWtNc-?|jX!g+4NTDBsS3Ny+vjurYgpuL=6t8J( zTLy4Q+KatS!|oM0Du_91@iLgjta0EV8+_7mejQ*bJ84o@{pAB%OT6U6g=T?ycbL`b^U# z<6wc&&Wu`CM!BU;%5vLV+J=0W?9h z8iSgMh4UUSdNpiq4jRYPdwZyz$!Pzf;m#5U2vdtk3j$L=q#bSP7|> zI_$$j+>Y9 zhTQYGPoKYlW9#^a^?dbcxsz_Or*_6Erq;K?==P-dz8b)VJ^=}@2BD{H%N$;&XGOLx zsQNgS{?gk)?_z=IryYHOGLcz86_LydDAsCD%*gc2t7uY_O;2jC-B%#OjNmFyw0@=} zt|MzR;yE<(A6F@8mQChr1X3ZMHd+J-l@lQcUIk+xGaCV#h$u&nz4YC-cGzXq3wFbW zp<2qjZgrq?QKU!CJwI>BkbBFE35#XFpga%Ft3PB`_JijJb%uct|k z8@+b7m+|rOI=Si`!MNifJh7iS$I%oR$^2d>c8>_cYg&M800GTNe3}=0{nN7ZIe8F~ z();#T*Y^3O12j0NG$h`Eu1|PkP!Yuc&E02(db1^79~$*%VRG@%y*O_fA}*=qUK$>Y$_~nP+SyZgKDi=cdYP~`d%@LP`m3UTYn^)ku`t(%Rz<@ zcfsbiFU>_HfAH5u2&;bw$L@_ZNfmo+{rXoq8UzxudLcF>no`@Ms|GzINsT(~@@+vn zw)I00xye~_-zCxa0LEu=^`;Kjf5>DtaPl>8UQsc}d8R>)>EoUg0PP4glA>>rZ9T?c zs(bHuWh6uQ^HD`1N)P|&7584oE#C%O%P}Ur>iUvl){;T3L2Hq=MLgTk zu!lDRt)AmzDCfnF^}fNM3Dn58MXRP6I!el-yu9Mv++iC5HLi&)IbsJ}QOoKX>+s>| z*I=_on~7p64RH_B7KtM5;A6cTHn#uz-@X^?+WInXZ!kY!@+xvJ7T9P%mgR$$+Ne&Q@$K9Qbg;*GX!5T7QiC3KD3aqro=>}&Qs*AjkqcBZK{wvhw`8j(-l*a+mY1%w9bJ_OI5 zUFwS+mhF>0GzKA(o*kA-Rdc_Df!;5>-t?eFwYnjrc1=Xmm$EGeKpPw_9bIN|hLA)L zx{BFGn`8QoxPHqooFR{zWI)y)?AjoQ){HVP+k%Shd4A#R`8Q?o+Drhnw3~zOFzcOj zW;nbxW&NKhiM*Ypj4CNZG@E3Fc)kkt0G=pTb2*49+gUVVdfa7EYMqvS;->-E#lv0% zU=_9qzTy%;Yus3JD$9R40b%rv-hjW_0eXP*>YQKeWZLl}B2OvlwciE9T9D$J0^GDd zpCt>%4i>vB-&XTlG#36^3Ir;jRzq*r^&as^KfL}=%?C=5lUwY~{TT))9|3paGWx31 zXxq^A{IB2bk%_kSy8auTvpzcIMpMKyn&CkkQbsIX3>SnKs+|-Ak2qzpO|W-uZ0m4l zpo|wpZ=6l%DT}R+jn7@)=9MaTdd~j%Z_~${1m8bwfHy5KxWs)qZyPIB>U{3h8z}2J z2dAxRkc%$E=GD2eG;g^{0o8FlkuzgXj1qoBxewX;ZQumNAGmbfl z-MauitjTUn#Pw>c&a5*q=uzL)??Gn1Q?u3BqP{b;Arc!h+2nkN^+K#R#rMt24Y11f zcCH-wIPgB2&`|n8lUw)+z50dBmhokt0z&vLKn9vXR_mnOoV43Djfh=@yZ}i~c*UT^ zdV~#BI4YWvtUrtxap}bje{kCXfeCzXnuwO~)*jyOpK^KchGyOFA0D>cfI{z;tL(P_ zU`_L;bqh}PIdT=pZDAJ&siDVE`XhxGUk^%iOo!8`nldOYaC`K=jGvxwk~AX|WicqB z;erR3ghsEP8$XWk$NVeIs51X%tA{FMCCq<#Pk@JRV^O65M998mgRq`->voed-2Ub^oD>dG4P5wH`W$int%V9!Z z9rlA+HIiOM#5O1}a2T@f4*G8u=;oH7&Q?H>F3O#y#(FijQ%^^rpbi@hD0DKn&g=V` zy7h5CJ!V=8xq!1rfP{doLRQr`&&$1m_%5#WYD#Sun?(kg%AZDa@EZIW=-$v`JcGb zl=7AwmGmSWw%_;wQ~!2znOzwLHU{YDxB(>Dx9W|zm{JiT@df6W=}%~>`Uysgz{Kzx zvbc8Bp5ERG4^xJ(nS>aib>xC8Tdq~d#TB#D$-j=6;$p0z3*gOGf~6UDxg{eSI+H(B zZTS48f_Aa(c~B7RIr?T5eKj<(d|C0~{vJ>ZSHnh2ZWEj`FQhwc-Rl+0zxhfPaEOzt za@CU2GtnZ#IV#99-oNJ9G!0QZX**%z!eks*AmQU>4TwfpOB98sDKt#m_Nbt#~3-X)?`-V7Z7K#Z!zG>QP;McI3b4fBS-<}oChB4 zfB*Ksrk*Z(6pE&Zp>&V2ZrG%6{}4S~4qX8FBl}|D5n5$r^&p$TpB+t0*gLOr>##7Q zZF8#<=4U372(8dhXWm|MgRt5OP>zeO$AMuZPRx(?cm#wZcBw{cMo?&=z#BUa~AE2 zYUrqGbvbEd_=?BGmb|z!^sY=}`}pig#OU3}^-j&z9)1lg$9<^!ot%=1`{N2P#Q%NX zE_ry-jTMjeG}=_bt7k^a;?W{~fnoBe>1_um20LKY>+I{ zf2Rt93=)6ZI^*;#>AO@lp-9<@JI9FzV|5mvqm49AtK3s{{^rCC(9Ql9>p5Q+I|S>(qw|%An?tV07sih z*nW0M&^aMd@)HKQZVIt%+Jw!zXga*|=rMc~E|#L8sG4rmWV{NbWiuCxTBE-CEZ0Nc z{>U7iNvNvgOUay6SI(|8?G!iUbgDHeYAqQ#y&%91js5U`kiG1k&q!Osuv12;Z@<6D zFItGD?vMB6Y{^Px=3m+h01(ho1#qYgD3IM;sB*}hRcS9@CKo6_dZaD7UGCI!J$ca^ zX8kb!wmPN#lI1zYP;5>kiB0~uR~G=B|0O1hldROVtW|{{ucERg4m9;yMqqeaQlPNJJU2Y%JZQ8%DgEUJ$XoS^&T$dt$bGj>g8tE{dHhb_&J zGRQCC@$4&MU5Lrkik?txS5TIKo}QrJ@>vmY$UbcJ(Y3kP_syXiapZ*m>gDyU-ABX) zdZ9h&rd8CH7byF9{k$81I8X56M-skMwC2~6ms@*8xDM?0SQ5eEuSXsJBq%KNt`i&6 zfh?cmW=%&CIDZ&tWhC7V{c_@E{B)?3@TTW+s?gU{cs)}Dg$>5#ZOwe45ZCS?3F_OZ zP3~@{eZj?YSQyYYmHm=npgxCx=$Yl?UxDWDTaruJH8WAKHVLKg(BMM)VwLFg4d>wA z^T)?!`#yKs7v8BKU)(;uABut2^&$q2Wn}J^XJ3cf6>f{7YAIwR@j+mFD{_qI^j}+X zu^+{%vUv;0v#?qN+QU+l{lp{b!w4XG)_oXx!qc1Ym==->r&RH`v(B4VRwI25{JlcOn9`Y4LSBFaBulM;G{Q#YX8a&B+SwU~ zSYuN}h7P^T*V>C!OLN)ZqNOKZ1F3Mr~|^n_3dnH)24Lq`gyq$f?Tk!>qXXtY{J@t(VeSq=0~4JEN&1}hllse zsp=MXi7c}8QMg0L#7znHLCjQ#MAgJSXe6IxL}erD~ic*4YIhp_X4Cwuy^z| zBKn2@2KmT2`73lwW_vd#-Bz#KCxW+N7I%qQhdFLRH`S}bW9KEepO#(Cjw4Z7Tr>Nf zzS4)Q7c!^AW&7Zspdq5VuYZrBsU~^6TQ|5tOB(O|;L@l9>u zv|}~hpxed!> zoT)1=2LkEP_=p!3qDkb%rC#Hi*~*6d(lCG^@|Y>ZAWC{hDn`p;u=4n@QHB1J6D8C$ zuZADN?oyitH~BB&RtA}-C|}HREK(3}VEtCcUuXLdQ$iIk@qnl9A)x@mPo7ijG-l51z@yW5YVZ0I3 zRUcbn*XA^^;7>kKGqw%9;e_C~kgiX!9Ij&Mhcy$h$&n?- z{-Q2u0)Z<219J1BQlrL{ZniNFaq2R!4lE|Kk?gO?IU4?Vd}^~6xWuP~+4m7nqX^ga z({fIMMbh%$Pxf0nW6VwLT5}VpBT9PNZ@u}|))^)65$~pS)cA$u`4s71^V5r)BOGiA ze7}8F0W#-Y$%rF$!#dOML@)kcwYcG2E#j}1qB%xQnSRbBk^kv(kn0GXyr8zIxJL|2 z&CA1}zH~)Ij6Rs-bwZ-_=?9`^&(W8~sO~ctxAwKjrn$e3}#^L)a^ikcf7&YVHT;H&H;fPy_G|o z!FEmpxS~MJ>c8kGpa)zXN%@7{pOnlhnfYE-Ba1_wLXTzHoY3=4YP^dL~@3^Nu;Q9hOx_)S`rr0^B^PNQDjUucK=uWDL! zcx?ZhlUTV&o>7Y!F)A34+NZ$2IXG|rXn=wQDC-eNMHSGpROgkhkc;vC&eq<0posR- zOLO12Kl=5}j^$k%JEU73TjhcUg+z*F5jtG1!>7N;44 z2)Gu$5kt4PXo&}dDI41MM1VTBKIoDLgsNS^?e8+0RrUNoz9gro(TZ# z#^!YeU&ouxl0WqBGg1*TBe%l_1~#4AfGNs8S3rjCRht6fSH zelcdinT(YzX|~9~AVmS$pYK^l!K4h($eR={7JK^4gvAy}<@Am>qcUG3IA&jq?Jtd2 zyS#A0+XSHJF~*cIx*p)|!eF`mij=YiPc|5Kowx-ybTa8n1@if=YBq{f}#f$JF zk0g878oT!=voIcnHylu=8)P$Tw=G)4etp3k>M^QNAR!!lq|VcE+w$e@ek?h03pE+p z4R#zHt-Zgxs<+cpd;a@p^XXEK*?D4)S>X11r*H5skns0Fh25R@ySxZSKk{`B+Pg46 zIwsSSq=U!W{miqkefJH$J*HS>Kw8i@VNz6nGqT-5{_`=u^bMjswEK!LZHp$M50V_8 zvMaz5kszw?(Nv74U2NRE=MCBZ$Q;2^2Ay}7c5a(8bDucD_5)ak)H0^w%nyV~Oh;|q zceM4gXZX)`|I!8a)5O+3L|!~Bp~U_UgdU-;+Am(zDj&=2@joPh-(tE2f2Je_M=Gu788 zn>IoT4Y~=WowbDbDx=2k?DX?r!d!)5bQP&hn9oPvvY1Y7NTF+YwKU3d z*G7w?dlO2Q89iCQ7Gv_ZZ@oMLv)whcx=A5~Eu3TGY^ zjysgC&t+SYY(qoRJeggi)3NMely#aJI4-*T)6mR!n|}y?d#NnbwU3Mo^PbpGPna31 z12QW&aWN5U6{MGxvNdm=kW{>Q;lp6q%P|)WChJ7D^~eM)ac>64Kl&%P1OJ|P_oUok zTEJf3aNS0=PsBX(@KpqeRr=>AplAbc%@@|(LySPvxW5u6^aP= zKPpNW;U=&=V%bmW(eQ=^R-Ige+n}&uH1*2iHE;z~e+j*_xSuHzj8$YMvjJ62JCe=Q zuX~JV>Hc6&K~<*2@*_XbzF6$=3BCm>gK4SP<5g*5tQ=}IfGfS$PMzbKO;g26v4$`T?{T4RWFLs5!n&4w zzWFx}A`JsYBc{C97*Zj~AH8%E+>f(v%0d+(QTJv2@@dJ#x0UXj=(KLB3XQacZ^J%? zqN=1>Ads;-#JH@?pvky8k6j;0Cn0e9>OPu-hF&w}l>9CHj$+RCnF(Li} z!Y5E{SGa0kb;zt9=OiGN($^z-=>PgFJzBFMBi4M1)!)VQ@efVz0I@U8Yb2>34YXk% zUY@~`g-gr!P^BHZr7RP=Q51Gv$s07!g$Itrd9P2w0{p{9c=1&HUZ828i0(DP@c-}K zQ5i zhO$!JqxHpAOMhXWpHq-K)an!a15rVMdNOx+S;tNo6sUF;Z2ly!8Ap>njbBOWLnEe6 zc(Z|tEFT4>Knf|1ta?0lEH|UEBB6~$Eztf5Eb)Nyu*EjF)q~|udmyQPb}ehMn)r+h z_Xf8y6!)bHhgXbz^>U+SA8CENsvrV136{5X?nf$JD-XTHW8{B~1+uhut=_Ta4Ki*q zUG537|NZ#p=H#whN{;wvrhVL_IPNzAb{(eG>8~J*g@aj8=tS6xm-fond$9sx6$x9^a%tVyXdDm&jSQJ6A<%Lf6>>KgSPiL)_UH`z6t-AbBxq4E zX>hjeyE|%eKIOw!G`G-Jf>BYL(S3I(hOlE}yVzTL#rNA{wM~Y9q;ZmEh^}dBbKJ1! zdPcd;^(OAZ)Nj#cwSB|(xzs~pQ$Q7H|FdPGM`D>4Rfw7P6NKKqJL5?wigey8Yh+2~ zw-ua4$S)PQNT8ZtK$YSZ!#YofdF$_oP3qq3ih`c(u@1JPuT^h`_m(Bz@!G{?5 zz_(ZF%WRF?pug-)x&d}iuY+Q}OWac~q&EAX!x_~U)oJo}zv`9_2#P$c6$4bu6{8ab zEbKvSLJat_CjJwi`GMH^tQWD)cKN(B1lDvVU#<{q%JCf(cyj{;Wc0qgwYRtLy+8X> z0;~xOgk3!&LCv^;`0^=%txpU~k^Vz1gZy{|2AYTC-K&o#>!ch>ecUsnS<5p!r>CcT zd(LH(@ukBM7};j$%Hi6t#Aibw0hM&$&gB{;sepzhXUy+qQwHmJ2#k?bzMPK(+V{qN zJd5QuC%!_;@F(hU%C#3=cl(R2u7E>(H=^qC?3oyfLakyjHEg;gm(J#?s#+eoS2$#C438oG?U+0^vY;yuUOg&y1n?G~|8#3K#ru*g7D!tPP2z zOcF)+ALM4wn&zDYd;@1!Lduw!^z<@HuD@wY1&FBq9nBPX{H{hD6Aq96%LgA|--*6* z=Fwwc_M0HOz6O3+JL}-%b|6jA&f9UBV$yRosU31HSkim;PPtVy#qaO`&~)CxaQ)vK zU#u=HQC5r9dkcwPqnGGCdW#Yw`s%$zkKTzAWr-eP)dUGvbb=*_-n(eO`}xlN%$V_y z*)sQ@d*0_f&+CaBq@|@KG@%r=u6a{S5srUQyuJvX0{2h`^k@~5V9C(1tu_Pt)o1<(*m?AK_rq#le$`e%z^mVhQYc$FF=e6N;#}d`KYG&NK|?G zl79BhvxOO`3sLI1d40%dnWG4Sc%QvRv1ejcHU?beqE;Q#IE2(=l>*k85sG+^7gPnF zzk19X-S;h;%gyI^hEmN89__vlV*Zo9gF}Vy;o|ugbDoII*-;W=;dkOjy#4T)X~VpO7tRjPO=plS7lgEL~Scp|EuqLT&s@4MUKzK!F>PNIv0B z*Q-FMsM>)A4j0(PmHBdWV2ULEt)ZdyO-CPL;G77gpLt~S&{Ka|iQ4S^JL(=hoVVQU zaVJjUt$~!Dnx*oySj3N7;ZnVY!PsoyKsS>mPmZSc&f2N+yKl28_8lTT80ojax|L|} zF+k6Rx>j`mNx!zQ1ys-p25B5`;sjCIFw9<7rrF=dwoxfWIf64D;XmT4e7kQ#NarL1>L+5UATj?%bBVAwhWW3T|VK!mvPS}kXl2kO=GMV7D1>n|^e?fdb|hM>$Yh#5{^AqX|%aZRma+(G9*dGV*!I-Y!q zf_6NQhoB$&G<`V}TW3ra)I$s3M#Wfv)T^H*V}C+J0|(y6O`R{&W$?mWT{-K3db!Qx zPW2kCTav9} ztXPyxUNotwai_A=NR`f7!(;B9`L=%-cl$Gl8KR|}kGc{AG$5+no5IM9N>LS)mOc=D z2>}=G0>@0Bj)EsmDNEKvg=Z<&$U+s>=`T2ljP&ln5JIzFV}%i}R|qzZyD z>XpYnhQlF>+DS%*o=KZqa`hG&5&Z@Z)L^-FFiS$(yao%St>c#e!OlT$_rGW6uF!-GQ@M_Po z%WK{~t4_)V0W(;Snw7=OKQ%~OljwMU7qF5Wm#L7+6+`5}76`{P=6Py-5-J{-jE1`d zq(s??xe1dK4IN`zVk+rN-&xJk^!l6QnlbSkSA@OAXWjUD3%U+Y30E7#93$Q4Tx!oCP%>_lICST9Aq^w99(irT; zVUW&=v1}rh8Ovo6nB@wEo2VRt1m)G=8T?<>YE}*aEBJOr-a-3rApnM9HG0?@HbO`( z(B(sUMo3O2lh!!mnV96(p`FDO^7yVNwLFAAt&})(2MGvj!qvBdfq{4b&i7MEVKy$Q z^XXBZs0JgoZI~=sd=D+3wT?`C+Mv7wW^bXo9x%mC4J}I_+Cm7GCx>fu?|0H(;Py*S z>nd79v8{h=4FW#{hR9oBVd^z|Lq)j}@)zNb+*;i%X!^Sd(@ss>HB6p;ffSGulM#{F zLVc|@p5KPrR%mIkt4_FjORn_6xL;fUHE~=Dc?e40|9zfDW!Y{&oVn92?y;(X(8&tB zKpWX)s>PslF6Knj+XV;wxg*nnwBDHjkQeH4YFaL|^KwP5%F6BCzXOSG>_VhBd8(+G zc6=>Q=OrdoM?uvlXjx$KdgX$L8?^m<*1XAiX@2stGSxq1szcKO^exJ zf4=X>jK4yiDF#&*F3}jCD+Y-fE(JGWK!tYzG^rz0L+ZQ z0=L_1iOQ|(&xU*8{;qwlrBAP-OD?l@@j^=^6j5JFvzSLx*~|8NKU>N zFQSYr#3V#s3!4IBHALxv-6UN+dEO*+;2-HVi=OdK6NM)o9zfYoDV5(a4&);ECU#LKnZw{A%2 z&=vC9g_jAiaV0cX~;ZY0JQCZntRzUc*!-&0=uzWsik`6Q{7r zAt$6PgPjjK{KgG=*_`d}iK4a5_nfYDbijxtLiy=I^=K|?0i{n=ihu6q2IbFM*teXj z?L4>6?WUspyyU?3k3|o+o9@Uv;>~@D;QfN`qoUyPbs*H0X|6H9sF14(gHc(HO>QO8 zX@>UhpwCLcRXA5JeZ-pz;_Wh7G05P*o)vtZ<-4~~qyT^CyaNy=LatJkV@z5-CMzb4 z%bU}GijRf13O5Ng4JK=@8W0!Dh7-q^3$qp)-kf}1V2xa$)Zemg3l^?dR)$K|@ zM0usak5r)mUKBLhn?l-oDF=zNUY9i6m5gYRP9obJY1p3MCy}wyZ1+FiXrTBQA?FUH zu+Ny0@TuCQHUF{%YVoIOo;7dF+rIU<7Yuh>G5lZ7Y(%!0;A2UU*lN$+(4dSwJBMn} z)y-Fu>>{>DfoV?li`C#%kdi1hQ4u<+ovwYdCOV{y{hK0gmfnyj}^m~t8TTU>uvP_Pf;t^SUZL9{3Zx1KTvS&q36 zlOCP;p$2>3=NtcZYWgCiN_L1m=Hn;m)h1VzinBb;om~vtd}De46QGU%&^lOXJABi9 ztIi*Aom_U;)gZP(7tI*TuSvY}fyMg5-o!N7l&hqSKsdk$g6?QPdy>8-BLqIdv`ex~?$C?raSTR$FJRN0vsQu%MN&WP05{%!I z=`9*=nU?-^rl*l3KI#BOO2J*8{-V`Ns?qRMdaJ!^Xodk91{o=7iK8viQ$LcGP6(5B zZX_m%cY1uAnFP>yCk+;5=jZ2(3${CM)**3|K|SB8Tm$x7>K7WlcZY#i;kU}>w{iUB zMLMTV&^qnns7PnztV|23Q#kWf7bCG~#x;N||$Vs)y zv!Q+xnX6yS5|{h!e_PFr5Ege6Kv?z3Fh3A+uI6%-@@R4(w<)$5>Ht%OC_GK*yo?a` zPAZ38XlGV%^^wVk4Ys!*oSmiPF019Lk{dC)L!(V}V5KvRAbm{$$t>WRN!(YalPSc$ z(NWZKKuC5h(|LTpJ0>GjAl{3DA0m9CIHlx^y`eZHk{5Gbfb$uUMh=IpE1zt~#o5LH znK8ZxbJnbLLIiRse=sbZOZuj(K3qDYuCc{Xt*QlwF?8O{?C(_sEZDRtf}r~)B3^1< z48S!**CYuTSuHi>!nzix)a+t52{ zby9tGr4thWW`M~F=o=v9zxg=VZX$Y72B$P2bJ!3~u z%owC$j))dwEX>|W;x8OOCC7F>-njmS24oi%`jne=J5Bx@HM5WiT4iRq8T!*7le7nS zU5;bMtz?@yFqe4#wRGOqt=%e5;i#ujTLD8k9u&2)NM49=97A#G%Hxs#l(o&RNa}?v z$rYzW!qN@=U@3T#cx14$l-Rxis+~}1_PCi*rq9l|vs7l~B!E$JHunwq3wTQPx-SP< zTKHj#x&%&>Se};x#?DS){Bt|b(2=|9ck%7`pf>_=cP<^g65A^8m(y_wJCiTIv~Z?Z z{8K!e?9!mEBR=VkY8_Y@^x3}yK#a%R-8ZjPjO%ANH#Q6tlc~^8igLSe4&0Z6F5B|< ze*;3wB0rnKpBdbMxH6;{o65^D2}9^hwkp5fD5s}5xFVH$b zvf*%ffbIv8DIhH@r-qnnb33`Ci*hD~lh?k?yW-0!H;qIvm=k&{c6R!Bq>4H^ zjf#LQSZr3r%!`rc-WofUY zPmWLMow}~R^TUV7y8j}8f>|FtTGRIG^E2K?>yQ$(bF;Dph=(PEEm{5%+TSI}gzK9r zB+Eql>$~ZZb+2tdyYJaaF38@afd%)6t4iqtDr{J^2VJzs_R`+oZSJ!*wKxEIBlfJ# zcCd~X&>9h1UQHy?Cj))7Q|nJ_wNTZMq)MrRf2{=0k^ug8zXHLZ0`B+n+!RVW&qtCp z>26jZx($Q2dRiDSZup`rv>EU8rO5OT1!4tc+|3|_y(M?MvvGs>?{ zFZT*O`M>T|NA>oIi!{Dd%%9q%+Q5wn({^?p%>_8dQYS}A0+dFtJQNq*H0dRNA2dq_ zRF$QHw;@n`^ATKe#F&F@8lbIdsTSD*p~)TW%1$eauJD^ZCZN^wmG}!1G(Og+Z^J-w~_j4Dq^$yNnVCT z|Dd`v=~nQ#nyB>kzD@a-Ix!(pkA=W`HiSb+=-DDljyW%} zTZ`L@(s(&0^Cc+2<@?XmR<}nVueKW2tjRe!fkR0C<}~ed)JrY;x$e{6m?x%4hf#kj z^L5Q$5D_scJi@KGoPaePL$N=q9Yzp3A23MtBn(3;!j_GZI)(JE%1N(!-8v9^w9+jn zXI_wp@nH478bKchsXnp&lbRi6YgMc^H^m%q_GCVc{TnNWnw)LlDe<@2e+ zv&-+L91#L!EI1L?nSbRVLmZf)fdYG|vGV>BLoR|Bhn+2dnS`G<0eZ_rNr70d*y#y7 zr@1H87kUFKHDBwJgYW*)9(+AT&vxy!%)UBZ<5n{C+5D>J#0p+fHNd|ZdD3Zngc%Ah zam0Zs;jk#-z<|W8rRHT`(7naYJ>LxmfAZm2`pmY})i)5)$ggSyT1uVglr;w@MUz8mD=wC1k=6V1Bvq72X%}%D-kpcp=B3mMzX}(U0b>vhC;h0GbLL z1JMl&6T})xjLK{FN+Zw%$VJr6QPhFjs>GY-3zz09V3OdU z!sri{16F!t7|_X-7<_}3+S`2OPltA|v zcO-!)o<+!g^i6YSO)mYBq(rxNiz~LAcKx%D0@P*OuN}eIk4{Hu20=@1B4dsG<`2`% zxFkzH3vU4Ynn|16(m*0D@Bo*QmhL*JZ31-WHG-ZUOO&PzVqYG{2cIy?a@w=rXn!A^ zF4tH!PPN)Za1sT?si}u^487MUROPY*v217mQ*@)eRhGW4DzgaqJ8aqIyl>+AQ=l#} zxt^LhX7KXxCa3M;=ib@W;r;lH41lFA3c4_%deyARA?f4l;A&7Qr|GEI+BKvrZ%NCr z797t4CU9t_@Y7dYOi-_rA__HV5r2A8McF-OccWEmpajCS16|01GPQDXWt@~k2ylwT zl*%fDoU2K}7%-+dmMXy}NGTn06VI-9N5x3_)C~EIGpF{DHl9wVm=KVknn{gpLkExz zy;k4FS}UKDgZS5zNVa-j9!M1!p7s&)Z#OIVzJP#P6byVHB^b}Ufu4fk>mM+D%g=n? zsk6)Ukz|t3KLr6-CN0R~rvva}#^?GR<=O2V1PbZ8UngLtx;u-!X1RcI@q|_8R@ZSD zkk5DnYG_6A#YX$##l15?54YoC)4A~WKxxg~B$LHXmoQzo-`aVj!_;LH=}8QtAZx6r zBO=8XVvc~wt5L_pRP1`gDe202QK7G;UA2= z)qcXJQi)F`88+toUiqR%iDUZvm6L(AK@GCVb%jdIG`qiU+ssl)v8RJ z8URo)(Err70O1kHl?pBbqrhO2d`N zZLAyJx@Y(6#X`&gw8-hvi%ZGdBX7%x0W1=!U$3W}TWDyWL zL`^_S7e&EyPBADE4l)en=XJ9NJb^ht%{z(ez}yw!UvwVz5!x36Jv(V)LIR-m{`1yv zEm7nE-76i5x7#JD=$mP>f(e7Ukzgz?S@OZvOqd?2MQqUmP@eO3-8 zXb9Zl)|$7phW4e6YqMUopV4Lb6N9GXMjKs&gS%#TRm0TcIEc$BIYLYJ}v2|tU*_!m_;!3;W<92{SnywuQ0NJ_dtW_a-Em<&8* zxEmk5->DDY-alOIv|gI~IsPB83!C4scb<0UaIvMvjy=`6#k6KR?Nh#|q6v))@-osG z!dYIeYj+q#{@T6P6GgN8x%R{vWz6I}OEdb#0pX3Jh#)7$jx!$AC3HaHyl_DfG|%M5 zYGjfi%>Uu(2~FaXJdu3vznUa*7`)doNK97<266U?%Z8e20+fnB|ABKha$SI#US&8e z$yR}`B1kuzn9$`71RR@fZ!*1H+tNBisi;TL! zTLX9|SHKu)ztDYOJh&6=x1HQo%Q1W>;mfY0ubE})vb$J3JA5jsvC5)aUGSevmlYJp zs42uWAq(6hUAuK1Zr6hgU@Lv~Y=2;aJXxWMFm$o8Sshnq*yrN`%R4AakLZD5Ju28b zP)yliGF}$^Y8FVrpJK@8g*0QhHD!UuWz&Y@a`LD|%%1^*j{tH7Hfh@w;iS?ezx zf2)go?8#h^`fL}a8)lll3q;iv_&$*oz&9=YmWko#AK0DbjB{IQm2YnnWd}(7fJ0i_ zOobB-Zi%Ox02Gf=%_W@URlvnprOI<)fwOx(7IKfGPZps`jAM@Jx=5@KInfI#*iiH= zqnJtashM_tZibk-y1E)@n*9&rV$!6fR#grttq}jU_8bJ^Pr2v)9Viu8z%URaX{LQu zgg|V#bA@L)seB3($zDD;@{#wq_?x@?Fe%)m0@2{Jt?~Kx_O-!et+COIo4ep{nc0HF zM>sEI<(wlxz!n@n4Qv&F>M>}D_+{!2P@h$ST{=A*zL^=h|0gfRH1uLq-34HJLG{fM zia;R2Z&%?0UwhSzYa5Aql4g*%#aat(01G97mb+xnZ;tOEcNuH*VfFpqqK}Sp)8m8{JZ?!V-QboyngH4*M zofb=uZ<}DBd|j&M15vhyikrREEX2dS9?f&FpZ*}@Hx}T0{tuWXj5)dD^?#nO-RzfZ zhVQkZ?+%t9`X4S|96rc4nS}gMx9EK5C5dN{c|l$3WrYFnZWHq2IZ7^l=n$%r0DZ!^ARdyvJGWd_otDl)jbpf)S7nG+RRm9ROB%0~`@zRyc; zS@!Loo2XONvSg#p8Q^u<=v{2){D}0J-dI=bapi|1sjV--XA{(20m!>OnWF; zha7lpfOVY^-1Z6xZ#pF%$Zua@j+qhUVq?I0c&v`m>!xU26m=v@(O&q zmzNuC2m2Qo0GrB?fF^RYFAVD!nPDB>QnUZ*PXk-)kK=UPwdNf@z`Dr{B@@yg{YZzr zuQaI(2q|4IK!7oa1C2*=QZo>c{!)&L3N6SF0$8Hpot!17K@PLQXbVs?%;@=Czy3P( z4mgKCg>||FR~N*sOkH2w2uL@+lNOR^$6HZrApGZ|5H_ zH{I{si`vf`hc`DJSar)HUff(JW?d6nUNjoXoc(&Z4M9ItKJ04E7PSPQQe^cP4_Y83 z9l7oLuYdfIjUfJ}`jvtd94hmJvSGLW9RcLtWU7#CUt6KLagXWC6zrWhr2Q34oQlaR6#ru>*#9kRQC9Sj)7)mk)FEbJdFHu=8uAgqab;sV63bt0%-%{ttchOWM(SLf~~aw0DyytFrR1cBhz9c?p9F2?>c9D6Y_ zA(Kp2&WSMBUAB_iK+?`O|H7xZYS@(q=1doGETNGej1tk{+iw88xclGb?DE_GNB%k% z!G9FH?-sg|L1PE*cbmTZGG4$gYhhqupdv|gWMmB3h>tg9AT9WL-$BzLzF@cjQC#U^hs2XW5?-!Y9@rKYBoKk zfjFfXY)!5h5!@}lpM-3oY0@vt_$U73gXZ}p2ZrDcHgS}09K*O1H@Eamb{ zpBz)*@Jk^9bdrhA@tA^LLe;w>yy%KF!%~#(o-kx0zovft+zLc}_?Co`=>8 zx0U04=_evMcYi5Ca=(B^TG>;l*fmkrG?;b;5Aw3$rQ>MsGmgJ|XJ;^VZzvE=OpPny zz!*s!0mF+ld?M)U-_i=hVbpe^27Ak;S732;60=Bj3y9EfTe+UoxHQgR`-8T;#6yGK zf|I14(2+z;pQQ5?6H<)FiI?Ma9{wAd_oF5G)p<)$inoeMEyYJLLi>y%EtzG^GD+K z3y9cTt5q3fNZ@(H%7q7rV)|=G784%J1AVQb#0QqR(oa0{i;CHm`ZtZu=Zt!ic5y?j7Y*PI* zw25sJL&2A=RrULYkn4JY_I=mC{O}&&m2?;GUU)&%?XTC|1N#GHZmsFbBV1p`5P0LE zzm^INIP)rU)TmIirSVOsiDF z2>P{m1+?BrwbwP}SK9Yd@(4y`rk-I&rSM4MF%1Ps9Vy}3_*CEQ-#p<`?*gEbd?CH3 zs-OD4>|7IIViZS0p7R${hK{XEwGj0@R91a=)XVB^>TT6|(hcwcLfXze^u-X9x=Ko>FJyyTPt$p~QLnrV@ zV2s9I$7QP0(NP@n95kv?xFu}ndAbDeC=dU_)mAd;teJCdhd-jq4+U|+`&o5vxb(i1 z3F_OkmZx*rm%qUStx%`*N?75rDm%LJ{`uDD>U zYCQbUm;n?jgM73+#l=b=tr7c|HyQXC;T*%dc+a3^5pv?<;xstpi?_9c6;EbY;U8s$ zE;kQvK6F1U7qJg|nvi1No{im)0C@t@1`DmIJ&DhM_Ri~r&RyKP&SxZm>D*k&3jq1K zf3?%dL$bFt`&t+^|JfrrIC$qO?u!L2H8nxtr!799lqW zSoBU5ek4&I3OsSq{%E)7pq{l*&1;0ayL(Hw&vkj0t7-Se7Fr5`l?zl1MI*P{pE=e) zBtQJAy#J>c(iC*rVAOewZB4%HacN$3m&d=i?7Q`X;r=~Ep2#S}QiMwNWb2&;0=8ur}M7b;6Xb2bmx!(@`jai_}4TagO|C38Ts=f%h{ z^+Bi%e~VP9O73s|AUK(aRzUtZz`QV!j_Re>^E;&f{8pEXeh5U`FF;0b;((&|VdZ9= zlta@c;!oX91=gV7l^>qp>GV2h1L-(-c!NA339g3V=F92s1XQMYvw{2u$AA8-S7(~2Qj|DQ@B8E@QJ#YoH?8RxfMXWh&Oe-_JNR)5FoKidTkxK-!FIj z17ZsAj-`oo9r6wT;J+FCbe2*{AX9F}azMGid;Sk;;4(|2_f+(7{&%Br1xJ(Q@M++d z6s_LeL?)X^xgeWwxyL{XIZM=(X$%*DcB0&78P}0DO{L_Cv^O)&qjCb~)zVX8HlL#e zkC8&FuO5Vifv=%SC*w6(m{<-|-LJCk@BrjhAiMbwi3!0OE{PUjQ zu9}4$Yr4ZHb6aYX_ZAow!f@T%eghM^`S!KAA3r$hw+w5Z$;ilvNj%23PGd326x#%< z83YX2B>k1-IS?t@D%%*y%bDz-8knFmh#Ds+7(>h@QKYrmfV(~Jv?WgXk&WILE;bw@WQ&>!{B%KBsaxBTFci4wNzwEEA0UoMS@6X=(sw4Hdn<}n1@p17 z<;Flp5-24yr4-Kha@@_rHAUHi=|@)lcgbQZ%&gnc8Y=$6cO-?q5_HV;woe4g| z7&A>H2~Yd~+{%V>Op-~>FOH6k2<^b?WUhwREN?b=KTUDhw{OIRoGBZtgq*DDdE-b< zHc`^ReNHEGB1H=$G|-a=A!MON;kv`1PNJT%0@}+Wi>^`*K=1S4s`%y0mx+mqKp6lw zt9Q3!54R%jU&6o^e&bQ5yN}t~lAlPuJLj&G20~1tovJZ2HcX((=Ss}#dMv_q)o?^Q z9GXfR3XWGJ8VdLn{Jn5q!Y2uNit<04Gu>1(qH#&!Re?k_p$%^6%?S6#C60)Zw(jF% zR+O-^^e~>E;i)BDXT6G2m|)8AEny1zvAuTZ{cqnr<&39)@WmrZQ+=%xJyAvjax?I9 zucq<3S=xwRZMAZ5Q9(hE*#h5g0KIkdd$tQrZ-;=t2^_uBdKfH%pPHc?-%bCt&U_;F z&Mq);x_EZ%ecvEI>mML8>#+rMki-e3`AsqvgHoShdH1Y&l zwQ5=Q@|<>_MDMyjU&K`L@{35H4r~>|JGnL)NkNY*e>1*0(XTco%P!vHG)}=jeDuVI zmVV=Zf#a3$sh9_OJsoX8FQG*W%W(wBV#peTt#O%Nv!GQuOs zDB@@0cjGR2Pmr7?Z*9jUNwKcrty3mXw)KOyHFKV^gn&bzi;1A*EUa#{F#8AGgx8IT zGI~8OY@(UYyd7S*(0%Z)es8YBcj0?h=QY*+#E}Y1`Y*L@6fF%>dhxm$Be8f=ghG z*lL_usw=!qj|HA$1>lf82}MGh75cCuJZHpwPy{78RPU#_@{Bk$$O)j){X9e;;Ye&A z>C>F^nQJvavg#9T#&0>FfJ;i68l(Gk7LX*^gMv|*M>z*p4!=ybG&O

-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�a#B%@`9Ycd1XMAt5n)d?a z{p9*rT!N~N{zuik%o84VcnC2&h_iiQh{S=X5nDdP+XBiW>0u1Ie~`c$L=mOz$)-}^ zA9pU*BH9Z3DPj{H!vxtp;&1Hyub^CQrfvU9^fRzD%YDqX?6x^=cE9mq`EhsRD(GP{dDZ(SipuPEPd^#q zK0TxPo6y$KHXjZC`AR!{TzTUiBB!1pU_MiAOy|{ndeCq9*=29>;ry2}NlLTb`Je)Y zBRk2c!~lQeBURn5B;S*7+0P{Or2Z)E$^|k#o@ORJ9fpi4+S(nGJYE(*i|vd$#CISE zfl68h+6nU`t0So(>p@CG&!_ae7NA{u-cg>MpMAdMB?Yat=>DW=w-R)n(s zOJ}ePvhRn-LZo)N+KbnZVd9d(4?rXOK7(cLq()e-`Z(av?_N19q_~H|gt>u{iKjLD z8jnZSiqQC6lj}R$;?ZpA>#u+Fcz+UBeLg%37DOO$5?2;hAATu3I$rig9=bc@J<@ca zbg$f8lsh}S__TREOhVp@8!9Af>t-mwe#Iycb!^F&OCXS6u?~ELd5)R~tqrS-4u70$ zuFLKFrkB+c7bbVH>M`wmJe)K7v3mMhG24iuj0$Ktvl+n-wMzJ69g*FM1wxt}<2 zsJC4+HocW3P=rMa>qrCC8Wk#&NS){|I?dN7em%ajRo6|mdBHs5i*&gQiXDdKz!uetHrj4pLXl36l zXjWIhb6c>^?^fAdFJs|oKyM{MSctm;J}Qzf z+<5-PFN&Tl-s}-haxitrJOt6Es8X50NlVKB5%a`8>FqY8nSF6uv&6Zd=U+>8m6AVM6^*N5iYJS0xuJ*5YsS* zcOfv351Z{zgW|4FRmsclONY9;b=E)DTm9aB+8K@x=TOe?2y(v+>=fJ~ksp!%z33nx zy5g=aPdl2)Z)}9*;YKQj`?(hhx3o6S*1ZXTJedyhSh731xe0~gKL8~Uen$<&fS^%?2izOw5{?_oM`qA$d~y}i9>nIEiRhlitN9X@mD>8;0oCD!>1 z-KydC_J{eu?$tmfndAqXs~iRe7ym1d!oW>!tnV@jU*`8w*6juO_$m`VlW~Q{3PdoQ zD$qAn5^4!Ts@jsgw38ic5!5Q{eDQN}f9+@Nvq%tl))~ZbVhn844Su@fFbqOabd(h> zqcYgqKnD7jST@YfobRoc4HQF@9ztxB8XHth`QhL_i@mjtCOktq^;iGZk&Lz|2&7lc z2HPUg>RF&{oclp;C=bTy<**M6ES-xKej@i%00n@pw zzxT(I2fxSflYxMLW&x74QvS!kZT~EwpWv*=eD*4Oh~DNX=Q9Byp zPt+1x`HnOfV>5SSN*sih!g1gk^T+ltP{tw$`drG#Y_B{;R7N#g@ZXZp?@c4qCB&*6 zvzkB&_R|8z((~Eo4K-#u?4+cHU!L|R0*^e9+$K)42g0RDDI~@)CnNYcb3B1psLLf# zSHBB^==V?_%x>iz$sVv<3`^jByO*a*W=EKIJ>>r#xNfo}Nx7u&Dr6O|7>`Jv5#nhx zoMP#&DoP2DEltt9?Jzh=-Rga@4Q)<^=+07>a^^`U{TP(aYQ}mXmov=r=sdFL`B&9_ z|Hn9ZzvZa=y1-U|9{wDD`jX^|`&jCmt6{iQ@Y-v^b1!A!DfT<_wHw4Atl>QV+TKSU zBn`FVqENQ@Jujp#Wf&Xa)cYC|N z`Rn;m;#zlut4`wnPqbooqgO0COeR;wi^GhKjf+pm4V3#w z&pTUffdc^tW&0-|f0kkAb-rHJRafo4dpEW&(<*~U`I58jcY3_IsOm;*6`bChBkFX< z0>Z|M7?}pcq?mzs?|FvGr$J*U^JKSk4=P zxHoc9pZ~FiuOF4I4i_lY%{R@dZJb`5qT}D>KHUiK1+-52y{w`+nWug&@%Klj&@ag5 zD2ttIhwwm;O%eub&WEkC>px7{HbT8j(pc_cQ2I2&?Zf-uX!s@`JA17z`<)^G3Vb>r z4zB}GkJ1&6^-~Bfn2seJo*sXwDaid@OcwTeRh>VUXv(_y#&TwDEL1Gt>{AcgrWEJ-0tz;mAc?8_rrb2{hI6J9CGj5Y3R9G zJAxhb)2M8WS~NH6Cn?)R!{2N;N!Y}JoXjH8M& z?+96WE6q!bK2HdOaVknsb2xeNRNNfXi~j&Nl*ANe&+N+kAx;d%fWR>SR*9;dH&(Ps zvcC)VxlCrw49vt@ya|l`Qc2EnasBk(C&*;#B0psLRB2xHZppVSjq&9gwGX}&0i@xN zYe|6aF8Hudzw4~*_etN`eZ1L4$??scYrw#?OUL>E74XXc`;kdv+ui1E859)6L(a*~ zJwE1j_wZ<8l4&z}=xu5nn_13YFwCL&f}Jp?0so7m$Vgnt&~R;m`NP@X-qZ#))^X4$ zRtiWQB|L!|bB_7#Ay=r!cuBqM#y4*p?1;H7O@@+n#9p0iqK}U_F76zhKM5~P%PHqi zD*^s^MfMey&NBdy13Ls7Za*=V(vjn{UMp*hmC@lC`dU3Q-K)QMgl+PU$1=IZDd+Z) z^ZZuS6vQO93X0BSo<=q9o9X-XpC-lCY|mE%Y-`_aLS${7s#u-3DYq+1cm-z}_*pEo zT7NK&E}mo6vIi}Td2g(y+hJY@dU*wHYWu7l%5!WVUe22N?24OTHRKjNEVs6{=AaRT z(xKN2alN6X*Z&*ikk&U~K(CVV$@+b9j&%n_ngCncjxLZ}_eGbxWbX}G$nARcigexA zFJ=zN&Z)bn+KKZ-u_xiZhvdtf%<-p`kN><1pOlcdImnP|&(cnZO(xKZO){(43YGgY zo^1n$%1+KSRt4iltlD;$gOw^tJwGW*T18mX90l&D?>uIPhNecH&$NBO;kqqPp1(qTtW4|ZXmb!G}U zQMbR3WZ!tnLUq+4Q8v7l4cR96BlvX`pSaiheQSR2x%o|A;jNF<^|F2!Di}yJ>@C{V z&CA)r*3d0A-r1skHf>HRqexWN_cY4)Z|U~`=R`gz!QI&4iwszOpn05rS^xnh*df*G zMbOi3_x*cf$?mo}$0nc#o135a@&2c(tE`PSxM0BHMFdWj<|<;?9I}QcCCJc2w?Uvc zp~QLgC?)n&O%M%DlJGcIbWM5aa>fW9eMLI9?1rkTktqMZxwMvrEn~hR3pU&tV1b!3KNy*TtrX@Z|xI?es#u&L@yKVhRXGtp_p*GjqX?6sW69;QvTX%=TC{8Grc zhBGtr1YXKaIe`JpQhE@-Tkp` zzqWnXaH4HXylXRxVg9K5p9TNRd`S=HT>})$0&x&)oJ154_4Ar{E%VLxRg)SbpJ17Q zaLp!$oa(sKZca}#X>haAZsO?Zs5!oYQ(40sT=Xu3*t&iRh&9Nkn6-z~+GHVLZSLf{ zGo_kN#l`j^Vxl-HHw~<&BgAGr&f^WUGi#E@64Fp0^tjLW|4c5R%ix4|7LJCKk&yx4 zsDBTVAY%E@7+u}OXcFFpsPBE>yxR{UOE$`)P9_E;rrUU;j42|UjiN|ed!j(o`GV4S z?*=v7PzT5pP4so`I~cULBi*x8Y#4Ln^urO91_l^IFQra<^g;x#9uM{+J*r?x{du)K z$rmK-&%g$MSM-DCt3v)n2k+#3SBUe5@lc}`TZH}M*V0NRy8?_ziR@J+>$1O zM)hAoWR``G{8D%B%8pSCaXy-pGBoGAO^kvzIOK@{Dgd>zAI(% z()Z;tDsnQPJiK%g=AIn9++^|bX(s-vPke|LzrRG)9^QN3TXkO2DJdpQo{Y19HdVNmzc=av|*x;k1vMS?6)yD)%4+1*O>u+(AwQg@5k+=iLs}Dt}hK1TAogd zf80i1O$AO1?C0iMCyw#ca-OA;$Fd5n1{_Bey`^l;=340u*MB+{Uws6u6AX=pBoFvc zL&^8kA&=jIL09vT7IT48H0OxMw^>K`6V+(}RsPmAR`lU={Fuy-BnF`tsh4E4Ok*Ab$Y(Ov<`bz;_B~g%iRsY8?~M4;pby&QwiX~ zOIcj9XP!#y;aNcCN;}YGOjAY!7qP)2LAHyr?u&+s0M|CGFqDC%^o8BXZEIH9o2IPa zYb)}wArYCTadJE9`YU(jhHZkom)9jAU(J;Yc)B|Ruq@y&L%6BGfwQ*tQoQT+x~ zJxC){OEKhO=p-_{5jx`R5cW{il9U+D1+(stHqC`wiuwK9&C|P?holsET?i|nNij35 zZ!@|VI}M7^#0+0=UE${)xV^nC+X@24X7LKgQeCb#z^iDT?PcHLWIT?KnT_UD2hX&z+jRQjIQAPu z>eRP*p@`y7(+FI7Tzf4`A`7i`_3wWut!|Jx6XX?Dde3 z+!O6+_xWEGN zNXn|Ir&n>|0tCytN}twZPfsG4!a;C})Q=IJ6QA^nZBup5%)C2R4)OL8QU?m*Slj+v z%N+t^S6AE1eec`nnd))cTASV1f)oHVkNV2pj{wP_!E$L&0m>TZTI`{&$V|YzILjTh ztGsl0#-{G4)Uq^wzMR_XyBF9pZ)UWrkM9i}e0v&58_NWg61}QO5gQcNc&NGX>Ybk9 zt8wm&7NK0k%jCh;JI@L93EqKltmnSROnY7mwNF{)AtP=g5?*^Vr**3#rw6xXKY*v$ zPYUt;V6EHLp)waq#$8PiQ&+X_=7c>$uP--Szetftn)QJV1CK^F#)6jN!v`kv5$YTW z!ghHEMZCNpO2{g1e z?Q{!!+CBEcFM9WilQt{<^(h(_FaM> zI+u|F7L6<+hQ?P-(;qecs@mS(-rCyQ+1>4r`s2C@k*g4e%-DxfWCaj1S=n8f@4fVv zTi^Kl*Uc|2XIZwfwK*J*msa+*$)p}gas;0A>34&WUVD~ zfXY#PJ!%jNm+g!O4fuWe!Ct3ZM~+S9n07C0HNIND>VO#AL3{4xnLqmf-g0qw`v-sg zN3VYJ;gzL*t@&OR{kW-Ht(L0B5L%SAdUHIi&tE*(-`oWN6}scYANs^+K4ru|6JDyqR$jr5Sre|2hdtX(J_kJ)OudS`EtzBGSUq5l;#F;Z^ zvMjsmz=3aj_RUNC_g}oQ_Re>|=iHgI&wR$yZh7H%9J>18p#uj{g%pGXhsM{Hg0V$m zvK)a>gk$g_s9;f0o)_csm{k=hFT3roO*$k10LEIEXIXBHX_{tZW8>7x6I)wbYisM? z`@vvz;lhOzCr+F{zZw}zkIr?T^YohrgTc8orvN}fPM?hh*qH@}b8ZrStu>aMGewc* zWr2u6m{p81&bhPg67|0?LfiY&%e-=(!=qw=y0Te=OETvT) zJR>Cpf`AgBs9;h(+3VJ|7pV1(;Q>ExKDduFzxHwC?>^3a=&$=cm%Afheq3;dHJ;kU z&*pr|q|RLGE>7SHLTQ+XX)gx_77XBxBrZVX zW8#r23&a4T8Bu0kv^W?H7$EPojG=K|`GDPS=Zl~J>|LMz#ENaX;E(J(bg1mq=hv3d zjQiUTk*ul5O#~06%l38WYS#~u8_zNJee_ycGS-;Pn7QR1``GwMqE3WRiBS~1XvolZ z=Q3*|+RfGVI{1}+D>h;WbM_5yj(Uqr&wA1g=P#_DK6Cz0e&fGiIJ@@4|LVtYdg1d% z>c>r;mBsF8xK#AIu55P4qh0U7&KC>!ojvxXBiF9?xBuH)e)s74vkEZZ?fmQi`KR_D zIB@FpsdiOWn6T2~Hs_KyBl>`krW0Jm=NKC`#3G&YS z)WQP*LqtHycTQA|PU*aRWe_gcKA6sWJpvM10i$3Ah$pVV7Bq;Dj!cn3W^0M#*aQ)D zG_GqxZV_qW#>{IQn(cJIcgUjNdUzWkP3Zdq8E6A|Z3 z+Oh}z9aWy|b)2&Rdev12>$go^fDJsKBz5gNa{TQ!Zh)`TYP z?(Rk(NNHG&hr=NnLZY>`wFgd}Y=Yn1-2Bp4zOu2k*=n`W(2*lYp7+!np7w%oTV7u5 zonL$3$8P)V{r7$DzN7E|tB-x_vu}RctuHQ%yp_2!&${ih+i4qDMhG@|bx-e$h>FzvqKlDSZACi|=A|xV$I!tEj1~sM; zV8B2a4A`d1HU6hNo@wvB*80A$AJ#tS-v3mtKeiQ&>*{Lj+m_6O14EnP2##219+mUe6Z` zXzO0VR`--BD1rg6vrZ&XBP@Im1^^~UAYhh7z+AEQ5;ReSQY=y#%4*6*DWgcq3y2O2 zmn{M#;m}CNwRz8QdtC@^P>7I|G9n6Uj?zVt95{GK%jMDvC@45%5>h}$vVZnZ{_#)$ z!ph^NlucJ3NZ)g>kzg^ zlilf7&0f10SFQC)Rb5?$5H#hKl6P*v0DE_MboBJI?{3DUPki!E4~`CZFJ2(WFWtC$ zwVhwp^yOdup8x(||EuTz+E-say1we#i+lT9+}NV0)}+g;S-V)QcJ?k*lhMEVcmMYP z{NaE9!e?H1^2xXUzz_Vu5B}f}dhbu>vjT*v>$;2mY&L6}rmCvr<6}wLvPjMaKoUt|Mtgz z`{zFLGr#u#{o2XVApzFDjw!$8vB#c$=G~7y@%W_+7q@n%yW2aXN%O?xk7rGq#n3#v zY809j0V(kvC1o6Z^f(41Wmy- zi-Ki9M0CbEB@h+oz#PMX>SQjh#cTjZXjm)kFKlw%^qt*yz{WXgakr4D4?EiLN){{Gf@(zdPN zpZwvApIj`LU5b;fsZ_Y^+YF|f-f`)H-~El>`6vI)5B=-^w_4^^Ujy!1w=M(|mF~YnsM#@^ytK(syj? z82fH@a&QCGG>eH8$z=raKm}t3YG~#R36O~#lXF#;Zm@)X!HB}8J8$_Y17L7Jl?Ypk)IuIRx?E4t=?BsOOcbg^708c&juIJwK z+=WY*pLp`|%lF+snvCwh|A9vyeKb_{YBpQVXAkT@u$(P9;$QuWulcwC`@gyI+V$W3 z*vJ0wpZodOUViD?@!`?O4?p>Pf5Og2b-lH<)#XUuRiXCY6FD)BS(D_ZX+$-tB#C|B zFWSX?KJPkVAVQCb6@&~qYAT}I5A5Cdwzs|Q*=L`9@WBT|2+q0f?d|>P_O=@>W^IMM zd-1-h=~ma7nGihimd9tSm9l^Mi_jGJ?A+qP*M?|qE1@B5OXA^YR` zY_hYvb78lhjs<~&+uGgU-P>d4y}iBhsE%!yx;{k!;byYko1~lppiE(w%VkQbX`1uk z(9eaZ`-MLLCJ*>af;W5*6$})9e5pW94H!`i-jx6fPDc%3fW>Cje${qehX!?U4k*Xi z_boGP7SUANjsTEVG>b!5Hc(_@94JN#HqZobA)i=rAcLZygIN`nImN`7Qj(~IhG2w! zi$!GTu?HXAriR5Uq8lV;Q`>qYD$ zXq#3i-SV(omOkwSsArJMLCmr5Yaha7v|21zIbz?Q&QDeK)sw3VaNquYuC8tz9Mq%c z>8GALJUIH(&wOSAc=GDC|Mg$~PwjH`o!|X8Ev0U@s3>&D^Os+IIdFa70}oxje&eGb z{pgF&zrX-r`P`R%=v%&Z>*A%=;Q?f6d^k8bSk4#aBd)57#O6mQN7oM~b>om6Gy70D zMJ7sWgv1UDF9?c(ATbfLt2Sy`8;Zs2pxp1NGA=_iJQr&Ra5Q4y_h&BdFi@L}ptMi! zP($4D#Q>0&_+|yJl?bRjgfR;$4-_{??8s^5CKvap4#Yl6Zrc`mEMBlDhsUxTC)N0g z#~y#?o$m&A>EPs3&;Qw5pL*BxFTZ&0%GIpWt=gAfdGWPZUw!S$wS&VO21 z2@z9_=WSyVfML*o5RpRADobcEDIRkeTOt#5z&>8Bog z=n*2Qx3+;`et7)ai?8&3N_{tW;WVEtX3GPA(1hlxC!T7a`0+e(~kcyl`}Q2!N<@50vBWHg$L$IW!QJsQ;)FJ6B1(TAUW@@>1j+bPLnF-u82(BX}lW~~7aPG3Gg zKCZ{3oxR;Yr@f1psuW{Nz|=HNGaeOJ?CsH{NXE8ZCk1w#b4-a4>!$I}^)aRx4Zu5R zOzMIXlPA|y+`rb%fvU!-`itw@x`P;H6IAUIj>;F%&2HEl&~L{ZQrd{v$>?) zIbX3eNs=-EXikH`q#LOBB4WNSh%IDt#6W1GV(N&kU~1PP8PpJfff=1gB1T3gV+24G z@2KrN1oMqogRYI_-0pbXuqRap>|>kLWP5x2y1cl%wbRFFnh~)Hm3T6OOz4m}DP{o! zM`2nu=(tXO1a&LFihY}UhO&q1YX{d~J-9vwM1Y4bKX_^X0s+ouv%~8*X0lX(DbzbV zJI;k1)3~ZfRU>U*3-5=~rJYO1sr~(r|Kb1q&;Nxi;)g%{VMrEp|JrM>9UUEAxNu+2 z`A2{BM}Ou2{bdH5lKZZ2|Iqv2_r9YSUTE7k#@Np1g=u4Ep{_}FetbNi&8Ai50Ue-2 za>T=M3J}Q12FWlG&5}f9B?_QBTa$akG<*)Y1jRFFz!K~gfskljJ)2oE+q-?Y!n+i~ z1st}vls6!dvQ|A81%(2rhOEFuS+$qC@l{n*?C0G|5t`9tG#X9EQ%7E-wu|NL+6f~y zK0N&Jqi=urvpuM1_BDgRD_5?3@{j-Ig_mA@?d4aFPLHl%xq9v3+HyW$wr!3vrL@(I z(V$eovNqKqqSb1}%;V`~XJ= zYT4a5xQ4G@+uE9RU7VjT%&_LFJy~^&c7N~UYPo#n<(E&c9tC#Jxo4kx=Gmv7$tlif zCkF@DZ(O@_?b?;YljA@5qd&+ZDdm(>5(6M0Hbmzfa)Cb@F|hY_Qw3i=`p{$J@pyN4 ze{XMRcXxkxcYAkte>`qZPv<$ucF`Um9G32sbHO>+t2iGL^DM>VuH9~`%52g1GMklb zjvT8?5@T;hfV271Ifn*fiU#Bu0EOB4kco1Z3;@oPV>O6opxCFro%IQn9D!po?Q;sj zsTvvkYK*`t(x$A-6%Z6iS5cSTP?rA!7Q1iqfWJg}!}qx1p7(OIGNnaA6;U%V0m2d{ z!NAmF->0tcR;~0g6RTrJLN)IQfl8mSq@4<2M4l*{fEa)VWJ5EsWKtm;fkQF^GL%8G z-w1#}0ssS25lIv+Xhvs(L^bQ7sFqc$f+~gvAOd90 zbLE(w?{e(A79?Wj(NW_C+a zMXQT>d3<^@J0-yTFI_HNUQLp^Sdu3qDh};9ph&PN*_xuP5==Db+7uO1%P^+-f23e(ZpkAudfS=hOxB8aQ`ygld~aovobdit4%AA8Hi{fnz^ z)vi{e>X?y1vssqK@o51s3|c7V>SKEJ(MP+kQ&nGug4H)ObO-?6vm?JsiGYE48RPNk zNnMZjb}vZM)6?VQgX86L?tMkg7$XDMF4;TsTvST|703|S1gfeUjV2*D0P6epWVX0= z<3?SN`o8V^LQw#uL{~Q~N43zV=l!sw!`WN#gO* zDM9w^1;C->zzi&!IwOH>YT0sdfjnBaHpa!t>0~k)Pqzf5&#BiW2JBtTVkVA!<$YCE zmXl@^lfG*wlTip^KA-n}kBA|Js;chB6gt1M-Uv_kUU|Lu`aEy)fZr^CZyMm4Y9U-2 zp{>VsssJk46jgx969W^7f>~fEF62=4Vx&T1MCQP}AtRAH6K?}zL}bTN3aJx3lA$Re zm^n2Ab4Y;2hOD4#&4Z#L4x?ZIEus)Prmk|%hX9syir%aNbRy3@`^<|kzWC8!{Y3|~ zl5~B3Qtxbani0&v(0~-sOf+#)43L74T)gg7C8`)WW^@e%Bv-piPzca_re=!}yRHL( zZq?4NT_u1iu!k_MCLsg@tg5PM8W33BIIi3NE!FlEpEH1W+AP6$x1jNt)*LodlXuwHF==;;< z;mIQlC>FAAa!RBE7j*bVFt)$08DQUURNUMB2WKF*?WDa+g#k6BrSIA^D&J zig4q`;o*&Ib!aA|>2lc~x2Jo}4Q7+-U4pm); zW_!9_UpQTM$mGZ)5dddZ5fjr(&JmHTTnNqu&ugMRgUdPheeC-#rR?fvt7^d|8c$|`6|&OjwW z1Vyo|U;^2LIAj5h+E2H~E`)4()vcC&$DXRu*jLUumvc->R5F5*Lj%(+1%6fVi5u~? zjrj9l{37^G9`KjM`Fr>h9ZFU!0T>Jr5Q+!}AR-_WArdgE>ds`VVIPRQu+TOlfGeWD zF%vT*z}hU2h{z!iCgFx+j0~b#m2-CN34pLLB5)hIX@yWT6-z>Zk^ zyqFz;S_mOf$Y$-)>Hc`jjp~)i1l$vs9z1B5pFVu~PoMwfg~JQSr}G|u^^yA?yL$C{ zRaNtN`hmB9)%SeIcZCpMdF7RdFWnaIrJ+63=d_st6Af}g#RTb%v+2;F(3Yh1 zY7i7a5Yz^qx?^@o#LQxZ=$&8PIIhN{W;Bwdr&n(*W-~t?yE@FyFxW11W_YIwW3t4s1BWDUW%as8D-0=V5me69d=y|wP*54VoIW@ z%pSRT?_>b29DD{b5pkmvowwTXW%l7jA{`KR-z5SiVtIIC;v(;?5TuyhU z-t)=HNxNtftr=}&pu@#UI==3F1+G$HfHEu^e1riY_{upBAn7$~sw)iQVB9D!st zG$F^Jnh6{cQbnSwY)I-I1Z8I+CYDtd8KzqedzVD!^Ch4n(Et}9s+?y;QJ9QI%jHs4 z$K!F+G({5bytM7-$kY8opLcg-(R>~+$j{6DztB9||5Ci+Klkgr8?X0n|3U$VYz%Xp zbF0;gh`jeHB_gWpngILM6Ce{BA|vYBb|x?<6*M$LS-1GS_v~p@R~1uVR}eFqYRcLt z*O-b}E{3mXAQ}YmRWL)5gow;8foL+2tfGdp(Pc#-24E|lMF5onU`s>{qo(THRl8gQ zV{py|CV-TC=~qjQ8DIhMT6^SzzdX7$zHk5JmDldy-rZ{^hp)WapxddZH%_nBGzN*m zk34eU_Nng~F)(8?XADs^3aBv@P>+)3K)jgEO>}ECB_bvokHzCj1-VgkPzxVeSM@MExrXbm= zwrx8Zk5fviT`|Dexqdb)xicCN7@0y=Lo@_LWCZ7^TP+kJcwRGu005bTncmy=xG6nv zz5h-A2OIV7zBt>g7aOf{&X%O~hrvve()z13lg|{c5I2=>p?KZYJTyS0VKP$m(U=GU zaS#g>kz`sSv-cKrUUsz+EK}^4!l;!qGjg7Nm~8DNv}}+}&9MSS6HMY@XbM^}SRyKu z4?r#{00W={1u0sOit30E*pmYw0Z{=p8Bewh6@ZwLJt@fWTN8B76h#${kQt0(7FC!n zm!WF*E?(@~xEI33OWre$CJll<{N%%CCYpi|D_Lo;)lR*$<;66L^d>Z|M_VIe*JsD% ziAVuWk%+zb&N&}yz#@X-s>-uNG0T>Le2KKQ9tuP-({#qv$065QU&46Oo|qX1=%g)U z_}HiNaVQuCP=IJXB*+XLFtb=Ow=~Egga8iIQ~`(zBu;xtWI&EgMOBOd$P_?gQc@oZ zeW>8cz)ZTF0F)fHu`kr77-Nia6MFB?$Nh80mp91kz1Ocd{eb^+mbT|%sOK};&0bmV zP}Xi)wPj35uvQr~Q`14Q*KD?2BBBpmnwdq<77c9FkXq_v>Z1b-#6w3;gaMHqI%GU^ ztIdYQ2mnfh>TKrh3P}n0oI}H4Z42m1G7p2Ml4Qw6G8hbq5Sg7LE@Dhso5{$HY6Fa5 zr(mBty-Kg~W0xOz>wBKN_Gd2~zWfr#Zg>B|?X9iZ>Fl&WnN(Yv0VTUABO@e6!y+Y8 zl8<7_q<~2T8No4%p^>60f)WxjAa-3ZDuzI4$rORXF@tse3X>Cr45p4jLgjIHvUL)> zQQhoLr>|alZQh^O;4kj(zw4cEf9n&EQ%+_Uh~u*L-q-Bs$0y_Q80=OP+yY9%b^OA$ zd2;!g?Db4@-yi~u?B3GfqP2_Xc*crAfFXnufNx0|HyrRg!oG@5)^Inq^HgzFGei?B zhDrcHfMiDHcWRmivXKFrg5(|~wgxGA1Ft#>LCBIp0+qop4;T*OFVerL1@31(|0WOkFWY4Ij%cjgA1flI*VJ|0d_FHWnSI+q zZ*=xlvgtl`T}wpHlXFf)N^cVlWIQ&J*tM2&&3;tX4op+-SFJ;GTpG_bJR3;1%si;} zmH@1(rn0H)*W#n%<4M~BSWD^lJsj7<1%!C{hvzq0UThkiM5Y$oS!`^gqbp6Jk z+;}yboSdHSRN9uqJRnKh{leHU0SuIO5O!xk(`!EEAJ)^AvR5O{or~V zTLBYD-}24h^r3J2Ha1-?7t`sqslw6G5iw1tlN>t-rt1Nx-2`}2T*Kzh$(g}#lrkFgd!nRq^i}p0PNMGq>LJZm%t&Xgq9F9pbXwhh=wLZggc)Gl=QE3KhHPV z5z$Q4G>POQroGNJ3%B)_1jvd%<1j@ZDk?HS09AFwp17nM!}E&)XERaF1w`RIF%K5; zmXL)Jr4i|Y#@LDsHQ{7OQ2?`LjW!( z%PLU-{-WUfzR3grOLhMB8`QUi-gC3JvxZ@r3j)A$xjZ;HC`t5UHXm_AXU`+&c%mpG zW&0>Kv~#ZVVYystOxy9ZLYteGKfJW5?VN56J+kmJwky0^Hc!m0Emr{!F7u z2G54!;x5&+aW!gk&Z4Po?rN4K$DC1zI${6fg%7;{>y8f&|DT`#g-;w@J>a9qFFmk( z>5^>K>Da4pz}MH0Po}k3Ns^M903r|)KtU}jVJ=R!g;>c*1UX4DZz^VqXhi*x&t@Z~n%2yzR*s|M(Lg znI}^M48)Q$WZj-_#TaRA+gEn>AtJ16vRkk7b8K3>DU!iG=InQl*>}7@A_gC9z3@cz z%x=>0Evj3auFM?+FcWQ@eNBfHqX_Kd8bwCMKUjeXW0Im1&VaP`Ya&JiAn%-Kr{r>( z+&brdN+}Zwkx@~fCdbT%mg9Lj)RL^O^;z#QMKyt& zF62#vy##DtFMe1%P#LPBsAV%jH0L=4S5@A7UkrVQCRTCCMglhU&J4kj)rp81bP_?p zi8m{OT@Vo&7|5_lGlC7jJKHXbKliQXwIBo~5QEv^#UW@2gR5l8`~(bv%nS`#j1A8b za5o~3=HS-z29OIr6BQK=0Ii4vA(){cpemlNXw#BM;Jt*s&sEdv&&LmblL!2zTmIg0 z>)Z_OicVg+f7`ZPF|FH&Ym6$GSzvFbvUXzyCh{(XKmf?-oKrO<6G;Z3DTT^AcHVo3 zWFV?&Mu?UY0G{coW|h+ZDh_1|M#UBh*E=$i+Az380wiMZ5K$RLAteI7PAi`@<_Q9xY~%>|Gk|ZzuALWQW$JlpUBkKy*dVn!T&M zizAT0^@=Asb4?#Eh9WW@<1strCc#zH@G_x${Um6;m7a_;iImr{_U zp+oN+dU7S^iI|xWe5Q6%9BuWcB&kTv==u|_YM9G3DhGKfP@Sp%uGZIAfgJ!MC33y1eLR?Rn8@gza0a(*^A1Kst5?iM9c(CU5v#% zoSBI^umeIRNz0b{>;P_Dz2>U$-fwt+Bzxd3kNnI}{?xS>Ut7$NgmK5!>11*L&i>`c z9`0wyVp>WMO*zI0SsVx=f|hWis7huihNwJ*JwRUD_=uV)NMCtas0 zgOt|m`pwzgUT=tsXKq4g@Z&pHw4aX(_?Aa)KDeB-71Y(b@4{ik;|xNsg=}fHueO_rXd6ZQw32q z1rsd=H_~~K+CY+8muIksux;p`mL(E_kz)rAy%~Xcv%;agHoaH(IOnm#cVrIh;_|yAEQXFkU99esxVXp8ptuCiKebYMAIB&j45UnN9>dw zqpBeSQ5g>zA~2G!gYDTXFI1DVT@?ZXk{X(dshDck64w#Q0XfBNX8nA=KOSGKN7uU5 zAOGPWeHXx2zW1vyJaFH`PdxUUzxM0D_>({L;`}&{cN8+os&Ca*Y7&bO5?3yFlKV(G z*Uoz&Qt)aZiU0&U#5UDp00c~i;0HHGLDZrO>C4MaIii76C5SmLQ;Xp1W-5p$-7;EU zY8pv=x=vp0S#YvP3lYfW9k`tNHO+(P8rZwo+|IFN>vE}1kk|50Dz1ERnNdaH|H$pIuNG1?l-7v zRxmV0HAV-Z42)z2$F*Lz1w~B&kk?VHw6+b_<7c9x0gDL4%#IDw05Lm6Bj?Z@r~nF@ zm}(WqfjvP524n=rDj;H6`;>Ex(F}>$vmDTyhD&c9FAb+ z0>n+%`21U>cxxM0p!BTQL6>e0w|MLMGS4rW%7AnO04o3yu{(5eHu9QZtVQq_6A!p_ z|JRrFEpSlV`1Wkvdlc_*{;Y(!`FS?m{w?Rpz9_-ZH`kFj(U1!6sjlmSpDe@IL1DPU zQ9U{LSlR4l&N)>nG*c6B)Dke5F6VO|O)3iBkt<*iVn&-zryvqzTrKA*E2xycRKzSR z5di}TSQcWBYAMD6!o%c{jMhLN$;0%T%B)i*tExEXfq;P4b+)CP+rHb{+I{fB2cLP@ zyXPPOjX(Z_PyF%k{@(qMKKj_BZ~2G+@E?8SH+;j+c>5QB_GhnLKQ_&21=p6xbzn`g z@!{h3_TFgQSHZOrlR(U1#eR4QEQCl%%$y|VWZ5#ABZou|$ut|8q5*>tqDjtKqs1_- zFt93Ej8HipS8ePM(mVo=nA58J-tYgr|MmBLcQ-q+zHO7VG3P#CzI@q@M%S;r7Gs=F zrzxcZCq5r~%WW0C2~Mn=Ips~w=S@cuH<1|CZneI+!x8Q5c++nOr{@hC)`*;7|3 zL-Y53@83Fac6d8z_6@rJ-I5NUooBK&Oh&;ek1hn|WKje4Y3IJWvAeg*JVjtZ8P2uD$^| zm*!#0Swyo)77-oZK{Y@tRE}(FOx%RpvrBz!7cC~Uqn+(lCpEYt{Zf0h|1VQ?lb~ZGi^c$qRG^}BL*z! z7`2>KloTBUL*@9&!Bs&AljcCv4U5-vcPc3oi0BXfgCF?T4}72j8zJ_mC-+_0FQcx- zV%{$1#N-^S0TCIM@iJ*~sIq|&jaK;9N`L{`0imeIL<$xAKn}B-sv}}R5Cg&Bg5zMS zB4rtoA^@^s=>ZxTni(jfSt--V2n}$3BtT$yf5QL(AOJ~3K~&Ag&Xw*UvF}rgqM@lH zm=Lk|T-WFWc<1VRG@VjiQC)F0!n)?VHt)fEW0xf>SXRg?g_WBOqG>csrV${5X6DQ& z-kD={UYP|cBSwRan30UQS4#%TK$)qksj7si2kRZTDpAF`Fx}qX+ua*aCf>Omdjcau zLM-y)Y9c09*f_&CZEg=O^kK@WW<}vqseBw+O$>Ci-5?^BYo{Q|kQj-HNdb|0_@+T6 zqZn2Ypd)ff42TM3z<`i5fe;iQGAk2*26E09pm3I)C7UTRI`58;k5H|&&SAtXmPjqjqV&l@Am$GR^Q(@ z=m)%sySF7$SQ7v8f8rW)>WNEiAR;_J^U~l)OlcQPARQZ#m*^>`H^uPR%|LSYL;yqVh zcwu)sZoIpC^{RJGRtp?LQ!{gtoT6k?1tZ5yUcf}e5IlS5oW_Wzh)kwv#Arkg(fT$5 znTYkd2jps0RaFCoDwwnOeV;{qT~$qOh=sIjcxLujKurXQqD6e0hzd!jd=^o%3tm-~ z&^gzpm{O|7O(H#6%(^yCCX>C37q+*z*##-wFfcGI<6*HO5!9{+D?|7 zMFq-jRGUnuCK_XG+ctKcnbmb&*L8W3n&mv!Ap-FBGsPB)F(&{hrk?{Xtw243uZs+p5r*2sIab(aPbiPQegD+;Am)w*!|j!EiL0-V4L(1` z<$DBGeZG8r|4ZH9{rM(~Z~Xi%pX(Vt|7O3&&G~b*v!UTru2^;sahSWGVLS2WIoB{p zG*dkfqd$+`P*E^kOD$r-cMze74nRdhg@Ul8H3)O~9|n$Nxxhq9R|khi%YZ#Nzi>C9 zdIRhKd`))Y3#JH-gKxqxX4|~Giim7xR@edLX}mQajcQCHecvuU2I7u$&X!YFJ(^!hANX)KnqI z$VQIHA?KJG*g03GfXI#rDl$jZn?YUK+#6Bb_HEk{^ZaP`;QqyL{ibhz`W^4Gs7Hq< zY&O1pnb09SW+Zmx7}2Syq8I>?C+FCCG((bXS`;1Cz_CLh5z9HFsb_GG>t-aNn$j?e zL5e9WnD-TW=MYSC1_Q~+l#08q4M}HN`v$0pj$E>sRf`K2GnH`yvj@kT4IESOgld|T zDTfN#gBPlN7&p~qgyc{~0SkkueD(wW$izk&RL#n;A2&82%&y#46;;bQiKwcMx3>{l zQ?6F4#bTkVb*P%ADfILl(?$^~AXZFTS3IifP$3hjDOffo6?6;;rlxS#IeVS!h0bw= z?udWfY+|?Uup6S?CQ#i{dz4iBZra*qLi9%9Z>4mtsw#v~jhabHYYX1;dGhAZ5xF%S zOgD6?+cWq(2NicV?m*oENI=Wx7DgOFedWem$$l9V4EDS^uW$Gb#!JnpU<|px1W3Nxt-nJ z-}%ko`pLKVPUnmH zB4q^#qw%%V;~U-lv~R^Tj%x9A)UOVYkNQQ6NJdop^W=Qavh2I8=6w~aN({Ob`;>u* z>-wdm>qmXtT-b}`Ub=BLD)>;hDSq?&zv*v(-`~2ly?gz&tDYFaa?aE3Z5L`I%%)ka z&nZhbLhmcZ(hveI#uNxyC1+)JNDi@hOn{VbpcoJdA~1(gyDErb7t^9`fw&qqWR6;RpQ%ow#7;|oO6ar;* zO}(?Xw{u~ys_STyL=_>5_-kgFT2999(u=1}>js;AR>YwAWd2Tz1aq%_@$$O;ky01>1#*Gg4T zrlEJbOg78!7U|7$vurh+ukzz&n<_AcL2S-$s$6gB2;TAXyklHHAF$8V?#yzE>kc!P zK9l#Msw(e85#FI9nmY&p19n5T6jQqWvU$Dt?e01C=PL)g=Kzel*5n_{2|tS|Dp56;+bLx;^xoBVQjMmI*mpS#Vk!i-2u2=@#=P~gzih9DveMgxhQHdGeXqVcc>sS(;;O1$#{=H~GEdMNQ* zHUTqJwKvjvz8l5mj*;@F7O~__gkJaFoO7;Z2y4^gv(Qd_w*B(CuUo?8XAQu2WhLF^ zS9jI4x4*Q-?j6s+UIqMl+4_;`b+B5uKM>C^j#4`!5)Cw!VL`9mR2T-_)+W;|DIPP2 z5XwY$lYW-_qhaYj7uNsg=-DA66|7ZRtSRS|HA&8SvzpIe1Dhf{t~sfq8bToEO+)5P zsNqg^@atE=cf9}Y_^i*R{Jm3NRdBS1I0zh+lE4N;83GeCp<{AHj7$iGVk&5W#=(cC z9!_OVPyXTW z|G}sJ^pn5&v5%dcoILu-qkH@N-Z^r-y|Z)QgAYFNmPg+H^i%Ksy03lW>342lx^S{= zUpY9Q=e&%m&3V~(p{_cSS&ECCIy4O)M>UN{&E8IOyfEn*-DHf@QHyraEvwy~od@qb zSj-O>^U2QMal6=`?)|qv^pC#guYC2GwFk#X^LFW)YI}dL z*_v|Y>+#6fm8(K&POx|69eM|jxeBfh;20fq73#^jo{T9tR|PGWL!-LR007DSOC>B)&XaMaX zl-odTge8O{Ber`HfCUk&rBcOLv>a-ri0lqN1z1*)gC`va_nPGBUpS;){Bagv@a} zfpzD40V4}YS4?k^y%Ez+82DQAZg1N8_PV2wZ88FE776GC9x9U~8_4aN6sA=(pwcAQ zg6$CzSWFA%ZEk_;qi$U=Lu9qYLa6C3`g7q6rDFtP_Mr$qmOjRK!OO<9w@L+wLZHyn zY_rzdB$>@-yv4kDE~3A!FmM$EuH@ygPB{fFR8rkBu2m=qSWK0}2Zo$;&f4?yr^Z-| zju4qSna$i{UY4cBl$lqn)oQik7>O{7c=q$f0we-UjDdah9%78Z@#*qHVvIf@V&)Pd zgJcDfeT)dGL_81xF@`|*R;9Nh3+vE_lld$zSFgSDiGTi2{^_6p@Go9`@Zg)@`s4rf zdtYOK?|tjrfBq-m|670OZ-45w&)j`*pFz@W_KRQm!soy6OGxza;luy)op1m5|M~|% z_|rel&o9c0)muM)^R2hu;rv`mPXNxCnM>wSE@ZaIW{C(U!ejyLiVP60fX>+6zk3>I z*_(gyGnZr+rC+4Szy9mL{>3l;>LQuHn-_QI$LCKkE>`C!_fI1uy2J~hA+i>oL*`h9 z$Pz*{N#f9`SeTC>%tT~Ub8)uPw~LB$<%6XPV>~`t=(aHmhobNTsdedM0Ty$KAqOEd zJ3YSl(u>Bq${=yYV~R0C^V({~AwXc3$V8M_=bTH41i_XIAEQm2=Li5t$H$91r{@ULQ;2~T>Fnv1Q{X%2{NKEh(Tj469YHG{R*o>k|sU|Uj~-wnMI7T z#=4nCksI6>!AKMqF7g6VERg^Nj)7SLNi4S0VvHg_hN|8d09D#ovO{vDsd>_f2D35dEbM5f}jMpkT~ zvocrQ(ncRkI|L9B1JhE;NxBI|A}wjkCT2XspZ-v`53->51|vtFU&heO2JFOu*PBW- z?TutJ-8GTFAx~D*P5?KJeY49`1Kg!A3lN||XuHe$MH*JD^btc)fyNL*2(gLc=rHtX z3PEddNQEqtEW7{UUaZH^Vm;7cn$|cL^mY(vY#P`!4_FJqRLfZ77O)Z{IqEuF(da-V zvLkfXDrOZzh%q+x$w^DTkQlT?KxBysqtUg#C|42zIp)jN#qunyJOC4-0YM>_pjBQW zcmyUuYptp#h0?PR1Za(MWB@=S695reat?^d7DaJ(aRG!cz52=ze)#(7-8=J><0MNT zK7RC_?|=7qe)o63`R#8NMe*L#$FIHe>OcDz|MDMv`OEV=CwcUcSa7<%5JTjEEE4DC zkKTCWfBoVA_~tji`L(b8US5{SkU2|$(R&M!*)$Ku-R$`E2mS`N7A2^6=eX_|)gV_S;{>GW_(7H|I8a>4gVxz4cZyOHc2g{@{)OcY6OGI0L|l z1_(n4tD+D=sNPM&B7};u+-#2G+5F4xzDgkh(%H4dENlUYCEm9T3ov7 zL~SirHoMs>H~%%C&l^MA@GLalUeRWKz4ZldpVLsWthH#73>s^bBxzpAN)x#CqV^i# zksF<<26*WFfft?)V4YLFmdfK=%z<&;kD6y+K zX&5X+VjUvpWs&<*5XcxIEMh2wfAHc9jPTamZx_M;*`NK{SHJq3-~RLO-Jjoi@#T*{ zc;%%}efD#|@@v2PH~!|AKKYqXlQoHT08lPh6qrMN_w9Fn_~Re__`SCR%EjZS-~QIO z{_ywz+gm?+lK?EBCBs#&HzYu0tVNYQp(pvpQ8s^)FaP1+{rkW1uYN-c|JOhNi*LXF z29_~RlKDLI5}#b0CEq#`ylDM%ceyqA2WRh#At z={?nqMO^w4RNhkENv!f{JL7LM>HxTz&oH8X_FeSLv<*F zchd~>b=3oIvj=YC{)6BD!-qe6 z{|9fp{(rymo$vkecmDW~{`Y_R5C8GOOCP&)@9um)fAHYJCtv==Cti8w#rqFlef5*C z{@l+20T6^${*xd5_P|u z5e9hmQ?GsT*S_@bn{R#R``>-(^q#R2LwvkkiUm8LCB&ZNdygNVonIgtJDVHp+|iLS zW^w1v-4|a3fFO{>I6FBFA%ws|_~Lv8KuVNAL}W`LNHno1gO3r|8H1@aS&GJpq3mRi z21F$IGIA(5VqlWkglrjC#VWF7Ltwz$N4R|pVw0=29c z0C1=bK$R70j2J^izAWpRt<~9$HHMj+9dyTUPMw9VMgS;^q9d}Q-&+K4R2sqt31oH zG);ww$ppZ%^uiotY;efLIzj>wu?`TU#He9Cjwt-X3oq!Bv^qOy<|mPpB>D6w{>qpB z^}mTR{^Y0c{Liod(SQDf-~Z0{zW0Og{z(MMAu_<-+3Bx-@r%Fo3txEYrI%iQ`Q?wl z{PNRc2}CDHM~m6~(=UADwL34Jf9C05zWd(Szy9^d$)hyVQ*f(1zX({yB+E3}xM#L57KqFj}Qh|G=_M<*vqngT$?xbi^-mP?k1 z1lAdAjkU3z)>5%9fDwEMDrN^FR0TYdtn+1Q01=6!Y9=xZg0YD;LKp#s1(Add3d9&l zg&;OLha>(aT1Hc53$88t8l;H)KMIL4wZ zSIgxp&pAdiCUMSMyI9ObDvf0g59`$pBEU2XdA@WW@X+~#5FGZX5ivxAw$c7=J`qJ@ zS~UgK);#t`2}u1JRpK!~h=@h8y12L~^4xnLLhwadmN|!zBn}01lkO5TOHv}3&sA%C z-o3cExLD?3$R)`tlyATD(|6u`_b*<5;~U@j#&`ep`$Z@dljgCA5ED$Z#asZgG)0#4 zr)MCN7#n@i;uao!oyRN;>>)1ZcOEVur`G+WfBcoNeB~>rr>FUHIWsPQa!xGK2WHNW z<|p^=CW~2QzPPvuA(+ISoSY;{;sYCF()mn)LI{DQF-C*IAx7`L%Vt{CortQcJ)v^H zLI@GWTAO64g3Qd}{QN0u@jV1q-T%bd#N~P3wq6a8TX3k11Peq45l6-ut5tNOh7vgv zkx5*VB!DLOWm%TYRV=BRX{zKb*cReP0gMp`An3N{RGqZSNtXHAq10*Yj3FXvDdM#h zumue;@)*pp-V@j%Bo8)~1{#iWQ537yN~2)y*k`lQS!)|mjR@PMPS{eRx*P<(W*u{A zM}+|(Mu{;NMcFJwTI8V0;D}{!SIzi0azqhlY0_cHZr{(2K=d>$8mF1Dsd=|IEkD>^ zt2?#r2X_o!n;>P30Tx6fH4m$Q_artGt-c=cgw}AIq`_r*}X3@t1$)7r*eOU;gDc z-}=d_ELiZ#`Pon3d-whK-~Zw3Kg#nQSc;;Q80N|Br59dYEEXUC_{WnZ5yCvrpPru; zMM2KG%wb|b`}xm(@-v_Qt3UsFH%or}?pvvKxpk+fbMY}FGoR1xEJGqU&yHrZY1T(##r=O0lFl!gd$RMlv24r>}IK=l1fny z!ZCO+v6BwR?KDD_WQUe=6IGG^_WN6LG5`%25&{8YB5rbWG+0Y2F-*1Q8W9OZ{qMT! zyG|vp<%Vn7c4R=VG>N&YQHMwXf(VSQshgcD*+KIr312yN&^7<`81=3_^*^ zW|?u$Df>h@E}fhuGN8NjhN9J|c3csHmQ97C_G_-+m8NME*CVuz*UrfOl@$i_ba`l7 zFl358QhB{o+wnJl>$eY*?>of#JttrQ039w#L_t*AMQb__vSANyryB`i85nUR>Y(bN zn(tfv3_X5cTZX18+OtW$u07_mqfw=uXjPDgajhmHa6HcoW396miJ+kp0T?1Iu>_m$ew$_1b3duS{ZM(pL+1~fVNLgHpQd+P0f{ymu^r=Q<``7G3iAPLu*G80o=dCM z>g?=nxx8Qw*({l-nKRZQIUor!=H(*IF!Ga!@3Rl5N5_7Z=gZa6$?-eyKb+0yi}{=c zmglQtxpFR@&*$^`VzyXh#|uncU^!b}{N>LczW?Y^o|g|FK3tw(c<+Pvvm`w_Ix@z* z^2#e|nhN3LCr^I*-n);UJ|UuXmVE4m7eD=TpSl0y3m36?{U<+u^yKlqd-sm!i#v;B z@gYmnS``I4b98hR%2<^&M*ty}fzx6MU>T%RRY&f{cRb9VL@UP*oTrQfpX*gxeYErWSss#qCcU%bDwfuGnQm$9; z7$*7U?Z+{y{w_{4V^i~PZ(4pZ{^oD}_CX-%!L%9LkS}lT97B&Mid6Ur8i8zb+XWf} zY;_-r)J{+8W)e3`Qj<7GrpX=-MG1xyW7UvE z5M*HqnKjhPiE0zPp9=^&Mn-51Cx;LeCPkJ;q=xzcmg?a~VCD$u^Fpv8f)dvh8-q~B z5?II@0u1amz~-Duk|bNqvn*5e(HLVamF1EQ*gAodnN=G+Ns<^N*VI$3hf(;PEn7>L zj1e#l7LdyzdFk`QpD!Q3_s}o%MK*I}P#~RU?qv4(>67L8MM7qg%$>0$M2NnOVkrQW zF+>74%Vx(X$$a+o>G|WQPk<%MGK-WXiH>BoTG=$Qi37sG41~_PG_m*R$3Obv>yPp? zcQikF@&57M6J-=~>50V%I_HqA7KH^wD+bX3i>3w%A)<-QU~HW=%UaOY83ROYs+&&& zgs2tcm^qZ*rHL^{tuI=Gh><;pP}R$;D=aaHvM!op3~e(Egt5-zwHi!_tXl-AYg}s4 z6wgs}YmIU3Gy#t7s(!6}JRw0A6M7ABzeoU~_fct&RS^Z`@S{HE53S9P71&Q2N>oSYt!*rUfxI zY>S4NeY5KdV_+}_07)dq!1-#myvTi-``n|j2okVpeO6Wv1OyquwECwALV{XZlmY5& zFN27s_$a}d#5qG?Byi1Hb4?_|+B!uouyZc3&wZ(hxm1S+BeM^o3?31aByrA}EJ;&} zBt)Q&APEYRF^&z*v-BK<&a)W&(@><&Ib(}h0Ob0YU7zM$i)f#|R-lwj91O`a} z0T>x01dPbYAcldFkvRaNNGzko=*c*X5?Fj*q|Uah4seKpW8kO=5Fl)bWmKRe1FH}# zDo`9kIGQgSsu9_m)MHWWLB%LB`WOWfQ|qj?6)6dMZQ8N&2n7YT5SFGVu?RxqTokSl zCuTv=x^~TGtDVJQtZmZ#xF-{7l}`WRYJi+gby;iHB8~gDH@dTJr&` zcUD%*91)DM#*j6ps>TLT#GnxNQDMjPVgM!sTA>_}2_g~$Musvl0TUS1Qgy0|jar$rQqXO7T9!}+Pf!32 z8LG0n$)HGNWCI2aBqmw7d6TiNJ+wDuB9WX{HP=8N2mw`LNMZ=gK-HGa>bg^`mWoM8 zln_0z7$k>?iRCOccNW%RD9Vcv2)%V_L>mGZk@MgQkR1V~DELG?I${QnL7%4XJo59U zAe{TN<@tr?I2q^28mAgV#-Jf0VgwRFL#yc1EGa}5N5@X)Wl@&Q3`}Ue02l(7m4=FP zg@}|GjL3q32uXqfQ4xFuAIlB!w#pb_AvC~%1Rx{~$beLV`^Y3f1{pY%0e}*PXM{jh zNlpkb0qe*@=%Ek;fCRDX5=&L62+=ra3LgM~>g1morSWi41ck_;Bcsf(qVTnc+Rid& z1VD)*>*~8KKq?dMJ=gVkwS_>-CWXpJuiqQs2ml0|p6_PF7aHBi772Ivy0@dQTq|n` zopmva=0j<1h9mdjpl0I0BF*KrliQScEnduS8G*d~In! zevw*Zi@KFlRi(Bmg{AA7#x)rtwK7uL90HZ~Y1CJ=Sh1n3-b4#P)GfHM2s=Vf6K6nD z>#dos>?*__|4m&+sC%TRCQrBq}l5MZ}-`3TH7y}Iy4=%*tS5-wgBu9v^8{}cTD1KE8BTX zw-xM$`XAYj!Uh3^F@_jfh3!NTff*ujWCoN7LX1Etico33rJ$fllpqlpVqytMb3d!7 z5=3E$D%@evD9F|Pp+G=j(4avA0bEvOt1D0G!zh4-kkz1`KFcR{{wm3s8ip`LW8!6UIrl>QKJO0e#BtX}M#b@2zcj zsOuVSHg=h%HczuG%NV)HJpi@$?ute0EN!UK^{+<_xOG%=hnBcD1iih6?7p;ZL*Dyb z4nsA7E8Utqt^5fOGu_ z)cv*A5?KKwK*E|Gs^kG;VL^wWgG4msOhRZW0goJ{Krk*b2nL-Ao&nj~6rn3TVi+PA zWDx}u4G|e)l}_ zuE;fcR!(qR*hgobF$Mswl_ugFLO|3vC0<-C8$`PCp+zJ~EfG5BoO5ZK>JMs{;m!Rz1{z$cBs_Is$%0*JNotg1XcYLLIGu1 zDxk(9s8w!|0Dwwg3Za1jhO~Sk2{5w8@ghV5iV#(n$H0al9|H?Zlqe#a8Qe(%Y3Fb^ z@nd~ z10X=;Smj(IsjJPPtd}}&45Y}lFA6~2Q~;q>WiW{x0s}DDA<|071b7HSnd&JX%Co%O z_YP%1UOkF-70-UZ*$`^S0NUp_)zWmPsnuj=XV*0t)B`TdvQnOJ!PnI`5u$Sr5tO)~ zsvV67ynD&shOGBq(Qb5lw}RDBKZE(Z6Yu{`tIPYW`mu1$a!W(>^p1Sh-dNF)qQzi7 zU#omr`x}QGP*uWe@bD%-3N`=H7!lzZnHh{BfvB`B5nJS9haa92jHR%NeFhT@CHN~tk-%7n#X_rd-L@ng4v~Xp!#t5DI zqZ<M^$yma4QR-Eo3!J0zN}*}F^bHE)C3%ZNK5=pn4))(L)A?FY^S-fr(D zVL>f!-gwCk$7(43rm1^B6j<6OU3X~xZ8F#P`R&~Kb`f9ApKBoK27mV6Zx;#KQC4jC zeVcmz^|ccbawV2isRKr?^zso2QD`lh1R_fP6|CjT5Xq3{=5AvKh!{dCLfiVc{agWT zDT6mc9JSI}6Ju*37Ln{ak+oLw5&*FdMK#U@92#TLxx`xX90@QATVt!aL1>H#%qmd8 z8_EL^7!ZUk88lF5S+Gc2FSwO()tdbPQGhujW2GZg8w;#=6$TrW2!cZOx5qVO(NoWF zw4gf+4q3x-U4gArU!f~VfEDNVsYJe`wnAtN-@j_Zp-j!*;0lA<3ub zrT?klJ5-lrT47rk$bLdZ~M^ob`CqBOf;AW zSxFvt|93+JT$;vBsl3fg?)_ z5MAPX_ZD&=J${V>W1Oz}dbcgs=-&x|0nh__fVlpP>%W2`6ahuka7n7ahII>48D{-U zu<_3(gHlFV-`nE@Hs{Z(pTkc3o4@SbwjZkf+Vg;)_x807Xin=uK%4DN(U_r3p)2MA zk4LS06PC7VVjJzXaF4Y7JHbl6NCbd1+zZW(snJyI{4msxGT^xm#xf_xIJy3-VR>$P zkj|}MYa*&@2Xw|omGoZyPh9_^>>DNT+(Qgqk6hA(6CCD{Yd(MXDnC9tD}%eWL-aE# zn-+G)Vh5-R$f(GGdVhC>t1U=s1T~j|}Sg(`LzwYb0L^9GC zjQx4Zqdk;4d{+Hmdmivdu>BHwx?^GC5x+8iJU#7z+{;#7*IHGkbgPt;wDM-!@#emE zsB2rHAOUTB!d8oFLSDin6yEd;>vC*DT&Gc0{~-`*Q}77;EnDNB)^TC#{Zz>g5F%g{ zqJ3^y)2)hz+(OV-wCe}y=TM&F2XI|eP5!MDeAC*mJrDS~Zso7XfVGI^f((kx@Wn^_bLAL*pK<^)#@-^6aqv^BPpMSGXg9XZwQgpt_5{xc3V!Au@FhIX>*!}BM`_ae*L_`6(dIE6 z?B^wq_E6^VS@nPIdB7h{_jgjB?v58=hvxGn_jd{kz02!Fz%?dcLD02N+-h&^LZ@A{ z;-vIO@Tkv00BSeUm4po0#ac#u)Bm+%oxqA+bV~w@T z{WT7EwMn?7QTs3uz^3Nu4&8(+_R|q+hAYH?F9-SV0MD)hb?)uw)(L(l?KD0ja@&4= z?bq#>Olg^s(6{ZA+U?Z5y5aoGp#_aMSG=ZM=xwj_I7csATXN82 z1TiiF@ZrF!jaTzQnnL2c#jCfU+{pae-FS7+zN`jZTeXZ3Kv=l05Gu{*&i*%UVbecX zC6A=`pPSFP)gl6dg8(iLBD#W|0B-%kTlTdQxY~VxNY-WEr9rvtPg&QXuKsF0Lych5 zfMKmU;cH8eatS+jNaHs=-+H3mO}WX<&#P!VkGz&qq@gS10bdK8-ugP;w@z-h@}B(W zL*=JV9sgE8L*Gk>9sktle#QP<&t;R8IrzP_8^Ad54*Gd_C2!jYCS3JdufId>e7WbM zIQN*(Lwj-?e@TFZn>^s5zpzmcm4++T*0odDPVm^|BD%RH7*MwEZ2Je?u6Hy zPqcov;~awcri@c2_Wx`k!Ksku;m-e%SjW-NOAc#hrp}W?yp>|oaXQD#hj-;-+mI-bL#%?eN}EZWw-9{?Q!b_-#Wp!PVmjVpO^7~C%Rd3&F2I3 zQSG0X{N`sk&Y>qiah!5>_xIKVzV(3NCglNNuAgzs^d&uDxc>aqao2VE>wO;ccZbG5 z=KhSipZ0R^$&`FqlC_par$+ry`?P%A?du#usxR07hqZm+7z(b-qfA#B%<1ps6A*I{k{VpGr_y19T@|5M$gjci@mQtfAsy|rxH z-c|dDP950>9BA6N`sblyL6h1$es zfM4->?X5rB^}mP?vQiB7!#tD+Kh%H!{cQ5NJ4fevHOJ8T*KJXTAc~>;gE-XQzwzB$ z*LLK1F0lgk@?3`I`R?&Fle`(8Ue`8pN$=ZsJ2Ur=hiGU#{XCuC`@9Wt?S)2(Xp-+c zbU%k6abryVPi*^wF@}BTcj4KA`$m(LIESlI$wZzV_FmVJjR5HHzx`gcXN%PdI#LA! zHY1DeFCOj(d)qq}XlgzANrDyI80po&cc^{nJ`9bgz3^=t$Q}LcSYdbfub)E;r7?Eo z#!Ekk`X4%f5a=8<0Mi!esr^hfRBeMabRVuV&g(vgu4`yM?1h>~3mRNI*3uhz8oI7A z_hD#(9;x%wJDweef1r4p^tO+w@6vuW9ezgh!;Xz$@A%vEw%z{_Nw~cM8gu^M`*z*u z?}k@9a!Ljv42nzISg;-ytQG=D&tK-Ofax zs(95)#oDVT4FI@L19B_Hi+A@w`g^AuhC^YAQiik0rQGXu4tc0BT6wDPwEp(C=M8;Ig}rX#wl$g>3Er{5UV1z*thBf{`R7pQ zkKA8Q?Pq)W?IL8&1nroC-7oyM%^2#Z?X!>fhYr5q|G>yW!}np-ecK-Ar297hxePk&5l@B3#{XJ-6rK6RW! z(D&uOcgJ`-Ck%~eFI3xU9FE<>q!I3l`N`0OtHa3G?A`zd`M zZ9U({d%(Nx#CH40jqJuR3bi8BTjSZB56p4L_wEhHZrryi=j(GHfBw*641rMhy0&)Y z)eS-JZ0LKd&$Z`|9h#22cicP5+x1SY9sO_EiOK-WUXO6(YQ8Ub3r)}cJe$uVH*zuo}@jP3vVAjxId4K)vX zgjJ!1ahNUgP%7jHK*H*E^`;h&*{iQK@`u4kGq#qcOfw`-Gue*K5E=KBHci_{i!>*2FQL zHyfso8s!x?OjA9T19-+@C-gtOL7ZwZ4#n<1lmQ+zkR!Bu*1vlL3^4SOk1lb4dJVwH zResla_RY7>g5E))cSllTSny%Uv)^lgcZ`3(F>8%~r19JF94DPWwf`LkctZSsbN;t` z9wM*V^YioGwQ}zQvBS)4tW9Ee8?6qc*;(NBnzyOr+zVolY#-{UJ#iH4c@O9%rxnK*8kdN!+I&cJKAA1No{ESV>cq3;~%qenHt01eO*)g@0lkNCxig% g^>CEC3;+QCA8QfJcZlZ(3;+NC07*qoM6N<$g4i#ku>b%7 literal 0 HcmV?d00001 diff --git a/pagermaid/static/images/user.jpg b/pagermaid/static/images/user.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35082e593a021738b6bf4faaef216f0ecf3e3e3e GIT binary patch literal 53270 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 T0+xy^W1J|WiU260iU9xFCU-hM literal 0 HcmV?d00001 diff --git a/pagermaid/static/style.css b/pagermaid/static/style.css new file mode 100644 index 0000000..4ebcc63 --- /dev/null +++ b/pagermaid/static/style.css @@ -0,0 +1,151 @@ +html, body { + font-family: 'Roboto', 'Helvetica', sans-serif; + } + .demo-avatar { + width: 48px; + height: 48px; + border-radius: 24px; + } + .demo-layout .mdl-layout__header .mdl-layout__drawer-button { + color: rgba(0, 0, 0, 0.54); + } + .mdl-layout__drawer .avatar { + margin-bottom: 16px; + } + .demo-drawer { + border: none; + } + /* iOS Safari specific workaround */ + .demo-drawer .mdl-menu__container { + z-index: -1; + } + .demo-drawer .demo-navigation { + z-index: -2; + } + /* END iOS Safari specific workaround */ + .demo-drawer .mdl-menu .mdl-menu__item { + display: flex; + align-items: center; + } + .demo-drawer-header { + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: flex-end; + padding: 16px; + height: 151px; + } + .demo-avatar-dropdown { + display: flex; + position: relative; + flex-direction: row; + align-items: center; + width: 100%; + } + + .demo-navigation { + flex-grow: 1; + } + .demo-layout .demo-navigation .mdl-navigation__link { + display: flex !important; + flex-direction: row; + align-items: center; + color: rgba(255, 255, 255, 0.56); + font-weight: 500; + } + .demo-layout .demo-navigation .mdl-navigation__link:hover { + background-color: #00BCD4; + color: #37474F; + } + .demo-navigation .mdl-navigation__link .material-icons { + font-size: 24px; + color: rgba(255, 255, 255, 0.56); + margin-right: 32px; + } + + .demo-content { + max-width: 1080px; + } + + .w-100 { + width: 100%; +} + +.w-50 { + width: 50%; +} + +.spacer-radio { + padding: 20px 0; +} + + .demo-cards { + align-items: flex-start; + align-content: flex-start; + } + .demo-cards .demo-separator { + height: 32px; + } + .demo-cards .mdl-card__title.mdl-card__title { + color: white; + font-size: 24px; + font-weight: 400; + } + .demo-cards ul { + padding: 0; + } + .demo-cards h3 { + font-size: 1em; + } + .demo-cards .mdl-card__actions a { + color: #00BCD4; + text-decoration: none; + } + + .demo-options h3 { + margin: 0; + } + .demo-options .mdl-checkbox__box-outline { + border-color: rgba(255, 255, 255, 0.89); + } + .demo-options ul { + margin: 0; + list-style-type: none; + } + .demo-options li { + margin: 4px 0; + } + .demo-options .material-icons { + color: rgba(255, 255, 255, 0.89); + } + .demo-options .mdl-card__actions { + height: 64px; + display: flex; + box-sizing: border-box; + align-items: center; + } + + .mdl-card__supporting-text { + width: 100%; + box-sizing: border-box; +} + +.mdl-data-table tbody tr:nth-child(2n) { + background-color: rgba(0,0,0,.04); +} + +.mdl-card, .mdl-card__supporting-text { + overflow: unset; +} + + +.mdl-selectfield.mdl-js-selectfield { + width: 100%; +} + +.login-content { + height: 100%; + justify-content: center; + align-items: center; + box-sizing: border-box; +} \ No newline at end of file diff --git a/pagermaid/templates/includes/navbar.html b/pagermaid/templates/includes/navbar.html new file mode 100644 index 0000000..d59e5a7 --- /dev/null +++ b/pagermaid/templates/includes/navbar.html @@ -0,0 +1,36 @@ +

\ No newline at end of file diff --git a/pagermaid/templates/pages/404.html b/pagermaid/templates/pages/404.html new file mode 100644 index 0000000..65a9aa9 --- /dev/null +++ b/pagermaid/templates/pages/404.html @@ -0,0 +1,37 @@ + + +No such file or directory + + +
+
+
+

No such file or directory

+

Seems like a part of PagerMaid is missing or you have followed a bad link. If PagerMaid took you here please report this error.

+

Go back Home.

+
+
+
diff --git a/pagermaid/templates/pages/500.html b/pagermaid/templates/pages/500.html new file mode 100644 index 0000000..d46e709 --- /dev/null +++ b/pagermaid/templates/pages/500.html @@ -0,0 +1,37 @@ + + +Internal Server Error + + +
+
+
+

Internal Server Error

+

Seems like some part of PagerMaid decided to crash, please report this to Kat.

+

Go back Home.

+
+
+
diff --git a/pagermaid/templates/pages/index.html b/pagermaid/templates/pages/index.html new file mode 100644 index 0000000..87aa8c4 --- /dev/null +++ b/pagermaid/templates/pages/index.html @@ -0,0 +1,124 @@ + + + + + + + + PagerMaid + + + + + + + +
+
+
+ Dashboard +
+
+{% include 'includes/navbar.html' %} +
+
+ +
+
+

Status

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hostname{{ hostname }}
Platform{{ platform }}
Kernel Version{{ kernel }}
Python Version{{ python }}
Library Version{{ telethon }}
Database Status{{ redis }}
+
+
+
+
+

Memory

+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ Total available + +
+
{{ memory_available }} MiB / {{ memory_total }} MiB ({{ memory_available_percentage }}%)
Free +
+
{{ memory_free }} MiB / {{ memory_total }} MiB ({{ memory_free_percentage }}%)
Buffered +
+
{{ memory_buffered }} MiB / {{ memory_total }} MiB ({{ memory_buffered_percentage }}%)
Cached +
+
{{ memory_cached }} MiB / {{ memory_total }} MiB ({{ memory_cached_percentage }}%)
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/pagermaid/templates/pages/login.html b/pagermaid/templates/pages/login.html new file mode 100644 index 0000000..c1be1cb --- /dev/null +++ b/pagermaid/templates/pages/login.html @@ -0,0 +1,58 @@ + + + + + + + + PagerMaid Login + + + + + + + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/pagermaid/templates/pages/profile.html b/pagermaid/templates/pages/profile.html new file mode 100644 index 0000000..0d19532 --- /dev/null +++ b/pagermaid/templates/pages/profile.html @@ -0,0 +1,63 @@ + + + + + + + + PagerMaid + + + + + + + + + +
+
+
+ Profile +
+
+{% include 'includes/navbar.html' %} +
+
+ +
+
+

Profile

+
+
+
+
+ + {{ form.full_name(placeholder="Full Name", class="mdl-textfield__input") }} +
+
+ + {{ form.username(placeholder="Username", class="mdl-textfield__input") }} +
+
+ + {{ form.email(placeholder="Email Address", class="mdl-textfield__input") }} +
+
+ + {{ form.password(placeholder="Password", class="mdl-textfield__input") }} +
+ +
+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/pagermaid/templates/pages/settings.html b/pagermaid/templates/pages/settings.html new file mode 100644 index 0000000..eca6dbe --- /dev/null +++ b/pagermaid/templates/pages/settings.html @@ -0,0 +1,75 @@ + + + + + + + + PagerMaid + + + + + + + + + +
+
+
+ Settings +
+
+{% include 'includes/navbar.html' %} +
+
+ +
+
+

Settings

+
+
+
+
+ + +
+ +
+ + +
+ + + +
+ + +
+ + +
+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/pagermaid/templates/pages/setup.html b/pagermaid/templates/pages/setup.html new file mode 100644 index 0000000..45e9cfc --- /dev/null +++ b/pagermaid/templates/pages/setup.html @@ -0,0 +1,64 @@ + + + + + + + + PagerMaid Setup + + + + + + + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/pagermaid/utils.py b/pagermaid/utils.py new file mode 100644 index 0000000..d4ea43d --- /dev/null +++ b/pagermaid/utils.py @@ -0,0 +1,136 @@ +""" Libraries for python modules. """ + +from os import remove +from os.path import exists +from emoji import get_emoji_regexp +from random import choice +from json import load as load_json +from re import sub, IGNORECASE +from asyncio import create_subprocess_shell +from asyncio.subprocess import PIPE +from youtube_dl import YoutubeDL +from pagermaid import module_dir, bot + + +async def upload_attachment(file_path, chat_id, reply_id, caption=None, preview=None, document=None): + """ Uploads a local attachment file. """ + if not exists(file_path): + return False + try: + await bot.send_file( + chat_id, + file_path, + reply_to=reply_id, + caption=caption, + link_preview=preview, + force_document=document + ) + except BaseException as exception: + raise exception + return True + + +async def execute(command, pass_error=True): + """ Executes command and returns output, with the option of enabling stderr. """ + executor = await create_subprocess_shell( + command, + stdout=PIPE, + stderr=PIPE + ) + + stdout, stderr = await executor.communicate() + if pass_error: + result = str(stdout.decode().strip()) \ + + str(stderr.decode().strip()) + else: + result = str(stdout.decode().strip()) + return result + + +async def attach_log(plaintext, chat_id, file_name, reply_id=None, caption=None): + """ Attach plaintext as logs. """ + file = open(file_name, "w+") + file.write(plaintext) + file.close() + await bot.send_file( + chat_id, + file_name, + reply_to=reply_id, + caption=caption + ) + remove(file_name) + + +async def obtain_message(context): + """ Obtains a message from either the reply message or command arguments. """ + reply = await context.get_reply_message() + message = context.arguments + if reply and not message: + message = reply.text + if not message: + raise ValueError("出错了呜呜呜 ~ 没有成功获取到消息!") + return message + + +async def random_gen(selection, length=64): + if not isinstance(length, int): + raise ValueError("出错了呜呜呜 ~ 长度必须是整数!") + return await execute(f"head -c 65536 /dev/urandom | tr -dc {selection} | head -c {length} ; echo \'\'") + + +async def fetch_youtube_audio(url, chat_id, reply_id): + """ Extracts and uploads audio from YouTube video. """ + youtube_dl_options = { + 'format': 'bestaudio/best', + 'outtmpl': "audio.%(ext)s", + 'postprocessors': [{ + 'key': 'FFmpegExtractAudio', + 'preferredcodec': 'mp3', + 'preferredquality': '192', + }], + } + YoutubeDL(youtube_dl_options).download([url]) + if not exists("audio.mp3"): + return False + await bot.send_file( + chat_id, + "audio.mp3", + reply_to=reply_id + ) + remove("audio.mp3") + return True + + +def owoify(text): + """ Converts your text to OwO """ + smileys = [';;w;;', '^w^', '>w<', 'UwU', '(・`ω´・)', '(´・ω・`)'] + with open(f"{module_dir}/assets/replacements.json") as fp: + replacements = load_json(fp) + for expression in replacements: + replacement = replacements[expression] + text = sub(expression, replacement, text, flags=IGNORECASE) + words = text.split() + first_letter = words[0][0] + letter_stutter = f"{first_letter}-{first_letter.lower()}-{first_letter.lower()}" + if len(words[0]) > 1: + words[0] = letter_stutter + words[0][1:] + else: + words[0] = letter_stutter + text = " ".join(words) + text = text.replace('L', 'W').replace('l', 'w') + text = text.replace('R', 'W').replace('r', 'w') + text = '! {}'.format(choice(smileys)).join(text.rsplit('!', 1)) + text = '? OwO'.join(text.rsplit('?', 1)) + text = '. {}'.format(choice(smileys)).join(text.rsplit('.', 1)) + text = f"{text} desu" + for v in ['a', 'o', 'u', 'A', 'O', 'U']: + if 'n{}'.format(v) in text: + text = text.replace('n{}'.format(v), 'ny{}'.format(v)) + if 'N{}'.format(v) in text: + text = text.replace('N{}'.format(v), 'N{}{}'.format('Y' if v.isupper() else 'y', v)) + return text + + +def clear_emojis(target): + """ Removes all Emojis from provided string """ + return get_emoji_regexp().sub(u'', target) diff --git a/plugins/README b/plugins/README new file mode 100644 index 0000000..7389e3b --- /dev/null +++ b/plugins/README @@ -0,0 +1 @@ +Refer to DEVELOPMENT.md for plugin development documentation. \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..66afeff --- /dev/null +++ b/requirements.txt @@ -0,0 +1,32 @@ +psutil +pyqrcode +pypng +pyzbar +emoji +youtube_dl +pyyaml +redis +coloredlogs +requests +pytz +cowpy +googletrans +beautifulsoup4 +gtts +gtts-token +wordcloud +telethon +pillow +python-magic +pygments +distutils2-py3 +speedtest-cli +gitpython +werkzeug +flask +flask_sqlalchemy +flask_login +flask_bcrypt +flask_wtf +wtforms +cheroot \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..663a998 --- /dev/null +++ b/setup.py @@ -0,0 +1,33 @@ +""" Packaging of PagerMaid. """ + +from setuptools import setup, find_packages + +with open("README.md", "r") as fh: + long_description = fh.read() +with open("requirements.txt", "r") as fp: + install_requires = fp.read() + +setup( + name="pagermaid", + version="2020.2.post13", + author="Stykers", + author_email="stykers@stykers.moe", + description="A telegram utility daemon and plugin framework.", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://katonkeyboard.moe/pagermaid.html", + packages=find_packages(), + entry_points={ + 'console_scripts': [ + 'pagermaid=pagermaid:__main__' + ] + }, + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Operating System :: Unix" + ], + python_requires=">=3.6", + install_requires=install_requires, + include_package_data=True +) diff --git a/some-plugins/autorespond.py b/some-plugins/autorespond.py new file mode 100644 index 0000000..d8be9d6 --- /dev/null +++ b/some-plugins/autorespond.py @@ -0,0 +1,45 @@ +""" Pagermaid autorespond plugin. """ + +from telethon.events import StopPropagation +from pagermaid import persistent_vars, log +from pagermaid.listener import listener + +persistent_vars.update({'autorespond': {'enabled': False, 'message': None, 'amount': 0}}) + + +@listener(outgoing=True, command="autorespond", + description="启用自动回复。", + parameters="") +async def autorespond(context): + """ Enables the auto responder. """ + message = "我还在睡觉... ZzZzZzZzZZz" + if context.arguments: + message = context.arguments + await context.edit("成功启用自动响应器。") + await log(f"启用自动响应器,将自动回复 `{message}`.") + persistent_vars.update({'autorespond': {'enabled': True, 'message': message, 'amount': 0}}) + raise StopPropagation + + +@listener(outgoing=True) +async def disable_responder(context): + if persistent_vars['autorespond']['enabled']: + await log(f"禁用自动响应器。 在闲置期间 {persistent_vars['autorespond']['amount']}" + f" 条消息被自动回复") + persistent_vars.update({'autorespond': {'enabled': False, 'message': None, 'amount': 0}}) + + +@listener(incoming=True) +async def private_autorespond(context): + if persistent_vars['autorespond']['enabled']: + if context.is_private and not (await context.get_sender()).bot: + persistent_vars['autorespond']['amount'] += 1 + await context.reply(persistent_vars['autorespond']['message']) + + +@listener(incoming=True) +async def mention_autorespond(context): + if persistent_vars['autorespond']['enabled']: + if context.message.mentioned and not (await context.get_sender()).bot: + persistent_vars['autorespond']['amount'] += 1 + await context.reply(persistent_vars['autorespond']['message']) diff --git a/some-plugins/yt-dl.py b/some-plugins/yt-dl.py new file mode 100644 index 0000000..762c5bd --- /dev/null +++ b/some-plugins/yt-dl.py @@ -0,0 +1,51 @@ +""" Pagermaid plugin base. """ + +from os import remove +from os.path import exists +from youtube_dl import YoutubeDL +from re import compile as regex_compile +from pagermaid import bot, log +from pagermaid.listener import listener + + +@listener(outgoing=True, command="ytdl", + description="YouTube downloader.", + parameters=".") +async def ytdl(context): + url = context.arguments + reply = await context.get_reply_message() + reply_id = None + await context.edit("正在拉取视频 . . .") + if reply: + reply_id = reply.id + if url is None: + await context.edit("出错了呜呜呜 ~ 无效的参数。") + return + + youtube_pattern = regex_compile(r"^(http(s)?://)?((w){3}.)?youtu(be|.be)?(\.com)?/.+") + if youtube_pattern.match(url): + if not await fetch_youtube_video(url, context.chat_id, reply_id): + await context.edit("出错了呜呜呜 ~ 视频下载失败。") + await log(f"已拉取UTB视频,地址: {url}.") + + +async def fetch_youtube_video(url, chat_id, reply_id): + """ Extracts and uploads YouTube video. """ + youtube_dl_options = { + 'format': 'bestvideo[height=720]+bestaudio/best', + 'outtmpl': "video.%(ext)s", + 'postprocessors': [{ + 'key': 'FFmpegVideoConvertor', + 'preferedformat': 'mp4' + }] + } + YoutubeDL(youtube_dl_options).download([url]) + if not exists("video.mp4"): + return False + await bot.send_file( + chat_id, + "video.mp4", + reply_to=reply_id + ) + remove("video.mp4") + return True diff --git a/utils/docker.sh b/utils/docker.sh new file mode 100644 index 0000000..9d078e6 --- /dev/null +++ b/utils/docker.sh @@ -0,0 +1,130 @@ +#!/bin/sh + +welcome() { + echo "" + echo "Welcome to PagerMaid docker installer." + echo "The installation process will begin" + echo "in 5 seconds, if you wish to cancel," + echo "please abort within 5 seconds." + echo "" + sleep 5 +} + +docker_check() { + echo "Checking for docker . . ." + if command -v docker; + then + echo "Docker appears to be present, moving on . . ." + else + echo "Docker is not installed on this system, please" + echo "install docker and add yourself to the docker" + echo "group and re-run this script." + exit 1 + fi +} + +git_check() { + echo "Checking for git . . ." + if command -v git; + then + echo "Git appears to be present, moving on . . ." + else + echo "Git is not installed on this system, please" + echo "install git and re-run this script." + exit 1 + fi +} + +access_check() { + echo "Testing for docker access . . ." + if [ -w /var/run/docker.sock ] + then + echo "This user can access docker, moving on . . ." + else + echo "This user has no access to docker, or docker is" + echo "not running. Please add yourself to the docker" + echo "group or run the script as superuser." + exit 1 + fi +} + +download_repo() { + echo "Downloading repository . . ." + rm -rf /tmp/pagermaid + git clone https://git.stykers.moe/scm/~stykers/pagermaid.git /tmp/pagermaid + cd /tmp/pagermaid || exit +} + +configure() { + config_file=config.yml + echo "Generating config file . . ." + cp config.gen.yml config.yml + printf "Please enter application API Key: " + read -r api_key <&1 + sed -i "s/KEY_HERE/$api_key/" $config_file + printf "Please enter application API Hash: " + read -r api_hash <&1 + sed -i "s/HASH_HERE/$api_hash/" $config_file + printf "Please enter application language (Example: en): " + read -r application_language <&1 + sed -i "s/en/$application_language/" $config_file + printf "Please enter application region (Example: United States): " + read -r application_region <&1 + sed -i "s/United States/$application_region/" $config_file + printf "Enable logging? [Y/n] " + read -r logging_confirmation <&1 + case $logging_confirmation in + [yY][eE][sS]|[yY]) + printf "Please enter your logging group/channel ChatID (press Enter if you want to log into Kat): " + read -r log_chatid <&1 + if [ -z "$log_chatid" ] + then + echo "Setting log target to Kat." + else + sed -i "s/503691334/$log_chatid/" $config_file + fi + sed -i "s/log: False/log: True/" $config_file + ;; + [nN][oO]|[nN]) + echo "Moving on . . ." + ;; + *) + echo "Invalid choice . . ." + exit 1 + ;; + esac +} + +build_docker() { + printf "Please enter the name of the PagerMaid container: " + read -r container_name <&1 + echo "Building docker image . . ." + docker rm -f "$container_name" > /dev/null 2>&1 + docker build - --force-rm --no-cache -t pagermaid_"$container_name < Dockerfile.persistant" +} + +start_docker() { + echo "Starting docker container . . ." + echo "After logging in, press Ctrl + C to make the container restart in background mode." + sleep 3 + docker run -it --restart=always --name="$container_name" --hostname="$container_name" pagermaid_"$container_name" <&1 +} + +cleanup() { + echo "Cleaning up . . ." + rm -rf /tmp/pagermaid +} + +start_installation() { + welcome + docker_check + git_check + access_check + download_repo + configure + build_docker + start_docker + cleanup +} + +start_installation diff --git a/utils/entrypoint.sh b/utils/entrypoint.sh new file mode 100644 index 0000000..a784843 --- /dev/null +++ b/utils/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/sh +redis-server --daemonize yes +. /pagermaid/venv/bin/activate +/usr/bin/env python3 -m pagermaid diff --git a/utils/mksession.py b/utils/mksession.py new file mode 100644 index 0000000..dda417b --- /dev/null +++ b/utils/mksession.py @@ -0,0 +1,9 @@ +from telethon import TelegramClient +from yaml import load, FullLoader + +config = load(open(r"config.yml"), Loader=FullLoader) +api_key = config['api_key'] +api_hash = config['api_hash'] + +bot = TelegramClient('pagermaid', api_key, api_hash) +bot.start() diff --git a/utils/pagermaid b/utils/pagermaid new file mode 100644 index 0000000..b05e278 --- /dev/null +++ b/utils/pagermaid @@ -0,0 +1,4 @@ +#!/bin/bash +source venv/bin/activate; +/usr/bin/env python3 -m pagermaid + diff --git a/utils/pagermaid-pip.service b/utils/pagermaid-pip.service new file mode 100644 index 0000000..29cab4a --- /dev/null +++ b/utils/pagermaid-pip.service @@ -0,0 +1,14 @@ +[Unit] +Description=PagerMaid telegram utility daemon +After=network.target + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +User=pagermaid +Group=pagermaid +WorkingDirectory=/var/lib/pagermaid +ExecStart=/var/lib/pagermaid/venv/lib/python3.8/site-packages/pagermaid/assets/pagermaid +Restart=always \ No newline at end of file diff --git a/utils/pagermaid.service b/utils/pagermaid.service new file mode 100644 index 0000000..06b0fd9 --- /dev/null +++ b/utils/pagermaid.service @@ -0,0 +1,14 @@ +[Unit] +Description=PagerMaid telegram utility daemon +After=network.target + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +User=pagermaid +Group=pagermaid +WorkingDirectory=/var/lib/pagermaid +ExecStart=/var/lib/pagermaid/utils/pagermaid +Restart=always \ No newline at end of file diff --git a/utils/run b/utils/run new file mode 100644 index 0000000..e2ff960 --- /dev/null +++ b/utils/run @@ -0,0 +1,4 @@ +#!/bin/sh +cd /var/lib/pagermaid || exit +. venv/bin/activate +exec chpst -u pagermaid:pagermaid:wheel:tty:video /usr/bin/env pagermaid \ No newline at end of file diff --git a/utils/start.sh b/utils/start.sh new file mode 100644 index 0000000..0c5fbdd --- /dev/null +++ b/utils/start.sh @@ -0,0 +1,7 @@ +#!/bin/sh +while true; do + clear; + python3 -m pagermaid; + echo 'Restarting...'; + sleep 1; +done