From 4e33bf3a50ec953f61bb99df45699d32bbb89570 Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Tue, 1 Oct 2024 00:42:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0=20(#1666)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ 父级插件加载 * :white_check_mark: 添加测试:更新与添加插件 (#1594) * :white_check_mark: 测试更新与添加插件 * :white_check_mark: Sourcery建议 * :construction_worker: 添加pytest * 🎨 优化代码 * 🐛 bug修复 * 🐛修复添加插件返回403的问题 (#1595) * 完善测试方法 * vscode测试配置 * 重构插件安装过程 * 🎨 修改readme * Update README.md * 🐛 修改bug与版本锁定 * 🐛 修复超级用户对群组功能开关 * 🐛 修复插件商店检查插件更新问题 (#1597) * 🐛 修复插件商店检查插件更新问题 * 🐛 恶意命令检测问题 * 🐛 增加插件状态检查 (#1598) * :white_check_mark: 优化测试用例 * 🐛 更改插件更新与安装逻辑 * 🐛 修复更新群组成员信息 * 🎨 代码优化 * :rocket: 更新Dockerfile (#1599) * 🎨 更新requirements * :heavy_plus_sign: 添加依赖aiocache * :zap: 添加github镜像 * ✨ 添加仓库目录多获取渠道 * 🐛 修复测试用例 * ✨ 添加API缓存 * 🎨 采取Sourcery建议 * 🐛 文件下载逻辑修改 * 🎨 优化代码 * 🐛 修复插件开关有时出现错误 * ✨ 重构自检ui * 🐛 自检html修正 * 修复签到逻辑bug,并使代码更灵活以适应签到好感度等级配置 (#1606) * 修复签到功能已知问题 * 修复签到功能已知问题 * 修改参数名称 * 修改uid判断 --------- Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com> * 🎨 代码结构优化 * 🐛 私聊时修改插件时删除私聊帮助 * 🐛 过滤父插件 * 🐛 修复自检在ARM上的问题 (#1607) * 🐛 修复自检在ARM上的问题 * :white_check_mark: 优化测试 * ✨ 支持mysql,psql,sqlite随机函数 * :wrench: VSCode配置修改 * :wrench: VSCode配置修改 * ✨ 添加金币排行 Co-Authored-By: HibiKier <45528451+HibiKier@users.noreply.github.com> * :memo: 修改README Co-Authored-By: HibiKier <45528451+HibiKier@users.noreply.github.com> * :hammer: 提取GitHub相关操作 (#1609) * :hammer: 提取GitHub相关操作 * :hammer: 重构API策略 * ✨ 签到/金币排行限制最大数量 (#1616) * ✨ 签到/金币排行限制最大数量 * 🐛 修复超级用户id获取问题 * 🐛 修复路径解压与挂载 (#1619) * 🐛 修复功能少时zhenxun帮助图片排序问题 (#1620) * 🐛 签到文本适应 (#1622) * 🐛 好感度排行提供默认值 (#1624) * 🎈 优先使用github api (#1625) * ✨ 重构帮助,限制普通用户查询管理插件 (#1626) * 🐛 修复群权限与插件等级匹配 (#1627) * ✨ 当管理员尝试ban真寻时将被反杀 (#1628) * ✨ 群组发言时间检测提供开关配置 (#1630) * 🐳 chore: 支持自动修改版本号 (#1629) * 🎈 perf(github_utils): 支持github url下载遍历 (#1632) * 🎈 perf(github_utils): 支持github url下载遍历 * 🐞 fix(http_utils): 修复一些下载问题 * 🦄 refactor(http_utils): 部分重构 * chore(version): Update version to v0.2.2-e6f17c4 --------- Co-authored-by: AkashiCoin * 🧪 test(auto_update): 修复测试用例 (#1633) * 🐛 修复商店商品为空时报错 (#1634) * 🐛 修复群权限与插件等级匹配 (#1635) * ✨ message_build支持AtAll (#1639) * 🎈 perf: 使用commit号下载插件 (#1641) * 🎈 perf: 使用commit号下载插件 * chore(version): Update version to v0.2.2-f9c7360 --------- Co-authored-by: AkashiCoin * 🐳 chore: 修改运行检查触发路径 (#1642) * 🐳 chore: 修改运行检查触发路径 * 🐳 chore: 添加tests目录 * ✨ 重构qq群事件处理 (#1643) * 🐛 签到名称自适应 (#1644) * 🎨 更新README (#1645) * :bug: fix(http_utils): 流式下载Content-Length错误 (#1647) * 🐛 修复群组中帮助功能状态显示问题 (#1650) * 🐛 修复群欢迎消息设置 (#1651) * 🐛 修复webui下载后首次启动错误 (#1652) * 🐛 修复webui下载后首次启动错误 * chore(version): Update version to v0.2.2-4a8ef85 --------- Co-authored-by: HibiKier * ✨ 移除默认图片文件夹:爬 (#1653) * ✨ 安装/移除插件提供插件安装/卸载方法用于插件初始化 (#1654) * ✨ 新增超级用户与管理员帮助模板 (#1655) * ✨ 新增个人信息命令 (#1657) * ✨ 修改个人信息菜单名称 (#1658) * ✨ 新增插件商店api (#1659) * ✨ 新增插件商店api * chore(version): Update version to v0.2.2-7e15f20 --------- Co-authored-by: HibiKier * ✨ 将cd,block,count限制复原配置文件 (#1662) * 🎨 修改README (#1663) * 🎨 修改版本号 (#1664) * 🎨 修改requirements (#1665) --------- Co-authored-by: AkashiCoin Co-authored-by: fanyinrumeng <42991257+fanyinrumeng@users.noreply.github.com> Co-authored-by: AkashiCoin Co-authored-by: Elaga <1728903318@qq.com> Co-authored-by: AkashiCoin Co-authored-by: HibiKier --- .env.dev | 2 + .github/workflows/bot_check.yml | 21 +- .github/workflows/update_version.yml | 65 + .gitignore | 4 +- .vscode/extensions.json | 10 + .vscode/settings.json | 34 +- Dockerfile | 11 +- README.md | 136 +- __version__ | 2 +- docs_image/zhenxun_help.png | Bin 0 -> 938965 bytes poetry.lock | 333 +++-- pyproject.toml | 6 + requirements.txt | Bin 5828 -> 5904 bytes .../ss_menu/res => }/font/fzrzExtraBold.ttf | Bin .../{template/ss_menu/res => }/font/syht.otf | Bin .../{template/ss_menu/res => }/font/syst.otf | Bin resources/image/pa/0.jpg | Bin 92242 -> 0 bytes resources/image/pa/1.jpg | Bin 55624 -> 0 bytes resources/image/pa/10.jpg | Bin 10646 -> 0 bytes resources/image/pa/11.jpg | Bin 26502 -> 0 bytes resources/image/pa/12.jpg | Bin 25454 -> 0 bytes resources/image/pa/13.jpg | Bin 51498 -> 0 bytes resources/image/pa/14.jpg | Bin 12928 -> 0 bytes resources/image/pa/15.jpg | Bin 190311 -> 0 bytes resources/image/pa/16.jpg | Bin 56545 -> 0 bytes resources/image/pa/17.jpg | Bin 38656 -> 0 bytes resources/image/pa/18.jpg | Bin 48612 -> 0 bytes resources/image/pa/19.jpg | Bin 58512 -> 0 bytes resources/image/pa/2.jpg | Bin 73584 -> 0 bytes resources/image/pa/20.jpg | Bin 63183 -> 0 bytes resources/image/pa/21.jpg | Bin 47422 -> 0 bytes resources/image/pa/22.jpg | Bin 66073 -> 0 bytes resources/image/pa/23.jpg | Bin 53582 -> 0 bytes resources/image/pa/24.jpg | Bin 119672 -> 0 bytes resources/image/pa/25.jpg | Bin 11128 -> 0 bytes resources/image/pa/26.jpg | Bin 128743 -> 0 bytes resources/image/pa/27.jpg | Bin 58086 -> 0 bytes resources/image/pa/28.jpg | Bin 31582 -> 0 bytes resources/image/pa/29.jpg | Bin 58445 -> 0 bytes resources/image/pa/3.jpg | Bin 33498 -> 0 bytes resources/image/pa/30.jpg | Bin 251272 -> 0 bytes resources/image/pa/31.jpg | Bin 467275 -> 0 bytes resources/image/pa/32.jpg | Bin 244641 -> 0 bytes resources/image/pa/33.jpg | Bin 131536 -> 0 bytes resources/image/pa/34.jpg | Bin 176179 -> 0 bytes resources/image/pa/35.jpg | Bin 43445 -> 0 bytes resources/image/pa/36.jpg | Bin 140406 -> 0 bytes resources/image/pa/37.jpg | Bin 67647 -> 0 bytes resources/image/pa/38.jpg | Bin 164030 -> 0 bytes resources/image/pa/39.jpg | Bin 70063 -> 0 bytes resources/image/pa/4.jpg | Bin 72742 -> 0 bytes resources/image/pa/40.jpg | Bin 68286 -> 0 bytes resources/image/pa/41.jpg | Bin 75316 -> 0 bytes resources/image/pa/42.jpg | Bin 75192 -> 0 bytes resources/image/pa/43.jpg | Bin 73248 -> 0 bytes resources/image/pa/44.jpg | Bin 43740 -> 0 bytes resources/image/pa/45.jpg | Bin 78087 -> 0 bytes resources/image/pa/5.jpg | Bin 79812 -> 0 bytes resources/image/pa/6.jpg | Bin 95904 -> 0 bytes resources/image/pa/7.jpg | Bin 48242 -> 0 bytes resources/image/pa/8.jpg | Bin 31582 -> 0 bytes resources/image/pa/9.jpg | Bin 27748 -> 0 bytes resources/template/bar_chart/main.html | 51 +- resources/template/check/main.css | 182 +++ resources/template/check/main.html | 87 ++ resources/template/check/main.js | 0 resources/template/check/res/img/bk.png | Bin 0 -> 58212 bytes resources/template/check/res/img/top.jpg | Bin 0 -> 213868 bytes resources/template/help/main.css | 100 ++ resources/template/help/main.html | 62 + resources/template/help/main.js | 0 resources/template/help/res/img/bk.jpg | Bin 0 -> 723383 bytes resources/template/help/res/img/main.png | Bin 0 -> 79597 bytes resources/template/help/res/img/title.png | Bin 0 -> 6514 bytes resources/template/my_info/main.css | 235 +++ resources/template/my_info/main.html | 177 +++ resources/template/my_info/main.js | 32 + resources/template/my_info/main_copy.html | 130 ++ resources/template/my_info/res/img/1.png | Bin 0 -> 795897 bytes resources/template/my_info/res/img/2.png | Bin 0 -> 1900943 bytes resources/template/my_info/res/img/3.jpg | Bin 0 -> 494944 bytes resources/template/my_info/res/img/call.png | Bin 0 -> 4022 bytes resources/template/my_info/res/img/gold.png | Bin 0 -> 7522 bytes resources/template/my_info/res/img/level.png | Bin 0 -> 6343 bytes resources/template/my_info/res/img/moon.png | Bin 0 -> 6082 bytes resources/template/my_info/res/img/prop.png | Bin 0 -> 5205 bytes resources/template/my_info/res/img/say.png | Bin 0 -> 4149 bytes resources/template/my_info/res/img/sun.png | Bin 0 -> 4599 bytes resources/template/my_info/res/img/test.jpg | Bin 0 -> 46785 bytes resources/template/my_info/res/img/xian.png | Bin 0 -> 3119 bytes resources/template/sign/main.css | 21 +- resources/template/sign/main.html | 23 +- resources/template/ss_menu/main.css | 6 +- .../auto_update/test_check_update.py | 529 +++++++ tests/builtin_plugins/check/test_check.py | 231 +++ .../plugin_store/test_add_plugin.py | 339 +++++ .../plugin_store/test_plugin_store.py | 140 ++ .../plugin_store/test_remove_plugin.py | 142 ++ .../plugin_store/test_search_plugin.py | 182 +++ .../plugin_store/test_update_plugin.py | 206 +++ tests/builtin_plugins/plugin_store/utils.py | 86 ++ tests/config.py | 22 + tests/conftest.py | 91 +- tests/content/plugin_store/bilibili_sub.py | 37 + tests/content/plugin_store/github_sub.py | 24 + tests/content/plugin_store/jitang.py | 17 + tests/content/plugin_store/search_image.py | 18 + .../response/auto_update/release_latest.json | 39 + .../response/plugin_store/basic_plugins.json | 42 + .../response/plugin_store/extra_plugins.json | 24 + .../zhenxun_bot_plugins_metadata.json | 83 ++ .../zhenxun_bot_plugins_tree.json | 1324 +++++++++++++++++ .../zhenxun_github_sub_metadata.json | 23 + .../plugin_store/zhenxun_github_sub_tree.json | 38 + tests/utils.py | 67 + zhenxun/builtin_plugins/about.py | 12 +- zhenxun/builtin_plugins/admin/admin_help.py | 160 -- .../admin/admin_help/__init__.py | 63 + .../admin/admin_help/config.py | 23 + .../admin/admin_help/html_help.py | 55 + .../admin/admin_help/normal_help.py | 127 ++ .../builtin_plugins/admin/admin_help/utils.py | 22 + zhenxun/builtin_plugins/admin/ban/__init__.py | 76 +- .../builtin_plugins/admin/ban/_data_source.py | 3 +- .../admin/group_member_update/_data_source.py | 16 +- .../admin/plugin_switch/__init__.py | 190 ++- .../admin/plugin_switch/_data_source.py | 227 ++- .../builtin_plugins/admin/welcome_message.py | 87 +- .../auto_update/_data_source.py | 35 +- zhenxun/builtin_plugins/auto_update/config.py | 9 +- zhenxun/builtin_plugins/check/__init__.py | 53 + zhenxun/builtin_plugins/check/data_source.py | 209 +++ zhenxun/builtin_plugins/help/__init__.py | 17 +- zhenxun/builtin_plugins/help/_config.py | 20 +- zhenxun/builtin_plugins/help/_data_source.py | 58 +- zhenxun/builtin_plugins/help/_utils.py | 359 +---- zhenxun/builtin_plugins/help/detail_help.py | 0 zhenxun/builtin_plugins/help/html_help.py | 136 ++ zhenxun/builtin_plugins/help/normal_help.py | 99 ++ zhenxun/builtin_plugins/help/zhenxun_help.py | 142 ++ zhenxun/builtin_plugins/help_help.py | 23 +- .../builtin_plugins/hooks/_auth_checker.py | 211 +-- zhenxun/builtin_plugins/hooks/chkdsk_hook.py | 19 +- zhenxun/builtin_plugins/info/__init__.py | 56 + zhenxun/builtin_plugins/info/my_info.py | 193 +++ zhenxun/builtin_plugins/init/__init__.py | 2 +- zhenxun/builtin_plugins/init/init_config.py | 19 +- zhenxun/builtin_plugins/init/init_plugin.py | 163 +- zhenxun/builtin_plugins/init/manager.py | 417 ++++++ .../builtin_plugins/platform/qq/exception.py | 11 + .../platform/qq/group_handle.py | 25 +- .../platform/qq/group_handle/__init__.py | 125 ++ .../platform/qq/group_handle/data_source.py | 294 ++++ .../builtin_plugins/plugin_store/__init__.py | 22 +- .../builtin_plugins/plugin_store/config.py | 16 +- .../plugin_store/data_source.py | 411 +++-- .../builtin_plugins/plugin_store/models.py | 39 + zhenxun/builtin_plugins/record_request.py | 176 +-- .../builtin_plugins/scheduler/chat_check.py | 33 +- zhenxun/builtin_plugins/scheduler/morning.py | 11 - zhenxun/builtin_plugins/shop/__init__.py | 73 +- zhenxun/builtin_plugins/shop/_data_source.py | 155 +- zhenxun/builtin_plugins/sign_in/__init__.py | 19 +- .../builtin_plugins/sign_in/_data_source.py | 61 +- zhenxun/builtin_plugins/sign_in/config.py | 1 - .../builtin_plugins/sign_in/goods_register.py | 24 +- zhenxun/builtin_plugins/sign_in/utils.py | 130 +- .../superuser/request_manage.py | 8 +- .../builtin_plugins/superuser/set_admin.py | 62 +- .../builtin_plugins/superuser/super_help.py | 159 -- .../superuser/super_help/__init__.py | 59 + .../superuser/super_help/config.py | 23 + .../superuser/super_help/normal_help.py | 127 ++ .../superuser/super_help/utils.py | 22 + .../superuser/super_help/zhenxun_help.py | 59 + zhenxun/builtin_plugins/web_ui/__init__.py | 4 + .../builtin_plugins/web_ui/api/__init__.py | 2 +- .../web_ui/api/logs/__init__.py | 2 +- .../web_ui/api/logs/log_manager.py | 8 +- .../builtin_plugins/web_ui/api/logs/logs.py | 5 +- .../web_ui/api/tabs/dashboard/__init__.py | 22 + .../web_ui/api/tabs/dashboard/data_source.py | 81 + .../web_ui/api/tabs/dashboard/model.py | 26 + .../web_ui/api/tabs/database/__init__.py | 24 +- .../api/tabs/database/models/sql_log.py | 3 +- .../web_ui/api/tabs/main/__init__.py | 58 +- .../web_ui/api/tabs/manage/__init__.py | 284 ++-- .../web_ui/api/tabs/manage/chat.py | 41 +- .../web_ui/api/tabs/manage/model.py | 3 - .../web_ui/api/tabs/plugin_manage/__init__.py | 47 +- .../web_ui/api/tabs/plugin_manage/model.py | 5 + .../web_ui/api/tabs/plugin_manage/store.py | 50 + .../web_ui/api/tabs/system/__init__.py | 36 +- zhenxun/builtin_plugins/web_ui/base_model.py | 8 +- zhenxun/builtin_plugins/web_ui/config.py | 14 +- .../builtin_plugins/web_ui/public/__init__.py | 20 +- .../builtin_plugins/web_ui/public/config.py | 20 - .../web_ui/public/data_source.py | 16 +- zhenxun/configs/config.py | 19 +- zhenxun/configs/utils/__init__.py | 43 +- zhenxun/models/plugin_info.py | 39 +- zhenxun/models/plugin_limit.py | 2 +- zhenxun/services/db_context.py | 32 +- zhenxun/services/plugin_init.py | 105 ++ zhenxun/utils/_build_image.py | 116 +- zhenxun/utils/_image_template.py | 20 +- zhenxun/utils/common_utils.py | 18 + zhenxun/utils/enum.py | 2 + zhenxun/utils/github_utils/__init__.py | 27 + zhenxun/utils/github_utils/consts.py | 35 + zhenxun/utils/github_utils/func.py | 63 + zhenxun/utils/github_utils/models.py | 232 +++ zhenxun/utils/http_utils.py | 309 ++-- zhenxun/utils/image_utils.py | 20 +- zhenxun/utils/message.py | 64 +- zhenxun/utils/platform.py | 14 +- 216 files changed, 10281 insertions(+), 2538 deletions(-) create mode 100644 .github/workflows/update_version.yml create mode 100644 .vscode/extensions.json create mode 100644 docs_image/zhenxun_help.png rename resources/{template/ss_menu/res => }/font/fzrzExtraBold.ttf (100%) rename resources/{template/ss_menu/res => }/font/syht.otf (100%) rename resources/{template/ss_menu/res => }/font/syst.otf (100%) delete mode 100644 resources/image/pa/0.jpg delete mode 100644 resources/image/pa/1.jpg delete mode 100644 resources/image/pa/10.jpg delete mode 100644 resources/image/pa/11.jpg delete mode 100644 resources/image/pa/12.jpg delete mode 100644 resources/image/pa/13.jpg delete mode 100644 resources/image/pa/14.jpg delete mode 100644 resources/image/pa/15.jpg delete mode 100644 resources/image/pa/16.jpg delete mode 100644 resources/image/pa/17.jpg delete mode 100644 resources/image/pa/18.jpg delete mode 100644 resources/image/pa/19.jpg delete mode 100644 resources/image/pa/2.jpg delete mode 100644 resources/image/pa/20.jpg delete mode 100644 resources/image/pa/21.jpg delete mode 100644 resources/image/pa/22.jpg delete mode 100644 resources/image/pa/23.jpg delete mode 100644 resources/image/pa/24.jpg delete mode 100644 resources/image/pa/25.jpg delete mode 100644 resources/image/pa/26.jpg delete mode 100644 resources/image/pa/27.jpg delete mode 100644 resources/image/pa/28.jpg delete mode 100644 resources/image/pa/29.jpg delete mode 100644 resources/image/pa/3.jpg delete mode 100644 resources/image/pa/30.jpg delete mode 100644 resources/image/pa/31.jpg delete mode 100644 resources/image/pa/32.jpg delete mode 100644 resources/image/pa/33.jpg delete mode 100644 resources/image/pa/34.jpg delete mode 100644 resources/image/pa/35.jpg delete mode 100644 resources/image/pa/36.jpg delete mode 100644 resources/image/pa/37.jpg delete mode 100644 resources/image/pa/38.jpg delete mode 100644 resources/image/pa/39.jpg delete mode 100644 resources/image/pa/4.jpg delete mode 100644 resources/image/pa/40.jpg delete mode 100644 resources/image/pa/41.jpg delete mode 100644 resources/image/pa/42.jpg delete mode 100644 resources/image/pa/43.jpg delete mode 100644 resources/image/pa/44.jpg delete mode 100644 resources/image/pa/45.jpg delete mode 100644 resources/image/pa/5.jpg delete mode 100644 resources/image/pa/6.jpg delete mode 100644 resources/image/pa/7.jpg delete mode 100644 resources/image/pa/8.jpg delete mode 100644 resources/image/pa/9.jpg create mode 100644 resources/template/check/main.css create mode 100644 resources/template/check/main.html create mode 100644 resources/template/check/main.js create mode 100644 resources/template/check/res/img/bk.png create mode 100644 resources/template/check/res/img/top.jpg create mode 100644 resources/template/help/main.css create mode 100644 resources/template/help/main.html create mode 100644 resources/template/help/main.js create mode 100644 resources/template/help/res/img/bk.jpg create mode 100644 resources/template/help/res/img/main.png create mode 100644 resources/template/help/res/img/title.png create mode 100644 resources/template/my_info/main.css create mode 100644 resources/template/my_info/main.html create mode 100644 resources/template/my_info/main.js create mode 100644 resources/template/my_info/main_copy.html create mode 100644 resources/template/my_info/res/img/1.png create mode 100644 resources/template/my_info/res/img/2.png create mode 100644 resources/template/my_info/res/img/3.jpg create mode 100644 resources/template/my_info/res/img/call.png create mode 100644 resources/template/my_info/res/img/gold.png create mode 100644 resources/template/my_info/res/img/level.png create mode 100644 resources/template/my_info/res/img/moon.png create mode 100644 resources/template/my_info/res/img/prop.png create mode 100644 resources/template/my_info/res/img/say.png create mode 100644 resources/template/my_info/res/img/sun.png create mode 100644 resources/template/my_info/res/img/test.jpg create mode 100644 resources/template/my_info/res/img/xian.png create mode 100644 tests/builtin_plugins/auto_update/test_check_update.py create mode 100644 tests/builtin_plugins/check/test_check.py create mode 100644 tests/builtin_plugins/plugin_store/test_add_plugin.py create mode 100644 tests/builtin_plugins/plugin_store/test_plugin_store.py create mode 100644 tests/builtin_plugins/plugin_store/test_remove_plugin.py create mode 100644 tests/builtin_plugins/plugin_store/test_search_plugin.py create mode 100644 tests/builtin_plugins/plugin_store/test_update_plugin.py create mode 100644 tests/builtin_plugins/plugin_store/utils.py create mode 100644 tests/config.py create mode 100644 tests/content/plugin_store/bilibili_sub.py create mode 100644 tests/content/plugin_store/github_sub.py create mode 100644 tests/content/plugin_store/jitang.py create mode 100644 tests/content/plugin_store/search_image.py create mode 100644 tests/response/auto_update/release_latest.json create mode 100644 tests/response/plugin_store/basic_plugins.json create mode 100644 tests/response/plugin_store/extra_plugins.json create mode 100644 tests/response/plugin_store/zhenxun_bot_plugins_metadata.json create mode 100644 tests/response/plugin_store/zhenxun_bot_plugins_tree.json create mode 100644 tests/response/plugin_store/zhenxun_github_sub_metadata.json create mode 100644 tests/response/plugin_store/zhenxun_github_sub_tree.json create mode 100644 tests/utils.py delete mode 100644 zhenxun/builtin_plugins/admin/admin_help.py create mode 100644 zhenxun/builtin_plugins/admin/admin_help/__init__.py create mode 100644 zhenxun/builtin_plugins/admin/admin_help/config.py create mode 100644 zhenxun/builtin_plugins/admin/admin_help/html_help.py create mode 100644 zhenxun/builtin_plugins/admin/admin_help/normal_help.py create mode 100644 zhenxun/builtin_plugins/admin/admin_help/utils.py create mode 100644 zhenxun/builtin_plugins/check/__init__.py create mode 100644 zhenxun/builtin_plugins/check/data_source.py create mode 100644 zhenxun/builtin_plugins/help/detail_help.py create mode 100644 zhenxun/builtin_plugins/help/html_help.py create mode 100644 zhenxun/builtin_plugins/help/normal_help.py create mode 100644 zhenxun/builtin_plugins/help/zhenxun_help.py create mode 100644 zhenxun/builtin_plugins/info/__init__.py create mode 100644 zhenxun/builtin_plugins/info/my_info.py create mode 100644 zhenxun/builtin_plugins/init/manager.py create mode 100644 zhenxun/builtin_plugins/platform/qq/exception.py create mode 100644 zhenxun/builtin_plugins/platform/qq/group_handle/__init__.py create mode 100644 zhenxun/builtin_plugins/platform/qq/group_handle/data_source.py create mode 100644 zhenxun/builtin_plugins/plugin_store/models.py delete mode 100644 zhenxun/builtin_plugins/superuser/super_help.py create mode 100644 zhenxun/builtin_plugins/superuser/super_help/__init__.py create mode 100644 zhenxun/builtin_plugins/superuser/super_help/config.py create mode 100644 zhenxun/builtin_plugins/superuser/super_help/normal_help.py create mode 100644 zhenxun/builtin_plugins/superuser/super_help/utils.py create mode 100644 zhenxun/builtin_plugins/superuser/super_help/zhenxun_help.py create mode 100644 zhenxun/builtin_plugins/web_ui/api/tabs/dashboard/__init__.py create mode 100644 zhenxun/builtin_plugins/web_ui/api/tabs/dashboard/data_source.py create mode 100644 zhenxun/builtin_plugins/web_ui/api/tabs/dashboard/model.py create mode 100644 zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/store.py delete mode 100644 zhenxun/builtin_plugins/web_ui/public/config.py create mode 100644 zhenxun/services/plugin_init.py create mode 100644 zhenxun/utils/github_utils/__init__.py create mode 100644 zhenxun/utils/github_utils/consts.py create mode 100644 zhenxun/utils/github_utils/func.py create mode 100644 zhenxun/utils/github_utils/models.py diff --git a/.env.dev b/.env.dev index 44f19fe2..d9a7a016 100644 --- a/.env.dev +++ b/.env.dev @@ -16,6 +16,8 @@ SELF_NICKNAME="小真寻" # 数据库配置 # 示例: "postgres://user:password@127.0.0.1:5432/database" +# 示例: "mysql://user:password@127.0.0.1:3306/database" +# 示例: "sqlite:data/db/zhenxun.db" 在data目录下建立db文件夹 DB_URL = "" # 系统代理 diff --git a/.github/workflows/bot_check.yml b/.github/workflows/bot_check.yml index b4502d64..ac532629 100644 --- a/.github/workflows/bot_check.yml +++ b/.github/workflows/bot_check.yml @@ -3,8 +3,16 @@ name: 检查bot是否运行正常 on: push: branches: ["dev", "main"] + paths: + - zhenxun/** + - tests/** + - bot.py pull_request: branches: ["dev", "main"] + paths: + - zhenxun/** + - tests/** + - bot.py jobs: bot-check: @@ -28,7 +36,14 @@ jobs: uses: actions/cache@v3 with: path: ~/.cache/pypoetry - key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} + key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('pyproject.toml') }} + + - name: Cache playwright cache + id: cache-playwright + uses: actions/cache@v3 + with: + path: ~/.cache/ms-playwright + key: playwright-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} - name: Cache Data cache uses: actions/cache@v3 @@ -42,7 +57,9 @@ jobs: rm -rf poetry.lock poetry source remove ali poetry install --no-root - poetry run pip install pydantic==1.10 + + - name: Run tests + run: poetry run pytest --cov=zhenxun --cov-report xml - name: Check bot run id: bot_check_run diff --git a/.github/workflows/update_version.yml b/.github/workflows/update_version.yml new file mode 100644 index 00000000..9e788ae7 --- /dev/null +++ b/.github/workflows/update_version.yml @@ -0,0 +1,65 @@ +name: Update Version + +on: + pull_request_target: + paths: + - zhenxun/** + - resources/** + - bot.py + types: + - opened + - synchronize + branches: + - main + - dev + +jobs: + update-version: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Read current version + id: read_version + run: | + version_line=$(grep '__version__' __version__) + version=$(echo $version_line | sed -E 's/__version__:\s*v([0-9]+\.[0-9]+\.[0-9]+)(-.+)?/\1/') + echo "Current version: $version" + echo "current_version=$version" >> $GITHUB_OUTPUT + + - name: Check for version file changes + id: check_diff + run: | + if git diff --name-only HEAD~1 HEAD | grep -q '__version__'; then + echo "Version file has changes" + echo "version_changed=true" >> $GITHUB_OUTPUT + else + echo "Version file has no changes" + echo "version_changed=false" >> $GITHUB_OUTPUT + fi + + - name: Get commit hash + id: get_commit_hash + run: echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + + - name: Update version file + if: steps.check_diff.outputs.version_changed == 'false' + run: | + current_version="${{ steps.read_version.outputs.current_version }}" + commit_hash="${{ steps.get_commit_hash.outputs.commit_hash }}" + new_version="v${current_version}-${commit_hash}" + echo "Updating version to: $new_version" + echo "__version__: $new_version" > __version__ + git config --global user.name "${{ github.event.pull_request.user.login }}" + git config --global user.email "${{ github.event.pull_request.user.login }}@users.noreply.github.com" + git add __version__ + git remote set-url origin https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git + git commit -m "chore(version): Update version to $new_version" + git push origin HEAD:${{ github.event.pull_request.head.ref }} + + - name: Check updated version + if: steps.check_diff.outputs.version_changed == 'false' + run: cat __version__ diff --git a/.gitignore b/.gitignore index 64932223..db7233b2 100644 --- a/.gitignore +++ b/.gitignore @@ -174,11 +174,9 @@ data/ /resources/image/prts/ /configs/config.py configs/config.yaml -./.env -./.env.dev plugins/csgo_server/ plugins/activity/ !/resources/image/genshin/alc/back.png !/data/genshin_alc/ .vscode/launch.json -/resources/template/my_info \ No newline at end of file +plugins_/ \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..78547a79 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + "recommendations": [ + "charliermarsh.ruff", + "esbenp.prettier-vscode", + "ms-python.black-formatter", + "ms-python.isort", + "ms-python.python", + "ms-python.vscode-pylance" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index dc0ad84c..6ab1cbda 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -23,7 +23,37 @@ "ujson", "unban", "userinfo", - "zhenxun" + "zhenxun", + "jsdelivr" ], - "python.analysis.autoImportCompletions": true + "python.analysis.autoImportCompletions": true, + "python.testing.pytestArgs": ["tests"], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true, + "[python]": { + "editor.defaultFormatter": "charliermarsh.ruff", // 默认使用 Ruff 格式化 + "editor.wordBasedSuggestions": "allDocuments", + "editor.formatOnType": true, + "editor.formatOnSave": true, // 保存时自动格式化 + "editor.codeActionsOnSave": { + "source.fixAll.ruff": "explicit", + "source.organizeImports": "explicit" + } + }, + "ruff.format.preview": false, + "isort.check": true, + "ruff.importStrategy": "useBundled", + "ruff.organizeImports": false, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[yaml]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } } diff --git a/Dockerfile b/Dockerfile index 18776e5a..343d4d96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,13 @@ WORKDIR /app/zhenxun COPY . /app/zhenxun +RUN apt update && \ + apt upgrade -y && \ + apt install -y --no-install-recommends \ + gcc \ + g++ && \ + apt clean + RUN pip install poetry -i https://mirrors.aliyun.com/pypi/simple/ RUN poetry install @@ -14,6 +21,8 @@ VOLUME /app/zhenxun/data /app/zhenxun/data VOLUME /app/zhenxun/resources /app/zhenxun/resources +VOLUME /app/zhenxun/.env.dev /app/zhenxun/.env.dev + RUN poetry run playwright install --with-deps chromium -CMD ["poetry", "run", "python", "bot.py"] \ No newline at end of file +CMD ["poetry", "run", "python", "bot.py"] diff --git a/README.md b/README.md index 884b7d69..fe7c8248 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@
-## 绪山真寻Bot +## 绪山真寻 Bot
@@ -39,11 +39,12 @@ :tada:喜欢真寻,于是真寻就来了!:tada: 本项目符合 [OneBot](https://github.com/howmanybots/onebot) 标准,可基于以下项目与机器人框架/平台进行交互 -| 项目地址 | 平台 | 核心作者 | 备注 | -| :---: | :---: | :---: | :---: | -| [LLOneBot](https://github.com/LLOneBot/LLOneBot) | NTQQ | linyuchen | 可用 | -| [Napcat](https://github.com/NapNeko/NapCatQQ) | NTQQ | NapNeko | 可用 | -| [Lagrange.Core](https://github.com/LagrangeDev/Lagrange.Core) | | LagrangeDev/Linwenxuan04 | 可用 + +| 项目地址 | 平台 | 核心作者 | 备注 | +| :-----------------------------------------------------------: | :--: | :----------------------: | :--: | +| [LLOneBot](https://github.com/LLOneBot/LLOneBot) | NTQQ | linyuchen | 可用 | +| [Napcat](https://github.com/NapNeko/NapCatQQ) | NTQQ | NapNeko | 可用 | +| [Lagrange.Core](https://github.com/LagrangeDev/Lagrange.Core) | | LagrangeDev/Linwenxuan04 | 可用 | @@ -57,8 +58,9 @@
- + +
@@ -66,7 +68,7 @@ ### 1. 体验一下? -这是一个免费的,版本为dev的zhenxun,你可以通过napcat或拉格朗日等直接连接用于体验与测试 +这是一个免费的,版本为 dev 的 zhenxun,你可以通过 napcat 或拉格朗日等直接连接用于体验与测试 (球球了测试君!) ``` @@ -82,16 +84,13 @@ AccessToken: PUBLIC_ZHENXUN_TEST “不要害怕,你的背后还有千千万万的 伙伴 啊!” -| 项目名称 | 主要用途 | 仓库作者 | 备注 | -| :-----------------------------------------------------------------------------------------------: | :------: | :-------------------------------------------: | :-------------------------------------------------------------: | -| [插件库](https://github.com/zhenxun-org/zhenxun_bot_plugins) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 原plugins文件夹插件 | -| [插件索引库](https://github.com/zhenxun-org/zhenxun_bot_plugins_index) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 扩展插件索引库 | -| [WebUi](https://github.com/HibiKier/zhenxun_bot_webui) | 管理 | [hibikier](https://github.com/HibiKier) | 基于真寻WebApi的webui实现 | -| [一键安装](https://github.com/zhenxun-org/zhenxun_bot-deploy) | 安装 | [AkashiCoin](https://github.com/AkashiCoin) | 新版本未测试 | -| [Docker单机版](https://github.com/Sakuracio/zhenxun_bot_docker) | 安装 | [zhenxun-org](https://github.com/zhenxun-org) | 新版本未测试 | -| [Docker全量版](https://shields.io/badge/GITHUB-SinKy--Yan-4476AF?logo=github&style=for-the-badge) | 安装 | [zhenxun-org](https://github.com/zhenxun-org) | 包含 真寻Bot PostgreSQL数据库 go-cqhttp webui等(新版本未测试) | - -PS: **ARM平台** 请使用全量版 同时 **如果你的机器 RAM < 1G 可能无法正常启动全量版容器** +| 项目名称 | 主要用途 | 仓库作者 | 备注 | +| :--------------------------------------------------------------------: | :------: | :-------------------------------------------------: | :---------------------------: | +| [插件库](https://github.com/zhenxun-org/zhenxun_bot_plugins) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 原 plugins 文件夹插件 | +| [插件索引库](https://github.com/zhenxun-org/zhenxun_bot_plugins_index) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 扩展插件索引库 | +| [一键安装](https://github.com/soloxiaoye2022/zhenxun_bot-deploy) | 安装 | [soloxiaoye2022](https://github.com/soloxiaoye2022) | 第三方 | +| [WebUi](https://github.com/HibiKier/zhenxun_bot_webui) | 管理 | [hibikier](https://github.com/HibiKier) | 基于真寻 WebApi 的 webui 实现 | +| [安卓 app(WebUi)](https://github.com/YuS1aN/zhenxun_bot_android_ui) | 安装 | [YuS1aN](https://github.com/YuS1aN) | 第三方 |
WebUI 后台示例图 @@ -113,10 +112,10 @@ PS: **ARM平台** 请使用全量版 同时 **如果你的机器 RAM < 1G 可 ## ~~来点优点?~~ 可爱难道还不够吗 - 实现了许多功能,且提供了大量功能管理命令 -- 通过Config配置项将所有插件配置统计保存至config.yaml,利于统一用户修改 -- 方便增删插件,原生nonebot2 matcher,不需要额外修改,仅仅通过简单的配置属性就可以生成`帮助图片`和`帮助信息` -- 提供了cd,阻塞,每日次数等限制,仅仅通过简单的属性就可以生成一个限制,例如:`PluginCdBlock` 等 -- **..... 更多详细请通过`传送门`查看文档!** +- 通过 Config 配置项将所有插件配置统计保存至 config.yaml,利于统一用户修改 +- 方便增删插件,原生 nonebot2 matcher,不需要额外修改,仅仅通过简单的配置属性就可以生成`帮助图片`和`帮助信息` +- 提供了 cd,阻塞,每日次数等限制,仅仅通过简单的属性就可以生成一个限制,例如:`PluginCdBlock` 等 +- **..... 更多详细请通过[[传送门](https://hibikier.github.io/zhenxun_bot/)]查看文档!** ## 简单部署 @@ -135,9 +134,6 @@ poetry install # 安装依赖 poetry shell # 进入虚拟环境 python bot.py -# 在Linux系统,你可能还需要运行此命令安装playwright依赖 -playwright install-deps - # 首次后会在data目录下生成config.yaml文件 # config.yaml用户配置插件 ``` @@ -159,6 +155,8 @@ playwright install-deps ' # 此处填写你的数据库地址 # 示例: "postgres://user:password@127.0.0.1:5432/database" + # 示例: "mysql://user:password@127.0.0.1:5432/database" + # 示例: "sqlite:data/db/zhenxun.db" 在data目录下建立db文件夹 DB_URL = "" # 数据库地址 @@ -167,7 +165,7 @@ playwright install-deps ``` -## 功能列表 (旧版列表) + ## [爱发电](https://afdian.net/@HibiKier) @@ -325,7 +323,7 @@ playwright install-deps ### 感谢名单 -(可以告诉我你的 **github** 地址,我偷偷换掉0v|) +(可以告诉我你的 **github** 地址,我偷偷换掉 0v|) [shenqi](https://afdian.net/u/fa923a8cfe3d11eba61752540025c377) [A_Kyuu](https://afdian.net/u/b83954fc2c1211eba9eb52540025c377) @@ -343,13 +341,13 @@ playwright install-deps [本喵无敌哒](https://afdian.net/u/dffaa9005bc911ebb69b52540025c377) [椎名冬羽](https://afdian.net/u/ca1ebd64395e11ed81b452540025c377) [kaito](https://afdian.net/u/a055e20a498811eab1f052540025c377) -[笑柒XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) +[笑柒 XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) [请问一份爱多少钱](https://afdian.net/u/f57ef6602dbd11ed977f52540025c377) [咸鱼鱼鱼鱼](https://afdian.net/u/8e39b9a400e011ed9f4a52540025c377) [Kafka](https://afdian.net/u/41d66798ef6911ecbc5952540025c377) [墨然](https://afdian.net/u/8aa5874a644d11eb8a6752540025c377) [爱发电用户\_T9e4](https://afdian.net/u/2ad1bb82f3a711eca22852540025c377) -[笑柒XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) +[笑柒 XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) [noahzark](https://afdian.net/a/noahzark) [腊条](https://afdian.net/u/f739c4d69eca11eba94b52540025c377) [ze roller](https://afdian.net/u/0e599e96257211ed805152540025c377) @@ -374,11 +372,11 @@ playwright install-deps
-## 更新 + 9n0YY6uv>J6?q3OIZ8uW2&WnkMLB9IVWUgar zuY~D_HHT`oc16pZQedM3|Enpaaiy zr$qm2S+FDk4*R>Z$*RW112S@K<+z=6hRw|dCzo*ZRpN58eUD>9B>Gz=--l#sDI_N*j-@)JEg?zr(-u}By93;;$d~U#Xb>~J^H<-Z1 zA-kVlOy05XJN5TY#mbAy;O*#mwr)lTU4tTR)&K&H1#C#+Mo&zkV(sDPn#uIhcsx!Q zDoeI7vFcR-DhT+O&R8g<)7dc+gl&)P4i!^KCvoSG?cY8RKl0anvkoO}qLTMAG3n<7 z=`d>8c{ZDBf|HWT$4DuZy&3-4pc@G%Jp^KR-J=X4Sh`T{ojLHDfM^2 z(eOG7xMYfa(?mFy_Hy4Pe)9pfaOugn{9^EJCj8tZw^7s-OfYRs(EYS9``EP?SQ9#> zwduJ)A#%&$j#V9IiJ$-HkGcGV8LX%0i8HBS~!!cT^mY+z{0GGe%~E$4}U1F~E4%*ZUfOq7cug ztLy=L!!6H;j_~huim`kveUAyv|fYUEYM+|x)6`(p>vrS8vke!z!*6OfB>*!Y~ zXbMP@TpCiCT{%_p0H&^w!GT9V$NdA)A-Jaf0+T=b#1%JMwQt@6XQy<0Kl`S-u3v_a z$_+D@Z8)WqNa8ZEdf5RMW==PozK@^pz4Z16^_nWY`)vTUr#v|zJP(=EB#-{&)Hqt= z(GDE(q@04D*X396IaHe|$9JCd%gFW3fGivep~G5=`mc(o2B3_)yZ-1%lTXcb)McF9 zenUmEq{7|9Wj-PCwU+DVY`#t>XQRKqV&Un|e*6@q(pu#DIk<1x2o{pLplgy%v&nrD zs-iIo9s9ge4S%Y8w*i@IGFVysRc8 z$ui3=$TMvfre`deJb$bP9wAK|yLaLI3R8DlS}aV=@9{P{!FTy_*VnS)wI9pX<#oIx zxd}$p`Mn(vnX`rJFcQ-ec6fiC#tKVz(&-6hM_z5_m@X_H8f|c1tk!$&J*^4f3RFSX zY_E=Ij}3l()c@cptgh8@oo8TAiX ze^$eC*(*9&_DA0M=u?lgGpstnzJyyf4T1-j_?bpa&&1#q#0&GM%*{)w?DX0_!Ejv( z&u`tw9`1bLV*1r{&gg(T*F8YUd+tqgbFE_I?Q=Vx55|Dchx7Ok_>rY(m%WRNUR;ay z*<_SAD}VdxM=c%Ig^{C>(m`{i<%^9@zg6j}@rmEuBPFVxhdi`H&C2lKeq3MgQnTS5 z=63nED9P>5z(7B*H5@YPb{dt<0JU~g7rPP^OqDWxeW8eT{-{-}?^1|>D^_)7*X0I? z;PG;k_~=v&AWos8MU6cE@$unKcj?h7sod?l0|%}x& zn(TO4nNBWiwcNjDo&NWGQI`||Uw+PIfCxZCSVf9yGQ>sxwRVF6%=5p${crKXV6WiY zul21qbjdtUZ)#|RU;RF!F{u^sA~1NwP(-=a7hJ~cMn)GtM3eZwV(Brt!d;HDXph*WOC7cuX)4WSad+Lq~Lb={1}_gqKo^Jh3V+)ErUfcV%N zoB^+^J!arLJ%i}K|U67pn zM=YFr97+*Bp4hN$=$7)_@%G_6LHuf5>A73f7@J%cr#K>(T#_xI|9X z`iroPCE3a8ag%L(`!9AF`!v~#ydsTCH8c85nsesm)!8opO_ABg6sp0HMVmn4_6qi| z{0oU@@X%Qi@Bl1QIEetOR@xrk9 z5uoMit5v;y3RYIeY{XQdY)m3-*Z#2z4_5;tIW4u|MNfJU^pv z_=1VXs2@F4chb}6PE&T>mu|Vs=x(Ft{&w@P)K5=CtAGOnJwQSjx*7pubzTgDBnc5- zIS|m305Q-XkfAPTO@@FY++IxsC0sD{j_~^ZE#VU*Pz6$WWxqopQ@zp%UQK!&PeCDO zadcnC@?vy`Y{V>lZuL)3yV>OiJ+LGaFU6{uWpFK+5Jc7LLLNS` z%b;D0jG^mo>2HGn?5mbo?PtYtKqC3*)0;ZbCU8~W58vwhd{mK-H(G{Hlu}?IGWvUb zg!|tHe_UL&biMr?V`mtH4AEgcY*WagXtwkOsW+*>g3{_I6V+47-L(Eupd?Xb}p1RvjNZ3iD zn_a7z)|oS?XZ=aX`q)P+BLfzy1R@8M93+B{tAg3@2)4u3?P-$%I>`N1hP0d7aWMco zLpBS_%qnykg!VpO=P#)QiNsA=8?o73C!m85u~*C%CgI>{rm~Xz~0jyxMMGr)0iskD|>;3d-ZzVw3NYyv*Kwk{ES-?@m`~s|F`rsGiZq#K-4)Uhs4+@8!52-sW8@SCyD1 z1Tn`o{$6c9<+a1@2YIct%d_n}L?T#;8pK$Fc4^EaN)vcvFsIyc7aezgsqeuB5@(d6 z$(2Vu2MTdPZkLmR#;-tuOCo0^uX5-e*uQcJN zpNc=Nkj@$YKOd3Mi3aWSwfD(8k~VWepIPm<{dHTIcGJZb$z3rGPstaZzSQWkOMa(4E@w-1 zw@&u-K)!R}=5@PY^tbgdB;s01Q{A{wkf6W>h0|P4doHRFY&C1Gz zLuWA`iDsuAm%wXj!x>nsY@N|u2v+=Fz1jryiFkZW44w*@V*-6U*06G%DIn#+L-cwz z#6m6!P`*zeubc1wA9r&j$u(Wq61X7^z-RDT6x_VocRXIarpi#7YA?IMLVP!*1CbWS zWTWi#qe6j3*i8us4J%Cn7Glscs@jTBiRuCU042%{8au6{@U_O&OLL+!ooaEqNi!YH zx^Gm#t^7Q^8|CwM8-G2Ijtar90&8BkYCiiV^>zCScwr~f5L4|Oq(NNt zL@FXmUS+w6P)jljz?`@v2DJ>(84pp*aL;)#xR!&D&3}I;v^ySr-D7Tk*!7lLL&)z` z+tS6PE>c*DHZ&azzPZ%-V}Q6jUZKkL_s)q<8#g=W?P;a#_SRWf00xLL+jtSXb_pds z{rnfK86`_!n%I|K52rSwHec4x7TDS~t|C1+nH}6KaY_93|6uyc`OObm_q7LQ(a--d zZ;AKpC#Qd;M%!w$ciR1e((VcDYR9F8G7`vh_tMg$2mMcT$XY{{Ue-qer0+Nf1nMT1 zqL-GLxu!X(Q1`+fFAK>R=zxgs%mXq~B5Ey5rGg)5h&@0w3}^s4g)n@<*TK`eLoaaH zdAkf4bhig1jYXi7aG*D)$YZBLs$Zk_CHVf%jfb|3oh?yD(~cKgTpFkY&JFoJp)eN? zCr1v#_I}tqmZ-eH-j_|Ytl&l$rNQRH=a|K^TXEIlQy@v7V1dGeOoE+}u@sjBs+dl` zzP#jnKir+KwshU*Ugq$*+j(p{j6I@!6X0jzxt#_gfd_V@E?+S+Ge@8&aL7~S=;F|2 zi)bK)Rb|=@5Qbppbbjba?UZ8-pnVw|q)=wihsRs|t@BT7`c< z*um#MC^;lu@mzto*c{j`-74TK@GL5rJi-oHvup)~Im}_3H2Rmrw%QC)-m#O2CBk)Sr`=97cfNymtL-S zc-QDvxbNSz%BdrM3*C;~m6Tg-b9@A2ji-6Ha~|*A73C*-i<~?EJN7(aWw>!I$;Ost z?sLD)UQ!>{2;OnxZ+_H!+_!R|YFZ>Z?rSquub!j&Piq#g8xk#`9<2+~|G2^bHjpc{ z@1$Hkr4~2-qp;m+`r^085|Pv3MT}y~H}$-88|KD8QJI{4+Rb{!^P=bg_(e^NE^|$m zovI6D0Wg zra4xN3x$QOyxHL%EiI{x6$-&R0-2c{bv$3>r>=6`PB~-7U2YQ%>oxO9fwn(rhX=vZ|sC zVm&Kk!Rr0{{gXa5GxJ5K;wR|qtR~U#3!_Ky(pb$s67gox?V$&->Cu3%l-6SmkD3U_ z+*B2c)WjW;P1`Njf8%YX~eg$3VC_KZIBr!Yu3xrIqQ#^$kusc@l-q&&&OG;_Rmg%s1v+TK}9Ep#h7nGrAI@O{P78V7-b_0~HMdW^< z|Ee!FM#n5wO_*v>n`~w!vO3u-Hj^e;P(-JRR$88tey1)OAZc|>iO<- zh?5avQkD*=JcH*11*ElfAe~@su1hHp`I!))R^5uYQHuVt%87HkJSk}?x)&>7UR>IG zZn#+bfj3D(-fbDMg@D_e%o-A*&nQf!fD$8FR7zSLUM(-T)&I2`?17v=TeF$9mKkD~ zt8hJYSk50KSZ2hQuO01~FS3{zmguCKW{613bEv$Ptln(=)2b;`W~8=C z74{InNqr_kR7NN=!WmKqsKU0dwFM`hB5hs@CdxF;tZ#PF#lcQ9%k?!9=#j9$B<@5B zSLjgPj*lekft0_yV3Ki-yJ+;(pM&Ljytv#6Gulnv`kC8?2D{GorB!XvVhQP{$1VpW z^E4^cK*HI>V&y6SK0!IS!c=Zg6@s(*)ECB;n>nkGus6Y5+Qxvr9`{Wl#pvDX{cUF@;mX6N1}KFR){ zQC_#XH9Eqp7jJZx?S6p^dr9nhDWJxiyAw^+&#qA6nL~XGx>F zmTy4-J>1N5sdj9|cn?`7XKL+F^EBt$ z{y5EvHnr@u}u9FBx5)U&hjk1q(=<;BrLVp7b6=beD+6=rOBWHL!5l`V?a zGL1VbC2W~Cg~BD~W2sLEATPAeyR+L@6yj#WbSN=-x+r*&LMm8MnXrPLa=f{N+ z@*$)!c{g6`m17;P71l^d*@z3d$;2=X>tCf6?9zR>cwl}(U$#orh{ zkYz8-5U(_Q6g-e^ra^~PLNs

z42Pz%%&Av^_0*C+hnc9{woZKl})7g~u&H!&Y(L z+%bhoc_=aJa}U2hS9##ittPNpHk}4%7#SNO)vHLz-g$kH)qd9z8MpBM(@+@_v}rJ+ z-)3qkS-VjD*_UfCox(^(U({S}a7z7k@Q2~bg-<0S?BYxt{bTcd;)a<5iTGN%+3IL( zn51^+D3ToDPePMLabn;(t)5mP?qV1k`@g zspl|u!VrTjV1;8aUjYFxa@wSGgOrUl#Pn3xL>4MX70~MlD%8u9r;Y%!df0J06f_i*f=YG$Z7~D$$E6W@T z9upeR!Fpb1D}EvLmLv+wfo|pm4h-<%@OP})?$UMf{xc8xK<2*~h(mtlU^%MuCVbW8 zV&8W-LaxORH?aV)O{G!|g?Q;Jj9%r&iB~mEh?LO}EjChI-ZXa4Z zS5lnUhvlg5^$gq9jD#~>JSxE%i~r^M{lj3_(^F(#N1y6`;ntWWtkw=^F$8g;tA<VP5iF(jG zL&PT(kG(Thr>_+SyE{K3Lqe?#iubKJxisyB{>cAF6{}~uR2(Dui)OHWWBB`bLW`+s z8Wqu~U)HR))SHy;ZB0GK;^Jnw{17w9nWlA}-%@FQk2{Hm#gH<;<67h69E0DHQ0yDP zR#DlWj`+U;9sfKgM-WX7;grl3`lo=ugcr*^qWybud90u5IZI##&a@|%#GiP4?HT9t>0 z{z`q2x^=Y*X9&R%yR*L!e4Tr3e4*U}eIjwW6s2QM0OKM(mz|z9yLBlgqVDqZ%$<*= z*=JxLxbL5wnD|ittR%X$3)hE@DEj=+ubRxRv#X*5MA-kG(9`1b!vM_1`=|ZAz3>Vb zGIEwB(fXYAZ`d!!Z2-qBJg`i*ao(KTkJi*|%OZcY_!nQwpFJIO!bW@k>ho6HDl2IFCIH1*JUaUqaDFVoXc8bE3 z=mxkJC6by~>5fHVikS#ou=ss^y+qxMzUW3{jSGm#umC|MI6@A}tx`ZRqYug8!zPw7 zLyDqw1OAAHA!m}n2nU2Alpu5?k#ps`u~{-CaL+~wTU+9n7qScZp6@CW^_`s4#l^-_ z*0IXV(u0(c7}biN{u_=K8gZm_&%5~8h>rNncG{^VybUXIWmTVT^Lt*&n?U6Mc>x$4 zOEMG9%q5egjZ5(wSY|I)J{pD2i0iw~SF%7L8=FOm27F61c9qj3J86cx>@%wDbqWzk zXvch*0wwpK-_Wl&oHvPCE9nAxl{9|}2b%aH!(y?L^YiPAn+!a*3b_MA1<-+v*ai>k zOEBVs()dkY&4jD~5=1fxatF>Rg*<)^4o{GOKGKe$e07CB*f$7H-1PTZW-G9BLkbCE8~# z@65XG?@cT11kJma-q&>qOY!)dCIdHA{DN?=%C9uNs~J4MmQ7vl-(*D*9pI=4EK02&iavJfgT^BgFAp;F9h|7Ik{BcM&EpKynerVWN1yS)V`0kt*OI-CtBE@?jG zW%G`e&C@>Rw2Z+MOIc*<(MtzZ*a%$DVF5df^B$>$phQ{$b{GJr}{v%F7Fy zIhl)Q^7p&vWc;aJR`b7igK}=Wj$tDe&e>pH)#Z@3aMMG%>t$_$DB~^E`eSCI>_{#B zeHSnL-;vF^o#dpw{@nRr4MlSlSCcljGG5FRBA%J&n?sbA&1v*+=&{-T)_g>nz6Qm& zaz_HmteJAK5h0lx>XqaHP%bnPMc7FyZDl%y1a@m}pxm(xi^tgAcBjYVposmXaV8U} z3BhmQ2(i-Ht>#sDqO9+oJWIN|HhJ{pXStSHr9oO`a9V@7?B@^+8h=#Fl zB;#`axIV_scpaP;LIHa5{G)E53#d9} zNP8I-aJO4~k~&V;_hrzhLySfwo7xGLMsE;%c;6-OLmd?2@&CA=ElWXzNJ4}6uw>Br zDo!E;k`JxX>q?v0hlPdfqv=Bo=l~Qsqh84A@jou#ti2^hicvAgYV~eJ!&g@U(4k2% z63qf(02CBv_Om4|Dw==1KQH!j6C)!Raxxrl$q^FNr=R+-Ut0uaRWxW|x$Jb5d3CDg z!|}$kooJnNzSE`t5YGp|X~H(zBr4IK;0^DOY8B{xKR^N+nHs{r4Q@zf5q`y76#-t8Y7`t3J?xDuX$dqSV*vrc7Wg10vBc6Oj%-yq$wW=j10 z$pRO~*vC@Si?D^dS;NczL49h3#4c%`d?;l_L{O6ne_7V^LTuYlz_h!I*L;%5UuDv0s{2J$&*x~BG3Ys2OX=G zoTOQW_$njBLjc(`MCcIkv^0-jf_2}vI$AzQS~maqy_?y(S-Lc`3V3&!Z*3J~?)G+w z#{>-{QUXNdca{qSX0qgtyOoyt%zKAbnZ5nnm{g%Nia$2qTaDVl%V>%XI_gF{s0Ypb zd;b3A(Y~&=%kA*^xf%VK*njGMr@@uU_-fVum`l$?MN)odFa84&ed4+6hDATXmwOC)Uge6f(Kp~t=N0}Km&$dLz zMG`wA6!DN{lGg)0_L)f&dK!Ri>*nomi6w0|!`;2u31jZ-oO*g(4(~J({iD-}fKdo@H z$&2*cu zz_^?YIgQe2nPbuu)b4KH`}QuTUF-GMM{qx0L0HQz6&hMRpoGlO%n%z_)X|YlwE7?g zF@^LRVaSq^;KwWg-0%L~TvPyWwVhE0SmkU(7DjUNF*AXrN~8LJ7E;<@#;-vQ3UB+` ziqo^^!Cr))ub+eNT_yBs?fkF&SOu#aLF48Lwh_PQSH`{Vo-Mz~m`{#r5d}=R>tstD zS6Ou@f2~^u?#|M!o-BPQi=Y5(@KFZLX@za*h}hx+l+gI2?-h~_^E2`=7Sn7&&99U^ zx?rM1A(S!TGTn@zoNT*4M8ZY}-)7}smQ-TIj}#IBgkg-X3f!FxQsS@lT31o22sG$5 zshE+Ju^(tm8@%Sqc&H&I@PP@tTCw6W%4a$9s)qI{S`6+Rbm!EN@HDl|TtY%@m5K!- zykH>Z(&FtiQ1-Ip{o!a^j2v?}7;X?z02?r;#S%@;?|Cr3v~>j{Xepg(RQhg0x4&{$ z)nwVKB2pA4ALoA#)bR3F%82B@T?>X&ZLyQr>*5f)FQ`%D@j5f%gtu)Upt1fc7JJwThM8_w{}N=wnH_z(VGQ8lZ2R95 z>YMg|p6!0wR4R)XV{9MD`#6J%AV#^fy{1WxoQtMzxiK~z@%QuHZAm-TKKo;AVe~y` z$s@4Z&(c~W-BiCFO~ChQL+)nCzo82h*3R$ih83{Bk;hm5_;xh==>>(_K}PaN0pFIg zO#Su6Zr6BMYkSSsFRnRAF1}&2b-}hqwJB59+FJbwCvK*zVATaRkqiGuV6#v8$JK%N zC3oX$1>0)+Y_0;43pYaTbogMZHk@(@v@%+^WpV$qM@8QGH63{r7IU z41@;`1t4;{EUer3^{{)ATCC0K(Xv<~93s(9F>@;*jjrCA5vDj;7|L4#(@f$=2}e>v z1et|f`@|lrOd>0Oqvl^BhWeC=pCNCVUnhM$9#p1!FzMu7(Uc1QO5#i-g55#Z^ZQP9 zOK0C0H#nNW87{Xn1})271Tz%0*f*SZzktFN#1b_*JZ$aU{@W+1l^RUMJf1tLJoeD-`%AV^);kzb7Fe*{F(?|2(~IaK3eJXaT3h`=1|3 zDQ?P^DTbFriRV*E6wX8ihK7b}h5$?`&(`K@@-oH$nx~gi1OReM-&6AjydUj1|MIZ= zDFt*qO0=kuiUZJKJUl%u4M-51C=DD1rL8hWam2_u?-wA+qTnPz!_hG4wh_s&nSjK! z(o!?Cuc$G^DrNzfickSyocyJAnQVFuGvq_p+r-I~EmLr$>id}frq$xW@Av2~@BS6D zjLnV4U~A0Bt0DE?+fGr*!8=&rqy*TO6YRg3 zIW3odCZ7)iTSP9kXEy_7!DXM5F6dS26YI_IaW=aWllERED12khoEsN{pqLq3?0;4- zYlRmpdF1EWHm|#GE7oPjvvf0#RLwS@St&$M8_UBk7*-osL2JFy=Ns}tX8-}QETfz! zW&mYCuS|+4eaw=&SbAtc;ljVMFR5oe8eSR~g079FiKKad!z-?j;920w6$r?_fr+do zXsHU!ZP$fvIIPlXuhfB<>rBY5=?cllL*T;X<4ZPCik5y$jw;r1M&J5g))9? zq@#WltbzxGbeK=kRF26kbizVVHdV-j77#U z8xJWWBgaB3gQJ$er>dCSoPj-3vPF}*X?pVTmWr%e$;fm z$v|TPu#2h`RSid=3$dk>u`*^Uu+0Dl31*W}Rclh;dpGKCyG7xRY%7#h$WSj71L0pw z*ElBhjV9{~nCn?gcEdy*9d&6_rw##>ntGxpnBsf1w%ioK5+U6*yGd%|SVbOXv3Z$! zh(QMY-nbc-4gi-&GjN-w+3)}Iyx^qqIaB%ZM%nrD)TqbHQrOk{Gv5&4kgs>LHWbdn z`^NPN`ARpZAIQAan%T0k^b*}_NLM}iT|I40 z!0j~`#-@eIolgqk*Rl7Asr_pXBHeWnp!M78b0~8* z1Q`hyApT5P+1ZmRzysDm?z`gDtWWF?E~{BPu_0!g;?-+_Aak0+M({DT7Yr0k9s+hW z0EvSm4^Eg=3GB=PlnW0p*rMV15}tMw;tIW$eI9oa3OyH%h>Mgb|Jk+~J!|AdrhyEB z&pR|T``gqZAYj>))&Hf~wN=e(!#iTaK8ZtGT88IgvK^e7Y-|o9WB&%>z^q^O_swdQ zUx4osJO!pvId4=k<84rN_^$`tRL3pjVw&|bBjX$%M*bVP?id-F5`4b90IlxpT=Z`j zPjx-#Rw1M?d)EBYNlE}fEX{cVfDvd12j-FGo~mBk!g!aNG0MVg7VxsTA;VQtk>->| z=)dp1R?1JAp^c$So|~$%zK<)QBho6vmt$c-6nIFa37Z21yf8RL&>*ZYG1QPzu<*%X z3(eY|{{0gMwe3-*LkPQmz3?N2hm@LqcPkp34YOAmea9m_S#?3`z4CwR*hBp^u^y16 zMhW-7;?w>NI@EsL`xviYg8=~N(xiu1A?Sa+pByuACJfN&ZyxggRK&{6bN^cX9L@DK zXi}MJu5o;kWY98|@;dG|H|Aw|?ZHuBzibR6EIDKJ-l@&EdFNyPpc&vX7S#?}KZE6- zUDdXdB%zH0gs-(xbTO747#YnFa{BWn_R?dIm>@VcHRAE)fvA50CcyCYqKB-P=m5XU z3o^dTOsjD5Tmh;n(ix{<2<7#}WRz2`SYiw9r+~uFvgVwj(zvl;F*`T3C=jg?z>9u3 zLd7p|`E9&nZs+B$VDfl$-8W!R0z&XgqqL~7NZv>(N(!9$t9R_Rq0Xj>_6q?&6cHBz zsxC-wUuD2MeiDXPl@2Fqe}F=j6Yon@780G+STsIRg|V)o`wZl|5Oqb>@izhj7XYvM ztC$ATh-xSci z*cLLJf1d#~JN?|P6|ia&NU_2l`&bz1OE>I7D4I0eFSrv{dQs3Y!wV_EqGd!H`}>E+I0@B?7N}; zM?{x&nEbl6u4@_Z#NZ08dRfi2kQ*yb0p5jB2LNWk)>6&&wp&3J*omkU0NmEdw6)dj zH0M}0Hx8@AzMEN$%>ukD7vzpvT_xVK|8NqxbUy#mW?@M26NX?A3WK!e$>^Bw$8k#9AUfK0dCLLck=o2M>+kxOVkac|e6ZLJdNKJbC9% zqgwAT7TI|e01+b6L@0px$k#9lFlhw}krXo{Dosk*gLBq7Mhr|KK&f>s5(Ys~2o5rs zeEzjJ-$cMhqaHVExL7?tc;L+wFQ9NP%AofjT)zvXqH>T8BS&C4ZO){vu53pFq}H93 z&*v49I0r%`%CS=#TZ?hUi?FZn~^!0Tf^Y(IN^#31|SuW*;L&W+pFa!faU$QH4Le23qUGhxY4g z>Cyq&94vNA)O;23=PvP$J9KE{dQL60Hoy5R`sLHpE|yxVCM)wIRz!i*k1@ zx?si0hYq>Yi*@DstdrtLxawzH;_fCeKek)#;~W=kANIC)VC~tm-Tr3B*yMF#U|g-- z^w8C~vmEU9L$2l$H_NqR%kkYC$Mzh1Y&#jUcFk;JeD(hFE0-_<5~Y?99Q#l!4d|8@ z6PNh3hNT>2jHuXqMi$>l8p~CBFsGOekuZXjX5r@D(3QLUK@h0%F@Nihn`J8d>e5ms z6B%OwK!94A53S1u0g(lP8G$^A(i)w`Kpi?f9!5dpY$l34DDP6A#HOqS35gJ7^7gHI zZMkyb0D+`71!jfdyxXLr8D(+>B#lb7I{qR8NK*u|XV0k$qA&=pW0!jG1sQTCsARI< z`b-9NHg8DTBsD}zX|Ns`w1-?6XhD~xEFP60%GzDDx*CE25kCFVe?ENVp#~2327{^uXOg39^4Xa2YDnJ1s zf#w}3h|Q3;fENKl(x{cNW9N}sDV3L=1g`1BhaMaA>GDjF-KsoqmoGQzAN_gszy1Ma zAM?D9BLm_8_O?Oz4F+jlEmrZQ(w|b^3hQw2U{U(MrEdfR2x{aWqlZ56j-HVUQJX zA5!JAg)f~SLRNyM5BH|pefObu=hx;(IxSJQ-sVHjx1H9`W=5K+)a^lF1Ry~`1Wi6k z8uuGGJFkO4Q~;iZ8B&kVYNA$~UX+~_VqQmA?(Prjxl{hu9e?ibo$(oK)4smGa;1WZ zAlzC{`w+s&h%D>@5zr$-p;824jezKt(ugRYLBQHnDWlOhs#O9g7K-F-qtUR|I_K)u z4Q9lf6pKY+rsk!^04xd+5lCrJl6to60RR*QCPdQH)unSEoqh4lnPRSB5P{hzDG4a8 zlf@-rABGWt)U7ojMr$Mj1ONxXt^PuQEaHW|fEP)fjh!v#v(y61fljFya2{0l8vUTb8t5=R3csZBB<;9sosf5V2YBifHP_t$i z2#`lcKnJ+;o!>0xsR)RKnOO+geKrjM>e!Jddo^^~E3&(9Mc(C$iYzQ8fAr_!AN=li zCa18sV*ce@9ay(6`G5Xwe*~m}+@JQ>?)Zz>{ly!QT6N+O9Xq(yF4cPay?36Thg*{V z@%P*>K3n%P2EYB5e&dCGajDB@e0k*Vde+w8?q>hC|KUSIbO#l(9?$v=&fOoStt%`( z^2+X!wtrR=Sog?w+Zm9(HNLI`)E><&JaUw^O#4nIT(*O>&C9Geyn`u$bwTd6e>yD- z-k#Kt0*EAtfJzWSG+^WroX1*Su+_#-A(GOu2#O#uAn(aF+LgQegE@ID{lVY+o0E;9 zVkYp}Yy{$03(>VB&|GTD0u16o*kh_afeBn{mChz<66k=PL!|+cP$AOvgL_FM&SkS& zE0-kRIYmGSe)A3u`Fy_7NS$Y8G%zr;CI#ZHbD*_}A`6&U4@jh-R;$h|EEEd4LN3Sb zT#|-C5NHF;Vr^I{0W)}?piD2!s$w=5hBi$U+kiw#Yh`SL3JNM3g_W6}7m&eA(tT?STiAGJ%Ga`7;oYVoaktUP1`FG#@$>6Qw zBPWhe96V4~I&Cxp06-ulY!>1|NS#}*F8BBMhe1%U*O9c=I!O}J#y>O+K-dgEi+Hw4 zk}Xy8x!lyfyNy~k$Yzj`NSP?gW->t-EG^7rjiy}w+V%IxhR2~bx5R)}(1Q??fOr9g zfT9qDy)c51QUK)cI}lL^4?wV|kIr457}!7Xg(qvjb8Wf$^@Dq*OO?Vx z4od|LLx1j~`r4VjF$(|y?xWAJkfrfqS*poW75rYeb!CzHMZQ17lMi@uitkLx>|*P! z&L30w);;&LPxsivE?*6(x4hpj>=7F(qK8U7?K(2}6y(+uIz)Sh_MRVN1A}`lPdBx+ zcb{j^hh?pDb=$)1-8;OUz4s;pzLTBW0_82GyY>RGQUt;x!U~9pkOWbf*?U1Cp_MX5 zz^%pHyP_+1_YL*jNq6Z=;b!&b!D_Kw%ja^fj%2G}MXj5G1wl|eJ5oxRi8QbPgHlF> zQfp0MYV{ftC;~DX1g0N6h@xn4Xn+%I(-?t;eQML@wZjMi&8%q#AV3BIMNq5NT-IM=AlR*OOcKran1$;pVN|)oLvuJgAg0S{x^7BFrKZnLsJ!fUSs%!ct%F ze4}yg+_{f#-W(ko{^gfmIyNxqfi!7NngAHZ2|G@f8;#!K{vgr|^K<1=MQd7KjPu1n znql7NLiuJoGYX)vct9T*3A8lo%M0_fL%DJ5U7)m5VX08Q{Q2dR$H&nw*Jfs(J9T1e zYQ}m?tu%^Oxc~$Y0w7+HKq~}9FCr|A43NHe2>|rzQ~Q0TblEl|2fDq8zTD8E19V~n zqYPvtj6%ppn29i#ee9Cm-JsumMZft<>puceZ%DN+jYJwT)Em->r5^hW*E$IQdhg!- zh^OaddY-4}WOe~O@6A(5Jx>1PUqA9%^uPT6`W3DF0*w!?q{|{!in}ot{m;J(>ynkQ z{3K^~zVrl!#=k5r_tx@s+h2U53UzPuQ=dHeBoyzHj&X0zGd%KZ*Iv7m&#=RL1-6#% zwmLr}N=twMh(iD&001Z6C}i)L83_pms1@zns}<&5xw~)Zqlc5gz|`#MFTJ2(7MKZ0 z1lQ!QFdz$x_ujKanJlF2QzjkwMnf0M5GR<;B-KX4Iu+?C7mz{Ec4=|RNvesxPZfCQ zQedwY1zJ0s0s)J+04C7P?3~M((8URoD&(^Ss8F$IfxuzZ5MM``kJAgcZk@k$Wpe64 z9NRQzwz@AH%|Ob~EUnfB+1M0$~tF@PY^^ z=vNk1Ab@y~vdmwGDAK1+?Dv(@W!oqP2l$4o;s5|307*naR1U$_OZ)9dmnQ`spU}Vh z=6-sB0J#k2GLQcDb-n|+YhC)M-`{)RoR9zTzsl6?-do-yf`9f)bZl>$x?%6O3XFBx zJ~T19b!)3HAdi+E+6mh&%<~15F1txm-8f{s;UIhgN2bf((CYe&h^?Yk?S;#Qcr5}4 z>_r$66apg9+HJQ-$pKxtyMGXwlgI5R=c9X|4+Y>E5D;`*3GY_PHLaCWlr~buq_Raj zw`eN;Zf;)Xa^N@&!W6|iD+&Oa6nuLA(#b9(0N)hjn=W)_`WPSaFE3zRSn4GewrmD7iZaypxn zII*cEB%?F}qS6|%UaiHJdwTm`eEGHc4?bE-I0#EV4DT$Zx86VZ-r4IDqX&*3IecKW zKgwWTaM>ok!+jQy8~IuKGUp4ozkPf|t>GA2+mIrU&+ zezx2*kT|E6DdbC6E`EIY`R5jIepW0;Jp+An%d?=GQCn)ZBSP^Y4ulaOO6zHkzPnfj zfZ(Mw-I~l_FuHQL%U2VT)SaQu0+ z^DAxI9!bPOVPO#h@}9LZ+GwdRt84@)Nu!RLya`mArYy}B-Z**tj`F^*T*(H3Q9)q2 z?iXy5I_H?#1OXbwje0#zkU%S~1MQt|)Y8h}5M>KglP?FB*ekHdl=sfeDle!%&rj=+)O=zdcvG zHaQi0uEuHJgen^>)EeinT)A`qZn+o@43=_5T580(Qb~nDs3PlNX}(q|57;!V#trto zxU^(~z?guP0>=bEM4})S<}@wm^U>VW#~*(9*029_(pp@CI;iyarAx~}7=cn+=-|nd zYPEp6G|SjGlPVB|07!t=vQ2cK{qREo&@Xihhknr*+p=P9mo8sQyifo12mb8E{r02F z7Z{ot-ESA3DZcDNw@a6&!fJq59xZ{rqI6aYH?M3DB0}Bh?w1Mb>s1p6{q>vv7VDAb z85fY%6%{SmixVG38Rr_9rjX6J`30l0?2%DWoYrBp<{1%9-k#*tRtmWYRj70rMP%77 zRTGYzsmp0E5{Qmt*GSoc5}k=c4UVn#z-%bY zWx$xQRPHI6ENWA;-XN=NZlPM0dZSn@u+gdaUPNcIhmRdEzV{2fH?4$Nz!4dxFktU} zElsOai?^q4n8*)~mUNT>r5I6A34$^TFjOu@l!c{56BuO_i;##W73FdinW{?~o_k8= zoA}(CR&BZwq*@ zjvmG*TH~k769DrC85n}8`}^%kmuH?@9T1=BqTi>3%r7PX{=f0N?K+FD+}&r)H^1Sp-%Q@Q zpnv~_*y`HV(DsueLrRGUO-hm&l!8L`?1w*p?#zopCT9hdQr@!&Aks%4eiV=%8yGYq zn53Ngv|3FXF^FiT0HD!m1f>EJ2}|?p^6VT-YTfX`!{7VIpOVg?3Y}MgAyU8|H5#oH z`_v~+Yc$Gu&#CuOPf;6U=da$p{n5u~FJ8G47&AE7|IIhP(LXqpFP2S^L00ufYEup} z`NX-pb2OWItZ6)%Y@pq2ZZ^>1rvtK81KC} zuQi%XHs~o~+<-<60eT9Bdo#0lZ{IvPF=4`JU~KH-wHrgdnW0KhG#UVvQphX_AS^(w zy9`uQ^ok&2>s}I7On>|d0GL-^+>a}w%dRceuW+35R= zf-nI~*mhe22n);?tttw04zF`JCpaPrv+qS zp#S>)sW;zz^R?H$Ue5O{&n;OmN(U^66d+0}VgOh~0c)i!h!;72>Xc*fj_YxnS{DVG zTCHYG;Ji~xRcp0klnFB#R0_Qp5sp(N9Ttm8oYdl^w^$hI@Bj3p4-X$XOgbDLKYZ)@ zWgYekiU_KF!PXXxB0?0vR>pX1)jSHI0D@4n!I!(skfb!wuMTy8{eLle`8Bxs87wdD zw;x^hgGMaNHCe97a#iM+cy?Z97i4x`7M6h9eqpW(@A)M^zvR!YtoJ6uauNF~)LX&c zGFFOM$YCLe#XLmeete!yk*V4Auio~bUIutfrWa4m0&O%kzR6BJJ-;_D?hZ*U-?+Pb zJ3PCv7w&wiDdyGJp4)FHo*kZO_t-97zN$QWR|$v!t`|N4&>*T3#> z|CxQ~qWQfEu=Q4iUz+v15dgdw@0|%uQ+d z6iXp0Od4smUaQu;^GYdHs+q@|B&j&(y>IsSS@}UJP{l$qlgrmVdQxD*lysW1K~17K zwn~H)03vDSf$u(;I(}&Qo%h~<|HHG_Z{6-68GhmDQTE)3>lbcZj{#<@jaOfNeQ7yK zQpb$oK@hzF3MfJ{23ZnkQ|q$1O#k5Uas*y z>gss`1XP*yN9O<_{Iy@*@9Uz=4nb|?)z{%4ez4z;blH1kde)!40F780F~o_)i8Oz% zHJU0HynlFy4iCUAvkNl2z;OLh16pGtkA)m&BgjOU2{98vCd5pHQTQ|^qRcO+|KDG` z56*3~j!ya~?Ny+0!yk8vzkDXaTDMD=y@%wX?`CPnb%g;0kfj*|Ug?dEYr){X zxgWb$hdL&uLP69{Qix>j2* z7b`)KdH2JgRZ69yzCPtyc|phGJOZLpOlYDoj50IRv$;~yqkxFg+I#1{Cm>`FK#vR# z-I$(>S%ig<8I=;n0veSj@$6U}X^dU+i*sjvTK(XI4@br)UVrP?1`iCO&S;};+L)P| z`uzNbcYgNs#kz}QKfkbys07e^0HkKuNkv4YT+)cb=)i%YD9lus>)yr1d{)@A^_qwT z5YRe5JHHT6SW6NeQdTJxan8lFbFjD=Cv`vqYx|0Y-csS6AHDsXzw^7sgrnn!esK2Z zufBBB)l;8VqsU;h4l^)-5)lBDW)I($yABcTU4$f62ghmj%hG=EtI6@_;OvJmH?!Y< zblGG4N9X-V=V5)A_9;A|Ixq8!GPn5TkMtPq58mBx7uFG{d~f>Umo^c!U7j(puS}

rX%?wk85<(iws3b3ZpklMkF_r< z!9V#90Hi-W$J7IeBEsy21(1+5X=Aiu?}eF^BH&{uj#qknQ5h3v=NFbICm#$BA4qEP z+=H1?KA(?54Zx{&af*OQ#E6z9^=z5v7nhv(Nt`NF%;G&Otq??i8UHs&;%eU`M_YRG{ z@yoyRt?#^5i_?!k`EwIetMTAQAx z_o~6w)3_$vOC)c3u+48AWWZ)}a`Vw&5feBNkLUoLXJ%?iUlCvs1_VYB5=2kP9W(@$ zb$^<4qr1-pYIH=OJnlZfl>A~odRYT9AOWHPFneh>$w34}L;@A%!YH+DMF8RA#hYPN z85}+I^LIYT1yNtQq)@;+8z0u+1t7M803n%M=RPF+f*L;w*CB0Bf- z^QZsur|%n7L}C!Q4PDAzwU`q`x`pMHLEa(brPr~_aW1qa7Q z#)gMa967qUP)}2Dt%Q+g4_cJ>A}rZ3M2^$AF6_b}dgbMpmzQckd++Bz`r(iN)j#{q zayG}n;22Sw*@dN^o@1v^2SMh}rOOYNtK~4tAc=SoF>KyR@?PA*2zrkq_h#(Ou)r|CtbHYMOH`_FW4j5JH04SWDT}~|>KlKuLefjgt z6kdBjv?zE-z@6UR;-fBww${9$_!Pu3IFHUF3jz`i|iSQb>VP3ej83&IMWx4i1!xh3nU@|HI$^qqnlOSaqojgN#N+ zg5LR=nYnziobBm5@ygeZy!^@%%jEog4CqNY1|n@prS;f1;z};}{D~7EfAGP~g9iu{ zWb)eNZck39tXM^$LI4dwfCM7K4uDCa(xfy34%_!X0mR@t-KgM~g>SzFL9pLWbm`Ki z%QHz}^gn%bUp?5nxL>=S$Hu!l4Tx>M{Yu1cCvmn%;!ybLn`_6AHs!m6W3}xo56j*) zYg>nZH*!wr-zww;L`pVoC+_aQSKncZ;9oe#ppdlGpN z>z(r+6)B~J$O^_tu@2H8n*^DJbOWU3Y{PTRUVuRXgWItOYX{%Gi7tBr=5xWDuLD5* z{R^P8;w(Eygj#E@HG&9x06|1yaUMuTQMP=4YVpX?)5Y@8#d8-mn!ZY}!e*n{)H?44 z66Tt<5`+hipE&W#*ZRiB=a;Gs3Q>70z^IjGhDMzJ_^0pI;)V&##G!*mn9@YE4Ujc5 zfD`l{nL!uEoSP!V#1EC5{hMjopHRPAG3F0Jm&U@!T zSQDjj1K0(IGTHFV^QR~8-hJoC@669FRLVW#F-;u^7_C7-tKibbE4}?gg>nUyK5+cR z$f=XD*7uhd695%PNn(K^QX0J{?+1G-y~V=2Kl%|8DHS|-=A}FLXBTTWj@gO!pac~t zg-VeoQs8Z3(*{G7{^fZ92ws1!+iUkr16F$Bt>4&hFS>N;(&bsi{LAl9PieosSOHs_ z?$H-J*}e5>j{t~(2(Q15M6{0tG0fCz|I{=02&H~R>yKOq7&V_X{< z-{~xYv~1I==ZFM^t8#2tk;ayhmh-D4vlscctJUe6C$wpKWn?zma7PEhN1b0CnH_(E z_GyKOhJ`k`CRe8DrnZt$@&r2%!mrnz%YhJqozD zM~#l;jvmV$o`?>NseyjzDJ4jj2#h9!0DkjBY;e$aR(MPV!k;P?qKLkZ0 z%-%DzfFOZSV*~(FHn9LY2=ldupPsIcjvdt${q!dvjE;`?^i%?a-Y3>3mc0X=qQ`6Hw{^0$~cW!!(&%ba6naNrsjNTG>LID&Z zaR?p|L@6;wMM0R2Q!AppW1D)7CL3naD}zB&OKMBCFbD}zYn{nuJg{dEBF?5nLQ0&E zd;5D1ADQ^+`#=5c^9v_VogN$>yL*2sh;j@NrztZlRJU&485kPQ7Yc&N2uIGGKKAM> z4W(vlHHTzbge3|>az3qA1Ay0GdFhj1{CsNiu6Q~1{7ZeqW9KhluceYYbRI>(r!J{C zggqG&66aEX)5zQ+^;FC^zp>v}L6^M*4;_YY{L+4V(WOh5F3%R~m%p~JY0T?rE!W!B zgL$jKC$_2FwI_9aNF8mc0k(LAUwv$DKJ>R9{o7?gOO!quSlgQQi(6L}-KyEupYfr< z><&O$wb?c-s~Vr z*NmeeK4f|)9|aNV;j3}=f~1ZuV%y))emAvE>kt7oKhZWtZwv1nAnL#XLL+V@p;CRN z;>39V=%H|Y6i0?>bi^DS%N-gm92zV1^`i+=?>&3kMc3WcJ-c%ESpqTm=f4I3$=`hp z*n^tbJMUa8g(x`!pJD{E=|%z5Nk=g)QI~= z#}1u3B}xOJh=?|EY6S>U5gMDY(dNeO+vSnrkFH(1c5iax*wIR*?9xP%#3u=R2Lz&! zi5O8B!4Y|FD9q&w&PlCS2SF0;685oI4CJJ-+(_z4E}K_MdG^*>LD0qkiU5^F09~9rg~4GDZv4Bo&1^0Mhk(ed_+bnFmvG z+E9VgX3+lqSpW$C``-lB(fWWcUjXoxufx%k`|U-SE?v4jE6|BU`t=v~+lw}EMLD%A z(hVMQAM@0Uuw|6B`Bu~Z#+Ej>k1N4XeAvl$)yu2jM{L6u1#UX=p4vI7|cmP$*dw#NZPG z7igc)Lb*gE{nTIfnXtyLp*F5Q)jD4DEQ+8A0&(h)J+zJs4A3l-)s?%?7HV|FeC;J* zZv4$<&^ZA>Lah|CCn7;aL{cVoer|60?!DRL&%H=0`~C0z@W|m4g?vFFHfmLuCd@vz zc5Z2@+~0TX%o))Jh=ef6W%I?-^z1w$Db+0a%;Mqx^vuuBeR^wt_D3K5Y`(gD{P^)) zCd1A}fiW5dm=PFIfP_hy&=ENF4x&spNm6z~Kn4|fmei;9Bx|C4lw;@FGa|-Gi~yui zkbxvgW6QSESEhj8dGFn9F_$YA&RzJdx4(aJxt4mDdRHixtn>9axqojeNvtU45K{n* zLW;uSiHU)O;|sM~oLWT1&J%!Ght3r;;q#|Xef-gfcW&JD9)`!pzy8LzE?&L4Tu&Sz z10~kZ&CN_s-d=n#yF3}b^J~yIu-{H}>C&ak{(}QO`Zu28 z5*4eG>CtEGt)JUhS~qTys0=Ipu{P8m+ls_)E!#HHd)q+P>~CSdWqc*zqu3y%q2+>+=Su(x7L8ZdkY(kKtFd-ok5)cY0uN0K>;Xq%ew*pE*$`9p1Y;~cn z6xtF277}Qd>Jj0t+Ng zE{Pjq5C)_;wQ;SnIKR+SDHrnvBvQuYibYn?@UbXy=xRx=P|6RF4d1Rd!1#Py4iH)ADMg&PUB4UFtaP7A{0;;SphcO)9O<<&|)Hmt&)%DV*>xOuo)M9Gm$%kl*a3n7K@i*tN}@<>r!C30WJ_*a?v~x2o^~&D&de|K z!~6yFL;uu$PEQ}tjQgCKIo)lyyvSBtvSmxM)z)II6e)2hL97G{wO76MZW%E@yrtfI z^{VRLS5+*K%+J9oyyf1=ypgwn`^|`q6f1Y{Je2Z3`)P2Tf%K25PJkz=S>jh&^c zEUla6D&Jaa#Oz*p=psk)H@^1Q7aw`B;A=z{1aiH#AbNAP($IS9?z_j292L^29Tqe! zxm<2`c6MoLQ4knSYd;}GK+n7Q^FLoN6kcCg{Lg>-#UP9ydf=f4F5EXcIYv1Obi78* zbuX#svFTHwsfic~$A6vtt;wpLkR0WqE;h2Ut10S!_m4%axWIo$M2;3tur zgcy_SIBuaXt_t(KU2V!(CdL~7M~F_*vh%-I)T_}SX>a$*t@IDO{a?S;xKug_h& zG+&Rs^7QHH!)JW=Y-^)k-=;CY(?Q39PktKS`{Y4)#A2~n4hHqqBl@#X-w|3@pl5TO zq3N|f5B4dwWBQEK%`K+N;!SCPq|!jcIzQY>M(NVoa4F?kBWURiY6<}byGxKW57t&E z$fhIHlA$_Rn#&aExm|IK`H>-?^#$!yWHEFn0#Y(ka-%{^6}mDXzjCAYjqktm!{=|EJoosMAO1z{m#@6`T5WY< zcB-Is+zhMLuyJE?>1L(&;@ligPaisaPlCiis2n!TQIgN)r)Q>a&b=9NL=H8RAePwk z^-`_c7%QLo&_~K=&s|$t`_^~AH$6Qyck@Qf;gK^(gQDD4)#i*trzi2`L^7SPxKII( z5EFsPnW5rRaxByqs^MSOdQJ>MOG+j>p1r9B~w?B=$iRFc5&E z<7e)kJbn7PD_3sT>&uB*i%bY=d3l{9Gf^sk{G%WKfBx^^OTr*Y%<0qjz5mINKlIqg zuFoacZv?CBI+WSq&z}PT=L1jD;X?;K=9Ya25%KXS;1iz)eFr@4Su7UITZUHpvmet> zJ-W-HL3_)VS{K^?U=KZGACXNjdb*QEU1TZKykidYX5(20G1KuGjb}W1yOq;}NGhS; zBek+mH0+aNY>B>1r}Y)YO5vYumB6$9;$$=4yN~cT$0<@G5VI&hFOC;Sj0Qb)@}k_B z!5A@y+cO5}q8qcY>tdv%ce z&G`?#_xjWC!vas1M?+mC$s z!#CWY{LT0OA)m`T6Ho7a7ytku07*naRAc|}+>dc#?AXNzKm5=KCQh6xmL^^CqSfZY z>u+9t@uk(OhzP;r0y`M(X@I_xQ7+KaPDmWXGA=aEpOK0uI$Tv>kdCD-b zK_VeeSRBO22s=vUJ$BFt009940~mxDPy>R91_1^lj#&Uy!C&)fED``vfGB{_olSuD zzC(m0>;hKMHMw!u9dpa5D~(EZwcsd6Yl_&)-8&ceqaQLiZo=})2kv^f{NcyFBS%3i zKm|Ym5(LrDo_p^0((=^w`s7UWi4T0ZJTr}s0+hMA+r?5eGc%)lD=KT3^ex-Qg7>DuSzxML|=k7iA$fMJDoxJCLk2P~{ zqH~c@EedtXKlyVPXCFATbo2VF&pcDRx!?xn=Iy1qH|Jf~jUDYwkKghjcWCO={r8&jaeQ`_N614Y;r17O(fr^hl5B`xqZfo%p;j zbW)h#0uDM~U{}rGVbcLScW1;7j}WoXlo7DyECaS@30lh&1QA=2Z)z{N?KDN$TE5=W zv4jW$S}76$K-Isbe6Y1vl{FS1B2-8u3@V@Z3WX%73qT^^*y!#Zjn@9J|7!C;eIb8q zq4Df%-jU;656SbuQHfy&_~SqQ^Al&zeeQqwXXVlu0GKF9!UPD`E4A^7$?5570H97y zHbgLN9M>(4mCv3zd-dwohweWghG8M^=L&`8#g!wCX!g_z_DbhZoyo;wD)pCs`g}7A zRsfgk(XnHvB$r!m)B{Ysytkr~s)|bY9Di`C#J85NKl|dGc||2Ah@*u@b?nIGJx@M< z?BV^Nld}J&yoYp>XjdAARu2 zC%^cIfB62Vo}8MR{^1XQ{PZt;!pju^pjKJ&Zq3L4@FQ@v|LdQzOLpI#pyR@0?~#Wd zftOx@XMY5>+ClfoVzF5EjkvXXjH=ze!1(og==-kD?aj}4?9TAvJizrP`>MUty-P0tR0%2bcCHK5G2R- z!9X0DC{CVv_NVte`uM9iZ%G1i5Sm<~bI!u;MaR_>lM}I#I5LE2K)bn;Xa^h(07@5t zMS*(gkw>pxx&F`p>Hqlee((1#-2d>g)2DziS8E1e`YQm)edg0xEFAO*TMiP`4m|WI zJoKo%`~tl83f#DU&^@wPES6oM6rMb+&YxBfojd5R?4HivLOZe>U6fu3WKg^r)rDkH zFw$Sr=m3RptIwGx0$S{Rcuziddix@8!9+s_M(|7uqdoETz0OwO@VekWq{0g@A_5x| zM>Ugt27#G^#l}y zSh;(rL(^0KKl)7Yg+GnH_IFe)sM9Bu>t4Hh?aP1pmG`~>$q#(wqe0BB2ack8Js_=h z&YwMeSS!UWL?8mpFgJJm_U*Zgk3DLPxV|?rIlZ#HmKfuBUKmAM>#4EvatvmEr8qU| zXs@o>oi44{>L=g#csyQy{+Z{#@$K)t_x(>EK6a$uXo#!J`J7_$P`O~{uU)_K+>4DH zOL1(1W_0b+)n${Miktb9hij` z0@_pIJcLbS2m`UE~7q_ zXRZ63ISjbfra42cWYW7E``m27CNF(C*sftmB(O?+O5B z($eV}K`f?sd&@T>?MP_a(^4OZgRgcvWozRD22cb**qAtiI3_2DfC3;Oh7dqlgqZ;V z2nhg~lQ4`L0Vl~0abs!k`(zT18_hzqsf*(*>=(<$;siGuf_Clh+W~d_sQ;_K9Q@f| z1b_DB+&})cWOn-NfAiHRpLjny4uIqfIZ~7`D%aHt0fCg(nzU}GF-K8UsZ^pcQc4ji z04$VCM~@zzyM6nvV@C}_7>1L%;=lULFaMu^`gNUv=Xu7#TdPa%_;^S-eecGa#Z$fmwa-)z^Rc?D(l8=O2IM z(EaxsMcQ+5Gp>fAdWMaNhU0bMeuG9#zX72f8lYeHQON3jngb2rDa4sYtZ~)hbjgP_00; z?e1?Di^a0vcn+3}I99~5B9@C-F5vV8%}yS4x3ZF=08v&uok!lCPm+#a%p{IdstXwq zqrI|W;QWnBS(vr+-37}-W4t}pyKq}+G^lB0=%?F(lEpK!Q(Ee#Gtw&3bQ}5hg59lR z)9f&ms`Gs{v)WzC+WBn~gL|xX6718>Vq{An07L*5pp34#G;1OYa#_Su;F z;<7t7j`=(!h7gb_CJ@ntsF4T&5{Z<_8Q{eVFD~bl(rln}<(opif*?RHMC2n&vl*{f zweP9CpXBpuvYa%ku}Q4leS4tJ-tB$z=fkglz4>3ic>9Czy?W*H@BZum>CgZ2FUQBq zS}O(+F^(ogh?6AeJC0JV^#dZfwzgiWR2;{t)oK&tz6K`J9qoFSGB?*iT?6$zkcrC^VO)HFXc<+lH=%Vt>(Jk%+%ENYu6SR z=F8<0FoOZqq!fT4CV(1^h@ZE0R$cb+m38A>I3Qo<$%DgU}8FKxC8d+UEEjwE8B6vPHyu za|_!lr7aH>5#h99-~r=1YW3`L6xy-BbfQr@$;|0Hj~$opc+E1(^4C_8Sfo^*+35H- zOMh{2xG+u8aOSiXr3aecQBJqA7vSIi}jj_Xak@9x_M{owu1 zQ%?ZE;cxx$pMU%pwUV)7-c_hjG=QT>ArPXgw4)Ru0t<*B!t(O+;^JbdTmry2NdzG0 z`}bYA@W$oK!qRL8W8;%i7-^H}M)RYOJS+=~vapz|HYOR0N#dK>2Q%iYk_Imc3UOGw zawWWa?KeL7)Tf?&ScjpjgdB)92invnB8PlMUTk=2`6CaU{`@DO4j1PauD&i|MVrt~ zLf^!`iQS-CGG-E>6a?|D+v}Guf9k29yKwwONvpi)1#$4|jmxp8ZY$SiAK0V$2m0D_zxAjcB z^;8`mXj+Dd{2|6Alf!$W*1`8{momlR-q_zg?%JQB1|G>Vq)U} z%gS1FZZ2N0IKa;4fNp;?#K0gztRTrHF|JjkrKPB{EJ@SNd1Dh3+H-Am_w9uH)Dwsp zedl|}e*D6cz*s4-PzV^Ydy_I!JFg$0m1ZJQ6h={`lok;pGRA1nFOQGa>WxMaIhvFb zt<>VeTwv(j@uO3RXP&!$^^F_1BF`-!Jt9gWiZ-mGh??R2?gjg$7vxI2gtuGAh7H-^&^2z7t2BkAC1A&wPLW%BAr`r~KlS=Q>Qn37cjZtS!s> zdNDG;@v*1xnVtT-uRMSMnX^Ho_OlmX_~6qYjR^uUm~$h=EF5s$G+|(((1eYk9!7zq z9RXIPfCUI!rOgQ>P9jYT98yY(wVHb7c>r*K?)}b_?>p!*v{)<_i{;&obdx4~KWt~0 zX5I&-C-5aKh`o`re*4{I-QJ$0YzjL90BLaTajWMe1f>UHZkz4%jDU<79qoJ3J$*19 zxS{t(>wG&CyS3DIpx}1LGg;G^p=W5?iMvCb)8m=Zc3;L$viHU(!#m%z5IVyRgB!{1 z2(ZaBvRN_iWPS7ZEw^m0bKW}#kug)EcP0aX+sW#Ko!|L}l=j+dK_mbng`6aq7*CT{ zxU#$&vE;(Q$@@;x2fqMDFp8uZCQ%&D&6~A~7blKG07hWTT~u0EZb$@KvmwKY#6dM; zN-&CY`I7cMKbNy|_icvr<#U)6cx{k&6%L*6viD9j&_me+VEV8RlBO-e@#@ z-`83b5fO<90+%NyA9&!w7hZhv(MKN+<2YX~zPWfyd4*uX6sIN+5mkcdwM&<8KliiZ z)C4Lb1QQ0$wYB^2y8Efe9y?SlB=sN;5;4X^5h*C<@(h3qqPWg%!YE>dyoY|mrwZk# z?|b0KFTePsAN?>^xtZg~{k&UmRM%IQJvNV>J$LT(k)wVtT3Wt+`HiQZdOr#L{Wrh) zKmTw4>od>)EHG7ebij;+4UP+7z;kjF<+Wz*&4syBCr$#OK^7DiR-^!d1W6GjMuacq z%lORC0Kos{PpAv$4|?=07K_DVdDpWckT!j|@wW3K%fmXh9?E%B_TymrsIK-wq=|0J_0=Dn0)`dv-)9%bm_by7EZ#<-} zo?*q#-Prw^S?l&(XS?SE%d>lC0lGs!G^e_Kp(uce5+{)cAVNrtLd=1VS1WO??&f{R z^TMJBMmSD5jFKqETEmNt3jj%COi12#8>t`?5DPGJj4Z5?i!&a|`J;!AjFlfad9q<*R*Dsg!Z?md_{h}MOu0y$ zL?#v=8)!n3O3*A$&D3kvX1y6V8N+XX75+-3bH;5Zr@q+}$O(y9IYia0~A45a3PD{qH@miYh2-YHFr? z^(Sk(*HUE;9&{i%JI@o^I1eqcnv+)m4EByAS+i=`&yL_w4UrT1)BJq8V28 z2-C*s?amb*w(!1~VxjZW1-TvhEQN}@&c>e%gPZo>j%0VNJj7r1FQMtNb%6cWR+3$U zoqvBDwRKK2TKQ6Gzs%K>CJKfZ#oSVW{Vt|nj!ZX*9UjsfT81D&y#tSltV~w`7DW6N z0vSb$U+Nf%kVAuq=d<9n6gLB76N6*2#UO^aD_&_p=5*|--y+T6&&P|NtU>L*mjnaI zK}z^O$v32WnfI26wH(2Y_vwdxAxIEVQ$tNlLx&LHw|177&wC_acimlW-HmR=m;?(R z167)2;Mu@zv=SxJud}~Ken2wTgptTr4^WC!P$c93rJ2ls-PHqS)zr~)0@t%e5`@8~ z)3?O+mBiY_W(z3udEMyxr;0+*LNNXDrX&O~+1m;e*kUJ=o)7Fho|`8;?MCTVTsQvA zq+RN7V8)3>Y|^UxeU8=e4oX0NT}8kpB_&n9-wBBbUHCxyXF+3>Sfk6?vGZJu&wWcI zcm&8}0DL-obYt}KJmS0aTFKGVY86xMqxykE7N4!G$_Yove5-fsV+(FIgLS1~ zLkJSNAe-kX-^M5?8xui$%CriAH?$0a%*Q{wsXkZYmx~4cFORS8Ctmn=JYjw(ZoH2W z36rw<6mc%Vk~9)S$yK<3lnQ;=*w}EdcbsT;GI(6%e!lMfgWvbDS(Q19&ueb}E;)b* z1~QN>6(|lL&mOq^ol_(~0W136{A;~>O3O=|2EB%XkMqH^2hIEDM!P87@PvXsDr}Q* zjn%H$$`J$%M@)}cf&xL+3J_8)5(A_hDFvC@?i*?-oua&6vrCV1^Q$*)#iF>8QRRA- z-)DNS1=gH436_bfvhfC>tQGLXN;WI(l$6;aJbQ*D5@BC7VL8tXY@UUK)K(mEAoFepT--i7GEw1fy2V!8tp)5bxW;fY{t6)@Y0*1&$b zM39;>^fE4-(-UlJ)%@)9r=!_H7DO20$H(xHvtY|!yU9~=*yr%Elshpo(XQiu=fPdv z>S?|&T!YylB`ZtVd87B*hWkPv9mW`&gS81hOd8IL8upbqG6NVtCXjbsJMZ~m#^%0c zf6&=67+pL__aoykJxO`_U&tswe-@OKEXgv=xWmB<3|x~OgPJHSd{KYHekPe^uz~zQ zg3^Ayht3UHV01n_Y%4wuSMv5x#e7i9EVzK|DFm*5-BNhx-QlM%pH9>&Pe+ghJDZyz z8WxB}f#__){EX4b!oUD@XgF~dvahe``x{k>LS=hi7KQ`o$BMGCVId)(QDZ8G6J}En zT8x&Fmf{-I&oJ_wBPSsUHw|{nDBa$6y|fk`s!Q{iwtMTFt-{_0IN<;6a)!G7J)PR z(KU&bSK7EUXAQI-&D7DRQ=F(doe`&3hIk8cVj(MxlDHo)LhI|DaYPV<>)ugfBIH6i z#q!iWE+3%kLHE{7UvKV{q;_QrN;ZQPXLfDs?`7Ji86C!LqE$@PIJ|Q&j&Qn}Vz}do zS#sVmb01zFLi4^j(R=;&_HIcxj`5Zh{9r9(o=s;<`0DtiA8h z44O}#Z+0ht`lF$xN=5KQF4=Nv;Nc(0h7TPaERJy(XxTHe#C*Wd^4#e3+Gi*_^{QGx zlaI#)!&1nUHq~acg5YRDP#O4nDY2%>vZu4@!{^a2Wmhr#CGW-(Z-OOM_WO{6Sq|zMwpFRjrcG@Ygb!s`ppb9s?+UKMg%N#?x%)+{gqa zY>!}mFwGt6!49ex09&oGp%t7X3nx`Fap&?3CtQ#zozeL8j>!IQerE9!%V>Yhmi#A7 z05LC8lx|^fg$-EsEW;vg5*MGFcO18!A6Fhe5WjV0yZpYQzWx0syu+z{*((@uycsVR zour=Uo#z|IclIv0E3X~oS4+~-#VYro3Od5HMY4jry6CMdn7*C6#Yb8}jv|atD`__}u_8s$q zf7S?HL2}Ui*mifHIfpcf&|eH>c__D6*0G6*<5LHJjmY{Yf^+72@xmGM73%< zgt(fDnFv}2dJl)7T%%r6F;=NCrVu%i7`gI3z;2o|L87KbJt9>-lfF84fG@KA1>AR>F# z6G$|af!}M9xjA$9hL7(V8toKUJPeq^G&Iylwri@gK{U&Ywu=+HsYc{TL5^1Y)5PJ2 zGdnrdl}K83NEEr?ka^r~6tyIcJoq?GaYS%v3d3~^bqtmZj>Zq%0xaRv3YJxK+-;fF zFGCDlG=do;?PuRFS2__uByTQ-?okhVs{?L2{u9c76AS?W8ImGp2qnC%tc7N|F+ZH# zuGq|FiIw4AvJl&r%}tQ;sWalq&&yGV`sXW`lum0dN1X7xz9Ibk>D7C8X)QA&B{L%# zB!bEM4y;;?j0`gf8r7K9Z}vv@%p&2o4zwvP4K^>48ty)Omo{b6?=EqiLW+@%f#M3WL#}2k*zLDDUGro3X_S@0*{&WbU6gVk8A9 zVPFzx*ZiYFoN-&j8ynDsgmV>1N|+ujgq+hy87n3F$PJ#zA!S;Kwi+?iv71F+zTNxj z0nodVii(tQte*wL@aA$QI6|>xcupUme&Znzs_Cgdf249eve5`{E<)C-N!FJ;1& zIjL5m>7OOOnDOytg#|gUx7|)*7z_DKb~OCeqkWD=lw1i5#%`rC&(jOjC8F=IbmRy^ z7t^rVXlO&EAft?wC_nq_5XW2^$ZH&LGtltDpNoWsPCW!3#&1UpMuM{b2uBUynXBQCje*+WXW0o5tN-^3<0zGBbs@8J#D95exy~Z zCSk1x&p8XOnTP|)E+a0qT)hE?EseRk!U0*6`#)(3^*Rit_#2u50cg=6Hrj4#utLPF zj1-STyzimgqOuVVz1S5D4ySw>))`8lQ>0_Z!zUv|kn;rLEwD-9>X#`0{C}v1G;*c| zfL16a3??QRW_doMv6b!A5~*QWOsDyg+1K3S&xChsl1A>S=S15BU;CLS`1k076RO2{ z8H;+DJ`5HZi)9yeWHU++0!xWR$?{+3`Q{7@X<&N(4G42`ge4569XV=TcYc(+qT}%##qp7k$6fxR)}%xb2y-Ura#cm~_uafG|MY)mWeK*_nJJM!0A?Y~%W6QP>3U>w*a$IZcAcq@ z|KhY7i2%$1IH$?2z?YG%=qOKexApCixkKVv~`KH2sNZc+nK+K!`D~L5gQR$&!MJ- ztEd1qu=f+V?b4avFi~!WHK!jY^L*?G&*Tsm&N5($l2=q5iwH96vf=){$Z?jpRQ^(E zY5h_7v#9Xb?ux1Uf0hvNHmgQoZuk(y10lwv-)2`3D7#<*n2_xj>vmh)9DgL+ZN9&| z$B)&}@3~((PwK>h`<2p@qvrIwF_6goKU?p&g7F%ha4te1qanVbgw_K{vX zSG!$(9M^LI)j2Q(EfAuj!clLXr#$Eua$j97ffMi{IEsV<(_|z2V`+I=#jE;-A;Kh^ zu{q}M>yfIq$&=jE!^_?DSEof(!RYf^e{&7hni7R-bl)H6>AmVr7qg-gE9d!;gT3Zo zzo{QXwX<{oWsZoC6NaY0nds8MlfC4RWY{{9@tuGAp3Cf%KlqaqkMTghZF=28+)~}7 zP*V{Un$-SepTIX3R)?jN>BH)Q^eL_i0mDy z?HA%cvUY=Ip{|Ln3@nspca@A9zP_Ftwo5x1q><1A*V0UU5l$h z{l=^CLn0bd%@F@VH5L*JiQnoztzCW@8AKxYhwX|0ZD96e4PZ6%4Y?h8>@@@9UYbJ{ z+y?v@+$Fp1C+rny++C=p7=-NNZ_LhRmcD5-So6Y9>Yvq6Kb#30-qp1Eh2Bq&xWVco zI0pghyJ^pMRA$iE#T|wIidpyol!>{n7OReCkylXDpbtMRb$yf8NBzxQel9V5js>dc z4wqY8DQlt7db?IMp2bg|^q+`W;BJX}Udhtq+mE!$nyk(XTr7e!JXGvFcM;0J5-72l zZhs1ojp?u^vRWCQskzK=<#Ktb@%5UuI z4KKNWqeLk5`Gbo^Va<{xya^g+&JXye@plHyTQmb|Y_E7(c6oi_t3yj?9^4Z&W|Lv4 z-r=n|G_;n8Yvwy&m&>b6iF8eWsZY&dl$YNVgVFu8U4fvT_OQjA9!$HT(>PY%ytPBJ zmKwk+=l#d_V$%ZVH)od>=&U{HdidgM^ka3~#%2O`aAcBWlAP0fPBTdjtz2?OtnGSw z+BOeI&-xDUq``C6)Qe^Ip(E}WuDip|Ma#PDq}{10s)sve=POoHUf2q!&vsS+jBCyA zl?*-!7S4fCjjYF%zIERc_Lqa<9GJ(IiKP-KyG(=z-?ab3Eo7f9vQ=5KeL8mu=wyWb zTOoq4yk23TK$6+G6a5g%XFdZZRyKu!K!`M<%?{$z^i636ml=ab1BawJJccA7zC!^p zSAAxzcjGOgBOhI(CQw z%^xyGje>I@T^V zvR#Hm9e!{gF{Ei~A7y*n9u|-J;3`3SVa-p=O4$>)j@yz|S;Yw$VGoT`kC0hCX7S(?`bTRB2@hNgqm#h(>J4aNnO5*HSSB zPa0KBY|E)ZF-F>KcubzAdQf9h@f3s$B~E|jX=v0~+ldl(kPwaMXIX3^lg)16Rkm->^$-7gxKGB-_6vl*x3*&rCl zow7~n-kwN68h=%F2%n1fhmo&g%hyxp(%%T*cq)dp^+<>^y=5V1EUW905{VS%&5=dO zqr>AuLq7;df0_&dWx5=45OSjPn(bWjsnUDJrUf|xvCU)b^|F;{^G z$;ID=1i#O;{9jKswKEeXDyJuqCTNtds>z<56o>Pz48}VPuof<51R%lxSQz+{#`3rt zjby=|X^oft^P`Q&!uZ8PUE}%c3)ky>wxXkcb;m|*&7D~Zv0nd4IpfrHrJp}HKFVQ& zDQMvxLt0W`rG{UlHKCaIo0d~E;3`p%mOskD+$atq!N!8AX{Z%+xi#oNFeiavjY^X- z!;Uyr%>L`<+RRKnBPJT`uxst@YD@^q8(C7uPEXgP-_9d4`LD?F5KRdCUr{ohl8NXg7Lk*;V9p1D6Sh>~J}blQYGk%BXY{I7W#Oc#?!F ziaEM?SwwE@`A-W>5DGa+{AsZkHMZ+ArQ_W7YZA%mk6j1#<{ zl$0QHC0kH*T^9D788wJfDKgr;K$8>I**Y3k+223%V)!kE=}x5M>M}_#5+#zKsOUsN z8%ru$u82nu6Ks{^+&>x!aQT%HbsWQ_A`Kh0uIL%PzxczSZnmEFK0joh8e{Bxv1Rcl zQRJzwz1vwV-9$(Uf|2I;M-n+cs|2xS$DF`giDKde7>aZ$@9nuD?=evhm3vhpkRysJ z1{6Ygz*H+lhPH7j|6l|#38(LBBoAwn6|(ADv)r%rikxqgR#(>?Dpo#7Xz#YKXdwAg z!b^#a4u<$si;P-AH2L`7iF)v}i2~&wut0{h`3+V!d5{bwzieM$0weR26PpOGmVdrL z0s*?CYvhOv@$riXJo&yF`)x*&XV1(?8npBy}(?6ySdc) zXq5LybJz|_w3RS+>dIYKbG$?`V6i+S&DFjK&^mP)7*jN6gPILYMGG>ECV2bK=yf(y z2n0+;U}W?TkqHDX#D6DKqRv)1_Jjqpv(o0`rM5-Hlq8DjCV+pZ6yoc0{GY@dka8D} zX3{_PG;Yb0REEhY+KHdGTvIbG%ux1->ScPi^%R7C`gT9FCJTkPr&>=r_9>n- z*sgQJN;sKGGl{J%={;6cCG022aq30pe)}k?YwH-F_;hWF{Wshn`}TLwJucQ_?7X#U z-`a*Qe)r33=e*OPc;#$aW`ac@se~310>VZO%Z?7gQU*nWxKgF_kWm^W>0TetS3*Pw z$CTb4MO*6yiLzSWuKf3rj$V18lIgI`;6yE1ku`9q#i(Cw-Q2u&sxar@=8@lhgcdDr zBDPptTTDn5R(&awUHRt17bQ8;DbHI*DERXP>w|^LMh?xo`DO_i9M5TzswZnwx$D}o zzEqIRHNMhsyX%3MjpHF|;fh+=N#UCOX8)0%3pvJ7Dz#q5M0)pq&Ti}>1r~cv;_M7L zQYg>pBwCt{&6tF|N3>#`@9RAtyJX1v5BhsI`GhlO|PIF29uUH)#RmMr{7U@785`&!?2HKPKi4v4QqoB$!++xjIPTYJn!J9{eMaMBqz zYs4dFkeEsFLdcmg=on;QHpN$6|msKu^TuX@Upx$illzp}V zR0iGf5+#>Qgkd*Btk56SNE=mzm1Tw;w3aMIq4I5;LSoY}F&Fu<<~ZUb??QiR4$%vUswE&AQ7w}kRHZL8XEPQ(sfoHr%h&$=|) z1&7>q?9v$~iykD0VF|p6Z$l2sTdNY9XAkyfCuS?bL~zI)Y3ZA3el`+hZ7s+a`pz8OO-aOY8~R1iQXEy|EAYox8BF*%DdM6#%soH+fX+ayR+)$f2;6(GM0S9aMRAl z!}D<^B}Rd{YsZhkLG#te%O!kYkG19C1ruCz71wr zu9Sb_$1sX1nZYSTf*>gCM~0h@fMszA1RjK^(2Gf5&?Txa!5Q7#|L-!$=(Qu8y;Ybs zV{Nj4qSHDrAEZURyIrQ+w+bqg)O>20_}yTCJ9*JB>2VM!l+$`IG$h1dv(3Jo13meS z2kXb`%NhbIy&=+3f`m!Q{TOw?$)?0H#OyidVTYp^F+roq&2t$X#uEXFT2`VuQgDRmQ3#1_K9H{;|Y2Szs6Z<6WkNjP?i;jj`U0cdu>(KN)YFVxb=lW6WFn1!)nYIIXU4cXUs9FE!(-`=5p=we zjteyFlX+oGPH6qllQJeYGTDoI&KWo7HN)+CV1h;A{V=&<%X=`6eOl8D_7Z15y`RHv z|Nrl;oHbRjTXLu1G2VED?V4TKO4Y=XK}or+u!M;~&~R&fVAl{N;%oU0hs&O&Lta@{ z7gKKceM6(Eb@?+crk%ZhkmdG&c@#+J!Y$~vv~G7r3*quNjj)2UML}31`KI{CXzCw& z#+mg=&%=%Xclq{l(3qijlHvQ4CA_2iw`TCYE~@yxm;~LJ5O@jc$VUmS)2d(GO#acB zA@b(`$weAhw*{f8eb-WjCbT3rMrNMXyoFnS^ZVGA@z--83%VPSi{%(af8;YwX>|K5(5wMvo`-D^sak>N@Ei?G<2X)CkZ1$F6poO&0o>OQ(w z)!8(?*5LkNPVP~fM}^suXn776Bw~}f2U~9ZniuAIZ_ZnDO^+bj!baLj{Ob4V7xMBUjLPB zucYlGT;~+`rtM#Oc>l;mG3bS!;o3b|D~e67jGufwME@QoFMo9WMI_uQ)83a-dspYn-;=z4q}|?Q(0P|4a->{P7!n&fDl(-%WkGbZC>ETy z12i}YPQB$o14j6_)61(BxL+!s|7hrt(lhN);4P!~rty7KNj9;ylCd?hf)|P^K= z3U|pp`SSU)84DiEfGvT-0Gf-ZG|(xYtz0UQV=WHK5AOREfDGR)aX*+L0BDq@Pm z36%y((-n~XI~R{bXJ6Ky;UrMm(W{qb?2m9^C~LwOE8*k~8F;a|JMb0)Ky?0fqc_PX znydBK(67A4ofg_b4w6%ma13SD3Dt{h_kR1KE0Z$8$2X24=SOqo8IwjYf&t{@O{E^@ z*@|f^9p_KXme-^XoAitNM$4rkf-XyY@HVnVY!djNxJ10q}-K-9ye~~3co&;x}4>SO}k*ZF^ zTx`U~)SE*Xr{%r6J6MdEZS{ z2l_9)o*dUliQPtm*_-!B^dLA`>TiKi*iiAq^r{kZMSww@bc=0k{k!3_J`Qc>dHrL z|Ie2$xN^m>sr$n_d}yo_CbTZRy?g%I>gZbR0NGLvje)ahcque$Deypp#U#gwUy-rW z`4*nLI*tt^%caa`X=Jlmt`LDYx-4_(0&UzOVt4i?PwXhSh%OeykM^d_)A;e}^ad}0 zZL7|fyR3Y|gND5(^7tDG=>@4$RIb7&hqD!Rt*MM`>xW4}b}9-dEDj~1Bw>NlaJRwT zUI$P&I2fb^Pg)SK!s9aPblF|LWK_F;#F;-$r`iXPEF$My;CX(>mQG+HUcRCEFYMoB zeaaWV_5GBY6YL!!$igMb@`@aGN7-2~Y}|x_FQc5j7W8{(Z`*tmzC2p5sP~i1X2_By zaLSqrt|}je$weJ{lI{F>6cu|4{a|vPhH*f@Dp&X88Uh@|l}JaGIwV}4f1vf^bKwK1 z@khxh&;#3-P9RRmHv&;v@?B)zp`yaqU<*-(OcN03Tq*F_O-AqiP z-uq+=;bg`1??TcB!5AaRBUJAyk_ZOIVfQ;=_0FEzdA$8Uy2Bf>yvn!SPLUjUF!WLcqMWq5LNWaQVRVNZvZCdYWPvLUq#=MMm70kyh}z# z$E6i1rJzp%XXemzmli+S?8%1#wh|rbeL}JQLORnHf4NTilpP|M^f!b&jPhh~HNMDw z#m3!fsXuh}>qf+4K}4*Sp(2b}eu3mhavKlhSDf*v6s#@;*3GSo%5s?Q!x<^lwYC29 z5fLClCA49Q{{i~0#2WzALI1Mwi@QV~%= zW;GK6L$pvK$s>x6y3p)zAt=5eWv(C1<>mt9a4-xsGOFVl{TpA)Xs2M2qeDz4rGX7X z|M#KU>}9^R-0~*zNDa!Kx*A+Mo*A0KChQ^%J>~1@Oj-S5_P7*xRr@|A-^_*2YC>zr zfL-&AQK;khJWY5oF4%})ON{Gc{S`)Jj0x)o?HOra{-%d%V!3e}=r_5W43#fZI1;%b z|D5)}CO+RJ@Su0Q;;S+wO~D%%{C|kOBA&AVsSdUnO@i;i0Wr?tw2e5vlye~ z`iytCZ9e((KRG|e)sZ5$txb5=N!yPLHcLx;-!6MFn?$e`vRIpakHGZxg>jE|^M%1+ zMwUPeg)tF3L4jwxyPOdAxH`I@?7^^~ucA;;jD35`q&5BGk6I{rzts;VZcclT0dS}Y zIc9z`HK)JI_V?W#nSf74JU4=$(0Nm5Y%2{R*!(WbQy+WYuX%u-klLXoHHg!k9sG;l z@#ydESRu$Uu-`W-5yxXFteUq8Fn?a=BlvK#7oo)yXmsx;sa52JuNPZ~u=OJ;tz#AHwd6ds^Nj7(r@sOS?Ml-nWXAWjI`=eeYcgMvCNG=yFvKEAIrUuA#9-bdvp=3`! z8GP?;e_8I1XY5~b_5q#kj;fio_k4nvNdG=I$$j*P5^S%pa+4A%1bCmwV%1YNWy0Sj zQg6{C*T&ZYGe@fE8kpT-*w zE5iYE@R-5K%%G^MyQ`9+@Pkd1;lx9D5aJ5`hSfS@=`BLg2w;jK5MMO$@AQ6M{@kmc zDlfYF`l}Us{AsVeuV*xDX3M6yb?U91kE#a>ySu+Qoc-?BYjq*DWBEJEN;(ebLJ=`< zu-+KEr$xQUl$(J!L~gK-4=9ISrq{BCUGnNB?3pmwq`%PgGvWC{`6egFiyuuI&CswF zkH2nZn+8LcmQRqZ~RsANg4C-(`xSA|iq7hdtC~wqq1HBV?epKoOrH zF#e-H<-{8j>Z|llAqA`GJDh4PD(`Dp;G(zU<%!DINX-nGkn<6iPTTn^(Y2$sN&|22 zjxm!g&jY&69Vqv5bOepZ?FkbLi(=k`Jv8<8Da zqNBn+1-J@gYU{1hS_V5P>#evL^^a_EOpd93WQQ&iK5Q=m85Zk^rp^#Uy zH`=s9JiU&hnqxw;0w)?Z>B53&6;N94uIF2q(2N8Uf$azXv37P7HxE**h%1#ZHY1ZJ z9+HFPJHkhY;8eIrizd8b@X`;mWr8hJ`(CW-DMdecjki^j?MO`y!E)3f4>5jlnjqw^ zY}!Ccd-Z&?WRHr^G|hcDQ|h|^Hi>$3h}3nJ*LAhcl#xKI*;st8LQlm^{_mUl_d){m zZQCmOQI92di_M1qyBB~gS&0)1W>;bD`B;W(%xO1IF2I^5Cw*txPl=mOpPvaEoYm|=&_ ze!U5yR*g#il~!lj{-#{oQuRvxrqAn*YhJelZ+wo{Iy-?)Eb?hwpPYXn!@WWms8q~~ zh=}-=Ap`GmbL8gMkG7fV7l7C&oS&VYeOK8D`aQd3r-CEC=JUJD?`T=~QO&8RdVdqj zz1DVcPtc%qaYVYjL^Xwd2S zTB}t94w2LJPTx2{+Y=o=Ye7}uc!GIIU)xn$S^nure9!A538(xg5;Uz&BnJPBWW7u6 zo8!CBKGG#yF)0Qy)RilK;ydtJ`$`<-?VOk=^{0&N!kdQ#=I$YDX8zp=&TYfnBYiBG?C(Hf2!$fp< zfW=sP3Z)_p<1UGHNHrwsDP|Z_{MrhNSI{!+%z-&)D0~MVyN#Va+G<0kT5M`w zs27kTfpWB)K$oGPNPIDq7rd(;f83kBA1`}HKCWzYS!_O6@iq1q&GIHMjnqH<38G5u zyghXmbaX8uBAy@+fdFg$yE0Zpyg-$7utY=g!c^=X6?{dpbKqD!!EFQ~dEA6}JNO>Kvh);PsYE)imG?guwKJZ#r=-hVkREc|e8Z@k$L^?JN+ z-Cgw{E$^)b(CS3cL!aL^S^6-QmI5s7|IO1weo7+E!!JXW;*BNX4mwgfTA>@L!s zl++^3gr|74+T*zvxVPGJ7Tl`Luyka%1i;|kb)7!L^ng;EPpPFBqXreZ?f37Wh#e!xqd$e zCH<4N`dZV&!kU+-+>^VR+r!z|@-*2-yVtf0%t@rf34`Ii!=*JNu*kZI5=eoNV%Xx8 z8XDPH!33d(mu&lyo9|;fo;qCNdlg;GOO5uYGer}?h#kMV7|e@GOh|aTO|dw_nXNkk z@WqyB4QO^Ucd~*%nzh!d!Scx5w>z$!M^8_GHC8B}M!9j?`BHI8M@w65(Alw1JANMo zhZvujc;G?AWm{~~xY+7idETC1TujTtGEpdO-*MibX5VJC=(aA7PuMf4QY1&{al6tF z3!skGui}_7dVp|$556VEDEuOP6l)PfAsrYKgo>{Z^j93a`;DgJDYq8!B4PL9wPN_@ zgU9G5qn^1vJ9dp?zctfFuCyg9yHsRV_f|s7P>Xs{H66(eRw=c(X@`RCgnj`5ZavrOqng?;2lhao|@g&?lmeOhz3+chB^abLpthnbmM{JonJha?NT{F{oKSsFd z;U{b9f;9#;D$E>7(Wqfl2{afORl+InTzU|BwCW%{8pts#H=2mH^dmJ}vX)^KlTO2x z!0qx%t83cL?)G-ZmuYEeSeQ4^0_k|EQBtuf>v`D;D7{R`{`IrxST10lZ{XnMqbN6%`QLRpsakXUMX~mz$ zZQrqeSP2!r0*);J3*z~#2jd|Vk4f9}az+DarMVa%^9Ze15qk2{wc93SeO{oXl@`v;nF zu}=5GFO3kUg3)iIeY&o2B7vZA5`v?C+h3yR%*BWO7>yO;vRaSpD2GD$MVTh1!SUUg zsop&3X+d9mF+RYGjK9UDMhCGwe3wuPX^TA)mw*Y1mVzCR=7>J-+{YGm2AT1~#bCSp zAw{cV1*9N^Dyv=R`oYOZz5G<*KfczgMF*(Pd!@y7&CTL)XDk?<%=2J~CNEBE#p$%& zyHnU3w{gv3V76Qb>cP&=e$si`@$zZyd8AODLFoBzgr#G?(PCmL9RFqQv>ngIGFvatRb$v z@8~Nlh6+7=%=U0y4szoOJCRY{48a`B{xd48fh9^gCMv}X=`1+%Mkh1Kt*OC-5xudP zy|1YQgKahe;nM45)E2X!z(nqyA`uxXmutLN z_!5k<*0gVX+WG)HMXOTw|BzWf5 zjWFO?GJgGEk~pUM5Bz-ex1zrM857<iIG8IUiiD*O(z7AcWjq$g&8Y-))jb4b+$dtGR#0qta@(wfZrQcb9w3 zG2B5>RJ8k1HZk3Cm@aYqt+e}@->X%FmaFbpWS^bs@dPgR^7@TNW2xmmHjuqII5;i~ zeO`3dmYW{$rTHFu^m#6s?ZE=#c@avJ zyiT*6FCDi(AyjIAvRHrk0H)IYMG2@IN%+5F@YE;?OYVHh<#_S>aA~f%CCTS1#%flP z>BsX(wb|EM=o2TBc(~}aRYD$J?_N=XoQzP2)mv!nr<|VYhW(DR>i7A?{CrlC1pI!{ zFzk?cq_<>j-o7DC)C>`HAe5M4I&wE&Hzm>E+3b+tNFosqQKKe*P|N&4NF>P7(SD46 zj1CYnkV0{B1aLk1Rz(-rqHGuHgs||@qRnPf+xa)*R8A}7<=TgziU|ba!`@ft1BFVv zzvxsHpt|@JsY2}@OD+O1It{idpVz$l1+n|1?0*(Q9VVQ6z7e+GTt7c%@Vnmd?2?!q zD0Hs*Tny1j&N=F52?@5i&T->2YuDMW@JV`i2zlJ3zPGs=Te54fx0$ObWKYs_FJW74 zy*q9+aKAT`{2O}RUltF`S);Z{$fLZ)y;@bARHd1RTX2in!tgVofMyw18G zt`E5Z2V=A;0Xdq_`7jVk%I|#e1sKj)YErvb*x2RUH>Yd%2MBZ1L}?d5{g`KW6OwxK zy$?qVdLFGo3QEyikW*LMpQD|H$x8rqcH-0t=AB!!={UW&iF$-wOXd45Hv z+3IpE3m|-*mCB~ZN{b5<9rO6mki&sKIcC$*#mMdPQqia38iB+5Id%??`myQhX}~Ap z;N!ocWu6tPvsrQh48dX}AlIoRB6ZKt2NW1^ff>Y>e5f7T3D~b%iU`W31={IEcBI6` zT~>08gM9UOGs8pNxes5x@zzvVH}~ml)rRT2W5h&?lwh^HsK;T9Ce;d$Zmo|5WP*X< zm%YV$8z_I$^ZoAh?b<6}j&UB7S({2y*JX#`2~izRyXE=1qLvoEmib||(g-(3@cD*l z!1QSbLM%13^>#JQzNJJVgD(+5yUsGl>#NQA#*$snz`o(rp z{inyl9t;Cv&n5@=a@6uxpOj{d?GTbXH^mLtO>zNS_^IxAw zb%6|y841F~yEKf#9y<;^295IROE9bm5JGMGEFeznU&Wu68UU}E(Xe)U%c9kC6*j`6 z7)K0{+HV{c7Cfq-=_c$IyN4Ac3~h$*5tAtU4G$b}0#a=7StgRFI!q*gJ_g1BtEAy{ z{ybq2rmG%vlS(U3IZtA$PmanDpaILUkXhF1x{7`vJRWWiUC-YpCD)yZ zXz07_7d(sub4L8~blPyd#Nz#UY^s~eZ=XpA(%04f1Gu`EKbI3gFxK-*+m5cdhBJ=A z`gOgR9QfbtZA+QIRuKvZ#Ao49@E34QjbxxJf`492JoRpkilWrX0j%cWigxcMOB<{4 z)*w*U;;wIaWF#0ESm0kuD&EcOw`)G!$7~hbc_y)~q>GJ;wFb;|baZZ?H+p|AHt5}S zzv_Pqx$AnmWzlY8WnlphD%y;v*(-RSiE`%uSgW)8nH|pZyt`lI(`Fph`aKwpjHJCK z5A_8wrK$N~KasQBtztK>1y5E|m$by<@74zb$19~t&&^5e93aNW-vNPhvgE8(4}|dV zztO#~?+wX8$%m!ujbj@n*i3gCuYVgAk|U-&xU%@8vh&$`R6IU<%B26-4h|%XFcue1 zWU1j3)BB~l7)K3*cJ<&80J-adz=@5Gz51H!yXO7)>6e}>=~8ZA05*-fni^r}ca@@X ze)~?ZwLoMEFMjXkCWOn~G(;vJ0DaosZ%?LbcVi1=^NJq(i>j*5+Jw9|a7226rJm(} zPy*m&=S3I;pgJ2$R0>DG-fzD>ZFhaxFFNeg_d2c*3qz4q`->t|SGG0xhI~g{Oj=L- zMSyOeb*sQGiS6lIJnQiL-ZTz`+5}ROROly z0VO4n!VQ88ZEmfH9lw7+r++8~RaI3*BjvKa9!@B`DSvmp;<|P`U)|GGG}pW6w8{w~BlY~^@V>ga{drkZ|Kl=v( zmGKoC@OY;SFVAz1d)HksaEpyLx2I`#+Rsyx{ZD^$G4<}wfHSQm<~mx;`2f9-+vKpE z%x+wBD=IGD+lo`PTgVj$lo1iP-Cr&?A$rfZlWYU z7M{`rSfQTx%gd#mfAxvszERIYgc{d-Atu~QUyA2`aj4Yf`GchYU^ zHh|~&u$cmb38M@|@?YfL91RWY16XRd(qIiJZhytIoyqI8n|gEAp#6@U&u}T*+lvX0 z&-U&t%ll#I>evtN)eeg$t53H-*QdocJ`)K5tyPYBKq6XN3m&qGZ5P7~{YOd?z;kDM zAC$n9*60zAusn^GA>)qQ~h?V?~{Oi zHv~H7XfyA&0--mS#%+^@ii#>PtuoGcSQgIQRwbLn>1gMc>Dd0?fbj8E*Cj8>8iX3zZg^O~COns>9fPpoFXt3{ox zWmniD-Oapi_WeZizM;NaG+lx-XQ)QGV@u8xH zK5@3)ZoW!h_?f`q@BppjVi@?7=PK1Ew{s)Cv(t8=FG=@frD%YDyN4n`tywHhNdQ~yTogb)YwZYdM2 zJ-tcTt-88;N2jgUumCxeQY_X7umsf&3E>F1z~s}U)W|+-ltdbv0>%3TB1Y_jy$0ko z1$_0wD9pJ{_1FvddK(!RZ-m7%UAza>`yM|BLlPbhhM5Btlsjd$rXRdC7_EhrQg3ISKyZEw=b^v8O+vbpn$#}>=%s;4@Y>|HQ$?$ zR1XBp$jW<|kEc2hWVkM-tY~X#@qQh|6s$@?(`mFLW&Lb8#WtYpd_4msX(}9ysG)%J zjd;U-l38s6W7yA7`O9X~cc^Bp6H#2eax5Jg^oGg6dnyQDqVWS@R{^8C{NDYlJPj z?>KtBK%~JR<5Y!84n};;41{noQ@5tmiFB3(5#vRhYsjDAS%|RS6p`n@xwbK8R2BC} z8zB&It9Y`qfps8{%x4Al4M?r)e{?j}=cZ{j%1i$SbwnXH9po+3-ar}NixJe1*X)uW zCWiEzDf&{qLX3UYuC@B-$LRlK>MO&l47#;9p@c{yAtK$<2uL?bN=tWlcXxL;NQZQX zlyrAXN=SEp!+B49fB414-aOCDthMf%E?0r0S;WXxf(y_(fE6RYnfdxHo=PCwr@R(0 zSdR1P8yQ96Gj5#A@IIQYwNJ*zzSZ*LHoPzvj|~r~!_^(QcVD*ot*EFdT&iy2d;)X5 z*0DLKMZt5U4LZQM;vYl2&$qL=!n~f(kK<+)r_Nl72IS!%*RuKj^i2V-=8I`-&y|MH zos66}qGCNNWeX%HqcyZHo?B035=p5{w9WoVAMxpl(TVaeoOZ|EnBR!!W%GTdmUyc> zE*#j2!+`W8K710HnO-3Xk308_iYvII)QyvYK#e$3hH1}3%aA+BSsVcIbqpUp_!Jkr zt#e^k(!ljbV@*FD1&^)H{jc3wvqDW7Yl}X^5RR^G1iHB*3yWKkL9No)kfP5T^5yUJ z2cA-W`!3yHlc=pmnmjgqJS3aknJwWf@%MZ!r{kHiGjf3Mq;5I1S)^$9C5Pj~T6lvw zp7Cn(?v^5Bu^d8liK{*pKQ|h(AEGT5pMz4tbdis}Ix|-lS^BhG{|d=_;ClF^v-Oru zK}iYkS~7)eA(?Jctc+C;v?@27*K53N9(TA#>E9YGSC*HT0n`TKh6O)*p7@Br^}O9q z0;j1-ERRGii_>U2fNpS{2)rInQKT}O!Am$!W5~(QCLEx)S8cF-91O=@syA;kI-Cci zEnY|S=G78t4AM(N0c=L-qRy*pI#V++;kU=I7~TuoN6_QQY-XP8^{?>6m^^@Kndj!D zJN_1JnwscaDj&S;u#`|3wg*ys9f@APM?lUdz6q&RZ8jC;$H7~q4ku0ll<}(Q8>IUv zktTwJe7#iGNJbHjQtcuhmQXTiQtaHAT5o%?31M~*$t6G<^IX+>CcF19xd3_zv0#0;?~2*TUR(uEiF8G`_Y6#fy(sLW{Cs5^N+{A$2!x}dz4UE9N5g2XeEn@|4vw$m#-E<`!-I=x8 zT5U-?@T~2%Y>}TJL1pGLQ^b4z1@pDRShE2S&@m+?O5^PsEdXtBa?-|Iwi%G1?`YkK zlL>eG0ziB)|LG-+jg3XEE>v2r-Jb6l7#fOr&Ex?HAH*BwLcxS{YB`_wg2Pm8?WJV| zGeOe$jNwS?OA~%)2uAA*qb%+YtF__bVIP>+>P{;TV31&q5I=Y3Dt1jUnJrt0ABZcI z%xneK!R35+OzUSh=*i{DW$J0wRaNnf{OueZ>Yi@La|CT>pN(hBQsxe%7M(zE$F@P~ z{F%dp;YW8t3tU_zRqax)@EZ>-7!2_DM+OI(MC`HY)Y;c_!_bv1u(?&S(z}d!F9P^& zlB|=967>Vk&E$wz2m|2k`aX~1pgNI5x@=i|PPO;?iDn!pNWU&a2mf;CjU=2-&FF1W z`DN%-8ev`+9yer4s&j_+4>n^Z`t=(6moXe`>A|%h zi&K*_M&1`e+>fW{*$(^dzK-v%83e4OIy)avX2> za7(Jh1asK04{R@xrPH!Yp-mL+&=~i@jQ^4vNk9B`Slz{PQZ>r^bqha;SeOV3Sn>U|Onl2O7EZepd{S!a@ z*Hu2?8W#Yiz@ZR?JIvbcjJBPwJ=g15j4n4#m*;x2xYx=cr_?IAGLOv|3)G0TCz2fh!6H1 zzGn7gL5#$(A3kye3Q`+zvp}Z@MvbAy-G#lW%`H(DQw<9f?kU8RBgVE- z-SD|FcDThcNIrJW$FdqTe8H~K7>}jBuv(6|&*gzp)t{Qv$FA(7c}98_}eKcsJ^ zFNZf@c5V`p+kx(H%C3zF)fW*}JKNCpCn3rkTN-AAQEw7!Sa{^WQQjnC-sn(C(MGOZ zuN+i7D-dxY#N=qiIsdhKJG44LSIo}6KP@lQ2CiYgaNdF_Dpoe%?SmTq-YFBb@7Jq# zG7m6$bw6y3Eor5>PKBm20hF}pIEydIqFi^(y}9k9c8N|J0%L%q#!u@%U6{A%!Ya`D zu5}oq8(n)Rn%K7`hyHtA0aGy!bL$})1tG~irb}e7eD?F{(sT(VQoCFd4V&V>u7t~` zxb&0z+yc|@HctXcMT4}5pD;Zt3!Jf#JtGtFiD=&2+G6f}!?A_sgI-^J&=Zi2#>}S{ zKDEJOVph>~teeYYkY!{);88t7_l5ONXBQkC?Oet`b5#_VgK!YSZRoD7s0v6+j~;%n z!Ivt(aBZ_&bFcYaM(B0^sUi8@HK3d>wtrMS z&f_5+_3YN`om*7$s`yUJtb#$S)|(NacZ{I(3+{NjJNW4JkYlmRX^G$aA@b}j99LCx z9Zcn3E`8x0$oOJSOJF-k3q&p(#T~%Ozg?2-@5;xy{4k-wShknj};2tDwV~ak+45DT25Ncw?a9(FFs8@dfsNarlNt|7s;T z5v!g%7$N1u@=+OQ&gP!`KP-nv4}9%?YK$wc^4p@Z_lx5gAHUAXZFUp3#~E% zmxZlq&EFOG$~%Tcq=y4-lRAto93Qt(-vURC5pN=Sb zJGQK@ltw21)AidpdSD`<0E95A2bDce_N-rBfRIpN9Y?)C6&{`)3QjIWBAhYA20HQ2 zHj?SCTF8YeZ&{!N4kXJD2@|v0i zg({$o%ggY%Tq-KhWSh;lo@|7nNT(Yway%{=JzrLOE!2+Zc-+sFDj%dB%vH)bi`jch z$Op5N0f5GEI>U(v-}P1njOtSW_x#YXW=TB@NYgiW*Iv6TPIV&)*DGws>wMqqZ@!Oc z{p@7_?L7Q{+`6H_eeDLf2}UU-ZzyzVn^@Fng-JQ};&dWC+GOU%i*sGBWYJVR0cd?f zBFc1#PfkHh3IHI(z^lDDnlYPqm@8)r<|6@3N5h8>(X3O4AniMB!YYvTl zg21lCWt;On6?SlNc<`}Xayn%AXM)p&V^xyO;Q0WskP8!4FoOJbd%B%q4mxhzCD1ss zT&n+fxlmL2;mfo_pdF9FzJf=McpSN3Wh>JM9su?5e_@x)l%jHBnDLfMOBP{rI$FN{ z(GPD&%ky~1tmj+mwCch3r)Gw(YSmBv;pw0GhT+}spI;pk@U}e?L-*26Nu@S z*wk$=!`Qs4aSkvFSgJdwP5!r0O(30OnN$2>S%>dx4CBL7qTZ7N)rA^7`SuPe5j4fo z^^gxF4ho7a5K=T!F3cB52*bc93qwd`E3L>A^;Ok9xNM9#c_zi~NH|3C)p%trDTX!V z4BfY0wf+$UeH!VLYVD1FZ>SdFRZj!3EAW`|UCwuY6Sy4$@rIW3(=7Yf+kOW@?2Ef%-Z ztlAgQ7TU~s1pdE<@dyS2f%u9E?mRzg)sZQ~87&kfYPD3ekj0Cj$M^!VJSodz17N&| z`N>aEzrqqXt4VO20%n5iwCB&9hEwB*s?M`hFF;I7hvFS1M7OrK0xYPrk?_wO`qpt! zSJ{JTLl6Ifp4#DVwF*3kBdjE?3VOqq2cTY{)xdk~vN-^xHglfm!|CrRy<0eN{Gu(A8|p3jwlDu2L)PR%1L+3&-%C(We(KM@6mYhEC}6g(^>RpSiKSpLP4; zXG+j1D`ja)Ro>~LGi~L+6)706wIoLH#_{8;+dsekI<&P98H$GTW;YoMP8kb=N5$G; zI#*J@OAs`Wu@6t$Ny7ZI1E= zw*|P5IM+BNrF+`@@l?3DxOY1%dcQ?>%l4;Q8W_7C7R@SgJ3K6QhCx~Qw$^GkT?FP; z`)2$=yLN-2#M?LT!r$|H0-$bj)Xw$lLBALAk)D~k#xVWmJY$JDgOg7+|I)=0dpoZe zRo6kO@X`*G6hhYjIjthVLKmNX!dFFXUrhr3=6KfM9T$Kyk37%}J5UjzJQ<|DdN?#=X|w`%x0vo3TQ zG75BO&&8|+P+yu07%!{%k1!aco4WYR6R|#WHbyBb$E^x?LMcEL$cp4< zHsp3nFQP-!8K%SZV?HNBp>}|&N2&v^6{bKk!*yzeEsfw= zS>5yYe2jbd%k#a9$6dP1PD&s59MXr9A3~qMDJrtM0$iP-Zyrb~*DEyBSgcl;ReHyG zpIbpQEMb`8MetESvs-7b&oJuOy~$t}lHw29)}>T27^yG#1^i%BWA zwTH@@(GqzT=QFB8bHz`$;etHk#=rJf540+8-W*gyO~gsDVT1XJ_6!!^lnV?r}O3snl!( zNaOiTaNYB%K4(HPWNhfZGpW?$F=_g=$G$-_WDv6W!bBv_%}DMf+FkZ%d$BwuhSn%wAhl9s}6FCmEcWGzkYcU z2i>DQ6C^43UnI+y8?4p<)`fRXtKP^^d@7qdy1TrwJxl!);|Ued4M)|FysuM3qpDHf z9uG(frc4bq5Wm8*1u`aE!a3Y0DyD7u!~uXR#c+Ai#c5(iHVwntko$~ln#nT!;GMS` zy)ph(IzFwKIc>p*(PYIM4Af{(ndbda;?bDB%(RVKr4dVBFWZx9ygF6lO~=E1mwtAr zJ}X@47QK-XQ5e*dafJZN0NiGyjWiJWV>xT-;#QWb7;8k>^q&dED{^3(HV?#q=y)LPRVJF4M<8)X| z7ftk8wNp`3e_bv0S7&p-K>+~x(W)E$-!)#PxhKFLTDFk)Szv#rw886m)xTFH9RC*d`*((A2V_8o z5R_rhl|1?Qvqt*ntrZGaDC9d-L>VEoC^@zSbk`d zKKqa4(!^rgWs8Zx`0^?XFB+AYV74O9>s>vXqz!-HY5MyHKt^Tf<$iwsp(4>Tp$}E=f4-cFFau% z>q$!!tD0Z8*J&|8!wNvdMwh?{^@KF~gT^*b>$R6=g}N-E8#9B%>x4MoY=t{$MV>DT zBB2|?CjjDd&1awZzJeiw&p|jA-8eV|<7u_>FzoBze?lDU;PmQBrN+@h^`A^8i^*6f zccsXvt45par%HFr`bpl)?FA8vWmo8PFdO+SARd ziHM@A%4wWa;A#{weeAm-G7Pu|?weH*x@E|`+8(f-p+ zFp6ZD;&R{W!rvE~g&49&7ig$~U8pS)edJj3dK?24PxZBYqql-_fTCVYq2n^IFtuIx zjZZ%O2wvUiOmxclpn=-I3WKHy95OhPh|+i3p>rDFvM5@df!!ipPqif>ah!C_b-1Y@|ck0~kCmDSd^Vy4ihe7S}7 z?S4fJ)LCydE3aR@4?~4I5+M49By1%hLPzBHE}>=7m_k9PxTQ(89hrKJJIs zGw)Ya2G}}Bc{9*l10whs;C(=W#93>#R-#Dr?lLN%q$CLW!>l0QJy_7OIb#9Ay!uv+ev4 zfl-BF;!Ga`;-V`>WdiYhTHG3LQ9ejIly;qOKT{h)MKm0{ z5u$ukbc^qzFRA#LR2C25F5g?WGP>GmycNQC-%bFsPLsu26H~L}n<%fBT2)+UqCb+# zN^5y6*HEFs`@O2G@%QGb{n0XqlKYYvSXnO*qut{k`NJ1` zE;91JOe6WI^3sMvEaiD-aR6|u+})acku^N?oDb`$c~vOAC8+L@mb4%&=5w`$BXHa_ zsizAL*-MmQQZi2;MJZx}g^2iPqw~EZL}ws;r)ojTo|Vq0#e#%ZE^=h-!O==fSXkKm&*t;3F6Thf;Wp3< zf^E+RSU1Hj*2|d3!V_D70_O$C0%|lM$_HzX|$cw8Kei5wuicQkHY#t<%{_Z1)sh&vw-QT(iPwsH8MRfaq^CTAe zcSMfH?;fn*!H~sCe*6#^=h}VWU*C~FF>T~VA^Dl~p~XZiZ1f8OD^B*isdBS9UZ-Pe zd65dh?L8cXGb;%TM;UzQ0T?ZT=ieMqG79ouOa-X$lhUgC5>iyXwSBq~-#E|hCl_h2 zCZ})ebXxgU#d{5;TuSp`J7eI*g#lfI8UiIs3cC=0!?6=;m3VSe-sRm2ue$ELF* zyf0sKBul7RlaE}-nI1IK>MZY;OSg?IvQz}|kjD^+f3ovBk|M+Rc*ns8hnsXKi%W?8 z_zCYpjWK1Hn|7{%#sG=rgOt>(pbKsuXT2)LH~?0!m)#AHO^7Wo_PB{uu|y3CDt!94 zHpdUBdk06={rFHhiuLSha9iOzf7f0^L*y-~QhsZO^;0_eK!W#Ra-i(X>2q8D^G9HP z?FD|d7PG2sqhU5+!auG4eS;3SE8Ft?i&z+3+PYQo@<}f=QAYHi4m5bIeLS?vclc6b zs1Fpr5O1=ojl^%%2hUqCMxmEq1E&s*s0Utlx8JIlbuwn9Ln;l1K!h6FbMDNdG?It9 zNV8JutUQAmZkkkHQqv{>gc79y^||c43h0{u^GW>f>TMzKqkiHKnDa)&``wi*5lT^O zDHd7Q#55j!`0=foy`hxV6Tdw6C!g<~R7+7{yjqEAReN>u=MPt($*#Z!5tFN<6|UvM z7^oD`uzfi4-G-=)-uPk(!4iD%WvL~k`r$6#IH=iQf58rkL3+NMH-&Zz);Jlg_fSH- z)4$ab`-BtV2E)We|L+4z^(AKg>Q5TEsP~=L21{u>E*Zu6Gl6CvYyGONYKFMHkbg_; zoI^-~AUSSbUUV3aqQ(PjG)C&%rHQ0I*4WzV8tIHc)m-gywLXXYxE$85ce{NwS zG1`RPLnmjDUvX0CdI$G&?4}Rpz{apcire6+|!Iw8qD`ua>L-Z?qC^n#d*WY7cQINqX4iX}?ZrqY!Ew|G;3+g?~& zx8;)N1{7R6l7y>Sl99LbH59Q?@t2bwh(`&{1Z5Xk+m=jJ8%}e%EM7Vv;%v*uvr+9x z>9kwOO-M3MhW#)e7g}s)mb@14DTrHwM+*_V?<5_FDk3ft>p?Ymy}pf)nGh`tMb+?S zeNsc{NM|P94iOgI_4SqGJFM=}|LzZ{iVL*wRz$@9-AS;JMTXxed`1nXQTAy5F`+4O zOW~Z5KuJOVhKc+L_+W-F?nWJ<(LzE(EFtW~#G#YA6{^3r@df+*1Whwo8x0I8gjhyU z$q7fi_#_#oI40Rs>-)Q0pndxjZG4GdfAIMJ&CC%(+~q%2nCB!?@VTb3EY*bYJi;b3bWB5xuvCwCsXwGY1nSmBQAC8il(b_|almhe zi%^e{jV({w(^0x2T|OutatrfSQPE&8hl!j@5o-Z{0X@1SlvKP!=p6xxDBo5m7BTV6 z5OjL~LGJ^8VhYvnmVv(E|Ly+ZH%*a0Votq&HSG2?W}t>X!OkS9<%H?neO)`E@L z88i$?Cc<_@goOUbxP>@m_%)`E{{oQ;d1qT~xa4@QxMASomw)y|X4Ej0sD@kMcO|h_ zjo?tAnd62Lej&~)(oCj&6H`bsWb2Ty*4-LQd&{oO{3AW^k~wUj-;tbw{wr>F37Gj7gGWAo%SB?8R!&e-H(EUB}NVsqIo!@_suCD1kFpzvP4*ut))ArL&RBbqD z@0-jO+5EhA{|On6@7)+Xu`TkJZ3Mm$Y~ZY@X$*f&Zas4khCNY4l`1*Y*57%nf3oiy z7SMd)KfrY|YSQyHnnIZNoBc<8`v{HHHwRXj7cDx`*O-5qneJv1b;C(TR^u?s)P2Q; z*>F{k*2wbfotj|^sVLU@D>UzH56gu!Fm|~#mB*|d8ZtTxoNENA+Ym90lR?5rxYC3xpn@Ve`^ISOkyxCpEgmerw;ky z`uV$YFvux>ehj5v>L}AOgZ~xml-sq%HHEood^K+1p#252G)VhdOkfiSjV}^L*xmlb z%ocvJgGg`bw|3<#CLzKNSlmpc1U>`WLQ5hV+O1f8!u3v6vXp>k_GrE<*^FUH1jcog zo5zx|k1}Pilb8?(t#pxWtAE@D$VPwEMkf(}@2ux=e&@LbXyHI zc6HV}^Zxf3`fAw1qx5xV%O*pl3I{Qasx3O=X%oU>euwqpZ#JWgf_}*k8%~HNnQO}T zjeAlc1h`l4#Xh=;WIZ1iEqrKj&%Nyy*~}ryegB&Q>m#Id^OQ-vq^M+Yc=U8@cYwoX zIL?P~fYL7%NfufNxrbk|359)2-*9?hsDCg~A1>!R`B0{704V#QJB|kN7PIls#r@o+Qw^`lzGz67|cSlt#Iu zuq5qvi%g%nk#}M2^to)l$Eh?d9o2t-%Z>Mi+tx-mbN0tZ@T^VcHVpu zh5W6AIwm{rZ29aNX+Z;+95@^z)`!P{oi=D>6#kbOGMoYvFlcgm0I8==xKot9^ zTL~ZoV>p%azvGn04zByIQyA$tsfjDs*T*UZ9S-D`kbMqeG_m%J{%>Eb!=}+MNpIT} z{j9+$j%e_zA+G)SMu=jP%-&x(10igQ`hfN*qN2NGuah5@IX;hl0;+E&D*bk&tg+h< z-+y}L1|tEA(;@q@;=>AV_pd-b!AGJ$+@U4DJ=N7UvauX!6w-Whlws=D8=MeGk@~h! z59vw2DRFVAt1Vq1A@lHsX+5fs$zESDuw(wGBSFnav;T6#@z(0R;>R~Un~EQw^4%_O z*)f+V;0j*Bbw_Ai#0vdxL!qJL3Taejq%VzI`18lt#5^_GiGJT$JY8`VD#k$HyGLQ& zw4XEoq)Yr)K!Z25IuS0>(9m{|YC^5KG14y*zqxK7c<%t;9n$}8nX*9+Kvpbq$hC)4 z5V@rM)}X1X&Ej-1%7-9yZjP$Mjn|CfT=j7K-SJbO2a(+z8YP8~U?f<=o00)v? zgc2F~)w)b0uTJP|emMK?KhLTe|AII_bJaqetWTXMUMr@Wa6dBiE1ur#d>t{DG{Jsa zu-WhqM^zB!hiLOH=Ics#ilgkC29QOwQxHQVPgFJabH1HK=g~rz(Q7FPC7u>i@gbw&7g0;ld@TXfKZcuq zcX8b%3-QG*`JhX7OUb2ZGd6STt?6e4v~iLFP5l|Hgx0~JPAKsNv6v9IWMVx&Xx=kZ zxkvR&w-7hk)7ym5uRACV(&0gqa%!1SHqx-va9WVT(qyeuRBM0$C>mgD|9_1JPXW$1 z_YvcGm7MRf`dU&P?g^qsauMcq^?DWkhJ2idfh(rw4M+iFbMHWiCO4e&rq4jV@ibsl^QOM`%}>0Kul^dPr6W`# zq*z3mO|7mNT*^lcE#6NSs~{aT$c6Ppi(G_$Ha?;k$wgv{n}J4(Y^%ukiSAeE*N{${ z0a{GBcL0+8@AYv-=$1#Br{yR9@doGGT6z>ZUmu4jmB9ra&HBE81jS#-kBh1?HZ;wp z%dv0pi$%&$8|2Q7dM+rFH(871TpRO!(R$U4ua~M{6R&gqV*2@O6x->O-ex8vYl|P+ zAZ$9})3m(kC&29Q6l~S?(WNdyp_7Aiu&dj7ya5Z+M z;-l;N|6lhDm#mq+*?yY)=Q(vz-zHEP15Kug=51d$iDdVAh~5W$_e+$$Gj&gl|Iq^Y zkN*{Gfqf;SzF8rpY;DPW;*1+|8QeUCWx3IBV&Pv)lS7c+|3MAh^b@1QVBKYk#LV37 z*R2+!`ED2=lj>9d_t`>gu1_28 zU8)LW_uJ^)MDIjg4H%C4>UWI%ZR~2yMmEU5lq8Y)YHRUroeJ$F+SnuWuOVC}nCh~& zU>K219O1Stbel36FT~(SJPF%Y^VlHXeXLqC)bd_+$`QWL!>Y?!C_mi0pN@t@ijK+k zCN1{=j&4}8&iPa8Qh9LOL4`jvHG#;*K!guUvHa{+iTjJMcamZV2|^mFF7j#2?gCRC zn(#F|ZR1w7fB3g`*`|Hv?@a=)nrPR;s=;~QNwhpNB(yFu8x~1#J4-$$opEaB~`p#rt>> z_w;xY2d(V$+h?y)z(YiI0Hp1EMLakm+dW1;v>=K zp}iiKqo|~ilJ*RfYgVjBG`u$slYY3jcxOUrD4$}&gK|iEOiq8lqO^~<>W6ixgl~00 zI)S1hqfI6AmBRO@3>#nT#+-g8Cwz$27wQAmw5RWEO=+|8(W*fELzU^}enP3zUfK(g zo;t>3XCb9HJhsfI%8ZQYk523n*joL{qc$L?B%$7Z&{qaV=`{E=p- zfS$*MXNBRt|78LX7ke+Oki>ZWw6?;own9jxC<|$ij;h7`tJ>$lpwAG0OQP-rS47LF z{=_OyQ=u@AP^Q6uQo+*%bmb%S(fBh@q7v`lA(Cy-Nm3DJ(?zgqUD( z#Ss(+Xa2q-ms3R8KtFJNM?Lo%ggMOcl5Eue{wUM82-H;{-5yRU3Zz<0`=dipc;2}PkxxOB7jvqY^86oTGz-()_`f&S#I?lHo z(@|264-Eqx6J+;@H@E5UP2Q7B0+|Mvo^A-!%RknmKM?yPNz*fBY?p?fp10I&j_kO7 z>4yZin&|BO)LL_Hd{JWjLJ`O21d;BWl=z;Z@1Za`LB)yAINHfS|CbYgdzw^Q`T}TudbH6PY0?9 zhe6D_0w6CE4aYZG-aNl0@HniJm*%vXP_rWYX96p9vECE%NZ**<+R9az_)^KNx3oFv zWxOb|2M0snTirE`?M}5*($Vo0Dpy`7eex^%*2Bn7JLWdzy|;$m&0rqfxH#~eF3LBl z>94%lrME+bzV4+BQo%d>XWz)2GE01Km?BCWa+}vZ5F7}wq7uTvN2`_#yM(~$S2&9& zaPbwPmQWHgP5=B}3G2<*39nCz-~$yB5Dcr7=fPmh%=Nf(HdjG8SfW_^j!ykWHu-e= z`y+5R0Z+Imum^!a09K%GJ0Inw?>=Bv!2U{XH1k{wK;>6&uq)J?Y(XjmFfmep`t*sG z)_gph|2Oi7X8S$c(`^3BgE^T$#Vwn_+f@Q|maC*dZFvN4*i1hIUC4-9eYpI3=hGut zyH)KYV`ItAM^|bgUb%Z$8B+GbJr8joJ@9 zMOi)b|44X%Kk4TFC3xmvNl}sUi*2(nq9xPAu~M_G+38?s)Er34avN4vn{2o5D%%$u zthB_%#rgU90p|R?&}0WrS2$#x=$M$8efi=5|Ez_D1&*O44{PaTO|Pfh!urDM>N6n2 z)^xj^p`q_sjw#0LVXD4uAk{GPvadBA=_%HeeSa)<-JK-vwkwJxwakhqtXo9*8fPOyiHW;%e?%VzU;<u}7y^;L z>oDW*d2W6;b?ZL?AXK4FtDWEPHJ}Y#{?*N8PSqF*G^Is*uUS#(opTWDt3ywZdvcSPP#DwX7k@mH!~SlT7eS#UAcx3hQnx4t zeM(AXB-5^XYE8f*iBc>8IX|06ZP$J8Ev^6B;x*Y#7ZqlDs;;#H?;EgUr=6+RTdpjg zFWWi&Tl{exL%LU|tceTgnS$7l?l(ClB~^!9=WEY+_jX2YSE}iB+TRo1uJ;pakD>X? z^FI%2B*D&>kx6^^`=IhEVdiZZ^e76wO6ii-NzSo`Xm|Rs$L{|j$fFA7?jDW5S9|~Y zEuVLKuo;Y0!1CjJ46iH1KFz;eJz#|fA>mdpX7-rQl*|Bb1BBEI{c18%X1)Ha|!Y>Lws` zZ{Il|qH9tA_|_oE4-Q4sb-~~bHtpZF%B;t{$zKB$S@>-=qSr@n-;@9Swa{#_^y1X_ zaAYxOCn3>$Xta3*89A43f7lo({-QYpN==MO>6_tJ7dj~~! zPh`nLhZwlXrN?^XWua&S&4+1wZ56o95VCH6+k>VN@pylI{da;y^?+EnRH+=8^5rx& zf$r#?{K@$4c?#+5%loOgEv8E}X*bLyL;(|d(k1YYTmKvc?echX(c?6^{66jdK&=Lzxv zoMsSUee+-hU|;8uHbA`lyg~)3eAq<=M0yP1lMD=tyNJkPk-YUNW$<28NSdM=dXcYL&xB zAg?|vF0363R?$>VO-L}n8*a7jMbtO~hVt$2Mwxr3&XSJ6?Roku1fy;Y=m(aJIbF4N zftMbrB+Ev+fM{-lB|Ks-yjbH;o#s_u zL#KMD&m-pEEqNVTkDa6DGE!D!hf>eY&86t2-a^DN=~OIIrOF*oqZypN8Gyz0aQ{2L z1cKERpN*f2pYy! zthMui)9f39+^S~#qc zzN*3g*DGw05Gca@_tg0{&%?>va@9JswWqCtxB?j&_%Mgw+ZijvZnjJT{S@WQ7MzX@!^+B}(Hvc>({Sx*J4h;>B5n9-}s{dIxyliBEL17Yj*L&IIFb%f)W58zrz+tQ3 z107!FwCb`uDM9bCouItxdQc7wx< z1(%2DAwsb{sh=&H52s}8Y;93(?rKfwJ1*pI%<(e7;mduw6<3fUkw_b2cpLXaqIZNp ziVMBM!GW%63w=s`4IE($x9DU+$p4nSo>!clRKE)83w-7LAit`L=pp{KuUzhs&dih= z-{xNhud>Ac79BKU>=X3kE5dC{1oHKPh-4-1(ERWr(2G2Q9Gy@%5J0L-QE&p|JFgzn{T#H6r!dA8kMN@-fLb;h{$(Vjv|YmQMF8h>7xM-%X7Q{ykgL6G6V7&LW*|C!G#s{o22i<0OCb z=4&WcUt4MsScACChQVn`>bBxNRD+Hot-}La1AN?QT@IIPUe6g13l71?5B>6Hy+8b(C+2IMo3?L_)QM^~4 zC%>)%V1Vs}+q*HiVl&3w0CGcqgMxn`Jjda%KMfo=H)l7e02tZuOd4Xg^*PXY!ZWl zfrK@V@C$@R}GpreOD#E<8T`H<%N~1QOHW;GSS_40HnsOa$gA zrjXi1JeoJ!W)JHIj}Y`Y1d_k}$@LKQSj1>+ zq*W-?f$bTbpubtwas&d#66q`)FK6J8@r#to7vp5OpdjGEuY*s=e<#^7#+L ztl05_OgrLZ=jhXv#!Q)Firw`i&0%s>LEnoynW(e25W?Nlb7aqWY;+8NEVv6{8I@KE z>_BDzl(4QRpS}A=PvcAQz~1WaZ-wD%DNIBdVK$t@o?fx(LV-)vsGc0NH$3Rbp~08V zMNrw&d2o6XM-bpM6(9zyUgO|rOHA)Q_lGbELmk=ri{cE?w&jHGothQ*7ia5m=SSdB zvKlX%=t02PD3fPeSra$YfG`*kg3U7FvYU|<&i|f}xU+hDsMjOB3TJVQ4hZ#%L9+w4 z&E*IMNErqHHJkA`-x@6?CFt`4dZaz2f#F6zf)gkWS-iv+D5FrTm5_HAUWj7TWtI?dIyB^2c(5 z*r=`CmHC%Ed;|%0?0->92ABIGw$~%#aW9C0{TGsVtJMyrjkup2^#;~|BxyxzXrJUo z?b|v{?Tk3}4V&Xf1l?WL$sLA)63RNHaaJ07auM2W6cHR8D^Ks*!Fy7v{ZXDtbg^R@ z{4RWmGt*=kBsyib`qhru{j2bi#WZZ}ypHbz&8e{d$?i3x#<*=~`jQYypHqh3FrkgX z@xSmMNBw>ze?H|YXI?1OQX@@kzK;wG13x$5QRoF?;UZUUJow%rKGt0{?|aEAumoG9b-$}I)*WyqM+Pw zH$`f` z%CV3lhPJoj4Tg8QeCc+4uR{f4dPOBiXcH8xs%r$u21icgN9l&+Z5#SeK$C-v`(@ho zmPjxtb?4dNx9jYm{*%D#g<6xi#_zz=C=cb)ehP{+Xx`T_)9Ej!L98M6HA7#f%bkgs ziC8nIC6KA>xL&<@q2oOfAvP1$B_(XN<|ZqLLz};O=L^Tc2*J&1tA7ml5uaDb_jG~` zV%T{O>uv6RV$nG`r8)K@n_j4$ED5Pc>T4mp z2+s>yVK&~I^GEYU)4}M9xp=J~&M3^^$LFA*Kyyr;^yd3_0^v)haU4N?Bpe12$v=pG z>E_D4XBE{3n8J$gm^TihtpSYd?4o?6ebY=oG_Z!Ms((;1`zaJ=t|SD zm2NMHg3|lt`zn5!G!Ebh;K^@-$RM_i#|1Q!$ts@x5w=xSxO)o8^qcMd8PHLHBG5Mq zq8xh1i~cB-tNuTtzA~!H=WF{AN_U5JBi%?zqcn(wbcb|zcXzjxq#)gmbO|Wk-AKbb z{Qm1%?-xI~P|lfq?mc_1+D?Bi_g>sLC6fik00Wpi;1b#g0R)GJAVvK8_IxV>kLj-C z`CfQhDgu`!o7FDAkyh?3d010jj5<#G168RHcNQNwaOz!7bnFyd?cc?js}zCIl?V^X zC=xH@S`(16%kvL?vL{Bs;NcU?=gLK_p5SlI>zKppaX)siF&2_p)*K=W@D)VbawX_3 zRhOR--quHI_Y}71RN$LR2b&@95l9LqBTE@9nlvbfm<{wN6ol199=|ch_zfdfDN?OI zGR*jP@aGIWI{r${3=W#RaRs-zQAeAuW9l^)YmqBoEC*$+!KV?XDq|Bo3RievHd>WW zMeM2=S;X4MZ}GmXj%n2Rmo<}(e}sbmPSj)R_cSzBmY>KnT&8-OG=70EtU`4Z@ZG?3EQKVL?*TN+_Z0sCVf|Qax$M6 zP$LZ75b4)q6mf~JQ|DIvVy!$bmFDAeY|p84r7ETt^Sy^J+o|c{+tA^i)=YrTtX2H=f7kaIj71_{z2_#iK2KZkUU-A)E&FoZEa+ zorj{m5}*XJ7a9{(UFefxjckT)sB{K3jaW`Wh#E(uH?+t7nXhH@Y$_DaK2Atj%(_ck zQHSTa;xehy<99RGSX%7miVL)wX;Wp;8V>NGAV_J{DL50+9uG$A36z`UW2}jdaYZc( zp{9MScGR#nN{IJcRrKZK6@!KiF0oi$-DMDW{EkYe9d4XF#miA=P4$4K!ADD>tU9a2 zpyj|P@3##@hN1{FBNAN3fEg-deMsVJ99b<>s{Z4<;btTk9oV~!Rjud1;U|FCVqEXrWM{Br=;Zgd`qzE+-8FAF#niij%36@6IfVy#2om9om^4(Zz=h~qE$RWOD{fJXe zdN@@cOByAxYrWoE&aOu~2&djq0Hk}+smq{}HM?UQ5yz&kk1)fGAy>gE>dQ+g@zD`N zYz?F%_c~->uf9g%&>mYPJ`tu36{ra*x#V^9Enz?$9=t?%3o~U1?|!VH*|Lt)12{?8 zn;W^rcK8KC^&cXQi&-G$ZQAc!Ma|IoIPe4f1w?K1SD_-o3U55xF9#vMP*v!$UvC{yY96H~sA zaZ=E%)+Nn8r8WCpmuwN^tIskz%2YX6>kft>U)@hS5AVW2)kGtVezv@bE>!2o>JzQs zvEHA|T!%C7pGa5#$=o`95-ypnaA9UL>B!VyCO!4$B$Rr-gdUp*xCb(_w;HnNP z<6^bG7`qcb$c_RostI5$1es7bK6+2&BQw40>?Int+Z$pb(S(Bh4+Sm9tsGDRku~Mz z<%#0*AiwnXrXYr5ESmf5IFk=JPdK>cyjs#YObJi4nNu3W)e~FT<&(g=C!Cv36X*l_ z%^*_5i%ovq(_eCn|F@Y zac<=8&FF8eC8Xm2bk--=mo!ez?wre1oH?dRtz|u? zjVo1}cOFUJ6^aV-a6!`{^Tn~r5TlDI#on4Wa)__4Dq`bcpf}OKQ!T937eUC)XZ^GV zk(baP4236v&P{CTBeH9H8yMO0P5tD~vpw{lh|8i*ugf2t0G;#GAcqXZoh`a@Y%odPwLgEHs#IFwfv5uTR3N-kXVhb-co^c zaIH{R!>Ura3*Go5cf9%AS`Rf79l~qzg?fF^6G9BZClm8=H5UAe1!1%G6Px8cH?PtD z=Pqi#9vC_Z#Tnh1Dp^)Wmy2#52{kk{A`$rd>VQS7U7!XgfC!;ipjx(9y%(g?m>F@zx28qkPTrKJHfreo{3R$tcVFLn~(=@@FY zFUv;*$UQT&;Q1k8zGm(6XimYZuEwxGlw5KphezS?LGW@ytp6UsA@HH%1?kf=-Cas@$K;d#a z&>Q`x)QuJAof=49Kjly|0=LPLHFPlVW0M%CfBLJTrC%|#lk&+LO4OO*WGhLgnt;rM z%;?@ZH_Z%t{cGsKV6Pu+34FGpN9HZgk$-K{IOPJW+jaPFiD>TZh&drtm2u-RLMS-m zJ|A>85y@cW3DGha;ZhNh1%z}~|0#{|K8N-~I7OjfLv%=S8kOwmeL+^%CL|D)2oyq2 zvsk^9{P!@=Eu1l^!KMYJS`Eh_O`b^UVBc|fq6>Sd=NG1NNKYJ~-!n3_K+6kef~>f# zcqP!tX@Xt-5}W|a2!0>%Z_R+%PAAK`;BrMMd_j|u#p{(Ak7R&Vd9QUmM`;%shMe5Wn=pQai@P1GnE35^Snqhn=%4$c*QW`T*(4Ifx(D-Td_lHo=w4_5H z%8e&sjZ0d^*x<*T?V1H<_g)spl-b{3x?%UNe~^A91JGI)JS!C6n-0Q%j5bxqp$?-v zPA#oEs@m>qOsJg%&}PJq!U1m#i3#jb5CyWkUG2fRQ$AZ92%ou5P6OFW+Li&KR6j;6 zmWbKJ+aUr<>-oGJxYwqg#q6RJ$nv# z?%%80H5XqjnjII%EnT~KrOxK00r9x+?aG#dPz)BaQ+XVh(4aZdZg z`LH2rqtCOq-Jeq+%i#wTB;<_K!NiBXzc#vFTR78&yWqGGFlGuhJfp$q36X!BbTqY73K42Z98ANJQ|@c&_czT!u59UY1Xgng^DnL(zw%Eicf^#eIgy+w4lk`*;QHz zD+nAEu->MJoNvF^&+F&XD_d7hQ#s4)ZW}rH_v8^t%9p+|t19y8*&(1)OzSmNYX5uv zAWf)vkQk#!tKdIS;U%+_V2aNq4?xI3dfHN4&;Hd)6a)XI-{hnZ_;~9EJ4#qcPS(H*y3;?;hMpt_F zgXvhPet(IqTBf=e{ntj}5c}YF)yswb>U!O1W4`t7k0o&N){u*V{)Ee+A6Y5xc%im< z7TgYG;z@}F8bQAA`Wj`n*Kb!{fYz$CCU=MxhsZQB#$}FTKbop=a>^ap0l4emA%=^N z)9fb&p)>JCL#ZedCZW~rH*6H(Hqn}zPxnH`ub&V9t+S*J7I3}K0XMeX1bBpBF1s~&;hAn( zndSsI)nkS2l&tQl>SYgQ=HpQ7c71AT?+YFf;T9hrFh25Er!J_6cOuBx#+ zJb1>AKMNdgY;gB-F_w6c7ZMaat8it9=XNg;pV8#gIiwoWNyHYI6g^K{{V|E*ll#BJ z+i=#dLy(m5V1Km_4oh|TYU>z)T!7X-^7IiH@w2(Tnt6E|!P9mCu|GAni+@TJ$X%HF zzb*qZ8q}D}YjCN!{5_V{f#|3L{N)q-MH#3h0%q9O%dNMeYdw8EFCoeR1T(yd3n2w9 z5(ZLgvdrf))uE@kcxfu?z(m0e`FD?S$gESv2db4{+(74KC-(Sq&Vg=~C<8E|ZCl$J zhKV+R>h`pzi&wz!uNm06XuCWgwt+wJ{z!w%DYC@xgzI(s{uCYpdupEE?>2)VC+_~- zVe_m98xGo#_RDT01A3`l<>g$W1P8sz9e1T}d*I(Nysx8IZI}KoNL}*Z>Eb{U|%$Gtrls4Wv3c2{|C#=7_Z~yML8yj zm1iCIAw#%&o*lPkkY%~&-P^1_I!(71Qfr1 zwn&7$@Qu%l4l$@CRyDxsF8H}v{>{a*;~0s>M6O@s%|DkOE;@xRVV^CqjfmTwaVYGmSE)8^{H=IhdlRMlkQwaK>$GscQe1 z-st8q5Pg>cSjVOfriReGLNKMTX*U2(Ry!O()xTVI0h|DcPJWlrH17Kc+HOE+sb0i#w>_8cRtcI95)?K z4tu41rN`i$$fCRKD!o^(-eeCjZ@@HVvKa<9WibECMhHgrSiGU)p&c-yy%d2^N+Ds` zvq=OghGJ%)6Aq42kPv-4H=A}NfZp*gmVn);-%bhstovEWkJ^R?llWC`uA!=MW=-{5 z?zr@&AHTWMwPRX{z8S-ke z0Rq;L=Mj-=o__ zw)Bd=u0 zikLU9^!ztlFb%vY;lkqKms3B@(yxWPpSm){S+mQyW(B4MH-v*ujSIv??lj#boFEX3 zFHnwlYBHmR1+>qPPCm=+Fn@HVJO=v{#3R1pIEfK^<@0pJciE8GA`t=SalQPs%#)~94m_;aA3zMEx2CNWX=(_BZZT1dmUZP$t8GWZGfvl|NXpOha=!ADCFr|+brimP!wo!7H2E|4kge= zJ%WCp^sTz$cQvN7c}l5hWbEd=9l)3O>XfoIX*OV0h5!^>BeczQI?b?uB<=C;n&*i4 zok?WUh!}r}*an`uY(H+c$ZpOIbuweP`mVKSllxU<8b{RVW5+YIJd2OjV5}Sw&uvgX za{`@GmD#SIM<<4q|Ji0>o!OrW$;<++E13>#lfx5i2vm<={aN!<^R#b-23SLqc!J!I$j>^R=R{;=Wj8JNkBNSN! zVwFBuep#5;0Fe79Mzz4}52SAd)E(T1pS`X})A<}ufFQcwbQ}bZk~BU)q5Ejh$7*Pz z<4z?qYyYWpHTh6-hqwbnE*V5JyO&w^sc*9V%{%AIy=mG-Q=+IKB)s&0uyY3AL{DGV ziIiD`;y8_0-=E}<5kM=~6^=7vn-&o$nvHr?1k+rBXiA&v08B!WRw$kX5!6R3UM`PL zb5J7S`o>+Z<E4!3*+%e#7Y8!e|uOPMa0F< z4K~USIABToBE_K<{jpCL5aLgvji5z{Ln+b4^pM#Vhal7e9L2$7BAdh%=az;Uu_W5a zN>C%Ku^6;dMxvzkX z9OPjSfSLdxD_5W^Y@F3-w9S(dh7kb{l3qfZo{*2p0*@mc>)D_#S=&8c-Q5F1fT)xU zi~-nA%JIoQyoK~ezPB^fl|zo2yo!yTZZzl%9~Qc|I!t9dXuo6dlwSh-&O`Vnw+4)H zcyu>wWefl}pU|v6TNR*n{3`-fI1|bdWRowCDNvs{!;H&x$Lhrs&|;zYP%?Yi@;9 zm|=w_Y|e{~-jDYgb;lqwk`0V9gG=OL@AfpB> zUeM0r8(L%{G0d+&z=bfmLNm;-0LTo_erpv;7Xsqu+4J@sz)JWXZ6G0%&v{cCy6Qs` zLt1iR5{s^oB+5Xr_jLC4qG6xY=}E_Pz4hOJ4J+Op{}x?N+Q4+07`0_i(vwJ2tT<_^ zczpE9RUlQR;cVfBG=5<&o^~6qXwb2n{geWBXq#jdkg%kDS0w-QQGlC~aTvS*1TbKu zmF@0N{;$?>Y+IJbpRYR#1|l(Bl7WCGhBdE<3iG_=QCl6_&;aD6vD~e~s8nvy2BTo5 zxVx94rC%U~lgy5C@4t4#fk3I06<1Y|$Z~Ilz7G&NS81 z>-9T;X~Td5S_=ZPIpo$f8ykY)0X1p>;fNVE!03MJ_q;Y#QA&i;&y(umvs)KGsQ=mk z4|DV)-Q;qVtPA7P^`f@c0Yh;XYo)0$htdpId(b-0wlmi5m#nYL7izJ%?`IMe#&oMi zWRL!Vw7(Vafj3p$Hp_s=VQIUZve?PG{@d;a&>2sg<3%ukY1Z*(SE=B`P507->G`$r z1GM#Jm z$>sJ zf&N+e?o^DezCH|eN}*fBNsKPu_WE@I6{4yr*Xj^@V*-+ilD+QsoR~BZ|2D8}Is&i> z3z|h@a}A8(0S20A&9wQa$LqDdAgqmsi7Em(#K{(b$Ua#dX{x-yt3dC+Jn_SrlgQHdqr3F!r281q)Oec=@%pX$(7%4=P{m@N1^jE(*LP zPdyS5;3A7#{%kpAL0(81z031p>(2`*d#PIaJP5`fOBIVpMt^;(?jP_!hE`f zWlx9OAI5C{*Axa|fLXouGVx4vz6>nHwq(CrzXxOthAg*v4Cu6$5m|xIZLkW!G`DKs zbm&!(DgczX4NiOc1Dg+*2?_>{A}WIx?|ZXB^~Bhbz>1?+zw~*!AQgO8W9qAE0(et#PV0u{_P)}Cx;_b_JAmVy@lGRR(^A{5p#X?*X48- zmLXnWGW*uh&T+Mtwv!o z6oN0}U{`4zwITe;Z!v zF%TRAatDV&wGj*_da?e3!w<>CSJ;vl!0iQjm4`sUryYX2Y6!&*7N56m+ zd1OTOQ<8)C?gTkoo(O;TF!*K2qIu_{7(1b4=Yj6$Pa_iDv6D_)$Lxom@yv$`O>NUy~sRM?&VuyD=PO>yrAH<-<@)L!>ucRDFPju$U7b`aFAZ&}}KuMMGGdBgi>lGK> zNCigK65F{f7s&@{rNj_8)Q7YC6PvazT!<@}2%1k|K2VGW&dy^IU$v{~c)f zr$J>jE2;#e!PwYsL%~PH)_-Apz1kC7D_j0)em6z&QfmOi6?;$DAgAYGxGCV7x&>$6 zH9JSySvfm91Ex}D%;*%c`J)ujfuN=5 zUzY+x1f7em6!5s&P=!xgFND;q^%hKX_VRfsLV0)Nq(CeFxj+)7e|}m)@TWx|B3naV zSTG7<;7K`~KVGq>NY8yx~Q9S3TV!TzIVre!Z5IxB3jeo#fu>&WwUGQz3k3ft{P%XWrO ziNBJ@21_G&sCN02o7s@qUSWLGzW+rZC`$Hkx0$jDT*i($(RY4(yHWtx`ZZg}l(>C(u1-yGhat=*F3o9DJ7-0HcXH_Q$4Y4i! z?|`rAJK{|TyjUXkq_;7YWxLeSkV^J38Kz5iQaC(|PJ!@s6=LySG6^LkE0?ga>D3v* zfMRgyfUg=4DJ76Zb!@{J6*RZ=Ch!%!GRAC17Gom23+aa0A5$9$AX7~yBO}Y7xV`=? zl)bh~8eAtn@5!SwtX|fpJ0yv(t`}-Rh!kFKu&x)Hx#}CRlD1vt*;ypS#MKo|5^T-d z!+Td%P-=Xrt$|E$!`aedjD8vBPves7bWhj%ej258E_tMXV{XNW+!g^kdqe~wuzI1J z8$R_ME)vs5+UUtbWt9g0H=X; z!NJRkzQ07VB!N}Ai=6h}4@V}9o~pNGxB&mAWzU(3@@`{CFZY0ygb^DfG}cu)06Kr2 z{j-QoGOSa9Zsz{dLu#r>j zLkhl8?maN*!F96b`ytvH;7J|ot<5E-YRTM`1{2P?#QQY9uO?9_Wkj?C3Xf5(++5Ad z$nRhHej2z9j*%6A(1}tFg0O!uHcez1f9AK}U(He79Wp}22^EPjNe1?h$kguGFR1d4 zA1>mi^}6K z;V4?4F^v0SYGC8m7>gPqQjn3sdE_f$Q$+TaHyt0!D#}xeb?$zgnqW!Aj6FyOgO$7$ zsFeleRv`q}zSvNQaDL1XR+E_%c9&?%Byt3t=-1pYTRNVSA2+1r17$amqzjcaO`_Gu7^Z7_G6%}kgE_!@%Ni9K}jP<_t z{r3fp+6b#?vc@&c+!cn2r>$`ndb@K!x!v`C8jo@_LNb` zQOOm|ieXy5Zy7a*^AMhO{qB7A9O~;!U)Gb<^@Uk(1Ab)ai~P2&Z$73B6KUv>W{|F;u|C4-qgqSjC-Mjd`Ug@+CjlvuI_m_^UQ}2H1t>h72!{^VS))vCo zEcaDxd^MHyJ^D+1r@%$`0Atr1OYfJoi3oLJ`hfykd*U@kG*rH1E;%}kc>lw6svo2~ z!7I<&pO=+PGB8tG43;cf1m2g5mLmnCeAB}EEGNsVl`@)u%UJtg!Oo;Ev=aFv4P~(b zPe({OhY)m!!ISR^cfKR>q3#3r6*Vj;;&+9z8q39;Dy|{~ub+0BkNq;*Y7xaUg8 zZbXSy0{WK)3+sJS(TV+vYw-Ke+?RhBzo^!~7OD#pPtuw!@nWQTn3;K}QM!DybpP?V zH-&xnwT>aSf;=9Uxvb670y}y|G;C211HR=)mml)q{kgHk3GpiPk!12I)u7u&5}jSi zF(q=*Q4~$`c&+!!ag3dQ4wZJJpM8a3l?8+ZG&;|h*c483wnlhMI|q*>ViY8TLOH3F zQ_=h=Wtz0CWWHxIS|C~dx8vimwGKxWxcD!)ab^4e;Y%`^SFqP-YC988980OBemLi@zw$lwo;&D;SZ?V9@)g9=ws!F}ln04)d)=&OT-2dGUsbI%eIyOOS8d2r~ z^TzjMla{Bxg+fY)SuiqhbW!Gwz>81;#dNlmEmt3iFd?Rc;A8ya>ay*)a_ z<=FS@+8T8#-_V)fjF(TkW@9xficsC(dD zds6&`Q>Cx=-`f*LCDD5%dHI#TUWD=qs2*#~Q)ex{1AG|wY) z-_^v#82cW_FzV{K-u{&JC$Z`{{-Jg&eoPQfOE_esJ#V}xV5GzuoKnM6K<>Q7geED@ zJJYSeRirM`yV`_+Z<-4Q?Rt(R|MbWs?DXO6hMm*iRs?z`)I3mJnz*qD*Y&1@7Acy9 z<*jW(e!ot)Y~bB4etc2Mq+`#}@QAzNn(nB{UPT@%jFZr<6$~8nRSf>Ym*e zX*3Gw<_OimTmY&80yg7VdN!9z;i+ojl=CrR}9WklJkg8oo?k|=iU z*@Lr3k5j$UbDXTQo>%f!qLCa)Y^#K3utHI!Lhk3M7)Pq_>A3>T14r+0XN)6OZa8xfchRf#nr&)Ra^A!chbx2To|esFWOZZ zgzh)jfgWZxW`Nq28W=VRO%u3h0mYQ%Iwux`N0b>B5j@E4C;_d>W2TcLD2am+Wdfyy zMvJ`DRry)HmiCKH-a?dRnNLnr--DrrSGBXD%$fokkFfS`57o6vUGA1yQb~fv!Tz!k>g&fB zhrs6~2kVGVJC#(dK}S>IBv$w)weI7TV(#CqlNl&<$>UintkbXr-3mDSzx$Kk2{z8? zJ6nVm#HrBPs#OX$1oE)%@H)uhdeaPgE$7h>WAEXAnZROaCd+svO{6-ZvlEI+lKd$o zqnt^rL0R7wL2Uj*by+E<+|bKYsq0CleQ|KCQ|apyUJG4T)p^8t6Y}gawV|ky48tW) zg61Z$dBNY-T0Z;@T1lUT5=Erui+=Q`14jG+oX;CO@RK`wX=w!DyK2cxiO`D&8udTO z{`Qxg<_ysoGXh8hc-GSTi13)~L&+gqY;1|j>iX|YkGAQaWpde_O zRH{rgLOZ;+xXiBlDl3+l{=r4PP2`PJF#p7a*i!0(SP=stP!&W&dg}$qM(wQ-ztW9T zOLs(gGau~wz{O8%VYvaqI%1c>KE$;;{Y0Y!_+n%^1EcsVlWQ}=7maOh#iyiWIAAK3 zSP_Jx6w$xPZYnjQPh*B8^<&imQq{K7MBI^TQ%s#FkAKl7-iIbFW$BavyotdRP!Io6e<6?@2QDR~ya1KdTl0`r1V@b2!)X&}>H(GAe8p(2EZ(1`(x@%w?7T zLb>iMYez>670apZgbwW=x9$$jSf7M${W7_R6iI9nQ zJ&XtL;?fTopUe>&+aYJ|ffy1I5NZ88xm-GUFqVt}!ZslS16>*4PK=L`c$!z4>cff; znJbn)aPK1xP7}%b7zIHFulM^xnKML7R*I$HaZiDJ0c!n%(f(PSkIn!0o~u*HyD(!A zlF@&VMM_L%i5LAKl0nt*Am|V7*1_$^$EGlFs*c1^DTJH9sgMmGk}7ntG_^;|>K(Qy}GAe65#2-qPL5-bqg%kg`) zif4LJkxr4-hR$yDG?#`{tXStK@=4B^NJ6NsPGTn3U+Kt!W(%FlAMM#L0R;bFQ;jL} zCwGw2tl4!986CUd-;x3Y-Vcnu3{7|DA%Q~a#;mF@lolc9nJ~u>pEZIKKjq zCapqtowDn%I&&b2akyioj>ERWhrk$!z-IdL`t`?QQ5rxHO(Qv82ZrO}ps_y{cnu`WO8*lyF4$ zum8T|ZY04w=bKQBeiI(wv#(Jue4L1vZ3R5PotHoQ;9wm+w%(ki8 z9>;-&Kms!{$n?l4Yv^mObJeBW*L&ma8^rafzM?g1jXMU(Qx=tb{jU*y^;WCB6%5hn z=WhU7LhFa^jOY7~=Low&5HJBiFaZfAgG8w6LMPMF>^3kG2wyQ4v zsE?w+_@+}oID^C)&ZBsKCy;*f*(-tV-xbK0AmoX*8!TZn%znc+HUCz({o$$211L9D zK6`-&wW{4g!Y2ib3M)P`fH4U#7W9QOSmc6D#mh!EeWpme#pn5v$DpRA*~Ju9s!Rt!)oSTm5iB6=s%#c)haNtk5}TD2 zLw8FY2?B1%lA0mDlj(-4B6BuWH=E-xb{BbYq=}l>Z$+Fru|&tKKO%>cGc+4XT)uOi z4CNIUx$`t#+Zz7>8;dzt3D_=#b2t&9@7_tKvnl@_yRdpdp2zdk+~MKo3^sZREHOxS z5u7hpn89R|H~|1Z5!YA#own=CQ4kra?eKWz0~QmStL9a0y`m-9JnNW?z%$!^I`xt5 z*Y*BFtzCg+|27D1(DB%aG7IAIe7pk0Or%`O@GO|OU4n#2-Pb5b_sb(pZV*0d1o>4& zXynU}&(kk^30mVbAx#T!qV>l4cHdQE-Fi6^apq}k8#wU2vG@zPesZ|GP4&nGxg)eV^ zEm23{MV#Y6f(6fd!Gl3Y*Jxnv*Gc15TI8^}+%?;P=P(_`k5}`kvCpHaZ0ifAQKJBkx4QfHw*-1hG{knl&fM$% z8n0Lx_&yDf_Gb-xmS@}UUz`fhN#$!yZ|kZz@gb}8HHJ)DOE*jPC%st-U@Wl9rBmyY z`z5+5z3@AO-qYe7?j$}Sa&nvfPUKgGVR!$#0wi%D82Q&-7-I%Zx#4c4(>fsL>&?$N z>NT@Xd*pXI$<1j%Tb{)qf*c{B^%@V2is`SkJ?P3hz9LdYQ|Rii?cU){4){U& z&B2jW`NN~au~PLz{II0@;d$d;M^aMQe~zDJ(S&+URSE?Y^PQ7%83^`)yx;`nW6T4> zb+6v7`Af@iG7Fl5{OZN6(3c;DpU1P!1+M^K7J~eSA8>Vz)F2JxPo>xW07&%%g10_$ zTX4kC6A*)e^pjly6?BXZe+9wBBw-+3d2YMkQv`VcDw87hImd>x%jf4PQ1d~pWg->~?--&ohfW4!+^PO*2|AVWgB@?gGu{YouT z)V)KIA<$9p$kIrqMp$lDoS*Kn&X6FC5{lg32$Bm0L)DMZPaG&~h>U?jK*1h#+liEG zO9~f7oa}SY7Hi*Nlm}ykd!U0bt-i`!bMaQqc^4e1 z_+kezgVp_70-~Trp!Uob^e87iU%}JibvxfYsA@}Y*Zi*}7=XYrptpKSGBSUReKA|K zJ^p)jvEyR4A|zSkgQZE3LE|a3Vkj2eN_e;P2&#kb4_7;@3J;L`gvzt>cE4_ITwog5 z^N@BTFG9UmpYD;CjzdV@dgp6_Qx52go;(-WwbOykmsjA|SsbNQyJkzWgS>d=#dly> z0A8qGj?q*;EZ8Q?2p~W4dRj1j2{UEuOLqWBuMU^ROentVEl8C5I#+)*kmH$eL-Nkq z3MfYaZLg2Ln%Ti;9`8B`GE>%k@RYAqoj>?nZ(#Gs_CUAh(wW2`sv!&%4exjnzQ&r` zcqaBJ%RtyE=Z3_P7w z{%H5^xZ4%^3%x>()xEh#Fs2lRA+I_cR5(65;?k$4+=teyTU*xyxxo8 zrJ%3B_Soj(gC`++4c;oTvpHjPz0Ia4Z>eqwyVy_w2{0dg-HV$cB)K$?GuEelC7>?ri17GH*W>& z;*|mdo3s4*hW+iH&sVXV%GhlEZ8zu%DG(N8@vR)8-`l`4VjOU<2bN$kz)E)tSflZO z`sJ)|QXhY0|HDdzs%qSUf#q2>d;P4WEPxH#NILa_E7`tbGoHK8gN7}TndYf@fIp{7 zojkZ4D0=R|!G3uS>@PjkACH^vj}voLr|Y!%o!CKF3Pf{4j=M+NErbN93R(PD9RwUC zq}(G%s2aV`z!tgu`&-0t(jh(}iZ2V+XTU!ah$Az!$Qo z($An;!s^j4J2jm{28K(^36z7^>)VGUz}X+JRO#N=eczONe?3xg5Ex%PKAi;^5> zRisneu(wHtn)I{C)$L$`@A%dTb54R%DRJT$Rf@mtE9g`6F=&P0zYhB`!iX_DhS@Eu z&L%=`UD~^j;E^Gu7nP3uyEFl}KjyA?)g{a{H7E$rucdc*I7W@Ujn{j%tlK_4aK5qs ztdyw1VX`<=6g9a(csWQpE_|KYvxXi4v>z6$zED81kdy{QRuz#Gi%1l(BhSSE>?} zlv5l4#;9K(t@r@tOYuda^Lvn-U~)MBqHp$w_U(@%90koU?2h1`wOqfWlhJ4a(cv;| zn~%S>ImnK^Iop6kB~}L!QXu>3i&_;4ItDs4XC!vU9T1)Zqm~--0Ztq!KH(Wa_i75v z2T)EG2D~4K{EMN)mI?ML%JJDDqN@VySBYBylQk*9to}rK2uq zhJHp|?@9dL|7igZIXa(BPg*xJxc~5a)BatEkXu0iMMp&VkAz%g!Q-U5JNPvD2TvXP zuHK2+TVItAk}>qhZsbWNHohOxu+^F{Z7{T~B+8$78o+H+1S! zbmV*#^fL59CwMZKC{t7)IbW93E2wM>aV387?{ps|ltjKMH?`d2F{Wc*Pl*sg0xe*2 z7Z+0*$?sTT@F-k5py#FWsf#j!8CoDLrN;L9cxj|!tciQ!6nR56{}3zO|7_()29U+v zkvDVZej#z6S&JIBMp*6ZtQpAcjFZ4R^3)t^9lcw7eZ zVS;~JTFz7o=IVBYN<>f%;IhTg9bSaV=nT4+NT7=@E9vX&E93|rO&2SGB`3L0+0-_D<;GUVbLMs>kpqGa%s4f zt09%*)9zrofB^b%3vkuesw87#I_m5Skk_Oerd!TvutqS`4kizPd;VcdPV(USZ;`J} zXFOOC3m#S!w;zN)>~9S_e^L_>5wT66$>6r>clmLk!h4E${Qn4h%djfctqXLKE_#tl zr*ue{v~-6^gEUA;cL_*KgLH#*cZpKcAzjiS-HrF<-0z(G^RCBd?;m?3@Wy=S9COSu zP|HqTkbx|%VTX|-A#W{s_LJJUDE2z$9CvA4dBo}Q`pG_yuzyqR zdt{XX=FjxyA9z?j2@v2Q{se^C(aE~5B0C4c8rJjv=v3EyElqBE=t_J-LXg)hU_eCqfqEjZzmf#k{^vo;s^fFWSnIn=JN;IUBOn#xb+@HR z_flE|@dgz9Qb^jbb40)4y!^qUk-UTA^X<>AHB)ajnJk}-X|n0LUWvoWYB7Z3B**m> zS^r)PC-5;wJ%m(tH~LpSD~2pJbzf6|Y&99g_68XO(O?Xhsv9vHbN4EF@PTPayb(jt z7*9ymEXGhV$>x$N2(Wfb?A0%yCZ^cj%NsdNE|WqI3@ATk;eSmGSzB^ZMMwU*N-b?{ zYz*FG*MnOZ=zCC=GQO)I!NdE_O!LP1f?xeB92bK@C?tyJ-m{fxZ0qyd&c$u}-DP#! z^73-M^|a|JyEt^tuz^}S+V|$PXJ%%mIHOwL$cVyX6tMfi@PC%r5+w|(jT?NZNQmsG zUCDwy7~5)RXGciI{apHuUWcO@c=*A{%KE(}5J*lpV{W*0N!GHA@R9xoK# zT_Tl-0v~BgAIo_ZT3MjltyTS~{TP zA9yQH0jr@!T}k7BZ$M>|53}#ApN~^_=6%p_MF$mso7?u6y-{jT!Xitk=k42A|`C?$p#Cf+2V5BVa~Wr!ME(D;{m?(5;7!6cyBzh6not{|Y) zzL06*)b;+L-b2T5CWupY5kYH29&*vYBf^dqJ|Oh*z5^02dyYXCW@+pY zI;CRT+69X1;o{S!dAEh`j*ST{1U|+%xA5|(M%=W&4C@$o4n^6DV+^R-SPj3+<{iKJ*5-;9G8HXpwvo9FEg3{#Ao@{5q8!CP7 zlK9-z6dIov*PSY_o^G$1&mPb)A;4lqS{ykt`0Igrv?(L{psbS6OUL5%cflJs38b7% zDLjA1L?TK{e}8z0DmV_t@dS91s-YaBrlMTg8vbgkb&=e2dZCLhlu4CZ?9Q{VT8D9P zai5`+d`(K?aUY}5-hOYL+FZ3ZtkTKqq`Oq>#@10}_3_o6Fdv^gsND9q!0iKH;N$H* z(HKq8=6>?2mJWe@bQM%y?QRRr2!1wIn*?)mHrmd7 z@i^Ms^Ew#7hf~i9L@qa|?M3lPfEtUZMk&*hG=C8Mm#gKI)DbPHwn3X2tWL{%!`vq= zw?xGM*U*@`w%duXcAE-|gKkrm;-bt%zgpDPiCdBoCMqB#IY~7CqPRjG4qp^+U869P zDH9usA{z!76D>{b=af`?+l(4bE<#35#@g|4eSF*(O)k$DaHEXQWk-!@$>8TX@vK|( z_2{dSOu?(m16|izEieui@!W#jG~pa ziC{qXJ>QwbU6D}zZE67bnxMmtmzCA-Hj*$Zjq9etR94ykNYCRmfmOXw_v&!)UD=<$ z8JK37j-(aW{kuS^sAF>$-A0~&zZE5{ekaKFn1*jH_MChAwD>{$U}t!N?)C{ksHWeB zyC9KR$pt8+Xa;{5E?|0Tia+i&*WW7IKOmTP@_6A-i~)fN zK-DOMVm{%45_$+2f3sxULtrm@nJw5+X`r zN;rqfps;jFP-1c7x*l5KX_w;@tzSE%fs2p2yGUBgQ+;#dbQtmg=i8x zw4aHfrP(VHf<;G1=jGv1@Q$3tXb)2RvE(H-a5H$#v9r7Z^SV5I07B9rR6OZ&9Nb<2 z^OMuF+YvDTw+70k7pv}W!4HkVhy*+0Ik|whI{+?DKagT?_`@v1p2Dc*V@k?kHvJ_# zEf0@oHcwog4z0p_v{?Qx+JmkO1A~;|G5jJ`uG5R-6+s{j%sqT>R9WkCjZ( zxD~9al>S=)scz^g%@&1^&TzT2?G0z%T-iVJU6EEkU4S3}LQRuGfOxaHsTykck zb=D91_Km*HvRo=}_1f{~aTy5NfK_<{vf6Jgw}1j7Kq33Cp1jvFh`D6`Wx}9AWzwE2 zX$emSFuVwhe#?1T3MVlBrnU((bemxXCo3v2(1g{18R#qiHbK#YonD>&bPGjg7o~j` z^O3kXnnWd>EAHiAn0PMZErp$rF}rB&guKD1_Gmuoont*Kj^Mt`=RrhSBEsE==Xo+c zSgo7PpSAeq28mrwj;q_vp%jR=LmpK*sgZ;TL5zi=nsRZElg}8xqj@%YHMLH{sEAac zDfyg;38)hS$GhqSY3>inqlZ8R(DF5BY%6QmT&=|>sk`i9E%a5Xo{fV@U8L;Ck}VgZ zoWZIOS9adDN(b}zH7x-F0U!?fo$tind;_W3n?qKEnjl;;UQmb_u(*MD=MTjl!TMPH zFDr$Vr*~Y|`0s53y(;|5`Ptcrr4j&f*Pm_;N5H}(A_M_;*wrtiG;|57(wPd0kcjbd zB}UToKg&Xd*3!(8Ix0JtswJksK(=^x)yea=!We2dk*|^?UWlpnn)B}NZv7c89o>Qu zgE(|zsOGJ17QD8*v?8-%v*XP`qU*teP`k}DTCR6w4J>moaV{3kaR(wwL`x!-hUc#a z4qkWbZ#H~h3W$Y^biz4X(6y(K*b|RmEU*%ttJtH~-P38h4UUv&-5&f@;EG$tHqmfl z66~7@5#@rBxVvJ)i-*#4!>eEf5RF@ri|kA>Hrl|YlFa!_1v>-X5=u$2aPd%NE?b$0 z^jk)QtYd?`8C5$X-OC;c5a<5%qqn60yk1dwG?em(eEQUg(M*9D<1qbfU?lN~#4>fO ze+dlSY1_`VY1bP1-9;_EenFTL7q_;%yL&I33fAmbZYb1S8Tb?3o*!mp`T)xm?XTw@ z;H{r?+5!eJ7CU1(t`bJT&_)AHhy~>2oSdAj1HUmra|KaR$g+{U)-2fSyYsy(kOO%C z1BgMR?aFeVmz$)(J&^WtX2cE}axio+>;>ER@l!Z80qbvK^z=L+y)ul#Qvnp!+gn_2 zw)wpdNm$)NLW1ipmlqeGEjaSZ1}z5vaN3DPP-&}+K`hef+hxFIkKZ@(zj8OPPvaL+HSg8uQ5EH`Txw0voi@tRy&>Vl^ z*g;1|T=aQhNEG}8frna}%E&)`zW9|#_#J(C_qIyOGAU0+zMiv^cS*vVu~W>KxC{f z1^3ZRZYC3X(5((C3)gukMtGkW#H6?i;(jb?r!6#y1QO75R(tUewer17q_d6<;) z*n|GBok6ETqwj-mquuJA#b`=i!s5e4<4WP^*PKuW51WOW0;eLS>&(Z8+mo~?EUf1S zx=g5pA#fFo_!(?b<8|p5;ZRD^!9fRV_*8SHKK*4T$(ia?=nL2@O_Q!TWd8lB5Y6c_ zO7)lq=7>UNi-|}mN3TP2_PCodcW`W7JfRD9%?m=)8zTmCG-cY-4<1a_l9{M?I9kN6 zBit_E4-nuG%ZMzbd+&Ex=je@Vb;RP&7M!(D7Qs+BwgKL^9^OoGWU0Z)7;&g23<7+) z%Hdy$9>kXL?%?3WiTKH!T{xays5>&Za)_Op&rPRJz`MA6SX^jsaX+8i7mLkH!%XYP&kkAO2G$T8+*5_H& z@X6$jZLI+Fxwu6xuv2nJQJz6bL>l1`{Qn9X^xg2%wf6T-Ujxb+A-d z1Gypitgo$+b@v*8+5iX_*)O+sE!@{TZBJT^ULG!IfDu(V^~c9YlJTCd(NQ+z@m#4W z;&nk26BBY_@6ZqlL3fi|fnS*{#2r?BgHf``d9PLrwyU8-8ayYOub-R^M!Gr385lL4#ogSS%bGe_sJ7s(%2H8#3g3aP=HQLtb_Wm2F!$t*ve|Shpi1bfnjN|OGz}VR0;$ku~vKj%_ zC~!Wb$T*Q#KsA;8aPsVB6$ePJU^HuvSG3rcT&bYt1*|X1L1zdAn!hW+y`(_i?P%_7 zy*teP$5R^Wyz_fkTq7Z{^ergQRvHx3guJfS1eMcYhYjjW+bI~bfZYumE5lsw@S^)o z7u)LNP2fO+xI z=1+IrGGEH!k{M&&OYK)oV}GMfwK!2IeScRV=x=t_+p*JNKCn7rHMAZo(?H)ppW4aP z+!~)zi_zs}SbqaO-E8_(rMvgy$dSU-U@Hoi3to!y!hq*0V&NQPb!4Kcxm?zXsk#0< zDW9R=C@`>d{pVMIxV|}TLB!us3K|q1Bh!M^_Shu9gzuDWAb3dKX3k*<@BPJJ{l@8J zttXkyaLwyctK~epKwgsU5lrow^hGyX&rR^RbDn`%>q;u{@yFMcMDr10ZUF6-d~ElM zC!q)e({djczo`yRmyc$Nj2?EnpR8@M=z1DcNt1yIq^*8^CHGnzAXvcx-1#IG=DIE> zq*_{AfoNbFOTzb-K5%a36X+?qWZ&=QAo(FmXRH4Fe2vA{)BPt6e<0a{n1+^iO@vXu z#W@cd1Mb}?9Y)EQS=M;%T+;#{q^ukHsq`{+2r9mH+YX(D%b{{MEa3VJ5~g6plG(=pp^^a`*E_CSaCdITtYL1$uUfUP_sP$T%oe*f_BZ?Pi-H~qeo+z&7Q z^xfC&qt5Mp54!zuXKp>^Jq|qccpe0p{Y1OPXvW>rUoNihWi21g0G?$82;@&b$(_`z z0sZ~jnBNX&Q)qpNKMXK`kdh#=331UXa-`MiUH`qFLyRlZArxTHI(f^;%K?M$#zfoO zloZV`thXoUjdcHcc$}Sfx*arGRDTPL2_(; z!))`1N#A_hPAo)gO0Phb^Q;vsLvh;*JsLfF1lpFubS_MXr$Ha=gH}mGzR=e z8b@P}((K=mTi?aX6ngpR4JsBp+lrr6(x>)IRc?!R#S#&Mi zmk%R4g&ApSX<1oEx@tjR>IOjPm_*n{psrx*z*6Qzw13u4D^dV6mkFFc5}Qc;ppgC+F(1!XF<4g;W?7IJ({_i z_L2pS&4PslYnHl+Hf6U)?GsxM8Ltm6B)^z=5D1s*iPR@aBI++a@6rzV}RWO#w!y(*X{wMhR0qUej7iFO7N zHkm|qZzbgWu}zR|@mamQyRYejA=^sVrsr&XpY8@A&MN*S-g zZv1poefn(Yf;jB52l`G$NU3zK`k`!#)3u+z;yB|}G)#XqB{Fw(dW!Db6 zdwQly)VKfEf7s8Qot*^^kW;0)$tZ(Ahh=zm6bOtPMyZ{@LCARjm2%@!@XLVuWwG z8k9olXlUz}OBMPp%!Um^c9<++t@}?SNqG-14;CQ)0BlcUcxN}d+zubbrr&}mUq%u^`(;GPkYQD}`N6!~;bOJfn9-}q7yNPmW_*EgLya&-7b+4e-U}f| z8b3d9oPw}6@CepafcUEX_;@6)?^zNH$THvi{ccjt12T%?M>(3Mwt!Fv#5t9+_cx*Vnsyttb8A@bD0{1#IUV9@vB*2b0-Ax$^7R zFZjohE2Yv084xB22f-F6u^5inb$FZ=0-yr4mx#tX{q{7=J8rg!&2?V!^WOj(Vgwac zgYC-5$u+wh%=_#*3^yW~`8_Y2VTWF^Tw+Y2A}|)1{PzB*zdyv>&(ZM|K(OY+nZr<% z^sV94smgbwDC9FP*$02C!P{<3Mud`v^6}|8;tSZ_5G-!xF z-i3CZR#p#8L?9$$y3jf%Qv?74)2!U!uT|iMbf1Bu#Rx5$Pe7!Ln_F0D6??diW4<5D z?STyf3e%zfZ6A4!{Ux>3mwS_4wMXA_&DQtpQXV|Oot%gtAV?y*Tpy}VlaGO_hZd+r&-f8UnQFPu4{zVdtgYmL<{^*|{F5f8P5 zQ24{BpfFKTzxjhIjxx%hNEB^+uc|Y-U;oFuVeq5yE6aB&rfTUk(1?P7&h)m#`Qg^Z zRasp8M@p@QSy5{fjFja_6x^z7IeM+CKh2yLI(0T4Jqabx>A1NQ&l)o%YGY!iN;Mr^ zfk)!O5!!QLmg{r0Ec8g3CF0lNbydL<2ztl!oo+x>rn$fyDt&T!d3kk}?9-n0XNu&5)oA+?!W&=T8U!p$sZ$8A&$?QfGkO7nFRJpCwCRV2r*e8VYt8jj&0%3-w)6GtY~Lyj%IBxP zzR=w3@cY-Hp3F+jYx`s2d}n#dTFzEUsZ67Mx(#l1>250}Hdiu2?(LvC3<6EzLgMPw z3Rrb_r=!(+v1g9&ufRr#?0{yz5IGS5VVrTw^Dx&^*mgvQiT8U`c&vZwGEg_?doe_% z682T!(m8@-tK9oN4HgbZr&trd73cFY%W!i8YlN{E{%LUEtg_)D6bOi(2%w#^v$dLY z`K$0`wBqtoRh5XB?%FuaE&2HE&oI-^um;Ozz0Vm0!)d^f9c|?ad|C0kQ{;1@0cik? zL@aOo-u_1rYla{Yz4Qady6#4d00VlRV5)IeF?wfy)O3o{klHsx4L!W zDtuDO77h5P`1Mt`pI_DpDNdKkODR%|W9h3W)lj(Au2k@64m1;DD z@>KYBdij?Km;eyn1N;F9q@$z5tmBSVIrBB>@{goYhlCUrN#%`Oaxo?j7`*~1XJA+M zJiwPX5)!~a^7HdS+2?nEzMF?aONtkCOjsGj;dF5AyCjyA13V~Q)mzy|PeL%s zF-c!vgQUnk4fLBIKC>+Jt|}DT%r>c(Pk-aK?v1|(N=~()&MQessNUdTQpgQP+2BHz zv~;`#l|4lvJ|$Nv|6DKSwh*mDR2G)D05|C#|Mzpw+AzEtdlH!XC?y0c9!iqX0_iN= z@7!;q42lu=%*Ze_diFEt2%RU*=p=(Zz>wC=Y4tjT3wHLKw{0N?ntezDfff4Cwj5;b&ppmcPV+x(U_I>+fX_kF5b1_ zaVk!B0$w#R2s?HuA5hElyg*Y`E$p*gujRvieRKUQ9yO5>z|5Srl${Tkx|Wvo)U1~W zOM>8a|2mk=KMk@yhr@F#-GCjC5;4CmjQncw02ns=Ka7m%LVy2uLhFID=qD!~SOvj8 z?T@dy;BZ)}4kS510JVw*0LS8zx}0B_1=)HwLm~d~)IZr-5pv%1enGF4aP^9O$jS|h z)Qv>1nVXoG{pvw(#FPzz^S4}&^gkbG#}G6-(^`LylY&*%R%SIm4jG3*LScyh96J|~ z7qBsPm{?+38eJmqJDp4$WGptUfnkhnuKYl&;*x(j&dP>XmZT8>T*a;-%swjIBS0*A z+60AYopMa8`Gk0%0f#g|d@1j3^36aeF&k8+mU?w0BqW3-Ej6EtMz2%1b6KuSzT7E7#jIc| z$9SSqsX5#RH68E?LHXKw zz3)r?LIFU6o-^p+i4NRbvYv<95ej@5WEi=eM%WT3`(8$B3yYAUntw;-}U zod}Q)omJcJX|}HRO^ZPwTt2{sh|^p~$oa9&<9Tjgr9Qx0_cVEK;#tB8SX%g~j2+%| z11{=ly3ievt7>}AmI?0iR_8x8HMKe&TTnsh=nw%wGf}QUt$50smzNg{3(M_4A5ed= zfj|HG*xTEagFoctB7Xk{5*Z1Vjj*|`y%#Z|&?bj<#*mJEGmQ(PreqRGSBU*!_#hapfIo&U+;%@IXQ;c zV<<9xE1>Y5EvLchYYBZ(Jm9P^S^PUpC-B{+O^3&+s2dhS0X(z`E}Q*@zdl7PS{Savm}QG>qCvD(r6ZSa_Xawy zX6-Srtu?rZrp zzp!VJ5D}8V!vUpK+O|!)6@!SHNh7Cph>X$vmh_z}H(#iUz*$N8y(1qZg_p~KND)Pk zATzyJZ+B?W6Y&joW2!Un9SQL5(?qH&bcKB?RJ7c9_h` zw0V`$DB39L-4EYa8GBFD=*Mx*jNY(vg&0!Q>l74HAi-YkSkC`Z5|b;P>W~*D$9*eP zDbCfi5&JomLy8W97*j1u@EC^~+xq{8Hc;AQ;Wk?F?nVE$Ft@_d5jU|Y#-@!*h~yH1 z$~ZlfCnBWbpNl`+AZqxgLDD}r3B42uq`ObzifrJJo!bxH_#tT=Nu6CppZ_^@qM+Et z6F*zky5#X^-|xl~q6{Sr7}D1jJtD|_!kkX^FJdY;P+>h?fDRnJ#Va~AQ%`or-io!v zRXEo#Yr)?&UTJ#s(v)I{wJ33@39vC}YEGa!rBGAn)YtWnkUCmOv&*y<8vAoWJoT+> zRtGKQlD7({XxrTrFK?q-4JxN081Q&e6dV*r5WILv^slF7499d4WlJyr-vdcuiV}&& zXa%v!Ul0@3;h|lp(i-PPI<2eApZcn%IYZ^&Enq{4{qh%|xJteUjRc&Wb|j1aY|7>^ zm2NmP(fY>>V?7S4sP!5Bziy%moZpJFQU5x(bhG`9&N{b(JS6|g%vD#Xh??-)frIA~ zg^Cf0(F>!B(g3XD{~i%NGF|0Wg4jx%O?Z2tL|70)AvU8hC;0i|D+TYO=zf1Fq>;vK zmQs)+iCO|792qaj6KVyulzRpTIV9qiQ5x@Se}nudXGR@D@diOiv2^wbIT$jQvJa=- zS>_$O_HeDrhCIUIvh>)T7;zi0SbB^^!**p!~x1z zuExtqc{fjD!5-6<`bj5`-hdY~joRbCWHxEUXJpIg%_@+iAQ%ucWsAs zQ2%_x+oIHMVC66mlZ+`$nF`XJm$`te8IF{uwj5#T7Qs1*Q<5){2!uri4GdAm`*{5L z^b2P0V)|8>n!mzih%Y{Frnic?zRr23;zUqfLf7F)^Rxb26YTxi#Bq2A%kl=JlkBWSJc-J*&ylap(*zAsN=4jwRL@|v6B4)H3WV%1-lq(jG zVaa^<0UK{n>hHjjNC#%pu1Jlwp7}O5JVYBe3e(qOR=C=AmZ-nbj{2~_|3ry8h+@Ix zkvnnDi#d#lYcukPFGlyq+9&_d5HWv>PgJZil82^e^ZLzpUYP$|JX4R2)>savG0Lz( zUgTF7pFX+_-Ne*%|q3iBjl-QlX)LsefDD0q@| zE3&k{zvfWX(khXXG)kc38rJ)&T+%P?FSTk@hj#LE0@F~_h~bW(z zl&+gU)9G&E(XFz{0tE>KebuF9wrAEK4(H$XeMV8wx@H(klZ(c~n_Ux2Gl{h-%!Kh0 zkas48dX+h_z1d=UM)BVb0Wj*@^t?IJ`c&*{c)5X|p)Y%WuA#~$qWx(fs~-qW`-*f! z`t|=4c|fxSViw4SGSXXymu?hquYIpw<{OKLW=Ig=aZ^DPou?m&xe)72Wj6Y0YE^Bb z>7F0y`K_+R|K9Cs$#+8WglMMLqidhQ!k#3hgNB}dCbzP9dbk*tB)z;Gf_a)3&*x&^a_wsY*C`)c~9Q?MID#Tf~^$6-bWOl=FRwS+#w=G4^*Q z=*y&U9{PU=Vl>|V-}guS#K+9>hw*F5oN1q&B;hhcekP~By3^T+S-aF1AiD9d3MXq& zPT0gim8y@;@fOe8l>lZsok>i&{C~e4_$f)o&e=A?Akum|Wmou>7(pD-BQhdxnYlgj zWeNMMFQmVpC_nQ^=AJ}^0?*zoitbi<3R5#29Gnr!r%%)i;Wn9As_+GAs8ziVNI830 z1V_#ZIWvWQh`|2@Sc8}Qb1z8+Ee;m}g!mf}xdGP+jA>-kb8rIGlp}MKN%Q*lw&BCV z^yK8EW*U;nKkxNk42US;WSS4BGZ@)|Rtjj>0M3_laokI%jeg2Jk#WC&?cP18u1-VW zRKY+^g6S$?a+@(}81aIRWxHp+_0Sz4efD+w=;nF45R#f)o6OblRvJ`hSPW$yuyK00y;W|Bvg{@HU05^A|=hsmn;S~8({DQ zfJ3?TB?e0^ebJ=2l{)Xr4W7nNGFn~XAgFls$LA*|iE^78tN`f#1Ororr2N(iN=3w5 z+cVATMZP|Fnw$(0>0n97BO?(Z-eAh{hojpPm?^{}Fa z6Yvdc(!lU_l7m61_x-g4Aeio(1JzNR`VHwBfI+fajHE;SugHa~eqNlcOaIEK(%={w zFiP86#{OTvE^Ng`R zx8X-aAdt-Wemkfeqm^2QiPCPa}##Ug7G^ z0^=b_^r$L${&?$&iJSN9WI+&7m?)G|lD+Z{%b1wQPOm{c7}!A#@FRfkCL#>W5mH8BC@DpFj=u7d4E8oRp*UH znGf&`yEkv%@3)=Qz)v^PEKF+%i!a8)?Q_>xy6DquKE39IG>||Em=^T^3 zgao|OVew}exxcN=3}Ztu8Sb>Lr%K+EM!-oxAMOX)$^= z0Z5GNcRwzc*5uEuU6K$ujR(&3OX#rIj zi*5wmOd4&N9f_Y!OIMkERPRe)pRZd9yEWn?X2B3~logqX&9y?d{P0f+iSLzHhAdEH zcBw(%q9EI<#kSRT-}?r1cv87+TkJ>4JeX4T0vt^GTz6(;mlkW?j-GhBn}gd;n_&2i z>`P>se&Zn+_|;km1{VuezU@rRPEY)L;_t|iZvch{t1n6R1g~Kb^VXyR_|oooRSxd$ zQywOc;nT2xJ z<@q_{SiVd7IXe6RyAGzm%k=ZH56l!2yp2#51DQnPLuTfNXc z=vw<1q78?A%y?5&x6XZRYzZY&LXqkom8krA&6+wcp4n2> z3g{$pR+&5*E;sshMj~J!2No64?d47HU995La#@av#>IjyYOtFM@9YFX*|W=o4?tnV z(UGIp0K#r45bMOQGl)5Cdf!yQ?7x8PPRz;;`*#Ni z2cVwQ*Zu_%0!obJj?Mw4YbXu#U|}Jy6+qeV(}FQb2W0q^Y(84OJ3Zuh8cn`$b^<}< zex*AM@J$tHgWs!(yOvC`udEfsCnk-W4 z0j;*Xtk*uCn}6TxHdsmd5=$nFlF!DNvu8A-d*P3@*l;QZkdLdw$JDd^hK3(D*P8@y z?@$IwE#Q0@LH(c~?;k9ctcH5)JTX9_Kg1p`ezU+ zSoG?4KyT~%5vbyKfTr4$w8u<2XqB!gorE`HsCe6C#ix6HK35iZUWdWUlwlY zcz9mD0!+3Bn?P45GNMw6&K{~S_=RPsm$xIL}T2Lp`DVET>M z^7qbAvAPXq7DyWe4!gZhH&DocxSG{?+f7Y@yaPDky^%mP0E6TeUy4#R0uA z7M%uf|J{kBjyt>Izf(90vq0qEWsl%)xqvEVvl`5efS&Zo2!Q*mj>v_4+tx=#PO?D% zX|b;_#3@we6{ondGig5ko5`fzQX7)sJ*rHzdL6)gF9oyHJXRBLJ|@P*#9@D&)INA! z`)TGd#PnZmRV1KF$6DdDFFWamQ1|My4)Cpu79O}Q+2~L7tH8$8Hn=z>i6Y>{A=u)% zxQey!Cye`$;e);g1}&ug>zkQ?QqsKLV>IZH6$TYYe%GQ;<@}fQ)ha;GNR+GhS>Um} zn|aJ*2&{-0102kQg@)B|FcEYZqFK)RM)KzF4gmrTAPklQdTIY24GSG^5Jj(_!r{Y((m4(IA4D#tb)aN}F2X=`6QAP*JFY9;`#7qEr6xqI2tS+)|f$iq9bX_nQ$|w3#^{A zWYS;)AZp?TIoZf~3mhCA(BpYqp~vsn;q7*~+zw9CyvyG4RJ7m0;#`x1N$-*celiGh zb+(h{4=pZ2o|mT2R~K8|?7K!qp6K6sty|$k8JydobM*|9%#;Uo2t@pD;vSc@T5Jf_ zZR5ITX0Arcbph3NVfFfBCY&Y;W4n zut}v*fl$)(0vPP@d>H>!-2L;<`Z})1pYOnGhiN$GU|U`9FvYq zrtUm5Iyx$L2cFC(wmOxrPd4xQg+Z&0L+x;TFxh@@YuGjIsgaS~8c(NK@~*Msx04wj z&qjsn2`C;&*(^enot{BR1YL*RQ78~$;5E}d9M+LpmnHD)ZBxi4tB5fjtyV9HLoa9g zMat}BTgBBaWh^iMz=FSJLbc8dN0~~f(O=QpK#Y432Wys(`JPm+d%}$A>+9PzZ3gJ{ z6U$4jU_h{6p!~mep}aY0TL3zsZj+@d$jhj)NWM=R z0}HFgKo+ukoeW`=QsBw{5%5ON{T}} z0=P7Q+-{%@Lkc?eVT=M?KHZs$r54vjp=x(9NakG&eggQYO2g*d{+fic5RB#zWf7dL zuk|Q8Zg~e8kpV*BU}PsyyMq;!Eu&4RCzR`b0S9(%!&KPX1Utc?a$A9M z+o3?T5ZDoY#w2k+KVAjPzIwMkl(DyW#I|0b@x|;t;1dD%tOu=XAK;V=xb0H4y_RJJ zCSwm3HriV~v=e1o)ob8YoiyAN_PS)|qoJXs3|Ly<+iSJnl+&yHLc$LJ?oQtK0lzUO zF76cY?VKz|oOc%q#ha|wrA8$3TU+lq2BqV{1?x{c0+j+`4`AAS1aaDa`C@O{AvegN z)3^O;o=iDyx}0Ap*$iyTa2of|tE%@Dm^d)l_x$|RlM{aTKcWjfwqL=7jBP7u-hsFQ zLZCseMsa9Q#O9nx>=zGI0;xADL{a7M8q)bsdNGK&aV!w@-UDLfj(>aRBE-3gpXFo~92 zA9Z%s69IUHriP`=oGB?dRPrhTQXbSl;!z5c{)s_!EcHv}ol;UOY>b%%FNgc68OYU1 zl5TNNT;~vFStGkY48pY4NfHU^^n(=UdsG=VzX}n z&s4UtCQu%9K0FGxhV}8R19b?;wE+$S@N9d})kGc!oAU9tfkfmmgn$LFj{N!aK3X(I z1qF?<8g$3afvEzg?U$X813_e>P(XeA&cL*`y*&e5EI}E}nFfB9D_|oBh+Ew@m@oJ~ zE?gb}av)giG$6I7Np1`1wPz9$1pD)UKwvw2&dQab)%_LB&f4D*R-j7 zzG=zhA`z+B);`FB?S==QE@N3m#Z4&j>I71H>czkJW(W>?dWYsxbvg&VifP9}V1Ul) zufTR>&%(l8a+crWe1SZ`l8%;Ic>(lP8vN;5@Ml)tj@J|v+4>6&83Ha(0uZ%+Ba6)o z4fYmfFRu<4+|FmK0m~6|qciQ_i@UpT>mX`V3w| zL|&^O_OA1eC$^wgEY&EcGHL)0PTW8ZptmFkNHeNpH={wcNU#I!!S}rfE4jZlMk(<` z;&jC|+#8HZPxl7!Q^y?0pBGa73AO;!8H{xkSibtnk!JGXd7)(1;C$sCW@2O3bb>q( z+X{%IP)Zq-w;pC6^s5t9SyVOKWt?76ojGc zVA!SpDoZ@y|A&NaET5|NDh0mTJYNG)^nk9P(h_xts?iMFN0QPToAL=gXETa=K6uza zrZiHO$PWf7Hr-D*WGjVzj=kt06sH#-%$ICH0u9ur4HddEW(o0_H21fL)AqL#OW&0X zbiDxSeXxB}jq_#A$M8e*&<}3Q_c!jcD8ej$*ExW~eN7g-8{4TVOLQxdcO4>dL>uZuxVQz3! z7TG|XaWQI7RQGqWKJiLqbo4(E1OYa5B{-Js2A zeQ zx<-|d5+p^sI|ZacKtTi)5T(13ZV-?bX{5Uaq>=8BkWT4FLO{AD-o^dA&-1?HjPv1) zvj-pU|BZXI_qBi5in->TE7mHMCV$ERr(e0Ol0E{v&A*PZPoj6sQtrb(E=NMhv*EH9 z3wEaZy4R5k)%+31iZi0){M!fkGzdI*qDvWLxVB@jp7Z!b+~Y0Jq4Bzt`Bih&VIVLj z47+wq9f0(LJ}@$@ZUl zA%xadn|-$^PEck91_kN!0bOkdwwhTyf$EF9sT)n{yA1Gc8yXrSqoSrnCW>`bly`1H zW&Vc*novcE=M)B1d_(YgHHl6Q@G>+)VD%{A6lISAs1*1k81oUt)f4>;j^prDtJnbO z3q%_6lNC~!Bx?gHLR3^#K>DrK2BufLFYG60r!Ic+jya}QH0tH|<(C$BPaB`Gj$e+9 z8^tINbe{~1>pl!^>5(yz8VIzxGvgPEZmjLn!nTNJR-Y@j<}QtW2MIe{ZDm}LgDx-{ zIixVh>}Ma6jU*G-fVhq2j9}ESE7W0Bi5}7&D_$$M5VbRqnq?ozq`pjo8>hkXyjwAFlVRmYp&6#nG_| z5p=G{oA0hZVG5{2wbF3bj`?a7s$WL6x+4w@!sX*ofDW)Hn)%SYu$Pf+{lY0Y6!tq7 z7AO{e`!T6Wetlz0nmtjh74=JP3xr5dlQWlTK0Sz2M2+*d_lDh(I+yHV`fHH#x~l;Q zPaJRau;*)JVwjVKJCk@VT1ZGIs~_Ajc`of7#6V;(vv=Q&z$HZWHm(y1$VE;x*iK4x8`62V(^2DB=N<)r_iYceeCs(S+YC(VXN309g zW@}dVLTQMHDtL0s*lYt`Quv0vr0xii=J!r6KEMdQQzTYr^7Bm3%rAsDVSvU+id^lZ ze6p=tIZ}K57PIij%Xs^zc*gE7E>WGK0)I?WUWF1r0j%KT{<5UgVE(Uy=JU0r?kIX& zWlLB|>ZNswcxPj@zPd=j?!P=oAV`CnXK-a1viqNvl_+kL0T}`oXqT!D0Pqz9Ky|HX={9Fgk zH`iO^StzNkba3e0+x#SPZ~)J@1v|YzN}LH|HcVU{jW4~fP_WwdiRpo?FXDEDZ90gy z;X+Qxu*T|-K~M*CpZaqIjL(h{?d`BjL(s;3pvouTLbu5mq>)y$4GD)U^`|?(xK_v8 zjSp z?t`I>Ck4u7TP`>fG%rH+O+J^K3|@m&)})uxWbW4CZNhreiz9sa|MoVaASV~JSp*un z7A=$252?`hiE=Vw)1f!L(?!(78lCxN4+JlNr!`+5U^EF>ZjQkX-ou}@ygk`8r~Gy= zyE_WhGSOHbpTol`1m2H@J-zw84XY^Up;NrNx`IgVNk?xCExd~i$(eD6r9cP{GDT3W_9P$>8%S4sQO5BnM!l;FSDg=JsAUSmyMwE^1) zsADz3>g3WNW1qK2%m(m`v%PDN$w<0wQ1+!+x8cSRaA?oY%p}?4Ul%!@@VNuv+D7mx zwnVemeO0F0Nlgu@$WjpDg$+~j_cJo5$cPmd4Z2)Zx!}mVyR1Ra{EE>)wCNKc|LFDg zgU9ffsOaf)1fMc^b2BOB^z{(1)M*Ta=>XXNFaI4h$eizg{{*|Umr)Gm1tFAvB;zH7 z(tAJlcj#$pQIkagiPzs>eirax7vcq1!|%}VuBOaX!Oxh;a%oANmc3eI!}kIB01<=% zU-Q46dZ-E)F`*|t>x)M1`SHWR2R}U2cdSUMYdn9OZgTWfl(d|jCO*#Xg}pTGn{WKU zrc)I{_6Fc2NArnKetsduA{TJ;{LpA}*{6opux6vV5703&$@n9pd#T+q4Kv-M-mwGL ze768^YiDPEK|AaMcClKuU8aEwX1?B92Rbq&tOQs&kKFsd;u68_AfDTKr+BWO;4xi` zR-q5h4jN%`3vKw_s|(v4kEb3NeqG!Yf-Vth`T2GV5jMhyE#kgbb9Hn%h;*{C_tCK6 zQLIyvT3_!rtlvTZDz(oxmHTa>f_F1s+;YxKY~)!JK$G6>eUZXeGNylsOz`EEM_yjQ z<2l-7rK`-EQPs5%X0urPOVh1%^g3vSs~@TjDK=2G>K&$P^bk#aG)pF|XPO$-Lx~Ak zR8obk$?H7<2YUGJ#Pz2O>*vr=OH$H8-HQ0&EWSs3uQZASzm4WBC4oL^rBB3qveY|) zEmhQ@^AZ^&c~oseB6swv%)x9Qmo5i@xZyhRZQBB;+G-~@&x>@hYB=4QMT5(@I|2#h z7mUTw3E8F#oOj`vta~CLP| z;f|