From a72be627da136f34d4c9dfabb5487f06c597ba07 Mon Sep 17 00:00:00 2001 From: xtaodada Date: Wed, 26 Apr 2023 16:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20Update=20to=20HonkaiStarRailGram?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/dependence/assets.py | 13 +- core/services/game/cache.py | 9 + core/services/game/services.py | 49 +- core/services/search/models.py | 1 + core/services/wiki/cache.py | 37 -- core/services/wiki/services.py | 121 +--- metadata/scripts/honey.py | 4 +- modules/apihelper/client/base/httpxrequest.py | 2 +- modules/wiki/base.py | 265 +------- modules/wiki/character.py | 223 +------ modules/wiki/light_cone.py | 46 ++ modules/wiki/material.py | 105 +-- {plugins => modules/wiki/models}/__init__.py | 0 modules/wiki/models/avatar.py | 60 ++ modules/wiki/models/enums.py | 84 +++ modules/wiki/models/light_cone.py | 45 ++ modules/wiki/models/material.py | 19 + modules/wiki/models/monster.py | 26 + modules/wiki/models/relic.py | 13 + modules/wiki/monster.py | 46 ++ modules/wiki/raider.py | 40 ++ modules/wiki/relic.py | 46 ++ plugins/README.md | 163 ----- plugins/account/account.py | 42 +- plugins/account/cookies.py | 47 +- plugins/admin/get_chat.py | 2 +- plugins/admin/post.py | 8 +- plugins/admin/quiz.py | 222 ------- plugins/admin/refresh_metadata.py | 28 - plugins/app/inline.py | 123 ++-- plugins/app/start.py | 14 +- plugins/app/title.py | 42 ++ plugins/genshin/{__init__.py => README.md} | 0 plugins/genshin/abyss.py | 347 ---------- plugins/genshin/abyss_team.py | 89 --- plugins/genshin/avatar_list.py | 311 --------- plugins/genshin/birthday.py | 187 ------ plugins/genshin/calendar.py | 60 -- plugins/genshin/daily/material.py | 510 --------------- plugins/genshin/daily_note.py | 130 ---- plugins/genshin/help_raw.py | 38 -- plugins/genshin/hilichurls.py | 52 -- plugins/genshin/ledger.py | 151 ----- plugins/genshin/map.py | 195 ------ plugins/genshin/material.py | 234 ------- plugins/genshin/pay_log.py | 236 ------- plugins/genshin/player_cards.py | 602 ------------------ plugins/genshin/quiz.py | 68 -- plugins/genshin/reg_time.py | 122 ---- plugins/genshin/stats.py | 138 ---- plugins/genshin/weapon.py | 143 ----- plugins/genshin/wish.py | 324 ---------- plugins/genshin/wish_log.py | 413 ------------ plugins/group/README.md | 0 plugins/group/captcha.py | 491 -------------- plugins/jobs/sign.py | 2 +- plugins/{genshin => starrail}/help.py | 0 plugins/{genshin => starrail}/sign.py | 4 +- plugins/{genshin => starrail}/strategy.py | 61 +- plugins/{genshin => starrail}/verify.py | 0 plugins/system/chat_member.py | 4 +- plugins/system/errorhandler.py | 2 +- plugins/tools/genshin.py | 4 +- plugins/tools/sign.py | 22 +- resources/bot/help/background/1006.png | Bin 41495 -> 0 bytes resources/bot/help/background/2015.png | Bin 71749 -> 0 bytes .../help/background/2020021114213984258.jpg | Bin 84160 -> 0 bytes .../help/background/2020021114213984258.png | Bin 437397 -> 0 bytes resources/bot/help/background/genshin.png | Bin 3688 -> 0 bytes resources/bot/help/background/header.png | Bin 0 -> 302139 bytes resources/bot/help/help.css | 2 +- resources/bot/help/help.html | 332 +++++----- tests/unit/test_abyss_team_data.py | 42 -- tests/unit/test_hyperion.py | 34 - tests/unit/test_hyperion_bbs.py | 72 --- utils/patch/genshin.py | 4 +- 76 files changed, 942 insertions(+), 6429 deletions(-) delete mode 100644 core/services/wiki/cache.py create mode 100644 modules/wiki/light_cone.py rename {plugins => modules/wiki/models}/__init__.py (100%) create mode 100644 modules/wiki/models/avatar.py create mode 100644 modules/wiki/models/enums.py create mode 100644 modules/wiki/models/light_cone.py create mode 100644 modules/wiki/models/material.py create mode 100644 modules/wiki/models/monster.py create mode 100644 modules/wiki/models/relic.py create mode 100644 modules/wiki/monster.py create mode 100644 modules/wiki/raider.py create mode 100644 modules/wiki/relic.py delete mode 100644 plugins/README.md delete mode 100644 plugins/admin/quiz.py delete mode 100644 plugins/admin/refresh_metadata.py create mode 100644 plugins/app/title.py rename plugins/genshin/{__init__.py => README.md} (100%) delete mode 100644 plugins/genshin/abyss.py delete mode 100644 plugins/genshin/abyss_team.py delete mode 100644 plugins/genshin/avatar_list.py delete mode 100644 plugins/genshin/birthday.py delete mode 100644 plugins/genshin/calendar.py delete mode 100644 plugins/genshin/daily/material.py delete mode 100644 plugins/genshin/daily_note.py delete mode 100644 plugins/genshin/help_raw.py delete mode 100644 plugins/genshin/hilichurls.py delete mode 100644 plugins/genshin/ledger.py delete mode 100644 plugins/genshin/map.py delete mode 100644 plugins/genshin/material.py delete mode 100644 plugins/genshin/pay_log.py delete mode 100644 plugins/genshin/player_cards.py delete mode 100644 plugins/genshin/quiz.py delete mode 100644 plugins/genshin/reg_time.py delete mode 100644 plugins/genshin/stats.py delete mode 100644 plugins/genshin/weapon.py delete mode 100644 plugins/genshin/wish.py delete mode 100644 plugins/genshin/wish_log.py create mode 100644 plugins/group/README.md delete mode 100644 plugins/group/captcha.py rename plugins/{genshin => starrail}/help.py (100%) rename plugins/{genshin => starrail}/sign.py (98%) rename plugins/{genshin => starrail}/strategy.py (56%) rename plugins/{genshin => starrail}/verify.py (100%) delete mode 100644 resources/bot/help/background/1006.png delete mode 100644 resources/bot/help/background/2015.png delete mode 100644 resources/bot/help/background/2020021114213984258.jpg delete mode 100644 resources/bot/help/background/2020021114213984258.png delete mode 100644 resources/bot/help/background/genshin.png create mode 100644 resources/bot/help/background/header.png delete mode 100644 tests/unit/test_abyss_team_data.py delete mode 100644 tests/unit/test_hyperion.py delete mode 100644 tests/unit/test_hyperion_bbs.py diff --git a/core/dependence/assets.py b/core/dependence/assets.py index 9077eb8..c1c625e 100644 --- a/core/dependence/assets.py +++ b/core/dependence/assets.py @@ -23,7 +23,6 @@ from metadata.genshin import AVATAR_DATA, HONEY_DATA, MATERIAL_DATA, NAMECARD_DA from metadata.scripts.honey import update_honey_metadata from metadata.scripts.metadatas import update_metadata_from_ambr, update_metadata_from_github from metadata.shortname import roleToId, weaponToId -from modules.wiki.base import HONEY_HOST from utils.const import AMBR_HOST, ENKA_HOST, PROJECT_ROOT from utils.log import logger from utils.typedefs import StrOrInt, StrOrURL @@ -39,7 +38,7 @@ NAME_MAP_TYPE = Dict[str, StrOrURL] ASSETS_PATH = PROJECT_ROOT.joinpath("resources/assets") ASSETS_PATH.mkdir(exist_ok=True, parents=True) - +HONEY_HOST = "" DATA_MAP = {"avatar": AVATAR_DATA, "weapon": WEAPON_DATA, "material": MATERIAL_DATA} DEFAULT_EnkaAssets = EnkaAssets(lang="chs") @@ -472,7 +471,6 @@ class _NamecardAssets(_AssetsService): def __call__(self, target: int) -> "_NamecardAssets": result = _NamecardAssets(self.client) - target = int(target) if not isinstance(target, int) else target if target > 10000000: target = self._get_id_from_avatar_id(target) result.id = target @@ -533,14 +531,5 @@ class AssetsService(BaseService.Dependence): ): setattr(self, attr, globals()[assets_type_name]()) - async def initialize(self) -> None: # pylint: disable=R0201 - """启动 AssetsService 服务,刷新元数据""" - logger.info("正在刷新元数据") - # todo 这3个任务同时异步下载 - await update_metadata_from_github(False) - await update_metadata_from_ambr(False) - await update_honey_metadata(False) - logger.info("刷新元数据成功") - AssetsServiceType = TypeVar("AssetsServiceType", bound=_AssetsService) diff --git a/core/services/game/cache.py b/core/services/game/cache.py index 48531ca..c0bffb3 100644 --- a/core/services/game/cache.py +++ b/core/services/game/cache.py @@ -27,3 +27,12 @@ class GameCache: class GameCacheForStrategy(BaseService.Component, GameCache): qname = "game:strategy" + + async def get_file(self, character_name: str): + qname = f"{self.qname}:{character_name}" + return await self.client.get(qname) + + async def set_file(self, character_name: str, file: str): + qname = f"{self.qname}:{character_name}" + await self.client.set(qname, file) + await self.client.expire(qname, self.ttl) diff --git a/core/services/game/services.py b/core/services/game/services.py index 5b30a3f..3e0f778 100644 --- a/core/services/game/services.py +++ b/core/services/game/services.py @@ -1,52 +1,17 @@ -from typing import List, Optional - from core.base_service import BaseService from core.services.game.cache import GameCacheForStrategy -from modules.apihelper.client.components.hyperion import Hyperion __all__ = "GameStrategyService" class GameStrategyService(BaseService): - def __init__(self, cache: GameCacheForStrategy, collections: Optional[List[int]] = None): + def __init__(self, cache: GameCacheForStrategy): self._cache = cache - self._hyperion = Hyperion() - if collections is None: - self._collections = [839176, 839179, 839181, 1180811] - else: - self._collections = collections - self._special_posts = {"达达利亚": "21272578"} - async def _get_strategy_from_hyperion(self, collection_id: int, character_name: str) -> int: - if character_name in self._special_posts: - return self._special_posts[character_name] - post_id: int = -1 - post_full_in_collection = await self._hyperion.get_post_full_in_collection(collection_id) - for post_data in post_full_in_collection["posts"]: - title = post_data["post"]["subject"] - topics = post_data["topics"] - for topic in topics: - if character_name == topic["name"]: - post_id = int(post_data["post"]["post_id"]) - break - if post_id == -1 and title and character_name in title: - post_id = int(post_data["post"]["post_id"]) - if post_id != -1: - break - return post_id + async def get_strategy_cache(self, character_name: str) -> str: + cache = await self._cache.get_file(character_name) + if cache is not None: + return cache - async def get_strategy(self, character_name: str) -> str: - cache = await self._cache.get_url_list(character_name) - if len(cache) >= 1: - return cache[0] - - for collection_id in self._collections: - post_id = await self._get_strategy_from_hyperion(collection_id, character_name) - if post_id != -1: - break - else: - return "" - - artwork_info = await self._hyperion.get_post_info(2, post_id) - await self._cache.set_url_list(character_name, artwork_info.image_urls) - return artwork_info.image_urls[0] + async def set_strategy_cache(self, character_name: str, file: str) -> None: + await self._cache.set_file(character_name, file) diff --git a/core/services/search/models.py b/core/services/search/models.py index 03e875e..c89eca9 100644 --- a/core/services/search/models.py +++ b/core/services/search/models.py @@ -20,6 +20,7 @@ class BaseEntry(BaseModel): parse_mode: Optional[str] = None photo_url: Optional[str] = None photo_file_id: Optional[str] = None + document_file_id: Optional[str] = None @abstractmethod def compare_to_query(self, search_query: str) -> float: diff --git a/core/services/wiki/cache.py b/core/services/wiki/cache.py deleted file mode 100644 index 213227f..0000000 --- a/core/services/wiki/cache.py +++ /dev/null @@ -1,37 +0,0 @@ -import ujson as json - -from core.base_service import BaseService -from core.dependence.redisdb import RedisDB -from modules.wiki.base import Model - -__all__ = ["WikiCache"] - - -class WikiCache(BaseService.Component): - def __init__(self, redis: RedisDB): - self.client = redis.client - self.qname = "wiki" - - async def set(self, key: str, value): - qname = f"{self.qname}:{key}" - if isinstance(value, Model): - value = value.json() - elif isinstance(value, (dict, list)): - value = json.dumps(value) - await self.client.set(qname, value) - - async def delete(self, key: str): - qname = f"{self.qname}:{key}" - await self.client.delete(qname) - - async def get(self, key: str) -> dict: - qname = f"{self.qname}:{key}" - # noinspection PyBroadException - try: - result = json.loads(await self.client.get(qname)) - except Exception: # pylint: disable=W0703 - result = [] - if isinstance(result, list) and len(result) > 0: - for num, item in enumerate(result): - result[num] = json.loads(item) - return result diff --git a/core/services/wiki/services.py b/core/services/wiki/services.py index b8758d6..be4f0e4 100644 --- a/core/services/wiki/services.py +++ b/core/services/wiki/services.py @@ -1,103 +1,48 @@ -from typing import List, NoReturn, Optional +from typing import NoReturn from core.base_service import BaseService -from core.services.wiki.cache import WikiCache from modules.wiki.character import Character -from modules.wiki.weapon import Weapon +from modules.wiki.material import Material +from modules.wiki.monster import Monster +from modules.wiki.relic import Relic +from modules.wiki.light_cone import LightCone +from modules.wiki.raider import Raider from utils.log import logger __all__ = ["WikiService"] class WikiService(BaseService): - def __init__(self, cache: WikiCache): - self._cache = cache - """Redis 在这里的作用是作为持久化""" - self._character_list = [] - self._character_name_list = [] - self._weapon_name_list = [] - self._weapon_list = [] - self.first_run = True + def __init__(self): + self.character = Character() + self.material = Material() + self.monster = Monster() + self.relic = Relic() + self.light_cone = LightCone() + self.raider = Raider() - async def refresh_weapon(self) -> NoReturn: - weapon_name_list = await Weapon.get_name_list() - logger.info("一共找到 %s 把武器信息", len(weapon_name_list)) - - weapon_list = [] - num = 0 - async for weapon in Weapon.full_data_generator(): - weapon_list.append(weapon) - num += 1 - if num % 10 == 0: - logger.info("现在已经获取到 %s 把武器信息", num) - - logger.info("写入武器信息到Redis") - self._weapon_list = weapon_list - await self._cache.delete("weapon") - await self._cache.set("weapon", [i.json() for i in weapon_list]) - - async def refresh_characters(self) -> NoReturn: - character_name_list = await Character.get_name_list() - logger.info("一共找到 %s 个角色信息", len(character_name_list)) - - character_list = [] - num = 0 - async for character in Character.full_data_generator(): - character_list.append(character) - num += 1 - if num % 10 == 0: - logger.info("现在已经获取到 %s 个角色信息", num) - - logger.info("写入角色信息到Redis") - self._character_list = character_list - await self._cache.delete("characters") - await self._cache.set("characters", [i.json() for i in character_list]) + async def initialize(self) -> None: + logger.info("正在加载 Wiki 数据") + await self.character.read() + await self.material.read() + await self.monster.read() + await self.relic.read() + await self.light_cone.read() + await self.raider.read() + logger.info("加载 Wiki 数据完成") async def refresh_wiki(self) -> NoReturn: - """ - 用于把Redis的缓存全部加载进Python - :return: - """ logger.info("正在重新获取Wiki") - logger.info("正在重新获取武器信息") - await self.refresh_weapon() logger.info("正在重新获取角色信息") - await self.refresh_characters() + await self.character.refresh() + logger.info("正在重新获取材料信息") + await self.material.refresh() + logger.info("正在重新获取敌对生物信息") + await self.monster.refresh() + logger.info("正在重新获取遗器信息") + await self.relic.refresh() + logger.info("正在重新获取光锥信息") + await self.light_cone.refresh() + logger.info("正在重新获取攻略信息") + await self.raider.refresh() logger.info("刷新成功") - - async def init(self) -> NoReturn: - """ - 用于把Redis的缓存全部加载进Python - :return: - """ - if self.first_run: - weapon_dict = await self._cache.get("weapon") - self._weapon_list = [Weapon.parse_obj(obj) for obj in weapon_dict] - self._weapon_name_list = [weapon.name for weapon in self._weapon_list] - characters_dict = await self._cache.get("characters") - self._character_list = [Character.parse_obj(obj) for obj in characters_dict] - self._character_name_list = [character.name for character in self._character_list] - - self.first_run = False - - async def get_weapons(self, name: str) -> Optional[Weapon]: - await self.init() - if len(self._weapon_list) == 0: - return None - return next((weapon for weapon in self._weapon_list if weapon.name == name), None) - - async def get_weapons_name_list(self) -> List[str]: - await self.init() - return self._weapon_name_list - - async def get_weapons_list(self) -> List[Weapon]: - await self.init() - return self._weapon_list - - async def get_characters_list(self) -> List[Character]: - await self.init() - return self._character_list - - async def get_characters_name_list(self) -> List[str]: - await self.init() - return self._character_name_list diff --git a/metadata/scripts/honey.py b/metadata/scripts/honey.py index e18cdb1..dd6cf2f 100644 --- a/metadata/scripts/honey.py +++ b/metadata/scripts/honey.py @@ -7,12 +7,12 @@ from typing import Dict, List, Optional import ujson as json from aiofiles import open as async_open from httpx import AsyncClient, HTTPError, Response - -from modules.wiki.base import HONEY_HOST from utils.const import PROJECT_ROOT from utils.log import logger from utils.typedefs import StrOrInt +HONEY_HOST = "" + __all__ = [ "get_avatar_data", "get_artifact_data", diff --git a/modules/apihelper/client/base/httpxrequest.py b/modules/apihelper/client/base/httpxrequest.py index 0a7bb3c..9c864fe 100644 --- a/modules/apihelper/client/base/httpxrequest.py +++ b/modules/apihelper/client/base/httpxrequest.py @@ -19,7 +19,7 @@ timeout = httpx.Timeout( class HTTPXRequest(AbstractAsyncContextManager): def __init__(self, *args, headers=None, **kwargs): - self._client = httpx.AsyncClient(headers=headers, timeout=timeout, *args, **kwargs) + self._client = httpx.AsyncClient(headers=headers, *args, **kwargs) async def __aenter__(self): try: diff --git a/modules/wiki/base.py b/modules/wiki/base.py index d2b5fad..abe4d1e 100644 --- a/modules/wiki/base.py +++ b/modules/wiki/base.py @@ -1,248 +1,39 @@ -import asyncio -import re -from abc import abstractmethod -from asyncio import Queue -from multiprocessing import Value -from ssl import SSLZeroReturnError -from typing import AsyncIterator, ClassVar, List, Optional, Tuple, Union +from pathlib import Path +from typing import List, Dict -import anyio -from bs4 import BeautifulSoup -from httpx import URL, AsyncClient, HTTPError, Response -from pydantic import BaseConfig as PydanticBaseConfig -from pydantic import BaseModel as PydanticBaseModel -from typing_extensions import Self - -try: - import ujson as jsonlib -except ImportError: - import json as jsonlib - -__all__ = ["Model", "WikiModel", "HONEY_HOST"] - -HONEY_HOST = URL("https://genshin.honeyhunterworld.com/") +import aiofiles +import ujson as jsonlib +from httpx import AsyncClient -class Model(PydanticBaseModel): - """基类""" +class WikiModel: + BASE_URL = "https://raw.githubusercontent.com/PaiGramTeam/HonkaiStarRailWikiDataParser/remote/data/" + BASE_PATH = Path("data/wiki") + BASE_PATH.mkdir(parents=True, exist_ok=True) - def __new__(cls, *args, **kwargs): - # 让每次new的时候都解析 - cls.update_forward_refs() - return super(Model, cls).__new__(cls) # pylint: disable=E1120 + def __init__(self): + self.client = AsyncClient(timeout=120.0) - class Config(PydanticBaseConfig): - # 使用 ujson 作为解析库 - json_dumps = jsonlib.dumps - json_loads = jsonlib.loads - - -class WikiModel(Model): - # noinspection PyUnresolvedReferences - """wiki所用到的基类 - - Attributes: - id (:obj:`int`): ID - name (:obj:`str`): 名称 - rarity (:obj:`int`): 星级 - - _client (:class:`httpx.AsyncClient`): 发起 http 请求的 client - """ - _client: ClassVar[AsyncClient] = AsyncClient() - - id: str - name: str - rarity: int + async def remote_get(self, url: str): + return await self.client.get(url) @staticmethod - @abstractmethod - def scrape_urls() -> List[URL]: - """爬取的目标网页集合 - - 例如有关武器的页面有: - [单手剑](https://genshin.honeyhunterworld.com/fam_sword/?lang=CHS) - [双手剑](https://genshin.honeyhunterworld.com/fam_claymore/?lang=CHS) - [长柄武器](https://genshin.honeyhunterworld.com/fam_polearm/?lang=CHS) - 。。。 - 这个函数就是返回这些页面的网址所组成的 List - - """ - - @classmethod - async def _client_get(cls, url: Union[URL, str], retry_times: int = 5, sleep: float = 1) -> Response: - """用自己的 client 发起 get 请求的快捷函数 - - Args: - url: 发起请求的 url - retry_times: 发生错误时的重复次数。不能小于 0 . - sleep: 发生错误后等待重试的时间,单位为秒。 - Returns: - 返回对应的请求 - Raises: - 请求所需要的异常 - """ - for _ in range(retry_times): - try: - return await cls._client.get(url, follow_redirects=True) - except (HTTPError, SSLZeroReturnError): - await anyio.sleep(sleep) - return await cls._client.get(url, follow_redirects=True) # 防止 retry_times 等于 0 的时候无法发生请求 - - @classmethod - @abstractmethod - async def _parse_soup(cls, soup: BeautifulSoup) -> Self: - """解析 soup 生成对应 WikiModel - - Args: - soup: 需要解析的 soup - Returns: - 返回对应的 WikiModel - """ - - @classmethod - async def _scrape(cls, url: Union[URL, str]) -> Self: - """从 url 中爬取数据,并返回对应的 Model - - Args: - url: 目标 url. 可以为字符串 str , 也可以为 httpx.URL - Returns: - 返回对应的 WikiModel - """ - response = await cls._client_get(url) - return await cls._parse_soup(BeautifulSoup(response.text, "lxml")) - - @classmethod - async def get_by_id(cls, id_: str) -> Self: - """通过ID获取Model - - Args: - id_: 目标 ID - Returns: - 返回对应的 WikiModel - """ - return await cls._scrape(await cls.get_url_by_id(id_)) - - @classmethod - async def get_by_name(cls, name: str) -> Optional[Self]: - """通过名称获取Model - - Args: - name: 目标名 - Returns: - 返回对应的 WikiModel - """ - url = await cls.get_url_by_name(name) - return None if url is None else await cls._scrape(url) - - @classmethod - async def get_full_data(cls) -> List[Self]: - """获取全部数据的 Model - - Returns: - 返回能爬到的所有的 Model 所组成的 List - """ - return [i async for i in cls.full_data_generator()] - - @classmethod - async def full_data_generator(cls) -> AsyncIterator[Self]: - """Model 生成器 - - 这是一个异步生成器,该函数在使用时会爬取所有数据,并将其转为对应的 Model,然后存至一个队列中 - 当有需要时,再一个一个地迭代取出 - - Returns: - 返回能爬到的所有的 WikiModel 所组成的 List - """ - queue: Queue[Self] = Queue() # 存放 Model 的队列 - signal = Value("i", 0) # 一个用于异步任务同步的信号 - - async def task(u): - # 包装的爬虫任务 - await queue.put(await cls._scrape(u)) # 爬取一条数据,并将其放入队列中 - signal.value -= 1 # 信号量减少 1 ,说明该爬虫任务已经完成 - - for _, url in await cls.get_name_list(with_url=True): # 遍历爬取所有需要爬取的页面 - signal.value += 1 # 信号量增加 1 ,说明有一个爬虫任务被添加 - asyncio.create_task(task(url)) # 创建一个爬虫任务 - - while signal.value > 0 or not queue.empty(): # 当还有未完成的爬虫任务或存放数据的队列不为空时 - yield await queue.get() # 取出并返回一个存放的 Model - - def __str__(self) -> str: - return f"<{self.__class__.__name__} {super(WikiModel, self).__str__()}>" - - def __repr__(self) -> str: - return self.__str__() + async def dump(datas, path: Path): + async with aiofiles.open(path, "w", encoding="utf-8") as f: + await f.write(jsonlib.dumps(datas, indent=4, ensure_ascii=False)) @staticmethod - async def get_url_by_id(id_: str) -> URL: - """根据 id 获取对应的 url + async def read(path: Path) -> List[Dict]: + async with aiofiles.open(path, "r", encoding="utf-8") as f: + datas = jsonlib.loads(await f.read()) + return datas - 例如神里绫华的ID为 ayaka_002,对应的数据页url为 https://genshin.honeyhunterworld.com/ayaka_002/?lang=CHS + @staticmethod + async def save_file(data, path: Path): + async with aiofiles.open(path, "wb") as f: + await f.write(data) - Args: - id_ : 实列ID - Returns: - 返回对应的 url - """ - return HONEY_HOST.join(f"{id_}/?lang=CHS") - - @classmethod - async def _name_list_generator(cls, *, with_url: bool = False) -> AsyncIterator[Union[str, Tuple[str, URL]]]: - """一个 Model 的名称 和 其对应 url 的异步生成器 - - Args: - with_url: 是否返回相应的 url - Returns: - 返回对应的名称列表 或者 名称与url 的列表 - """ - urls = cls.scrape_urls() - queue: Queue[Union[str, Tuple[str, URL]]] = Queue() # 存放 Model 的队列 - signal = Value("i", len(urls)) # 一个用于异步任务同步的信号,初始值为存放所需要爬取的页面数 - - async def task(page: URL): - """包装的爬虫任务""" - response = await cls._client_get(page) - # 从页面中获取对应的 chaos data (未处理的json格式字符串) - chaos_data = re.findall(r"sortable_data\.push\((.*?)\);\s*sortable_cur_page", response.text)[0] - json_data = jsonlib.loads(chaos_data) # 转为 json - for data in json_data: # 遍历 json - data_name = re.findall(r">(.*)<", data[1])[0].strip() # 获取 Model 的名称 - if with_url: # 如果需要返回对应的 url - data_url = HONEY_HOST.join(re.findall(r"\"(.*?)\"", data[0])[0]) - await queue.put((data_name, data_url)) - else: - await queue.put(data_name) - signal.value = signal.value - 1 # 信号量减少 1 ,说明该爬虫任务已经完成 - - for url in urls: # 遍历需要爬出的页面 - asyncio.create_task(task(url)) # 添加爬虫任务 - while signal.value > 0 or not queue.empty(): # 当还有未完成的爬虫任务或存放数据的队列不为空时 - yield await queue.get() # 取出并返回一个存放的 Model - - @classmethod - async def get_name_list(cls, *, with_url: bool = False) -> List[Union[str, Tuple[str, URL]]]: - """获取全部 Model 的 名称 - - Returns: - 返回能爬到的所有的 Model 的名称所组成的 List - """ - return [i async for i in cls._name_list_generator(with_url=with_url)] - - @classmethod - async def get_url_by_name(cls, name: str) -> Optional[URL]: - """通过 Model 的名称获取对应的 url - - Args: - name: 实列名 - Returns: - 若有对应的实列,则返回对应的 url; 若没有, 则返回 None - """ - async for n, url in cls._name_list_generator(with_url=True): - if name == n: - return url - - @property - @abstractmethod - def icon(self): - """返回此 Model 的图标链接""" + @staticmethod + async def read_file(path: Path): + async with aiofiles.open(path, "rb") as f: + return await f.read() diff --git a/modules/wiki/character.py b/modules/wiki/character.py index 6820c77..a5b2baf 100644 --- a/modules/wiki/character.py +++ b/modules/wiki/character.py @@ -1,199 +1,46 @@ -import re -from typing import List, Optional +from typing import List, Dict, Optional -from bs4 import BeautifulSoup -from httpx import URL - -from modules.wiki.base import HONEY_HOST, Model, WikiModel -from modules.wiki.other import Association, Element, WeaponType - - -class Birth(Model): - """生日 - Attributes: - day: 天 - month: 月 - """ - - day: int - month: int - - -class CharacterAscension(Model): - """角色的突破材料 - - Attributes: - level: 等级突破材料 - skill: 技能/天赋培养材料 - """ - - level: List[str] = [] - skill: List[str] = [] - - -class CharacterState(Model): - """角色属性值 - - Attributes: - level: 等级 - HP: 生命 - ATK: 攻击力 - DEF: 防御力 - CR: 暴击率 - CD: 暴击伤害 - bonus: 突破属性 - """ - - level: str - HP: int - ATK: float - DEF: float - CR: str - CD: str - bonus: str - - -class CharacterIcon(Model): - icon: str - side: str - gacha: str - splash: Optional[str] +from modules.wiki.base import WikiModel +from modules.wiki.models.avatar import Avatar class Character(WikiModel): - """角色 - Attributes: - title: 称号 - occupation: 所属 - association: 地区 - weapon_type: 武器类型 - element: 元素 - birth: 生日 - constellation: 命之座 - cn_cv: 中配 - jp_cv: 日配 - en_cv: 英配 - kr_cv: 韩配 - description: 描述 - """ + avatar_url = WikiModel.BASE_URL + "avatars.json" + avatar_path = WikiModel.BASE_PATH / "avatars.json" - id: str - title: str - occupation: str - association: Association - weapon_type: WeaponType - element: Element - birth: Optional[Birth] - constellation: str - cn_cv: str - jp_cv: str - en_cv: str - kr_cv: str - description: str - ascension: CharacterAscension + def __init__(self): + super().__init__() + self.all_avatars: List[Avatar] = [] + self.all_avatars_map: Dict[int, Avatar] = {} + self.all_avatars_name: Dict[str, Avatar] = {} - stats: List[CharacterState] + def clear_class_data(self) -> None: + self.all_avatars.clear() + self.all_avatars_map.clear() + self.all_avatars_name.clear() - @classmethod - def scrape_urls(cls) -> List[URL]: - return [HONEY_HOST.join("fam_chars/?lang=CHS")] + async def refresh(self): + datas = await self.remote_get(self.avatar_url) + await self.dump(datas.json(), self.avatar_path) + await self.read() - @classmethod - async def _parse_soup(cls, soup: BeautifulSoup) -> "Character": - """解析角色页""" - soup = soup.select(".wp-block-post-content")[0] - tables = soup.find_all("table") - table_rows = tables[0].find_all("tr") + async def read(self): + if not self.avatar_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.avatar_path) + self.clear_class_data() + for data in datas: + m = Avatar(**data) + self.all_avatars.append(m) + self.all_avatars_map[m.id] = m + self.all_avatars_name[m.name] = m - def get_table_text(row_num: int) -> str: - """一个快捷函数,用于返回表格对应行的最后一个单元格中的文本""" - return table_rows[row_num].find_all("td")[-1].text.replace("\xa0", "") + def get_by_id(self, cid: int) -> Optional[Avatar]: + return self.all_avatars_map.get(cid, None) - id_ = re.findall(r"img/(.*?_\d+)_.*", table_rows[0].find("img").attrs["src"])[0] - name = get_table_text(0) - if name != "旅行者": # 如果角色名不是 旅行者 - title = get_table_text(1) - occupation = get_table_text(2) - association = Association.convert(get_table_text(3).lower().title()) - rarity = len(table_rows[4].find_all("img")) - weapon_type = WeaponType[get_table_text(5)] - element = Element[get_table_text(6)] - birth = Birth(day=int(get_table_text(7)), month=int(get_table_text(8))) - constellation = get_table_text(10) - cn_cv = get_table_text(11) - jp_cv = get_table_text(12) - en_cv = get_table_text(13) - kr_cv = get_table_text(14) - else: - name = "空" if id_.endswith("5") else "荧" - title = get_table_text(0) - occupation = get_table_text(1) - association = Association.convert(get_table_text(2).lower().title()) - rarity = len(table_rows[3].find_all("img")) - weapon_type = WeaponType[get_table_text(4)] - element = Element[get_table_text(5)] - birth = None - constellation = get_table_text(7) - cn_cv = get_table_text(8) - jp_cv = get_table_text(9) - en_cv = get_table_text(10) - kr_cv = get_table_text(11) - description = get_table_text(-3) - ascension = CharacterAscension( - level=[ - target[0] - for i in table_rows[-2].find_all("a") - if (target := re.findall(r"/(.*)/", i.attrs["href"])) # 过滤掉错误的材料(honey网页的bug) - ], - skill=[re.findall(r"/(.*)/", i.attrs["href"])[0] for i in table_rows[-1].find_all("a")], - ) - stats = [] - for row in tables[2].find_all("tr")[1:]: - cells = row.find_all("td") - stats.append( - CharacterState( - level=cells[0].text, - HP=cells[1].text, - ATK=cells[2].text, - DEF=cells[3].text, - CR=cells[4].text, - CD=cells[5].text, - bonus=cells[6].text, - ) - ) - return Character( - id=id_, - name=name, - title=title, - occupation=occupation, - association=association, - weapon_type=weapon_type, - element=element, - birth=birth, - constellation=constellation, - cn_cv=cn_cv, - jp_cv=jp_cv, - rarity=rarity, - en_cv=en_cv, - kr_cv=kr_cv, - description=description, - ascension=ascension, - stats=stats, - ) + def get_by_name(self, name: str) -> Optional[Avatar]: + return self.all_avatars_name.get(name, None) - @classmethod - async def get_url_by_name(cls, name: str) -> Optional[URL]: - # 重写此函数的目的是处理主角名字的 ID - _map = {"荧": "playergirl_007", "空": "playerboy_005"} - if (id_ := _map.get(name)) is not None: - return await cls.get_url_by_id(id_) - return await super(Character, cls).get_url_by_name(name) - - @property - def icon(self) -> CharacterIcon: - return CharacterIcon( - icon=str(HONEY_HOST.join(f"/img/{self.id}_icon.webp")), - side=str(HONEY_HOST.join(f"/img/{self.id}_side_icon.webp")), - gacha=str(HONEY_HOST.join(f"/img/{self.id}_gacha_card.webp")), - splash=str(HONEY_HOST.join(f"/img/{self.id}_gacha_splash.webp")), - ) + def get_name_list(self) -> List[str]: + return list(self.all_avatars_name.keys()) diff --git a/modules/wiki/light_cone.py b/modules/wiki/light_cone.py new file mode 100644 index 0000000..fbf436f --- /dev/null +++ b/modules/wiki/light_cone.py @@ -0,0 +1,46 @@ +from typing import List, Dict, Optional + +from modules.wiki.base import WikiModel +from modules.wiki.models.light_cone import LightCone as LightConeModel + + +class LightCone(WikiModel): + light_cone_url = WikiModel.BASE_URL + "light_cones.json" + light_cone_path = WikiModel.BASE_PATH / "light_cones.json" + + def __init__(self): + super().__init__() + self.all_light_cones: List[LightConeModel] = [] + self.all_light_cones_map: Dict[int, LightConeModel] = {} + self.all_light_cones_name: Dict[str, LightConeModel] = {} + + def clear_class_data(self) -> None: + self.all_light_cones.clear() + self.all_light_cones_map.clear() + self.all_light_cones_name.clear() + + async def refresh(self): + datas = await self.remote_get(self.light_cone_url) + await self.dump(datas.json(), self.light_cone_path) + await self.read() + + async def read(self): + if not self.light_cone_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.light_cone_path) + self.clear_class_data() + for data in datas: + m = LightConeModel(**data) + self.all_light_cones.append(m) + self.all_light_cones_map[m.id] = m + self.all_light_cones_name[m.name] = m + + def get_by_id(self, cid: int) -> Optional[LightConeModel]: + return self.all_light_cones_map.get(cid, None) + + def get_by_name(self, name: str) -> Optional[LightConeModel]: + return self.all_light_cones_name.get(name, None) + + def get_name_list(self) -> List[str]: + return list(self.all_light_cones_name.keys()) diff --git a/modules/wiki/material.py b/modules/wiki/material.py index ce9b193..35f4618 100644 --- a/modules/wiki/material.py +++ b/modules/wiki/material.py @@ -1,81 +1,46 @@ -import re -from typing import List, Optional, Tuple, Union +from typing import List, Dict, Optional -from bs4 import BeautifulSoup -from httpx import URL - -from modules.wiki.base import HONEY_HOST, WikiModel - -__all__ = ["Material"] - -WEEKDAYS = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] +from modules.wiki.base import WikiModel +from modules.wiki.models.material import Material as MaterialModel class Material(WikiModel): - # noinspection PyUnresolvedReferences - """武器、角色培养素材 + material_url = WikiModel.BASE_URL + "materials.json" + material_path = WikiModel.BASE_PATH / "materials.json" - Attributes: - type: 类型 - weekdays: 每周开放的时间 - source: 获取方式 - description: 描述 - """ - type: str - source: Optional[List[str]] = None - weekdays: Optional[List[int]] = None - description: str + def __init__(self): + super().__init__() + self.all_materials: List[MaterialModel] = [] + self.all_materials_map: Dict[int, MaterialModel] = {} + self.all_materials_name: Dict[str, MaterialModel] = {} - @staticmethod - def scrape_urls() -> List[URL]: - weapon = [HONEY_HOST.join(f"fam_wep_{i}/?lang=CHS") for i in ["primary", "secondary", "common"]] - talent = [HONEY_HOST.join(f"fam_talent_{i}/?lang=CHS") for i in ["book", "boss", "common", "reward"]] - return weapon + talent + def clear_class_data(self) -> None: + self.all_materials.clear() + self.all_materials_map.clear() + self.all_materials_name.clear() - @classmethod - async def get_name_list(cls, *, with_url: bool = False) -> List[Union[str, Tuple[str, URL]]]: - return list(sorted(set(await super(Material, cls).get_name_list(with_url=with_url)), key=lambda x: x[0])) + async def refresh(self): + datas = await self.remote_get(self.material_url) + await self.dump(datas.json(), self.material_path) + await self.read() - @classmethod - async def _parse_soup(cls, soup: BeautifulSoup) -> "Material": - """解析突破素材页""" - soup = soup.select(".wp-block-post-content")[0] - tables = soup.find_all("table") - table_rows = tables[0].find_all("tr") + async def read(self): + if not self.material_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.material_path) + self.clear_class_data() + for data in datas: + m = MaterialModel(**data) + self.all_materials.append(m) + self.all_materials_map[m.id] = m + self.all_materials_name[m.name] = m - def get_table_row(target: str): - """一个便捷函数,用于返回对应表格头的对应行的最后一个单元格中的文本""" - for row in table_rows: - if target in row.find("td").text: - return row.find_all("td")[-1] - return None + def get_by_id(self, cid: int) -> Optional[MaterialModel]: + return self.all_materials_map.get(cid, None) - def get_table_text(row_num: int) -> str: - """一个便捷函数,用于返回表格对应行的最后一个单元格中的文本""" - return table_rows[row_num].find_all("td")[-1].text.replace("\xa0", "") + def get_by_name(self, name: str) -> Optional[MaterialModel]: + return self.all_materials_name.get(name, None) - id_ = re.findall(r"/img/(.*?)\.webp", str(table_rows[0]))[0] - name = get_table_text(0) - rarity = len(table_rows[3].find_all("img")) - type_ = get_table_text(1) - if (item_source := get_table_row("Item Source")) is not None: - item_source = list( - # filter 在这里的作用是过滤掉为空的数据 - filter(lambda x: x, item_source.encode_contents().decode().split("
")) - ) - if (alter_source := get_table_row("Alternative Item")) is not None: - alter_source = list( - # filter 在这里的作用是过滤掉为空的数据 - filter(lambda x: x, alter_source.encode_contents().decode().split("
")) - ) - source = list(sorted(set((item_source or []) + (alter_source or [])))) - if (weekdays := get_table_row("Weekday")) is not None: - weekdays = [*(WEEKDAYS.index(weekdays.text.replace("\xa0", "").split(",")[0]) + 3 * i for i in range(2)), 6] - description = get_table_text(-1) - return Material( - id=id_, name=name, rarity=rarity, type=type_, description=description, source=source, weekdays=weekdays - ) - - @property - def icon(self) -> str: - return str(HONEY_HOST.join(f"/img/{self.id}.webp")) + def get_name_list(self) -> List[str]: + return list(self.all_materials_name.keys()) diff --git a/plugins/__init__.py b/modules/wiki/models/__init__.py similarity index 100% rename from plugins/__init__.py rename to modules/wiki/models/__init__.py diff --git a/modules/wiki/models/avatar.py b/modules/wiki/models/avatar.py new file mode 100644 index 0000000..51759fa --- /dev/null +++ b/modules/wiki/models/avatar.py @@ -0,0 +1,60 @@ +from typing import List +from pydantic import BaseModel +from .enums import Quality, Destiny, Element +from .material import Material + + +class AvatarInfo(BaseModel): + occupation: str = "" + """所属""" + faction: str = "" + """派系""" + + +class AvatarItem(BaseModel): + item: Material + """物品""" + count: int + """数量""" + + +class AvatarPromote(BaseModel): + required_level: int + """突破所需等级""" + promote_level: int = 0 + """突破等级""" + max_level: int + """解锁的等级上限""" + + coin: int = 0 + """信用点""" + items: list[AvatarItem] + """突破所需材料""" + + +class AvatarSoul(BaseModel): + name: str + """ 名称 """ + desc: str + """ 介绍 """ + + +class Avatar(BaseModel): + id: int + """角色ID""" + name: str + """名称""" + icon: str + """图标""" + quality: Quality + """品质""" + destiny: Destiny + """命途""" + element: Element + """属性""" + information: AvatarInfo + """角色信息""" + promote: List[AvatarPromote] + """角色突破数据""" + soul: List[AvatarSoul] + """角色星魂数据""" diff --git a/modules/wiki/models/enums.py b/modules/wiki/models/enums.py new file mode 100644 index 0000000..28ce262 --- /dev/null +++ b/modules/wiki/models/enums.py @@ -0,0 +1,84 @@ +from enum import Enum + + +class Quality(str, Enum): + """ 星级 """ + Five = "五星" + Four = "四星" + Three = "三星" + Two = "二星" + One = "一星" + + +class Destiny(str, Enum): + """ 命途 """ + HuiMie = "毁灭" + ZhiShi = "智识" + XunLie = "巡猎" + CunHu = "存护" + FengRao = "丰饶" + TongXie = "同谐" + XuWu = "虚无" + + +class Element(str, Enum): + """ 属性 """ + Physical = "物理" + Pyro = "火" + Anemo = "风" + Electro = "雷" + Cryo = "冰" + Nombre = "虚数" + Quantum = "量子" + Null = "NULL" + """无""" + + +class MonsterType(str, Enum): + """ 怪物种类 """ + Normal = "普通" + Elite = "精英" + Leader = "首领" + Boss = "历战余响" + + +class Area(str, Enum): + """ 地区 """ + Herta = "空间站「黑塔」" + YaLiLuo = "雅利洛-VI" + LuoFu = "仙舟「罗浮」" + NULL = "未知" + + +class MaterialType(str, Enum): + """ 材料类型 """ + AvatarUpdate = "角色晋阶材料" + XingJi = "行迹材料" + LightConeUpdate = "光锥晋阶材料" + Exp = "经验材料" + Grow = "养成材料" + Synthetic = "合成材料" + Task = "任务道具" + Important = "贵重物" + Consumable = "消耗品" + TaskMaterial = "任务材料" + Other = "其他材料" + + +class PropType(str, Enum): + """ 遗器套装效果 """ + HP = "基础-生命值" + Defense = "基础-防御力" + Attack = "基础-攻击力" + Critical = "基础-效果命中" + Physical = "伤害类-物理" + Pyro = "伤害类-火" + Anemo = "伤害类-风" + Electro = "伤害类-雷" + Cryo = "伤害类-冰" + Nombre = "伤害类-虚数" + Quantum = "伤害类-量子" + Add = "伤害类-追加伤害" + Heal = "其他-治疗加成" + OtherCritical = "其他-效果命中" + Charge = "其他-能量充能效率" diff --git a/modules/wiki/models/light_cone.py b/modules/wiki/models/light_cone.py new file mode 100644 index 0000000..0cb5a60 --- /dev/null +++ b/modules/wiki/models/light_cone.py @@ -0,0 +1,45 @@ +# 光锥 +from pydantic import BaseModel + +from .enums import Quality, Destiny +from .material import Material + + +class LightConeItem(BaseModel): + item: Material + """物品""" + count: int + """数量""" + + +class LightConePromote(BaseModel): + required_level: int + """突破所需等级""" + promote_level: int = 0 + """突破等级""" + max_level: int + """解锁的等级上限""" + + coin: int = 0 + """信用点""" + items: list[LightConeItem] + """突破所需材料""" + + +class LightCone(BaseModel): + id: int + """"光锥ID""" + name: str + """名称""" + desc: str + """描述""" + icon: str + """图标""" + big_pic: str + """大图""" + quality: Quality + """稀有度""" + destiny: Destiny + """命途""" + promote: list[LightConePromote] + """晋阶信息""" diff --git a/modules/wiki/models/material.py b/modules/wiki/models/material.py new file mode 100644 index 0000000..88ab22f --- /dev/null +++ b/modules/wiki/models/material.py @@ -0,0 +1,19 @@ +# 材料 +from pydantic import BaseModel + +from .enums import Quality, MaterialType + + +class Material(BaseModel): + id: int + """材料ID""" + name: str + """名称""" + desc: str + """介绍""" + icon: str + """图标""" + quality: Quality + """稀有度""" + type: MaterialType + """类型""" diff --git a/modules/wiki/models/monster.py b/modules/wiki/models/monster.py new file mode 100644 index 0000000..ccc20d6 --- /dev/null +++ b/modules/wiki/models/monster.py @@ -0,0 +1,26 @@ +# 敌对物种 +from pydantic import BaseModel + +from .enums import MonsterType, Area + + +class Monster(BaseModel): + id: int + """怪物ID""" + name: str + """名称""" + desc: str + """介绍""" + icon: str + """图标""" + big_pic: str + """大图""" + type: MonsterType + """种类""" + area: Area + """地区""" + resistance: str + """抗性""" + find_area: str + """发现地点""" + diff --git a/modules/wiki/models/relic.py b/modules/wiki/models/relic.py new file mode 100644 index 0000000..7272640 --- /dev/null +++ b/modules/wiki/models/relic.py @@ -0,0 +1,13 @@ +# 遗器套装 +from pydantic import BaseModel + + +class Relic(BaseModel): + id: int + """遗器套装ID""" + name: str + """套装名称""" + icon: str + """套装图标""" + affect: str + """套装效果""" diff --git a/modules/wiki/monster.py b/modules/wiki/monster.py new file mode 100644 index 0000000..98741e3 --- /dev/null +++ b/modules/wiki/monster.py @@ -0,0 +1,46 @@ +from typing import List, Dict, Optional + +from modules.wiki.base import WikiModel +from modules.wiki.models.monster import Monster as MonsterModel + + +class Monster(WikiModel): + monster_url = WikiModel.BASE_URL + "monsters.json" + monster_path = WikiModel.BASE_PATH / "monsters.json" + + def __init__(self): + super().__init__() + self.all_monsters: List[MonsterModel] = [] + self.all_monsters_map: Dict[int, MonsterModel] = {} + self.all_monsters_name: Dict[str, MonsterModel] = {} + + def clear_class_data(self) -> None: + self.all_monsters.clear() + self.all_monsters_map.clear() + self.all_monsters_name.clear() + + async def refresh(self): + datas = await self.remote_get(self.monster_url) + await self.dump(datas.json(), self.monster_path) + await self.read() + + async def read(self): + if not self.monster_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.monster_path) + self.clear_class_data() + for data in datas: + m = MonsterModel(**data) + self.all_monsters.append(m) + self.all_monsters_map[m.id] = m + self.all_monsters_name[m.name] = m + + def get_by_id(self, cid: int) -> Optional[MonsterModel]: + return self.all_monsters_map.get(cid, None) + + def get_by_name(self, name: str) -> Optional[MonsterModel]: + return self.all_monsters_name.get(name, None) + + def get_name_list(self) -> List[str]: + return list(self.all_monsters_name.keys()) diff --git a/modules/wiki/raider.py b/modules/wiki/raider.py new file mode 100644 index 0000000..d5c8895 --- /dev/null +++ b/modules/wiki/raider.py @@ -0,0 +1,40 @@ +from typing import List +from modules.wiki.base import WikiModel + + +class Raider(WikiModel): + raider_url = WikiModel.BASE_URL + "raiders/" + raider_path = WikiModel.BASE_PATH / "raiders" + raider_info_path = WikiModel.BASE_PATH / "raiders" / "info.json" + raider_path.mkdir(parents=True, exist_ok=True) + + def __init__(self): + super().__init__() + self.all_raiders: List[str] = [] + + def clear_class_data(self) -> None: + self.all_raiders.clear() + + async def refresh(self): + datas = await self.remote_get(self.raider_url + "info.json") + data = datas.json() + for name in data: + photo = await self.remote_get(f"{self.raider_url}{name}.png") + await self.save_file(photo.content, self.raider_path / f"{name}.png") + self.all_raiders.append(name) + await self.dump(data, self.raider_info_path) + + async def read(self): + if not self.raider_info_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.raider_info_path) + self.clear_class_data() + for data in datas: + self.all_raiders.append(data) + + def get_name_list(self) -> List[str]: + return self.all_raiders.copy() + + def get_item_id(self, name: str) -> int: + return self.all_raiders.index(name) diff --git a/modules/wiki/relic.py b/modules/wiki/relic.py new file mode 100644 index 0000000..674e263 --- /dev/null +++ b/modules/wiki/relic.py @@ -0,0 +1,46 @@ +from typing import List, Dict, Optional + +from modules.wiki.base import WikiModel +from modules.wiki.models.relic import Relic as RelicModel + + +class Relic(WikiModel): + relic_url = WikiModel.BASE_URL + "relics.json" + relic_path = WikiModel.BASE_PATH / "relics.json" + + def __init__(self): + super().__init__() + self.all_relics: List[RelicModel] = [] + self.all_relics_map: Dict[int, RelicModel] = {} + self.all_relics_name: Dict[str, RelicModel] = {} + + def clear_class_data(self) -> None: + self.all_relics.clear() + self.all_relics_map.clear() + self.all_relics_name.clear() + + async def refresh(self): + datas = await self.remote_get(self.relic_url) + await self.dump(datas.json(), self.relic_path) + await self.read() + + async def read(self): + if not self.relic_path.exists(): + await self.refresh() + return + datas = await WikiModel.read(self.relic_path) + self.clear_class_data() + for data in datas: + m = RelicModel(**data) + self.all_relics.append(m) + self.all_relics_map[m.id] = m + self.all_relics_name[m.name] = m + + def get_by_id(self, cid: int) -> Optional[RelicModel]: + return self.all_relics_map.get(cid, None) + + def get_by_name(self, name: str) -> Optional[RelicModel]: + return self.all_relics_name.get(name, None) + + def get_name_list(self) -> List[str]: + return list(self.all_relics_name.keys()) diff --git a/plugins/README.md b/plugins/README.md deleted file mode 100644 index 2b96087..0000000 --- a/plugins/README.md +++ /dev/null @@ -1,163 +0,0 @@ -# plugins 目录 - -## 说明 - -该目录仅限处理交互层和业务层数据交换的任务 - -如有任何核心接口,请转到 `core` 目录添加 - -如有任何API请求接口,请转到 `models` 目录添加 - -## 新版插件 Plugin 的写法 - -### 关于路径 - -插件应该写在 `plugins` 文件夹下,可以是一个包或者是一个文件,但文件名、文件夹名中不能包含`_`字符 - -### 关于类 - -1. 除了要使用`ConversationHandler` 的插件外,都要继承 `core.plugin.Plugin` - - ```python - from core.plugin import Plugin - - - class TestPlugin(Plugin): - pass - ``` - -2. 针对要用 `ConversationHandler` 的插件,要继承 `core.plugin.Plugin.Conversation` - - ```python - from core.plugin import Plugin - - - class TestConversationPlugin(Plugin.Conversation): - pass - ``` - -3. 关于初始化方法以及依赖注入 - - 初始化类, 可写在 `__init__` 和 `__async_init__` 中, 其中 `__async_init__` 应该是异步方法, - 用于执行初始化时需要的异步操作. 这两个方法的执行顺序是 `__init__` 在前, `__async_init__` 在后 - - 若需要注入依赖, 直接在插件类的`__init__`方法中,提供相应的参数以及标注标注即可, 例如我需要注入一个 `MySQL` - - ```python - from service.mysql import MySQL - from core.plugin import Plugin - - class TestPlugin(Plugin): - def __init__(self, mysql: MySQL): - self.mysql = mysql - - async def __async_init__(self): - """do something""" - - ``` - -## 关于 `handler` - -给函数加上 `core.plugin.handler` 这一装饰器即可将这个函数注册为`handler` - -### 非 `ConversationHandler` 的 `handler` - -1. 直接使用 `core.plugin.handler` 装饰器 - - 第一个参数是 `handler` 的种类,后续参数为该 `handler` 除 `callback` 参数外的其余参数 - - ```python - from core.plugin import Plugin, handler - from telegram import Update - from telegram.ext import CommandHandler, CallbackContext - - - class TestPlugin(Plugin): - @handler(CommandHandler, command='start', block=False) - async def start(self, update: Update, context: CallbackContext): - await update.effective_chat.send_message('hello world!') - ``` - - 比如上面代码中的 `command='start', block=False` 就是 `CommandHandler` 的参数 - -2. 使用 `core.plugin.handler` 的子装饰器 - - 这种方式比第一种简单, 不需要声明 `handler` 的类型 - - ```python - from core.plugin import Plugin, handler - from telegram import Update - from telegram.ext import CallbackContext - - - class TestPlugin(Plugin): - @handler.command(command='start', block=False) - async def start(self, update: Update, context: CallbackContext): - await update.effective_chat.send_message('hello world!') - ``` - -### 对于 `ConversationHandler` - -由于 `ConversationHandler` 比较特殊,所以**一个 Plugin 类中只能存在一个 `ConversationHandler`** - -`conversation.entry_point` 、`conversation.state` 和 `conversation.fallback` 装饰器分别对应 -`ConversationHandler` 的 `entry_points`、`stats` 和 `fallbacks` 参数 - -```python -from telegram import Update -from telegram.ext import CallbackContext, filters - -from core.plugin import Plugin, conversation, handler - -STATE_A, STATE_B, STATE_C = range(3) - - -class TestConversation(Plugin.Conversation, allow_reentry=True, block=False): - - @conversation.entry_point # 标注这个handler是ConversationHandler的一个entry_point - @handler.command(command='entry') - async def entry_point(self, update: Update, context: CallbackContext): - """do something""" - - @conversation.state(state=STATE_A) - @handler.message(filters=filters.TEXT) - async def state(self, update: Update, context: CallbackContext): - """do something""" - - @conversation.fallback - @handler.message(filters=filters.TEXT) - async def fallback(self, update: Update, context: CallbackContext): - """do something""" - - @handler.inline_query() # 你可以在此 Plugin 下定义其它类型的 handler - async def inline_query(self, update: Update, context: CallbackContext): - """do something""" - -``` - -### 对于 `Job` - -1. 依然需要继承 `core.plugin.Plugin` -2. 直接使用 `core.plugin.job` 装饰器 参数都与官方 `JobQueue` 类对应 - -```python -from core.plugin import Plugin, job - -class TestJob(Plugin): - - @job.run_repeating(interval=datetime.timedelta(hours=2), name="TestJob") - async def refresh(self, _: CallbackContext): - logger.info("TestJob") -``` - -### 注意 - -被注册到 `handler` 的函数需要添加 `error_callable` 修饰器作为错误统一处理 - -被注册到 `handler` 的函数必须使用 `@restricts()` 修饰器 **预防洪水攻击** 但 `ConversationHandler` 外只需要注册入口函数使用 - -如果引用服务,参数需要声明需要引用服务的类型并设置默认传入为 `None` - -必要的函数必须捕获异常后通知用户或者直接抛出异常 - -**部分修饰器为带参修饰器,必须带括号,否则会出现调用错误** \ No newline at end of file diff --git a/plugins/account/account.py b/plugins/account/account.py index 5b4062d..35a6979 100644 --- a/plugins/account/account.py +++ b/plugins/account/account.py @@ -16,7 +16,6 @@ from core.services.players.models import PlayersDataBase as Player, PlayerInfoSQ from core.services.players.services import PlayersService, PlayerInfoService from utils.log import logger - if TYPE_CHECKING: from telegram import Update from telegram.ext import ContextTypes @@ -86,11 +85,13 @@ class BindAccountPlugin(Plugin.Conversation): if message.text == "米游社": bind_account_plugin_data.region = RegionEnum.HYPERION elif message.text == "HoYoLab": + await message.reply_text("很抱歉,暂不支持HoYoLab服务器", reply_markup=ReplyKeyboardRemove()) + return ConversationHandler.END bind_account_plugin_data.region = RegionEnum.HOYOLAB else: await message.reply_text("选择错误,请重新选择") return CHECK_SERVER - reply_keyboard = [["通过玩家ID", "用过账号ID"], ["退出"]] + reply_keyboard = [["通过玩家ID", "通过账号ID"], ["退出"]] await message.reply_markdown_v2( "请选择你要绑定的方式", reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True) ) @@ -133,15 +134,20 @@ class BindAccountPlugin(Plugin.Conversation): await message.reply_text("用户查询次数过多,请稍后重试", reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END if region == RegionEnum.HYPERION: - client = genshin.Client(cookies=cookies.data, game=types.Game.GENSHIN, region=types.Region.CHINESE) + client = genshin.Client(cookies=cookies.data, game=types.Game.STARRAIL, region=types.Region.CHINESE) elif region == RegionEnum.HOYOLAB: client = genshin.Client( - cookies=cookies.data, game=types.Game.GENSHIN, region=types.Region.OVERSEAS, lang="zh-cn" + cookies=cookies.data, game=types.Game.STARRAIL, region=types.Region.OVERSEAS, lang="zh-cn" ) else: return ConversationHandler.END try: - record_card = await client.get_record_card(account_id) + record_cards = await client.get_record_card(account_id) + record_card = record_cards[0] + for card in record_cards: + if card.game == types.Game.STARRAIL: + record_card = card + break except DataNotPublic: await message.reply_text("角色未公开", reply_markup=ReplyKeyboardRemove()) logger.warning("获取账号信息发生错误 %s 账户信息未公开", account_id) @@ -151,8 +157,8 @@ class BindAccountPlugin(Plugin.Conversation): logger.error("获取账号信息发生错误") logger.exception(exc) return ConversationHandler.END - if record_card.game != types.Game.GENSHIN: - await message.reply_text("角色信息查询返回非原神游戏信息,请设置展示主界面为原神", reply_markup=ReplyKeyboardRemove()) + if record_card.game != types.Game.STARRAIL: + await message.reply_text("角色信息查询返回无星穹铁道游戏信息,请确定你有星穹铁道账号", reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END player_info = await self.players_service.get( user.id, player_id=record_card.uid, region=bind_account_plugin_data.region @@ -197,10 +203,10 @@ class BindAccountPlugin(Plugin.Conversation): await message.reply_text("用户查询次数过多,请稍后重试", reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END if region == RegionEnum.HYPERION: - client = genshin.Client(cookies=cookies.data, game=types.Game.GENSHIN, region=types.Region.CHINESE) + client = genshin.Client(cookies=cookies.data, game=types.Game.STARRAIL, region=types.Region.CHINESE) elif region == RegionEnum.HOYOLAB: client = genshin.Client( - cookies=cookies.data, game=types.Game.GENSHIN, region=types.Region.OVERSEAS, lang="zh-cn" + cookies=cookies.data, game=types.Game.STARRAIL, region=types.Region.OVERSEAS, lang="zh-cn" ) else: return ConversationHandler.END @@ -273,16 +279,14 @@ class BindAccountPlugin(Plugin.Conversation): is_chosen=is_chosen, # todo 多账号 ) await self.players_service.add(player) - player_info = await self.player_info_service.get(player) - if player_info is None: - player_info = PlayerInfoSQLModel( - user_id=player.user_id, - player_id=player.player_id, - nickname=nickname, - create_time=datetime.now(), - is_update=True, - ) # 不添加更新时间 - await self.player_info_service.add(player_info) + player_info = PlayerInfoSQLModel( + user_id=player.user_id, + player_id=player.player_id, + nickname=nickname, + create_time=datetime.now(), + is_update=True, + ) # 不添加更新时间 + await self.player_info_service.add(player_info) logger.success("用户 %s[%s] 绑定UID账号成功", user.full_name, user.id) await message.reply_text("保存成功", reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END diff --git a/plugins/account/cookies.py b/plugins/account/cookies.py index 95b1600..7d5b2ee 100644 --- a/plugins/account/cookies.py +++ b/plugins/account/cookies.py @@ -129,6 +129,8 @@ class AccountCookiesPlugin(Plugin.Conversation): region = RegionEnum.HYPERION bbs_name = "米游社" elif message.text == "HoYoLab": + await message.reply_text("很抱歉,暂不支持HoYoLab服务器", reply_markup=ReplyKeyboardRemove()) + return ConversationHandler.END bbs_name = "HoYoLab" region = RegionEnum.HOYOLAB else: @@ -236,7 +238,8 @@ class AccountCookiesPlugin(Plugin.Conversation): logger.warning("用户 %s[%s] region[%s] 也许是不正确的", user.full_name, user.id, client.region.name) else: account_cookies_plugin_data.account_id = client.cookie_manager.user_id - genshin_accounts = await client.genshin_accounts() + accounts = await client.get_game_accounts() + starrail_accounts = [account for account in accounts if account.game == types.Game.STARRAIL] except DataNotPublic: logger.info("用户 %s[%s] 账号疑似被注销", user.full_name, user.id) await message.reply_text("账号疑似被注销,请检查账号状态", reply_markup=ReplyKeyboardRemove()) @@ -283,19 +286,19 @@ class AccountCookiesPlugin(Plugin.Conversation): if account_cookies_plugin_data.account_id is None: await message.reply_text("无法获取账号ID,请检查Cookie是否正确或请稍后重试") return ConversationHandler.END - genshin_account: Optional[GenshinAccount] = None + starrail_account: Optional[GenshinAccount] = None level: int = 0 # todo : 多账号绑定 - for temp in genshin_accounts: + for temp in starrail_accounts: if temp.level >= level: # 获取账号等级最高的 level = temp.level - genshin_account = temp - if genshin_account is None: - await message.reply_text("未找到原神账号,请确认账号信息无误。") + starrail_account = temp + if starrail_account is None: + await message.reply_text("未找到星穹铁道账号,请确认账号信息无误。") return ConversationHandler.END - account_cookies_plugin_data.genshin_account = genshin_account + account_cookies_plugin_data.genshin_account = starrail_account player_info = await self.players_service.get( - user.id, player_id=genshin_account.uid, region=account_cookies_plugin_data.region + user.id, player_id=starrail_account.uid, region=account_cookies_plugin_data.region ) account_cookies_plugin_data.player = player_info if player_info: @@ -308,14 +311,14 @@ class AccountCookiesPlugin(Plugin.Conversation): reply_keyboard = [["确认", "退出"]] await message.reply_text("获取角色基础信息成功,请检查是否正确!") logger.info( - "用户 %s[%s] 获取账号 %s[%s] 信息成功", user.full_name, user.id, genshin_account.nickname, genshin_account.uid + "用户 %s[%s] 获取账号 %s[%s] 信息成功", user.full_name, user.id, starrail_account.nickname, starrail_account.uid ) text = ( f"*角色信息*\n" - f"角色名称:{escape_markdown(genshin_account.nickname, version=2)}\n" - f"角色等级:{genshin_account.level}\n" - f"UID:`{genshin_account.uid}`\n" - f"服务器名称:`{genshin_account.server_name}`\n" + f"角色名称:{escape_markdown(starrail_account.nickname, version=2)}\n" + f"角色等级:{starrail_account.level}\n" + f"UID:`{starrail_account.uid}`\n" + f"服务器名称:`{starrail_account.server_name}`\n" ) await message.reply_markdown_v2(text, reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True)) account_cookies_plugin_data.cookies = cookies.to_dict() @@ -358,16 +361,14 @@ class AccountCookiesPlugin(Plugin.Conversation): region=account_cookies_plugin_data.region, is_chosen=True, # todo 多账号 ) - player_info = await self.player_info_service.get(player) - if player_info is None: - player_info = PlayerInfoSQLModel( - user_id=player.user_id, - player_id=player.player_id, - nickname=genshin_account.nickname, - create_time=datetime.now(), - is_update=True, - ) # 不添加更新时间 - await self.player_info_service.add(player_info) + player_info = PlayerInfoSQLModel( + user_id=player.user_id, + player_id=player.player_id, + nickname=genshin_account.nickname, + create_time=datetime.now(), + is_update=True, + ) # 不添加更新时间 + await self.player_info_service.add(player_info) await self.players_service.add(player) cookies = Cookies( user_id=user.id, diff --git a/plugins/admin/get_chat.py b/plugins/admin/get_chat.py index 6eb4dc5..39ca50e 100644 --- a/plugins/admin/get_chat.py +++ b/plugins/admin/get_chat.py @@ -59,7 +59,7 @@ class GetChat(Plugin): if player_info.region == RegionEnum.HYPERION: text += "米游社绑定:" else: - text += "原神绑定:" + text += "星穹铁道绑定:" cookies_info = await self.cookies_service.get(chat.id, player_info.account_id, player_info.region) if cookies_info is None: temp = "UID 绑定" diff --git a/plugins/admin/post.py b/plugins/admin/post.py index f0aa4f1..14949fd 100644 --- a/plugins/admin/post.py +++ b/plugins/admin/post.py @@ -52,8 +52,8 @@ class Post(Plugin.Conversation): MENU_KEYBOARD = ReplyKeyboardMarkup([["推送频道", "添加TAG"], ["编辑文字", "删除图片"], ["退出"]], True, True) def __init__(self): - self.gids = 2 - self.short_name = "ys" + self.gids = 6 + self.short_name = "sr" self.bbs = Hyperion( timeout=Timeout( connect=config.connect_timeout, @@ -300,10 +300,12 @@ class Post(Plugin.Conversation): post_subject = post_data["subject"] post_soup = BeautifulSoup(post_data["content"], features="html.parser") post_text = self.parse_post_text(post_soup, post_subject) - post_text += f"[source](https://www.miyoushe.com/{self.short_name}/article/{post_id})" + post_text += f"\n[source](https://www.miyoushe.com/{self.short_name}/article/{post_id})" if len(post_text) >= MessageLimit.CAPTION_LENGTH: post_text = post_text[: MessageLimit.CAPTION_LENGTH] await message.reply_text(f"警告!图片字符描述已经超过 {MessageLimit.CAPTION_LENGTH} 个字,已经切割") + if post_info.video_urls: + await message.reply_text("检测到视频,需要单独下载,视频链接:" + "\n".join(post_info.video_urls)) try: if len(post_images) > 1: media = [self.input_media(img_info) for img_info in post_images if not img_info.is_error] diff --git a/plugins/admin/quiz.py b/plugins/admin/quiz.py deleted file mode 100644 index e816fa7..0000000 --- a/plugins/admin/quiz.py +++ /dev/null @@ -1,222 +0,0 @@ -import re -from typing import List - -from redis import DataError, ResponseError -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, Update -from telegram.ext import CallbackContext, ConversationHandler, filters -from telegram.helpers import escape_markdown - -from core.plugin import Plugin, conversation, handler -from core.services.quiz.models import Answer, Question -from core.services.quiz.services import QuizService -from utils.log import logger - -( - CHECK_COMMAND, - VIEW_COMMAND, - CHECK_QUESTION, - GET_NEW_QUESTION, - GET_NEW_CORRECT_ANSWER, - GET_NEW_WRONG_ANSWER, - QUESTION_EDIT, - SAVE_QUESTION, -) = range(10300, 10308) - - -class QuizCommandData: - question_id: int = -1 - new_question: str = "" - new_correct_answer: str = "" - new_wrong_answer: List[str] = [] - status: int = 0 - - -class SetQuizPlugin(Plugin.Conversation): - """派蒙的十万个为什么问题修改/添加/删除""" - - def __init__(self, quiz_service: QuizService = None): - self.quiz_service = quiz_service - self.time_out = 120 - - @conversation.entry_point - @handler.command(command="set_quiz", filters=filters.ChatType.PRIVATE, block=False, admin=True) - async def command_start(self, update: Update, context: CallbackContext) -> int: - user = update.effective_user - message = update.effective_message - logger.info("用户 %s[%s] set_quiz命令请求", user.full_name, user.id) - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - if quiz_command_data is None: - quiz_command_data = QuizCommandData() - context.chat_data["quiz_command_data"] = quiz_command_data - text = f'你好 {user.mention_markdown_v2()} {escape_markdown("!请选择你的操作!")}' - reply_keyboard = [["查看问题", "添加问题"], ["重载问题"], ["退出"]] - await message.reply_markdown_v2(text, reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True)) - return CHECK_COMMAND - - async def view_command(self, update: Update, _: CallbackContext) -> int: - _ = self - keyboard = [[InlineKeyboardButton(text="选择问题", switch_inline_query_current_chat="查看问题 ")]] - await update.message.reply_text("请回复你要查看的问题", reply_markup=InlineKeyboardMarkup(keyboard)) - return CHECK_COMMAND - - @conversation.state(state=CHECK_QUESTION) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def check_question(self, update: Update, _: CallbackContext) -> int: - reply_keyboard = [["删除问题"], ["退出"]] - await update.message.reply_text("请选择你的操作", reply_markup=ReplyKeyboardMarkup(reply_keyboard)) - return CHECK_COMMAND - - @conversation.state(state=CHECK_COMMAND) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def check_command(self, update: Update, context: CallbackContext) -> int: - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - if update.message.text == "退出": - await update.message.reply_text("退出任务", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - if update.message.text == "查看问题": - return await self.view_command(update, context) - if update.message.text == "添加问题": - return await self.add_question(update, context) - if update.message.text == "删除问题": - return await self.delete_question(update, context) - # elif update.message.text == "修改问题": - # return await self.edit_question(update, context) - if update.message.text == "重载问题": - return await self.refresh_question(update, context) - result = re.findall(r"问题ID (\d+)", update.message.text) - if len(result) == 1: - try: - question_id = int(result[0]) - except ValueError: - await update.message.reply_text("获取问题ID失败") - return ConversationHandler.END - quiz_command_data.question_id = question_id - await update.message.reply_text("获取问题ID成功") - return await self.check_question(update, context) - await update.message.reply_text("命令错误", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - - async def refresh_question(self, update: Update, _: CallbackContext) -> int: - try: - await self.quiz_service.refresh_quiz() - except DataError: - await update.message.reply_text("Redis数据错误,重载失败", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - except ResponseError as exc: - logger.error("重载问题失败", exc_info=exc) - await update.message.reply_text("重载问题失败,异常抛出Redis请求错误异常,详情错误请看日记", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - await update.message.reply_text("重载成功", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - - async def add_question(self, update: Update, context: CallbackContext) -> int: - _ = self - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - quiz_command_data.new_wrong_answer = [] - quiz_command_data.new_question = "" - quiz_command_data.new_correct_answer = "" - quiz_command_data.status = 1 - await update.message.reply_text("请回复你要添加的问题,或发送 /cancel 取消操作", reply_markup=ReplyKeyboardRemove()) - return GET_NEW_QUESTION - - @conversation.state(state=GET_NEW_QUESTION) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def get_new_question(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - reply_text = f"问题:`{escape_markdown(update.message.text, version=2)}`\n" f"请填写正确答案:" - quiz_command_data.new_question = message.text - await update.message.reply_markdown_v2(reply_text) - return GET_NEW_CORRECT_ANSWER - - @conversation.state(state=GET_NEW_CORRECT_ANSWER) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def get_new_correct_answer(self, update: Update, context: CallbackContext) -> int: - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - reply_text = f"正确答案:`{escape_markdown(update.message.text, version=2)}`\n" f"请填写错误答案:" - await update.message.reply_markdown_v2(reply_text) - quiz_command_data.new_correct_answer = update.message.text - return GET_NEW_WRONG_ANSWER - - @conversation.state(state=GET_NEW_WRONG_ANSWER) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - @handler.command(command="finish_edit", block=False) - async def get_new_wrong_answer(self, update: Update, context: CallbackContext) -> int: - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - reply_text = ( - f"错误答案:`{escape_markdown(update.message.text, version=2)}`\n" - f"可继续填写,并使用 {escape_markdown('/finish', version=2)} 结束。" - ) - await update.message.reply_markdown_v2(reply_text) - quiz_command_data.new_wrong_answer.append(update.message.text) - return GET_NEW_WRONG_ANSWER - - async def finish_edit(self, update: Update, context: CallbackContext): - _ = self - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - reply_text = ( - f"问题:`{escape_markdown(quiz_command_data.new_question, version=2)}`\n" - f"正确答案:`{escape_markdown(quiz_command_data.new_correct_answer, version=2)}`\n" - f"错误答案:`{escape_markdown(' '.join(quiz_command_data.new_wrong_answer), version=2)}`" - ) - await update.message.reply_markdown_v2(reply_text) - reply_keyboard = [["保存并重载配置", "抛弃修改并退出"]] - await update.message.reply_text("请核对问题,并选择下一步操作。", reply_markup=ReplyKeyboardMarkup(reply_keyboard)) - return SAVE_QUESTION - - @conversation.state(state=SAVE_QUESTION) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def save_question(self, update: Update, context: CallbackContext): - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - if update.message.text == "抛弃修改并退出": - await update.message.reply_text("退出任务", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - if update.message.text == "保存并重载配置": - if quiz_command_data.status == 1: - answer = [ - Answer(text=wrong_answer, is_correct=False) for wrong_answer in quiz_command_data.new_wrong_answer - ] - answer.append(Answer(text=quiz_command_data.new_correct_answer, is_correct=True)) - await self.quiz_service.save_quiz(Question(text=quiz_command_data.new_question)) - await update.message.reply_text("保存成功", reply_markup=ReplyKeyboardRemove()) - try: - await self.quiz_service.refresh_quiz() - except ResponseError as exc: - logger.error("重载问题失败", exc_info=exc) - await update.message.reply_text( - "重载问题失败,异常抛出Redis请求错误异常,详情错误请看日记", reply_markup=ReplyKeyboardRemove() - ) - return ConversationHandler.END - await update.message.reply_text("重载配置成功", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - await update.message.reply_text("回复错误,请重新选择") - return SAVE_QUESTION - - async def edit_question(self, update: Update, context: CallbackContext) -> int: - _ = self - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - quiz_command_data.new_wrong_answer = [] - quiz_command_data.new_question = "" - quiz_command_data.new_correct_answer = "" - quiz_command_data.status = 2 - await update.message.reply_text("请回复你要修改的问题", reply_markup=ReplyKeyboardRemove()) - return GET_NEW_QUESTION - - async def delete_question(self, update: Update, context: CallbackContext) -> int: - quiz_command_data: QuizCommandData = context.chat_data.get("quiz_command_data") - # 再问题重载Redis 以免redis数据为空时出现奔溃 - try: - await self.quiz_service.refresh_quiz() - question = await self.quiz_service.get_question(quiz_command_data.question_id) - # 因为外键的存在,先删除答案 - for answer in question.answers: - await self.quiz_service.delete_question_by_id(answer.answer_id) - await self.quiz_service.delete_question_by_id(question.question_id) - await update.message.reply_text("删除问题成功", reply_markup=ReplyKeyboardRemove()) - await self.quiz_service.refresh_quiz() - except ResponseError as exc: - logger.error("重载问题失败", exc_info=exc) - await update.message.reply_text("重载问题失败,异常抛出Redis请求错误异常,详情错误请看日记", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END - await update.message.reply_text("重载配置成功", reply_markup=ReplyKeyboardRemove()) - return ConversationHandler.END diff --git a/plugins/admin/refresh_metadata.py b/plugins/admin/refresh_metadata.py deleted file mode 100644 index a1194a4..0000000 --- a/plugins/admin/refresh_metadata.py +++ /dev/null @@ -1,28 +0,0 @@ -from telegram import Update -from telegram.ext import CallbackContext - -from core.plugin import Plugin, handler -from metadata.scripts.honey import update_honey_metadata -from metadata.scripts.metadatas import update_metadata_from_ambr, update_metadata_from_github -from metadata.scripts.paimon_moe import update_paimon_moe_zh -from utils.log import logger - -__all__ = ("MetadataPlugin",) - - -class MetadataPlugin(Plugin): - @handler.command("refresh_metadata", admin=True) - async def refresh(self, update: Update, _: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 刷新[bold]metadata[/]缓存命令", user.full_name, user.id, extra={"markup": True}) - - msg = await message.reply_text("正在刷新元数据,请耐心等待...") - logger.info("正在从 github 上获取元数据") - await update_metadata_from_github() - await update_paimon_moe_zh() - logger.info("正在从 ambr 上获取元数据") - await update_metadata_from_ambr() - logger.info("正在从 honey 上获取元数据") - await update_honey_metadata() - await msg.edit_text("正在刷新元数据,请耐心等待...\n完成!") diff --git a/plugins/app/inline.py b/plugins/app/inline.py index a1449e3..6512f5e 100644 --- a/plugins/app/inline.py +++ b/plugins/app/inline.py @@ -6,6 +6,7 @@ from telegram import ( InlineQuery, InlineQueryResultArticle, InlineQueryResultCachedPhoto, + InlineQueryResultCachedDocument, InputTextMessageContent, Update, ) @@ -13,7 +14,6 @@ from telegram.constants import ParseMode from telegram.error import BadRequest from telegram.ext import CallbackContext, InlineQueryHandler -from core.dependence.assets import AssetsCouldNotFound, AssetsService from core.plugin import Plugin, handler from core.services.search.services import SearchServices from core.services.wiki.services import WikiService @@ -26,10 +26,8 @@ class Inline(Plugin): def __init__( self, wiki_service: WikiService, - assets_service: AssetsService, search_service: SearchServices, ): - self.assets_service = assets_service self.wiki_service = wiki_service self.weapons_list: List[Dict[str, str]] = [] self.characters_list: List[Dict[str, str]] = [] @@ -37,38 +35,24 @@ class Inline(Plugin): self.search_service = search_service async def initialize(self): - # todo: 整合进 wiki 或者单独模块 从Redis中读取 - async def task_weapons(): - logger.info("Inline 模块正在获取武器列表") - weapons_list = await self.wiki_service.get_weapons_name_list() - for weapons_name in weapons_list: - try: - icon = await self.assets_service.weapon(weapons_name).get_link("icon") - except AssetsCouldNotFound: - continue - except Exception as exc: - logger.error("获取武器信息失败 %s", str(exc)) - continue - data = {"name": weapons_name, "icon": icon} - self.weapons_list.append(data) - logger.success("Inline 模块获取武器列表成功") - async def task_characters(): logger.info("Inline 模块正在获取角色列表") - characters_list = await self.wiki_service.get_characters_name_list() - for character_name in characters_list: - try: - icon = await self.assets_service.avatar(character_name).get_link("icon") - except AssetsCouldNotFound: + datas: Dict[str, str] = {} + for character in self.wiki_service.character.all_avatars: + if not character.icon: + logger.warning(f"角色 {character.name} 无图标") continue - except Exception as exc: - logger.error("获取角色信息失败 %s", str(exc)) - continue - data = {"name": character_name, "icon": icon} - self.characters_list.append(data) + datas[character.name] = character.icon + for character in self.wiki_service.raider.get_name_list(): + if character in datas: + self.characters_list.append({"name": character, "icon": datas[character]}) + else: + for key, value in datas.items(): + if character.startswith(key): + self.characters_list.append({"name": character, "icon": value}) + break logger.success("Inline 模块获取角色列表成功") - self.refresh_task.append(asyncio.create_task(task_weapons())) self.refresh_task.append(asyncio.create_task(task_characters())) @handler(InlineQueryHandler, block=False) @@ -81,14 +65,6 @@ class Inline(Plugin): results_list = [] args = query.split(" ") if args[0] == "": - results_list.append( - InlineQueryResultArticle( - id=str(uuid4()), - title="武器图鉴查询", - description="输入武器名称即可查询武器图鉴", - input_message_content=InputTextMessageContent("武器图鉴查询"), - ) - ) results_list.append( InlineQueryResultArticle( id=str(uuid4()), @@ -98,22 +74,7 @@ class Inline(Plugin): ) ) else: - if args[0] == "查看武器列表并查询": - for weapon in self.weapons_list: - name = weapon["name"] - icon = weapon["icon"] - results_list.append( - InlineQueryResultArticle( - id=str(uuid4()), - title=name, - description=f"查看武器列表并查询 {name}", - thumb_url=icon, - input_message_content=InputTextMessageContent( - f"武器查询{name}", parse_mode=ParseMode.MARKDOWN_V2 - ), - ) - ) - elif args[0] == "查看角色攻略列表并查询": + if args[0] == "查看角色攻略列表并查询": for character in self.characters_list: name = character["name"] icon = character["icon"] @@ -128,19 +89,6 @@ class Inline(Plugin): ), ) ) - elif args[0] == "查看角色培养素材列表并查询": - characters_list = await self.wiki_service.get_characters_name_list() - for role_name in characters_list: - results_list.append( - InlineQueryResultArticle( - id=str(uuid4()), - title=role_name, - description=f"查看角色培养素材列表并查询 {role_name}", - input_message_content=InputTextMessageContent( - f"角色培养素材查询{role_name}", parse_mode=ParseMode.MARKDOWN_V2 - ), - ) - ) else: simple_search_results = await self.search_service.search(args[0]) if simple_search_results: @@ -149,33 +97,42 @@ class Inline(Plugin): id=str(uuid4()), title=f"当前查询内容为 {args[0]}", description="如果无查看图片描述 这是正常的 客户端问题", - thumb_url="https://www.miyoushe.com/_nuxt/img/game-ys.dfc535b.jpg", + thumb_url="https://www.miyoushe.com/_nuxt/img/game-sr.4f80911.jpg", input_message_content=InputTextMessageContent(f"当前查询内容为 {args[0]}\n如果无查看图片描述 这是正常的 客户端问题"), ) ) for simple_search_result in simple_search_results: + description = simple_search_result.description + if len(description) >= 10: + description = description[:10] + item = None if simple_search_result.photo_file_id: - description = simple_search_result.description - if len(description) >= 10: - description = description[:10] - results_list.append( - InlineQueryResultCachedPhoto( - id=str(uuid4()), - title=simple_search_result.title, - photo_file_id=simple_search_result.photo_file_id, - description=description, - caption=simple_search_result.caption, - parse_mode=simple_search_result.parse_mode, - ) + item = InlineQueryResultCachedPhoto( + id=str(uuid4()), + title=simple_search_result.title, + photo_file_id=simple_search_result.photo_file_id, + description=description, + caption=simple_search_result.caption, + parse_mode=simple_search_result.parse_mode, ) - + elif simple_search_result.document_file_id: + item = InlineQueryResultCachedDocument( + id=str(uuid4()), + title=simple_search_result.title, + document_file_id=simple_search_result.document_file_id, + description=description, + caption=simple_search_result.caption, + parse_mode=simple_search_result.parse_mode, + ) + if item: + results_list.append(item) if not results_list: results_list.append( InlineQueryResultArticle( id=str(uuid4()), title="好像找不到问题呢", - description="这个问题我也不知道,因为我就是个应急食品。", - input_message_content=InputTextMessageContent("这个问题我也不知道,因为我就是个应急食品。"), + description="这个问题我也不知道。", + input_message_content=InputTextMessageContent("这个问题我也不知道。"), ) ) try: diff --git a/plugins/app/start.py b/plugins/app/start.py index 351b80a..7e3d7e0 100644 --- a/plugins/app/start.py +++ b/plugins/app/start.py @@ -27,17 +27,17 @@ class StartPlugin(Plugin): if args is not None and len(args) >= 1: if args[0] == "inline_message": await message.reply_markdown_v2( - f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是派蒙 !')}\n" + f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是彦卿 !')}\n" f"{escape_markdown('发送 /help 命令即可查看命令帮助')}" ) elif args[0] == "set_cookie": await message.reply_markdown_v2( - f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是派蒙 !')}\n" + f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是彦卿 !')}\n" f"{escape_markdown('发送 /setcookie 命令进入绑定账号流程')}" ) elif args[0] == "set_uid": await message.reply_markdown_v2( - f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是派蒙 !')}\n" + f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是彦卿 !')}\n" f"{escape_markdown('发送 /setuid 或 /setcookie 命令进入绑定账号流程')}" ) elif args[0] == "verify_verification": @@ -54,19 +54,15 @@ class StartPlugin(Plugin): logger.info("用户 %s[%s] 通过start命令 进入签到流程", user.full_name, user.id) await self.process_sign_validate(message, user, _challenge) else: - await message.reply_html(f"你好 {user.mention_html()} !我是派蒙 !\n请点击 /{args[0]} 命令进入对应流程") + await message.reply_html(f"你好 {user.mention_html()} !我是彦卿 !\n请点击 /{args[0]} 命令进入对应流程") return logger.info("用户 %s[%s] 发出start命令", user.full_name, user.id) - await message.reply_markdown_v2(f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是派蒙 !')}") + await message.reply_markdown_v2(f"你好 {user.mention_markdown_v2()} {escape_markdown('!我是彦卿 !')}") @staticmethod async def unknown_command(update: Update, _: CallbackContext) -> None: await update.effective_message.reply_text("前面的区域,以后再来探索吧!") - @staticmethod - async def emergency_food(update: Update, _: CallbackContext) -> None: - await update.effective_message.reply_text("派蒙才不是应急食品!") - @handler(CommandHandler, command="ping", block=False) async def ping(self, update: Update, _: CallbackContext) -> None: await update.effective_message.reply_text("online! ヾ(✿゚▽゚)ノ") diff --git a/plugins/app/title.py b/plugins/app/title.py new file mode 100644 index 0000000..363c0dd --- /dev/null +++ b/plugins/app/title.py @@ -0,0 +1,42 @@ +import contextlib + +from telegram import Update, ChatMemberAdministrator +from telegram.ext import CallbackContext, filters + +from core.plugin import Plugin, handler +from utils.log import logger + + +class TitlePlugin(Plugin): + @handler.command("title", filters=filters.ChatType.SUPERGROUP, block=False) + async def start(self, update: Update, context: CallbackContext) -> None: + user = update.effective_user + message = update.effective_message + args = self.get_args(context) + title = args[0].strip() if args else "" + logger.info("用户 %s[%s] 发出 title 命令", user.full_name, user.id) + is_admin, can_edit = False, False + with contextlib.suppress(Exception): + member = await context.bot.get_chat_member(message.chat.id, user.id) + if isinstance(member, ChatMemberAdministrator): + can_edit = member.can_be_edited + if not can_edit: + reply = await message.reply_text("你没有权限使用此命令。") + self.add_delete_message_job(message) + self.add_delete_message_job(reply) + return + if not title: + reply = await message.reply_text("参数不能为空。") + self.add_delete_message_job(message) + self.add_delete_message_job(reply) + return + try: + await context.bot.set_chat_administrator_custom_title(message.chat.id, user.id, title) + except Exception: + reply = await message.reply_text("设置失败,可能是参数不合法。") + self.add_delete_message_job(message) + self.add_delete_message_job(reply) + return + reply = await message.reply_text("设置成功。") + self.add_delete_message_job(message) + self.add_delete_message_job(reply) diff --git a/plugins/genshin/__init__.py b/plugins/genshin/README.md similarity index 100% rename from plugins/genshin/__init__.py rename to plugins/genshin/README.md diff --git a/plugins/genshin/abyss.py b/plugins/genshin/abyss.py deleted file mode 100644 index cc79307..0000000 --- a/plugins/genshin/abyss.py +++ /dev/null @@ -1,347 +0,0 @@ -"""深渊数据查询""" -import asyncio -import re -from datetime import datetime -from functools import lru_cache, partial -from typing import Any, Coroutine, List, Match, Optional, Tuple, Union - -from arkowrapper import ArkoWrapper -from genshin import Client, GenshinException -from pytz import timezone -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Message, Update -from telegram.constants import ChatAction, ParseMode -from telegram.ext import CallbackContext, filters -from telegram.helpers import create_deep_linked_url - -from core.dependence.assets import AssetsService -from core.plugin import Plugin, handler -from core.services.cookies.error import TooManyRequestPublicCookies -from core.services.template.models import RenderGroupResult, RenderResult -from core.services.template.services import TemplateService -from metadata.genshin import game_id_to_role_id -from plugins.tools.genshin import GenshinHelper, CookiesNotFoundError, PlayerNotFoundError -from utils.helpers import async_re_sub -from utils.log import logger - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - - -TZ = timezone("Asia/Shanghai") -cmd_pattern = r"(?i)^/abyss\s*((?:\d+)|(?:all))?\s*(pre)?" -msg_pattern = r"^深渊数据((?:查询)|(?:总览))(上期)?\D?(\d*)?.*?$" - -regex_01 = r"['\"]icon['\"]:\s*['\"](.*?)['\"]" -regex_02 = r"['\"]side_icon['\"]:\s*['\"](.*?)['\"]" - - -async def replace_01(match: Match, assets_service: AssetsService) -> str: - aid = game_id_to_role_id(re.findall(r"UI_AvatarIcon_(.*?).png", match.group(1))[0]) - return (await assets_service.avatar(aid).icon()).as_uri() - - -async def replace_02(match: Match, assets_service: AssetsService) -> str: - aid = game_id_to_role_id(re.findall(r"UI_AvatarIcon_Side_(.*?).png", match.group(1))[0]) - return (await assets_service.avatar(aid).side()).as_uri() - - -@lru_cache -def get_args(text: str) -> Tuple[int, bool, bool]: - if text.startswith("/"): - result = re.match(cmd_pattern, text).groups() - try: - floor = int(result[0] or 0) - except ValueError: - floor = 0 - return floor, result[0] == "all", bool(result[1]) - result = re.match(msg_pattern, text).groups() - return int(result[2] or 0), result[0] == "总览", result[1] == "上期" - - -class AbyssUnlocked(Exception): - """根本没动""" - - -class NoMostKills(Exception): - """挑战了但是数据没刷新""" - - -class AbyssNotFoundError(Exception): - """如果查询别人,是无法找到队伍详细,只有数据统计""" - - -class AbyssPlugin(Plugin): - """深渊数据查询""" - - def __init__( - self, - template: TemplateService, - helper: GenshinHelper, - assets_service: AssetsService, - ): - self.template_service = template - self.helper = helper - self.assets_service = assets_service - - @handler.command("abyss", block=False) - @handler.message(filters.Regex(msg_pattern), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - user = update.effective_user - message = update.effective_message - uid: Optional[int] = None - - # 若查询帮助 - if (message.text.startswith("/") and "help" in message.text) or "帮助" in message.text: - await message.reply_text( - "深渊挑战数据功能使用帮助(中括号表示可选参数)\n\n" - "指令格式:\n/abyss + [层数/all] + [pre]\n(pre表示上期)\n\n" - "文本格式:\n深渊数据 + 查询/总览 + [上期] + [层数] \n\n" - "例如以下指令都正确:\n" - "/abyss\n/abyss 12 pre\n/abyss all pre\n" - "深渊数据查询\n深渊数据查询上期第12层\n深渊数据总览上期", - parse_mode=ParseMode.HTML, - ) - logger.info("用户 %s[%s] 查询[bold]深渊挑战数据[/bold]帮助", user.full_name, user.id, extra={"markup": True}) - return - - # 解析参数 - floor, total, previous = get_args(message.text) - - if floor > 12 or floor < 0: - reply_msg = await message.reply_text("深渊层数输入错误,请重新输入。支持的参数为: 1-12 或 all") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_msg) - self.add_delete_message_job(message) - return - if 0 < floor < 9: - previous = False - - logger.info( - "用户 %s[%s] [bold]深渊挑战数据[/bold]请求: floor=%s total=%s previous=%s", - user.full_name, - user.id, - floor, - total, - previous, - extra={"markup": True}, - ) - - try: - try: - client = await self.helper.get_genshin_client(user.id) - uid = client.uid - except CookiesNotFoundError: - client, uid = await self.helper.get_public_genshin_client(user.id) - except PlayerNotFoundError: # 若未找到账号 - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_uid"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message) - self.add_delete_message_job(message) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - except TooManyRequestPublicCookies: - reply_message = await message.reply_text("查询次数太多,请您稍后重试") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message) - self.add_delete_message_job(message) - return - - async def reply_message_func(content: str) -> None: - _user = await client.get_genshin_user(uid) - _reply_msg = await message.reply_text( - f"旅行者 {_user.info.nickname}({uid}) {content}", parse_mode=ParseMode.HTML - ) - - reply_text: Optional[Message] = None - - if total: - reply_text = await message.reply_text("派蒙需要时间整理深渊数据,还请耐心等待哦~") - - await message.reply_chat_action(ChatAction.TYPING) - - try: - images = await self.get_rendered_pic(client, uid, floor, total, previous) - except GenshinException as exc: - if exc.retcode == 1034 and client.uid != uid: - await message.reply_text("出错了呜呜呜 ~ 请稍后重试") - return - raise exc - except AbyssUnlocked: # 若深渊未解锁 - await reply_message_func("还未解锁深渊哦~") - return - except NoMostKills: # 若深渊还未挑战 - await reply_message_func("还没有挑战本次深渊呢,咕咕咕~") - return - except AbyssNotFoundError: - await reply_message_func("无法查询玩家挑战队伍详情,只能查询统计详情哦~") - return - except IndexError: # 若深渊为挑战此层 - await reply_message_func("还没有挑战本层呢,咕咕咕~") - return - if images is None: - await reply_message_func(f"还没有第 {floor} 层的挑战数据") - return - - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - - for group in ArkoWrapper(images).group(10): # 每 10 张图片分一个组 - await RenderGroupResult(results=group).reply_media_group( - message, allow_sending_without_reply=True, write_timeout=60 - ) - - if reply_text is not None: - await reply_text.delete() - - logger.info("用户 %s[%s] [bold]深渊挑战数据[/bold]: 成功发送图片", user.full_name, user.id, extra={"markup": True}) - - async def get_rendered_pic( - self, client: Client, uid: int, floor: int, total: bool, previous: bool - ) -> Union[ - Tuple[ - Union[BaseException, Any], - Union[BaseException, Any], - Union[BaseException, Any], - Union[BaseException, Any], - Union[BaseException, Any], - ], - List[RenderResult], - None, - ]: - """ - 获取渲染后的图片 - - Args: - client (Client): 获取 genshin 数据的 client - uid (int): 需要查询的 uid - floor (int): 层数 - total (bool): 是否为总览 - previous (bool): 是否为上期 - - Returns: - bytes格式的图片 - """ - - def json_encoder(value): - if isinstance(value, datetime): - return value.astimezone(TZ).strftime("%Y-%m-%d %H:%M:%S") - return value - - abyss_data = await client.get_spiral_abyss(uid, previous=previous, lang="zh-cn") - - if not abyss_data.unlocked: - raise AbyssUnlocked() - if not abyss_data.ranks.most_kills: - raise NoMostKills() - if (total or (floor > 0)) and not abyss_data.floors[0].chambers[0].battles: - raise AbyssNotFoundError - - start_time = abyss_data.start_time.astimezone(TZ) - time = start_time.strftime("%Y年%m月") + ("上" if start_time.day <= 15 else "下") - stars = [i.stars for i in filter(lambda x: x.floor > 8, abyss_data.floors)] - total_stars = f"{sum(stars)} ({'-'.join(map(str, stars))})" - - render_data = {} - result = await async_re_sub( - regex_01, partial(replace_01, assets_service=self.assets_service), abyss_data.json(encoder=json_encoder) - ) - result = await async_re_sub(regex_02, partial(replace_02, assets_service=self.assets_service), result) - - render_data["time"] = time - render_data["stars"] = total_stars - render_data["uid"] = uid - render_data["floor_colors"] = { - 1: "#374952", - 2: "#374952", - 3: "#55464B", - 4: "#55464B", - 5: "#55464B", - 6: "#1D2A5D", - 7: "#1D2A5D", - 8: "#1D2A5D", - 9: "#292B58", - 10: "#382024", - 11: "#252550", - 12: "#1D2A4A", - } - if total: - avatars = await client.get_genshin_characters(uid, lang="zh-cn") - render_data["avatar_data"] = {i.id: i.constellation for i in avatars} - data = jsonlib.loads(result) - render_data["data"] = data - - render_inputs: List[Tuple[int, Coroutine[Any, Any, RenderResult]]] = [] - - def overview_task(): - return -1, self.template_service.render( - "genshin/abyss/overview.html", render_data, viewport={"width": 750, "height": 580} - ) - - def floor_task(floor_index: int): - floor_d = data["floors"][floor_index] - return ( - floor_d["floor"], - self.template_service.render( - "genshin/abyss/floor.html", - { - **render_data, - "floor": floor_d, - "total_stars": f"{floor_d['stars']}/{floor_d['max_stars']}", - }, - viewport={"width": 690, "height": 500}, - full_page=True, - ttl=15 * 24 * 60 * 60, - ), - ) - - render_inputs.append(overview_task()) - - for i, f in enumerate(data["floors"]): - if f["floor"] >= 9: - render_inputs.append(floor_task(i)) - - render_group_inputs = list(map(lambda x: x[1], sorted(render_inputs, key=lambda x: x[0]))) - - return await asyncio.gather(*render_group_inputs) - - if floor < 1: - render_data["data"] = jsonlib.loads(result) - return [ - await self.template_service.render( - "genshin/abyss/overview.html", render_data, viewport={"width": 750, "height": 580} - ) - ] - num_dic = { - "0": "", - "1": "一", - "2": "二", - "3": "三", - "4": "四", - "5": "五", - "6": "六", - "7": "七", - "8": "八", - "9": "九", - } - if num := num_dic.get(str(floor)): - render_data["floor-num"] = num - else: - render_data["floor-num"] = f"十{num_dic.get(str(floor % 10))}" - floors = jsonlib.loads(result)["floors"] - if (floor_data := list(filter(lambda x: x["floor"] == floor, floors))) is None: - return None - avatars = await client.get_genshin_characters(uid, lang="zh-cn") - render_data["avatar_data"] = {i.id: i.constellation for i in avatars} - render_data["floor"] = floor_data[0] - render_data["total_stars"] = f"{floor_data[0]['stars']}/{floor_data[0]['max_stars']}" - return [ - await self.template_service.render( - "genshin/abyss/floor.html", render_data, viewport={"width": 690, "height": 500} - ) - ] diff --git a/plugins/genshin/abyss_team.py b/plugins/genshin/abyss_team.py deleted file mode 100644 index bc05e43..0000000 --- a/plugins/genshin/abyss_team.py +++ /dev/null @@ -1,89 +0,0 @@ -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, filters -from telegram.helpers import create_deep_linked_url - -from core.dependence.assets import AssetsService -from core.plugin import Plugin, handler -from core.services.template.services import TemplateService -from metadata.shortname import roleToId -from modules.apihelper.client.components.abyss import AbyssTeam as AbyssTeamClient -from plugins.tools.genshin import GenshinHelper, CookiesNotFoundError, PlayerNotFoundError -from utils.log import logger - -__all__ = ("AbyssTeamPlugin",) - - -class AbyssTeamPlugin(Plugin): - """深境螺旋推荐配队查询""" - - def __init__( - self, - template: TemplateService, - helper: GenshinHelper, - assets_service: AssetsService, - ): - self.template_service = template - self.helper = helper - self.team_data = AbyssTeamClient() - self.assets_service = assets_service - - @handler.command("abyss_team", block=False) - @handler.message(filters.Regex("^深渊推荐配队(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - user = update.effective_user - message = update.effective_message - logger.info("用户 %s[%s] 查深渊推荐配队命令请求", user.full_name, user.id) - - try: - client = await self.helper.get_genshin_client(user.id) - except (CookiesNotFoundError, PlayerNotFoundError): - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - - await message.reply_chat_action(ChatAction.TYPING) - team_data = await self.team_data.get_data() - # 尝试获取用户已绑定的原神账号信息 - characters = await client.get_genshin_characters(client.uid) - user_data = [character.name for character in characters] - team_data.sort(user_data) - random_team = team_data.random_team() - abyss_teams_data = {"uid": client.uid, "version": team_data.version, "teams": []} - for i in random_team: - team = { - "up": [], - "up_rate": f"{i.up.rate * 100: .2f}%", - "down": [], - "down_rate": f"{i.down.rate * 100: .2f}%", - } - - for lane in ["up", "down"]: - for member in getattr(i, lane).formation: - name = member.name - temp = { - "icon": (await self.assets_service.avatar(roleToId(name.replace("旅行者", "空"))).icon()).as_uri(), - "name": name, - "star": member.star, - "hava": (name in user_data) if user_data else True, - } - team[lane].append(temp) - - abyss_teams_data["teams"].append(team) - - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - render_result = await self.template_service.render( - "genshin/abyss_team/abyss_team.html", - abyss_teams_data, - {"width": 785, "height": 800}, - full_page=True, - query_selector=".bg-contain", - ) - await render_result.reply_photo(message, filename=f"abyss_team_{user.id}.png", allow_sending_without_reply=True) diff --git a/plugins/genshin/avatar_list.py b/plugins/genshin/avatar_list.py deleted file mode 100644 index 12a6f16..0000000 --- a/plugins/genshin/avatar_list.py +++ /dev/null @@ -1,311 +0,0 @@ -"""练度统计""" -import asyncio -from typing import List, Optional, Sequence - -from aiohttp import ClientConnectorError -from arkowrapper import ArkoWrapper -from enkanetwork import Assets as EnkaAssets, EnkaNetworkAPI, VaildateUIDError, HTTPException, EnkaPlayerNotFound -from genshin import Client, GenshinException, InvalidCookies -from genshin.models import CalculatorCharacterDetails, CalculatorTalent, Character -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, User -from telegram.constants import ChatAction, ParseMode -from telegram.ext import CallbackContext, filters -from telegram.helpers import create_deep_linked_url - -from core.config import config -from core.dependence.assets import AssetsService -from core.dependence.redisdb import RedisDB -from core.plugin import Plugin, handler -from core.services.cookies import CookiesService -from core.services.players import PlayersService -from core.services.players.services import PlayerInfoService -from core.services.template.models import FileType -from core.services.template.services import TemplateService -from metadata.genshin import AVATAR_DATA, NAMECARD_DATA -from modules.wiki.base import Model -from plugins.tools.genshin import CookiesNotFoundError, GenshinHelper, PlayerNotFoundError, CharacterDetails -from utils.enkanetwork import RedisCache -from utils.log import logger -from utils.patch.aiohttp import AioHttpTimeoutException - - -class SkillData(Model): - """天赋数据""" - - skill: CalculatorTalent - buffed: bool = False - """是否得到了命座加成""" - - -class AvatarData(Model): - avatar: Character - detail: CalculatorCharacterDetails - icon: str - weapon: Optional[str] - skills: List[SkillData] - - def sum_of_skills(self) -> int: - total_level = 0 - for skill_data in self.skills: - total_level += skill_data.skill.level - return total_level - - -class AvatarListPlugin(Plugin): - def __init__( - self, - player_service: PlayersService = None, - cookies_service: CookiesService = None, - assets_service: AssetsService = None, - template_service: TemplateService = None, - redis: RedisDB = None, - helper: GenshinHelper = None, - character_details: CharacterDetails = None, - player_info_service: PlayerInfoService = None, - ) -> None: - self.cookies_service = cookies_service - self.assets_service = assets_service - self.template_service = template_service - self.enka_client = EnkaNetworkAPI(lang="chs", user_agent=config.enka_network_api_agent) - self.enka_client.set_cache(RedisCache(redis.client, key="plugin:avatar_list:enka_network", ex=60 * 60 * 3)) - self.enka_assets = EnkaAssets(lang="chs") - self.helper = helper - self.character_details = character_details - self.player_service = player_service - self.player_info_service = player_info_service - - async def get_user_client(self, update: Update, context: CallbackContext) -> Optional[Client]: - message = update.effective_message - user = update.effective_user - try: - return await self.helper.get_genshin_client(user.id) - except PlayerNotFoundError: # 若未找到账号 - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - except CookiesNotFoundError: - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙绑定账号", - reply_markup=InlineKeyboardMarkup(buttons), - parse_mode=ParseMode.HTML, - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙进行绑定", - parse_mode=ParseMode.HTML, - reply_markup=InlineKeyboardMarkup(buttons), - ) - - async def get_avatar_data(self, character: Character, client: Client) -> Optional["AvatarData"]: - detail = await self.character_details.get_character_details(client, character) - if detail is None: - return None - if character.id == 10000005: # 针对男草主 - talents = [] - for talent in detail.talents: - if "普通攻击" in talent.name: - talent.Config.allow_mutation = True - # noinspection Pydantic - talent.group_id = 1131 - if talent.type in ["attack", "skill", "burst"]: - talents.append(talent) - else: - talents = [t for t in detail.talents if t.type in ["attack", "skill", "burst"]] - buffed_talents = [] - for constellation in filter(lambda x: x.pos in [3, 5], character.constellations[: character.constellation]): - if result := list( - filter(lambda x: all([x.name in constellation.effect]), talents) # pylint: disable=W0640 - ): - buffed_talents.append(result[0].type) - return AvatarData( - avatar=character, - detail=detail, - icon=(await self.assets_service.avatar(character.id).side()).as_uri(), - weapon=( - await self.assets_service.weapon(character.weapon.id).__getattr__( - "icon" if character.weapon.ascension < 2 else "awaken" - )() - ).as_uri(), - skills=[ - SkillData(skill=s, buffed=s.type in buffed_talents) - for s in sorted(talents, key=lambda x: ["attack", "skill", "burst"].index(x.type)) - ], - ) - - async def get_avatars_data( - self, characters: Sequence[Character], client: Client, max_length: int = None - ) -> List["AvatarData"]: - async def _task(c): - return await self.get_avatar_data(c, client) - - task_results = await asyncio.gather(*[_task(character) for character in characters]) - - return sorted( - list(filter(lambda x: x, task_results)), - key=lambda x: ( - x.avatar.level, - x.avatar.rarity, - x.sum_of_skills(), - x.avatar.constellation, - # TODO 如果加入武器排序条件,需要把武器转化为图片url的处理后置 - # x.weapon.level, - # x.weapon.rarity, - # x.weapon.refinement, - x.avatar.friendship, - ), - reverse=True, - )[:max_length] - - async def get_final_data(self, client: Client, characters: Sequence[Character], update: Update): - try: - response = await self.enka_client.fetch_user(client.uid, info=True) - name_card = (await self.assets_service.namecard(response.player.namecard.id).navbar()).as_uri() - avatar = (await self.assets_service.avatar(response.player.avatar.id).icon()).as_uri() - nickname = response.player.nickname - if response.player.avatar.id in [10000005, 10000007]: - rarity = 5 - else: - rarity = {k: v["rank"] for k, v in AVATAR_DATA.items()}[str(response.player.avatar.id)] - return name_card, avatar, nickname, rarity - except (VaildateUIDError, EnkaPlayerNotFound, HTTPException) as exc: - logger.warning("EnkaNetwork 请求失败: %s", str(exc)) - except (AioHttpTimeoutException, ClientConnectorError) as exc: - logger.warning("EnkaNetwork 请求超时: %s", str(exc)) - except Exception as exc: - logger.error("EnkaNetwork 请求失败: %s", exc_info=exc) - choices = ArkoWrapper(characters).filter(lambda x: x.friendship == 10) # 筛选出好感满了的角色 - if choices.length == 0: # 若没有满好感角色、则以好感等级排序 - choices = ArkoWrapper(characters).sort(lambda x: x.friendship, reverse=True) - name_card_choices = ( # 找到与角色对应的满好感名片ID - ArkoWrapper(choices) - .map(lambda x: next(filter(lambda y: y["name"].split("·")[0] == x.name, NAMECARD_DATA.values()), None)) - .filter(lambda x: x) - .map(lambda x: int(x["id"])) - ) - # noinspection PyTypeChecker - name_card = (await self.assets_service.namecard(name_card_choices[0]).navbar()).as_uri() - avatar = (await self.assets_service.avatar(cid := choices[0].id).icon()).as_uri() - nickname = update.effective_user.full_name - if cid in [10000005, 10000007]: - rarity = 5 - else: - rarity = {k: v["rank"] for k, v in AVATAR_DATA.items()}[str(cid)] - return name_card, avatar, nickname, rarity - - async def get_default_final_data(self, player_id: int, characters: Sequence[Character], user: User): - player = await self.player_service.get(user.id, player_id) - player_info = await self.player_info_service.get(player) - nickname = user.full_name - name_card: Optional[str] = None - avatar: Optional[str] = None - rarity: int = 5 - if player_info is not None: - if player_info.nickname is not None: - nickname = player_info.nickname - if player_info.name_card is not None: - name_card = (await self.assets_service.namecard(player_info.name_card).navbar()).as_uri() - if player_info.hand_image is not None: - avatar = (await self.assets_service.avatar(player_info.hand_image).icon()).as_uri() - rarity = {k: v["rank"] for k, v in AVATAR_DATA.items()}[str(player_info.hand_image)] - if name_card is not None: # 须弥·正明 - name_card = (await self.assets_service.namecard(210132).navbar()).as_uri() - if avatar is not None: - if traveller := next(filter(lambda x: x.id in [10000005, 10000007], characters), None): - avatar = (await self.assets_service.avatar(traveller.id).icon()).as_uri() - else: - avatar = (await self.assets_service.avatar(10000005).icon()).as_uri() - return name_card, avatar, nickname, rarity - - @handler.command("avatars", filters.Regex(r"^/avatars\s*(?:(\d+)|(all))?$"), block=False) - @handler.message(filters.Regex(r"^(全部)?练度统计$"), block=False) - async def avatar_list(self, update: Update, context: CallbackContext): - user = update.effective_user - message = update.effective_message - - args = [i.lower() for i in context.match.groups() if i] - - all_avatars = any(["all" in args, "全部" in args]) # 是否发送全部角色 - - logger.info("用户 %s[%s] [bold]练度统计[/bold]: all=%s", user.full_name, user.id, all_avatars, extra={"markup": True}) - - client = await self.get_user_client(update, context) - if not client: - return - - notice = await message.reply_text("派蒙需要收集整理数据,还请耐心等待哦~") - await message.reply_chat_action(ChatAction.TYPING) - - try: - characters = await client.get_genshin_characters(client.uid) - avatar_datas: List[AvatarData] = await self.get_avatars_data( - characters, client, None if all_avatars else 20 - ) - except InvalidCookies as exc: - await notice.delete() - await client.get_genshin_user(client.uid) - logger.warning("用户 %s[%s] 无法请求角色数数据 API返回信息为 [%s]%s", user.full_name, user.id, exc.retcode, exc.original) - reply_message = await message.reply_text("出错了呜呜呜 ~ 当前访问令牌无法请求角色数数据,请尝试重新获取Cookie。") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return - except GenshinException as e: - await notice.delete() - if e.retcode == -502002: - reply_message = await message.reply_html("请先在米游社中使用一次养成计算器后再使用此功能~") - self.add_delete_message_job(reply_message, delay=20) - return - raise e - - try: - name_card, avatar, nickname, rarity = await self.get_final_data(client, characters, update) - except Exception as exc: # pylint: disable=W0703 - logger.error("卡片信息请求失败 %s", str(exc)) - name_card, avatar, nickname, rarity = await self.get_default_final_data(client.uid, characters, user) - - render_data = { - "uid": client.uid, # 玩家uid - "nickname": nickname, # 玩家昵称 - "avatar": avatar, # 玩家头像 - "rarity": rarity, # 玩家头像对应的角色星级 - "namecard": name_card, # 玩家名片 - "avatar_datas": avatar_datas, # 角色数据 - "has_more": len(characters) != len(avatar_datas), # 是否显示了全部角色 - } - - as_document = all_avatars and len(characters) > 20 - - await message.reply_chat_action(ChatAction.UPLOAD_DOCUMENT if as_document else ChatAction.UPLOAD_PHOTO) - - image = await self.template_service.render( - "genshin/avatar_list/main.html", - render_data, - viewport={"width": 1040, "height": 500}, - full_page=True, - query_selector=".container", - file_type=FileType.DOCUMENT if as_document else FileType.PHOTO, - ttl=30 * 24 * 60 * 60, - ) - self.add_delete_message_job(notice, delay=5) - if as_document: - await image.reply_document(message, filename="练度统计.png") - else: - await image.reply_photo(message) - - logger.info( - "用户 %s[%s] [bold]练度统计[/bold]发送%s成功", - user.full_name, - user.id, - "文件" if all_avatars else "图片", - extra={"markup": True}, - ) diff --git a/plugins/genshin/birthday.py b/plugins/genshin/birthday.py deleted file mode 100644 index ebd4302..0000000 --- a/plugins/genshin/birthday.py +++ /dev/null @@ -1,187 +0,0 @@ -import re -from datetime import datetime -from typing import List, Optional - -from genshin import Client, GenshinException -from genshin.client.routes import Route -from genshin.utility import recognize_genshin_server -from telegram import Update, InlineKeyboardMarkup, InlineKeyboardButton -from telegram.constants import ParseMode -from telegram.ext import filters, MessageHandler, CommandHandler, CallbackContext -from telegram.helpers import create_deep_linked_url - -from core.basemodel import RegionEnum -from core.plugin import Plugin, handler -from core.services.cookies import CookiesService -from core.services.users.services import UserService -from metadata.genshin import AVATAR_DATA -from metadata.shortname import roleToId, roleToName -from modules.apihelper.client.components.calendar import Calendar -from plugins.tools.genshin import GenshinHelper, CookiesNotFoundError, PlayerNotFoundError -from utils.genshin import fetch_hk4e_token_by_cookie, recognize_genshin_game_biz -from utils.log import logger - -BIRTHDAY_URL = Route( - "https://hk4e-api.mihoyo.com/event/birthdaystar/account/post_my_draw", -) - - -def rm_starting_str(string, starting): - """Remove the starting character from a string.""" - while string[0] == str(starting): - string = string[1:] - return string - - -class BirthdayPlugin(Plugin): - """Birthday.""" - - def __init__( - self, - user_service: UserService, - helper: GenshinHelper, - cookie_service: CookiesService, - ): - """Load Data.""" - self.birthday_list = {} - self.user_service = user_service - self.cookie_service = cookie_service - self.helper = helper - - async def initialize(self): - self.birthday_list = await Calendar.async_gen_birthday_list() - self.birthday_list.get("6_1", []).append("派蒙") - - async def get_today_birthday(self) -> List[str]: - key = ( - rm_starting_str(datetime.now().strftime("%m"), "0") - + "_" - + rm_starting_str(datetime.now().strftime("%d"), "0") - ) - return (self.birthday_list.get(key, [])).copy() - - @handler.command(command="birthday", block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - key = ( - rm_starting_str(datetime.now().strftime("%m"), "0") - + "_" - + rm_starting_str(datetime.now().strftime("%d"), "0") - ) - args = self.get_args(context) - - if len(args) >= 1: - msg = args[0] - logger.info("用户 %s[%s] 查询角色生日命令请求 || 参数 %s", user.full_name, user.id, msg) - if re.match(r"\d{1,2}.\d{1,2}", msg): - try: - month = rm_starting_str(re.findall(r"\d+", msg)[0], "0") - day = rm_starting_str(re.findall(r"\d+", msg)[1], "0") - key = f"{month}_{day}" - day_list = self.birthday_list.get(key, []) - date = f"{month}月{day}日" - text = f"{date} 是 {'、'.join(day_list)} 的生日哦~" if day_list else f"{date} 没有角色过生日哦~" - except IndexError: - text = "请输入正确的日期格式,如1-1,或输入正确的角色名称。" - reply_message = await message.reply_text(text) - - else: - try: - if msg == "派蒙": - text = "派蒙的生日是6月1日哦~" - elif roleToName(msg) == "旅行者": - text = "喂,旅行者!你该不会忘掉自己的生日了吧?" - else: - name = roleToName(msg) - aid = str(roleToId(msg)) - birthday = AVATAR_DATA[aid]["birthday"] - text = f"{name} 的生日是 {birthday[0]}月{birthday[1]}日 哦~" - reply_message = await message.reply_text(text) - - except KeyError: - reply_message = await message.reply_text("请输入正确的日期格式,如1-1,或输入正确的角色名称。") - - else: - logger.info("用户 %s[%s] 查询今日角色生日列表", user.full_name, user.id) - today_list = await self.get_today_birthday() - text = f"今天是 {'、'.join(today_list)} 的生日哦~" if today_list else "今天没有角色过生日哦~" - reply_message = await message.reply_text(text) - - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - - @staticmethod - async def get_card(client: Client, role_id: int) -> None: - """领取画片""" - url = BIRTHDAY_URL.get_url() - params = { - "game_biz": recognize_genshin_game_biz(client.uid), - "lang": "zh-cn", - "badge_uid": client.uid, - "badge_region": recognize_genshin_server(client.uid), - "activity_id": "20220301153521", - } - json = { - "role_id": role_id, - } - await client.cookie_manager.request(url, method="POST", params=params, json=json) - - @staticmethod - def role_to_id(name: str) -> Optional[int]: - if name == "派蒙": - return -1 - return roleToId(name) - - @handler(CommandHandler, command="birthday_card", block=False) - @handler(MessageHandler, filters=filters.Regex("^领取角色生日画片$"), block=False) - async def command_birthday_card_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 领取生日画片命令请求", user.full_name, user.id) - today_list = await self.get_today_birthday() - if not today_list: - reply_message = await message.reply_text("今天没有角色过生日哦~") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - try: - client = await self.helper.get_genshin_client(user.id) - except (CookiesNotFoundError, PlayerNotFoundError): - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_msg = await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙绑定账号", - reply_markup=InlineKeyboardMarkup(buttons), - parse_mode=ParseMode.HTML, - ) - self.add_delete_message_job(reply_msg, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙进行绑定", - parse_mode=ParseMode.HTML, - reply_markup=InlineKeyboardMarkup(buttons), - ) - return - if client.region == RegionEnum.HOYOLAB: - text = "此功能当前只支持国服账号哦~" - else: - await fetch_hk4e_token_by_cookie(client) - for name in today_list.copy(): - if role_id := self.role_to_id(name): - try: - await self.get_card(client, role_id) - except GenshinException as e: - if e.retcode in {-512008, -512009}: # 未过生日、已领取过 - today_list.remove(name) - if today_list: - text = f"成功领取了 {'、'.join(today_list)} 的生日画片~" - else: - text = "没有领取到生日画片哦 ~ 可能是已经领取过了" - reply_message = await message.reply_text(text) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) diff --git a/plugins/genshin/calendar.py b/plugins/genshin/calendar.py deleted file mode 100644 index 3a9d3f7..0000000 --- a/plugins/genshin/calendar.py +++ /dev/null @@ -1,60 +0,0 @@ -from datetime import datetime, timedelta -from typing import Dict - -from telegram import Update -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, MessageHandler, filters - -from core.dependence.assets import AssetsService -from core.dependence.redisdb import RedisDB -from core.plugin import Plugin, handler -from core.services.template.services import TemplateService -from modules.apihelper.client.components.calendar import Calendar -from utils.log import logger - -try: - import ujson as jsonlib -except ImportError: - import json as jsonlib - - -class CalendarPlugin(Plugin): - """活动日历查询""" - - def __init__( - self, - template_service: TemplateService, - assets_service: AssetsService, - redis: RedisDB, - ): - self.template_service = template_service - self.assets_service = assets_service - self.calendar = Calendar() - self.cache = redis.client - - async def _fetch_data(self) -> Dict: - if data := await self.cache.get("plugin:calendar"): - return jsonlib.loads(data.decode("utf-8")) - data = await self.calendar.get_photo_data(self.assets_service) - now = datetime.now() - next_hour = (now + timedelta(hours=1)).replace(minute=0, second=0, microsecond=0) - await self.cache.set("plugin:calendar", jsonlib.dumps(data, default=lambda x: x.dict()), ex=next_hour - now) - return data - - @handler.command("calendar", block=False) - @handler(MessageHandler, filters=filters.Regex(r"^(活动)+(日历|日历列表)$"), block=False) - async def command_start(self, update: Update, _: CallbackContext) -> None: - user = update.effective_user - message = update.effective_message - mode = "list" if "列表" in message.text else "calendar" - logger.info("用户 %s[%s] 查询日历 | 模式 %s", user.full_name, user.id, mode) - await message.reply_chat_action(ChatAction.TYPING) - data = await self._fetch_data() - data["display_mode"] = mode - image = await self.template_service.render( - "genshin/calendar/calendar.html", - data, - query_selector=".container", - ) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - await image.reply_photo(message) diff --git a/plugins/genshin/daily/material.py b/plugins/genshin/daily/material.py deleted file mode 100644 index 0d10793..0000000 --- a/plugins/genshin/daily/material.py +++ /dev/null @@ -1,510 +0,0 @@ -import asyncio -import contextlib -import os -import re -from asyncio import Lock -from ctypes import c_double -from datetime import datetime -from functools import partial -from multiprocessing import Value -from pathlib import Path -from ssl import SSLZeroReturnError -from typing import Any, Dict, Iterable, Iterator, List, Literal, Optional, Tuple - -import ujson as json -from aiofiles import open as async_open -from arkowrapper import ArkoWrapper -from bs4 import BeautifulSoup -from genshin import Client, GenshinException, InvalidCookies -from genshin.models import Character -from httpx import AsyncClient, HTTPError -from pydantic import BaseModel -from telegram import Message, Update, User -from telegram.constants import ChatAction, ParseMode -from telegram.error import RetryAfter, TimedOut -from telegram.ext import CallbackContext - -from core.dependence.assets import AssetsCouldNotFound, AssetsService, AssetsServiceType -from core.plugin import Plugin, handler -from core.services.template.models import FileType, RenderGroupResult -from core.services.template.services import TemplateService -from metadata.genshin import AVATAR_DATA, HONEY_DATA -from plugins.tools.genshin import GenshinHelper, PlayerNotFoundError, CookiesNotFoundError, CharacterDetails -from utils.log import logger - -INTERVAL = 1 - -DATA_TYPE = Dict[str, List[List[str]]] -DATA_FILE_PATH = Path(__file__).joinpath("../daily.json").resolve() -DOMAINS = ["忘却之峡", "太山府", "菫色之庭", "昏识塔", "塞西莉亚苗圃", "震雷连山密宫", "砂流之庭", "有顶塔"] -DOMAIN_AREA_MAP = dict(zip(DOMAINS, ["蒙德", "璃月", "稻妻", "须弥"] * 2)) - -WEEK_MAP = ["一", "二", "三", "四", "五", "六", "日"] - - -def sort_item(items: List["ItemData"]) -> Iterable["ItemData"]: - """对武器和角色进行排序 - - 排序规则:持有(星级 > 等级 > 命座/精炼) > 未持有(星级 > 等级 > 命座/精炼) - """ - return ( - ArkoWrapper(items) - .sort(lambda x: x.level or -1, reverse=True) - .groupby(lambda x: x.level is None) # 根据持有与未持有进行分组并排序 - .map( - lambda x: ( - ArkoWrapper(x[1]) - .sort(lambda y: y.rarity, reverse=True) - .groupby(lambda y: y.rarity) # 根据星级分组并排序 - .map( - lambda y: ( - ArkoWrapper(y[1]) - .sort(lambda z: z.refinement or z.constellation or -1, reverse=True) - .groupby(lambda z: z.refinement or z.constellation or -1) # 根据命座/精炼进行分组并排序 - .map(lambda i: ArkoWrapper(i[1]).sort(lambda j: j.id)) - ) - ) - ) - ) - .flat(3) - ) - - -def get_material_serial_name(names: Iterable[str]) -> str: - """获取材料的系列名""" - - def all_substrings(string: str) -> Iterator[str]: - """获取字符串的所有连续字串""" - length = len(string) - for i in range(length): - for j in range(i + 1, length + 1): - yield string[i:j] - - result = [] - for name_a, name_b in ArkoWrapper(names).repeat(1).group(2).unique(list): - for sub_string in all_substrings(name_a): - if sub_string in ArkoWrapper(all_substrings(name_b)): - result.append(sub_string) - result = ArkoWrapper(result).sort(len, reverse=True)[0] - chars = {"的": 0, "之": 0} - for char, k in chars.items(): - result = result.split(char)[k] - return result - - -class DailyMaterial(Plugin): - """每日素材表""" - - data: DATA_TYPE - locks: Tuple[Lock] = (Lock(), Lock()) - - def __init__( - self, - assets: AssetsService, - template_service: TemplateService, - helper: GenshinHelper, - character_details: CharacterDetails, - ): - self.assets_service = assets - self.template_service = template_service - self.helper = helper - self.character_details = character_details - self.client = AsyncClient() - - async def initialize(self): - """插件在初始化时,会检查一下本地是否缓存了每日素材的数据""" - data = None - - async def task_daily(): - async with self.locks[0]: - logger.info("正在开始获取每日素材缓存") - self.data = await self._refresh_data() - - if (not DATA_FILE_PATH.exists()) or ( # 若缓存不存在 - (datetime.today() - datetime.fromtimestamp(os.stat(DATA_FILE_PATH).st_mtime)).days > 3 # 若缓存过期,超过了3天 - ): - asyncio.create_task(task_daily()) # 创建后台任务 - if not data and DATA_FILE_PATH.exists(): # 若存在,则读取至内存中 - async with async_open(DATA_FILE_PATH) as file: - data = json.loads(await file.read()) - self.data = data - - async def _get_skills_data(self, client: Client, character: Character) -> Optional[List[int]]: - detail = await self.character_details.get_character_details(client, character) - if detail is None: - return None - talents = [t for t in detail.talents if t.type in ["attack", "skill", "burst"]] - return [t.level for t in talents] - - async def _get_data_from_user(self, user: User) -> Tuple[Optional[Client], Dict[str, List[Any]]]: - """获取已经绑定的账号的角色、武器信息""" - user_data = {"avatar": [], "weapon": []} - try: - logger.debug("尝试获取已绑定的原神账号") - client = await self.helper.get_genshin_client(user.id) - logger.debug("获取账号数据成功: UID=%s", client.uid) - characters = await client.get_genshin_characters(client.uid) - for character in characters: - if character.name == "旅行者": # 跳过主角 - continue - cid = AVATAR_DATA[str(character.id)]["id"] - weapon = character.weapon - user_data["avatar"].append( - ItemData( - id=cid, - name=character.name, - rarity=character.rarity, - level=character.level, - constellation=character.constellation, - gid=character.id, - icon=(await self.assets_service.avatar(cid).icon()).as_uri(), - origin=character, - ) - ) - user_data["weapon"].append( - ItemData( - id=str(weapon.id), - name=weapon.name, - level=weapon.level, - rarity=weapon.rarity, - refinement=weapon.refinement, - icon=( - await getattr( # 判定武器的突破次数是否大于 2 ;若是, 则将图标替换为 awakened (觉醒) 的图标 - self.assets_service.weapon(weapon.id), "icon" if weapon.ascension < 2 else "awaken" - )() - ).as_uri(), - c_path=(await self.assets_service.avatar(cid).side()).as_uri(), - ) - ) - except (PlayerNotFoundError, CookiesNotFoundError): - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - except InvalidCookies: - logger.info("用户 %s[%s] 所绑定的账号信息已失效", user.full_name, user.id) - else: - # 没有异常返回数据 - return client, user_data - # 有上述异常的, client 会返回 None - return None, user_data - - @handler.command("daily_material", block=False) - async def daily_material(self, update: Update, context: CallbackContext): - user = update.effective_user - message = update.effective_message - args = self.get_args(context) - now = datetime.now() - - try: - weekday = (_ := int(args[0])) - (_ > 0) - weekday = (weekday % 7 + 7) % 7 - time = title = f"星期{WEEK_MAP[weekday]}" - except (ValueError, IndexError): - title = "今日" - weekday = now.weekday() - (1 if now.hour < 4 else 0) - weekday = 6 if weekday < 0 else weekday - time = f"星期{WEEK_MAP[weekday]}" - full = bool(args and args[-1] == "full") # 判定最后一个参数是不是 full - - logger.info("用户 %s[%s}] 每日素材命令请求 || 参数 weekday=%s full=%s", user.full_name, user.id, WEEK_MAP[weekday], full) - - if weekday == 6: - await message.reply_text( - ("今天" if title == "今日" else "这天") + "是星期天, 全部素材都可以刷哦~", parse_mode=ParseMode.HTML - ) - return - - if self.locks[0].locked(): # 若检测到了第一个锁:正在下载每日素材表的数据 - notice = await message.reply_text("派蒙正在摘抄每日素材表,以后再来探索吧~") - self.add_delete_message_job(notice, delay=5) - return - - if self.locks[1].locked(): # 若检测到了第二个锁:正在下载角色、武器、材料的图标 - await message.reply_text("派蒙正在搬运每日素材的图标,以后再来探索吧~") - return - - notice = await message.reply_text("派蒙可能需要找找图标素材,还请耐心等待哦~") - await message.reply_chat_action(ChatAction.TYPING) - - # 获取已经缓存的秘境素材信息 - local_data = {"avatar": [], "weapon": []} - if not self.data: # 若没有缓存每日素材表的数据 - logger.info("正在获取每日素材缓存") - self.data = await self._refresh_data() - for domain, sche in self.data.items(): - area = DOMAIN_AREA_MAP[domain := domain.strip()] # 获取秘境所在的区域 - type_ = "avatar" if DOMAINS.index(domain) < 4 else "weapon" # 获取秘境的培养素材的类型:是天赋书还是武器突破材料 - # 将读取到的数据存入 local_data 中 - local_data[type_].append({"name": area, "materials": sche[weekday][0], "items": sche[weekday][1]}) - - # 尝试获取用户已绑定的原神账号信息 - client, user_data = await self._get_data_from_user(user) - - await message.reply_chat_action(ChatAction.TYPING) - render_data = RenderData(title=title, time=time, uid=client.uid if client else client) - - calculator_sync: bool = True # 默认养成计算器同步为开启 - for type_ in ["avatar", "weapon"]: - areas = [] - for area_data in local_data[type_]: # 遍历每个区域的信息:蒙德、璃月、稻妻、须弥 - items = [] - for id_ in area_data["items"]: # 遍历所有该区域下,当天(weekday)可以培养的角色、武器 - added = False - for i in user_data[type_]: # 从已经获取的角色数据中查找对应角色、武器 - if id_ == str(i.id): - if i.rarity > 3: # 跳过 3 星及以下的武器 - if type_ == "avatar" and client and calculator_sync: # client 不为 None 时给角色添加天赋信息 - try: - skills = await self._get_skills_data(client, i.origin) - i.skills = skills - except InvalidCookies: - calculator_sync = False - except GenshinException as e: - if e.retcode == -502002: - calculator_sync = False # 发现角色养成计算器没启用 设置状态为 False 并防止下次继续获取 - self.add_delete_message_job(notice, delay=5) - await notice.edit_text( - "获取角色天赋信息失败,如果想要显示角色天赋信息,请先在米游社/HoYoLab中使用一次养成计算器后再使用此功能~", - parse_mode=ParseMode.HTML, - ) - else: - raise e - items.append(i) - added = True - if added: - continue - try: - item = HONEY_DATA[type_][id_] - except KeyError: # 跳过不存在或者已忽略的角色、武器 - logger.warning("未在 honey 数据中找到 %s[%s] 的信息", type_, id_) - continue - if item[2] < 4: # 跳过 3 星及以下的武器 - continue - items.append( - ItemData( # 添加角色数据中未找到的 - id=id_, - name=item[1], - rarity=item[2], - icon=(await getattr(self.assets_service, type_)(id_).icon()).as_uri(), - ) - ) - materials = [] - for mid in area_data["materials"]: # 添加这个区域当天(weekday)的培养素材 - try: - path = (await self.assets_service.material(mid).icon()).as_uri() - material = HONEY_DATA["material"][mid] - materials.append(ItemData(id=mid, icon=path, name=material[1], rarity=material[2])) - except AssetsCouldNotFound as exc: - logger.warning("AssetsCouldNotFound message[%s] target[%s]", exc.message, exc.target) - await notice.edit_text("出错了呜呜呜 ~ 派蒙找不到一些素材") - return - areas.append( - AreaData( - name=area_data["name"], - materials=materials, - # template previewer pickle cannot serialize generator - items=list(sort_item(items)), - material_name=get_material_serial_name(map(lambda x: x.name, materials)), - ) - ) - setattr(render_data, {"avatar": "character"}.get(type_, type_), areas) - - await message.reply_chat_action(ChatAction.TYPING) - - # 是否发送原图 - file_type = FileType.DOCUMENT if full else FileType.PHOTO - - character_img_data, weapon_img_data = await asyncio.gather( - self.template_service.render( # 渲染角色素材页 - "genshin/daily_material/character.html", - {"data": render_data}, - {"width": 1164, "height": 500}, - file_type=file_type, - ttl=30 * 24 * 60 * 60, - ), - self.template_service.render( # 渲染武器素材页 - "genshin/daily_material/weapon.html", - {"data": render_data}, - {"width": 1164, "height": 500}, - file_type=file_type, - ttl=30 * 24 * 60 * 60, - ), - ) - - self.add_delete_message_job(notice, delay=5) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - - character_img_data.filename = f"{title}可培养角色.png" - weapon_img_data.filename = f"{title}可培养武器.png" - - await RenderGroupResult([character_img_data, weapon_img_data]).reply_media_group(message) - - logger.debug("角色、武器培养素材图发送成功") - - @handler.command("refresh_daily_material", block=False) - async def refresh(self, update: Update, context: CallbackContext): - user = update.effective_user - message = update.effective_message - - logger.info("用户 {%s}[%s] 刷新[bold]每日素材[/]缓存命令", user.full_name, user.id, extra={"markup": True}) - if self.locks[0].locked(): - notice = await message.reply_text("派蒙还在抄每日素材表呢,我有在好好工作哦~") - self.add_delete_message_job(notice, delay=10) - return - if self.locks[1].locked(): - notice = await message.reply_text("派蒙正在搬运每日素材图标,在努力工作呢!") - self.add_delete_message_job(notice, delay=10) - return - async with self.locks[1]: # 锁住第二把锁 - notice = await message.reply_text("派蒙正在重新摘抄每日素材表,请稍等~", parse_mode=ParseMode.HTML) - async with self.locks[0]: # 锁住第一把锁 - data = await self._refresh_data() - notice = await notice.edit_text( - "每日素材表" + ("摘抄完成!" if data else "坏掉了!等会它再长好了之后我再抄。。。") + "\n正搬运每日素材的图标中。。。", - parse_mode=ParseMode.HTML, - ) - self.data = data or self.data - time = await self._download_icon(notice) - - async def job(_, n): - await n.edit_text(n.text_html.split("\n")[0] + "\n每日素材图标搬运完成!", parse_mode=ParseMode.HTML) - await asyncio.sleep(INTERVAL) - await notice.delete() - - context.application.job_queue.run_once( - partial(job, n=notice), when=time + INTERVAL, name="notice_msg_final_job" - ) - - async def _refresh_data(self, retry: int = 5) -> DATA_TYPE: - """刷新来自 honey impact 的每日素材表""" - from bs4 import Tag - - result = {} - for i in range(retry): # 重复尝试 retry 次 - try: - response = await self.client.get("https://genshin.honeyhunterworld.com/?lang=CHS") - soup = BeautifulSoup(response.text, "lxml") - calendar = soup.select(".calendar_day_wrap")[0] - key: str = "" - for tag in calendar: - tag: Tag - if tag.name == "span": # 如果是秘境 - key = tag.find("a").text.strip() - result[key] = [[[], []] for _ in range(7)] - for day, div in enumerate(tag.find_all("div")): - result[key][day][0] = [] - for a in div.find_all("a"): - honey_id = re.findall(r"/(.*)?/", a["href"])[0] - mid: str = [i[0] for i in HONEY_DATA["material"].items() if i[1][0] == honey_id][0] - result[key][day][0].append(mid) - else: # 如果是角色或武器 - id_ = re.findall(r"/(.*)?/", tag["href"])[0] - if tag.text.strip() == "旅行者": # 忽略主角 - continue - id_ = ("" if id_.startswith("i_n") else "10000") + re.findall(r"\d+", id_)[0] - for day in map(int, tag.find("div")["data-days"]): # 获取该角色/武器的可培养天 - result[key][day][1].append(id_) - for stage, schedules in result.items(): - for day, _ in enumerate(schedules): - # noinspection PyUnresolvedReferences - result[stage][day][1] = list(set(result[stage][day][1])) # 去重 - async with async_open(DATA_FILE_PATH, "w", encoding="utf-8") as file: - await file.write(json.dumps(result)) # skipcq: PY-W0079 - logger.info("每日素材刷新成功") - break - except (HTTPError, SSLZeroReturnError): - from asyncio import sleep - - await sleep(1) - if i <= retry - 1: - logger.warning("每日素材刷新失败, 正在重试") - else: - logger.error("每日素材刷新失败, 请稍后重试") - continue - # noinspection PyTypeChecker - return result - - async def _download_icon(self, message: Optional[Message] = None) -> float: - """下载素材图标""" - asset_list = [] - - from time import time as time_ - - lock = asyncio.Lock() - - the_time = Value(c_double, time_() - INTERVAL) - - async def edit_message(text): - """修改提示消息""" - async with lock: - if message is not None and time_() >= (the_time.value + INTERVAL): - with contextlib.suppress(TimedOut, RetryAfter): - await message.edit_text( - "\n".join(message.text_html.split("\n")[:2] + [text]), parse_mode=ParseMode.HTML - ) - the_time.value = time_() - - async def task(item_id, name, item_type): - logger.debug("正在开始下载 %s 的图标素材", name) - await edit_message(f"正在搬运 {name} 的图标素材。。。") - asset: AssetsServiceType = getattr(self.assets_service, item_type)(item_id) # 获取素材对象 - asset_list.append(asset.honey_id) - # 找到该素材对象的所有图标类型 - # 并根据图标类型找到下载对应图标的函数 - for icon_type in asset.icon_types: - await getattr(asset, icon_type)(True) # 执行下载函数 - logger.debug("%s 的图标素材下载成功", name) - await edit_message(f"正在搬运 {name} 的图标素材。。。成功!") - - for TYPE, ITEMS in HONEY_DATA.items(): # 遍历每个对象 - task_list = [] - new_items = [] - for ID, DATA in ITEMS.items(): - if (ITEM := [ID, DATA[1], TYPE]) not in new_items: - new_items.append(ITEM) - task_list.append(task(*ITEM)) - await asyncio.gather(*task_list) # 等待所有任务执行完成 - try: - await message.edit_text( - "\n".join(message.text_html.split("\n")[:2] + ["图标素材下载完成!"]), parse_mode=ParseMode.HTML - ) - except RetryAfter as e: - await asyncio.sleep(e.retry_after) - await message.edit_text( - "\n".join(message.text_html.split("\n")[:2] + ["图标素材下载完成!"]), parse_mode=ParseMode.HTML - ) - except Exception as e: - logger.debug(e) - - logger.info("图标素材下载完成") - return the_time.value - - -class ItemData(BaseModel): - id: str # ID - name: str # 名称 - rarity: int # 星级 - icon: str # 图标 - level: Optional[int] = None # 等级 - constellation: Optional[int] = None # 命座 - skills: Optional[List[int]] = None # 天赋等级 - gid: Optional[int] = None # 角色在 genshin.py 里的 ID - refinement: Optional[int] = None # 精炼度 - c_path: Optional[str] = None # 武器使用者图标 - origin: Optional[Character] = None # 原始数据 - - -class AreaData(BaseModel): - name: Literal["蒙德", "璃月", "稻妻", "须弥"] # 区域名 - material_name: str # 区域的材料系列名 - materials: List[ItemData] = [] # 区域材料 - items: Iterable[ItemData] = [] # 可培养的角色或武器 - - -class RenderData(BaseModel): - title: str # 页面标题,主要用于显示星期几 - time: str # 页面时间 - uid: Optional[int] = None # 用户UID - character: List[AreaData] = [] # 角色数据 - weapon: List[AreaData] = [] # 武器数据 - - def __getitem__(self, item): - return self.__getattribute__(item) diff --git a/plugins/genshin/daily_note.py b/plugins/genshin/daily_note.py deleted file mode 100644 index 021fd1a..0000000 --- a/plugins/genshin/daily_note.py +++ /dev/null @@ -1,130 +0,0 @@ -import datetime -from datetime import datetime -from typing import Optional - -import genshin -from genshin import DataNotPublic -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update -from telegram.constants import ChatAction -from telegram.ext import ConversationHandler, filters, CallbackContext -from telegram.helpers import create_deep_linked_url - -from core.plugin import Plugin, handler -from core.services.template.models import RenderResult -from core.services.template.services import TemplateService -from plugins.tools.genshin import GenshinHelper, CookiesNotFoundError, PlayerNotFoundError -from utils.log import logger - -__all__ = ("DailyNotePlugin",) - - -class DailyNotePlugin(Plugin): - """每日便签""" - - def __init__( - self, - template: TemplateService, - helper: GenshinHelper, - ): - self.template_service = template - self.helper = helper - - async def _get_daily_note(self, client: genshin.Client) -> RenderResult: - daily_info = await client.get_genshin_notes(client.uid) - - day = datetime.now().strftime("%m-%d %H:%M") + " 星期" + "一二三四五六日"[datetime.now().weekday()] - resin_recovery_time = ( - daily_info.resin_recovery_time.strftime("%m-%d %H:%M") - if daily_info.max_resin - daily_info.current_resin - else None - ) - realm_recovery_time = ( - (datetime.now().astimezone() + daily_info.remaining_realm_currency_recovery_time).strftime("%m-%d %H:%M") - if daily_info.max_realm_currency - daily_info.current_realm_currency - else None - ) - remained_time = None - for i in daily_info.expeditions: - if remained_time: - if remained_time < i.remaining_time: - remained_time = i.remaining_time - else: - remained_time = i.remaining_time - if remained_time: - remained_time = (datetime.now().astimezone() + remained_time).strftime("%m-%d %H:%M") - - transformer, transformer_ready, transformer_recovery_time = False, None, None - if daily_info.remaining_transformer_recovery_time is not None: - transformer = True - transformer_ready = daily_info.remaining_transformer_recovery_time.total_seconds() == 0 - transformer_recovery_time = daily_info.transformer_recovery_time.strftime("%m-%d %H:%M") - - render_data = { - "uid": client.uid, - "day": day, - "resin_recovery_time": resin_recovery_time, - "current_resin": daily_info.current_resin, - "max_resin": daily_info.max_resin, - "realm_recovery_time": realm_recovery_time, - "current_realm_currency": daily_info.current_realm_currency, - "max_realm_currency": daily_info.max_realm_currency, - "claimed_commission_reward": daily_info.claimed_commission_reward, - "completed_commissions": daily_info.completed_commissions, - "max_commissions": daily_info.max_commissions, - "expeditions": bool(daily_info.expeditions), - "remained_time": remained_time, - "current_expeditions": len(daily_info.expeditions), - "max_expeditions": daily_info.max_expeditions, - "remaining_resin_discounts": daily_info.remaining_resin_discounts, - "max_resin_discounts": daily_info.max_resin_discounts, - "transformer": transformer, - "transformer_ready": transformer_ready, - "transformer_recovery_time": transformer_recovery_time, - } - render_result = await self.template_service.render( - "genshin/daily_note/daily_note.html", - render_data, - {"width": 600, "height": 548}, - full_page=False, - ttl=8 * 60, - ) - return render_result - - @handler.command("dailynote", block=False) - @handler.message(filters.Regex("^当前状态(.*)"), block=False) - async def command_start(self, update: Update, _: CallbackContext) -> Optional[int]: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 每日便签命令请求", user.full_name, user.id) - - try: - # 获取当前用户的 genshin.Client - client = await self.helper.get_genshin_client(user.id) - # 渲染 - render_result = await self._get_daily_note(client) - except (CookiesNotFoundError, PlayerNotFoundError): - buttons = [ - [ - InlineKeyboardButton( - "点我绑定账号", url=create_deep_linked_url(self.application.bot.username, "set_cookie") - ) - ] - ] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - except DataNotPublic: - reply_message = await message.reply_text("查询失败惹,可能是便签功能被禁用了?请尝试通过米游社或者 hoyolab 获取一次便签信息后重试。") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return ConversationHandler.END - - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - await render_result.reply_photo(message, filename=f"{client.uid}.png", allow_sending_without_reply=True) diff --git a/plugins/genshin/help_raw.py b/plugins/genshin/help_raw.py deleted file mode 100644 index 9121121..0000000 --- a/plugins/genshin/help_raw.py +++ /dev/null @@ -1,38 +0,0 @@ -import os -from typing import Optional - -import aiofiles -from bs4 import BeautifulSoup -from telegram import Update -from telegram.ext import CallbackContext - -from core.plugin import Plugin, handler -from utils.log import logger - -__all__ = ("HelpRawPlugin",) - - -class HelpRawPlugin(Plugin): - def __init__(self): - self.help_raw: Optional[str] = None - - async def initialize(self): - file_path = os.path.join(os.getcwd(), "resources", "bot", "help", "help.html") # resources/bot/help/help.html - async with aiofiles.open(file_path, mode="r", encoding="utf-8") as f: - html_content = await f.read() - soup = BeautifulSoup(html_content, "lxml") - command_div = soup.find_all("div", _class="command") - for div in command_div: - command_name_div = div.find("div", _class="command_name") - if command_name_div: - command_description_div = div.find("div", _class="command-description") - if command_description_div: - self.help_raw += f"/{command_name_div.text} - {command_description_div}" - - @handler.command(command="help_raw", block=False) - async def start(self, update: Update, _: CallbackContext): - if self.help_raw is not None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 发出 help_raw 命令", user.full_name, user.id) - await message.reply_text(self.help_raw, allow_sending_without_reply=True) diff --git a/plugins/genshin/hilichurls.py b/plugins/genshin/hilichurls.py deleted file mode 100644 index 3ecd73b..0000000 --- a/plugins/genshin/hilichurls.py +++ /dev/null @@ -1,52 +0,0 @@ -from typing import Dict - -from aiofiles import open as async_open -from telegram import Update -from telegram.ext import CallbackContext, filters - -from core.plugin import Plugin, handler -from utils.const import RESOURCE_DIR -from utils.log import logger - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - -__all__ = ("HilichurlsPlugin",) - - -class HilichurlsPlugin(Plugin): - """丘丘语字典.""" - - hilichurls_dictionary: Dict[str, str] - - async def initialize(self) -> None: - """加载数据文件.数据整理自 https://wiki.biligame.com/ys By @zhxycn.""" - async with async_open(RESOURCE_DIR / "json/hilichurls_dictionary.json", encoding="utf-8") as file: - self.hilichurls_dictionary = jsonlib.loads(await file.read()) - - @handler.command(command="hilichurls", block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - if len(args) >= 1: - msg = args[0] - else: - reply_message = await message.reply_text("请输入要查询的丘丘语。") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - search = str.casefold(msg) # 忽略大小写以方便查询 - if search not in self.hilichurls_dictionary: - reply_message = await message.reply_text(f"在丘丘语字典中未找到 {msg}。") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - logger.info("用户 %s[%s] 查询今日角色生日列表 查询丘丘语字典命令请求 || 参数 %s", user.full_name, user.id, msg) - result = self.hilichurls_dictionary[f"{search}"] - await message.reply_markdown_v2(f"丘丘语: `{search}`\n\n`{result}`") diff --git a/plugins/genshin/ledger.py b/plugins/genshin/ledger.py deleted file mode 100644 index 68d5a9c..0000000 --- a/plugins/genshin/ledger.py +++ /dev/null @@ -1,151 +0,0 @@ -import os -import re -from datetime import datetime, timedelta - -from genshin import DataNotPublic, InvalidCookies, GenshinException -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update -from telegram.constants import ChatAction -from telegram.ext import filters, CallbackContext -from telegram.helpers import create_deep_linked_url - -from core.plugin import Plugin, handler -from core.services.cookies import CookiesService -from core.services.template.models import RenderResult -from core.services.template.services import TemplateService -from plugins.tools.genshin import CookiesNotFoundError, GenshinHelper, PlayerNotFoundError -from utils.log import logger - -__all__ = ("LedgerPlugin",) - - -class LedgerPlugin(Plugin): - """旅行札记查询""" - - def __init__( - self, - helper: GenshinHelper, - cookies_service: CookiesService, - template_service: TemplateService, - ): - self.template_service = template_service - self.cookies_service = cookies_service - self.current_dir = os.getcwd() - self.helper = helper - - async def _start_get_ledger(self, client, month=None) -> RenderResult: - diary_info = await client.get_diary(client.uid, month=month) - color = ["#73a9c6", "#d56565", "#70b2b4", "#bd9a5a", "#739970", "#7a6da7", "#597ea0"] - categories = [ - { - "id": i.id, - "name": i.name, - "color": color[i.id % len(color)], - "amount": i.amount, - "percentage": i.percentage, - } - for i in diary_info.month_data.categories - ] - color = [i["color"] for i in categories] - - def format_amount(amount: int) -> str: - return f"{round(amount / 10000, 2)}w" if amount >= 10000 else amount - - ledger_data = { - "uid": client.uid, - "day": diary_info.month, - "current_primogems": format_amount(diary_info.month_data.current_primogems), - "gacha": int(diary_info.month_data.current_primogems / 160), - "current_mora": format_amount(diary_info.month_data.current_mora), - "last_primogems": format_amount(diary_info.month_data.last_primogems), - "last_gacha": int(diary_info.month_data.last_primogems / 160), - "last_mora": format_amount(diary_info.month_data.last_mora), - "categories": categories, - "color": color, - } - render_result = await self.template_service.render( - "genshin/ledger/ledger.html", ledger_data, {"width": 580, "height": 610} - ) - return render_result - - @handler.command(command="ledger", block=False) - @handler.message(filters=filters.Regex("^旅行札记查询(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - user = update.effective_user - message = update.effective_message - - now = datetime.now() - now_time = (now - timedelta(days=1)) if now.day == 1 and now.hour <= 4 else now - month = now_time.month - try: - args = self.get_args(context) - if len(args) >= 1: - month = args[0].replace("月", "") - if re_data := re.findall(r"\d+", str(month)): - month = int(re_data[0]) - else: - num_dict = {"一": 1, "二": 2, "三": 3, "四": 4, "五": 5, "六": 6, "七": 7, "八": 8, "九": 9, "十": 10} - month = sum(num_dict.get(i, 0) for i in str(month)) - # check right - allow_month = [now_time.month] - - last_month = now_time.replace(day=1) - timedelta(days=1) - allow_month.append(last_month.month) - - last_month = last_month.replace(day=1) - timedelta(days=1) - allow_month.append(last_month.month) - - if month not in allow_month and isinstance(month, int): - raise IndexError - month = now_time.month - except IndexError: - reply_message = await message.reply_text("仅可查询最新三月的数据,请重新输入") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return - logger.info("用户 %s[%s] 查询旅行札记", user.full_name, user.id) - await message.reply_chat_action(ChatAction.TYPING) - try: - client = await self.helper.get_genshin_client(user.id) - try: - render_result = await self._start_get_ledger(client, month) - except InvalidCookies as exc: # 如果抛出InvalidCookies 判断是否真的玄学过期(或权限不足?) - await client.get_genshin_user(client.uid) - logger.warning( - "用户 %s[%s] 无法请求旅行札记数据 API返回信息为 [%s]%s", user.full_name, user.id, exc.retcode, exc.original - ) - reply_message = await message.reply_text("出错了呜呜呜 ~ 当前访问令牌无法请求角色数数据,请尝试重新获取Cookie。") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return - except (PlayerNotFoundError, CookiesNotFoundError): - buttons = [ - [ - InlineKeyboardButton( - "点我绑定账号", url=create_deep_linked_url(self.application.bot.username, "set_cookie") - ) - ] - ] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - except DataNotPublic: - reply_message = await message.reply_text("查询失败惹,可能是旅行札记功能被禁用了?请先通过米游社或者 hoyolab 获取一次旅行札记后重试。") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return - except GenshinException as exc: - if exc.retcode == -120: - await message.reply_text("当前角色冒险等阶不足,暂时无法获取信息") - return - raise exc - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - await render_result.reply_photo(message, filename=f"{client.uid}.png", allow_sending_without_reply=True) diff --git a/plugins/genshin/map.py b/plugins/genshin/map.py deleted file mode 100644 index d01391b..0000000 --- a/plugins/genshin/map.py +++ /dev/null @@ -1,195 +0,0 @@ -from io import BytesIO -from typing import Union, Optional, List, Tuple - -from telegram import Update, Message, InputMediaDocument, InputMediaPhoto, InlineKeyboardButton, InlineKeyboardMarkup -from telegram.constants import ChatAction -from telegram.ext import CommandHandler, MessageHandler, filters, CallbackContext - -from core.config import config -from core.dependence.redisdb import RedisDB -from core.handler.callbackqueryhandler import CallbackQueryHandler -from core.plugin import handler, Plugin -from modules.apihelper.client.components.map import MapHelper, MapException -from utils.log import logger - - -class Map(Plugin): - """资源点查询""" - - def __init__(self, redis: RedisDB): - self.cache = redis.client - self.cache_photo_key = "plugin:map:photo:" - self.cache_doc_key = "plugin:map:doc:" - self.map_helper = MapHelper() - self.temp_photo_path = "resources/img/map.png" - self.temp_photo = None - - async def get_photo_cache(self, map_id: Union[str, int], name: str) -> Optional[str]: - if file_id := await self.cache.get(f"{self.cache_photo_key}{map_id}:{name}"): - return file_id.decode("utf-8") - return None - - async def get_doc_cache(self, map_id: Union[str, int], name: str) -> Optional[str]: - if file_id := await self.cache.get(f"{self.cache_doc_key}{map_id}:{name}"): - return file_id.decode("utf-8") - return None - - async def set_photo_cache(self, map_id: Union[str, int], name: str, file_id: str) -> None: - await self.cache.set(f"{self.cache_photo_key}{map_id}:{name}", file_id) - - async def set_doc_cache(self, map_id: Union[str, int], name: str, file_id: str) -> None: - await self.cache.set(f"{self.cache_doc_key}{map_id}:{name}", file_id) - - async def clear_cache(self) -> None: - for i in await self.cache.keys(f"{self.cache_photo_key}*"): - await self.cache.delete(i) - for i in await self.cache.keys(f"{self.cache_doc_key}*"): - await self.cache.delete(i) - - async def edit_media(self, message: Message, map_id: str, name: str) -> None: - caption = self.gen_caption(map_id, name) - if cache := await self.get_photo_cache(map_id, name): - media = InputMediaPhoto(media=cache, caption=caption) - await message.edit_media(media) - return - if cache := await self.get_doc_cache(map_id, name): - media = InputMediaDocument(media=cache, caption=caption) - await message.edit_media(media) - return - data = await self.map_helper.get_map(map_id, name) - if len(data) > (1024 * 1024): - data = BytesIO(data) - data.name = "map.jpg" - media = InputMediaDocument(media=data, caption=caption) - msg = await message.edit_media(media) - await self.set_doc_cache(map_id, name, msg.document.file_id) - else: - media = InputMediaPhoto(media=data, caption=caption) - msg = await message.edit_media(media) - await self.set_photo_cache(map_id, name, msg.photo[0].file_id) - - def get_show_map(self, name: str) -> List[int]: - return [ - idx - for idx, map_id in enumerate(self.map_helper.MAP_ID_LIST) - if self.map_helper.get_label_count(map_id, name) > 0 - ] - - async def gen_map_button( - self, maps: List[int], user_id: Union[str, int], name: str - ) -> List[List[InlineKeyboardButton]]: - return [ - [ - InlineKeyboardButton( - self.map_helper.MAP_NAME_LIST[idx], - callback_data=f"get_map|{user_id}|{self.map_helper.MAP_ID_LIST[idx]}|{name}", - ) - for idx in maps - ] - ] - - async def send_media(self, message: Message, map_id: Union[str, int], name: str) -> None: - caption = self.gen_caption(map_id, name) - if cache := await self.get_photo_cache(map_id, name): - await message.reply_photo(photo=cache, caption=caption) - return - if cache := await self.get_doc_cache(map_id, name): - await message.reply_document(document=cache, caption=caption) - return - try: - data = await self.map_helper.get_map(map_id, name) - except MapException as e: - await message.reply_text(e.message) - return - if len(data) > (1024 * 1024): - data = BytesIO(data) - data.name = "map.jpg" - msg = await message.reply_document(document=data, caption=caption) - await self.set_doc_cache(map_id, name, msg.document.file_id) - else: - msg = await message.reply_photo(photo=data, caption=caption) - await self.set_photo_cache(map_id, name, msg.photo[0].file_id) - - def gen_caption(self, map_id: Union[int, str], name: str) -> str: - count = self.map_helper.get_label_count(map_id, name) - return f"派蒙一共找到了 {name} 的 {count} 个位置点\n* 数据来源于米游社wiki" - - @handler(CommandHandler, command="map", block=False) - @handler(MessageHandler, filters=filters.Regex("^(?P.*)(在哪里|在哪|哪里有|哪儿有|哪有|在哪儿)$"), block=False) - @handler(MessageHandler, filters=filters.Regex("^(哪里有|哪儿有|哪有)(?P.*)$"), block=False) - async def command_start(self, update: Update, context: CallbackContext): - message = update.effective_message - args = context.args - group_dict = context.match and context.match.groupdict() - user = update.effective_user - resource_name = None - await message.reply_chat_action(ChatAction.TYPING) - if args and len(args) >= 1: - resource_name = args[0] - elif group_dict: - resource_name = group_dict.get("name", None) - if not resource_name: - if group_dict: - return - await message.reply_text("请指定要查找的资源名称。", parse_mode="Markdown") - return - logger.info("用户: %s [%s] 使用 map 命令查询了 %s", user.username, user.id, resource_name) - if resource_name not in self.map_helper.query_map: - # 消息来源于群组中并且无法找到默认不回复即可 - if filters.ChatType.GROUPS.filter(message) and group_dict is not None: - return - await message.reply_text("没有找到该资源。", parse_mode="Markdown") - return - maps = self.get_show_map(resource_name) - if len(maps) == 0: - if filters.ChatType.GROUPS.filter(message) and group_dict is not None: - return - await message.reply_text("没有找到该资源。", parse_mode="Markdown") - return - if len(maps) == 1: - map_id = self.map_helper.MAP_ID_LIST[maps[0]] - await self.send_media(message, map_id, resource_name) - return - buttons = await self.gen_map_button(maps, user.id, resource_name) - if isinstance(self.temp_photo, str): - photo = self.temp_photo - else: - photo = open(self.temp_photo_path, "rb") - reply_message = await message.reply_photo( - photo=photo, caption="请选择你要查询的地图", reply_markup=InlineKeyboardMarkup(buttons) - ) - if reply_message.photo: - self.temp_photo = reply_message.photo[-1].file_id - - @handler(CallbackQueryHandler, pattern=r"^get_map\|", block=False) - async def get_maps(self, update: Update, _: CallbackContext) -> None: - callback_query = update.callback_query - user = callback_query.from_user - message = callback_query.message - - async def get_map_callback(callback_query_data: str) -> Tuple[int, str, str]: - _data = callback_query_data.split("|") - _user_id = int(_data[1]) - _map_id = _data[2] - _name = _data[3] - logger.debug("callback_query_data 函数返回 user_id[%s] map_id[%s] name[%s]", _user_id, _map_id, _name) - return _user_id, _map_id, _name - - user_id, map_id, name = await get_map_callback(callback_query.data) - if user.id != user_id: - await callback_query.answer(text="这不是你的按钮!\n" + config.notice.user_mismatch, show_alert=True) - return - await callback_query.answer(text="正在渲染图片中 请稍等 请不要重复点击按钮", show_alert=False) - try: - await self.edit_media(message, map_id, name) - except MapException as e: - await message.reply_text(e.message) - - @handler.command("refresh_map", admin=True) - async def refresh_map(self, update: Update, _: CallbackContext): - message = update.effective_message - msg = await message.reply_text("正在刷新地图数据,请耐心等待...") - await self.map_helper.refresh_query_map() - await self.map_helper.refresh_label_count() - await self.clear_cache() - await msg.edit_text("正在刷新地图数据,请耐心等待...\n刷新成功") diff --git a/plugins/genshin/material.py b/plugins/genshin/material.py deleted file mode 100644 index 1c93dfc..0000000 --- a/plugins/genshin/material.py +++ /dev/null @@ -1,234 +0,0 @@ -import re - -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, CommandHandler, MessageHandler, filters - -from core.dependence.assets import AssetsService -from core.plugin import Plugin, handler -from core.services.template.services import TemplateService -from metadata.genshin import MATERIAL_DATA -from metadata.shortname import roleToName -from modules.apihelper.client.components.remote import Remote -from modules.material.talent import TalentMaterials -from modules.wiki.character import Character -from utils.log import logger - -__all__ = ("MaterialPlugin",) - - -class MaterialPlugin(Plugin): - """角色培养素材查询""" - - KEYBOARD = [[InlineKeyboardButton(text="查看角色培养素材列表并查询", switch_inline_query_current_chat="查看角色培养素材列表并查询")]] - - def __init__( - self, - template_service: TemplateService, - assets_service: AssetsService, - ): - self.roles_material = {} - self.assets_service = assets_service - self.template_service = template_service - - async def initialize(self): - await self._refresh() - - async def _refresh(self): - self.roles_material = await Remote.get_remote_material() - - async def _parse_material(self, data: dict, character_name: str, talent_level: str) -> dict: - data = data["data"] - if character_name not in data.keys(): - return {} - character = self.assets_service.avatar(character_name) - level_up_material = self.assets_service.material(data[character_name]["level_up_materials"]) - ascension_material = self.assets_service.material(data[character_name]["ascension_materials"]) - local_material = self.assets_service.material(data[character_name]["materials"][0]) - enemy_material = self.assets_service.material(data[character_name]["materials"][1]) - level_up_materials = [ - { - "num": 46, - "rarity": MATERIAL_DATA[str(level_up_material.id)]["rank"], - "icon": (await level_up_material.icon()).as_uri(), - "name": data[character_name]["level_up_materials"], - }, - { - "num": 419, - "rarity": 4, - "icon": (await self.assets_service.material(104003).icon()).as_uri(), - "name": "大英雄的经验", - }, - { - "num": 1, - "rarity": 2, - "icon": (await ascension_material.icon()).as_uri(), - "name": MATERIAL_DATA[str(ascension_material.id)]["name"], - }, - { - "num": 9, - "rarity": 3, - "icon": (await self.assets_service.material(ascension_material.id - 1).icon()).as_uri(), - "name": MATERIAL_DATA[str(ascension_material.id - 1)]["name"], - }, - { - "num": 9, - "rarity": 4, - "icon": (await self.assets_service.material(str(ascension_material.id - 2)).icon()).as_uri(), - "name": MATERIAL_DATA[str(ascension_material.id - 2)]["name"], - }, - { - "num": 6, - "rarity": 5, - "icon": (await self.assets_service.material(ascension_material.id - 3).icon()).as_uri(), - "name": MATERIAL_DATA[str(ascension_material.id - 3)]["name"], - }, - { - "num": 168, - "rarity": MATERIAL_DATA[str(local_material.id)]["rank"], - "icon": (await local_material.icon()).as_uri(), - "name": MATERIAL_DATA[str(local_material.id)]["name"], - }, - { - "num": 18, - "rarity": MATERIAL_DATA[str(enemy_material.id)]["rank"], - "icon": (await self.assets_service.material(enemy_material.id).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id)]["name"], - }, - { - "num": 30, - "rarity": MATERIAL_DATA[str(enemy_material.id + 1)]["rank"], - "icon": (await self.assets_service.material(enemy_material.id + 1).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id + 1)]["name"], - }, - { - "num": 36, - "rarity": MATERIAL_DATA[str(enemy_material.id + 2)]["rank"], - "icon": (await self.assets_service.material(str(enemy_material.id + 2)).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id + 2)]["name"], - }, - ] - talent_book = self.assets_service.material(f"「{data[character_name]['talent'][0]}」的教导") - weekly_talent_material = self.assets_service.material(data[character_name]["talent"][1]) - talent_materials = [ - { - "num": 9, - "rarity": MATERIAL_DATA[str(talent_book.id)]["rank"], - "icon": (await self.assets_service.material(talent_book.id).icon()).as_uri(), - "name": MATERIAL_DATA[str(talent_book.id)]["name"], - }, - { - "num": 63, - "rarity": MATERIAL_DATA[str(talent_book.id + 1)]["rank"], - "icon": (await self.assets_service.material(talent_book.id + 1).icon()).as_uri(), - "name": MATERIAL_DATA[str(talent_book.id + 1)]["name"], - }, - { - "num": 114, - "rarity": MATERIAL_DATA[str(talent_book.id + 2)]["rank"], - "icon": (await self.assets_service.material(str(talent_book.id + 2)).icon()).as_uri(), - "name": MATERIAL_DATA[str(talent_book.id + 2)]["name"], - }, - { - "num": 18, - "rarity": MATERIAL_DATA[str(enemy_material.id)]["rank"], - "icon": (await self.assets_service.material(enemy_material.id).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id)]["name"], - }, - { - "num": 66, - "rarity": MATERIAL_DATA[str(enemy_material.id + 1)]["rank"], - "icon": (await self.assets_service.material(enemy_material.id + 1).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id + 1)]["name"], - }, - { - "num": 93, - "rarity": MATERIAL_DATA[str(enemy_material.id + 2)]["rank"], - "icon": (await self.assets_service.material(str(enemy_material.id + 2)).icon()).as_uri(), - "name": MATERIAL_DATA[str(enemy_material.id + 2)]["name"], - }, - { - "num": 3, - "rarity": 5, - "icon": (await self.assets_service.material(104319).icon()).as_uri(), - "name": "智识之冕", - }, - { - "num": 18, - "rarity": MATERIAL_DATA[str(weekly_talent_material.id)]["rank"], - "icon": (await self.assets_service.material(weekly_talent_material.id).icon()).as_uri(), - "name": MATERIAL_DATA[str(weekly_talent_material.id)]["name"], - }, - ] - - return { - "character": { - "element": character.enka.element.name, - "image": character.enka.images.banner.url, - "name": character_name, - "association": (await Character.get_by_name(character_name)).association.name, - }, - "level_up_materials": level_up_materials, - "talent_materials": talent_materials, - "talent_level": talent_level, - "talent_amount": TalentMaterials(list(map(int, talent_level.split("/")))).cal_materials(), - } - - async def render(self, character_name: str, talent_amount: str): - if not self.roles_material: - await self._refresh() - data = await self._parse_material(self.roles_material, character_name, talent_amount) - if not data: - return - return await self.template_service.render( - "genshin/material/roles_material.html", - data, - {"width": 960, "height": 1460}, - full_page=True, - ttl=7 * 24 * 60 * 60, - ) - - @staticmethod - def _is_valid(string: str): - """ - 判断字符串是否符合`8/9/10`的格式并保证每个数字都在[1,10] - """ - return bool( - re.match(r"^\d+/\d+/\d+$", string) - and all(1 <= int(num) <= 10 for num in string.split("/")) - and string != "1/1/1" - and string != "10/10/10" - ) - - @handler(CommandHandler, command="material", block=False) - @handler(MessageHandler, filters=filters.Regex("^角色培养素材查询(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - if len(args) >= 1: - character_name = args[0] - material_count = "8/8/8" - if len(args) >= 2 and self._is_valid(args[1]): - material_count = args[1] - else: - reply_message = await message.reply_text( - "请回复你要查询的培养素材的角色名", reply_markup=InlineKeyboardMarkup(self.KEYBOARD) - ) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - character_name = roleToName(character_name) - logger.info("用户 %s[%s] 查询角色培养素材命令请求 || 参数 %s", user.full_name, user.id, character_name) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - result = await self.render(character_name, material_count) - if not result: - reply_message = await message.reply_text( - f"没有找到 {character_name} 的培养素材", reply_markup=InlineKeyboardMarkup(self.KEYBOARD) - ) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - await result.reply_photo(message) diff --git a/plugins/genshin/pay_log.py b/plugins/genshin/pay_log.py deleted file mode 100644 index 603ee9c..0000000 --- a/plugins/genshin/pay_log.py +++ /dev/null @@ -1,236 +0,0 @@ -import genshin -from telegram import Update, User, InlineKeyboardButton, InlineKeyboardMarkup -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, CommandHandler, MessageHandler, filters, ConversationHandler -from telegram.helpers import create_deep_linked_url - -from core.basemodel import RegionEnum -from core.plugin import Plugin, handler, conversation -from core.services.cookies import CookiesService -from core.services.players.services import PlayersService -from core.services.template.services import TemplateService -from modules.gacha_log.helpers import from_url_get_authkey -from modules.pay_log.error import PayLogNotFound, PayLogAccountNotFound, PayLogInvalidAuthkey, PayLogAuthkeyTimeout -from modules.pay_log.log import PayLog -from plugins.tools.genshin import GenshinHelper, PlayerNotFoundError -from utils.genshin import get_authkey_by_stoken -from utils.log import logger - -INPUT_URL, CONFIRM_DELETE = range(10100, 10102) - - -class PayLogPlugin(Plugin.Conversation): - """充值记录导入/导出/分析""" - - def __init__( - self, - template_service: TemplateService, - players_service: PlayersService, - cookie_service: CookiesService, - helper: GenshinHelper, - ): - self.template_service = template_service - self.players_service = players_service - self.cookie_service = cookie_service - self.pay_log = PayLog() - self.helper = helper - - async def _refresh_user_data(self, user: User, authkey: str = None) -> str: - """刷新用户数据 - :param user: 用户 - :param authkey: 认证密钥 - :return: 返回信息 - """ - try: - logger.debug("尝试获取已绑定的原神账号") - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - new_num = await self.pay_log.get_log_data(user.id, client, authkey) - return "更新完成,本次没有新增数据" if new_num == 0 else f"更新完成,本次共新增{new_num}条充值记录" - except PayLogNotFound: - return "派蒙没有找到你的充值记录,快去充值吧~" - except PayLogAccountNotFound: - return "导入失败,可能文件包含的祈愿记录所属 uid 与你当前绑定的 uid 不同" - except PayLogInvalidAuthkey: - return "更新数据失败,authkey 无效" - except PayLogAuthkeyTimeout: - return "更新数据失败,authkey 已经过期" - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - return "派蒙没有找到您所绑定的账号信息,请先私聊派蒙绑定账号" - - @conversation.entry_point - @handler(CommandHandler, command="pay_log_import", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^导入充值记录$") & filters.ChatType.PRIVATE, block=False) - async def command_start(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - logger.info("用户 %s[%s] 导入充值记录命令请求", user.full_name, user.id) - authkey = from_url_get_authkey(args[0] if args else "") - if not args: - player_info = await self.players_service.get_player(user.id, region=RegionEnum.HYPERION) - if player_info is not None: - cookies = await self.cookie_service.get(user.id, account_id=player_info.account_id) - if cookies is not None and cookies.data and "stoken" in cookies.data: - if stuid := next( - (value for key, value in cookies.data.items() if key in ["ltuid", "login_uid"]), None - ): - cookies.data["stuid"] = stuid - client = genshin.Client( - cookies=cookies.data, - game=genshin.types.Game.GENSHIN, - region=genshin.Region.CHINESE, - lang="zh-cn", - uid=player_info.player_id, - ) - authkey = await get_authkey_by_stoken(client) - if not authkey: - await message.reply_text( - "开始导入充值历史记录:请通过 https://paimon.moe/wish/import 获取抽卡记录链接后发送给我" - "(非 paimon.moe 导出的文件数据)\n\n" - "> 在绑定 Cookie 时添加 stoken 可能有特殊效果哦(仅限国服)\n" - "注意:导入的数据将会与旧数据进行合并。", - parse_mode="html", - ) - return INPUT_URL - text = "小派蒙正在从服务器获取数据,请稍后" - if not args: - text += "\n\n> 由于你绑定的 Cookie 中存在 stoken ,本次通过 stoken 自动刷新数据" - reply = await message.reply_text(text) - await message.reply_chat_action(ChatAction.TYPING) - data = await self._refresh_user_data(user, authkey=authkey) - await reply.edit_text(data) - return ConversationHandler.END - - @conversation.state(state=INPUT_URL) - @handler.message(filters=~filters.COMMAND, block=False) - async def import_data_from_message(self, update: Update, _: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - if message.document: - await message.reply_text("呜呜呜~本次导入不支持文件导入,请尝试获取连接") - return INPUT_URL - if not message.text: - await message.reply_text("呜呜呜~输入错误,请尝试重新获取连接") - return INPUT_URL - authkey = from_url_get_authkey(message.text) - reply = await message.reply_text("小派蒙正在从服务器获取数据,请稍后") - await message.reply_chat_action(ChatAction.TYPING) - text = await self._refresh_user_data(user, authkey=authkey) - await reply.edit_text(text) - return ConversationHandler.END - - @conversation.entry_point - @handler(CommandHandler, command="pay_log_delete", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^删除充值记录$") & filters.ChatType.PRIVATE, block=False) - async def command_start_delete(self, update: Update, _: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 删除充值记录命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号") - return ConversationHandler.END - _, status = await self.pay_log.load_history_info(str(user.id), str(client.uid), only_status=True) - if not status: - await message.reply_text("你还没有导入充值记录哦~") - return ConversationHandler.END - await message.reply_text("你确定要删除充值记录吗?(此项操作无法恢复),如果确定请发送 ”确定“,发送其他内容取消") - return CONFIRM_DELETE - - @conversation.state(state=CONFIRM_DELETE) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def command_confirm_delete(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - if message.text == "确定": - status = await self.pay_log.remove_history_info(str(user.id), str(context.chat_data["uid"])) - await message.reply_text("充值记录已删除" if status else "充值记录删除失败") - return ConversationHandler.END - await message.reply_text("已取消") - return ConversationHandler.END - - @handler(CommandHandler, command="pay_log_force_delete", block=False, admin=True) - async def command_pay_log_force_delete(self, update: Update, context: CallbackContext): - message = update.effective_message - args = self.get_args(context) - if not args: - await message.reply_text("请指定用户ID") - return - try: - cid = int(args[0]) - if cid < 0: - raise ValueError("Invalid cid") - client = await self.helper.get_genshin_client(cid, need_cookie=False) - if client is None: - await message.reply_text("该用户暂未绑定账号") - return - _, status = await self.pay_log.load_history_info(str(cid), str(client.uid), only_status=True) - if not status: - await message.reply_text("该用户还没有导入充值记录") - return - status = await self.pay_log.remove_history_info(str(cid), str(client.uid)) - await message.reply_text("充值记录已强制删除" if status else "充值记录删除失败") - except PayLogNotFound: - await message.reply_text("该用户还没有导入充值记录") - except (ValueError, IndexError): - await message.reply_text("用户ID 不合法") - - @handler(CommandHandler, command="pay_log_export", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^导出充值记录$") & filters.ChatType.PRIVATE, block=False) - async def command_start_export(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 导出充值记录命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - await message.reply_chat_action(ChatAction.TYPING) - path = self.pay_log.get_file_path(str(user.id), str(client.uid)) - if not path.exists(): - raise PayLogNotFound - await message.reply_chat_action(ChatAction.UPLOAD_DOCUMENT) - await message.reply_document(document=open(path, "rb+"), caption="充值记录导出文件") - except PayLogNotFound: - buttons = [ - [InlineKeyboardButton("点我导入", url=create_deep_linked_url(context.bot.username, "pay_log_import"))] - ] - await message.reply_text("派蒙没有找到你的充值记录,快来私聊派蒙导入吧~", reply_markup=InlineKeyboardMarkup(buttons)) - except PayLogAccountNotFound: - await message.reply_text("导出失败,可能文件包含的祈愿记录所属 uid 与你当前绑定的 uid 不同") - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号") - - @handler(CommandHandler, command="pay_log", block=False) - @handler(MessageHandler, filters=filters.Regex("^充值记录$"), block=False) - async def command_start_analysis(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 充值记录统计命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - await message.reply_chat_action(ChatAction.TYPING) - data = await self.pay_log.get_analysis(user.id, client) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - png_data = await self.template_service.render( - "genshin/pay_log/pay_log.html", data, full_page=True, query_selector=".container" - ) - await png_data.reply_photo(message) - except PayLogNotFound: - buttons = [ - [InlineKeyboardButton("点我导入", url=create_deep_linked_url(context.bot.username, "pay_log_import"))] - ] - await message.reply_text("派蒙没有找到你的充值记录,快来点击按钮私聊派蒙导入吧~", reply_markup=InlineKeyboardMarkup(buttons)) - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_uid"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) diff --git a/plugins/genshin/player_cards.py b/plugins/genshin/player_cards.py deleted file mode 100644 index 5751cc7..0000000 --- a/plugins/genshin/player_cards.py +++ /dev/null @@ -1,602 +0,0 @@ -import math -from typing import Any, List, Tuple, Union, Optional, TYPE_CHECKING - -from enkanetwork import ( - DigitType, - EnkaNetworkAPI, - EnkaNetworkResponse, - EnkaServerError, - Equipments, - EquipmentsType, - HTTPException, - Stats, - StatsPercentage, - VaildateUIDError, - EnkaServerMaintanance, - EnkaServerUnknown, - EnkaServerRateLimit, - EnkaPlayerNotFound, -) -from pydantic import BaseModel -from telegram import InlineKeyboardButton, InlineKeyboardMarkup -from telegram.constants import ChatAction -from telegram.ext import CommandHandler, MessageHandler, filters -from telegram.helpers import create_deep_linked_url - -from core.config import config -from core.dependence.assets import DEFAULT_EnkaAssets, AssetsService -from core.dependence.redisdb import RedisDB -from core.handler.callbackqueryhandler import CallbackQueryHandler -from core.plugin import Plugin, handler -from core.services.players import PlayersService -from core.services.template.services import TemplateService -from metadata.shortname import roleToName -from modules.playercards.file import PlayerCardsFile -from modules.playercards.helpers import ArtifactStatsTheory -from utils.enkanetwork import RedisCache -from utils.helpers import download_resource -from utils.log import logger -from utils.patch.aiohttp import AioHttpTimeoutException - -if TYPE_CHECKING: - from enkanetwork import CharacterInfo, EquipmentsStats - from telegram.ext import ContextTypes - from telegram import Update - -try: - import ujson as jsonlib -except ImportError: - import json as jsonlib - - -class PlayerCards(Plugin): - def __init__( - self, - player_service: PlayersService, - template_service: TemplateService, - assets_service: AssetsService, - redis: RedisDB, - ): - self.player_service = player_service - self.client = EnkaNetworkAPI(lang="chs", user_agent=config.enka_network_api_agent, cache=False) - self.cache = RedisCache(redis.client, key="plugin:player_cards:enka_network", ex=60) - self.player_cards_file = PlayerCardsFile() - self.assets_service = assets_service - self.template_service = template_service - self.kitsune: Optional[str] = None - - async def _update_enka_data(self, uid) -> Union[EnkaNetworkResponse, str]: - try: - data = await self.cache.get(uid) - if data is not None: - return EnkaNetworkResponse.parse_obj(data) - user = await self.client.http.fetch_user_by_uid(uid) - data = user["content"].decode("utf-8", "surrogatepass") # type: ignore - data = jsonlib.loads(data) - data = await self.player_cards_file.merge_info(uid, data) - await self.cache.set(uid, data) - return EnkaNetworkResponse.parse_obj(data) - except AioHttpTimeoutException: - error = "Enka.Network 服务请求超时,请稍后重试" - except EnkaServerRateLimit: - error = "Enka.Network 已对此API进行速率限制,请稍后重试" - except EnkaServerMaintanance: - error = "Enka.Network 正在维护,请等待5-8小时或1天" - except EnkaServerError: - error = "Enka.Network 服务请求错误,请稍后重试" - except EnkaServerUnknown: - error = "Enka.Network 服务瞬间爆炸,请稍后重试" - except EnkaPlayerNotFound: - error = "UID 未找到,可能为服务器抽风,请稍后重试" - except VaildateUIDError: - error = "未找到玩家,请检查您的UID/用户名" - except HTTPException: - error = "Enka.Network HTTP 服务请求错误,请稍后重试" - return error - - async def _load_history(self, uid) -> Optional[EnkaNetworkResponse]: - data = await self.player_cards_file.load_history_info(uid) - if data is None: - return None - return EnkaNetworkResponse.parse_obj(data) - - @handler(CommandHandler, command="player_card", block=False) - @handler(MessageHandler, filters=filters.Regex("^角色卡片查询(.*)"), block=False) - async def player_cards(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE") -> None: - user = update.effective_user - message = update.effective_message - args = self.get_args(context) - await message.reply_chat_action(ChatAction.TYPING) - player_info = await self.player_service.get_player(user.id) - if player_info is None: - buttons = [ - [ - InlineKeyboardButton( - "点我绑定账号", - url=create_deep_linked_url(context.bot.username, "set_uid"), - ) - ] - ] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", - reply_markup=InlineKeyboardMarkup(buttons), - ) - self.add_delete_message_job(reply_message, delay=30) - - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - data = await self._load_history(player_info.player_id) - if data is None: - if isinstance(self.kitsune, str): - photo = self.kitsune - else: - photo = open("resources/img/kitsune.png", "rb") - buttons = [ - [ - InlineKeyboardButton( - "更新面板", - callback_data=f"update_player_card|{user.id}|{player_info.player_id}", - ) - ] - ] - reply_message = await message.reply_photo( - photo=photo, - caption="角色列表未找到,请尝试点击下方按钮从 EnkaNetwork 更新角色列表", - reply_markup=InlineKeyboardMarkup(buttons), - ) - if reply_message.photo: - self.kitsune = reply_message.photo[-1].file_id - return - if len(args) == 1: - character_name = roleToName(args[0]) - logger.info( - "用户 %s[%s] 角色卡片查询命令请求 || character_name[%s] uid[%s]", - user.full_name, - user.id, - character_name, - player_info.player_id, - ) - else: - logger.info("用户 %s[%s] 角色卡片查询命令请求", user.full_name, user.id) - ttl = await self.cache.ttl(player_info.player_id) - - buttons = self.gen_button(data, user.id, player_info.player_id, update_button=ttl < 0) - if isinstance(self.kitsune, str): - photo = self.kitsune - else: - photo = open("resources/img/kitsune.png", "rb") - reply_message = await message.reply_photo( - photo=photo, - caption="请选择你要查询的角色", - reply_markup=InlineKeyboardMarkup(buttons), - ) - if reply_message.photo: - self.kitsune = reply_message.photo[-1].file_id - return - for characters in data.characters: - if characters.name == character_name: - break - else: - await message.reply_text(f"角色展柜中未找到 {character_name} ,请检查角色是否存在于角色展柜中,或者等待角色数据更新后重试") - return - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - render_result = await RenderTemplate( - player_info.player_id, characters, self.template_service - ).render() # pylint: disable=W0631 - await render_result.reply_photo( - message, - filename=f"player_card_{player_info.player_id}_{character_name}.png", - ) - - @handler(CallbackQueryHandler, pattern=r"^update_player_card\|", block=False) - async def update_player_card(self, update: "Update", _: "ContextTypes.DEFAULT_TYPE") -> None: - user = update.effective_user - message = update.effective_message - callback_query = update.callback_query - - async def get_player_card_callback(callback_query_data: str) -> Tuple[int, int]: - _data = callback_query_data.split("|") - _user_id = int(_data[1]) - _uid = int(_data[2]) - logger.debug("callback_query_data函数返回 user_id[%s] uid[%s]", _user_id, _uid) - return _user_id, _uid - - user_id, uid = await get_player_card_callback(callback_query.data) - if user.id != user_id: - await callback_query.answer(text="这不是你的按钮!\n" + config.notice.user_mismatch, show_alert=True) - return - - ttl = await self.cache.ttl(uid) - - if ttl > 0: - await callback_query.answer(text=f"请等待 {ttl} 秒后再更新", show_alert=True) - return - - await message.reply_chat_action(ChatAction.TYPING) - await callback_query.answer(text="正在从 EnkaNetwork 获取角色列表 请不要重复点击按钮") - data = await self._update_enka_data(uid) - if isinstance(data, str): - await callback_query.answer(text=data, show_alert=True) - return - if data.characters is None: - await message.delete() - await callback_query.answer("请先将角色加入到角色展柜并允许查看角色详情后再使用此功能,如果已经添加了角色,请等待角色数据更新后重试", show_alert=True) - return - buttons = self.gen_button(data, user.id, uid, update_button=False) - render_data = await self.parse_holder_data(data) - holder = await self.template_service.render( - "genshin/player_card/holder.html", - render_data, - viewport={"width": 750, "height": 580}, - ttl=60 * 10, - caption="更新角色列表成功,请选择你要查询的角色", - ) - await holder.edit_media(message, reply_markup=InlineKeyboardMarkup(buttons)) - - @handler(CallbackQueryHandler, pattern=r"^get_player_card\|", block=False) - async def get_player_cards(self, update: "Update", _: "ContextTypes.DEFAULT_TYPE") -> None: - callback_query = update.callback_query - user = callback_query.from_user - message = callback_query.message - - async def get_player_card_callback( - callback_query_data: str, - ) -> Tuple[str, int, int]: - _data = callback_query_data.split("|") - _user_id = int(_data[1]) - _uid = int(_data[2]) - _result = _data[3] - logger.debug( - "callback_query_data函数返回 result[%s] user_id[%s] uid[%s]", - _result, - _user_id, - _uid, - ) - return _result, _user_id, _uid - - result, user_id, uid = await get_player_card_callback(callback_query.data) - if user.id != user_id: - await callback_query.answer(text="这不是你的按钮!\n" + config.notice.user_mismatch, show_alert=True) - return - if result == "empty_data": - await callback_query.answer(text="此按钮不可用", show_alert=True) - return - page = 0 - if result.isdigit(): - page = int(result) - logger.info( - "用户 %s[%s] 角色卡片查询命令请求 || page[%s] uid[%s]", - user.full_name, - user.id, - page, - uid, - ) - else: - logger.info( - "用户 %s[%s] 角色卡片查询命令请求 || character_name[%s] uid[%s]", - user.full_name, - user.id, - result, - uid, - ) - data = await self._load_history(uid) - if isinstance(data, str): - await message.reply_text(data) - return - if data.characters is None: - await message.delete() - await callback_query.answer("请先将角色加入到角色展柜并允许查看角色详情后再使用此功能,如果已经添加了角色,请等待角色数据更新后重试", show_alert=True) - return - if page: - buttons = self.gen_button(data, user.id, uid, page, not await self.cache.ttl(uid) > 0) - await message.edit_reply_markup(reply_markup=InlineKeyboardMarkup(buttons)) - await callback_query.answer(f"已切换到第 {page} 页", show_alert=False) - return - for characters in data.characters: - if characters.name == result: - break - else: - await message.delete() - await callback_query.answer(f"角色展柜中未找到 {result} ,请检查角色是否存在于角色展柜中,或者等待角色数据更新后重试", show_alert=True) - return - await callback_query.answer(text="正在渲染图片中 请稍等 请不要重复点击按钮", show_alert=False) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - render_result = await RenderTemplate(uid, characters, self.template_service).render() # pylint: disable=W0631 - render_result.filename = f"player_card_{uid}_{result}.png" - await render_result.edit_media(message) - - @staticmethod - def gen_button( - data: EnkaNetworkResponse, - user_id: Union[str, int], - uid: int, - page: int = 1, - update_button: bool = True, - ) -> List[List[InlineKeyboardButton]]: - """生成按钮""" - buttons = [] - if data.characters: - buttons = [ - InlineKeyboardButton( - value.name, - callback_data=f"get_player_card|{user_id}|{uid}|{value.name}", - ) - for value in data.characters - if value.name - ] - all_buttons = [buttons[i : i + 4] for i in range(0, len(buttons), 4)] - send_buttons = all_buttons[(page - 1) * 3 : page * 3] - last_page = page - 1 if page > 1 else 0 - all_page = math.ceil(len(all_buttons) / 3) - next_page = page + 1 if page < all_page and all_page > 1 else 0 - last_button = [] - if last_page: - last_button.append( - InlineKeyboardButton( - "<< 上一页", - callback_data=f"get_player_card|{user_id}|{uid}|{last_page}", - ) - ) - if last_page or next_page: - last_button.append( - InlineKeyboardButton( - f"{page}/{all_page}", - callback_data=f"get_player_card|{user_id}|{uid}|empty_data", - ) - ) - if update_button: - last_button.append( - InlineKeyboardButton( - "更新面板", - callback_data=f"update_player_card|{user_id}|{uid}", - ) - ) - if next_page: - last_button.append( - InlineKeyboardButton( - "下一页 >>", - callback_data=f"get_player_card|{user_id}|{uid}|{next_page}", - ) - ) - if last_button: - send_buttons.append(last_button) - return send_buttons - - async def parse_holder_data(self, data: EnkaNetworkResponse) -> dict: - """ - 生成渲染所需数据 - """ - characters_data = [] - for idx, character in enumerate(data.characters): - characters_data.append( - { - "level": character.level, - "element": character.element.name, - "constellation": character.constellations_unlocked, - "rarity": character.rarity, - "icon": (await self.assets_service.avatar(character.id).icon()).as_uri(), - } - ) - if idx > 6: - break - return { - "uid": data.uid, - "level": data.player.level, - "signature": data.player.signature, - "characters": characters_data, - } - - -class Artifact(BaseModel): - """在 enka Equipments model 基础上扩展了圣遗物评分数据""" - - equipment: Equipments - # 圣遗物评分 - score: float = 0 - # 圣遗物评级 - score_label: str = "E" - # 圣遗物评级颜色 - score_class: str = "" - # 圣遗物单行属性评分 - substat_scores: List[float] - - def __init__(self, **kwargs): - super().__init__(**kwargs) - for substat_scores in self.substat_scores: - self.score += substat_scores - self.score = round(self.score, 1) - - for r in ( - ("D", 10), - ("C", 16.5), - ("B", 23.1), - ("A", 29.7), - ("S", 36.3), - ("SS", 42.9), - ("SSS", 49.5), - ("ACE", 56.1), - ("ACE²", 66), - ): - if self.score >= r[1]: - self.score_label = r[0] - self.score_class = self.get_score_class(r[0]) - - @staticmethod - def get_score_class(label: str) -> str: - mapping = { - "D": "text-neutral-400", - "C": "text-neutral-200", - "B": "text-violet-400", - "A": "text-violet-400", - "S": "text-yellow-400", - "SS": "text-yellow-400", - "SSS": "text-yellow-400", - "ACE": "text-red-500", - "ACE²": "text-red-500", - } - return mapping.get(label, "text-neutral-400") - - -class RenderTemplate: - def __init__( - self, - uid: Union[int, str], - character: "CharacterInfo", - template_service: TemplateService = None, - ): - self.uid = uid - self.template_service = template_service - # 因为需要替换线上 enka 图片地址为本地地址,先克隆数据,避免修改原数据 - self.character = character.copy(deep=True) - - async def render(self): - # 缓存所有图片到本地 - await self.cache_images() - - artifacts = self.find_artifacts() - artifact_total_score: float = sum(artifact.score for artifact in artifacts) - - artifact_total_score = round(artifact_total_score, 1) - - artifact_total_score_label: str = "E" - for r in ( - ("D", 10), - ("C", 16.5), - ("B", 23.1), - ("A", 29.7), - ("S", 36.3), - ("SS", 42.9), - ("SSS", 49.5), - ("ACE", 56.1), - ("ACE²", 66), - ): - if artifact_total_score / 5 >= r[1]: - artifact_total_score_label = r[0] - - data = { - "uid": self.uid, - "character": self.character, - "stats": await self.de_stats(), - "weapon": self.find_weapon(), - # 圣遗物评分 - "artifact_total_score": artifact_total_score, - # 圣遗物评级 - "artifact_total_score_label": artifact_total_score_label, - # 圣遗物评级颜色 - "artifact_total_score_class": Artifact.get_score_class(artifact_total_score_label), - "artifacts": artifacts, - # 需要在模板中使用的 enum 类型 - "DigitType": DigitType, - } - - # html = await self.template_service.render_async( - # "genshin/player_card/player_card.html", data - # ) - # logger.debug(html) - - return await self.template_service.render( - "genshin/player_card/player_card.html", - data, - {"width": 950, "height": 1080}, - full_page=True, - query_selector=".text-neutral-200", - ttl=7 * 24 * 60 * 60, - ) - - async def de_stats(self) -> List[Tuple[str, Any]]: - stats = self.character.stats - items: List[Tuple[str, Any]] = [] - logger.debug(self.character.stats) - - # items.append(("基础生命值", stats.BASE_HP.to_rounded())) - items.append(("生命值", stats.FIGHT_PROP_MAX_HP.to_rounded())) - # items.append(("基础攻击力", stats.FIGHT_PROP_BASE_ATTACK.to_rounded())) - items.append(("攻击力", stats.FIGHT_PROP_CUR_ATTACK.to_rounded())) - # items.append(("基础防御力", stats.FIGHT_PROP_BASE_DEFENSE.to_rounded())) - items.append(("防御力", stats.FIGHT_PROP_CUR_DEFENSE.to_rounded())) - items.append(("暴击率", stats.FIGHT_PROP_CRITICAL.to_percentage_symbol())) - items.append( - ( - "暴击伤害", - stats.FIGHT_PROP_CRITICAL_HURT.to_percentage_symbol(), - ) - ) - items.append( - ( - "元素充能效率", - stats.FIGHT_PROP_CHARGE_EFFICIENCY.to_percentage_symbol(), - ) - ) - items.append(("元素精通", stats.FIGHT_PROP_ELEMENT_MASTERY.to_rounded())) - - # 查找元素伤害加成和治疗加成 - max_stat = StatsPercentage() # 用于记录最高元素伤害加成 避免武器特效影响 - for stat in stats: - if 40 <= stat[1].id <= 46: # 元素伤害加成 - if max_stat.value <= stat[1].value: - max_stat = stat[1] - elif stat[1].id == 29: # 物理伤害加成 - pass - elif stat[1].id != 26: # 治疗加成 - continue - value = stat[1].to_rounded() if isinstance(stat[1], Stats) else stat[1].to_percentage_symbol() - if value in ("0%", 0): - continue - name = DEFAULT_EnkaAssets.get_hash_map(stat[0]) - if name is None: - continue - items.append((name, value)) - - if max_stat.id != 0: - for item in items: - if "元素伤害加成" in item[0] and max_stat.to_percentage_symbol() != item[1]: - items.remove(item) - - return items - - async def cache_images(self) -> None: - """缓存所有图片到本地""" - # TODO: 并发下载所有资源 - c = self.character - # 角色 - c.image.banner.url = await download_resource(c.image.banner.url) - - # 技能 - for item in c.skills: - item.icon.url = await download_resource(item.icon.url) - - # 命座 - for item in c.constellations: - item.icon.url = await download_resource(item.icon.url) - - # 装备,包括圣遗物和武器 - for item in c.equipments: - item.detail.icon.url = await download_resource(item.detail.icon.url) - - def find_weapon(self) -> Optional[Equipments]: - """在 equipments 数组中找到武器,equipments 数组包含圣遗物和武器""" - for item in self.character.equipments: - if item.type == EquipmentsType.WEAPON: - return item - return None - - def find_artifacts(self) -> List[Artifact]: - """在 equipments 数组中找到圣遗物,并转换成带有分数的 model。equipments 数组包含圣遗物和武器""" - - stats = ArtifactStatsTheory(self.character.name) - - def substat_score(s: "EquipmentsStats") -> float: - return stats.theory(s) - - return [ - Artifact( - equipment=e, - # 圣遗物单行属性评分 - substat_scores=[substat_score(s) for s in e.detail.substats], - ) - for e in self.character.equipments - if e.type == EquipmentsType.ARTIFACT - ] diff --git a/plugins/genshin/quiz.py b/plugins/genshin/quiz.py deleted file mode 100644 index 594b59b..0000000 --- a/plugins/genshin/quiz.py +++ /dev/null @@ -1,68 +0,0 @@ -import random - -from telegram import Poll, Update -from telegram.constants import ChatAction -from telegram.error import BadRequest -from telegram.ext import filters, CallbackContext - -from core.plugin import Plugin, handler -from core.services.quiz.services import QuizService -from core.services.users.services import UserService -from utils.log import logger - -__all__ = ("QuizPlugin",) - - -class QuizPlugin(Plugin): - """派蒙的十万个为什么""" - - def __init__(self, quiz_service: QuizService = None, user_service: UserService = None): - self.user_service = user_service - self.quiz_service = quiz_service - self.time_out = 120 - - @handler.message(filters=filters.Regex("来一道题")) - @handler.command(command="quiz", block=False) - async def command_start(self, update: Update, _: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - chat = update.effective_chat - await message.reply_chat_action(ChatAction.TYPING) - question_id_list = await self.quiz_service.get_question_id_list() - if filters.ChatType.GROUPS.filter(message): - logger.info("用户 %s[%s] 在群 %s[%s] 发送挑战问题命令请求", user.full_name, user.id, chat.title, chat.id) - if len(question_id_list) == 0: - return None - if len(question_id_list) == 0: - return None - question_id = random.choice(question_id_list) # nosec - question = await self.quiz_service.get_question(question_id) - _options = [] - correct_option = None - for answer in question.answers: - _options.append(answer.text) - if answer.is_correct: - correct_option = answer.text - if correct_option is None: - question_id = question["question_id"] - logger.warning("Quiz模块 correct_option 异常 question_id[%s]", question_id) - return None - random.shuffle(_options) - index = _options.index(correct_option) - try: - poll_message = await message.reply_poll( - question.text, - _options, - correct_option_id=index, - is_anonymous=False, - open_period=self.time_out, - type=Poll.QUIZ, - ) - except BadRequest as exc: - if "Not enough rights" in exc.message: - poll_message = await message.reply_text("出错了呜呜呜 ~ 权限不足,请请检查投票权限是否开启") - else: - raise exc - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(message, delay=300) - self.add_delete_message_job(poll_message, delay=300) diff --git a/plugins/genshin/reg_time.py b/plugins/genshin/reg_time.py deleted file mode 100644 index 863e66b..0000000 --- a/plugins/genshin/reg_time.py +++ /dev/null @@ -1,122 +0,0 @@ -from datetime import datetime - -from genshin import Client, GenshinException, InvalidCookies -from genshin.client.routes import InternationalRoute # noqa F401 -from genshin.utility import recognize_genshin_server, get_ds_headers -from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup -from telegram.constants import ParseMode -from telegram.ext import CallbackContext -from telegram.ext import filters -from telegram.helpers import create_deep_linked_url - -from core.dependence.redisdb import RedisDB -from core.plugin import Plugin, handler -from core.services.cookies import CookiesService -from core.services.users.services import UserService -from plugins.tools.genshin import GenshinHelper, PlayerNotFoundError, CookiesNotFoundError -from utils.genshin import fetch_hk4e_token_by_cookie, recognize_genshin_game_biz -from utils.log import logger - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - -REG_TIME_URL = InternationalRoute( - overseas="https://sg-hk4e-api.hoyoverse.com/event/e20220928anniversary/game_data", - chinese="https://hk4e-api.mihoyo.com/event/e20220928anniversary/game_data", -) - - -class RegTimePlugin(Plugin): - """查询原神注册时间""" - - def __init__( - self, - user_service: UserService = None, - cookie_service: CookiesService = None, - helper: GenshinHelper = None, - redis: RedisDB = None, - ): - self.cache = redis.client - self.cache_key = "plugin:reg_time:" - self.user_service = user_service - self.cookie_service = cookie_service - self.helper = helper - - @staticmethod - async def get_reg_time(client: Client) -> str: - """获取原神注册时间""" - await fetch_hk4e_token_by_cookie(client) - url = REG_TIME_URL.get_url(client.region) - params = { - "game_biz": recognize_genshin_game_biz(client.uid), - "lang": "zh-cn", - "badge_uid": client.uid, - "badge_region": recognize_genshin_server(client.uid), - } - headers = get_ds_headers( - client.region, - params=params, - lang="zh-cn", - ) - data = await client.cookie_manager.request(url, method="GET", params=params, headers=headers) - if time := jsonlib.loads(data.get("data", "{}")).get("1", 0): - return datetime.fromtimestamp(time).strftime("%Y-%m-%d %H:%M:%S") - raise RegTimePlugin.NotFoundRegTimeError - - async def get_reg_time_from_cache(self, client: Client) -> str: - """从缓存中获取原神注册时间""" - if reg_time := await self.cache.get(f"{self.cache_key}{client.uid}"): - return reg_time.decode("utf-8") - reg_time = await self.get_reg_time(client) - await self.cache.set(f"{self.cache_key}{client.uid}", reg_time) - return reg_time - - @handler.command("reg_time", block=False) - @handler.message(filters.Regex(r"^原神账号注册时间$"), block=False) - async def reg_time(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 原神注册时间命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id) - game_uid = client.uid - try: - reg_time = await self.get_reg_time_from_cache(client) - except InvalidCookies as exc: - await client.get_genshin_user(client.uid) - logger.warning("用户 %s[%s] 无法请求注册时间 API返回信息为 [%s]%s", user.full_name, user.id, exc.retcode, exc.original) - reply_message = await message.reply_text("出错了呜呜呜 ~ 当前访问令牌无法请求角色数数据,") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - return - await message.reply_text(f"你的原神账号 [{game_uid}] 注册时间为:{reg_time}") - except (PlayerNotFoundError, CookiesNotFoundError): - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_msg = await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙绑定账号", - reply_markup=InlineKeyboardMarkup(buttons), - parse_mode=ParseMode.HTML, - ) - self.add_delete_message_job(reply_msg, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text( - "此功能需要绑定cookie后使用,请先私聊派蒙进行绑定", - parse_mode=ParseMode.HTML, - reply_markup=InlineKeyboardMarkup(buttons), - ) - except GenshinException as exc: - if exc.retcode == -501101: - await message.reply_text("当前角色冒险等阶未达到10级,暂时无法获取信息") - else: - raise exc - except RegTimePlugin.NotFoundRegTimeError: - await message.reply_text("未找到你的原神账号 [{game_uid}] 注册时间,仅限 2022 年 10 月 之前注册的账号") - - class NotFoundRegTimeError(Exception): - """未找到注册时间""" diff --git a/plugins/genshin/stats.py b/plugins/genshin/stats.py deleted file mode 100644 index 89a3ae4..0000000 --- a/plugins/genshin/stats.py +++ /dev/null @@ -1,138 +0,0 @@ -import random -from typing import Optional - -from genshin import Client, GenshinException -from genshin.models import GenshinUserStats -from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, filters -from telegram.helpers import create_deep_linked_url - -from core.plugin import Plugin, handler -from core.services.cookies.error import TooManyRequestPublicCookies -from core.services.template.models import RenderResult -from core.services.template.services import TemplateService -from plugins.tools.genshin import GenshinHelper, PlayerNotFoundError, CookiesNotFoundError -from utils.log import logger - -__all__ = ("PlayerStatsPlugins",) - - -class PlayerStatsPlugins(Plugin): - """玩家统计查询""" - - def __init__( - self, - template: TemplateService, - helper: GenshinHelper, - ): - self.template_service = template - self.helper = helper - - @handler.command("stats", block=False) - @handler.message(filters.Regex("^玩家统计查询(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> Optional[int]: - user = update.effective_user - message = update.effective_message - logger.info("用户 %s[%s] 查询游戏用户命令请求", user.full_name, user.id) - uid: Optional[int] = None - try: - args = context.args - if args is not None and len(args) >= 1: - uid = int(args[0]) - except ValueError as exc: - logger.warning("获取 uid 发生错误! 错误信息为 %s", str(exc)) - await message.reply_text("输入错误") - return - try: - try: - client = await self.helper.get_genshin_client(user.id) - except CookiesNotFoundError: - client, uid = await self.helper.get_public_genshin_client(user.id) - render_result = await self.render(client, uid) - except PlayerNotFoundError: - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - return - except GenshinException as exc: - if exc.retcode == 1034 and uid: - await message.reply_text("出错了呜呜呜 ~ 请稍后重试") - return - raise exc - except TooManyRequestPublicCookies: - await message.reply_text("用户查询次数过多 请稍后重试") - return - except AttributeError as exc: - logger.error("角色数据有误") - logger.exception(exc) - await message.reply_text("角色数据有误 估计是派蒙晕了") - return - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - await render_result.reply_photo(message, filename=f"{client.uid}.png", allow_sending_without_reply=True) - - async def render(self, client: Client, uid: Optional[int] = None) -> RenderResult: - if uid is None: - uid = client.uid - - user_info = await client.get_genshin_user(uid) - logger.debug(user_info) - - # 因为需要替换线上图片地址为本地地址,先克隆数据,避免修改原数据 - user_info = user_info.copy(deep=True) - - data = { - "uid": uid, - "info": user_info.info, - "stats": user_info.stats, - "explorations": user_info.explorations, - "teapot": user_info.teapot, - "stats_labels": [ - ("活跃天数", "days_active"), - ("成就达成数", "achievements"), - ("获取角色数", "characters"), - ("深境螺旋", "spiral_abyss"), - ("解锁传送点", "unlocked_waypoints"), - ("解锁秘境", "unlocked_domains"), - ("奇馈宝箱数", "remarkable_chests"), - ("华丽宝箱数", "luxurious_chests"), - ("珍贵宝箱数", "precious_chests"), - ("精致宝箱数", "exquisite_chests"), - ("普通宝箱数", "common_chests"), - ("风神瞳", "anemoculi"), - ("岩神瞳", "geoculi"), - ("雷神瞳", "electroculi"), - ("草神瞳", "dendroculi"), - ], - "style": random.choice(["mondstadt", "liyue"]), # nosec - } - - # html = await self.template_service.render_async( - # "genshin/stats/stats.html", data - # ) - # logger.debug(html) - - await self.cache_images(user_info) - - return await self.template_service.render( - "genshin/stats/stats.html", - data, - {"width": 650, "height": 800}, - full_page=True, - ) - - async def cache_images(self, data: GenshinUserStats) -> None: - """缓存所有图片到本地""" - # TODO: 并发下载所有资源 - - # 探索地区 - for item in data.explorations: - item.__config__.allow_mutation = True - item.icon = await self.download_resource(item.icon) - item.cover = await self.download_resource(item.cover) diff --git a/plugins/genshin/weapon.py b/plugins/genshin/weapon.py deleted file mode 100644 index edfa983..0000000 --- a/plugins/genshin/weapon.py +++ /dev/null @@ -1,143 +0,0 @@ -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, CommandHandler, MessageHandler, filters - -from core.dependence.assets import AssetsCouldNotFound, AssetsService -from core.plugin import Plugin, handler -from core.services.search.models import WeaponEntry -from core.services.search.services import SearchServices -from core.services.template.services import TemplateService -from core.services.wiki.services import WikiService -from metadata.genshin import honey_id_to_game_id -from metadata.shortname import weaponToName, weapons as _weapons_data -from modules.wiki.weapon import Weapon -from utils.log import logger - - -class WeaponPlugin(Plugin): - """武器查询""" - - KEYBOARD = [[InlineKeyboardButton(text="查看武器列表并查询", switch_inline_query_current_chat="查看武器列表并查询")]] - - def __init__( - self, - template_service: TemplateService = None, - wiki_service: WikiService = None, - assets_service: AssetsService = None, - search_service: SearchServices = None, - ): - self.wiki_service = wiki_service - self.template_service = template_service - self.assets_service = assets_service - self.search_service = search_service - - @handler(CommandHandler, command="weapon", block=False) - @handler(MessageHandler, filters=filters.Regex("^武器查询(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - if len(args) >= 1: - weapon_name = args[0] - else: - reply_message = await message.reply_text("请回复你要查询的武器", reply_markup=InlineKeyboardMarkup(self.KEYBOARD)) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - weapon_name = weaponToName(weapon_name) - logger.info("用户 %s[%s] 查询角色攻略命令请求 weapon_name[%s]", user.full_name, user.id, weapon_name) - weapons_list = await self.wiki_service.get_weapons_list() - for weapon in weapons_list: - if weapon.name == weapon_name: - weapon_data = weapon - break - else: - reply_message = await message.reply_text( - f"没有找到 {weapon_name}", reply_markup=InlineKeyboardMarkup(self.KEYBOARD) - ) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - await message.reply_chat_action(ChatAction.TYPING) - - async def input_template_data(_weapon_data: Weapon): - if weapon.rarity > 2: - bonus = _weapon_data.stats[-1].bonus - if "%" in bonus: - bonus = str(round(float(bonus.rstrip("%")))) + "%" - else: - bonus = str(round(float(bonus))) - _template_data = { - "weapon_name": _weapon_data.name, - "weapon_rarity": _weapon_data.rarity, - "weapon_info_type_img": await self.download_resource(_weapon_data.weapon_type.icon_url()), - "progression_secondary_stat_value": bonus, - "progression_secondary_stat_name": _weapon_data.attribute.type.value, - "weapon_info_source_img": ( - await self.assets_service.weapon(honey_id_to_game_id(_weapon_data.id, "weapon")).icon() - ).as_uri(), - "weapon_info_max_level": _weapon_data.stats[-1].level, - "progression_base_atk": round(_weapon_data.stats[-1].ATK), - "weapon_info_source_list": [ - (await self.assets_service.material(honey_id_to_game_id(mid, "material")).icon()).as_uri() - for mid in _weapon_data.ascension[-3:] - ], - "special_ability_name": _weapon_data.affix.name, - "special_ability_info": _weapon_data.affix.description[0], - "weapon_description": _weapon_data.description, - } - else: - _template_data = { - "weapon_name": _weapon_data.name, - "weapon_rarity": _weapon_data.rarity, - "weapon_info_type_img": await self.download_resource(_weapon_data.weapon_type.icon_url()), - "progression_secondary_stat_value": " ", - "progression_secondary_stat_name": "无其它属性加成", - "weapon_info_source_img": ( - await self.assets_service.weapon(honey_id_to_game_id(_weapon_data.id, "weapon")).icon() - ).as_uri(), - "weapon_info_max_level": _weapon_data.stats[-1].level, - "progression_base_atk": round(_weapon_data.stats[-1].ATK), - "weapon_info_source_list": [ - (await self.assets_service.material(honey_id_to_game_id(mid, "material")).icon()).as_uri() - for mid in _weapon_data.ascension[-3:] - ], - "special_ability_name": "", - "special_ability_info": "", - "weapon_description": _weapon_data.description, - } - return _template_data - - try: - template_data = await input_template_data(weapon_data) - except AssetsCouldNotFound as exc: - logger.warning("%s weapon_name[%s]", exc.message, weapon_name) - reply_message = await message.reply_text(f"数据库中没有找到 {weapon_name}") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message) - self.add_delete_message_job(reply_message) - return - png_data = await self.template_service.render( - "genshin/weapon/weapon.html", template_data, {"width": 540, "height": 540}, ttl=31 * 24 * 60 * 60 - ) - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - reply_photo = await png_data.reply_photo( - message, - filename=f"{template_data['weapon_name']}.png", - allow_sending_without_reply=True, - ) - if reply_photo.photo: - description = weapon_data.story - if description: - photo_file_id = reply_photo.photo[0].file_id - tags = _weapons_data.get(weapon_name) - entry = WeaponEntry( - key=f"plugin:weapon:{weapon_name}", - title=weapon_name, - description=description, - tags=tags, - photo_file_id=photo_file_id, - ) - await self.search_service.add_entry(entry) diff --git a/plugins/genshin/wish.py b/plugins/genshin/wish.py deleted file mode 100644 index 298b3e1..0000000 --- a/plugins/genshin/wish.py +++ /dev/null @@ -1,324 +0,0 @@ -import asyncio -import re -from datetime import datetime -from typing import Any, List, Optional, Tuple, Union - -from bs4 import BeautifulSoup -from telegram import Update -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, CommandHandler, MessageHandler, filters - -from core.dependence.assets import AssetsService -from core.dependence.redisdb import RedisDB -from core.plugin import Plugin, handler -from core.services.template.services import TemplateService -from metadata.genshin import AVATAR_DATA, WEAPON_DATA, avatar_to_game_id, weapon_to_game_id -from metadata.shortname import weaponToName -from modules.apihelper.client.components.gacha import Gacha as GachaClient -from modules.apihelper.models.genshin.gacha import GachaInfo -from modules.gacha.banner import BannerType, GachaBanner -from modules.gacha.player.info import PlayerGachaInfo -from modules.gacha.system import BannerSystem -from utils.log import logger - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - - -class GachaNotFound(Exception): - """卡池未找到""" - - def __init__(self, gacha_name: str): - self.gacha_name = gacha_name - super().__init__(f"{gacha_name} gacha not found") - - -class GachaDataFound(Exception): - """卡池数据未找到""" - - def __init__(self, item_id: int): - self.item_id = item_id - super().__init__(f"item_id[{item_id}] data not found") - - -class GachaRedis: - def __init__(self, redis: RedisDB): - self.client = redis.client - self.qname = "plugin:gacha:" - - async def get(self, user_id: int) -> PlayerGachaInfo: - data = await self.client.get(f"{self.qname}{user_id}") - if data is None: - return PlayerGachaInfo() - return PlayerGachaInfo(**jsonlib.loads(data)) - - async def set(self, user_id: int, player_gacha_info: PlayerGachaInfo): - value = player_gacha_info.json() - await self.client.set(f"{self.qname}{user_id}", value) - - -class WishSimulatorHandle: - def __init__(self): - self.hyperion = GachaClient() - - async def de_banner(self, gacha_id: str, gacha_type: int) -> Optional[GachaBanner]: - gacha_info = await self.hyperion.get_gacha_info(gacha_id) - banner = GachaBanner() - banner.banner_id = gacha_id - banner.title, banner.html_title = self.de_title(gacha_info["title"]) - r5_up_items = gacha_info.get("r5_up_items") - if r5_up_items is not None: - for r5_up_item in r5_up_items: - if r5_up_item["item_type"] == "角色": - banner.rate_up_items5.append(avatar_to_game_id(r5_up_item["item_name"])) - elif r5_up_item["item_type"] == "武器": - banner.rate_up_items5.append(weapon_to_game_id(r5_up_item["item_name"])) - r5_prob_list = gacha_info.get("r5_prob_list") - if r5_prob_list is not None: - for r5_prob in gacha_info.get("r5_prob_list", []): - if r5_prob["item_type"] == "角色": - banner.fallback_items5_pool1.append(avatar_to_game_id(r5_prob["item_name"])) - elif r5_prob["item_type"] == "武器": - banner.fallback_items5_pool1.append(weapon_to_game_id(r5_prob["item_name"])) - r4_up_items = gacha_info.get("r4_up_items") - if r4_up_items is not None: - for r4_up_item in r4_up_items: - if r4_up_item["item_type"] == "角色": - banner.rate_up_items4.append(avatar_to_game_id(r4_up_item["item_name"])) - elif r4_up_item["item_type"] == "武器": - banner.rate_up_items4.append(weapon_to_game_id(r4_up_item["item_name"])) - r4_prob_list = gacha_info.get("r4_prob_list") - if r4_prob_list is not None: - for r4_prob in r4_prob_list: - if r4_prob["item_type"] == "角色": - banner.fallback_items4_pool1.append(avatar_to_game_id(r4_prob["item_name"])) - elif r4_prob["item_type"] == "武器": - banner.fallback_items4_pool1.append(weapon_to_game_id(r4_prob["item_name"])) - if gacha_type in {301, 400}: - banner.wish_max_progress = 1 - banner.banner_type = BannerType.EVENT - banner.weight4 = ((1, 510), (8, 510), (10, 10000)) - banner.weight5 = ((1, 60), (73, 60), (90, 10000)) - elif gacha_type == 302: - banner.wish_max_progress = 2 - banner.banner_type = BannerType.WEAPON - banner.weight4 = ((1, 600), (7, 600), (10, 10000)) - banner.weight5 = ((1, 70), (62, 70), (90, 10000)) - else: - banner.banner_type = BannerType.STANDARD - return banner - - async def gacha_base_info(self, gacha_name: str = "角色活动", default: bool = False) -> GachaInfo: - gacha_list_info = await self.hyperion.get_gacha_list_info() - now = datetime.now() - for gacha in gacha_list_info: - if gacha.gacha_name == gacha_name and gacha.begin_time <= now <= gacha.end_time: - return gacha - else: # pylint: disable=W0120 - if default and len(gacha_list_info) > 0: - return gacha_list_info[0] - raise GachaNotFound(gacha_name) - - @staticmethod - def de_title(title: str) -> Union[Tuple[str, None], Tuple[str, Any]]: - title_html = BeautifulSoup(title, "lxml") - re_color = re.search(r"", title, flags=0) - if re_color is None: - return title_html.text, None - color = re_color[1] - title_html.color.name = "span" - title_html.span["style"] = f"color:#{color};" - return title_html.text, title_html.p - - -class WishSimulatorPlugin(Plugin): - """抽卡模拟器(非首模拟器/减寿模拟器)""" - - def __init__(self, assets: AssetsService, template_service: TemplateService, redis: RedisDB): - self.gacha_db = GachaRedis(redis) - self.handle = WishSimulatorHandle() - self.banner_system = BannerSystem() - self.template_service = template_service - self.banner_cache = {} - self._look = asyncio.Lock() - self.assets_service = assets - - async def get_banner(self, gacha_base_info: GachaInfo): - async with self._look: - banner = self.banner_cache.get(gacha_base_info.gacha_id) - if banner is None: - banner = await self.handle.de_banner(gacha_base_info.gacha_id, gacha_base_info.gacha_type) - self.banner_cache.setdefault(gacha_base_info.gacha_id, banner) - return banner - - async def de_item_list(self, item_list: List[int]) -> List[dict]: - gacha_item: List[dict] = [] - for item_id in item_list: - if item_id is None: - continue - if 10000 <= item_id <= 100000: - data = WEAPON_DATA.get(str(item_id)) - avatar = self.assets_service.weapon(item_id) - gacha = await avatar.gacha() - if gacha is None: - raise GachaDataFound(item_id) - data.setdefault("url", gacha.as_uri()) - gacha_item.append(data) - elif 10000000 <= item_id <= 19999999: - data = AVATAR_DATA.get(str(item_id)) - avatar = self.assets_service.avatar(item_id) - gacha = await avatar.gacha_card() - if gacha is None: - raise GachaDataFound(item_id) - data.setdefault("url", gacha.as_uri()) - gacha_item.append(data) - return gacha_item - - async def shutdown(self) -> None: - pass - # todo 目前清理消息无法执行 因为先停止Job导致无法获取全部信息 - # logger.info("正在清理消息") - # job_queue = self.application.telegram.job_queue - # jobs = job_queue.jobs() - # for job in jobs: - # if "wish_simulator" in job.name and not job.removed: - # logger.info("当前Job name %s", job.name) - # try: - # await job.run(job_queue.application) - # except CancelledError: - # continue - # except Exception as exc: - # logger.warning("执行失败 %", str(exc)) - # else: - # logger.info("Jobs为空") - # logger.success("清理卡池消息成功") - - @handler(CommandHandler, command="wish", block=False) - @handler(MessageHandler, filters=filters.Regex("^抽卡模拟器(.*)"), block=False) - async def command_start(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - gacha_name = "角色活动" - if len(args) >= 1: - gacha_name = args[0] - if gacha_name not in ("角色活动-2", "武器活动", "常驻", "角色活动"): - for key, value in {"2": "角色活动-2", "武器": "武器活动", "普通": "常驻"}.items(): - if key == gacha_name: - gacha_name = value - break - try: - gacha_base_info = await self.handle.gacha_base_info(gacha_name) - except GachaNotFound as exc: - await message.reply_text(f"没有找到名为 {exc.gacha_name} 的卡池,可能是卡池不存在或者卡池已经结束,请检查后重试。如果你想抽取默认卡池,请不要输入参数。") - return - else: - try: - gacha_base_info = await self.handle.gacha_base_info(default=True) - except GachaNotFound: - await message.reply_text("当前卡池正在替换中,请稍后重试。") - return - logger.info("用户 %s[%s] 抽卡模拟器命令请求 || 参数 %s", user.full_name, user.id, gacha_name) - # 用户数据储存和处理 - await message.reply_chat_action(ChatAction.TYPING) - banner = await self.get_banner(gacha_base_info) - player_gacha_info = await self.gacha_db.get(user.id) - # 检查 wish_item_id - if ( - banner.banner_type == BannerType.WEAPON - and player_gacha_info.event_weapon_banner.wish_item_id not in banner.rate_up_items5 - ): - player_gacha_info.event_weapon_banner.wish_item_id = 0 - # 执行抽卡 - item_list = self.banner_system.do_pulls(player_gacha_info, banner, 10) - try: - data = await self.de_item_list(item_list) - except GachaDataFound as exc: - logger.warning("角色 item_id[%s] 抽卡立绘未找到", exc.item_id) - reply_message = await message.reply_text("出错了呜呜呜 ~ 卡池部分数据未找到!") - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, name="wish_simulator") - self.add_delete_message_job(message, name="wish_simulator") - return - player_gacha_banner_info = player_gacha_info.get_banner_info(banner) - template_data = { - "name": f"{user.full_name}", - "info": gacha_name, - "banner_name": banner.html_title if banner.html_title else banner.title, - "banner_type": banner.banner_type.name, - "player_gacha_banner_info": player_gacha_banner_info, - "items": [], - "wish_name": "", - } - if player_gacha_banner_info.wish_item_id != 0: - weapon = WEAPON_DATA.get(str(player_gacha_banner_info.wish_item_id)) - if weapon is not None: - template_data["wish_name"] = weapon["name"] - await self.gacha_db.set(user.id, player_gacha_info) - - def take_rang(elem: dict): - return elem["rank"] - - data.sort(key=take_rang, reverse=True) - template_data["items"] = data - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - png_data = await self.template_service.render( - "genshin/gacha/gacha.html", template_data, {"width": 1157, "height": 603}, False - ) - - reply_message = await message.reply_photo(png_data.photo) - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, name="wish_simulator") - self.add_delete_message_job(message, name="wish_simulator") - - @handler(CommandHandler, command="set_wish", block=False) - @handler(MessageHandler, filters=filters.Regex("^非首模拟器定轨(.*)"), block=False) - async def set_wish(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - try: - gacha_base_info = await self.handle.gacha_base_info("武器活动") - except GachaNotFound: - reply_message = await message.reply_text("当前还没有武器正在 UP,可能是卡池不存在或者卡池已经结束。") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message, delay=30) - self.add_delete_message_job(reply_message, delay=30) - return - banner = await self.get_banner(gacha_base_info) - up_weapons = {} - for rate_up_items5 in banner.rate_up_items5: - weapon = WEAPON_DATA.get(str(rate_up_items5)) - if weapon is None: - continue - up_weapons[weapon["name"]] = rate_up_items5 - up_weapons_text = "当前 UP 武器有:" + "、".join(up_weapons.keys()) - if len(args) >= 1: - weapon_name = args[0] - else: - reply_message = await message.reply_text(f"输入的参数不正确,请输入需要定轨的武器名称。\n{up_weapons_text}") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message, delay=30) - self.add_delete_message_job(reply_message, delay=30) - return - weapon_name = weaponToName(weapon_name) - player_gacha_info = await self.gacha_db.get(user.id) - if weapon_name in up_weapons: - player_gacha_info.event_weapon_banner.wish_item_id = up_weapons[weapon_name] - player_gacha_info.event_weapon_banner.failed_chosen_item_pulls = 0 - else: - reply_message = await message.reply_text( - f"输入的参数不正确,可能是没有名为 {weapon_name} 的武器或该武器不存在当前 UP 卡池中\n{up_weapons_text}" - ) - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message, delay=30) - self.add_delete_message_job(reply_message, delay=30) - return - await self.gacha_db.set(user.id, player_gacha_info) - reply_message = await message.reply_text(f"抽卡模拟器定轨 {weapon_name} 武器成功") - if filters.ChatType.GROUPS.filter(reply_message): - self.add_delete_message_job(message, delay=30) - self.add_delete_message_job(reply_message, delay=30) diff --git a/plugins/genshin/wish_log.py b/plugins/genshin/wish_log.py deleted file mode 100644 index a5458b9..0000000 --- a/plugins/genshin/wish_log.py +++ /dev/null @@ -1,413 +0,0 @@ -from io import BytesIO - -import genshin -from aiofiles import open as async_open -from genshin.models import BannerType -from telegram import Document, InlineKeyboardButton, InlineKeyboardMarkup, Message, Update, User -from telegram.constants import ChatAction -from telegram.ext import CallbackContext, CommandHandler, ConversationHandler, MessageHandler, filters -from telegram.helpers import create_deep_linked_url - -from core.basemodel import RegionEnum -from core.dependence.assets import AssetsService -from core.plugin import Plugin, conversation, handler -from core.services.cookies import CookiesService -from core.services.players import PlayersService -from core.services.template.models import FileType -from core.services.template.services import TemplateService -from metadata.scripts.paimon_moe import GACHA_LOG_PAIMON_MOE_PATH, update_paimon_moe_zh -from modules.gacha_log.error import ( - GachaLogAccountNotFound, - GachaLogAuthkeyTimeout, - GachaLogFileError, - GachaLogInvalidAuthkey, - GachaLogMixedProvider, - GachaLogNotFound, - PaimonMoeGachaLogFileError, -) -from modules.gacha_log.helpers import from_url_get_authkey -from modules.gacha_log.log import GachaLog -from plugins.tools.genshin import PlayerNotFoundError, GenshinHelper -from utils.genshin import get_authkey_by_stoken -from utils.log import logger - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - -INPUT_URL, INPUT_FILE, CONFIRM_DELETE = range(10100, 10103) - - -class WishLogPlugin(Plugin.Conversation): - """抽卡记录导入/导出/分析""" - - def __init__( - self, - template_service: TemplateService, - players_service: PlayersService, - assets: AssetsService, - cookie_service: CookiesService, - helper: GenshinHelper, - ): - self.template_service = template_service - self.players_service = players_service - self.assets_service = assets - self.cookie_service = cookie_service - self.zh_dict = None - self.gacha_log = GachaLog() - self.helper = helper - - async def initialize(self) -> None: - await update_paimon_moe_zh(False) - async with async_open(GACHA_LOG_PAIMON_MOE_PATH, "r", encoding="utf-8") as load_f: - self.zh_dict = jsonlib.loads(await load_f.read()) - - async def _refresh_user_data( - self, user: User, data: dict = None, authkey: str = None, verify_uid: bool = True - ) -> str: - """刷新用户数据 - :param user: 用户 - :param data: 数据 - :param authkey: 认证密钥 - :return: 返回信息 - """ - try: - logger.debug("尝试获取已绑定的原神账号") - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - if authkey: - new_num = await self.gacha_log.get_gacha_log_data(user.id, client, authkey) - return "更新完成,本次没有新增数据" if new_num == 0 else f"更新完成,本次共新增{new_num}条抽卡记录" - if data: - new_num = await self.gacha_log.import_gacha_log_data(user.id, client, data, verify_uid) - return "更新完成,本次没有新增数据" if new_num == 0 else f"更新完成,本次共新增{new_num}条抽卡记录" - except GachaLogNotFound: - return "派蒙没有找到你的抽卡记录,快来私聊派蒙导入吧~" - except GachaLogAccountNotFound: - return "导入失败,可能文件包含的祈愿记录所属 uid 与你当前绑定的 uid 不同" - except GachaLogFileError: - return "导入失败,数据格式错误" - except GachaLogInvalidAuthkey: - return "更新数据失败,authkey 无效" - except GachaLogAuthkeyTimeout: - return "更新数据失败,authkey 已经过期" - except GachaLogMixedProvider: - return "导入失败,你已经通过其他方式导入过抽卡记录了,本次无法导入" - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - return "派蒙没有找到您所绑定的账号信息,请先私聊派蒙绑定账号" - - async def import_from_file(self, user: User, message: Message, document: Document = None) -> None: - if not document: - document = message.document - # TODO: 使用 mimetype 判断文件类型 - if document.file_name.endswith(".xlsx"): - file_type = "xlsx" - elif document.file_name.endswith(".json"): - file_type = "json" - else: - await message.reply_text("文件格式错误,请发送符合 UIGF 标准的抽卡记录文件或者 paimon.moe、非小酋导出的 xlsx 格式的抽卡记录文件") - return - if document.file_size > 2 * 1024 * 1024: - await message.reply_text("文件过大,请发送小于 2 MB 的文件") - return - try: - out = BytesIO() - await (await document.get_file()).download_to_memory(out=out) - if file_type == "json": - # bytesio to json - data = jsonlib.loads(out.getvalue().decode("utf-8")) - elif file_type == "xlsx": - data = self.gacha_log.convert_xlsx_to_uigf(out, self.zh_dict) - else: - await message.reply_text("文件解析失败,请检查文件") - return - except PaimonMoeGachaLogFileError as exc: - await message.reply_text( - f"导入失败,PaimonMoe的抽卡记录当前版本不支持\n支持抽卡记录的版本为 {exc.support_version},你的抽卡记录版本为 {exc.file_version}" - ) - return - except GachaLogFileError: - await message.reply_text("文件解析失败,请检查文件是否符合 UIGF 标准") - return - except (KeyError, IndexError, ValueError): - await message.reply_text("文件解析失败,请检查文件编码是否正确或符合 UIGF 标准") - return - except Exception as exc: - logger.error("文件解析失败 %s", repr(exc)) - await message.reply_text("文件解析失败,请检查文件是否符合 UIGF 标准") - return - await message.reply_chat_action(ChatAction.TYPING) - reply = await message.reply_text("文件解析成功,正在导入数据") - await message.reply_chat_action(ChatAction.TYPING) - try: - text = await self._refresh_user_data(user, data=data, verify_uid=file_type == "json") - except Exception as exc: # pylint: disable=W0703 - logger.error("文件解析失败 %s", repr(exc)) - text = "文件解析失败,请检查文件是否符合 UIGF 标准" - await reply.edit_text(text) - - @conversation.entry_point - @handler(CommandHandler, command="gacha_log_import", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^导入抽卡记录(.*)") & filters.ChatType.PRIVATE, block=False) - async def command_start(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - args = self.get_args(context) - logger.info("用户 %s[%s] 导入抽卡记录命令请求", user.full_name, user.id) - authkey = from_url_get_authkey(args[0] if args else "") - if not args: - player_info = await self.players_service.get_player(user.id, region=RegionEnum.HYPERION) - if player_info is not None: - cookies = await self.cookie_service.get(user.id, account_id=player_info.account_id) - if cookies is not None and cookies.data and "stoken" in cookies.data: - if stuid := next( - (value for key, value in cookies.data.items() if key in ["ltuid", "login_uid"]), None - ): - cookies.data["stuid"] = stuid - client = genshin.Client( - cookies=cookies.data, - game=genshin.types.Game.GENSHIN, - region=genshin.Region.CHINESE, - lang="zh-cn", - uid=player_info.player_id, - ) - authkey = await get_authkey_by_stoken(client) - if not authkey: - await message.reply_text( - "开始导入祈愿历史记录:请通过 https://paimon.moe/wish/import 获取抽卡记录链接后发送给我" - "(非 paimon.moe 导出的文件数据)\n\n" - "> 你还可以向派蒙发送从其他工具导出的 UIGF 标准的记录文件\n" - "> 或者从 paimon.moe 、非小酋 导出的 xlsx 记录文件\n" - "> 在绑定 Cookie 时添加 stoken 可能有特殊效果哦(仅限国服)\n" - "注意:导入的数据将会与旧数据进行合并。", - parse_mode="html", - ) - return INPUT_URL - text = "小派蒙正在从服务器获取数据,请稍后" - if not args: - text += "\n\n> 由于你绑定的 Cookie 中存在 stoken ,本次通过 stoken 自动刷新数据" - reply = await message.reply_text(text) - await message.reply_chat_action(ChatAction.TYPING) - data = await self._refresh_user_data(user, authkey=authkey) - await reply.edit_text(data) - return ConversationHandler.END - - @conversation.state(state=INPUT_URL) - @handler.message(filters=~filters.COMMAND, block=False) - async def import_data_from_message(self, update: Update, _: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - if message.document: - await self.import_from_file(user, message) - return ConversationHandler.END - if not message.text: - await message.reply_text("请发送文件或链接") - return INPUT_URL - authkey = from_url_get_authkey(message.text) - reply = await message.reply_text("小派蒙正在从服务器获取数据,请稍后") - await message.reply_chat_action(ChatAction.TYPING) - text = await self._refresh_user_data(user, authkey=authkey) - await reply.edit_text(text) - return ConversationHandler.END - - @conversation.entry_point - @handler(CommandHandler, command="gacha_log_delete", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^删除抽卡记录(.*)") & filters.ChatType.PRIVATE, block=False) - async def command_start_delete(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 删除抽卡记录命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - context.chat_data["uid"] = client.uid - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号") - return ConversationHandler.END - _, status = await self.gacha_log.load_history_info(str(user.id), str(client.uid), only_status=True) - if not status: - await message.reply_text("你还没有导入抽卡记录哦~") - return ConversationHandler.END - await message.reply_text("你确定要删除抽卡记录吗?(此项操作无法恢复),如果确定请发送 ”确定“,发送其他内容取消") - return CONFIRM_DELETE - - @conversation.state(state=CONFIRM_DELETE) - @handler.message(filters=filters.TEXT & ~filters.COMMAND, block=False) - async def command_confirm_delete(self, update: Update, context: CallbackContext) -> int: - message = update.effective_message - user = update.effective_user - if message.text == "确定": - status = await self.gacha_log.remove_history_info(str(user.id), str(context.chat_data["uid"])) - await message.reply_text("抽卡记录已删除" if status else "抽卡记录删除失败") - return ConversationHandler.END - await message.reply_text("已取消") - return ConversationHandler.END - - @handler(CommandHandler, command="gacha_log_force_delete", block=False, admin=True) - async def command_gacha_log_force_delete(self, update: Update, context: CallbackContext): - message = update.effective_message - args = self.get_args(context) - if not args: - await message.reply_text("请指定用户ID") - return - try: - cid = int(args[0]) - if cid < 0: - raise ValueError("Invalid cid") - client = await self.helper.get_genshin_client(cid, need_cookie=False) - _, status = await self.gacha_log.load_history_info(str(cid), str(client.uid), only_status=True) - if not status: - await message.reply_text("该用户还没有导入抽卡记录") - return - status = await self.gacha_log.remove_history_info(str(cid), str(client.uid)) - await message.reply_text("抽卡记录已强制删除" if status else "抽卡记录删除失败") - except GachaLogNotFound: - await message.reply_text("该用户还没有导入抽卡记录") - except PlayerNotFoundError: - await message.reply_text("该用户暂未绑定账号") - except (ValueError, IndexError): - await message.reply_text("用户ID 不合法") - - @handler(CommandHandler, command="gacha_log_export", filters=filters.ChatType.PRIVATE, block=False) - @handler(MessageHandler, filters=filters.Regex("^导出抽卡记录(.*)") & filters.ChatType.PRIVATE, block=False) - async def command_start_export(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - logger.info("用户 %s[%s] 导出抽卡记录命令请求", user.full_name, user.id) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - await message.reply_chat_action(ChatAction.TYPING) - path = await self.gacha_log.gacha_log_to_uigf(str(user.id), str(client.uid)) - await message.reply_chat_action(ChatAction.UPLOAD_DOCUMENT) - await message.reply_document(document=open(path, "rb+"), caption="抽卡记录导出文件 - UIGF V2.2") - except GachaLogNotFound: - logger.info("未找到用户 %s[%s] 的抽卡记录", user.full_name, user.id) - buttons = [ - [InlineKeyboardButton("点我导入", url=create_deep_linked_url(context.bot.username, "gacha_log_import"))] - ] - await message.reply_text("派蒙没有找到你的抽卡记录,快来私聊派蒙导入吧~", reply_markup=InlineKeyboardMarkup(buttons)) - except GachaLogAccountNotFound: - await message.reply_text("导入失败,可能文件包含的祈愿记录所属 uid 与你当前绑定的 uid 不同") - except GachaLogFileError: - await message.reply_text("导入失败,数据格式错误") - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号") - - @handler(CommandHandler, command="gacha_log", block=False) - @handler(MessageHandler, filters=filters.Regex("^抽卡记录?(武器|角色|常驻|)$"), block=False) - async def command_start_analysis(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - pool_type = BannerType.CHARACTER1 - if args := self.get_args(context): - if "武器" in args: - pool_type = BannerType.WEAPON - elif "常驻" in args: - pool_type = BannerType.STANDARD - logger.info("用户 %s[%s] 抽卡记录命令请求 || 参数 %s", user.full_name, user.id, pool_type.name) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - await message.reply_chat_action(ChatAction.TYPING) - data = await self.gacha_log.get_analysis(user.id, client, pool_type, self.assets_service) - if isinstance(data, str): - reply_message = await message.reply_text(data) - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message, delay=300) - self.add_delete_message_job(message, delay=300) - else: - await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - png_data = await self.template_service.render( - "genshin/gacha_log/gacha_log.html", - data, - full_page=True, - file_type=FileType.DOCUMENT if len(data.get("fiveLog")) > 36 else FileType.PHOTO, - query_selector=".body_box", - ) - if png_data.file_type == FileType.DOCUMENT: - await png_data.reply_document(message, filename="抽卡记录.png") - else: - await png_data.reply_photo(message) - except GachaLogNotFound: - logger.info("未找到用户 %s[%s] 的抽卡记录", user.full_name, user.id) - buttons = [ - [InlineKeyboardButton("点我导入", url=create_deep_linked_url(context.bot.username, "gacha_log_import"))] - ] - await message.reply_text("派蒙没有找到你的抽卡记录,快来点击按钮私聊派蒙导入吧~", reply_markup=InlineKeyboardMarkup(buttons)) - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_uid"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) - - @handler(CommandHandler, command="gacha_count", block=False) - @handler(MessageHandler, filters=filters.Regex("^抽卡统计?(武器|角色|常驻|仅五星|)$"), block=False) - async def command_start_count(self, update: Update, context: CallbackContext) -> None: - message = update.effective_message - user = update.effective_user - pool_type = BannerType.CHARACTER1 - all_five = False - if args := self.get_args(context): - if "武器" in args: - pool_type = BannerType.WEAPON - elif "常驻" in args: - pool_type = BannerType.STANDARD - elif "仅五星" in args: - all_five = True - logger.info("用户 %s[%s] 抽卡统计命令请求 || 参数 %s || 仅五星 %s", user.full_name, user.id, pool_type.name, all_five) - try: - client = await self.helper.get_genshin_client(user.id, need_cookie=False) - group = filters.ChatType.GROUPS.filter(message) - await message.reply_chat_action(ChatAction.TYPING) - if all_five: - data = await self.gacha_log.get_all_five_analysis(user.id, client, self.assets_service) - else: - data = await self.gacha_log.get_pool_analysis(user.id, client, pool_type, self.assets_service, group) - if isinstance(data, str): - reply_message = await message.reply_text(data) - if filters.ChatType.GROUPS.filter(message): - self.add_delete_message_job(reply_message) - self.add_delete_message_job(message) - else: - document = False - if data["hasMore"] and not group: - document = True - data["hasMore"] = False - await message.reply_chat_action(ChatAction.UPLOAD_DOCUMENT if document else ChatAction.UPLOAD_PHOTO) - png_data = await self.template_service.render( - "genshin/gacha_count/gacha_count.html", - data, - full_page=True, - query_selector=".body_box", - file_type=FileType.DOCUMENT if document else FileType.PHOTO, - ) - if document: - await png_data.reply_document(message, filename="抽卡统计.png") - else: - await png_data.reply_photo(message) - except GachaLogNotFound: - logger.info("未找到用户 %s[%s] 的抽卡记录", user.full_name, user.id) - buttons = [ - [InlineKeyboardButton("点我导入", url=create_deep_linked_url(context.bot.username, "gacha_log_import"))] - ] - await message.reply_text("派蒙没有找到你的抽卡记录,快来私聊派蒙导入吧~", reply_markup=InlineKeyboardMarkup(buttons)) - except PlayerNotFoundError: - logger.info("未查询到用户 %s[%s] 所绑定的账号信息", user.full_name, user.id) - buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_uid"))]] - if filters.ChatType.GROUPS.filter(message): - reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) - ) - self.add_delete_message_job(reply_message, delay=30) - - self.add_delete_message_job(message, delay=30) - else: - await message.reply_text("未查询到您所绑定的账号信息,请先绑定账号", reply_markup=InlineKeyboardMarkup(buttons)) diff --git a/plugins/group/README.md b/plugins/group/README.md new file mode 100644 index 0000000..e69de29 diff --git a/plugins/group/captcha.py b/plugins/group/captcha.py deleted file mode 100644 index beec1e9..0000000 --- a/plugins/group/captcha.py +++ /dev/null @@ -1,491 +0,0 @@ -import asyncio -import random -import time -from typing import Tuple, Union, Optional, TYPE_CHECKING, List - -from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ChatPermissions, ChatMember, Message, User -from telegram.constants import ParseMode -from telegram.error import BadRequest -from telegram.ext import ChatMemberHandler, filters -from telegram.helpers import escape_markdown - -from core.config import config -from core.dependence.mtproto import MTProto -from core.dependence.redisdb import RedisDB -from core.handler.callbackqueryhandler import CallbackQueryHandler -from core.plugin import Plugin, handler -from core.services.quiz.services import QuizService -from utils.chatmember import extract_status_change -from utils.log import logger - -if TYPE_CHECKING: - from telegram.ext import ContextTypes - from telegram import Update - -try: - from pyrogram.errors import BadRequest as MTPBadRequest, FloodWait as MTPFloodWait - - PYROGRAM_AVAILABLE = True -except ImportError: - MTPBadRequest = ValueError - MTPFloodWait = IndexError - PYROGRAM_AVAILABLE = False - -try: - import ujson as jsonlib - -except ImportError: - import json as jsonlib - -FullChatPermissions = ChatPermissions( - can_send_messages=True, - can_send_media_messages=True, - can_send_polls=True, - can_send_other_messages=True, - can_add_web_page_previews=True, - can_change_info=True, - can_invite_users=True, - can_pin_messages=True, -) - - -class GroupCaptcha(Plugin): - """群验证模块""" - - def __init__(self, quiz_service: QuizService = None, mtp: MTProto = None, redis: RedisDB = None): - self.quiz_service = quiz_service - self.time_out = 120 - self.kick_time = 120 - self.mtp = mtp.client - self.cache = redis.client - self.ttl = 60 * 60 - - async def initialize(self): - logger.info("群验证模块正在刷新问题列表") - await self.quiz_service.refresh_quiz() - logger.success("群验证模块刷新问题列表成功") - - @staticmethod - def mention_markdown(user_id: Union[int, str], version: int = 1) -> str: - tg_link = f"tg://user?id={user_id}" - if version == 1: - return f"[{user_id}]({tg_link})" - return f"[{escape_markdown(user_id, version=version)}]({tg_link})" - - async def get_chat_administrators( - self, context: "ContextTypes.DEFAULT_TYPE", chat_id: Union[str, int] - ) -> Tuple[ChatMember]: - qname = f"plugin:group_captcha:chat_administrators:{chat_id}" - result: "List[bytes]" = await self.cache.lrange(qname, 0, -1) - if len(result) > 0: - return ChatMember.de_list([jsonlib.loads(str(_data, encoding="utf-8")) for _data in result], context.bot) - chat_administrators = await context.bot.get_chat_administrators(chat_id) - async with self.cache.pipeline(transaction=True) as pipe: - for chat_administrator in chat_administrators: - await pipe.lpush(qname, chat_administrator.to_json()) - await pipe.expire(qname, self.ttl) - await pipe.execute() - return chat_administrators - - @staticmethod - def is_admin(chat_administrators: Tuple[ChatMember], user_id: int) -> bool: - return any(admin.user.id == user_id for admin in chat_administrators) - - async def kick_member_job(self, context: "ContextTypes.DEFAULT_TYPE"): - job = context.job - logger.info("踢出用户 user_id[%s] 在 chat_id[%s]", job.user_id, job.chat_id) - try: - await context.bot.ban_chat_member( - chat_id=job.chat_id, user_id=job.user_id, until_date=int(time.time()) + self.kick_time - ) - except BadRequest as exc: - logger.error("GroupCaptcha插件在 chat_id[%s] user_id[%s] 执行kick失败", job.chat_id, job.user_id, exc_info=exc) - - @staticmethod - async def clean_message_job(context: "ContextTypes.DEFAULT_TYPE"): - job = context.job - logger.debug("删除消息 chat_id[%s] 的 message_id[%s]", job.chat_id, job.data) - try: - await context.bot.delete_message(chat_id=job.chat_id, message_id=job.data) - except BadRequest as exc: - if "not found" in exc.message: - logger.warning("GroupCaptcha插件删除消息 chat_id[%s] message_id[%s]失败 消息不存在", job.chat_id, job.data) - elif "Message can't be deleted" in exc.message: - logger.warning("GroupCaptcha插件删除消息 chat_id[%s] message_id[%s]失败 消息无法删除 可能是没有授权", job.chat_id, job.data) - else: - logger.error("GroupCaptcha插件删除消息 chat_id[%s] message_id[%s]失败", job.chat_id, job.data, exc_info=exc) - - @staticmethod - async def restore_member(context: "ContextTypes.DEFAULT_TYPE", chat_id: int, user_id: int): - logger.debug("重置用户权限 user_id[%s] 在 chat_id[%s]", chat_id, user_id) - try: - await context.bot.restrict_chat_member(chat_id=chat_id, user_id=user_id, permissions=FullChatPermissions) - except BadRequest as exc: - logger.error("GroupCaptcha插件在 chat_id[%s] user_id[%s] 执行restore失败", chat_id, user_id, exc_info=exc) - - async def get_new_chat_members_message(self, user: User, context: "ContextTypes.DEFAULT_TYPE") -> Optional[Message]: - qname = f"plugin:group_captcha:new_chat_members_message:{user.id}" - result = await self.cache.get(qname) - if result: - data = jsonlib.loads(str(result, encoding="utf-8")) - return Message.de_json(data, context.bot) - return None - - async def set_new_chat_members_message(self, user: User, message: Message): - qname = f"plugin:group_captcha:new_chat_members_message:{user.id}" - await self.cache.set(qname, message.to_json(), ex=60) - - @handler(CallbackQueryHandler, pattern=r"^auth_admin\|", block=False) - async def admin(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE") -> None: - async def admin_callback(callback_query_data: str) -> Tuple[str, int]: - _data = callback_query_data.split("|") - _result = _data[1] - _user_id = int(_data[2]) - logger.debug("admin_callback函数返回 result[%s] user_id[%s]", _result, _user_id) - return _result, _user_id - - callback_query = update.callback_query - user = callback_query.from_user - message = callback_query.message - chat = message.chat - logger.info("用户 %s[%s] 在群 %s[%s] 点击Auth管理员命令", user.full_name, user.id, chat.title, chat.id) - chat_administrators = await self.get_chat_administrators(context, chat_id=chat.id) - if not self.is_admin(chat_administrators, user.id): - logger.debug("用户 %s[%s] 在群 %s[%s] 非群管理", user.full_name, user.id, chat.title, chat.id) - await callback_query.answer(text="你不是管理!\n" + config.notice.user_mismatch, show_alert=True) - return - result, user_id = await admin_callback(callback_query.data) - try: - member_info = await context.bot.get_chat_member(chat.id, user_id) - except BadRequest as error: - logger.warning("获取用户 %s 在群 %s[%s] 信息失败 \n %s", user_id, chat.title, chat.id, error.message) - member_info = f"{user_id}" - - if result == "pass": - await callback_query.answer(text="放行", show_alert=False) - await self.restore_member(context, chat.id, user_id) - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user_id}|auth_kick"): - schedule.remove() - if isinstance(member_info, ChatMember): - await message.edit_text( - f"{member_info.user.mention_markdown_v2()} 被本群管理员放行", parse_mode=ParseMode.MARKDOWN_V2 - ) - logger.info( - "用户 %s[%s] 在群 %s[%s] 被 %s[%s] 放行", - member_info.user.full_name, - member_info.user.id, - chat.title, - chat.id, - user.full_name, - user.id, - ) - else: - await message.edit_text(f"{member_info} 被本群管理员放行", parse_mode=ParseMode.MARKDOWN_V2) - logger.info("用户 %s 在群 %s[%s] 被 %s[%s] 管理放行", member_info, chat.title, chat.id, user.full_name, user.id) - elif result == "kick": - await callback_query.answer(text="驱离", show_alert=False) - await context.bot.ban_chat_member(chat.id, user_id) - if isinstance(member_info, ChatMember): - await message.edit_text( - f"{self.mention_markdown(member_info.user.id)} 被本群管理员驱离", parse_mode=ParseMode.MARKDOWN_V2 - ) - logger.info( - "用户 %s[%s] 在群 %s[%s] 被 %s[%s] 被管理驱离", - member_info.user.full_name, - member_info.user.id, - chat.title, - chat.id, - user.full_name, - user.id, - ) - else: - await message.edit_text(f"{member_info} 被本群管理员驱离", parse_mode=ParseMode.MARKDOWN_V2) - logger.info("用户 %s 在群 %s[%s] 被 %s[%s] 管理驱离", member_info, chat.title, chat.id, user.full_name, user.id) - elif result == "unban": - await callback_query.answer(text="解除驱离", show_alert=False) - await self.restore_member(context, chat.id, user_id) - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user_id}|auth_kick"): - schedule.remove() - if isinstance(member_info, ChatMember): - await message.edit_text( - f"{member_info.user.mention_markdown_v2()} 被本群管理员解除封禁", parse_mode=ParseMode.MARKDOWN_V2 - ) - logger.info( - "用户 %s[%s] 在群 %s[%s] 被 %s[%s] 解除封禁", - member_info.user.full_name, - member_info.user.id, - chat.title, - chat.id, - user.full_name, - user.id, - ) - else: - await message.edit_text(f"{member_info} 被本群管理员解除封禁", parse_mode=ParseMode.MARKDOWN_V2) - logger.info("用户 %s 在群 %s[%s] 被 %s[%s] 管理驱离", member_info, chat.title, chat.id, user.full_name, user.id) - else: - logger.warning("auth 模块 admin 函数 发现未知命令 result[%s]", result) - await context.bot.send_message(chat.id, "派蒙这边收到了错误的消息!请检查详细日记!") - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user_id}|auth_kick"): - schedule.remove() - - @handler(CallbackQueryHandler, pattern=r"^auth_challenge\|", block=False) - async def query(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE") -> None: - async def query_callback(callback_query_data: str) -> Tuple[int, bool, str, str]: - _data = callback_query_data.split("|") - _user_id = int(_data[1]) - _question_id = int(_data[2]) - _answer_id = int(_data[3]) - _answer = await self.quiz_service.get_answer(_answer_id) - _question = await self.quiz_service.get_question(_question_id) - _result = _answer.is_correct - _answer_encode = _answer.text - _question_encode = _question.text - logger.debug( - "query_callback函数返回 user_id[%s] result[%s] \nquestion_encode[%s] answer_encode[%s]", - _user_id, - _result, - _question_encode, - _answer_encode, - ) - return _user_id, _result, _question_encode, _answer_encode - - callback_query = update.callback_query - user = callback_query.from_user - message = callback_query.message - chat = message.chat - user_id, result, question, answer = await query_callback(callback_query.data) - logger.info("用户 %s[%s] 在群 %s[%s] 点击Auth认证命令", user.full_name, user.id, chat.title, chat.id) - if user.id != user_id: - await callback_query.answer(text="这不是你的验证!\n" + config.notice.user_mismatch, show_alert=True) - return - logger.info( - "用户 %s[%s] 在群 %s[%s] 认证结果为 %s", user.full_name, user.id, chat.title, chat.id, "通过" if result else "失败" - ) - if result: - buttons = [[InlineKeyboardButton("驱离", callback_data=f"auth_admin|kick|{user.id}")]] - await callback_query.answer(text="验证成功", show_alert=False) - await self.restore_member(context, chat.id, user_id) - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user.id}|auth_kick"): - schedule.remove() - text = ( - f"{user.mention_markdown_v2()} 验证成功,向着星辰与深渊!\n" - f"问题:{escape_markdown(question, version=2)} \n" - f"回答:{escape_markdown(answer, version=2)}" - ) - logger.info("用户 user_id[%s] 在群 %s[%s] 验证成功", user_id, chat.title, chat.id) - else: - buttons = [ - [ - InlineKeyboardButton("驱离", callback_data=f"auth_admin|kick|{user.id}"), - InlineKeyboardButton("撤回驱离", callback_data=f"auth_admin|unban|{user.id}"), - ] - ] - await callback_query.answer(text=f"验证失败,请在 {self.time_out} 秒后重试", show_alert=True) - await asyncio.sleep(3) - await context.bot.ban_chat_member( - chat_id=chat.id, user_id=user_id, until_date=int(time.time()) + self.kick_time - ) - text = ( - f"{user.mention_markdown_v2()} 验证失败,已经赶出提瓦特大陆!\n" - f"问题:{escape_markdown(question, version=2)} \n" - f"回答:{escape_markdown(answer, version=2)}" - ) - logger.info("用户 user_id[%s] 在群 %s[%s] 验证失败", user_id, chat.title, chat.id) - try: - await message.edit_text(text, reply_markup=InlineKeyboardMarkup(buttons), parse_mode=ParseMode.MARKDOWN_V2) - except BadRequest as exc: - if "are exactly the same as " in exc.message: - logger.warning("编辑消息发生异常,可能为用户点按多次键盘导致") - else: - raise exc - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user.id}|auth_kick"): - schedule.remove() - - @handler.message(filters=filters.StatusUpdate.NEW_CHAT_MEMBERS, block=False) - async def new_mem(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE") -> None: - message = update.effective_message - chat = message.chat - if len(config.verify_groups) >= 1: - for verify_group in config.verify_groups: - if verify_group == chat.id: - break - else: - return - else: - return - for user in message.new_chat_members: - if user.id == context.bot.id: - return - logger.debug("用户 %s[%s] 加入群 %s[%s]", user.full_name, user.id, chat.title, chat.id) - await self.set_new_chat_members_message(user, message) - - @handler.chat_member(chat_member_types=ChatMemberHandler.CHAT_MEMBER, block=False) - async def track_users(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE") -> None: - chat = update.effective_chat - if len(config.verify_groups) >= 1: - for verify_group in config.verify_groups: - if verify_group == chat.id: - break - else: - return - else: - return - new_chat_member = update.chat_member.new_chat_member - from_user = update.chat_member.from_user - user = new_chat_member.user - result = extract_status_change(update.chat_member) - if result is None: - return - was_member, is_member = result - if was_member and not is_member: - logger.info("用户 %s[%s] 退出群聊 %s[%s]", user.full_name, user.id, chat.title, chat.id) - return - if not was_member and is_member: - logger.info("用户 %s[%s] 尝试加入群 %s[%s]", user.full_name, user.id, chat.title, chat.id) - if user.is_bot: - return - chat_administrators = await self.get_chat_administrators(context, chat_id=chat.id) - if self.is_admin(chat_administrators, from_user.id): - await chat.send_message("派蒙检测到管理员邀请,自动放行了!") - return - question_id_list = await self.quiz_service.get_question_id_list() - if len(question_id_list) == 0: - await chat.send_message("旅行者!!!派蒙的问题清单你还没给我!!快去私聊我给我问题!") - return - try: - await chat.restrict_member(user_id=user.id, permissions=ChatPermissions(can_send_messages=False)) - except BadRequest as exc: - if "Not enough rights" in exc.message: - logger.warning("%s[%s] 权限不够", chat.title, chat.id) - await chat.send_message( - f"派蒙无法修改 {user.mention_html()} 的权限!请检查是否给派蒙授权管理了", - parse_mode=ParseMode.HTML, - ) - return - raise exc - new_chat_members_message = await self.get_new_chat_members_message(user, context) - question_id = random.choice(question_id_list) # nosec - question = await self.quiz_service.get_question(question_id) - buttons = [ - [ - InlineKeyboardButton( - answer.text, - callback_data=f"auth_challenge|{user.id}|{question.question_id}|{answer.answer_id}", - ) - ] - for answer in question.answers - ] - random.shuffle(buttons) - buttons.append( - [ - InlineKeyboardButton( - "放行", - callback_data=f"auth_admin|pass|{user.id}", - ), - InlineKeyboardButton( - "驱离", - callback_data=f"auth_admin|kick|{user.id}", - ), - ] - ) - if new_chat_members_message: - reply_message = ( - f"*欢迎来到「提瓦特」世界!* \n" - f"问题: {escape_markdown(question.text, version=2)} \n" - f"请在*{self.time_out}*秒内回答问题" - ) - else: - reply_message = ( - f"*欢迎 {user.mention_markdown_v2()} 来到「提瓦特」世界!* \n" - f"问题: {escape_markdown(question.text, version=2)} \n" - f"请在*{self.time_out}*秒内回答问题" - ) - logger.debug( - "发送入群验证问题 %s[%s] \n给%s[%s] 在 %s[%s]", - question.text, - question.question_id, - user.full_name, - user.id, - chat.title, - chat.id, - ) - try: - if new_chat_members_message: - question_message = await new_chat_members_message.reply_markdown_v2( - reply_message, reply_markup=InlineKeyboardMarkup(buttons), allow_sending_without_reply=True - ) - else: - question_message = await chat.send_message( - reply_message, - reply_markup=InlineKeyboardMarkup(buttons), - parse_mode=ParseMode.MARKDOWN_V2, - ) - except BadRequest as exc: - await chat.send_message("派蒙分心了一下,不小心忘记你了,你只能先退出群再重新进来吧。") - raise exc - context.job_queue.run_once( - callback=self.kick_member_job, - when=self.time_out, - name=f"{chat.id}|{user.id}|auth_kick", - chat_id=chat.id, - user_id=user.id, - job_kwargs={"replace_existing": True, "id": f"{chat.id}|{user.id}|auth_kick"}, - ) - if new_chat_members_message: - context.job_queue.run_once( - callback=self.clean_message_job, - when=self.time_out, - data=new_chat_members_message.message_id, - name=f"{chat.id}|{user.id}|auth_clean_join_message", - chat_id=chat.id, - user_id=user.id, - job_kwargs={"replace_existing": True, "id": f"{chat.id}|{user.id}|auth_clean_join_message"}, - ) - context.job_queue.run_once( - callback=self.clean_message_job, - when=self.time_out, - data=question_message.message_id, - name=f"{chat.id}|{user.id}|auth_clean_question_message", - chat_id=chat.id, - user_id=user.id, - job_kwargs={"replace_existing": True, "id": f"{chat.id}|{user.id}|auth_clean_question_message"}, - ) - if PYROGRAM_AVAILABLE and self.mtp: - try: - if new_chat_members_message: - if question_message.id - new_chat_members_message.id - 1: - message_ids = list(range(new_chat_members_message.id + 1, question_message.id)) - else: - return - else: - message_ids = [question_message.id - 3, question_message.id] - messages_list = await self.mtp.get_messages(chat.id, message_ids=message_ids) - for find_message in messages_list: - if find_message.empty: - continue - if find_message.from_user and find_message.from_user.id == user.id: - await self.mtp.delete_messages(chat_id=chat.id, message_ids=find_message.id) - text: Optional[str] = None - if find_message.text and "@" in find_message.text: - text = f"{user.full_name} 由于加入群组后,在验证缝隙间发送了带有 @(Mention) 的消息,已被踢出群组,并加入了封禁列表。" - elif find_message.caption and "@" in find_message.caption: - text = f"{user.full_name} 由于加入群组后,在验证缝隙间发送了带有 @(Mention) 的消息,已被踢出群组,并加入了封禁列表。" - elif find_message.forward_from_chat: - text = f"{user.full_name} 由于加入群组后,在验证缝隙间发送了带有 Forward 的消息,已被踢出群组,并加入了封禁列表。" - if text is not None: - await context.bot.ban_chat_member(chat.id, user.id) - button = [[InlineKeyboardButton("解除封禁", callback_data=f"auth_admin|pass|{user.id}")]] - await question_message.edit_text(text, reply_markup=InlineKeyboardMarkup(button)) - if schedule := context.job_queue.scheduler.get_job(f"{chat.id}|{user.id}|auth_kick"): - schedule.remove() - logger.info( - "用户 %s[%s] 在群 %s[%s] 验证缝隙间发送消息 现已删除", user.full_name, user.id, chat.title, chat.id - ) - except BadRequest as exc: - logger.error("后验证处理中发生错误 %s", exc.message) - logger.exception(exc) - except MTPFloodWait: - logger.warning("调用 mtp 触发洪水限制") - except MTPBadRequest as exc: - logger.error("调用 mtp 请求错误") - logger.exception(exc) diff --git a/plugins/jobs/sign.py b/plugins/jobs/sign.py index e026d05..890412a 100644 --- a/plugins/jobs/sign.py +++ b/plugins/jobs/sign.py @@ -2,7 +2,7 @@ import datetime from typing import TYPE_CHECKING from core.plugin import Plugin, job -from plugins.genshin.sign import SignSystem +from plugins.starrail.sign import SignSystem from plugins.tools.sign import SignJobType from utils.log import logger diff --git a/plugins/genshin/help.py b/plugins/starrail/help.py similarity index 100% rename from plugins/genshin/help.py rename to plugins/starrail/help.py diff --git a/plugins/genshin/sign.py b/plugins/starrail/sign.py similarity index 98% rename from plugins/genshin/sign.py rename to plugins/starrail/sign.py index 4a223ae..3ffae12 100644 --- a/plugins/genshin/sign.py +++ b/plugins/starrail/sign.py @@ -39,7 +39,7 @@ class Sign(Plugin): try: await self.genshin_helper.get_genshin_client(user_id) except (PlayerNotFoundError, CookiesNotFoundError): - return "未查询到账号信息,请先私聊派蒙绑定账号" + return "未查询到账号信息,请先私聊彦卿绑定账号" user: SignUser = await self.sign_service.get_by_user_id(user_id) if user: if method == "关闭": @@ -114,7 +114,7 @@ class Sign(Plugin): buttons = [[InlineKeyboardButton("点我绑定账号", url=create_deep_linked_url(context.bot.username, "set_cookie"))]] if filters.ChatType.GROUPS.filter(message): reply_message = await message.reply_text( - "未查询到您所绑定的账号信息,请先私聊派蒙绑定账号", reply_markup=InlineKeyboardMarkup(buttons) + "未查询到您所绑定的账号信息,请先私聊彦卿绑定账号", reply_markup=InlineKeyboardMarkup(buttons) ) self.add_delete_message_job(reply_message, delay=30) diff --git a/plugins/genshin/strategy.py b/plugins/starrail/strategy.py similarity index 56% rename from plugins/genshin/strategy.py rename to plugins/starrail/strategy.py index 23f7341..944db71 100644 --- a/plugins/genshin/strategy.py +++ b/plugins/starrail/strategy.py @@ -6,6 +6,7 @@ from core.plugin import Plugin, handler from core.services.game.services import GameStrategyService from core.services.search.models import StrategyEntry from core.services.search.services import SearchServices +from core.services.wiki.services import WikiService from metadata.shortname import roleToName, roleToTag from utils.log import logger @@ -17,10 +18,12 @@ class StrategyPlugin(Plugin): def __init__( self, - game_strategy_service: GameStrategyService = None, + cache_service: GameStrategyService = None, + wiki_service: WikiService = None, search_service: SearchServices = None, ): - self.game_strategy_service = game_strategy_service + self.cache_service = cache_service + self.wiki_service = wiki_service self.search_service = search_service @handler.command(command="strategy", block=False) @@ -38,8 +41,8 @@ class StrategyPlugin(Plugin): self.add_delete_message_job(reply_message) return character_name = roleToName(character_name) - url = await self.game_strategy_service.get_strategy(character_name) - if url == "": + file_path = self.wiki_service.raider.raider_path / f"{character_name}.png" + if not file_path.exists(): reply_message = await message.reply_text( f"没有找到 {character_name} 的攻略", reply_markup=InlineKeyboardMarkup(self.KEYBOARD) ) @@ -49,25 +52,35 @@ class StrategyPlugin(Plugin): return logger.info("用户 %s[%s] 查询角色攻略命令请求 || 参数 %s", user.full_name, user.id, character_name) await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) - file_path = await self.download_resource(url, return_path=True) - caption = f"From 米游社 西风驿站 查看原图" - reply_photo = await message.reply_photo( - photo=open(file_path, "rb"), - caption=caption, - filename=f"{character_name}.png", - allow_sending_without_reply=True, - parse_mode=ParseMode.HTML, - ) - if reply_photo.photo: - tags = roleToTag(character_name) - photo_file_id = reply_photo.photo[0].file_id - entry = StrategyEntry( - key=f"plugin:strategy:{character_name}", - title=character_name, - description=f"{character_name} 角色攻略", - tags=tags, + caption = "From 米游社" + if file_id := await self.cache_service.get_strategy_cache(character_name): + await message.reply_document( + document=file_id, caption=caption, - parse_mode="HTML", - photo_file_id=photo_file_id, + filename=f"{character_name}.png", + allow_sending_without_reply=True, + parse_mode=ParseMode.HTML, ) - await self.search_service.add_entry(entry) + else: + reply_document = await message.reply_document( + document=open(file_path, "rb"), + caption=caption, + filename=f"{character_name}.png", + allow_sending_without_reply=True, + parse_mode=ParseMode.HTML, + ) + if reply_document.document: + tags = roleToTag(character_name) + photo_file_id = reply_document.document.file_id + cid = self.wiki_service.raider.get_item_id(character_name) + await self.cache_service.set_strategy_cache(cid, photo_file_id) + entry = StrategyEntry( + key=f"plugin:strategy:{character_name}", + title=character_name, + description=f"{character_name} 角色攻略", + tags=tags, + caption=caption, + parse_mode="HTML", + document_file_id=photo_file_id, + ) + await self.search_service.add_entry(entry) diff --git a/plugins/genshin/verify.py b/plugins/starrail/verify.py similarity index 100% rename from plugins/genshin/verify.py rename to plugins/starrail/verify.py diff --git a/plugins/system/chat_member.py b/plugins/system/chat_member.py index 44715ae..2a0ce17 100644 --- a/plugins/system/chat_member.py +++ b/plugins/system/chat_member.py @@ -75,7 +75,7 @@ class ChatMember(Plugin): quit_status = True if quit_status: try: - await context.bot.send_message(chat.id, "派蒙不想进去!不是旅行者的邀请!") + await context.bot.send_message(chat.id, "彦卿不想进去!不是开拓者的邀请!") except Forbidden as exc: logger.info("发送消息失败 %s", exc.message) except NetworkError as exc: @@ -85,7 +85,7 @@ class ChatMember(Plugin): await context.bot.leave_chat(chat.id) else: try: - await context.bot.send_message(chat.id, "感谢邀请小派蒙到本群!请使用 /help 查看咱已经学会的功能。") + await context.bot.send_message(chat.id, "感谢邀请小彦卿到本群!请使用 /help 查看咱已经学会的功能。") except Forbidden as exc: logger.info("发送消息失败 %s", exc.message) except NetworkError as exc: diff --git a/plugins/system/errorhandler.py b/plugins/system/errorhandler.py index d08c711..9a5d681 100644 --- a/plugins/system/errorhandler.py +++ b/plugins/system/errorhandler.py @@ -275,7 +275,7 @@ class ErrorHandler(Plugin): chat.id, update.update_id, ) - text = "出错了呜呜呜 ~ 派蒙这边发生了点问题无法处理!" + text = "出错了呜呜呜 ~ 彦卿这边发生了点问题无法处理!" await context.bot.send_message( effective_message.chat_id, text, reply_markup=ReplyKeyboardRemove(), parse_mode=ParseMode.HTML ) diff --git a/plugins/tools/genshin.py b/plugins/tools/genshin.py index d3b09ea..d221f31 100644 --- a/plugins/tools/genshin.py +++ b/plugins/tools/genshin.py @@ -259,7 +259,7 @@ class GenshinHelper(Plugin): client = genshin.Client( cookies, lang="zh-cn", - game=genshin.types.Game.GENSHIN, + game=genshin.types.Game.STARRAIL, region=game_region, uid=uid, hoyolab_id=player.account_id, @@ -286,7 +286,7 @@ class GenshinHelper(Plugin): raise TypeError("Region is not `RegionEnum.NULL`") client = genshin.Client( - cookies.data, region=game_region, uid=uid, game=genshin.types.Game.GENSHIN, lang="zh-cn" + cookies.data, region=game_region, uid=uid, game=genshin.types.Game.STARRAIL, lang="zh-cn" ) if self.genshin_cache is not None: diff --git a/plugins/tools/sign.py b/plugins/tools/sign.py index b6ab306..1678972 100644 --- a/plugins/tools/sign.py +++ b/plugins/tools/sign.py @@ -117,14 +117,14 @@ class SignSystem(Plugin): else: await asyncio.sleep(random.randint(0, 3)) # nosec try: - rewards = await client.get_monthly_rewards(game=Game.GENSHIN, lang="zh-cn") + rewards = await client.get_monthly_rewards(game=Game.STARRAIL, lang="zh-cn") except GenshinException as error: logger.warning("UID[%s] 获取签到信息失败,API返回信息为 %s", client.uid, str(error)) if is_raise: raise error return f"获取签到信息失败,API返回信息为 {str(error)}" try: - daily_reward_info = await client.get_reward_info(game=Game.GENSHIN, lang="zh-cn") # 获取签到信息失败 + daily_reward_info = await client.get_reward_info(game=Game.STARRAIL, lang="zh-cn") # 获取签到信息失败 except GenshinException as error: logger.warning("UID[%s] 获取签到状态失败,API返回信息为 %s", client.uid, str(error)) if is_raise: @@ -137,7 +137,7 @@ class SignSystem(Plugin): request_daily_reward = await client.request_daily_reward( "sign", method="POST", - game=Game.GENSHIN, + game=Game.STARRAIL, lang="zh-cn", challenge=challenge, validate=validate, @@ -158,7 +158,7 @@ class SignSystem(Plugin): request_daily_reward = await client.request_daily_reward( "sign", method="POST", - game=Game.GENSHIN, + game=Game.STARRAIL, lang="zh-cn", challenge=challenge, validate=validate, @@ -178,7 +178,7 @@ class SignSystem(Plugin): _request_daily_reward = await client.request_daily_reward( "sign", method="POST", - game=Game.GENSHIN, + game=Game.STARRAIL, lang="zh-cn", ) logger.debug("request_daily_reward 返回\n%s", _request_daily_reward) @@ -192,7 +192,7 @@ class SignSystem(Plugin): request_daily_reward = await client.request_daily_reward( "sign", method="POST", - game=Game.GENSHIN, + game=Game.STARRAIL, lang="zh-cn", challenge=_challenge, validate=_validate, @@ -210,7 +210,7 @@ class SignSystem(Plugin): logger.success("UID[%s] 通过 recognize 签到成功", client.uid) else: request_daily_reward = await client.request_daily_reward( - "sign", method="POST", game=Game.GENSHIN, lang="zh-cn" + "sign", method="POST", game=Game.STARRAIL, lang="zh-cn" ) gt = request_daily_reward.get("gt", "") challenge = request_daily_reward.get("challenge", "") @@ -218,7 +218,7 @@ class SignSystem(Plugin): raise NeedChallenge(uid=client.uid, gt=gt, challenge=challenge) else: request_daily_reward = await client.request_daily_reward( - "sign", method="POST", game=Game.GENSHIN, lang="zh-cn" + "sign", method="POST", game=Game.STARRAIL, lang="zh-cn" ) gt = request_daily_reward.get("gt", "") challenge = request_daily_reward.get("challenge", "") @@ -235,7 +235,7 @@ class SignSystem(Plugin): logger.warning("UID[%s] 已经签到", client.uid) if is_raise: raise error - result = "今天旅行者已经签到过了~" + result = "今天开拓者已经签到过了~" except GenshinException as error: logger.warning("UID %s 签到失败,API返回信息为 %s", client.uid, str(error)) if is_raise: @@ -245,7 +245,7 @@ class SignSystem(Plugin): result = "OK" else: logger.info("UID[%s] 已经签到", client.uid) - result = "今天旅行者已经签到过了~" + result = "今天开拓者已经签到过了~" logger.info("UID[%s] 签到结果 %s", client.uid, result) reward = rewards[daily_reward_info.claimed_rewards - (1 if daily_reward_info.signed_in else 0)] today = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) @@ -289,7 +289,7 @@ class SignSystem(Plugin): text = "自动签到执行失败,Cookie无效" sign_db.status = SignStatusEnum.INVALID_COOKIES except AlreadyClaimed: - text = "今天旅行者已经签到过了~" + text = "今天开拓者已经签到过了~" sign_db.status = SignStatusEnum.ALREADY_CLAIMED except GenshinException as exc: text = f"自动签到执行失败,API返回信息为 {str(exc)}" diff --git a/resources/bot/help/background/1006.png b/resources/bot/help/background/1006.png deleted file mode 100644 index a7aa184b70ac83a92ff3cb98632b32ce86f64597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41495 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 diff --git a/resources/bot/help/background/2015.png b/resources/bot/help/background/2015.png deleted file mode 100644 index c9500c1a30040072dd75392cf41a526f2bf5e89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71749 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
    sp%p$)42Mioi)Nvmg{;dl)S}TO+B;=M z%dOTO)s><SC=;5W#qVztK5|;g0^~v|TKd`t28Phv+KtlcayZLM2{a+p z)zyiyefxH-d3Q4`L~bQcl_(I>)}zXX8`uJ{*>&h_4{)N7c&)U)4t6@9Q2!82#f9Xq zB#xO^*7Fdc4Fo}quY1JAS=({JN@>KB)kW+L&NjNFtsoufx*PeLzVIqL5 zV6-@ijNC99D+KuO|NXb{@3#&f@Ut8c1fUf06rwX3(QwJv(c3T2h3A6*`7M2TF$er+ z@*P=Q%HYp<5_>o7ud$M!PUf$td519f z+gil5Vn!?$2kPtR(KrlOUG;6;amQV_`s(lEnH&FrMOR${^MopqUTh&N>bZL#5r6a8 zWA_TP-{Wb_#u14mNT}c$*Tr070>Gj;(;(Z@(P@ZwN(&I=W`MmRK78 zpp@1A86w!cMFu}-{532)Rs5RlK6zJniDk%a;Y0$vt`5#M`?N#?M3$T_%H4!NElckg zG`_|bz#C8f6bsL~5e9<`EiG^0;k$3aeUHD24mZ0d>8E+%Admxr0Dea%>FmstLoc}i z3B3`40XObEbt1->T5+nj`0A9PO0Rw>;e(>scSacd#4Vs)(*S!RM#lzrfJJ$T1 zyfd(E8{)%5WIh{7tJn~CccW*sd>>A%ap9Q5reSd}s;&CNYFBl9Wt=42ecwpF% zcyu(_iwdoz<V|Hbew$jBxz(dG&*)y=rO`D+0-!GUE-Y5si;UiVi%*bQeHeX;7Oo{h}vjUp?8R^ zB~^+(OGducsz+;E6a(%7*i1IeJ!3KY*09nG%yh3b?%jC4@j#eLn zbT2eDb&Ky)Aps6ru+jKQfjf>A-?^p*-}&*458>J#Hyi~H{O;E0@ct@!RwaSNy|lR; z2Z`+O1iC_=HMSlY|r zx9x*Qn;FflHJK3)1u?jF3p^d2VyaT@C_vIPjKKD-81lt1fdFtKY5e-y3Gn)ZG(uRn zr4@;|mq06<^PPReL|Y@*;UgD=%W2~IO?b+f;lJN+U9S|aeEJ(15C1P+@f{2b>6t3o*GUTi` z8o8FLs&Vo)cmgP}m68jS#;`91y;2HTBU*!-v2}B+yk97UwJ*PezCO2bZ)VM#gsD?2 z;BYzMDpRApOeMBj4QC>%;q}Hux1qMJG5qRRucE&{AV?sQNZdoe(>b5=GhR!hcGa5J zlPd!r;~hTA{r#Is+U z0h3OR^PboMyH2~$z^_r#X#?&a3~t#XNI++ofgf&d7F(U!jB`(I5Ckyn4dO}Cz&qSN zc*t#u5P%~Y-K6E|G16M9ky}twIkIcdSpuPE^3CNL1lInUG#NGhcjr@U2%PflS9OJx zj^{)J0j9)cfzxIYq%d>gJUsu=4m|e!IvjKNk8#TRSD~h6Apy0Oz(am@Vha{7JPQvz za0f2B=qjv!_-S~Dy}0eR>j_LwB8qinml%jlQUrb-9gkCi`G_2#lLMQ)a*s3V82mC3 z$gVYZ46;Z(973dm*2_`v9CmV*+Hi;a1?lZ2s|SvfmN_ zf&b6Qsoy{AytBpjq?wgC@5m}V@?JZB{laEEa?T;BE;i%B$2Y*CC$nF_Z!Sqsz~-#P z{*4>p@97q6<@I*E0DjypFG=R~T^o(n#)!bjdL~PeGj; zJ!_$oF zO#J9)*PymxDsKPH7GA>jV*e?*}iU zu&fLPE*Bc#e?JpDd7KFQv*H1-DC2-`{qHbwjv|Fus}W%5slEQqn-Plz zMZ9sKy$jlb9%zXaIMa5DNbH?BTCB3F?`o8u>A0cVrr1{1Nd(Zh8Em)*AMXW%WsOJA{*DP zM_pYBVv%sRU6;WUra_EdT#PO28qw$O!!aiECr260Iz02lI_PvJT=|0&P&v_oA-4xTeM6#R5dR8Q~u>ovO?RHHuvm#N%X2g>X`j1c3pZ^(H!6#6MP( z?+cuPs7GgZRN(!_?U=v0MMV66_t&?O(iOs1P)UFaW(iBHv(Wk3$!c(s){VgHX~pmE zeg;pyyc~5ka=rW8?|BK|Up5<0-*p!*zW#bRolbZ>eMA~9WI5E};fH^TubuTHTzBms zFrl^*Ga4qtGvpI15IK>ksI(OQJ$-oS?uT&HqNBuTa)sbjQjM@b1%r*T_34?IJni?| zKjj_+SN(Vq3QNrBYL)$>P*`4?Ftc7lT{X`dkn1ok1D{t9^3QI!t1x|v1)Ddg@X+7Z zz*<}Y=af1m!Vw&P?&)~__H3qL9pwA$fLgx0r)7U60RBinH9f$Y4~~`%DI3B0qusYpuabqZogEZjE?NGP+Py zJVAh8*-P1%!IuyS($Tr;T(dCHxdPjFxG_v-^Nly&C^SA)ZP>AC6aIF~E%^4Yenr}p z3w(I!y(XM_<}vugO_$)km0R%dm)=6{MA?rwkOgG1TG83siog8vK|umWb0!85fu~zb z7DyUpmWXgGSh&o#{I^^VOs1&yucK5+KsRmUurlEa(wsjxp2i#1f z8(&e`-w1%KvSdqnyBZqcm{^M+&$OY`qQeDGG@_Es{QJ(Hh9ADzgm+qo;ha+m9o>99 zc%Hh4{K+DR18GADsqR)ti73+QJwyPa(vC{h#S0G&p?BSSaQUqa_*>V@sj+4PJ`(_o zngFj>kAOUtR{T{-jXfo71ws~(n^b-fnWne*bPe z{@K`znnDx0gGroFR)Z_2PDN8Vj29al@g8X~p7vrBJG}=h`*9Hrjm`*fb1Rws8==-4 zVX|1zv|khJ9ACs@NJvxPA-GGg-Ynao596&AwVKZLDowur`-Y*w2c1b#K&_?bZD-dlH&PJeo^ zT2jeBwcFh&wletVAslWONj&n0B*_Bsk+$y_YZT@jI~PMe-BLIdN$Yf4-oiD`McUW~ zKWTa<0gYM>hs}~bj@KVSQGpd@gxZ*5=4U=%F0?Ag06IH+#nw@vtb+*0QC?|*v)qZW zKPV-frzL^&Vy@yaIi18yy3)ZpuSE@vjxya7D10kiz2cR?)&39 z^mfWkLuQ;VFF4}00=cyexa3)&ZxB;YIv(vGZA4I6c*XbMXCw$6l(JtC0Dbu!h{?|R zR~~m9{_98=$}C!(c+Wav1=N>Vu4!V~FbOaL_!LcJ%1MUFNLu=GU}W%f zZT+4PR?*E97vN{$GXb#Jilzwd&)`?C2K$>Z_~XGI^0R~F@1Kul%f3Nof1h|ylC(lY z2Su833dVxbjXijtJ|jkx0gY?P;vvE-5jc;%gLtl8+s=_k&{ z{F8lfmJ}fz%5(~5@FzqA&1kd_&pr31c-2*Ag}cX(iW(>E#ZE+n^8Q?@Da2o?f?a-@ zwf-R!rF2y}Fhsh#aeG?oCHzjFq{GY4bYkVZ@`9xK|L;7Qodp8ixfPHzBI+KJ%sTT_ zym#;4GcR*;&=kC^_m7uJ)>Z$vWw+3m3Rm1t5LsFNBD47H-Navbix_aOpT z6tM*P#hiseUys)v#!xpe*;T>o)uYfAf!-KLA|9n{=0!#Fcc>xzTT3MP+?!j_(JjxX zcXSP4YQ>3o>5hNm@mDwF2X`z)W6M@l)lQasi$Koq6Tg;YK~hEPGjF|SD| zahXvuu}U=CNaiL!(ZiUM`aFHI8ub(DT2yIiQ*#pCZkd>-kk#-n|RE&J8$dW#1D3@R!^t%g$PW@652_ z>9t*0)jEWyFPM#+-)%wjP#C3VtpGnuTBU|67J(`fg4*H4y53#{xoDkHXudjvBgpZy=}bMZ){Bd5p(&=idt>J@UZOnKl|(hVjGDJ z(izKBkSVsL^jZOamYo~m#=<7z&`c2#1KwEEg5@8`rPLd0zK^u?HTc5v65~tHYQQZI zSup4uz+nHNCl9QSGZ((Tf$X}BPm_QzfH~(Z z!E?XLb{6C5=PPJ@;aY+Rs_bh5;Lff~Gf!q5HXXk^Z#KF-Vf^9ECj9oynRs?bRy>7USYCoj zL>f)+tWb_G-AVVsKkyX^2<~eF7}eDA;;YZYIENAE|78WvoF%UoyLCl}$N|`uq)A<| z1z>FaNRR+iM4HS#DZJ~o;h!c9evT(_cAu}K9Rr&-id_BxX_E~29YuA}7>X3FKL)}H zOQ|T*i9s^Gc`jX*4btt_$C3Nv^K64&@4zp9@q6)FQdw#&lfZ~@DKd>{$342+E`wid z%v|qCG1Vh#jvlq&5AHZ#Y)_dt4@>49imd~E*hZ#x`_>j*eC-9OsII_2?s)>&-*i7& zB=RxtyKfC9O)bI1iAAv64di}A5RRwGtt0T$M=S zX@1|1CJbzAh0bEda9cN8HpuHm97R(I{0;)pXLrBdZ4p(1P3d^JTar?4vP7!VNJe(k z#2|>L6Quop>6>r9Q7SIxwB7;e44Ho4vZcW_`#4IUOscaz_gL5!Fj4I#`!_|_@px}z3mOhBfJK=a9QJzg_ABp+#Gm#Z9r*39 zuA|TC$NCRtQeC;V2QNIk8IvXzV9p#D%E_$fx+iWwTN7N*GznLU1qPD_kx&9_H+iw6 zu}%E#jN^|$&BEhEm7;)qK>X%kG_{(8oLpge^6W#f_T{%YeVpa`R4SDxfUy)M@}HI8 z{Nx*0OFsYeWb)s8##G$3suL@T>1!Q^PXvEfL?MhXm+-^Obcb77FvQ?D8PHGL&h4Ed zreH0she~TiN`QYX3yUZVfOLiFM8qwn1t7otS_X&1fzKlxG~*e&XuzPH2mi~9Yh=y; z&qw6dfIs=pBK-5E<@jjF?V{Ew1OG=$-^7wLEm-m&m*9?vUc~?W;@g-!eKM+Q$Dv~U zIILZ{4qG=6xrY3>{=cqLjwlx=rI7X2kGd7|mM; zv0+n>SVLj9nNT@(0wxgnL9QQne^#k?KeI9x2%%*54CvokiEu>BBk@x7v&kxa5(l~L zD*~ufnl}i!JY{7oo=U*b zl35{|@v_siCfqri?8@2-?KAFyO__H{XUpfI9>0aMxY;?QbKRzv-GKxc|*2xXAxsGPxMnytox%GR>SOjk5f6?1aJZ z@8}TVH;|dzx1~7?{(|CqqzM?T`K2*fP_#?o;u&fqR2mBt0GI%FS9k#sgMRz=W*m0d z{PaEd+$Akr_BEJ{b|Qih5dklt%54ggCNKeom8|_EB8Oj-*26RG#fR^%6%l%`SB|gD zm^J}kpX_$|;;-PHRj1>gM?S!smjA`~FI^~JALtuEQX#JZ?R)xpOYo!hZTQV^{!ZsJ z3um2mDf;`vr1^Vr?6FJn!V3@K)Kf3UYcI>?x45L2(V~N`r~t*)<*?G0t18EpT!CO; zKctNt;hHl?Ov`eWqumv@0?HbuW(j~~jxs)XW03<<_5}erh*=rE1x9plYKOap&3@8;MfFIr z=1lOm;XnVh03Kf$3m4Yox?f#Mpzb3gi$SdfG5PoA%D$}mSG?bhv(Nqk z`udKA%~pkY+>3Cyo6hNc{NyLganntAh`({#jL?;pp!Troi1^8J@rRH*wa<&PxRa8u zsR>2(Q{<$jFWBfY(;AL@AlSyaP&~0l>fPF$dHeq%PXK#dMio@N@ca{T*W26hjahQ~ z==~pc!>AcsZObdzcsXx`oXwt(J|gfNFx=@O@VAJRSO&kykYVtTNoHSWs_&EDPC%uz z3D+YY>8EqGiN!LzC9HwfCKQ$)0`FiGUV7;zF}UEzQAZtxuYY|prcIlM;^JbMOit+a zwMZo7Xn0awznofIU+aRYv>Zn-I2047O@zC<7qM6pMI}YJ;=$bdIj6b;u!rlW>sB z-X;Jp7yCb%CpTPsHab0Fba*59@q!xM{B{ev{86F($4W#Y57PVze}FXq>MZzM*UQN= zj-rV<;2#TNGnEPMvx8PzO#vd2J|&m_O9)?!N{0g1AxH*;@cCNM(jt!sAAC^kQd?V# znKNf%{``7T1E9RT5H43Coo)bs|MNqbJ^xT#a^*J(^g|fz8>Dm7z)@(&_HAu4@TX4} zTaTv&v4{cOUo_J+hXEOjnvsla=z6;8v!~&k7oUT_{Oxhv_}`o9`BbqQkq0;6xccgE ziNGLR0RMCC>G)qt{f5FtY;CHd+w~P_^#bRCh{BrqeinHfFnFQG6SLq!{hkKBS`JmMoAeH75=y1|5eNj(Oj?x3Q%{ZlvrI$Gf1G@**m{QK!Yi)wQj8m4 zhSjUqVjB6*8l9TJKaAjTfgpgmApFdc^*YZ?*qSP%^v=sS*($sfTDKfOp0!0g!z z@XRw0vr>@mrj|L31F4?R{VoXH@ZdKIpJzYS_B z4YOAL+0%YsKzK1orqLyvc_V}blpU+}9LRgZwa*Mv%Lk0$9&&`K6wiUET)Mp{$` zR3e$q#v8bXUnH=d{PL@??1D>#cF&ad4hGVgIK2j{7aW*UUk$E*;_34cxXZ|&w$f*4 zh-_of>g23Ey%C}*N;Ih_*C33#x}(t0(10~W#B=AKh-J%8$I(a6$El~DEv%9A&p#h8 zKKwAchkXb~9`0<2mI3UKzOud55@(o&eo6-Z=e1-?-K zcdqPgASA32JH0N>~r&1o#Mqe1Zqj^6z?dh_@aJ*x4#*aNgHyxutY+xnx)gpJqmf@ zPG$8pEI#>AI7&wH40Og2ndnA&0a4m0QhWI}vp8cgSoCx#y;ujpm5UZEm@5cCtGD2Z zC!Q7K`s;szMT-_;sHX=es}%+UWH=H>NB1xm9X*9y3k{xnbrl?wC&E%WPIN6+bL%x4 z(NIWC=Ng^P-TYo8;a->u9Yk105wl3f<8~axvNs9f+{}ZTX*DRU9)|`3d?(!u&ouVK zqT6#NvUVj5eot#Fyd52|I4sz-p@X~1Q#ZbcxL6xx5R zgo8stZqc=6ivWN7#%9uP!@>&CTgUGO@Q)UDMbb*+j87Gw4N%M93okj=s14W~!rDJm zVTdgN76v~LwJJ_lj1irk1NiyR|A1qUn2aC(%qmKZiBl$%TVs(kv1P8%DsF?8050Ed zS}l`aLRbLY-8dTdK&O{ehxPj6?0N94z`s_>D-Say;2!X1Nq{W@wg@Iv6cdT7G3@ta z&^rj9)h=cPR2n+wPHP*osoy(2&lR=+)WlvLkk-+`Y@3F3+^2{+AQXwDk2_+jvqmwNrU#A?i;D#(Ix))MP2j!Go%xKHp-B15ow~0p#ZWSI(Y^Gv-v|4=-;(h;D!)r){^Q{^3|0F|siOk&z#&z-)v~ zuSW&>Z#JV5^CnF~A?5??>>3Ik{Y__jdXJql0{NVcS8@2Z5V6O=wvgQ z+ji^8bk%B0#p=S(TF1nhfJ^`!4AkiD*kf^00(m;&CG1C_(wB>=!jbpnlUlWEt$Yq@ ztEkJT*E@05RhQtMcUGXNXch(rHsUwGxf?&e{#(Kd2*>&n@&_>36Cm^6fdVH7(^87| zSC489<{~p)>Do)kivbwjCxJ;IMP$w-!0`bl0f$kGr3+?eNgz|t(d!0ACwt^dxHR&Jx|Cy`Oj}0i?#tjo?O!Mafxw_E zMJ&=w_as{ZCVY||LwLZ{-@ld>hHSDLhP-9c#= z)19rY?cz5wh^!$WU8qgO3wECIU=q;lZR9#c@z1w6p{lF^b(N(u0f1u)8pPsBVF8R1 z9lKbgU;C_YjjKOvEf#!LWN#3_acRY7b(K1C%AARs-@V?5AlZrz^4C8Oe-)yMCYC{r9*6uwrV6|9>gO=LK>IYH{+wHm9JCOfix5&7INd2 zw^pO#>x;nHPQ>N?c*%1AfF~VEq$G7(RutTEB%S(V1yw|nHm}IUS3~v&0emm>;Id1W zpw}P4OPk#y>d&|ECwz3{HQj@(f#_L0O?7x{}SJ(;yC==5s3vBtvxPYGbBPzYWMv>LptQUcz1!9xWqJwRd+)>O?hX_9uMyxcD4s%^JEmMmlzjb(h(%Z9f(x!fUEOpX ze)utDHMm8rLe~7d{*^fuIU{;YHMv6`B!~pG#INwE=vO3 z6*#N?_mpts4wZpOfLxMbCnQbn|7Y(_;G?Rq_VMS=zGX7m!ya~71QA?7tAbW7T5H|f z(pKAAt5#_hms+*0ebu*Gt=iY6i`u%p?ut9$0`7ndf{K7h2tt7DnM`Ki?*E+gy>~JR zNl1{OeSiPs=Q?DTJ9qBA=lP!XIik312~<|j#Nx%vWb=3`;Vl}f2s^W#&Ge$O{n1?i z5e_-zNWA;*8v+767cib|$#>I5c+?on`t_;`Q!|3EPA^#ki4Dl6+JqA!yUXuXJL0(y z0k0jwNQz-xo=ebzP+nRD58Ycl5txgu_L1-`%L}`Co&jJ9ZBNs-3|~_jXaFcS|M9J3 z6%M@qc>^lEj_#9fhS^u@Q#S~Mfg{s<1sq3^xwyufm+pDxnP<`5+<@0V*nqmGRvFr1 za`$(q+Dvz?YrJYO0I&Q@)RLoNkNf>w8)tH5Hnd!?*+*`j5%PoHF8vh+PxM}V%? zaQgjQr2?{RJV3b-WXXBG#_Hb@sEfxF1OUa_V7j-~Rac|(fCI>y8E_I8o{oCq4^BM< zllB{ePd98w+m6pr*POzR=HwW9WME)^L2fU+infLLn#n)|z`^EsR1^oW7zHxSqhoFB zB3v_Ww_(|a&G_b&iEuGRRkp(vR%NuE4>=uABNmP#X1D>LZ+IV{eeww!cQoSVGcma{Mt;;WlnQvyAxs^Fc~J7xW>aivP?pfvg(ljIoX_!DpQ^3UrPvp5e$w zs-Y+9VR2T_d5S@Isx)PqECsC#FlJ45VNziF0Lq6>MMLdJxagwG@XvqVjRgxX$8pCU zhoM7Lk~TSAX#@s75kIvpO8Ie2!!n3K}aRr^i;fwT!C`V$!ndjfgLqkUhx9B)z#w4tJ?kz-HTj3}wg4WM!K+UR2wPPxxKF0)sx~})M8XU^& z4lDn>v(F}ADo2DCp1Peov9o49makZjci(v5zH$rpqxUkq(7)5^^w01$l7R+*spda6 zz=e^`K@_>|y>@C<_jW5;UAtFu#xFl+=iJfy-xK;td2AeHb#%W@lN&&4@?mUJCL ztv19XcKH1KeRcr>YnL<>H?!~n%wSVoNISJmBOEsFdGFjZY_;w4iZljQol$V#{m}9eFHmblV3}ROFIv{iYq*vaJc@M^y?4jH()h z14j+UM`Q&!X3W^5vyfqzGa5%9q>?EQcGlF0@|TxSCjSH&sSGB}Ikg6B-dcgBi=V~o zuPg!q!A~LYz=`;p$UXr8o*(BcD?+p-*rztlHd6GDw(bxBFon(h9ouTrMCi&AjYQxf zQ;^d(Zc_ZwW5=TU^UqN}q#UoT+=!;uHt|`lcJ4#(m=VAMKr*^T`I+#O6)8g?;BeC4 zc0VnGw6f|=Mh*KO3R@8ACR!C+5o{|U#jiqX1*ZV5lBv-0n21^VL#+vff?v>4)zcMW zvzC|2&H$ul_tCkDMB()nNRZBAbMNKe08N67tZwOqhNN{H?7lH{e$rAM*B21rQsH#Q z3WvLxT)A>2L(Sxl?Zm?mKP?-JuW~dJZH@2`ooKKun+vQazl*OKgFqs@O@}q9rU#4Z zq`tqlA%c~kY(;Z>1Zy|eVk=n$=X~dIR1GUdgg{{GA%u4q~ zEEq;C(#dk@sRqEwB@9L7N0RZ{J)p>4@4Q+`E*t7_JO|pwC&`&Wc+g!FLBqK>Q z)sGVp;H*Q|D7EF-L#Qn&%FkHjLs;tBZ8#W=}DaJqvPy9_g3lVQ` zAb@SA^G>U9KZr?r#a2PYw9F)6AkG-qA(W^^xUO21-(n{pEVV0uu{&Y+R3H^=Bo{9T zhp&?JfU(r*QjYZ_9fFK6M@6U0W>x5RS&g3Ya>$7;AUzfP3Pkz5@WyhM@Z* z-WHZXC&!h@MdTiUJ&NcvAOu`R^6zVJ`G%Z?=K9X?u*T+nlufSBgV`7Er!`z zyJ;QjYc}Ja$DWnHeZ?b@wvqqLJaK$80!AsVLuvqQR=doQH+cuyxAyorl|&{ffq)fX zsM6G3^76Z*D0d> z_;96!ChfW&MB{BZdFog+*EL~B+fE72C1kxeKl9}agyd{;-2tzAGdyvIEhKJRd3$$wYM-_^a=bAbtOV1(A%_&K>FOo-x_I8KHv zGna>hs%|MKZYP(+Z;zmM=XO+YZNS(O6-d*vyx)E!Q2oXlw6=#j?VWG2mXG}<%i>O0)Yk`zMty+;<|7Txe|5< zDOg;YXDPZ^PNRW+>t}26(y|rUu&I{JzEZkj3P}m0Y}ASg%c(9NI6`}&l{X-fcaFfD zl9f54R`J(^&Bf5z6eSSQWkv4CY2tc!`aTJYnKw6qf-T#MM64d^eN$jMb zFbH}!i9Ht;(3CJ~t~jTg*c!iw3xVjnG`db6e=(w=7C9D`6;Ljev{Z9(5P@_w?Sd_l z!RBo{1ptEWQ4Akcia>z}<46fB##Uidvs!$Z$1uU!4dWQ1TvDFO(!G>HpvZ+#V^Fp{ z`D-sf>h)a@pZD7V0{qA>OgLPF%F6w5)Hf#M?d9vSbz38k#N%y3mtAb3?Jn#i8Bhzr z{D-^HFDq<+#7^edI;|P5yiUVBx5;&)_2rHdoM1Nbf@<{bdqSnnf+WfEY9R z*nMhTcrJLQR_0WKKp;K{UcXZIM4T(m`j@KOQs0bg&p#cvE_w@F8rGw@aw^hUb0yu2 zOiHxk%S~+Ifhf&6!jLa7W}QV3$0|X8^%^r1JKTc_DBHveaJY*)cngg8ShXw?be(vs z-nJd}%_B+iy|gfpW#ChBobMhu8C&bsgrhWF<0RcnTv^DmpRksei~VH|ny{dEX7ZY8U9e#F^Y3W+}mGNEG7+@JN03ei>@wuLWU$$(ze*nOhf7K0S>bADZwBKkrDnUE;_d_iW zvijSl^D8Un|G%Gk1EEL^-lE}(xPn)IdK5AZ0t1(?gjRn)DSj!uKKm}pZwjaE7z8+A z7i{6ofJZ9yG%X^J%1CB#;Zw&z(8I_wUY)tXhJnYdw$s`Xi-rgQD#g4^r^AXd$5{Q< zP15^$F^iRNB@j62_jjSaeLD&Yh6u-B=M{C&!9a$SSdH#I+L9@7$(NU2 zj?J(DSTvmjonCkg2O->AD=vUVfT{E6Z5o}+tPPF9IJWI>63I07A2$r|t=oys zwJLCIvs+ch$EmDF&cIX}Q;~;Pmf+zXy; zq$iC=`b^EIZwdg21<2K&W{0Kx76o_~OH=^B1cAe6O~8z)BRc(-S6}@A@2;&Ky}hA* z1O3VA!vO_>0RsTKNLBn8C=S5x_epgYpZx6ZKPQh)x>!4dA#84F!I;WQ#I(3neH9S8 zx3xARNxrkw!3b}`Yp*QE@{d20z@N)Ah`=VEn|;UKZkm|>rKBW7QBp!y1g-vDh1Z?1 znaY-c$8Ce7!bd*31IdJs%=aYSWMpz$6Lcwg|MlwqU4M|KNhxnS%{+S?(RQer0s;gH zq+&rbL(8SIFC8cI8fMhLd+$h1B*^B-IsHxt(xGp<84e5$xxa~KK#^zS}Tq>2upwa*wwpwhfZ^hV=gAj?R84oG*3o=~# zkiyW4Vgib7xOd?)75G#41_%BgF}~)6*|VqM`s>dmU!L|;7pCi|j^X837h}`DIo)oJ73hgpaXt=2X4LXQcOPZ5Dc$k!WAx-;(NIc<40U=%ig~N z+h3M6Hg_TZX955W7l4^}Z9XqjE&U@@vCxGIlli}PdmWCQGBNkO!$s(vh?7OohJvDU z)YfjrUH7XAP8{{;n_i;O(nH@yXdHyqbATv+pv(<#fnChN-3bE(16D!6E$`2epUHv9 zMARxQy2y}Esk2|%v+u5FBHWwW!H><)>2cMdBFwd1ywW=)a(ALdf^o`+z3=r^vaz%o zx$4%s^%D2Ura5zwA?w8{tV2vHs#(0E%qFuCry;RhenAy@R2%>iq%v&1K$@s5_JTcP z-2JlREgX*amTEbtTol!{i`33mfab-Hrgnsl6rRtkT!5|Hw_)Nqjze`W3gTEqk>86* zEP=ZoQKmn~7MP=eA$bAB4i9B1}E_VC+9*1}esk#fwiqDj@LS zowt*9+Kj`#`AxXpegT2}bCoq*$(gf{!Q4|W$UVR1^Y^j&v(;F=@@2gJ{uaFdQLXvX zfL9IA4gp&EeT7aj@%wuFa=MOJ12!FbOC~tDmy(qn=-Cuz!c9|TCC)2ZWu?#Z z{CWWZ!*}nY&P;+{^gE)V&18uv0AQsbSze6crG@a5sp=nAg?~M~5UF@O+`cl2Go%s` zxCT z72xp?C(9=y{yQrU^C>WhWYX;f5Gr6i--LAa43WKKB>mEiK9{1*h&Dvt8NMT=`Cmr zhUETZ0N|D0?RMhM$6m(r57ryXFZUD&{qE@I5EulGr%gsAN22QY$HP%njTwUxqee+_ z+9&UQBp^^ZbTDQdek9u3nuPCwS%w>S?7*6pYQ(_H&%S^+Uw#h5CQc>yqy(RBZq5e) zR{nj`H!x5Dz$nSijowyRqHV7_05F$QuesV zXLy=1ons*qb@<@W%0!7cJHgCCJobx8H?8!0G-ruX`IzUbup3~t8#G?JtoY1nn8`+U zYdWf#1RwiqW}-9;+1)588H-5k=Q1pXuX}#SAlFw}tscC+whkv9*+NR~K(I~6xGE2J z);FWItv%O{FnsuMJp9}{c{Dy_;*k? zxPs2HA`nTYTQH1(V8tu1Vdbl@W9;M!C@L-@%O#4}o_i4=zqbm(<{&~rWzC&+-bFb1 zCqJb{st89saT^}I`#vmsuZ4fmL+P|lDu~kQbQl9D0|fxNvcH*Ar;@o;f+aOIsG`S= z!vSk7Oe^*70e}lO+T&5$I;YA!UJlNM@!Q|4A;bRSsxDJ=ykzdF{YS$pjc7CG4QBh8 zj^s39I2cDu3z?7DNoJl3`so(4Qm?xk-;!&S9a8KQ0O(veqm-PfaFp+K_H{RcK$XE}*}nN!hT?RSa*D0s$7Dp=erJDq!gsV0-;T z6+3Gor9WtjDjF*;*GwNW^05nw%&Di`+++5Sx`9nR5kq=KN zWGnKyFtp5%=1>f7e+kMa&7v2{6(HX{P*RCyFFk_;XB~~E+BF0M2juO;_zqpq@&0of zQgs`fb1%A{6EhHKqwm&LdY=0axT-Q8*~^1U`YPnR({*ML@D-0kxMd@31VR>a^OTjM zbl2f1!lD(5Yv7k>o`EUTr(?^uI(R%Tj2$)%FD_e#dlxRs-|;3={<-L#`uhaBg=F>T zm7gWt)=XzjEj)6bQVF!R#K_%rW9Bz!lhql=woNsp=vA0<$P591iXp>LSftj+w$`8+ zfQdvaS*jH{Y2H;>_vuDF|JDoKcX1N-febhRgu=>#Ih8=*FLdIwWC2*ReY<%~)!4-X z@cHr3qPOJVyRQBusRp{A2@qTv`hj%IC*24qOX!05$t3fTNp0&91US;4N@NfW(mpe_ zhVu8VF^J9O7+E)!0WYSFD91goeT2P9C|g0GQsVaz07Nl->{Mj|q>OtuUWaKj=is6H z@5K+#I$JUWMU@j2&9#6~Pe9ZAwa_e`XEmzfByj-&GbOmMg+ahdW^+O5WJFsxAQ@p6 zp)z4m)}`1~0WNbx&N*xv`Rj2}{_>K5DF5|$KAgWhR(@_<-))+TE-NNYod{oHi70%Cv`uEjOAu~C)lYGuWs4Oj$dIC8O{Bq8)>_5?nR27mfGp@1>ey1CuR2@c6J5XNB za)v}2kLWn!LCibzXJ~3_!mls6N-TkrK~tsw!OTqbD}yIvz3m30ui?IAEt*Boh?#A1 z6q?gN_MI4P#XQ52NkhCv;|K(*k%=|KN|qj1VX}B^Wr(yl;qMPVhCg0>K3d4{{`X_g z;E5OC%;qrxv+_?vN2zCT;tYpvNTgI?)atO2wMR;>v#XiOl_+!Rxt`ZG$!+YW&)@Yo zs9FtGi@~534sS?xfv0;xzX65&Q96A?JQrIP8eIScUW+vEU;Y6jzjx1(4z#Y=Iw^_7HS?-$sGA#}xqB zT`t+rQ!l(C&vV{Ck&WcN)2fPZ_@r9hihWl&Y}ofz>~R*<5(qHbS_uF;YbLM$i5Oi3 z?f~UY!ZA2rw;>YWk zWQ98*99EfvsZ~SJ(AJKYP*@e-d`U?X01Phj(^dfI=xJgB@anJGUC8If6XA2qAV8}L zgFwZgLHNNB&q8bcCkT{|A>X-}&JmxNzQkd4HO0ruy%VtxZhxsU$kKk=NzvHkHZ6g# zNZ71nSH$XvzkCu|0`*8ln*<1Ym^RI`{@AyEs=r_5bnZICGT#b7))-e#rhna*I)vLo zXm5`wD}Y(8;%O-pw{RgAgRArwDezzrh_pA;d&lEj-#QFWKJ_$K*GNj8sf`9?Fv&mw z056#h^gnW<5%6TfmWr((A?PZDMmL@-*a%B3LaV>6PxnmHqN6DmMuVP2fNr*bJ@JH` zL|0$%;OP)OIwx8!kMQmE4h z)7EGP(3sD!y&luaOrJS^1XfjVr`22C80uimBk7O1Y=tke0Zrt-9Jl{yOsOnE(UHeM z?J%isye^**t`Robll(g}_}&kGjB!FXQBNUp04pg!XR+!qZO#udYVwO%SNpn_&gjPw-u}k`01G?NOmrY2 z@MI(k*S1gO1>H)wkX_A->&wmJCO3iS{qYcwhPpaDzVH<>i@Ou450@5J=WdBBtd>@? zDgsD*JI23rP!L&m3H#siCdx#LI(^g-nOf9Y`Zt^+cZ{_1#$xKTV=If`IsS)mmJFlS zziF3|R$YZljd>29HQkJ9GiPG`+I9HhnP*_pqGeK4WEKo@T|}o^fo_DY08PtRa&As? zt4ch!mN>Pk@7ZtMyJ8F<$tcUu%IQLPiN-OMG#5XmB6`MPHFkPR5D9G?lS#$6G;b7k zA86Ym|J$-%{;*gI>G!wi=-N$5CLJg(_aGDu;;pw{MLcRuFLHQs|KI*e09=guzxgu) z0o4(hPOI~3vzeA+9X3~Q!O~Y=>-bfgRya_=I*>5{aRXTS9ps0_+Lco2R`W*c+Ye$E z;pS)zPP+xKzVHGdnNpN>(66mPI1&llEXn;AE1^X1QaG z6{7EhLRgW)LDj%9rK&PlrYlEf?OU9qC#esGq$K+L-@-iSa+ z8D4yGDQ>y>MqF~)6;d$7)_~Jnp?v&wycYmaw}}b_nh|U!RE(l=_i3tS! z`y5QogrlF*KNg+s*zA7AC_Dfr=O>x!iT1Y z?Rf0&>u8ma!e*R1htrEe!-n9&d;SO8w{6Cu-#89KhK+)+NV&#!)zyg6wSN8mYEga$ z0VP^6lhym}s`OO`5&-ywO^?*8d?~N`TB`p%?RLZb{II4K%N9!+c1Njeo+uN{pmOFK z_TFX=@SeLy{GKL z9lZC)PMnC5r(B|rJrUU@65Xqq?D4QVDfH-cT zcd5}3t4acab|cu=DW@rb*_|u$brM~EmyxbCET`7Gj|@UmkuP?;4`3C4k}ZJGK75-1 z;7GV!oZnYq&k_8lrVV)O5_K|FgnzagNxj_ zRI{_w+pkTe^jq*Bmen+}UN`vX ze-st_VJ#?vbH!Rx4liU9NWY@w<~L^1-dZRBy6U#;)Kdg9QtZ-?z2&AavfhRjE6yP^ zXW^Z9SK-dvZ^bo#ydF)Bs%oyZq=bB~k@9a7VD+pnR*ZDEaXo@z!KpS^o56OYXs|jT z|K1Vvx8|&nUg^+x{cbIfuz^90S%5+u-O6{SFw7kJi_d-AO+wkqtIhizOH6vP`j} zGZDx$v~jgkEe2Qy(gG;mTRY+b51ZL{B?TxMGCen8rmJvGxR|I~Usg!fZO6IfG%2c$ zV-tJ8wa>*!p->Gf3kxu9_#ik3jfQ8xgHU_>eR<#0f3cIv$Q**R4xWw!kC>|>`xfh$ za|I2$ttlZ>VW(e10pV^PY z;4Z;`U-icaF#Cup@Ilcp z25hzOP6oUVAlll7bSw^=+l5$5EBRji_lY?N9sFXajELUtd-cAW+{(mGlTV$=7ApYY z41zELTl%z)u^-H-NG?j6Hf|io>^}_t8OO ztLX7IIj%ru75@9i8*%x?=i^@wJdWR7^&5!~aHhcRtAJH#*Sfz=R9Y}C)Ll9TZWbSd z5i5MC=`-CI7^>Nw#nQ^GCM~N;z`Q9}L^G(kl-t7Y5-Wa+z%TI4D@&H+v(L7eZw=;cU#Scv z0LTdl)iSTZFgdEI+1K4U%jne0HC*SKKALjF{p2%df?dt zh$XT@l_j*{T3=T&O-y5JOidsQgjz9hwoOtrdGP*lXmV(b$3I_p!%}y3T%3*++;T~yb?mKBT zVGWG1JHiy<%xuKLR*R($9{*5LV$OE3bz-rowq;FE2m_LEA;g>M&_Xg%DPs^)+g)Y3 z-Vu7Nf(rf}-H*e$%h(tI#*o4bTPiER@p@OKzNvcCw#(QGU?7n90;}*fk%0t&RXkTM zO&6u%--e z6_tOwyKIAckKIZZKs323CmoZC#p4GBaKZ^Ez&=@3=q1T7tZ7wK zeUa_o`ftlxkZNz0f1i87+43kXMA}~Rt-I{UX*KfW>=w|qm^kG?tX;DPzrW^M-2dSJ zN?!rOin`w8@xyLouePJ6fq4x$ed=;pr8XeDm&1X%h)6mqO7C<9(Auz84+poXct|#* zsd8mAQ;~#&Nk8d6;jE4({R~V9<1^mF9D+_d(lA|n7oySl9HTUmH233T?J^9H5w`KZZ z*TQ{XulZ&Qhg9(RoY@mlH2eFq`m==FT7=KgX7d{T2z?b@VhSxS>oIE72+W;3kM85- z-c$bG#HeN0!o0dx;^td!#eZG%J3RQv<9Pb1C-BlM%Sc(+cUJy0v)u4zvjph;waFZY zffZc}k9a;nVd;KaThj*7JT3=kMr7USN@P$-rLwR)TyVG@QV1?B*g%f6Uou8%r!YOc zRC&2M-n&mA&`)8DfV&M%0N9%aJ;GMp<+}auZz`o_&1@k6;EuUyA6I{yP@Bkz}tD}{ZyXP>NMKrr#{?Ml9!@_+N2voU}EIjH6WqQx)bg_qyqrx^%1qi`f`Z}zm4fer#b znn`EQW7Bf$h8j#F0AR&W(~XlLlRie~rR21EGgdjFtjLf_=~9Qb@%4|T$-_olPXNHe zeqD~Wre9TQ{5>4VN~5o*gIE9dpz`PLy5xr#I!#6(BAH1`-!~ROzL@cbc#D|y7IJAujT(vh7hg)-MFa+0@an5?;H8(Al8@bv z74Lq4ShQguSOG@82PwVNU5ujg$yzM5fxwsm%UWb)NwTWLPAJuSsRhY_fXd?=Ai#C^ ztTgQ7e=UZ0_8<&Ww+F}@`w1-+7hd=aj2>M@KmdIIxTyjF&n|ky1cGa5o72;d1{45j zCB9zI=;v`4UosX)&8m$UH*2EMVrOZ^7cV`V?OYU07tLLus_-^0Uqd&b4W5!Qa-kHG zcggGPYUETl6_*PxW~|Zw*QaBY-Szb}=x}O2;iu2gjeo?fgD`u(q9x1Hs_Ar?MN2jE z$T5KQZo2O}nnN}5TREe!;DVnc5EzD3oGglcto)rq7RJA`;TGd>I=4d} zSDrrl=vi2{Y&8OvMJkIjVA642)654zKEdVZLxFbd86@x&KO#k}z9t@f^3gMtCX|rVZT>ssP5eQN#JZ)fqj@b>zd4HDs?zjP(qX5}RgRDN9O##=kWh-PA z@7k@{n^^2_wAHVXfB*5C-^e4^JM1$65Ut7X)@8|Zb|ay>9<5$3bn@Y=lB_iUSYh`K zht*LCEwYtBvyKZ#jDC>5fq)Eh$=c!Z*kyJg3xNP9`X8X}Dky8FI6Kd@ZZ;* z1y+8h6l2k40cj-5vkaAkCLpZJHhMh?16~IJl@pa93xmKH>o*HILg|>HGJ~CG2AKDp z!{cUKURHiqen0vBJm7=t&3hB6M9U5|GmS3C5^Ajx#lGe@^D%PT9Au*%)KHq;hx+Lp1VT64boJMX-NU@(NTveA9sJ2$HYn>Jw#f#Q|d{)sR!-D9=mZuezG^LzRoYKXAj z{cGL)v#UvvuS1$6fXMds`0TS90`~%Z6=JpUq+hGi_+y33GYU3)5mE#Man4%UtYl@n zrDKtSK+OIgG=pDbQdb55bK@XkBog80IjF|l*TE7vXUiA$cVBtU{n)tn9sKN9|Am9T z@dL32Oi5>wFmSKesP?`902VHb^b!dC$!fKVhSqP{A=}{ns^BduKr)^{?b^+B;gTpQ z8UmMZh*atAPN9XA8O#Q_J?p>kMvOb2tBYG3HpuE0n&S1-RSa8E{vb^XY0@SF##=1-iA zC!_T9e6V?Z@VY}XQZ1WS))dpjr!#J25K8wJK^6|g66&1rfLI<1mG|<1PwU;C#8tWQ zeY7#D!++oN%oc2~`xOp7Y#|n0aV;%AL9AKz4px7>8Zli0+`X@erWk3O zpMG~CEE#e&Ga+dfEA;SSSRLVLTv(jC6LWMJKe9z&P`&fSpuRK>?JM~+R7K&di&qA* zc;z!#`OfQLmb=BTb#lq>>TM_c5&&3kBr|L&t<-1J_I>(0;Bcv?6Se@n{&KhrMyPyl zKYV(Vk=1J5v&NfV_MB@y=C;|XlP2N6{`)2wwI#C$^8kSB57vG3E+tyF3-QJ~ z%kkQqZ= z!39Ig0_YO(>`vh|gI&27rRIQLJXR-pe5bpTz=T)cT~ojP74iG6bUxx+5ov3L-C2^G z6s7CN=rbtyQ5F(Xd}cd}r(!}sXUITQ3GNl4<9{-f$vnwGVA{=Xd$|sA%oePBZ_tweJ%iA0-G}W#YzyJB? zA3<^XVDhi)Wjc?lDF>rHAmVOHzRc`iQhgdVby0{T+suA*$g^%7R z7C<)IMBe9aCJ&)wcO3Y%dg+`+LwNaj=i#8U7m)J*hz~?`?fR>)z#aEKgu1#qdnIkG!0IMH>hMEx&iOyWx4(T73QCnyCmK5sz(`ru8soFMuw>zb zsGR#p(eb9d`|c~`MhML{CZaqFjK5?Ch`;tuY`0XLeD24>5igZ z@A6mYzioDPyyQy4S&GlN1dp; z@>l~q9b!-hpVrl^m;ArYRb`C--c^x>LW7h)6sje>sKZrPU4ZX??=0wv{+Ih&WU{Xn zFJE&W{DX&M+D|Udy>|W8SL5pI|3VA%NE97>G`-i^LFJV{ubx~1wzyKQO-Qyh;B^87 z-l~S*fM1+>27Ws4G_ne2lIt8sI@;RtBh2r)Rk@cor$^}3l;oWs;mPNC2w6j^on#tS z7;n+gojZ`tBTnI2hynnel)rDnmYeBfCF8B+{?ya)MaXI?hn)w$MuL*&=e;^K?XMoEdX2-xLdd3(uoc>9C3@Dz{Bqhhyo zt}ozNL`Fw4v>8rcsifj^m4aPBKv}&4KJ-=<` zGMqN=XK+}`7LRIVC53Y=Ll(aug>*?nEgN8W6i5c8t1$3p5-I{NpM|=? z6UhW^TM;O&L^k$}bAZ$CMwSC;^&gS4 z5~%veA)QtA1soNSh8^?wn2%h*l&75|M-0Xp(+49(R>9aoC3tD|CcOGF*NH@AWB*-v z_^o-If0|WVu#<+xbHN2?`{k zeXVD9t*dzW;U{ym3KM!BZyp^NR}iw|GXR`9?+o1k&?E91D}R3pKIJ%R)!w#zDbn#6 zrk#BWStb!iSA1{YFXZ*I0}he=KEE%tg}`jfr}F$MbLV2xq;V)Kc3|}I;rQU=Pq5_8 zH?d;HdPM8Kkd@y*auTc_FDYV50Ta+2Oww>=Iew}^%@1FE6+;PV}x#yS9+#iER9!M5gF5a@sys-ZlWnTaQ zQ!X840zg542P&8|>h=-{uwTv_N1?4Y!IyMO0YLAf(mx%_zk__;GAw*ru{$LqA=tCg zT*}WXyzj~v&az8j_^hwLzI>PFA71r2sKr?XmYZ(44wwGMX!0?Xzh7cl39R_;qEbxx zp)uNyl>hO&Zo+emUxjPNH&t;DN#mM#Wm+&R{&m+~f(g^ij!;B@o+BS$%&HhMnT-C*V4-r9~^7OliB z3t!4T&&4^_)tk}UT1V&H2DiIXop(bl76mk?pQ_6CQ;`M%BCb>%IdUY{tXYHqUpi!8 z0Kk2;UCaMq5O7#EI18A1+A1^o^e;PK-XMTPUMC9a^l2oOTGc>C>@x#k~M zY*zkQxB=nT8bO!`?z;y+KI<%b{mUpn3rDj{Crr)#9VhqWtP3tjymA5p{sLs85j3t; z3Ulv2{)(Ud;#ca8b&C31D*sZ36=S!{nDP4`{Ws42L zIH8QjcbDM6al>)sVTa=IQ_n@wu!GdcEm<@-1BhetXWt_X8ZZ)pO5+T=NkZ!6#%&X_B(L*-Tx-5 zpjHS$I0M9uF#I=L2W$bzF>)+|t+vcA4NHCR*7`pz`vL%V&~^ry=8y9qp->ZC$uwN9 zBH98-TRWFy>Ro(n9^t{kD@J)4Q{A;Wh2NuDg;6M((qLr{I4G9b6#4E}uN(QX1v6M> zu)?BooAQnK8#f8Bz45$|W3mZr{3!K7B1ygNB`oLvPOPZ)pGg$KNn|>;!VIgUBQj{Wtq_%C8!EYy?`VkTPTK z{tEo=&;NrsUB>c>6Oc+K(E8phVg@gL_AwlF;%Pw37Gxsr!uKa-z4>5BzOuGa^*78q z;$VEZdMR%E>)-L4>u*EkGsRn(OsW<2(Wf853r{>QO5V2pWAed^r1jLyv{=Xza1jW( z{3_L#P8j~Y#bD_*C+8a1#*_^0gM0W>sM?fQzVRX){t?I$sArAIOg3);N(&44yUj2E${BgT z4zjOe08i0*&w&85wDQIPz~&&Q1ao54lCuxbLN~2$vwJl*(|ZzKicIWA87apBGGdnU z^x90yD`TLthVQOP6`qrB&~^kH**|vS)Ndb;C!c#-UT5W(_tASe)mAW^w{e}nFj#}? zH(o~g{iV3;u7~9*jsb94FQ3x#@>2Zi+TZ3@-%NYG0FP$rr_0kz%dX8^gm~QsJoVx- z*oTf)-}A|GdCVz)-9~XkMERK(H@80{_GPq-i7&n3b8>O~xajwn;pg+dDdr&Yq2R#~zDcEciX%Ub#v@z*;g$vJ5t#LCZz1k(SCRlb>n3H8p&dxe>Lj zNx5!(FI}HhA`B~mQZ}Vx3E!N3I4-{OI^6NMe@TVp@y8!4zaf<}V+fjYy{!ZU`{Cu6 z7wcDEd9`-qjW@}w=l=Ysm^kfFAlkUgIV&j6b<1%I@N2`&`&G)mtOR5bU~)v(7^Yql z5MY%^##(c4(yRsmWIAqox3^q(x{I}*8iZ7-r_(6@=xl1H$rWG#;J^`=-?GaQBeOjc zQbSj+y5s^}ck|8a&A~e1^pg}K$$QHdp(&^qipn8FaNr?_K$05dPmcbMV#68!;M-WY zZe6aX|Ln7VfXgnqSlk0v20h;1f5lfn3c2>(F2YSc*+c|KeS02SL+vPExqx|K_S+u^Aw!=3-W1LyttbcEvx%$zk7 z&5eyX^oS#|e#LTZt=%E#pm6jwq_iyk&V=Oaxe`$FFjjN5w~ErMZ?iywGv9JqG552X zn7CW)qH!$&TO#W=*5LWYuS#zOH%D>KKAYXuePI9Jl%M_Vr#bBH(sZJC!5K| z9eDLmlNGf2<6LTg3lyz4%jfuiSoU=(FrzLnS7v1(KeEl3YbG}ppMyQp+N)cbYfjU% zz323K_2$Ji721Jn_s6oxWqjgprs#_Y^Wozl*~TJ4~MA8+FN&C8GR%!?N(PnytcLO8GlK zX*_R%)l-D!FE7NqAFPI@e3WoRMc03bX_Lp}vfq;e1a~UsM`z`i&u0yDT+dIRStJO@ zRuUIfW$PPdn>6hJsT*J^DJ#RRf4l|@uKBAdKUWAQ!sOQERqu5a0$JpHbfdODXL;D2 z5-;Fk9yUh_x|`rsU0scsvfCXR6N9iBsP|GRr1PjMj>M-_P|0-lc#eC9ER85_kw}C1 znB&J!q8sN~2`Ygpr0fAv{(JAe6W3gQ9ct@>X;Gc7Zs>$19}9t0<@7hTEqT`Y0@oDN&VmcND2o`Rwjcp~@YLLw6%ce7Q zp0h|LlXR#Gu;$G>1J_-rW+BE2ytVxHV%mqp;gsUBMSuP+&bsP0sROz0x@&OdZ?9s& z*VymRDL;4i`N|Nh--0{-^&mF4L@}hOK;!H}o|u-vG%j>XBsw*5EhYf_m)^(5n*T)E z=iPwa2qSL3Kh~-1%Htm4x;6bmmb~F3Y8|8M?uIWuyc)I*!p3kqNgWx@9Atc=`p} zp22S}xBxfYafg_+sZE7Yrv z^-B2-|6Z4tUe(r{8=pn~v=r^Q^Tt|rGjYir<2G;J1$cy%-!)+le5GZ`L=6RE^PRJL z26upbr)sI|ys^-090ax4OXxcJrBs(|DpHvw><$Nb?BJ9sQ}ED3kICCb`SZbE+H_rV z9{zRNMR@6-f5YDw{0t{td=&-{9wp<=GvTJr91Vt>Q1{ML7*<+{JI?twCX^T8nGZIi z*$57<-x)`3Z7mwf#p$B_EZ-ux9IscnZ_HWI=FC+zUK|5p<9mv|C$PB}$3G|=ziXung%FLD4t$}Z%hT+Ae{Kw6Yv%k!a4*FYnM&!-gAMhwH# zPb^f*KXNAQr6owmqN;k)l&s3j?#nKCQxRVV`$YVe6e{wfq)Y) zyzqkYv$`n191Qb4*zw`ZFNpI0?55jr+%L{oLraZ0id}^VpoXefqk7FJ*njj06xejh z7X0CaAHY9}eviL|thOX6e>G~>?Zmp(tFdOw7HrzIN!+@QuhwQ*t=9K5nGEMY|4)Iy z*98EMrjyM4+SAP^Sos6xqc&-6*h95Y9hzhLqVc+1PluMJCp$xaHxAkegFEiEBi^1g*Yf$65I#tRU{>vsqU zyuW<8fWSesX6+dWfQJfrgU(qb$;4V<|m#| zO6i(F)=xWqmp$*6$)wfinK=js2$=iK|Lw+m7*Kh?-08>ZL~i(LYi*MBmk zAwj^fi}KTcoz4Qp<01U%)NkW}V~!Q&mqW-`eygo>{|8wE&0o|YNfrxl6-S+fp+}r3 ziqDb?HN!&ZjQJZY=S;xNIUV%*CJ0<~(M9G{0kQ@jAxq#O?75sq+c8kH2X4dHK)z}K zIL>CXa1HAz<`dj7L|1WdAqzKRU|A`_E`NY0ru3iIa7#1GH@30$Q7ndWU| z*3vuN>IOLIpy_m>H|vEH57t~ILy#mu(4B6?n(GkR_#w=8lZg|@5_pWq5l0+~^{dxm z$)_f~qt#WdyoJs3mKIchRt*bTJ?UgZh&Qd4 z{9DGB`z{kOG_%&g2nb385;r9AB%x@NO2MY0bd6P4VPpO0IQirg@%`_AAKi(bv8ox1 zBoAGBzGMo1{kOl$%FlsTHCwV{3Q(@zzyP4o)=dP`EjZxE=U~*aXFvwRw%03*f@jji zT5{i&H7iL;IH=39oik280f!!Ov~V9njrW>G+j8_#Y&IL4Jl}@m6!^BymaD_yDDvs? zelXt+gnU&1!0f8?jmO+E*qs45y@NY;G*M z_uhN(&u5k*NXqXXHx;psAK@?8U5%@5z9a8w`Uha$#{u%KgS^@RK|5hjG?Tzk{!GKXSnumA~K9 z@KpjGW<+un_;JJ~SE2NPqmW6&pz%a-^SBvMxu(FY76c35Bc{6<6op6m(2-dA=2GlG z{ZKSC$jEmFfxZF&r-is?n*jjdI>3d|ho6pDUU`kjc(FC`1Z}6|E0lc=0265A>XJ^J z*{t|n48)HzzVS;aKMU6jcmq{fv0)9KUcC`#pE+Jue-ZysQv44wfBxmt0p}e)PL!Y9 zV|gksEC2PsS%53Axn8}Wr~Sm5Y0EP;?OsfqIU9G-cJp<0xcm=)z}*i#AQ^@`9(qav z05j2WdeKzW-aue?-GKTo|LFKLFUsE2ezY!HrB-@Vd5slQMznQUE27YaMVLyK&wJ}O zBHgqdn!5m2uOGS*EYppkpO&Xkx%Lk3E+pXKw&i$}a+^7u!y~=8N29e~(V;#0%%kvl zyrTTw9=icvZ$9-ecnS+J=STC5@6PO6Qf>4YNyi^I7p2n}ee5X&0>wzStCilC4{}CN zLd}McFk;wH1q4P7NWMhcgZW)6eHnnrivMflQ51jH(I?}GZ=OnzhvM&l|2Hna_)30> zL4c#sHTa5TUjqO)!H*U*-=TQdb*oPl-xR%5*Vvwm)tJ(A+pDXHDl|77FkIvM848(RV-f1vFr_==?8 z0N_&j`jgDR={D!qxxUs_ucK``ukxOvk!0#KEp}WYv3(b$wb zYu9eTn@gACh@+2|=Py3zTr63#6#ntk=;p{uAq%&_wr!N20PV4dA3&A~BbzoGer#7I zvUa}dnzxE#jh{RbH{bJ5NZD)aHhE6BFgZwvS#A#uQhg1k`3l8g(1|FsOExYc!9?|S zc5b)r!eyUs+M-q`RdJiEy2xW#5ZYT^Rpihk-Sl>+F;AiM@6x4a$9&F0H%Ar+j~gX_ z@zf$jB7~nISb6?{QK4s%&Tjgx4yUwE$D6-EqIxyC3JL&^m^>O)s+MKzkN&eVuLecXyM#~%R&5Bl7RECE3YCQ4S0~j%KBxX;aj+$Ull;2rWA^q)y zLPD7x-?;@hUH(h>swN}5{Zr*zXVt(FboCTWAUQJ*j&9Cx7>CMs)o@y z4ApmY&a|9+pz$yk^EcRy=Bu9EjxJV!+izHBOwC0rIF}$>3(Jl3&A&6lWD3ZJnvvMF z3Ykzx@!W+c&%uHdXJYo1chS%BfISBuop$!wr{m_ERj+=MECh?zee5A$Do2mTv^l4$ z0OOvdSi3E(%nD%s`q%TN0&&x(ju{nPLn5G;{}Elk5xt94gbgimi1N=lg#pWkXk76a z@W#zmoT(i>@d#8@JV^Irh)*!<)mK76)*k?vK??9b-#D`l8joQ^O0oR?&+z&7ra9=l zBhu{PngP3~V=@h|?irn) z^JB@F=*K0E`jk zCt>Bk0$e8U!8!2xkEp{aW1fA011PbX)n<^Sf z$8+@n-1n`@eKV?lomM8BGjBGXW~RVW@OnpM)8^IKRPzNk*L(=AXcX#ReG+A}ju*0v zG_C&0)<#+V10|)%Zr!N%VHUd>elm0Wm^(`WfUpG_Q+4xKvOK>(!^9Z`0)JVw z9OdK36UZo^)avQDnYVBMf_%bP@XFgOv3BK3G;H54&rc*jbo8Jy%sps=JXXz^j!{Dg z;U7=Ehy}O&6Pd=%(0EEO^Z1*=K=aY`>&=uP^xQG!Q+MZ1TNk%L54B_H#A&$Vmp{U# z*WbyVRl+ft3l^F~M|P@}ldX$u&paHb&zuRr+l`GiHMr(sgUn;vQ5fXjiIIUaln?5N zEA%9MtPUfNvtro`2sJjMvG#M6PnwGUi{9g((k~LMh1FMz3oe*X+xd9<>8Ek|f(6*L zrPfr~QuI**bjTCNj>`Sr(;Pytzl0IVhi49^&2^WA*IWtcGMYjnsfPOyuDU77I&aR8d6x&$rx;UTzozznvmzx zHbor4mbS$qF0b8N3Z3k#EVqm@g_N%H-eNiU+!CR<>H5Fo_*2iq@)sY%tP_5S#^p;; zIdd*j8&@IV_v6y}=aUjO7?EwRqc>7rMy^~l27u~pQVTx;lT2vBIIG^scU4vfP2_|= zXJ=O+9wlGjj>>5>JDrHln>XXGfBg$@EnSMOTeiq^2L?PiWxuhQ^_@95m>vr&%f-YN zOM%SrSTv2q&L(`1faG$zdT*@w0CP^@6thZmW|1~x23oE(S2ug|^Od`s3&X$7n(qUT zn2Kz&0q?K)kd7e$d)aWHuuS!3@Z3SNwj3Wmfow2>02#8^oq8f>O&EmV{!I~{uCCsy zG9!1~fzwYv9Y-B70{+oMQC?}5cc*tP`Z4GBan}MV=jzqVNcrngI%*tZt$Sl)a_5w) zuru(r4XZ|>4BdOoKXB49N8pTkXJX+CV%e~n&M7oD5s!z&Lwr<$(%DR#S4*oHoO z`yDt63K8D16&pWz2Q$9^Q|uk-A!V9~A(i|B_L32J>iNZ(KmXSPV1{tOoA32r2RXd4 z^f?@P!Z{c;Y`<<_Pp4z>`6^ISR)N%)9bok(r7r*=bSy_7f3j>!*l+O>>Z_YtGy41c zDGUO)TdmeB$V|#r0!lk-CY9TEIbi0Rhf87uRvz?FI7qFIxgF%?q**wdtsAd*eZO%+I>d!A zfxtEbn`QJ}_x<^9d_d;<+{#M4`iDy}W!xz6*z^=Bdn8Ub-;Q1D+H?N8uDbV`cHHK6 zVMK8NYd0FD>1;Le`RZzN=1hI7I_|vg++Bo$uh1`L(l=ar0e<_ZyI?7<$|=7dYE`K- z!_{G`FK@t$*1A@#Tvd(jO-cOy!GB@u^x0VO^O^YjlPgd$s4BPn{b$U;+K)e#&Oe*2 z`@x**kQL#_2D)C&_2l={Z)Fe|H{&quUD3&2(#d`FNvkr#?3$%vC4kH}Z3Xya)Vnsm}|7$ z3NL>tKoBa89#($SD&Us_#b{msK2AI90<8Od3uco~KaZ6E=3B18po%gC>vrz($(uZ= zQkvOw!XTh^v!v*q&0eijy3c$*qtbhU!MOD2r{XX7l1Ddf4m{J3Mz%dD%CF9aV)v1B zrqzwgk(B}fEYH67EJlu;h8urB567PP)12~$2=M&mW*u?d@p$}+S5aHL5mi-_d;DFz z`m=2QOce_y+uPtBG#oRIXIE$M)QNQd?MVc8>_A}X7@4%?!v6GJ^0NAw-fmxVh9rX{N;VY8e0syJii)%NfzhCtF zGqx>j7NhC_z6i?VPg$KPD%4RI{8Gae(xg!D^48m%=ypBLqG_{iWO~}mN5kR^NUm9| zb!h@I%;fwuF6V)5DV0{EpSohhCd~C{D6c0}-qig6v3DKtP1W1~dy|fIr+Y(78Ko3x zfg&xk%0@s0geNGteTqI5QABa$)91hmJ{4RDD#}o%Y!N83$|$9bmeReGt~71d|D4}V z(zKMJ&-Z-(pNG#SO>%RSd++aj&proAS6AG8*KMNtg;ApwcD#wD6Pq?>bF+#sz`&ud z-X4orIA{V2D-M_ehmv4(O$j2qCgIJ0F2)T*Z$PB8GlB#BplE2|+*dI<=Sn9n1CBjk z4`%xb8WHH}iS@_1tr`7xPiKfYn^CfwLe{Lj*0mIp{M`16Nhy~Jb5a&F{|gV@BbeWL z=rlNUt^}E6tT{*?@-^X>;ld}vRt9MpUS1{&E}X-x$KMgh=gK}; zl~SbK-g?_#vGCb9@Wh-au=3mQ;p*y6YQC;j3bImE{qao0{0liylbNG0E`f*W{L4V& z*}{U6u5kG-e^KRYz=c4%;(Xlxw|UsH>qktUFdiQ*TSiPDB`1J!TCnzls0-M?aWzsW zO=q)}7ZZo=c3kEQMw1q>IX$ZypS^WI9(!#ke0)Ptt!dWm+}!xq=MgZ9*Z9Yj;CG^{ z0s!&XI(EPPlwmY}@XjKq`=5$JyO>0ALMIPz#(#=fL$LjAc5x9!DdOHcPSp`kI*WrN ziAf=Q?cuna?9n%KUVF|(@i{JjF*WK$bfLLdy;=Ac>=|#(oG2gv8oT{i8nhUZItKj* z_Q$F{`|x6XEUt;fI+Yiz%vDL$>QW$xJ%sH?4mySqD_NqeX$%*UBS`_X0i z^tRK0e+`k=$c0L)t!?0!e!3i|&YZ`hMT^j{U%xAT^5PZV6U}b2a%)G?hA)=P!mST1 z79ikASs58Pe9B(Qc^tnJU6TnwxBE5%f#q*~ve$SvcY;%|ULEPCHR0&d^DOcE zNEQcQfQ`{?U_v&pe@A3zreo6GbD`+m7cPkd1oI2Bg+pyo1wL;p2q@iL#o$m!(pHut zx|7^RS=hb~PTnSi4&AyZV#^O3FlyvjoI06~*WOtQ54AT5TZ8rMFo=O1{20KmyJ#NKl4Um-4Ra`yB^V$U8(KQ5aaX=!OlPEN*%5hDo1JmE`PPHtWv zcI@42`xqw!U9Beo_ar~JdPhM=6KSVf%@~ZC`YaNY2EnF1XC6O};&M?|kZs+57rG_@ zU@ZVv5LmM-54<@LBi?)XHxn(_f6~VB$3EujVl?I+f+{8%7Ed4Hxs`Xawwz|CATz&6 z3Uac~sr&hOmdI0A&;mBK?*3wBkd};Ym5$0w7uqlF@@vxq60W}<@6uwrjX)qcD8R0b zT=ne5|CjE^ef+tbO-M*6A$4`jL?C;LvD6aJY-R!N*WeTYcJSPLs~p-@4Z9f@T{Bb5 zVNY{&%|A%GoKYoY)gKk8(ZgF_{ ziI>m_831@%FZ&G2i}K*+?gm4x4sI$pbQ_Y4Z=Qb>A+x9B_P19E5HK6+czR3A{EJ^e z7QK$Nix3PQGSChHHrl#%>t#NLt7QY)h(TcUmOUjM&*j$PX!`8}0DQfaLL1n(a~EoL z!e8?-en+|%01!#t^i#hw$+1vQ`wh3g#}zT#@SmZPW{btkVvv%!96uNq zcMp+=F8a<1DP>)>l0xKz!6F_1Z> zq-$;P4MLzM4<&M)Jf=*MLy@{#joc3r4iQrOS4+@0)x%xog}wvFBeib_bcnGAkQ{D_ zrmO(9H5z!h5xBb&NYytWAT$(lci)P~mVALve>{q}UtWlwqbJe5^%TuMY~*ZdSzs^O z>NeO}MADq|8MyniBPGWtIP5QRMqV!D#vN*hIRgATGyk>Ly|9*$q}S_TJatz8;8~LK zJNJJlGQ2%#E7RKdc?Z8E{nA%6P2gXjGfcL*$hqvy% z4Q?*ZXlS~ISdiTxAX5WrFdaey5fS7Iji$M+x<#JADNG+ri$W$FC|NEE6`na^EpQXp zkbVny%xRPpi{#59*F}ghqQNMbU+rv$TZWwF$K8;lqoZ*xWNRo=Qjsej<9lCs$v)bu zav1eSz}kYrO#gVM-{=8J2=aErS6{8gu3zi~V6zhweybMizN z;;WK_V!=sJZe;s=d8pdn)d~d7z-Eh5TtVZ=JOERDIh6gz0`5L`5U>F$JKqeRej?qq z-Tq}rKPx9~ahS|T0YMQYz1uFowGoHF0(~Py>h+5E7vbsGmco^bg{))BtIAszH%an5 zAzUmfBaXvag*fcE{)X)j)*{Fd^|Sq+{t^gsN+#@PN) zCy#+Cs;69;Mr7dyYOA|v>B#i~CX-!F7wWYT)be6*S2@dSV2wP_UevK$J^prmwS|;d zlFe&n7~AV|X{~6lEm{A*X0je5BqSJ5FMI|MFL(j>-7u8wLJzVBe|Zy>CgWx1?X`H? zN&}EC-7liCI>B_`&ILsREoFlU{B#U~hwUIVS!aSCgP9~~6tX5@llIm(BwI(Ug~u zUqa5;8ilxm>R+v`hL73@%U3SPn2}>pSxUdb#~+s5EFdmPW_%`f0Gd9Wi$1-3@~>?qO{wG}r1(C>4zk*CfT*a(DZH7=j! z_y3OmT>!wV%2xi?mYA{@-M0)Os*+QI=tTQ-Q{Gu94{sB8+q`)Xphu55%$)up%qRAu zi8hxpcf!)CJ0vYJGA%5N+7pt#k(j<5LJKI!LEYJdWDho{ZSOsD4A1>-HlBOuZQ+yy z+up4meu9T(FTZ5_yM=UDv;+=|)z@$}>EG&Q)&yRC?m5v=bo3JovH6t+s38Ejmh>Xd zWymWkfy&nx@$vC3dk|iQMAJ-bTkdMQb{~EC5ng}wbulMFoDN+-mi$skd-(&b1?Y8f zx%F?rx-8mH&@P4S+-1`+H3~_qV3yv+dlFIZO_woD{aHAukC@{ z?e|LMzW?v&w*UagV?3ae%ZItrLtOQyR%)t?oOzdJed_6COXYp=CFpx5!J^X%yWOHx zz-jO(=rb}9?WMshugHx$Q&W54>8IbL8@m$5O&^m~>JR6EH_?&QFrC~7?^C;^%E~q* z6q^y;Gk}i&;^L(UiSB^EJ~9tzAe+3zDgk(SrF}-8ExXVr{b7A{$c(eUj%HxEMC!NH zE+mV?YmGc;!yP|-^A)b^a~)Q$*@P)Kk3n62QS(PyTcfsFdED~M%}Z1o3U57ENpdT0 z{z(oYO-X5U6k3^8B}WbN&Yi-NxBr3H|M`V@o)8-iwT~;#DgDO|V3UL#nT% zn80JWz3#F5+lalg3fV$QCDj%CNjz) zPwv0(9Xk#bebJp#b(nN>9ueA@xeBduBKKf`eMvqR# ztXWT@gqYq^Evu;Jyfb2)tG~Y*GiFQ@kC~Yl$!>W?W&{E#q}Dcmt2_Y7Chc2L8`A%3+BhFyUxL29`{J!7Z(;fa4`b}WB)Ize zpixtO<dHlOaBcS{g(ykx}u7HhK>4>FnjNb6ht z$=BF_G*kGBxX%RSsys%#Va)iQx_57Vn13Y~n}-)V0zfY0c>aH7nD1)zTL1tv|J(Lw z?K%S2j{+IE^7GgpLWp_fXG3bJM^hu+pxiU0Y?1b#FW-3mxM`3`LRef>WY0UxDZJeL z(VHxZATOk!y?{M?_F&+^fvBp=CqeFki4!MbR$Zi@L1cc<)cF zk{&kZcSr(q^bbhV<(d9UU|^`k?E7cq;E{vq_TbaF@XbGAs3%k4N(n*)X4wP)dJccI zE_PxS-_=V@;o)DY*Op+z=3V&un{TjT?OON|z$9PS6N7ujA|zOC@o-aN$;wUkU#Lv% z4|93302%SaZOK)>0U}qxUFCwleFtCmr*XGn1DRJN#@&t{NdxiK2XCS%{~XR{9zOte|^Yi9=ZxqOR!v`|roQ@4k=wo_G~6JaP}BqC!zxS|t*m+9DrsFYq*9mi)~8 z+%(3Tw0GW`$iv#e`}FYF7T3mN+2J^U@)y#A2u~-G@;GXYT${FZ)ekl&Hq##t1pZY3 z;K`T|*q*4KqVpdxQU(F0yz?-*ss!UVhRd;LMGZ-|sehFLVCB1L8a)LTFJDOIat}O< z=s9N+>AYq?vLeP2W4sXbUVyiE1iiMJY~WEOMe?wG`4Ys$ z3_?Rg0cvVwHQL3c7+t$269~+~z4y+6L0b&hkWTO>5NIqphYLA}F!SEo_{UrC;eiKc zV&;uE!ZX6Epb+EOYX&3-hPN}nqFL&<$UeK&`FBMG;8?q}9xKRR^(CAB{<$yWqxWBi zHtYN)>9mf-8o;qihwj2Ip7b+R;+xF63VgHfOKjY{1>bM@!EWE*bIW-2hz@~|e-NrG z%TQCN6Wh6qa$f@1yXV7vT`F+#tPB9Q^HO=pk7*k)IJxT;H2@BcG6=9a5E9Y>4?p`Z z+4fmDvHu``+O-*lg)O5UTzK==TW?{)-~fa=X9PP9Fh|%vSjeyg4IZcr@0?u1LhF?!S$OG?w@QNJ( z5;}R1^(w3Y4p;y0001qrClr$OfHSYqu=bFaZi3V)4wk$;;9Q118AsH;v)x}`FBj{u zB*{DqL=Yf6`=KbvP;liLd+fOr4EOcp6&y+L7v?~v*PzkIS4jB<3l@-spC!ggd9Ye5 zGLwCgk?}LutXU>hN1%WfUbFhh4n!B1MiS(*+Ne}<6UYlN)8gdGKq>+UbDfq$Be*XOHo|M-#678J;H`fOyYcGPOHCNl@~o{_^|qN^~`rcIl~l-+gf z)}gqVnc8-XosbwChQExu4(AKXQBYD0f3+7Zt_ErK>K_OM=srb|ik>_ama;;**(rxt zZC#f6e(d~C{5jFupP#SoC0VzvY7e*{0Jr^)AW)5%5{sw~(b&J`TZGY?xqJT0qWI^f z`S;NMsY2?+@%UnKDeijsMWLO2@$Ckr^zDvuLkFO9R6F}I3roxK?x)}2(1}cuA7cA0 zkPC2HJAiVn+iyYUIx;bOTsMT)MU;49()39-0Qf^D4*hBXAm*QEfAZ2NGV`Cyln=>G zEJY1EFCJ@CP0pHQ<`*sVi6M9*59gk4J|C$hTXYypLndvY&+`c z8j}c#Opub(X?XSB55>k)VaBASpnqyA#tgp>u7M6N4jx~|cDLawdHmNHmgDwX=DHHZ zc8SG?ZCfyQ_$b7L1!GuBU)1E}v;+a7+|o)saOJ;Ofed0ux*lhI18_kZ`K7D#vCQZ6Qnml<7I(DRE!IM5)gq17T ziuV%}qcL=7Dm}{K#{B#`eEs#;V%VokWLJ16-%KVsX%YFSaQgIVvAwZu83F?Xk(87q z0HIw>40_Vv{HSni9kkPtR%1<7Ha4dvUkfn^)YjHwcfL`3j_z-sRT&+vMs!FB)TAY;2s9W#Ynsf+FR7+Yiw!?!V*9>> z7}mcpPM$fB_F>_;<(6CU%$uLc2jC&7#QYLRO>Fh{QC)!bU%*r#=Tda*_Ul{0d3gKM zrp8YPvP;gsB5)3%S8;;fLh z0kgGcpFx1bO`I~iq^TbzK6nW5XLn!U=v}DlA@i7%K??UV7|y97v~gs;ox$ zE*&v^_?YH>kMDy;R}V#4J6PBW$eNj}hsd}zuUag2;bs|p-X>F9bqH4{W`0isfpy#V zi0ADi!%*u`&B#<%A{PUtjvPkYP&`fdg#qA+r(SP;I4;&n!hen!X=l*(P)>GE5)Wt5 z%7|pE?EAyfuL1zG#S+Dj99~k8ZD^^|+QZY$_3I9?b9Tsm%^OrsU*q zaC37-Lqj9nm2R*loAYK3ThXQ9Nk(R&UKbP=;^e7Q;?YDPI`o;>@J@aSM)vA~a60C9 z-)z8=o!jx!Uxy*CeUKP~UQ|(sBROTLsnJ1G--Jektus;+`o%>c<3brcJyi$^ZHLJb z(a<-_Ir^Ma?;8+=!TtJR_kqJOE}RXQSH1;;&9IaeLm3hY<iPB#sv%JT7T~~ zwzF-a{1_1s5`nx*S^ZD$8jYZ^Q0N=<_Nl#QhjHJzN8uGaO_+$eoW6sMouv@FO&#JA8-Bp_rXm!jl`HSDP-%9q1Wya zQ-d1{&cd-Sj~6{h4O~OIh({-D?z>rEFFFV-6b9i?Y%DK;zNQk#&z=<e({60`m7BYD_HbZ{VYO3Ki$M>NhAXs~+cSya^OQKKWKCzHe2XrOD-Y?heK zO-MVHkII?`q|!M%kyI}zk?m(5xKdqFj_5A&`1q4g$P}1{pAYRo(-V{7{Nj6%fl+glXefz{3mWA`SlP z+$<=cx?QsL9su(_Pg~@gZbL}zmm%Gek*mSplO;G@s=-e`9mKwUhs8E`E{CB8V&=># zSh3 z8EG^8$X$@x0a{5zTN4N@9KD6;`Q;yMZq zib25Cq=%-g6uk!w!_bM-#l8p9Phj@F_u})9K7y8PbJeodkO~T58ZiaV2X?@)c@>r| zTZUP)n(g*$C3XaI{sz;s&t+a6HfD%O;l3(~z6L;k)@ejWMPT#ypE`m70|j@g`aMA4 z4^O`u09g7P>a|c6<-)>o|GHM0TO9IpCbgf{;D>L4nV8?{`43>6aJOK5M8yKTNOLO8 zg~SaYcYY^19^?C;en#hZ;lz+8_qrZA4^{Clcbr@t2fN#H2MOsSB`S-$`uUx<_nWYcONR zO&C0QBuP3s*^BcDx^?SGAW$Xe5QKF>Q$-#cDssi6jrt|VVQgwLzFGehLI?z=PaA{U zS{>T^8wnI-fLyV0KPC-|!<;E8C@8N%A#K?u8dQ;VK37ml%wGjfjm!}4s+P9Ahljh! zbgQgwc7yqQtI(Dy&Vc9$0`>Lv!nBC*5`((>2GnUPpr_ZaA9oW{QswE?+KMu$$rO10 z)mH@oNI@;T*t*_5PXIvi>C@u5E&O&h;`xj$`MLWq(}NE_i1ZU#xNF8Fp#fADR^pmS zlB+^l{qGpl-VOp=cgQB*pCIt-=vM)NLXvVx*A!-esiXi(TC5gZ{MVL2$M$`@2q@Nk z4kIzY)TKMjx84h>v{G)2Uax_LY<(jwR3XW0tD&YvMFNZ%Ru7#)9?xem8ZBj2HOMWh zz=fhR=*^IV{e0j-Hg$-<4?2hWBP`I5)P6Vk5R(+MW#PhrA-mJ+$ac>s`?#n|b}BaH zX=ouS5$NuPiT!(HSYj;B<(1-KW)6WtI%x!%w7rDhy?fyP`)A;;yY9m7-P;f!pA1vc zNz~*Xv0sPy&e7=Cs~fs@>_7m}6W@OSJ=AXXxa}{uprKX)qh1MPT@$`Pd=Q%tokCAAg>S+k>LaapJDju zTcqu~55S#X*EQ%l1(>q{uQtW^PqNal)d1M*$*q%MPTK+HU+%qh4<8?p*o5iT$Hh}A zHbIWzu#_j0!BU(LoI7Pz;~`>DTD|@bZ)=MyZ(`^uV(vygw~z9cPG#p?0@Pmc5AY>( zuo~F~W!Qh>oY=(v^trg`aI_2ZC+2rYOt?S%NfYq$g5y>Dg8CA(g&U zR3t4tS*_jr(|)Yq_#MXIFcvknwMajH9A#u*mzPzdnx3D%s3nk6VZ+{2XlRh7JUi03 zYmFZPaB2;NnuWLYXpuf~HGLC+O zT;{5y<0_pbsj;b%-mkZmR218D>Qjd%i+F!PXb476z5~G#QD|zEn~3rt4&Kt!(~w3I zUOC}D7(zmzqQ5QHS^zVdDlRi-W5tsB1cvkBN%xmQz-;x+*qnln({TO$0}-DfcME>< zwT~RfYvG%biQAXsStdEl2UkkdWelnTQf2XYs9r5OikK(}vuS)~~7H=|v>gsitpHHMq9&YZ4@6-i>q&;|ec-f@C6kHL49s9PU zbLR+zg!m#NsuPBcok|*jN-%$G+PO*Y_v$op8k8EY&1g15ELsf|Lxw|30PyBpOY!pG zpAfUL+&w&69D~Pg(|r`vk4h`5u=JBpvE+;93fmtxEyrg|m*cB%HsG~4Ulh#zYeI_r zxq|#cc+d*oy80tbxb-2hCLn%;3fnlr#+Bg4?GeK@>^yJ5%S z6DTULf{vtp`nf!^r^`@6z_I_>8NvARF%bw2P(w|O6A>H$HY3<*_Jxk5_u*4AFtI)ENh)zlLW+2-ZLAYuQKhZI{-bG9OVWV_DC=5f6fyuL^oA;V49=!)LPo|JkyoLqs35R$ z7CroUijRsIlNo>cnl0GA?+{8V2e5%@#WuQdU*WS+00$BB|;aWZ|k z9Lkvwih>a{JF&t^!teNj423Kht@ZxK6UU*Vb!TREHNXi@`dX1R7{Sv#QZ_jQh zEvtfuyO?t*am1ruXONO&+ab1{KOR}KL*!Q$l@&|03CANlI(x*$;f3el5zH^_ePd(G zSp*hIsQ)!J)!3Al4kQeOXLuBhdASe`QSAHCb+2uJ^z>`Mm`(Wb%XRpC(R1)41}-E} z&Mzqw>A5E|GO_DG^N@|}<2zzdzaD5G9!%Pk2XvYSjO>5CcyHC}@33&;b9CVy0N~n& zEr|ptZm7a*q&Pnh9qBi3+4Lnkbsb>agYyG6k*4+Qf zb)N%wkX4Xrjp=5eYWaa#(w0m09w?dmgE z7bl#{D`ICMsmo6E8CgOmc4pPz1Cs__hhnnbw;nu+q!zEHcnkS##^#hX>%%>0>aoZydHA&cg1)8RGYC+n}@z2OugelmM$z*zMvx2=LBi%h3Yvo_o(dx8cp#-$!wJOz{4bVPTL=K8AhkQ{2((l#-onSw zzh?~YdF=0^XFpS;wZ-@429XpL$Q620XhfUui>%JFB2n|LOUb@&9JLy-LL zxf7Rs!1U1za+Ao%<^%nQlRo{ac%5!i2U=eC-qgxgU4$46d`U_h+OQRw>C3CMA~eX< z&}f36w+jl(^*C2hNAEWXhvLl914PF7?xPvfjzgy`<=R?g^_2@$vn`I=CEqZUIK$-xOMVqjJ&>| z0DwwOjbO<jY2(_s<_OA{BSveINSv?k_-q$;SL8Rdx7a?Ga(>a7dGhnLmNl=Tm2M zTA#Y`6O?InaCdd0Yb5{er}h@3wOIPMX8tSD{{7aBNzcod`HGh4mE};*c@E(}%GG#B zGMZDX2lwrQ9F`0Rlby^tAl*jpr+GZ?=5KpZicB$*{B=4#Nk)J1cR@Kj_{{X!oM2L;YY-a)0r%gZI=r9MAuJH<_oid- z@iWNCEfx6$Yyw=kSd6nF1?WtS-no64C}pi}guk~NX#+Jv4ipg)DgRMdd-AUqh2t+ zbF1D2Gar~~I)3=L)BD!zM(gBjT8G@B=64&y`QJ+aawZ_De0}Kxi<(H|q1{lu_A-={ z??5Bji!3`$JR=&ILADsz3l?o`ikfRHvuvcfUvq^afSi#7e~ z^M57N>^u&gJSofpg+lQWt-)0MNiFENXbHyZ)dR$gOZbUl(UUOkZ_(`6RwVHOZ9B{s z%UxVeNcXBE-OCEI$+U<*&o1_tZ663G3COW@k;2LV5Ey8c_ANa`j2#VndBLbi(r^Zx zlTsoeu#E?6-j_pDn(8`IOB?L|g{qobxDY3eyFL*&r1T^JxQLDWkK)And}J4vB8H?q z7p?F}sy^|Z5a{b8yzuPclYftiG!2b7-qfK<=-;CgzTSBdTlb%!@2bJV_dZ3BIN9@F zP$1jwN+pK@%jhv0kItG!=D>sa$Eu%+sa=H>cOm93ES4RH*;yGPPa!JUo0O_XF}j+& z8Q8M$I5&YUl&Eljvb)_e|Ml;zXX_-g<~DBJD9i!Q0=!zNO|1?RWyBXs3ZXcj4s&t} zaIv86of$L;0GSf=Ivzv!J-HD$FEr&F~l47Vs)L8ZD%ZTnh*7ngM zN~Q8Sx(?6bPqNc*)fDst>r6fY0_Fp|9N##V z1cC$ng-zTR$<@X(C@>S+?De)BU917ra>g2cH}7ksMp7k9%C&;gdUa`!K3$`vG?EYs1}b50?ho80iL*JU}v!p7g1~L8U+9_Wfs-rLa~;Z z-%S9(>2sAhcDew=Qex4ueIV*cYhr*14-ZFfZZ4jB>M7xS;PPd0Z%Bh_YHVt8jr96@ z`iuusZ@58d4UNm+g7d(ExFT^wj>s^mzWM?B!5#7Ox}V7I_rQR@y>OvW&i&AmTF-WW z*MtO;`j-~VO`kLda~HgX^aJULi|>n?(o$TFSp7HX>PQ1ZT8D1u>3!!-*PShg8&5!7x3PD@7a9;ciwrY zkh)x0Wg%0bQRD+ig855IE+AShYZiv>YvHg`QKPLt_0am-+`t=Y8O_HlL$^ueDb=(hj>N3Q!u zFZW4jgOa(7D@W>a72+Q4#Jmg$LMzB73D-U-2xV3E_+WDy{C&OAw^JZO0(@XLD20=W z$tL~1NgA>76CQKk8knqeLhl|32nj+JX#xr-+nfdYp+Q@N*v?%9Sbef? z8y;QwC?o<5OVgz-&1}TXZfK~pG}YHgN>>$JJUqF{r2Pl6NoXcBQPI>WcQm5)!C9nB z-+2ay(lc?fP?%P|A$Re82!GPQWik*On zi90NPncO+KC(zHHCs5yT`Q8MaWW=gImlc~$ZEFkOp6<9%P$D|zdJ?eYmsFyEVrTT~ z8int79meNd_v1iT0dh*U$RSmCP_H<|w2u(&tM%5<9cQR<7_XtR3In=#L`>Licyskm zY}^}5yQ(7$KM#`h5!pB7Dp-0#uY%29XzJS5VLoId;#s_$;b$~P8} z7}$Urci#eCUE2)JCZ2D2FoqAm9^1Cad`k>YO1T27%V*kf-P(Uv<@Gd z9NNgS!@0Jq7XE?$_~^Cy7%^?O?VSf{I|KYNd-?yC^n1?+6hsU&&+$2@ltz>N*1mmv zq;w61cl(~A%Po&@{`q7M9{I~iktfgn?0KNY_Mgdy?9fhZUSt<@9zk3E8(DVvT4B#=HcdosiRYn7~2jjw(iAY0)fp3vrs}B!GNBfM127J2H4SP zBle4A7nLI{K#dn}AB#_S9Ko8cdyteg5SurDLu&a1bc>6(?;l9#WHK9xsb%J_)YigC zQp}5h$c_CV1OU#iO42S|QEQ#L>rTHbx3Cf!S%v5s7bz+o9m|3FSfv#eqI5VqA_Q^m zqH(dL1pD{z7j4kE+Hr7V45AZziR#2aG9#XT=q|kY?lJ)aO_P!=F84kG=gD_Tl5YSk zJb{Q957tgbHuJ!uuZHR1PMFTh;orSy<;ca=oR1^>_rv=2+i^TC4HN0N)Rq^v>BC{^ z-=wR7zP3i#{;ph5W^O(e5*@-r@bn#%vGqVY zmTuffno2Q>Ny-$Jk+e_hfry|$QLN;+@QW(6!tr?j=zi!N=8acA-GI@fZ?=O#$EXOL z&n*yIfUe<^A{`;pNj;Z>{e8L9sOWga>CaqH#OG6?sl)Nid<-8LhX8+1NoYDQ3Q_Fj z<>^V+K|UrYOj(T82vn8H*7E$%9`M8HdE9`R84PoEKoIDihDgO_Td6T*)tErt6fFBsXVWwPA+< zfVP-lc=;`6G}cxNrdN6US~&i15}ANj6OX4)Rcl4(>DFc)Q||d(EO_ERoXpC>noag@ zO`B=s@UsU0qx5?NfCnv*Cpcuq_Bl74v^C}ZvXE2-Mv#1IO+^VN^^i3|+x(+&RC7U3+7+5QhFbAc=O8aaP}z(HZt zn5}DuI}O#=H^AG&U8wRrkKWO%z-h(I%%f8Jh-9JF+Ye&zscfv-pNZoa$}n|EFC@}$ z)6@CX5dg8a!KA0fdXWHXNMbA^NhN<_=^6n7bLPwueexIpnE9i-Mk6^fnWS?ZLPJAv z@Zb^Yi_cdgD<_{oQ3Zc550d%{c&MD{_7!Ec$%ZT(J5xp`lL}E0{_vr5JWZ1RvsD|gZ~rm;b>@xe8rM~1Fg|$q zG%{J@@a6a0BzEeVPaP3G9I$AY^?g% zTP3AXjp;O)`F*`y;peRojDI9E8)q&SA&MB?pHy@9eDffTljkmAUwS4YLjy%zzp;TB z)p{%^YqlKw7i_7;m(1qm#YD_qTv>&vkYG$7lY$UmFKjt{8rj7aSp3}{Oe3u!wQmoR zMOdTL%hPzpm~#s*7Hbd|=#6(Dn}KKE{}ziDEfU9NAecOPvS?e*kpde{n>HO|#*D_u zk>iC%!vNq)nh9$$oYe?x7F>F!9N9|j8i5m;a_s?UQQB1X-A9YC?CA*@Kcovj`91^7 zH)i5OVKqESvPS#)K}$?`zMueeUs{ZtMh?XEo5u+d=+(Uo240t7+4J);Jpa}*!O2~t z<=@AV8718(_Q7x^W`3ClJ2tLBkG=y@e(|i3(30ZvUVZih_>nd;Y)CRb{Nx*K-<^gV zrc5CKkhMD29-PVKFzR*Ck!GPJkatu2ivlK#RkPqBqpbStwN)ZS*qTHOIkOA`CFL4) ziR*~P3+H0mtf#E4(nO28EjQ;BZ?|@qQORJpf9G5OoFD?Ai4#!ROc;(Z0v&>P5AnUJ%agrcIkk)=ynJT z_JgjziS{vy@?ci|xsk|~h-(lE$+q5e_!NdFcSrB|4p>Uef3C1hfIxOp1!j&NBsvpu z!jYpCEZ5Y7Lw2t}atoeawwAyuSNJ?w12UPoTCl{vuS%sxcJ`%p09?vkW6cfVB%qwU z3e?r=(Ysqae71VOVE$?XqVm!*F+h{S@22^ia6@tgZXDE+Oc@`{S+pBfrOhq5+WGpT zjB6L@`ec&I{LmdYBd(*Ivb`(qh&X}1Jvw9Fy*ERnk)yb*0fYwm;)eScB6VTI6V54+y zDgF5e+nC>-06ox8wlsStbSCLk7Ekcgn~CIGbBYYH$v=lO6w4 zdKUV|cfx?4U7;p>SyNvtYT{V~utgf$B84>*kPBUSOXw1Xxwm>??ao8kawt=56*YCZ zXTnef(ZZ{&t`WHgHXtY`yWPiAg%=)}g!fnN6h00n?wMzEY_leiot=q?AD#mjI+w`M zAktW5ZN&zoi9aL^2-(PLRWo_J^s+_ALtk&_wLxfD-BH~={?=tgcDamzpJ5wRR3BsyVL=! z`rDab+ykXE>S=$2uHMf4Z0d<&v~=HneY{DqxRMs8qu*SEPgZV3RQpK0{rMNr>FmCi zW%wVa-x~l7ECtxs<~aGzb>AX&!mUua%L~?|BgsiNoVlq6H%_=wbmLvMeLGg|Jc#?p zrebWrL{uniMdJ)k0_24+Cxyu~3FOq_W+h(VXcRT}oY5ECAp#eR%8_-U0H@C7;{3%z zjO^cwm?BVw)?7HRpiKvs%)o5hGXRKv6i#Fk)Q}|h!n7L(phIK;R_!>7!)NkPylk!I zfr&$0ET6BllR_jWS;{SV@Wx?e595@r;yU=@bdHA3o0!c-C2}Iz(;)_InvGD>W0*IAVO<^OzVND4XXTYy(?*DDrbROYkPn#h_(4KDjH_q@70Q!Tm@WHWp3! zxun)>h`~$Y;^__dfFLn&R5qo|aB_C#^Ast;N{12VojZh!NA{`wbnra3?>mgM1ZHQ> z<%vhMwCY%mX%T^HgKXaD3F0?Pv?48*?^_+?4@vl1!m!yW)-QRBowVPd0Qo0YDW= zV^)zlt+#XgaFXD4q!kp2oPQ6ME82$#2@RmJsoBfinz*&L-l2B^6IT;*m~lu_0>Xm= z@XhvvIB~uJPk*@D^1!5_(&&CY$kx^ihUDKW@&!oJX-R_3nK}x)j-19Vx7>;N_@0Q1 zi^r-}D+ts)5E7zBVPT2bxZF3Mz{`_NCN~1A!jckr(KTw)*W&emaxYAUrF-Xgd=3() z1y|SUgtp>H?LvIStUw)cw#rFDqp?{t5ex>|C+g?!jzVja)AVrz5f>9driSe0XEW3eh(Z2Q86yc#m2M7RI@!d8705uh*s3FzfQ|$-O;BWyJ zwwS-t$r(n{1oYO4LVmt#_>)Ojsj0@6T?epn+kWxLAaE7B2bWG8Ym0a&g8%?_95RvM zn%N2n{*d&00|3_v@T#3`dtu6(-(b}vWY-lJBcx9%I!~BNl3xW=eTC>Z$7QvfH*d!1 z(W9|p%NC?0c0fKfCW*_w01gRW&Wp{U!VAKk0KiC0^}&n&z{EO#mi_j${mHyp26#{zkxMtHsMfa zHm>j04KZOsBKe4;A{_0AB<&?M$WQY0P~pg_Y|%tD$j?`@4OKCa3F1cYaif$nO+7J@ zQOpf!i};-NHin~18c!Nbd6irW?O`>mURk<^rK$AA%4Mjnu7<=7POc%9*ZKwG+Sgaf zOdJ)}4xQVDVEMP(Fz@kP@tU_kX=4E)BF4|m&mdqsdVN_5JV*-)4GzG$oQwGE>+i7k zho7+bz!j%|bIgA?(dXWm62tNoj7yM^-^?rAU@l)*YfSILntCqcTAdnK*2@CF?jD<_T z#n{xr`1xd}c#m`Xlao`hdUc98?|0t$5Scl7BJqhc27z#U!4#V&%=`>qMP(W>HY_S6 zfV7_`5ruGaaYBIF9hn!(VW9V*;y|HAOz~|^O;#seC}}f+zRkm5So$ydYO{qSF)Q9% zh|qTJP-2}IaIM7leN%0%&;UHtvU6_S^}X=M%1zj`{yW?>bs8E;Gcr3cKYRWaB>lb7 zgaFdqvd-t?y^p`dC#yE0xTMW~0^DGM5rMm%p2sg6;5o#}$?0PbV~!d=5bwVEyZ`~N z*Eq0mH-WmA*TZ-MvCr`brr#X^tadhoz&TG(&yICucc$f6A!_V2`Tg3`7Kt57u)|7^ zp@Wm4riGJsIu8M4dvp5gkfbC;w+liYF)WXi5=^d;r}H)%3>H?~1vWS^zvIGZN$KU` zVTp*axm zr;e01?K^_~Cvu2!HsXOv!-ONRy1qetfTiL2qEZa)-5Gk_XuSHxM!dS{?|6L9Gxn$e z1K-y77oRW%Z zv+hGh!Fkc}Rl?P!zqln%a!GGv4TtW`@Cptkpg)HWG2uw)sK$@`4r0dNW}~6R46{Z@ zpydJ+0houcFT4pWPMyrc*UQ)7<@dj|M-pt{OxKYmJ8P9(lah&FP6CZQot#9r(1cMD z_{ZWG5!PWKX;5`^51cUPsd-pG`Z0c+Gt~bCfZv*C-XeFJA@R^WZMY5M&>0WtJXczU zPQgJ~v1t=h5)#liz6*T)yirqKFPv`IO6>hVpDz!-xM$)>%bJ~O(yFcdaO_MjhLQcw z{sQg}#I`?!1?K~F3JksM!silXW}4Gvi>4;^An85@AFbPgEomq48Zr0-lZPRK)b=WE zjkSLPfk0jfZWxe=gBjVF_vo{@@rJ4B(xr<40j?%=aq$)7xfuYMSgPB~VVTJ@&X=N3 z&lob5!bn?~fY(3Xh{G9YF|bc}(U~YZ*o#2Pl}sDiENH8gmVE}Cf^5?OIEC1e{;^~= zf&uSa19|f-5ambN4Ua#lGp4w`7kecu2BWu!iq!COVJ_P$tWFX_%2?T}6 z15y|OxQ`&W6MN?IX9eT8LEqB#a6s7Q+1bAS6M_m%%J=pjZ0wIYMQp0J?|E0!(8!4qk? z{q|Y#9Gr;pg9qcA9ea>|CL2R~_e5MwBs`sEdzBq^%FEchHsZmRoPW>T=>B22>&D@h zy+<>pV`nem6Jp%{30={zXBW}*l9Ni9LIeGU@1f1(k!HZLcw4A2lq4}rekKNiCEsqx z0~3cLf^2yk2rw}S%$_z1yN_jI>eQ(?cI;S-k*|j>hrry%P!0xwCWlmJwU3;K!9Xzo?JvaNo4pP%r%Y}>pUkIbJ3lb-@r`T3YT zcP@7BOcV1OThS|Y?i|YdCF=cUNkz83?e95He_&^RlUYyKMP?VjfOd$F4YL72cl-$e zzb!3Wu>xZzPLqd-*0!A$=%Efm*ARbnO-#hObD4PQrNv_M&YW8&V9o9{to?C6b{+9R zzwWV?gf1PVsIXwEPS;@JUV2v|O--%fLarg;>b$XolF+kDG|pZuL>}3hr?c~soER%4 zJKMz_B0@zJp)KO^UBwk-hm+mN^9cAe+FzOrN z5f}m|SCz=*^YCu=F~rA2W8K%^VEP@m!`Yy~$eU--dCS_oldbs3V%b3IKYQ^@@Y_+S z6WR6r$MerjL%#uINXyfyh4QfD_Lg_IytljGuM?t;pUBn3*W<`pEI#?(=PPu+7XZ3dJ_(uJVUB? zK8|EwkhnuGYXg32FUe?T0Fb2~JHKqwi={7j6soCj5LtGdZ)%GG1o(O(BDjahH>j>{ zAV#eh$wu6ZaP9Uq^ofr~pr5a3H^#$7I2r)!Hw)F(&PLCnvyqvdhrdnj3vX8s(P_xyq$fsl6{)rMYs%A>Nh>g#-Jq(zJ3?}{?H7>b%+!jGiv7fJW-|_(>_c%$xJ-r+xpK&A_>MI+xGsgx)5`1 zKX1GbcOT;9A*Q5mov?oQL8ND8BZbU^!F}UN?Kg@J#3Cd}$KsJ@?Lz}e#Z{rES|^qZ zXE1uwBAPyC0P0Dd-+%fdmaf^3yC)7qsJ|~tt283XD40NHM894*owrp?JbwDNf#?w} zOUh6`XB<7R!_n+wTqv$aPEj?|&&e_R1L@hQ%&&x-w;MFsMd*>z8B1RID;{{_pE!O_ zZo9>x=;2PxZ$OJY0ZzZ=a$=*^G~gyIyv=$^jBmv1)p9v4cl7xs#GyPc;L%yD1yyQ) zp$%|rFIdN-v596&z8aX+18;oz6$(hXx_QyF;mW zi)?l_xBlX8#GN8TaTlrcM^ABD@iF9=lw;C}6w!X1i5rGi*VQ8`EdG*XF$l24pFVaF zDr+~3zJqJG?Z<@FesbzC_x2|s=ojA!D}LBZ@9V_Yt7C}F__Q$y%~FAU$W+@%dYsk2L_B zZy>Qtd#v7hRCN5E|L8qra;2c;LOOm4iTFKj^<~APpPxrS2%OzLg$Cj5;tFF^li2>R zy(lFNhXKHsiKg@uOKOf{6Ngb&35fEtW=*IZbqa^spyFc&7yAK_c{Q10T6A>SyM+fcHTu9^G z0iCVK%mj2U>2vf5a5o-T3vx^#IW7WQzs$vZA7$a*1vd(Bz>Wh2LMoCRrzhX>bb=BF z0gemYdgEjqI9h_5mNtC6I|tv-xKTieCjy5D1!8vEIBeRLgH2x^!w=?;6vfXe?!?<$ z6{|>3|BnpT;?`+FSTc7M4jgYmUr!$b!UNDn7jr+|w$wG_`QI#qy}t)fX09Ln48Bs1 zJ0MLxTnC|XIS+hZs_Gl@?&i;+*X!~8>L0;uxVU`3ybf1QTFesp7t^11e^)XOYo}6e zsMG0W&LY<^FbHt7*0RNOv2IHi0weW^OP}Bb0Jg^NB|!eB01!@#`N=uT$tI2LG9P?= z1QSzNWAU=*28WhNfL6sDg_l^PE*3xzhOu000KmKO3s5Qqd60aPpP!$WM`&ecX3A{& zM;>`ZBI8VD<>Au&H8yRAT%^I?1M-8_89LEL{`{=zQ%T7?$b|O6!W*Yx%Z_aPe&Z*S zmgDNbu%G}@LiR1$H|G*yA5Y$iPA~kCR2}`}ft@2l0_8T38*eeS!Qa;p58OT%JHF1d zf3hbBx6PWuW4i5AC#0yj|De^9V>=HYvN_4l!6?RJz@HYn$vKwz{Nxkm(;B_^e) z$&0Rztn4Fl`_FIu7aA=6uvDHvP)wr2;ZNXqzQNv{!sCEnm$6Zbe|*Cuq&9=cda1}w z@=y&BFf@}@rh$ge0b5xE4!63pwh415k0rCe73=@B5oz}=#>Dh7IC4-xh%JCHS{FW1 zWaw{sC%GK!>3Z`%^|52*Ch@hFHg_=+5@w>KuU2VN<>oYxZd4RiW6vQ+ZH8LCj?Uc% z+cyWJZ$+*-0B{HwVT`4fNy`6IHVwI5*ladq&6+i`nB09Kax+!E;8-=Nnt|p2$_}JzRE$?!F=SGRAOpsihcT|F)D9I#Gd_sE*(CT zFaU4^5A*XeBT=8D*Iv25TYT6BGtyMWRdvWND7Ht1g<$%1W8|?@h4~3uOgzG?71rK9 zTt7BR=(LNbpSf=ld-6^ zD;HwPi@V@6?gx1J=l5a8jLDcjJq@d$d zl!d$X`1u{p4dVX?=wrZSo}&ER3!%}#+Ga#=cNe?^0?Fj|B+FnZq|`RF;MTb_<@WmZ zTQDj$0X}p-x|MFe@6vh~mmsYCd|W&?0h4Jn;bycpS~bzT*YNBwr;=+z zzjfcqOi$Lw8=Cj8LNVp@BNwGAmuE!?KSQAv?bamGzAR z0z8&`d~%#j8S1s2o-Wj?JqAaEaazn(oLy>0dVF+TG!H6Ku_?=ucOFWT6dNg4fHMQZ z0C1wZPHywiPnO8=U^@YTia+DNyyNu$5V9mDEW^mAW?H8mY6D<1(-7Ov@pse3>GAX+~H&%gLfbhMeF3ko8z>K1k$OTPjF zTC#jtx$UQPPCBbMyG+gK?d+iE>fz-d2pcKCl=L#CSC19l7G*Y|hW^i%iQT0xLC&dt zU?>P=9Tos^$ep+Z0B|b*9kVBRzw^O51O$u|vtFwW!2aD^@wfGB>3r$Y(rCcpuRlZD z^aTO{YPC1aM#b&=-3w13GIlhoOLFnpGwYyH5fIQCZkE8c4gf4%;IW8S23Z5l+>+rO za={AEQGK3=$HJC^t;Z%HP}3BFc@sv;uFt&!?6)61QG(QzBxz=ei3r0zc`k=p2JNO9BWC5@Y;3Nnb2qdz$Wjn0^ zwg9+`>$K{ia|xUOdT)3?vFZT?1*J(;pOv5e`y1vi!m<2Z7@Ha}dVCsk_k4wv@#Ep; z6(D3SEX!8@0zsilP}*vqkHWmYc=Ins97w&_*5B_2fOEV@60MauIhcV-@M@n=kp@XNG+Z|m67)KX; zxFcxDEW#0CiOk2RdS}aLq?A>dn35p7ani^rW)6~WI&LNAwqhpS_&X{= zKYEOIOX=mO=d)tll`o>S0XG}a+oja`i+?Sgjatd>42is`oHZN$V$I!`HV#L#3(?d% zSTx0Dj~5I88jXfi&E8|jcw_pU2j#xrzIMs;bM(Q-YXrW#^nR>={WUa`E61Q@YHC7! zatHyA3Z6b*@b+b*Ri$LyHz*#9AN(=a{{3-7ho%2I3^Tc!762=MQ4E>lF%coCZ8Xtp zl8Yc2$_tm{2UC5Cop)Etb}COn8C*f%ytHViSc?>?1&(=_w*sBun=*P zk%*6umgWv7_4I?bD+Y=d;6RjQe4Cletl@Dl+<$Vz}UoC0-7Ll8gd7YGBw`MGNYog7x&Ez#A^?Y!qMVt{NmM(cy#rn z_>lblXnipJLj3S~s~U+jW}xzb%yY#<^XADhmOj_`Ns~~pKO2=Vzlf-S0AyyaLUTj2 zOf+UwJ|J4LChYw-cn5`vKhH%yJsoY5&-V!l7i)k`{`Q7C0t_GcM~sxAAcMX91jIc| z;MrzAjl#>5zB5~O>`I-9+krDGhL$#0ivfUB#q3z61O`*+nAz9YCnL)l1Z=eXmed(}*%<&vMTM#2qe9T!+A7K! z7Zrh#QF;LYrjFu9qV&`hJMa3XH4UnYIs*=HGtKqm@tw&^fRQT%*<|NtALs7RAi(9m zpX|*=Lvt%`oi#8-7ZV_a;N|RWyu5HBYAqI7h7B8Ft*ym_KY0-G3lrQG} z0DTW`-th?xm;61CVw zaKw``b$6eP(8ufbSU7XCoda|X07)Yw?LEDHs?V|y2?%hL(6kAoFft-s>ik`;fB=7A ze3e^>y@!wEf!pTD?$5*`ypb^o@U-9?2tcap8pT3j<>#qJOjyZo2rK^!f89Q)_;F+< zutnj~ue?X@iAGsmxFhG%Q;oEwaHNbJfpKwxm@{dFxB$KV9%wLG5gFo*S0B3>D}J{@ zp1)%GLOJ@W?V|WB3Q<&jgcAJv9V-u?OhOG@LM=l!-i)+4>P{#A5LcINcS2UHm? zUD#)-!ogB4;ztA`zruiUQrPKZVhPE;RTdsZ%DHP=e1YHcohf1|>^po6+#bxqxU?~e zNQjOQCLos5s(Ms3G~)i-W|N5@A+`K!p~P0+S336kxfj5SvE=v9ny6Ip71M6}$B&L< zTeebN#~cUAr2Jvz4sc0szoQH_CMH@^f?Zv`Fq1{WV3d8lg_fdFOpiV`HWV|G1ErL; zkC5lFA5MX(%ZmS8yBh&sYIr3_p}Xcdn(N!)@1qq0Pyet8Qc4qiS8D}vh7af$Hx^U#PZAj3Jx)Mv#RAa{U=ad?oT`h<<(d3_Sy=P3UGrwGZ1*OD^x znD9)|utE@DiK7X$!DJdTQj`HxXGZ^{(y=@q- zay2c0%>;{^_Z(_+&6V*48%4g$1>hGyjE79cC<81hSN!1QUS`1(%SOzU1;x-k3Ho!hp4 zj`f!91z`X^~+FbD{p7n!LXbUFzJEs{nY9UFm3 z$#EE$5G9H)1eskuNFSFZJ3rHTxhi^?V*-(r@ROTrc)Xa-LDj`gNzHUYmys#EFTV^q zMP-A38|0wG;)=(X)^>yioZX$|ialG;$(*~Fj~_fxT!q7*Mf47hXCYEW38fH8GLXOY+egF<@?Sui8uE$7-UWxmB_H7FsFDL7t%^6EO| z`?`|K^!!0Y!49t7!=woKL30tR<8Uh zZni|M9zj9CJ8YZ&En?pII+TtdKA|f2Kn?^ z7&L6~5b)`Abk{LRM1}^Qu@LD@!aWWekCU5@pSKSZA|sKSpbYfLEvZ0ExB^1!Ufhi5 zS1rM>5|<-y<3?P!WC;Qj6VcP&fzqc|K^qo6WcNRp@J`PP-`#3NZ)ZE1{{8|4!GVGB z3OAk`m)kW zWYTgKZ-wQXE3ZCr92uPtG6z> zUr;iMgLcjI?(S}O4>%u|&U^$K7iw#sK3CV$in_0I<^NpO#{?V+QDIUDRMpsm=x`;q z$;awCqbQ}((uta8(`my=Jv}`KwUx()k@B~Zg|dcBYtFGfY9VE8BoJULKv;QCGbo4N zp_bW&Co|_-KgFl6Cttm>#VnnRR=S3@WbrJ|T#seT7vYQleFho#-V6Wn*C8oA9mhWY zSOO<6ta<>!LH=koG?Gv3Nw3;Jge!o>=0eWm@9&2&f3l=V*?Fh$@9#lFa}%m^52LEO z9$CA-MoC2#PMoNK(Wn#>x%O8$Xwd99$HC*_>Im&Mw+&hz4l^D?njx`y|a8MSe zS*oVT*$lC}{s9R`uHPywtXy1J2<^7Le?(O1`_PAKasR^)%M%(+Hl13n&O6^U(_%mf;z&I2^y~_ElgZ0{`m9t&7e-%8X9JEqnrcoJXS~5F z&VF~g?n~+RItP!Pnd=$oJs;(E*y@IsbGiX%5(Xw_1!^*xMe%tOFpG*lznM&Zt>be9 z-n1HRUp|L7Gatkgix!~i-=7fxV3|K>I_m10Wah!CxWl8hIM5gptb8s`U$&9Ela+lK zWtDX(A(Nhug{9S`{AV@gS@?so|C2-CnXNI7etugP;h_tB9)D&ok-VPP41=-nR$3YS z!0v)q;56#!_q>wvtScgJ02nH)lzcIA;4qmG{XmzsCpd;&fRF$lS7j4!eP^#c2Lru% zL>cYmW O9JM3L&4oPdN^ol}E4^c9*v`8IUHD(neWymS`67D@Yz1&Wo~(eFupntU zKHFRZu0c?%Jm|f=WKwWtLo@15p~vo1uFi5gCNc#>GBCRH+}a5 z7&=Yo?DNB~J;`+}4qkH{E2F#HeiJ{y%5S$1zm7mR0GvhW$7D^C=v=$CN4WItq-Q@Octpb@Rs2q{Z5m=ijEw0Gymc!&uw^aJt9^O1o|fDWl5E(^Dz+wL^(=dvMB6jV^Krm{zN+ zr_a?|=8NKAXnlQ&@6B4o7t~{H1=JXukQfn(E}KiWn$*mz#Vs+mwWGAQNut**oYj!w zn0EVdx-gkn!L`QXLt5o#t1Zt-wSM?SJ?&hzs?kZY`0k?Fa$jCWA%6RZ_4si6E;KZ@ zpi8BOl}vq&rxyC;82AP1;G^>uzn|~3wsxTYgAv&mkB^z)o1B~$1bQi>y`5EutoWQED5Ze&e{&&uat^+6N8ASl z0u47UB(Q`SiX1xrc97}DVb@|e9A~QX7P0j1A)cZ>iX~&xMf(08vxEOVpprx zDs*)B$m~BZ<8{(QJLEOmQGbrhKO&k_lpJMFW?sNb+UZl`qR8AgpsY%Xu(Ktg@Er6x zQ<~c^<_#RFM*)Ce|NecSi<zF3C%wPP&`ba@_|@IY zKMchU0H=%isH7kV$&W531s~n(LUiGX$mclB{VPcb$-zJlqN%G%(TubkbFq+0A*Oc* z8`t2{>9KR@yLCDzGI5mu>%1z&#e_=sqRTPs&<|P!dwId1{e7OU%<&KcMU~bAE!C3x zbjCoqXy?MJm)vsAh#LUTElfP}60MsZ|Icyc?XO0 zvKer>Tp+hxMR5bbxuu#EjhmN(9RI)ErvCYa>CxEbh6A*BD9k&caaRb1G$<E^R$VWJ}CwBY2}kEaxi&jTUzgF)e!)+%oLN4FGPr7}*cE{6mQw0Nmo1e`0Y1fLq-1Pb~ir4mi&3 T3<4OD00000NkvXXu0mjfM2-L} diff --git a/resources/bot/help/background/2020021114213984258.jpg b/resources/bot/help/background/2020021114213984258.jpg deleted file mode 100644 index 76400a0a8b1deeab7a4018909cb61cdbbdff43a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84160 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 diff --git a/resources/bot/help/background/2020021114213984258.png b/resources/bot/help/background/2020021114213984258.png deleted file mode 100644 index c9815ee2c057e668c840c9102c8f633a55a64512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 437397 zcmV(~K+nI4P)JvL4Dx9TrdMfuhaaMN7LWs#pvL*L>d@K337P-sH8y8}*>j!R;RlGqk0x4WftW zHi9iqZ5NWjRXYB3Hmb`);m6a_qsRsTe6Q?~c1^@|s4DLdp^fZcDG->Smd{}1T>GlF zGuQu^fegk|@`2j3r4O^n1*K6fx!P%FBsxqUtM2D2^DBRs6$gq=czc%tt%EE$id;Oo z*Hvt>G-1>WaX-(q+9^h2N+1r0FQnG0N#j^sKg4=j?BQ5x!5=E7F@X_)ka>okI8DhW=zw+j+{Us z>V6}0Hq_G~(5&*6-4gg9)xRU9XLhjxmG%oL!#*~ogHifv)qWNMQF<h28n=TW9K{&bSRIcx}_7m9{mKlTn^Lj>( zdnUg*&_$XtzuFZhp8CA<-b>Ck0wd3?>Z?9tvFR7Fh3KbzqZpB~c|ZDdWxq8Lw)w&j zZ)}^dRxousw7o``%O>?iATECB0mfS*6q8>{7goHAd_yF+#&V+ycwG*Nl#adXL+@h_!r z3&dxX`dJZF-zlE-=xx%dMcV-tJDHe4nW+n5WmPZ2C$I|LFk@%}@F0mVB(^Zvks|8V zt8~#;i5Vh$5r4z5K&E!TCOtm2@u|GD{@167Z&oH_>1}bkLaNQ89=H2G)X*fn5_va& zA+d^m*J2P@pI~qVZPi`ipCh}-sQRZmro1aLU~!j))44YIZ0}<`>qC|+|9@%UFY>R- zOzl#&MKkjk*`nLHHPbauE?}ZePu#ZaDRn9E@gXy z;MG2UgH{RTvr zR4>syP%|_xq8wi~YMZwq?L!cHf9Q`qI*=^`QZgS-r2w^Nm{HMI3Vq;$@ToufBFDFs zi95#QGl9rVX*O(}CSg`hPi%_pw!xnjOH<##lrmjhZ28Hc{7�rlB$3Al1)IWD%44 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

    }SIDdv8ZAPB{H(I(OzGD*p7VHet$!sa+YR3e$E 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≶O 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 JPDHLkV1j;J_e%f( diff --git a/resources/bot/help/background/genshin.png b/resources/bot/help/background/genshin.png deleted file mode 100644 index a8cb922f6a995d0c9bff6229bae057ffcf6b7168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3688 zcmV-u4wvzXP)Px#MNmvsMNDaNT${dHnZE4u_w)AnRhGP8pTb|9!C#!f zW|_roq{V=-&7;QK#oX!K>hY7k)awbA0z+ZGof3+?4CJ(oxeGrvLyAqDe$SRCwCdo9Tk1C=h^G!Dv9i19<;O z-MTwo{ixbpZ1I4>~19~3xy7~f9{oI}?(Ur&kx z?X2&<9~1?;tnC1#Uk}<&Gp+sigRZmr7eE{1;y(g92m9@ysPv6h!FR*=gLXcpvHNnh zzh1#QjVUc(4@zb<#jiJ{Y(`Ub->&wkOYIut{4ao-IYwo_JS-tl6?KBJr2k@2j-8^` z0qxT_gQC)p0YIm>)&B1im=|VZ>ja?bZTp0CU;cy?C;Dk7j-3$nZMCON>o0OG&e<+M zf`ZZ~tz&vq?QwSxP5%crjV2m?csPY58kC8(>Gh{lFw>ep$Y4O8eP`O|q~Pg$(4`2d zVR;+0^UEJNUiOVYtS8;H1d^zGD;r@g)aKW2f|kbU=j+Mq=TeMOZ|a?g@;BFDe;stu z8~gCw=y22=w}=CL)9Vk#qD5y_{Po&jdF2DT@W&2E%sp|&cTE13S3W8lz704VFgqK7&IU>QTOY+@X*y4ktWIGh(kH0=EttG(tpkA~>DYEnGkiE2m@h%`HlFo}^)bjki%i2)` zCzJA4U2g6?@whnoG)GkiB>*C^dc=3XIc6yFa6LO zySPYi6nQt}eok(&hU?@HO)sLZHR*h+P3;8x-kImR1TXEfxRP36-(?-y{Xqlw*+qq2 z@FDUGu{k?SW3E~4(JPg8AHhD|7$~@7#kCK!t&CT5Zk~Ag1HKg9+h3~D_u0^WrorABiE|Bbi6jDaLCGoH@=`@4sFN*03$ ze9@5Rbu60^m!tFa`%aby{c0e~n{EFM>4`*frNNFWhwsOOWE!>a>Yp&;04A_UaJvSpUft)?1_I4j;8$_gHn_{TCz0PNXhP9K(w*i>#^S&{%}c&a zq6xvlq_}8PH5`0x7W24(=t+;%zfDZ5EMvN<%<$ONJh5TfC`gB zxPIfGb{~ZSUj{u)!49gridsiOMLYO1C}8UStH+UcXPrP{j4Hp0yBE!*piny~$~X_a z+Am@(4^uk$H$d?VX|-o#sXgV`w$-oZJ5tCqD^RfSJj{q!i^)@_N)YgJ&3h6BtpwE< z%gO^T@xieYSglJg+=0$*4LW9zi*E~wbw^L=EShQ&aDq?!S3zY7mi8pxuO*~F@4+L? z4#w=v2`E^9djO>wAw5s@JGu0s?6OFC%&S_jMWQF5ti>_w3P`zVlifjgwNb|3f;N=i zQA~g?p9(@X$*Ofr|sVP>VYq4y$y9X^F1xiB>55VH;#7k3FxkWe1FW!1Zh*+vldF2K9;D?cJw~q zSWUZYJ%v*bK=*NwDCBAJpm71j(b`Wzvj(1IM*anfCeSOt(13WLHu%o%Nt2f39$fJn zi)Z>oqL3Wk4_n#A@C4NHd&Pq?ZQ;&-A!<#SMWnMcsPJ2y@L@E=U` z-UHPIRAuwj+-F8d(BU1>s`vq?T+a+P+gY(B|G{yC@9nDQrM-c(dv)JruURd zgG)Rt{SPkmRnS!X`qr;itpZ|N^S*h~vpFvPAs{*0#ZN)e;E#zz#fSk^Hu&#=M)1A0 z!Jo|8SbhhJxy$%V7n&vl6@g+Tb2ei7CFs!6SE$~+2PG0VKLOoqItk{fB`V29T`miC znd=i!sx)*~pNDzsu|%64R7X#sIj?Xl4IT5~Ph842@n_I*uS~EdI~FMl6tA1kz97+N zuRUqB-y+cn*|5Yv(rW=uMfol%6Ny)2MdCTAG6&ElZ*bt7FwCj^K>~CPJMd5jGLFSvZBB>P76awP3IQ0k$5objC>Of&;RV{Q z*n16vsYRr`bPDpOMmkZ);|RR)Ui1F+6pRGkt=yVCIG%&S=QTn@Hm+NiAa?Zz0;SCm zY+k>s{4Z7)GKH`bGS{XvCx>d2AxX;7zU$#s0qjaVN&@?t(gE0`V4f1YN_-4LPX+lZ&P60 zkeD(k1ZkakK)7we#^E&P?&alLKw}E0$LHiB4Ig-`TOg0l=uiSOO}0Gan)Qp@>0o;x zq=ony1-MI;=frm$C+wH_;B-vm7Z|9138wO#Z(u8IVk#<_d|9|Q*HiWe)q>`)J zQu_)I4vEipxw{UDY=>+>@LVVhl=YCCvC1MpWm_k3wp()>yRTSgoN1m?;%-vMyR@0E zS&+N8gV4F~KvJM_e7p7V*Wu^zVwj72U`z4;!k-!>O>OOfuopz9?_u9t65 zD$XBQ_n4GfF>(o>xYQyT=7(tD`6C zQp;ETM7cDq$TxdHNZH#u40Hd9%10VJo0zQzhy!YYxy@OvHH_2q%7$a=58L0_z>+%& z#+U>HoPzM<9tif}RuTlmk;>NEB9z3*N4h$Y)Rxm2gbPD++K-G$|GGe9+K;PnO>j{$ z2I(qB#3#l||H5|*a7Kfd4g~tKQQ|H3)Az?gi?=J$;z{Ng9f6t{sC+v* z@T>Uo8UlqY3n$-+5dBPy_yf)VX6o?uv?}~ZIsK5{|N8^U*v6Fs_glIE0000xU>ePfI{*IK(d-R*Doi9|L?B!C2nh6JI8 zB15uDQH@0VMGYU1WDODBJ-Ym?%sR#qxrsXe3Sn6fAXsU0Ym^m08suy z4ghcfgzZ0$Z>w*_>1WBw*~uKlAaXTg2DvM3-?;sjv!4c&!^d9|!5ze>n|3&y-JOWM ze!u`SL(*jKP3T12-5CTjM*s{yZo*Hu2EbtiVvv;sEE{uofME^>KrknyoX@x2tCx2l ztnwT89}$N@t}u2oBJ%A9Ky(M4L_!Hm%=e_*wS**KJ zHceK~UHRp>SKFO*2Yvjbr!NBt`SQ;0X5An42_ysu+#mbQ*<&OgztP>Dz#stT&JN$Z z;J4mge(N6#a+sY9ZAat)7;q-6PLMaYdzmi2NLN3D-HXU;Y*t5uJ=w+o@MrG4aqazI z`kg}y=a+}aw{BcNe`S94;^e6(CT?==_GKFcAoBP%v4amdle1S1*J4{_We3Zhy2{ zE-Yt?QHWF0^>RI#;j=G1` zoQ;f~!Egf{1O*YXyA#~a%?$v9%$=A*j4W(ws#^Ebotd^*fti_!iQLCqfZW}hrfHg% zMRLwLr<9YL3A4K=Hxk-yCKo5uSrC{Fu0f(S6IrZjx|y2;y>dh8-+zg|^Zo1J{$Q~eyqk3S{Ii*uEHg712nrTqCWeu09^LzUKmQ-R z_|oe@{?GsO|McAtZp<5YQkfsL^8*ofH82TC$y)U7aJ*QYg!v8)>pQpaO?G#G{=fGR zJP-fR|KdNJOm>}VSZ^rA&43Bx@BNME|J5H||IS>ofTJ zjb+LtQQ_k5-6RMoXD4BUkqff}ST2`)`@3niPCzrAt1FeTMr42iY{;8_wOL<%{+VpH zI64-mm8zwFr<*)^>HO!OeeS`d<6ry!_qwiSA}1y|+`*&(IRS8jguK6h-eQ~b0C1eP z=K658v>>sWAn=3L;`hVlkQT?6t#j=x*DAFCIz= zuH>j;iiiksn7c6;L@)Mk|5koVtaD5Jbv_u05c^fNO>dNEz}HfwpOTlf=foCZ4x2^*vtk( z1P7|ODN5uuayX$Jr#l1=Cpa@X89BQV(U@J!L$Dd9WDF0+W%| zTc3#B89de>a1g=j2l4Uhp`Oor;Lb27IvK2F3l?W)RdaVZ1CQT|Klb$r`F~9C^4KrO zQ&{dr042rnCw)WtUIyP=t;j&a?&d^fr)5Z~7q_Rj9I@4ElZXJT$KhnQctHD?cYf~g z>qmcTH{R+G@A7OnG*e=;l(?PSbdUREy!$QOehU|$x63cK=bya99PH%(_$wdY{_yUV ztDm}jdH*|)9%iF^cQy|n^fzxUuRbxmy4%h^`p)XpKl!Wg+cbniet7NrjXRHovT35G(`yvA_hC^ElvzTpymp&gGrnnW@d0Ec6jOs7LHA14rZpR+fsvwoy^SL+(nqc z3^SCOzk_kZ}i55itEollww zr`e1begD0?{pYVvpW1CUn168VcyoL_oi?w2;nml_@|EYFdd1ucv__BYECDRh4eSnL zueY2Kn=2R$3M}lDQUVZ|?=KdMmGNw^ac`&dQV6kw1?3dgI~UAE1~?HBt2xC03Pvp2 z%j!s{b1#vpJjX>PxRo!Pwd=3uja zv)HVypPxJb^}qI)2c~cR`fo1Qn{%`2mD%L!%g;P_`SKGNF77t*H}2jW2Aj4ZCU+~b z!E4laA{c>8`hGo$ZQ=leCY2^OE%({YjKSmxK@3XIDW|Ly8w|a%fIw~zVs~Yb zmj;zdl>rVxhN17Kv(1nN4tFM2SK^R0rGALrbS)vLoZ7h4A8p#5qd2v^5f*h}Qzw|C z+(@OZ2N8te5Chz(oLD1wxFrtc#Be4vA}4aSAZ?ddOJ{K+&gyOen}I++25urEVkdVm z<)Q)PZW0JAZi>3?S}VXUjA&Zq77_-DPA z;!+A*P%v`9%`y>WEFYLkkyW=omLq`s7V{tw$jnJRIC2K5+LQa!zxlc6S3|mX|Iyv0 z1s>}TV+g_Rv6Of=pFaNQWAE|tFE!)i?s_0FQ6LZlPFAV~tEseZ)Zqj^MQ7>}`1b#$ z=piByxmiE-s5K?Vez7)=^$h%&0%9yhKKWlievFSDSc$?`!tq&*gwFhxhzv{#1}l4L z<(5CY`FeEl8Vpd+0Z@uH_i`}8Zt%6Y2mIQ9N1pkjTz@0I{jIc4wznUmTgq-J%UpJL zC9nP3@6e4O@ROf8|NLh^nq0ls{*}M>;`f@o88&OxEJEERs@eTV!-Geg3+I~WpV<48 zKfQK0#b!QlI4+l)N$atVd8p^G>88VGdHbCoKJnt`LyR^k00rPi5Oz1Ha8M{9<_vNs z0-!=_iH!TSIePeD{qX+c;hnzkg(Xaylx=mi;$Sa->hdekKl8-Zt1&i<_43B8TW`Mq z;YYU*S>o<&3fJu3#s*D^%t)4)IY`)E#nRF-1-KcE2o50<5ph>DBM>o}YrnDBL}npk zRRx@gO`Vtln5mhHFbOjYyJzP-Opq6ozCTshV^D>XMq`$X?J(ozxk+rai1>hdN_#POP~Av7r*e*v!4x!34Nj-ULQJP z3Jf*^;0&?)oWoqGruD!eG9gIF508&mX_)LDcxd{*XLbP*GcgFnLhcTCxHAK8RPZ`; zVu&yc+`#beWHC*{=G-L{0t^r*GFO9ypRLx%(gYj)2jBf(JDoVQ=PWVwLsr)| zgv~mULe&WFtmFWM%p}A<<;BUmJwFdROlM8ENbBBW2!MH}tR`(pDYJ+;C4(q8-88KS zhfxU3t`0NPloyLbw9S?0pZV-(Kl>A3`0{lB;{Wo0{l8c}y#M-(pMK$q%gDSYqO??LvtCW_>o``p3X(03c&$BX^hB zib&46kx(FAW>HtTm4ZXS3Uz>)bJ7q(-}gcsV=&F;#tvd)BXe4<`-ADEk&yC`bT;8I z&kvW=tLbQMFkvxbQq)7|0+XLc+EWDD0I?Z=GW!s2Bo+?Jv^2kNbG~qt~sCzbRd+2+WDtz2MzE9wk5mcY_fe;PRi=V(zh9 z86&D+&M`BONQ9f?6l?fI665hh`HLMH{m9ST8bW@gF40omZ1=NP?_5Ee;N(;}oyWE@ z)-g<_Gb#76gQ=2E1u!I{VP(V8+qt~@S83;hfB)BqM|W)Zd>b3mq@IQWAd=bDh_wFj z4{lxmE}j4Mg=b!p{iY4HNI9F9mQskiw$(fwulbK2wcWQqeCes3k6wEA;rlmQwROKy zx2~OJRZC1ko32|e4{yK!gDao@EK37R=H+~wxr<0SCkA42a;PVsbR64$b;6)~*RDOd z^&ybm(ZtqVkB^p=)2lB({ka!Ebzy%VyZL5Vz5C(yH{Sc`!&?us^0aG%I5ClQoRyFX zY;Im!B6rP6m;(zjnR|IQ2qGYN1*wDKOb8+dH+OR*CQd_Q$uY(lqr0V)S)gt(G_h&B z*4;OKZ%{CpB&)fCiISKbcDu>BuGt9_Q%yM&6E%SXl5YBbfih51IDG-U;EsrUwGy6rKcOr;8uBtj|nug@)Xu0flx_jOzfP?`dh7dC|fl!{N3Vsuu2}aB`a;Q}AZ6iV8nAXkl z!_C1HeV7vhR6#D7fSL;D!+;EDAamhTNDa;`fmmIJ+=GdjiJV!?a$#TH4PHQaB{h-e zgA`v`rRP8=z|ifO83Tl9yF{{m+WOWHHBI*Dkia0cg9A~qBb8!B^jE2Q( zF)Zi%2cQ4xpMLcVUwZk)S1*!8;6MMZUzscqfBtX$+>;kB?M&v}(8h2-PdbQfX1)jz);M!(WA)#wH z9@|U?Ib7YDz-4QM@ewP`Ma9a6&@_=5=3arOF(KEs)vf-da5g71b&(KQh9OVd5CZ2+ zLSCRUa&m`xg=|=$32hfQn@vi&ZJNGUKui^Iz=&zR84eV&3+cEYvZuD0>+!1HJDTp~ z)v-qiMA^m4v2&?xtX54#AT9M+?L5_t;h7*#wLUIyGba{y&CDU^tZEWsX-$r*y&M8<`;l%yM(#oIxJZ5{%cYZk^AL(o^Z44kn+N6Z_v36~oUQo|`?}x*q_rJe)@YIu+ z+Q}>rNjMY$l;K32$>8Y(&CUD$^H# zcUK}K4yNn?F*BK)GqaiXeJ>&*#1PobBFET;wrhe!Gc!luZ_G>x9E1Q>M5ar7^S#(o z@-z&@!cF6%SqDAYq^t-MVnYmPI7oD}$-|dk`vxg~=@)_1T9Z~Ek#IA-Q zuu^A*O~1Z${(O`$^a&&ml&+Qv!m7@SOvKC^vdbHO>O^|Bx3aB>i3mmXK&(PA5Jb(H z$<24>`@j8%fBbvj`OY&>US2Owruzrdwgk?@!iFIPp>`^o`$xCz1~ZXB%*V^sI!!w!5mN`1KFW9CM%Jni9yb?s&J@u)b3 z0FKzid#m&(x9+Wn3?g9$Y@|Z!g)9&F76x%DyFnm;B)M%g_XaRmVS_Qqil~JuhhE7O z8j%tLoXkL6OPRtxdK;MtW$(7dsBJ|PpPcS~Od72Ff13MCjb$!WbYI)IQ3Yr!;Q}^t zfeA>@lodFAT(;01M&xaznwU{4rxD5i*#11W!}Qo6PLIFq$EhV~d?@@cB+n!gfXoGC zR8$b2+}TBdvvt$>ts}162?I!0C_^i-gKuFOf;k-Q$G3UsQuot;H~ry1UEg{??_KJe z5F~YIboa8}dp|7|I|p%cK(2?64)5K&cj@9mU;#2qc|P1J#(tR(@3jXP?{6gE?4N(4 z33BPqwR=cw^l9Zb>E?#)$`%m1`Qg1A)BW?Ioq0~`6iC#Zhyz2jI=M_I3O_!&cX<2e z^6;UWX;vYM&1AjFLt0-rn7;b#3!i=QnddK_`@jFvzy9I1Tc3UL%AE(t_m5V)vsue1 zswfnd7Nbu?G(iX-UbZXO2~|kXrJ1lPfUTk4y;L+dD&}r1;^MFTvUYuOc<+f zp4y!S`fq&x8z+n7-~XN8`Pxta%vZng)hoLfdZ!hJ0SW5H1_oTk;Uq)?Pr_g#fkVJX z1ugLMbe3pJ4pVNL#qp6IEv9>WA+{NXi!nte&rAk@91KY1Zs1OU6`9l+D42O{yv&sl znShv`o5K&eKQR%2fdn5wM&4{2sPe#QP8?V`xLVFB56jm-`_ljoLl3~2$OWpX+zE`F z-3K6oUs)_tPSkO8(r+F;!j&iC>Yib(0bpV$Dl7(EbMEGQNz)r2+?#ey+eFvF+Af6F z`eV&YHXwF1;q~!iukD*gfDB5)nuZkOfrt!!PZS+wu57L;HBGl!uKwul!@+rPJ`Zgi zl!r7haZ%(li8JS37wfz?y!zjf`c_wL>6 zv+d1yKljRK=JTEJzWvV0Vhs|jd5JzLL~&8krevD>*tO!UMA@{BZKt|%BNXs0hXOBQ zEJWOMm0X>Q+Da2VW<4;#rO+flO)y2fSAXy*5*|lK{73TxIhe@GhTI%Qn=~YCB8vcp z2(_9xwmkxYMUYc&n&#wW<>n%yxe6hfV1PSs)|+lN=O~`ltjVE`t0kqo&HTdV_#ww2 zX1S;o&528wL1Y9O@6a=QZE!VbHlhM3M6=$#2z!_q;B4w{#zfgiQ2?m6?DZr#If07) z!H7v%1|O4qLFwHY2;-JV;%Hkuj7)d=u5vzvX)yfZ%|}EYL*ou&rnAj{P1*$qsL4eb zZkd_b(F1>a?-6s;ga8L%;L~ks(d?H*=QTTRQ3xV988ciR2vnF=Pzgv}>c5gMPb=LY z`x+V8t^A(GYY*Ova|^go02xQ2thDlM4l;NV++ZR>0v`{(`=2FxtjDqysTSa-%85?3 z5kGElqh63R$8bv5(Wrxb{G)UVR+KGn|G@x${LN!r+cXuy>*#eGQa%ZC;#Ki6>Q9>vfyIFE_rr=IQECRD^=1q(tG))s@4C=bx ztWr|d+Mutsry%Di(+2UuW&z8yI2~Z2YmIZx>%89NAww7}fdMurCPOP^O}CkJYo*=U zu6lY%_{!J6@#+`9_{8+e!g1S|0c@s98YQqYfl4x0%fjpwi|8Sc7m&GxAP9^5C`=@0 zN!cb{n`YB>iX<*-3^yWm1fhz1I)p$_Dm8cQCh9{sK1wB2IC0_R2sDr*g$_>crwN8U zzy*a3A-HD{u|!m@i@W=*oj&!%Gxbp*Vj@)#2<%0QW&}4Jv%Iq2yfUT3W_NcnOoFE6 z;i^BNFm)Z24Z>XHmH-3lL{NZ5;%p{NlvD)-WMks_-1=z4#)hSE3~f6kU-j$VHi6cF z!%VYxv)#VG2bWTf7?CNd4xfABa&LO``bqMRHk%@h^D%yzSDE-~oo3yPIPJ{i@zRG> zq$kLRCUa&K+rM@6;RkbWe)rzd zalhGLuKv=MD-V+WP>arwfz{heKr(6nLN#fOVyaVCh9ZadtMA;L`L zOj&K+Z(=tOfz>^miN`KB>tW+Y4RIW2rAk~^z=}8tsGaGyhpx?^^O#OcD>Dk>N;6ba znG?{2(8N#~e2Lgd@fJ)$CJ3K0?Eei+)e zU8WUb#3|ee)DJy0H%;i%O4U7bH)-U~{XWjaY-a1;g#>_+ixeiJ?4cQ$OVTDr?b8VC zitH&g!J$MAk+^A*PXrQYPQ7Z%XR&QNT;S8;BEC_s2fYqOQOx>Q` zRmb@Fqoe~Wu)rW2D;uw6gxCE(GgSF8!Ni|=6yryJ>m6OkUYy3Frj+Jh_tS)FbDWzU`O4pEzWrb8&G*yZ zr6xqX{>OCgsqk0-$Mn{>{MK8`JMZu9oqPU;r&i1U{)0y>0=Sw3Y;Fc6A|HA@xYM4y zbcFcU&CQEXP1a9dJo@lU z_2Z*Q!(s&h9HMaFr`7Svbf{4*CXo@eH3H$QB^uRZ(JkWvtyx2?iRVp5gV zg9C9WD7ssjyCi0~nwqDOsUYK60NbtB>Z$>gBzW+94UN@VOi-BiVM-VB?K4hh5@BBbbB!3JitN!L$i z+RRKmJ-FvK1ZuOdh~n<#;%z$uu|P5sfdc}RKnO(c1?Vg~HD_2uh$Y?DDN?{)3?9gx zS>4%*5d%DcHiLL9~%>Q+`BGv--FTj?ct+* zX=VmkB4UG#eVRMOT?x)s*c~O1g22XRo+Y#sZ(8o7_e)QzY-SlqKllY`Bz{4na_RkYp+cKf9pH%|C`@^Gyd)m`@`es4=#V@3t!v4v~MTt z`-hM2H}q?7y?3}??M&t`e(Jf4`xgypn%J~4gwVB<9_qOxFS-Dja%e;(d+*>OY1c@J+srUCFqf=F^@#*AsUk!kHhtH%!Z07d7sRlv zlvCd{lYuy8Gb0LN66omOoxK-6wb~3;$r`Kq!cQ}T7lg|TDQNYKz_J=CM8rv%$lL&7 zBBODP&a^&27%}#bWeMLx3=V*#Dj;iOr6T`9I5QBnO)91A*fI!S;68IRn3*&I1Tw&Z z2u_^E!xk$5$m`5xy=K8AlNl9RfR)(KV_Jw}0;IRK{`o*q(X$ST~TJJyix6LV%h(lQ&Vmckezt)@l@| zH}08Mg5a{z((g#E_$d_r9-uMKj-!^=0Ad5sI4J^C8tB2j>BY;dBo9u8D+kl%@*v#5 z$K(N!Hm>>&Lx@R{9^AavPUc`5`c<~v_mkuM_ZPfyCXjC3bRV5@CmV)ifE%O_>qGB!&<}P}hD~j(7t(D4DX*UfUit-8{Cg zuwHY(&V1&KVOXX0CJosoNQfn65=>xBltVjAr`F6=6lq~YAvCB#7(hvf!F%GyU5S`o zh~VZ@#8^&-EEq@CpaN^yBQe~I__L&GgY|vZw6P&E;KWH&ULNz%fD;jf*v*B(6xwd) zDKQh=A~S;&<%En>CK1TlD-FRY0bB^ZH9Ki~DfKHfU9b$Oxx*s>LJu&NnNepDgNcdF zmDoWr)vOr+k(g@EDmd(4IGQOLo_^*@ zUO#&KowotYn;fUS(|VNls8=VGkyK`gnXUU_HlLE_`A&PXvSEYG=A<9;?9%R+f9fZ{ z_KmN!31f zXAT1DRJ}O}%rp$zHNsrk3jkgb;1Y97_dqFIjFL7f=X@GM-HDwcrq=iUteudEn`V!L z(tLM{YY&IRqi%P;esttfia`#UfbyA+up9^%s+5hPTHJ_IQf4J0M<8TZkiblZ8zR;; zj2yIk86qDuW*O!zGn-pBB1ix*!Vy)oLd4IQ35|t!D5#QxCw6ZR;*j+II)MKKWa`9OEQT4X8fO+)|NNz?~?J+Wz7Z zVFjt#e$5CPIpE}JFk)&-jC3QH%0bk*p*sCS>;@MjWpKf?D3|WKs7*`3TQ)EjJX>&T z+;}~+HY#;+ii4H5#ma3t60hT(j*-RKvKkl}J~I^c6%#S6;vUz7(8e|fcI%lVGc$`!+FS3u@oWE|-;tAM{o&hTG6|NtCO}FsLDJ%g1tKFN0+pu@ zTtvBG6k9oszRu0AO9xkYB(9OfA>^bM%#0jWfH@+KrJpIrEe0-GT{W4g5Ii)Vzy%96 zQ`f){2~N~G2hadFGxPB@IgG~o+BKIGSOgU2!c^p0?Cw1EGd=t-^wBYfeN#hC$bB57Q8R zEqQUcuq!WIef>*c`Wt`cub-plz5e(g|I2^!&Y%9#(Y5<0Uww`}edfg%zwp}U?;k(< z!?(Wk-beS3m;Gd?edehr&+lGf7KMR%9$SgwWO?ExQ!qZ8*Xumnu_lB*4Jn5vQrFUK(mcFz>*8lVElrbE3%CKmNqmIc zQN19*WH3@I97?&(Z0I*_+mbLSdP-0Svsnr;q?`@LC_@|qvZ{4JA`hdl5@^&%ZefZM z1g!O180Tb1zGJK)2x4p{ zs7R&We5>j_Wk|+Z8XC(9jO>(=Zz-s9DFv{>ZO-!Qm2)?b*Ebf65CV+Ko zcXvAIgh7j3_)oFoX*4pX=2rfK!m2Vc9A;pth<+`GY@4jd^E3YKu~z)C#99EG5?;qr zal3D0up$yBhufB%*`{LJefwGA*ktul{YI&@fsrSa81&*9K>_6{q1~56BRPZSTY&JHV%V&NzeESzH z4YGHE?|nGD^?UNgf2Tiuq)bmdab>gK+<)+(ZCfIOuxTb1%Y&MUM3w;A#j+3ch3=n! z2wZ7(ap8jJRZwqdzDwc${o^J!`%gYU**~9BUfllRy3Y{bz(08~vgh_$G?ESnLza-Y(WhOD`W3f7()4)d-(-%MvA zk|C#TLNbZuNO{?B`kb;clSr&OYKSVBHFQHaO-<`Cq%}N)8);$)(W6kmssV{$jzDLD z%v$1xLd{5En43qI03^5I2G_+&--=$`-`m-_aN%HYZ)duHd3QFQf*N=%UsanMgLCoF zobXfk8cUnQ`2siQZ|~95dxP7(g;Nr>8b{cEyLXs3S&Cr z(%T1^+?~`tL!{I`?BbpY00o1Km;*xOM3&9WOq7_}qbdamgN@AK$tsB{>TqPZSrLkk z&ZgTqfUUx>^s>Zt=CGDR4t7rxW>G+jIC*2|talF;>gC!VDh z+3Q@L8?Z#azeolSMCuF}G1LndO^fx0SrXB+uYciZUwQqt*FJxR+xH&b`9J^Se|h-f zwFARTPdq>Ush82yX0hzezWMEMUB7dOCGPI+zy8AWlV+0D7!)Hww zF9ys#5PQ*TmwTjasKi+!gNaDnG{P_~T~4*WtFhQCUFMZAb24|K&~<)%1P=_)SwpBI zJ>EL{Y;#>D|H;fGgq$?SSfPECNqr|!(wuXa7&%eSYC;rvcW-+C+JpZ7!|uYR)ua3F zu^3ENx3oeDm1%*BgjZO)xI&P*ndg)O1#qmMUDbn)SlHZ9^PClr+5)+ZlZDtOWdI`K z6!UiX>JE)iv*{Tqy?nx9+acNr@r=`ha1eQ9rfEYnE?{37)$r|*#TXpmAT^sh{<~j%ky-wW z-~Hjn(MY{$75OL-0J&8s3pR3cX7QBsO10zIgws)rEel{c8;TyIM{v5oXa1o=Wg~Hl zS~rv$jhPsdJS)z`I7c>}H}Tos$%9pYZ!>U(Helprb>c`-b?Hv%Ld-CAD~;GzYU-mr zkD1KKN(hsXQg04MV0ekHg&-PT!9M<+|5>je6FpX{`-+~GGW1XBSe-1Ss_A=wVLzwHKdz`K4zroZCU@YV}Mj^R;7*%6a+dLP$^$oH(zK zH_419li*=+Xb(#Re4}9I;Kba7X^gq)0*IX$br_x5NLA3P1Tcx48Vdj?GldtS4iO>% zU?75mK~WroX0^;D3|7y@F;JDv)LaQ%)Yr3yPhLS#(j$vmZ0ESO0G3vbq&E=m)FW^_BV)w(w`VOsZiu%OHP zu?g&;R{ZXY7QMAWU_zpZ&&PeRB6g1jzmUe)+%q-~O+j$^28F zfBlK8PwvdS+YgTZ@vna8+MSz@ZaQh7ee${U`vcY&md6ok2EE2*A}ViNzyw zJ1S$bB@S$iOI*o}f;OXoO$K9UVTn{mp@Ra9L{2o{36rD14ikr`&LF6K1tcru+XZ{2S94#IRgtX6?T zHY0eciR$pCk9-0gVD!$Fb*kCE);U+1ViVJ9U#j#ow zkkdB*p0eh(pWc#HwShiOFy%Dx_-g_@GFIll_2GRY&dQO=1Z-qn`?;Et$LQR&GKuZO z#b!|R0D#@dnabA_%1(~YFs$6&4om{hb<+pyzBik2JhNcNsZQdP6J~wWV>jQK^5V=4 z3#u6-8LaTK1Q6Nw4GadWBNZVUc`;C~pcM*3fpVuXVShGRr+mC#dGYB3kCmD<~oN2|>=tql%Z6We!9P}rg2L9ytmp0smSpgw)FlE{t zOf6V8;lyVkLDQ6ppvCWi-s48fsi|y09>CR$UW{E6#@F*P~ zzjd$#j+ZEC=NzcYkV$VH4rx|*e40I zyO}fKW^f0Ss+yZf2tia~W+EJ8+qPX0S@)audJSY@A%VC!puoIq_9xwb=wPrubWoz00;s|h81iOF6L%wP|J~}BN|u+Ppyk! z$gt>Y<`5YZP!TiK*|&lWmoFOQD@MEc@+bhPQ}|^r2PA+)85~8L#j-!x6SvH<>t@sC zqYZ*Y(ba%!5Ayk)2_xNj&>Os!05{{J5d>JwT|gW;CA{&+fB3a8z25AeKLM`Yy8cgp z=^uaP%5y*YrJqo;8+Y&h-Vd(bzW?Yr*^?Kadg9`RZZau}*9g-|7aL(|#`dq!4hU_G zv0>&QQK6SFUA}ntw!Zzgmm1VZ8UN!kWo-07<|LefoGqsz#)biPhkF}aa!dV2w^4}9 zAM01B7=CRV)3G!G92r)h$?@G@>Wj4h>~Er9N*ovm!VYnArE+|+74L8MvL zJOmk%ZD*3t48IWo5>iEMgaCJsG4_2bO@Do(NxvDo=}clwNwXn4buA{d=J5XU;?9lT zXFiqtjRPWVg}?*K*&SQrveQbuE!Rq!Vy+pXfbIoWAd%1yNmC!&Nm4EKf#b9s0chLe zkyCM|0bu4Mt58LM0i#!CU1DK;S^1qggv~54bxoMYXhiT-dR4FhSiuNJEbb_*KUJZL z!=0GN0)WosQZAIrc2o%6;?cYDl>K2I0h%am$Z~+mKkqgkVWav6&RV@ZO z7-cP9ujBS_^&xY&*<|{}-mD2^DU)mM2*&5^Y@u+9#r+r%;@`HasNOpzv|0ui74o2= z+dTJ`y|;edhQ2$0`Q+A(^{w6AOXu8>Q`%}s+?<(8RCFf+U6@J3{PsghmVzL{4sSg8 z&h_EKtG@sAi;Ye#v*~9sQ$U{_U4P zePd@j`|evG9G+|@(`Gtpf$Zck%BneA8zM#^p-k--7?I4?l(;w~5)r$(yAv_9xT%#> zTns*dB9AEf6NW(tA&yOKV;h>-u(6FM3jjXi<&^twoUDh#^^|z*2qT86k8Hz2}}%-S|TvBv~44THg;urURbz} zQ~-6r#!BTK3rs>GJApCN&Bb=py!H|y1CO!`d*d`^7b8^7nCBU1P-Z7#61GvuW{G0kO!xcM@v_%h z7gF}NovcE!5P)VIhJ4H%o481M5@Qfc2`gH$Ud%yR) z53axS`oXy;Uw-aSK6vl_>mNQiUbS6!_39I^9-M1Jbb}#8LDNXn1mS34RTG8;W@aaZ z5Zks}gcXCC8$e?S({4({aM=!^gHC(#$3jPuR=E?4xevn-C(bP9n$2Tu1JUtvu?-#D zyM@MBj2iPwtQ(tf0uz~!VC>^tCct2USe%>>BveGYDAmo)lq3`#2N6>c-So?o#X&n8yZyq~Fo7KjwPNzI ziYjK+?Bj6rcwiK&Bh+bTr_<9{jOjtlY!2c8t2Pu)E=5W04krO?nZhj_F0hiLmI!74 zP6^1Oq#4x!Ba(j#G>rS=+rok227|lXrRnUapSkpVAKm=^!{rXTaaqC217X{ly5Cr> znRz0`kpO0SH-?L|$-U*~IBBuMMaitrMrO>(Z9eU;?8(3Tg{MBezxd|c*W3rq0?ae>Y=0Yp+!R_l$KXtk9lNvZkRr&%Wm&pzT2Zi=VFf^fc^k&}9 zHVQ})ufh44q)~n@g*1q<+=U;j1>5CW7Hxlk2uCn6$Z{K29 zZsP84#~?64#j=9PA?~(Lec(vq#KaU-73>T$wd%)iMx|t6E-fU?i8&A{%+-jgX#Ndw ztAvFxH%-&TCN_}_n_=klkW(&l?hNC=GYOkv7=UTupwMj83Nun(q?CtV;gApuUT1)q zIU%)^+)gb-81iOg))NbdMnb673`ku)CvMuVZDZFF^K!imp#b(wZXhW!qSVjhvuREU zMuWR@e!?EMSUDwkb`Op{K`>50QVe7pSRyym4UnN$30lCM2x<^gpEQ$Ced#Nof;g7Q zxj$T-93MY=czAf&A04hg{NVPTTepnE&iQjONE&oaVHF|(VMKDH#Aa@TTH_MgD`Q^Q zpMi{(w15i3OJSQ1r@P6rx*-kRw#{U+ zSoFaqz$u2DE$c9!w8N&4p&JEfq)waEyXt&CfAXpQ=Pq4&?()^c<>H-x`Oo*WUplyW z^Z59;-~NqN&KGueUwirG-T921)VLAmR=^TTLKDHn%*e`7g0P4%2Y{L;#z2waL}rT8 zAG?|vS9aXbgvqg^r|sX$|BIIgHaSmnk~V72Npp-c6**il3P>@2ma6D*{D!Sd!w4;m zfr+4SoDrVz=;c$cj)13K7eiR~sU<;ybZN}#D647_OhH_{`prz*j)XyVIq4x;+nCU} z)CP?XS+z4PF^{skNJuG9XygGa_yPi@tf?QG`IK2y-HhF7+PDO!EQ_1B_FsCb4?)dD zSk=s(t2)xp#$erI3J)d3a(9Av_hp`(Vl)GR14BD|s{l>=ih z!i{l1e0zS&h{&1KdYXp{n9jA_prg(3?!&{yV1dQPX+s*}nwn?b8JGkHV5keQ6txtoC0h2)g>dot)dt&eNPw(}Lh%l1AkM{|{SZ4m)gAk8BHnn`lnFW_C z=inl&UVR#ie>&G5(811t_io2SQZr_$v!Ff#RK+&{nm}d0y43X`2g>4-4rcb0HXAFF zKi=ymM1FT&T%PE(vibkv^%tlls0{6^5yOgKh=9z=oQKr!KeM~Mp-#p0-^+s?55(TkViz(5huIaL^rj5VP=3xGmSzZp=!~n zY6Ayu+L<(wxlvVjRpbzwP!(F$h`q$cn&RLLXX8xdmah7ZNE=1VHYH39L^QZRPW`+f7<~tY8?VtP9vxFADNsE(fZ(e`n2Oqxw z?wtq6n{Icf?PfvQO_|6I;^bl0Ebj*$R&tQJgAE20shxvC8Hi?ZGj=n$#O~3<2e+s5 zt53dgaB#7GFvbbLITr(^oD(f9b--{fqPIv{zkhR@UdY4eOI#8MWLsE4K=f~3CB zIfo!QRa;~t5R)lyHbb{FlfWriHpwQF#wKxCddrJtfB)X};>G2|hs07-&nT0mVrB4H z7=8@tvD~`|apPR(iAb7evq~o?hZinf&M7mo0>VJ?Ep!L@c3F+e-Y~nlbFuEKHA*;L z>=M9s^a2htGEpkUFt$Dl6*FZ2__6 z0?WSoX&%}Z63Qx0%yN?Q@7*|L3QcIrBTHLniE{m`HlUtjcp!%}*mRls2X~LNQ{aHD zWXFNx)en|7EK~ZAfAh`DJKf#GlWz9doZ_}v7)z;B$p^UWwlZ#tg;D6NNt?kE$kb(E^JkXd&Y&syx?d=L8SD2{NeFJoCC=S zRN0w*#gBpzf6>?Yv5!G{&LFte>}5paZe?#tSF3J+m|dE!Z}X%9wKwnFeP!=p=!ZhQ zm8ZqG-|57#P<_x8)R06FojiJU^yrQb8{1@$9Gli$7bnXg^zsW&y!`CtC$BsiB`o^Y zn;%@id+)*D`uc14?>{gyCkA^~2nQqgoQWJtEWxQz$?nC9)?l8EO@gp60MA+pL?*yh zv#W_Pu`r37SzQ3005?-&iA{_lh8W-&`eDdJO1VH6gDSDlXWfN%x+9U*hOB#&*};6* z$yUS4`b|no2+UG%LsbF5tg+oBTN4hNiP*5&tN;(8l^BSLnT(*SAPYez-HycQOy*{m zlyg=r*K4?QHHvoBZUcmp3aeb)h}7w#-)KDp=YZ%;z#4wyx`OtuKz1fIC2>`Ac95y5 zl@tjVz~SarR2l<_D~#C_mV*Nb1vHZ|Xvh(a25Yl+R!Cl4`TlVTU!u3MjMSenIR_{oT-Tz7W%UjEdJ zyE`*DGnkCqE)K)6><5t`?L;gE4qyqQfdjW8lt2k4f`nMabIcq#s**5=7)=dSlML!2 zjwK+Bfsa2Sp42Qz)aRi!V-W+ArWoR^Z55Ewkl5-#`&fvKU9P#E0%XO{q)O3I$Ix)L z3C6aPs8Xa;wIG2=h}4Q8jmBZZYQJA@SQa)IoE5Zl#i*{|23jb<*z+{*KIz^?E=<(e^52vQ3NH;m@Up^B={a6^@o zFK#S=R~BVV>Et7XQFNA8y#^6LWwptoy(rgcdr4))tLpHOxtDsoESWKhvCthvFfuZu z0{v1|h?J|yFhT%3ki|o$Anu@?4eAKOf-$)eDkbK1ArlvJ(~TEVIf=88u~UJ%Dw5#b zg?N}&_wFoqViO}*=jkm&RZmhG{H76`;gJX%DI+y%T4>$c<8o{7JV$P|O zja6dpA;MHoR^;4xY)MlZPKE@xY(;61t@i=Q&p&nXmFJ#(=JJK6Z8kZ5aO3(L@7}m} z^Wn}U{?fns-mQBNnzk*r4Nfpu@<1F3u9l%rL?q-MLAm-(JD{fK6quMeMk{WkVwuW>PxZ&37~-s(WVa!u)DKzfG`p%H@O;uLXm?y2XZ-$e;?{iXy zNQiY?M(j!gi`}N3W=9wn4i>U?S^*y8lthRLOsd&E$0o#f8bV`?;&J4#7b0Z|4Hc=YZ&*WdlY`wt$Rn41$X zC$pVppWB_2ZjPZBO}dppU;|$>A_(LIN|aGmV2ZU2tB*d~JUl+RbpEnx{^$SfAKv)z z_T`IL_2gtd-95>R;r_x56dP3ovxE>R06M5|JQEN>>JUp5h}ww3)N)}_$wpsox5D0* za+!!rXAl4~H74-@9^Bc?2g^VUPcbyYsxDcSjCvy!_g$ul(HCzU;;+<)cT3Z+-OPTOWS#V6l)8FJHWH>Egvn+nEtFwQUn) zU}gz{h?c8WHf;i%H^dS+stv-_a8%7AWoMR+CembLL7;aIX%t5JFN^4lw5poCrFi@(crUa4Fg^suogI!HqJO=qR8C z;8HUpc@5ESMD8wd21k~ny8#=F4O-OAV}}ANVq7p6m;BgL6HUt`zkwu~x7D)DiO9@G zsaSQTAR>@~B{U%o*0xMUZcf`#L`I)&v*{<(dFGr9uHr$vsf5E!A^K{wzH@u>#BDq>I?+Of4IjEag<(mB_Tq;!$nAxx*y9E5CeMZ`^NW|y4MVzivUZ{9W(+of0!+aLYhh4f0fQ4872KZOUCf+=LmJj0>5%iJ zYs=i!X~rrI>*Kjh#t{<*i4mbXmytOUO+weQGm)Csr69%zdaPZo+))g;(J~Drn1zUH z*2D}FtNu<@D{yBp!A9TKQWDuVA^%yg$6%>X{IR@FZ9`8%kz$|C@Vfq35iQmw2aG_Y z$I5t$bbMMY67NnY%XPo-Vkx&B5UO$D@jct_?6#mTd-AdOd@_S|rkkYvLT?%`;;ZX)?$Iro(}V-7@as&1}!>HPU`y#ARB z=P#_5iw|$#`{8>ZUc2>R7>4<*)0E%4erwiEp_W;=EN|^>UUDi#0su8D&nJgq#dEdF ze%zB15yfI2L2y^oI;24Ca8)xH6G>TsQER!Gby%(YT$WN`8q^rrnKTF8bVmXMIV&WD zNvobyTBl8~IWuwKh$0Fs&Ub;6w5gkEXvrbD2TWMVjlmou39}H)-4bzVCT-ic?w&0H za9Gxy)CO`F>YDD{)F!PcKqgFDyn#c(q1_3dL9pfu-oa^-kE@jdbQq}0EGo| z-S~ZFGt6h7{_Ib@@Z80J^WXmK&7d&`HDAYRXU@(?&4Gm(axzbWHt+^;&;T@9dq)$e zb2lgVj4t%|F7W2zgW+!Me)XHbaP0@*IXHK9wdq4%OjgI%&V~@7?yk%Zih)BHXhlJ_ z*xRteiNw>8hb23OHgJxrc_hP2>ZC2SThgV&h^qxQgAAFC0hoKv#jq|ioSY2^CU8gA z)OD?RTCJOD*G`(lN9$)U?p>L-E%@bU=D+pk@$NKaOT;XY_iugl{rBI0>!a&^O1nGr z7hm|)xxI6NgOW=K(11A^Av<0dpjA!TLtFKyw_nuZM6_4+VshRGE-BA-VDsO z<~XBBE5V1VIBILuHJ`idmW|;UJQA7=6kp zX*MMZ!IBe~g%q&ui^`5Lk(q@M`kVj=i&=Jni4DdMg{QusOsC9H^9+v0lLk#oLq_P@ z&BLSi+@hP!*Cz`aXAVkrT6%Ve7b7)PiD89km|0cTQn049E(B-d5aV*anr-ING-hfA ztD$i<#M4s?cVj7bK;^hb?7>HZXKW|8`Ue0QmtJz;j)c~65w995ubc2HGjj-|+D~i~ zOo4RaDD+hw=Ibptz~B3+7tYP&|NOuC!+V>=QGhxT0v3W8=b{{jh023?@fL*Bg z0Z}SO1MKWPUWqf+)hITp+1^P?NlXrRB=vEXn{t<&VJz$E9KWaPcL?JxgIdL&DHk3m zF+P5XL@+mL7wv`l@Cfq*W`1<|Fa{hS^)#7;AfB^Z0*O1KV?wL;z>l@ z)G9#)5`h>0jAGR0nldqqFbE=IR*GhKH>hz4PDrjyOhW8PDW!e@h=~&5YP;R!T+{Bv zNFYr)3x#RpgrQ#!o3#zug;~nbu5!JQ7`jPrCKg)LjV=z`wgVA?7$hvh0f6VEiqN#N zodp&r$|-}~$%mAZX*QQ2UE4NIlSz&1Q$60EE?_Fp9XZ?*aGoB_eF54t7xLSr3uFNW z=m1lgv6^f4oJfQ$AKzU+I9%L4+}uCvADpCUQ!bMn{>5+jr}DHO!;o^0i` z!$|H7*zR;^Hl+tQ-%KerDdjL<$w$&gin0i=;T zA~Q1&;#5Xx8=rJo-PFOl+0N?z$;I{_ssFdiJR+ zPhGq+-`!7HbI#Q8&ZKK%!-y=#BqRhtIChh6cW-xbatxqp+9G3<5SWRbn3@;@h`a<} z^AG|vMG0-&#t=dX#1x{$CRm@gn&=AM5@-wy#m9;W#aX$Wgd&9Aq<-SFAW~d}7prB? zLkumP>P0m`Y5H~j!W@b^X&dx<<847PQR)ky=!nVw)=b`vdqfQ%OTh4(i zNm1CL($QA3!rey|WwEt#)S`&onVbXJ-n6-SxW0X~R)eqrlr*bTSFH0bkg&tarTSRA zIkUU6lLGAewI}uzJ5jLP%+Aebi7XV-?M%z-XL49^RRnPz&u}$m5vu0U3=pHT+XZNp z)4qIrLdeR>!|TD$Pvn2}Gq2yccl3Y#*7w%#trVF$JHRY}^=j(cN*jc-d4Pb7NgOt| z@}Jy}KPII3q__BwY2>}^Az)_nHatC>-CAxQ^x7IZiZSb0TR2dydB-bVxIC&$xIWr! zKqPgsvT zH*G7-!PE%IKw}&4ivY=CS)CP`SeSU;O++Gz5YamIZ(RH6;o;HIV%4?n-ZYw9Kcpr^ zYAtA4v9K&j0ax$c0~P<|B3Ur5xPzE!sr*EQiB;9vQ4n%9E3?teL4vxPW(I|>YbRZh zuvxD+{f3#CnF;_1nAuKf4yKcN5HZR*IkQZfz(~Vp*sRl#n1o{>FcFIxn`TC8yVOmc zBP{9WSW^Z#r4*Y;M2G@mcXzY4YdMA>9hH>=-JLC|4nry{{7fekiJUYw!ax1l*N0)b z&KlwFb*v1f8m=@Rgs|@`_>Q4ty5oLK78Hi0aAG4fb?se=XYu&X$+y1y(fvoZ9C9*l zLWm^uX=83#l{p?!R zL5N5~6plq*bnf6_wOp>&%lT}_JQFz+#TW?4YOx6fNvUV9;|oj_W7Opma0vnM7=ycF zgzo`VCcX|h`^bS8#Gx4ZVN|ejpEac+cC+4$h}5!@$J$_w(Zp%nxp>V*RGOorb>y=0 z=POiyDI#)b;xyzuq|i>_rUqkX=4r!^e1KEvCYy(c;lg4voo$W> z)CD#R<7`Ay2H|VpUc+zA|HW3tG>aHPh?vT8bmY1hTl2h9pv)aAAc2gGb)3X>aTt4_@;u1j|I4pjn)3htSKs{K z{POQ3@T6%&ou#jbd8*YvO&H)Rrd&Q6}SEdv@>VHmG%KuyD=>fw|cV6YL0O*lN< ztQMN7u7pU0vOpApEE~>+z|@}T#w>&~K2e1qsP1PKX8L#~Kxb-$A1BH5(>H(oH`@ze z#`D}261hy^5Sef3oqAB?Wh{$Gh*fj90;P`S~+MqEE^oei4Y zatVif^PS10J3cufQ;xjY4C{4bV0S(>wd~5^oKl~LrilV(5o6A(?q0~m><-Vtg$W|; z=H^DmL?Yw{E87Y|9FnsUS>cDw+%%D>uuR&C#Mp%ZV941~)m+KU*jf@J66UMZZo<;{ z39;dJ=8{udrQ>zVMiMB-;%CU@tb;Muv9)e)Awsin7HR-dh^=W3F_47XcoDUe2@!?Z zx~qBioE4sPO6KY&B5l{jR{Gq}nw{65fAy=M`@&O~p16MFy>H*WzCvMM2ml+vZtg-b zLgyCY#4YJVvJ>}Up4ik)J)5f`fgm)c8`mEGt3SGVxU!wLnRLwrY6de-1~*br8g!St z7%|X2iPpgMK z-}lM6;r6?`yUoSVfA#vC-#@y(ePm;zuUVA!Yu(*tZ)mUKFqx#j7! z%PAwPyA9c6*IG{VX(ud^CC2Dr35@~k&02yqO(ZYY#6sjv6U||&L^7StFJ8EEyg1zS z>)Ct;x0F&D(kx2=mPU@5g$3>+QHnp6Iou?OtL7myhi%wB(^`}t&kRvIqb$Dy1%w!8 zv`IrVorqEPa^_6O{*3`R+qOU529y$2QEWSl5R8nx40WA}k_68_uI0eYK^VM^f$m?#r_)5+rG1fyP=h0>tb7)u!v2DTmNcK?XVLN;yNY*s@zaS?GCq^?}a zBpG?w^l>r);OZ7w)h8W?KrnVDR~zo%pFi`=h9e=DV`c&oj~4PoM6j_{-?nfBayC`U zJqy>tDHZ_|@@BD`9_+fCSzWJTyLKi6S_*H8Ttwr<+m)QcHrb=%@*}HJRuUogN{rXJ ztxB9!|GaJVC$PJXAb3HBfYQFB&cX&DI~?Q=6EInR@8LU@#{*3wpy3Za(ZU>^xef+sjoqopl_G7<`+>wkM(%s$9lK zAp$c6bIiQ~rpywGco4PHskU$1yMCPEVS)fkkS@wf@t^+cA19EK#42QCzziX!B<}yi zzy7)B4krKMH~;kQ`^%k)RLc$+DAYo^Zos#@j5FoJNS=K%KCyj$VtK*L>qI}edk8|u z!3^Mn6WXX-96vsO+6eAK)%>KON&u`({-5qexywFYJDeWQcq?qr`{}=&dB1FT--*lM z3zHAj_F-R!!`Z>P2ggTQH{`xEll}djC!d(zxjVUiYt{D&!McX`JKSISIwNpH90Rcs zM+pQkD_m-y%&dtl5}k25EAV*2Nf5l5F6HP4yyxSj%>;xb}$jMpsr?NOjK7% zGy`*t!3wWYCc;61Wzu!AY1D0#hBTy<5{N)te0C>9$#d^M;Yi9E2-D7hPzDWAXql0KDK!>&n)hl`lYE71(H}u$A0e5bp3q!q^6meXLh&}a?&uR&{&_OY1>(78tMC7e3Y2kb8aPA84iR2%q3Gc zQAC1BlqQ?TCb*XRh21g>F*D3BUAn;HM@NSt$Yj#R7@M|L)gV&VJ`P1Z8A1Wu3a5WB=4KdXYQmys>Mfmu9bGLgH|c(x}mg!!#3TfI&=U)q@yT>s2$Kgb>_( zTv;4mR)now4k}!_UA_e%;^10V74-`5mv*z3#RXWa%{R6XdoAxUDi~_*L0q?81(-BG z9Tk`;=yX}c0)UIi+YeXoJUnLMF0vb`<_GJ|&T{2IWMTv@3xO5NRo$2yx45BpR=iSqqpsk6m&w*1{=zwqi~ zaVq5br2Tgk#)N_bYFNuox4ZX*CGO%s{pLIKDV}=z;M}>!bUklr=Y`$lqvc}Zla>X# z=qba4GZ#})H#3VdOuO#rx>>QAbVJj2ZH!IZxmy~BKBXZiaS})}RnmFep6_Nm%!k8z)%SbT zNtktJS<|}sMY0IT;3x`aCvz6+C-WTJ!~#v|dpJAKtLJxv(2#Rk3eLYy5)+u*N~2o_luDW_#kZ3s zv)pq?A-2S1j-tV3t|!*&WLd@9QyM}uhtEK}M@RP_E{>bYMFSZ@otfF(2XzWf%o`ZT zc6R(|DIx4lBNG=hwHVvH8M5X{8zz&uTx-*GqytIu1>!bJDS%5O(KfBH48x$B+b&+b zaN+LVdyA9BWI8Ro)HW@e2qSk7A%xg4(J&+;3NZ$W)!Z!QNjEvz+r4w|QH*hvI*gN5 zl}9d%Efj%YnU1Q8e1a2ka_@6r3YYb!U-zpx-2;(;Kt6gRjbcnxCAB-s_Y~&9D)L$K z5P)$2u|_C%f=FnaSV7S(-wy^U8I8tN7<)ShkgaGfX*qbPLyQg}Wo@GXhL1(pEpAIN zGXe+U)Tilenvw!!Y)~)tQ$MJsEHUIwGH*aZc$iN3@MMUAmBiKi`wyniJTovCLA*lc zY`Fle-YcmYv*<%CxgPAPQv?Glv*KKx~Zo z`_~`-)`xfYV|?Y(&h5kgQC3ALH=A)@r}T5rUw!f1-mkpz;YaJC6#?-k4^4~=GBS{u zYRVcTs=MZPdbHd!G_Hk6oKub*zVXU4{d)ba_ir!rz#-K7xZKqK@fpaicUGMwVFu?| zy+xG4Mq1ZJf=>c6@DG3ct;l?w)83>7Uz3@;;?uvndinCa9SWo9rYL5+=)<`<#qs zDR0QNFwF&b3=~Z>2u_(v5V&9kQK7EHocnB|6h$P8nC5IF?WOLTb1{(&EN-@qO~hYxq_eg?-%NI68wf+r=fdRT`~d8$bdr~=AsKPxP?q_I zz{pjZbUGW_sZy|EjbQ~N4pAhOc8HkCJm&#GJDtQyr>oU`I*k(YuuPhUq{$2h7MV=q z?(QxNO}g$2uYLXX&wTE}!36`7S?}6#XdwVjmW%oBjxo&9U}P;_%No{I-N49`8W|D_j}KfJY`Pa1YpNb$U=K9deB;1IR0Yeq0(B_=bddKqJ2 zfDx>8@qvV!X8MEc$DjG|=rdoqV!mOTCGEK^r)`SOIW-uQ5GZf`Rr^OOc9 zId}5#tzY@Ye-zGriszT}uyl7dH8i<>=bDP9=(;L)?$)ucJIES+2Srem~Ng!q}h{A;n=K-3u?fr)*_wU``+uJ)h ze=wi!5opNk5-mcICN?pIf>0APbC^x1T{ls?Pg`dIR1UP%2UR|UGtKR3j5bD4ct7N6 zr)|?59zR;H*YTi^tpP~&Tm7s8i>t{Gij&4EcRj)bC9is2U81TtiN#7h90yD5+bZR{ z#jv^Bc>!){+SoOGym4WYa*T{2rT;Hyf7)$Hc3cO7+sw{!_dC2P=E%r7nMfpn1PKBJ zIFphnm0C@8tEASd)m7E~p@)zCdwQ+@)`OO6EtN{8xmBXXK_bCHAV>f?Am=IOh&SHJ z{Twsv59j!OFESI9*v??$P1mnqAC8%A+k2Zg=VPVowZ|64Md<{pp;$uE*xV3ivr?zB zs^%fZreU(IrcL9XrVWKiTELlZvOYX+u3c-Vv(0j$Ww2pwIhR$I#`@T6X;Iy%t6tn( z1?FysVj4#f9yWcRsk4w-Ab><^&Sq&k)`Mnflm_DlL@a%1BDJB&74}U&Itt zz>1PW7V#Vkpj8MQqo+~Dm8@hizQr>tz7b3^!^j%vT$rB3SY_*bYnW1IWdk@;pN)(~ zJPLHJy2@%&Y>%A9TZv;Eg~)U_%I-WqUZ)Mz9Skv6S2Ko`i&=FQMBrBZ2Or)$T5i^` z3LenN3wCoZzRFa3PJ0bMySsaDwZ6CLL-7c*^GuUVOm%TGsw^8}_cP6!tP8Q;n*|Aj zSKPk3OXVy^>X37O zba?1$A%-C1-peq17L=L0p36K*2st?$n;979(0&NPBuEI++*C8ni+&pBYT4LGgh`6i zG!dMcAaOEfraTOroN`X(epJ9*=S@6lyS=7~&b{V=g}Y$Dpo_Fv+h$N{0*5+2*AltA zgudNP-NcwIZ9Fa9S)}Er*tR&s%*|3VqBb_Mn}U#2A^?o_u*`$@W^RxeCbMSNVrM>G zCGSG_fBosZ==%TtEWr zW&h66M^9filHhqDQ&Mv`a#ACLdQX#y{PkaWcJ{qH-~I7%H|rvMVH+9T4F)nJBR1nM zzytdAl0xG_SSFMQIGH+}l!H)q!sD~F+sS|Z*I&4KW15zOaD=MC%`!j+h8cYQGvE38 zwX0YE=ubYD(mQTixc~ld{ZDI+voK4V$P_9Db#oX}cI#I$G&&5_O%|74qL1Hd@888M zUpF6E2Vx2&gBc}EciOI-v~FO{MlGWeCYAs*N6#t}e3P7u16rve@s^?!?6p zkBJMYCr-}mY`dD<*wooE4gv|B9GPmb2XG^Zj}WJWi1PW$SInHDgp%#mw{>+BVl5N1 z0!Of!QYZ$WWbjfwYbkWy70j+iAOk6&-0XJo!HF_eQ%h##Wcq^#qlr;-~fyh;TF zQ%=Sl)HbRb0_9vvcX1n-p-#(9e`!7i3pBfR2|Szdw2|e;H~>tf)<1YSef}9*Ihz-X zQ^j<=mXD~VKFA4yv?M1EahMtfb>d>d3c^aB z)GyDQUwQH7_ddD%gNMg41{Aj_H_gmauAByNCX>Jk_Ag$4KNt4N$dTDbaR5xAeBKNe zmZ$gT$HO|q;{}O0pY4yFf0!p;@kJTN_&WlC05dB-@I*R7T`XSB;R%)<>eL8O z`I=5F7)8Hc9S30qB}}jylD_rvhi|_AqhYf-IJlf)L^PQPC{E7$qmxzFkTg?MoUVPR zqi3%*S9&}?OGnE=Ax#_7(8Ju^RV>CJL;#ta7p7E2^Q=rTBoSwVXE&!}IHI041!0K9 z(3+XrXcAQtwjmjz=+n%d%teq>Z>B?^N?S3x!F|@!M9Y?Em8`^^wo1Fjboj2Zi@9lR#eSc><{nc;& z%G1}MULuus!YT`y0d+XLwN1O8J-_bXpU!3~9E_C|0=K~07aI6#k)_8keDj$Y`9HjV zbdoGKp>2gwqBa59ja^c(v{B8Q4NruIfud2<01{M_Wi?y&zV25qU7h{ypSwCcXxB^Y zCc(|YL5PXPq3jA0x8-#AMiU<2{ovDAzWNPjp3P=I{QZCS-pBWz|Hdz@?%cV5vhH?w zRR?!cx8mKDGMLj~j}X)1}c63C1krk*3sQoroYiU+K_B}Uw& zusB-Ik_^}sSL9wCr1F8tD6oU2(c;lA>?cfQj+B?V@WhO;v7zm{)aSJ_=R_k+Ua8{hv5BkIqU~Bjaic+*`Q5fH++%3m-7I^p z0Gx|YI2B<~^~xinE0?ccxqS7bk3YP7?~~o#-OHCRot>UMT0Gd@J(x^pEaaxD%0ZwO zo4|x3yV#N&%CU1LeO#Jq)whG(nhXbe<+E1Uho|GXAKRK>&Cp zWS#>V4t~P6xfEeyqj4S)P1~js?sFbjJRjrl#YJ&kn3)`wvQ8%4wU!l9hhPDOWEP_o zOqoWXp=!1>HbLAy#z^Q>&N0N46N8;}O9L2&!Lo)B@{r7&LKJAz&|-yx<4fE2hlkD8 z%gtnWvp6R3Xz_P`)HKdrRE!fQtI?0cVOc2z9^q*sVUf*x(@rN_l)e%W##2$?C}u8v z-op0}BYNgzIH-30C}Ik*Tangm@63$yJQQi;*wW!DA1H&@t4Q+#Gw*y7`Pc@Bg9~3- zNeD{9%aosIMnPy|c&d){O3$MM%J2%qcx|oHImfK$ zKhp%c;8*j-fBD(ReKZF7Nt+u-U=pxa&meJfutGt?RkcM24LNYqt8CrLM@$bDSFAWn z6X@Xz_x|wrKYe^W+dX*kr(ZihJnm0UgD{L7+I9>jSB=p(n0$H?rpvtF>F$)CzuN4! z`p#owrnU=(b%1QDIfhsU`+!jVAj<$4hUhrjN+dYJklL&8KHiL!fCvnZQ5 z&25`mDD{>%Fh*!3v_xfEm78YsEW}OI#LzhtIkaE9=YANLoAnD%U0?O#bd~pJlleTh zoZG$Ub^6pttC{uJ5BBdL%p_4z!5e*0@LeEI6- zYY%}>bkUGA#6g8dS{@7|s4MT>SS$~xdLrCqMks0%m{DX>V-9VzUM$_|XI{N={mS(2 z;pV-2XAe)((b5c`YgwpfRb4x)_&tdpCu+EnC!%Kc@|!J;ouj(c9r3W zkJfD$$HztC9wWhE#3NqXe|Y;W6RQr>>FoC1J9poGXY$flUU>P-U;5U!|G_{0M<-{i zCQ2ETkdWPTKj^i+-RHmh(;vL~qwdbzd(C9C>i+n9-+TJjtru?HjM1n+2BR#U>fE|O zle#OQxoFneDX`kL!_(t#c{ZPKh#GTtCSr51_E4f6g5^YNWKABDNDfVF1~Dc!%LZ1c zUE1G$=ibTN{c?8srsl%C3n0t2CSkA;Jeh#qS=Q^^iVI^L(dE|{}GH^ALCtxd$BQDH6-r~;XSeV?QX0g(Dr4S2Ar0@IG53y~E zss5OLjYyYyAx^?|{JDpV`a7=>$k-+K!n$YYf=5u@Db)+(qw_V9gOrHjp+0k_?BN5Ou1L!cF_i-$L9EFn~oQIJ>xK0vWTQZ})Q>m4o#wPuYnj%&1`^h?^5!Q_d;I7-AP=L~+Va zd9a*K*F(~j2GtvvcJDnt(X3YwX5DnM+WFFY^3451yRzq9ynk}=WROZcW#x)42u; zMljikf|!gLs$DCd+RbLO-r(~7&a*cTzVYJK2WQK>kNS`9oqX`9U#-#3ET0|q>x|G4 zr51X!;>{-QPU-TTZ#}br_7fjzZb6DaM#jUGNXP-4tx3KFYR2p z`q7WyTHO0&vO3NukKVZV$%6+kJoDUh)Ch*cGmguv)^HgIyMMl;Qx8&Tg2XZB2V?xSZ+iHw%Y^F8&aDao^ zcxyt*WP>ILV-&O;%$yB~1?z=7%3Y5bnkJa#5S!ZnAegBLtC7RorX}Ku8Sba6#mJBxSq`XRxO?eXphN<%nF&?E`@H@sC`Dl)6fQn_owpNg ztaPyr!(P`+tEKMPadEi2QVm`F*6&CpDhC78KF+-TBrh_EV{)6jLBM~BVj%guDBUoD6O#xk!CdD=Fq zYtzU_Ai17-G9~76P7Th&S#!Tyx06=YxbO@~96lCz&dkhYR>oz4n8Ifx2P%vXts%+D zDoKS45=TT%RXj2JJygKQw%kiNgLG8XJP{X(;BG|)mfUxvJU5@-U!`Q;GWu-4_1;~$ zbxn)}IIoe5uL;2mGysyKaxpH0k%^qoD|Zytni1R~Owj`U@$Cm6A205$)1(Om7TDF< z6u?`DHFFzp;d7~L*_4a{CNXysYSo=p@#G&paSku47DvS8g5T5^yrTM5Z(BYUcqkf| zq`=6kA8m<?@}?zp}e|^Y8z>|M=tdZ{l)s z?8l4D-t+oMo85MQmk{6z%aJk>EmBw~1Q>C0GcyHZNNNCN?Zg1YCFL^y}Bcy)I=@8UWufa`nB1Fk^~&#k z_xFDI`Va0te)#-z&-~_Z{H>pQ>6QKIJOlTJL5b#qz&w~2lxyr9b45dq2xO|#?Je?) zbG+l+kuh^HQkKR*OoN%WGf|DJRey52UYwEyIhf6EU7r2)3ww`_mex)G{^cV^A#bJ9#HFJHKJ zaJqT*(d~OpYs&HJ`sD1*AO7I+gX=%{^(MsZ7D$Y|XA2OC+ElkCAt=b9&Y(dgLaxql zPP*yI*~3-8hI7+R+&n#gtbIagIY?S;&<|nSacryy^V(zUF+i17j0`9>se#wJNX-E5+KI(NEFv>gtz;@Vh$Kj8nzlUGF*dYavI!wD zQSAGTyBEuL%Xx3-3L_jIJ%~+v_3HK0lcTe<;}DtW-J(M)S|*!V-k^ETRb2jJPFi~>J%TZ zEkIjUfN`0fge}Ze2Yr`sich!_QFUTPvBuXeiPg>%h%(xPR;%=_>j!`Br=I?wfB4~B zhsO;BU1{Tsa6|K+!Lpgi(}I#&S?)q?iayg}0pE&u;8n)BzX&`xCc990F`i zJ8YDM6pX0c%T~u^)P9t~oQN5v@l?8TpV{yBh_*i(kK+lo#TRB3+m6)sZ!TsPpMS|= zpBY>s8FM13NvCTNzPs4mJ#!M0bB+gT9uKFJU;f7Ki`O6g z+y8j-Q_t_uC*khh#fJ}eR`F|c_(?jxPt7z;cS94+6si#kAVm~mAXBj}wj?4TlGut- zR`s0I(3=D)ighZKPgL(LVmF5=u?dL+jnyOy06 zsTcAH>NQIfh`sNZX}uXzX67JK$p95|_BBFWwL2J6&oqqzc}T;WIZAA0OzSNtv+T^1 z>8y#3nQO|1!Aw(1!!Qi$>e{vK&ZL{Rxt;8pHmg3z7+!kn>LE3EZhws7!876Zmv6pu z^VW;Ui?e_JFaD={5AMJE<(Gf?mwxg2=U>^IbZ5?=EH(-Uc@O}sKvTaC(h$@sXOyvX zATQ>u)j=%-P8Qkwc=Z^YefkK}xiKOc6PT^2JV4Vq`s``75)o4@R(f`-Ah~{J|MBVB z#~@m`%gm%|#1fkz6mwR< z%J}%UZL?+TQ`S76&--D$*{s^GJ3T#_OlQ;S#Ih1xRfS|WpVcLEv?;EQi4l6h*e~C% zK_$vCOX)wARdL9PGzXEwnHWWyrFk=skl(iUM_8Nyt}1_cMa;m2k#!|w9zX<4W0*G0 znQz8*lP;tV+k-Dlu{bGUijd5wjZE8cw$u>DWtu2u>l)i?6;VzA(>cH13n)ZPJft+A zPS?HH39ICAV&)-bs7jPRXS3iOB3s+=a#fHSCUWlD&EuoVm22&6XR}y9WCWmVW4N4Y zx=5!hYdaAGY8J%>r0zvBNX$76{d%+8O|t12q%TGRDzg;FmV*b3;f*RY@?vDT5HyOB z2LV>>5Xf07v0gx=;~lY8A{2%Wxo>l#EgQ7_BpWD7?A`C3E|Mi8fJ3&;RN|{wcONb` zk2igxe=t=L$=JmLgWWT;49RlV&`<~h9m{Sa8_6_MD6`CMjFURY9ZqnjqahPigq@_g z8$1~h>mIb+{O<76^t7AGE34>Hv>WF7h; zse;h9?WB#noy47;K0Gyj_GeoE(EA@Tqn);o?i{VtO*g#s{4=k9{hR;8|M-vYKD_;v zmtOvjU;Qi3zVxMO;72{)dAxSZMc>`F!HkyXCZ1seH!v3#D36uYc6hA8kRSNdYm)2X z4rR9xis=i*&U^zX5%2D~MDygTnH`BiWW$hu>koeX!K41h<%8_m2@Khv^Y47`{{H;U zZ-47cdA%VH%$d|fn0AvUMsqjjAR$7cIk@eX$45D%X~L?{|LmXs$?LB_zH)u$?$hbP zyYGJgoL_};(?9xzjat}m9H9yWM1G|k}L1AxxectXJOFzWE-P;>Z&wOyE z;KUxm5F4~lXU!yX*JgFaT0)ROZcSEVQY#NWQ5pP51ocAFsz`XR*bM#tY+~zG3_Pe2 zVj&1Jv#I5rLTG~oWeZY_6{%@jgBQwqjE!n8dNgK8kRYsCi73X#Oqoel)zqOewoQyp zj6`6_&dy%jb;HSV(>7&kXk#;JI|7Qg#K_Vwi`#{Tt|$W`)!~?YY}Jdgm5`Inr84gz zE613xX2JDBcn1!rG%xDsS=6|$H1V>#w8z!R4XE(NiDQ8PW*LDt^@}^(rb)SdqEJ32em5t4UdX6zo zW*XWI2z$s17;#|nL@X@sfaYYG1I^lLY}#zDS|C_wvD^HyR+zfmoIDg z)V<~IVL!Qb`ReZQktrK;KdeG?`7)h$&BNzj_?36wedqM(=)e1~|C?7{`3iyWF7oZg zqA!AEQg;^S^`?()!wQwMj*@%D@L&av+&1CZ+(90oM|7?C*$uhfhBbWRwsL1epaHHH zLU*teQ_e$HD1s%ZfLQ`h+fWC_Fc(y_Z6Y{!pk-{@sLYYP69KUW2SQ{PBO!nSI~fN8 zQ)t4S`-{9fxqNL`Ex9Q-eD?SePY$e^lRw_97KDw%2)!BrbyF+q4>R+@KvJnw5JL8} zTBk1J%U^zZ|JKb%cILVv5+hUR>@d>WOeAr4Q$%882H2n_Kr7X8d~KM|h$wQ{6-#~A z9u!zub8#4CcOQC-4F#~PsJe&VV-}8@+{-{;5D-n26vc(6LhMfFwlklY+45{TowgZS zdzB!Cd!SiOwV6!JR3tQABtjb_AlWQ55yhdOArRpZ+W^3U5QIpGD5XAUlnS+rtw>Zw z*UgAUEsM}}GCMgv$tjmHib2T7kdGQ%#wb4$6EKqKQ3(8F-?=PyrQ=?D>CWX}&g4})73YG)#TEHrmXi3Ikmd3UmjN+;bJ1^HixAeJNNi<1( z(t^jKN+l~%HC1l{R0&iRo!d`V-6M#ZoSHWFeNxL3#8Ua4mkJ-u{V+7d449ci+%ahj zI~zn!=Hz5uw>o+pu3n0>>1MfNs!7fTZ5?48qI@BND>WWxOTmPhRf}_sNI>rU)c5Ul zswt6BDP_w!W@eE<+kFv*Co>kRDZ=MU<#Lq?B_@EkRrPgSR|Smv6$Qa<(dc~h?Go^3m3xxDoz(lVbk|7U%&aCXRbe3t&WZs z!a~j!D=Saecu@&stVAGD(sGSR+>OY}WgopMQEy+WF`LK;;*`Pc$n0G8DnzhiEy+$s z#ih396?6fb_&n-xF_Um8c`eXKL6bqvghL3>5uGDAIXSU0$RxcpaNo{)pE*R&ZsY$4pZp7;xWtiyaAqtE%jS+aM2U%~pibr9qN5M96y^x^RO3)ob ztS|<-C6y};@A2>`p`A7p+bpJE<<_^_L{ zlXjwRl2wtR?93!Zg;wYgT38N28WLzu*;NOP5)dRZ6LSJ!$^da_VwZDDDdn8C&If_1 z&f50Uq}vTm1MYJkAkx4|SHoJ@eICpR6e7sfJa{HW5?M_rxt%H4`?aREag6Q6%ah~+ zxTloG8VOA|lP;3`dPszva~@LahmSrje%CC%YTfAt#eA$gInzAR%WR zG*55D$fiA*B{V1#0a@J!ABG|>FUz2tS%z|H!6HEzAhMLq4Ogervy|6)h;S;(h%!hu zSSw+H0mPsr9N1~F%m|ixSQ74BGs82Kgu6x*?Iw1iEBt%r5G%jk&0P(sj5KCdu$qN| zBfD`P$Q{HgTKbNr07#tF1x7esW*s&{n6&NMW$4d@0vI4O*Cuvt)Ap&CAVRUI7Kso= z0Pp)AKnNkWZLx|fW8TVBX{HW@rfEV0*9sg9fgnu6UeP~6q@ z0;XI29ZDj>Y;K=j8|zYHgkaUR+6KtU;&fB$r()agUPfJ%kiZV7($_(#k>5(4Yk+w< zL%c;h4Qwz16fOuN63A)v^Db7%4iuoRER1D2bfN-pt3yqC_t}Ie5u1b{1u1rb`)o}U zKuS(d00?O{h!te~FVGz&MG^(cN8HfRG@J%8qwOMJN zXU&fu#HXL5#X_Ac1B0{(gv(8{g^su0MAbV3mTlmXJ6WWZ#Ab$K}}nR zYj6{r0z_fVzlewmJ;mKA2rz4#*Y6(PKVF{p9zxu*PGDqQEx_XFv@)9l2I6#Q067WNX41_ypi`8a~&?8WCpn_i9;R4>mfaVdFR`= zF8}GLkKa8yo5Yr^@J+lJI|_R;+*>SRpulFvAgdIVzsyGF5Wo$&N^~I&5`KLacGt~jnckUra*!CheF-1oUp!;pwcgo#jUpYbf=-!dL3eO zxE_vAdxDn1~*NN3SlA&6dhW0 z`$Z5-dsDPKx;Xv8_uojzhnL$nYZfh^gVZw<7(q%8NRz=C2^GpC2@_Dvc?}|Wgdnpv zp6WU~V5xNG&2r(DgRD=zS!vKYlRG#&5&59zU|p<$N&*qa-3C zV&GC)7yCXl2Le$s)h}y4Cs)aC<{^6QBn@@Qf-`}crIe8324-F?&*p72n@#QEX>2D= zyK!}PiZQM?o6WE}XquD@(&bI!&(2^$u>daB2 zYFZ4yE481_*6YD75Z5Y%$VQU^zOcynw%<$`-vrxcd?kUDKv{n4ARrJoFYyrefW2_U0jo-%ij`0ZVdztw26G276_yb} zC?w6UDio8NLmUz#x;CsfIRqwUEfkI*>%+rv=}MSR`}IN#Hc*DJ6&PYP_uH<-R0$!d zTvAi!M(f;i4k4^Jo9U+KCYG?vbRJ1X0*&LJh$xJO;PzgBa!o&f%gSaYA6bUvmD5?6 z6a~g(b5vtwRO73y0@+5CsSq;C0#wC&Tb#7Y3yA8@K~7cjP#Qx*bYVP^`1DOV4g(kS@J zrVKwJkCDO~Bd{|;43=_w_R91iv_E)sl!z;Q$*gV_|NG2s_(g9vey|H)|Cepzm68oM z17|a)K_q9*3PQ?YqR28pT?B4iQ8n)u!%5za`RBg&^p8F~`{BEHW;?UhXnOlK!rRaUk>M*Ae8`UhXT?oW6X$HW=Aj@v99!Lz<1-aBs_uI(MIk^eA2|&uj zCik1XDJBpBASDgvh$0L{vUq#kN^19S6|KW!8DmCOXLDWrkt_{qb^RIX+D|kMt+D?Fx=v| zS8iq_FnP)P14vOkD3dw`k_gOZ@<$Jc4{yJ9X|H|m()3HuU3ux*Yhibf;TSeNm~RG( z4s*<8-nC9ZJLP_D;$$U@cW)ZBF~nSWZVo^u)Db2vg~mKB9-h7VCm+B5!%u$n!J}V( z?bq$pEbtpJR69<-leY)w_B0|I>#3JG@BIX%@ zh!9cJL;yK!2%+mH#1xx`Qc@BEzxTmgj~_mmOy@hh`?sEYrt7-RriX)xhhdmbXGC)K z>Xod+YPmWI$6ed*?e2G7=M@n+FF8h`2W|D1H2%f86Pm-_S=g#~;`wAA#i$kmFuE_D z$Nkbfg^?pr?TnW0EK$8KPCnWTmi5$&mBkpbE>_Z8#B}?^S``tfH|ovjGoDYvqm!O$ zl0krJHqBOO!WEHl2I)l@fQZyI#;{qgEE`N&f)TkH5rdJlDx}UYJdM@-+9v6L< z(xb0?4SwMSJwbYKFPL@xZp&%d{$C;cQFW-SRkVA>uesP+mn5S+6lDh`>E?0fLdAu) zH%|#^V~RPFRT!uq*=4k}tAou*B9jQSn=y;owrxK)@-J4(McGiUVU^RAoQg&~tRNic z=b;K;U_@k!R^;mL&fzBMKr8^9j98%o0p;<(a9L^#3ZJ1>UfkTB>pK>+TAMb_$ES<` z_n-f$&pwF_IVBrl6j_L&1%5E&GRn*xB3qE)^ZPHy@r6Hj_c9%p0fT}GjOF0)4T^;+ zU{vh#%DpIGu#?)v*=`qdb{avl^Z$PK%Zrir}@!g}N=hu&^jmyo_@}P^8o8Ne~W%=;W-&ro#lUdir1`IQG%Vl;P5sL(Oftjf` zvFY0AfR+(FnUu{{nK_DVG|!sm*`2-MG-NX&o{B-!`qVaqCN*LYWvGfVOw4nPLo>Bz znqaJJY_dUE8io|bSVkfdcnMcj$m-^5I;f{1<;`X=1qYc=rT_xzQ%_xg;iq2v>97CH zQ%~Qz|9H_qK78}-cb;mGfAiN~`}EPl|MGjk_p`5c-}%{{k3Tx=)ta`sw0G%~Pe18b zi$D7A9}FaW`v<~2ZR4GMnpELN%tOw7QWh9V4rrLy>(%ey{qf|+Gy9XBWCO^m7p!kB zcgAFv2wL=BfyoV?6+6>OoKdg&k3Ks3v$r4Ixb(rx&s=)`>AkBv^QJ*On1dbEz#|7} zP7p&Ak$NMzshLe@6YN|eKSb9cM3{O%EKk>uKRrHOtv;2_VqsKBsgI!QITzfgRGNz@2D7VE|BzgE}`H{`6$ zM8TnEmWcv$05-&|itOS*5EhPR)=s<4x-X|d7%@h;x@*(TVhE<1O`{0Gts?fUW+4bO zNnlmYIR}Z0v*i!p`~Grq{K}WUx_@x>!NYrt<;l*@v&SdL4&SUdP20pKrnFMcH*efJ zJ3T%*Id<4|GHXHuQevUvN4PC1O67=ZCiR&Gy7X@=h){ao?sfVakD(hCc(AdM-^P(G z(qrQaw9PbVT&=iD*eZ>OrHuC~CIe*%0I1BWsCD%d%a(f)!|;&YjAku0k)`QrbgaxHXj;$A!JP1xadd?d)7UV#_5Q!|b-!rz&sQ zs(alb46`!vgMnB?2R8Id)KKdT+d4J)Xq2_3=Tgli2ry@_^jl|?PL-Dt4&}b79Eo}o z$jHgeh=O2|^apnz_1S|kIg;w-X?vxMAD=BZR_59JIP>LVkSwIgF%Nq(jVKcznBZ3J zGLqUVQy>RtXMVzg*b{$qUMO5V559%9`m9gQo4@hmGatOa{@{2y349`iK6^76O+Bd4 zFfj64gjK<$)HV`g6mHG5Fd%9Y&2W+s zg9D4r+EP|Cp`dOPW;0#8X46hOG1@?-3*?&Ci($RiRQksZz+r3vS&prCbBmpt=3(iY z3=+ab3UtZtPHE^#(6#ey9zxrMc1SDJ+~=H!e(2piNoaQVr!?5Yw5N6Z)?|$zO z`?K})UwY;L^!NVv|Ki{L%jNQHv(9Sj4sue8g`8i-SE-O`oaxv4!|Za(^xk0<}hccx8j;?;w$33l`9rAr69 zn*l!}i+vI^2jN_20u|>2A{fD32zOv>=u~maBDbU@^cN?rMY1sFZRzs4eIp~G#{y;V?wgs7it9eb0RAW zQo!P{G8F}8)CKw4&7GC`j~^|VL`uVvFC?hj+o$}G*ArQ$Hjg_WK}4%QsfFu1PRc4X zCrkb!eb%)hI0?Cfd-E%k=C$hwhwEXr83OBg&wt@r{9@Op@<^3_a$%7Oa~T_xv$cf3 z`>mIzllK4fA78(lhDoT_R;BVT8NCs!kR z)QrA(A5VO)3mgB1-`35?*NzxPnO+VdOOD0jdG4#yuiacr z53%y1*d*<5y^!7F2ttagl%aywaq0{Bb zx4->MAAb1BWIFGfcDXzaq1_~R_2Lr(2NR`|mBTIPX*YR#fA5n=N=@*>tt!oCcL6bE z%S3i64xLIY*{qPppjpWjM9iiNx7dXJOM8}eku|OSgGWcCmeRfbNq3`L?sV*)0AW`Z zVh+er*9NSrF zV@^s?_sk?9hGhadGnG`rnJs6t>2!8`v1vd0^yOQ(mXy?0bE$}|jx=xsz%1Ew2|O9t z6fA-$N>~r67OIuIHF90EjO>grCA(VN*p^Cmj`?Zby%h_l@t7^zu5 z41jmtBudvdJ2B2e8=(qVA*rT1BL!)RSpgHuZ zV{#BlL6Zu6ThZbXB^bwBZ1K+uIS{ zkgZSHo5;N5qmy%fA~RIY{QRSg0q*>7MpPR_tm?;jf>6eVV9o}QbHPPeCsA%MHzyxISgQqMC6{e-cQHr!3mKFKuoOd3 zD^H$*NXkqL82LMQPh-P_=fG0-TxP45z+Z?zqxtw3Y(I&8!KLex^KKiyee=e>#rlKe zwXiT*Ne^jj*GXXTwg>o`?TfOL^1RVcQjLCo9{>@=JrOvDxE$<1eEcAX=F7g(3}_D5 zU&a0{JG~EP^6V&>nuwXQ?_m?j)<#3lL87kLu30D?p7xI)EoRfn&3*syle=v*5ovPP zoQLxG#Sqk#+>@&?Q;=EY9T8WJB!L4NZq9cnvo7bn=@)su$tg1li5P=SgSir0+YIeA z#n#g&1a#;v>Lr$?^c^C=!~f#LjY79e}ji44cg`3_A^#AeAY5U~XascQxaigh2v$spva1PLUJZnraYvuWGJ8T4WQ zFgZ0%>nMMo*2=%Q*Y54?{)@ZEZ#z#9e23V$c!IFG!$l>-gQ;Yf!FACuvLbpQgf#Ri zA5FTc#3_u;)Xd3^N#P2DIaLk^+^8f&{DV*LEQj@LFFY?n3N~Ak0cJ5x0J(WCtStAy z9HgMI#1f6Olo?Lv7BEy8g4-BDL{yx1%Iqm-V?fIAUKGs2EF*Pa|HjvU{&M%bzxUhs zA3kE@*wBp|*V<+_4BR$TCQ7FS#Lj>*i41924k-v*U>BHa6Wb6rrho`JNVq8O zM2ht_W|L{(_d<i)XMNwm{}-R6-25@RXH@og$3!Qw@@kfr77(-TPQ#eF;|L7aVai;$Kt>+^qZV& zT{sq1mz>W2!b_$2T|q{W4t<>D$|!iA3C6k~&mp^Qe=RIKsG zKW8|c$JC>+A8XE6_Exd}^ZSCvduux#-n|YWb0)YrMfMHhyPrO=lo2SBYXJ_~y@1-4 z272CV8D;7ysCT(b$t{4pCTz@dPN4JKx@^X!^+@F_gRvKVor=)1&nKH4#aWpBvmpI= z+P3-Y7ijJ6AaDZ$Y6)yv*qvM32(m#^PJp9ryp0o>S=s2or~5 zvsO*c+=MwvAb?ymfV2ioVrasIVsv;OmMNt)Y^Kvr6=}##Y-f`=>3llb_5G)hpp@W%U}uFg*P_xCRygyrMgumAAv*MIPRwf<*+_B-GH&ac1s$%lXN-QRofM}PXk zdvCw<;X5xq^L#sr6$K>kmwmD{>sl(~dPf@yFV3g`$6NZn#pXXArn`&f!K@J~)@{zr84L_SP)AB|Xoe?O0RSQ6^>P`y zzGibS?u-PO^MvyDspEE3e4Rkym{~LYMp=at6$pLnUy?2RUyO}GkeuCi7$H= zaw3Uff(ax_2$a$&Jocje+pd5kgj~Rhktakz0nLkcja)Ez&e?zEt3UtZPrdZpzw=v% zr)R(V?O(WbaPY>P?|%I0qfJ^D6FhQaat(FPZe;3nPVQ~n1VYl4(*&Ma!er7e&NgbM zsv?1jf=CRp>)P3Ls-`T=%vm!r<(xy1CIk|`bLZ~y;nC$QS8qIZ%iL4}@|#cH*xlQ^ zynktTXTQ(A!-GV1%bH{9Mu0;IB&4b_1ZJj61Mw~Ylkx*HRTAxm|SudNMo zk;2xi^`yHCk->n9F^p^m^D2GDc80H(WS6QsJyi`tX(Tg^09#p^oW_@xg^x;Ks7A+g zLOmQ3h(lJ->Rsd}a^EXounNp(F>Ea!N`M?`g_Si*?jGB?Sgb<~O&f=GKi(V0#0j=p zZ|0L}ZL^5LQrn0VJAurJ*eNL}f&|nbKW_H+ON=k0k*EUcG>!?|Ze%biOoFnKx>l&! zQBb|?!)Db>*YcLcU>1Z#q^R|PqK`EmbAiH-;~LXz@2LFa@i7=1IT%lKac{Lc>&)H6 z0OCTt*pNQ+W1T+ z^yKeA8jOEQDeP5eV#_fwKA%i)3R5!`X~2rRn~>+1u+>Bdk{oKpv8k z2q6s{H*dRm`Ra`!4a>8WVYM!b$rxzWOG+3d86lKfgKd4b-nbK!1ZFEylZ3N!GcZBqZz(>ETUERPqfy@S1-Y0&A- z)9Le%*Oy__Io+Ma)mcB>eEJF>#E;*5=Yvn)e)p}{W7B@)=YIBuFMVzQ%Cnaab{;;y zd;IY5w}0o~Inj-0U-^x{{#XCOKm3Pg6o>`Pk@`&nWaS7=^XVra{)a#KouB#UFD*Cy zs$aViqm0}YViF<+4cTBS2v%%5#udm3#ZJG-p0&E|merh<+(2%ez`;e?*oiziS;-3v z^U$hND>yi(&Ae-Kva|I{n-)PFAZK!N^EL3(ZU55C2Y;;B|MY`jw1BG6 zD(NcahM6QNP#jH!+B^(MC$Uv-CWsx?wZ+8Q3lR-kw1Enb;MsKl{o^Bg`@MP7HieN^ zF-C)_BLi**gR>zJgDfyN95#_SaLb|htZa-3picj(RS^T`1}gEA2w<0DyJ~=tl=U8< zuvnbj_M@)b`P+Z zP#j<{9bCJ5l~cdza|)p`&tRlYHnq@-Q=tq8CeE5BliBWk=XkY_5=y(EAT$ITZDSl% z<~*7Rd!-_nF$qM+zP7{2U7XYhg_qk+s7zR@-EEBWKh%gtLNIWGsTT_x6qgY9lC4$W z)BqC_12J=C${<29O?F}iYbDK&i>Q;soWQ1Vrbx)@St&-eL6#eBp#T#!6PcFKOgvIN zoyfN!1i{P+G@VX|KAoK$OOOyHCoN~CSPE^1yaPyx>K47rzL~T%iO5>?Iu^>w5JL=p zypXHQb~@`9r$I^$R+r$K!<9}-@tdlQT^lE57ouf}Tnu)KpZdEr^u# zfSf|1^%e{9V#iF|_RDB|gz7epv6=AMGMA|6biEj-)l&s_Qb^@HqNyxbYyfF+6XJYq&3NUW%jojH`qt&&;xR{j} zoRJBh&F(CQ>(j}+X&GH_#`ZT9^A-CsO?w74=`cl{g9^6qQj`S$ZqKXvz$x88l@KfV6O z4|jKWfA!b?$_p>Q+U{I`w9G$z|K1BX`-ex5_x5)F?tlA#`R;drKljTfa`7jKF$znF zO&V4bX9RDX?)dcN-~H~t;U?Vr(zlLpFVqTbCn$-61MWHJw(W}OhAuqo<@vGmyQ{3- zUNlvu&e1aeQBc;J!cHqo4|#bL14)L0T+LIq`D|*sUaeL>nV1A~6>&1n$sR58^=sYV zcF`3`c*wox?fY8VJ&z-F_Ex^a#s6F3pN za`*~nlT@&AE21&molQSJIwG3xw-PnGXLx7m3GNCl%?DHq8gJS?_m5X657(PjPT4gw z6LGF9wW=yNBj9l)v^!VuL(Y0$gc6N7(AR?fmOe)jnY|=GVY^UXd!rX$i#;NpWRCUr$x~{Xu z8A6~!(Kd|sf+OGGE6aboXjQOtto27m9GTg$>IIb}g7dRl=MUS3fRzCycXtK6lmXZ( z72QBwY_`bC9nPR8N{n%7g9}P|Sa?Afy6xpj*rqJzAQv8znKvRfiL|W>4MgN>W-i2A z=6-?QYg$txhf| zXG(Uz(%%JCIRlQ%#ziZ03wl?hSh4lnzwsuSvc0Efa?5I zcMqlWHn#m8BXa`V8h2}XQca@9s<(h|W5YqbDmSZDbdiq|Kx*L9Hg_)1svYa`Acm7C7zP!@%ks(PKYzX4gPSwVdfYn;7UOcUS7fW)c^V+)Wf?W>H}Dkt0kavP8{InZ?0O~uNJi!D4{RQwI)9qO5Bo%4{AgvL@& z?#$?iI)=0ay)t&T$cS@RvyCv?>1;BaABLlA=>KnDf9~+O|JNVgS@%N-jRZ#WGTzl4 z3|WyY$3gPI?VO^nPdy_v({bnk%rxi3gh|(hrZFc|)x63%r!=gG-c%Vhold6{bRi%Q ztMxEx+gER0{RCG(TC8^ZA3xXL`TDERA6)s>Rp$TiKmA8<|M>Nr*RKA?fAzn5;iWIf z*_FG;>$`7%O0L3UE{`4`J@fQa2iLD3oi1-&nyL{<9I0ty;GoIC(lm0o-2Cm|{M)

    ~CA3lEk=xMD;Pp$b_+{P!CylEOCuH~Iqh*+uIGh|+^LzRk3jkyT&iL#rPctR)> zZoF8m5IINyax!xzG9VMH6U@44%vqPqmBrR$G-Bku8G1{)>2qEUv{~&gkCU!fdskB% zxF6iVaKEMCq@bvh2 zSoa1YCl_{NhD8Ponh%=SZo-mMpVA;rJFJr#h(hGtwsf*E2$yi`RlGtRVmdx;uWj1NtnXJM z0<-gkY#Xk(iU8m0Vv8S&mm#A?fCT|Dua~RY?hbKq6a!C4U?M7J>4EAJLDjWsr0`m0 z0Gu-$Yav2ou~;+5?Fn@vab)sP_U)cbLk#Aqn2EUx*qkOpf9vIEZXL}3@t?o_?%~jj zH4@x7!ZHD65)??l=FTFSkci>prV?tuoyOtZZcHv**dIhx3`4-oMqu;G)Lm4v?9EJur%&>`4E3!bju0|A%eb@R=6C z_KZKN&>g89f2nOt<@)UAL@*IL8ZtQo7g*=q)5MEuhwH7K-Fd)Uhl_d;TR7}5WP@Hj z?2F$PbA)nR(a2-29&PHE_~4nykulszknOlFfwLp$>*^XrpKFZX!3 zTrKAFoy%8tfAHhShkEm6e(=q&zBIr2mGA%I@Bi7K{?W@XzVvtg&fmZK%!}>L-lq>w z?|=9q6Jo!v$1=(*s7WfyyQ2k?c_n6 z+&MaY>DJBT#h{)+3MX?lm%SiAxc%wB|L~&+?9`^wt?5&3e|a#Sw^$Uba~4r*Xz604rWnr7ogTiiz#N5;Q7qUsnQ@q=|w=B9z$+ z6&s+D&i6!Xc3eB%A%P^it+QHIZz9LQg)QqKaj01~Y6H9uiUd8evwGZJ*A1H`ljM}q zAxNm?EjSSrH1z$f>tL?t%z-FRyP}q>r?Q+@cPHVzUZ<18_WHBKdg-$56rhe1Sb}hTJJ5*Rk1m1!ddy-NdcqO8Y4fv5NRS+B=&%lMK zKo|NP?xkr|{hZB2EkUIbF;`-eT9jCy{q4ikok{bH&)y>3dG};t7KAJ_*toX8#T~>( zB=X_ulFXo)LNs?72U?A^UBJ8&E8NK;Wh5$z!i34q%tY1NK(20uu~Kim!X>o{A(Plv z$5_Y=C4u@}rv@lej9Q-oaBu*20|xUA3Jz%?q5@ad1mg)HW4s@?JO2WX!hcb};Qz19 z2|xfe3MxUVjv+6ZWYO4&y7rd2`UHK!!IWhAe79emQk>%@B^nXac_PHM7%8v^gF$BG zGq${0CDlO86iVN#jLNGWJuY=iu(IGNOr2A1FYWVeKJkqYgXWSg7I%m0CW?|;nz|{R zR4wb!m^tC#`lWB(xYB?>UMx1VIe8soW^g8E2gC;6ojqL7Bx;D6*JDYnDQgdd7ix(>^w);A&X3e+ZeH0YU&9y4i)F-?Cz!jH(j(OckhPX z_0j(2-7DAM{=uLB=^q@fQv+4+H}lR^(kVK!M596kh6JcHkpO_Xg=kDZfSBFPiCl@v zGLbqFr~#I)-+k}ya`0E5zOnAJZITfQu^68k|GU#;BH!sc6PeP)RYB$!6xhJqf{Nv2 z6-Ki%K-wHZxSMoJrmEOvr`o#6C>`TsBFVLhG!AiqxvBMiADia#l`Fe@^ZkRpqsK?f zesy|w+(tISI#E_4q8KQ+B`1W4VIA68H|}m7=7E{qk#lzU z>0}mT%sGp2jKQ5mSXDD6;c@tuDqzfF2isQJJz< z8V+N|(!5J*ThI8%y>PWoCA_A*(7kjWrD~mN^J*mqAlS*bb~JHR<_i4cjT*pyo z5+bA8vSD^dzuHV@dmv>L&m|I(I{k!dw~36XO!O?Vv*rWazSP+BF9-yEt}?DgxI;iG zn^XG5=dOM8=}Z6W$9LaK$8;zU>W( zdUijv&x@&|e_p9k`pe_*pM3dWI?EuVg5G&CoT&LZkHV2sUJ{49iw%G>TMZRtI^T^I zZ_qIved6)QNRN7At5=ok%WaDddezMu0CPlk7V@lU=ZGB&kUma&yfD?wOtYD$oE@xY zP1gnqt@Warn38!OH1M|J=pi%`q7UXIFo?hnyD{qG=uh5!|AniU_9xxHfA`akSt@dW z61ckCxX2K55V9d>%g&9oT_|pLDA;(oi1|hpcEF9FP(O;JUR`V z<*BajH)7e)#OQH`<2Sx@<=`7X`|Zb@36{%W{+oa2=~uq>y&t`Qa{8`>z(PvC9j-X! zP2k4WPfpjdH77U#h(LG0bUvGD^6c47%hSw4i`A;jIT;M-hxKZ?Zk}qr478Av@dtyB zxS|693u9CpR%F<>WdZ>Luc%HLZ0;mAiFS;cG8J+&>iu7=0)=28bqMIj-t6e;$gRlr zkrjjH>8zc#F`F?M@W4TX03aABDmBz-cXD#DUTm&C`^MwGJ6p}CfmDN7;O1C5UN{#Mg8%gvAjb?}X) z$Cs}jP}4XPQyV5^I%rl;oonl!-Pp=#MBiHcdO_4JchgBTYg0;RryJrjQ4TCnV|GUf zL{X43lubZxW=u8WYDy~JHSP7MZe6={?QF5QbN5a}WagA;u})3v%*RGxFU}(E( zi~`{C}kVjBWu zb7c?^%Y-dvCZZUd5JG)gs%fCJ)m5!Krw~t`}hJ?YE<#qM%=9Mq)&wmYG4!BC+oW%?Zrz zW@=2K@EM9{Zb_sxmJT47ETY`71-miS#oo7oL^%Vf1QM&W%n2Y?LS_plfBP#>f9Ki# z7xv~!Q?&=FISEC>K^GS(|K3Npzklb^A`Q$Sh`Tx&xsn@{P>mVbP4}Ac;-!P@^9jhg z#4;2Q?poG3IWt;tQ*Ia%0Ity9uTI+k^RK-6H@YRTAyCMk`W%PFE8i6&=1YGU*elr z;wPV;rrxsWz1e)T-u&EGpZ}Zxo4>O>_$dluI+xXeKmYN^tMzG&(cF^eV#p?3J<7BB zbkf8Y!ok5QSvTp7R4tRiO`A5x5R;k&fT6M`LEVeTS#YybpADLnYd5r5 z#nej%Vuw_}VE0O4aR;nG?{&})3^0(pnU{nR1|k-NyTOH=Bx$~~GvA%I>&*t)J*AQv zM&?e~%+-;SDj)v&QxsUNzIjAh2X$Lr5lG2z160 zoS1=K^_}JE$*?(P_Rw@Nfx3EjVludE8CU17A=0dkKe%`J$M1ZgO5BR68EG_kipTrc z7MBmwd~enAx{a&L`%O2UCbi1y)*{dRO!#p)GiLKy+crL)*loUUFfCIWnT;!5z=@qH z##o}aJNltl*sR-`Oebbu7O}RGX&2N$^--mSz!Ej5rkzZ8X70mcv7An)P1_mFkw@aGB6b#tW> z;}FGML7bBnVQN`ViJ6FoA>~0Oin}`m)ChAE$u5p$stYi=J9CpB9|?>@ywIoFZWrT` z6%4(Q&biV&z~WxyeGHDxFywx{DyXl)m}!eQGr$SCWw|qkfTP6u`favA?&?nYT) zYDHYh(>8v3w)}tn@mp^`JY{w%79{1aEL2et8C3Pkbn?vJys%=FZ4$$!S+~=4&mPR4 zy}a+FvEgssxbo8et~syfl!I%q*i4zjjyGLgq9W6qL z#03@;uXTgeMfJizFX6NH<{1cMhmNb+Ha)SGpZMoCd$hSrsn1>ghqk`PQ7_#*4o&m;`!*KMu5ubKOzFLA+UFG^4hIi5(7w| zxwP}^uRVKnHXU-VMM@psq5=p=Sf;bNaJ0cT>&1GrSglUi%hhJn6NlaTd~atmZ_(`R zPo93YdHL7E{xdYJ_1=GqAO6EvFWvd6mtVlir>n(D0=S7u)3<-|uRL}6%5?qsgCG5g zDxa>9QgVnHm1&M-ZiAXb-OTu4Z-28oTprzh>4ldzeKK`|q@gFL?9iN@J!@*)5SwYr zY7lW1^6cJgGIF|*BX$*l~%Mn(=Yalh%nk6wR6rLj%lpB;H#a~qu_DZ9J6lR-=QU?39~ z>Kb|b{?S`+eu!+LX)POxuw{Z}Y5Q(EOm_SEY-l>KS^|NKTa8YY(L;n$`>duVrk2~k zJ{q8+D>F4$WdydeMiMcYLpkwPl>{@(1Cpl9T!is(@z97{%qcrlAS8!!U}C0N!uH<5 zzQKuvIfl@L*s3`b0~A<90)QCe<%9jzYPIP%%)!juO{Bm-%*+H!X(;o=V~8RxT)bo$ z5<_T+C~JnxWHK8cW~L_tNx>M$#u$Gtz|@6q{02;Nv^-02Cb^Jw5XR-AoJe+*UVpJQ z4#YC1Alo&`E)d}h2mwGu!Z>KSe9{73oQq;Eu5UzuCpD(XfO$$8>fS|;@(&`MEB6ikIl)RZPw1#suL&4uXp?6n(!gid>ixvy>rE#U>|!44ym}E9r5f zqMx76?YoWFwwysX?=yb>nM=R<%Cimf@ur6hzyd_(-+u4@|MR==e0;Wv18dxxzs%iXh?K-vpLl)6bjx)PR4L1Db+s_fhkxN z0L&J|V;94-yR);L|L?!^N8otzVL5+&;%n4?IW3(iZ4bX)e}`(@;OIg%nzQt`!Viln`AqW83~WC z;=*ti6bVyJc@6ZLyr*>CykHe5(*TSh!EINMhknhW5tcfX0$hoswZ%aMGYjfYFf%hU z1hiK!6NQF+t+jhnB39|hF%gFbm5jpdOvKLKfMn3gq<#I<`)_@8dltiu>sO_XY9{68 zA_3ggA;KK;Fr+?h`gOlrEZ2+GYPH^E65gH9_jclR8YlDp=Gkv_U;4H7*`G#eHfJYv z^3JvHllj5!zx-FfAMXA3U;mQzy;`OiWq*JFy|>@~(GUL9pa1SZdHo09-`U&0c5OH1 zoXoN&5JU5jQ&P=Y*(r!jTK>Tw{@%{c{JDZy0yz_ult?Pqn5b|N z%TrWfVg{6njau=e-rhf4y>Ml>i(!*As}6>RZ*Iidr4W;u4GC-{PHF}DRq~?4EU`kx zsA*)KXOZba+Oe+gUzfw7v?Z? zb9GZNDUoF}xKcHMH!c`317v1!tDSp?x-kbTWS>IZCHKl4bPD8*N{%P$lS|Mj)r`i8 z60rn!OSv~tGn-A}%G|W=lqoQkfy*q#_^Ou8eB-HSCiB_jM-PV0qKqCa>qkkz-JQV< z5fW3&dFh^lv_zCu0Sh6jW+$J-mPxoSp(A=d`qS_TK-9=GuA^44Dt7=g3*c&`pR^=|DjhxlT4-7M~861XOUgiJ_I{?M&oU^;cz(N4BCWi&#Y7XfDDIop2 zFKQDvfOs&>C$SMLQ)z2Eg^WndLFA^E9v?L^Qt?SD(W#8BEQ3K{fV&IO0Dv2u&55M+ zAxo=C2x6XP68crvArXt4yBSFVIV1=Ggrt6?T25JkCAKPoi*cj2oNL_T!QDK)cJszh zKQn7%{O*T$4mXLpuCoWT#=S^D2wBCu4#!TagQBNmZF1F4IFB07h^(S>*iD>DemlS&zu*q9oI|4^JBo zZD2rM!Qc%r6~DE!bG$h_Jy~N6XzXSXXEIBcltTQzhRo(ufr^+qf;^){UtnZ|He zyEShwP39k+EY7kAa;-WP7bmMK9S6w3!YE?X^V5If)QJPmk!-hVdb5RDFmjf2uj=ze zv!pPdK&}ocb4tkgCmBqAA;h$8zVMTOIT9(YSao=5y*Uxwr95pAg&uTKh>rR`JHlV6 zH&sB$6eI)*^zeAS_R!`>-tCFB<|~jmk-#Bd>Rv}=sJOYaW)ml-5GQS9ovCqBu;i3s zxlofzH!6q_5tBF->mfvxDJ^#QYB5i0j=RU7B z71@8bx%@Q6nWnX_Rx+Q>pL(uoNhf<0XIQ=U{IfT|^3AWm z{^om>w2Ofw|FeJbPqa_J{8xVC#hs@t<|p=^LQd=F#2pc zP7Zc$xgxD4sYh@o&cY&+h77onY+DRP2Nwdnn+SO()AAh4q}~0>t6zQp-FNQZz4P?5 z&oetSnx=7g&BMs(QYJBTB9kCo+D>rhsHS~C0Ljo7UgUPP(Re$!SO2V<9297^fT&L_ zJ!Tlo+*U%3C0_d(Oj6nxwL4L}9u>`~#nbk_rBOq_wc)vViwfE%3bUC#2_G;jC1|{p z%h_{hX5v81{L81%eRC20?&84M3r)P{Xa^&N=6q zV%Xc=%=BQs=c4-QnT!-Sbg%r&w`H!>x&5Qe*&Rta1k z35qHvc_??Y!4r8$>9@c4-ar5DC%^f*yMOQVZ!Ux;YZWkuQj6X8$LQ)Ml~N*{P30@^ zJ^0R(=Z&yJgnb8V+Y?UaX6{y|X)L}Yt}u)GhZ%*g2b(8?Fjcoo6gEvzP3fXyG<2*% zQAmUvUDpe{L#$yUz3{01?&-xR>k4Nu83fKTX`)uWzZ`zsT1}3-Q<6K4I|1OU`%y1pj*o$AmnWE_n9BTh_j)YboUv%Bw)#_%y z%q&xD1pa9c2Sa>5uRLuZ-2VCT7yo1Y?BB+{w{6-nVL@uj8%>+)yEvSXBc6J;ozk`{ zr{vQ_3Q1&cUX2ouRZE2s@r>KCB%14sOcKpu%y5xiDX-qR*^}(bZabFem)kBSf{|Gg zJ~~?7zIoCm*<7CQHk<8ktyAr#KRN1e-ROsu(#@OwXMT0@nZMrMe@BUZdnsL?mPh5; zlX8BsK0SZ-&97JU*Z%td=A+^BU;E|{O4&MeD%)D{=4ZdOIJy0)&wV*{{rY_S?0j?- zz#X|jnVcyB$w-R(anI);|7bYAx4e1(e7$y?*!}R}gh`4SgP6dS$UO;leXg}Kk!w}0 z!X1IlEtJ&|-C7=v-VJ>qz-MhJZri&ZU6T!sAaRK1{sDNh0#9K56;FLcaPM{_n(!;YRNEx8>oV^&^S#5 z%3T-Ro;h80Bv3~rDdm(Bb22ZEdjHiozWkSdxnC|W*B2@Egar|mIs%Ak8H5Bt5`>pT zIdlp|lBrS%Od;1=-RoROy_P)El^2MW@|j^adr`bZI3psSfrdaHneb93^5Q#?&tVqL zPLlv@x>Ce5P`ZC^-=`?h#J#)9j^+aL^@}DVbM?mmps}Jlr$noT1S6bg7^J9zt}^G@ zF4J6?c2jdhO4(dlxYTRZ2a2Js7{}47=9EmUdv-`C==*@l8(i&I5DpWw?Z)!_Y3}=Q zXVg|h^A)GK5!X1s( zO6{KnsDnc^OfrA#(b@Z_>!NTcN(>DLLjlR*>Ojq06@nu;a{S)24cXJ*{OrBs{`vQx zT*S?YJ8W=f@;UlG8S?#u#V70S*;IiXW7Zf-cD0rYD=pnK^juZU&t13cIHy#O?+*C^$KGs5!|Z=T2l-)tzE2tk239(Q*`% zvahH$R~wzc^23XZk1j9P3Kmv?N!(N*p^*eNRV8sw2^K0JKRru#Ct;}T2j}NispstG zOmcM`9k>=>tJ~qCzqeRE9(R**B1j0h{1Bi6<;eMVs-MpG&2u?W!9I~y zBC0x)gAyZg25-%Friodd)Gg6$8rr^Y)+*v25@fJX&}s)cZ#R>=A1#KQrS2wASz!$Q z?3=Ir=)=bkPM;UmqP|)VM@P96v;KIkhr4I*z53Z-8(#f%IXkuOu3HQ~$nMEU+Yi5g z`Qf`|bI!|y*WY^W7k~9vzx8nQXaD-2JgCny5e-8IFAt9X(wpy0o6UB!d;a`!>R0d{ z6wXq}NJ9yL1m@dmdguP_A3@V_ms4+gXs3+LL*vqhmwLUM)&$v%4b&x0Zt(Z8!4sZ zsN?TH_vHari|*;=?yc8uf8oxJPU+c`^JL|Cb-Y`T5Rp!pgPJX1a;4cjfRUb@p8wY0 z|H6jw+u!@>)swt@_VF`WcpgM1t)co78LDRyTb_uy?sbctqx|5e_530)SKTsi)?+dw zZhZl6L?i)pEf$O2q@R3p<`&X5$xVsbua%bP9#`M5!_@{S@fi5ikj*P+=QGqAe$?op101gjs93C9+cAMR9+jU;b=x~ull-&zloQfH9giQdbM(B_v z6|Mx%DG{Y$pnHS;t{SnL{n#6ry+~8|8H7t~Ktp2L?RMKbE>j=W+mH|1iwnq%@}fyk zIsx)Bma(r~>^)o5B$%0#Bxb4v7?=oG1#JFFz?6vG+*!a9s*<(3cNj7y*{e%}h*TYb zG@K^F4!io?5jl~hBxNeZIaF9!U^?4b=2~l+rmh>zOx+XbL}lpbHwka+h$SI{IMC(Y zvuE9{JJR=VlQX&QDI9c-a}z7=dk$}qojJzD8wdhM%Cy_<$~01!-A!6|rl$%so%$^7 z@My&fv54zT&FeS82|>ps1=zgaS`9_*zyH=peI_t24?epFci>QYZU!6|j_>o3Q)`Z-449zj5pT{)gXtygu*5h{UNfSlOeacCL3= z(-tHq*8*DzK7VrZpZ>=EY2yFu?|l1*=j+pHs#b}}q3&Qx>gHBIdvf%pPu=+H2akVv zwq0a)c5*iIPPzw|<>QMn>b!xwI9we}9GY!H?M}Spfqh2Ow$;~8nJLFvF(rmU$ziUG zlLc{v)m^2-8xvZbci0)Ce#VHg{CBB&<|ryikxp zj3tqOFr}lu{^iamjArSXj^ESX)XiPNuIyUV(LuU#(w8Z#?usoVj%@Ab27sA~<=SU+ zI69Fmc>esdZpYQZk=D}ZtnQ5DR3k?qPRGZ~^5fm*X1sNBeCO6eb+^NEonM^}e!fnV zTzt&Tx*PNAfV{3BeSGoZcP>BtLEWCNZr!{6vwvf}*xWewllsy2PyXQfkA7H>4v&ux zmMKq_%xtk@w+&n;ttt6y_iw-Z@PcgT7|A$HCE#wJldQL!vDS{DQza5GC82}WqLi^z zO&q);OlqZg*b^syda;(2hTN4_=OS;_TsCuIirv`vLkXO59)V+ECwGti3Ifcn!i6HG zbHtw3dVOyMLuIB=q9q;{OfD1VP4#Em9}e`A=H;+j4%_vH)X76KHVQZhn1(wkg&Yg!OV`heC5LgNRDp<+FgOVrh?m3gkH3AonAV4f$K)FNpX@Xd zn6pk30Fg{I&YiT8-v=E!21luR1;E^!l~Tr>bKkFOoz5>FG3A4UqZZ53;F#Q)dC%{g z+?^#6l-N}#xE&wg2=RmYpb>`z^ZqkO;zdoQn4=xK6&?0~1Q95ubhf!X->h#O_Lnh@ z+>HtKngO9XJH<7y6xaNJyk}D+0MJrf2b?3nZuiB>XCRrc#$3%e%L6%ZsKp(FscF?z zRTkND;;E{HxPu3?*q9}TKfmxI&7d-Xl#-d{#HAK96Ber#GYyW2$~gJT3FKywWJY}! znGq46BY<#60FaViT$c0GeDmh+V&qWIXhgi`o98=m70T{23Slu)b9WF+a<^&HGEGC@ zyBiC!h-pdx;0v$+@Y(J=PoFnPLuj5^)YPS~K4(-o!&5sdJT+3FB}qnFz{wrrrXB~g z6~tzg{<9?MK`MlD?g^x$Isc(XBbpgL02&DdMd zw7U~sZ~t|6&d>^a|Kjp@zWHoh^+LT*`E)lC#X#6OzW@|e8669QCRKr_E|Hmolhb6T zkkpPmJNq;$`^en_#9&tqie;d_&6>`8+5uvsdF1>Y<$=h}2}RSboc_i;_rLq_$-n++ z6>?+86d6Ew|1=tV=9WHE`R3E;U|}u57w1A;wWW; z0t>OPjYF5VpIy>g?QWH0RA1}l$y{r7@+#djuT}|ls0GE)hjv>-O59XZO1X1)FvAS& z)%b8R9I>D8b_dIanH8&D*Y8TH;~4Y2%qjPs>o``Foxc648=wEer+)XF(JH{Hn{2(3T){>6vyu0MEJ$L-<0`v+h6a{tPwmv`U9hu?nuy?^tk(-?)c5^bHJBqLjV%i>$OZ1MATlsD zW6RboJsZrLb?}+E*4WU3aJbRC5m7^1bZcZS~|5e|Y-Qj=R)dJiFbe zaXpmoE-emq+GyE8GJCX1yLodQW=0_lSn z$>JRn32Q~p@Z+A|-C6wV-8kBpOJ+oGf-=^-}9R1qKlN%v(@c8yJ!L;n!)m@mC+T}12p9a zLd;qLAR?;8-CDN=@ouwS92^D&70*fk$zQ(zKYaVypFMiQ!d(P|Eb3ZyBI0@Od$Yas zVKCzm5+_72qE~L^n&1!$BXGL;eg!cb{D3L|y6$K%CT8nQ761 zyZz3)ACuPeVto?8-6}xFF?>?06(w{eZAq9t%9@nT%fo5+kG}o>RCU#-At$vMs$f;Y z#KMR!{`XJUAD^v9^S4h{J=4R>of0P?Mr!3ogpum*X20~tjn_|>fB54k4>nUL3{C;P zHO;JRu9xN=+r+`KUrvuEf<(5~`qhsgpKfaw$%G1fiSOWZAVOix0&XTB7y{nT%%0}d zeTL`&5G6$N8TB^<=4k)QeqFtd?_s)YA;o+JE$EmdUI%d8<- zwwLAf@!dPO{*(XR|KY#+ul}oF{qoPA75i8Je0}5O#yI*%kIuT`$Lh4`4;cCE{PN%Y z?r;CKzm40se&)lEACYj=Awe4%QA&l`jiX~0)SYT|uxxkZ=5mvASErron6p@xS|`ae znK3c60HBn#2DEPENt?`Qv>7lEnm}{@)_Q{BO_$hbejByFQo|?I&1~MMZU6b+SkGhU ziC`|F@n(HWYolq*_irBO8^^U2mLy$I{ld;K>NsV%L93fHJF&5nlRJk>ycKkbF2`xR zo?`rwRS>c4c1s!U!TIj^)!p$8O__EV)yW7V#16G4HK!JnF574$Bj0T<^TPU}pUCSt zQHq(FOpR(!#9p-u%P<^`+tcXz_T<+$GdbK^!8`DxIB49^w^?4LRSlehLLeqHGpp2C zQ$CYO0;#WI6BrT=$f;cpfs@s`${iEbY`%HkI>m{*p#z9Wd_K0Vl0Y0(3{?#zziLU6 znR7TfhdN4515r{P4-QV&>-B?2@7=ob+QGpI*#rWSIx<6CA}q?P>L^3s$HdXd&*@4a znLuze%pnZTWX>6wzHa*h(DlSD+?Fgx9N8Rm%n*DSTAyEV-$ynRV6XP#Rp=2h6B7?Z zFNveT2XEMD!f*QY*SNyH5}FtX)VT^R-$^ zNm$&X<)e!9fD0&EZ=6uZsn$xwrWT#gIa$uM+eXWz`8<(}8UO~*sa#%QH}=cLZo3xp z8p1v?)Uj1>4T!0u%|yn^t7%Zn(b95o?xu07WlDX=jhKt{kG}cvI}a`(oZ56|H?Qn+ z)D7lV-MkH#ZHis&0<_btf4tt9)2gGHIK%{pTX7u{efs2NYtsi88)gx1)GRP5lqhxPyNrWGPNL>a;%)@( z6I>fdK!i*qR5HEA)F<%HZCo(%SayKMqz$Yuj1h@q`(bOrz zXLbe!JbImFK0o%w3xR=1I9;m#n-89tdzV~;ql1|>1qbZRlYz)=SIu0q6=GJcs7e$i zEoC4$hYN>Rc2h!%^Ag=Ik&Q4B5l>DcY=lzLAy~(fyR^~uPW2XRQMShYV>NS1<94^+ zn1Jc@k8kTYmS6bHn)>b2XU~7|F9dr0#%B&*`E-Bp4H}NM)N$Onx%A!Bi;G|S^4r7F zz0I!NxOG!cFNTy2#>CIgx9cB#!n=#}i_I6m{3}Uz|MvHO@4fdvxPRkwZT$!_sjB)! zUQd=wPIPp*NRmgZsyfvILA6ko^f87XYR!Gml5JvwY^MqjaqgH$5e7B72Ao(fcjK}CkuyEnW}2*oYvB18>_FprVs?c~m^=lxxF@&M^jJ>V!0(h|s@?&yu~C}o&n zTg%Z{q4nw6(^9s_hb!bH9)v`zMYp@nVp#Pl7g8`L10m%_g_F5wrm8#g1WRsZ`RKiF z^K^adQ=7#x#x)yhg|mgYNDRVoiz%&P(S+H{=2E+ohXX)rsWj{E6C0o)_QbU+6D=2q z>)mFb-!?ijwNn%_2Xg??!V6=XXC%QfgOLt!fQZDcPi>~I!psm0AOyLV7CR?!_6kNd zCJ9QLgCcn(7+FTYp2plIZ#a7NOa@ys;;0%;p>a7$I_3`43QT6oB!pzXbC}R@e0V4# zj~{=W5)H$lyF0488Uz4S7Re$^l+7kbA*Abv{yKl}8eSP8g6+ASElW0UVU!sQyUwj> zL=_e}DG~3j?7mbnV+}3%x_YOpq^>1U;fWa1rNqn{J~6kEf?)uIJxig~s6D+hB6(j)*1S=Q)|Er88OOe~! z6M)x`maiQx)fC2&RQNTA2S!gZ9jwK;)$OS7|HF4)`|Ryyt;IZo4J65n#6Nm=@s*FB zj&6x1Vj9}7Gg(elfq(JmpZx9*o;nK%B@afxtjaey8Y7 zCGR*TVQZshe3o(d>k&aysEVU+V39M`XOo78Gx=VM>bl{!wvS_2y;DG297OQMyo%XFeJ`!xE3V_)KFY8)qMMe4ps{tRZBGoQS~~tPx!6ZfHRlv+5yvlu-xwymzCq|vD6hp${qF-;zS(W3#e)DhrjsEcNkN@rO zKmEa1Z@m5X{lEHKw}0X9EZ+J#<&|!>h?zG;>L#Q~(vxSWrEIiLM+-STT#Qrc5~<_k zXJ_XZ>jxKS4^Fqg_#6Mxz58#Ruh+tCh`ArJ2aH{!+)AKQEjUieQFpsOiyEfli!S$> ziDWkxQz}Lwi%)Ph6mRjXM{F5}*xe%GVCK{dL1t0E3Ntd}mc_L$19&^i&au4;Mm1$( zkEX$hG+V7zf?DVRH+7omT43kSh#fGdvFQ2bb9OT_XNQwnu(KL;5x3MjI}AqF;)YiD1Sug&X1FuvGE<1Skj+6ndvyHy z>3Sq0;g(GXc?6_xWAi0s026h@1SB(A?Oj1FfiSE($7VOMOoM-M1aho>n$|MZu6i7C! zqEFT(@m3-xGq1Insc?ibZMgM3>^?do0OFiFbETL`Eks=(L%*D2;ytWtN&=`Eh?t1` z95LS<0Z{OCTJA~?N1o14$p89Of#4X?CHL! zX3La*<^Jt;nZEJpw3ui18jVWW`xu&se225)7!2E}G!*US0BEQF^-rEwXo9d;7@P!* zs#OilsS5&(8yw7LE^2hpr`xN8A3eErW^U>d9_`N`ZMI}iED5e4p{5;&xC4x0_rgA>k)Vwj1i7oU zv3Ng4_@M<8`*z_L12%Ppw|c9SEL7bbutG30E&Z^RezCwst{miasxv>x z0YEr2vugu}X6dyxNw^(VC?RHvkwy)kgJQxc=? z0Am}UhRE76bY^h`W!}sU47Q3gU0gozwii1q@2(Dh_Lu(7fAjl)@ZbNV-@bGE&X;cA zxPSNV{Wo6w+-KhUhyTOB{Ajm3${jHi+^es5B~;Fmc{#a%p?b7?+K-!D>Xb99AAa}| zzxLYt@Tl(AR5SqpN?#)d@QiHf6$M-$Y&>M{UqSc~(=iv)h(V2Nyr;E*n zfYc(Xq$@OmB5rC$ao?j3?KR<;gNAFle-N>nlOoDVa?Y_{FHy5v?15+lxVm5`31yV% zDXHpe=(^lxyDT-$VUU5`5DH5_X{8As3I!>rAjXBWNh#H$v&41lyg;k9M7f3gE-{ro z-q&vZ)#vn-({y>U*lm#$>J;^3qmWLyiaCNP!n3NIwIggPUVA zJ)KhgWY07NAYx|!`u)csD=LW@?8_|GT`NGoRr|uN!%rP9|K!25%c3ss#0++C7%1Sg zFW83;X#Kje8s-GtKRTGSe*4Mkrh1AItuOMGuRG6cOFvsS2Qg9WHEUZk*U6K?%4I6fvX|n@V<4 zH-H2d7FIo?>p(B(-W_+xTw8W0@=BEb#qCTjET4}(uH#ET5n=qq<1hS;zaXsGucuwV zJ6GQi6tTT(H9a3y5uIa*Qi!(>_v>5s`t{KDkVU`-XG$@ptwmJ9<3PBhD@@|r#k)B* zpu`D4WqNLQru5MIo5k<<`ihS(d0V$7h^wlJ#bH_s8_ck&Mdl_8R}*1oQ7vc&&5P<` zmqlFNm`K$kJv_bKSao=7#qAfpxrP=a`o%Fn{JWn!_|zAEGs9Hp97uf^Ov^;~P6CUwXCJBL5>#kacr=z||V@A5EKHS;o!l$Mhk z2yG-#oF%8AR%el}U#TkKszpSSWYy|wDG5W29aOt+AQIKef}+J8%&DrjM$Mo?I~3>% z>Z)3b5fEfFo~`q&pa+21NZA|0Mlg*u(mfQsLbm5xPk{q&1Tl4Tq3Hb-LM5d0ZQV`| zt;5NUFaN?jU;Wm*KUf~${_?Ngd;1HI-T(ZL{_roo{py#0=4ame)SI_&o+Ov&j~<<$ zop&h*|C~6bKBt|+T!Z+jbsY6M4~xUaLD{6;8s^AEXBT2Zi($%JR8$DVm5CLIDZJze z`PG(qio0$uPlwfU%H3`(iM{2{4hWk$Gpn1(kfdT=0XIqv(_nDVWeb`cyl4D!7J~sO zB!(TtP&l(B1adw{3LM0DLZUTqOp?>}WLdloCMhg_#Vsok}Pnfeqk! z3b4T=h)5t)EwFldd6BwdwLFou(6R+Ul-)I_{@`G_-CYdB5fHTtPO z?54`X^WMF7vafpE1971J`n=d8*?JtR>ZVKp?3zqNI7|)NcvL7H4%a3MFozED%d=VD zKY8CiL4=%S=<~erFI?;ln>M?NnHTCHm$<*|WU5|`R~;4^XXZ(0HtC2C`H*jzU&b4j z)aF}xk`yH;H`nS(q(n|;PRuFsJWz?v%sHu!IYA;Q;g`$J-o*LIb{joElUsLubBSmf z4D-${(z+V0j2ROLg^-Deh*VQ;++E?at>b!qcyg0@w9xTvy)m@kgfRC_btg-00Eyi{ zI8?)XXP54YgpT|Exa){fLAmvc?vv4Y1o<(P7o5;qHsT@7yW;=dcYd6bOiDesB9pgi zJM%u;V_etn9om}19c=cg8_P{C9WCx3F2DWc;%u_aOypyo-aI_~55Mr{51u{$op(R% zx{miR2q&PrKH7RGE*y6@>i9Bg%k9@)BzARi1m6@*3uDyP8Q&?VvP^&V8h>U0p z`>yt9)5k&r)p@Zf*_zxu6Lf9`L6<%dr;5B|iQYq6V&E`%=%3>Aq{ot?cEr-+4M zqq^3yX2HQ?xtq$UHFtclSbXZ0yVIoG)1&2Lu{mE~Zbvik``)wy4$6SKJGUw?0qU-g zpPim`w^$^K+Ge!fmZG&!S%eAhra2A7Vpaq)O{2S~ltKxn<+ud63%8ysF#%gN+*%07 zIR}l8gVG$L1(EtXEK*^DQPX~Cq=%U!$NOYLGMk$j0YdJ;vyJ}ho68@bP9J>y_@lF} zedbs0|Ke}S>gI|2P56KLumABohljuQcmMukSd824yYKz@hd+A%2M?c|t~WOh7V7Gb z3h(=#`$;XbxNNA2Jdb5mSU%_vR@iM8;~AxtE>3OR`K=p@LQ^${IFy+iYm78x^23xe zn-gH$&3ag%&uN?{X+50e)i^O5#n_SD9ni3n=g(c*Y-Mg^Laxp8z3OMeUQnpPmBd73 zT16N$DJQxrqtj%cc15o|fti>Aa|iK^15!gKu5s(#K`cehib~Fm)ZTxdeH!B*i70M$ z$XHF&<@v?A5N|hYUtbPGPsB-th}}mx5oe+l#UEl~46~ai5EDB=a_;-C+w68CJ!bpX zaFh1Y+XY{@@a@>oskFDJcoNCNK1)R!z~*4Y!0xM&+>yS6d{zrkV4u;>K}p~`biHdm zrzFx?CA4Sq#Vdh`SfMRgb7x}m3N(IQ*fBMjF_EqM0G0@FcLStWv#dff1v_q+hd^Q@ zV^z&V<|J0l-OViJc8=UhgjiTr-65ezz+&b(Q4-YJOzjH`xW`|J%lX;z&RuGgADuw6 ziucU%2LkY=JrlZp*He;7Ys}4rFo?F7>sltsLf{k>vbdowVRC0sCIHdSo6PF7?ao~Q ziI&RmJUx5&*~P}JBPQaQp4wux@PhNKH1|2+in2t5xJgM*N21AcRJIMV>1LY~CuqNs z&>)8pOKkp}K)e~TGh6hMgw3W#h=r?XgD)5PaM=qHl$|5dayGBFTQf)!NvB2 z%PFzXo9rc*xyK;@=b7L0KMz0rPdxU~LEN1^DU;#Bo(g=b0iV~dVWtI<1Y*!O6|T~# zmrD>=ABTD7l2PcQlf8f;weWv_9?#E@Z@U9#w(RpV$?0}iVkT<4&ML%9R6vSyW^n}! zF5ca_ky6TP+iFPwhpNd7CkqYWaCdiwR!1+1t9B3u6bj+4%jQ=hovXp!6eD?N*{;Xq zdv7LJ`|%&W`_(_necGrV48toomN*;Ng{s9aPzKyQuU5}K_|6f=w?FsuA3lG!=m(>UGql*bfe7))Is%_ld zb$;QiHXZDNR)@!wb7CS=*R#v9pQiuxZ~ek2Ut0Xj4+eYVm!A9d@pu39m3yz$<5z$G z8($gU`|xl6`d=MYzy9^Fe*gWCo^DQs`^)wA2slwF2LNch-BiPk0p{*`$-C3UQ$p`$ zHxcQ+F-%Sh!8VsUYy*Spk;fJ76-ZSrg4hiAA_43 zn1#tztZvHDo%5;(PajwoB8f!na~5;#!+#M$_r1sPlzB5>o@R zgo0F+Qiu>!J85mjWUOeMz?MnK>7{Za(&j z{)^dEB8J+uw?8xY)c4uZzS7hFV~6XUo>5Cnuh$M{JTssjk~tmXXkvKrs@fH`pn_Ut z<}5TfJDPb>sA17_Vz}+!$?KGLd#K=r z{m>%g_-ySmh}dN4Tww?yfavEYCyzmh`#7WpRV`4xijK(P)%C%4!|=1|^1X|5kaR3& zl^8?fPuA1_?GL{T_MDQtI%TNw>?O^Gz)b2+E{VHEZjkvYj~Iv*(qDmWg?tD%&64Y&#h%U* zuNfE8&b6Bj()Y|e^%yc}3_%Z9P&ZKRSk-hgGvWjqR)>kuldUTOVpbInD3H(s&eYb_ zTIGb;qRRlCfW=Em8I(OGk$_}p?6VZpqN$^MuipK$ul&KYv)?{_cG@qOH*X%VR*N4# z+ARA1&Jp~~Hr33d6_P0nO`9j*{)4~r3t#MSy>8E(5}F=NNY=Id@%n>r%>MvFN%~wRk(bRw_yqQgA@6B|fu$EW2A7FH?W882WLi!J;*T zlNqyT@L-zXys-ri`Caa4Gxf^qi86dL`M5{>5l!t(5 zf0FhU=H*&_q8S3(Zr4U65WALiToKw^h1AWXt$DUhbcO3)=ULD!o`e}XPm)MD@PrUs zfX>dId6tfvlN>j5V@XCt=FD8HmFiW|^*r>l*;(4#S#xtwL^XyIG;}NG1Ydn}5iz&K z$<*M^!lp(bg-e&m%e9u07t1uUyEAn{yVUZjc%K)L;AY=hbllqdGTpp2Zg)9KS{?u{ zYg54VC?qverWOc5OW|IK;c5(4fP{6lI*r}xgox8mNow1(TaT;7Yg^)I_6zyN)~#j4 z6lL({QTKpD{EgAx-8bM(5)$!5YlF-?70%eUcb7jRQcdm&r@|KVXg zFKoQrzP(~@B5n7m1r75}bDtw=+aqF#9p-<*^$?uRoDmUP1nmL{b2W1^G|5YNGqKl# zrv`2iGj`PAU0toX9(1`Z>v+DYVD@B$VHlo&_iMbnSiSMH&(5|2t+k|-LLZ&UO5HK#?RMlW zIaEu9chfl5vf%hFnI}BM%!93;Q#v|6T&tN`nQAsKWjBr^5xdot(l9JepFJ^X&RKO0 z;_YtDOev)(4|~gHDbR;eC+QD={_{Uy^8jGR8=A_OHO0j_8ic@IT^Zpxgj{A27v8d! zkob&fBB|=-*=fP}>HDw!$}jxoFa6vve*EF@jqCUR^jjbO&hLKpwZqjHUwPw=pZW5| z`tqZXKRPY-dk@~*X}NKH{LW`zT@0(fUx2C=tDw~Ieu$6)LfOTfQ#D>a`7lk><*w2cRMB_f|-iDa5hm_Prg0B^*UQ!JbWKj+fH_G0+BHT#N4RGCfFl=9&>Nu?yd%p z(H}0J_9K-VksKBwh{8lDr{uo7I^K=hcNO=y4a3OY!O*WbF%ix$9s%9)@lDXErZ88l zWJ;2R2BM)Ky7%9Ia&mm*-rYNQ@4f;sAyiVxeP>pg({8)z`<_CxE*`85>QbL`Hq)wQ zD%;Q=a^LS?03b%Rxcv0G#ZR>-LZ{ocw-$5-cuzy)`9&fOV2ZKwGwqdYYzTxr$eD5(0+IHn$wlkuF4dVx(5L;GIS%5!Ob)!o~ngAV_^f#To@vpVBQ8z$I^R)A^-tuWS!)OhQqOi zFhii9F>~9U{3<{WE}g{`GKfQGbm_`F#Y{wMk*B)5gPn*BtxvJxc9=t`xWNe4sKd?m zAa}Qxi|4!Xd@RxAqRdRD&CD@~7TKdXh+tN5P{EXp3CW?<*d7hYXTO-X{F}Kiol>%cV90&ihl>YI=4pa+|NlfzbJ|J-`(H-u$N?eFt!m z(vZ8;aXVV{S&$KR#97$Pt2Z$zYEYFs***=~zi$Li8-)-PTK}05B{v62=-X*Eks90@ zMS*4l)QVeX+E!R?Z5-t8=E8CfVTpVt^_djT&TOv2UFt3-eSUtCk`S?)N|*XY|NPn3 ztL8K;hIIR_pX=ZMLGBM8KKY~+E7gd2G8fj|b<8`iZJM3ex_kJegFCNJ`Q~POE^wX7 z@j@P2aYAC56q8nFsQ0^~Oq|J5EQ$eOXGI&UPDDt|+smzk`kXIEb1`=>RaK`_CV~)L zVM%J=Cz39P3K3|#D}f-mSyRFTxf>HJOn|4CyHCIMrSqP5Zp0MQl5s}JK}-o;&{!xA zCl2g`g&0oW`mXj!Z%eDkXr z=RF={B-_8MHH>qQxi&_9i#1wrEvS*5MI?GO_NCHm6!`fTINW@-Iv$3DzV8oKH{I;x z2R{~}<#OrnESzaU#LS(;oyzSyuO;dhtKs@!+}j1$&rYvqa`0# zPr@D*^BLBd-A-h&FRs%IwhDlYP~RmcZi77CFoQk7zTP_f=V*xywbm#?xes>ZFi8t&MY-G#?B^V2qOgl3-YFfAv*3bSS2y&rodu!1%_|azP6a!V* zNEs0#a3ZfDZ&Qv;L-NfOoF-t>>VX=Nt2J*H!zA~m4xo*ejD71=*|U>*IBuhe85n3) z6=(9$l`wL4qfzy<$A|yNUw`x4k9L3b{$qeFBj$I_q!D+}w&MMZoe&EJtIX7q&2O!G z1D&I~ngQ;!6* zNPLT;32^U(2lk!OII9zb+?~W>LGPF=3Tbg@(EJcf{OKzZX zi+EfexZTbSe;yqb-mq{srJjhdK!0iDth;3H*nrg4!4}WI5SbLR=xJa z(!55akdx225m9Ed-87Z;sIBYWwk*`iVp3JpA@><9l-Rs-+SZYSu0U4ZM-8Y?%q@lZ zTxeeq?~4BT?BekDabmA9=cuO|BN(&ZyH_%Ys}mE*q8qUS;-;8~nV2hs$Y5TD`Sn+B z-}}-RzxcU#e);~Vx4=LA@BSYjy!*}7&VS*R`&pKNHcfAX~to<6Fe+easFy>_ST z7X(W=1E^JV*QbJF!~ zsU!tFOJCWKg^8`(@uPKx(cc!Yr4Y%gf8tqr(#snx-kq$#PhzJ{uOp zRAR2k%tF9i{EGHKVD3?EwDh^e8m23fr!+_(S$>M%T9CpG)>DF`1jB}y$OvFib&HxB z!+Az}WnL?|Gen3JIiiu95OdGx@dr&sEb#Xk^Y&)*oZJ*F(U#X(#!l*F@Gf~0o`t@^ z1}$zwj1&k2Dav@>pa>$>nCZq5BWkTpgu#_4i6j=TAs!=uC&;8qDKSd}2BNk&quw;5 z)(#fit@ZM>zj1HeJr_^Z00Iu8W3>E6$~!k-zyM;_s(qiBN!6le1W+BfPRiV+Nc&?= z3{6m05b#-I7HgAo8ryg;=XBl85fQ{GI0R;gBKHoKk2c$<8|_jMBhc`1igu`g7znUc z&cgg;yS>W615hzmHg<6<5yO#_5W6{q#c3@1VJRI;#0sJ76dWyT&D-(dna|(OmU|&1 zC+-sjwlg=Nk|c0Q&O2r+|(iQpawT<@DmBOkIFG%bgr>pF8&)qcoHQqKK$vq`Q@>|Xm}(Fw|K8(jko zb*4(8$K`-%qiST{Zz4C4fGCD}cR}!p^Ba4L5WNM8s;=qG{MKMX@Z zY&ILyO-iX>47;)`=8`)CE1+&9+z;JitYE6pj)a^Et}#c$Yhr{J1W}T@9e2Bji=(rX zgo4}#f=L+nQq)D2T9j!VhVY)6iJbY7{F!@CNhUpf?M65<>9dFyE2V!c1Bgs zA(cg_ll9$&$YCu^L@r7WR05m?RA1K8Xa|RhIMg5;(hhbH@fDl<39j1-GMx{}i{~Eh zMs4h5Ga9BBC1K-8i{@bZ`g6H*cN( z$=Cnz;gd&S{<&ZFYD_c?OTfqNbbfw1PM4eQc;m*62k8|WKDe*L#v{tsO1-#~59GuG8`SRvnX(K>=)&y3# zGYhcqH=+HfjF)h;oJ32B*Jox`bs!~9+?1$WOGGt4$o$UDBNq9=lZ*4BA~g4zG;;EF zk4JNLAqblSG3Kr7)7`jLZE+p#Q&np0jMlOw>ips5h8f08BxFIIXNR8jsq4BYoAUYF zC$AnXzWVXgb*Vw}br8YgGdq+yk^9`%8(YElsdx)uuc6`&IHPEJ^WbQi(s!So7G)*{ zCu$;8!Sf@7ky-D2IhKF;^&f$J)pw+BYy?&kCIv#Ypou||1D+gaqzPn5KRCSryNJy7 z7e|Q00M{D7@zYGoybrFOCZ^=B(Kix-df1xlWyNdUAUL%~A^`5}Oyt!<^lFX+8i|-u zO`lwDj9ODmytBA7!6j)^{-L=mmG;=;zEdWOixC7&K;!d*43QA*B|_0~jC~1#Kr#Q> z#Q~4eREV<`EFn0knggDhm5khuu`%&FS}8?RGBtJ245|hNbu>*Aw|K_QTtt}DYz*2J zcg#bg369jU5Vj@t2Yt$dFdQ1SaEFhj)M`VY`k@=gF&gyOXWJ(~{^;b7fBW^H{p;T! zbG4Ej$E$v8y53c%L_X;>_5G6JZm?ERVX2#W-y+R%9YGn0;KmYST z{Oq5shU0I1?e|~ZUHiz4Q9X;p%X803&A3eOe4lVamB9 zB4L40?m8l#rYSfUNJ3^w#Hx;C*{Rp6#k5coz!bgiO1~&1%iTjLRV0rlN(Nm#T_4=j zlec;OJWZRUY0K+}n>(*OIy~adMi}0v9S{OsbdQb^idfy@wM^T~JRIb%tJ6eCPSsU} zS;@T;IbBS<$9#Evaa>5nO^F=>*O-7Dd0)7Hcjvj$psLndDC)$vR|%WXw9lt?rfSWD z4;qoDaagVj;6|Y@=y6vqWoAlnAuNFBmlx-Y;W#A7h{&vhIHexMwOoAi$@_P1zjCm; zWvGnq*|VoNPwpKY9Wv9SrwRME(6(TX zkWG_e=u)C>(2U@ig$`#+*s4%bm`1$sY`vO|c2_4ebe-fR+dAuE0t$0CkzA{Vg5KPh z*vPHX9nH+OjhgeOUknzOlv0wssh72u#JN^YoYm21>NAhyysTHi!_}fXjB{U3&oGVs zq8~RqXK@R6>j3D=d$fMo#3tBsHDXiTJSVUq3uv z*J5;`@MH}$jfTBz<)60oZe#{@?4Lb8JloZe);lJO z2?njs}bD6l%SW)hc`gh z_U9Z8j)dvsEA-UVdWFQu|-U|S)@Tv?kD`b?|N7blH?5c$>4x%|gm_^)m#yq?@ z9cEro*=)Cc%B~JZ*LAz?I5kOmn4@3hlw>!K)ux<}k4_Fv73Q0rekQ z9e?WJ);p)qpI5a-pH3FbT{*Ah=4xiEA>BDx9v=>;Pm1Kl#b!H>8!s-*LznX6;7R>( zu@VC(7`cgblm{(3^FzF;{lks0*=^9wj{|149Gn~r(RMewqaS)sVsMz}yhzgDJYN3! zSN_RI4w?h{EhwHil_ z$6~vwEZshT*uQghjvrQ$`glmM?9D~64+3vE>`Ji8Fb(p)?1g`G0axGmai;+15rdrBGaEe)z z?Vv{Bxeo;_y9MBfx1L} z;*Eh*4F7|hyE&y6EMhL_1GAEGgp|x~#+>GFMu)Zp|54RcYu9z`W)_Wpb;$hOYnre0 z8Z^AeA&6M&W?RlL`nz|h?Fb9GU}rFXB4WGxu+(x>VoxcJWeZT$_W+1+GN5C+x#*`_ zpY0}tpOx_|4<4^ey_{<1FcAB$j)r^eec8UH!YD?(pu(A%Jp8qDIF&0NLW|KRATtSD zYJm?m&3!T^N-QuuzTBA8AAkJ#8xNkY&6#tsP{{#`31r*`l!hEP6mXu!+G0b!v@n7E z04~f=x1*XZyZ&hCs`9fA(axE&6y{ zt2=RMOk6u4*Y_d)g>l1A{bkH;kj7ly$R!0s_4=NfAMBV_RoYY>H)E2M<%%$Ubh*6> z_4m(ZVl$$UB5Tve4OEN>bBTQ>5Y2W6Gp2Iwh1^Y;%)AkdJvx{9g^PS4*5N(uy1#Xi z|GATpTM(G+&gx(s$Fs5)CnlPl*rCws?zIeej`Gn#Qmtl_*#U92=n57PwHg!0_6X}` z?Z_uF1CtfTXx8Qa(dpUQ<+|_tz@>ASauQXwDxKiwjT_sdR=4Zj_{JMwJUKl0|NP_s zV!ht>Cq|HJUJQ$jURaHGV_B>Ye*V*Mp4>c2J#D740I&MA8@CRqO_YR?b=nP!vG<#Yh5e`0JW&Qbx8n}T5GBOaM&%n_rCx2AN~2C ze(q=g>ei3zw1t^VqXXtlp@&TbVX(wlBNFG37HB>5Ava0p?gkfY+p{GGAk)^fv@;xw zfBE*oXO0hEKRj3stIed{<45Cq`^j#4_W1NRA;#LT}rvr)3cmq=z9>S zL@*JNBqAaJ%rFd{bZ~F8K7-!uW{Y81ER-qriI`Drtct4CjhDmjQg)Zy zJ<(EI=0{Rt4CPE`iyOP{&Yksxll=Vh;6QgHb0%|R<4}@~W>tz4A?8G!td_~wGAy`D zHbp-(MQN?6CV?Jr&W6+_%7zhUrep*$qZeB9uZ}xf=p4K{Y6&i8cZIo6s0G7U*dg2{ zgp}D~448U!SThk-vy1h)*{cyz?8fbfAHREWaKw^o-Gx#XGnmBG3^k{`+pP}|kKrvf z$hlt(hwp#*kz^ltn>Swn93gGT4HHgJpH9Uwza6L0Mbk@F;K6J4jH|$C;${M1T8ZV9^t^1adn4~ zw_J+mN!QfoI}=e8kZUq}b1>u%5|Rw;s1@_9D$J?R=sI?4sO3$Yk(4oTD5^L+ab3C|tq zbKFHBHwx7>HxI6e0pvvDu7KwxBNHisSgUKTl9q`e$gu%nGh)%fJ|Jg|H;FrgvOGOs2g*r5i+wejsr7M3lXM8 zDA8m|8aHRgA%p4k;%Xz55u@Wb`rOT#`K1p_`*jH7CP~Qt%$FaPKSor4>EY!i)Dl?X zLe`^zdDLoVUdwQJK+B=`UDj%51P<+ zRgBY^Mc`^Nf5)px&+b*nDu?6t^oQU1%Ik0c%$I)oH{XBo)T}xQ8THY3O%40al94}-#G3$sk0{^gfsQSFpN_nqT{2Zt{;dvq(@UuEmB}kIpv&@JhKVA!H7xc z>XV4L`&cpbzL2HKG+HW!c2)D{{9t{G)$!)!)$!JCEA`^(bK33DB|#=5IK=9CNoD!! zYI8mev|Aqdb_XF+F^}%BMg<8HSmY|;xZ0j?z^Nm2A{yp0Pk|AZf?fRT8r&jhgYYct<5WPV2&=XemZCUW)AK+6Hz5s zcbQ`^YOQEccP9j>nD@42wk~!p!)^h_3_mj1pa7CcC-X$m`3}8w!Hw@o?I+5dQ>qrq zcP!kjp}?fQ-+ z?)8lH&X;=qPvfqe&d-+PwjcU&z4L3BPs^(uOdc$&7i&voW+aK3ql&6kr`>dLa+H)z zAB&rjM;pT=9E~Ojf_t9;U{YM4dwWd;@7jHDOn-J# z@@V>rak$ueA&_wLkZ_opxehogxiBYHrB<&ZGaZOuJL)%P&o+fQ;y4zm=K8(!HL5x@ zJ2A7X1^5ssV(g?Axi;hV^DHJ%tpB^#Ssi~=`kH)Ym(|TX^HM}6(GT>DygfP*4nyE+|50u6uIpF zq41ofcUqGagq)>2)1n(v&ZZXlm7A%NR%4NIS2%a%Fc@dHs=LdJ-L7`h8EHt15diPH zuBL*OB9A;1}DNElEmz(X->6@?I_%7r4);-~*KF*Ca3FJl!h{L*+ zmdd!5Gb1#*M6M1~BSp4~||rzWL`59)08eAAkJh`RMiL z>fp0C@7y{(aTpQjE-i=>C1**(l7!0C^?6tvq|^}{As0jrP)e!qx`Tt|uvlz%n_U@+ zJh)h`4>gX3aN_EaNnIcVbI$C!?y6i)b+NfvUY;MW4sd+i@7=rb-c=n1#4usfJ~5Sg zL4E&xla5x}C*6(2i7jZ9O@^0e7F$H=#85Mgo76AN05yP}ZLTFCb3U)*!}arftCQlU zF$QaYvR?8`L8x<@C8|7DA|ShH*q!5bb65x~`;7iIDpe%(=FYPgBa^ySQ-IVkm2tVm z&6{^V`Q&|9PmZe}Kly>hK%5(jv@*#QvlO1XS~`sng$8aij-R1oGcfLII z^z`}T^Yio9Ui)+s*^Rp-5=PD|$P-pD_ybiF^)q94AjAlD>P~YW#=-QHzgRJ%Ly$J2k0rw1}&;Nrn#c(7e zxOJJCgH6&BuNeZSriuW%)^!RZ@(>*`SldL@?J(#2M@K6O*qN!Zrsv$o*_r~NF$@&Fo>+2pXraBm z(H<2IvZ%2snGwWUJhqH0Fl+0!&9<*uxO?y(;$cyuBQ}y~qYy9=4BBw`pZ;KC(a=W$ z8<-#j1`H)C+r%#q!wXl^_*G9aaF=3`MOEQgeZ#`WmnE@fgL$K85;A(G%x6APZ23UOu} z^f)@`ca!g?0+`nVI613La9?!HBF2eWGt>YAXQ5i_SZmBNf-@tgY{P(py54M-eSdOr z2)JocjqXsZlL{xR3g4cur|sysZyuejhHLSdQKg8sn62oF6V(jL!bM;w-}a6iQppXaCMkd7qi8M2KD+?n3 z_L`WRfi@>kLe6AGe5%#e7_>_LYB^}%?^4=q*5%_L-+l7oJ>H1!su3YOd8Lj(J*Q5x zy42?vG#M{CS9g&>=L~K2V-#W7Go?(NptVffoH_^;MxI*MOkUjwPS3WNPj?pyS1tYx z%Gd)H4G5qAxrgJfQixU?ongobWkeFYgY3!+U%9A#n9>|v1>gn^R;<&-#cAL7%vp6} zW|7$G&^i*??OXTOoAdMa1Fhxp(~sVN|GkUzb2B`A^x>l?AE&%HKDxi%UjFGfzxv?8 z!(ljzs(eaG%^Ee1e6cu4xhqq-<}$9lTZ@*izJFD)4 zoEI25{l)?eeiRj))zGSrA!C_LIz~SMDi9s5L zJ#`W;kV05EIJq8DCg|9P1s6AQMS&1FG^s)w69SW=maYGtBUf_HQ|C*i&BV91F? zB?Upo2#??plI^qSB%DMHk>T&}ON^k10k90BdAyG^Gc%jjl&^$Iv{nF#VIkrR*UUmj zX67-XcfQdQzBM>n(Fwbk3TT9esFPb16M`5&*R}$Xh_p7|nz!oP&6X%jBh)K9#|>3? zidJ%{0TN(#^KxwDP0eE#+#I!iC)VEErizl)o|e=a4V|cg^d883>mOub-}VT1kj{IH zIJBjp3IipX%W~UlA6=|BqopLqDlJHLuxDo{aYE=aQ3Q1RBQZx{u`@z+HZF*b0I%fi z;irF+S{M+D8(9U8`}Bp|hu?d4`s4E|m?gv_%8L9bgk%8=N{R1ZL}6Y5hTK?WH+?=S zw>pNyVc;l>H1VIffis+S73Md4N7ha*xbm{3(+6@O( z#!}Tp&d$$@*`m>qs9&UFrA`xr!s(?{SkihNdr77jUC#Y5tTkrUGjWuYI4ADKx6tS3 zTk8jQ7<{ofn96o4g&e6{I+>2+WTMhL8KB#-u#iDQQBUDcP?#8lbeX8^F8kHp+uq9MK}?tnkD8zM5y15TS-Rw@H;>JWE{8R;&9=ZZa^N=DNF_u*ud%T?K>xnbTK`j z(ji)H%$&nI69|gg4Nx65NPd@zQ@jJKg{Pnj#3+LUmf%Cy~A)K^o z(7jTYK4&8CWMHNZ%USy#=Q^VR!jT}qmARSU^waZ;)5Xb1Onn{O^l-}$r^QHkJ1M~vqXL}rqqFDzNw+-g$E{V@EHRa%ft-;yl0hU% z$}x;AI~P)i3m7Eo1PXkX3|`;^(jxaE8ruR0Zz2kF<3SAibPy%!;iw3CaU#&_;8xWN zSk4PLjl1>v`GdoQlhx|jA&19z?v-)8+@KmmKJ%F`9334A^$#At4=8l}^Y8x2>DlAg z-+cSE`=5o&<>pDBdr4hN9g~!@0k9kveK$!!YGm@|_drgKb8a#z9 zFE7Im|6mI!Cs zgwEz4%n;fI76a5~riin!aH?Ja(y54WB7_{H^&&Ty!*-m`rcj%lVGx>Orj~5JoDPRe zsbFsGer&5U5jl9~;{TKfiM4_~u}k=Enp?m?Y?R=pP)5WUQ9YWQ|5`l2bN9Z_MV0yG z4Xso`n3a$11^M)AT}Tv20VJ6j5S3@N(!l)O_C$tzVtzJ`-+X#{Hdcw?lufP*rUpmGvB#+>-6+P0OlzPFxH~g9BS4w!8RGi7~Ch}~KCpRtWKGZ%N}zHBz#qU&;}z73U);Mo~FAmcdQedX?ZKls6$pa0?Q z+c(F{hi=~YL#^swS%^7xN&3|=Zq{0g04edNdS5M~1!iYQRd=?#C&xFBjzQz@^uZte z@gF?`e&aX)Bj)645r+fhFl(hKcY?+QlklQ2rtnclZo4|wbZ~TUb^CaEvgp>ub`=9l z&b^tDP?u85Ik7MaGv$<~vSUt1$0r0!nUW+*i6Bw=jF6vL`e8ZkXU$NEys5bhGcyP( z%#lzw*UXA38nobO&0klK>y{;` z{`;bAJcGl8wt(a6c?M(<5v3%da}!{$?;AtrOKgHijl0l`_ z{x5*Wyj>Em>+N)UI=uGgxY>}Jb1=~;KngRkhj=162ukh>=fHHBiG@RPNUM5~02)WZ zQ7Q^(udEL2?2S!9u}@yS$3gK7(3{Ej>{h4A#XvA+ zNAz1e+({#a4sr-$;Y3D_?9jdfABDaO?QqGHY;GB6MQ{Q~aGI zGDcxwUG0;LaZ_AC?!unJXKR!M0WlcJ8|caVE<9p->-gx-azVh^ww{j4l0lf~ZqVMI z?Ui2G+n0b|`g)lN2_T3k^OrO2zkbTE{yRR}ZfakZ=ny;hv6}3rLPSs%;$9@dv?wuZ zRjrk1|8X#r9(>P1arZ1N#+k&R?g|EX{RGlkyT{!rQS>qz!OEn{FsTp^iS#lpmP_gS zS{2PA5Oc^7^SC)LMyczVS4^@J=0#=^dh9ZkZ^E zR910%cJ}9A`Ioo4&2q6a0twYxrs^UrNeo@z4RF7CGTga)!zeMOQq&cWiV9GA70N-~Qu&^H2Wk-~P{k@X7n1eeJEDJN0Tb#mw&TOR-(G)j}ym*wE<0F@Zg3 zVk!nN+9gRjn}aDKWg=syKKH}09P*G;PDye~lDXD$usRs}E<`>;u1&p$<6}nGbqC7> z;ViQT5<4>(#LV1vxy!kNsw=ssxiA=i3LwIixR{lqqP)uaU|2vf*3l`Ap#1cMJC`5j zCF;Qq=S=1)$ahcHsS;(WPzMqR;RlTz8H_k0ib9*ClpT{xmazI7#cGhd<-Xgjr%yh7 zEFvjrQbhCgwf0|>E3F1yDLx@H^K3rj_k`xX<*+tI;wMA;NL-i+h!RGb6iy;i%GNQB z<94-Nz4_)lwdiKEUMz-NH}Aap_S^lUQw2N-jgmY`CgNJ$-I%$SnsSQ5W;1Koj`SX)=e?1>mTokA;+|L<(Fd+C zwx@@GqcE+JLGPb`m3q;21ucKUFgqL~ycl|sD05u-!1f=#z;BPrfSKETYvQ9Yd96^V z#MEVJ=&Zxw=C1a_E6kRY=R!l9@DR_6>=h~f)ht1I~wZ(G-5zoA%`0a+|U*Rn9w&eS=8^zcTaxhbbA`Otq zIm{-|uFzfJN-?^-RpvOlduPo5YQ^TOZWW)HH>NQ6G6R`EnWjg0ZZm~WC^@V}(`+6G zz3G7OH5RTu>HK;OU@WBqPHvpw(OApZ1IM3S(tnr7Ulbku`@PCv@VYOp2YYc>CR8m( z#$L5(VyJ6z>Nu66ld8~OcfwO^Z;Ja(4tKXjCy7zDy1CT~0!ivqlKCK*nH#j4RZom@ zENZTG*CmO4k)^VTLlOfXGqurlEOuk$!&c+S1PrFf4R@cb@qFPLyhaNk#0=QRV zOr?yahNK=L%B=1zMi6*Wyz$vDmEFaUfAsF{yKmh1%+D|SlvBP~@5oJv5>q0|SrX@y zgVpngACrwpeJyH8tDIlGcl#*Yc=`C~+4HwQ_4;rA+TVWt?yERDS$iQT z@z9pw*~LZV9PMQRlXGLl!p)=ftWJ_plUpxc&Wo<2Qm0;|%U$qt1VTh+H7D7t{U042 z5`ig&=I^ZQ)e%!lNm5EFBkBclo@cHX5do%J9bOF9rgeD)!cBuWc%cj4fO($>d|0#qZf2#%32;^Iy6*MY-pqLbGMqQt=eu!xbaVq`t}c=hi4*6iPd*gR zH*Va1@bE`DcQ{qAyC6+=!wNVP?y-{p^6Z;-=2O+U^If2By zHrw1Lo3+jV!bnUaH@HA^AJu5odq(tl)Lflysj@~SdOJoquP;2 z9ow8>uCw9~**^6)1Cf$Mkj7Qjv?fB#t1}T)Z8^LFt&{S_(mU<%<%@RQ-E9^&Z~_yK zhsAoDrc#^34$pi2r2~h}yULeUS#9y? z{cc!{2Pf<9px`9&=vIb@5Bbim%dVrT5I{s4oVl3)F*koXKoC>)GNqi%MLpPJ0Km-Z zE?xidljn!ad~kH&9y%=1UJ=3`FjsG4(q!h=h;(7H=gClUI-;HvTyEJV?F6|+qDF9wsi3;Y8=?syHk7HRl$gk> zhgd#AN+~2PELAOF31Lq{)nY;Lo@4Sw6su^SY=DW&ckUiSBR zPJszv@@1EZ=yEqXr?zp3t9dme=fvbK<_3Yyt0PfVi_Amu(67RopLjToK^DH>MC2eZ zHq*G9xw*6dYiNzX6y03yLaL@_VCGr-jSOa>9FrWJ!2Vv-S@Is5NGiE7XvI!y&8sT9v86l>xr&pL^ww3GR>> z&hC-Gu*IPCR@J*&Rly1| z?@msVYY#7zvalD0&A1(aFu;2?J2Ri_my^505^*(0Ph+W1&(6D)9e_bZ`aW;Qv1rLj zZrnI{{PcXitH=k{4Ui{KPZx_t-!JOvnTXG=a%2t%Pt#__>|l_QIn3IeQ!S~_L&pwE zoEXYTUTaJWCJn0zxI&^DX2jW<*z42h7psnzLqAU2-n~x7>{?4;WqqGcpFjKkKl;k? zu)O`oYbUS1`Dfqw<34puKY#E0fAXF0{n>jTeR%iI-M{k7zkcsiZx5?GXV$%Yc9GWS zH_Q3wj#m}vK-E=1>S1~uj^JC`jLpsM>lFVFAXH!siKzrklJdaB#GErTORYsxNVa?K zI&;k_^#=pMLWx9KL?oLTlcXd`QnWax#3B;6j)fQqWt3CIxhkb zdx)2=pq>_BT|qxH6M~o%u?U-y&A4BilN}cC3Pq++*|Ao~BWoLj3FZbfR!5hRgx!qL zSZrpklw$^P;~rnJ3<>T?DKWFT6U;!&><&dOr36r3R8^HFG}KuOEqYE8GvV7x?6W&3 zc2n#FPy(2z(`SoUUzH@fEB^mw?N56x%aZIsY?;~K=iK29{(Oje%*e>GiZzj0MT*r; zqD3|-2_iu0gCMB&Nk2;i(14&18VGg+Y6(=6trm+cu~=P|V?;(o#^ezmKE3B}xYId% zo0&e?KKDKM%wm&(ZX!J0-*AU>_TFZ;Y^`O^&IXB1EN&Bf#x2xp9F6kfA4*Rj^EqR&|nla+}n zA>^yrQ#kh*#zXQ0H!X!y7QO*X((_xSWx;4UG9g^24rcw2UOm2lx%uGqQX`9j(tg^@ zjoo$Qd0OY+;qICs?h#pkb5`)&p1kqrZ-S!e*M8%_|M5cV<~Og;uYDIpBy?EUaIICU zmVjlLD8sWEs28C*nmwLH68r6e&zorL<7ueNIi z<~c8yi}h}2b=xiOgtG&5ENVklVvecWfjm{yS;wOrvzQY?HQMz?e!04=mAbA=eP0z< zSC@|DEIGMYO*&{wqZ)&`abVf3Qc^N<5+fhhSLAlE>^I}Cs@=PN>*CQ>aS*Bl7pv79 zufOx!x4!r0xBi-~9zOW=mw*1J|L-S{A6;HuzW@IF|LA}EkB{!W-py}+wW(h}I$w~z z&f7cN)0bE0r?0;8IUpbqlYuE_^M;X_Bxq@SjzQ+8%+Y;tcY_(2-Q9G&ckATN@yXd{ z%S658l$n^!xbJ%_q2WLs%hBrPKxLkR;`lI0?a%hzNs_bN1=jkAX5oFw;^> zt%VtG1R)9fm&4!+E(Re>%$|~(Q?iOIa2?s1NK4^N#3|Bu^A;&Ygl64lw|nyVGJsbG+l{uS z8DegQwh6R1`tLEMZojXBR1tF=0f#f5gRCbqM6g_Od36auYjpt5Iprw0W1IygMexvRCBUJ;R74QVup7#T>8nA>V8b*g@L_S8vo?m=>X zep$wnQZkrUlO*G=Op)xlM;yyjn;>w6>nONy!;D&uJUJJH8C<*OHv;CqJcCbS%_)HZ zHK=DVqM%0EL8C9s`d(Oy4=vueqIf!U;>q^iZ|6v%nK%-?pm&;DQB)uay2QJodJK;S zo0*wW7*?Z+&~AvzU}g{&ky6#ob4rr1oQyC=6EUT*GR4U!#D9oJ=<=Y*zZOT;T|)q zX&Rb)&BgIBUu3&8mwWTsXTaC%t-~cI4?8;rr+{@}^em1-t&CTAzR zHdJlzm>S|i4r40Hi$wPh=TEkEQ;jEpzrjh7nR;7aE`vv-u4m!oTC;Q(C~k_KP>_4gC6d z<0aX>7@SyPT9Jfp+^H5}E;a_bG7hzxB`_4u9!>N(ZGo2XGgAk0gMir;u-x~OvPmeU z%wZ6cM6NDiW2?nk`f#{|T23hojX5>VAP9g`c&IaR72?HWPE3yEu*5vei;HJZRmUDV z5zTtKycjFk3AavepMLe>ng^!o4JBcDG$28Z-?LT)H|t%1<6H z=lSy1NxfP#6T8&li(fkrDnQ`u?(Cp4a^mX5h{1Fk23#!M&%3KtfsHgxfgxiPb2sJ` zLrl#JkTLb;2?P%hP6yo0+^j+E0GPZg#n_QJ=m9j>nARc~$_4;SGIJscJ)@H|CxLyn^GDVGW$1c52C1?;L|kJ3-U!Ez z82C4RHtd;>`y<+k;pPm=U6z!rmfbK^t;8TFQ?Ip%bnXUEfOOfrF1rm5Oz}Q4TeE6g zHMkxvW`JymZBE&Soen!*9JN>4yD<;NZmcM@he5e>Uta`tV}*!GP< zNsV#W%HJ@=i1Xv7dNA%**eVdw^&sr$VC`1?Pnibo%Wfh!Gve@(w8MYeX7nr10j>-@>D9f&vS?>O`KX~=&>fZnU&+mWu=)CWfwD)BOp~;{>s2~l& zaUW~>{nzgON8ft&zx>&!zdT!YlBaaLu_*S%G83F@+y{fPqZhd>_TN2xDncS{9u#BB z5onT=PaoZ##MOvz0{Yz4oHtOJ8#~k8h12T?otb~V8Upno7MT6UcF*;ex^cnxUsVvp zZ}r*DE{etq{;PgDE<&4BJZWy--I$DA3>HyKOLusX4wsz{RL4cR zVK&uhWbX5nX1Q)J2T5!QSP_YGM>(K425GgTUX>Isih@>)cX>IOfhq&@#i0`%8cMa) zj5FK{tyZi2@*+!S>{P3l-QC;ss|T)tqo@wuZ0Wu_=<~typl(h-{mXxmPu|d@cZSWj zF<02xNhoZS43v^|0Nm)w7awo8mxpuzpZ0l%on$Y-TLVle|~t7fB3!c ze*2A=-+A}Vite<|{^YX@_Q$WL_4jr2vR+}>k#Qk*?m9tFWW;PmS>0nMNDTdBz-pxB zgs>?ITY7QM#AaeJ2^R?#kuG;Bb5ll$5IGstf%)R#$>Xnz?q0e5dQj(*q={P8maI8U zEu}=nZZ(snlv5I77AF@MC4y6?lyaZ@SjPhKeU^A*J?0!bgNP+)u&p(Y9s_Yqa)kM7`gdX? zBuT0xfK0xP&4p&C?yW=FLg4j@`iiY9Vn02WrBH1z{oG`MbEph;{6aB@#EoHDSs$>M4X@&xuobTN$o z=9|YQa*I}&E66a>KwpSF?qQL{ZH)p1b(R+mtgjzFL0^;frA1%bRNbuBiP#CLb#s!E zO3Pm*$ihr0<{zJ~=0a~Br5RH-om+x95gBn9j3`us&){sRL<|=an+b+duf~eFi|zB@ zRGS7wnK98PsJU=?B5>xmM*>Wz{qM8V^y}6bYj#7=;l7{Gx?e1~@dStq$Yj+}%-xNc z8bD9`ANzLz4>$3u_BU@Ko!Pa`aQ$^cY5XKz|H4gNWPy4cW0hRXShZNO{??%^4`)=p z>R2_ZQuQY4x!G6sHUJC&~*9V<-0?692jSjXKk@MIaw3}$S1J5x`+%=+18TXY=z zJ`W%Quh;8njYQv**__-V?%>3*>gbG#gsXWeRjZCxi6k+6^zBC1+YR?~PI&OapB^m_ zU-=vVV6`jcg~4jhEX*<8F2vu+LKU>$?*8k4`hR}+-PgbK!ymo*-h1DC@YAb*`?J35 zmi_U?qc5L6_~KWeef_QX-u*}avp@Rgvk(92fAL?+qW}Ky|K0cO>6`WRXtjbmIE~0) zq%2tU*w`~h7t5NcI$84(p+E;UT7nKV_x*@uq=Z`In?}q8X99ETx*jlQ=0pjps?YkP zVY@y(d;0cU@5StroO5d|5;IGP02$3YwUollEG;@jpv&MI!K|X1l_@}I2tLg)c@D*q z!p`9atLBk_oZsZx_; z?ALVw;0903?eLwpxqHw~0bsiuLb_;HdFoA@jjPq!ZrBm|VsUuq&MS-MiF+X;<^(vY zGN%y0GNaZ_)hgT(iW->}>6g3hZoA#h=d;Z))Z!^qy8-T*WjzcO{6dYRbpoEm-jgg1(50RRM`Y16AfzVsh@JSlSxYFw6 zKuKviTP_###pUW^H;e$WLs*JdEft;=MGzEF?Rp^=sDar51~$X?jaTmc&ik)qDk8Z; z`n-PqPQM=Vqtn&qa+6<)1l$Q^Rv8Ik57fK=AV1zFu*c+iU z6m%e~4u&jqKHqNtw}1Yqntt@;eBS5K^j6a31ZH(N4Zszum0X-W0mS@^r&k|8y?nA8 zdd^{g@oR4_c#>oUZatRxN)xJ06}4P{lsGuTNvhE~V!>Qrv+Epl+FNu}^8*C!S)CqS zZXC><;8hXQ7yO1R`0so)i5t=7uyuE5VUKJ5SL7cKAV{RxqmBliq4c(O=Fzm)8cdYL zIitXgs*^)i+f&%{tAuEBvkeh{9ZE?e1UP#?>z-X+ov&9pcL1ts-}gDoI1aU1PI7QC zPi_X;IfGOfR&;NI)LwZ^2AD-NK_v|COI;F~rToWZHS@bgNhjI7whmZcv z7oVK;M}O-L4CK~OzCAb>aMnH^p>0gJaOhW40>Er)OePE_NjY~pOJboUEGZwDj-UMM z7kBTzdi&(=dc6)GT!|ipyH}4%n$?X7W-21Yy*V}WA#J(e0e->azdpzJ2T4c2P|W zacVFW?Rm}wn;ibcO_foIGBa1z*e}#l0vBcxQByLxrpw3kO?$8LJ0^I)Sr4(0DPTDz z#NHv_A7_ne=&+di3o^5=OYXa0{pyqXd;ucYC<()Wz<0at)zx{*{c>?@v6wRp+=-;> zE`}YlI8%mujB*g^qR&j!ImVnb0cWRAQtH+8{L!PA?%g5bgXKJ5)0Xs-l_ zc(Y=;{+qWlNv2hHeGGJxFE{H|8SeEd&ZzK) zc5@J+&nc(WpquudUMM%O178@Pm=z8}rZ6RS2&3;3)8GiikjPC9!Zgb%<bSM4SxB>`c*@iBeI`F`MZ>Lu1)$~(W^iH>8h2wdHue}n z<_YXkrV+Qo8ldKj7Dx;29VTAT)}V2GBEz88u5UHvbG%=J|WX>nN*4a*D>4$7K&`#xMnYIj|f%M{n~SP z;Yz}A5ZcHK_dN(Qt$^SBc;S;YE|Sx9K*U}9E3gNi&d&Wm0VvoUgW|xUMa_`Nt&}h* zsA`GG-NvypQ;2-kHK)E&{3b${fin4wxNz(s6QWtlPe$Dio9t;)Xn;NUJbh4 z4hKDsmVJ`c^-CRhB+TSC@p@xYk}y$YR;8l#aFKrN5B~Vv4pvXU{^;}1pPim%N;#)Y z-A={JUDbWXA&Y874@+?NqYN@+h6_c z;nmgVWIiWE)5AT6;!f?Ah{%COb8}|3YPRzVMt06D)YNU^S?2oL=^org?C9}2*OlEF~Y$pTEtUO47JNIKm75NCy##nw}0o^vnRKX?wT2z zK-=cC2l75&U|Fyob zW1l_6u!3ueiZ>#B>#t8Wvir^BieQL4j=t}*?EA_}t)&`Mgr?%9VImYmlf&dMSqkuvupYBgrH1w5?o<8GYPEmRDaQc+!WUCQ-BOA&@Cvk<~V zUkM3qnK7m^g+N9gGp>z5!o*}%6QIr^YT#lf%{|R5;;lIoa_-EmxZ1T0gPsc)6TfAT zeMh78TGrZbQ#-c-f8%hu=+ZAvpRpS?ZiY%+X@J1~!YyW27{kfQ7zAaPmbLs^<6=ti z4WJwia{#6$lXB|Hel% zMuJx*62>y6s=86$AE?vD+&`YnB(5{E>EQjDPPyHaVwq5$WVvgE3@wc>zkK2NFd(is}m z73{WoHq#pIp<+_iq2z`>+1| z^n>~0@bmj$KK%US^DjQyP=7qni3N^x^Q)cx&7&tjdM$nD_8ar<6FPki?yAfv&vGx` zr&`O0PapjJ(doy}o;@4K!`broY_>z``}q!l3tT7OTEr_3>(szv6-67-A3=RpwUF&F zV5LH9N(nSg3rm@thp{Y|i^Ie3q?Ft|cb=xUg=6ZjnhSGIQcJ07N5{wK&(0n{dU)@p zd%4SwP)XA+|X{V&ry{e0e&Gl^>ja|Q@dvq5#NT3N)@`fkobOv$VORO=wp3H7QwRb>WqA|fJx z^yq#mTI=@m@`@;#n@D>0^t_g#lO)7ll3HrtIWWy3e_>zm>4nbp!a3&d<_dJu39(O? z4lz4vDw7e&vBRUNWC$A6suY)x8|*Q?{&NyM;&9BgmUi%778ND7bt zV#ovqshXLnd7rpTJdB!%)trdNu`K5K_F`_3dEY1IR+X|G4vQXsNk$txxpQ=|TyDo< zyB&t1Fd(@%Pn&TpMY|*=oM6;EiMw=}SZpxQ1{U#BY#5VOW^p1jO(8f{<;(`}YRPrj zbO(gd$z7|1#RX&zwrN%tCg&%bSblC!LY$JRB}R@`n~=^DS9n!#Xf_3!KsiaRs5fmk zU#K;mh#*WXY-VZ=XQPP-g&Vs2Alh9O9W10Qh`cW_tLbL?lt=^>BN~&F1$p?=Ows3s zvUf^VT%8V>Z_j7v!|tMJrsQ7#YL*|Esi`rU0EE9vd^ASm(1eplOt2#WoHnC6oLFMA z2AMH&g&y|#IOVgQu60Pv1nz|{wsp0=8r_K50wQt_?Zc$x#8fs-$HDcdB81tP5Sbwe z2o8c-Qw$NNL17e!2T>a+Yz~U~!m-(d4KQt@Yu8t~xo!Qq`z@1iF{nvljh%1EsN<@? zcvW9$4^dMO@AG(Xf7)-pFEjyBJn?ayV9p1$Tc8wRG{9WV7Pn7Q*Dd{g92G_enP4&| zc%;K%@_PN`YJS+KPHWkfp0b;3smwy=L7NEp$`E6(orQd;>cpHZ3z9&UfaSqqe{iDJ zqVVO`I&~tZQi$d2FTc8T^lg^jY*;QbC%#+{s7k~+Nx$qa0rUQ9yLG~5(6Lj3gOiyP zi$bjEe6e`>-t9Ycl*>nd_W$_TUw{6|@x6PWee}~$fBN(C+JAiSrI+dSUw*y1`oYQU z4W51Po$ifW&wRL~hc=o>C(?_|dk{UneD;ekpMLP<>DOl~=kDMzzkG0HB7wk5Vs#WR z&TwNTmuo^ig>Y(*k49CKz>EeSM0gJCT>z$*B}+;v@zuq89JkCqpDjS>`@Yt}&7yUY zQg*X4jND0#Y)C1aSz>wVrI)|>^2^JM^DHSbv$GM4W46Hh%KquU{QT@}cQl^|>KVle z3t6p+IShRXLCB}6u4=PSh$utcVQ!=9NR~mt?rIEiZ*haNST!pu#Ph`=fBCt7|GQW7 zW!YRYA#_+2(JLxqn;eeR4Mm8Ei3A7>5;$DI1~X4FnX(bBm;{ipkgz!S__^BLVCHJk zIAz3^aB>O;A?<6YfQDkja;>~v9CmqTro%9tpP$ZVFSGPjOVz?eDRo+@c^iP>-sPT% z2no=fX67|#Iz4+zxVnA&4xnZ%BJTd+;b-S(=kxje^w~w#CJ7Oe%gdFb+&wxVMqSL; z+i}*(SZH*Rw~6A{=W(NdaJylk8zZz3#lNYJ<1Tdv?Z?}Q!Re@=HW&a7ZN^&R;~N1G zrL}usAZhQL6kxCrU*{8;C>ie4>ay#@&WTA>m6(^yek`V@UfYwak(!I36YPSIP05Lh zmM-zjcTcX?L(aXMo7M=Ev%Wt$Jdiq^9M4~SN4)D4t2hu<6GUmyDy)e zUktllznG6h5oae(Y&l`Iu2u(O!L09IeTffmxmF?eJscK;sLA2fRVA>QG1rC&-#Gm( zgccKRksWRp91CJ%;j$f4u!R(wnD5M&n{juhMTw?*nhd@xqnS0a!S(IF@mj6z;}%m$ zF@-(~ea>|p+Q*0|+nq-624E${^3iRvaUg;MELwgzxe6|7c-#sEuz8;uf6Bq;vU(#0hU~U zH+DP`_HbqF?B;9pn;!cv&W$8di593cD_h7=&CIwO6KCQcRGft2s%B2!cw0mOzxcVF zAW#=n$AJjkz?5^|U9HMk7V{Jxy_|D3jAH?OHk+lKpIz=UVL8v6m1!L|o2{HEx5Ug1 znuwX$prh`p4qtx$(ed58uf6oc(+_tW8m%g6G0vnzVmdfDd<0|3%RXgLQG$5|WmhMw z#&?bm-h1Ojx9jsqzx?F>Cm;R%rz7YO|MuVc{XhP@Klzh?_VumTepcV1v&TPJ%Kzr~ z-~au$-Z=3&W@gVWT)~+;PB!mLEx-Eu!OtH(`Rw7-(_y>p`s2ldL@Kj~kwO>~usC7I zY_@kS#h#7r4S@?A{3hb%&=0kG!MSzl0dh&4QqH-%x>{|9RiBe^CoE1@%An?b$C9!z z*IEcrSoqNdB?iD)%3`@VK0f~Dn{V#jyT?hGg^82_lX=hg?_VaSKCxMi7DC%7!q!Ok z6FhK(4d*AA7>-WBA+Uc<4U?N4- zjeaMSyK>A4R9B3-7Z^v6W1l=TvzfDWrq!%6q)87bm`bj$OyX{iFy@E3*67X%xDn1= z0EIWfiS4oKw&@HQR7)wlVM~mh^KRH)T%6y&lZDxc&8nFM-%GeN3tR4NUWj2vX6uv| zmluye{^%EQf8~`o4i9hjvpImLr;nbUU8K}+FU~jXEfJH@SjK3iENAn>#X_|Tqn2{e zi)ptWYf)Hys6hS5+wnb}7!;?yH%!+Z!n_;Hb{xdpd5+e~jMIO*suK`2-SH`)Jdc*+ zc@26+jj1BDK1O`mb;2d3^e)7Aw`9j+cvf-g;@?*IRwc%cJ#f zI6HfC#3xx6;>XnnMNR@NMEqOBP~|M22|5l zNw&N11a?tU@faMucNYbwb|nzQw7ktiWjI{jgn*b_6$V$hu7w#O z_Kl7Augshh3s4--FNfz=23lzgpDY2woinh>ecc_|YwYm2uu1=uGaUxJ4#W9<(>|fi=phUp5&n<;ej2sth+7^F;*ew zV#KI&v&HiG-Vc8F;g=tM@r!@^&hfi&agklAuEsC|?}qyFtg|}4`tq$=#wSCm-kGVZ zBIj4`zIFa`vmam#rcO{eEsuBPro_8P{ZM3e)r(W*qvO1bb#uXG||S* zb8;BWm?e5t67?>T1ic|H9Gu<3F?q-w66`4gIav~NGczS&W~oJ2tMgkYx3rd7zlgD= zT}rdu3lou;1@9#Wh*M+_rt0oV1i*YT#||k|X!(RQs{-zHP**jr%(E&6)mSEhBm!#avv|?b0aI`8#o8({^H%;AZ9{EhTA;eIh%oCkUvR&N z0k|us1_6`o#@%|eIy|{$rnTrWj!#dYq}<&)J^_T8nY#7v$;HL$&h3{|_<@qP0YqfX z^61fL-+cXOK07imj~+dE_Usu;?)oI0$1?QX=WeEMBC^|7E7oT=Xil?E1jr|cSYyJU)sZ_nXx>$50AKp?vI^)FeEMM)G(g*3a4m(q=)H^xUO-Z8}PJo3?scn;vHPUT& zz|4hUL=>DDCdaiyM$@oH{g=9AX6eqHo(&)tgRVz7F|hET$fGOuPpTdj37#wUO z++AmS4re1Hrb#Hlt{`|=E>TsmgBX=fjIFi$u2Oae!yQ5#{_L4+jP0f$D#V5IJ;W1cayh`AG)lXI3$QL8ccUSU3)_mtSQdPVBe z%P-w2<@7$vU^SDt?lO0r=Bgg45mSoGJj;Hu9)A0;|2>9(@yQ3T0p`VthE1vNR_k&$ z7wKy$oYLthKR$bQUdwR%)`1?~dhMm#OKj`;mk&Sv?9-2avfGqzeg6ml(eM4?(M#V( z;(zt8{`tqB-9N}jzyJRCf9o*cE?@evt83DYWkx!fA!V$0zk2fI$KO2q^z`y#vz_Jc zU^a&^C8#SP3J(-v=f2eD&}Ujs8?#(0+K^xL{S4Z;*K!PxMc|~&XSYDuFqtr$!yBh%&exq6UwH3wYuEy z){B1rwcSria+;+y-)=8|`N4pqFTVWr^UprMbNi*PpY66P z+!@Slcjw@>#d7)dqi?9cWfpZ;F*7g{lPhBUk%D_+X6kY}$cxoxTehYSs5;zPT8Gf% zeG@rZ>yTn%LqG{;RjY?XLm(9`%-j%nMxCb|x)(Ph_Q@z_lDOM+(ltM0D8L%gEwE%G zBJq74WX;mUqGe9X(dUDgs$I&n*@AqtE8|QpC$6Oyv*;}KT~t=CBx063xmfSUGD?i& zB4&rP1dC41P;05?05SSmcQ9YrYFox~ez^`aYC>WdrOZ~YaIl`AXg9CIJvc*63u=x0 zQ$!qah_~Ums;=U$Vb@c}T!&4X`M4GCG`2OI9Apl-kv&&NB7Cf%;!z@}-@1MKPriPr z)LAg298ShA<~M)yI*Rku^lag*6%)1LDfdpczw9tmMmX$zv0BH_A%TSE+?<3g z3MEF_yGaFJ;xVK-f;nPx5r6b-_4U;TK$^}Bg=0#w_iy@|DYm!VcpeCHJU_cC?uQ!@ z7e^2O*2xjbKRLTnw>X6v>@ZW@o+Xmm#b#TPgrs4H?l)ebwJ4@12dJIDfbH!)UVx?= z>y@St-$)h!#9fu>*ms>{a1?{P)2yG}J;{oh+Avlja`S6beUQ5grx=Ak^`qF~hgqyv z4Us-z>;#`nCTV@X30!H%*to5R1V9x8@+1HaWhkmna5C})CpGI5A9R^O56&)%EEXMk zb<;5+R~=CmM)SjYm+8Ox=l_+|diUhc?D*Dtus2@4E4@7Y5h>cjiL`uOIurQ_cFbaAoz@T>bjd;IwR z`IT3j&-;^urN{LoHDx4%ySr>0<2WuB`TgU?o3q&~1d!|qZZQg6qx)zuhl>*t8ya0Q zyy>ym3$}v7-H?Un^La|_?r>Hw^Zu~vAR;MK%8S#dPaiz^aLxA5G8v6! zP&E;`x>{+`QR{=RzJC3UH!rWYpMCb}Znq`mhu=KByu5hht+$SkZs*)xtu88+f1QTb$a#_TPsf5!H? zI9&k{B?`YCbMu>k&eR*Zj!to|l5m(U!D8l=Hhjn&5Rl5X3;_U`up5fj+CJCRoME`T z3CS>)?bW&6zD?l6r*W4QY~}=K(sAZB+b z5+>Ga8h+H?Lb=pJd1>ZpYGu2-c`V1+$`c2YdD2qC%t$EZoIX0gYTCJ0OoS+KB2M0{ z41;JtWfgm9Xdi=qjW+LSy-?3#s;t&!7S6jGz5WUDHzV20N}XsRk=PA`=j0$UGr)z(ecxuD zQ2o|(aX1;klK4{f&mKNzr#^S)O{1|-I3nD=xHb2P0fj4e|PL`6rh(y8pM=<1qLRqns&8{ zFqukDOqjvE7$?zM_M;2gW68HBo_Vl=+1U?g$#h8WS<+YsW(IR9D)LCXz$aPee#OyL%Tkm4H9`}U z7~J5a8JVXf360)iZV)(2|MfSw-h1!K*n6!=?xr!^JR0LMmm>(xW-3-$dgJL`w(0{4 zfRp50b#PTk>*!HTV6t#qCXr+wbugGnMD`^?^px6AJ=(J$0$)Nk1Su`0oLNjQ_uVY_ zj~_qox{i}<*Xu6NYApb+E>|CY^uhArK)CC=UPR{ooSBb~4i*PX_LTdXdFi@kDHrGG z=b*CL=x(=*@fl{OsK0KkKF7tIhM?z=7tmD-S=c6-`7vFm_H z2v!IfiCTaj+f>Gl%mR_E?A8G?>xb z7Ht<16B6GVlMDvA5NWfQi*^?&Ttb%GJ_stLCwlL2eqQQV>#>H6f)fl5_2*;nH69bZ z5(g0kq$~u|$)xLrM-zqkuYc$I-T(T7gVy2>5`cufxPN?p2?H}RJe>4}Ieh(AMcqpv zu#Nz*CKl9-FBxz$Pj60c{80G5+(0QB{W20zkWXs7w(P8iio)GWB_@ z;%IK`5C7u7K6vSkgV`R`iqd3fvIz1KRy>4VQcv!N1`S8-n~ zmhb=QN4MVnYpbh^uRi?K(+8hzSLg41=lvi3{eLh&e&wpn{_N3eH+=J2Dt}X-yn1=I z++L8Tl0`N3;@!MMmW!*^$KO2r>BGnOA3qz0vYgNFESKS*(t79QMh4KPV5D-;r|%sd zymq*FWx1Gh9&Ef=uV)>1S$1JQ@0KW4cV!adP(g%_8i0_HTMQXwYVkYr?@8yzLc%OL zcf{Oh>AD$FO1U!S?dJ60;OOw^NOgSuwbzBxlSdDqJv+O7e*3l8-zr3~erlWh^?s%3fJV>VKohFxa8hE#j3C;Bbrdpp2Pu50 zUI-mK6EV5EbI$c@J9~Dzy!XoH!IMPENMp=p6vMoq^G@UtwJOX^sd4ukA6r8fu(dL1 z6^KLOP62h8M)t=L0TDQ?wY(ufOrytk28&!O^Y5?RHn)*v6`~T&DB$^Yim( zwP3Sdo4INgNe73AfSYTVQb?W2iCMawhf>W=7+sP?G;nhz+Y_67!ccGxJOgGBiA{a6 zS=k-)A8n+!Ie+{ur3$H>$A~ zsG^os>pJQZnVXqeWhNFfH9*XX$=T7=&p^(y+U(Yw?cI~*SW4>+dnINPN-6CIT&~uu zi}TxeZ{IrNx8Ht~XG;TiyOM*V;qYeQ!vv@1FX@QpvU!u)5Uat-W9nr~F()_zAQzT8 zWHU|KR3Tx&L+<(<-7YHWDY1y%L&Vah)N#<;2t*LF_WU%dTCS^7>=jIrrt=;yY%sv| zioVZL0Ckc?4KHTlb*)1w7Ni174hUR95{*o5RJ)sSQQR$fv-)VT%RV0rFDUn4oLz|U zu3FEzm@^SW5MI`;`oOx>)mSQ=IRt9cN2B0M)2eEgrhB3`!$bMHES{!vxpDKYY9S^B z#<9j2Fd_rHSr!ZHcC^WuVh(m>CUt+X(drt*3I)l{h}fOswXNv=a`h>72r`R1h!S8; z0LzU4^lOj(%#IfxzY&Cpn-*PRc8Z*koK+iB)hQrBL}OT(+^3465ms*$6W4G3uX@~k z4}9}4p_`$JMS;m%np(;yk&9W(yjSPtjOVkgWl$}qvy{i8Rjrd44H3q`DauRt)+c56 zSrP!faEy0Il7^yB&aVgU~9OEv3qcd%RxrK(l$=PAj8@YSHb`eb|5rydd+Uvtf9Jjb z#q00Bds+SdN&yQ3a?X@CV_m0l)_1dcdRli+tiC#1-g4f+ zD^&}DY+D%alhrxeDXqfN6d6?2HSDDUW1^fmiR9cRrbRykdEd=0ub$mL&S3lbPk;Jb zKm2RAZk?1;Pi~)FUY*zTG7P&~3LwNz#3IQ-?!-jq=u#pgY10|n`XQnix^dm2M$=>7 zSkly5191v5Ig^7~o!}Eb5!_shGVW7==I}W>|R#YE7dYrpi5;oo5f1t0u_8N(Q^~G0U&q+-6)~%CQ zUV5!m6X9FON88cv4 z#5mFg)Ub*6?5*oV4rxFWf#A?6w?%kz=($m1(RF}pyx}GiA+sQ{Fx<^Nyq@F5L$sL^ zb(wdyHVYq9Cl0NxyLp=g-WtuqOu4%nwvQg&@A~fK?!CJvXP3LH_1er49(|LWpu?&H zmF6ATy?P@As=GvdzQG(0BgqLwYz!c&C0SJ#(;|@louFpy>wDaVTDuIbgwCA%K1ByeFtt!y?27{Z3JQ>HKDid|geL|@|I0M0qB>)gU z-<4;(0pLt+{7+<6>~Ll`E6_3)nk2uiQxfAlT#2Z_#WaTxzT51JCkSc-A-3hx!{40k14CeDskaU~au18Z-Q?R%u}=KHx`m@hn>e(lGm z!=WK&Ac(W5l|&3sB3tSRl0i+?wbtdGTXOp(dok5*(M8u+MKS9V$6jNilu`?VQ$HdR zu@I*&QA)WVbt4@^xTx)GHfHX+JQOuEPJDE7Ad=uiTHe_``D%Rf#kc?PAK39LR~Jt> z%9N;$Vdlt8AWxL$i}^2p_7`W5K7Z}K?|uJo|EI^k`zQaG{~J5QWp}YYfAr6vJ$d@d z8?XQUfBe5ZfAqya`>+0q9=>wto!|MR<@po-lgFb!t*8H9M?9MXJQdbq5O-*yj%e*3dQ|r~Z z*^XsF+_A*OAQ&lYLkB5p-vILgS2U2hO};TeRa<5a>yrqJnvy#+Efj9@Z9IkFeF(%W3J3oE)?ChO)zIErNm(I_h z-M({j=kCjg2ZvqPo0nSaYPFfqyZO8a{J}SmMDWr}uR4aar{|mXwv4D{l-!Akj#`V= zVvAYd_jw$uO!(id%d4xEyE0Qwsgpz)0eB;!#~AC#wYU>@Api$zjPJK7a{i5&J+YK>K9c>B&ayY}) zZ8Yz~1lAj^Y)Yyqu1AXk;j$XlelZg!XPED49|+m`%uFw~8`H|?qC9!=doB^(njYUC^kTWz+gFCQLdrmOQy zgYdrP?S>#*;)UYpH}2LKzHoz)L^qEA);}Y1@5q(lPMzDrDhQ>Pp;iDQ%(=^i-dw9O zQB{qWWpuYan4ZtuePqUA!Z2*Q+yNj4izG>zyV#wfP6gPsFmnRRFxKM3cAOvQC6Bv< zgXP^$yx{ktpZ!vr8X!gb;-%81ywga}~*c~lXpP$xpwi*UA0#2lV zQ+nxh%DDm~R7kirC0d5P&ms09ik!Kz3%#mx^D81IYdcBd9o_zh} z;^N|mKm4uRw~x!X6Had4cZ-|^4wmc=tH#nJ46uV!LnM;MQZyQZ#LT8Pv8df`S~F9D z*j9hk2vaY^85C^*vSKXY&e^Ee7*6j2=e@XJrlT!bc;*C8Ad6nIVua_Eczt#B?6lsx zdwF_3V~@t%3f&*=1>k&9}nCW+nQX2d-C=Ltltj?3AC9ADi3W>>~{-+t%tpx=yh_X1GN--0`!PBGZa z-OK3Bkj%WsTeE3mQ6p!#Wl8&zl89na=DLH-BhPMw!6P`>B$jB%uhB#oA&^yLkz}qE zgc7Ehs29qs{XJ>7VM6ICMza`Hy|L)_km0ma8-JagKuSK(NFqb6O5#o(+q=gnWcJDV zssO_F#l`k)^VP*T^S4^lTU-I*`uA`iA#S`8$Xh}4#eMe4+@p~ewwBIUW7&@N_uqVJ*3nnz>&v1k5j(qcvBDsP z5AAaS*BPXkMq4z}Pnx(Fn0C{C=lE|-ApWY(1&5+B4jVW^M(->jhlLu4B|Td2gg}Js zV30our1e6ljTFO{hfJSv^H-rtdJKW@aTZcjK9n7_ss+c84 z9j8M}1O_;Z0Btxp(^?zjSmDE1aL>(Pjtf*t^36%+v1T;+OXy|Lp50pFMcGUJuJ|etfV55O|bQ zV}dGdqgIL?cKn@_qc@hbR~G%UOWR>wZ)%#&@=<^3cE4;_yS14uz^~8d2mQ=|QpyN~ z)%3(qmT+Ao0#Bn@uMHLU^Aw1T%v`6Nmof*_gjcJpZoZh!7L*2-*>1Oc`>prhe(PKF z*}Q6T_r|f{RL0^=#2u_sFn5FQ=FyvGIGL%rvBWs*Yg*K_y!|?{i4!xzQb;Vg{TNv^ zHb~TriYBg!Ng-|^x5gUBb=z=4HzJX5%PGi^0VEnsy`~-yo*Wz>t`8S=y-B$dLMSxp zA*webxWsJX@Y^zX4HYbri<_Ms-TM5?uRi$r=YR0MA3feZj!I$5*g(^#2$(@cQcP+D znd>zP+4r@9yE`+NGN>viF+-OnadxL!pFO*&<&+#U?6wyd=Wo3JrkM@n(B(cQsakTD zQtEoWJvq6z*i|sioGpFQG2__;4Wd0Of;=*xO%xH%x5hQ zN4}GDDr2c-oSOeYYqk-mUTU#g@7%dHSpD?#)1j1uqoX8;T1NmaG(#LYM!5mWCS%js zbkriZdDC4?HPe2WGPO4@Ok9i1rNZ63kMG4t<93DHhqdSlSZnC3N|MANCl)7#QH&^t zQ**k0?r`@O#<-{@Mk234OpXGP5I7wZC2}VU*MCQSd9ir)aQ3s)%hjMx#4NY_yfrNZ za!*KCRnNw8PAoDFU%TGAd(@+vGlU#)^TT;}nDVn>8xyG=EKW))Fb7su3A|rMQy}z7 zX)zr*K4q=bB&q3;uzg0$ZPFkCEba~rs;Y1#Cb-vP^!xWt-aMNB$yZPAU+sG4lfJt< z&%e5VxiX(6dGm1g`oZ#(v-Oi<({YYrExqug_4t4P_-lZ6umvY2uz;N^TLQnb?9J%3 z6mFeAjk{kROb~*`9G~bmO`y&VSZ+$cJp`5%rzaEOR>%{C!X(2OfReK#3OPY2^w`PS zoh*Zbs6=9I4Dq_Ed(5VFnugx&mkR!!k9H4!^H2G7=tXK5KrMq%6uU|mA{H<>!@X)S z&`VmLP)gbBV5R~yA4m0lA>z)QA<0qTVLoEcBw!NR6l1L*Dn)zd)lOHNZAwAYHqMqi z**&W|+R<@8TXehKU}eWLd-(X-ayhF2!xKeq(ikufa>MfQ_>Gs2X7%b(=a(vH|N6hV z_~=i5cCN48JDKM+mT_Zxxh;SE^2Hy&%kLk((dijop6S2^G)sMd)D!sO>G{t;c<}Qt zzj^fZ9FD`q;`Y%|ge;>3vg*z*gZs7=5xlgVy|G-pelWY8X9nAiGlzAAdnE%kKQLqNa^}_U zvR1u!=bmaM^(@J|uFGAmwQ7+>WJr>7>da3^9gmN1k&9#Glzh+!4VOOV@X0908xr z4;gf@SX^CR=wcxvW?=RZP_R&@&eZSRd1WXApcm&4*B6)b`SR#kR;$fsyXpH`NWaEf zAtd4=S$$)s!pY$x*_k%OxLCr0SxPA}YQ>Z~5P{tc5{bHyEW0FqKG1$P>@FNd^W}QG z4UtDH zqp=VJas`{Sc!*PTDaCtrQiBxixtOT9*)wGO*k?w1Ex zuk_;b$>FWCn9timE}4?VG%Oeh6(n#4$m7qLh#TNmm?n@rAS7Uk;OB55a+XvzTQM*h zDtq*m5GqGECne4xhm{yBVHWK$6Uw1Kg0<-~6PQ5G6DJtYV-W6CrzAcaEJV|GBqxZH z-kYa`)P1$y?9_;SFn_oy#lS*jGAe%j^xO=0W_@OVx~s`KOGH7RXcPO2yPXAW2^8{W z0;SXKZkNkKXecnSLLJO5;R?VlcM4JObD%y?i26-lRf}piWfVkvmH=^ZO^BG){poh& z4g(9p05wmEXOc3BJ26<8Kfk>CVg(51EYwMnU)xxm9O!{QT)w ztseBL2P;{rG)wmPzxB2f{a=6f>Ds(cMnTyo&e3vlPXu$d05xvH{x3x1DZ4`xhEXqR z&e+Bn4-Z3&J>2AgnhPVSqGE)CDnOc8jXYH~&k3adLmvCC#C59BhIAvK6EQeJVI+V% zJG=W(d0TdgS&47caOfNLG>(9~mNL6@g2gQRv!TGMs#+-^fLk@`ISDhHftzxP9O%e9 zW-~4ks-a_Y6oba7G=AuD8|%0&ucg%|+zo z|AnqDvC1z)Vf!j0FM0oO5@1d3kVnczASFhe8YnCkZ{9=G>Vnxf2Ufw;RT; z$DP}E1MrwS_|f-CL=a9)T+Eu>;>NB8BAW&Qp{9wiMw;7>k?R_7I=tWpc4nBRS|C(d ziX<@>Ek+3Ho)VE0sg@=!36r2^xXJ_v8(MSM=5sr}nBO@cZr|EGzM6N^aB_ySvm>!s zSix}XnX{OM-zU*DTELGE55D;7>CZm-;19m@2kW{MCvp>0$eg@_S`|PeoQS+=tvby5qnrm& z{rceFgGD0iW#%yCcxIc93I?ye0uim*~P)Z+;y6L(s;7*_JXQ-^L7Vh8$WA~M$Tgn zJ?~WVn>mqKVNbLfgnYEx00+`0N05Kbr)QPc!wlU+F zXNQ^X)B9;NHpI}`Xj|RAy1BqX`SEV_?T*7#G{M|fBRSb&n+&Rk)-I(miUUGVe)Do@ zXv%|`0^O;;dN}{~@x32EdG>U(etEfEm$K8iH*D9QYcF~n@29)n&_qu7#58ZMK~sT5 zwZBrByD6fj$xb@u%DR}Rqvbrug$Ix3R;f!QY9Rjf*~K?k{H*LUGee`I5)jxkklix? z>d4)g$u+YW^k+}c0cN7PP}sy2^Mk~19UMFzwof-ZKm^Irgy1(}hy6#08xtMt#?v)R zoHEg7f-4;AAo9I~MJy60c5~{*U!Bd*hhbBij+YEmV`);0{f9j0n#JFie;oFE4L3mQ zP_tR$dyB={ZnGY%a1hSK!4ahNhi4ti)Xl5N`18IuZr{7Jn2Ese+E@5$qyN?4|C`@^ z{k22su^q}#+$_toJ6=HS$?5q|fBE$XUp#*B&xZIEPM6!IIfktc{i{;7$c;_L`vXrkGgR$m?c!=4Px7u@Xx0X z)3HWjdt+w9FfI-bwCZZJ&MDo#^J*OjcQr3SSKU^t)p2*wcQbclW>s}}kX0R%ES{Wx z`pq{FbJwLzPfyn=%dDSO^YwPCwS4#e@6=kyaTn0nVea8@cVWpnZ-!lHlTwnLlayLj z(X;{LQy5aSL2I~mn|n@joKnts1}B)cLW2xs4Hs`8xkj}KAVxQn?L7}}UXuOQav0p0 z$jBL-B=ud-JWcc7chaYRg)`A!(rC^EvzoiilB~i(W>u{cNfe>(NbJqf07lMTlGS>5 zwb>oaj#j&!wP~GkLz$V~-OY3E$hTfgmQ;+)OeW(NGk9Qbh>&*Uc6%FChBHoh!2B(2DOgvyvCj;Q1#c0~6#B-;ca7&T;$q^3y(4kM3Z0#4yRagFTbn)VRD ztW70t`*Q2X5!{6MaBqK~f-Z z4WuNrt9Y_m4^}1dGUw{Pts|Pv;S0tX`xS%z@iJ8-ZGD7Cbih6liKG1%rFm0)HFX9Y zl|2!xxF09JH(vlW#N1t$7&V><&c^P)cyg}JAj*wP5KGpp`C%__E*B40>&vlH7S{q$ zVl&|1JUBJO`?rrW*%z1FXltu!Q0R?ftYKpfk>mNjaijAyrPz_53e%uvuqk0;N={5X z?w`bks5P|B>p`Bqaj@K!vO)obF|i?I72Xi7{(C+q*zoyWr}3Sm4d~QHOkr0wFl3n&ZN6>SeW~OaU2Cs zYFW}`nO@b@ja-c&UbIWy$?cPIyUOQZUOo7tn=Numqm|o7Cnra_tCx26ix2+IFCTpI z#qB#M-~EHXb^Gn_EIR)9FMs@tk3OFrz5WkgrXL1Xra59Zj8 zAKw4!r(Zny;48-+m%%+~6o>2WV_94+5H$S=*7Ipy7`t4-;9 z>6WuI*YoXq1GllvgljUy1%ys0 z3(IbO9O_nUh!-K&8Iih@CL$-$_NuxWcnB2a7hBr)d~@E*F`=> zM7!Pg?DXl;!Qp(q=<@vDE3W|9Z8pMPN?p~e8k7SjqQo8Ce)X%5OR2YSpOm5(7w5Bn z&dgTJcDuWM>u4N@&p!L=2S0dMi2H6XiOr(DfLWJ!tz85l6scZ=M>_E z$)ljHqsUcTB~3AHy-kH+>4_6@MbH|}&8w2YvpXe$Fs!z_AN5$ zT1{1it*8T>gb7+}N?fahD5lt&)zIh~PmQ`3@|$H&0Cx_UPm~9zFdReMJPi0=yDW7; zzX;y9!J{1#a7;_Qoh20I~KCMM%*j#`bF!d9i3e#PQ! z=t;Ex$Y4gc5N5(A99P?z3s8J`;;=V}o2#%kpn;%piIs!Nef%1biQO8et0d&^>2y;b z?{=h=)9mqPJ9==KqUC453CQ0cHj{wrx$jy;!~JR@0y8aygm_m_)2s8U0(LSD;*UvDCrTh=H6p3*YUG4h z7X3WQtu9}VgTg#fR;woWS1W3hNfB)9X;#E<);M?@G0Em0jyn}(h75M{s^!*f!OV}h zYa(%XhJ+O{z(Q$L^^<4k>uMYYW4nygv2>l@{icikAMzmgY3!y)r?R>~*{&Fw82}k1 ze9SE5*jgjca(H6qk^%t@-D)S^RG&QghxcH26Z z(svyZ#dL#O-D*uj%)B~Z?>_mst}g%dpZ^!wX6FuwWvyR+G$*}x+3T5S|r zs#RtVeFI!h&mQe|L!>GQE^sKvfNL+CX*B`+X5K`-_QnCbR&Yk`-_+lcauAqPEtQjU zr#Z3iIyWZZ6eQ91=JJWl5u z;jis7)7sDa#XOsiaDnrp_$&2ll_Ian4BX_C-W{bmCZ1eHXIrdZH*ywSg{JSEL{pO4QU>A5A>rd~AciEyZOH2JWb)@0=X{(Q9{}ZOh}c^Lgs2aZG8g<>QM{n1oQB z4ut>uy`u-~?JuuZhyCGEpTD}=UX25VE|ZeRh~H@l&$NWd|LRW!SQw7>40EeZ{n4-) zA>P$7W|ueY(9PiqVlZ>xR;=8F61TeMny~iY^Z55@Xxs$cCS?==GAKhBOq9`hNni>? ze^cNDyM%FDa~Yjs+^7D|ZH6*zQ%Qu>yi^i^-Hgd$oH8+^jBsOk%+1M(*sQJxlI-qP zs84dXI@=Xp_H6Dj%;vqh@3tf0#|MX}r(Zw##n0aR-tXLb=R5a*@t0+&>#u(N&7b|t z2VZ#;L&VJ|je(-~LzRlZ*xI8VIiBev4zL;UG zzkKxQgU{}N@Y$nh7pp~=50-Ok6D=`?C>ue;r~`1TOW!|Sym2^xdERHvWgOSr-7HJD z=uXwnHk)m&TIz91ce*Z9GB;B#B4Co}A#-vRghzMK>j1dK1XYJq&fsKFGp8oDXt3M< zo_cf(oVkriWI{;J8p)A~5=m660T?r-zCTDJRcq!1m>W_`?l805b$!0XqX2Psu>X}oWUwAk1lV${OY4_ZSIN0I8I`3tz*DILJ>!p zEHrEck~p;8aCo@9|KQ0lKK#Xxe)ywO3K9Tgh#~s>?rtC~mvoQX_YB6Zr4FeD7qI{=0|IR#lm= zfyAk3X$$_j%C@CTk@FJ?!eNC8VJPZM+6JnDDBbA%-B1rculK(Z0-K5Ceg*G;WNS87 z9jtY?eOf`}LLO*{F(V1HyMaa7I9RCUq?ve;^QX_QR@>dv?bvamC>lTn5(Ze<49?ZH zOWn(dvyEwg#ow%l$LrlzotPy=Mu_p)OlII4cNzfXCS&8~gOCQ4qujl*Jo@J9^0F3o z=XP(Mh&E<%;!l!WXRt-R&aAKw0_cR%wtVsWw)_XSE@;a1pQrg?!p&ljhuksNm`45+ z+-d*OFbq3Ink?gP^IG z)vz1Kf(h_VU6KUV>Z(cn;PBRW-uv6fZ~u;tqsTA5{OO;5{^Ni3>f3MrjsN5yF7Lci zXSYAP(9_Q^UdF>e?6z<0PVe5G!+L%CML`x`4|lzq(k3-f22t<{><@8K;O0WG-ti|Y*`btP(TS8{}8U5SIZPLi$2sAKNDpUF5RbtgAQGANNT zl6o)z&0I(nia@|54eHA+ZXGS3JzJ+F%tGca7KH1d$g#yy<_6KT}l0Tz*4w@(h1heXuR=6CMgxpjQk z!B&gYls1F})vBsx4s-e>l2whFbC!pXzbeI-i-Y-6F0P)L+2QfRoh~oWZ{Iooo!|NG zpZ@fNGK`#{hQ)loJQxoa{jeE8RBG)~Ch)G5E~T-kNa`}D5oJ0|_B0!FFJ{$D-Fo7} z&C`p#!mGiUs54JY6<)8q58ebYAZs!xa2WYajSNH)*mRqdrAdS_m;tjcCrKKE)Ss_# zriC3w;3)umGo?He$>eKEy;T)X0!2>DqUtl2K64ZG5xIF{9;=>jx31U@WxFd!%lW+T zC5fx3mmoZ*EW^fgwxfeS3tKgd01a64lb+~|0HKlF8Ux*2RgrvJ9-)I3M0>*9#vn&B z?R4Bh$l3r|H&?S7os`Tu=k8$H&1U^_+4l=bHW1v?m8%41MlCo{qjX9O5r!_yBIjaS zRYB5>Bc`iKQuOrQ=1GKmX>m4P1t_$F7aH3WZ(?8S}(?33DAPusS;dq2|qi6Hn|r7 zR@6kS;qSiR&^HRU{XP2s*TeRVh&bt~-R?lorqq_gkb9_R3TGXB5K2DmP)kaTv7ijX zT+N_0>O8V3Jw-D{GlCcy{AAYI)pi^d0#_q|rR(!7vw+~vrj~OKUXH7G;`d&EcX;); zc8@=2yBv3$-}3{KL(Dj3Nc=Ok3^_pMiVN04v5`en?fDaQD{p9P1 zKmFpXkH2_w_H3229LyIyCr5=>2O9)r>b5Cf+>d7I`^N{bAIx5!_j5|Sv97k-&AVfrQNaaa889Td0;?Mp08{I7ms^<6JT)GDRrX&BDh*S9)-=s0X&&ZQ;U1;v9Wk zat5(__-lbBSsHm5ka~;y2<+}BhlgK1eEN%ze)&K6;om;>D`vKkm$OoIEQv(oBxJbx z4Z7Dvg$l}>r>@_P_5N4i%;$%9@7ysfZt6BhjS7H>a?Yx1W;xHQUINH@UdnD92L_wl z>DA+5SKoQ(+kKzLvi;_ppB)|_Y`5F(dc1w-*7tw#-A_LG^n(vRoXuzBI0*AFmf5U3 zIy!uCewF$jKuQdtjAP#|%uI61l9DhK?i!~sOGA#;QPhT_i#a7n1qkfKVN;mg!v24;&k+~rP~Ypsn*gQ%xlU}~IHcaXOs&F%{3 zl#|eWHtV`9B+Nvd+>61{SwBz6DOoj`Fy-y; z^62p3&aI=JVJvI3UKy?hkK9y`4ODS&k_iwqYoH8Jj$xt`T0MaTpg0|@swAmet-7k2 zb58Sl*Z1@JV$m-TSUP5@ZZHIyRmhV-+BwinrW`C&Gu@2|F1xCuZVf~fdy5s7Nyy09 z2}UIDRPOQt>%$2K4N_4p$N-cT+UP+r~iO6E602>vaWl{mmGGQoY_oE>!;#+$*m zQu`5<=I$k!c82Cy2zJv*_XnDwdaM22E9_`^^boOoHWW)9DH zRMm0Z^s@ycsmJspRvn3ise_O3&Z%s67bnNBm|g$swlwZZ*zkLtb=afU^ z%ssE`@^DtiQs7MNJZ&bXw(r8!8k|xpwK|G>_F%L!+-Npi{^aK${mu`6x5IqICb?J6 zF+{6!%|M@WYa;E*z-aW*mMsw&WLigMSJ$eir;k7Q@T1vm_S)+&{r>O%p>Q|UHIp!R zFlWhXW0!koR<&BIyGbXz_3rX=wYpk&dA7WLJf7?O?|)~$nEm9(Ki=)mzWv_2XQyYM ze)>h~dw_E4!5D_&_19lcOk=IxtgEJ3a_-W4sK-YzmyT$j`ox3841l1+8PJS>d^Fuv zGxwlfH3E}6!G(+)_t6`bcRI(?G_n^UbsETOYcPP@D-fKfF?~@hn!7Uz!&1)14Y8(h zEt@z4p#2ajLOWlX$V}^U)*q(3%Y&oz|6}XVdTq(FbV2AFW6o)2tKHq{kGqFA(Pm_G zo4k1&;9jbLheAT)1tebJfhQ#X4?^MxAXFd_hzA5kQB;-k-nut4G9$u0!h1h`v-`c) zvSl{s7=wo~ZJ!fC?o^~7Kfd=~Yne@(bBu3%O^E9KoQhZ^84V?nBObvg#0mqO^FhUE zx3_WFY=P?-4wkc7r5T-b+I*Ngk z1SL{aGl+?bGLtd5_=%>$Ycl59xC=34$uWjzF`v(tT{myq*1ccNR7JCxO&oTI&#HAL z(d44ROx3%D4aGN5t?YhB={-3;_~ubT0*3*szR?Km>pLJAi68$;AS(@rZ2IN(C4-w7 z0FVDuM22YXXaG26v-)*weJ+HA%AK|iG5-GYMvH~$(5X&FTgn;@LX>AQ%u?J--a`Tc zj5UDOl->b-x5`WyM6GN1{%kggp6&8PEfBWoo?Jd*twUDh;?7m#RS%Jd-pc)1_h{aJ zcfILHgur6T1|n8yG=f1$j=F9UK(+G!^r?WfgT%2wcXZV<{?#p=~-HO26wFk>PblFxH$^ z-FX_a+3dc2y$s{Y>9gNFd42Zx|KZ>L^3lnE@1Oq5yVuX>SC^)`PfMcE%u+LNY1@DO z{M8rFUj6>ro73~_$YHsdvj;^ubDtc`vF#{gww$*=KWsmkb&tBxgt#lb-&1NsT7|Px zF87;03zf18IBHUdt`G{5*llMG^ZXZm*PH^b9x(u7%6^X-N=!`bj|RAy7+_7~tAt=` zECh0KMQwD{k#G)vW57f*hh#>8 z1cn(zvOxps&DEKz5^;MWTYemfm9jH;27UmnCUcbt{dF# z{ZWF7HIY3ogc#dhe{p`f*XVN@$hn-Jo`n#a6q&+yyD4RCo48!9^X|rXbTVr~OtBfq5kv-I zjxlf(B4d27C2{0iVJwPKN-5F=cFQ{{Ip-mPMgt}jU9R`lSwl9Gc`c{YHa{J6Ui0d0 z3sc!v?&9RMagKolzZ-(#mb*_xlMB)$%`-4j5fj+z@NjN93*bg7W-2hFNK{n18K+39 zC9oTdvWSqH^KL~%Rm`LxP}F8AEXL9W%!5Ao=)uo_{`1rA(C_z)G__anNR#jMx^O>f z&~(#TVJ2!peIk*Ii#6CehTgBU5um~3aJ|6cQJdP-G%-eZ2@}meMR4emnBUXrTYT3* zPP{k(nyOl*}E{4FLQ6+>4&7w=@KUSY-lCkS7r-lc_L58(P%-c>;Sd zg8zP{2??!B-YZH183l$R{Oat2IS_>qj1<-S%RS&!0TRQbW%s8i>(gES{QQbN^O~6i zB^a3y-tpMHAhUww4v|M08t|K{}kb-#yW8$uLJRU?z!p0)~*6<537&QxwU zr$6{oFc;BLG%-TtdNwI58^G-9U^AzE!V}$03|yuVcX_{X@K<@SQqiilXK^Bq4~uK3 z@DF_1KZs1gg~or3Px!(zB6jCcb7kww z$5Gd_;D-xON)BS;=pIyKpLIrQ)ol#VcDv1fu&j;9!?s;6 z7FkVUgDS;5h4C1&Iz zVc(kH;|m%<^nNH>oocBmxm^^>U`9k@CL%_p zW!xi#5FjG6W@QM&FfxZ-f1@HXCNV2TMb&+U2oxg&KCbmS7uOJWpW|9J4)TY!ZYxvk zbGrt8pZP;RxZf`Ts*IGyil~u~3d9*ux1+u3xilh&a2SjMvsE+fG82;{8$?PraW$z9 z7htK0T13nx#p)eFjMOyU-~Z}2fBDltpK+UQXT&6SYlz28o(_ulgBae`F+c?lYtmQF zCAEzj+AbX(9ZOM6#1wdcWY(lMXE9Tv5F%e(T#RF0tyY`u_4;5=#1|KrUDqxb>(4*` z{LbB@ljD=Gzy1zn!!Vj^F#@pP4~GYih)Nd zl}>8GAXT>s9gF0mT?>yMv!Z#}M?<734GV64U<_kWHXF&J&nTyF@Y|yG$kcb`1nia@ z3?d_8aEdVn9(*cQE4-S4NmIe;i=?`#GZP0PE&V7w8AVrCuNiR&kxfn1q6>&z>*Mqc zUzg@X0W;g|hkkF@*LjinqsMoD`tzRx>FVM%#pvD@J{+7#7^DCE7ZY=5@CuO0+|~9!_~vBksIDyCXR0W!!N)@YRXX6 z;EuASOwmB3x>Yi6jI7+a-}gYJ1f!({MfhNqqgUKU)3r&Yz#;Eyiu$ zC&}7&i*7x)QNDls=8LDVe)q$xR~I*do7HT#>Yz}+;A{|(L3evACP%aQ$?@{hYW8qB zYmNHdez(cpvaxylM)maOYM-?!dH@`CO{9=P6#IBolO_y2*$IV_wQiO<1%v!7p!_5dTR0*ggiFyQ6Z52&SRrS{Mj+g_- zTdVsCZDvCz#GCDFvoc>cs+l>e4t?K`d6;!`Vl^>}F@?Fx7*kp-*Sr4m>gx3Vy+6CW zx*kPlG<{S+3?f#A@F0$X#LQI0E%vHDgxquQwriYBpM2#3;xz(ImC$=54x?&0SEtJL ztS5p}aNWgwd!T{M#LR-j#{})A=|Z4F=7_rLw8T;s~{0kY+Bm)g{SCm3npR* z%heB0U;c;B|MoxrlYjBXdh^Q9pBbO8siD^K?^qwT>#JfJuPrJ+K8EnwXCHs|$xoJx zWsFS?x6{Jxc7zRc3Spmfp3mk*h8NGDuMZAiy?XZg_1n)r{mE|Ik3&8>KG^lws^h1h zeEP-bU+l+hz?gFgUWiaB^7zrCqs96eg3ksRI9RpE>wv$h4X+uqic-wQUeF#JcX(#GrvWis0YLOJAQHEcvS>D_*ja=G4L%=#=>gAk}jZxA&UFNSiqFKzJ5s&~#Jb-NAR7``~W{^tC;0P}`# zn{aWVDSUov!URA}mN7kAuio_A^HBmk;VVo_d7_E}W_CS{|MQrhe3|yTHS)f!Au=>dSv3$cq<M5~3!A_Ya5xOjC9 z(t0|YQ(~C`4p!T5Bd~Bb2AZZ>F6SvlrT`9Ojv|}Q_FDHdn;ZxNs~G{oSx2a}XL_$1 zwTcTvL~1!sWM*w@nx+XoJHG;eGcN+Q!+1Rm+moXYOWB2xavmbdrSiGnDQx0l31uu^VqC|$`^Ip-Bfm>z=L$-?dOuApkQ zMyLnL`>Wrp1#k@%WQQBvYAZV5-=2pyYCR zbolzso9%8NQ{41DssO}F&f8tTJ~&i`srywL*uH!I;>GDHjMPd>!PJ;JC5{|GzE#bP^!*(Co30FjgqhW3j*FbN}*mXWssx7t{A9TEFpqZ6S;C) zr_HuXLH$&!3=^7`M*Oa`0U} z5Q!NPI|Y=8YS5fTB84eg3U(Zuy;wg2tW3DmrcrEHvJqpF2h^7jN=nsl9*$Np;H%T$ zzNraQ$jZeuftaBNmGZ&r_}*;({Y`Hw2ws4L;D+OV6@}Rin~6{Y%s2_83U5gb@Pr-) zMdHMs!y;xzh)&-~JWW59eL)H+fLP6=o(XJRcA_DK=v*fvGRuM?%dDXgTM?eYY}W=GDO?uhy*8pm7_umshH-ZHgqN#SZi>l3fYFeP%l9hxmtzRQRNO_8 zRE+}>`C%9lmW!kF^XsBT%!YlAOvFKRKE1vZXt&xZQFyun* zEG-UOFrHmqeDV3KFTQ*E;>{I-*7I(;YBg9fF$$z6L>aozMbr*w?I)|*hx5hVW$F-j zW9fUHts0);?J!*S`|VJ|s7EOs&*qV1RvnAyFoE0(wr+-55q;pJR^V2o8+zwr7{;7diJLc{b~SNMvTkJIXQ+ zqm1|Od~|VrA(COj6xa=uCT;;-HB9WXL-Wan^C}}lpk}pdoTeDKMG63z7$%aPUt8i@ z7ESrg2LE#~2w*H^aN)mBYZ_Hq zOvk)`_Vme5fBdt9qx(7M5D;S!QPbk1AGMNV$Hd=0`SSey^rt`lg-ZVT<4?}d-)?TM zOU|oFJ7FVU#!>bG4I=yQpB+DXR}#1YY$fIHnyYYp=35&FWRr3J^Aj* z>pLeWvxG6{6lQ&q5JTb^0|&5FuKXnEfj3boB5Iz=U8C8h-aooU^0~rba2#gpgb04{ zPfE0Da2jxnBfvbu)p>tF#p!E1H?6eycS8T0NoC+mz{HUWG6SUKQp&K;Fr=hy@JuPb zoh^AIUW!T{C69pv1!4|u+q6yFwk^Q>VZR@SrfK@VZ&R4hVt}eBSf!L{lQ!}S-QN4n zX6oT-E>9$wk(v+?gA;defi}iu)E&&>y7%}VZpci5`n?{Os_+TC$S$~qo9mjns#g#N5OeR?@M8RXk0I;Lr6P3fqR-gb?Np4jDBQP17 z(0qHj`R?*&n@eDibVr$vH*!NQs{n(k#l#U9vKV`;iI9O1U=~2a;mNjV6XS-awNz0f zHlk3FBL`DsP=qN|2wanVj4if-;i3?TfkwlfdHds|)%O=SZ~9S~f?Iz~UeLG7StEsaaw=n$L$K7sGg4p8w(VH5H>keQtewrgxid{kGe0BA1fH*JDx8 zL9`#+)sJX%p9WIdhvp*dX1mLlkCsgg#VqW{QH!!kJDYKeGeQ}Qih``jG$B*KEJlto zv6{NK0l~}~qF`FGSxm#YzrMIgOB%+!+x3I$_UvrEnEkUq`|PiNbpO-Cll0S{P@iwE z2U1gyh)7lgseq>>fS-Q3!1= z+ZY-H!NNF>ql^dZW8!ug`qgS~7K#}YM;A>4qM!<=fvARn7@*$PF)Rb2D3NQFT+9LU$7tq^$-3?*9C86Hd z>5fMD(Jw-&No^YYA$xS713Idh%@<$%`pbX(i$8C8mN5Wk5Oe2inTT7Ce?LM|mm)1roBG;Sk<>lq$#jrU_nt1?I%TJsEuXZEjq_WJY3IoDb^)JEAcU0-%mMZ?}?)x1owS zE52HB*J-}t9k@>}CWaY&^9Hd&%|f7S$2NJm?dXu5g@lw*~kQ< z8kh+RhN9;9fLw`blM68dYLFWdSSB3;sLVRgHpy(Fz4wvHDN zE3uK>2G}PxhUy;f1Yo~h{${n-g+zwRkW$Tr^6`4nME>?_tKeV&n_F24n<)hZkQfWY z4UYmK6et&az1d!s96ak;@oKw;hgen)PsK^exZ?WtSR$(h3IJv0`osvBSc6os5ypW9 z_Ieo1tns1=0&sCRgIbmUj!~f>L{L0fE4x02IfBfLrr#HWTbH>IEvDGwHHH56? z!J_SAe15YNXo6;<|Nr9QwyLcb{9r;^x6Rgub0z#k#ls))Aw4qj_7_jT?DpGS7n;d> ziwwGJ!$)EGkggB3FBG=cZiar}U!)KYm)*n1AFOBX?|=2yQ$JMAAT*8*Q=nplMyWyc za0IiKiJY35<;+sF!XMf)1?V_tlJQz|YV_lu|MFrx{QlYVM<@6G?34R{^4Ui}x_1}5 zvA^tl3{48F_1vPpy14$$S1-SK`s~Hqb168SFYX*H;n{KQ|34JT!;mF}bsK(uGXHQf zdpK(oWVai(qqg%|n)7Qb7dIESpa-@JbPI&j;UYsqQ58@By^mAG9jPEXIb{r=?mC`$=3rRXCGZc@x; z9ELqCmm;0xI%W(6_qOyI0YXK805dCUZYAk_0wOA7cD%u_z8`gZi<|r6taYGG2*hOP zQ(f`un3n2=_fvoc+E8j@YMaPLlMB-Ai_{H_D#?2qN!RHZ4SCE%QJ`(R*l?ieZ6L{x zQAJ7$VJ1`8)P2AqJTmO5EV1Cl1048XAXHHL7Uaw4S0_v zVy+sUWH*7sB#JF{7T{OImHb+?HVU;W^4;675dgOvG4qQZh!Ag2&_D!8Ee*)sog*rYfZBBiK7V0MD2n@_GY27piITF!%9$~$lxkA;u+fDzUe|7cz zCdZVB1TN2KQy7VMF&)g(wb^IK%ZJOwuU?+M9>&C>hPk>;fA!BIiP%Vna3tQV{^sq? z+wC?|AdufeqY{jT7+lO)wHkaXg1dZZWf4{PR)R~Og_S`R$O`zo%WHrV2T*}Bh(H1h zx5ArA$TyLaPzn50*<|cQA%OPa9$}&KG3`I$tH*IzknWVP(d{>5zdudU9^5;4aD3Ny!oH}>%aW74<8>Kt}*ED?KKqbtewxhamc@U@$~bjFTZ^D`s%vx zLO5J3jNRSO#LZ)kdd>Smx`c;!<`3KM!$o)4H6@pEyT>fWqt%t_lVR9g4La(~=!0&) zTs2~rRYynb5?~g@L0JL$c*-a+dDJnqDz^X^Y@3=H0bU2YTI)q;)mZVgw@zw? zI%BSzF+tVX-Wp~ ziU85f+@_S6Q{W^z!X(R93O@PKPiOOPHai6D^zGBPZ(qgG?)T&TargZX-(6l_c1?SA zdA(k*a~XEqT@xb|m)AGLSOU|Xdq*KfRUuBymZhZFB#^1HYAyv3a%~k;;)+_4u`);% zAx?dUjfw(vhCmP|l`@dF)iWC2LWW67;e|)J-I(2dgPn5@nxZD^uV()tb$(g|M{tOd zD5#a_3N4@dD;#qt^8T}Kauc6li-jTQ7~*O%56mK}B`Y+B$duG}U1NbFlqd#}`1)uQ zmu#vN&)3ffy&X`3D5y%{7^zO?fJP0>0yFbET{Tp!#Xr>~W%VCmgOC!Lj!dk+QLA}m ztC7q1Tho0kMV&E3wPu<+#)+6yVQ>%x2=V@`-IlTwH{%LbbpbG`PlHnrW{+B94 zNZkEF!3439B`Bg>TD+?u>Q_X(EVe0wRuytZf^7P>_xS{7N{BI*zkPN2AD*Ab7&{8) z_n#HQ05Qiw@a%fqGJmpOoh;_Re{%r~RU`rTw+SFMGcsXC;J^fs4Vr&*cFN@ZcgrFK zj$i`^6QXds??XM*J$aiAL?-NXC4!qgz#x^StNsK|GZZz1Nv+|tdG&&gEP!Of(1{Uz z)foxkF6h=<9FY!r{7f%?lx`leC6u1i`Iv4tyP@=pHvH(Lqx&a!7xT3lWzAV+7<$pM zSThbrgb-qT_k@T>!)O#!7)A4Fj1YWTgaGix+wa@UuI-jFwJ}AG%M@|QoId*KKm7VP zP07o}NjcpdNcwO8;umst)t_EA?QC|mCc>-p)8Bpn?H5m8K7DpWIn@hjV?qnHTAA`gS$bS$Z~(*PHFwk6i3d2uI69CLXm6sy@&K zic)Pz6$+EO+L>UAqQ;ZTh@%;iDp`VNGZj#2EFLVoSr?d+AP!@z#zdQ3o(Qq8;+Mo=MixVv zwo7;MS9M2eIOEys!C{(JNr;)5VsPdKRLKxv0Et5+#f)99K}M4=9BxV4@14vT-|v^}W#11X()YX7 za@n=*$>E*6&muDGX3Rl_n1iv22srs5$yAI25jcb}#eKbx4EY~KL_{paX+_qJ)u9&u zybM&B!9YZ*j-CA4s!moQw_;7-*QQ`aGEj7CS1kyAV)*`5^ln`0eXpy*>c5&PFrP0y zSz7DIGc_$HO$bD>NlereafLltRZEtlHA38{T;2*oWqNIsA|k>Hs2LNAYH{9!Lo_;F zG6UY#xf9fDHOp=oa~^cwCMFT`y~~e7*DDB$nijAZZMFRHnqfM{03z{6z(8bimf~Ov zDd6eKyIdLCaSVZ>VqB#xe&^mh{%-%ws;p$m`w=!aH@!m_;wm+X`Uqn&3kmVt4`s8wrRBOeCf*C1%uoN`7}Y`~%vgXywWB)+Hy? z$p-}Rq(*nICh94Y;+Tey`0P=>xW@wS25v6~Y_~TirJIHO_tp>Z-kr@3i6o1VaSAEL zSaMNSGwX*TkVbI3m^Gvca+x(yP^(U(3UwN^fm@zSF1!9MGc|2@C6`#w!Y@u}UmmVb z4j-=;i&gG>8*|_9XEDqcb5;7{*|RU6zWDO_>x=X2)HJKvg69q#i4psQvemp7X+n6o zYCfEIkJqy$(9FAM+kF`2=y-7{_Dw%*N)AOArgz(BK5JkkQZ#U2s!x~u3QUhC5qW;1 zh$`G(!63p+P*W5aI~U6o*k)Z^&Du6bF&;}S+GrVxUl)72-+#Xw-wat8ZAvR{HCQ!o zqv-CiYNo;FaURMZYL==D^6`UCq)sNSupY}q13ibJN7#%AdYaujwbTy+08fK zeDlHaM|M~n;2s$B{dCDoj@d)S|z9U74CCv2IkZ70=C z+s(P`bICrb0Z@r34q()&m`6T=P}xGvT(ST#^BD#vCX=a(lifmKHH)DEvX)9&@W+!m zu#=LfBh(RsKpZ{p$4pGeJQBtF(!@m5e9b?VV|OA*9tGh&it~jrWvNttZ@ovR@onE1 z(|UZvFwxzJI5I`zku{q->u);t?Dir~rMP*lBuw2TkOfd`Lb@2s#c*l}k;o#6Il9ec zz707YqqgQ`5NJgF^OJ)}_Up5&ouYAnpQ-Biql{3Ch+sy{4Vh{+%d8!bK~xLjlfxN< z|MM67GG-)#ab$bYHoKx@u_i)X0OqwN*`Vftlsi}%n-YSN5hIXj`EYrlre9re-me#G zL+)FdS#V~Qf70oLPRFj@{tQ5cM6xxhsgd-mL~3NE*vE(SF5s)n9e}%CdokoEeNI3V zIo0i{j@?}Rt%?Q5gEqas8L|b6K=GJL8H!#-&@68HVS96RJfna1*=H1!4*Jo_<3WdU91~Go&WLe#wfXInmtQ=4_2kWY z$z|1bC&z~hUu5hu6&2l$MVJoS_}OCl;iA3UhL(9-EQ_^^Pzvc)3&ihIQ9&EyV%aubiiDiw&Cq5Q(;F>c zWqYz8pZ8@eC8jWIVg+nTDp3M(H+-;B@CVUiV3_9#xn_ckMx>TC}e73zCC zvl*FriXHp-^VW2NDVZ9gmeRjHeSUm&f4R5|V0iZV#l`8}yN^UPrIyHc+v~S)Up~11 zA%{>zd;l%to2=Wz)DDku8yDz^i8CiaLI-wxtMktb-&5l(l4v zAXsXWnOnlyZzbz649j^6 zp(!##t%$kfh@pV0EEncaCe=kt6wFwMqGHUYWGUJ;w}vdJln*a;g+aOMrl&AXtG> zf(ckjnL*0NN+9hxsA;M6|N4H5S>!NFaovP;bz^%mu0)F|jti!kXf>ilAI+Qlv*lOU zS8wysVPb@;r4X}>pI=;elmdl^%XX0RW}iP=&i~21^}lB0l-MrgIvgnSyh;PbEwY*)p$%cn5mw0?PA8S zhf*s2f{nPS3dxTS*FQa6UGz_$Z1=BiKS0(^QWM--J!6uez=$L>F2=!3U0Ccu5BZ=G zh|Hq4D>(zG{SeF-DHE$xjhL%2R7JG_kvI}7sZ-?MN1b4vX`6sd?t%i`~8oD{xqhpYlfLj0<$WKE0ML_Zhu~i zDyr2XE4iP_Xay;x#e6>Nni$9sb7{7jr0mqbFY?2Fd@&5?Spe%|JZwTeT8UlI?RVP5 zkc>lchj(EB6jGdI36rw+He2(LKzk6}ysz$A26Ar~gS+&A08$lZ0SJ~rIhTErrp5fl ztFM}7wp`v3-3DH?ZC7+K6N6k`pKW(nyY2Sq@Xlg!IE>r2nW+^~A*Y?yuG$H_wU2`u z8JOA3)JM5yZjfYVrY1ESsn!J)6pC!dMbs6Z0Tf6jPMm4;ohg8%Is!~e$mtQF_pXWE zUZV*&o-(2_{isn4Wh=9JC^5bxBa_?95V1oh5I_`7)3(jn4;mtX025*?7VGCvUp;yD z{XhETA79~mi(W)h2n3kgq~gcKKzw)ih%7Jx?uo-9#vGYRWFMFq&H2UKB6+nsJ~+5b zMDzJfl{ed~SvR|PchNNI;_S`uzxw^ba@{mx9CIE=H9bGQFv!hjJD+t&hwE9F9zTBc zyWjop;iC`xes4xO=dZu{s)!Ic1&S1;ASG6{k_#yL9b}@&ff(v>iilGg1~U@T>d-T7AoPjp_N;`jpy12;OPGI$N*$W#cS&ibJs)I=60A`hZcR#Dff(7QEWD~wyV zsdEfKAc~QyjkWvv8he{;?r8<63q-v;;u>gLe+vNT>X~bVswpl27(>XX&Qwf-dr*?P z1tr*sWYu+90&f850X&WCruz1*F@Jl(6l+U>Z$T~w;D#7WpJ zXP*MI^4XZl_+7yIyE@rH8*A7iVKg%l=1^BSzqiBq6JrMGgL(Vudj8k1E?(^NyxNdS z?x4T}f%5|&f3Z#~vZYL@Akm0bSHk6^=U+a8j?K$YD{>8JGPv2hchdl4*C+n5gMx)A$MwMPl zk#aC^|NMCMXx==S%^KoC@|Yzy?Y^Ve!+5zJwqr1hxOZVb5;m9-S80Z5 z@zJEhREwD~F*B7SFzfs6tJlxhtK*a7KBg8x$)!mPqIP?Ic71cTSgh}U^f;v?qD)N0 zZ5L9UnL0(EWKuTxs6yYfOLuv=?+mOT@;IVoi^B(d@5B-{={v!JN14UN!`%A~va; zHGSU~Mc_niCK@=1(sy5e^NWvv{_@qU+~>D1&tgc>TJF>XcS@k4+9~?fNdXR_5}24m zU|lX2%-yr+-wng|@duxE?b0t}3iFKJ!TLDz3}k1gPk;Z_w<$*F$1N7!Y}WL<-NpIk z`f&O4pZw(R{RgY%^6L7sY1*Iu^iNi+_0{#|YQ6mO_rDKG?%zGyZ}V#2#K3vfmV@Te zOgT_463F=~aD@?W%hlb%$4Gb(&iWWb6G7w%ARag zV=*fNW{xfs@}mxQaOR)PsdLfFNPlqc>v#KyGQ*^?^EDI`!9%kBLlYa^B%z8Rjo4d$ z=d;!-uTJay_Z!(%kf4svr&@p@u*6gpfkP$YRi13z4O#1lsRf%6phV2uVjCG7;>ai{ zM9GZQ0~P~2a&11{40JKb*|23;oV21urpTb6kjMt50{r^TN;bLiRM?V@^v!-S6Su{vOsvZ8q<2f|-4!=6`*g9Kr}X*dnTEt>Aw?wk;|Y?Hp=|6;k`@ch#-?Sg_+3#1DgaD_0%nzbKHuz~^(ADK(Ospm{**W_d zlcoV&?G`4K0k{R(O}vk(#RgU77|g_Ch#@vmD_RmoqL5-!BsVGi{AYju_Vh)+zgnk< zKo%Pp%e!Vel;Qq^54!dcq@smbBeiDgEThx}Gmq&|0;pO;K~N_W{?avU({&>pMMOO2 z!>is9wEjXSCx3!~U~ZEnIfcku zRz1olqDmb>PbUNeIcET=X+#7FKnzS**B3W8&({Zs>*c2)HWZcd{NnZJU;O$PKl_V& zcYg%PSKs{V`)|L2S&01d#jE|WeemGkcDK!0fBLhZJbd`*;~#x&N-tl%I9MNb?II;L z!*aR&^2^_qJbd=akH7r&pXm9PQ<3d^Pt1xM%J zs7nbafb3RhqP4fhWIgHB6M{S4x!QIDg{IP~LI{DlRD%R+IK&wC5S{=Az?_+m`fEL8 z$!=f7r)Xxz929^G08=sMCMGSB*kYui1O^!klvEgI+uip1^177lGNhPN+s&J%8HQos zZ{2W|%(S>^B(f;TI0P^k4}6CQ=U8PWnZY#b2sJepQ&BX|o|(qEsAoGc@gx9P$#wnS z))nxZAWY$%O;0Tr5Rn2`&>H0GY@edjE#!azcd9bS{w5A!U8ErQlXSqy0>O=voYd*g z_|cCgM}D0GO|*0L$9sMuBX#y3%mSl;9?d%@d%l%S7AEt>eGzA8OnYDLh@3ZWRbVA# z$qA7}5(5n?zq{NpYvRaMpow4-v{CoayY+JhOaNGQWrms<2X^i@2(W+(VZTpexZOMg z_&n!L&caO9hYy%k-P6~tffp`@-T9syFPITXmB>v!*!{-<5UdUUP|BXz&_0!E_@#lZ}uYP(o3&SZiYT1SdkB;u&yL-4gRM3zM=Yc2$3ScsF{Te_v>$)~IZ%^NT`Q4lEp1=P7hZon| z&0l_ccQ)&0{h&o+(`wf9Uw;|8(9Kp#?efkMg%C=yn=N+z&GzQQMfX4ZQm@07-x#Xd?1LJwQlmj)G61 zs=7!`ZO;}KZMRsYl!8gvmv-25ksa{8lpnVHr+vN{G6im9Soz{5M zfQ>vPmW`MYfIzNoo`#yJelHV@1_GwoJ_XlkdnwtyJw0F4p!g5JNZ02FyXo$gQKdv8jzNc>*SxVcaW}bF8ncPCo z)J)qHw%6lte)YxOlLuGV+boi%31L0VrsELrDn2-iY1ogml>sD@_xr2o&!290+q-w~ znwB4)|E_ChBKhmDzkK?`i^Jp9$(<9?{ny|8_U+rVwpqs`VWuXf_4>n)KmBC8*`<{3 zoScYYx9j)&{g{XKdhJ?)l;SW*$+?-$e)q+9+nb?jqKPjijTD8lO5td=MTfGFQflp~ zG}%ZSOwF{Ys-+3|R`sME&qKOB>)0mrfFij z%`PQ!SBTr6vuO{1XQb>_&_+IdsShy$1a?|Vh}JZ;?EzGnh?zILofZYq&E_$tlp?u` zq6h;quu376*=)7fy(ocMBokQ(si+vpvrfzi5QUNjGh-l{h?=pgssSkm2CM7msy3=P zY(NuR0+W${9fG`vL-=js>52FHBF>MG%YJKRfOjX(9r0KPW=xb~M{%41Xauqei1)Lf z7$g%ffru*`h?I1qXrb0SfQk7qo&rDyF_aL4DoBkyMvP)q>fKR`LQwPcRI4W3{&6QC z^4sp;uO*leoheH19oQT4+%LjM%&)%N)mnk)HlO7W<>YQ^|2&93`IQVQVmXJMWVV(NBr;Y9*0$m5{Al;4 zeelzlyJmlS1Kqb>`uOpKNB8c{X7i#LiV`7kh1hZH#7yB}F;nE%FW-Fo{N?YzfBN># zMF_EN@c8cW(K7DG@y+=qh%HhuN~<{;co=Qp+s%!&iRKGlFLAVPHb>xobG==zusU37 z?mvI|`Zu3{^VO@1tDAkpIGDG~gJm%#P%$M_6xyrqOG$0~;9&L9YW8T(M=_0ptU@qw zJT3WhyV}?SldzE^tSqV^6Ev9M=Z8i1~xNBMby3Z@>8&~ zBCU2@sIkQE!=W{n24Uj=su_`S-GRBl1YF1n0nnlrxT@|K&CKs+KmZU!2h(xfwr#gu z9DM)7@9x~WN0h$&>Nl&^YB66NAKrJox8H4>ruDH6AreTf1WvQI`}<%2-MHO!ZD-B~ zaaMxXR6d*Lh*~{l$!i6#C~k@707M0VkT56&G9~eP93YU8IIbZeRt=sN9GDW3K@}$A zDy+K85?8`n#UXs+UKxo>9O_tb>TzHQi3V+FVGLqSBu;7vDl@hQ(RnE}Z=2m_?=-0Z zEe2BSQhWCHBJ!L#k-E0jiOl9gP^wUgQ3ZRM5G<&nFhbL&H!oj)bMt0540rF`*HT`- zdJg0DgTq;OXEuBKlb?M0kN@JYhTZNrzx})G>m5iA*6aE5_~`KD@Nhk!uf{yCSI02U zrB_i3*zIptt7XpOvPxC-L*LC7Po6(NKRf3D8r>h%0yxIl50;Cxoied%31mTqUq7OCVP|4g;+*nLJh*;S^ix+oD;NVWinYV_-J7Wd=*F>s3Mvjinc} zA`0VK(#DC)CV@#55b?t@7z#s0nImg~_=cryuCB9brsQQg5pEYhV*mBuhx?EC;3T!l zWKVsMTs+;AXhdk>SXqsm&o`-LVpfwI02Q{sY2Tf!Uzq936r*fuC;rCzsd%?D63ymzTS~2}}||UZ~1w z8qJzipEYG;30_!O-P+7?UN>tu1egRwpd7`}#`tF6zu0VwkcHTzG0VsK^22=gNN$d3 z2(z`O6-(~Aw%_jdy#xnhn`qr~FTA_CJUp7;Ieh%!-o5#(ErLEPGjR=3QWzOAft%RO z+IZDpef{L^mtTJS&C{p-C~Zu~i#anD&~mjryS)6(Z@+x`=Axa?y3huS&Kq|883yiq z+xC_MwX;5^5AHu$JUrU%hTlAS@^|08{Oya^=bK&E%$9B1=VE&~?3lsE24Fi{w()2l zK0R4KUNjFDZ4w@{_9`j1z0vc2cY~sVX0!Nk-mNT_n{h1l0)m3`OQVsKh69_^<*F^G zRJ-`5C z1`~zY1S1p~ZfIM@Evz&8ych7K_zt zaV$DA2N3}i6ZQL>wr%g-zx(y)XCe~nW@hgY4-o1Q!;dcK0M}}Mswe7LJ)nlP2qP3z zRLe0KiYW+@SO_ZOmGo#D1;G%RV_;>d2Y9GK2;?yeT$95fMoMg=@A^8cFG1vb#lXXU zXtir+Y1|jMZws+i>57ju0fUIdrfr&(vl07-4;Tdw!?53Nx9fuwW+sF>^{tx-CL2B6 zj`{}XQ1-(#q(jv^Z6p@A;mkAQe4y%gkdh@w2poL#w7}YDIxL|9lL_NHyZ!g9ADEz4jn4gvn#M*dCgT83 zS%HpW=#_)awHCj)QE^qA+Z5!9yBe1BB-#aEoSNNdYOmI zeqhZ`e*r0kBZWqdV9E?cYD2IPB!kBrDtXiZll3ApM=d&KTsX|l?u~2q-i%V@HlJw1 z7|5IvPr)luVu$LDh~m}%`F|hpJ_z?7r27xj!w2#1!*p_z0PFWU?jeN;is-b78hktv zMr#5o$c$a5$O<*JM3fCg7N*|D2P;(|O$-wQhidI$&|TT9GJ-pElai28uy<9oa{~#% zL9I5Xt_jzJsBdT!+&6tT*F31%JI<&-mr5XTr3)%R7;+BGu@(jIzUnyBj5v&v1xTO> zG7hL*I#fOE?T^&m+sj-7+$@`1sjR^i7TsShvWpa^N`o+I%4#QRRXi4=o$bf}?E5zb z+%OZFz{qHpn2ookMDVuc7yIGv!O|V92M8IO5JiV|Y#wy!e3a8Mllx#Qo5z>cU26KY z&WA99c|R%pqW4$xk zLh8UtWc=x;AAR`2{c()MC@L^c6nshegH6DE*3A=NZm$3R=P$nb;ra6yFZ=E8_|D1w zWg3T(L$Wf2)C_~3=XU+^FXwlzuCLBYzt6b`B?_PbR#sBA$V@P?&9;%UiTeNgV*J~$ zUp#qp1)`(b>gdk$_08t|`uazAPh!N2o9#TMtlUQWXg&L2HM_rzhujpAywlQ9iRpY8 zF80@BQck=M-2rhIV%geu?3p;YUd@fiw7`g%B5{~tO;%zyRpr1Y3IjR6n39PJG8%5? z>!zJWQYxk0?nAa-<%cnUce8!b50|4Fp$WW7?A!wNn5J7FegeQ=u~v+)oQYmgYjrkep=yN8Am;1aKy{C)RxJ!GDixt5Hb{sBlcIXFy}rCSH`V+1 zAH;C>1tC`X1>6?DDnayV* zB+_aVS97`E)dlaK+}jaCh72_YaWKGCyk#*l z5oM+bicAU;Qe&es9a_^++$|I9c0>$&=P6eYbrKk8u(aaAECh$rUD)g&i99qw#3+WQ zP2;{Nj^4;kWMvHdEgzmR0#~)S-^>Z-m zQPa%MFJEsqn@5iyn?hN{N=oU)i)X+4;`7fw{j5m|fEaGJ{V)tfW!De;qS^Fj$U8+~ zPKi}?5Gy9`Z>zOU*76SsxMEvy7EnW%|mfQDh*_1kg3Pk{~>s|R+a@eWG@0Zcx_#Y4mR0bs2YJ($cj;VPiTc|do*Q*I7aDL zG-AHcv$yv0`Cx{{BA(poKKLj;`Y_(R-y9y(;R#uxeve^PGj?oQ!9-G@O-+FM%PW8o zj8&o0+(uyH=1qH=5nxJ4#!Bi%yMo6efH9@|Ak5@%X_0pOz&fHwb(u|3lV%|Mc(qh5ulHl+kKz3ii#C}GC{)@*bz+#F0P<`S zutg;RGN`_MEgQPh&v2#cvCYRV&YGKGE8m*np+HMhIOp2KE ztPI0WPsj3P9G>il(_PMLk;5#qn~M1Zs6N>D02VI*>SRJu%jL=L=>0+g?=7@Cp7X-d zF$E4GD2#7K;RH1?4;hE}n3BEIuN6>TJGV!&35P%-u-QPWUEAC_zCWMOHaDBIv$OT; zFoyKz?aRP%-;ZIDhyxM7J$+UR-@SY9?c3*f?mSeJQZh4176M&eU8aCx$m1|NreH>D z?iT z?97DgVW)ohjs32Sd*U#io~~bY^Lo5bnFK)GY3x{#UbZ z{wF{GCn0oz8OqV&Nx$D-UcONsH=7+Xefj%eKYjMyXP^D_{{8zR#uUw@6nXvn_2JQB z*DZFt8_l|yFW;WN{F}f1o6V-DAR&;6Gqj2f2B6Q9jmS{Qa@la=CUGRrYFSDaHIC%& zE+TFhP)xIG5izK#saly9x{*zlEbQIc{@xA_s`D$VK_z}0ctVBU>B*lb_iH1B)U<8e zRDrNhwTX-YsfTABqJsf52vhJ&f76d5L(#lw(~lqB`{2QY2Y2tz+ot5wkFweH*PG3J z-*5MQ-y@4iiDEU~-cPa+2$7{^QwZ{MK5LqAet9wMON?!{J&;47BA_;{Rm+=aduN=2r{JMMu`q);o-^Raz6~?I7`tmS)e*U#9&m#2maYv#H1j$=4+DRv0GI4 z5F@MXB8m(kG6!@?yA&yznZ16w{r-D&DXb2g`w!#e$MNp{bnkvVzT2dz<4|^cmZGL) z0ZM^&9%3n6e zbxKdJch@FeeJ=laL$3c&V-8LxHL7_8q(;O#J;;;)Se=i)L&fUbCL$6qFj3Kr5RGdL zvj=-)FFJ|=0ZidU=-z=A^TOA*(9d#KlTLH=DI8<<*-P-+cS@>5G>s&6K!U zZh#bmnu3+VOkgl5FsXf7au;J{n!8Y``2%-x+W4SQv{i_w2#&+ zpj;D@#c{X)=w$Z4`cM7^&DYR;HSQxL82$3#;K#G(MaerEnK{Mq`DS;OOBd+4jq7%n zluECIDFsGT3$6fGwL;2pvX8+Gfitv-G6DXd-2XU6QxzjMggMWb%h1H27P8LALGyUE zAHN#&v+ekNJM4-CrY6QN1S3%j1||1!uiX5pQ?17Xra76R3UlcF^8?es?cJgFJ}U~w z%ppX&Ex`d)NdhLI$Qg+gDv1h#y-U$jvv}0c;t*3&5OW(>DU_G5pGg_+-Me#i__&B1 z9p1aXx%llD|KY*?4<6kA(KuebeD&mDakSfP+SKfJH&>UJ$H#X=NHL||W|wnmQi2gh zwyL59%ydcy5Ssv#`q)lmX}kjlU0G_X2*fd_d7F1Tg+^r}maH*`uv`w?KB$4Hc%X9S zf_mS?FsNHClLc>n2q6RnE-EUR2oU<7FNL!%jKEXUIuV(Snljoh?l;*_K2I{8@FELL z2xNw~ZM!b@y`&VT`3#tO*!R2LrkfuDAQPL8GVi~v9uK}ENllrf=SGH*LWoV%4dZ^; zm#@D5f)RiDC;y14yV<_FzPcR7F~&x83>=S-?k!jAx36C9hs{6wi+}Q?PkzkY=F;zn z-E6k_{`+rD<>c`0e!mMG*6a1n_U7OHH~;qLdK*$FG7=-Ez_2ooAw)IhP-onnf-uF9 zQrnnX8Hb^iIukMv?jmR*F%C&Y2T@UtP-YSlGYG_~4pS#xt=-Adr;0idfyDVow-aHz z&)eOuzuxSw+kU&-^!*@%5+Q|#iOnR-ejNH?pNE`>Tt2*e63MPNgBUYVvQ*k0 zht=Ja`ybppxO3RH?Jx{i+pFz%w-;{vt1fSw)$-1&-H*fNWj||Mcj_h>QE*_7P*WP< z9yF$qOnH>F;3}e=C?b`JGqFg?VRl3#AhqNSRwgVLyj-x747>j8FYv{0xNXwO3EzJh z9(~Z=dl2v3r}aUkVEaLay^8g0rPxt}0Qx`$zh#K$e&UgLv{5U>;oF!e(ouc9m`t@H zHm2g!VDGFZmP=)VgDf!A36HnhNb%%iGd1`3@S4#J6*e;yLv)1#w5lQe|Y*z zCCr*||L_QHqpZe(Vk??W(X>Iv5}US}FK;d{ZZ0o!9SX00^F@S;@V)O}}6^ia^9<;9};k2A=2V;w?WhLv+%RjAbAK z5%>N0!;`-*W&e-={9i2>s~>&zS>WdS=B#a-AAkC@w{PEGT$~;s-4Vm_@o`GY&x5|- zl`N{!qlBEhY`4A>MgY?^HK@qrw7pHu3Sm;Bg4slezHf<}c_;lS>;e@VWsF@jUoZOW zjfut>l>|VYzD^|oA-Dv?A>TmmBcy>qDTs)v+U;)O01r4+n5L4Ol$1HxPMTS>hlbdw zsFxM|o_|IlRzjdOTg>+T4GaucEo=-5MKSjK`RpC5!yBdw-`?V=^+qd`bxrbvIhRZn zx~?O{pa1Mn4EE;D>+SARw9K2;@!_4tavcIQxBdR=$bb%HiY=ix8MBzumA4q>ZWVw``qV@uAQ|hm7=8-Vs2A2 zo6Wj5bxj*nD2Bw`G_9%*B16gN+nddHQ`Af%F^6bsDyjq0r(e=rWY+&xZ%57EwNEFhBOa|nl{r7m!zwTLq{)^PwMP*`+b3Slv8$Hj8U%8O{V)temI5FJPQ9qi1XuIg!a1^egCrWiRiGI4Q0&G1QZJboiqv+ zC3Q-VpPX&mvEh2yDRBUjlf#va*bU&siU&SHAK-)2Ju5X7Nz1Ws0dEEfk|+NDJkBN*#k z^p}tR*+2X7gQK?Jj(_v_PyXHCJ-xix9vv>bSq#b%(NtBHWUo>PmWdKEu{NB@R8&LY zT^@G3J;%r-Z6Z))uyO!!mh(rm)l9=yav(xSN180!GXnf%LZ6L z(S1Z*wu|{JFt^4Sr7N08dD{;!_Wjdc|DrF0+AM}eYP@PT-*~1i%E%K)^!7kdA7D)l zf+MhIRagN`OWvje{{1zL+mRdH{=&c*5CdU0ajNG*j zC8Y>J4MlftYL1VOuP?8fG*{KHzy9s3x8JQ6cOE_XiD562LztQBqeruG98*d$Mh|TY zoOb=q>$k73Z?0C$yIKJSbs0FEuxJpQa)ayS0+VLS8I*qR``%~(h?x}Q%|>Qz)3w-- z#bHRJvLCGp&1x}jdKHTtvSen@;bVmsyvrm~gO~|}%-A#%h%^!rvkU=g> zHwGebpt3KslG?UaRSNZX5EG!HW|eXq1ZZbnO50L2ID%qE(14&)%#>?G>`VuJkK5w2 zuIab~gF{6&)QIf$>o?a|XE8A-#2D}0`_Xc-hV$bfFx&3Vzy0p3)pB+3-iN7~tBt?? z;%|TTtH1s6k9Ujt`qisvKmP1z^VzDDan{X#_q$*J_Vdp}Y>p2Pi>h%Gx#@@fupgOd zF`wNzIzC(-&K8{(Az+j|jG2kYJg6e2X1!QGJic?bxqNYPakU>r6$PB2s-iMT*$m@+ z)-Z>X2LZUEEp=tkt#yN6$U1(*G`#W~SFvfAzTKKMxK9FZ83jZsBo2&;XT!kcpJNl+ z|86K|aA7H#7&B6g^TljAZ&hS0S;VvyRTV|sHtX5^XgwcFe|mm#`S$YW=Hl|^=4!J8 zf{KMeZHjGd7j5f-T{pWv1gw_xtDUIiw&9%1^62>J&Yfn~%2EwG#L?%>aIdE;KQl0oD)1vv0_X?VHVN{PQMP*w@B{GBfiDUwf zFcU%`Qm2g=EX=5F1C*7<7thL*9}tvaD?eE1;U`yf7egylhrO;>U%c@&P|S&Z9K z!~-08Lhx#FNCvYIhEhVMu@KB+VyKS(nr1?1n7hDPF;vnMrdp)NWRupK-Fs;zh3e64 z^}(w7;{57tEKR7dO<*D8>auk^rmz5?^Xebf4Yy_^%4pw{ax3XX8~MW;14Mur?liHB z;d~f+1%ui7&_EZ0GEkcqUvM@dCgi%0$}WYcY_K{2!!XrJsOg3PP>O7D468mFMnu*` z9*X{dpPvqe5(jTIogbV{Alimdy}p&eyps^m)F<7 z{rbu8zW(mXi__h%tmpFwC(8njDT-P~3>4Xlil#2XWHvw2z*lcxU0uHEcf;wcGgW)^ z=y;>*`J|LOnr_g{YdR>Y2v77ylgy?KA>&MG7eB0+|eg9%NY;q1Ev@tBab)P^6<7rQ;t&-+LmP*ArDp(^oW z;)sAkDn$&M3sbs#=OX~uo74OEKbm!`)p}(ZcKvk-(ZI|UV;f^<$RY%)5rStIZ{NIq zHSBjOHAJJTn(8g%t8$5m)Ql<*Nv&pXkV7L>O@)EV)0!Fw3b`LltetnMl#+7@!3<>( zG~BHh!>-pccQN&nooCNLWC9=tF#{|RtBM!|C;_Y%2|){qP}4HGRJQIjG#xX3PnfL? zs$-e07u)OW5TdG9Fw%z{J}e5!;&Lo8SEE z`|rMAEe|fvFMs{(zd1TSzPPwJJv;l+$3On!i@$&N^vT^j_fivb&bes6>j5gF<2ZJ0 z_t__hN2>$M7>kTqvXshvWQdZeSk92rb=`x5!=vTFx3Ay4-QE-uGK$1zvM+Km^l3|r z6jCV$7)YS?!6bx9fTXoetp`m#Gy!-ZqK|%1Q#Wga1~Y&W0S<=1)OBr)0b{YMfmNzz zrSEV1l>toL-z=+-&-OKTFMe z);&5r=!e|R<^Y$R!PZdd5_`#VvYMw5&aSUwK!9boqkG5egJqFC+-%QZy}3L+A4Y2e zeZc#9>Uv<4Wjo|qM1T|yq>k`Qn2x$yR8?I88>yH;gx)*sYCBRrpRD5GFfh~*Va6ac zsB2+O#ZMuwBhBfQ4Qgy;Sk6r;AXq8Gw_gok{5H%N;rKW{c#OOE!%6;c-w`0XBC0Kw*2+Ub%*u$8G~kEpJxGZH5xcgbR>G!5Ew~1P*hpaHqS#=R zgRl`H5eB2=2L&d}3pN-sz-$vD0?nXtB&MpaVOMXc9wr937Y8c{WC1pc?o^pM`eDT& z4I6MlcpSzVu_~q1&QlooyYIgF>ig#}U%Wi+hv9fV``L$g+sFjW+E|E(an#X@6e4DX zlu~NCWz&qZ{p-Jf^_wrhfBNhxxLI}G-IG<<)eT87ax6a|1g{W`ghO&?ccmOJ3E`rX2*vsa9vd75kpiVcbPKI zLzp#5A(FLVo9FYE5~J5*q(o#C3Cv8)R1jM}yD1H0#%*s|m6a{{&0?5Bq0wJL&7TQ^ zka4NhDKJPv3)(~if$eBLPc5Ha572K0dA->@>C5>rLaj}4)wDDX>Fu_L^u2E~X1lc$ z@ukdD0X*$}R1@(~fmW-`Fz=|TqNfgc5mo4KDu1aOi?EUiX#z5c5FLK^g~oL%Ul|8l zMc-OL2@@5;J>ZDNOf@U3DFQLr4Ri&h_wPM^`0zuf2(zN2ftXTdH(43SeMpHc0$}Fd z?)vr1S7W~q6ad}tMT$^0CYczFHN?lcbgD4ej=A6TwUsHCQ5~V0j#Nniew# zY%F3%flJ9`)-7f`H7iIQR8@(K3L650$=E1}jb?;^kXd3;h*_~5n?*Q2*QGryRtWiaxL>i8e%G{#6+e_0kzzB$&2_Lb2eY>ZpLc-K&(oD1OziCSTGn% zs2p^K1;7H4kttD7Q%VFI_x;JqNw+*=qAs-`e|!QYg3~r#sSr#=O^MY^+jf>x8it`w z@yQR*FRv~?{p`mn#gmgeZL^p!X5W4P)i4a-e)HAufB)5Dx!CTu@eNl3(j(ztxg8GyzRk*<`_H zY?FStUORyy8Un#UGLczTX$)Osv)L?i6JwZlBuc}uKfk#=ySRRJdUkeky4~$faWI=b zJU+bl>H1)?TCP`ZH~WA5SN~N6&%1VuAsCJpt)+A`4)@pTaM?b2v+MJ2*~Gjb=BxSY zgOAK~^XAR#XKyxVn=z7UHVk{nL=Pp91g#TLv&n6Hu5P=hG zF%o8mT40vS2Eb&*=4W?3I-^b3mgtsvRGBu;@wug6yIO?_V5d|t&lj{>n`*hZEU#Vy zu*E#ydDz^0$PXUygNO0(Zj3XNtowm-b`SueG9yh9IC-FmH!fnT#{PdmVdGxthwJ@L zi~u%pU^4?-FsOTjxk;z*zoe>&3})U8Wi$?s2avM6Z=1pmx8T2E(xot116ZJ}gkr@M z2=G8at9_fB7qgNDxkZ8|?5cuf6ghmq-JcG!Eoh_L?UAyvp}1Iu zbn^ExLUr{A09LU`6}e^9NKh~;GND8Y4a895@E($3U}#nwbNS~F?;j-oe?NKMn}r~( z@HC0!#}IKL8W4!>uI)Z5*FWX$d_JR;E>6$BeERgst2b}XE*ZGDUi|3cdLAi;q-Hq} z6hfpFfUM$vaUsT88?Sd4Z(m$q{_WM<>mjk-J-(Y#yC3$kX`~E=kzzaa+dPc3`GPrE zT5R^a{_5iT;`HqGMcEBU4_5!f|L9Nu?B~bJMfddi<^SdX`P(nPdXX~@*WKN_C({Li z87gC);oWB~DC^m&N(dn)4s9c|wsEcDAVsqoBn1w^bE>x*6rTZN?&?sXp{0$QV$c z{*cGQsP8KT)1a#U#6%*~w&nAkox%Qe-Zt0QUu|}OcdC#leTozH|W)bZ`q*w((mx&Bs*zyu1BziZwIqg;byo2UBDf0L%vFmXOUIV?Yoh9mi~U*74pa zaqIzr+3i_W-363x=k!F%6vq9~_PJ>r>G!vucSIq0x)(GN2^17&^R{cl(2t%E=(gjc zLMDv5O%Ti|vN{{g-TW!2FQJT(hAe^OgL{wtp*I^vcV?VoC^Et<1eihcXbDWDs>3)k z$K8H>@bH7jAAIPl;I?gjvi9l6Kl}E(FTeciHx!!9_6mqiO#A&XX31GpRf}vko5gY= zs$Mn#L1hGinV5r`!m59+PoqLZyM72w_~6b_d8=3ZU6u?BM6qbu3SE|x`h9`8A0Suy zm%YE7-4R%UFikgf+OCNv^**fDSx{s4TMy5*;RvuYL*A#f-!dqD$29+bn8T1{svP31 ziHFNYn{2Z=dwq5B^7Q=t{N`$NS+XqK?%whGmmhw3bg*78*KId%ni=4f^0HpEt=Zj! z#pAn&>-7Q0^!1Y;jyhT|+pE5uZ8x(NC=$wW{L{Z!9UYy2_xQ*;czya1qaFMyH?e3y9rEt8hn;#W~PBzN}k~S$(6vT6%*-@YV|}0i#nZy zRN!AduaLcwJr)IdBr+W08!RhRDf1VyMW?x-yuCg&J{r?#Ivt>(?Bs&yas%qx$dpvWT zm~*P?s_GiMs?g}hAot>86cTbFeBdwKhx;-70zUEKk`#)NFC@_*AQ#<0H_+%t4~3et za)``~$QaMOM|U?fRX&*cK9Si?5$;UMh;z<9JNI@sQ&U~K)>0NSC4s7`I8jv)D6+94 z?V8wyWU)IAC^3nt5)+J~CI`nvN=c1{%n83-cbBXYCOeIIR;w^~#x2nZ^notkwVM;& z%$;r2fBfW&7q4GEfBB~E`u%D1;BYn>`+41fDaD|c09RF&tGtL1Sr_^glCK*87uQ!W zuP>MDb~2is?9GT!jV9aGHMuc~3tb0u7K8J?-rv_gy?OOz*etKFt`=7vIr**kj{p8o z-+BCCuixS~pTGIjzxeECv1z3PH_#x&Uf|66)z}q$CDT}6>LJtsx zm#cOYdM4M1j7UsXxO%!z+ZoAtKcD#T!B5o)a3$5fA}dwbJv zyS=)+%G0be8-U4769=uEM&<`yXgBMvWR3*EvX!=_MEUrD2wBi>v1(?MRFn2mnMD9a zXrrIiVbPH~p)9Lo=5pL*E}SPgAyw-Y$s8eaQuJN9HO9rOin$c5L{w~6m_f-9SJ53e zrH~U28oLs+dAbu~(2 zA@nzk%d@ld#bQxcO-j}!c226w_n~Y1E?U=a!|9zn|MFk_^QiP+|KcxvRXMH$r3BIx znK`9oAZAW66>0{vnmYDf7e=+ecX-fV*fwnP^NF}O?UJ2sHeCu+uB{{iR%-4Z7TjJ-G~l0tlYx;|luJ1>c98G8Mz4!QNK0n&uuSX;HjgU)fA;xvvsUk5W%1D3gC|K+K+DBM8Hsb;o` zB2Y3gOtOI500NVUGc)sy>DUyyS@&1JqK|&jj>hibj+~zIo%?cpioH8DnZroi*7~mC zKnbOlmo=r7H6rRDk@Emr#O%+Phc~EskE!>YKDL@|4@#gk!Zs#lFp&aa^FYX@7#G`! zOb!QwNi;_^C4sb-W=?)`@8F=WfAwbdYq;NjRA%2k+I0%do7 zG}-vrKokLQWX|F9#R32`vyxI|g_5);5wuVJcd>q$mM7dXV+Hr3jqAnv+4+mBo9jEL zciw;J(f0amdvmGIL%gQeIk(-mH_N4Wbayn)`uDEerUX{?UQ`nUhx7Spyx(pwiEE8* zBpEsGR$CR!_NIMEsf#x+U#_k%u3lelZWfdM*?<2J-uXM{`lsK0@8!knX1%S*8PvE?$V#Wz297{+$iWaysIYBv=w?j4r(|%_^&#}?D`vJ) zC90T`UG=dc_CyIrnm~!*Gz)%-MAevc)@v!dk60d@J0`b4{P*YUhbAZUnmqmfgToK@ zCYP_5e|)hCO8Zp?5u#(42DaZVi;Hdr!#dE6b29K2X`$qt8J@~fvV8a*fH8m#`2Xwi zRxMRXeVMtZC=JJfSb^N7F(5OfEHCNYDcQjjnl1jQ=swL9h(w;LQq2=;lnMlwL3k&g z0dYbx_Fq2z{MG9>ZM!)QMx*8el7&no*qq}Kz(mHza53pRSY2b}1Qty#Qztd5DqPd_F?{sNFW0N? z```U;T~&Ek2-k{~V#xg4JRj1MLQI(9c)Q)IB@suA#q#>{@{*bAy1IM!e%Bp;_Sq+< znqufE&gTawckUdW9E_Vele>5K{(t+`Uj+@?)7IKeAG#29IM2+Cn29hE$%k1=1PTCm zF&<4u+qnPiDufh72(B@M5MQsB%dXuYH)4gdnAdxr5}fB;?DE>T19iFjWi#1;*|81N z2Z<12fR5{`cCOX-w#WB29LUHXN+tdR0K~b)vVZ>UGZvbU>uT(5JL1RbetPIp>+(yq=}h#Ta6nmN%Qrt2gtBPf0HpeHYqsLu|HKE$)8%2fVm? zf71NU@BHM?|MEXptQ^CtOY0thjcYfmYckG07$qPgWlf{q>K2C&vMWl648*2v3U;K~ zuYfbFK?VS`P$JBj*$L^6%cwTY!6^`0i48j`wV7paoI(LgS#X`*ow%sC;MA0vs2-)N z$`)7g>Q#F6l$m%s!|^?T_r4w6rNdL29grK7LfaKWM`i$X9^_uAEfAQIFj>PyszJr5 zP(^pc^zv=bL70gWF%4Fjo@nHF*;|*?bG}?wkS;Z)WW>muRCC%w-#*?u9M^yG^15fK z2u0GKq3eO2Hu#X`Mi7Rt$lx)U)*1#=^)fOHK=F9A?2~Q8j$UrV<%>6)fRRW+C=j!+ zu~{-EQzfOlBOjA3LUuDR6gD6;FgRngW)zLa&c3&Q@O-;^w%j_A%n2F}6af^R46kKooSjm7g1IC z$<-!^{nnUBvN369H8ZjFG0mM^@F)N2kBIF@ zKlponSU-RD#e6>Bn;!%%Za^q%DaBA#)tx)1BBH9>w!6N$Y`1GB zH=a&s^ZEYXd^{dqTr5BN?2~`@@Bhtmvt~ECTHLg;8=3^HL$i*VO|6fyZkqXcB8o0k z*x;aaG9KOZv&-#DlTu2|OibI@Z~Kl%#U!hM<8NWWJ99wn5Vq3Y&k}*0B4C%9XGjQU zOq3~rwR73_?Y1rWw{0B)c8-K8B^G~YZ}0sFci(&TU@{u_LBXWSwtZ9$FgOtrh&U(4 z1aca|s!5IdE~o~Fs;a8jn=dW3@Xd0aHvQJQ1Q0X-i+}aMd-V9;(UhC|+u-S&&;R=T z)iXER3!Z0D$;5F=F-w9~<<_6hG6f{JVHsst4s+u&n#RnC5g};Zl-`~dLLS{F07En( za>fFHvnzX%MI;y?-qZ}ngP}x@mO3!Np|H&KHq(KPPQ@%Yla<)G0+cmTJ+fw;2$mv! z`J{XD8?I~H+vlS@?&Q86J;1>op3Wha_FL2GvbwHD_hRh_y@jHy^)tOfNQVMR~Xo z!$>t55=gvB@t+=qLX0wAD5qI$q-25&u7e9(x6Cdb!nvv$LzGjSXc4q>ETjw~)9jU% z?=mdmJdI(84$WmK!{@yVS#hll&q$>?%+ z^Yq0tOGq*GAx6{V>1evQ--V8R<$Tq*8zQG_Qq@&mueQsuyxCmcyng*=bJLC*`3JxM z!H>UpZ*N{NSKWX9^XGs4i!Ya}c5i=ld}l9nnnOz7lbXdo2^Ft5AS+Lmcf$n-#R|T% z%5#!c*ruMPsT`O|t=Hlea9B4z)1RDQT=)9^emw&(HI=!sEIA!v2s9)Vj!wp~7^Ep> zwCtDLaC*G|-#tEbRDXVTjm1*h(X8h4KIA--pk@q`kRr;9U`Lt6-|SlGAT`{Hdg&G$ z#83_F;u@7DIaqm=9r=|%zfwRAS17+0i_25;vYi>SW+BHug!CO&CUM#%!Z8H+wwZC+B5-6_*#b zzELF=VHRf;NySSaA~yYKT!n2Zapf#ohL9C8h4E;@TBm56&DCH2 z)t^C8*Y!J(-@9}7K?v*BdX*wGA%BXLQcSU_M=_?5IwLwfJSL*`W|K#bc`x7p{*Pkc zCAINn&diI&#UK2^AFS8i(dnHJ-hGc;^+$jDXX5?AXwP{^W_{FT8k4pm7zl!B6gF*A z-Ji}%ztB=p=h)quPNQL+`j~6LTpI`RGFo5zUx=Z^@U@<-1Li0YtY(B2wm0q-}~`@Z={4v!xEUD-h1@&*^}v1 zJT!r03NaQyy7cYI)F4cG9%tqo6Ay{R?(GltD8Vd6aJI)a43nB~BTxZ4&CFa%IgKbw z5ZJk)rqWJQSA3(HiAc!UQ9RR5USDwbd$J zp5x=6+h|O)LpyoMrw?iW4rWJ~9hd@rYkdn#1d4{su00u#=DxZK9ZBvJ`{D_`t2b{W z9CBC+hA!v>?|*xL{`q42WVsfR5poBVbHc<#P$(OLVfbRPHKLluVA)c+N4z)o@6Gm~ zEjKULfmApvDTnA;oGkMirlD;?g{f{K$4|=RtCdgU0pHANtK~Ig_3bgu4Ot%-8Xf48n5o9wRhCH*|T+6 zudYROZ(g4q-aS1!5$|HBk=3!OZB2lP6xy5B#y8VP4<7l+_~QKP?D~d;>$-aQ_#Fm9 z=vJ$hINsmiCnRGheiGZQ^WL-X`>Z` z^}qk<$5-bjbXB4HXoHC0VYDy zIKT&Kx!tNkQ>rWX{^{iDO_)!GFlZYjoWLy#hmM-y20`uxdy zvw89S`Fy(PT^(aE#QYSYdb7O}sfg4$g^gnBKKkevZQF~;c{^``kxW=Ul&Nn}bnZS24y6P87pPG9iFT#K&j>TF<8S=(6v7q0DnthB1T4 z7OTaNzxlyG`v?CL=r)@-*Ner8j}mUyVcSZx@w3R1kO-W5EZ3{w{_Y1SCx?IdAO3CX z^x>n&+x6z7k3U?kZ;p;nysJTA;t+$GIdRO~_Z>S2G9vE#KBg36S5XZ^j2*kWX=c9m zMC@D@`u4Yf`+G@sG#P*Qn?HQ|{FB+Fn$C{AS+>AP$=FHTcgxL26GIQa zcqJhgav~Y&%G-c*AwO(P+A%dbOZCXiEU^Tnb=TFKO(m`pCRb^mWW zps~$E=bL(DY>U;|`NgZ$r?yY4e#1f)SVUpe$9VDP?C^AKDM30i+^ja_vUMgCC9p6D z1(7kO6t&bkMVK|93KDHQ`~-?(Obr#hH^3Af+2ad zp=L3NacP=Zu8L@l+Jxp|{hhG*KyD7Sjm*nbZ&#tae&d}zymNGX=WsrmfE*GwUG!OV zuG9wtJW;&7yqfKweB)c+dH&_Iuv)(N=zbTvi>uY)q;|d%7DMd&{_tRbG@i8~k{dfm z-0WFcU0u95Kf7FBFE$qo8IS(%?>zqL5AL5HPHxuipZw+1zxeB?*H`U)e|&N@Ce{Q| zHE;$u%@`1<>h*G!K%P9PFd&JU$drvhWd>C~XE`s1>-Z#tD#YZ3id^Da+X2+pj+VYKs5dB2!F|n_RH3bXX>^je(H^($P z_OnB4*J*JPmgm&9NQ%1VgFE5ybWE+id`j$z9204;%BUujcC})rXn8zw`JZ%qG)uAG(h}{p8h~*WdWyJJb0zhm+7pb;``lEG*kdni7bZ;lw-fec#7q zjuUy`c3bZ%1FCxbgCG3vYJL6e*%xiU>iT|Mxv{6NH86+RXBMq(!fJd73ri5YV4B2GZ0DFB+1ng+6r7m<+lA#JuH zc3WoM+dCx4rro@`e06d21}bJ8)3)(>3UN&9%~mD&*){-Ra5S3|us@v&nR-xEV((NV zIY3p-z)WRIUp{szm6&OoOYY*}P`DALxsWJDp!k!NPRA|+0Azy~9pDBd?+hhqrm@2i zv+q4SBcsA%H)tdfzks*bL0@o{8ZrjK)b7 zG12qS<7Xd}_q=x~M|bVyzB{@{^E*19u2FFcb04+uHi>gNqzWP>X3`8@X9Fd&+&DC- z&{py3V&lk&S(K9^8G&+RQOy`RbwELr2c0Ac1c3*?*!0gg7a^+T=>_;o{g}BFLI`F4 z3W|HMkr3U)Bv7!=ylXAhYnGzJfl}_}6B_6GU|S<5D5adg=|+84l&FGI6jtxPwwNppH~aB_TfxOd!#*oBUrd1enG zB!;MkZP$vcmRAc?e)Q;_H?Low9L>J>o$o%lf4p97|KET3M^~HeZ04O~jhOB2`DPT% z+-#3hx41qJUAlbr>f-vwR{hES*}wQ#KlCT z&}CS-ly_zX^CIWV&FjU+i5MG7PbNQdL8>e}CMkfy{eXy#OqChVR{>PBo7ZDRg=kEg zK&G+rZp`)d%hx_cGOUx%g`z6T07No#NdfB;QF6?_J~)|-;NrGVo7URCPSz7$g!r@# z&(2<7CEXeXGV#tx`y!>xX9Wsh%Z8es3Wc^1hlUf~Fz~xF+HE`Ehw{@MhLHt97}}Eq zTv9}EyO-EG7Ud`JbZ!JFOxVF(qyVr$jf98pShktBLO^9jG)i3BH@SPGmfc?s$?W<0 z#nEh9RStxUo8{em8z<8kyHP!DyVYl(eJtE;R;#C9JUKczb>3dSdOexUCga(BZ*q3_ ziXe4e8z`peyh|FPHfpN6sn#iZVFj}Wqz*96zEGq{!D4XYZT~??iTaL06bFbf!;}r+ z?2(z&Ld#_48@ltJ?46{=xhiP9&s9Ud36)jtGF&WB<@}LC+t<^|PwKb{j#y1CJLMP9 zD4WNUaF%CVG0-7pc0&htu>J3&>cr4uJ)fjFM>Dz}Bnwppm;r z)6Z}0f}qR{W>Y2*r`Y%HVmX_Q2@w=2qT&G5mf>OFRHg@E$*tLF{{DL(G>!i+fBs>+ z-R{rFFpDXLcB6_>)pXm)!ZD1CIrl{LC>>nP!bN6`DsS{=p!-b>-W2np5rEYH03JOr_g0i%Yt2D-* zka`O#^-yC>olKh9O$uS9>vk(c1ZKoT(Q8+lEzPD{J7DhlwDdl`6Q!nz%Wuxli zi-(Dm1Mk)$tu#GdZ(xQZT%-Xp!Pg!(V7p4_Gy%peMd9;S4=w*2%{2Q!+%}za)Yp`> zBXY$thVnfTv&4Dgu`(dUYPJb#+3hAP%<`~EF23SLq=+4oRqiS>_%xt7gq{_}!b=A0vHDI|| zAD`ZB`)+?)|I2^zPgkq%{CshAIQ#bd@Bihme+4-lSMKG_b-i~$ps2Jtd$qZ_xwt%E zyuN1dzyIC)zxUHe_m1c5ZT$JKUjF&do}FK=CezW$@vK~C8`gsr^}+33DCZ(L3xPB- zkqQkS_eR9U5QXS1RRWojB9DY+W+q7L!hBjcwMSBjMS@o%rg>dg*PG=w@MN^F?FAgM zHpyBuCAFx*u~v>SvIhI3(c$6Y=P%CBug>rKsuEiye6sGJxBZJYEn;#+BjE{yDT{1# z&Pb$|GNv^kf`d{br}H}`V7SL`wWj`7$U%3DcE}mtqDlU35Jgc;VMx?&8^C5p!a@{= zH;_>;M}rqmj=mY3CH^d|F>eXuf<%?(UJp7h8ANuaoCr>t; zZZ@6uU0=C+KA-lX|Ni%WFrDs=$McKxH(zd_9USbZsLSOtgy_8=k4KY9-AqQGSSsi% z(?IOgGMCbr1g4f!OfWL5oQF8gYBb80ROKQVlo)ET5Gg8g!-o$ksij~sSPDTW{^&j5 zebjF{bxu4O!#>>un;r%Z;rYFKFO>tS_jN{NWP_j$SpJ2#okRdw5L3?$A`w^7rs>qg`1 z(f#|&)g~&%)UUUFA5@7}8@1#O?AW@hUbbx?dnasaQFR@<)NNT%#px z-E3S>=YBRnIC^;e!TYm=lbf?oSF7uT!((7WwgjE7w^uPH$G(qYpuiNHhNO82W09c@ z=JJ$T_WAF5^$t`S|F5+L|9hm=bfgioQ<6?qzm_xRHD&?MWfkud6Wehz7 zh-KCWCr(~PgksW^oxAc_%*@#b!SXmOs2Z14&63fEDuwLX>f34YAY7kPXHu=Ldb4TU zZc#UU_hfqa^v>b_Ax!!hRAZjJm&+Y8jfv`}o;1>S+h2Y9Y_;5uNBjG;nR9-#S^ea9 zf84jaUT>Ji5>F;oC8DXnTy4+RvG4lp^EZp-^775KZu&b9j(`83{oqI6J{6}g->m=d z|N7Uz`uL@3I@q7zJw4df(=;&lOBnddg9w9b*>Lcw8ImbMGB+(d)e>iBZ#i=T2pE!UlZDz7T@+TC>VnrR)em#8L$y27aTBiY|Om{s+I!}-(K z=l`$2{%|yE9!;td`_I?i>yQ9##O-+@VKPdj(GqJuiETHHZxEQ>#y#Ye31uG-aKhV{ zV24J$g(7}sKO1gi8;0EJ_EOSt0fAc!7#nm+`2yvR9}H%hL|u}bjBhAXFjuh$89~Af0T49| zdD?Ke6WBP9aYT`v2I>IYjrwMZZRe)V$vghV$5FGdMJ}aOYL~h`>nErbz4*%Q$w>pz zz?y`rmMK{Ub;<+H6Aw#Mi8LUs`ersxlnNB3G1K+h(0%9R;9HNrL)N|c^3!d*9gS*q zXKeoP!Na@1_05Aj$CHDpo9-Q116%^Li>s@3*Ujgq$%t5yh>)UACe!t1{rb)8dw1`! z@OINNSqQdTFJUk=A!rEww(AcM^yu(T--nl9zA(1wbka2A{rUcQGU>W58HmV<01ziB z#gxLf+q`*ww%M-l-F>isa1>)3W4`!lz1gbS(cUa5Qi^*MQ`0uY<)~V&x2ov+wC=a6 zA@$KUm8x~27jwzfjC)J#5E4=Epv2>*nfp;w`HpPY%r6NpL5v95e{UDsceG;?SO&sl z8H910uOrvmFoR|HbYaQOP%xoPTBJO=I`2OlGO3*DWd?u(%_-$k;5ws2H^Z!X!*e<{a0x!J?|Y{DhzWTDY>k`R3^U^LvlmlY5x% zW4^~yON{8Yedq{a}w1$4=7mP~nQfn|m}(}2WlSzn|^-nnn>j~3hhw!L_UzU9@^`-TEfA=#)~og72gmmwoL=2ri^%?LB20^Qh}G=%#o{-g zJqum8I={TQ-cZzk)P{n4X$9~}05_p47|{?%WMcxoE|;4gk7@C{dAtV1;Qq=#M4l&vR-UQb}V&-m2bW!A^GYBqPKr{r=Ivq?(x>we;XWe`0dlps@w?KgMs+!>E& z!kje3DD&w-(@auIN&Dq$xn8YVXti7t(FY&Aw>LkiE9a}xdbL`u*5a6nEEB-<8O>r= zh*^f*KO|zyhrOz1QCeOfJ-eN9x=FiGglRG2hn)qqpgs;Mq6 zUjOQs{OHlU-qi%e)Gn6&;la`4cOE%sPoKVg_4>>4Xd3!Hg%(DKM|UF3NoLFgu^yBH4e?`G*)*)nx6*=L zxGafs?!jjz<6C9mSA5fu?T3g)btU2~X-*(W1%vMqin~Gi^->UD`J3sx_-~Zn(;&SoD)78y2ZM)u)Pzn=A zrZSrOxB@BJ9Jqwp>GA1&GKvLc&%5>OMJy8xx0K1!x-_U2zk}RI&0H}6tZ9(7=G9w@ zw}P|`Kq<0Qwexk~b)IXo1gL5x3Mi~qN--%JvojLpu)@MHO_4}T#~)B~#R!3NX`Nt& zhDsR-FvE)@3uQ%j0474R1cMV&&iM-qvlEO(6S(cRpZ)Ul-~6>7 zjjH`az4Hin-*E@`Y(AsCLn6|)N4JGVlrbP;Vr;N-<+QAdzj5l{wkHN{W?7gS6W>{o z*jwNJdTzE`)nye^S-u5v$qdJO-OHE zKmWxiAAj`Z+2x|Is`}{Qa5Sp7p^G7r+5P(uC(WFdx7+nEKYjA)^EY34}a^PAL+&A`rrJ~hd=wxtGEg8JU;w8KltD`&(4$xNRFYJXRMQ{ zawe0ReeHD21^eHcRuuA+CXg|+fs-j2gx`KjUW{72NeRhpT(LJwu%O!ZJrgx%VX*alX5lzWn^UGYUNt@Z|hvx4h0;RC=nH; zV{rK{jE1+94t7RaOs{1UAwXr}@0NNQdvBWkn+cSXj-8v&Mr_6`L3O!a9n5B3zkT=J z_ng$B@6|eHrhvMh)T5E90^E0DyNF@0p z3K7>XrA|>QvYirT*R-`A#X;4W-7wNBM*uY~<)IbF%KX++ZyF+1Qs(GtA|W=?7@JW8 zB%tns!W5z3yL12K;df$OF4r3&2C-vy5Q8UTi?Q*pjP6V&{myZ}s+$-!gf2sPsxijy zoyQMP@4WY0-#GvC|N38EynK0ldUSGh*o>z0y?rwE&Tsq9Iaw_iH_J7#3Nx_~*tv>; z#p+tT`_|*{oSfVlO(rR(u3Hu1ys4VCT|B#5+}oe^vCC!Yw%(_VdemL}a7`Z8B z`xp=5W@u#$rx8JOtKWHFRl_nXEVjJ7GEt5|VBNX>bGLr3mll4G=yY28cq4;(!vIQ1qf^pa+WyD zq_U)OfWmegnu`@LfUFlQe92p5g`D>cO$uVxNE(gnp?y9 zsP_?~wOdWW=`NbvAmO>CkA3a(47BQ7h&C@h!q=ajsTH;h+J7UHAi&fFtY)6Is<>56 zU?wGIBhJ~bl>xx;gsAlE#m19J4sk{dO^Cu36cMpQ)sx%P)dza!1`V-9qi5S9`CiEgmQW^E2RSLza8iY3IpFBY)nH9N0yku z3>GKC1c@=JDiAZswS$5PLTs6p7($p$4(hs2Z44UKlmQTn2s4nVYg_YjdNTXo-D7Sh zqq_D?AtVi!q<2pG_2w5}JfDn41i-S_gcyvoQ983iy<^Vlu_9Pfg;Lgsa5hY#f&Y@# zN#!JeYvJt7Wp%dz3t?gS;%{AKw;4(4TMk=(z$EBzKD{7g1j|r=nR!cj5*?NI4oX%m zaY|d2U}lAWkh#aXz_-Y*u6&a;U^pff2%+oRc7D8n-EUW`4U-%m9#vJ9Z;Dx1t(V@p z`}gmQ$apkoc4pLdi$D33|8RDGzJKsrmXtGnYB;KQO{%gmLrgrs1HRY>FH$_AxjoWI2$ihh!Vf)vAM7 zCRSMH0#YV;l6MuL$x>5~x>lW&i_5Ej_iz6{-}?5q-+A=j2k*c8&f|y7zHQs_bmp8h zvu)pZU9ZX4m7DEP9lOb7;+zX1Y&NU)D$Qp5AAE3cZ+5U;F4}F&j!e~8709B-uJ4U? zy;;)H+>)gj`@VPT2(((Q4A`ufW-6(jIn|LL*L&(KkW=Dl3}Gcrj6SKc!g&B*c(GpP zQPXBcRWZOow+o-C*h%rwINW8{LmH7!P*7$V!)TBY2n*+Rleb6S7524ShO*`I&^a_9 z(`oZ!V;ZFVJd^<}E`-Hu-5nS}WX42%czpEy6*&O?D)oU)ymNtx2?+@y&rQ@yXt7PH zf95_%fxjyXDebq z98KqZd>5zh$nk^v;Do1p9Z8A_eM_m&ej;Y}c4OjekGxp;Eq0m~S;lSfwzopYSHF1s zFNsM=kziBr4r_nbwVQ;@s~#jOV3r&P^L)Ts+;DL$=gVvq4I6f3a?iH+!r5tD+_hk% zam#xb*Vmin6X{lW9(?QFcYbR;ni-%e^L@lXX6Biq851AwA9%6XZ(je!&%gNfCttjH zeZj6e+~1qe9DAp*Hrjmdr*+du6<8Af(_en_t6x8P_3AwJZP#wMmrFnP|KRuD{r-3E zAI_WW#rl8!lh1$ttJj;pKiHexJ3a!XtjT8L+-o7q3>r@5vRFP3hAC{fAbn{H7xGgU zTjf&On8`Z^3$qMET;W|FN0hQH5mS~cBbOF=f=No&RAP=`7L|+~1Hr7{w5?;BO^+Ym znH=m-=Z%vlB??`aX_q!u(K zLxw;}jETT(MbncD&|Ow=3!v&Py!F+vR(BT&zGE*pMUY>v(NYT554owRVdbYr4^eWplq6w5zsu1 zD$fnhe*9G2o`G@}n3-h&{&^uOnk2CbsQ%HJy&?x}iLCo?X*4p-(^i>!1Dd7rzj32m6P2 z@15@NA9+`K=VMIM$!ve`K!h{JA6By8$Svimwj#j_=(c*YzZsTr3vno7MSh-K(l& z2e#o}M!;a3zUwk&WCsM_rVe@CVvrmSNv6I1928{vc2g;52cCT1Ln>hriFpWj-etSv z){1R;9$lNaK~}>NkHSoT_!!fr=O7TCdiaV$i&DiflSJH7Y*fBWShiSsFiK5of* zh-4pZVNP7Ml|~h++Ng((h*YT?j}MOK(-&u}x~gwk7{e0Fm*kdwJ#eLm?3^oVQR*hJGK~;wk+2)U0$tTJpI{&{r(?*d(wt!m_3+G_EL<1l5-jD5weuP zb#-Un#BTff(Aj||+R%rXYOX`*)!;}Y#bqCEdVO{I`s~#& zx^}ZTyF!Q$-#h)g|J_gCd9YWrK6!fc2mk)V&z@h7oSV(Zb7~Z3h(kQp$*4+{qM6T= z;-LeSnBgdgK`y;pr8YFH4LW2M=A1ZjOl0IKn<(d+I2)KjiugzqV0q?cK3Fu5$BMxt zmleDX@$7nawp@O2I6r-Oa_`aodNymCN|W@R_ST6IOgVEhqt@PIJbSuWY*LyUl0k@# zAeKc4lrh0UE{0+@J5zuW-{ z15p2VK1`(`d25Bg-4n@}h4WP&Se(HKEu@XyL#`!8%6^V2>VL=ZFVI2+KxBVLLL>vZ5d@42x~T&ah2<4no~(4(k?m!KuRfR z$*g2l`;ie|0C!?s1#=@uqxpnQMOcH9N3b3Vgx(Oy97J>LX%~J#P(#H|oNT*I2oVY< z6QRD3DMbS%P2Sgw)pd0#$0v7ZvuOwkNJONjv5($dZZNS>?7DF?J~%uAsPFsjcD-0# zIoH&616b4)`qhalT4qu9=AQ^>|V@jdL{%gezv| z+UXU{ux!J|QYNP5GS9J$$c?Ke7RM(L%4nA11LsP$h@rJyf{bG3`(*@TAV8s{JP=dL z^m@xMXI)j^`#$vUt3F9&LorW8P%3y>ariK>rquU+pJF}KFw7^xZ7;NIs3WOw;``}!IGN@X;rgA+ZuhttP=@&MBV zn~tFg-IhXUCAZA-R?a9ut`ixVFJO&W8?xJ|DTb1wu%d2n-oUQ`XFq(^>`$kPn=Uya z63t=dxbo9VKDE#$s&XILM3Jei0@9BCR`~$^<8b~kT-^_gQQd4^bGGfTZ!WiOYXl!6 zwwu}BducoA$f;?WjFLkb^QdV?9*gz*FMjdSuYU8{(--HR^4@gv_`yNamm8WItS6IyK6ZAjkxyp@bB6Yhvu2cHeQope>oI2vMceiac<%mh}0A+Ztj zFbwAQ3`@++>ir)Nrb$q zf|DY`5{gAh;YSq2C3n{f`1%%|_N^Qj$k!qN4JqGGEC|1&B<@ zBWoxtFLF4~U3V&pC*{&xOtTei7WkUMGW#Y=ML1i)B}I0~Rnyd`YGTd2YR@uPg^ZDs zt6bl)q=GbovQCA7Y}@}A~LKo&h1Mfqdnv zdPGD9bvb@Am?4hEG%5tjWCB4G+NN;tEv{cGu!iUb=9sy*8@o@ zLW5b*?yBFo?K&Tn0!n4nK-noilOl%#g^QbH1})%A+k#@ws)}K>Wlv-_VbTZ#xT?Ju zvC@3VWqCf%Y!};eXD_Fv42aOWi&u7exIgn2Srf#vl~95)aUeGEaTTw)s2FxY}Jp^a`KnSw{=YW|jI zR^(oTmA?@BNU__+G-O*B%2an)p2TEkrj7`jl8Sd#6}LTsh=sFm8$x7&m>IECOE6V6 zNOXSGwri$FL1YziRts8o`qH#DC6P)I)mVgtD_ADULL(r76e>A73b7|m*)=-*wZW1? zwLmP$Z+BNNnHe%kf`(pVzV_MP)iM_!4AKm06PbuiCZx6HnYm{#^~)#h{?r|u=*fNF zzk}mbIk;={V{k>W({@dofT$z_OQiu#3JADQrU+mL$mM}c`K_7KTNDT(PG$t1SM|v8 z*|v)YM?|E4SkVkp;WsHNL$@qW5K(k_zU`tij&tXFTg z{fdFvXgX><-MN4B;-ia;n|lACk&2i>NrP6EpU)gVnRnwRNV(0Q{nIu-@eXnjZ7MS)O?$77{^FRLk^P@cq zSgpDa!2z|001<3K$KKsCnP@wdPk;zQMEb|=-%BHaF zkHYyTF4ikDy1u@;xp}d-ci)Lc4Thk}RFki~sj_$`m&qgoPNIj04@0ljDj;c$BtEBtjdNgCki~x8w@%8;93e{OZc&V>?Y7=YLS&$-*yS`nm7BK|I*oeJ%42v;l6fYm5)5&~q ze;?q!@0w;JEDG(qK1P+w0K^c4tMSpPL6Sz{%GXs&(KI<`O~Dd_NEK?S->gOas2RQY zVD=#P*UQDro5i!m@=dqd60K5Lbe-PZblM76siX*Hu*Htwz`L72@M%G%7GY3=#o;a` zf>`z%Bpp1(87%BE7#;${5tLuiY(PDR9)STwec!(`AOG-pUe%MR7Nc57M8x8V^IAzF z+IDR+Vu+bBZ64fvf4+BUF%m~ZU@oz-v?UC2pmQ!qgj5s>mY zA_7&)fFzibsemX2E7e<((h||oWVC^QgyHj~65j^2P)*HLkfkCyQaB=j8Ez_*86}PD zja~i1G+I^b!Lc0O#nCBF9?Ic8jAkIV*jc;f9o>PT&;STa&M0>t4mr0;Fun~Qplmx~ z*hWo&E3&c-P!N?&S2r;cNWh#u{m6QDEu5rq5|)ph#n_;8=?8+R|4nc z#!M{_dV~X2MrzuFR1pkhCOi-f2mqW8Vh6Ue<4H<`FrQfiRGF~`g6*>E0#xqkPq%?% z=Zae52)pv$K%|UhSrQAjV&S5eRi^_{upGH`t6?H!!M3V`iAC74b1sCwuDoM`xsRWG z^rIi{JD!*-K%nFtb7t?8CGCa1s;Tw>locdD{QgfauNV9KN0(oGzFu70{-M>4^CKZq zf@#cJ+Z-!x$e=QlfODs#ObN*uSu%j~groA)3>xgv0wZ&VkZV^>+R4;cV-7bUGD=8r zrtBSUQJAfRGB+1>#bwWo;BtIcRl1D}x$H@qaRp*#AwYz>^}5@PWZr1(OPd90iSNEiK%bf?RssfRVKlF<$P2P8dIkv&iN|kexD^y!cImawG$<*+SMmlFJ3Q~&#td; zHtja{=A2cdSv{IhC!S~<`op@}BIW+_TSGP9>L!sP=e|@@%LEg%;lRKxT8C2pmMK{T zp-gqAoRVg{lYx+o0aMC6hmu$%jZ*I)?Cmc$A;g}UoO1v%Ct}XN%`wFBggFa?3_$07 z#Viohq+z>thvd9u7el5&z5_F}$$Zao09Ga~rG>56&3K$E_qXL~R+Oc{u>#Zwj2Q_w5`$`q-{wifiO&t|uC}MFiN@hlCra?QVowY7IW(Y$A zF`N}dAJ{oTXv{fKU_gqD073D~DU~No35yuaZdWPim_s=% zCnh*>VwfqZY`Jb>)3ANFyMDAeyNlJ-xz>-))V3Fk#rh_teq1-R`Jq%UgP6~xT*vq$RJ+L)%L&~cpJCR97)bqgF+cZU?B+d|)GXy5sJE)}btB@- zv=1U?sJX5~iq=#NW&*{e1_-l8MI>RK&1!38y=i~`;_0Wa&OiO~_3Mj84L6?Dr-yr% z;h zh}qaO$~KVpsc=Yhs)k$009^DOoUcn+>6uJT#9TP#C9v-PBw`ll01#1v#cZLFmn`KZ zxD;nuE>FWb2!g4mltVGW*kJ6vk(sK+)M*!EZ0hRZa2`87dvo>K=fC;p`#)l4OC%yO zCSg)d1$DPX#3}Wv=EVD|n(iI0H|xjmzW>>$pL}^4>F(Xd&GnvlF7`wMCbB|Y+QoJn z_yz=kSyjo9V4y6)E|vSgSTypQ$0-o=E_336 zW{}CQSreDFeM6f_h?3o!+z1O1l7kvi4yE^NAqWdqW5B0wWpT?$ zRXy_6Sj{*OA~8#*tPb#mZS1cZM#|-|Fjho>RfBWYZ~yjpLTgPkP9ZK=%gJ>7@X;eE z^`R#gO)x`MkGt*W`ua-5F}cxnLPXo`Mk?ooW7MQ^1Y&UShmYVJg&X-4lpux;_9jzjhYbq^=5UpSiQcwetC2K{ObC8 zxnZW`gZ=jo50Ca|Rnu%0L9tT3=(i~Z-+)ZB*qTe;Kx&yYx@!_;@1UY_Qe+1u z1WkdY(iCf7yVR*hh$G9&E@IBmodc(2k)i9hZK|=a8coqjrK+ZV&IO|iu_JOZqH^9~ z78RuVHU=#Ods1R9f)^f=N>$D7mPA<|QxK%$kcB~j0)l2|i5(d-PqiIdKSacyV62*& zF;$}+&g09c^z2g-#$?}4@AJ_;KD>*gdp0{{7KGehbZDw?3t+&QA=jD z?gEjB8N14fL?nvZ1sm5*kjek)|MBzBKRp8}jr`$kCgP&mPT+RC>`EUkV_ga}kYo*g zzU0{&3ouqQXd>N#y(n$kl7?oyS5txB^Tx<9c;@nOshw3dk&%MPS5no0NYyy+kQB)P z>Ov&Ow5B`rYC3B68$qv7Q&xgw)mc5Vqk6U7{`$>}SC==xes=!m%~c3#KAoKI@2i>) zwT6_ur*zGD$gQKM&?O)+vv_eL;>4L*N|sa=c?3kxA2KFjRve9tU_xp}NtxKOIg*+v zsztS6nj1Zo0UM&S%8LIXise>OXx*k?94Q> zvdwb*7}^1)Phkv7s!7v;Cy{D$&Usgvtz#-#<9fY5+CLbNMzQZ-y?DL9_vP`?T{Y?Z z-k_viO6I)>$TX=25y3!u=|hM?$znA-sqdNdaOqNGLc`F=P(YZ}cB(TJW#;gm+fND_ z<{|?GL{%XWlUkzE-_5+!m{U%$nktg28=*jA5RsDqQfadhN^@tB9haQVVA-2CXK+cQ za9QD+VjsJ{>tgI;3TA2+$x^@F&OoXW>@~%dtafZ9WU^eZw(VAgL2T>*EejE<+E?(% zqQB5-f@7f}5a$1i$a1+HHRB(C_q!i{^r5e-$B!O9e)pZb_wEy@??a4fG^&C4$;Y36 z_T=M}lhYsm@W&}>Rr$7Uo2F*wm?9Br(yr~zOf>>B8Z{w=3^}Bfm@^CvA{eymBBIS3 zN!oWY0BEF|PNq#W5+S4*Vtci`_~jQ@FV4@OpI_gs)*zaXNB55QfAsL->HhxSY|=DS zbIek0W4hR^bh(Z-I6J)zxDyR+{M|~91_Fd=@K7qOx-?XsT9_!qqs)v2U`$k1m3MAf z)tT(i1%n>I!M9S5vNcTAQkN{5T2g|m2vAA_KqE1OWxd`mSL^wH4Fj;5&JXtY?=076 zhKSSy&U^3bN=;Q&yk`*-Ay6B!iW$@%F*j!GgZ-)VbxH{!0cmDcle{HoMj>1euaD6r+sz7QWWqe?%ghK&;$lpel(>qToNL;&Oa^vB<^VHOhMIMzoq>{7xreLdp)VcE#A^ z(_g0#{~OmM93AoDJ-+h@$M-Qmr0E>wscWrYnv#IFEfJ6NB>-vIPba zlLn%VugU1Jy?NB0J!%&R2#M;2YZmKuyS<8iPmJkgQhA@j^`w^j>TIOZjG!?++B<*z zaQgGl`#=5phnL>&}{jZjNSSV&7Cvn_8*sl%f-1P|#S{O^C@7RJoQBGdYIAqFT&O z3l^^~SM%xP?|lEqkKb8N8@;@|{^E=0XBU?WnKYwOGh(r!!%lBO=vm{mn^eBT%q>%S za>tyKvM_s>U>23XVtfF~wq$7_KMlJ&p9V>TMF0eL=4)Tq?42eMlXEqZbQ+@S$h(t? z98ctMB2DF@sUxIhh&Ey09L$LL*KgiD`Q-KWa{c9t%j@gyd^DO*CSXY#B2q!CvK1o{ z870doVbNJ+Mq%c=s3LZuN6hAU;+%7E2206ON;*tOp)z5UhIGq_NQ98BFAOkG4;QMe14%{O>$=4Uez5f$V1;mT%rdrQT`)7~oNDR*^C zsKOhhv2KShTM3;dfzTWrcjRkk5vH8x zq1?ojL4xeXV3aM#l7fv{DG^9j%}BhkbBK|UFyvS?(7wrFri1dGh}j9Jq%nmUV+ehW zA*G;6iP?!G2FO|JQro8x0jMS-O{!Dx2pu4sHf+1Z?8q_slJN;8Wgx+O0eS;3H=*xC zJ@b~#49o;&B@(f=Z5KC7RlB^rx^w6Lz3-nIaSYmrz|3{+UcY&Me)i(>;=1qp(Dfhw z>KDyqJRVOpsfcTuk#j;M0JUwKG=>l^F3;3bRW*~zOjuL|fcLKJV$)3a_m0jlufQCW zIoSSuf7*=LQPi+n-@H0Me{pg4{QTnlYSD){s++rq^Y4A@8^`nMd_HSNQ|EnB>kL=h zZLf*h`=*}O%|qv}`gO9D=oaP$cIj`1&@uv(HyZN!kY#;Y%A5JRxs=3!6Cpp-fWeB} zhONMb$^F)m`n3ciS3TJkxVQ^g(jc50^~xlY)lAV$rGR?aHr1p3{o||aFPNKlyD>}k zXjFCC(aVUXZtA-BYLR?hYY%MLEFlW{@&4S)j%iTFdZ^}*Q9eAE{aYviB^KulYS-7G z;X|=l=n;du1}PHr4%;W@l4`&V<_MyevMEnYv6d>Z(-e6aE(idWVMzu#P@gf5KK7%! zsj9jU$z({pc2|>xr9$k9ohEo`ydS5OvXQVt86KpLB!h=ZduAab;-E=mU=d&R*i~E7FAI_O2%8k>Z?%f>;d7wbiwHOADo`KodQp>2C2Vj*$jorw2h235qUDM_It0uY!nEb|IDCkDhi z3<2?i8cu9!@5c>+7q@WE?`A z&1TM3?Y2u405A(6u5f9cs+#r0oV1535nD|Rwf7&B|Jjp8h9%k&2Ut3?HjL|F`h$Y)$F4?HM=b-47ozlxHYpcoEWiZQh9I)o5H zUvOV$W-nagHVc~?dl%YH`v756g_)*MIfiYGs;FJk;34&7O5SPd7AaXaPBTLb@M5vq zwC(ZUJfeD$?B@<+V-Olf1RTK_$PmNJf4_^x~|1JZxw))0*k0IJ3iWCv=711vu-Na10FD#1EuY@6LF*(yFT>W%K7nhCN76HKN{D> zOdvO|mYnlhoXLO@XZtK0-s)H0=@2b;Lz<(oD=4lC9;k z2AY_}h?1%kB#X|~G2NI|nUG>^3|276#JLaxu@I5>RYK_c)--}xiHM!BhY7PAVwV{# zY6Os?iEx(n5<^IH?gc|iQJHgV1K=_c2W8fYnHD*QS`nfRW|t16C37=2NdOq)*i_&~ z%BpcKFV^M@H~%{7m(_6j)8jaoQoT?kjp<$BXzFWYS# zv#j=O8Xq5ap|hCDKaSavbCn+}^^ug}nVGU(4ugalc6adDGkc+p(GgY zMfTM#EHt)(g<)y~!c@c}QB$<^_~FB@i|frYOC-nR>G|d5d+)#V&Z7^0^U;SQt{FF9 zKL2tunLN1vplL={j3wAi$-rhI1?Ro4+03eHl*I_ygN3q&B7LoD*|EsWZOiemWTjs@ zBbaEQEaXnPQF&rc2lCfCILd>KoSLzjxg27_Y{_n~q2=d;9Fs9rHFRx?F=|Shvd;u_ zRoGn^2Ds!^4RTe*Cb8@Kw)3M=YFlPT3eF420ad$RLz9~Ndg}ZnZCkTwEwn=rpS!qlL9gn9eS~MLs&3<(pW2!3eoUB%x zlp??}MFLe--89}gKN>Zke)=(w$XCwHy!R=oTA$ZcR8=(=YTNZ6{^$Sp<@x1ewF)WS zna#d&_vG~W@Mv#uHl6sYR+2v0IwVR)6tZNFtWf(zSX`A410yiF0t|5|i!*Fc@Za50 znMXIIlGz(une1GwX3Ef^yzbxHJ_ZAvLBQVoU7rydf-F#fmiXPC$a$b|#)7wPKXTb^ zi9$l(x5VZ+kcAXBDK5J8o9m13kLEuC2=Inj*LjM!l5RASiZEq;h zH1N{0xD#Y>24NDTV6i2sx{Pf5T4NLu9e%OoSC*K)#%ReLOG@f}?VRuX09Oq+t>kJT zfvY%nCZm|Nk=jcgV(H^SY{w02E#X~ z7&J}>3q3vkD1P>9Zl*k)+uj{|@W_rH()tYuy!C;03R|>k9Hs90bJn?`C4S%Zmw3Vn^m{o_Azxt)#213 zMM$m2WF$_aS+ptzkoi|7WOdWy68H*aR6^jzK zY~RVuETE*YJhM?PQ&XY_fKgAy*Tl@07lK!IFGOEZkh+VH(uiLY$ zi;MHc)ndKf_Isnz|M5?LeRgs6;?2eX^bddfkN(~daJ2{u)0jekzS;<}=C%Y#vs{uj zZvj>UA#sLIatfTvv5ef_qukAqV%wbAI;v%|ie-9` zd{2yEitHXwfXfmOGgS>HNmV(K6|gO%ADNrSyLS9gVr0NWQONiTVk4+JC(US@=j*5? z%NY?OOp5Ds8R?XFHx$ffAY~w?*e8{|vj8Nmyz3$a;pF7t=F{t-v6fmIo=)dZs_W~^ zx~k4E&SKvm?C+hOoozRpJ12MV-Fs-J`5+IeCsUZu2S?e0kYWg!F$W?g&CW_C2g;WI zL)E3G1w0){Z5iLq5q3AxAUhFN8n!S10worJsnNy%9t8Z4D zl%iu+VumErJgYaE)oG>!EA+NVyd~#;n`JASR4^24J^D`E!XR%nh`iB zq9MhMG{8vJoRgG7>ZA8nO1%M9-GpA9^G(w%mp31O@+)7vZ+_!Dm2YB2%W6V{$Ge>r>ipBalojnv#+@&hav(#Nxb& zR4gQsG-~qf0rW|oMgp;Et_hhemC-F3lR+-qWN0#!OmbjIF!Gq8;syaLY74+Z$&1Oc zNd_CuOaRM0|445qsRQQ6gTAAWVT;(NBy6N@44V`?p>{m-)7jzP;SXnr?@sqWAiFk< z%mh^5x%>Xpr$6)JRAY((;vwd}i-0jp>{$&+OwQGwX${*`2Fqf6*v#kC7q8w_)d<<$ zg)HNeriC`0BXa5V+rU%5O}Go?*|NHd1*wy?QQk|sW%yyo5_4>-G7~y6byi`B7b`0QgE7rp|k3*5?@{j#<51uU5;K&z6^) zi`SO~d*|+SZ|~&ndLsmAA|@)^$A(%<0p*f)%C?Uh15YN-)p-|sc1qZ6!o}tFX1y6r zXQy}XpIxp#d3rV;H5Ow^$uw&+42WRKnLY?gOqNT?Y_bOZ6&QfqO1cI@U zg&w}DX9wav88jwxNL=-i#9?pb4o7q{ky%aNI}n@cstxB?muDA?i;LxY+c8UB`N@2& zi9WyVT{Am4l{O*2#g!cK9&wuso)v}HAkynec932c|1*tL$RfwTRlroBMV9kFH zPSr%&cNsw9TR?$IvLR$E}-#KYr(Te(?Q|KKW$1ULPLJzW3c9UY;$^&z|q^%@6kv zVVKVjoK$blUSC~bjHi>zJLf8q3R&=AiN#k<1u~7Qrc7L#-9U^X#^|J6^8pRYZ*C|M zvUgO@6b4xxZu=S~Av3!jUWKoG;G8s>DVcZyqDCet6OuBSs2Qh3qSYi$50f;yX<-2* z*`*|>pA48KBZUz=pZS+&eF&|FHpb30AO!+h(0;up12lmNsOoVI0Hj^FP0H-0s(eh5 zG>;)sFe^+fX8!B-)mky6at4@!a$MEiA4yROR8`e_wduNUGM);vbDmlHzEy&ERc?fc zNC?3>=SQ+ytwne|nxvGtvKYeii?cUpudAy0#s}XGvEObt;)FmfF2&s7&`P9ozH9rF z+3bJ+&;QAEJ|n66Xc|)+OhX7U8O&fToGhgnnOV5X9O1gEz`5>sF&P{SC~Bm{MS7Q; z&N<%(WvBAeLMs5n(6q|LBo(b3m7i7cnfYnF1YXO(lC#=X~tCzHci}j+&q$ z0v-gVq-GkGYetNn`R0&8&`S`-Z2r$wgi@5}B~iWwc^GX5RBU&gl@FaE%G~nECwKNv z$*RJ)gq%bMODO^X=avS$WDo;LkR6{=P=G7%{iqKe6%}f8{~yeK|7a1$7O(F%t>R>RFO-jPzVo!24;i% zQyxVyAXtSQl^-B72s1;3Dvgb2rKFl(KbJ2*C-;}#-a*zE~{UPTN4!#?6}AHBC}Y(K+_e zt@F%)a@|b*<>gts-L6-go6DQk)pqZw`p5t1gCBh3G-~%>fAgjCw3*HcNHHV}Y--t2 z(_+d81PWneyY2d}8#hN)B{3-o3OMnB+R*n|4!2sZE-o%$Mi6omk({gZ6kkmt&+^M_ zkX^PH1PoMWJ+KmIep5^qVqikDxIbgH(Yj~xDpf7w%qW2Zk(o?9pVoYL&+Rwj7~Tu9 zv_UVgZ(f~Uo?WjOi(WO=jUSC0CLuG18q;XZDJ9=b#M6f#fBc`mc=g52W^uEv#U0H? z!f^1cT_Tr~CTKEa7AVw^pj@UQ7+_57U;xLj#tAnG~tS?1elFfS?r3)LUp4gBNC2 zrAXqW9!WDY;Wl>Snw_VwAsIV-Rmy?4n4S@dz@(Wcqy{5PImCGHoCpbs`1$jfzyG^G zuAKYm(YSl-0YA0HnBTUBf7kw{IT z?PgQL7R<6EdB%=8x1}>yHekquAXNvBQz1&5l@VHRcQy(~A*)M~F|vI9hWtTGVj`9Z z0wo9=1bs?u&b5koYM8e|rck9^9mJ4S zwW=#s?b?2C?&kA7W^A|H+^$V(AWA94RQy(&W*k%a_|uOr&oAzsKFICkzVEl~8b)_d zAM79OX`)TLcH*6Qn57t51ZFYD0E-&b;75~YR(D2m9W_NJA}3J85K2P|&WV%8d6)Az z%5LulaaA!i$d+IxQPs>eB*QRFU}pfxKsUc~VgM`=8BqG}fEt7V6z38eGT-b%nAbu9 zEl3CP1ibT=bIg=mYP;r_8HN@mh8;t@Lnk>Tiid}zM@Qc}zVq(U@ne#jfX(Le#nVsE zE@MHtYpj`(Ypnnp1EBYA^diG~V9y9e_`)}mzi&h+e3%Ey2szS1g3Vs0 z3n=V`DpY1xZn1dy?*47}nyD%u%&tcOq>EHZL}Y~f_ubDH)pL%X6NxFXr*UhZ+)Btb zGjWa112dPARC9t_m8lU2LP2aNq}JSRlp?V-16a!x2k`^oQ`T3}l`x}NHIzk5MJ6%L z9)g{SF<+DtO8576d*xsMVrb*vESBFrIz2c(jiC*kW^H$PbR4-&*@kfd)oeY67#TaY zF@SWtAFgliuI{(D>va%j2?xu0U`;tYNlF7TlkS4VIGYda?Wp^!^Rw%>7w6|UQ2p%F z)BoN7=EonsSnhWEtFO-g>tB684&%vcweDyAYSkQVqQPe#s6niDz9e6!uf zKqBM{fX$R5f!s`~$ceM&JQn{3b-0@`Gnj&iL@@)*EU9LHZ#=4uuR0uNgIZDzgk_Vq z=py%z5B*{%FbYirqCss?EV}sofFCW|<5_H52tz_l>gTuH^Xv85`PIekE~VVW*mgx) zQI{gf)q@aVSw}aF|Ce8UyB~)0^Gh1XCa|~j^X;w;u@wp-20{tQ;bIlQtnTb^GA-__ z1c#ZUjMF(!4LO00N~mVpYA6$?+`cW z&z?UY$DNt(_T$CH<-y@`-}dv_;nme!&12W~ZoJvu<&<-uZf>vNzI_=&JUloBSrDG+ z2S@Sh0GZZ9oF`xEDods-d|on z$;pik+)HZ39DAT$-wz>>X_96p#HrYR5|4(JNQ?tH+{3+te2~U z<>Gih>^IwOiFpK|>SIbV#2C8W{+p1Go?S0?P$ebBUCPamfV**QnyNDRr ztXlgxGnj}Z<&@z7G&_etLMe~?{aVId>9I1E+pDk*t_}vWzhC#_VUb`O=&kG*+-t=Q ztNeunC{vwnY(fa*m>;TAnqsGXT2z=+L2wB1-POg@&wu|P{o{WN8t!hczxd{_FJ66n zb^iT+cSEqgTP+rg4?p~az%$^U;2;L}j~<=&-O^kbSvYuT9Tp@yJgG4^T*EfV`-SnA zuy=2F|?|QC6@A#MBw5C7AUgW=#Us= z)6Mg^XBN1bW%ue^U#HwT5CqQdR+SDp7g&r*3Q_Eorv%kHzB9vmE;o*o{q4i68Oi$x!s-W}tZ z&6I>@+^VL_+v~gi_Udk(Od1Kx#XL$FGKI)#KZelcVXumQ7MU3#UR|8uT)e%#y4zfA zW~cqX{->Y)E2G*Y~sg-Olgt`24JI+oqp)i)AxgwSA8m zyCCCkZy<9bVKuwC+c-EB0*9@6MWT&A0Ez+XW?)jo5&%wLmD=_;r!y} z&E?(s&HZM(ml(Sc+u}k)m3yMG5V`*C;uc71!kyS~|N z?(R3vQJSX9Mn_%fgS6c|S*DyC5rdmkDlzj!UN#m%O6^d@a4-^=k}*-;mAshTKU7V1 z7nai4JrFrdksjtDCpZZQVF?_9NSS0#T5d)%l=%~LbN9dnD}w`8j7ph`zgA1q7%9={ z$Yf(m%f(`Guyhs=qMq~qe#~m{k%lIOrdn>4K;u&9=;UNbb(o+o_y-8Iz_(OcJU0f^ zjmViLsd3r}pM0E0ZKQwp?Ady~j-mbb`)^Nn_n&_9({UW{@9z!{jt^Fk zh-k4m7}NI6o0n&2Z)UUk@zLY$cCSii&P?UHuXTcXL9wddablwjPYt2>8?Fj8Or57s z`iH5EC{MI%NQ-u?*iM)`(srvh#+3?>p)(2r5LCk*LeW6fZxET8JF}E^Hw?RR+~;9y zSzXN;!XhFM7mljBW~hb+^V#C?(UZfY<6szotSLsBw?&_XZJFYsAZ-zu)ej;W&07NY z?)mJ^?fqtVxS08rm~O>k&jE4~e*NZ^bHCkhPxy4V+nFN-$vL}w2oXr`1_XCe9YuJz zAFr>j1OiaohRx=F%xypGg~K?E=Gn~#&1NGgFj0&xGntzy+O8jTV`i#=WB_^GXRmOY zfEZFEam~5(!3?H4<6IbJ^Q175NJLHBKsc)@jEIU+{RA;h^EZ=_k|#kVs%oZUF$KV< z%0SoB0hNlYXZiza7)64Fp_+D7%60mxV1I?=3I)b!=Ch0ItN-vv|Ks?lqYk({)WO46$qk(rj(pDJww4Ap|R8QMftG z)SyZ%RHz&Saj1G{QgibncXw8T5EF=riL78K?pjF;fJ;oNR2%z;qOKgDrQxZ01VuMz z^^y^uPT#pFMwesN?X>tJ^>S zf4zEjzV6!gcr{aTIFUo7DMHts<=yS|_0>g;vFqA)wu)^p{k-XC%mRSn_nR$1ZQBm( zHHx+baTtc2GBrIj=bXoJ48>Wce3TsB-C+fxfiWOlOh{dc!Z0SN31QK5Kj--@&O*aY zbAEZ3l_Og=y-&30`lpBS@v=K!bZsb(@3P(P&u=c?T&~|YX_KPJqbIY#77~0wD;~&k_4|H6Q>#Obg`R4ZG=JxKRlO=JV zUD|%W+uV)WnjlQZBq6}uQxOqh3QZ{TU-we=7daug3h_V>;NL?HQA*~A9XZXwNbP1) z%Hs$Tk{CoJG@;I(YXQ2PC*L8^beD7aA5@9SjNE}xt~HX8z3HM8Z#H+MCI?6uLTCbq zxi3}{+vyYqs^hE^RqxMIgVnCS{2iX=L*D5OkW?4*`C`^PD2Q}jJE+ES+^pA@)9LAB zV*2d!AO7sW{;$_p*URNXGhJT2Vd2w9Pv-q0+*96NUZ36F-n6m%@sECbbaZ-oado%8 z^D1TusX%QG4{M8Yv$LRYJsa9#hVmvuest zF3UnL6_R|)hBi1c3xwI#bI_Vl$PRamMG>Kip-n=a3oMw`IrCb^WXmA$$TMqxBLI{v#)>k>+@kui`D$`$>EgaRKRJQ%4=s9G@%UiZT9(g za~238H1qkK+9gQ~8?yTS{n{*p*e#dmW0rEt(zuAE{caow5n`c~jacdqEp-!Bwyf+! zHFr%>biNFW1+`5pByiTI-L3ClU;B<^9*4vE^5n2Tnm4Ofnive&jrrzweRjP$ySTf& zU+3&i6Z=KO2CtS}3>POQay3sWLGyeuKR$joUoM*YVc*U`A&m)XN9-a3)3n$LE{AWqjhMLD&j3ykcLiZg z`FK7%TFq{E8v?o7=(gEx7K_<#KfZeTa@g;lJ^S$Sqeqv_0Cv0efiC)f1<2X?H@7#} zP1`k1cY5;p=}~oOWryPibevkaI5jHD(Un6cE#4 zP)+0DW-*4@te-CqSBJ;T`Qd!AF!*kJe|`IMe|Bs8;o!xyaM0hbcSlDJv4i;H^8D)d zJ_M$&>t-uU$;^yhog{0&zjxapbQjmRTuC&PsoLVm3^yzO>1M^lfJKTZl9|mc=Uo23 zX&P0{nurAEcXzh{o<4gvjyYvJI5=1?mmo8@dB5E4Hmce*y&JM76ID~;j)~P$8n=WH zL$lovO+Xo_QFpaEx{#7G7fl*#PQs$VFpd(qWMqi2mczr##ph!h!H5!K(~`JM_kqJE z;}Rw+p>qX8BRqf*^xjSQumdr{7ZZ-p(}oQ!O^CHVV6tMK_-@fnWyJfoD{N^P`qk>w z$B#x$P!)BHDTuhaJHy5dfrRaTm&Ozufd}}a>GoY$INqIUirknDCJHAr1P}=77Ku$l z&g=y8L?FlT=<$=bjl~C*OSts(!is)?YSI%C5hl8LvVFregMtdk5jhB!NOMWtc~E=U zJ8pys2o5j=mH}pIoLpSVnPOmOwXAu_S(zn|_mB-sSE7c&5g?|o1h|!m&Rp#1Q%YUarZlRVNU(~c5NOhes+%TANI5mJSG{w~C`xXJ!-{Vei8=Pl1^mF(aEwt{r9&xH#}ba!)ietr>S?Aku{ zVc72CY_V8K2rRL&jMaRZ#$gzS%QtVXE-qicJoD}L`HM&Y=70F@&t4o5(zh?~|Cc{{ z{qoHwv|+hu`$Z4H&83Vd5vmz{rS1#&H?6fGO$ac{uD3T=v%|oBtH}g(b9cYp4jd#W zFfjo+BV}zsLXr$l0wOmmalmD>R*W5R_v+}yqD(FCUp#JNWJRamIKhbCzP!5L>`qT# zJXv-p%dna?ZPPI2G1J-Y?&A9X)#dHg&HZklg0yWn>$|CItalt)2`)&ZyR}U`Jvm$~ zSM$|jXjkq?L)z^}mVv=_@|H=bQBuyXFapiG<%>@~I=lSMv#ZVge%w+RkU>T)4A3y% zs&fck3@uS7+=!WL0;?6?s~kX7nRlAB4t0zAI|`sKoQF239B1`>v*|yUiq=4B)HJ4& zyTd|3ghZr3WLi!88Lm{$(RWQ!(U*^!i3102gh{it%XIvqHH!#W28ONMNCcRGJk;Z7 z!e$FIS}21`^op4UCNDrc6fBW z+pd?3`J+c40QBAWU;e-U!@oZ{JpE_?{12B0$AXaaSitijL4^1F`^{z@LO@NEuV;8E zPwR5_2Q|aHA(gVP>+FO*@Dxxr1|$S8Q88JEaj!XL&8DRS3nI+}WL-wzm<3#CYgEUq zL*5Nz+FKelo7XwpMq(+dV3tiarvyUR_4DPU)$(X{aI#n)Hf@{Ie!IPWbN1D^+qotH zjr4sp>-xh1rlUPtwUE)#UYuX-cAI$@Vt*t}uW2k)R(5N$_Sj*+vmp2DU5r7^&AiB2 zF)=)KxQw_cc2zBBHOoYybYUbMr73q|Y`Qe0Z@&G_w_ks;SRH-%;bLYY{=E6=6zXB{ZAz7YHCUV!dnS}zf(A0lS zL>gekOj;-Dr$eE_)cEG)u^2tpEoo&i-FY-AvWsG7_&T$~6nh6uNg>}4lO+XUVX14$?bchkUR zvGk8w2SK*csgI%QhhYdZg|O_g%!}goHYt}u!%4eGjVW%hXNUzy0fZRUxLEaJP<@R=hOMY z0=0Aj4x*CWU|!H`2?ajlhC&p;)zaPV;5YY#%cg6auIpyq@#)F9xAQk=_t%%#7kB3P z$N%7?-}=GP!9mz=^Pl|H_kaG^Z?-!-Sav6;y#qj~{_YjWe{c0v2yU`JdiUjEW=Cuz zg~(=r#~AO{1z3d4?lc-IO_s9NY1?8ZZ57jXP38cuI|^n(Sg2gmWx(_jAi{cfAKY((V7lKb%T)!Am34_B+BRo{xV5?Toz)v1GIs#XXaM+N?h%#Yno z;Or(WrGhJhetJh|l*YcUAg}+iIKg=dVl-gPnKC6d77^hfA^|Wh1hN&PkMRJbl>(QD zjFrIV7La^)>^_b$IaTpZ$}6)z9Wmc>DI{ ztM6Zf^ml*fzX@R;erjJnmB(QqHQ`)Ih=KQ{9|ov$`aWN_12WnLXNg&q}$O30aCV&t?CCj1k2M_gok&Li zfaN5|yOX^huWm#%!gKNf27&?tkPbH94rx2ke%8*~S^wntqpsHQ*)%H# z|qbX4v+pv$&*sArZYx@1@75WPs_i3MYp1*!||DS&L?QdS*M5cq) ze7UF&77vhvKstLfEUEU*DXbE{nWW4cko$AqWRy z-tG3|klH>lkph5-Fi_;URD5Ae$-+SL+ypoCQB%{-kGpo!G;L_-r%?jA>n^3M>)SUM z>o-@MoAte^cTG2&^-OMM^3%B}mcX!-Q_2up%;%4uJ({l$`)(CNKPFvohrk07HD$=A zT*D=Hw|FZ#+D7^&wryO_+T-Jc#bVZXv7N0jti!nd$p=q|tDC#~yU{tP6uR(#_&@%i z%=6FxOs#Myfdgl??56N!4p$<9Dv9J$QaCf2yKxCr zBcN6rc$g_G2U>~bE}u@>eN5G{ri@?bY>7F9z)TW^IdGX5aIMPUs_blTUvj)B~nV9rqbzcX!*}aIxR-4i8qV zjB#N_{70>DNU%C8=JC|`zC!!#gDYcx_xZ5QibIPu{I65)KqWX0h z6_%H{iJ|M8wh3nAX1BY&xyj=`r@f|(GBL^x7be9V?0Fo_m6@8hnXOJ1tHag7(QJOu zHvKScxBI)Zvv1R|HA|Keq+Rq+LTp2rY+cNleaJqWEe6Hr^38Gl5c?e%Z{J>pHo94V za6&QKn9M+|4l*6H520yqt}iz0T^piVVOmSHExS8|2Tcl2#%Vv~Z2R4Mx1Yz*CeLQH z+wD|0Bz*Sftnd52pC29_K7R6e*3XG}7pS>G>)A)8w(JtV7o8j?h5 zn#Nso_Hi8DvXwBGmF5)-HQQ?XU*n<&9K`H=|))RZNE5No-RH)IDUR`@?t}uHcXzR68pOH^jOgYs`tzT@E>ToQ< zi!-68v`3lqtT#5X z+3yBvLRJ2t>~JCymY|wJlG4yM-G01-S;?9sKuaG+#1zbvL)@MxHQf=r^Fn}Aq)~X0LGTRDA0)+T-_PSU?zb=b=+4oa?e(ZHgM%<{N1_imHDWm zR)0VNxB_LBiz@eXX{^jMgqcK4K|lY+)tBF#U)}Ex`gnReW21u0+JiRFAD$^a{POSC z6I5Tu!>=cWkrS9$0XJtRH-CM3_2T(y)3!|v7uPq}H@9ummL@m(s7UY*5CRBh)%~=z zV#Tu29Gt?hR|Y7dXP`+d9W=WURd0*Q~7FRnIc*Xy&Z&E@rNO4`PD5oc%se(0*j ztwhe`l(WHSv;O$e$zpXdn;(VP=j>w|#=K+ZGJ#e?Q3zw^7le{uHq<;(BB`tqw^ z{q3*6`udyiUvJyCJzOnUv#w!lg#uCQtW4^h&9aa_*xZ(tO+=WS?1~2Qz2dHnjoHI# z_MSjuLR$+tL;#Ih>n4pHgOCWo!O6Awp#Z`qumhf5VqQEIG9!u{2*{4Uo5!XBz*VYU z4;3oCPiedg0_xTCV;V@c;;R^Hn_*@NKnOuqVHV0)l+9-Sfq7I^FRLiAKl&EaCex2!W>SIq=qj{`o}Uy zp%bMc6-0uZPwe(Ud@?^ zg=1_hw&PB&DJ3V592N)5es-`rIG)c}v)Ph}cKh}H{rSbP9f!S}afl+_a(*ftZ32(o zO8$rjW+zIPT9@DY{eQMHT?k>w`}>QFyR9%Ahj?_z*~fAZ8V2<~4{6*aTYdTJV%Y8b z)v9(Z<-%})*r2YuS{`3q-ya^WiI6p$x^f~gbIh4``(e3UJ^%1U*Y;+4x8IFpA{tav z3{B2C1a@cl?4aUo7@MeBZ*DJkyWNvV&*zJ79LJn>g4Hg|=$~i@Opi6++f*}EDzaDq+y16hL`-V($EM9M5>kql*Zili>Nti5{Xq!Jux-Hjp-WT ztg7a*ZH6I9l!q_W1ihLr;(dpV$3;Fi0+MhE+f7~#cMbdm_mr$Xxf<#Fqi=> z@K7j2W-%mqa%K=|HL543AdC__6vf@ytn^9Q0aGV%MR=-QeJbQI;mpLWpF%k_7!HnTn)AIyt>4#EzbhEofLRes7OF$ShpH5p~T6P?vpL2x&dz#JkV zKktN7`Y z)uZEi46zFmf)LyNX7~2`{`J+}#m#23+cU|mowcn~we_tTs^kpEm5TY1k-!(CcTh4jd-rel>>+NPe>{HGjq67(z6wNDXwqY0@ z+BBhSyVcR*Y<@Uj9L(mc5QAzScI%6atNpNbRTziRtY#-75fX&h+={V;m%Q-FLcEx3 zw2kb?bkv_d`p3T?&i>jnon77C-tE{CR*P=6(3Ftf;0kVG2m9Mm?Rrri+n@<&lX(U}=Iy z3L#1m6t#63^&+Sxh7mMp(`4PJH} zzkm5V9=hamBo;AdgCds`W-0`95ffCqgTJ4gg4%+qY}YqG_y_;+M?d*Jrg=Gh$MMbg zzxjV&pTEAmeYLr}PP^Ot`|H)=509UJVjc+zkfxoRDaBxerrpp-LEwyHn*dU0f?@1K zGo)?W=6Kk^1tg$x%I}?eLx8Dhr@X2r-^ts`Ve{~2AMS+*5d_uyUdP&7Rx>02d-q7t zltrZ464&QVwH=~&-?R>#RpnbLBuw6krAl{Qwcl{(&h2_hntbd;ogles&RfYLHf`Ds5!$OT+AOJ+nYTu^BysULWmJE`kgh|~-KF+VW;^)_L1N87e- zM^J-NCTAs87YXJ@1mZHPRTe}kHu<3@aZFh3+XAH?TvUKrk}aGMh6D*^Cy8?xQF3-3>YS z98|(Mrlg5kfHaQj^6~FTXv1o3b7) z7KihB5Nd=P;fCB9!pP>67ZDfpCx`EgFruX0Otz*IAZSH{T1me0beK!vZ&le-(QpWW zq37&{fMhD=F6~4o6hz zWb;Xk4O3gq4hS-vEl!S)$6?rRHX@Q!Cib-7!^Y>&pa1AbN5_Y!i}{R&&FJ>-X0y2q z(yR^^^ZBzjE{jajT|usz&flJe&`{!{#R32)H?P6vPSru9C}7P}9&;X3N+}Jla4-`K zx6IS|2_v`!>ASY;LSV`^jQjP?-Da~}?>5_%GJ#`=F}6+P1Twc#b-&rW>0;hLesZ*0 z9?s`S-E2u5h-)noWs`orGd3-^oF4#>O5DU~-l& zQruFWU%W-$J1@_#HtXH6U~Om1Znnxv&D`KAgvI7{`ThP=4QRQ>)P25fB2KW@AkWW3=K1l0U1{lve>RxE|1iP{zmL=B{9eu|eM(w6N*2ECfI@;K{QO(tiEb zm;dqY`Pa8MXTx?gjyvJd&t{8mb+Y{M(edtJwjea1;81qoZ+32psmp0&mWU&)woeLj zQ{s}clkdm0v(Wh5D3imbJvcnLy1I_Bow~((PnUML92T`$B0|~P{@|5a=QbY@i1MC9 z6(wcup}wfLniYNsAkJzvUZ&n3T(7AzC!!^}|$jy&w{V$;XixYoJ2avV6+VI(c3 z;wwNYrKX+lcXz_V#AQs-JrEmNLzGRk^AK#&w6p!NL5Y1Ocu8V&VQH;YGkFY6lk;e9 z92&ArQh))=Ihl2Ef+({KW#qT;Jf|x_G4W72Qs(M+a6AWFzNYtC} z9p6R|-hw5W$(`AZSd0T;4T74%O>-iaDvu>&_TZK7D%D4wf$&;Fdcl_n6or|ErHlZY z6-^E$RdZ!f9=EdvlGC66^2_gEzX=l4_S!5nM;6XGm0s1z9Y%qNM8lYxRvw?M9xa>G zMZ1`{F$l2?ns4s6Z!fQ3UEbZ@?gvE^W!_fu za726s9si`mvaT}Y(tXVGmlf&i7;bGS`QCLK>SyrvkC_n_$><*G* z*ls{pRgW-|GTx+S2lIn2Mzc&nN!BJJRlT~sp&Jh&JbU`_XP^G?-~OBJn>TO1{q~z* z{pwf0`t?`eynd5MJvlgB^?hV+*juJ9P!Ji$JgSm}tmbZ1%oB_AYgJI!C>AME!+?3w zdGfUNU8c{~r%W1vw2TXZG-)2)*(4wa_r-zs$I&xMATr{XoDwv~AVNwLv{$!wd8{s8 zInUZ{5y-iWXj1WVtw1gV=$e*+`Mf_mTn0IM{qm*5UwrT(Ihq(3%jJs?KPKSj<~pn1 z-(ClaEI2xPw49#+aL*tu5>O^tZ!iD$SAWAC+t{r~c6gCRnpXu@c{K!2DP>J5rJPgF zT0lGImP6e>1ehtYHEo=?ix}CF)41QQZ?@a*cC*><_nJ*4G))siEE`X=?uQ}gF~+!9 z%s=|z*^3W9{K=1h_~`WU<<-q!fAQ_*<=d<&r@b2(p^1I$ni#tfq>0?NO&cN+#;m*D zewWm&_Hfm*(9NCL#HEbPCIFe7Kr(EHWV4L#FV+lL*0?wbO+OCXQW|8p`OTT7@y+G# zyH}SDOHsv^4zNs)T|@#4cz`hMna!+t0O9cnq7_Dz@az$E4xC6IG$V#m}9LTH)c zli5EDM-e!(WlIK_=45Idm}AEh0B}HtF_?+W&DHj*qv^OGSK~HzhZ#;pNmZD^Fl2EC zY|`t{MA{-xH=22E+l@-t9hH-C^6;odL3oIsdyk_aB6sm>NBQu_4^~UuFOUA`fB%2W zH^02!Vb*rDzF*EBKRTZE-7HEJb`}|jxZCX<35et^NLL4a;Lc6V23XEjd&iZICb+9} za21IhXmEPUe(N?s`o&_AYhwHRNHRSz;P8nTeRro+QsMnKF}ZF#5sPabX!Z)OqfVLE zx-4Kq7h;gMZN{8yj1<6JO*4q72A~od;zLC-0Uda6D-b9Un_IPSYEg$sjk#W2hGdC` z1o9BXNhCy)$i!pX5iv<4995H=5jO%cj49_B1BFoR6`1KAk>g;An)gH@r9t96#He|c z&{%y&llg)~)sZwO8r!CqG`Nl=GfcwMBDWz3NV8>F)3&qSe#=h8!Oe-`&Y_*D?#(<% z6cN)jj9cXr>M2ZIRqtLqBN);|H3^Zha0%`btL&6%8M$x}5qoheoG1riQVRkKkwO-L zYCg{7(@sRp0mKEjbED*>(`bPdjFg<5Yr1`bz?ns))aefwN1ZH$1p#sB+u6b4GKTQw z*WYh8ThoCJySrQO791L4uAz+Xs@QB(4B_}7e){y}@nL&7YuYw~Fl4*i4rf>QZ!YfM z-fXt}u?dcq4a`oGBYQx9j`0x#8&K$+PDl{Ih@YFV5b+e)-+2FMs{jU;f!&+}zz~ zM<1Jmwm%3QLmOjU?{{NL4F}?wEPD;nfLB9Vld>e(s0cr&na=XIZGw+V&BdrmTGbcE zGhCV3VrSia-_FDAP+}x#KnpP@a}psF5vG!)EvU1Ogj%hXZ*TUnECHXU$_-vipQ*wi zGSw7By0#gI{ZD@Uqafi&Klt%}H@a(#4NE+G^ZlRw`5!k;^XVr)I5|0O+rDjP<|(Bi zNTZes6k>pfU;XM=-+lM(kAC=5Gqoapw+U?!cF;JEDUIVeWL3+iRzh>4)RL#nd7B7# zUFf=n5KX%=?>SukrPwn9$iMwS|)7Zwl^XBR@ z_3f`;zP-HN9M2k6^>R39QP05%AvT-!Jt?;#s;XHcp1YYBn!o{28gc=_nxF++^;`STBsj~|cYezRGJQ06Ebb2ZnZ-D8rhDTEM1fdxqFOiX5OMHXc#n2WrlgKIhL zWniynU7-rH%49%MLQDil7j0R|(8}5F)St|r zKY4WAwq4|s{YG$Qsd-aCTCeZPXHE@VLHonw$FZ3avS-yax)~rYP1L^zt8s?#rmrU#{B>Pm%G!X74)27>LL%{WO}MqJsH%-D6#Kn zUDpCg>wA>(TNKt%OWi?}djrGxVLZ3O9e9ULFu7-fF$XW@B~fuoVFEi_si9D!hgsDC zv#f+INJ$zH+_%}f%DJblK_o=CF^w8R!%|`y?cJrxrGynzH4b?k+IF_h_hweo9f=$k zK$*}mn_JGh7Y$uM-)-+5nIH~zAaSPR zNXqb{W2gyKHGL|ulam%zL^d#k3kwPf;ss|yz4z;qV-#$fgUIpW(p)s>51xP0_msxG z+h2J$-S2L;x4zx?%fq&bs(CYx+rhzU-ZY;*KYV=HpRT(3tYxB{eZ9@+cXzKZ?=CLa zH|v2Ivo@~g9k~pVE3+XP9B}i502;agV4;>uulo&o*BYID86Yn6%0Zk zVUG>ZySDGT)vP}`T&z~}zHdVaYObm!X{i?81z)35g_5coh$$4^eqeznR|_rg@Ag>} zM{%=$F^{nw(vB#?GsB>4#BjA5{Y3>d+i$n)yG+E3{^TG1qmTdfzx-GK)Bp8<{Ij3` zDNA#=-EX%0VJjzwRT~fb`9_A_ZV%@uMRGt2vJyB;QjG!&=w>Ed{7$WIagaU;UEy4$ z5vJs7EZVf*&a7K;xA52z2ZoWG1aUU<-~=Kz4^0SCQgCYdF&#JbAnZe?a_Koh<_aPr zGN+_w3W_LRDKQEM$*Rwuey~}upPWA0?bB`;46bg_ku9wbjz0VBN1Ainc5mLkn$H){ zo_s)H)l^zUmd4!(x>@fCF{PAJMlBZ^K+5AV>VDX&=9EUJW->s+RQ)iR+9++?un>`2 zPTTe6ZnIf$?uY%L>LG+6(zWx#2W3tBVV6^G+IV<)aC-9LM<2fU!DpX6d;YYG{n`1& zufP7y_083=TL%iu#qzVC{??;|qpO>{x0g4YVT2>b*tSjIHnUl?TrT>)3n7LOnx=vK zqt#L0y?J?desj0eGCo(LDje@(9i8U0&S%Sb^G5Ej$Nt%0efjO>-Q8gu>F{Xv;frCr zMb_+Yp#J<7w%fZPXV-TGfW$pdb}pp`bpldKx9k0)J?t7*%EDYsb7K&|%v1y-EE3J& zWI3sM1`uLI#cv_POifa4IUXNBxx2mo_S-LqG#;!Dma79Q!?A44Y_$jG5JKeEOzXks zlv2*NGv^S*3KRsmse2LddhxS!7zY7(7{@VZW0qiW8+AyQlW5lBc4tBfOL)tp-9VVWa%VmtQimYqKX8lbGAFV!eg)}JPeW*&t_rwnmU*(aO zj+9}pfV`)WDAiY3&R2a=Y(h#=Oa&ogf|lEzeX13y^sEI{FHX6YjxY0OJZUuQ9GWwg zNR84L8i60&x~Q-+AcB<$7X)%Z)!jm{$Q=Uh)y+m#0Sf_HGdl}QsbmOT7YjK;Pc*XS zluSYsLL5^HR3I`bl1Lzfqgx`gF>gayHcdASLufjy(0*h#cxD8(B#NBI*v?h&VM;}( zUNj3zUpMXALFiYQWdhC9@S8L-M%xs#U{_>fSmWig4!gDTy#F|!q12_6Jg@|lXp6zpu8 z(}z!wKl$kSc71*R=4&6<194h!hGCtDAt`G%kO%2w)1JM3b$5OB;gjX_ljYNcZaHgX zBguUj^5yON?bY3z%gxQ*F01x!T+W;N;z5(j!{9!qOqQEAo*W;|mdp9#pzT+VW*mlb zHxQE$Af;}g$|wKr#`gz$urgR+u_Onx+}HJ98zlDT-T|JG&PigzNICld81cZPI=>9v-X? zSBvA-qm#q0zCFL&Srk3r?uM)fO?%L{u?d^?E{z(Rn4t^{T;|1Di|M)>5t~ykg64E?`55M_MSp!Yu6K877!a51&9-6? zB(doyPQ~3_gu5p8eHRGHhGD;5->-Mu^|0IT_X87$&@^q!HTK4aVLyyJ5uVRxpM3Q3 ziw~ZE^wEc(ef05cHoMzy-n@GKv!DI^>SjIfOwc?&I{fgbKRr1*4idKekr><>BhH$XyKIzdpZNZ+D|RScI6sB0v^+jLl3ALIAz~ z!dcGFZ-4pqS=+YT_4@Je|9JK2N!s4C!voo7?Uz?WjBj4uUf*q(ZDXYdE}cq6E17|0 znnxpmV-#*2o^_Wrn7V+$#LRA#EIE)hHz9Iy{2>zNtXU|4DC@vXDes0sce{-P2Zx7U z*D;f3Q`^Q6iKPsUnI?(B$zqJc!Q4~UkxX?oC$+$Arf%xYV2MQ|E#~`DDFQ5JltvxL zF*#D(#goI+)1zlcN6(Lso^_!I`FF1O06Zjehl=r@l&T882>BRrErl(S5CykP9-J98 zdBu~!jB1d3xvB(KdfXT&itNWU5khbV8$HlwC_czeR3e@b%<{->WHFd2IVCB>pAfJZ zERFl!_J(g5_#wdv1}AU|#Li4mr z%BJ+Ktycv+N<^~fGP-J5oQiVB&6yc$De%q(ZTWKzqxqp$?mRS#VC|4sgBtcoHPqF zY`8!B=Jw6Y-}>m}@uTBe%gnMH^VRM8?d9gp`OU@cdN-sd#53{X@=4h1QVi!Mw0-Y6c~*|RLt3SS0Q3l*lA)9&(J@A$#Sgv{jccFcI@%GDae=}PwA^}cndDi#)-R{lnSI<9q z5hRY|{#Sqdi^XDbdi;opnx-`%kD9XrOpN_*^Zj>UUtU~aUSBL1iy!~!$E(%BPk!sS zzWa}Vc5!|=>mqX~H6Rrq95ax|82YYhVsxmcVY|89Z#LV_{cb;~xv;SCY&I{!<~iGD zw{g>^X$}sSj~{*d*(aa=ef{?QZ@&2T{oRe_BqBr3mWF@#-~YQ1X6wx+ zXC0F62W3Jw#1K}i)pD_{1ln|Z+ca>+%s!Ei{e1Dk2ND{2eRg%X8OJfRplQOaZ9*fF zFl*ZW@HpL{ZQi_!M<-u=_2%Mk+qbRuv(ryMHBE3+HSZ7f`>*)!Za7}Oy1BEQC3X+P z7DdEnM3^S_vL`@Agb*~lM~vf`QfitOu&l~uSc%ba6C`*6d$q`JoY-=9Q(~f&@_s+K z)6=KV3dezp=9juzb2gE{p-E$+=;mykMFP7RMh?Qp1a)JWM_~|UOT(DmKy2ni)_u-< zB9D!n96ow<^!eeVkB*KX_sv30Z#Fl-{{E})E?)oU^;e(&?mz#%kALqDIhE98LUbBy zh}|?;fXZ0VG^Q>OXF&a$Qex|{K{5A6hAEu5gab`xX-@v$MfNaxQ8Z*ydST`K`>8f>*)3^KY3%z>QQZ8DQ7q}odaTZmrNAyK(Ff?nr-|`8%ZWl80A`-mqfd_d zj!DZ<%JyJd;vLwarn$(kDmZBcx-1-Ml}r`PW1{2XUNXNOPeQ-C|UI9xcwQr0XY#I1y2I+&V>2*b== z6%2}(69?)w4T3&4F^0U`uE~SDlMz^)13844Sj;lWv=|SQRE<4^#L2-9 zAt=*yDizA2tPNL`gmRuPSgW$zYD{YnU}kCE%jZc%X6AsZY1UMnLWn)`-+uYclWj_t z-JH!CGMMd#>;%GYHSZ4&`mP=H{`}d=VzF3c^}Fr%?0Ws`{QlzdX1&>qNZZEMysuZ0 znJ^b`Ps^5dFxX--Uo0Qb7l-r3A&B2zobUI^Fp!f-02xZg69I+%VvZ~^H1n=GK3p8G z=0^w1#iDPT2B2JOh6z|GSR^rHs>w?XomnpEcUho?lP!meCp8$ka~g=@Ozy&E23NT2 zdasjO^iTy)A|x)#O{;b-^)yu`04b%#Vm0r(oNd-L!twlO_x$&M_=NK7|M(ZfJfE%> zD~kvHyb0rWpBk{1n0PmULRl=e+D1l=mUOTiGMrR-HuIxT86*>I2&fZ5gi$1<&<4XDY;V!F*a@E za3?d{?sjP$S$sKPKK|%~51&2%?6XfldGVr~FK%w`-n>2g#ozw*u-Ou*YvZ#=k3M+% z?8)h)S8vb$>X*M%&FW(jA*y@mgbEzQ73?cY_v-aY%r(AeS}mmqGL239{Moa`e0h0u zx7`oKn0M`RK5v`G-9)JC7T;a`B8|SjPhY&g(ja-WS$^`#!3Q7ces9VMG4FT$>Kg?5 z?(NOZde?`TwbJ_KaJGpq1>ojm8qFXaiKv`oBE{gRSTlo20E?kbIhO>kA_Pl06Jbor z%yUvvYPvSWuq(9%vu34|A(Tq^kqpDG>lb9MnnwtYi@V$!0f&;%d^IrP%Lx{Uih3NvdU2a}ZJL|A(1 z2g3E;_9F;r!C@p{FP8JB>r%=>p}3N00d@Ty8o`r)3`(d=+1E9L-W@191z9C*QvLI@BWhh%W(s*rp)83lj}%~L*w32*+p)f?43D1aQ6%kFWij=5AB z{HiCPYM|NzQH@PS0aQ!CW$kjz3K9%bcY<++qmall5s?IF&N+dMsAq0K5e&}KRdS_QLJ zOH4$h9E812$&|w14f1X@6jq%8%OJGZ`>c*)S99bEb9)CY`Lu>$w%g@D{j!xQ`^f=C#?e8yoOe^^qjZfxC?)&u?E3Zj-Rq0%>-()a`X(%v9qJuZ5fCCa%|pt7 zw{18%K0Q1gGba`zA#`n6&im!8TP_wy2lIo~qKQ(B z)yo;@AQ;s$wS;C@M8K*{n26~;2Q+|$T%GF-dcnE~?#Kyl-H`qCzx$UT$M)5K`inQ`SL5;O(3-vt zVI}MPJ*$IANf?&>Vbg)(0R(1)*Ej=^x&p#(;shxdhg4YK5tvb4olJ!z(Ud7WJqIqa zghll5VBG6&m;_JsfMONf+*U+qN%0c=6)HPnbnDn`LuEiEZ0lUYwu3Icxiw=CNzqJKY-*lU-h3?uUJlVD3$b zP1{6aw^1$ahr9L7X203*He1Uk5+#Jtgc4_&#x(2)^VE0k$?@v(>Eq8n`N3zOzIgoP zsgCLF;`|rC`t{xYjcF31!-K;gefZ+>>2ce3WA;4icCSM+CnyoKgeDq1aA@1cnO(Jv zoG=@_&R3V5DiWTMzd~VGyw}u%G{?tB^W}UT_C(w^9SaCDjysas_U`Qb)mMF-egF3I z{N`>E!>}7pe)M_M_PbqDGc=3*S3hfS&(CA`&8rI`k`T1G1eKvdcNCj^I5DXyoQ+5% z5Rf&MT=$B-6Pdy&&-$fWN~0QU@dxpOr>D#$CF7MGs<~-n6IVo@HE*};5CT)<1~msP z#>SC{aS#q&j9cMRGrI-%{dQdIPR(K@vN7u}+2}~iMSpto`1tgv$B#ZZI(!!6+%4VS zU4QY_7vH`4_RZz1&E}p%)5Y1z;mL=OK8T?SQOw2=JOS!V!Y7VwhFAUtL(dQu7RwT^cX1FQZ5kLq9+6 z+BQnyASl_b$=p(mPP79e`2fVM!>}JkV&0EFu8BmQ1a3rSZq|(*Xo(;TlWX`6bPwBM z+^m+X3Hv}cuf~E0lkZwn@%+55|vW`6*6NhCK{ErDJ)NIoydd4 zkZs&=cEgzK4eur*$o!UsvAr3LYG#Dj{T*IYs%V#c!TL#dL#AN;_=k zpob{JA`WDS6P2}F0oEdzF!Dn41I6-^ERQt-hFFKeB*&&>5jIIV5jx=ptZv0>Ff(9o zOu@wArn=b=BB5v9dI>lzs#<0koP%2;^8J1{Uo1H8b4n7Mg4Q}AyNQIHlt@z=+IH47 zvthpt+&C9akeDk=bXT`AC2C_MDY*gCF>4u-FiVPoEC`~*avq7xtPs}{(TX2-0TZe> zl`xpy-9$+AKa^UI6d&2F!=zFl-pVF4amE&{3NtVxshU2}4JFkc?@ z{Xsih!DSrBVY6q3NXsm-X(cwGhl5Z9NfX0z-YsX{(c$v=@L{L?QxFlP zj2e@eXLql0;qPr66fAS<6Q?!oL^Ua%OSN9S+s(wubK30&W_Aa$bX{LA)~REk9^v#D z9}4bLT#{380zpmt`Es>dU7lUHZETvbYufbY?f(4kgMab|zyEah|M>s>^78y%SAOc~ zx;S5S_xHPCRIG@(Itl@R!OWe=2o#A_SbQ{dC6KX64hZmiSrIdHaA6VwQ&raDfp4rk z*5N?{zya>y?1l2BGO$O}bofKnMU!Jr!McixenD~D*nEF+cI3OGeoN|?DK== z5yN3l)INTE^3`v?oXuwc@?ZSxlcVFV?RWd#LlM@*xEpp~e)R=F*Vk9WejxH;8~{?a zAhGYe*fnj#mWTa*eRp@i+wC^nT^dud9&eilu@WuY?JlJu3eOgcXU|@I^6^JM`N0og zeDEQ&T;1HgKKuUHUwt_agQm2c&pvtj?1N{|mdkm{o^sx+<$adoUfmS8QidZ+An^>3 zF%(lWWg;pCM6Df}iyVjHC~O50g&@;La~4WAk|MB3H)G}^(8-$2ylLd(`!Ck(yLi}r ze{rqq7>DJPC&wRumexBpm*s5t#V`1azqRG;+t*j>wru-Bb8vB*0zXhsZ00%`DS(N;Nzff*;s@nyGM}_W8w3QT}>1z1gNIG-mEw4%{Y$7$H%K> zXI_jMhM^9cne)?juIF&FQ+ zU;I%XW}ZtqQQRl#VQ>geP~Tr*baC5-Joiq05UQa z=A3jgvHSZ!>75DwWSsp_id3+p4!_XD-!D$GIRhY&Rk)8ERQ}g0hH8A7ZBV_ZRj9%7)xWGSyLMBQ)s);WVezy zS8v%;E5#P$Kur5#==;@1uPiGCA4kIUWE}&M3j~_RHegATQd2hEHdwsF_^>>%6Mf2!*>3Mv4 ze!tlaAy91OaMeE8CrsukaPwi8EaOHBcTdTNK?%j~(?e5{44}+iO(~jF3`F6BCLhGfx|Tw6>)U=lU!B`!8>Ed4 zlC&T4X0vN}{>k&-ULOAHfBFx1_q(_fAJKPlF`sQWdje%*@#@i3w6_F!F$)5Wy@hbs z==_-3rDVua6me!@4iIK?kW#h8p!ajp>MAE${uvcD>#0_NIv`gb<|>5ZpA4<9^t= zd)xM>r$^78JpIuRe(QoFDDY&M%G zkDr9lB3nw?iBitveh=`$;Sn>pZEMH?)EqgxBZMFla?St+iGZ1jYU-Qegq&wKq>r!V>+6O+_seK%+i|zE)e)H~Y-HlY!zaJ~;=lH>&4Z?4>|!*y z5;KCE0%mF+xSh@J&W7#IXI(=y2M-*$=~}(tgGp5h?1aC|SCbnVtc;n|?O(g)hwibs zW)<$62oTfhgeav4RoJ?iVQe-#5VHgnrHMhax^um#|9^^Iy$pK!K!w;d*lTMb&M0C?@0%10c$lv+hFNX#;hX&82Z6N}o& z%%DIJDxsiGMA1FDmjSQ<-De#Jk1+^XY8rSIdkUPL&E0Yut!-zs<@)|Uc*W$|%H<)< z>Ta&1N{G#DulE9=(8mBwjhR@Ap;K(S7<|kF$F>qNCV-0|>mHh$w(Y`ly}n~IxVbtJ zmAM;`)L}i4nh^t($(#_FrAQxGDh2B$LD%h}2SV}aET7-&$M zFHerbX3(RPCy$;Szkd1h_UiKTMz3$Pur^)j`=)42%e)O$R?vZ9Hj3cs2hW!W$L(y% z+~n-rVJPfCjO;)iH!m*-9+~D*`nH+%&Ae|<4-bxxmtEUMkwR?^DZ`zaQ3JquTK7c= zWnPj+-hW#(%~qB3bDBIV%d3z)VC>eLlyg6yNfB)4fy`6R+pJ)UEW?m?IRzHfNi&*6 zLgj}{=QS#2g@+p69je0pVs)5Qr3qap&ZL`xw!8bskM=ib2YvVHZ+-HcpMQC^*#@4; z7-wBXueY0h6tg<|i{jXC61p}=Kl88+3TPG;xG2wEoEOW zWkw~`u-}j&~Dc)SC4-5qhYg= zzE7LY?&tqGf?n^^&HetcYfEXI$eG9{MO@wNQ;W>RIb|~{m1IhqlZD_@ElO}z^Cm`N zG1Flj%ADQJ?d|2o`D`{D#zC{2y9no;g{bTL*hB!sFlaUjWNtwMFzF(P+XK&B{@=2YnhoE>_9!pL1nBPlW=51g+jDITOu;2>42MVQ!mp8 z0IHqyyGMa(!PGYbLU9dYu~am4T!Dw_p963T%%NQF1UD@L<_fw#C>u&yUD4X9lAHJn ze+L3Ti1O+MRRND_4Ob_Na?RIuVXo#x3Q(z^xxnY{&H(@>6^oOU7Vv$hh5)NR6a=`L z4#UnX3oY)-&SdPCoU#{R7DRS&)aV0Mb)>+pnWlsg8y1+mTj}(P!5&)EJ;8R{?R>s$ zx?vnr2n~veL(IV}QFVY}OxwPjOVi|G3?X{)HFYKjp*7#b$5CVKI^Ny8DzO-p*vJ?N zOwpmc&Ct)8`bb~}uFFhnAk z2Hf_V^5dtUy!hw`>s=o9JK}*$kNZ&ml_r4*M17=4pteF#w8f+b-O9du4I0#2|bUkOM|e>R=}&CJw?$xC4l)+jXUAxPpiix9HUy z`~BV^HX#63g9nX?4WzCFXfY0}JJ##zQAdT%KCbcKKSs{k3RYIlaG&%PPW_K+1uBD`WJt;Uf&P9 zecv>vhX*e{{rvd&$efC=&UzRCH?>0V#1LyO#USEr$`k^JqEz)zTv;G2Bm^NhmvWlX zG!s8{ZzZxAz&MO%)-*9T(OenK{LZP52wpJ0x)yW8-R=1=fBlO;PCozk>}H=+N4y!g zAOFigoF5zvN=n%O$h8V@Yga~^feTTtBf*E2{hPf=I96aW1#3sVT z4A*f??!-bt;-CG+pTB+k&BdEH_v_mz{o&E+`&kzoQiT9UNt1{2MwpqhdLGm~ zGZ|S@-ED1$z+Jz1_TfNY~@>ogB=n z0w@A)2!R6^FP8FsZ0gu6T3(8WN$v)RlbNeQgmX3_l#LXFfXtjEGz3I}4_l%`HDhia z)U`cs(-c9Jd@cXf^-op#v zia%+26$Yz5z7AN)iOnUVnV3riAp<5o0pqv_JV-HnCJ1>!)p=%lZ+YBrHz9N)#ly7} zNW~zXSeo)lr2h^+b9sL8_RY=B&2qI|t&W@1Cn=@7+pGO+Rl|`o#?HmUGF60st5jH^N;Tx>g&rYM?FtNxHhbw8csb?s}`*=*Ie!JTKVu&{1)*z7f8vu_WBeYYRl<>L2# z=c8Zz;^p0b5aCAjcr`os?KoH)N=See3WETGpqwiJ7{)?uPAU|f!4fd3n=4jWM>ZbR zqs7#Ly&Rpy3}iT22GzbxK_z!X-DH}W2f$^?LWm9SuEj*VVigpKV-)6t#r$x!-0XJy z?UqE$oCB{`D<&p~nwGT}yXN}p=KA{j?(Y8V>}}V^Km5Z#eDmt{pa1D!&1MVaQL|-D z`!uF8Z@2rkrx;{4Uw-_-^Upu~^rt`m@v|pSHT%Wo<+m?i{^?)-`MBS++j6n|{KF5P zo}Bi5XD(yb&5+CE2$5MrN@>3z;2vXa+m@USCS^v6jOu0Y5Dp;{3po+QSgT36bDc(G zA$Kz^Y{gWtqHWu(smLRs586DhRUjEb3<_5mg*emg+dum+|I0SV+uiPN*w5PL?(*{S zkACv>5B~AsV%KNs*MGJ9{+sWUjd@(QfrYbM8MAX}K@y3m2*ch#b5&JX0}CKrL<#0_ z3^@(^A&Qj9t1%DT{YE&%(9LHHX4?%z@g6nGS@STA00Ku49;b<(vuJwq3UI&wlo2v$i`u{_ulmKZvmjp`eDQc~A#KRMpI~8jHuKA+>Q_ z@5lS>7NfUafAZ+j@zIA*j-DSZAD1}$FFjSf)72Q_LM76-;%$Yqm{Kqt!enp(0j?A8 zUielfXLlncA##hgUFJrpuuedkP4zl+RDMqRrB9%%gUR-4L%nc$inI4@${>(KHAbl8 zb~B!!B^n*fE>EAnV2)0llbHvwSV|(%iopt$NF+3iwz=zP_uEa68Q}nnJ-|)hj%H3$ z7NJ?mG@CT*mR5v`_>lKD9@g633>?x-Latv8_N5$&GoLTm505S{-d?b`CnBTF5|@FL zMncXhr4&Le#bD$h*l&ihh#}NHHnDG8wGyBp6Y78ozo=TQTGs;fFeh4eq-r;x&lbz! ze%CZjA9*cdyx-acB*zX2SZQ##8|NNsDpDX2= z^v7?{-~8wQ{J*jU5#&q~7@);s7KKiZPk#9M$3OkS4?cSFVm@1JcDvVa-u&$QKfb=b z$!Tmwo}8S1`0OVK%aw!GOwC3$1A&Q2io&Bbj;h)=t(i7$Bg_s26!!t*$}AKkC2nGr zB4NfvvK8@Ay{S=GT3Mj(1Te7#3K4M0x)<*2=U`sPb}XuoZVEVuIr;D>Kl`6A?=_QL z++EEY9_}_zfB1vX{@wpRZ*S5sf3f@GSLc`4HyT*NK_5$K>U#$${k@$~*Cz_e%>rhqjC~SpUa%5EyQPLqwn9UE& zQc-oQs^(;>SrOPN&PZ;31PgukgWqnXCNe85nO6Cn0SL(w7ZzB@VY}O{cOhc7I6OZ7 z@Z`yhN5>y7=BI^h)DM_!A_c3_Mt} z7Wcy{s6+-5Okwbnss*n=1xo+s)j$XDt~Z~K9C|?J;Kqietjg$FPN7rK)dBT#==Pt+eylU}H7tn#xfB=GR^9;#tNF(-ak`_RKX@af`z zfSTL^m}))y3$Ms^2Gr`#sSL^kl5FoblUGc!6dYW!yAXtx%v}gg*Bo>$NK?*D0kLdP z90&v?P%wAT#?)|tYfk&2?b^VWvuZA`W9m-K0!yx(_CvFn_w(6qyP+VZQ)7l3h#TnE zbsWbOn=a&0HJb#~OfqpIrUchCX6f4)o0Kw3fP0~oI0%yFJi1fY%^LTdoLJnH0apW5 zF%kzrh(ozOnJE|Hs4EwlJ2%7zn1BPr9oe$GefZ=cu-&a=%Ci_~922=wL%`CUgl6t-AT(SY-Ut%&UXx2 z0gy4lb42gz%lB$o5P_KrfwkFeh`5POQJOMAM6!Fz7Fco~V-RVhs?|%PB4_S}?Jm2( z;SbrEsM4S^43kpo+IBu$Zg19HKwaW=e~*;PP%#`VJmmdv*7@nGN7g~dacGVg%%_W& zXLn3)RE)<;OJp?RZxxXvVV0ud2T*6$-c|Osh&B`yvzWBP-8JXwv@H%%TsxCu*9$9k zP{H{o4wxJYcZFxw`o`(-~QEK{^fkJSS)AbXd-CaUSjj3AN=^A{Ih@6w=tZ)v{+8F+00Z`i+Kb$F_xJbDmE$( z5J_N`f=7gjajWOlR7hz3c3e=I>EuOGzYt(S+8WAJRxBwj5GntE+4{2|%d+cE7+b^M zXShSmk&#nnWsRIfiEL``Na*8?P-g}0<*IIs9``pNq9Uxd)QIR+9J?HGb*ZNJ%Obw9(BmDX&|NisO zU)_vw+i#i}avrP2Z0Fr~&wl#D%b)(FzrJ2`5Uh31@j7_YshDj+2Y~6w zM4%y$V;YGdgbJ8Egagb7EoW(B?IVD_LhAbN^6G+_j`#1y7!iR(bR;~D9S{a)XNNiP ztfdfwXWl0fKu}Ra54;H+m_Q?;0;sX&ETX`O1g0V*P|3B)V}B-Tqc}Fre7RgM9zH&} z_vq;Gy{6tXU@+^tSHJn)U%fbg{p{k^)#i4{npAfV4hS_E1Y`pN5QNA@U+nj3^8SGr z0FJk9o!R6C1R5kXfhl0JC?&uEVii2A7)s59iuR9+wNgO%35`ZZ#ncHz6qy;32;GUJ zU^*rlhW_e$wSR97FscDz02umyElGJ6Qoq)mV_3wP2if%3SFbNmZ?CUc=NGH%%gyce z>hkso=AZrQuim`*e6txO!))hZzO%Ewxs9O)05N4?rzE_JFfcPCmMH3{(NizL*(cyRfPQ@@C=A|?%W(F{rXjh#gINZ@Py&i(c(jmSbZs^Ge2yY<` zh4J>k`u1}UleA*uqHs!C@!{E9x3o_sQ58f3U;+R}EMZjkR+h)z+n7F^8GtEHvqOoQ zK+PiVsmBDN_uDeweXE8?PBmxHN-bqD6%^=eC*w%{> zMwM(7!S$kGMhsSgrj*tkm$6yM<`yv;5JL7G3G*}v8OKC*HJ5yCDn^W^U_mWYs4ypy zaY$8FFI2D00*6>waY&l8s&YVp(G=AXI54y4kBEt)p$fS}k=W&q6ao?6UZs}vqNcd0 z5z;Vf&IE>LL|B;#dUUenVY7}gK7R84!Qs)HmoLv=pWd9G9Y1_zj^na2Oqxo?$dW3A08bX?C-@8keMkMAc`1hNiN4J za|e_PA7;M${-Y-cCkp0{&M*5n8hE@q!X&*0fXUnhh&+y?h}3oE{zR0_q8wtMx=wOL zj>JP6lShmYZqMW?`4vhVx_#!}(k0gwX^@ZczLRo8(7{ljm5{oCLD_T#U8{NV>5o?o2(?zf+&gsaW%2k(CnWBbLcFaPev zFW2ink7-s{kMA8nxOZ=7u{5+Y89C=nfS`7Hc@aXa>)KB_Knwv>8dFO5j_=Rs3pMM9&VdAf*}ATXnJ{F@ zW*`C{(Pr8)lNnZZh#?F^&x9d@B*DrF1W~{tCnQ2(QZXGRt-AgO4XU=;KRVpqfB)#- zqy7CyvDz^+M7g|t`N{A8?u*x-oL-(@-FAbiahT8c59SApwh3Hg)r>=5&swwKk?x2< zU;+kH`1&3C4Pa_Y1$6a)_XTLU6^h&)9*SUK%p79~%#L_Z>uzgfeEY-!@KH%Xrj~v3 z%Jc)O8Hhlw8^?a=`=PrTHm~1&@h$s0)55d|*xbK&yxckH#x-$$ar)}!>Uwo^vAJ2V zZf;iB*J&7msIKY|!u;U=4}SUgU)!sfRE1fr0EnfX&DNVCjhQHrkrg<=V3LxTQVBt) zP@+k1UIWoIQW3OJwpl~@m{uaJ5?SK9&!C;G4Kxy5!mQX_T{JuMs4#80;0RU3ZEH8r)d{xQR zC3tVN?GC3khVD;6&@`$KQuFZ4a!FO4j0h-h{UeM(F(c%091~=#i6fvuHY?a@0LUP! z!)7BE>p6@Y(4@d_v^NmqT20Buap>B1S=DJ6dkT%ZU>d<70w`jVlr&Uz({|k&fy+=Q zA_XKev_6kr;AK@UhJFQD1A=Nsh@px(j{w9RL!>keId!B2$N)qb3;=-2g;S-1swx4! z9!ExMSew|-TJA+ckUR`yw~`{Gj$RTXXp&I{=Zn4fKH5Jzxj23O>h+heZ_Y3G?w#x( z9E8vyAv5pKj`#Kshq2G8@79}}>+2u=^f!O?!@r-;+xy4+@4R#WgZG}UM)~%~PwyY? z-gNU#cRTi}97mI>vf$_lF_0;!Dg`1UQ&Shr+*wP&Ow1fd_T4?$+q($9z2Gebp3fKP zLEr%)i{(K>%mBuOMh4l4!L|~NqHMTZeo%fp-Kns_HNIFBIb=Et2>T>^Bs9pD{ip*X zU`LLyA^6?(=IbXX59;Bn2SIBg?9Jn9J$N7>0yy1`lc@)Z-cE@vFboz}V(V--vvTUY zb9t&S3OWa1W>hf4Ldq2!9z`qll3Ap8?&81?2-0IEiJ5NJ)}q1F)*91BWto zrx+=fk<3h0h~1b%Z(TwIGJn}^*M?5 zRL+=L&N(F!2~00uym)wgG@CE4uCEr0owjY#n5wD*f|L>=R#g>4NabrlBqZcO29mQf zvXQ2ghOy@&uTka*z^>R%DG_sBRY{U6SW*NURhX-Qn)iS*)t&?QD5(f4^-OF}k`r3aFZl{aQuJZVl7y zD?~7P>*1c(EI_7W(RAP_loe8jbc=aUs){g)q)bGs5STejW+40j8IkoC-h-x=$)5n* zNLH-DayEzr0GP)-q;cJK{m>1mAJTYwd7H+nu6slVl%2i%R4?;p)kOO8Z~yDr20?{G z8=5Lqvsllu0MI5X6n9>AwznTSZAJrC;SiRK#l^*CP%ar+%Fw6{8N^o;CM2^6jc5U_~4 z-eRK-CL;E&ukx$k+LyNE+a0>w9#oBgzU#Au}x82 zUMiB0B$}QWGeZLcQ%v$wNjWi*>UQxj`^6N1M}Bl?8$@0lJ9bS(}hW*NW?8=L34i zYIpM{cNd0S`W!#9$TdbtM2ZlrdS^KY8CR?B&5JK@uP=7?_C*9ekxA71Spb~3ZTsM! zYVJ1Ur(c}?;x{iCf4qOR`-{IjeDBGV$B!RAIypQ#ycgR=x9PfWol+_)NWw_uyV4!- zb%!>*1v~%%Oo3yFh^V5Tt~lL#C>mii@-EX#oKzmWJoH9!VhtgUY46_Qyq%9Zn;8`G zyqTej5<4y>h`a>??<5ZZra2Af@-CR1GpbaoH(~|0e+wG$4ba;nDpnA3}z!qX8G86#zC25Er zl{*Cq_zEvsFNCNd>iJ9rW@FcV|4;wvh+4i^cN6{YN4>tF2eJZ9V&^fBZ*`JdR_^l3nCZ zJ>w&$g6tfqFfg&-Yn^vhNh# z1Hgod!=ys-X#vF_RzgP+nSFJapR|7U`SVYI{^{?2^OIlx@}K_M|MuOd{{r9_073*z zQZt$XQxvs~mQBdmhuoo-Xs&JXhk%Aft+{1y%MDdCXL$u>P*r8dd0l_;`R9*6_;5Mf z>4za_F@*#(rc+8TzO|Gp%A()s-nSAyAMs5`l>Lwve(5 zBQ#(LgrFFn*eg2nUynJ?f{$|tnqezVHe6~C} ze0MRM$53I2PUnMxsUjN^F$WTnl!F04_Gv4CqQC^W^`i@XWyw#8iyrm>Q0!)E0E8sd z(I>7B20$!|bicz>o(&=pkZd!jrv1lhOvox}6jTFr)B;s)(~q03>xT7^M-ds4HX?OB z0~5fj)y<3Z^Jo30L*^{nfb2Aj0b7VbK%&SB2BRv0B9K-gT=&B#xAJ6Or=b&!(sxbM zwu|}o)vD!sd-8fbf{*NUYvs12+H(D7)8h);&}aZqmh_K4V3C6W27m%$_`Wl#LTn4~ z`yaMTg|>`OK{^Zp-6XdqmEWS7LD6U`f(<4Z*}k&Jza`oD$|3L;J!4<_58HpSt?2#E zYXbnT&Tu5k(H3{G0YYRyFMLRp-F=cW48n0=ujI)^^nfN{B8q4RB+4er49j`Fn6*`m zIm-rNGn!&Dj0z|~NORCpbR0}$Y-3Z45AX2D)&g0hn$xgO9NKoaUaye22)WV0$$*wj za!RR+Z7ySK0{Ey`B<5ChqcWy6w9Q;L>#RcTN=YCNW}-HZ13_KS=8JA~%NUIaA(H`s zW*xv15Njp_LJCH~AOrih38*3linw0)h{%WlqACieuJ&1O|qiDduzg5wo1>#jKVuWd|_xGaAwL^M0{~S~k(tgwIFE(GCuIqqV4GoKmwtR$O#b*Vc_+@st9Q>W2ftVss zjcGA*l_oXBh=77d0A@T@D=M#Kwe*+r}KQsjBBMUv*~}zkT-n$-{>q zy#I}yh9RfGv5GaAt~cxTW;OJE3~_gNw`pfNOB#DYteU2-;%3w3oZ7bC+1+cJDp2+1 zt1o3^L@I(}V#t6Ri2;n5Qbr{u=Ixs^G#?s?gfT{l8S~StOrN;tQQT zlLv5%c7em0RB8qQcBhH!4BiqMY@Z4rE#@+3G%43!WsuwR^Yhj1?e*>H<@x!|*=JX) zUWsZXmJPsQAYik)X15FEf*H93jRjmW%L>^hM?twK6Yy}yTui5&fdLv3C9z>lYMLZ3 z+V=6u(Wk%u)zc3?2GUor^2x~w2Q-v5?if_(GE=YRj%^WUAGe|dRvxmvAF zp>EpcVsG#8e%s6^xd|}`BtSMZHew)D#JZU)YR=;*3~T}*V2YxEUg#jIXOK+umELw8 zyOiE@AqmjjoZ#tt05JI}%4x_UG8bzSSphcv|2z-SkKj_97$OJ(nQikd-As@D(686s zy5EdxOp?$HfJNmOfB#>G_1VSg*=D^ShH*JtUfhV}jDU@;dW~Qaf+0}WJkk2Tc#W&@ z<(k_7hq3DVjA&y&%xCkVmtiwhF_dG~?%p9zu}Kps@Kzr`?O;IU*?K@oDjvu^1M+AzZSUIYgH4-rBRrOjliBMi2mf5iTMfu0(02P z-5#L~%ti(P24F^ILQ*m9hP>`ZlRi>h)|Jwzn$<`URijd!EGDmxYpf6r)CVN12~mv- zkaE}E)b%WK6io`T#Ge@;v6+J9aTu7nZf4zj4Q5CR>h2ll(2DkwhLL04&NiDBfO#XO zpcpDjy`iR@L))~o<$AMXt^k6mA_YbjNo)`T0l+w}mBNJbvI3){qiPBa2H6AvnHxf8 zFwqf&M?QdP&@!-M&JVG3C?;#O7TQQRJ6!#-tXv+iEM zdiCtHAOHDZ{p4V8_rbm6ci(yV^y#A~k00DSI&7Q8kYv5;#ypf=yA;X@6Yj3g{{Z0R z#Wz*-$T3q#p8VNBDpbI>QUyfw;OYR${bp5_MCz&zbv>**n8-w@?FdnI0${X24R5W< z>0os#ygbn5QWcjugP=J`puX+`s_^j#A08a;=OJ@zD0Z?le{tRc7PDxA$x*G_0#3~Y zjJ&wOqH-)HdjY$3;whnMnp6}K0@vVtKjHL4z8(yL5z*7{{Q~*=Ex|}uYBJw@0CBZm z9qjCW>uX>8_=AsfN+8nIl_Yt6_Oe^8LI_PeKRi5cs@BZBVhRWW#OW-uh=F_w=DrA1T&M2-YgB~BC#ykj$>GHeV=2A7(ng%c~` z6&d;5>H^{5qzx-)5N_*>Ei!J?CSA5Z@(NAiI@03P&wu_G|M@?QYD!(|J5UAUy5d<= z)gOMeIC%)LK|sSmTwAHk2f%=cl#?O=P}x5bz(N_vrbd3f?({as(*ZZxHW3N4T0f@9 zU_hI0I9e>j6aMw5zj^DJLyN&f-2y%$!uz zRGM~45L6xI@!yPq3Kqz)3XB+L%iR~RpS^tbv*({ZySO^vbZbPetHolre0X%!R87;= z6kGokQy2{b7>9@<5CuRJh2Dnq)kTt&vl^z7U}HWFkJOA!6u?lnt?L~y4hV(**GXjO zr&}={Z;v@FE7k&srmh3=VB>UTp_WMHyDuxsOc3-zlC}{M0ycygyG?(y-mKT_ZX86_ z)CeJjs_VzU`12ne%mV;$h#)c3KL>&zyR0S{%1kZ1E zXD0-*B-tPZ!@b4)^)Te5A&}XYbTd~Fmhj>Uc$hwK`7viMK#Lz9a++`i|0`Pd6SGhX zg~E9N6k{8KF&32900F1jyyWrB(-kY^h1nLBD7)|!SIyH7hUHLl!KV*I2Ln(v#EI|NrN?qCjBFA|VTaXgfPzOun z*sVEM6l#7Yz|~ea|792xxX=FJMq+M@*;;Uqn$g%M7Fe zlTtJ_N+CvO2!TR1Lk?86R8_Ox-K(?H?)v)X;*yzmkB(=}LIp%cO^PC5vRjJ*5$zq= z!O{NNn>RPtS1HlwU%vkI`OEObpUm3&LCU@%2mq3sn>`v0705_|Fbe`A@M;*68XBTlCq0lyGLxB= zOfx@&$}}Q2%nIUfq3kE6Aa~=EFA67$4BV^1MB+XPL?}U+h$!P`x%c4Y!;ilB@y`k7 zIm^BI{BUP=dfi1P0rj*dG-F^T=h~=L#}jZj!RZWlnj|p8?Ys{}KPHV?rXT{pR+*3; zaPVAHEvG)ANgqD#rc2 z-PwFGZDFq}^<5oW03eoO=+~>YnCz>a&Fu2(`q85Yvw8iK zUw-oB-KRwO;>#CDCnte15amFY)d*7>0gO2UM3W*Nl|1@E8>@zh2k8y8AJ#r_(M*}E zltw`B?6WG0WEI<8EPwHfzdd{TyMz7vJM*KHgC}*YBgazw5>aq&Z<=-hh|D2I1K9Lk z-}j>ylQ{)$o2Fj0IcFPl2E!8G2aF~-MF}9jb&41PY3T_Izu-khi9iAMl7hg^0dDLB zKw#o3^36sK&`2>CnBJof0Eh}WXMn_N&S$LEl43)+9{O(GZ~C#zqMkmA2p~z4Y2Wu_ z+a4b5)Z@4oU>S$KS=054&3I!JS{qxvS;<~&Dr5>oYRM4At5YPjjo|NA_`xEehyae` z7^`|`XL)tGChpb#%5qXKU)#Ns7O8ND|9xL z>6~|H>{bR+ro|Q1+7S_QW>%q8-&_D%Qy@hQOdP5zOHO(8z)wN|P(%s@PK<$p8A@q7 z-Y#YQl{GL1C|Ib7i3lX04U+>?#Z(2XLx?;KV-^)O8wIo7*42zCrX-R(4mERalq8Qv zOrc^1&7&BBc>-_%7)*!0=UF?`Eb7frx$epoHLGAh46$h%lO!rWXcSb5NL~7zhkgw0 zY$3N-hKj@>06G%43Y|zl_7JKjWCb9M6_|jk5vUBH7>LD8kto&z?rtYFv1|%y0EK=e zCT55PfkTXuID}Bu^PS^+_trbh>$CG0pFg{N{pR50X!r0qgt;UE6Q8I`rp#;xf~FMe zcK6A9dpFk?=WkxG*4DPwd_DsUuTM9>{_PK${_D}f-s8s)Kl3UU*;|jH zw=2kRks)PG;@$29lU9MIA1EUyCJ3%f_eKPyz=S5sFl2z^55IQt55IA{%QDsv4-Z~m zJgXy%I&6mEO(=RYj+rSaA)yec8l!6g!~hIU(NKXIfxu7|Of&R4-u7Lt8Du|<3Y=%?)@QM@2z@y+08sL9PyrPg;<(&Bn4Czo6ZA2jI_*M^q-OGPMYcjvpSXr004>^tpYGY z0JRXBrY7w-&HlmD@BZQZ=&-8V3@ngu*Xxuwu=H?^K*&fL5eQ>0L6AUrCrLMl0}Et4 zJyE`$s>0-#hqq`I1k9>w=qXTO9(5cszd5^jaR2`IzR7?6cfa`Xqp#5py?XuX{_zP_ ztVz+#Brx!hxQixvJGh*(lF*xGy`D(q!5;|3RSGCDmG1Q=UHJKR)I|c zP#FmTc_OT7d#ins0iag~g>&3Wd8Xrpkhnm0h52)UUCr1nspW9An%Zkx$omL z8mJF0AXLXwjSMs*yyozX?CibhYj#0oE*;6&9-RW)4!T`2V4=Sjd zQrV*bd>KaUstf^;^JZCfRfO37>2-cK409dZip%*08@aBRDo^sFapQAopqZPAp=Gx z5dbF8lrrQHY6H!~Em1&ZASTzNBLWDjfMFI?fj%n^9U)dsyjoRN40UzyczC!9zkYSTzrXk7-TNQU zKimv*`ugQhfAz_ae)j8GTRk{AeE0GF_n$m|@5wv&?j1KxowBS}{gA~_36K*gN0}yeo|gmX5_oM1n^KyAH#luD2;g zzzG0kD9Vh2a!=DQ3(rDGra6hore8jI_vrn1R-e7lCQ8aJm~)wT`xZh#5FZ<(ZYZ~m znS5xdLIyBULPX+7WGKl*vW_YlMT|1Qs2Mpp3F$|ydcREx#DE< z%Q6zDoKqT7N<{Sd;ln^rh%nW?e6aNegFE)my6lr(c{O9`TXYk zT2vPE#cZ}@3f-nZJw0EqufOq)Z*h#{IEZRhvw)GRXvU&ya$7EnW<(?m4zjSbSBNTR zQzvuRbxp?$faiUg*+feD1_tCc3Ie)Wzu=KvsE@fivd5oEo?Q+0Z?E*76Uvq|LR{PEq9F!f$VOHN>U z?0OlxPDjx`XU=a<&mKH_@Mr(zTR-^QU%vO@M+bX*Z_ZBl_VywHhWOJT{#Oq8-GA~= zyP;=Rj=_XDq=ze6$3EUtcoEx*O3o&#lt+yrD!|qC#qQBlCQ2Y=E>E** zrM|6y`pPloMW(BV02rspqJmKtiUJIb5i1VmIu^&y)WE+D{2LaR0~8K*G!@h|uFfvb zPA|{bT|eXm01U_!sxS|MC=g@JBCoGD4-aOBYgHJA6e8>`mZ#TQ%p&2!y0hG3VDKpB zY3zb)Ho!6xKVQqvf|(?Pf`yz?)$*o874sU})6IMZ`&*sfKfNs!BckF~bD@J|kOUlj z>1eTIAQ^-rT6k-$kZ1C^8qQGtN4?IqNe2SOJnf1F0+_m#(hyHPC>B~8?_R}hvSz|I zx68I=2vW(-MFSAGu|q)~5GTfUGU=i@P^a5+W!vpdJ01WS5iv7|ipl4t8Uaeqk~4a6 zN#Ry#`#P!yAZ8kv5YPzOi4P(twdJkC{%()8@@70-*+7$ugWHhL2I*RqmLkfMelx##~2qowM6*T~&={R(^Qnw+ts#&su3b`tYjAEnXDh=y;wo|oj z>IZ~q;Q7KrvC@=L^JZA>Eca$j?z$dh4XS7Y6ww;fG!9*uFY2Zl`kt$~n4zgb#etHH z22?i8dsuo}kccR}?TW`@n1Poju`S~GuH@(*% z`l5Rl+tw2>=@b0)A{QibjBT|X(!gOh+dsbgoMc zA0N%*yuikB1cPB1VvHfyxgUrD07Npgdw3ZD>beH7&3g02m(RiM>C^X!XdKgGxu~ml zOd}B?QI_0w{g851*WO@|@A*zQ74$eDcqES#VOSKfpuip!Vg;IfTOj4YgKceAWnV%9 z1EpzGL4=8m1t{nyn@TCm0J`p0Rhz0Z5U;U_K!6w*03Cp!2PLyf8f@5r2zYG1XA1b< zP6D8+h51qvFe4;0*<$H{rdz1F=+Cy@9~AU;TM>Egj{zb|N@Gfp({j0Uv))`@-5^J1 zdj0Cn2OmED(@_7#U;iY2^IJRf*~R(kV!5}s6aV;+zV`q4fBwJr4^AH6e==y_#t;J| zc`qL8+5n)cDiz67;78vLNHCx8m}!i~~|o8DmvfZIf4h#kFb~(?wgYLFs33>c{mC9`KSG007C9-T%7X$9$O} zhB^ij*9IAY&m024lGXnf%m-jflVoUH#{s}}*~)*gyQ+7B943f%yAr=bM-|h$y|v9w zvZiSzlt?UpF+&5!NyOxcNa4CCNW_sLNi4b-{z8t0uz!M(B!hiqP~Ku zbai!!p?Hx6gyaoML{tN{GAmSljeya1TobAqOnx~eP(Z%j3^(hZ83RHUI5llsr+LN4 z^H4=r!}XAFI$LMxfzkkDN=dpH8nZ|o6q2SPbBdwjs!ln9iaDo_fkKmWZyn9&OA9$` z2CNVPK@12vn2aEKv+fr2ot$&h?065D5?9$Wm<(M%n=LeG&I5(oK~u9BKy&V_*QQ3#?GjfR{_;UqREOUhB)1%7MjfGJx zjQa$oO&c77=YEz&Ltvxi#e6lDKl|WoA06)RKYRYg(?9*%@BP95kh<6Z*Z=!} z_&@yb|95RYV+e>i3xFT|YX!H+b3* z5(0x};vyRLC$tBJ=eCt30y0vJg}lHrC==*T0V7sedBifx z+Zbpwq}`K~C(Zq5SF4MgHEcFR7W1%LAoa|ug2$_wonLJ#o-NvHOc^2MH15yqZfH{8 z1f->H)@hbv#V#2%B{U@h6T}KsYo<2}2bKciAekUwvbL^n`cXxJJmrZHiUS#@Y=!cf z?d~bFX^^iPFe%9>xYR-tppSe5fPk2*3K7`{&8nCgfqCGOIz#K{_uHWiZ?Ptm+G1NR z6l8ajEFrr%aypQ|QjnCtxE&fkg+Y`ci!B!DzticY@|Vl^$N*VlwBU<{y;Db$*WEO{7) zx?Sk{#xx^UXr`#dZ7@)gJm#jEb*nW6A+9W-X^JLk9LzM-jjHDEl0u6}3P>TMfngRA zCKC)}p93;;tec>k`}HPupVza+Y`(*>rdTnDz!8X*n1L~pH6-L|#;d z*#QGIcOrrrF-chsfl8#eRaFF3jv`4`UAG?6IL(ptUK81OH~<7gU>FeLtte7qkUcY#A znKOc-sshM3DguDoC}Zi%kOZ=O(P#4+5v81PAR;uAoX0@O%yo`+sEuj3y;@(tiEXI4 ziglc|dofl9sDMUn2&-gZqZa}W3n=lwZBP9sL zGED%PY!F4E?~s%sux(RNeD<4h$&}j~=C`l{pdk?kW}Lzn%Tc?%{C5e*R+P+Ufy~rm zjIpipGKs9RXwJ#q7HFtygusXe$y}_3W-lc>lfIMpA5UW|8Z+a$nsG}4s& zADCMFDXfj21?|7GhzVJY$>xE zM=}7>0$P3LV{I>1fq3vvk&fkMY3gF2WMxA@a2uW|O=)l@28feI#y=F10T5;c1PfX0 zd^Mik4hUFRv8@85^rH@Wj3KYr0|Q`|L>$p2tTF~%Fp*j|RZv0<7=r+8 zR_meP#27hLbu(ikKw}I>On`uB?$ZN_RXjLcFxl1R<;&;K*4I}%d;0(&DqQenL*)6q zZ7WvT>xS`n&tLxh*U#JfN4q=oNB0k(K6&Te$M+vTxPN?fh*S+-x7ln4%>Wt@Er5;v z>FH|(+n?R0XiJ>e! ztDjkjijg>0H5eFL2$Ts(HGs}yy`0akR#zdidr))VNhX}9c5cix^cxXbtt6=$0EZa3 zDiSd=Lm&)5pae>J$X!a~s4{9-DtCio7et1lr1Ax+hF&@wBW`2<5zrKTHm{i}Fo20j zCKc11vgE9)Rc!Y5_D!Lw8xb9b!N8aZP)flB8NvOo%8Vfd1R4f0165NoRUL-3x4%a| z__>Nj_hd!tQ4rALFczN-31$GA#fpe&0zp+vUiFxU5Ta*{5|IyNbHb3yt|n%XCC9)O zql}&A0Wc!?9J)ZEf+C$3K-zSxi>uR%i?cUpZ!XWy{>{Jq`oZCW!5ZNfA%Lmrs97nJ zC2??py#X*L3INF#t;WdSKZhQ>AT*oCY_3irh{>kGk2|$Tz1R^xEET-cywiTZ|IEht7 zR0DH18&ZkEp+XfIc+NBuVVR{No=C++NrAWx@v~Q75ZK30-c^C~>x=rHA`@65LoxD5 zR_7%Q3#(4sL+PypYTD|{T%>Z06}hCJTOLe9cjul>X+hfqW4a9mcsB%44`l0xLFX|9 ztYaLjN>v0E07L}9lV1RgL=^#Ja6MT|rYR>t%tLPKIIHHjn;SrCwd+!6^#Z_{05GD8 znV=H|jE(BGwKr%Byd59|0_0SOkRqul6P45yf7@o0(h;!eaHpLXN-(42a0I$7UagFJ z07UdK5KIYd6huJ;4iqMGvWkxJARvia&OWZL9H|8ZDr|#4t}ZI^gBDydP^yA0gn-)< z+86s*o_Q$4x|E8Od|To9jmMJFGSM)G6CUMA1eietjAG_jgpdMySiP!^Hl!r(MC zxRgBG&Hk%z2+K#qyPvV?bNT}}y}zkEA^;{t^hg~tpj`5_QB6@YmvN!Kof{)D*8pm! zV)c!?hj(_t_Lr*IWf(H_N&5_A#wf#R4sd;GhD3-eCdq)v2mk~+L<9=1&PPy9LPW-OQk6krSa<7n z2*J#StU3{7Ue1xKB4Mm*L?jMZH#e78S24!OY-XaqkE;(O_OIR9V%e&QZo2%lUp@cv z&wd*N-9I^a|H-5G-g)Qb!NG&0<9o*k263}l^}}dTYVfY>U|0hNqM(wQdAs?56+g5} zwsP9~sL8EWeQF2Iz@-&i?(nNm*xeq6L;wk;;t+{6i!p?H8N#efnQLyXLeMOtI!aDl zHSO;1!Qs8d!zcT@%iHVK@4k4s88TC>Dl$MI^SD=J1_A|5y3RSPrEHc#j3^TcVTsto zZC`KnR^2W>!~y`oV<>%|mLh>Ex|G-qpvacd%t8n;HfTeiJAzCYsG_dx`@RbyBI1}v zLW;2lBvdvPEY%qLLQoLzl|f z=Vzzqr&m`OH@BB5i-AT&gaz0k;5FebpnKXC0nv|(BF|(Xv=V__Rk3Au;v=Dxvd&2Z znSo6<0U{EWw@`;keX>njC>~BkGcD033d)1rynOzAw!8b?Kl#p&kU#(NPtok?-hFNH zljmQ)^We!p{U`W?zx_Mn_x`7!b!R<&v^xhw(kzkyLy{CYG6u=X05}qY1tvsDsjsSL zFGMpTMCQgl*r2Ees>#H-olzaeF^K}J0Qf9OV5D+)5W$Ry0tcc1prRT$nk5rt4t3<` z=dV&4zxLtBqV&b-7gwf_J~jeMg>)|Lf%^3|SI(BhDVG!et!OQ{+s5CjD7Jqf0<2>d zLiA94zv9l@k;l9Kqq5BqFo4P^+GPkBV)Rnf5Sa;xn1F`d1LR`679k>0XqoFU1Ey{~ zM=>%@31)4*>R2F0i0yE@soThbR0Wj?MUW7b$)9UByy0fYI!(#|A_G^Unzh6AZJDX# zb%AZ`hAmBR1=J)~%|O9(&lwQ2Yxv?yQm#gQV}Bqtv)M2yT7n3IjIz zr8}x9pl)13@MqgYmT>EZ@(pFG_@^z^48ee?boB-Vg(Y_85`d{r3SqK|;7*d+MJhrxuYfKBhp z@#p}I5we*nE0c(tiBD!gza8$#Pg>YL1t{K;Db+Bj_O?@;@u+P^qd7Jy$VM$Xe!cGe%}K95t;rn=qg4+~x}xe*r`VrBH+Q zSyI=n7xSfxmZfRB}q2p`Fiq>m&^nn=*|m)NGK_$YH2vJN@cPv9b`+#0*Wc zT4DnVA&HWhzTOFpphvALSo}sg%}J1AhgIxRD~!e*H>4= zI9644c(m8FGf@ZofsoBK1TJzR3IIw(o7Lvkt5^U2&;O>b|9*F;y?=7}=>E~W?>v0; z;NHXg_m}hKkZrx*q;W`+5i(#v3;@|6xY5f1Eh~|;RtA8o$qWe@09_COAm#ywz*^1# zKSa>BsSjkN6ntox%kM3SC4giInuY6{YSwO`#M*6e=sDoQy$7?s{r$tk#r|R4Gynie z<6e~vzkGAL+GIlu7=RVX)HJ0|^DtUYI;bKrK@1ooFnI1wO-(BND*!OTwhmBl1AH|T z0wIc->rcs|sfcDYHDy4{CP>JPX$)prO>)ja*wpj0^OyZF9PA$xvF6k^b^F>X{L#1NXTSQLJwCyzIzK;uc>hr~i)fS;m}1flLI}Vdm?{KR z%--o$bv13-kR$`SE!f;i6a%J|1`t97&48iU+^EcRVv58J;6q@_>zJyL8?3di zPz9?25U7gC$OhT1vBi8~R%`^mnS1SkU}_4As+&<&b3h7#kxX?^BU4C{Tp6bdfJ#V& zWMD%YHr;ADUxcboU55ygwW(k+pI_hHBGU}|@#Z4$-LHv)kM1n1QI}p>TNrz!C^Ki1(qo&B7+G6n5$fK?~ZUV3E(*x00!Z0CZe3+ z1OOO(j*gimOXG;(V+|-)34j6pXa#tX=p3*Bn!o2IB301;2050C^l-gLdL*Hvt* z7>R=V+y{(6fuQfYYt>n(>zo9pY!?9F7*#C~Ll;Bcw0U)-=HL~WF;k=5r8LmcHtljF zmm;2YuK+}`X0WmEXuhnQw(EP2TwKAif&^+BAk=N>yOpMl6r33m6y^v-YHplUPyrN` zK!8Z%EgGT`LX5~EP^>vLR9AIX&vtgM&d=7jH&-`TN0ATqk3+M}Dw;>wrjJZF34v$J z-QE4&%Zsz?i}RG}#jDHbU%vUl-~7Cd;o*a$_uqf=^qt2KAKW|KI|y;V?}n}$+;xJO z)QFJHL_xq%4G5VOR10Z}gzD+HN(e>~L<9ke)TgC5=p_XMjDbxFvMDeEL@+UvtN_Mf z(zb2Ic9qf)_hGp_y7y$KTI}rX#AasM@;D4#@<*>?etdkqoX@^IJ3GC;9n(fr*0B>E zMwi92Ay-UnObRgM-ZB`{!M%G;(;9#&A(=}lZ2}Ttx@uq^QmX~(Lttbx%OZ~OnkXwU za-guut4+5tQ2>ase)012-+l7iKluIc9_$~jH!ER^p?>l5(=T6q8Dp5w=F8x+wvmv3I5UtL_^oOiv3 z5Q)G{Gz$k>%xHh_@bGB=_~`if@Nlu%F&&WtV<01Qp1TmZ2?zlQvSbxCX4pZ9j0Tno zOw8l0&`+2xIEp1^63Upa3418zLdmL`S{jE{{r8%x>7t%3cjjM{^Pj$anIZnc_rLcu zhTr_;=U*qD-#f^ezkK=f=S~=^s(y3v=H~k1 zn;(7<;_S<_HVF%gQCTTs+a_7zvQFBw%S&9iDU$s%=A?ab#X<&>@K`XnO)g&57iR6+=drV1)D zbm=m!5JFuoau`*V0COJZbzFy9a>o>^akK6^Tg-Xuu68vKAtQlV0@#GQ&786l5_mXa zO|}vLvw{}R0E&{s-ueX7L0p(j0AMqfJSEz>yxPDlY`LI2NVXh<(+n7*Fp+AiF!WB# z0TB{Y;J}QC7#T4ZXOtPJf;gH<jEvUHNdg$hRAo6+qFnBwZpAA~66v_G`eRK6J3)HQR{QEzuK$qh2wqU9QKoRgY#> zpk-UvA&TX`Pe}IRNxQ#jv&8cb2Wo>)CRr5>093 z*m{K-VwF-q^y_B6n9Y~{`j)^&n<^%ndcp`HST;mpWGz{rC}IK`1-mg349vttAz&2) za-h((i{;Vb(Q-b&y101$?8~#$)1!OG`}-$GF^!4bQRTjWQ-DOoT+L1%K3(qaoxeWa ztZx^ycDb`lRKGgA_{DGjGO*q|Jbd)v;XPqQHL4l^7YDa&V@oJu8ew z880viTmSJF*`(i6+jN`NyyDsH4_Y<&R{OD&N1MS>95Wv&3vz>a* zhxgp^4D#k2=;y^Dm2SfrBGbCaJ zWI{D#V#nqXjTp@|B_Rynkt3msA)^6QOy^f`UcLVEYae{Dv%L4|%P(GDo&Ldx9}vZ> z%d5SU?0KqUQWgCy7vSNp{`C+7%l@$3Wj&QIg(6@?KtNVYP*UHOn3xbm3;w3$p3MJ$ z7kf%YHu6Hs0NSe7g^gpDY&mBlDAA=vXeeSiXH!e#=;z|)_08T+Tg6!~Yb4EzHNkRL zpIvPTpn|+fs|<5SWv;+QTIMuM_9G}j_E%ksCIsj89Gypiq;ni)3BRj!C#LO{L zg$Mv*tR;s@w`%5zp(q;5>4OxksSq&b3?}!X`Y4+_aY7l4hFd1V89rhJ)0794(SWf? z6jfBRL2^sG_oB`lc*y~jRG~~%Gn|AAgh-~-TgGWFfje`DAGPyTiEJGBtfW%K+R%oBz424Yv;?V zosC^j5H(-`P&LaVip5x&YRWwkE21G01ef2iF@UL{sEyhBp+f|wRkym1F*Hqkc(^xT zw6{0itLLw7uC5REkLQbhU`{%ak%>ABqiU#G$mX-X`FqQ&%kwv{UcPww;_&eJz4xDf zt@?1Y?oQ7xe(~Ece*E)a)fL}AK6?D{{`*fKKYjA}=nPS8Ms zrmP`A*V31`U{y6SLLBobN(6v08quIMM@?fdcO=H{cP?+hZJee#>t&3fHsT0UIv zhdgE!)7*h8N0^$Xp+No6UEf|^UR|7Do?l#DuGVWYi&Y(%fa+wXnlyJxST%K9&*$@< z#m??>aZuHjqFt|7>v7{gjP2^0YT-NGQQ2$J!z_KfEw!?Nx$+yql;G1Zo=Kk%4i2iS z3P66M+&_6#SCvn-XzE%``hF165F&?od3lv{o-gJ(>(CF2#T=1CWGmtW6A>~K1lq(P);L&vd593FbAT@6ho{^m2U=SIp@>!H>YQ3 zuTD>2y*WL*xah}WHrtUre(>n<LpBx`OI6gc+KH1sbC2RrEV4P%8 z2*6+~z>T`?85A(8i9sf=M1qTKbD0&O25W$>u4+P_aCg~`ZrLh1wg`%-5K;jR!663v zN-ul|Ab}YwnvfYFA+I;%y~8>F?6Y4yfAQUa`Tg&F|4)7f;UE6`M<0SNP9E5phShc6 zpVf8!`Li#M4)5*k?sUUgMQKpPQdBU2x{hdO5De7~dTPKS0N^l=Aq0-WBLsiG~>&q`*J^$$GyE{9FudhyDpTGL%d+&v~ zxLR+x4IqLMZ1PVRV7*B4?!dEByZI%W?0k25lK=*)U;!cl5nu)bLq(-PO;vFuDSF9? z0>iBwZfYh$0X7cA0Vzd=dK$N5J8E6fXu8P`!{F9 z-fmOHDvtvJN*d;Mv#Mvqu&OB3X_e&=LjWQKWHd7??p~w{H9=U1`I0u-0dP%KsE5FL z92wcS__BtJc4oQ)Q%SWYbrcX(NM)J{D$c3^jJ=5sIF7?9^WRu(4!Zi5D&$= z1xTu(qN8O1K!mM>!(|f`*@xVSlBxUQoe3#M4NrCl=TpCef!q-l#mbtGZiS&@t|(aWJD%J59KBF)KA!Y zMM@JhO%(9L$lWjQaob))vT2Z}D2=o5+E}S- z0szZ_t8AEUyjh($%{+1xRqz3hh)9vLs!2br=j~jQsEkMv5I}{wMw6U2DTTUSbn6>a zHX;BqMB+xJ>-$x^SWwP684-aIQzId1&Pp&_ETFp``<^+PjfxCHM1i;lpCeF8M;4K+ zFo^IluGX6vVmoi=ix`4#Za2?we!JY;J2*J5=X>aAc(Lh}8#oLDa@adOSuFQ1&)&Rw z^WyC6^#1)vM<)+H`1(;A#&PJ^tK0MQi~sUBKmUur`tk1W^6|q5?>xT$^wEPSk00#q z?N+f_cWJ#|i;CYhL1iQ|QZqv(0x~26H8wCJ7?NbmW;wPEQJ6&&L&*uas@uhX^Kbv{ z;o$dD#)ISiz&?AeoIPrSF5oCtz7oJz zXkM^fC^<{zTh7fGoL}C|>t?xFR#l~A78Uo5o}4^l<}{9mc6oVzeSM=UheyXD@E6aY zBT>`L>$M0hUujpdgx1bw00OU9Nxm=@)s3 zzgqtM>)-q4AN}ip_9LQS|KP8`PGNC$Fs3}N*CB*QC-*;l_SuuC@9!;ku5YiqRPWAb zgmAkaF3v9=K7K?1CQ=OS?oL-BDzgZ3763F*LIzL_e(o4^P&3sGfWFff_}zSbD;R>P z5MkXktJU?h7oU9X>4*0YAD!M_eD?gauRVDu*0YPNH3c+PrO7Q(j0B#j#MO6Pz0!A9b+82QLqf7nY2LVl}kQkuGX=d~uls&b6%k2ec2g@-V4y5n+#H-Oo#lIni^#zwDt2m(=v?7u!6U2WuIeH}vx1k0vASj3b4_IP*p z&T+H9z-6VcuE&>G<9-wOcB;!>R+|B2P^4HjLKZ@dz$uO0?QN{LDT;1LxfdVj)ff3hi)~|1Ax!W!lo7-EeTQLR`;=s_P)D2zNw#$uPxkEw>+}kO6 zSgmZa*aNtgoC61uk-$_n=bpJDBJtQGu8EaER5Ef@g&|vidCSZ(aMgyC>E?R1xmoS( z?k@HZV?8Ug?!9z1KPdCq3&(K$@SUCg!}B*UU%hyKasKB1{fD~;NA+w`HM4`GV^Hlj ztLw|F=U<%t;@6*5kq-8E9^E^B`t;$`cOM@e9_=6Onql9kzVAg0%sgR;h&eWG)m&b_ z?E2NLj`J9YejKiEm9VX7bD=cq-tMCiVilW{wqCDpCCjpIflvi2g1Vj|X;Qhqx%%vj zPcJVnF0U_dSL-z7s;OgD?JxILb=`LtXQveKaA*I!zxVOCzxIu9fB110`SEX`e{p&> z>agmsx?!DFfdYrv#6^rWYvzb3Ab?gR`T)fZT}s@$FPoMLA{a=~^>`bn8bWC6hLBXV ziHhl%5)z||h>a-`lE_HNJInnWxZGLpE*HzTX+w-LQ~;R9F{dOZVp+2rM`_!_sJSFf z3=l97DiDFGsJhZqG=r+BN*dL4-p&m$Rup0+3QT1bx*ri|XQwY-zj$?a_UiSU^Q)Up z*Nb9cR@FQzpzSWg;lbkg@Vy7e_ntg?@3SvHwNc-F@-YA;87jyI3_zOK=jW%V=jUe^ zr{|aFS664Zt4q=Nt*<` zzbjhW+_$(<+_Es+EzLLisiy)&^pEXH=n(j4zkNQ8aW2zxh{x z1@YJa^)KFsRK*!&?be$|Pv6@)+W$}g<%b`C_`%Np?$~XvHSJ+M*sK5j5B}fJUq1bp zfBL7nA0=fYMW%5WLI|dsb2c*(jWNj7;7@yR5Ow9akteMh`ne&)zvcuIGCfx2uXPL}cLLE()j`E4erd z1Rz+%h-APDfT*Mpn1lZw1XG)I170KuxJtkH9+eQpz)Z6#FsbS|Bmk{rIM`Vd(TZrj zSzERk1EQITiVZrdxL+ZNWa-nmpmuLQtdk+2NF8HU&GNVjNU*uid&f1qRxKi`qa*-; z#5LH+_1Mmuu}emPC_2_5N?;oWg6ei6%iVp!>7lWIgxP=!WN`!Gb}ul(P|oJ^h`wD( zIQm-jA5h9M7ftZ=`tAxXT2lf(U+cg2LM~?6TqaSF1if#ngAwl1UMA=ka_}(YcD5#3Y+ZzSO zfDr=(RUk1C0~IsCtfJ%7(^LTk3QI6 zG}T(Ee>Du*0*uI&nslQYAW;>=j3nipltKt0m?hT^Q6L6@)OQ=CFqQq>q5 zGegLLkR?@A*A0#1kj5S7SerPQ1||g6AtlXD z=#W|(#zYu7f`QHFbEbeGfde2m&8#0b&fw>qVhlN(84yDZQB-rz%#+*8b1R@E(yAsk z0F|Wfl@KRTxvpZULftZv%i|F-YrZ&teR_WO;?0}ar)L+JH@B;m7!i?(r~o~46(ZTxSQC+$QK*4HbEe1uVxR~WbDTCHA?5NHuy98rruufYu1(vtH}2vy zM*z2X1+WZ*LIhOJNhw550-IaGNI+6m@%raq{(^t{^*{RdAOH7%_SYnz{NTSlx_2}` zIbem)UcLU;@4x@2fB2mr{P1r-`1qrPy`9_5X1#gyKm5BtdHVF<{g40S|Lq?hJbLo* z{xI|*L=rBRnKTLa625KLZ~89FjG_c;`wI}9^Aiw z{N(KB<`^=(U)p~etFB==*EPCSDtddMFFz0FE&``~isTR8)K+A|p>pBi2FfpY~-ds2Phamo;yeBsROf<5&J0Vm&D3MKwm{9M`LB)xl)2CZGHFiBo7^&s+h{v~{nDVlXEEuu0ZGEI5aj_I0}Wd5x~X#1E=g|R~~Hs#`hZO!X0WHI!#J3_QT z7`;40Pz!31O+--)%*1IRL{i9v0YQl|GJ0*C)h=&)B?tgUWaq1!o>n6rH1PGqW^Z{C zI1EF&>hz-1RZ9J!Vx&r%#*nqHV-;BiRWlJ%sFB8@UqjtS4xpA%sm!qE5a(%Ftyj0p z-Gh)WBo7oTG!)CsmFX~aD_-o^v-z;T;n*6Y7&5nzhoN5)?az1jZ*Fc<5x-T;3Yu~n z+QmGE>h|i2z!b76m8(f18zZ{G0PjE$zuVn}fEYLiQN6vn4gmv)7%QS+W$YCpqDV$9 zK`5bWsIEBaYCU${v)Q~R3I?D#CjmlGQ-2l?b{1J?DakKB`SQm<|6Nm8JB#}GVDF<3 zAAkGzzEOqv>hx;8xxHBpnssN{CT_oY{o2Oy>mR@K&%giu+so^8)nVNbk>!y9V$-yB zn{6D^c)hx~yu7-+yg0kOSg+S9<(jM5)H{1i6I^%0_3DBG9q#OX=bK;u#z!Ch{x`pM zZ~qtwPcP4Y_;){j`Reuc`no2r7CU=&`{?1x-#>pbY6ul$U|@EUEC`5{650^(PJ8#3 z(#SUqD8zt)F-#%KhFi0@g84C=R29I{PXY%B0;A`2V#HcO0d2XntE%0wN#lq}Od+K) z1ai0mlo44#B#Q^cc}#i<=2S=_uK_@HqC1tJso)@@zwcYC{frloaE*C;#og`XS)6|K&eFJw7C&ei%M^_Uyg)Klm4aR{eke;s+mn^l>}e zsj=VP4?BBb-`|`4-7kOk(bLB%mH5O^LQ_e#1Ue=a0AfTyOQK1%369Hh$yr7;Q$h}b zBQr5&5y`1;s$m!&KD>Xhe{gw3TH9Qy_qxXHDofwOOt- z54V?ka2%101&l-!F_m_npoW}6Be9}E2z*W;Mb@5xRFS8){H@s*2zST5mE1`v%zTMw z^~+VRUGVaK`qo#g4+H?61dK)GxK&neA5sJ;v3tBeyFf@Q7*0inl3sOd0f z8#4kBQ4G#>L?8;pRJq1Y#aKl>0tE_Vg8;VWPjn(&e8&PaMusBvEcNY{Z^7-&CYYk) zbh>1&_R#XSJqZV0mRcSXuiX$mgoK<85wonAp?Lbqr|l93pBziu-)RO#7Fsl3X62!E z5(N+dm25j(U~-}O|2f)TqRP=UqAU5`BhIQJt0n_g%Rc(t>uD$t1rauN1XCnl_4#Vm z6CxwrDrHHRo7h%iR`Ie4`!g1e>ruKG9dv~Ni}8d zyN=kUtA5{IT#OzZr0b4}3P=XjZN?-WQ>g0Lwymmrfp}l7E>B-Zf{abd%Mf0kB-0g;XnJmuYLW=JMYF=4{7}D`Lmz?;^*fV=OTID z&Q1=GzWa@j4;BY!>+4USKl|DTPX>Tzr#F2$joj~r=-y@{EfU`h00u;$Y?QaX1b`U^ zBP&BiQKu|Q1=Bn8G!OxJ0JkKf+5#dnDu}9!=~R3^v#AMaQ3U~D${C4EPN#^O2%3nO z-e_hDYNm`VY0%WAe#NnALJT2t6=U?VaK81(<<;fOH|H;2zkd1p&H44!?aghx8;%ktV-F;0N4Pq4l|*P zzx(aqi+uZ^{^583SKm+LaPjGHZOo}|BO{)bGuIe!i5 z*(c9l|JlF#H^VTP`7cvLgb+kjRVxlj)NBMbv4D^WO)L|(grGSoKn#(YM3QJ8`r&36 zy0IJbpsL4vM@>7+iogB*+3jYX`tB7q202q;B}hqKg|2Eyz=jj8 z?q_O=z%0j+%MWtr*U-vUH2@5R;0e24d|(0WCu-s?F~qhZhl$T9|LP{kuT~z@mz9Lj zQsPa%&Ju$YA_b*C9_AYzYVH^e# zWDjwrs7QfHQ53~kRlx`-ZnGeinV7k0n!rq4g@8yg#FheGoS$7^U*|E^dpr9Fhp}ph zQCz&nWHEA6*RzJ3NKLFlU7OM{^eLrftp-RO+P0asb>N0@6Ns9+387jnm`J;!zgb;B z`|{b<#o77g)%tcdjwvv;ZM|5`4XEq-{^o{5I6OT3#z!B0^WzVH{~O=f-90pemlv;p z^ml*z=FOYUW)lJ*?CyW(>)$*+IH1TWshK6fE(uY*cX;%5#a^Dhyu22$?bI%UvioiM zPB$%sVF_(6VM;*mq66ZoDS5(UH$gO<;U+n_};hQ|Loc8hP16}wEoHAqG@M0>v7&T7Oe04o10hf z4&Ru=Q?SH*1&Dy6pxzZAVMXkdi?FH;HUPH(2cSi)>bJrRnF1^q2Ew#&N%(?GY!@BFcJ|z*!SrsjYs)@6vZO?CR(%H*-(=b=>+&ie_{MGBT zH*Zdl@81_7RTy$Y0<)ZRclSBHRVvleWNqEsJ2?O<%F274Ln3f)2e0MI)1lCCMa-4Qr-EOEn~-ECTA`-t5`St^#AIKy_A!^$=7utJr#t`zI*b5COReIEu^;D#p|-n^>nL6{9j% z2qDloV8k+L(!4mIuEn(4ppXrdZje-A3wD(f&4NzjqhNaq7R1~piRDxz;N;cZ-Um>a z&g60jw(tXP|JL^5wu$B_7}K@@nQk9~De-hN0)SyklE-Ww+CqeZm>7uyA_hVPH4^dj z+|Oe#QIw1vRP|0@%CMMiMTJ;&x&C`fBQ|js+p6jAO*(rs)e=1UWpz6r6sODQqkNHh zsxZt9MpH6G5eAGzh!&6o0Fwvws7_^&zXRWoiF8{A1ur28%~TNuOdu$-AtNGK9u$TV z0E|d0ww8#ADpUg&1NEKPK-7F-u4j->%$FfTjIoYo*V!ap4f%XEM#ee@W?WYE@OU|I z;wEtuV6PQZz{V7@8-~#UkQ5;2u?iu^05PC~nQ+xIalgK`**r8c=WMD_COshrNn^iW zt!DFO%GavifEH=3%D7rxFPD3{8gmxJV5o*1Vv|yTdvmk1yPIV-j$;TB4Jgheb((Tj z)w5Z%*{lJg*`P8SkO&b*10$w8tqg#f5TlA_wUk#O#t?=o#ww~AR9N3TIaw^`H<#xx zzj%52`h5TB`0(hkirm&!+r*kN5>X7qF^dkXjff#q-PBbT0>?4;x2wzF{pRK67gtEQx3hfw=;Rw8y#MWQeCxgU zo)X5J_3G2-&%gZ9kFKw-0AXjgczo~V{>jN=HWM=u&0vtkQ*lEbjewX9aDRXQ@kw{N zUaf~*mNXg?#!wNE6qJj2(kM>}0?6R(qv8Z9x()&fC1>^NogPJo2<9Pr3V^DbB{QOc zRxzSmmk3kNW|C4eR8Vj~Hc{D$m>H3BHjlORyoZS7N8mX2dpn1L>p(T2y}3Ah{pQuH zv$I#PPhXy%-Q2Eo7D6&0Q6tjbra9c-eQ-nR-`$*^ zUp{~J>hnll)2s43QGH$z+1 zr-Hfi)Ez1)hC~Q{_dmufA+oa{`n97>Tf^4e%^%|ZN0jh&G)L>vSiOB z77^!|a!!cIq3F{^1Prm}#bS1~zW)5hD=S0W19RO}i@2<+SZy^4yU^}GymxqbNXY9! zjO0P&vy02${O%v_9iJ?B_M?F*Wkd|FANPS#7Le4ra-90t=`bp1q}?5PlXT>(U*%kY z04P3Bl9@`;K+|j8>ELlHm&tr#FqlOO0(vzJ`$S@K%5X8#o0Rup0!x*-w_>&q--6M{FjW@RE8 z5TGi8<#tEsbGW=ftdW%s8>TUGIk3v}Q_e4+9(UI-1E`is;w%a##nXaiUVTVDRt^g2 zg@yJ2+6IqLz(Bd~ljZ;s%XKt(OE<91mMO>WT@~WR%-yX4Gl93tj;}==#P1UyZ_3btIWI9yhCYa>hZ8p_nxp#AY zE|v%*no_7uyUltvTkJH=d>m4UGgB2CO;gSthuSo%WH5GL)wVUTq49~9RC>%ciA)lJTwpk~RSs-`KKT1qK5 z#tFOSdS$9k!~l(nm_lrwtAsh1JRoB*2yAwE)1xuik$EDhmPUd>PjkcLqX-F67>QjkElV3$hC33I~+7E`KmWx zUB37J5BK+OeEqAxf3S07fA2ZNoM@Q^d}c(ZFa+d=drhh-h7?lPgaAWLeX~Sd#y*o> z4GJ`5`-^gd=Aj%LKfNxg>kh1IxG{iY-d~y|AtIb@one_oYGdojqpte!v-dyyAn9vg zf9H4p><|8q@yU;V_6qZ0XODdK;K|9Yn}_ed^Y;Do<9g6H!lGRnY9kE$PGbrg_(+;e z*}Iyn7$cK1<-tx4#3!dGPfkv&s@@uIIq!W{YtoQ{YFaKANSaav>Akxz>>eKc>XT0t zIvH$(v9-Owv%PzEdHn3+>|!=QINYC%wn8XIT&$cZF(X~wF~f!!qcU-HbGJIyzWl*m zD59=vG{6+ZEa0B6z}%&2n+Tyfh?wTaw;ad7Oqvv?B(h4{Hfly9p%x`xOBFRWDXpFB z9o!sq^^%|L9_-%;_dovIPk(y*4meSld}tKk490`;o(8c{^L&`_PhXaW&`in zOE!V67jd<4`v+*7fIPiZ4N4GpB8G-3R0Gc!iP#I1VNmm|i7BdQ5s(6^DObKioHhG- zw{IdbvqOwX(YW{;!^tWf?)%l71d6z zU9LEfLR?&*Teex|S=d6G?O;I4DOKJyxjHvciYb`ER76;ag@na1hy~s70W}U$GmDu0 z*~%D#e21(=ea=osR&Gi`ri$-K{W zXpsOThA>r(N{ESbD@T{_SPKfqQ5l(px%RhtL`KSf8ZaXzz!Qkc#d1kTn`ysBWX$9V z#xTdppk_g#sv#9kbjL<1@>jyniK)eCjv!b!EslbhRpZ$Az3X}D)o#?QVHVVymS=4W z%{poHRWC%emPaf2q_JH$-gD3Sm`q_{5hg@kFK2GNGZ+q6%O!IKf~tw@A+FZzOL2RH z!Patd0rSjcs^W)=MYEVW??>A^v$IpPU=U$uS6f`KmW$D7;#5P7ERLyShEfQILG4r# zmP^wJ5|9ui4_VF+8VUm&d=o?4%=dP-wQ?}uReeG#=&8~t_|EKZDI^rXy8SSgarf$M2J~p ziY%^eq8f{lBkK98u4C?w#OvG(iO~%{1yZbJw6DjNlGYm-s2%K`K92E_DNAP8+ zZ#3-x{d+(A%lAHVNr%|L(avude1(U-bw}fPv1AA^`?Ah8Zg~MN5jHsU}Db6SL15>=vE| zL|Oen#7wG%p}0D5I)WpE5*>=4{bn}rDy{sfjb;$eeV!~#O=`v1RW3J_IyCcNeD;CZ zTkn4H-9P@_??XTR`A4rv#ak0c^yKN$je{H8!}>c99+EgubsLu9qVdF4uNPww=ki&~ z#0pCQ6M4sG=Da&TeYTn&AMQOro=lpyZQ5qttOzPF$8bHVeBG`tLy={WHp{}Y-_}(u{9FQ&4V$~p zx-0w6V$KE2Xqy1pB;VJSbIxMi0P6YYnIVr@>cDnDBNKs56FcanzFe#ugeFny_o`}8 z_lA?o?e9#sw)b|k-01XYKe&H1d-b>e^tro-^yGuK65bhIT+DACZd0#*bo`7Z3$=+A zgW6496;n&GX{Tpt|1ghSD5h=2tck%UWT6`My=zU`SP4#0d4xti%SQ6J;Rgs%?HaWU zzHSO)OQbA5h%zQZLS1=+E=B3QrMibgpGyYNu_)dD z&}A2!S4rPCd`g#JpzAv5{wt5h40(75gR--dCbMMG0?3@Oa||P4_Kv(jAuuwqs>P%m z_<=YlO8K{?&Hd`uS#IJfwAOW~ii(OC|NB=)0<0U{mG%6abGcJ^XiiSJtNyZ!ZipIy zB?x4W%`@eGrw}=rWdBPk8KJ@e7J!XSEu;?RR8W>yFci$i7w{?#Dyole)R+oc#as)k zk%81Wq>yd1L;1i;AT|g{*#I#41OroO(>g6@fG}6yRbCjVD_?u}!j9h?_j=BqF7=nk zVU=8JE<*xWV@Pb;5M8J$4-@7Dd{a z9(f~DlW!K6=i+XRxA!hjPlUWB1&g>|imSzHJ{pc~y^IMWE?E*^b7+^##b~%C1K+Ne z#AFCS4B7q;&I|@+$hryro_zfqUq9H}_s%6lXxA~CS(~B(@UB;fQB@?W2F~(s}Ub=U8wpiZ#wJ&_}3va!6 z@5S+?w_LSPpFaEBZ++|J-QP+om6!SA?BSEg zUw!8*+k3Z8PLEiF^hd4|SOUBv+tRT{CDN!tz<@a*s>bNZ4FRwiF=tLS3*b8a0ufPm z+|E1NU<3h?Y9~oA>74{zL@&*$f}%WdMSu40JdNEJv) z91)C32*RKco58Suu=9Mg4Cfcm>e|&Jy}I^w-&d7*M_gxBS%QRh+s1I?;PA%5;gjQ| z&mMd_o^0>!94G`{5BB%>ZSV2P(TAUWxM%Y6!K)q|pdfb1QkJ=w2})&ws+DlENvX^> z0j8_>GPY*9c`!E=0>OcOCN z1p>rTHd;5Px-R;Uq?Xi7O*;;&tLRY(L_>yeyI0O{i_cxoCvsfwc4@ve#ilc*BV)*j zi*+S+KT5M4GS?8&TJPIE1;ZkCj&I)1IDp=VhG2i*;OLOq^i**n3j)EOa`cmh-X%2Q*BdfV^lL< zx55@eynQPH#zW>X_T*+@KD3Lz*U0s*Id2Z=@c7T3$= z+5>G67i-1a4a=!HM=<7+CLa?ZA~vOoUilXJ}14>w z-~HeJ&%LVmtIt0B>bvhgJvw^-qYuxHpSEpq;`VpY7r=0 zCimD0KulzSup~>)Id(pCF+@s)UR`IG&7diz?2?$F-48MYF77d9sK5-Z|#f*FW$O&uzxt}_d&c^t%aSDX98P$d~tSqdj9nE z?CALX@w21j)63;@WgzjDup12e6|;9TsCnFz%DIOR9t_;*=I)jzi>d}{lQK~!Z3bmu zDl$@N+pN>t32%>w-q*`@I~?}zKYbwL-+cWYO%W!{S&pWl0ILbkEU8&BXfabJC_}T; zVgRjyRpq?r8VF`W;L_`E-7!@d3}&W02=tm!4U=Vo*A*_mInS-M&~xr#5hueQsu@YgU^(swg{M>{!vSk}y%J8%i3lREMJKP$q7SWP0 z7&fTfLXyVh2)RPc41Y?>^f};Rb6HU35YwRK_(~*zD~<+*B4S(_$#up9rH?B!our%h z8j5K=5nw`8#1nLd6O;#7GKDMlqN~d{(SP&iQd^sK2n05LNR-tXskHW^(`a2Wecf8f zZr{iNg_)&b)&?RlxN>9!$Ksu{l9Z4cLIw$=b-kKgEE78uknVSI1})1)m6Rgy;M^(P zxiz7r1NoIWr(fU=7=vPKjtz@K257QmrVeC)gE{8z=43o0=Mftm#2M5Ovspw=F)EM) zDXCc=0}U&5Pj>;OtS=`G5#?;Tka_@O60(X3pd@1OQB%qt90~bs?XHl?j0ldz%v@P{ z^yn;TY{Xerdq>8m?8He`BN;ei<(Ul}4Mq|{p=m8?U3(VCsz_!GViBUK*)G7R)XW#N z?X4YQT`n3DAu<;qumQ)4F%5>`uM9uE7<`4Z-G=ELGO#noat z7!B2$m|7tR5*9IpWU2N8*7d4cHO=~Rw&+(w?<(&rMOv;FM@J_YXJ?leXXodai|GP@ ztE;-Moz}#-w=;U~=D~9Zd;2?+ot=sEgLM-EFuho|ZFEvOsf3#wH=nVfrY)G1-sgUGMJ8x~r z#il-KvJ3-QOsb2;d^(#6SL=1_y-Pte9?KbRikg77ZDU;c%GFg3Q1*?qlu}9>QcCH3 zKL0;`K#~0Jnqm%Qe&yF8IJ9_-=aC8U&#eN!_=GK)kD=Uakgaf5b; zTSgsHhe34p9ewVEFGuD-fdLy`wS+~DF{<|_0y9gdh{4sKrOL3I8Z?FkBjGCP^!-mi z0KfWcZ+z`fzWJ@BAN}a(uf6e_)dOBZIZXz=*I#_``yYP5B8Phi^Z9Z*oAp9H8VyXb zS}uEa&tOex6iNbTV$qsKtL&8=(CZafJYCrbtMG-uplM$>09h|8ls!w|8%UxmYe0ZIoJI0#fVM z-Z>XFx}fD5k%uycp4WP5oDkM>c)%n`;?cQ`9YshebBA@nGzEXLvDsKXR9`9h9h3=W719EEp zxgC%n$Hsdx|E4Pl4kp-CMjhVJ{g84U)cu??Arl>V1tMxfZhB6jmKnJtG}}9|WA&8O zsaZ&-ng_*FH|+a!cnTF^hi=k}0tuAV=PK1j<Rq7sWM07wcFZ+WeDT-BO;6kq3pV zB_hWx$n)V!k0A))e8MPfIDMB?6D?yyNwq4IpFSieGBz@X6jdztMkW_4G zy_kyZ4hH@CYQ^vb0@dPN42$)$=?{CW<;qNnD-a2h#&*404kwc)HpBjCduyi&?P7X4 ze>T0iIG>)M&Mz0sriEEhB-K%`_TERuY`J{nm0SPqpL|nTf}&}{vK2HdFb{hDb!%!Y zLV!7`g8ix>zg-jFPF=dqH|86m9JxLo;`iyM7AdTNo}=Si)Uu1 zMk(oZb}^ezW70OR$tId2qB-vY_{xW7adN&mIX!;-^z{Ct$InjAFD~bcRSV*(sziKm zRC&Un;z7;h+V`B)p1l*#;-vE8)WXH0Y3J+PH};>NUVQxY*;~)QphU1l3UPvzz@&LZ z5V3_o8g_3SIymPzrP##g(aD3KeE2hG)tA5Y8KE8mWRWz27{tiB6JyFpdUVF10C3M&u99U~yOL^`FjS%$5t5l{B6DzT zP*A_BX6w~o{KvmOzc^bimu+jUVtY8;9l4iYeEFp}zPNqsWu#L({@9k48CR;_o`&d%G_ysABisMySt zOawNeKBa~0X+7+RCD<8rPkg^>W~(^xszw4;av*h(D}cXPXAr}psiny6g7pS*zBkF> zoKYv2x)w+Zq?5^p4usF8fB9h70;zS$1gUjl(8|z~?DLYr1}S4bOUN%%J-S-{>W5wl z6F1l!(Utrso6^uVV6Nj_imhW8u&-TCDXca|TAe^ft<^*!+pV)OG3PzSl`x3RTvASI zZJxEN1=S#A$7$O1!e{uVyNh;}Qk0fA%ZV?p5TVb(E1%O&=gdwrOqL9u;Yy4siayH% z2X+J!ONjs?fh98mA!%xo2~Y_Gtfo-XEU3)XX_r-XAJRYs&CTxEG}T^98WEtB{WVR6 z$cfYPZZwu_aPsS2=3d=kuw*ar5@GN1p|a%pOqU+Ht#@UDEb$ zzgMqTjktckT5)xXt7h%`{Xw%@ss<8A7DI}P z5LJZgzPqzMe(COW501`1`S?jyd4#Y%8cTn4aXtlsggrSmBIc^DuvjNG=Nz-JmtMan z;+R_Rs(ycDA+>EXGv~Yrn^{($DUmploPHZv^4Qp%TXWXXF+oJS@~7yP1roDRmzjKJ z9jsVZ7z`j`-W?5g2EzzLZVpD7V4((rCe!TIRK^mZ<0xR%c_>q9Fb0=qOXLx;Nfo3- zY-%wE0KTf3sB*&WbM~8JTCUbG?)66AdrEOQ9EkH4qaub77mH=ngynkSQAg6GCQQrK z;=Rdy&eys;V8csjlPt zVm5nrdQL9AeEa!Tlg#Ax7oU6Y=N~>idA2(qrU-!QQSE$A!jY_TBkx31)(*t<4n1MvYo0URzOb1f5zFhC#& zGhbI+)td6bVrE4yWoDlTlS}5mDXt6~AGWJwWOL9kk*N|%?zwQzGqagSOWyYsfM#Bj zv%!v+;se4pNz+{Z^uza4`{via^c(-~kN*z%TiEEEd!0A`N=OeveE8n*)+^f+aCFWC4yQ02;GJM52@>e9UA+8vDI*C;^gMR?frwpqm!qf96cOWgTvdmwo}eUz#z`?!2lrA#{MBIR#i6v4p8K| z1Ke3g<-8(4D*7DTOkklrZ$8(i=zzNJ5H%tq&3V4&a?T0X0iRsVhV1*}+qVXj@lXc+ zbo18U{>{TMpPl~rzs#qr)v5`~5z-j<1_$+Ia$|e)`tEo%9!NDY90ENux%=YD_rCML z?GE-qER1pAFIEgMX*FBVXM^D_3#M5h0A`2&Dh0V_Md1Cjp`z%q^)z6_ue!Jtabu$g2gQE%k}{#A!ZAGZJRZzud1G}>b6}aH4*2@ z&CgD~ciRWIj-NhOYgj$AgCm6HYBn8jO{!#V(@0fA6(SD4Y33q3RlnaX=a%xIH!l^X zcFi=HE!%H@=eygJUejXTqN?1%WVk(<+}Il*9_$}%@7~;>{Ks#-|Nev1Du$rz@$Rm3 zJ@Ar+`%;l`N|A(pT}880dg2{Xa83YBCX+U`i^XbhJQU~IG`ER@@*p>2hKQt;01y-B zt_rjAHb7hsB(zynR0fHXh|3G!ix|{Y0q&?dBES(JY>jtE<0XMWVr02!C1X|YCPY{^ zTJ1Iz0SUPkE3b+xy?T~MIOhP;6p3={S~*2R+qP{(c|}73Yua_?>(Sx34eQ5G9@KSz zGTBNgL3JHMW=-bH1%;*_j$&+M45Pu|FTeA{|MaaNouAE!UEQl4({S9cos4SN_cH9c zp?8(Q3HN+ei4*4lTet1m#l^|R<yaP5{mLt=#bVGK z)cyLC$4^ckpWV56)3OFAwJ|jNJCj~-+_pHGKKb5He|~atar0pB8(;hS*S`GKS6+I3 zxm+8WPEIo-Q)YqnY^jRa0HnyB-=iZj$|$bS1q?6bVrQYc^>pdng&G3^a{ zw{P6p-da9AJN@|nr=xpc+#B^MnK6XKkY|wPydX=7txPs5YPPGIRVii4!jKAF-xc2l zS}-6FQnyW~q0v?5(7p1_H!+F;GgMQHUjN3OSGN$Djpfo|RnhqJZ{YM%Vnm?Bx1w~^kv!Jvv9bMT?Q0*QCSx0Rk7xbksls89G z$4#K*b?9)S&8OKMXI65W3`bpE&DDEIyC1cAzh2vTd7_GtIV$0I0CZu8+PUxoQbrnU{Xyl_gFJ=aew3|z3P=l~B zu@+wn(qxM!ij#w}uZ4~-n)Nz_Kp?IqCubI83dU$P^D>^<3weeUazYMbMev?yYjlq` z&q6i;c7@qwn=G>ppO!xw1Ey@b(-+1>6?4TPA~j9wqFFS=WKoM>MplUCB)^--#Hs+a zZI`h%29Y@8LA}GwG`K6X2NM5+V!f}A5>L8r4U0)zF%{?I63YOhW)`P z#t=fwreG(&m*Q$Mn~f*irt=g7IffFrt{g9y)6saVs)wu9!buMRq!Mp!yHL+8qo-%H zyNA2K_Qvx&d%IixYBU(ubuXwjtzImewoSr=@y*_?-+24Ri+4E0zBm;!W^qD7U=s1! zv4acDg`7PQk#jC-67PvAPcjiN1hFpTq^|czNLaW4fqaFcmGo}|6K2g+7P7#SX)Uf> zb6I%KWt9>2dR4FP%>XvauF?5CP|7fbY=lJ{Ikb{V$to@PHFU%GNJt38AaS{@NiiiD zrKo1<{QNXDvDfPl21Dl@C{~qIrR8dQdiu0&8pqzuj5KI6!)m=cJwMZS)ngY^unYp>pW;huu0i0*yb@Rq*eIdk1R(Yx`znljG;`}m%P7vT0TSf%x1>WmGvHa8g|H!( zsI!O29U!>`DNDa(cm+`~rsC>IFj%r2)|Cybu zA*`bwU#=dXE|+SKMT`yEbdRD@8x+Bq;K)R{k|fMEvtx)5h_dlRhdq>s%UWPRWu@ZP zxe*=Zt*o1;ktO(L*AO{@&zZY-320(UrZHJkj%uAo!g5Vv$TP^)K*O6INzI z44yISdB?RHHBloE5_GkkhPH84ALI}d*!62}o0W>Is>-`z2#tmy&YRS!ZI+AqU^rSX z=Bi30X2jC-I$zAD_ zPP{UO)FRnr?{Me2+l1mpB%CKcaDIx;Im!~jEa+tsF8$KtoOiyeYjmEf%&w~@(XB+; zpop8r|M~q1L)L_|FelZV+6y?um@9XXkFh^--%exawa2Y2k(oD*M z3zX|ROW7PA1@O3H9m!zGmQg7wk*UJWs;V0HN6aqcrJ7O`qbl0A+1}nA4addG$rMS& zaDIMves;1`Rg1WcZCEu6QiMdqs@~t5^hw7xoD(lqzjn@f7D*|F&>UY}JU%)tA-blr~o`rV)Yf|LAr|BwIMi!a<;t()0&!A=}YCniyaiZ~Hx z7KmCAh`1EVpbAY2CqiaPmDm}PQ43STkU3;qV9Vg3<~dopKrFYBN<~fG)6eOCX$rf3 z`fpB}oJ}%8RYOcnaE?XT$kxqrlX`F#fce_HN<0fW7$q`hPLz5nO@I2)eUZCgcZ@<&*?xn2}>i&brM=#vD^*dkx%HMteJ$Z}ww|5q+;j*3d zhl5@(FS&dp5@i&v3r_%$$VzC_?wn^L1~E~StxUQ(NcmP;7j(=Nj&U%V^L$Up8bgOT-TOi>uJz@ef@h%1CTVB-T~-u45vkQ(w_0(q97| zHqiXlADum87lE0xFPCjRm%!KKC1>Q#u9iGqb7;@MOwDpXRC$C1%62d%i@N#1k~PsH)Bd3_2z=Rcovh#JXb_`Wf7edmwB$h}dX2DpbN*dP7rR(*j9yktdY>B;8 z+%_v>@^#&=*Fegq<0O5y)nYy!k9Slxgx17^NZf$I>)A!Gswdmq7qhTz8*_D?Mftw( zout&Jq*WzQZB~u-hs2%`l4+i~Ra7;uN~$?W0z*V<-v`jPA&Zs0ubD}WSR9Hvr^uU$ zD4CMw7+@J2Q?;C*rYyQ6fQUs1l<{j-RkMogHngU72|qxxge>zng;J(D*qD%8G&>ZR zj3Bwmr|9>r^loQ#A)&~e2*yTvR+bRKOoY`^2tesZHnRYr*Bg>SRg(r7<@@116Tvx& zG3M++Eu|C|v*nYgPY2#r>`#|Vs^g&NP8Z8{jE6n{*5N3raZjA9kkVqge0FhpbawIV z`0R4N2&SXK;MT#7FTVBGo!hr=?Cgj)YeVg#IRn^j0|KuTRUI>$~*s`|M5S4 z{NVA{sNbg8w23%< zdQPOwlp#10Qp>H=N!SZHLaR7uu0>qiBnAZJoscHgJS~sOBAY|ihjAWAs)?0gNcpK{ zFx5cl#y`Rsr3ov;K1E91nT(^Ht7gcP8njG^BCvDW=wFyQw5=1D!5SxC#ASjYDj}uB zc>n+sh@F@IXwohozxU$+y!`g7Z+!E2+jThp)hCnjXgCpZxc~6}3(wvDt#`ll?H~L^ zUw`><|8TinHfu9mkryC2==u5Oor8ma^#{NAm*4&I-@f<$Z+_{`2xOylBnvSTU894I z6v-kWWSU2*01QF%z6-G+C(1$&6qpvPWxZMrs_lH;9ae)v$QqPP%{(!n<)jBPN!P`L z>@bqwP$ZQF?=C7k6=pBK#G!)0mb`h>MnLRxR1=Pxm<;npbMxLyw{HF#Xl1qnO)ri= zJwH1+JDFadKbuZZm-9tvn;6#p-q8DMFxuTexF?Qh(MHQdQ+AraJk+MH+7BA>b|-rtN2HZPS^cl2{}t7E{dBC zf|DEBG?&}NmbW{D*_9tJ3bdxS4*B%<0v7IzWMAlnDia({LQ0xaGEFcT^XAIU3f^!H zMH(si=XreO~^cdJ|5gTt|#^c^#WR+}byPe43650B1fPtMk7^M;9fl{n&Tn#v~1 zsgp3~G^qHN=cS^cWVCLS5ShspYC|evPvSVc#VO1Z*i<(*W*I5T=7MSf32`<*H_pCW zdE7`@MMw#Zn3t1huJYdWl%O#h;M%0o5HypLR`8pogc9n)^v6zh~<20YD zX4c2U^)v)%I~orl?0rp15fa#(^G*;NgjR)#9GKCU9uvcngLCYN7?ka+C8SNjfDrr2 z16VGXK?93--sK_k(s9qKDl8&m24Tq}5>wmAUCWBjHWZXS8!~~J7gMo=im9Z)o4?2r zjtp5TT&8VjC!zc!^9Jn>-_2=Ud{#R6iHuAW%BcYW&bbV>WMebc((wg=Nunk*3n>ZZ zrVuLbhbg5Lgr#khni5%TscK_n*9Y>+p+jzi1j~i`Ds) z^P|(#!_lq%gLmF~`}VDyFWkDZzq9Lo-Nx8PUBxh8UlJ@=o8}oBS!J2x zotp=5zViH^|K0ab=ZjjLlGd*G!GkAXe8o?C{fpH~qpIns*YEZGuReSDU%&I+Kl!~s z{Q6hEc6>fHBqC8WV`E%1eI!mPm?hA%Jgh7`PEj>^k(iW965&7quwa0x$~va^%;*ybQA zdWd2UjxH_12I)bk3o}!Y5UZL9SxCO`Kl=1(yS#kx;Ng6FHa)#qEl*>J46Ez@a4_25 zzB#D-uI@Vsxk{kX3~f*(B#YEoB4cqPY>p&FSF34miX09qabm5D%`!}eU(WAGhJ+6gBq8?94Lq|n}CY?9E47Ae(hryAfiJ_)H+2)hqHETHN#s-K&s2XBKGHT7zhJojt+$RQQhL!+L3KBI6kwHq9M95lZ1G5o}IN=(qy_77r z(GWsRBF;#h12m)%S;z^iQPji`c2x+=`JBeXt;J%I)Evb`PF&AX+w(ogmHMdKYHpSk z_{y!;Sj8mHXG4a{GZ;)l40e)ta{kyUr7VS2H5Tbr9>9DtgJ3+~A_k&y7AO=X=NjSG zCBbUS_Bp(brI@dqb|WbPm=#MhGZAqjIgF>6xH?iNmYa0)UwWft=}tEMbMW-$eTLyVR}N{L1C6aW#4DZ-puG*x0TrIZ2;f-~Qcq-~F5KzxVp*&cZrJpDsF0V>|kn2j{EiK z=kNdY{cn9hG_0%Ma5A`k>(yb^S4Rvd3{^N17Oxc4V)?kfSK4}EW^G(It1uHL^0n)a z1Yk?hc2N0V?dMHE(&g+ja|d3srY##qQbz8n@}VB0x#-npsP)cxQ1`0!VmTc4)l!ak zGLUb4F@H#2Gs+$!AUxG9*)4 zQyHCg^A&<(KsSja7v-5g;G#_`X@?aPukuklV26xKQk-ue7j7a~Tp?)_6$a0NnMA1P ze9uEYDMVF5LR73{%9ef51O~&5gf&&%vT$fIi?LsO$Fd0Rql?9(i^b72%-70{+RMaC z7n^}>J4j_iaLFe0+8c6QFFsNw2$`8>Yu@tjOtn#4$3&zcRIHA<5|{n6g_tu#VJK#7 z;0X%|2Pp;TtJ?ddrdm~%OQBsXX3je# zQcG+|EJ9p+uy`o3OV9)|C!V+xTIG8vBFwI;YOrJHh#U!70w4eK^0 zs91JhBajznkQ%cl#AxtA6U^Xg5IiHH- zUp_hQ_xdls@X`x+Zr!tJ_pJRFd?7-G}3t2SEG!jwfkRi$MdP#{#OS6(ot6bZ0sCPrq_ z#KBaRK}?CkYNk*z>Ju7J64aWAL6#6T`w_Uz)aNpoU}iohZDL?-?A=(4xjb8`dtte& zhQ(C#G)qMX0_PKXWA<@XWFv#i$*>Ml)s$#^N;0d8>$4Bu8}<9d^?<8h-8+vnM-ryf*ftJX z<1S{&kc(_@1V-d)nAlg&M@uP%VeQ64cXWwyKEp|cT^Yhw?wA$wtDxnPG+b}@cO6J` zMMDq~GiN!}73!ahkk7FIo0N;YFi(WMZ8{7fmp}xd45`W~30>=!%?Dyv)tC63Q;3{7 z7U;l;x_Ayyr{J?}z#kO=BGQI3%V|U=nTbru01~6rNhWhmn^TsI>oKlU!AYy>Z=RJexLWvo;u46%T63chZ7orx5Jn|ji3n50)XnRIX=w^9Vo)GM;Mv?QDiSEcDOkZKkYaRd z3`(MA9JA<~As`QhRp`6JEs$pe0rC41tQ|?@v1}x z!?-N;65)I;O1G8zizX8FRVoXUBa{q#eidS+2@Z!UV_r1UO(yL$i=5PKuh0i{H zeD{uxc6Xe^M-Lvn`of*x`;D*t#kYU(=Iea0zrR>4EvZT}z=I{{*C|&$sQwU(vg?#LH*cF zytMOKyIc&mcg>KXl$4l_#F50@ygC?#S?$S)9XUVj%i-?m$>S44U!g)C7Be1cfPx$M8w&O(PfZ;%`8R)GaxY{6FJ8NCvX@7 zMm{9h2AlLMyyyoQELhynI))2B`^~?GI9h!g%ec4*#S8wP2Jca%6*V#WN=J?SJexg@u| z6?h{->XL|V8h75kL}pnPf9?3xqzTE|7>Im|DTE-*8g$vr+mM)vLD}C`H6oj=ICuZ? z!?bR0-8h`jm&a$vJwe~s=TA=8JwLdy`>UURc>eI{U;j6M`lo;J$Hyn<%XM?PT$!cL zU}fV;N2Zx1B{NGY5s)ZZ$lis%G??3FDlrUs@?233V8@#YEUEzaIOJz%YbcyR7aAObcC%~ zyXJ)3f-ym*?m;NVXw4#orCKAVb-y0eb+xtIAC4#cw-5Giy8bq(N0y?t=V$jn{_*#Y z9)J4u$-~o=+LVU{e`qRSFkX)w+2=15QDCk>*)pd4vzUJnJ!18Eo17}{?3ivpMLl(#FR&-ZR+|Qv#t>|FoF=ArIyM_9Wrv+kNW!dFD`#q z4G|l>A(t0L>5VQw0Z=TE=_(7znSph6dp#ors-Vn&k(utYH>lem zB|M|^Fd{SKP4$y&P#C&#mMKqs0tCi+$RLA3l6eNBqH*Z>luQ*7b-E37vWUD;a=vw? z`m_Q&2^1O*mlI6S4dHi1~4w7n63r&EUFgf9&U|2b2HgHIi%tCTaq!3dZ zQvw9UOj63!4LH{=X>|2qxkHN0-=Vuybjp(M-JX(44>Pr-n%|*HwG#)Xs`ez{%2Hgd4XIJ7z?3w_^)dvS z+&CDHcT!3~Zu3zQCSewCV+bLN_|jWT6;LSTyaS1Z$q^`Zl1ac=ymu9lRMppYipb-a z3zC|#>O4PmgD@ zT_tMU*gQVF_~cu^di%@o-aELrEYg+IZV6<-F2fBO8@Fy16->~`l6G4|4an0NjG%2B z%n~f-Jjx8jQuoA*i=kCDqNJ)xDOn1OG?B$$|Kxk@ejDbRc6DPsZkO%ldMdBIvYgJ} z|H&_&f8(V;{+)mJ^klkREsJ!CBp(U{Qlt%EM%@9IKU9h-B34!9DxcG3RRa?-C$o*_ zD08W-7GPxN>;98Ze|i7Guc}^eJv&pXDwe3)MC=YH?|$LU@4olbzxXS=y?-!W%uU-> z2;=eS-7o)Ee>8|qqwG>%v=CU2cwp?K5l8L&daK%=wZ_hhHw5<)}9#jzpYNBuESmWtT7_W?>csQivqXOi`88P*uIvdiKG`_mQ4^ z^_4IE;qUzLKmYZ^`ww4qG#+k+m_GjWlb7#4|NCEi_s_rogV$evb!U4LSL>8ho1~sS z%=$i7wqR>C1vd4y_kHJwwV9iqUbYu!Tn&0#HzEdY8^tvsV@RfXMK~Z55v5>8i6Yd% z3Z?AQNmOj9uiKUwEW@_eotyuZNUPjPh9)y1SBtO30~>m`!+xmXKcrgb{uP4B07`1n z(5&aI&my$0-FP&b?B3ho-5>4V>Wz0{1EXMy)q3{q_`%~x-#a~icy#n^F*{q#7f2@D z>kWI8!QR2{3%!2N*Zsw+8TY*^1avSN_Ury^-EwGG=jZkcGoWP7ds8J%=7fcz>bzf4 z)nc*NuiDTO(XGA7WLP(|rFZ?Lkx4RiXPHr>u7TUK{D36I4wo=CxRjJRiw-wZEH(g^ zx+LHVLEU@-vs}qqSE@2P_l#~oS`mM4;uA{KxFrB`y`dv_Y~&+|N;TX8LsWnzD%a2v z1ZG{DjSj6ev#V&H4Xbnmn3Nn`8LHNra!D$|Op>Rw5j$okh*9=)R!XT<Z{+6GMb5*Dzb`_kp<#tAQLi;P|M9{8E7pXza=*-t{G;U3^1?>*b$tU z3P`4^StMa)KbFiT{Fm1@G;iLabviX_ylD>F8j8mU3aRh%$AG$Pd+}m ze6ng6jp`!l7Dl{jkvse3H`;`E{JZ4Y<1 zfBZLpkJ;?c{xAQ>@%H}X$4`U-&9nX}JL{oyzsk7tH6$?ixF%E0t@}mpKoI9P3qDx_ zieE({P%`KJ^ytx}C!e^wzii@oF!G)j%e8pB*&nYOb6mas+Dk+{Zx$l#>fX9teg6kP zm`>0B>|g$SaxTRtWx~n`R09KM7nAiWcl_|-$@#_Q@zLz!tX(v*4N2<1pUyw|$wESt z#2<{eo|-Nei`sd>W%N6rZzUozL9@ItA1~%<}Z) z{N8gnfAgy^|Mj;&TAS5%O{CEPN*O{_Rp*>%&P`)+-3%36dzQvI2_cx5VVkBO-H*mE z-+TU@Z+_#afBtt5A3VBuul9q1Y545H!x!${`Db7H;@`aYiUg09XWX*!m1{s*m|ZBp_RVXkM7g&eEU~FiE%%T^6D%8e^y6?w&( zA&&;n?dxi4DQSBCwHtfe2ipg?>){wQBC9OUo?V=tfA+(Z(+4Nd9-p3`t!5WZ)4;f{ z`u)LZYjkkq;6=yI`P#d_%cg%)S9Q<)3eZ8%r4V=f{q4!*@Xr|B%*=V!yGmP$*q0{ts#BvW+377*ZZ_UTlfXl&Mhdo3t-uDgR{llX0VxY1-y{W>)m- zrA`Bgpj|697nTHuLJ0s&nJP3*3TBvO(6grGiEBv}tK`zqi7GW4Pa$$;uiJ*i&DP2p zxyh*^V4Tci?zB}Um=GMH5*V`?MKuK_rEGJpw$TlMS;)*R<%uOgwA3!!hFL{ic64-1 z;(RRvLECrUC13d_v>+x0i>N9SJLf{u5W{FRgrIW1a$<%&3yY{o53&k1M$OEGnK{S3 zs%o2fadA1`o*;1y?Rq(f2?%vvi^y`ZsC&IDOsf>u*<8z16EsK02+BM!iE!m>5#A)= ztM&T${Nj5*{>kZl`lF9OZ4(r_&^T{{b21(eCw(Ve23#>Tktq}gB~7`rzSC6Zoj{;# z09A@XbCP_OT@#%11UMFBiXq!en40CGnj#WIfQfgNLR+&Q0>$%YwzycYD7C}ExVf0G z8NC_(van@#|mu&9A(Ba(wBS0ZIjORL(xF1Ts-g8N1B;GIJUVz(|~DA+=8O zm6vb1gi>^tRP2a=nj>G1kOuxJZxk5 z_~FM%UwG;67ryyhKmW_W{q+7P_wK#WAC8m8PwqdwbLZx7{o31q|HGfyy?Za;c#f2v zG%RVI?9QuqM+bYpuAs?QYotI1tdmLVPX_mP?%um|lvMzVX7|tIr*H(yHdVC;Pjjk3KeLX=d}dZik~0 zESVZJ$U90|TFXM_wzr$*F$0yClmNx8y`9>NnsFHj(xs%lSx%Hg0+VoR5hIDqj_azt403PvrZm}~h!#r7^c9cN)l#`ZIaut9?QS7{}E0r=WYxvI9y36%-Z->EqRx6xK@T15@XnxvHSb1^o{8H*8bI%==KHnc`b z5wLl{M1+L2fhfwSE^xZQ^a_{{9HGa?k~C=(Y}O_t6NW=o<;hQ6 zYFuN$*v!Pb=TT0@jB>C+bCy!Nur?4EktGFbMKFeOhFK(}PEL`#;D|t+85GX?M~@sg zfux!mf~26tEG{+cW<4h&VW*}_Vnq|gR|rHI;}&qztyj+>eBbE>{`n7n;zsqq{lh`l_4^6vtm}oWJRf6 z)ha|?OEpT7#Ka)YRx4fKf~gXSnUg6IycYno^YhE|i=$`vBO2!>RW0B7;QbFi`s}&= zt$PPIBig5D7vGQg>YMk>;^lHtu^9X18huSK+&O&m?CE!Z_}<+YUmXs%2)MYI&X-Tm zPd~oAXqT5W-ydi)_H^j@QtFUTbOoDMuw~?rX7$TM_0Y98JLCST+Irn&(Toy4k3a} zL{d^sA*X#R1h5kyLr{>Aq?lrgLE+}h=Hthoa`noKx4-b)-}v!g|LvoPkMG=le$X35 zi;tc?y>)Q#dh^+XVFl8`c6Pjp)vUO+f zKl!o@AR__Uc?k^R9A2p_{qj1@x>PFqRLZSusW^HuMacjA|NH-nvq#J2+8}jRiLb}? zZZ*19`I@O>re1I0#SMBrafl&-4B*9THe0Tzi}`xFTCZErlGH@W)(C1thrX|z(5=03 zudWEGozK=6=Ld&}aXBLak&rMUg5kIVtR8Nq-dIB*$IP-^$9}K3JsvL>%eqG;8v;5I ztE{aYjKw)cvJg<(EzQMPn%@dd+ub$OXlAAEa|rbblM68*{zD&F#}%b-n4 zDKf#B&2>3tNdPv8!Zp#u=je$%Pz~Lk#|BR_27$OFs5$c~0K0e01J>GE?cjwS6Ev*? zR!v&AX&GZ1Ata8IW6g@on%NNvBM(9}f?6It-nAT{I16+%E^iR`QXX0EJrPwP`*M+~ zX(e6niI{@bC>1HTnh6=Q*&0YQ%S&LjHbFy(%k_FR77|$E4<9^x_H2KD zf4y4gkq9D=iG``ED(`xm3tzX*@#*Q4lj8?Zo}8SWpI*)`m&*`CG^<30s5t%8KW;SEZa!nwMnGGBD1Azn`c5di4m;tIO zIre4=Dy3`{){s`KB@tCs&ElktVp@A)hI(KBhfmHwJZ*pPjqPEtck%Sms&>PBw?6yv z2eVJ^|LK48r*FLa*5jv-A)Gl=BSs`tUyaysvbCg4Q%VRg-#e6Qm7KKRu~pWOegFT8eRch3|=^3u)aN^sfdZ#o*pkhYko3YzVzztH-7uqfAx3YfBf0Q8!tRJ><_h# zPmZ2#Z|}SYZZ!1?NlBbDYT|T}d;cs%O-WPASCQHV#wKKhba{4uxd0_cx@e>4W-^$J zCx=uI>wfRft-Fe(77{#LD(#eAG~65<8|>PO=Ao3fQV!XC$FwU%0E3WPcEuw&MkQ>V zNs01vsEaarUnq=J2p~(FEzu}Kh`WQ`y`717l~aMQYAy&h{+3i$F*>eftsUnR7xgI!n#du)K)d6ls(>AD1Tg{ ztS8HU5X2}W)l{;{VAqCmt)-{qu<}zjAtZ>IjeHvSxi2Jyq_&FjGT5?>tH3eFEE}za z04Su1x+XhYue7;?w)zc=NSe2ZyUwP%&R?qiZZJ(S?Cxbz+ zuA8>q+1dZ%Yp-~v$M=5~;+n?^ToS$v=Db)^XMUi;o}Od*Rlr-}v%JfBXH1pZ@CkyD!&ujRqI-jLkd* zYL1xMA)#s4u5sFiCIlnI6kwu>hkaRpouQx68+M_U(Wc zRe>@rX5>79k;i2lLQIp%of{tT-0$^>D47BX+MFzA^Tl$yn9rB1%lT@yT(6s$UEhRR zT-C2@i(zLt8VzEKypGl?b2RvbY;uuxGkhi5MIJz;Dp0Yt*~By&lQUC>6@M5~f~pa$MXtgq zPb+amWoA8f+9QId6k()Mi70|Oj|A%Fzl1nGk`bE9U+YFe4}+t8N%v>PQkGWzpwG z#1AJh6A~EIEU9X1YYmBs%sj&j*B%35tyxWyS%}sqS_fUn6tlfYW;e3$Pco&_3P@d< zBi)@*vSNc=dIUP%3P2V?bg^z1P4Z$@B{A8mu_hWAj?4*f9tLIc3-czsYhyM(0y8nO zXY(wMb2}&zDEt4L!E_^?qZUYg$T7c$6hn-LqZ{BQmGR|mr$9KZASTV$cvALmOAseN{G^z`WT+0n_f zv-7iy^Z8;Glu`=LyYZlZXR>#&w{!Ex-p&1ky{(<`V3arC$M$f(UMbn}#p&5%_U!EZ z)8l8qcye6T;;YO^ZthzVd*;;9im<5&b_@zil=XK|EA?C9*K8?pC|IKl$^&w)5G){`dd>V0Z7)(f`Y8` zqsyzL90sNxh1ErcLclSF7;`6V1_QGKQ5cqjf{1t>Rv-QHXMOMbqfr|oE1fJZKl$+4 zPk(j)jpq*U9Nbu}f-x~sW_OwBl^5=c2-Fnq(dG2`a(3@| z6(O-~su5f@4QwKxmE+DVS5qCD+_}*ZQVPkEcP_$)!~Xp8^soNvd*Aq-FFkkj;PIog z>2iJO>>FQv@%HZINAG`nbT+SC+}Rq`j+3^_NNV$8#d9}axwJEu02?9a_U-iK(Zid!Z~3Z5t1G1b$N&PVbGBI0bdg-W zIy;@M*30!etlBo2mwM#tt$KGd8E+3KJL9cMZ?FaIbb!lx9UfhrKRmfy9G#y(n_ezd zf8%%m{jeHc(jp&NIedJM;32~2UpYa(4vlxTcG(B$7}`#Y%D(bu3TC@jyyOD5Nc1$9 zhD2Z`OUarT>;6_a!B$?1H)Sez}E>s7N@H}lmh#H2}?#5>O-wHG)|1X43i8dHo> zL9TMSXd)`@2i{kziOs{)aL{XG7&~c_hLDH_K~0Rar7*KG!PF709fzc#3P>TWYlq2r zcsyGIK3&rzpgRbrl7;uZ8iHQmz^^sKS}g-ndB_ z>E^sBjvcyLF4uC1yrZs#2HVVi=vaf#1NemEgI*GlE59mafESc6-P&k*Rgop8=!7bv zO2`X4;TlEuuh67r_*+sfUS8he3UAJYjR~Dt1fmjKqU;?FXGiFGL0L@eHp}Fr~ zp(TmXDv-8`=B=3-GgU6n!m$n8W44J{)+tI$<46e*idCW&6r@7rnH)oyoJjrxnX1Uj zuA-RjmQA@vpCPj75 z!L0U`h^Q6lO-gzvp1IK`#waX=+?7z(zOMWIAN}m3XU8Yoqagt2`8VJG(l@^Tt9XHSn$FP@#AEmxrlL4n%yu;1I+o*eA%-8kI2v442DyFKU) zU~)|!W~;D%c6{{d(Xqbw-CsO-_=8VATdR>{a@9dKsi+62F}jg(xq8n?PR#jPzPVJ4 zhk(qil@4p_$P47NIEK(P>-@V(q-mSwYyoJmSErOhO3X+pfryyr^NZzbEtP9yoSz>r zVdGa{Ji7nz(T{)e&aZ#@cYos>=d)>Dxfo$qbZi?4OjRS${OCn zbTeterjd+Oiv3zX{OIEpo55)N;$lG@e{%onFF$*rNnd~N=G*t~uA(V#v^5#}11pk7 zg9=w$gZg+ne>Sc5Mw2$!YTXiBCB9!dBeN8mHXL8fkeX4SlEs7ZC`Fsj7v{LO5LSyt zJrO_^uwdjp+wsa+{j0S#vFS^%Kk$o-CW#bU)6iY#)hh?&a*$r3gXNWbKe7-Y!Gy_D zG}T)NJIi(W%Rm2zum1WMZ@+kJesVcqr;A7DgNpw7H{O1Fd~yHL$;st3wb&Z=cX#{s ze!sb~e>gdK{P2^5Nq={D2G}OvzW(k< z-}&C-2M=!CzU`e@N+zioXJ;43m-EHNylqohX_CtItNvg(U~83-EV6n0|9N%cE#oo&SUg^4J`pxC zG#AP+BPL{nIcD8tX;=Te6zW|1db(0sL4>-hKYIG`$4@?+MqW25q{u`BXD-aSjQOn#TVkcG!SHcyO7x9w0M@o70k=Zp@uaf1k;d-NkUE@1G|JuaMjm=qJ zjtQh}!r&|jbdqB_}c_)2GgPNq4wl7WM))1B3q-~o*?#ScF$Rx)#u!u-3 zW%;X?jVP>Hx@x6_rECbB6UN-_Qf?W5Jn2z0+-zm5qNrLF1ZTOIl?>D-YZJ^soIF%S z9D{Rr3?p|ON08}87L)h45sLd&UZSOH%hYI@v&xnY3sOnlvLgrx#t>1nz|4T-Ea=VZ zvyw1b#sCS_t7;JnvCEK3j-ldwN-1e{k}*{kW?$Ef#Voei-QG71UwZqMU;DzFTU%Sc z8n!VRl*s1O>0f^9Tj$f+YS~`Q7a;~!crU|2@43U>!~MORHx6&?@9b=Cj|M})bs(F9 z;^lI7c6xsQ>9a@AP9L8f&z7rc3g7(@FB}}aeCO7q>5Q0a4L53!Z0VLOr*5|pW!G3E zFrzzFNnu&OSEBeeV6mL0-JWFtNh6Y~C098XhFR2@5lB@{NmuP^xmc{4<$AefCyR?| z{pM@%?)~q*M~?r^KmQ}=eA@&sUO2`SIJd&({ok#`JPe|PNWera0+^~XnUjLYnxQn0 zq(~rzdM{@uN5>C89&eA%XRG08^bf!I;1|ET|Fzeie{T1%-ya0k7#gscsaY&EZJ|mC z;24v){;0yq<$Tod?TyAMHmlIimh;8s<>|%6B_p6hv<1aR*7u_+{ zrPSO7C;%|Blu``j{GI3aA3r(y_TT*Q?RQ>%^QBwOa&>mTY?E;lZtm^v?Tk+^XOEB0 zFQ(J!gW17zH~sc*?VY=I=l+wAhGRZDZB3yut=8=-gepa6Bz5oBcyM<1@H4X)?(Dzv z>+gQ_?e88veSG8g?UdHBX{gsXBQLUCE~|s*pMU#{gE70_p4o`022RW_m$S!b=O?FU zM;GUp)A@2bTdl(^M(686zdzU>Z`Jj%uKN&Srs#~|fb4eM-4ELQdHqHapjRsOa-%+f zq?S?+xhf%mVFIqJUWp6&u(E&j6!NK}rE@ON1X5z5liA|rbUqx6JyY!~GEy@p)fBV% zswB3lt0h51Qh5eRh^w=U>D}AUIp?$##@sg1hHRO}Cu|J|mGeZ&)@#$G*)N;SQW4sf zlFW?Rg;ioiv)~29R(WA&sAd-t$~{aS$g`=IGl4-`YA_hN7-NvOu4=UyT4QpCNF=53 z+_*-Wfsn@(6^5QoRaqFC`^R!sM@6bYLY#Yhakty?7=kT+ZgqZg9@M7{%R88AO~b^R?V9rdMqFWuO`vslax z(G=k1g)8TGx5iJ7PG_rSUGwdmhX=bm2fO<>4-OCacL)7}Wi~0FbJkqWW+#`IkDnet zJbLoz`0V^*HeD8uh$_6u^^~|Ql#rq1! zS5-iS*(gPe6bF8Ad3NTU2IETnY<2m`qbJ{Z>*d#9xHDgdRokT0GE1Q?v+Bbr&!}J) z=h%T*lxqtY?XT`XarWTk?Cf&B2%4m-`lHeI%{$K@+!$_c4Ysz4825jc=I82hV|UU# zi_13j#QM5ucn};5gOY<7Lu#Uju|MF{LyXGfVec%YlmaE_{RHg99ZEH-3eXENT~nk*Kp^T$W? zof|9FczXZdTX#QO%)a~m5BvS$EdKx4`m-k6vgAw*``mr4z0VNSjXUMdp)#uqH2{Sw z3~UhH4faHJvq{k?k&+%HQjhvUGLz|DrZ>tYnTcj3TcpHhs~g=7fB*{UszO!eP+2+L z%sa)6;S784wcK3~zV?a8LdV0k%zGo^oU`}ZK79W9_gOIrOUmiN@%fWC-+FNGyp#Ig z^!lgIKKt3vF23`fZ~w;M{#!r&m;dtBvlq*wg*hAyOb!`#`)_^!*G}$#5BPX<_3`Uh zm(QPnd42i%`ew7;?dzm!l)FX0Se+d|TrJ=2`UOcBF7m|Uq#nw)1+|8)El!q;Wwg=7 zAnFcR(^>Hy1Y!|R#6j1vX14**FqNTbp8y&`<-R*2iUzD9)+BBoZQJ?%lT5;tRqHs6 zCr8UtCYMB*6@O)J!&9!#27pYfF8bx$kMDo>@iV|3(l|l~eG#;>V?IuhI+<5CC*hPi zX_-8&7X6Xc8;3JOzPkBU9YPZsCacOKl7h-k>{XknUqt0QN3{_WiHJE9d6Sf-S$Imd zb=+R9&cA`UsrXye6Z4Iphj@1rKh1-cMsmR+GsG*~-4ftXAj}2CzvbNAeeez?yt~ZT zZm#aB!K5>ZGk&lIC? z2-lrv4;yZccRq0wq&<8tZnvBdkQyDR1<~I#+`{z35hMc_ha1SMk3~&Qh;otzQ!frm zDjeQ`#ZU}2DhcyY@nX#Se(ioG5IGwl@Msosr}pEyZM{u3nEOXYJpC|l%9P$lxPG{K z6aWG-0pXYpbs{jv*s#q+A|%9#1AU5G0ct3RU=$NE_@N~2PfE*GJw84ywStsb z+}Qv!B4$<9Y9NXJ7HY!M-W|1L7#b>OF&=3>tE6xMAtDbkh;i7usk&xDW%H_oRq4CG z{|A5n^B4d3Rp0%ifAIHCj#jJXB5^lQY+*KSwl^;>F1~pF?CGiDD<#LPiOx5sO0RGOnC?93fT3 zycI}}D378iGj*%6=a!koX1xWi)rvxWx8DxKxF5%p#aedPyE2}9``2E-c=?k*`HRyx zAN?o)@E>jWJ41yM5hr42(W=&lmWK^S9Nsxmup~K5=O_kSa~woKOzupqsGFP3)ys?5 zubwVf$Cul3e6;w{Prf`_^zS^n|9Z2Fvm)GsgV`-0&nb6F0I1tIjhma@#dh=h;`(N@ zty7&C{d#e9a_{Z;-h24u$;rL*vwQcKM@Indce^r71?g(}SYBUrWJvY?$;qcLE~e^< z>T3Ubck}?l&Jcq$vhb+KxwMeSc_J#b$sU=Z-4scH~q7Z z&p!S67jG|~{QeI<|HGo2m#f86iQKGDeV--S^=Bvl_-kMLv(KLY$6FskN)g`dj0Ix<2MxKgXQe92@O-zWC17XlR5VV!&Y>j0ggUs1$&3 zOd%0)b=03v}?XhZwDlwa~2N%wh6Pw#O)zzZ!`+gWlCh-Op-_~zL3^#&Qa|G+n zsmpn?eXTVo31JL`=OqQXjfkM3YEDGA8UFShQ+sD^%;9bp8i64#KJUU2Hyzo-Q{fJf zk<(WzgmyFA2H~A@vh|oDEOh5!(Vg()w@=yuoQe#7comvcj&mD|`;54N=JAQol?~u6 z^^>!6W1Srq7r-H|u8yg=yG9$HgfdfR&Y2g&Sttt$i-(gv*v!oAPQ^oxS;qnz$ixiT z_+c}l;6zgaLw}D6A?xA_q`~)HhgPKNa3gPO}jVMSG z9B$(r6nvQvP;7;THEoznv5+K)a4Xaq%w{G@*6X#Y!HI;))Er>M1az3joDzhINDiYW zZc1n(DauXLdAz)E5;VBU_?>Si~pS=TRfqVv<^PPi92%F<<8b=lB=@buGEm&-*zS(PMX zSnmNwF6PQMvyWn`sBo`l67IRgH`aVl4wMOVTK0Z?O zsZ6SBZe8k!va4G6({!`hEx?J=)t6tq@$FyhAKm|p|Nei##npfEfB4_O{rJsKzW6dR ztGJSpGZQN`wu+dfaVO`-pi!YM@ZaXt6M_(MceOH=-LTtjucvX`?RVq2ANRXOCzFwY zZg#_`&t81@%{N7sI_*OxRXB-I61e+R%6`~A-CSQ?Z!Rt`x5Hq}EO~u$djHqHasKGx z+4+O>$8RiG3y@gV-SzeJFP~q({@Km;YPZ|}#&>`7R0ne|<&!u`YAIcd~kM zam_t)e4^9OJK=;`*i zpnvxde*ORS-~6!t&L8~RKlp=R{EI)*XP@W9DW&7H^zJ+Nzy98n2M^!Q{rc#HDc}2# ze?V{lP2Sfjg-TB=dN}+rJ+O8$>|t z(mL9NBE;vtN#VtJI)h+RVTTHe+fI-xL)@K(0Ex1q7)EusLIVl02z5+-;y#fGtrBNR zlDpa4*EG0da5HlwgR3cVbD@{7%s9}%f4IObn8WSkIu6ATA(-uqHn^gOqi}V2HB%!Z zVRTUzvADnz6jCh}^HNc)YBe<5Zl-yE#P2@Pch^`NNI26<+8)O(niLw(Edhs&n^O>R zoT5y!rf}2_gT(7i73NOt!X{v0N=!@$-3|tWnTScG>F~6H9l0AjYpw3qFS=W#gaMD0 z5UA;Xw`XEb9f@=~!Ho$HGxHQ|zPL|*i=qQyNd#z}z--_?_c`~IDHCz-P}K=ZWSP^= z&DC~4Esr|2>EmC1^7+eWU%Yts>ec1*msgwpWXxU8U6=2lcA2S9vdC$bWtG!vkrQzN zZnm2~bw|giPp@8oy?ac^24`?>rX%caTd;u$j<{Q)Ed~%^Z55TA3C7;|D^<0c&huX) zkebm9_|gpesA>&*4AC%7Uw;0@lgAIoY1-@u)v{i%UO#^>(!cwAzxBm0e)05&fAy{3 z`St(cZ~g6OFJB!%Q{lv_Q{3xdAG?QbW|I$NVq!IOn+CvTiTd~|&8==8yZu3u@@{cdyh^5WBvE_b`#xZCb`+v}^V{eB#GyVJ8{{w>z2 z^of6dr4Lqqf06d3o-Oah>(e7f#mk7`!$ z&Mu=NxNU^y=tl>ZXv=`+L`)QJna*va%R#DDqyu;yhqJSz)TdW3uWvRtr>8d$?w|Et znl5kZGmd)*8>ev`9)I&&-+J%8p%iyD za{{R=yqHU{1AHpLG?f89 zR4ZIOjxOg+Q7F(%U8<_61|m~kB(75_s+2Pqn0c0NU-!|4xtmqJf4aVRyng-qA`zEb zE%wiupiX2CCN+-dlEfs1C79V%Cfq+eK0Q7j#)&f#bCX2}S{u*YsDkdsET*mo&Q6-3 zMJW@dsZ3p7=hRQr z13Hac+Qe;ExSbXrhEe2SdH!xwUMo!f7M~FSkOTEGa^U=Hosq!snb8-2Pb3G#!e$5y z3;{usyStOBZ>!ymC9soDD2sFn%gkNkPAI1&jiH8Wrrx+w(dJfjc&xF^%@`2l0E7_< z9X@!ZwZk$i`@E-fxBdjc(x^KIa)Z|j2MZEY$3lsym+D0A2Oirn-7=N0XL$yQ$PrcD2KWrqe+Vf3$-n@Islln8Hz?;^mX4a`X1nb zs^&?b2QSn>2oHC04M{FZl6oST5tETQXI7>Cek2Bqvv5k;DFcPwh%$uTVo{UEsj4dH z2>P5T1K1Zeb!g39x9nGSDhd*(;x3$=%;D8^(e*$4$@_o#qn|u`ae2KT)tM8ox_tlM zsu$~o`^2l9mt9)+DW$BnZpQsDUtD~CadEO(e&g-8$HCq_J>8GPi|d=?_0r*zGf{%M zP}|G?Q5 zobI3G;YFGZ**#xh*z!nv?h7;#IWiMTe_7VYgB7;qxHgf+r@*g>-FXz zzIXinC-*jg_2uvV)_1=Ar+@mB4?iB2zV~ZS{%3#hcfWY{5{A#dczN~l|L^&WtLM+Y zyt=yH>^9Rdc76WN!za(D@v~yVSs={ro;#BJ(xiiR6b$PTJuO`w7se`$j@+^*M6f5;9rDd&qvXoMq%6`2(UM%al+eunF zz-F^;ZtzLisWVhn&6L%h1x#W#nJE(!Du@9luLNm?p1^{Fc1JFf{J@e8&jJ(zqeQnK zt}$ZKpOUc1Y;?vTYNkrFkOY3^>vqY{Z;J$V*Z9ciQNo?t$lGW0_Q~2r1jO8SofJy zPr0KB56$vq6!OdMlT*pWY^C?gT@pz|iO2~gAR}s0lCF{y5eZ8oUM)H@f)F7C6s7`U zPFTuhW)xx?L@6b}_q$Qm3?7!r<}SkSKy=d0uaa_-Pd^Ln&`b2%EUh+D3 z{h|{=sdcj-K7D@m{OaoU&GpSV3h3nQm%d?ZCm#?o(1mn*3*WL0FP$cGyWDAjjjyKbGWg}HxFVlW6+LTq{uEZ3RYP8!h z2e$c94*<;Em>J}?P6PuJ1jDAd7E0NO%Q%ih*-XWY4OPuex<%iw(rR(?@UgA?r=LGP zKfcV}eLl(WfAHzQdA7O#@0{&k?>_zV^&kGLA3lAx*>Csz{oZt+L{{BuxjudL*2BeO zmAggPFCUfhhtHorFS`Xxt;&{&$(?rNG>-fI=C#(XkmWw*)#Ci@!NZ5&J3hX@Sf5JQ zJMuVA!?^qClc$$A&%S*A`Nj3cZoi+*jJWUCuqlN`zKg{GHfmvNspufjcL?D@X1UWm z1%zyT3rIBgCU4Mdw*WPW1kj(Gi?H_qo@uNM<2VAgyX@5sO0XUDdLL z@H~;V*vMHrlx5$!d)N2Wv#JquDS4`;6KjL;X5J@O#$1$z10jx*iDE87N+uoWsy3D> z_eCbWrt505_69n5ZKX2OhvE~mRQvpUsUdVoA}-}5x7DyLkhVtqO}IlZ~MbZvSG z)+i=($x6nYSURnRoEd2t$JP2sYptb7%C}pFa~3o(OHx=dm6Y5GBF2k4ZWFUp3Rv4I zIgA?C6gSw2c`l#0;ZK|d0K2Ni2B9M4oD{C^aH{4Z1xW;+iS^tbC%;YJU!73gPB#uG z>F)e6D6lbX0dZi^vop;BB>alMRGX9?a`XH=->op_Pde}T-TvV1c;(IofiO!;vt;nG zVn3+^jFOmg;w;=J^jWe{mr`P7VIZlxg^v&-J;gxA3GC(uov+006`0q(?2sNBoJ8?S z*xl`r>Emx3`H`x-PY$af5>^rE*?aMIW&^8pH54UPOjXTXy@vB76W`V3LW~U|m_cARLmC<<#dyC@#cG&R`1@BlB^Z)D%c=&V-Z_Kv!4S(^QVuYbH;L z``nX=xiJNuiX0#&Rb6IAUhIeQo%^e|PLG_Jz-oFkY@a@R@#6CO_047|lMo*t9l!PF z+iyL7^5(+_Uw`MxPd|A75C8PffBVSHrL^yS>~$2P9Gq6KX@5 z+yQbjj=G^8YV)>&8CSWOR#TdnXx!aYgLO^8GX$xdDqucLBT(<kM7-n&>gS8 zefFL6#}D6l`_1EfXMMkzrgHiE>iY8X^G`m#y1d-q>~_1|X1g1Q!KxDTVwsoy;{Ls} z#iC!WR?GEjwOsajk^0P(&8(I>j~6|eE;cB$B9nXi<|8*jDx^& zePw44a!!bmB!SqIbk~cs<@O6hT4q`&DYMSY;WUpp|q2 zs(nJ>&27DkN)+S+fS!g|BpZa zs|DNN_>X@7FaGO)b$Rr7u^-20Pd^)nPd|U|oKlk0%k#UYA9bJyiC0#|UU6PUch%(`CI>($N0wp%ovjNq3uHy0s}I+Y0U@?SG(HC-(UVX21%BfSU<0Px&d)v#GaPy`L6>E2n z*iB$gNLmYwz{%7k_taUPM&>>?XU!YL6w4drLA?Z#02&N82uA^A>WLE!F2;dN%~slx z@C>uEQDnAec_83)o5K&5dxw7dFta#(eYJ}8+v(P=C(Z1d3^O*HbFKTGGNRG_?xyGY zb!{G-p>13eMVOwQ>G9Qahh~zb6Oe^mg5+;%7%H|?#av8u!Z}lyWFgWCx+J{-#O|)n zO(+~ja}7RI9KZx^7suzl)A^aYy!=qKz&7BgI87a$>W!b?T z3N}aeu2e16s(E1M96(Z2@@}nFR1QS$Z6zmam-dLy*U&N7a75&;n7K8##TYpxSk%nS zgepKXXONm#ErU}rD6rd=`#G;yt1=bgMzesqGl@{0beakildzQvGLpnDDkcVXHmgzE z#N;LpGhmV&XsElIC-}+9aqbpHr%-8(6UD@;q2;WJh#*JHmBOE1yt>-#U%h^Pwb`bW zj*m~i`QF#xeB+I`A3i=mJ6$aoiKQs2*?aH2_ZL6^`3Fxw`}W&!PDaB7XAH&9kJd%2 z=X!o}B49h5u|_9ql^Y=xB8fe=bX;SV7)(T3wbpv)S)uq)YHG2N1C9T6r9?hV`t&uIa>ziS8 z=Db=hkB;B^+Pe?mczo~t!M*$E-N}-fcbnbyDkr#b;e0;n7+;nlDQg6*;#A8^@FgyPI%xHl{7Wf}&l?i_$n8=z8)c4!FRZEF$% zgBzP%wHB*m(I@A}^*itW^rNTCRrhcqeNOj|m#0VT;3yjDM_uxsaxb_5~@X)iTA^{ zOf`euN#|*n$MPEyfWjOj5N2`LW#2JT)#k?TpfKqmK+Qw;CioeFVYAmbOi73+cP!$j zu2M_cUR|etA&Uh$c@5z~i!GG4?d}RB<_ju6yPi%C-$~ZjN4@gZx#D3eI%Ai4#SmbQe&8K`#eIz>B_m9mB|g2+?bJ= znXpW@%<#-0s!pSNHLvDX#oWn^Swr^95rhOiyzY!4-4V;W^E6Z2L7H!q5FBjIs9BQ0 z85NG|zEhtfNGOb)S+dAfA-T_8Kkh4F&g@l#Nz`TGLB?t1#2{qpKKSV8Pmb?*%jK}& zKt#1tFrB$!YV+~%AV+a#X0B8D&ENaY)6=t}jbeP5I|3M{sc0n@kTK(@zxZ^wzaC40 z+S_lv^AG;^zjyEK^!)T}y;>$trRq@1uDIEbj8*G;wfw#B{pSDmzx^lw=F`u+RlhIg z?FSG4<~P2+DZWTBKJFI1x|!L$qdY5qw@1Jg>X^mg$k~Dl>Os^E@#tHqw@JFVnVVHJ z3*J?r5dQoXFtgRQJPpd?GJiUH;|IUyjrG z#mfsx>G=NrlXu^H_u+%bkM5s6espwv!p!41USC~*{>2wJKfBsqzS?Yd+wHK~Y=>cT z(`DDK7OVUB&iXDNuNRBeayz*)3PEpI=^IzFsdn5OI=}JLx-0`Q&8%*(aa; zpoHBV;H3OSEISL%+&tC6`Jv}+*sru2nTkIG6{g{OP@Wah*S z<-FLe?yttr*nE|EyU4rEv`jHKr^awY>vlYPrFIuVpl~oCZ-mxrX7J5^eB<8wt-tvj zXJ?CEq^c{ZR$Og1U;N^W&31pi-ETMh&902Y2&cu#^VM&Dchraf%|H3`ZFg^Y^{U(1 zgEt=Ur;_@_a0l0E+K*$|Z7S)oyJjg}w_F~rPw$`Jd+^SKH@|Um?*SqG*ZY5}cel)DbZ<5aG8 zBO!=pmE2E{k2!TOUtU(q(s!>fE?#~4VzKN^;mYH_mZ1V-?q<{hIQSOa>|85^j4YCk z1wEP=?krrH_G1lv)YTVB7K<*n*V=;Q+|IUD$w=Tf3oB?5hchLsN}^08sq;*!tEO6u z){!_xe{hQc zGfdxF3cGFW+qMbKX4Zf@wE?|LWPxm-kOjn7Qv)zr1)!fBG-}_V4|z#bPmx z6PZ%tpwMV-N+%XP07(EiF<4Tfuf6pI5W_@-SjVMsRbU&2u@nunKZo~%M~@!^UdQqK z-~aCK|L*T!UEK`RwBHx^$=%hRS&~a}1(xPo*X zUyM~LJw96-%jVTxSI-k20z%}v=CT}@I_I=g>g!ia@f-MH_E;ujZNtCmu7AEM_W;aFu$ zEJ@PmH+Fvsm}la%gCnq&10U-5<{b;SFFxxs2*sZC|JOLFQPG zc44lbwxcapN5?1A{(2aPY0>v@KDxKtPD7o>qBr~TdbW4{|#s~|uqON=|D9be3BjFh!b zZYt7Mok$klVm<6Oa3>OH5VXzu+6yFwyD1@SQDjM}E2WAEu^8Gkj}OTf7JQ(Y3ONG= zvj7G=ff5mjLT6)MqJ+nCfdzS@4KT>trXYdtjLdF3Lo|H%kgjG0kvpRe+!b%R+ZKD9 z?)bdbFmrmGZqqXefVdbTs6gIoK$Z~fL2@@ruvi?9^4UGegm&0E0fb2AGQqi5E$P$%(7E8nJn7)p|3loK0N+ns_$h@TntF&)5&c-35S<`)nNQq;5jt z2!~Mk_Uhz?3B>3`5_8Xlo}7|`ilMsKimHBCtl*is8G>5=mG={lx<<@mj;0lu4Qh&_ z04o8^l4e1zCilkV#FFJ^v;E|==kLDr);NyUjF{B?;luO4{OSAu-9P*1IdyrRm&<;$ zx$3*c2QOb7{rHE!`-6Yi)Y!vgoy={T#=~7FlALHA!!>g4ae`DEG2^=`MRWt{ZY>#MP}=o23{u^Ym+3l>!-y1)PXf9nr^`?m|wcm3;& zm;cot|M9E+CttgNGTH8gC_`#+O(SAJf(H{sp;+v*HZp6xAwKY3f(+y_pX8rj|E zg7QEhH%_isWvo7}7y0bubo=^hpVQ*qw?F;q&#ylE{5QV;>qpuD=#T#Sv@g~6r5XW3 z%wQ4Gu$oXxDX$hO3E(!AX|vmY_T}}<*VmU<*Vo&jnx@s_$c?E`ZSZkL_UM6vD6MOp6|yLf3SB zKV6rpoUHom{bI8l*rC@K{`d_}DJ->3z(DG=uFv#x1IMaMIj3P9yOceQ<=YKw#Mj%k zbpWy1%xum?WYEoieERv*&3>v*H~V_C8OL#OXQ7;OB01_;DNzz8g|bF7Xb>(hHzaBK zjqh$h{-j*&$~jMiuX~&vuTSr-9-p0m`x|e3>o>laSKm-C`_0wW)zvRQ{>x|2KEHVN z<*S#k#{H&Nx?L)p3%PQ~D9VQ*&3?Z6=+k{zt_t5_N?SDqL0MC(%hz=mIw;SGY z2vEonv3d~_5eezJUyXgYG3Qr85INvXS}|1{tM12=NIe?rhL4a{V{k~yC1Q88sjQBd zyUor=&8y{2-Cu5o?Y^k{Fz7H$eV2VIB5VmncK_HVfVHo__v*}=<$LF5p_We z$HDBi149$77X$z>84g1aqnXVU*d))_q3yN8+*!lr=qq(M02YGJCLit!+E(}AOb{|t zmm~`oLP@v_sWXvCY^H8)3D`rT)!Jalfdk3e8_DwS$0v}J8Qo!|#NKEydL3vhoiixI zL#RlaiBJ+@<^_?2R+YgiRp(+})im^hTtf_Gz7O*+0*AhEw9*v(R%W=yVh(_y9LL>b zBr-reu`qWZ{_>0ClcRg5Yad~5XRDK!m#_Yx|Ly;~R(f!GPnmnAk^rDBoX zzPsNKAN-r2EzggC_nS|ie)`#V*h|U|7MEgLfh<^di=4&D$8p$>`&TdaFJHZW_4?{& zKMb`((&}h^{^r|nJ$i6{|McObH;ztD(`tGB<%@dp7v?qhdD@Tv@_+claU8F%E~lb! zTcn&<>qn0std^_AVsU)jtxr!^t98FxrraCIh^kqshERzwR<){n_z0toKS@>HTvg|> z05KskQB5!-sF^vKLo1MpMUu$i&@w5A&1iWFhuvKD9Zvi1W;-zV)AqXVclqqh3Pi$N z#faFJ$9A0r)+Jgl`m14FF_oqq-(sMDC2`TbCB^Q>RF{3ayxjflqaTh#F-t7Wxs$Za zi!~Ex5fUb1p`ajp3C;hiW~%OPqg`C|50}H$=GWeP^qpUS>*(m{^yD}taX6XgMgHmg zKmYuf|LVn;pS`+xK8}N%EEdatxjtT;JUn~5?-xmydC?y&mv1~&vvRo|`Ye-|o9)Hb ze%S1XT^Tpyv>Aq}STO^EB zFfj?4YBe_-J5M6ZxD>;v)3on;mYe`kpbbG5OeqnYPB2rglUd4LO2p)9>g8}<1#osS zv!b^;L5WF*VRv$RYIZ#A_bK;I;b;^+SVVeD(pw!}6QyLzDKmSuC@APKYKqv$plnuQ zU|G6wVlpdQNBAu67~03TCkhVIV3Cj!iGxAl)Dmlh8iO+dwV>KMc(&?ra$@m@nGgc< zn#IpKCOyA;zI@*KY`Ehg&GI~Q`U>gE=h^~uJA4ORi z8_x6GgoxsGr7?=seLK|{+c6O{FB3YEoVXY2Q|g2%5r9(N1J8CNpQR$2cGfMX!t+P- z@LdH3r;g|6Ok4334>C=oy{l$LJ(i&;yw}YR zbrph?(;jdF$>GA!Eki^bGcXweweMEXUT^>E=fC{HuYdh$y&7wseEfg?xBuU#Up%{i zcK^XU4+{9*qvhZE-tYbEzxs=3AN<_qltid10dRF^b=#N1U;+cmLW@2T(e-u%cxH4t z0q(@!Oj3l1AQcYoaywS!07Jv(v#NRG1OW3`j+@5>10tqQqz1PTCsQxGiN(#wad`8s zcmDIg`FGy`;uGE-pPxV6LgDPK%r_1+h9t->f&_ANWp_qwQaFJL>_)`oFh^2&4p|ie z&(d|Zm^rbij?;G7sM&ru)XL-aHNErZ>dAwj{PRDaUS0mq559AhkK<#ntQU&2Ai>WN~zKa(@5a^ZO4TJ-q+u{>iA4GJ0X;*eEy4%j!*BMuTNIXu3L7eC#TEhVzF8+kJov*qLeJ8xm9aX z*T7rU%)zk=>;Mvn?@WznGA5#?Ml2Ll9vFo&jet@%_aNSdTDhB3V-l9g0D7Z;bC&1SFD*aNF&zgjKNPaiM()nd64>AKu6x;|%NhMSG1 z*W0Vjes^+mZ(lF|*^hp_oyKu0gPExjb51FVBuP0D5h*!A6@W70rWlRDw;nzC!Fz9f z{POaHmsa-UH13bP;~fkT2E~XpK?>>|GQlBkMhqYUgwSvXS`3BHn)2`pL{Z@khI1n6 zvPjtLnaLeaeYArH7ZC1%$*m%{ij+VIGLV6c;acHfB4|W4XOUo7d$hJhq;PjgSJbXI zSG7Q69Wv$X&FF56K08pR@$7iDSTAawV1;TGO2($9Fi+eNcLUt2_lwHCJF#cSSV}oL zUanSMHO<^wQf{4r&E=097#`kUN@`#vn28Xe?vtwtB}q(#I%VdBSh8jzkQ8O@R~N)!^zokb*&hbBwZ<_PSj z&HkX?Aca;ie}(Jwl@{J-T0Cy^>sJ;N=rD&qNHk*R(ZiY&##gGDhI`KpWug#d1zh1U zv&)eg3REG_i96<;DKjsGg((XQ=a^?ybqnt-#7ad}HQw~Ao!#9-t%`0(I!#33?we_o zn}e4@gU%z%t0y(MR&p>Yv$L?UEW}9|iPfn(E2x;1YOYZ{QOr1q2qDzX(y(_5$0Z|3 zD zeWTnnvos(nfGBr1t-`3LZV(Z;)>?=uQ@^>{UcG*Kn!0`JYfYt31TswWY+TTOlM$0z#YN}P@ssq4}>Osg!12Zat$ zDZVl=4Ra7UB0^x&=y*0fw<8@|Uc1seTw2WoC+`Ycu?XS1{?J!*J z_uKujABzIa$=#ErB)nh&14K?1tG;tYa%x)w>}|7K)NL%)nNmvXrdFCLl+KbvKrlYY z4-ZC!LBA^m>`ff5#o?LkFqa$9ps_g&$ikE)2gL+!o5d)+P!8L3b6YnDF0$~3Bo1g9 z0EewMabTuwe2B~rmv|9ky&wWAT+5`GO78l;TcU@mmT96O z^*JOhUC3PFTBhyIb?v(anRt^KrSKkgjs-~r347-@8TGEhcuz!_l>z-%AT=Q9 zF1PuZh(ZqZfYRR{`nhXqKR0`s$GpJ34RDHKs1+lj8FO%-q)*g0R}Rk2mxSECXscF& zU!<@$1_a-EyzVSq&nqS#qoH=4Zo8?tO$~9OQ1c>(*J{O0K@81;#GDveQlAKk%*C9F zQ8kRE0v=4-J6o|11qYKq`V?j|j(yLZ()MQm;V-{DUao%U``>ak=8lsepB#yD?b^PldFdsj7zY_q=@qKM&uE*s^C zgqQ&%ZuV192AOH#%JD&&;o9WS8D5H-sXGt*{eGOrX(UxyEcREg==g26=zwySS2ag`yyMKOsax6LTr|IVP)u*3+ zcK!Ntx7%-THdj~I+w1FED=DSitrv?Y56-*w@^rN_f`(#RMPhmQ-q+R-9}SyrscvrM zVro{at2dnyLGF6h&_3}{-R@GVwZ?X{xrLLYsS=2VL99hVNGTZ{Oa=q7P!i^*QLa{N z6*aiW4!vqjRT=J9C+;86^2qla1|2QCiz`sddVM`!Uo9Rzhy@DsqHZ1BkMGs%7uhW( ztk?bPVQL+sgIo_yh}KHXvvRC4vunU0yr+~?%3T&-cIotFb#%N| z^NXwNoAKFh7%n%v%~Uq~aV$0XhDjtP$$638sG%P2j%xLQ2s3lUYGEdlAS{E)nS;4p zP1Ur^S%er^by?twHn)u`$`2v3)l@N14L$_T@x@^r!+jve*U|h5f$i=$!ks8_nnB+g z!gO!Q>b$W3D_`yavr`<21FXs|Q^1MYJf_ScyX;O*sg`kneHAdIxe~mnh2anfp_yo!_Er+Q1$!l`!UUQ{bZ%SE_Njy3WUh^CYL#>X ztx`-{$=reBgF8%>1fkC4Ak)bJBDP?mGl7LUfh4%q;?}Gv00$e`&AjdaX%(wEmSRb+0Eg`41rf=Eo0HKroK-}+)=BlDbMr$XxFmj0#}`K=31#sDKD4felO?) zk+Mc~h-O|Oz3T)g($3&H_ikHvWlAx+0Ev?mIzXMJY7tG$O45_S>cAjvaC&3sdDu&k zx0OU^mzKT&M>6q%WadMI3ZG{h;ik&eL=A(EKz5sE;y0qPXy&Xri(P*8`@Z@$`zg$M zuu(XP0b}8rN76)14y8l;#kegaS_u_5bk@>ufIoBeFic1y@erD8b&O-d00NRAGYiu) zb7oG0EZmb2L7h#VY34e{RR2&6#PN2}?Jnrd^Z&}*yZvO206Q$2K2Rd}%;rwbE5sFE zgprsfr^M7HcCaR{PSsu2N{lr?%p|i3NT?>lijXiuWDCx8z2E=r7oWZL_JcA_Wf+%> zrJ1MH)yb}Q>wfrOGLK@#F7xXm0*Lanrd6|a#bR3dwUHCVRNrK?)Ljyw3Km~y3NJQlZW@u zzVofme*V$T=U*kYc&EH z8DLYXwy$M7Msvp@Q=5{9qA%cXv6NnGZC)DiN~#tiFpS%{s2=JQ&WY8VQe%mL_jOeiL@#>%le##t*aid`o&@~j#adduV49-$H}u>=xzwB zm&IyYpR9M6LbP7WRZ8In(SWYQ#Pd$#YA6UX$cw9poUC!QTA$xPd2q72cYd~5rkokT zG}Un!FR!mZ`s9nt%j?U_?PfPGnUNK!Hdn&-4vvTEI0 zIFXIc!tN@Ghp}E*nJAV4b%j48^>gICU0Vhu6?9KU-$c?NLIEBhmP}Qt;?TOnWqsNC!#11!|Kpd{l zMvba7w}ensfXD)~t>y+wP90!?OvOu`QVN}B<#G#777<3=5VAYO6@qfQ3#rY$SrVQ%sPE& zPX^D=d`OgF9+%Cf?i^+2n80^cqyks=W=DRgG+GxKqa`OWH(-Vc?lRku%|@(E$*QG? z5OMx$Dk6urVPX4daMzgf3bBaH>(V}|d9|BSTQMQr39?8hBrF|M*kpK9mx=iZk zWE$2RECQlraeO(E6C^tHbj0nel73@zag%#wSi)sg<#8? z&9?%G6^Us3oXp&`s_8He2H%Zaax+V`*}U`p@0Y5d|M;iNKEL_)kq?YP%FUTpGs+-kX%r)v_^9lqzxQ*W6?ph@b!?gk?%QNeq!*#V-9IyKA zZc38Ii;FT2%YIo(5lIYkSCZb=r?!7hppJ;ht6G+bWCoIGSD4cbtvfTvCbhYl8gu&l zf9E$Jo}Z25RBhO9cAtN?dv$SrdAYsW?6j$@!?yj-Vi!ni9b^NCnO;ZI_;e859J2Ni?@>Rn0^CG+Jhc zu!t}xZvKJF;(mU#%7W)Fug{Lx9KKbJ{(sA1w=imF)46EpZlBL zb*WhOsT5rcC#C@|?gU}>{V+a%aryA%QPFA>R;%^B zn=t3x?YJAvGB+rw&qCxDLCgF=^qB*%H94jh(7;v=o?_LNTK8)M&1)9vpv&V4U*Gh zx!&)FmM@vT%_|sC5f3JdW6n!wuca_2r=AeI0$w9KvGiU<3AwZ81U-0t+%pV#$o2 zIVH->i9n#xFZKLOL`DfWJ1`4QE1k80J|Bj0l~xOLBsOOEL4xM1bck ziKV03CxFF?t5Y$Mi>g-zD0A046ex+LIDYZzmwncplfw(_xbIJv%a1ot_tkd8?%Q8` zSIMM7azqe-YMrVUZi_Gw&WpuT%Q%$Li5EGGNHy2+{(zV%&l>HU&9+(;i?DWyz0j-zQ^f-h#hSu=9n!eD>_a_dj|0`g*(FZ+As2NSHXKlx2CAnUhGDyPTMWwRO*4 z>oiVvsCMt(^5}%We0gaeunY)B;aE%D1*3!9>SX4J!zsc9BFQY#Vg=7vnJC6{Q=>XG zKaQBwg^+Jf#6*-NrNlxhF+@Ev*!_5T-!NLl4 z6lQaGas|5Fr4(%{!yuB-)-qxnORIsHVc{wyL+7mmJA}I2~27eqWvWn$zUQ+Iu1JSxLcTsG2j*C(>RU8kW=3+ zvZQo$v^2F+iy1&7Eba=kGEJqFoO8;VnM!TV0AO$dlt_p=@Z@#iyey;j3t6rf<9-y8 zsvu!^rGNoo#90zli(pwx>AIEMm3gJ$!-JZ*G03rWDqgEdPm)OBHd-ygxkK}Y2>2&z zFji~RZf?h$IfwgH>re;|uT2Pe#_Z-Y_R#d-<>DMpC*A(_SHFU4)bMgY2sK#LD2I(Z z%u6415UfCa$00W}0UUTa0br*DC%UtJiB@Yk!xch6f(tpqe;jOPBYZziP7tQp+vtRo z@PdhnnVY4!!PVpawm@rbMe#5-2_IyGh?cZJc#W(S=*W_MVrzx%E4zy9*_#pOl6UVZS%FCIR4d~|jK z=MarBSAeT(DN}Prfr-eX?}u^N?p)gNrC&U!U5;&zZ(Ji%5$8r%RnDGo2F$3ws6BteRDd+d>Gmm_ljSA#kf2(X-YX?UBR;CrWv9 zVls{E>}47QNg^gvxM~D?0x?nUvJ(Hc8Q&k(&~)rHLM=5`c>a; zwp&rv&4!thuo{6(NHW2fE9;gr4LNt~Ww*H*ygkDV^Hy0$c>(}#?lKR}M99qk+L(ZtJ&7z<<&dDhb34 zQG{>Re~51F`g}&MaQnxhz;HALKVq3p=py{`j6t_{E*O~RNI5YLU{;{-`>yY-ZW#eSg^38*fdzJ(P9!a1)>QDTqp*!$!tu_6U5=mu6ua@V0Rm)RY9uyx=(Mj>NDTxi!)Uxn zL=Y-oi8;)*U6fLESB3h7n9Mk7;0jif^f23P24eJ!MM^BO^W^5tL<<1YE2>V@2%{va z%RP0dRZUgd1>#T__L>Q!l|9L-RA2N9n2%#2PH>AQI%08WCnV|NWHu)5s%qDtjKe;b z>8T|kb8)zWQG46l9->!?7bn1b8JPcXn892{+`6+1&{7_&CTpYF5)A zJI3|*+3d?H)4z=xIiFdekc3@#1s*}I|E6_+S9zud4h!)v8Sc`4H zq-DpDY>M+gu{BP82ghcQgT1 zb2o2HPY!&ssoT+4Q~JRZyR>D9$gUOa!bx%r##eN(s_ za0BWOi?;K<;-;`S(@u!kU7PHwh4-g9+*G}RJQ~n>q+WL?raE96ZJI_yU8Lpi;-x=$ zh?DiF|MbsvEUUBgvD%OS{Lkw!b)Bpi%LgZ`_2b8jlkRkRv^-uN9UrgOE6#m&6s<69 zN-brCM*$T{odB?qaOcb{F*vC1=33YTgcT13CucZWb(j%Dm<_}ba#sgTHQJ{zV-1iF z?i`<=+|&RyBLg#-Makf(TBBrPX&yT6=1oqYRn=@>$!_O9OyUEvrx5w9T91zIaeY;W zu}{2Qp8h5QYq2)yhmnh&}Mc1oG$^a+WToBqSV{#e!eemR%cDfg~|ArJRJjs_0-K+Pe?c z%-mE3hg$a*MwmmNSC}-qK~pesca0X^J>tl0uLY2Cn<*rBCBUi88XOMu)+&Y-ur>C^ zOi+vGiCXxHEuRjWqccSOws0Oqbnmsi)sZ$%H$ zrS!(b^B>{^=2Wzd!?0W~5G`!PBVr?KcHXHUFfa<05t2Zv)uvi#-U)i-M2@u#f?8aLT<-d(#3)k+fL!%%RWIOZ^5 z4D`oG%w9Oes$ zeZZeKsY0r%F{cC=)meC|<>uA(%Ztly z*|Gaz-gn*Ea>dL|snLzW%;Y3wVm>(%p(as6kZ+wG)3kRKxH`CMiBgRMSam01LUM<~ z94tvDlsIHLb=IWI8fzgwBdG&aw4~HO`{I-B<~nyr`)T^gv!{RY=@-XG%inqPt@}qu zyP^u>{`Njwv_0Wb0}7oaF*bHW0!(#eG!g(il~P8XR-DceiYuKTj- zk;-l}N=jdQ>*a?ZUVie$@xyaFIp00~@~wyWkB^tDesy}fK0016*T>TLBvK5jx~s*u zgH_d{k&Zb!aY^kx#CDmgMtf}*b&SrC2({u2aH?8}C?%?u9HwT}7{skHcLx)(Bz5(e z1gV);Z`)t)aA>G*k~0uw#&BGWr5TajCCO>E>TmYD{cc;;x{h}PRj(b92`A1Lcsav} z)C>;tqTDT)YqOfO9QDG^mPohPwPUc)iV0rS1`aW|1%|~)(>z_iDig&KQdi)_~Z=y=_O3*vT_Sg)6yX;z1`L`A>f(eM z=ts`kIZiVXk-~<-h@^=qz!Iw&IH$TR!+yV9E}}OIm!BZy8<1eB%XL@TV8rC6MRS*W zxmCHn%fF+5eaX4avXkk^HYJV0UYs6g@-}ChQ^GAI?lG#5v3P@IW`XF4*E1FrmH0vb zzA-BuVf}QVcbOx#NNob?yVUocdv&uUO>Wpa3z4wf3I9#I`V^h_bnk5e}l;A4InT@&R>@NwoxLd5PPmLz|PyujEu^ZYq zmm|S(xHC~D%(3MFW6v!~#b+B&FO)Lal|e&~A#~ zetms&eYFY2SsNx0D<}(FEep@GIN`CEX+_`q0;x*UOq48uJ-Ka`u#62{>IndedocWPG~BY zIXM8RHmNOmz`k^+cf&zOYevE-X0r-%)i&``r;dQ(^={}p7G`Y6eVL|l*m5;U9&fhx z_8VHqPk-`$N@;QahPj*i4}Ryj9zHrNN=_VHi84X!P)kw2eJmvQHfWcLt-DSTrYxiKUbcY}~Oy zoR3yZ5h9|pAL?eie6X%VRjSNM1Q519b=$tbA*njmDL~# z$E!R}wNzwbiQ$3>&uB}F1a|Yz{Edt`ZYzH7%u2 zt3?uajkQDuE1Ita1=J28)YfmIcxO0+jm)FOiKKNGd~Jz;wiamWg~(Y_N)d${+lw5x z8;*B>LBmKLL~cYxEO0h+VrPhp0vr-4O}3ho>cpH37M==`mQ;O_7oosSOfWFlsj7(h+=Ctx1C!igf`t5Zqm4M$SZ(?N?GQdIH#03#FdFzSSa;kW_6s# zJ#or8=iFyDo3zxZj1)vpeV0+EEsQFJ7k$5?alhr6P~z?!F3ZfhThws?CZ}9Y`t?2A zyhcN{IK=oU#KNUlEo4sIB_Uy|!^jbm8rW`g^Xu*=%&{#7)S$3<7=pMl3vq~67&q&3 zbBnMSRWk)SH)@?2e4xSL@KD1%P+V@0yMl>kpOJYNwEfcC$VM$^_lw}?@18gygvx7l<6wWh@c!&cw zbKh^-mGMsRyi0Pgxyu}sv>;Bm_h$w(w`BD4)IX)CkrJ6Rm zp7?Mg63dPNj*gBHrp+EV&V&6B>r|yyYMrDInJ|;9xkH^|@z0?as!a@#8EoPM*L_#77^VWbnU>Zy^YUfL>3TF|S{oEO*)|$x(Gi>E>0x2RO8Ur+l z=;nZMl;%zB2UchHPAd_K8BWmwG*ON~_Fb99m{&)uXV1R;;AcM@wl`LkKqB1d{MMs~ zPu_f+B#qKsfC*f!Rwzjb88Ru^G^z{oqF-bJj#qu^Wg4pwb-a9i`o@za?8YfR zsawgtc728}x_oxLzP{ea%n0+$;!ywjZKr1urp@Xq^U2YAKl-g+h{HTgya6JiM?I7HKc*&=Cz&R8IK5n!a?k&R?VEjA^+7fmCjFc3{9XE z!n;;g-K-Ev)dGevn2f=bWk_eBVXRcF2}3n<69a{rrArC0>Q*K#oN~`yTJ~67Tpc*z?&?M} z+C$pBMj7CkQ3s%KnE#nMGXZ2X`!qr%Gnw&W`vZ4t>N~ae-N&$19`pZs6EgC{<8vFe4HML6*RI5#sQueFw1b0z== zPn?;h)MBdcwp=XdD`DZ$L0}>mW;GqBiF~f7f>Rm7rXV#Sv>((#oH%HI(>M(K-ELpU zo6DDDv7Ec-uV0m7-+S-TWt*eX6FMjs%;%Jr6&b4}8(n!9!-Vju) z5|{~+vNjBbL2$D`Ld_t=hr1YWC9aiP>_bw>wY6l>9B^(|=OX;ns0inZ@jY zzqaN6Mv6h87X*;lJPwaTRV}5|cdOL%zxlHt{p5##cK_`3jmMA9&dyGbj&i?*u$zt3 zREx1Y3yi=bMB?t51V(Cnv%9*#TZvanRG1z-ey2XW+3)M|a&fX+KHJ`y)@iq80#eEf zn38$QQoHQky7xVI>Hcy5Nn6d2c6lCKv^acQ_0K&XxdB$yiCrQDH2uurr3HWp0UHzF zKF3TfYy@ReW_9XWNYsd|#u|96Gq~yuL!zY(Au`jx?{ZG+R$Mc3-*wBy0kN|v;I_))VB{uklf*{?8)x#FC;cl^P3D>C?T#>EN)UHzT6Q)r73~g%-qP7I2}@M3?E@;#IaLq9}f?FTl~RvZ)cd= zYe!)gEay9l1YgNE@mvxUky6|94+PuhGNZc3vXh&OnW`G#%+@7ccIkMvNQrK4wp%wR zH7GH;L1&0w6-+R%EgfoQNhAs8WxPgNbh*p@A}3R;Wg69-(~?Bly_T}ym6TFSoww@` zw;E;`fRl6rcU9L?2K38*adbTFZrnN-BzC8OgPd3rd95S7FR-rbyWYz5Yi9_HrmYEDSRfU>(Y3n*%Xpw7WPq-z{r+aye#B4URiP#{d) zScGOXsO#pg;b?;P=i!O)!=Hyk5;3OT(s=R@=jwLAaX4vTSvGA*hu{7kIW_rLL{n~a zM6wvNfF+*x8t&9k)XK!doQM)3W*pK)B>_LYV!$tmVK&W~ro{kjL#(KnIow_W z_$&rI}U%sdsXs$G`@D(L&3kj7HfjETA~5usRN zPGMbcjd+M@EW7=lncXc&Iw@rzM|Y$k5)&I#wG8{+W_L5}c4eA|Vc3^p8m4~HxpY$M zN6%iKEtco&lS%E~vLnV`%dYO8-Ml_6cJ3KYaTT1~C6drqclYoHkHXH}4yq6~HBl_) z?;b5NZugVAYix+@hSBTPbHBO%vYg+`$0wiv;h#+7aQfcYI4?0x#asYR~4S0Ah~834!53qh(cXMn1r-z|)exx_JwD;rZEwD{f;|AW8zd%yeEJ8w^lT5ZyyPJ1_Ts9AV}+Bj8S zR`W`tl-Y>gxQ@d&-}~Bo-~7hW8xNO6d&k-N*>LmuZvT9>?C%{Pefj)`K-2XGFpAX$ z4KF33)LXw!I#81Przc&XYtfWte#Gt+47U$#G{6RDB^bE<6)fgFG)s&yi6JB)xiv`C zdQK2kr<@m=Wo5bt;26e%DDXA|K{z}MqI09RPLYJrVcz~lD6?^c^e|`Z0CyVuz-Nh( zC~r8s*F*Xs2QyVe)yV;&>N!HF3 zI2z(asmodB`F_J2=3^MTu)l(^23}RQ_&hx@xS58~Qo}Ird@rIC%o$X?=~%)Ip{xV9 zd9+HC+ElF1G{qXKS0jMM#=VUbB)g4j)=U%4Koqj~l5*`AYD(0p=W!Sx-#dPIe)jb9 z=j)?YRNW1?XeIkhpmTtb;7K*z8DFM7oCqpT z2)6(-fDD0q!C?x9r>Y}#Vp(wNor!F-+o}wGUMy42{bFgRTB{?0(D!0hORdT-LPDGu zoyJ<1gM_MklBN3y-CA8v120xxzd9awTeb`$hqH)j0mvz(1XF|6NvTh3qU|(I!krxG zBMt(kl&cmuBkmztIxf=~qt}2XZUv{QhKHnk$Od>Mdk(Z228OgJ(E*s4o0+PER1w1k zB5`hz9+49ml7jC4D?*0U22Rc{?Gd_j{tw3~KFj==&HvQE(G~=PHY(w$J8P!It#=B` zs5#;Lp?tB!LPc1~5Fs21;Mv?&QDbk-jR``WIH=vkj1;08^Ow7Otbb!3ViKYGbeT8C z4m30%5q}#sPNiLj-_hY9f?TF zeNj8j-4{16cEk8v-~M{3Zk1UWLXK)xr=b%m+nb5dzw_?%PdJQoyzLWsyjKEkdY82 zuydn4s+nXFL9I3Ln^vL?X&Bfo9oNnb~|o&H#gT>${+l#-+%D<(e-BA zigc$zD{L~;NXX1sES5UeM#_+RKy|N2N>zB4H=a+`Ap|{)(CJogSYauP-mIQkU@8zh;!M zag`kA?u3-GR140#aB7UNfSTAjbfF`QgF{V=h=f^HQ||hdI``t1kW#4k0?eFKB9J7C z-3K_Vd=-JeZNY=wWmy7=7X!&Bh z6+$gjtyRsU*+*6U$Q8mlgmS!^2jdEwSbLcm;wGf`U)iLr0!S^+QMR)6m>3F9-Tkk}>}1S`|@Y&S%vWFhi;hxEabDducp2_TwGC(?qD4^pkQ5;3U4D#kJn zW9mdGIm~?o2|$u$k&}5__I6aJZrLvkHkHbNlXLDtRDDw2?RU0XulprW`y2BdIw36L zX6{7N!$*g@Qh{{+vH7MJP0~9m2n=>NFbgHE)oZD4UEe#rP7`wichx)$W;$ zho!c{G;?2cz9~K*PelC?n-@$Bged3S>PJyehf~l1FaXl>`(eV^VC_IJXl_|S?C|P5 zs*-|WOo2wQFfk}cXVjGQy-n-l_qJ&`HEhBIj)7Y^m5{4S615tD=grmT)y2iV2lp0v zQPdqlQNA0-BPN0c0CvMvN=bYe=m1Vi+BzmTCZS-zn!}ypZst~(eYbq{xbO2PzxZH3 z?8;P|Xq%+I??^zx8APzX`m5cG51&3AH=95E@Pmz7O(}K#(Y<@`e)G}&`wt%6J3l`< z*(}dMb*g5jf= zb4b%Bm84BGzj7B72jpl9q7LFsEM<3#GIWPPD&h}Qfz@h-uS3y;apo=*J3`0Ut63Cx%b0F?rh%BX5X;t)q#DJS`l*bIol`?LNMB*gF7R*;;&V=s>MMa2{;BZwu0e=0z}; zS;yTxq#QWq6_M9RpwSS33>gfPz$ohF2ciT-SExBo9VT;?Qs**FxFTWE{JS1Qir>De zPsC02@@n%@mb$7%MAebog0xR>*#NAnq5;GZh$xGU;|Rq)WfBkq8v3vge4j!95v%Iv zXtnH8Hq{~Zn_h_{M|TmX5JJwnANt$P=Hlk|X1CpsGMdbmCl5Y&Z?-)8?CH~o56>1y zM@@{`7X>tGMh-u~ie+w-fF$B$utl*f^gQgM+L=Hh&}=~B0oK0kQ4`s7-rF3hd$5gr;I41`ebq(}{=$r=L1EL@<+r zT9y=EbkiOGu2YE#3YFK3_;RYaYbN3}zARAmkjDKskwIik(?NZ=uN48Azk>3c?rlCU z0Te%*6p*H+ZUt7jJLwLHf{QD-TvbBQdpeDKKW@{RXy9gbSj$<9Q$F^mN}Xt4A}t4NqT5NYUc?&fT-S|f%!xu4p(?1VisVs<00=nNZ535CXEkvjVxm~x7I$h7=G35fMlpG}|6=Ue|~^j3ZIy_lW@*Dsw2K{Ft0d`8Qd!kvzd)KO~?h9 zX$*z{7^BZIo4SU=n^N$8m>gsGgiV2IFleAdN`0>xQY3DhN>zFp`kie0ZZmWjm$%z) zut;^gSUr03I1Kskm1ed|P1(=wzm$%@Kopqfn0EQYurb`daV8Ph&L{ixrrUw{6*p3TC^F$tQ% zn5C-1dmq2|vfEsrzkToHkCJ2rHY%JaH@nI*A^{2n|-$*#?i(c5$hNh^Y-lVqt#;B zwhdQgN?FB_1Z|roMgr#8Hp^LC*R`1DJnnbH)z#J2)#dH=c71cRTd%e6O=RA*Z4=&K z&YynkTStr8Y95bISG#S0yV)#`&NOS1B>Q2zPu+eupa0pEnPVXD?n~RsiG8 z6*~^-%#RSsdDB!ObOABM%2ibAHnR6@3rdqv#!jU}ET=MJ@gnwp*rzP+nn&zY9zw$y zqE-dDKr?}EvyF_=5CRZJu`v)`5?r zeU<{+rRYvI@*{*O5}Are7H1G71_6l>{g@yiMe%yq?tau|x=H}%JrfjG%|z|Wc0d#W zc!D@x6>eY^bL2qmY(fK2@3u;>P%i6)$duDl{Y^3jguzTq1zhrLY=B6Bnr+$|8Of&& znlw_FE$02ct78bv0z?Qt>`g-+l7=dpbQ+Ojy_(O<$uZ_}OjU?fvnZe%5hY2$%*YjB zA7T$|I+6_8psqt8>&Jwp(*raq8?@U7_-Wyue-vWs1L9$Q9X?>+KBiqB%Nv^hcpm}6 zau(1%w}*Q}41{l-0C#`*1~s!Rg@Rq89WX>ujz=4SZX(j?f;sUvgYXF_MF=QbQ2C>Vk3Yvv2g`6#6 zh)U62<=s*$5K(Md#TgC?j3L&6MFCREk`i)*RUpZx+IL&Sc{^Wq`(2^lnw3gT0jS1` zF?BGG9bh|K8Lr2nXKp6@6gC%;BC6&*_FT7Zvlxc8O60&`1Q^su^^?DG$;|@Ed31|H zwW;SU`#7l?5(AY8n=%*FtU4et=%}i>sJjV}!3D>_(_Y|6hJ)f|BY|&zWK(5d7UAT6 zeSh5`cmVVrr_zD-X#v5caA!JDA{;Kf_YC)+vHUyGVQT~DZitvb9uNslN0}Q^2x%A( zLmG4Iz-fJ|h=W{6rhpf3-u2zs)U!T&Dg+}~8V8?sm?-rxBLKU}RAM@Oeb z)D7KwbNltzFE^X*_3iC?x7`hWp9W;Enx+kOa&%I~hFnohJ|sX7H!bha-)&*sDIVY@ zGyoc9M0J4MBwJ+cbflajSKVekERN*3ef97Ea@=(%AACUd(#C-RA?Mj?JH%*hdwu!# zv+sX@zuOxcX($5}AkDcL*GOh^d_tLh7NiK6Q&tl~5>PX%0vH8UR~aQVX0CBMq7;mX zo2nZ7{rTHB*VosZ-KN{^WK5u$iR)OOE|&AthpVG`)3iV&rehWn>&$G-h*i}zv-!Mg zVhBM*#(vyvw&yQjU7TO;*4xecw!7U*>MMjQnXm`G-!iP^ze*CM~foOBP9>%_E>NJexU>;Jb zjeN@^&mppj^I6vXG#UBTqWc-3ArbkyR6=$%lN=rc z^Bf=pN}2$WxK^Q>k-)Ub{X9G#y(o}UyOdBjDyRq|09mn0J#ZVah$p;UDCj>FJ_ZtD z2t+QNEEq#EIQJicsd2hHPp2)$h>HFI4Ah87#0ffu&sfelLJ*Jrw49}>n{KxUzam#O15RTgM`RJ52H_TJGD1QMNC3>lpm`X_VKgADV?JxzCua`<_1)F=)jlb50)kP&jDs6dWHZZ5 z2*yZYNrcBFRTTnb+svSqoJL8gAtIt^9`-vKnTRpQ3Q1B<;wi%ZF))NiQ!fen9@};a zKxr6=rfHY`ey0NDloMdTMZv^WR4IgJHftmg-F~N{(*|HJ7El!= z6wLrghG+`xH(hk^I7J0xHiP1>lK{(2k9SH9GUTGdm|PFw4oUEvnWlokrWNFO`N8MP zn}M>!s82+uv7A3)`S0R*K{Y9Ok{ zR8VmdIV|TY#PzQG^2M9)fA7;^mPK7bFr);arY3?6A;bUxT|WRo2;9{5)N_>G!@yLH zm`BM;vLTA&ERqb!k+|NLW`@+f+7>KltHyzWrN2{KZdy@|!Q7 z?>5`6>(-l1-;b&m>uRxVo*X}z&6{~MtJ-?Gn9UaRn&N2b9*xw;L%t7^bIzuH&^J9J zBvw$BEDGR4ZB!LQOntuqmZS-?oISXC{rd97oB8poS{)aKpk@lRT($b zXzE34kj73`$1&gbH=6a``MbwYp8;Y!pKo`s0*9t)iUqrI0x;k}f!LMZ?DkrkdPPY|R8kr|v}o)HFwO`Gqakt?8m5pn zgE|ku4q$(Aa`w9d4>&#|qVZvAfpZBEiCK#k9;@YodHIZn0GzvYSFcmSssX@IM3O2P zS5+(hj?CEMYFAL*5g^MtEu;zuU+!HcyuTB;ZnVTlmZM}+11W$3VGQBm6Ju6h4jv9L z?}hMAeo?-K0EA+WF%lNvwZpk}e}f8$IjeZ_6hf$~pgP1D9s2h=01P*qz2;18q8dQd zAgfVLI_w~eskk+Z$rKX;pb9{QRbvU+Y(z!moOE@xY?@{YzofhOZm4v(gPLgo7BjcO zvB?k;igvOnW#JoBjl)%#_R5LTTK?82X5ROgKC+~Klm|}-dSOW1D<}?6Sr$ln%6oy+ zHdP65=VQoFM%U=57Zm}if`NFr7#s$-UYJt}$0=8$$Qlb8qjo^xwKQGYW5y8>(H*B0 zXvX&KNAu6#e?$?t-5^6S(NPD5WJ(!O(Ue)m6iEe56|G0(h?{l^pgCp4SS|^o0&=W1C)IHrF*dVy zx!7;ksu4pdGb0D&5Wpnoe!H{zYTgic+g%YeA-J24lO?8Wtzt@sW(;n>?V}1T+y*j( z1HoAZK+J<3rqlocP>*pYJQNUj3j4#&TVO0xFw}cp{+)q|z=3<=5aqN2C+-ClC}IL> zK@RiR@*_53TmH~*C`G6G0s-9NWa{7!b+H#QTv`V}r}~D#g80SP=f@9@A3r=*3kYI> z!zf;4sA`O%t|I_+U8iO-gjw4F6o(cBG!u7Th{WA~-**Et2c*CC(b2#D@s~gP)mJC0 z8LHNGTpiB>N2+*8+ANws_}1^8K791%<;&;4`1PCfa}P2+S}vZQHH+o4oz3bxF6ucm z0>JX=!z83ODrzv#G9*3RT}4h+B52hV)%Cn!Rz7kB%UR0?poWC~&_@8`YI}V?J~)yJ z-v0VaFsV-;00ff}3Hm{fAD@OGzpvYWw+-;*@!NMV+u00br8&DbBoTueMuI>=X}{lx zs`lx1;YR`yqK77gs%hsl)r@MJUEl3*-dx_iy}q2K{6{}{WVRQ{L~+<{KWg85`u-qL|E^jxR&2H$nfiEj& zC6O_cNF5^r2oPXJhK{x4q?NrR19(v_sFMy{jokYZ@9nB~=YDaw>;V82k&rnsvW_|D zoM05qs*q9!(~Ktl2nEas@OU;u8B;>rq#>I$bzKpWkLR6iK?R^K_tzwO27tS}xV$*B zX$y9k-$U^HR)z^RQT1pVD*MObl<-*t0vHfc9@Q|->KMs#0<2W0fD^ml9^9RBekk63 ze>#@9_);QakpPnc7^=BPj)9?@i*PCRZ9-B0hDqgNlW+k#Gy`R`Dvfy@hIzHLySzP|G^h^apl=O|MrPrlR4E_I0T#A$939x~1;{MT{~ZuO z1?Pc#AI&s!v%8giS9naz#=lwi{ktjy?HdTiw8ZX@MM`Q?IU~>vKnf+?2UuVXg3dSq z@X?0P6U5ZabwuD$jt|}d4mPF$C7Q@bUkqewz#Jo*f~w&c7rR$CU+w!Yi-r)J7%HYf z*#Ig;W+n~_R8|hf?I8OdB_kLm8>A!*BiXKQ=T+S>k>zBjKpd*t%*?Xn3`vL}5`|DH zSxzD%6dIraqN(4TrmAjLJ2ycjKr=-OYDOVKR+XIk0o!J_JnlAYOF%Io0*C?txIjn0 z0CH4Clu<=@TU*TM?PA{TcE#Sn4rqbplr<0$#kxsp022h_a*9K#KOKcaE<{H<7#9{0 zsi?ZaolDSsAcE}OzQKXq3lrMvu{3yxqEBEH7}+!lD9htuKz4v?aRT28_i8droxV!8 zOBr+(w)5Q*0|P*c6suYfi`@OSM zD?w<5!fdK!0N{3j;Pg5x=IsEM%>rOR>h`yNjP&sA?Qedwxi~+1c*gUSoDzXp3ae$y z%eLySfB$biyL`U=acIAK{-WRh$KU&Ve|UX;tp*`@_MQ@yWV#Tm5Th?LG-SpQ-1|WH z-F|&@_0@~#o9o-%b~C1AeGdR3hI)1UvtOLQI^Wf^(03!p_}<4K&E`kDzDtscVyxSF z+s3LmH1}P<-|xTv^5xCV)z!u2e%tN0Tg?fwEb8{;c=f@vrw@*gBUdq2RUNA;8e~;V zV;cL^4P)%~h)5VC*BY&=Le6>U_T!MZyG_a?=(%ZXDh>f#j;F_Uh_+~FMi{sOfLR*= zBxMCc(}bAI6xLf_L;>H8lmx_WFT6oU&-10JVS~GSVcIwEHe*C08q;`v+nXd*OJI-^ z)NMREYGUZeB#^(8Y~!^C03h-s`BF@kPhT~rkW!1)I)d??z{plF!W)P zNQXPsz}zU-U#%DGRBpJ5TJL4PZ_Cr0D*)rrCjekJ&12v1B`7f>@I5lM70(DLPC0(& zc%!NAC3ttKtOS)hMgBlJbq0_hF3fdZMT(uIIDw{q(;QBzLlt%Ji5)OyhZc*0llz=G z;5v~c5Rn+rC4%PCMG`SnSk4+WrO8Esh_?Gt%m^3|MwN%lSye?%0~$#dj+K;K)R3I$ zrU)Pi9AckjOrsL8p-5gWsi|2K)%t(*Wrx16V71e#0K9t&JHQa%xFzoOo%jCIR3(ek#WBPR z5mHLt${@O`+n5;Lc~i|td1i+?_<)b0Y8l1Y;j%b5fx!@mQMO&@QqUwSI_`0r6d~3W zYL>R9rXn!h^jp~v0C832<-D2AT0pwET(A2XZJt(S?QHe?QQV<>CF;Cr{yz3}>Vd0*< z1medLx`CKU8C8^wH9Qoold?k(YiZ);!Z$X?X;NkP5Zk-KM`87X(PUB&cOb$Y+BLNT zhaUz&FhmM5MnqeCbg_&_meSZPym(eRmGT~F*u%|HuI*L%~y+gyPWr9Um=pB znTS9L)pBvH03wnthsa?zYdCNn!DxN8O$HUY3cYLLH{EWRhcOL(K&oS0&K9%f z(Q>h9=WVE}Wcsr||8wipvTbh0?eG7?e|Yrl1Izm8(J2ECIgNd~xw*Z$x>~Q-m*?kw z*QKtrQ363*HII&uj~+i>%&Lm8=CFM5kSLBxhraLnK6U$XWG0L;1ZJyZlFW>wXusbK zLqF^{W}4CfN=!Oy=;6`4ZK!R@D9r15Rq@TX7hHUGaji1`-gh3Z=FJcy0F9DV)hH?k zqJSpe@qre@6LqjVo8!_7z@U=~pnTEa*tks(?m2);#5s@K?G8z63`}IEg4~>*wt>f+ zO$H=pBA$50Zu$&Bgc%qq5(0uTqYgYta0s}xPh=K#v&aA`$ z&QJhTQxi}&B&h2;#<(BHsdt`ED!n`J4$X*7@dMs68Gub3ME|MM*xWVAJ|p#@GIe`D zKvY!@FyRgcW<<2x^+^Cj$ZAaN-tCb{`jq#3AT$vKP^aOOSDR`;R5h7`X@XFxKpN6w zRj-bhH}9?~xc`c|FDHWDY4s7%cLvjdKsH$^`96gJ1~PSf-jE<2{(NuHQ2yKTv;&)d z+UmavAKaA$_sfcDncTH>POh0socmS9onOrzM1tiVdBwwlnLHGpLf~N>MMvk#k^+&T z0r~tIk=P-W(tjE`u%HJ<3rr^G1|CnIjZjtna@0N-GQ#rNS~(#>wkhoZxi=yZgI%AA z!-psI@ss)c4^HN7Lts~re!DIh8Vf3 z8wjjwlC`PW!$nmUO@NUjvyrH%ngMaBGSEKeXyyt zo_+}un;AoCh1Ee!Fa>i?5t#Z9_(+1lU#Brcps*W;FTOf&tLnFZ_`OiWkcP?h5E+Zj zZBy3>3lz9mKeL@IXAymY57ANhe7|q%;x)AkM|Qt-#$j-EzX{ONDr-lSs#%c-wp z*ct+26Dz1=Q&))A_e0n1uiso=U0!Z)H(lT9Fp5e5s;aPRX7i(ypkxSB?d+HMs zlEaXuSp}I$TnS}R*I{0@NFZ5V$t_uF(#jp~K0}z|=oIfw!3~iK8IkEut_2gz{_rqA zPYu8Y3kTx9kt2B?+aPKPrcGVBB-N#mVD6C$(-giO%;>R6WfLhH#HoYO>BX0UEWk8> zIqVBifC46*u$IEgFW$Nn?BJ&rPx}z6AwYJ2GXyX@Y;-u`F!#<&0`d06L*Omv9D+MY zD+M++WI{ATNTc-q$iA%tgveD4mQ}mnQbIJ;sp^CS} z7|SkQ2r?lBLE_yO1SrW?>F>nMg}^?A5H94L;xj!x6`b`>x(;1+TWZy+-Pj>UDdPM!Z-P> zM2LYIB7%>W^Ef69Z7?;n-R`DsXQ6H(4FI4Zq>KQHW?Ta#ker5YPtde8 zL>z{J%A5-gfVhej#?+^A1Z-!sRp0M4XW~%GU?U_F_0bU5%~Cbxaq!y}Cma4!Y)#{` zQkf#VLKce^o|c>0EXx4}qe(tp5LLk9Ykj}o2bikhvZ|-Mx2&I%U~%}5i5qcPUS&x- zWNIiy_lrRxQK^={q2uuCLBJxKLCU!^SQ66JwtxO=J?{VHgAYHL%~oLV)QZJ*tO6pc zLC(2tkJ`5B`u_IjCO&)^xDu6#23r1UW=y8pa#jEZV`2icVa!7sy{6#O^fBP*8D0p8 z7!+{KDT#l#6$2q4 zNy9j+j%tA%(yX7K_E>M~nHqinULxl4K>^sxT2Ybz3ct>e_pq zoN_mxKY8!*ciw;eqhG)L7ytCXmz?*z5%bv8^~vgJ`Q+ir@oLuAl7{7C)wHuQ%Q)CL z?7B4Qen&(o0)R{$s%U^|NJBU5HaFQu^VCSqfpONv_s?dS(|kUk%_=qM2if-eo7dg9 zKKp(QA2#^2pIu#T*8jyH{q5cD#pdc-hQqlqVFkua047=8Pn@M6cOeB=w8v}q%k$q$(!;X(n!Gq)2{1w`|)HE!C)AMRm&&K`RjN4$S{nf6Vgh<1C#C<%@}I{ z8ODKgJ6nL}oKqF6rfG)l20aC)WF=z3gARKs75C48;7Toka&f$?^MPXtOgk(+FtB3a zWd+wSq(z*Pou@Gf9-uSdrVIY>hrV+g3!32*)KVFEmp@5;O2b-yxg$t!NXg6`0y8rP zBm~51IDLrZ)$D=ZU}_rBZLJj%!(Da52cDdW`1M6Z0%U~93|xQ?0W$Tw6I4x2)u_bT zSy}47;tKx-5Wq<)cZE(j%DPLFHK_)sz*GlrBDEE_Rb19|Jc}m{U2nT?>@>@=31=%l zJD%+Z*bMdU&DAc$_05d|BLz?CWU@d6OoU{j*|JFH5bLV0nkY)CA0?*%+IM?IS7~AZ zRxq++eTf_y%XJv% zaTvInwM20kI{>nRV+a@_WK}JQj)^1yVw#+E6$m*1CV~JE0wp#f@&sH zBI4cF2n2v;;*-XyGXns~&>Mo11p_oP1Q~ic`4B>U^ZcddG=KUYh6cO60U$D{a)`T| zeLPvb===Zh%ddB#8o&Jd+u!{GGW^9~{JUYl8;33py{gs7O;bObujXfq*~|-n@GK?)v7cU+>qu+v}_KAN}B4AAR`2pa1;xufO~{ zR^jZy>EHdszfTCW*-^4n1#~5 z2AGpxnh}7akLLv~AQ~GYF-$>KNFgv2696z15mXeaDzr_DgvD+R3CWGE0Sv)(LNcJ_ zq51iY#8e`64LKquNtkn6RTaUm>%+2#3I()qa|)Wt2rS4<=!Xau&k0}a1en0L51U#X zFhvxvv!6t;l>33$Jsu?Vz{~q+B#ET9_ zKoCS`GeJYlZah4s6hmxk?)RC{(2P0k`>`JcSGAY~pcsQPngSUN+pU3tJ6DPz0edJK zDk){QSXYQ0la6R)P*>sM!_~!`o5sZLk&3{@$j^4M$>j=|xC#?@b((CI6Wh?HAsLmq zu}$@08713+kYA?Gj&x454riewqE5qXuQH~Z;%=C&cf0vLDTGbF4Jt}Nz=nhs2PP)w zz%>yApt!Bv-4p~6i5PRrXzK0*9=nR}r#RItfAb4zDsHC49e<<&0!9L4MD#dd0{~Uf ziJ58&Vjw2Y&N(DLOb*R1dL|AK0v}cg0GL59w(SQ|1*E{(Fe34~ACkh81^?i~)kjYs zu4Xe(yWQ?DZsE4Kt{=B!?grhZJS0sCIsxOzhJi98aNr@Op&y$naG*MbOhK}8sLTY+ z4Jq8l3L{5VQ&l5|SW%X7-+{vNXvKlLT?eX&q`odVGGb2qzS}pjY!=7;ZlgI<2nJrY z8;2T&G5HHIoB7$N56_+sIaB1SYQaQ?L|LmU z5{6jK!b#<=&2%#u0FFaaRSFOSi^`Z2f;+_`Qefa@*%ZWbuttM%QBroiUsEsZ?@_9!9txbDz$jv51y@D}gt6agGg~}5d-3I$yUUy9 z=>u#}Adl1J2!W6cyS~>O>f7qCUR_=684_-8*OzbqZKM!GJX$OlkDoM6Q@0HQr7YQW z6iK2X#5k{4Rg86wXrts|7_Y8xZf-VL7Z=<0?S9wG(C1;u2|yIo9v&|u$K8Gpi1Yc} z(1?gB3~3m58!%=h1p$o8M3IMG8dIOUe&26L86pxv3P8)++L%sOv$n26v>|~&lT^Nb zb91w`O((A}lNtPjzx(X@&H2xNHa5p|CLObW`;!MZ>+8?I{OZBU5klVed9`R$PC4hZ zhsS1mak)mS1M+e)J6RGl8$b-Tax|e>83!~$6;M?pw7cFEP1PniF2=}#hNM1dgQ*(E z$zKzJTvl{Il@LpUJdx|ACT!mmK7fhH?+t$>6OWdO$b_Wpa#e*`)gZu#z#z^Sa27O# zz;z4=NDNF&gfVak0TCk;6NSK$xr!0N#qqB7GXhpHyK}XN($J!sp=U(-Zf)XzHPtv$ z8YG4VQQr6CqQIp(U8gA=!5n%ilN2kR`1C(xn-oU(4h4^DMZXaUSx~@$2tx=5vuc|5 zjcJBo?q4%QAIcz0qA7a(wpdkYgpq= z0;WLfwz;5YpaP151(+g0tbLQAJ4-qvP*W8#;;B9^8EuFMvsy$%h64b0m{CsQFH_xT zfMiK22IeR#~TZ zi~vZEa}yIY7h3>Sk&K9ug1BEfns*Ro+e7edf_unAfnfm9^RFjvESk9&kg9q{n2AUX z@$91yw|)QS`O6SOwK^qY9WxS}=S3j{U=`vpq`lHupN!{k{?;eoK6~#enNp|>F{>s~ zHR#kRV12Zh*L7eN8}hnt0UAo}E2e9WBRxcXRpX z^k{LiI{L*Iug07KfibwFojCi`EPxrAsJY^z-(2sm-v+Yl%gf`VqX^xM#wZ?bXG4d(~gx>WeqqAAJA4uE!t!=NGewi8 zX&#;)eevsefha57l{IBFa~R8%y)+n>h8@aUDVGfoPQzt{Fzvu)dQxftP*+ZtDUTgQ zwRo65kR6H>15r85cBsU^7ObLJK%u&KD2K>I90C)Uh&D4-Ly+lyAVUZk08K4t70=!C zkkkU2i7_A)!7bdC1k*&$&kUMap$=UYs_#Abt7(m)6^$^0x-TgjDj_0TT( z8h~l=aJFv04@8K_fdMN9Fcmc;j3H`DL$?!v)qHu>cbhZ{a43%0XcQuXNgnr`^=!48 zEwJ0|0fM0`C6PjHvk zLDAzW$wg687P@&+Ohn{bsA;C;OUb8!=n#U-#9R~-LLEX-5wlVc3j(4Np$HKmC>W@s zsi9 zACjsNlNkc=X0uBvQw3<|Yr|B)%u~KZvYH_UDp5~&p$3RZ#G(quW|l>n0yCSMp_wW( zi<$eoSh4Xa!y}spen3D*3V?gnIcKhQ;kHc)G z@Zhh1`Nd|pB{%~DG4qg} zTyg}-t>e@`y!YOb%J}m2dOnYKA-XoOqgbFgy?TZRf(n&p`gDL{NNj) zlm70SB|ojKh>*=G&5T?untZpzNr7Dqd=*H=y`?~anX(yxF<8YsYpdgByO_@c2Sh7r z$c$ztDujflQmRlN$h%6D85lfu(%WoDAgDC%h=`_KGMo)d#!V&zNkdq)3XzP0mbS7K z97Y9FFZZ<}5lnjPX@7S`DTx2ZyV}8TD_|r55L586k0ab(c9(&}L`?B-`^}s9FO7>|>{2sWnY)0aHYIciy`>aiq>I@+ zuyb0$5KYlJ33tUeAu}3)s*WOFGuR>G3=pWqfxv-@ad;sIhRdNgusgXB(w!Le8|DCq zzq|Y91cu#R6$24OWh6id2o*CR!1Nhz#pM z;@OyL0GLGg!(baTGa?F%fhlEE&F?>$f9veDZK}43pF9Zm{?bglVcZV+YCEnw+4kcu zSvSf6K`byDYagqb2oomA>M6V&nFNu8dk9MM#R?n)B7zuV!^j}obvv=Dty{CfJ6aP0CFo7Y{dzrH&S#5xzZ(nykP*E8WeS$_mfVkVOweK>(g~+hmYo+IJl* zbuqg`8i7eQXO)^`N~t-T&p+bl?_S=%xNSpRtm>h+jM!9Qq>yNJw%m2yPk!-}zx{(B zeE4);*LA-ehpsmT1p>`b;N=5V223rBMl)pNiSuNp0X;U_g9%Vg0l^5>EN7V<(tH%n zHc8iW7Mtd`rl6XUkO{Nz{mxj%awQClIv#NnR~7CRAu^zo!3_b}5Wxb6%d4BKw->Y7 ztT{S0g=`wiEVE=)0jMFPqA_pJFWYK$^1)Ly;lSN6j6>dR_FukueRF+%eR(sqyb{`KqaFvJi_*Wpgv z?tD7YuK;jAq_ZWzfBLj(+b_O&@#)9UW^Me_pIlvy_S?U;{PpM0fAm-H{?C7RK8#xq zG^;I?%s3`Y%&Kn#4t7CHVGLJ`H&dpA8tvNG&5rsNs@;oq86qG3;>W~s3I@h zxLVBGrUok$0ss?HD=@B=QpBX3m8vDk(4le=fHHBmi7-%Z2Lq3Na@-LRBH%dWL2^Si zllG%5EfE-COfXP6np~L=25QJKnXi|v*;#t`a2x;9dk33Bu|xq6#fwDDF_dBVz3b{1 zajJL@?KaRf4=?AWnyRXps47z^y(uAxnJE$L zpsF=e6)W%#zL<5C>X{IUx$sSLPB~{ufCQeb3`A3iFivog*BlCf1P8;Bd!IBGEff@1 z9{RM#?=_g7;_gey9}2}K1HHic#)HbNNbhhM05Aq3My4>I?rjAS)hwFC{GUlRi76ms zkgS2DLM8wJVFb{ONCrk=O%=_QD5$BKW>IEhj<2q}S6460tgXYM2}iSf(Nyz>k7m{5 z_l~Q`X4Z{)KjhsY>ps1{(TiIa(<;z7vZTBl*Bs{@+rW-V0}+FNxEQ1Yr<@7;`j1P2*_R&KC2NcDKFN1i`awz^KGH8Jkeas8pMRy8w_dlC!P|0M!gs#o;?O zFv|srK*W2~UzmntDu#g!)Yp*|eAhtLur^~75A_+I;)FF#L0v!@Tzo6BE+ef{XD zK5Com?Y`S|?UP5eTvj8zzWnN+{_}tKfBi>))U?aX+c(GnOqP{^fY`TtKr;~lqsUH8 zAV8H;KbQTE7?5zXxhy;TR2LJ%PqJ+dT!r^8wR+7a`*bbPRf?A1o zoFr_7NNOUQ)BuP`)Ii?6c`IW-d-fq$^RXKUS*iZJ55T|Qha9=vyavRW=?u?l83EZX_33QdI}V#R=n`@Y|A_b+a4UcPzz z?QeaWfXCiqK(1hOm2NkEUDa+FNF^a&2~Ay~PNs^H>FLRA-c~o8?Pjz7&c{#x)sHX! z^0(iR{?oU!CL-c6$m6rwu9NK`$5q7$>n;A`i#PLG`#=BL z^P6>dw5nAljpGN8pXLlVn{>PiU{J+SHSqRT7Z@KuJ~p%Kn;p^#u_1*AOOCPffwQ8T z=TJaKa9#f1qzs+-Y=TVLpeB~SUoKZ%qwiq?$MM}&XQGB6p;~wiu$i0vSLkV z_m1#M-s5{~F-R_}7LdHGqw?Ya?k}MU)jmx0&?yUuh#0B!{Re-E8WX)p3n8i4`L$-So5fYk@M-ad)6OsWDyWbgMbnwEu zF>MBUak-BKgjiRx3bvZnv%n8l^LZOlfzxo-=-I4p+qq)A>C*Ks>)0xAQcZ%R1Nk6C zu5XTzM(y`Pk*dfQaYYr*R82MKq^3FN9*6>ks;W#yR54U$W&+#wda+u}7R#>RivSkm zWA!O(%0oXwP0egJ>-(XYhPyr`)M}`C+;7(N)zQ)FbhBQo2oWoS7!ZPJ7FCW^#aeS# z5%l^^K#^1g+}{Hc(1@cGq}3Gckc$gbQgr#ViZEBe5u5@JR3>n$NSIXv6M~L8j|?Bq z*uJ{D8HWHcKRcBt4}bdN-Gf!Vs_-|Ldw%?Yj@r$eOY75WwR-*K7yt5K{mJa)i2*I= z^NQnOgOP$q1bPJPz4F}`bQVq7^EPd=^n_9!sHtW`WDc&J5D`RBRa6BLr*2>w5Rw$^ z)g^G*0K^9xMN{V+QvrCVInQDH^yY#@2a$|OA{o%$TwLB>UM`Q1!_jFT1)Sb#2tY=N zMn-~4ibf_`MrB%G-2CbP@Gl`-6{_Q9J3CoCI68iGa#}~6H56kAY=N}|# zg8b!w{OS4m=IFr@sQ4*Kw=ao=+`FGL;s-e_tXVng$WUMaT!tB_z;K! zfS5^{Ax{T`Qx8JmpzI3+5K;!D5D0374xG*fK5d-URb5q{C*yYM(`y# z^_o~p69YveJb-6j(*punu^=)Rr4p!G8pl~}&0-O&3NTcRIeQ?3MvM%s)0n%E5x^$W zA06QG`==8WXO~HYh)y>I0QYAwr_D%4#A5k?PMa_JyWTeYgb}=ODY&%H%gmIJ1KTi# z$WKSh;S@n+7e1BS)rv)qDoECxwQXwfauCW`r0Wu4L>^SsR8Nl<%#0u@XXytZ1O)~& z11P?Wh7YZ8m@;Bd6t z;dnnFT?YwqNqaM|J#4CKz2TXBM6s+GoSq&55rdlg%=NC*b6W`q>+b15oeP&mvlQCB4QnHAAFSs%QZu4xw_$(3iVbSu81t*_bq`4oOtd6>C|I zkdZKy`Z*9Pfhd3hSFx@!LmkY}5GCi`0N1;n0pRO(ARr=f7FCH zC!;QW{IUhUT#Ukru@ zh>TG|@+ibyHLZ?g7Gd&LFK7TNz97*%8}#l94B}x-jNa0y726ycVyJ*C1|s%AbU+wJ!po0NN+&O72TYg)G%Nn;8P#6Th`i*v2jvrHXNnPS#`C7O?YLm(sq z0vENq+JLKA#h_+=8bb&=^;CtlPD`ttk&Q<^{d zz<|w0L{yj0J6YWsQpAvj5V}FTZGQad>Gz&ISuAHK^R@}*8A??h>Hv|A03;24x7%KC zx7~QV>-Q;b6K!(XTYVJcKl#W1*2ll&uvJ3+x&sxujA*(huqU3C;tye!k*T4G9*Hpz1p0sVv&tF~yo}E2vH`_dn z($p#mAD*^>`0e?2Rs}%atcPch=l}UX{N0x?Uw!@NCproTNZC$KXR*RpZ#HdRfx(c{ z@o8fM>rMagbkWS3=g+_7&;nVvmk-bQcvY>}xMTp&t3>nj5*={>&5n0Yz&ijSk(DrD zR#%hX`?6_X>>W$li}CP5Pp}f)q0V?G&;TQ}0tyg48gyO>nWt3f7Q=Q-w{~~ZKS#ccXyWd*< z&hP#9^>$-+!yNV^fCe@a#PZH;QdN1OT`t`OCQNg5m|Du|FNvk zxcyl`Vt4dY%{hyhsyNMw$R{^Bi#aQz=6j8r7aoMjM1a6Z2*B(kamT9&CRE|@ z_I#NXSfcz!Jh*X};=}7NA6_`y#SY^w#pxpAG(DOARRFj`IJv{sr@sO349pa=!l5py z0?i1R&|yPS8M0;tFdM~s$>WIol!k1o$+rn--xD(W{X+l-ff)cI`&nX#ec^g9m)kXf zFbex8uuBxG41=@CB%S6ngCLUwAm1c5No2~QCLJ=%#p`2 zgn%IuQd7?qAc~}+GfPOQDolYwL{Kw92!xn&9)?aWG_$#Norofp=o&;0Rg==N-P|nf zc(qz}+ufKmu{%=uhb4Wt6`jpyvo!Xj7;#H#3L|3Uj#vof!KsoH5D>Ub+Iv(5Kq4lJ zOt2ji)T^g0bYK4T)jspH@7MJVhP?q2QqFlV@wlyj|8Wd9zPR3mraDuN-MC#Y?eaQ4 zJg(+*={9D%d2!K@L0zq~JPIKr&4N+?CgXhFJ^cLT<+ndNt7DZ$F|*atiVgnafBoka zt8Egl8xjqSNhD_@An{SFAps-+RD}Qpq$bmR)#<&YhGe>0t%gyDw7=P0uea+eR_{Ig zU^bf#Ll>A~qK6xTftrTm#Z^4B&Bqw%x^YuLVnsw#u_Oir^GL7XZ7(;QqvMBIuOy9# zZZxJ+@J4mBPv1P1DJ!kF^4<3qfA6>68%3Ln5tC%qq1$cG-)zR4uGe9AJJL4cwar>h zv0A?1Cpc?zT+|HTsjr*I-_hZD#B}xU;{UsQ@x$-`o!g)NX-et%;S*!s?6YZR3U;r% zL_;kDMK&-Dyb7RN{J0{|khs=BR$ zX$e{?=WfB%ZJOYdCzZmXfy024AKJllQT+r(teBu81qklKl!u|~2O}aPfgG}GZknpC z8rN9>*|don5~u)ya}xyt!Mx}#xn2rth-$(dyixUSk-(cY_Dn2Q10d$935A3NC>h#$ zwa>%l*NOo(Lmm+@;na~HK;?UWvjzvpQ&PO$`uG3I6W)`nl;US zeO+1bd&E?Lf`Sr~suG|gp=HAm2&r6|yAvLY=m73Ij-puboWr8doVs>9%r*SW-_+#R z0N@|tVcO>03GeqDS8^0vRhbcxh9SA!5hj6z%hkM;u!#x`h+Lvj{4s~}4!qD(fGlnt zmVH#~X%J4nFLQbXa;-<j-8cn&|-2xrgt3|q9qZo%uQ4oNdISqXpwtK+ktYsaCz6TD35kLWI z0ai&Qp`EoDrSEn`fM{fZFmaw$6zyg&j~0vXFJ$-p-(OsBP&9qCfMSW^bhmwPb!4#tkUr-c>6or} zZ@&2H=SN3J%SR7ZRa3VWU%dM2U;T^!-!FgivmRr8baphG?SupBAUGzeqjNZn3B&+Q z%#aZdUgm9w{M`rb z-~ZbWcUfB4Ufph9-)_2ozv*S4>D?IWfI_pE_O!0&wwUjE_APt&(b>_L=UkJ5hk7hy-lBecb?VWyjwSQPzX%J(IR~PrpE}mx16^B_y6YafBkCx zFaF2B`oH{>|Mc0jljpBqXIO#_N2~VgYD+|jpxI82mraGgdA_OG&d!e4x7)5$U{H}o zLr)&e2C*to%F-wI`17Pq11EbTIhd^m>Z#~tAUXi4ff_IsgCi)P-T`L-C@Qc6$mp^L3Rmo z@u?V2lL;jAKTfFl1Or$x55Q8xFaQW*peX>H5W7)e+*L;p`|C}Nk~)aqRg;!I91A1C zpmurgGk3hYtlfQC%m^?93yIa3mqaX4Ac z7qjN(e2WOfumv$t#$c#6u|O4pR2j*PVH9XEa?mmBypAVF%U54t&I}7a?@{SKW%g14 z6@fA5JE!Vt0o@$-R04{7Z#t-+ZRhaqGm!Eq}xbD4N!huM`9*#x>jh z;ID)j5Z%T^L=-%39sQgyNb@8Lg{ewGfJ4u8@3r_N%q(jvV689$PVbGJh~mr?ax~Db z9LgJn377Js+5ng)!prmq{Fjt6X1V}WhG*(PT$!AdWvKuVifpxnpD_CfQ9G4RbPyP_ z4cSI9aYrJveoPmTO)UnhNWb&w_-NKhDOl?)mQ@F_K1<5dCmltHlmsY?q5-NP`Y`ft z(Stj;Q$Vrz~s8vJavZgY8kv{)^d z59aeZH&w)NxxV?;uYcNY)*pZRDFXXsO(tg8)T`P-5`SR-Aff<(Dft0_Mi{@ieK%~k zi>KeRy0N}5F`Z_h#*-Tgf(Qbdg2I^eWJW)D(*E(!*8l9UUc!)Wg>LDo#YUH_bq@dN zVLCZFdik{x35ir`Kj)kz!I&`^0_UMWezG_ptL^#q*<7yrRM*SzK3QF7tExGnj=TQ+ za$SWA5Bdu8GeJvdiTC7pAd1?+u@Eajm>;t`siF*F z-0f23n@3;Ot}(^H z48$k`Kqo)3Z`Qgo(-CkWe8}4=yp#5WK_%sfE1kX1w_O_l7@lWY(1c=TA-i^`_uym zBV$uR^%)ST0HK1W3^5`Q7*mkxSe*Edj^7qi*aT4;4@O zBk3d?wG5pbQ3WOLKm@uVO5g!zAM8rtFipkx59s*YZkDJOs)hLU& zTi>YGCrMdFU@y)-g+t|BWRBBr<3g2y0kO0k0HBh(q&w*VfSHhpXhgI?%!Cz(3aMoz z#25^bMB06(gh7#Wf^pbt%HqCA2*^Yfkbw-+kcaLz){$Z)rWv;emNfxX2I7Xu;vuze zZ;*y=vjv^Ei+R7_i3lPwm@?GuEEA36?)*ISd|B0P*9}M^Ac!eb4T1M#x4T&{mdCs} zO1o`J3Is-+)Sk3Q-#-ng^o|AO%zWV8pe-5)5%@>tvmyadv^9LRv~4{0;V#M%;)nTwx7z7&yG%oK%E?M?+Xv@=iQe>a6ZZK z{#Hdyv-GiEKK+;$$C5@o{Fsjj{ox1-9L&^h463kMkH7x)&z{qV`s5G3E3Y4}9=_gG zD@wbp->r5>dBF9}Z`I-FyHH0Rhi-91nVSrI;{X{N>c`Z+x*E<{>MA^6?_Z?q|M{Q& zR?OQ!`Q`S5#}AAsDNJeS2mHEhJ5C8;#$}BNES6s1=1nKFI_5ll^5J```o&k5i`8N^ ztAF~{WmVTEHm2d}lQR*!x=DHL{?R}9&XWfZ{@efepEPyFfxi0c>bu{1^z`x3FMoOc z@%s-o!^QQcZW;ho8IBk6_IBHk^65t>Rpj%F8{mqN0Ur+F@w#Dr_F%be+I3H3lHYvw z?)M8@*a#pL{ML-jG%F~Op%$3fJVesKOsh~gRV<2|sY5%^1+t(}7UxA#dRX;Silr z4hv8*DY^taFd6;yqEdlP%vD04y_o?JqKN{asF9EI3sPTTq7sV(idJSx$Yh}6&Qze2 zx0C^(8+8!i#F_Ay;QFW1K@l;ePCELRQ>D3SqAYKG~rk?>H9 z9Nvg8EX6wutnxt=F1;SW2!iSR2!`Y@Qp_~l2xcZk8C@BLz(j$u{1Yh>GBZ)}U4i@c z)AW|89K1lTCPj2agQ;k>MPyXnjXGo)1cnTwnkX7#MF4;SDG*G&T`(xNmk6eyN%44I z&ms?|Ms5}8WPK1&cd7CMz6m_9*oAchAZnv%N;xTvIgQx{u`F&uVUpDeo=np_K!Z~K za0tQ3sfsX#l4`OHhya6gO9H{HM&?S9+j(7ECXfMS)G(U+aE=B9!m2@uG7xddc}QI! z1({he5r7r@JR?LT4jffQHJce$HJS9?E~ko#eI99Grkcet)*|}ZQXe0~&RAAWzt^lr zp;FC+L2afvqi&nULh6}xy&?8ybB0fj8MFNSd^=`+IBQOuW-tvLuDb3f536}QBiY^F zYW!`g)}1@n_$C_Q7X4K^3TJ=Rdw#%MQBD&GE^}2cP|L=(TRxjl456-#F)Wu_RSJlKu&(2*#ZmgP>-$c?66CU!B7|yA(I|$by$Og3p!paJ z3T?M2jPCCA!@m#>Q2Ke|0}x)h}%ZNI&OA<+>_sDf>c4Z&pA#5K4QK@DJ4H5WrpBc3iR!<|GHN`nR6E0b?NQJ`q|m?=Rf)S(SyZq zFMYNK41gE&ri%9b#V#;Bd-^Di>1MMtJT(*od-iY+fb&`X`t{q_=eHGO0uoekg|3+y z=tMCG*Uy3hk%CnIA(@02Vhqk_GMN5(Abfb&D=>A4MGAQ*YQ7r~C;%Xrea$8h$!r=z z2!RU+(@T~*f{_B4DKk}(o4RIp=UjqA#6!WVi!vW3=LG*K2q#&{RN{b(NDF_^--V*F zf+G5q#LEHYK%cPz9?TX;SLavnzyBeKS}aaSxeO_&MB+{rluhujkM`9a4onUQ zH~OJhW++(b5l99(rIAoW2#mo@iBZKv5abZ+X+;+2r{6@0bJHQm`ijKMi`j1$@8z^K zBC=vRCCNz!>2PFI zx39agLWJWc0zlQY>pn-+v!+c*yKbx_J#O2}-R|vfe^N)*@zYhKG*`_H4*f5FLS~94 zU{nPR5r{^v+x6{-IAY3+i#Nmi^2POf`TqNDJ0qf5yQu1_u3D_X3~z4NVit@>lZn-H z=v}AV=TO)Kcxh}{P+ZR_20}}wHu@Oj9`1ba+yF#XrD&E6U@qflEB(#UiG2MoUVWwS zKf3La12V>xW!>#RIz9R-g`eNXn#G8tDJblcMM3~##Gw1l5Km)$)bhU1-G~k2Vm90F zz5=zX;;RkqcHLsREIXQ?Mg@5$M9c#7ngWWM>_>fjlMJ$II60av=kX^$e_OS)r;q11 z>u%qr(^VX@9j#{bs{XUzy!!BaCx7$@-~Xro{a;;eh6l^W6p_V%-kjh5*0;~jp3IxJ zdj0k?#u@>~F+F{}Qq5PleOuFm)5X>Kbw66HAtzfc;@L^l4SI4Cuh#o_7ndn@Rjk30 zZHEOB!9YdIv1fot>Lh~6eP2usiWLbF`Tk*eCqMR1{XWt#{l{JD0N@dpisZJxwJn9qOg% znaQAcg{;dvv3NeEq)B?VBg=1p_}%aR=vQB_*SCE1QF4I6i~t2e;qG`o91N3D3KFuK z3o7((#VY_Q*uf~-3ZVqhrwvVAaX>C~PEZ4ySOo{rqYxR&jld=*StBuo=!BK&@Fivt z5oe%40f&spGX$huDneDL1J_lxr5#YoCfjytKcqU+?KT62`J$>S8gp(c%=?XHfvT10 zQz0(o3>hV77MJ*71p+Wl84wKEG=nOE zlsXlSk(iLd2(2MTVv0eTnCpG7!!RI9mL8!(3|Rq00F4+;Gpcc@0g%|7Zwaa*V5CMA z0FUR@i>+*S_U%O;Gbl1+a&ik`02Krl^-Qf~MuwS0Gk}_|cf)tjR&705e|3Ge`sA~ZKlud7`fk{#;oa5k&GzNZ?M*-K&aW>1Z~ygw z^C^F~gU+qiV8XtA#yj1_ca1sRU#{`lj5P$>`Mg~Pj zW$4HGY;ltil{k-md-~NdoCyB1YfMvMPz)^@A?~sgaYhLk>Jaxr>#z$c}7*g&W6>}Qk;RZG+2L=sYcyiQi_xoL!K6(GBZR)q@H$)AwZFl+8_u2=mcC$k>dwp>ulE-0e<{UU0ApV^X}b#fC{IT6gE6j64-7?7PSBNM<3FkufI3O+&L4*95{ z%X#?fS^@XH&v{vSO`P_fLw;VhtlN0U3K7}?y4E{Pom`U-79hKws7+n z&s;5s#z=syDy(9lV9o55=dHf_`pqXF|EIZF2_O{~!Q_=y?v=x#cc_ka+6aBoyE`o+ z0OH*%M=&flD8x*GN!=0D(-L(mYJ8~R3$N_VetWTM!WaR-lNJ2oaQH2V6ViYaMb$HI z6p@jL7?C7Ke=%e#fS3gol

    -

    TGPaimonBot

    +

    StarRailBot

    使用说明

    @@ -25,106 +25,106 @@
    -
    - -
    + + +

    查询命令

    -
    -
    /weapon
    -
    查询武器
    -
    + + + +
    /strategy
    查询角色攻略
    -
    -
    /material
    -
    角色培养素材查询
    -
    + + + + -
    -
    - /stats - -
    -
    玩家统计查询
    -
    -
    -
    - /player_card - -
    -
    角色卡片
    -
    - -
    -
    - /dailynote - -
    -
    查询实时便笺
    -
    -
    -
    - /ledger - -
    -
    查询当月旅行札记
    -
    -
    -
    - /abyss - -
    -
    查询当期深渊战绩
    -
    -
    -
    - /abyss_team - -
    -
    查询深渊推荐配队
    -
    -
    -
    - /avatars - -
    -
    查询角色练度
    -
    -
    -
    - /reg_time - -
    -
    原神账号注册时间
    -
    - -
    -
    - /gacha_log - -
    -
    抽卡记录
    -
    -
    -
    - /gacha_count - -
    -
    抽卡统计
    -
    -
    -
    - /pay_log - -
    -
    充值记录
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    /sign @@ -132,86 +132,86 @@
    每日签到 | 查询
    -
    -
    /daily_material
    -
    每日素材
    -
    - -
    -
    /hilichurls
    -
    丘丘语字典
    -
    -
    -
    /birthday
    -
    角色生日
    -
    -
    -
    - /birthday_card - -
    -
    领取角色生日画片
    -
    -
    -
    /calendar
    -
    活动日历
    -
    + + + + + + + + + + + + + + + + + + + + + + + +
    -
    - -
    + + +

    其他命令

    -
    -
    /wish
    -
    抽卡模拟器(非洲人模拟器)
    -
    -
    -
    /set_wish
    -
    抽卡模拟器定轨
    -
    -
    -
    /quiz
    -
    - 派蒙的十万个为什么 -
    -
    - -
    -
    /gacha_log_import
    -
    导入抽卡记录
    -
    -
    -
    /gacha_log_export
    -
    导出抽卡记录
    -
    -
    -
    /gacha_log_delete
    -
    删除抽卡记录
    -
    - -
    -
    /pay_log_import
    -
    导入充值记录
    -
    -
    -
    /pay_log_export
    -
    导出充值记录
    -
    -
    -
    /pay_log_delete
    -
    删除充值记录
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
    -
    /setuid
    -
    添加/重设UID(请私聊BOT)
    -
    + + + +
    /setcookie
    添加/重设Cookie(请私聊BOT)
    @@ -239,10 +239,10 @@
    @{{bot_username}} 角色名
    查询角色攻略
    -
    -
    @{{bot_username}} 武器名
    -
    查询武器信息
    -
    + + + +
    diff --git a/tests/unit/test_abyss_team_data.py b/tests/unit/test_abyss_team_data.py deleted file mode 100644 index 7cdc3e7..0000000 --- a/tests/unit/test_abyss_team_data.py +++ /dev/null @@ -1,42 +0,0 @@ -import logging - -import pytest -import pytest_asyncio -from flaky import flaky - -from modules.apihelper.client.components.abyss import AbyssTeam -from modules.apihelper.models.genshin.abyss import TeamRateResult, TeamRate, FullTeamRate - -LOGGER = logging.getLogger(__name__) - - -@pytest_asyncio.fixture -async def abyss_team_data(): - _abyss_team_data = AbyssTeam() - yield _abyss_team_data - await _abyss_team_data.close() - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_abyss_team_data(abyss_team_data: AbyssTeam): - team_data = await abyss_team_data.get_data() - assert isinstance(team_data, TeamRateResult) - assert isinstance(team_data.rate_list_up[0], TeamRate) - assert isinstance(team_data.rate_list_up[-1], TeamRate) - assert isinstance(team_data.rate_list_down[0], TeamRate) - assert isinstance(team_data.rate_list_down[-1], TeamRate) - assert team_data.user_count > 0 - team_data.sort(["迪奥娜", "芭芭拉", "凯亚", "琴"]) - assert isinstance(team_data.rate_list_full[0], FullTeamRate) - assert isinstance(team_data.rate_list_full[-1], FullTeamRate) - random_team = team_data.random_team()[0] - assert isinstance(random_team, FullTeamRate) - member_up = {i.name for i in random_team.up.formation} - member_down = {i.name for i in random_team.down.formation} - assert not member_up & member_down - for i in team_data.rate_list_full[0].down.formation: - LOGGER.info("rate down info:name %s star %s", i.name, i.star) - for i in team_data.rate_list_full[0].up.formation: - LOGGER.info("rate up info:name %s star %s", i.name, i.star) diff --git a/tests/unit/test_hyperion.py b/tests/unit/test_hyperion.py deleted file mode 100644 index bb11851..0000000 --- a/tests/unit/test_hyperion.py +++ /dev/null @@ -1,34 +0,0 @@ -import pytest -import pytest_asyncio -from flaky import flaky - -from modules.apihelper.client.components.hyperion import Hyperion - - -@pytest_asyncio.fixture -async def hyperion(): - _hyperion = Hyperion() - yield _hyperion - await _hyperion.close() - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_get_strategy(hyperion): - test_collection_id_list = [839176, 839179, 839181, 1180811] - test_result = ["温迪", "胡桃", "雷电将军", "柯莱"] - - async def get_post_id(_collection_id: int, character_name: str) -> str: - post_full_in_collection = await hyperion.get_post_full_in_collection(_collection_id) - for post_data in post_full_in_collection["posts"]: - topics = post_data["topics"] - for topic in topics: - if character_name == topic["name"]: - return topic["name"] - return "" - - for index, _ in enumerate(test_collection_id_list): - second = test_result[index] - first = await get_post_id(test_collection_id_list[index], second) - assert first == second diff --git a/tests/unit/test_hyperion_bbs.py b/tests/unit/test_hyperion_bbs.py deleted file mode 100644 index 54eb586..0000000 --- a/tests/unit/test_hyperion_bbs.py +++ /dev/null @@ -1,72 +0,0 @@ -"""Test Url -https://bbs.mihoyo.com/ys/article/29023709 -""" -import logging - -import pytest -import pytest_asyncio -from bs4 import BeautifulSoup -from flaky import flaky - -from modules.apihelper.client.components.hyperion import Hyperion -from modules.apihelper.models.genshin.hyperion import PostInfo - -LOGGER = logging.getLogger(__name__) - - -@pytest_asyncio.fixture -async def hyperion(): - _hyperion = Hyperion() - yield _hyperion - await _hyperion.close() - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_get_post_info(hyperion): - post_info = await hyperion.get_post_info(2, 29023709) - assert post_info - assert isinstance(post_info, PostInfo) - assert post_info["post"]["post"]["post_id"] == "29023709" - assert post_info.post_id == 29023709 - assert post_info["post"]["post"]["subject"] == "《原神》长期项目启动·概念PV" - assert post_info.subject == "《原神》长期项目启动·概念PV" - assert len(post_info["post"]["post"]["images"]) == 1 - post_soup = BeautifulSoup(post_info["post"]["post"]["content"], features="html.parser") - assert post_soup.find_all("p") - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_get_video_post_info(hyperion): - post_info = await hyperion.get_post_info(2, 33846648) - assert post_info - assert isinstance(post_info, PostInfo) - assert post_info["post"]["post"]["post_id"] == "33846648" - assert post_info.post_id == 33846648 - assert post_info["post"]["post"]["subject"] == "当然是原神了" - assert post_info.subject == "当然是原神了" - assert len(post_info.video_urls) == 1 - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_get_images_by_post_id(hyperion): - post_images = await hyperion.get_images_by_post_id(2, 29023709) - assert len(post_images) == 1 - - -# noinspection PyShadowingNames -@pytest.mark.asyncio -@flaky(3, 1) -async def test_official_recommended_posts(hyperion): - official_recommended_posts = await hyperion.get_official_recommended_posts(2) - assert len(official_recommended_posts["list"]) > 0 - for data_list in official_recommended_posts["list"]: - post_info = await hyperion.get_post_info(2, data_list["post_id"]) - assert post_info.post_id - assert post_info.subject - LOGGER.info("official_recommended_posts: post_id[%s] subject[%s]", post_info.post_id, post_info.subject) diff --git a/utils/patch/genshin.py b/utils/patch/genshin.py index 301b0b1..27a68fc 100644 --- a/utils/patch/genshin.py +++ b/utils/patch/genshin.py @@ -304,10 +304,10 @@ class DailyRewardClient: elif self.region == types.Region.CHINESE: # TODO: Support cn honkai - player_id = await self._get_uid(types.Game.GENSHIN) + player_id = await self._get_uid(types.Game.STARRAIL) params["uid"] = player_id - params["region"] = utility.recognize_genshin_server(player_id) + params["region"] = utility.recognize_server(player_id, types.Game.STARRAIL) account_id = self.cookie_manager.user_id if account_id: