From 353859dfbc159f02542058b63c431447a0e443e8 Mon Sep 17 00:00:00 2001 From: RyrieNorth <2586649501@qq.com> Date: Wed, 9 Sep 2026 18:10:20 +0800 Subject: [PATCH] first commit --- .dockerignore | 9 + .env.example | 5 + .gitignore | 6 + Dockerfile | 19 + LICENSE | 112 + README.md | 231 +++ compose.yaml | 21 + docs/screenshots/1-map-picker.jpg | Bin 0 -> 71614 bytes docs/screenshots/2-favorites.jpg | Bin 0 -> 36234 bytes docs/screenshots/3-shadowrocket-config.jpg | Bin 0 -> 62893 bytes docs/screenshots/4-map-layers.jpg | Bin 0 -> 47583 bytes docs/screenshots/5-advanced-params.jpg | Bin 0 -> 115288 bytes docs/screenshots/6-search-history.jpg | Bin 0 -> 100538 bytes functions/_utils.js | 44 + functions/favorites/[id].js | 34 + functions/favorites/index.js | 69 + functions/index.js | 32 + functions/ios-location-spoofer.sgmodule.js | 40 + functions/loc.json.js | 31 + functions/set.js | 48 + functions/verify.js | 26 + location-spoofer.js | 922 +++++++++ package.json | 14 + public/icon-512.png | Bin 0 -> 419681 bytes public/index.html | 1905 ++++++++++++++++++ public/ios-location-spoofer.sgmodule | 10 + public/location-spoofer.js | 922 +++++++++ public/manifest.json | 18 + public/screenshots/1-map-picker.jpg | Bin 0 -> 71614 bytes public/screenshots/2-favorites.jpg | Bin 0 -> 36234 bytes public/screenshots/3-shadowrocket-config.jpg | Bin 0 -> 62893 bytes public/screenshots/4-map-layers.jpg | Bin 0 -> 47583 bytes public/screenshots/5-advanced-params.jpg | Bin 0 -> 115288 bytes public/screenshots/6-search-history.jpg | Bin 0 -> 100538 bytes server.mjs | 276 +++ 35 files changed, 4794 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 compose.yaml create mode 100644 docs/screenshots/1-map-picker.jpg create mode 100644 docs/screenshots/2-favorites.jpg create mode 100644 docs/screenshots/3-shadowrocket-config.jpg create mode 100644 docs/screenshots/4-map-layers.jpg create mode 100644 docs/screenshots/5-advanced-params.jpg create mode 100644 docs/screenshots/6-search-history.jpg create mode 100644 functions/_utils.js create mode 100644 functions/favorites/[id].js create mode 100644 functions/favorites/index.js create mode 100644 functions/index.js create mode 100644 functions/ios-location-spoofer.sgmodule.js create mode 100644 functions/loc.json.js create mode 100644 functions/set.js create mode 100644 functions/verify.js create mode 100644 location-spoofer.js create mode 100644 package.json create mode 100644 public/icon-512.png create mode 100644 public/index.html create mode 100644 public/ios-location-spoofer.sgmodule create mode 100644 public/location-spoofer.js create mode 100644 public/manifest.json create mode 100644 public/screenshots/1-map-picker.jpg create mode 100644 public/screenshots/2-favorites.jpg create mode 100644 public/screenshots/3-shadowrocket-config.jpg create mode 100644 public/screenshots/4-map-layers.jpg create mode 100644 public/screenshots/5-advanced-params.jpg create mode 100644 public/screenshots/6-search-history.jpg create mode 100644 server.mjs diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4941ac7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +.gitignore +.env +data +docs +functions +location-spoofer.js +README.md + diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..d66d759 --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +TOKEN=replace-with-a-long-random-token (such as openssl rand -hex 32) +AMAP_KEY= +PORT=8080 +LISTEN_ADDRESS=0.0.0.0 + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d05a68 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +data/ +.env +node_modules/ +*.log +.env +data/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..723c501 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM node:22-alpine + +WORKDIR /app +COPY --chown=node:node package.json server.mjs ./ +COPY --chown=node:node public ./public +RUN mkdir -p /app/data && chown node:node /app/data + +ENV HOST=0.0.0.0 \ + PORT=8080 \ + DATA_DIR=/app/data + +USER node +EXPOSE 8080 +VOLUME ["/app/data"] +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD wget -q -O - http://127.0.0.1:8080/healthz >/dev/null || exit 1 + +CMD ["node", "server.mjs"] + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1f66842 --- /dev/null +++ b/LICENSE @@ -0,0 +1,112 @@ +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + +Copyright (c) 2026 akudamatata (https://github.com/akudamatata/iOS-Location-Spoofer-Web) + +================================================================================ +【特别声明 / Special Notice】 +本项目完全免费开源,仅供个人学习、技术研究与地图接口调试使用。 + +「严禁以任何形式进行二次售卖、转售、商业收费代搭建、打包牟利等商业行为」 + +若您是通过闲鱼、淘宝、拼多多、微信群等任何付费渠道获取本项目的部署服务或源码: +👉 您已被欺诈,请立即向平台申请退款并举报商家! +================================================================================ + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 -- Definitions. + +a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. +b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. +c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. +d. Commercial means primarily intended for or directed towards commercial advantage or monetary compensation. +e. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. +f. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. +g. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. +h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. +i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. +j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. +k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. +l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. +m. ShareAlike means the requirement that Adapted Material must be licensed under the same Public License or a BY-NC-SA Compatible License. +n. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. +o. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 -- Scope. + +a. License grant. +1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: +A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and +B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only. +2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. +3. Term. The term of this Public License is specified in Section 6(a). +4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. +5. Downstream recipients. +A. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +B. Additional offer from the Licensor -- Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. +C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. +6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. Other rights. +1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. +2. Patent and trademark rights are not licensed under this Public License. +3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. Attribution. +1. If You Share the Licensed Material (including in modified form), You must: +A. retain the following if it is supplied by the Licensor with the Licensed Material: +i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); +ii. a copyright notice; +iii. a notice that refers to this Public License; +iv. a notice that refers to the disclaimer of warranties; +v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; +B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and +C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. +2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. +3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + +b. ShareAlike. +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. +1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. +2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. +3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + +a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. +b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 -- Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: +1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or +2. upon express reinstatement by the Licensor. +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 -- Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated here are separate from and independent of the terms and conditions of this Public License. + +Section 8 -- Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f47dd20 --- /dev/null +++ b/README.md @@ -0,0 +1,231 @@ +# iOS-Location-Spoofer-Web + +[](https://creativecommons.org/licenses/by-nc-sa/4.0/) + +> ### ⚠️ 【防骗与严禁倒卖声明】 +> 本项目为 **100% 免费开源项目**(唯一官方开源仓库:[akudamatata/iOS-Location-Spoofer-Web](https://github.com/akudamatata/iOS-Location-Spoofer-Web)),遵循 **CC BY-NC-SA 4.0** 开源许可协议。 +> **「严禁任何个人或组织以任何形式进行二次售卖、转售、商业收费代搭建、打包牟利等行为」**。 +> 若您是通过闲鱼、淘宝、拼多多、付费微信群等任何渠道付费购买获得本项目的,**您已被欺诈,请立即向购买平台申请退款并举报不良商家!** + +📱 基于 **Shadowrocket MITM** 方案的 iOS GPS 模拟定位 Web 管理面板(**个人单用户自建专属**)。 + +采用 Apple 2026 **Liquid Glass(液态玻璃)** 视觉美学设计,全屏地图选点,后端与核心规则支持 100% 独立自建托管。 + +--- + +## 🌟 核心特性 + +| | 特性 | 说明 | +|---|---|---| +| 🗺 | **多地图切换** | CartoDB / Esri 卫星 / 高德地图 / 高德卫星,支持国内外全域定位 | +| 🎯 | **准星锁定** | 滑动地图对准目标,点击锁定后地图显示蓝色图钉标记已生效坐标 | +| 📍 | **当前位置** | 一键回到当前物理位置并自动纠偏对齐 | +| 🔒 | **后端完全自建** | 内置自托管 `location-spoofer.js` 与规则模块,无需依赖任何外部规则订阅 | +| 👤 | **个人专属架构** | 专为个人单用户设计的极简 Serverless 架构,单实例专属,零维护成本 | +| ⭐ | **智能收藏夹** | 毛玻璃面板,保存常用地点;已收藏位置星标实时高亮,支持一键切换与取消 | +| 🔢 | **高级参数** | 可调节海拔、水平精度、垂直精度(支持按地形自动获取海拔高度)| +| 🔍 | **坐标直跳** | 搜索框直接粘贴经纬度(如 `39.9087, 116.3975`)即刻精准跳转 | +| 🌙 | **深色模式** | 设置面板内一键切换深色/浅色,偏好自动记忆 | +| 📲 | **PWA 支持** | Safari「添加到主屏幕」后全屏运行,体验对齐原生 iOS App | +| ⚡️ | **WLOC 最小改写** | 采用最小改写策略(Minimal Rewrite)与滑窗扫描兜底,稳定适配最新 iOS 系统 | + +### 📸 界面预览 + +
+ ![]() + 全屏地图选点 + |
+
+ ![]() + 智能收藏夹 + |
+
+ ![]() + 设置与小火箭配置 + |
+
+ ![]() + 多图层图源切换 + |
+
+ ![]() + 卫星图与高级参数 + |
+
+ ![]() + 地点搜索与历史 + |
+
flSmBGrwrb{gH*OLUBT@ zN{1Bz?Iq-^CJEynS9~K*jIYTyD_c*}Ga)wDkKV)B3VZIFL+4>4-1+aFqA)!mz>e|TSuV@(>ow@%Wh`AzX9)((_bnPb#Kt%aQO zA=s5aXDX&;bMn@D29jn~^T=#iq~Tn6-!!p&de}v!ypHj`5Pos}UI}=b61e#O3=lm7 z2l4 TB|EDpA}Zm~!VdQ?$*M81_@Q2n@-a>z*EO+)M)Hm@ zjYyp|t6clyclH_*MWsQlsq_4`B1$v9{T<54w;>%->bVa*cBeHqcd=_?GsgyXIGC74 zkf;yV5f?u_ttNAc%w)v-*1tAx&rKHj%NGIijKGmJG`PS8cZiBJVwX*6886_2pR8}X zfY~r>+N7SRE?U)vD>28s5VXn&o0&f*+I*C5 tXo>G^5+~;h$3};L zSu61CZ8512PIl@f=iZG(t{oHI#w6y<_Wb$PYRpKS2H{!cYGp^qdqNa#{QGH8Wv=w3 zI_>)f+)9a{{qe%i$~#|4KZdE$|47;Yna77>1$`>rn@wJta{n0odc0?jL7QE7^-~l! z giVgrulmVS16P;r0IcsDjp3V^d87S})YbVEqd}_M!q#K7ONyGbJka z$=2^-Z)3u0j3@V+;`56wZaB{7wHD@hq$)djq>LSM#Uw@BaVT3 2iwnLTP6)F<2 zD2^>ZS@FqE8#XpYZ aJds?)Q?FrC+;r4#=X7zb|2Oc;} zA1Lmfy|;p%f!1f>ZptB}@zXj&s^a+zdOEX!S%)UBk6Uq(p#eao5b@b8fvDq%vkeav zjTrMyaMhf)4E;BIJ@VQbDh!iwf?2MfneTPN5U}zu3a_KU7HbGYo!+|mK8U2YDf(`I zf7>2G#)6 U5Z?T@&lJ@u%x(-Fw_~e&xfk1ntoCjhEXR|RaK*@ z%21zP-w|f>Fe`Ao5Xw32{6u_}^g(ffZ>iwRHi|^pIZA^l)CURlE{;PEfeUa Z4#{50 ~8M*)EeB-l?8o0C;`4VB_7Mljvc5Mw9y+H2EwGhInnMYF1u z4=d|Y?<#W^n~LPI4jebw<1j2%6Eb__UYaXhE7Yqs4s%^F>s2g*+Y8=2xO#`#8bV{L zK|X1CZ*+!$5( *x{#PQc zW;uPQ#VxUD-)3-4FXXB1Ro++n{lPnxh$!raB<~3_oSmPr20EOY_#tWDuO4_q_eW0R z-kZ;Ae8Ck27rl!5{K@3|T#3h~rxTNgRx}@j4||vu0yZfp8fd;pt1?>-1-YvV6A6ah zT_H!mkYQxq`%+kB8L!EZWM8oVssuCsph*(1V((|P9e^J#n1M`qzYe`!=|RW;B6vYQ zyl48joGgtCM&iCAWA%iS^$=z!@QK*fvC9SX+F8@@u~q$T-dx-#>K+XTF$CmQ{Ig^_ zSUCy!`mfl(qYl~F04ZwV4$%C&-U%uTAz@}5sOTV^N|w>^b9NEudBqlYDZTTkb*o4u z?>c(Uwkg!4qH@Q>G9Il$-Rv~ANBe_!gGi+rv1du{crpp4@KB(9OV^8`bcN&=oE@GG z%(r!mnzx8rWR|oi+<}sCd>{pP9VzLkTj~yAc~s+0b8Y4IEtZD*{kN*?pDO&nTtG;` zYp~OP1FhCC5@^s*)JYqIp*c9$>+fsv+s+qVJCF}lRWh^2DWhy!)~-NL7{Qp}Z| zC()S{-4osXx9+nAj?l!^`?#g?@z$#6wp2^9b*B#{3pwvs?U1<%< nZ?S$GB(lAikIXzyR~c-JspoSgq$nIx#3@L{9hoI(kCz;30q0BJ#P z-WnU-i@>_Z;O`g^&fO&gSBQ!bxhKmZXHT)fk2^&i#vI7*zkG<_{0u`_2_F*a+O;cm z7Y-)%BkgdH(oJKNz`@-mkKN?NQV7w!=!e7{D7-*Ib=dpwesUM3Ue%WHdKP;ZEZ0~? zvmy{?amQITb+@^uBU)*mGG?E$hZ)@7w=tiwaTyKNdq>TF$BM&NbYa>`nYx?Jv5y9; zum5rs{~Mqb;J3eKone9Z^#fu4L{+&atN!-jXZ$T=BRYpA357&k$0lJ|p*`KV;B*6n z>Xmz&Y_D=IHf?!SCdp^PBE}4T(0of@w t87G& _qKqCaak(zwf~ je@@99clne~Y^>( ykCi96zWP3lWyGr{{uQ)`^@@AFME0eqHsLF;$lBZD+Gtlgo;l z(+_!jg;S}QRURBGCQDzhMhfjJSms@e)#9cimIltnw01=*9?moxTSG7R)-tv%6J5!d z$ex}7Coilwx(k-_yK;pn7>hbJ(!t{*j-*iZPvd+R1IHXTJA5>WZiX0G0SYZw_7QTl z= M5Pur2O7lm6(~#`?v@n@=a^4s<47J YoCFYU2dgAvL0iGN^L1%-do^(kY-!G}%F#;Ibn^v7>r;4) zkR=w%m4ug3NZzC*;l=Y`?Hlaga~?D=ZWZ#IZ8F=$jS1x^8>0Qu5kV53kur~lUCdx7 zz9u-XkR^tlB>ZZ;cS%4`M2Skwasn2;Pfsq9V}Rq0A=i`2!0AM5z{h}Gr{u`K#ysd^ z$?q9q5hLF`MVT;vn^V+8ns`HiKr#bykL+Tbj(>O6lM2EZUlE7+U(|tHeHfFyZCNiY zv(~=+pj~!>Se>XU{~VO6inH1D7U5=rl!p}ByJ?xa){VrP$; sp2jS?gSs@W4ifa$bUNC>}5N1+Lo4UnKNNF(<%1@hF=rZ0UJaZg!U6J}= z^3xnTJUxvrx!l>++BfP=KW(%KSQ$N~j<0_#`SS|;sgQu}t!r9qDoxDhWZ|&x&%UYh z>(@Bvx2 uTCO?b8hp_!PE!;%6i1NT^~cb zjP9mack}N@LToRdf!C_(bN7R#y1pZ-vG&pknDwABv0mig?874XA{k&21nC!Pfb()P zfZ4a!j|+iI_$ax=ZwElysF5D>Ol_u+$L~l`j*IOD(F`LIO@ B^ zow1G7W?M3fl8>oGQJBg@WN6!!VB-_Qm2AD>(qY-HaI3@Qlvt}|v=+Oz9CcoCvW-e| zStG)dG@(P&wRmCklUW?b5Lu{i cj z-pllSCZQpSIowy?@R2)q<8x#4mkLhVvOT3Ys@jjft}FDq@eXWNsybZ>q8oY=9ZA6* zj$o%Gk7^Fh3@!KKTo1R=Z4PdAiXSeR3Oyl6OSqpZlSm^x6SfR0M0n&~%3q2~O|ivZ z#XjZS>qT$LYB?4esj3$p+f1O{Gr7IcuD8lOur3f{yPOw@jUgM+ua#q}tFS?d%|R2_ zzR8@@o8UUw{z+s+rJ&R-LtAgH(w6iju10F>uw45&b!jx#$O1&1W`d2@K (fz|0{Y#VamXMzHBB8~X zvATvf;|4c0%rN0Zo$=Ber= 10bA8bEyA?j-Gy@u|US|v3FE0L5972ZJ %Y ztFiq4Z1cFY>g69TVIW%>?PbW_7p15B7YukQl#zD!CptYnNK>{L-)Sq2W?f3%rb#v^ zl19nR3Xx2S|KYd2*>gapeQg^X>U*NYX<<2@%TXGpdC2xhn3{;~ DF{RiR^~?9eT>aiul42_^$P#WV)I-S}S~zqBtpMzaXw)ny^1lE+WdRFR^5jTS*2 zIlTCKl{;l>eYdi(hdIWJ*(FZ)qS4GK8b@%$?4$eBhcV1D&8;^_49Dw!c&;1)9}-&; zfNbJ|lklV*m|}2OVJ}Eb^0FW{R>{_wwLFW7Jg&^<;|%P5rI>s2>ArHD<<}!OG8Zu# z)Ga+0)n$+^^5WJgou`cZCDlEZR=HBN $b)Rf_ zfDqgjx;Y8-XTat9afuIQaNGoH3M$SUMP@sp`y^Q)M#@9LgDWQ>bYSUMlLolvPlXPw zQi0mR{gV)5|Kw{ZO&K$4O46h!Qi~EDu>)-JB>ChxY>gi>hZXQ!?xHM7h0;_R`6PG1 zS-eI@^v4^9UNHu*qvlkaJ$W(-pNjbmJF6n)*OZR_9T+x;{#CGOHc%T-YJ8f!!8ard zm5LR_zY_{X=wawZ2UEBO{oPAQJUq#zg H^ z@0B1xP=o=AhymC~YZ3;6Q5l^Dhg1+P!y!7hYAucGIoReg`q;-T^#Y|l!QXQ#1LVKl z4^d^l<+|m(0{6+{2Qy&eVff`vEK2fD_5~~O4rdT^jzAO;_+ufwBLBuDN7m uAXm^Y2ordX}9G@t%Xe7dG-tBd*suFr|QU%K_HLBNeFfGKX0~0va7S1e5hI zF$(^tOvSILlQdZf5#{w021Oa_c61PP0-Y8ksa)+6om-zXLi#mU;e*@5L0{pU5;faw zZ$Cb`H%6iigJ%?e7EV0(HD5jl<1m-8^!KdndUIdycMP!0_I{ln4A2@Br4S^S)4nY8 zvW%T=DZ ^>1OHtuR^h-Tz zfia(9e`3vivygJyw`gAI_tpy!)RaO!7b{`Rd0Ar4ukvU$n=8wjkx39W`0J@esj9bs zokk!`BChd;v`{i2JqAh!w8x;|t+f12Sp#sRd 2K_f+qSvqO*#m*Uij)USy6^+#VF~-%P-T1YW*F-?FARkrgh(g`?!9i z;kyokc|jvG);H|OpP^}cQ0`Z9F%jahv_JP?&o365gpEr`H$<-4Ul^5_QB`QCI!W*k z)18-8e91je)p238;q2Vu6U9V`TC`&9*fK=Oe?u(onJmhCgQM#etIoiFzNxd2sQ)Uv z@_s@~Dg!jC*zmA#=GrM^YswlE-8xI7Nt*L&5RTAvh2o_wSC8bAUYy-(;r`A!ccs$! z+r~_d6h0 BY*-B22L2oj*zR`0`;Vj|D5*dj))Cp;`D^19U*J_a3yy}A?r7G^Lz_}w zC|zSyRd-lp7-AKo#H09)xPcC~6a(r`Lf10@{bQu$_^?j2>3|vhOc7v_0mBBUCK@Y2 zY@!7j!Zxh6)^te_RFFZMK- z G#zW6=R9qADLb@&uY`-!JbounH1ZZ%xm<;>x0C~h;JvxUSsz0OjUcc? zQk#i2qK%o?;+*oElb{qAzav0LUB~pTXQ_~4nRac)Z)W&0BMTK{|G|YIq^W1X%%@>% z6rNAU=u7co=J0HO;fJ+hTAXV;x5 3sR4kfI?9W zxF7T1E1NYyB?GvyS>qD}c6@)O{-^#)5h6JZ;xSWP1CfnAa(NaR%nbTdCRI%u3fsy1 zq`19!1;O~2`$CjyvPkkFN+KSJl`>Y8iJ2;7_0FA<0zq;{4|}?+q6M1TE&U$qvD@?N z^~M0soSQ(DfIn*oxaqpTKzz#|^Lm}?d?HV4fNl|38W|tqzAkwz71-8u(;e|loL=E{ zfUw~RSW6gE@&VdcqoN16U-@dhLzSVJY?i2%($vvFU@M8%l%Bb9#9s`0_$F2aXXi?X z!fPM1*KHwIRETW+c4Odh5W$G`hIF_-H9K1HqGj&$CQT&7=e>UXnR=3*F_1Ei4*+hR zDWK8>y4rN=BThcusX;qgRKGY@Es^}~O~cQYz3O{S;YJ>3prX}Cq7W%7yON)4g=0>k zg3Hz(6{+QGI)237dFPoM)NgctbD3}3yv?9?er0@}7=HZDG(bIVNx=uJs_!%Ys{Y30 zL?A7at>HVoAO^yNA>vz?Xt6|j#*9#88r^4rQFfD?i2XCs?QH`1X`kF_D0Z61EUgw4 zxinKG(k1Z*e@M<)-}Y;W lxdb9RZ4f|2~)lYaWl(yQM@O`Zy%*9c5 z{&ykXoOLjOC=}uHGvH7ErU*~!hQ{JFWSrB3o`(8$WVZMnOkfy^*)C+_50Xn~u}@>X4QuZeoHvhI+w>Swq)sh17VKENAn0 zXu;OuDRB}%^wY~L-cLt5oGx#o>>6`*#4>;BcTkigQ<`TV2Q&`}VSeK?z#q3UTeLs* z&8aSAw(V-{;Io^N*#&FqD&}d4{${x372mM?2MZc`1##A`VcO`K9RGhv6Dl7g4nec5 zV`>3+vLPJ;!g~k*mO)%VuR;@CeIt5s1wX%mpmz(7CnInHqaPG3s5G7^Qgl!Vah#-3 zPUr!$H9nCaG5~o lP;p9)F##ZrrJp=ewY z7c1{jzzHL}sUFEaBmtHp><_i^IYLgbI1q;sH+9c|g2uwj`viB|3eOaIfexpiqu>X_ zl&)O^S5BS*KL&SxJ(mXvye|xfp>F*Qcs_{D)pyAS`ezud@6IUHlNqPm+Jj1S%~LlA zx^bh&dzkI`JWz6-l-h;g+>|}NvrPeaOML5eZS405UbgjaNS^-IClroCMik9TNtw2D z`A{5!!S7xwWSw>7)ixWIOFoD aEc@F^GIhlVeQG__|{vG=|czH)XBHNnh$eW>;)Js7tT-@Kd0Umh|M|^ z 5(BH{8K}o;a;xUd>-XQ(@O6KGOYND-R81rd_N0IDXoyc_%9uo7Xuq8KE`Z1wm z8&%(FUZ#8=MrACjcdvY4zb=l|>CGytb%t=bSUJLHEm=qgp`JS-KF+`rInJj>&pnZI zc&)f0Z4E)n#iOSU-Ns}Wb$e{rNe4?nnzw^}I(3<1^{Hrtj<}bQTT$X? zZ|dtU yn&(hdjxf-P86FWG>zbs#bse7Ycr0bjN5@ zE}rRO^zz{VAA@YAX17MK_>uqoKx#1Igw<-C>vwDduFtWKfn#dg0Xu46&zB@L;hl+r z@-Pgg>)`soxeMyTzI%6W%><_qo@6}KB^@jc-w13ABO85L>528s`iyJ7|E&gz-N1@4 zXAaa9NcKp0phVz*vGtWvZFXC?0ZJ(jE$;48+zC?L-QC^2xVsfvg1fuBySux4ai=$Z z&pDrs`zv8U#vsq$%jcXc%;{0S>q|ayLWF=BLse$K9o4f9aG_~|ozHM0wv<0A#l=eL zAu94N3QWYTkIY}ZCf`1gWWxpbQyEcXA7X&%nte0A=9xxHRd;RmzO7EM&zvPH#qD_= zSKLlI*fcF1>n1>9)x3 4GNTLN@*Pa<$p4H!v*#z;8;xKu9@hTocT+( z%_z_1HCoCGi#}#gy7OT*x#Gl`Sk9z)oVzAtKR^JR7jABBymKL|1`dOZBL00#u-6B; z4a%#a7?Jn2)YB6oA9LtNQKiL&8rpK?e!#a}h<7FRpamu5sZL=N9@0KQ9A|VPC5>yA z6v9xxv6u^|ER`E!ocd{H(ivx}0{7ls4!5aqlv`hbsqZP%s;aTY#k$!e|I{O&Mz9S0 zNT;UeA0SID7S5+7-w+Lt1mlN7@EP#%E4J>3(HRj5cJ9q{`EpkWn}>$20l;*piNt_b z;(?*!L$Uk(hNq~q5NVn{nwZ1Wm3*PSyK1;i&EW*z!RyS#dkI`4i1)(}W_JaNT5v~I zKf}pu*7Aq0vE5*?Bchz&=?s6iuer_aOGPUVd@^l%5y`9hF!9-V<8k7ns6?)Aj-wVh z2eDis5Y4rPxNFwCDtKxE_I)31CR+?xA>@|8D^P|Eb#+65`ECUIl60rP9^`<4!fqHP z@`(Z6NE@-)+JBZSFSQ9dW;;KEOJUP0%ONo^fJHb_M`)K4#1`hAKQ}N@@*&WkP7Vt1 z2J|KI1n~i_PH2CZ0?0S(Riu!ty-T?`lX|em9T#tAfE_1-0M|!(k=<=52L;D$sj^fj z+_6Z&6q)AfonZG)QX2mUpoTxte%_|f8qG{iWb0+2Y@CK9IkRWjLP`1|!v9~Mtl$Uc zh?9S-o1W!aujbf7#z3$$2pT|4tX$0rFi!kCjMDto*SWV5nbBop3sut zVobtg*-|{YKC7(bmNFJ`Rd|T>FXy_DlRI QkVK`^c zs)-f`25#sT`K3DKX`fq>*FOSTfBgX%`;<{ {#_)w-7 zdz @6@!L;x-~Cj^mx|u!MV_7+Zy<(s>70&eI?0y@(-dD6-(N-UoX*zy;Xjo_ z(uq4m_Wl665`hcZTdh*RX;1m4am{ahC*4y|u?ZLQxAI>{FL3%Q`fPIL-bPKI_k1No z12TW!UDF#H9dNu*?0xT$R_9M}crEcMR @x|-}<9A8ae#|cr*jw?0Vvc_FZC* z@x$Oq93`I1l@g+ j!ME35;?kE@9xmlB_u5&?-j&8>F*~I@TUQtJR?RUrQn~#;K2Y9O4lMj4y zc^y9md^JdrMRYQx#I(X5FL3+=XyvY3xZdni9;%T_BW*=)MtO=6*h=%&932`guOQFm z+XJ hBo(I8-m`^!HFkx%$#w0kZ(%%klH&_xl|WJ$vqwXSn65y>Gl?}4s-G$0doaAWv`?DX%?u683;cadO|>lFjQVLp(`VOUzzK6f#pe39MLey(^+!C4$n0`-de$KuC+ks8MK{D|+V)~Jy;Bid$leNwd$IKSwG!|> zJJ%>fYd1}f$PSmvN%b&QwK`4B@l3^}A6Tqa>WP&&w{Bi< -o5x-#)y5(dc-3USM<#0>dt$0T#!U;bODTi@KP_`7EL> z(L#RImY-iE!N52AcQE*lAT!;;i1MPus^UHKx9iJz(V(tvuk+G%rM++LzTAV@W9G4v zfADO{^ZD@~0L*Ks##=)F?ys`~eS0B1oI9!t%W%9Tovh`N#TpOeg$EWb{-aFn6CRui z=Up}nl5H-*4T>o4T_lPyLTBJivq^xSNjhpjur9jfW@4J^FBobLLeVzlS2UP?gBRO} z2nSXdsq3t&i#S!Bu}!%ClrDBDlnMF^lLD%sP2ugoEe3tpVzxqgtnfyC-x@ScIzA2RK?Zt6X&Sl(&NQi$hh0Fit2cu{XMw!9t8BrV cts#t$3^{QUYxp?^l&@DR&W<%87f6+34Oc-S5*Z@wcxe|odsDa^2i3hiIss{%D zF*j&{iKXAuk;iId>_pQQ$APE{2Ni-@M$(w6at2RWf>xM PK$!h1fh1Evx!-{L-+H9HJK47 z)ZX5;1b@Bjdp%()%cUXeQXhfE-nA-~;l~m65RO7RtpNMnnUFg2a>V hz!&TZ9${J<18`SqkFteRRKncyLdiTOVO6W=%OceWkn z#Bv^baL|3U@iDVj3|It*-5hY(&HWp8>#>UR(Q7zYZPt_6OjirV`NRp!owrp^ax+oR zWzyC?2h-3X= 9bdv+ASO}Rjf*2iNj95K5K`ysBD__`H_>>jQslFpn(kbvyf-HFz zC>;h2a(bMC{2NX2sR3{R`z#o6-w2(NjaCZv<>?2<0}P!noCQ0@nMrSjT(Qm*d&6}Z zu%E z^Z*Sm)PvzzG03Oyw#+J6AJ zo5NtVDDcrJe!<0f%?JJQ2~?l;KgSr5^|usOrT~+l@fxb3tgIB0NBt%={p$KLS&LAr z)4yQFA;D$wR|rFNL8D}10m>++(|-0 <17oc z0w-+Hs^K&y_?~4~jNv@2UUOB;t%-M6if_RIW~a-SE2R6rhkb(CXu5Ke sbp0eS^cz*wOV4zl-Wq8!90)M0gu=T`~)-Vq=G|EASHaE)0oT*JF#^&hxK z;VTtHf?fsFCpvHOE;I-ov;>V9i9L`oT~Qvi*}QeGV~BP9qGdASFZ7^l<(#wSl5B<2 zJZ<#mxMAD!t;tko2A(gI`?5XEwrvU)C?x9yrgty7cZatHIsIc&7JLV}FexNbD3n18 zRo-p{4!61AaB9S+&MA#8cJ+QzS{j@27Z&IKa%D9P;Uq=v$H_tR7lkH{{U`Df6AP04 z+XH{JS>H;56Lmno>Xhl7@={9)?< NPaYGT{n zj9&0YG|z$wx(eXPGWrf{C;j--!u}ZjJZf6J4`A@NMS0x)?vgIuqOd@>5aR@Ep~!wa zcebFMK$h|vOCd&MXRI9aQm ZYhdmVjdvPF#HQqv93AbByx}>FRbBa|-qRHn?OMaZ>E#un3 z(ma8^J;a N4z{@FFqJZME@9QCIx!&9v*8uKBO )$(vCbADvcy$S;3+EIF_uM#IsLE|GnZ??zzGC32UArF-Gm-nuOu zp-r}Ci_9huNh#LQ=`E6jC*)QM8@PyoPa_M3B6H|Rbip4}sI)pS6m~nb$ZVSn4%w`c z7`&ABx;c0;BP_=dYW5sB)SM@u<84jnMyqf2(#IKJYnbAi1o3$)WLZ)qm4)AOR@QS7 z1%vj_A4sZ%dW0go$)do>QC6m5C;RU<6lr>IXcnWKvF0xaip>)&Q_eXnpDME~w_ho3 zicc14u=m|pgqntLG|&vhs_?0- 7>6R)iifL~s=F$879N=>$VZUL=lB&zyvW zo0fQGEIt-`-$$ECf_n9nmvdXgxYG=B2QEB~34MpEDpac$P3La8E==2MKrS&_xfXWZ z)iJ!^!?v|3@r Qkl+-2hEnOB;i#>ymB(33V3+vF4IUZr=Q zdUOr)-{~pmF6nL*IyE-bFEW^_wZ^N`y-p_&h!u`%>0n!03maDNLMsv8j01q-T&xv5 z$bmAo4O|f`Y<8DMlsBvuJ^dyBi12~O!NeISoSZ fN# zXT9IPjH7T#&FxDzU?_VR+iBg Y&I7o99oHd zYZ}xTSYEiTXzEd8!<=Owd?w5kEst9~xZ@Cf#;|%B7lslNhIx6IEc6x$T9Pvpy%i7o z1ERO(^CPR6b_TVv2Ie%I5^6QBzs12n&6)ptv07O!W4g3v4RX1ycvk+QvT-mSUC-o0 zy#7S+#r@v)MY 4SGNI@cfNA<9qY!);(8l&F#}eJOT7{~2+1I8t(jv@ zD8&|HuwEid%c&j$(mHxB>f)g5kW)$R-SeJV|2{>faUrg+*W~LsFn=Ufu4-Axubr*? zWkV$8nmA_Ep+@|}aXpkWVia4}p&*}2XLHZlB&m3!G? 8&z#6qUg8qqbl^5CbHb&8^icqyJ +#P8!XN_{ZWb%a(JIaWy?aKhO3BV-~gV!xcu<2TDcVZ}+fSrl2g#+uoo zuh$n0rMO_Dn~3O?V?#p1Vj;%l1|YGhnK_q<%%?UB2A^eoxspy0vp`yn9H2koElj2v z`H1F?mH2*+X`z)1PjNYCN~WW@7TL6wz}EJqzP?xjbph*v9Y^#-5`5tG^BkIuuFkS= z54i>9J$tQ9!E&A&`vWRl!%*=OHs$H8{U1WWSrz8M(e6U zGLe+EGrl+%Ru@d*0_daKtjw8bMf~2Nor5!@i$M3Dd3?-O0uo+qAy5+w*X^_AXZKm5 z7nkxnfQU=&P_u>8b%E0lZP&Z}{5q)Qh*6Z4^*;bpb%e(-##Lb-@CY-HfT_07uKiKv z)5-0sjGJ83{5MaR+ S?w)})hc$5ey=212@-0*TH~vJ52b3W1r9-g3 z=mK*s@g7vvR$z<>;tBqz??ATo#mKGXcUYoU8zdkX85VKS80=sN%j2vUB+Dz4i9?Bo zyU%*IL!m}{|6T&>bz6=ZYK6BL{geFd2N#Y-RRuZwcwh4s9UjJ12a5vnvlmeSouP?A z% K;G*f7u%(3k|g?5!HzdB{{lV71>7EWK$ {|D|d00C6bF-Dz~lyK|tX*T8Z|uQ|`Nu@&EPDyRKi&+t41R87cjG8P(FnBKW# zwHVB;Ogb#+*-?4mu;D_;CfAz7T8#0(&74_75pClT>IsYoQCUi@R&WuI+{&eSUV#6C zaYwpBvco-;9Ulm_rY2-jnsezehXD3U06)=BLs cdAC69WpU;^maR+C#l58Jsuu9LiWR{{3rs?H-$v!l| ed{jLzRhVXFE&_b#Ra(BJLl&f90UATXU^yZrtAJEv}Pu*Mf zPv&zYfRSXtpbYF)7+cw%ch#mSwl7n`{)tKiffgSaA2^frg4ApG%5x)h?;vM?B(d&P zzAkFSIiQBy65up@SCB`Gw)NY&>QPsRsbW;djd|GpoGvQ=`}hP36DOHNn(-a$Q$XLt zGyO(ov3Ip$bz_*8HVHQmW=g(5iMBOX7gVbPqf1?1y&6gL@Apn%kZ*NoUESp4t=4z% z1i@*6mv@8P)7szpE{^rACNm63g)ZNRZJbic>OwYDX@YFYAJPje@naL9Cpjn`oxY +u`YzumNIC}G!)8$SjWCMd%`Jp zAk^T5)!eh^w7fK0wf7v+nmz&yU+5Umjx-~1bxJ%HnNnwshF70<9x9{1)545k-eU!M zB|rVDKK^FZLKT} z5sogL%!_F#!FNqN*|$T=c9zq!beb#Cf73B2Rjk!M5bI?J7f6 !CL*8aV@zShi0mqz+><2Lk6)Ra9F(^(0_a9gT`e9qlm#XjAzRs@C z&uV}S@PzPgTqyS zeW>JvlpW9N5Vpji!wJnc2aGf8+4z<)KyZjR;x@5)3d}@@K%AAV$|Q$py5Lb(c2sz9 zqfl!I`9e#J(iM1QHDOUc_Tirr?SDEZ9FVbNmg8uUZOUE67_V`qceF);o(aNNQLDTu zb2YtIQi!M7rijHcMg06>w >- C5+S GLSL05FMNlr=%RsI+K`!g7d3Hfh4rga5L_?~T8e(biS;(lb}5oc*D z-d&Wbj^wgdLe>yiUPN!AEsEEpq#vj>RrX}j>WNS81(QY(5T%0n8wx&&%S#YJ3{!;6 zsOg((Z`KwsZ7Az)yi+`Ts{Pc%+G}4NC3w?&^6?2(rpmjU4~LFQD5C#m$h-Tv`U*^^ z;glG+x){9j-G2%?DLOBGg)bbg4&0MA-lDlP(#=QUHM;25z^k`x-!Bq`^2qqU$2ypW zkKzfp;-tD4vzd~ne>qM+iXNZ!e@=a-3>6zU>-kDm!^G*c$HtD(g-_s2+tc{? z`Y#Sg8h@~Nhp?Tv5YJN|9y9h2TxrZ#Rj_boV73xAZH*29KVjn$U2HTL6Cxkwf=Z0I zj6ptKjS27}Ly RT%8iaV%cdBVQ!%w-9+M}O^V3CPJ_ee#;>>TUu_^|S<@NG%O3j5EHKtP428&Fq zJo4{kALC+clvKR!a4*bPZ}642uW!LA@rO6&-Qhb}5mZCtbzDjuy1qti4f)qI=+6FD z1;-MGUgBoB#&XFIoZjP{eP(x>7Pa6oao|Jnid<+8BPGJ(8mhoaN}C5U{iq18(diE@ zrFwJpO|lDkOlu`3cQS23`uoX$C+z>e8_;|T4NKe)aY3(>zyhmGOj<>&j*vO@gSH4w zR ;eNHRma|K%bhD$_ i!elrfqPKZHj4`+)+vvI<8Obp7yz7Neo)8ly8=Pj|s0@WF?IZ6ZRx1Mf%=1e%vmU z=p(fVYAlgOb*K5Aw4gW5=t}T~B)s`N+3$uKzxEZRp0Rcg;xd#Ua>(d9jFoh8Xj-x5 zf3`TA(R_ytM&M0+aJ>WT?zP88;c8@PndfEh3G5AjlJCl3icge7*Ta>ColmfM22N2c z^^T}U`F?G>LWtAz&fq*~ZvOU}x%V@E kG2V3Y&a zFFb99hrw~Q#)u|WEL;1(&zw^I=R?Eq=L@HE|JW0&KwNqw!j$=tm}|=E9n__dm$aC` z!{6oh_WSuh&+%bNhqnFCCtu+J*KbC$oefve2gUi^ya~-3=lNR_b!jMGcxq#+m6A^B zaHk@arY$=6XP#GuoJDhm%R1k~t?Oagys2&JMpj28R5ju{24FtuqiVC6m+|RJf+{Jk z-Vu(1#T4 nA6_ &!*53iqw0PebUjRf|os^J)8p5h-S zQPZH>kj2jh24Ks7=2ohzAp9M_1jZsE%7J0MKY_2dG4jo18${FR5# j zcty75BsVP?J+Gm>_{2 L_S{M?;Hz^~K_nAno+Hnbzu7G-^0#5va|DcC2m@ z4cxqVa _y6wBk2>0XQS^C5bm1E z#g2VZ2D1{Zc_E1*!JlgoI~vBQv<40rzkl!rlOwfz%fij`<*kJ-O2jKjus~%Lv_&}D z*7)daRcik=WBD;|Cc !oKt zkI>eT>pJI6g7O*e`YPe=Fo&mVbnVWxzfKfaJ%>*LGP8nqI-fwD>Rt@*uiBL5FdSg# zju1(2?F93Spo80I@xAwxZ{3r%P_ez}H}h5Mu~rnt#T2W0K+vn4BKol-?RYt`A}Rm~ zyRNk|XlMQtqla1Cd|yaCBky7e7*=KyI51)B6p-{%|IB7MZ_OPMWn$O)8dNhyFr9zh z7wcfZ$vY#Szvl0MK3Kq{uACiKvWtmsk|R;-V;Wy9is^Re304Pydz5^}7dscdemMVJ zB%BB{mUW1=dZ`l&6Pd&>XIR#@srTaEyE>(Ga36Cy`VL`e2dgXLMZQLHuwbD~SAb30 z>px3eJ9LMhX7An)Evr12uySeFoU?9;q&?zl_k8B;gF8JCo}Vh;>O>s3-}qS^o9uzB z(hgd-jOeZ5{B4CE8Hh?HDYblNwW#6upR@*=PljHzN3|U!ZnKNK@hv@v1_tOM4lHM- zu*b1lxAHX2W{>vvplv_np*QYK(xkQb{As9ehfP-D{ZYJMJz7RgWRbsb)2Pw?a4lGq z&*wns<923Jm(qYIh~Z;nSUv5Lt@AmL`1SbPSnCp3PZ{lKg1tk=M|;m10mF(K=OtTK z=xO>N S)^h!yDVs5aeD|=xY7D+_ zI2Jp=aFpbu5e}C1S4NOmN*>6xKGiva$&@pxYnZ -((?|@c$VEsr=S}II5f7Ish)6@ |}Ld9;`YljB4r|aA1xoAv1fQwU|v GuF LTT}i3S|U0#WVkEl zc0wh*&OvM=&i~a1{l_`LNCFNG$IqV|fQwRXhcyUBw*ViuJ>iFWyY l-@rVI->9;USn@7vjf_>zQ?lL&c=?_tAm37M{^e1tCh#=D4FM1 zva%WydW$VyRLtwFkXg!G#>d}>LF-xm%ZKrLW3^UsU39-bvOT3@^SYj@N~qd!k%a0c z$nY oDU7!trJHY;5S+F2?L+sjh}l9K7MTTzzPDj&JgV zWVg>VC(vH&1Ukq nq^H!Ws1Cz|i2vF|JN@kou2}e?DrY0c1#ol!89&{syY*H->7y&a^Q+_`h zP=(&cjR$mn^X$5%C20n^%(v*WY)rXk(rf_o`cAEKiPL&JpNN?gu=k ;01mcioAkTI3XtH&V~YhZyukY&YC+6QXyqcoA+%c%9KGYpro}1;nva z1iHSh_+Wy9oV+ c9~chaZ`8D@20oThV>oG| z{k^*Y@P>>3b)6AfpL%5)9}Tei&wQUZC)(Ofv?kU`!7cw@A2SuKmySGz;%Las_W6$X z)7kFnd)5T6cD>?$-9p}r213vY6KOne_XW2q`q7I@!O=%CShWxF{RU$2oH7zsloeZG zp5PRO07l*2j@jLJ9|7eBU$|?Ag!P}aQ2PH}nSg^0WJW1tQlV5#1v~O!#9_Z&a^lU@ zLXbxZNkKf;%|Rleix6X@(;JZHuv={7M~CQAig|pcuKy6&5}>70m0LoM?0b_8=5Q90 z#AMY(U8svoVU6gbam9eoM==Wzx2&h4)Hh SHwS~(eMEW8BMUtT*0+VJ4ow!!8g zJXQ9#cw(;i&7|HY^YqK1Tv4TG)DN?Yv8__vL78EqA99eA?O3Kc4)%$WG|UGP<_TF@ z|MS29%17;o17 nF9d#nsj}{WG+}az07xFB xhxcEw8 zxcHVau|e@4&7pKB{s1OOIIzCE;3K-ul#l1Gt*~?iuPyASJh(b(%W8AmoWb&fd9KW9 zl}=nD4LXsIec3~FA7Rnkl%y0FdT*o+{+DC=&*8>c1buA_&57DwT*)aHkwvo0R)}S( zj!R)iTuXY}%~a(B>iWXne635DES4&$Tzn_I<|yYEXKzPku-fFE8VATB)+I#6CV9(9 zB}FJ$|60OxpqiZd$@v6#-S<0<^BHw&o+5>wm4)^19w7*yA>W*k_Zt?ULiBXIn1Q+u z++ D>(n!3wrAn4Uxb}nB&|~;W4cwQRFR!7uCEb 3b+o0P#0Rf>MZ zwm9L}1X6#n3M)2Yxr1u&M9g7v$beGcG1~j(qM;}>{*OBtblB9dAAbeK-+voFVo`zi zAfx7?1vL!suYSv17XV5g7G1JWgwcwSXa)p;^WlF^ls9>`UzcW{4h-U(C `P4DCDpRiNw5K8y#4E`eWya9;@AKLlb8O=4rC zJsnyVnBie)pU^nv>})LB>9xpRRU atu8b(dA)>x~)m0} 1>NzvdaD@D+39!IG}U`#H3b83 IOAm%&Pgy$tDkB4{Rx%#ys^aj@qaLdzWew{xeFPn~V~_wP_xguN()M0hJeg`E zbVX>z+eYIMEVo3as`1}SC%PFo{!&I8yKh)UIzE1|M=r5_bJ8syA?@jg6)#Vz?qV_m zma|!%P 95U?u-=qXI}@xCVF&{{UPi>7b&bkjD`M!7>oa8h#nyHM;E!r<;J~ zM0i;LY*Nbl*xUos7yNDu8lUOU)k?;S&U?w-j1>ee;5BNmqFma*t=I;d6n>$WtJ`22 z`>BLDF}TVHQ&n!Jsx)h|6pU8SCfrzVV%Wd7QRk;KxDeOB=4}CJW(62ef%i!D4`)G9 z_#uG6`zOHi3?KgelNtmEp(X=F)AO|b7l*r?oiARV)Aoqxr_vubHtPB)?(g2H(EDz1 z7jFyon>?aVpTQM7fsyAsm|ooL!6yJzknMJ2xL@8)uRyK+^0p7`@$IQhaa>tRse7uN z3d5U$s4e#L0K8xLGFVB<&VC!$rCU|R7K9 DO> 1!l=>i`Gec3O=zrcD zlS@|E%etjGBv0yEB^L@`{-%GC7WT#D?cDkv0ZLA^Gs|DH#AtM!L|+xpHVzUUt@2+^ z #r?i4E49ZgVku9|tji?^x0qy7OPX?Fv0LJEp_Gk*6VIc}UUc`7{`*_Iu2 zE;1>k@x!?-wl&NSyU{%Q%4ygF>ngGO3pJ`djNh;Dg7j2@g_;UFx&uom7fko8cWJj$ zH+I7~D a3L7jgg{HE{>+VA%LtQ!fQ9Q>}#JTh0yata18WrwFai3Ybz zM$J o; z1db`SLQ({WLnl)sSHNYCDcF;Ek05`coVq0374_qvF`(vjF%=Aq{asEXOt12Z8e&xA z@ee?vtz{vOZrCQT|4_nt^jfl6U($_~rkC$Z-1wOzGA6gUw{YVa)6;nID{iV>9rITZ zQ`FmxYt<0B3~^-1WBr*6R~a3v)w-gT`hr%iwY-Pqau-AxLm$F9-VC7Wsyw}-(XMdP z$Q#YE=lZP#OsQP7_Ax>r{1wNP!O80~4iL$I+~GN06}P=j9p{IC1X 4HEi`wf{zt>nSC`EarVlu0m-dyt}Htm=m9?(evxsVo$U9(IMB zb>SxNXHn!-SZP^?qdjTHKFaEdj7aV|gs9 (_0*x$0;%G9 zK^{&7fN}H=F^7!F-*wWj G!mN8~63W|Exf@`lWKRaPIX z{k%_RB5PdyiUtX7vi21#V9<^XDIgM}(W`ipAQk!`rBJ3gyrCwK89b!KM*L}lb$mHa z#MRV6%-SVJ7 6_Y5mv7yEIPZdj$*5CD#N9;KR$ozvWu@&r=XuiQq~kqm z#LucG@3n@4;*+?~g6sU9AwnOVt9i_kXvv|*yh0vstg2x&Y_Hw0hT!tyAQA$7u#ZQ} z8_|U{?}Sd(Ex=s`?JYe%py6O*%{WRw?cJU3V{~D}`NgZyv*gNHlLv{!C^5p7pSBH* zJr?PQD8f;qFp4XkRVz2JRQ~qq=zX=ZMt+RDf}jZk|4V>7Yu7PaLRNf$80pNf0Do9% z@QOb0PCi_kkPs0*xXgWlG4oZDqOnHv?0w=8(b;$fN|S7RHIq~l1)TL*COl-9^LOu} z(o!WIF*%WuXN=M>3g-V#_n?MtUKw}V*@rCb@>Wlh6%wYO5(?%i6YDNj^?c?-$?mJ~ z>sjzx+U3e vzqt~@98dwX3sWFlDv?G8kZ5Y{E$E+mFv5?5k0jtd5S zHAX#5+gsbt-ORj!=c_)@d`e=A7kNn)yi7LuW6MroTSxEqUT5Q A|F$03Pna5yX-vQo)7vzEq;mJ~IsKIGQc zc4jU&bc70Tuj)9-q#w*#8_b>=Ho9jwg!h_?nea53l5Kk?zF8F_N-7p5)$#J4q6az? z)}*Gbs@XV8lv=mmij+LaMZ*D(*c8&ag^vW^tVVh|H*%-@d=X=sxMm>kMBW^9eGKxs zDo>qC5!-w#0xUL9E0AAupBCBScQZ%t*vjjCOoKgP{*F4pqyp_F=|#Hf3Y8eA_ Dt;8>ob>!?FWdz>oh(;xTYxok$P+XB z5V!hkt|oZ}z|4e2W}J4&>zv1;xUt#iwla}fvSBVdUl)n3$| +SzRMrzt+ygO^uFB|ce>67<8kaecUe!eT`z-oAvj!r)$rb#(Ti zw>v*fx}z7Bs!PBPvc5naz&fWB2f8@K+(H~DCu6w6lPs?YTGw#7p$vR+BFNh ir_SPVc% z+GBhF8ju*&ed-4|wX9c$T^d)-nEZYlUkJ9dLv51sDneTq2Rz|A1)!h~5xU1p0;J9v z`&1L$LpEinMf$j}X-QMVrZl;tM0W(!;sBGQX}4L3Gi>85y+654Qwy-oYU?84X+zSP zcx+bG0|ey@Gd%CXiy$}QDN?h|8<>tTo^RQ$2X?qLzD1289b #{jdy~M|Yv_yq0VtPJZ1F242pB9z?L>wdx=U&55K1?+%n*3fY`j~5 z_n~CBh-6SL`J6tq`Wfa`bNV=Pu|jwP5v+u_3$k;|<6<-zq?VVllR#MC`}ND7x_Ox< z JKHY?Mxk6Rj=E=iAcyGV-UuD!6$!w2{$p`FjTY1>9u{C0; zck%ojm%cfn_CFetkQeVB6khoi@GGMBggp*JEyb-;1utz8U)zTu(Nb~VnWHecl!tRr zD7t-ZA>p#akhBSRE-fzfr8Ai}B!s4b;QLac37=Zx`GfjNsVKUUCA|9a>48PB1A0$# zh=@J+)@`L`lBY}3@yOwaW7*WY`EXjr4|aEU@5k@T5P_&WWr2#rSQv(R4g(@)%*Qzz z4rs?f0Uxnvg3z0HXW@;=*fGZ$Ns)LB5d2?ef ZC5z45~vftFU;q-1HVf03MLC$tJT7R(yJx&5jzJ+#v= zrSgTOH3ls9oG6c5_Z0fV^=38L+o~c~sP$+aA)HP?=z#Sm;&7mc@Dubp{=1zID7a$A ztetrudR?In(+^a6!c|+L_%GjqPwg)`>-_L}y>Sgl=6mtHaA)(W#A^PRQd{2P1Ey8l z-+>{RQ}9<41QPRD`UBX8G$^P3aTQ@0{*mH_Ggx&Y^hDs@$q>-vXBbv3Zd9#Owlog@ ziy0~RSs%rUHKZ%1b$TiK*ShhTpccV%`jzs8uc~Q~LK&fc%LCrrN|1fE{hyTRim^=L zT9*(Kr;t4b*zD*t_RAA?Fw#BD0|R d9f53K{6+joyP+Xs0Ts_ECO=k{zo4~h$z48_47mL|VOejY zsy#zd5y*sl!SPa9IpfFW;Kn^N1d@66V}gi3|Glxx9QYLBW_(?7$dP-JymG$KX$ hn^@LiQsupnYb!XoBgw;S|VsQh8D$x=u5XOdIo6d(> zK_6V|p;5Ib@7<+;O>jc7p;HdyCQ_O>an(!6t$!obwMyABnZ|w*RcLQbRt?T0@_XF! zjM(c_{!zBP9FXW}aZjgViEJB!A2AZ;9Sf!fYAzz{^zb$;sTb_>Jka}E`OYH0`hwTY z=n!gNb9ooWtEs}WI_Qv^0f`CH{{RNszeB5#?X=5&muxSHD!G*f8$rgAZB3eQm2Z-J zU3!Vw+@0ljgd$nzNV}4V{c-N+Txr6dc39_XaOVc`4?u?LS&c!rgX6$XFNc+O>R(a> zkhq 9cEyM|SSs8p~3`fwquZYJb5|00M$;s8eG>Q{9bw)Hc(Qc|D- z{7|Ff*J34C(qWa=#0W@nWrLcHQ^X%zdf(mG{s1#ZA9zrb?!>!CR?V?JICB{8h^! z_KpMiFap-7Cj|e3aHY-**!w!VLQ!s4B4JOYfi{52(}gc_OF2`ZoW{YP9}( ~Z%T{(uVtg=DKCu~9vZM>ND#{$2hAYE3?A8v|$ z(|Mc@U+E%NV_=vG9NvH^- PVbOw!ACfYHRDRQ~5Y+6 ~<4+1f~WX=I76(;j&xcy^%!r+yEJP z8Bwj@Z+!uTXIl9|C+u*fb}U@U#6992Sy5(F2Z BXDiNi1YDY1T@cTd zMhu>(%8(9mD~@KQN-R8;b@8XH-&YTk&9SAv3c%uy5mM@AOFXM+Cl*iNzKqkXz+ O_QAxk@ z5;c=Lh9O=WCFMHNW9PH(jlI~W@;%@NS 0fhX_bWgLE^9bV|2K$4IvbgGxwumvl4I-92 C4Mtl_E_=X(9Jf8H zTQvVW$9u8@9ca2-Zn||OE#MA6x&K;n8pr=N+vkUWVYREWr_Q7a;*mR&ci $8eDe+04^%>7@(9x60(yf4(XGlPTXBgLegH_9q=RrkX*&N>y>d-zi85#&G zj)~wIb{U5$9etat_B!@%++q%kesOhh!M4=P6!y>;oyZ3NG8{FpqV*+%-JP<6@o=^y zGQw^kRkhe)#SXIM9|18Uw(+)Zh`|U* VHfj{;BjSMnO!#7YXn%437B>i~yKk;=W@-{RdVWeaXJkaI6AhV5k={wtRds zL(>MPQjG|k#je=Ed8|lfnOU48FP@e7I5*dBQh(Vb-799ac!V+D1)Yn8l_4sHHnqZz zyB0{bqg^nn-s(?9KW)yFsEsO(lxQc?%=_(S0dQ& z-W4wqA^0v#KLf-I8Fz$l^MuDMlAh|LgFk3BJtR-x>Pc3AKuFjPy(uVCB`<+cQUfxW z%yBv;DJMe~Wrcv_ru!S15|HxP>Pfav+SuToo`>HaTwf%F!}?r}O~WpuEKlw*;w9W! z)>pBxGMck6GxbN<>A3O0*BzB0aFdAXHiY9BgnR`y6b^crZ6UuLM-b88+W#00_|3FG zdT_5i(PC2g9QY@ZfEJ!8K7GF1`9+5uJ}qs(-~V`lyQ%%`S9{(U!1IVwJ+7>NTq{+q zLg666Op4&Ewa(?3s Lm+u%|XHy@lIpC73*y(_AyIOSs0=eNnbhl#;EaPzt_Cd*mT@_a4o8PvsLZz z6mZKUr@a{C1_+LkuFHt`U+&~~kUo7kv}Xm*-=TJZGI(6Lg8|8J%t5=T2mbes A^fLYT13}DJ1%n6FrhqvMU{gxpa*>B0;2X6zjoLPwJ1IE$gL2>}voOs} z0PLX%u;vh7zmNVsMbYtp4+uoN2;>s|=PW?7Ze=E~Q9PoETtR~pV-gT5#4}+xZtjs{ zStVUd&*stPBNp2n6l^rmt)Kl%#Foa8WRUjfFkN82VhdCbe@{bT+KmTX%LU%a_ i!jlq7`SSH0wn?zioN5so&zaeT#cmDxt0V-5udUD;2UmQdD+%>sh2~H@ZAd zu9fz&%u;z`HiVVVl>e9f_}+nTvfxs*o9l`R=Y}4|yGDUsEmheUj`cHf#nx8GiC5`g z*o2Lv k1y@YklBAlOUAcI>MLjBzhCo!)&9B%C2c M3<%;?cn$5W36sJrIK_!PRlf0zK3ARid3@ z-~WvS9NU0(@>$o9z{pE44l_1k(<#xY-8T*9p!j~|=OeO}#g0*EO0uY6gL`rH64(4i zop%2>8yM)5qHcaYG}W!!e8-CAXt(3}`%4K!v0*I^j^|-I? ~~&i9JZX8C@??$6#pV!4w&2OZigAERinyjqQ_m6Oh~< zG9H9rL +cWgX(?DhJ z5Zq?>bg*5uhd=r}NJ{YmA})wpz-9BI4mu~jZ#`o@6=C`dX_dDQAvLeS7^GYK96oSh z0@clSx4aN#m&^WzG>85_e_OIla@TY*;h*BZ2T2r8aI@j^2lNs4dlF%A{pz9QZ#Mw` z#qu54szS8?s~!0J8>14USI?AI3WH2^OwI5?BApWLb%{!j_#=lsbCKQ`GR+L-qXX#Q za7bOGp1>uiUpCP0&*8Bmm5p96M}yyHZ(DKuoxAUwprMh57XMNJi2GJH3aPO|-*?+< z^B46L)GctmVz*uxA73(1z(gHY@A~oT5exutUn+7~ScMFpZx;Qcjq1%-WaN5zIBAY7 zo~~*P+YU;U`h=e33*E@CnOE|X`GawaKjr4zd+xVe!!HEyveJ|y#XM)~F)^`}_QkD_ zkB2HMMn_uE96E=DNA1+I#lEjs4)fSeadxgob5I{+RY0i46YA#cu-tT8@T3EteZO5V z?QW7kBr8Jd7ykiyMQ<6yuwFf6Ps}Z;H)XmJEYxAVQBUe&!(o0FZ8$(2SfrL=-+i~R z|8v* qGUz#unC95(d)#=w VxqislujlC}Z-0@a l|snHzOih{9Ax;uNcFjS~g6Uaq4~Q>%i$T$okL zr7W^Nu}+jrId!)sRjo9<`p4G}h)a@w?$uWGW&Q&|s63^*iuR>v_Bm3!Nl_-;hc~kR z{-DFsT^Kuwv}{tM8rC+T@OYg6#0OoM6VUT$wHK?_0(tYOe{JVq(bMt__B($;x1_ED z99~zkBsH*RnFn@lCqR@a-R3GDTIb)tVFnYu?G&tzZFwG2_sH3oNTy@=><_3BoXGz| zo*T6`j4vJ_AXF-ToA1I)! X$GZtf)L-2pE({3f-g8<;F6^ 5X{>8`aQE1A@*y*?ME#bjY9~4UEx^LLZd6llk`G-$p~R- zJxQxAM7%`e;Up?^r=%D=!=gh;$s|=YYP$gL9GzB!i6>^AXd`u%D}xjms%8*8)G@|+ zBZmg92x0N8bk^ZCp4HpC5xYCKAMdC2E=)I73n~f<(>ZTP04q98a_2yy#EeVy0QF~f z%4zD!IqnjfqK*|0TU)-y$>TM_6Y3&F=>gq*SJ=T*_&CDi+5J%lLRQnGiASvc)Khb5 zSO2ghOVV8mMeW&b91U$ebWM}(L@4*tCRJT8_>$bIN)CUOS>2Q~eXsM?r{h(p>%E8# zLc1%=-g%RsfBZ8 x~GuFLF3 zi`Wn-5H3XQ%F0bmmvFq~V6Ag?byeI~FDVdd607QGV;fAs{Tu|CQ3F`tSzd%FJAq4@ z8tXB;v1~A-i2kH{@f(&mVG9^Bw-&gdt{;_wRdJ=mbuPgaA_Cj%r5Bv2VLKHhS~5NK zP#0JKqWkQzrjh~E*JYGq(knw{79(7H)un3iUc8>qevmu@#sX_&n*UfNi}GY-!%J|Y zO9}OLtw<31%1fczR=Hvw_y~by0m>c#b`dDW$lu^TFu}gOTJoiP#wfL#Ogr1UOk8Kj zwGZ5P0BMVXZ#a-C^ky3u1d)rrj#Zy|gZ42dZ_`UXkM=+XlLAM?>}i&d$0kw)$Xx3o z>*^k&y^CyuGDr~`l^J3#%EZ`|Mroa1Rxk@lyxn#Qc@b{j*;)@i|H*TxPq3rBpq@)x z8=|W@Q)%WMtEuhi>fAXeNgt^jrvY`z*q2*M?V8DOG#zX5uQ0lyT^_mFSY8rJis=WX zVpD@cTprk`BXJI6Ys%0Y7_3{G*98R6pgtiZ{$J{B6Gfq9uv4a{aR>5sRVO>r>db&7 zu+LH)L^RP#sKmK2r|QMlYK`-1#L>7gqWtj4KWOD`r}mRqlq8Sg%ZpY&`^Oh7MNF?$ zJzYyrn|~*-yROcUty-m}j0^O8VEz-3P3!=AO@9y67w`XoE*VsC>Zeesn4qoSHVQxj zX6C<_JweXuOzKtl`!OkTDV%h8?D;O0 Ko|bAE#U))Elb`eXfW8yb;*m|~ zV=appKVbm~GQBn9jfZTlSUD?QObM-$hI<#)a>Em%1Z*!RszogBXWK@ycuImx6cNz0 zstxPv1orOSy<46v#xwua(nY(tB}(yKt~fh7E4lzI@k?+f1$A>B d~AD%!AaZmk=5>tlQ zhU)yldh^kSyqpKB&x*tCqRAh%h|Is_RRgQdXerIUA1B)^bz@m_@Ho20uW5?9Fs*M? z7;&XoDIAdQddlc$Z$nNoUn;<$^`tN{GxOm+{MKq&_ts&=!9$=mYFE3v$sE&d`9l;! zjkEU1jZMG;*Hukb$e| o$ zxPcFa8MdC8*kkHj^0LZ2O?ekbf|fCxu)gt>FPl_TfXz*I)oHM* zw zBecn$n|!)GV*k-ac3Ds4`~Qx`L6M>qorWFLcMbt0lL-Q3o3llJ1x2R5?fxcNDE3rA zk~!+&=5fEvms%+IY;D)12kV04NR_MN-4eZ+kzSnpa>y|C@c_D?{c}0vtGM}%2**+O zGTA2M%NTq-_aFI%t)o^?<9f5Sl~S3}C h{3?!JSzs zcVf&V4_(eWS!1FysD#IuUz48HQD;zC z7pmbtP)5A_VS>D>lu3cdAxZEOc z|D0Vp_I&v90E8hbZ_k9(^>#8{BXUkIg4LSD3Vn-RvLxNSb$a62Yygk0dbRS?7=_Rg zhp5IqBxY*_zYnBaXrU1qekr=&vC^>R=3rog#tM&(fy~<#S-TW@xN|=Lms|eW_IxSf z2zo+raG-)awJ`8}cnQ@{qw1C>Q6nR-rizQrD7R_q=)( m_&Cg*ncziMNOvS__|ephD9|;s8!dh;|3Nj zD`xIU75dEq$uQ!z0=nt*or_ndLXKmt8zOr;BR4)Dh~co&nRHSnLUmMQ8H*Sz^*ueD zMoCMR-2C!E2ccfcQPyGRWv3HPJKd@4jkyc@%#CA(y0Fd}9w|%~)Y>8 sdH_gG=(qvvG1MC3xn-_IJjuT5R Cjx2yr1T7}^ccGjnJvqUFACx}6@s6Bx{g7`pGBC?c$Q{RsrJBLi|to>-L|Jf z*6}!N4{EAq#l9s|mqD|BbV;|K{*Wja+>d0}2&T`j$$FsNSj wh)J?Kj$AtB+P`7vUcr*2nc zwe0Xisz2&gg`Q)0(=MuRW6I#N&9_U^izAjYnw6W(5kD`bw)T!FBU`U;Us=Uw+~W8B z4h#j%C>B*NT;>hy>{(x#7!8k 5qOvwjU#cGub`oSKsyC E1Kn*qxCQXI=~# (WdLL&FHSi@^x)6pS?gr?uRyO&Sa{|Z5q)LOU|WWIv35-H>Rik zad|0 cnR<9ag;`#>zKg!Ac4FMbIxgd}JvtMB#nCKr+!J<&!OCX9% z{kQIf|7LR0ww1t1-ye_>8RY-cRQ|(O>H4v`;zLJ$ OT%(+~Jj|dEnkL-KoTYnta(Q}cp z@}Drqg6H$=T)2LnAI1(7*2ZU8{A{F>cZoDxPrr-g>OVh6j!nW)12yuN2h&qx$VZ4A z7}vv}8{5BqigrbLuU_<4t@`Eg{18XMCuX|^K}BPW*esE9D EChgS(faSd;%ykv R15h8`PKZw0G<( zp(ttc+OnD>fUhimep+q%B+;dKgSslsT|ZUH%vQi6-^f|ZXqB?h7xX7`-Y?oh@AN04 z>Aj|lV*4|wSNUjvg_b*rn- Iq(&cn*)wADjmT%?B9D+NF7IiPANMse&MVb@ zkK}mSC?<8&Rxv#)%|qK|-;5x{=y+(-(@@o*wsJN9k!zn-9@>eGq6?ULg4t)sM`@an zpIZx1lX154qHrarL|F;$7QxFEYd>iNhdOixt_p?6Va|ax5t4OXUwh=@wDM0V{g4rd zIbRdye(4x$+(ph?2NEDk{($^&*W!{b>bWF_L*1|edGF9aFAa5@M3Uq!*HDLTuyutL zixk^c468~+9LaV}F@jgV5)5P`>%4#O`Jc59-;crBSKbyTHZD0lxdf=)m&IjTVdwJv zh HGbv`eG#c}ID(;4 zDlJy48JIQrb)U=v`8F3UkD0U13gu;A&_3+XR2zW~1Lo!Gvv$yz4?$`@(7N|6O6rq9 zyQgGol(%|naoeWW>r^iN?J!JFa*gG|o+ yt5!%~`DBZ`vX$blbjSO+JKklCB=wOH^H2is}Vt9#9_fNB- zp}42i<>u6L{bV$E;A2D03P;bV&kF`N-^$7E4T??};qiyvwfD!&b>B}*6k{tjSMV}3 zuD0@Gf2tPrgwXPqjMJ^Tt%ea+RhsH|gw_VraA4>{B6r5>`Z|u6(8ONy`kQ8hvjw<+ zeL!8_ul1SIpBZp&z+p5?vT}d-n@JH4YR|+FzEFxVPE4Cxjj7e4Qrj+gW%hR-@Lxsa zKO>yKLoLFTs>~3_50$({0GZ_prr_ci2y~p+wc=8u7_}~<3}d8zo-M*l?rGIAdv4xU zjFwTw2whu7#s`T=wrwF?P?^yEN1(=fJ9@v1`U6my=&qGwDLzp|>+hFgZ(;Z}J)Kru zpE;4%G&Zyb!y9K%aZn;>3JW!m8viy tJhAx}(xd^kHYTQz~% z;^GD^U2N4D(SD6%US66 <&9{&zV6XFSPrDM`dxxxH)qy=_hHy1|@h5jS z6COaAA0C{}Dxv>5yrnzlNB14!j5MedVvE4$fTrKuK^-i>>8G!eL*0O>|N3a;Bem(; zCHZg_%__d*clz-yAg^1!7rbpBrZp=%5cB)plX*&9{PheoM%T&A6U7f$zvo6QvfDIn z{S^?!ob(QKi(%~nxL51tal%V2fRF#byXK#LQJ>S75FuLm^qg*X2K+TP(dkolCtbu< zc~)?NodCN+D5jOgZZ^*YJC3=XyeEW;&kt7%Lhxlvt_pU&1)hLLx{gyJ;SD9V&cjE% z0Zol9$@UVxM_FGzKi$03<1N!Ht9D2~m&QF}G)z}-i_<*o!$n2u5fK*NN!u+8DHFM1 zj4(6Iu&{B#Of05tV`{v$xo0E8Z_o|%4)Y^sG@)60IH;plxOlLi#r3oLO?1YyNB9Rc zKmPL&Nf-tz0dL>q+>T$%h(2*@^LTzT6 Voz80#g@vzJh0cBl>Sa@P$8HZ$ z^3mZz*zO R5dV?a!^h9U_bRyswhPyu_wy%5E2ekNHb`{lKOl1Dd991Pjx~aV`K-yi zIl#I=RKiQ!Xjq~0c`f0x0tvrE3xg* @lUg2z|@8V&KuR z9ICxBePMa@v^TJOGj?o&;yXBW6F`uTn67d93XWs>LK(f@M%pVB+m99+dMU<^mK$}I z4HOPjA8-`E6*>= U0rVA+wn&QOvzG zOj8JUJl^BQUtlk9MsF`zN@;#X3{K}pbTQ17%@n8zABm3)BTb;8aTzIiG4q&36?W zhB}febxt#<;7~4V)3pEC fQwNGP{8#jh)&@CK)F=SBGf8;{x^CAo!r zHSD?o?MClQsPS~%3HQ0!-fnVE)7xLYfA8%WAn7}_<2ZB7SC3ji{>It;ur&BAbJFoO z^^28j!qsIitZn=EZ~9Y1v~X$VK4uSUykprXXSRt=a^k^(N9HvY@4x^E4kG$N-fLzt zl1aiK6Qix~knMmNp2^49gmwyWdC9-S_%q_Y=75F?eebF^cTwGOu!$ztRsG~en80O( zC9*ExSqn<6JdtW{F-c}I=|I@iev<+ne;s?Hd)B2H-ZD1>*H5jp%K27YoTDLKybJ2A ztc}x^7jxL}1A23>4(k{?)!v95fk?yUs9Ac=Dm7Il8_iNui2=iI{ZIkR*XgwQg*~WN zgUHj;V5XzzrJ17w@AfGb=q~A-r&UdWxgn-3$Stj4Zjmdj }C zR;W&!3j|U-FuN?zQ`?kO?3yl!d5M?Xhs vs=(+zWdV3o6Oc0N<&FFIpoO6*Zru3 zv7Sfz1+RR;C$zx$?M5-hF|1uXRw0Nf;KwJ&(>CM2x`BaW`U)4`sp70B3~oEhvh`J; zzQisQB?ExChG%s?MU($t!GCKC43OL;f;B*0hk SwobKNgk zo}{FSitl{sy`~7BOnO54F-v}&Jf%m;zO(I5`j&?FW<^d9dHun~HSXg86=7jo9=gYF z>ZMZpZOwCZ&C_P&hAYj>D_>2H$%cY)tGW--k8k8PqS|LrBr^1-y}$IK!mWaLAL(N1 zELVJO(j5?%;1wa^tV0pV)Nwz0w#{8^N6ynbc51i~N^fTr^Emj0R+8`_15A7(ASYiL zGd|aD*6lzPksm~g&Y-+8!oZ|mi=O4>#T@qT{lSO2jrwG(JhZFfCZSm8U~%b;rgwVm zSy=2p ^O3L;Q;uwEiTo z_NQ<;I>rBhu8#hIPW~Ygg`*@KHE*~83_n`Xj>t1VNN-kM#}VQtGkooaiqo^~4~R2w zFFO(EUUaS@r(f6@^RA}kR(ciC{fLb?-R%7V#XP;Y1@Q`kXNB%DF~<+&0_2nYV}Q8< zVzM6jIe;d1Oq61s_K^Gcq%-3=Y5ScRfa I(~08>c~sH?}rw+ zSm?&us8Q}u;wJ& GN5^~wkofB&XY?7WT+c`2jRLKObQ~|6T z@5&v^%27>+1 j^*NYar=bHTCUUh*p{9k|aaaIR8 z^L=-BD)5@@ 1yn>+}ooTB6fk5uO2`)+Sh2LIC$W8F6UFPTbJ7h@WGi#70Kbls`k76>#xm- zg2h(5aOX~VL4b&3Pa{k-Q}El`T^0>*sea1Xfn$4l5gvTld;D?r;1ceQ;8oY-)P3P` znw@O>hNqlRGB>&0gcGvWINc7!%DzeC4AD>F_b<5Z@v854c~9fiw6FVlvJklBtx3(9 zr0m5^N^g&|1-6ze&^0o})Dyc!WzN6rB{D3#Hjb?eBl@(QQem$tWJTY^&(7^9J06CC z1(Nn0lYZ(n#V9Osn@dv=`KeP+drl`8#lH|APgNUFU0n|YOuK#zw>B(t#9{x)a-EOt zVHs&dq1I-y9rf`Ko_5q>Y4`zXkO}AYvV4F2x0CpH^OHI{>5>u3wOj7w5*!#!=WaG- zeT92yyBk);EQqOaajlLdxNBVNW*jilDA^CDOnGgm&ln}>1h26L;O4ABYa!V=P5ttP zZx5)vLiz7x8`uS5bg?^$2`s1#6Ray478yE+3ih|uw;yj!HmUq0Ew {AMZ~ zoGeho-!U={32WTVvblmJK(|>lm1L|YMg}V@wqy=&&K|Ek@wRF| ~UfCRoDt?YDBTl#pD zgPd6SUHk-bzh8ngxVw$IgHSEGcE_{T@NE&kXvDs+BtZ2NG_6hR6Mt>-kY2)7 jD~_Dt&{zn`qKF3IoM zHDKe@unOf|3S-^dpTjenCI5g@g?CL%2j_xcaj?=MnJ}A~X$<%+$lX(J usD zQf#n%F{Nj%Y~TI#OSQTr*-q@|_U@J>Qn+XtU+lVwRbDfP>C2{S#az09jJsRC 56CWUwgi2HtGfPiG8w95P1Jd#M#ZYF|x!LMawmZGzmv*Ak>N`mB&2ODM zeug%kVVa@CzVzaYCq!#92dBXOQiK2uh(f=4Tq7}IK*LxG>8Szi>erqLW_w&iyCldv z=M0sXhVhdvJRUg^h}W2XaymZ7$||D9M=XUn*X2fWNN1kB0Bc0Z7LSE@u4Iqc+|ISg z8P80ME5WC2%M4ThKG?AIBPw%%5QT{^v#l6ROdeH-{Ie0>g=od7>?t4bJYV&AXzj`? z!P~%gsspfnZKh%N)cW`vA$xTkA$aGN+4Md8NRQ5yhnBChdNv|wT2p-D@;*$oFo4_R zo&V%!e&{(~dJ}q_XteR%^fb&~uWnHiO8V)l4mJw8A%u2Q0s{X(pc^be+fs778k>A2 z58V3+en0;M!nSz;1OC3WNO*L`4c7n9*BR^EiSGoK`5qd)lIh!5*(tlmL}!LcN6E@f z#9?vvAMeC~#|`=(BnI(6qT# Z3w9))nI_y%f3xUw6 zkMj9liT}_o-v>X}%>ULptn;bFaMQ|)rV1cB0KhuXxl%TA$fHaD0Zj$G$Vd4EC_3l^ zsPy gAuR;W9+-2o99G7X9#r27U1GJArm=J8ND0jr9T6fUKWX+P{q~nSTO_JDIzJ zaTjMa^&C=umMzfFuJUpy zDe~?bjYN+LiYv?ckJu#(y7tXJ%C)yun+P3x={<4cbv(DUT8V5N15?crv$7jx{?_mN zx!d!@LHt$0E}3B&WUl&AWJ?~gFl&<+zT3DG+&=$Z!Dv%ClbV*xmf^FGFUQu|-MVfo zD(4C^LHUWH%=jycSCyrBjqCuuL+4q tyyF1vwXCs@znd^TDreI z8^1;3H*@$lLzYtJAawkfDKX2B9`J{=`)tIy&17G9>9pxc2idoI8cVZ~>pbvO^Ycik zgXt(V`CcTWxH9^LOV;i2vOFF0T^qrciTlBH$!W*MT|@znyt}etoTX`3y^Tg^jFYLw z>aD-W#`>P216MQbZO2^doRT4sobcixQ&c2ART~Fu#)Ec5uj+HzIK|LIK}p}&pvq+F zWyk9N$_|fUS?%0)0NML7u^;>Ytu+6x0+P4V0x9uTfxtpR*17kC8=XeFI#!uB-&R^U zf5T=*f^XM>WtKub1^R|<^FKfR)j &t0SG~ydN7vLFRo&cnlk%2R*K<~}nLem#EalvPc{2;RXouRL^n#ym`0vX*2x$mlg zs%y6q-!?U-OyxHN^*gANy3RX8ibXL(&wxK55=Po$hCd+K+qXE21+7tsO4pLsbtCU} ztRno+C8ZG0`h58}+bQ3Vi`pGG$W#qh_g6oMe;+JPFg8imuvgmkQ21x>2JeFf7iIg^ zcqQvd8AdTf *;^+OLFV5D<@+tk8?%;v-u9G%8DZ z^a0!V#B~8812n${c65dz6;zt{ls_Kp2$g!$hJS4W^tREvUeWvPSX48s07&wnQSpmw zB=nd@4v#TcHQ=Zdw0VovNjOk)yhuE%Qo^xKtkkb>N&C5CajtQ;EGhQDo*PVGz-AAO z3V=ro w}8Cw|q+7WD@f zu -?#6Cj|DLPOH F%JoMWVu-)2^1?vQBop(5Zv$CozwIh30^XZ=FhVMYk-4r07!qQ`Zwk1 zznBjSeS{B;OVS*5XC8XH8$r&OZSrYYnHn4}ZdW^0WT)wNZPloC%l#Xvb71D2?O3$z zI#V{q%xqU8%a3DL>J&FYWD)D*jkB*e^8tpa9GbSfm|nf$QCH@hy$p)5)#d5qRS899 z8_ax)iz&bLmI=}XKPXwii?yYWn0@i-zej>^-F?N}+IUAl#4%ev{HVLf!U^=9_VxTV zOfnN}V_-CLn9)>nunDoFYNcuqbt;v=Yb=QN#dJbg`mL!~q5G4rQnIpVREI}2sr0N1 z)1N-fHrb(9FC50{PYxvMmvnXQfHvr6 Po0dYeA8)B4u ;H1d|lVK0M4Mb`CdVt@!0l4Kzs)x!Pn15Z&%iqta$JEOi~pTG3( z%27ATUhdy(acsX71XN_AG9MnT7L2xroei1?8^{m{PU!>?e98DMs&!S$p2_1&sd&!s zb^#G}cV?`g=K6MCU9Ni-hn0}DlW5ZW&N55Pyrn4R)hl89J8I`n)zOmOmgKG|#a@?+ zW6JsxKhZ5HuSMtmfoxRK4{&41=d=Y_8)?zZ`-)1gwI-+PA;*F|a^7-?>r2lBx6UE- zcjsVn%d`7dxYFo*+wbDbm0WwrGHGMk0vY7GBaW@tkr-{QpA{`Q 4VxhNThBX`MXRF@I!Uu7~?)fvh4c2Ps&*R@}lYd@W{!$HvVunjHt`? z4~R7}dTii3TLzKXb_;`#qEOlD7GScP5iN6+yL5X)l@zDnMBL>#A&V>(!9C=akH7@E zYJ09^YiJEK7nvZTb7mLvTenb?J_ECcP}ng;(^sRi?)}J%kMk(5JdKuRtP}@`T)p&a zASuK2lw!lStgQpKM-Z&|ahkMlf%j8920S62_6?fFa+#mKNrh)EvJJ{F;JW}AJR+V! z%9MTV=P>ClG^KCg<*?vI&+lF0UuN(ViMus2nrvtfwuRT(WZhmU2w yErZEcs@2RpSjorNXEyyz;pP6CKSM+ z(Wiu)P5K1!<#Z{GR)A)poITAOH}>w)?G1zNT=<>zL)JD=uNLes4*IF!5F-1L_iZ#1 z`)2JH)`A4#a9Pm$??Hd605S8nI_&c0$?!j*JbZo0ujFr1)g&h=CF5RzyT5L*F*|x( zn4Wg-4ph-~G&2N#Y7d+(qcp9C`q1>#m_M{1AiV*2){jcE$@J!pFNN2WeR4EdOowrr z`cnfZc>CEMg-@(x9sqA77tcNP(as5ERMpWgDNjOs5{moWp9}FeJ+0hgL;&F6ENOCG z3FkJ_^z_LQ#w4zC?D%4aZ`Hs>nfCs$Og_@-e#nEax!|1PhVMf5$+Ztq;2Y1z3?Gc{ zDW4!y2}l+FzVr5HdsG0=oafP(q|?-Sq*FYmb2;e)8preF^&fw82My>%GlMhTIntlZ z)+htD#>mh%3GB3b2Aga8+6$+Zwt4T%{ivA{I}C3#8;J0#5H}Gy41L?}GAvIL@ )@ieOey4v8Ogy&_wl!-y9(?s|Usv<>a@a{dr3|1+8g_xijdtq{48ne_-&H zuBHLuc@S^NGnXZxATfE_KYqmc00uriJ-3;6S#N?j;AE>_gkazRs1zd#xI-6i{(yA( z+%4;8s{doQRGBcXC+DDV2q?vXSt-y NjBc4qI;rdra_E=+E^m*?^4kLQ0V% {7Yb|#S~yr=6`T^d2Q#&@R>1;k(P}<2yGX`hbZ3h z@IaCCN%*y_^_$v&zsE%ws%=hE1&Ya|l M3dXJ;b?sg<-WLiMz99#bnrR-Kf!71dXkY&1qWo4KbHl1V{c{)QgJXQ!5?3? zwbh(xZxpeqo2p+BCAE%LNI(a(d(SurKGl&rNM5KbD_cM5wb4OG>Fm{f(rJ;WRZ<~T z&;fg{=~-OY_6Jm1Jls+p#{HxWYPGblVPxBH9j%d>4N~yY+}{zW#>ZgoV?FW%S8hqG z_V_}kZ)G966Gz7g_MwkpE7s<)Ze``?sI+O?4CYqOBIxl^3&qBv4UT=1o^jhJzn{^R z6n%Zs6n3E%vpdIQb!Z`HXR)Yl{+wbwIf}yK6Jl^yxn%;*+dlkuN2oycS$}lC;? La~+B+uSrOZ)Ak^-!xFthSM_s`)|0Z s2b2fUMOw|W{h+Ne4YAcT@l1|f$(5djPmT+;RKOKXSqy@A_{v`YK ztiy-qM%%$vG-AW9-z8gVtknt|&bjKOxvRvNVVT%)N$XK;xV%55So*dy)u*T`l+tO# z-O3%mPp0akhvk>sVw7!DgAjaUUc~ZS0y%H8%SWMN$s7j>`0C I&&$G7i4!aFKc@WsNqsRYXpfzka!N-^avB(y)3TcD}3-yH9>r zcA{;>E(O;KrzUci0{e9ViG@15i|RjsVNCcLgLe82_rXktbkd}}10`JQ^Go@U`0DGf zP^v}px>YR^C#wmz(0`FI5+eLpba$F{ovGYhTF2vbfN7kz=o{bMABq*JqV{v)KYF08 zxi#K~>N&Z++9vXu_P>IugcUB?p#3%8R1O9SRc