From 6eaeab4619bb980737b65f8de5bc5a7781e9f578 Mon Sep 17 00:00:00 2001 From: troytt <47798984@qq.com> Date: Wed, 23 Sep 2026 03:53:57 +0000 Subject: [PATCH] feat(skills): authentic 1.13c Cast Overlay system and elemental spell animations (Fixes #386) --- docs/issue-386-cast-overlay-spec.md | 92 ++ public/overlays/FireCast2.json | 156 +++ public/overlays/FireCast2.png | Bin 0 -> 44831 bytes public/overlays/FireCast_for_Sorceress.json | 140 ++ public/overlays/FireCast_for_Sorceress.png | Bin 0 -> 30750 bytes public/overlays/IceCastNew01.json | 148 ++ public/overlays/IceCastNew01.png | Bin 0 -> 16234 bytes public/overlays/IceCastNew02.json | 148 ++ public/overlays/IceCastNew02.png | Bin 0 -> 28280 bytes public/overlays/IceCastNew03.json | 156 +++ public/overlays/IceCastNew03.png | Bin 0 -> 35721 bytes public/overlays/LightningCast.json | 108 ++ public/overlays/LightningCast.png | Bin 0 -> 24748 bytes public/overlays/LightningCastRunesFront.json | 108 ++ public/overlays/LightningCastRunesFront.png | Bin 0 -> 26863 bytes public/overlays/Teleport.json | 172 +++ public/overlays/Teleport.png | Bin 0 -> 30361 bytes public/overlays/fire_cast_1.json | 140 ++ public/overlays/fire_cast_1.png | Bin 0 -> 30750 bytes public/overlays/fire_cast_2.json | 156 +++ public/overlays/fire_cast_2.png | Bin 0 -> 44831 bytes public/overlays/ice_cast_1.json | 148 ++ public/overlays/ice_cast_1.png | Bin 0 -> 16234 bytes public/overlays/ice_cast_2.json | 148 ++ public/overlays/ice_cast_2.png | Bin 0 -> 28280 bytes public/overlays/ice_cast_3.json | 156 +++ public/overlays/ice_cast_3.png | Bin 0 -> 35721 bytes public/overlays/light_cast_1.json | 108 ++ public/overlays/light_cast_1.png | Bin 0 -> 24748 bytes public/overlays/light_cast_2.json | 108 ++ public/overlays/light_cast_2.png | Bin 0 -> 26863 bytes public/overlays/teleport.json | 172 +++ public/overlays/teleport.png | Bin 0 -> 30361 bytes .../fixtures/data/global/excel/Overlay.txt | 295 ++++ samples/fixtures/data/global/excel/Skills.txt | 358 +++++ scripts/pack-overlays.ts | 328 +++++ src/game/demo-data.ts | 2 +- src/game/engine.ts | 54 +- src/game/skills.ts | 602 +++++++- src/render/overlays-meta.ts | 1210 +++++++++++++++++ src/render/renderer.ts | 42 +- src/scene/act-scene.ts | 192 ++- tests/cast-overlay-113c.test.ts | 758 +++++++++++ 43 files changed, 6191 insertions(+), 14 deletions(-) create mode 100644 docs/issue-386-cast-overlay-spec.md create mode 100644 public/overlays/FireCast2.json create mode 100644 public/overlays/FireCast2.png create mode 100644 public/overlays/FireCast_for_Sorceress.json create mode 100644 public/overlays/FireCast_for_Sorceress.png create mode 100644 public/overlays/IceCastNew01.json create mode 100644 public/overlays/IceCastNew01.png create mode 100644 public/overlays/IceCastNew02.json create mode 100644 public/overlays/IceCastNew02.png create mode 100644 public/overlays/IceCastNew03.json create mode 100644 public/overlays/IceCastNew03.png create mode 100644 public/overlays/LightningCast.json create mode 100644 public/overlays/LightningCast.png create mode 100644 public/overlays/LightningCastRunesFront.json create mode 100644 public/overlays/LightningCastRunesFront.png create mode 100644 public/overlays/Teleport.json create mode 100644 public/overlays/Teleport.png create mode 100644 public/overlays/fire_cast_1.json create mode 100644 public/overlays/fire_cast_1.png create mode 100644 public/overlays/fire_cast_2.json create mode 100644 public/overlays/fire_cast_2.png create mode 100644 public/overlays/ice_cast_1.json create mode 100644 public/overlays/ice_cast_1.png create mode 100644 public/overlays/ice_cast_2.json create mode 100644 public/overlays/ice_cast_2.png create mode 100644 public/overlays/ice_cast_3.json create mode 100644 public/overlays/ice_cast_3.png create mode 100644 public/overlays/light_cast_1.json create mode 100644 public/overlays/light_cast_1.png create mode 100644 public/overlays/light_cast_2.json create mode 100644 public/overlays/light_cast_2.png create mode 100644 public/overlays/teleport.json create mode 100644 public/overlays/teleport.png create mode 100644 samples/fixtures/data/global/excel/Overlay.txt create mode 100644 samples/fixtures/data/global/excel/Skills.txt create mode 100644 scripts/pack-overlays.ts create mode 100644 src/render/overlays-meta.ts create mode 100644 tests/cast-overlay-113c.test.ts diff --git a/docs/issue-386-cast-overlay-spec.md b/docs/issue-386-cast-overlay-spec.md new file mode 100644 index 0000000..2fbce14 --- /dev/null +++ b/docs/issue-386-cast-overlay-spec.md @@ -0,0 +1,92 @@ +## 暗黑破坏神 II (v1.13c) 施法视觉效果 (Cast Overlay) 底层调查与实现设计规范 + +### 一、 机制调查与 1.13c 真实底层数据 (Ground Truth Invariant) + +在暗黑破坏神 II v1.13c 引擎体系(`D2Common.dll`、`D2Client.dll`)中,释放法术时角色脚下涌现并包裹全身的动画效果并非角色自身动作(Action Frame)或飞弹(Missile),而是属于 **Unit Overlay(单位覆盖动画系统)**。 + +#### 1. 数据驱动关系 +1. **`Skills.txt`**:包含列 **`castoverlay`**,定义技能施展时触发的覆盖效果标识(例如技能 36 火弹绑定 `fire_cast_1`)。 +2. **`Overlay.txt`**:集中定义所有覆盖效果的物理与渲染属性: + - **`Filename`**:指向 DCC 动画资源路径(位于 `d2data.mpq: data/global/overlays/{Filename}.dcc`)。 + - **`Frames`**:动画总帧数。 + - **`AnimRate`**:动画播放速率。法术施法特效原版均为 **16**(代表在 25 FPS 逻辑刻下,每 25 tick 播放 16 帧动画,即步长 `16 / 25 = 0.64` 帧/刻,总时长约 0.88 秒)。 + - **`Trans`**:混合渲染模式。原版为 **3**(**Additive Blending / 增色叠加混合**),呈现火焰、电光与寒冰的自发光半透明视觉质感。 + - **`PreDraw`**:渲染层级。原版均为 **0**(**Foreground / 前景层**),先绘制施法者角色精灵,再在前景叠加该 Overlay,形成火焰包裹躯干的立体层次。 + - **`Xoffset` / `Yoffset` / `Height1..4`**:均为 **0**,严格以施法者单位脚底地面中心点 `(0, 0)` 为基准。 + - **`InitRadius` / `Radius` / `Red, Green, Blue`**:动态点光源参数(半径均为 9 个子网格)。Overlay 激活期间会在角色周围投射对应属性的动态光晕。 + +--- + +### 二、 核心法术原版 Overlay 映射与 DCC 规格表 + +经解析 `samples/d2/Patch_D2.mpq` 与 `d2data.mpq`,法师三大元素系法术完整映射如下: + +| 技能类别 | 技能名称 (Id) | `Skills.txt` `castoverlay` | DCC 文件名 (`data/global/overlays/`) | 帧数 | DCC 碰撞盒 (Left, Top, W, H) | 光照颜色 (R, G, B, Radius) | 视觉特征 | +| :--- | :--- | :--- | :--- | :---: | :--- | :--- | :--- | +| **火焰系** | **火弹 Fire Bolt (36)** | `fire_cast_1` | `FireCast_for_Sorceress.dcc` | 14 | `[-55, -127, 117, 164]` | (255, 178, 64, 9) | **从脚底升腾直窜头顶的火焰柱 (即 Issue 附件效果)** | +| **火焰系** | 火球 (47), 强化/火焰强化 (46), 火墙 (51), 陨石 (56), 九头海蛇 (62) | `fire_cast_2` | `FireCast2.dcc` | 16 | `[-74, -89, 145, 133]` | (255, 178, 64, 9) | 范围更大、旋转包裹的炽热烈焰 | +| **冰霜系** | 冰弹 (39), 冰封甲 (40), 冰风暴 (45) | `ice_cast_1` | `IceCastNew01.dcc` | 15 | `[-49, -90, 97, 55]` | (81, 81, 255, 9) | 脚下微弱旋起的寒冰碎屑与白霜冷雾 | +| **冰霜系** | 霜之新星 (44), 碎冰甲 (50), 冰尖柱 (55) | `ice_cast_2` | `IceCastNew02.dcc` | 15 | `[-58, -100, 115, 123]` | (81, 81, 255, 9) | 向上旋转升腾的深蓝冰柱与霜雾 | +| **冰霜系** | 暴风雪 (59), 寒冰甲 (60), 冰封球 (64) | `ice_cast_3` | `IceCastNew03.dcc` | 16 | `[-63, -113, 127, 148]` | (81, 81, 255, 9) | 强烈的暴风雪霜华与立体冰凌环绕 | +| **闪电系** | 充能弹 (38), 静电场 (42), 新星 (48), 闪电 (49), 连锁闪电 (53) | `light_cast_1` | `LightningCast.dcc` | 10 | `[-79, -107, 164, 144]` | (255, 255, 255, 9) | 脚底向外炸裂并包裹全身的电弧跳跃 | +| **闪电系** | 心灵传动 (43), 雷云风暴 (57), 能量护盾 (58) | `light_cast_2` | `LightningCastRunesFront.dcc` | 10 | `[-73, -154, 147, 190]` | (255, 255, 255, 9) | 闪电符文闪耀与高耸电光柱 | +| **特殊** | 传送 Teleport (54) | `teleport` | `Teleport.dcc` | 18 | `[-61, -108, 136, 154]` | (255, 255, 200, 5) | 金黄色空间坍缩与残影粒子 | + +--- + +### 三、 系统架构与实现方案 (diablo2-web) + +遵循项目 **Zero Runtime MPQ Invariant** 及 **Anti-Silent Failures** 原则: + +#### 1. 离线资源烘焙流水线 (`scripts/pack-overlays.ts`) +- 提取 `d2data.mpq` 中上述 8 个关键施法 Overlay DCC 精灵文件。 +- 读取 `data/global/palette/ACT1/pal.pl2` 进行真实调色板色彩映射。 +- 将单向动画打包成 PNG 纹理图集并导出 JSON 元数据至 `public/overlays/` 与 `samples/d2-packs/overlays/`。 +- 自动生成类型定义 `src/render/overlays-meta.ts`,提供精确的 `box.left, box.top, width, height, animRate, trans` 常量。 + +#### 2. 运行时数据契约与实体抽象 (`src/game/skills.ts` & `src/game/engine.ts`) +- 扩展 `SkillDef` 接口,包含 `castOverlay?: string`。 +- 建立 `CANONICAL_113C_OVERLAYS` 真值表,包含 overlay 标识到对应资源与物理属性的映射。 +- 在 `GameEngine` 中引入 `ActiveOverlay` 活跃实体管理: + ```typescript + export interface ActiveOverlay { + readonly id: string + readonly overlayName: string + readonly casterId: string + x: number + y: number + frame: number + readonly maxFrames: number + readonly animRate: number + readonly preDraw: boolean + readonly trans: number + readonly lightRadius: number + readonly lightColor: readonly [number, number, number] + expired: boolean + } + ``` +- **生命周期规则**: + - 玩家或怪物在 `executePlayerSkillCast` 触发施法动作时,根据技能 `castoverlay` 生成 `ActiveOverlay`。 + - 每个逻辑 tick(25 FPS):`overlay.frame += overlay.animRate / 25`。 + - 当 `Math.floor(overlay.frame) >= overlay.maxFrames` 时,标记 `expired = true` 并在 tick 结束时销毁(单次播放不循环)。 + - Overlay 坐标实时同步施法者当前脚下位置 `(caster.x, caster.y)`。 + +#### 3. 渲染管线集成 (`src/scene/act-scene.ts`) +- 资源载入:通过 `loadOverlayArtMap` 预载 `overlays/*.png`。 +- 深度层级(Z-Order): + - 角色绘制完成后、飞弹绘制前,执行前景 Overlay 渲染。 +- 混合模式(Blend Mode): + - 遇到 `trans === 3`,切换 Canvas2D `ctx.globalCompositeOperation = 'lighter'` 或 WebGL Additive 混合状态,绘制完成后恢复 `source-over`。 +- 锚点投影(Anchor Projection): + - 精确应用 DCC 包围盒偏移:`drawX = overlay.x + frameMeta.anchorX`,`drawY = overlay.y + frameMeta.anchorY`。 +- 动态光照反馈: + - 在 Overlay 存活期间,将其注册为动态点光源(如火焰投射 9 码的 RGB(255, 178, 64) 暖黄光晕)。 + +--- + +### 四、 验证与回归测试策略 + +1. **表格对齐测试**:验证 `parseSkillsTxt` 与 `Skills.txt`、`Overlay.txt` 的 `castoverlay` 字段及参数完全一致。 +2. **生命周期测试**:验证 14 帧的 `fire_cast_1` 在 25 FPS 模拟下,在第 22 个 tick 精确结束并移除。 +3. **渲染与图集测试**:验证 `FireCast_for_Sorceress`、`IceCastNew01`、`LightningCast` 纹理图集无缺失、锚点边界无裁切、Additive 模式下正确渲染。 +4. **全场景稳定性**:自动化 Headless 运行,保障全 136 个关卡环境施法 Overlay 无跨法术贴图污染或未定义崩溃。 diff --git a/public/overlays/FireCast2.json b/public/overlays/FireCast2.json new file mode 100644 index 0000000..4aad6b7 --- /dev/null +++ b/public/overlays/FireCast2.json @@ -0,0 +1,156 @@ +{ + "name": "fire_cast_2", + "celFile": "FireCast2", + "width": 1024, + "height": 401, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 178, + 64 + ], + "box": { + "left": -74, + "top": -89, + "width": 145, + "height": 133 + }, + "groups": [ + [ + [ + 0, + 0, + 145, + 133, + -74, + -89 + ], + [ + 146, + 0, + 145, + 133, + -74, + -89 + ], + [ + 292, + 0, + 145, + 133, + -74, + -89 + ], + [ + 438, + 0, + 145, + 133, + -74, + -89 + ], + [ + 584, + 0, + 145, + 133, + -74, + -89 + ], + [ + 730, + 0, + 145, + 133, + -74, + -89 + ], + [ + 876, + 0, + 145, + 133, + -74, + -89 + ], + [ + 0, + 134, + 145, + 133, + -74, + -89 + ], + [ + 146, + 134, + 145, + 133, + -74, + -89 + ], + [ + 292, + 134, + 145, + 133, + -74, + -89 + ], + [ + 438, + 134, + 145, + 133, + -74, + -89 + ], + [ + 584, + 134, + 145, + 133, + -74, + -89 + ], + [ + 730, + 134, + 145, + 133, + -74, + -89 + ], + [ + 876, + 134, + 145, + 133, + -74, + -89 + ], + [ + 0, + 268, + 145, + 133, + -74, + -89 + ], + [ + 146, + 268, + 145, + 133, + -74, + -89 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/FireCast2.png b/public/overlays/FireCast2.png new file mode 100644 index 0000000000000000000000000000000000000000..109d5a1026fefff5fa73b49741a9fbaf3e951875 GIT binary patch literal 44831 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 literal 0 HcmV?d00001 diff --git a/public/overlays/IceCastNew01.json b/public/overlays/IceCastNew01.json new file mode 100644 index 0000000..f8282fd --- /dev/null +++ b/public/overlays/IceCastNew01.json @@ -0,0 +1,148 @@ +{ + "name": "ice_cast_1", + "celFile": "IceCastNew01", + "width": 512, + "height": 167, + "directions": 1, + "frames": 15, + "framesPerDirection": 15, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 81, + 81, + 255 + ], + "box": { + "left": -49, + "top": -90, + "width": 97, + "height": 55 + }, + "groups": [ + [ + [ + 0, + 0, + 97, + 55, + -49, + -90 + ], + [ + 98, + 0, + 97, + 55, + -49, + -90 + ], + [ + 196, + 0, + 97, + 55, + -49, + -90 + ], + [ + 294, + 0, + 97, + 55, + -49, + -90 + ], + [ + 392, + 0, + 97, + 55, + -49, + -90 + ], + [ + 0, + 56, + 97, + 55, + -49, + -90 + ], + [ + 98, + 56, + 97, + 55, + -49, + -90 + ], + [ + 196, + 56, + 97, + 55, + -49, + -90 + ], + [ + 294, + 56, + 97, + 55, + -49, + -90 + ], + [ + 392, + 56, + 97, + 55, + -49, + -90 + ], + [ + 0, + 112, + 97, + 55, + -49, + -90 + ], + [ + 98, + 112, + 97, + 55, + -49, + -90 + ], + [ + 196, + 112, + 97, + 55, + -49, + -90 + ], + [ + 294, + 112, + 97, + 55, + -49, + -90 + ], + [ + 392, + 112, + 97, + 55, + -49, + -90 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/IceCastNew01.png b/public/overlays/IceCastNew01.png new file mode 100644 index 0000000000000000000000000000000000000000..286387ab3a3086274f52d084eb4344827b26ca90 GIT binary patch literal 16234 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 literal 0 HcmV?d00001 diff --git a/public/overlays/LightningCastRunesFront.json b/public/overlays/LightningCastRunesFront.json new file mode 100644 index 0000000..7d97b59 --- /dev/null +++ b/public/overlays/LightningCastRunesFront.json @@ -0,0 +1,108 @@ +{ + "name": "light_cast_2", + "celFile": "LightningCastRunesFront", + "width": 1024, + "height": 381, + "directions": 1, + "frames": 10, + "framesPerDirection": 10, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -154, + "width": 147, + "height": 190 + }, + "groups": [ + [ + [ + 0, + 0, + 147, + 190, + -73, + -154 + ], + [ + 148, + 0, + 147, + 190, + -73, + -154 + ], + [ + 296, + 0, + 147, + 190, + -73, + -154 + ], + [ + 444, + 0, + 147, + 190, + -73, + -154 + ], + [ + 592, + 0, + 147, + 190, + -73, + -154 + ], + [ + 740, + 0, + 147, + 190, + -73, + -154 + ], + [ + 0, + 191, + 147, + 190, + -73, + -154 + ], + [ + 148, + 191, + 147, + 190, + -73, + -154 + ], + [ + 296, + 191, + 147, + 190, + -73, + -154 + ], + [ + 444, + 191, + 147, + 190, + -73, + -154 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/LightningCastRunesFront.png b/public/overlays/LightningCastRunesFront.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5af96e7aa5a9bfd70d079a86c33813379db3e5 GIT binary patch literal 26863 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 J9}V5({|~pcFdF~> literal 0 HcmV?d00001 diff --git a/public/overlays/Teleport.json b/public/overlays/Teleport.json new file mode 100644 index 0000000..cf87cca --- /dev/null +++ b/public/overlays/Teleport.json @@ -0,0 +1,172 @@ +{ + "name": "teleport", + "celFile": "Teleport", + "width": 1024, + "height": 464, + "directions": 1, + "frames": 18, + "framesPerDirection": 18, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -61, + "top": -108, + "width": 136, + "height": 154 + }, + "groups": [ + [ + [ + 0, + 0, + 136, + 154, + -61, + -108 + ], + [ + 137, + 0, + 136, + 154, + -61, + -108 + ], + [ + 274, + 0, + 136, + 154, + -61, + -108 + ], + [ + 411, + 0, + 136, + 154, + -61, + -108 + ], + [ + 548, + 0, + 136, + 154, + -61, + -108 + ], + [ + 685, + 0, + 136, + 154, + -61, + -108 + ], + [ + 822, + 0, + 136, + 154, + -61, + -108 + ], + [ + 0, + 155, + 136, + 154, + -61, + -108 + ], + [ + 137, + 155, + 136, + 154, + -61, + -108 + ], + [ + 274, + 155, + 136, + 154, + -61, + -108 + ], + [ + 411, + 155, + 136, + 154, + -61, + -108 + ], + [ + 548, + 155, + 136, + 154, + -61, + -108 + ], + [ + 685, + 155, + 136, + 154, + -61, + -108 + ], + [ + 822, + 155, + 136, + 154, + -61, + -108 + ], + [ + 0, + 310, + 136, + 154, + -61, + -108 + ], + [ + 137, + 310, + 136, + 154, + -61, + -108 + ], + [ + 274, + 310, + 136, + 154, + -61, + -108 + ], + [ + 411, + 310, + 136, + 154, + -61, + -108 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/Teleport.png b/public/overlays/Teleport.png new file mode 100644 index 0000000000000000000000000000000000000000..8454713d321c46b9bb14f396750ec93b679068e0 GIT binary patch literal 30361 zcmd>l^;ev~6Yjg{;!E-3MGD2;VR46r(n5h!thjs8rD%(`P~6?2P~5G!LveR^hu!=6 z-oN6WbMs3w$s{L}WRf$_OuoT16!EZMVgmqxr>rEW4FG8W6+z=*)c-PY@16(%paL*8 z9r^!AMgX892eUIm#QDh$0YC{#r=!FY3jmQykQM+K52m~7v5WMDm8F^E;)01G5GpDv z7Dg&|c6M=LZed|zB_$<2n3B03zn-3+o4L5Txw)^KQ*dx_T2g#ZPtVoW6&MW-f(DR- z(a0fSDq;vDE*c#Id)Z&6P-qTUE))W7<=hpL7^|Y1u^wfifh6VcgGO5%EQ z!fI-2#%kjHdWJ9q2l~Xa>6h*IYT`)V?!M)b3G&ynfN#~^gqpT)7E$kKzHUW0KipISx#EVYvHKX z(aume;kCy~`wQg{@$v&F#_ddt7KH3JWW#l@SIj5-uT1gK6(GiS-csfh82VGGnmoq+ zkm6T*OvT@gf9SA7&cp6wX+X{lv|o#9jHSpS;&Te)ixKVxlnlnjZ>m&k$mu#p3zkVg zD|37|o$=wiO>;fju^Tsci(Qv9@_C$mgkPk5*#Xcard_g`~| zV_mPpHQd^Ket5{7-`L6eYn)DPaaE^8T!`J%`|C(+vSbx7Efx^GJh`V4u;|fKKdZo1 zxU*TtxAVd!H%`QK9~Lh_1;g=^NvLJ}LtDkpTiEI(KR3^Ca-z+4qK)%m7tv27jo}cP z%yD?yh07W6uJA2Cx-LaBZ|y~hI{4M|bRhys_~gb>UGoY;K3xVh?1s(MeehNLJ2Q(g zzN!>dcr~U>1mza~u-F~M+h*Y9OVM#K*?d5*?}g#&L`LhNNe*TE_iTuFZAMApbMnk~ zP^!%IVt$1iuxa6JM9qUcG}e?c%T@McNSMG=ywOIz@n0T{HO5Mw8sP+bF@>UB6b}W+ zAt5I>;ij2bo>9p%$0}Xed%Gg5@(N0d|1xNFq_$TVOrrJve#Olsdrtw8?m>eWrpM5a zYn8>^nzH5Y7O!hRTHJE8m=78ikIWqIx+u(|CEvdd-j4Eb z)D^-B#HYQxBKzvNwt>AA{rERPTQEjcR9gFF{FTGD(+^I2r4!B$1Bvk#PGP(xquff} z^?<vW{H<;G4EjU;Q zU$MtfWeM9gqCU!(Z_if)0#xRxu{@#;X)p-cR<)#T`WixVO?>npTthr!1_W22n163vxmNTm@h`{w79V{R* z+he)*U`I?969S(^MoB%rlN(RTuRTU_iVvB=uf+etLH3KeQHH9dmQ?QK@JBAFmh7Qa zR4Z2p;mv*lIo9?|44Wshm^{Pm0C+$w_kG(L`e}=Kzubm-RNtMjmxhcD3s{6YpI>7A zX1Ld#bfTt73dvIes6wjD?!yR@EN*H^X$c|vGvooxqB}6IS~_Dapa`x{`dXuOj$r(57B<& z=1lklxUb||k2(6GH{9Mafx#Q|hf?0Er(l4_(o4}z2oLq3*F+JYC+kT}g^0c4r?l62 zT}#W#yZ5Q?z1xa)J55mv6~%7GWDGx^Hf1V|wnNrzwGF|gNK*d7d%w{xfxY)u7$b(% z1?z7j-G6`i&YWAm6;L8QST?ajq@l7DU+^m{t_?07aUn`*Z!B^4?1RmBp7%9 zemhPUP$-D!HS^NO$M8DKMg5S8_Fa?^+IrEa@785jem-32pQ>99e{Ls1_r8iUX5?Yt3)>?g+>4P$7h9c29vY$Ph&EaBX8e<%2#P^XodOxNo5~nDgo~a*D zTiTb@OsEBNWEK&WwUp(d3;4Bpw<{sDNCeqlPKXaO-+ih0)AIznVYT0SS^4@zw;g|3 z!Hbr}57-K1h#jNS89Tv%GJn?lULvO|cK-FL%wNn6{-h4!qkDHB6 zSfPv$CcZkTwtqXb`sD$mdfXi4cPdH`YfBHZmBsfp$*DH{2iONpBG&__(w``xnf912 z?hAky8p*bIyX1|L=E}(mZ){FyEAA;PKLFM#|_fMCz$hC;)sPtHy0%+r#(o+#K2P2jhH+XSc4p`A>a5{b?knLbLeh9gB zX`Wq?vGS(f&CdO|R|3r&Z6KpmR;n!JyboTB3cAZXvZOq+r&3R+M|s8TE*>m8b&`C$ z6kNrmj)61YXx5d4ArE>gsMRlzL4%=2htU^{<(~CZ8nnJYkWQM`z6kj2tsZgPZ@S&( z)9lGpjp+cTe6Rb9GPdc7ZEEG!ec$IaJ)QRFhpcX&kIzjWH?267#Uk|C39mKJrJTWmJ!B=fOLtRJ&yrF)F?ZcHW8w`+ zA**}jmM#RG3@~=~{?bQ8-+!0+IDC{NWPiHkWXjB2!zUWGbv89&ACSl#k z^u=XiRHjpmj$?w;!eNi$>t30#7y2{+dGtYOHVQv{X&ogd>{X4g}U1+-7asEM{G zB)$Fa@`>YLv>Z$37}ou6<5AhuQ5d@oI36&D%b?rRfdAlxr%r3R;c{};m@(M7XO&QP?cRS=Rh4>U(_IO-pdI7d`!mIc%8JV;J}~prnXq=Xg;vt-XdJ?A-8Nw$6%U zj1xI*7Z#ey4jMS6)~ZhNX0@#BTw?ymv$$fqU;I$)LgQDfxh~zT6S0py;#UzUfKD+m zjL~6Gm8)q^>-v3mb2)hEPQX7Q?y?FZdC`I=+AGc57!)#Vb8ME}d@$5E{1AWrmFXku zSW{O0JN0F|sGp4}XMpZx;GgaG*bjx#Aq);= zbV9)9VOr+WwF|9Uf2U!%i^m}qlT4?!2O+>rmRo2M#BS{LdoTy_?zzMZVcoUK_weYoR=IXwV@{hn^(JLKCfykf{D*4 z4QRkA%YJrvF)}x)%6Em&+~ZC(vpfvx*lBw&pug;z$j_vq?Pn?azVbKn*Ds$-j6viS z{SI8rM`H45nTiMg4Un^fkZEO7qjqoI(NBE}wzRsFuwXF%Xh zFvi>a{U?16vpow6Y*^Z&m`2jtD^qwhr@^`IxFs4(*YT(JyKm6NPa^dHez9q>>#&Z* z=<+42dBT3zCH9A`2k-O-Z@N*GbPIJ*8ssP0Pl<*HuwQxWbHpP;OE+&=p3@?yCwefd z$8o^fq8kP(KSMtbJ z^{~_{)%aWf-U~`yTf-=QkKQUnpNvK4Q+%Q`Vq(MWi^3oQAI*Fjx{S z>kKuNC7iR@Ip2_GFruP$!mgfiZf~R%%03DpZT_d3WywbyI%Wri8xOx@hVOv1iNs-fZyA+nwMH|IQcal*z;cTLKy z(AJpB&467lS4|*}EJ0w$pWjxr!{-G?)i+(G?5w9x&nm^s9hx5y6r$k43j$+Y;NVZp zDpSP5_7KfA4K)lxGRu;+3Uv{*q84(n19DF!|CpOwpdl2Vjb7Y*Opm;Bl}4r|6KV> zVVYsV_X?cYeGza60X~=w-eg2?2Uy8}bNGy*!D?e9?$a6EcU#lu%qk5}-FWIk@h03(?!x8^x)?WJ77fN4f7kYo$3U2VT}*rvJhJv&~+w~Y2@q+cbv5aIi$;G|GZ;z;=%bLh)Zr3fuL@+fS2G1RkIxH!eOeOx&7|dJ6E@3Q$r z{STyyHC-@mnV2BT{6?z{luxiLXtH{z{Y0n#HcR$5qa#CUzZ72#4To{HdpauR!H zgl~_pP8Zm|^&mvCp%OyN{l>>>{5ISN-3@n>Fg~nSPgFs3MoPkpAX)=BKY0qE^_3^M z!eKzNzNQ^VKk)rDfV3CqF*xW5_+41g=|tuR_Do2iI}TwfM5Jqece=JMXI>LJb%qBd zW+%_4Fb)ZOqhuXQw_Rc+RQTT2A}-En4$13HQH^PzzkVnEVKXIBvOpkopNrmk^Gv`d zBz2y#dHi$Ea~w=Ja%gLdryD?yNvA*@;KQMjPPH6`L_4+94!kXLgi_KMVur*^!@w3zkd2&yQi_0iKuV#DIz;e;njj10iDk4jlXkq$@EH$awZ}pDtE1>z{0QZp&&Q9W=X=} z{hL*je;(MQPnh{G>2qr#`Sa((wp1f+$vIFV!K4Dpu&Vw-WGBJ;jpes@!7xB#xc^A+uUL6h^gf38TJ(!( z6@EHNfyP)=VC<6t2SsoPgmFe%yk=(h-S99Fn*DschNxsd#QZDvBB=9)30A?e_sNO> zIrt;GNpbtxiX$K>R{5jBCzDFGS?>y5hd~T=066g#V zm(U=%#BGT6`}?~<;FES?dpLj~M}T)|O5<*C$UYuIX+*h4t-^nk(56zoYz_Mrpbii> ziTS0AZ&zNQ7s_P7hb^wnU#`23wpqX0`SSi7Z-&N+gGc6EvV&@&QxzX?j^A}7hcODw zypps!OWZ|jO=)ZLNbXJsZA}}uO0LcBwNh}?mz(dD?(i6dL_>G4;&+gSc=xU6@`;Tm z5_wmeK?IzgiIs(PeZk)A3t=TdnJ9U#AQ^k;1T1gEqrApb1y{7wRLF^-63HefNy?;; z_qW!gc6^Un;I%|C|7jiufeeG@1ONPNR0r|5tOMHh9O?L7_k1g+ z_qU5rCUa;-D3~SB@J(6z7CKNQX?C@8DEM!(a2`$4k{LU4^q{s~vG}cFEh@uU5lyN1 zEqk!%`l>|e+u6$H(?;|xzE^pkg(s6j#TPuwAj42|mSREmx0G2loMV%*(EwQ$3m`6WoZ5abHIDX`2fC;TsS6!jfs9AfpE-@%eHSK*$}y+0`#YkwE#1#C+& zn)_Nc_7&`UfkHvL4Zbj!AH&>V9 zVeF567q9Q21)GiNOS74<2w0OJm0((-0D5wCk)2fN!e85}11!u8EURR;9|QsmrF9IV zes?ME%<%2ZnZnt>f-8?Bw+^RDtvx&;t%Y$k#;e&BIN!T0HYeno)f$STIv^bf!yZ>Z z`S5*Dh4gS~wdqg}VfY`sq$OyUhNIm{__8e^-?^RF5;nIdtc|r( zJ7)X+$}SK33l3L9u(vAE+V;ib7GkN>wB9yrEPb%CDzPVp*$-_Amn5k9{9%F49* zA@bkK>Aze`TJZl7`Rq1`n`z6GBQ4&nzQT1geY!fCcVZS#-UqLSk5$ zIGD?`)tleR+55P4%p-&@oJ?JP0*6EHkuZ>YWL9m7uXwDEBGBO{hGj&(G|Mep`ILJ^W|Dn@;@v*BqwN}cNwGSgL^s$4X={c3K%#-t^vjlJ zy<7O^?<(-4n73$I)Vagdvlh1)w}69XKI;v_zWI!YkbfF)POshJ?>+4mkX(*)&MFTr z(dh*+^0qt*KQ~fdgx|u4(t>ILXVwn}1w?9yt8DxzEG=DjkOiz6O^S!8ii$9=WxdvSDOjUsDac zxn$JtN^a@%lBx(IA8V?fES079@<}I;B_;*d?0ut53h~iX=qvxXoREl?p z$o$?YTvF7brIo2<&>{6bgi&&1Qp>(jL1s+sq6^qQq?}u6tQaV-YnJYzoO(>n;8TaI z1nudQGXhpNBN6G|^)Fr!>I$@W*zkk0K<5RAn`p&Uf01y9HyuhZb#jbH1XLi`~!lF;d=@z)&mXlM2X z*%@0t%B?9+G9Ig1q|HQb)|HHdgV}6nCzgyqH$#CWknoGQV+!Y;yZ4-9_ecEOLAhYn zOlAw4jTp|af`CTu^C#;>640=TtpE>DYvMQYjnn@)(F1}4$$R5Y?2$TN&?-9mc>7C2 zO2BTj^n&V!-JE4L~{S}dhBAN;a(M# z5YfT~Rz7}N$*oQssaJK)0 zkxZ8oGK*BzYYEIxal>yEl1LSYgstG5c+wcqPjo@_ovIVCT06*%bA4IjeWXOqqLBq_ zpBYJ?F;kE~ufdgJoR+?ViZ4 zpTr~~$jb`o7!gUSdix-O=D*QZLzA8n`?U3y!RhZt{D ztO6}It&9@?tRt29CkgKRv!B6IXL##0xxmA}#g?$)-;2kcPCGxEg=LvI`BQ8GG^hyB z_dD!M$3I-sWfutdDpRS1wW#`_R5ba+IZ4Jn-+LJY+8pbpPLb;dn#`}5mEE)Uu2>46 zj+q|iC0~+!vAViw%IO}I`jjr%;0~c`rFX(5MLGZMQXA+5i$IE}eL;yJx!qCsfj@$x zPS{p|??{RqiH|8gek4NX+~?M4#7R-7z39I8MaYevkth!cHuvBmNBcqrLNaPT^i=AZ(~S;Wg#K`4Iz^(wTk zsj_E()g}JNvJ5Jq5%=X;IPcKGO3*P=48~#Umt#!@zfib60=-06D^{jPIjR9UdEvli z#mf^?8TbvTPRj6<5a~XLhf;|1hX?NnM~zZExg&PW6tY6%gv9e#_n>)TAf)K^6xCd` zRip*YhJCht)04Fm_d@{a?8aWs(#4mKE!nENEE6<-F*a)iZ`4K4@gaF=>*&@8_6Bn!VtoptQ!$x4OdN8R{pkDC15lb~aWVB`P|;AiK_2XK_R2SFgoP4j^wI8_ z1L7`sro$m&<2Up^o-M1=P_>rzy>i?Y3=y5sNz&jXG`)u!5IIml-+AuPF%$M6iklSD zqfXVMF@DRt)@=azCO%4734YXF%`MYWCpcvjnVaf~D5t#M-?uKBElfy7Wwo5-GS+(c7K!p?aX1IX@&62N*2T9dseiyd<@1Y%5BbvpyKoQj#0M@zfrRsCE6BGjd=zF zG(17CD1KebGek*K={8B?F&)1#{5MNIeeM0X&%}e&kqYZ{B`TSB^%R|Ew6%Lwr7e)! zDXSARtPNXoThX>2dh7K{!|{xo`xzf4iE#YScU&X1ThK@Vq6XyET!(2vulL~wwESHJ zTu;gHqr%LLrh{#>ECM16q}OM)+kSfh&Z8yY)Rp><%wD=Zq(>EfFg`r*UQs`|nP~KP zRfUOX3sS+J|E{wG?1rz(ZF4iUE@EaI1zg4htP-&=#Vp4%3|bLbeOeel9e1dI^RXSB zH|Zu=VpcQYwL)U>#q{Naym&tj_H2IgZ6ynSp0!!Rkn61@X>zcGOoW>+FR24R14gfF zvNk`DxvkbzA}H|-{12;sPUZ1^E>)-Q4OAdt8LF0y#mjHjwG&o+e=;Mx$g@ugv;>S| zV=oUI8#?Is=NW<3Qb3Q5lEwM;E_~fEOk`nk% zs5#}lN;4k17c!oPr6itQb!ys|wwcsH8M@*;K4PAE{WAT%E+vqARbJRHyNj6+4J|+Y z2v_}N#m1;|t$4ALo6>W|4u~nVIA z<&i`BGq;LzDX9=I+wX~g(Xvz4-cqY!$T`${bZJ|fWObu8N$+%r#n0nKsUtT1a>U2o z!_i0E@FKn(e0$*%jYAn{&W=|dVsTb6xHA0*B5r`BRn3#;XbB$HMJ%x&IUT-_QIhr$ zkpFdI#`0<4LGwg!_iO!YTodQn9E3mq1E;5NZ|Xv;Nt==f8^UCj_VtHXYYEmZYQb%a zmbLbwqwP64U&@^lA6j1U0tIlAGRRY=DDDL*$ID`3&f}yS;~JeOK)H^hP}j zh;;v8#ddj;dl!FAnP%fjW`h6RJcPO=qHz+R9bB`l7GI2{MA2$$-jb)(rtOjW!-g{F zubUlDHi}Adid1nU=^1||nSd@?Mosl30(8nE5uD<8IBGYmpuK<^O%=3`t!U?uH0FQT zmyLl;bO|8-c~s@q1?f!yeG7vSurLV8=61DofsYZ8<@76&rCj-t)Osnxn@%H0j0Prw zn44D~4DVd^Y!k}}FPt@Mumnq57fNMpD8+1zpCdZh{-89tu`y;T zB%~2yz*6nxDNeOiFsh?`y0I5=%XQO!$PxJ+u~R~Rk`prB*Y}w5rN)5KI8Yu0_1con zYFRO;e{eWkSP-J_=^3;jgynLvXZr8ebwxse5%1^KO78~MIH{cJ~guG(JYXYXA6?@s|d7Z;RHpW{@2h$ zq#H(@x8h2+_>7_+05=1S=`4dI{9-}O#PN5Soz8JcvR80;qXdv~!43Isu)B9*9Urjs zRhsHH>03Ogiu&wsalTVRzBX3ANc{2(z27OT<{y)%f*jHdcL?rZAbea)O{dK8;ySux zZ4|8gfW{~RqH4EZxG~A7__h6ZXSE~cP3BNZKj`$Mw%I7OR6q-9<(aAgd|8u=eqAK}VOp1bi+_21s|jEWXn73dF$*p+Pr>smVDXf2*$czE4eJV@X= z&>u`J^|`0D^U=MU#Jkm9UkJNxyvi8shoa#V45W{Kd4Uv*qb4^#Xe}M)3cz)o`rD(=ZVQ398vj6P-tx3`V`mrj$|yYfI3+cwLK4SJ>)9jrQV;|P=X)> za15%g#tgkP*=@&YxVDXY|GrE)RdNZ!xuI*rYbD>E1*NKU!*+~k!WEN?n>t*pS65SE zOt9&T3j_z$jP+KF>_vPjNu`s?MiQ^WA)3Hf+yv`2t zAMB3e4D@&{G)p8QZfbitZLgKLkVR-&G!^OO$n*EYRXE&MTdgLZV2lPxWTpZR#hUf* zAvmQaTKZkeMKgYSQ&Sk^TGG_-$4$0&)EEoFXo@{a zJ-G~u6SY0l{A;IzONc~uPU5H2<$sA50er}wTp7M08ecXBz$^OHP^lH~Gc z$8mLRD=Dwj@6vBq?ImbVEoCJO&LZXlBFFzv1X!*r=~bhnNLOlYBDX>Sw6Bh(ceJYb z|5<_H2WCWH3@G@&x{RTA!kV)=EjR=Y9rwAf7XSsX^Oyk!G(Vu@W*oNj2fA?x^J5R} z|MBY10WfVxf!W!_)R6)Uz!~)4kT@V=K;8Cddzmch*E3-ekPLt#&4mR`MvhSN@0BW> z1Cgj(w_xH9Xb$TCZNdWVfd z24Dfu1A$pwla97nR@E39Jo01r0Zc2L=6g{ZvU}aLhB`Yt+e*VNTi?hm>V;0JpY zFbHg9%{q2^OT>ndmliFXz?#zTC_+vkE7_h;vyu$hxLpU43t<{R0evEMf7cLvUMO-X z_`j8}{1eh1fokJ>z#;f(5X(MEp*et7>5L>8Xg@BJiW%+hVwl5t1x#Kvz~4s`p+#%9 zyE7j?zXtZvAuTQ&j@W1J>wfl$PX-C){*!ifEon1W4cI`G!f4N?_KyI?A*tstH0`bB z{^>FNmH*Mn;Dgx@*R2W_^PYjkIMA~L>i|mO2FYlDzeGG3-@>QHm7>Sxz1MohWIr)R zY5lMSjh|PqQcOYd$O9QYv?MK3;4gqmL<{IX&vv7SR(^-HvzVJGM>R>+|vi z*#7quw*w6_(4LFcL3`M6W{|~_mWcvd^N9_Ta$`UU5_RNNl1>eq`j7wabk^(=N8V|} z>AN6US(&(WXmop}S9}+(aY&!RMn}dt+rdU5nerM}^|ID`N@LWI%J8=wwWWzwy04E8 zrbSRdbBAx;$s{|uaLU$An6FUV<4W03Ix?k0?=V|<5mkTC)1icLefxk*-~}q=O7+Rs z2PyI~#3K8tx#@{U;`lG8Kp}4MsiYTo%6eryrV)qzJDk9{aBxBB;4p57axY5$3m=4g zQc5+q1b5!{Ck``E)-kMWe1YDcTuD5fK$U}ls1tDsK9I$+PYYV>^ zJUC!s23l>fTs=GphT|4t;@fxTTaNbU^@c^WGpV991MQyG;+pr;5852k<;w?bsNpzt zN~>L~vXOeiJeXuMl?y9#_jNFY{kBRBt^w%j#ZKfpMnFGxz!%<+E-Kf*GkFi7zfEzYML3^40B|Ad@@%y>Q_z_Z*~(}F_izb zp;$$VZ0^|fKO;q_n#{!Gp47=(Qtdu|b~<&nCf@vulc^l$s#M33w_rH9!#W2Qv0`6E z&Hk_02H)y&?Xm3@ocI7JBFIt>1V>&L%d?iSx}jWu`2nJemT2fuHH43+goW6f0@1Qi z>>o=1I~%>L*wo|771Y~8-<~MhQGHAPq-_^UB2XfH{ZVvbM-J7f2;v0;M(x1;4&9&M z(AEqajLOLEm8arA_ zMFQh@)|bG`sLDER>eFhj$uj^G;>-t2AK zwJ!AUFW%gbIdP9GJL3J=%1~54$(3Jag_4kcW~+MA{eU35QWc;yCa-Gmh5iSp>98w* zJ`zk-7piY*X?Yp{f=qdmOfuZLSivQPb=Bv}2 z{~m@12=UPEarp)6Lz3Y8<()E7;}D6Z5G-)B=%VfPlMNG*{WJpmZ22l7%5k!qyQ_kc z8r7}<#Fch-pSK#MTryU(F0lP8Xty@%gab}n$BLF1`WQ9ZFOgJIdb{CFS9GbHbpb|} z<`OYoNw&ONL|T3Ks=|6LRK!3>L&<`6hTR`fiGB$&%eQScKpSdrby%<=K@WCM0>}BY ztM_&9H#mBqy~}$wqpT}Bt7#t;3$%om8WKk2_^9-}xg|n_mbbGYg|jeKuin`6wvp8h zNzeh7=@)=E4S6VZ#=z)bNasO%>qeKL0&P|fV(r5vZ2roGnC<7I3b284HOaMNpzzi| zv*_ME=60sCh{c07c-B?rBr9IK-7-yNSxK6SI0r@bN+H=Z9J=7|g zO=6Z|Fgny`Zt3V&gal7SkhCd&NPp?s#^rjps8+j}92k?~%vIuOLu_CWGk8kf0sYs0FlsSdC6_trXt_9e zoZeYmL|ZpPR|e2UF^j7<0^c>o9kr6LV*`)tXffI@K=H?)bRYbp$o4vvKVRzp8c_#* z`5ZCE=D9Ao#Oz29p8TNfian0*h1mv+G@EC)NwYmu+sZaagzEMPcNq5d&1n3a+Eco# zdjXX?{UGXel19PnuF(tDE)367LeNsb?6q{T)J0eR@>^!~# zd%J_n)L#qz*Z5HPKGQl|E2HRneHFOTgk!CV-=L@5<)T)8>RzE#8zBP0sNoyH9rtGx z7(tI;VJ#sEYEPrWGBEwm4vMrcJslxO+51EdzqT1{C%MT$!3SSh*Nc}#;B*_YetOBC z-yY4GahL)}eJ_3|s+0*z0$_-~ic8Noj@_1!k@_hTFC{=laQ$e?WL&^IQJN6YhR&+S zuy}CHLf|i0nT%Pq{4d^}K3(_e+yt3)Y3Bv}06FBMXTAT458~%}&D-j6()3ga}xIU9@ER9t!@wX$E)rd{ll`oDS37W(RU2|F~0XR|7fP#!h4ClsfooGjM?6 zeM2!Dd{^`@9Y{^F?gz02REY8FH}RbR_SUDcZuUrivj&m#DgBaDb0Vs+F5lYa;f0oP z*Fs_^;FrF}AYsEx|H*>S6!(3}@9}KY*-qkceorrIuD^0^v>@_iK32*Kxgbd8_Poy> zI>wd1>qvLl(oa}PPuVfe#}Uhyj}LeQXAAJ1yb(|74H1j)Qt4u*wvJdj{Nmwr)X+ah z@wjDywZplN|4uWZ371L(n9te-6ry{d>Il2EIRwX7t6fPaE?L9AW2t+7_TS?yhVl%dV0g=a<9 zuOREh&_ON3&a3Hul8VK-5qQ=(WGr;MJe>SkVQKsOqzt& z=9dC-WG756I%gdKx0I@$YdXAL205!GMnZ_si)b7=+QJ;^jN?bYa#G>P&f0i7p@p;&JTm3H|PLPDw%pcS$@>(_2>EY z3IWv+{ZO$wXMELF(PBP$ak*^!0-v?LJTNYx6aC%Hq$J}pJ@Gl;0vPn#eai$S{$16Q zg!m432AEG*iY}^7XV(mW^ge+tGGrQ%t&@l%iVta>b`JY{9eF@W8px1iLH!v)W#l!c zq~cN%z(QP^sO4S4GOg*zoK@iyypN<%Yv-DO?oAdZE%h&afWGJ?x$agJ=FH-o_bRP4 zlP;H~_9VB`em)b6*(NPlw(4QpjR(oRw2E|fdlN!%;mZC76Z--v_2jft4_>Kyq0?&I zP+sX5s8LZt7ONR`2t)9sxtq$>*BH~-Rxf`BohiGmx8l@GnSH}G5${EP->qpAc<2<- ztl>1m4Y~_Oga16cOQFnj<-5e8|Fur`G&<7QS4`Nk3J}4kmTf6jrQYpK(E(>g_=y(* zHm%t)@>r_%lO<>cd+ZICzXFOvki`pO*&IKS<8ya)9$JbM7}?JBgBVyrX8go|JhDm! z#*J4`LjH3CS8+z#yFDuv8<(b!ZpR25yxGqXYm{~72JQVz{2j&!7Ek9@x;$xQCh8d2 zt2$K#RBj(KJB}Ac_Y(@f4WO+Z5DGEs2rqWU7@i5EY4V-2T%AZeOI!E8NLbSa6*?EF z1Mlii8fP(f1V`v-Ui|0v+eXp(W5IcsUDsCQFDevtu4l|C35_!&&X9Bs2Yz0R5ks55 zw!y|viPtWJ;69@sr85{D2+YJfp*4clC%M(THDP9%l_H<28qw?g#$BV)C01$bC9nJ` zjWSoNF6WGkL&NGg`c`L0QoPu=r;fwRAr0e<_oVU6;*SINc7c8F{Ms>38slKjS_0v< z=m-PnRld@UhqVlU4061_J2GO{3rR-QCCPMNc(gFC zg2k5)E!JLOlS@rCB87^8C{#KeL3xtV_2D@4|8~l2He04vXU^yfeUkTxdv`5T03&p>?inPlg1^(<`#s?}Fr{>+ZMN!sLKQvnY zZT~Q|vhR7PGryDB9TuHCd+3E-7Ia9nvl+t}!0&}v;r(8%ZGU20+WYD!&eB41-_Anw z+tSj~*^iWD>%z7Ux!W*G!kM3@sTBVh!i%`Dz5`V1Jnah20=H-#hCF-X=Q#uXAv8A^$%x%}2$??;Fwd&v=p( zQGUa~V(?lk&bM|qieB>{OVF!;7-G|W@y$#psKK{q>|xyEfG1V>iHQqwcK77%+laq? zc`SUGC|!Uy7XP9~w|mQkqJz7MzX^@lf=OycriSo}AQ!3ari#k4(N1R#Ii4~b?E#Fj z%R~I3hzTF%EUER4a~$pb4QX1JZ+>z}NQ6;R-&%d;&}vKztB38Inu3PRDS$jOtA3W% zm_}bozVV#~FsZMi8Tbk?`CjjmOsV8n)c^axj}ekn6mU7cV0@c>!j8pHYwLPVBvXzkcfLvKnzZ;{CrU+@j{rO^{b8h=k34T@=~F??~UU)yT(;B zFkLxFiM%DzuZ{nRF5E2Ix5_Pnhg`U^zZFhN-v@jxednXiQnU&~xLVs(h}Vl*{33%g zfEKz5szzxYF>V;{15SyUkh)U7d2N;3Qu$CNZ&GO5`^*9?%eXzzbf0 zJbRaL-|fMY`t;}(D}01V;SYZfgu{-jY3x+Dg%;A^>9yrBT*Z@@ivRukf0{eXw<^A9 zkI$iz4(XEamW~6`9ZH8N(kY$i0Fu%mp>!kCod-}Fq@}yN8_v1>?!R!~+k$+~5@k~n_ggV;@SK};~9 zgX9kT46a0iwB0BuYZY0#PNMm*Fbqw%9XUL;VYPp*smzzD?}DriI~1 zQw|_oEJ@sIhmKUvkMBmwvEMajR6Ok2oWA>xvf4Gaj`h?NitkOef}OIT2@}Xt0nwx? zl;HX2uhy5#JBVxaQ;}F|0aa0G1O)VE=wqVDc&r4XS;u4*->*f#Z_}@n?KrF}>iz&v zv%7z_9Yb(FTm(Z|Cw^rfFhA#DpBsq|@xAvw%H@o0HoyFl|^ND{SZiU&?1)kKc$`Io2 zZ>DmOG;#uB#{js#mm^vfhOY_*geMQt!kq%>v2Tt=U-wjl-#N=f5y-5Q{q0zLwY@Gj zsWATusV=2b3m(G>w0sHuDWkI0Y;8juM>~$B745XwO!Bh9&AMR?zygxmuokq6x+-Tu zaYFaE2@4@!1^{?~6Wb@WWA3Kp8r9k|E2Ef>?qA!+7SYC@0Z=W!8AI+&qk3BZMEknQ z!KrT^E&o*uu|YbQ0YX8ODHL_@7^4md3%U#4fATr*9gu6v%_)a8*p5orC>GA|c{xlb zfUb=Zyl!3}XY8x=zD*&(n+Px#FpwLmd05%WsD-GNej=^v>r`Yw;5??qC@}2Qb5iJ{ z@7aibR#dyr?6~Olf|E_2v|_o`82ID*3X#a?&HH0y6*fD{vl1)8IRq}Hnvs*usrJ^l zHax!RwNQ0bX|0b&WqQ*TFL@kcg{e?$aXZhI$!%l73yEn|vxKRt2v*Or`%Je5#Mq74 z9oQuTA9u$Yk`ZIr=$+^_(6858@a9LR_FLmjStrfxn!$kJYlY^0HZ0Z@gbJqkXDop< zTCGYu4rC}xaxpD*=py_Xs2F?!+)nd!9J;qq)m^AOaKy}!(I!9A+JFphnxYSrAN<6G z5GY9`kmlG=R|AQ9S(s-ZvG+V@+olQ>tQo!)kosPXD0BLM>ZOlMat^?1^<9aN5}7)- zoJ9o$ATfPhp^9ghHYl_>SyEjUjG_q(Rg+~!)u*#ho_dBY2A>Hh`h|7GEO|O_3BCsB z?@}581Xug|ClIfn<2YXu>uuMon%Xwjso`_m zAH;Lu85;`->~3?Qu{-8fV7;+4wev3~OzX6kTBVWbM0q5=Pb%=bHS7tDWg}2)t`~jO zVkgd$u=Qi9cFS|WW2;~RhhvMupqzu!mkLN1^Y=0wIc5lg&3N=|$H#C+7MRHr`; ztFIraO0>w1Bh;8(KY7mm$bRtS>+ZuWl1^AFn5}v<$)IIgqQ&)1`|B}xpPbrQ;Z)TG z)UhWYhmI72jD((Mt-au3e`QQv! zbK4OyD)lnBgOS`{;OY_%`Wgirv(>M@uS7o{ywQBtaEJ(uH)Tfo5A}ED=4nSu^0KcS z@G3Vo7zfUrrm~+RTBhAj84i>5CM-}xCg7tiz}HQ4%*?L}OZh^ioF^h35@g>^pf}uL z9|rOe6{eOv4e^_QrS%y(@Bc26EVexvl7bAhMUY%*7)G;yuT@>V|@2u2=9q1=+>%ax1LJLjvbD zUT==WuWH#UtKb)?vQWU++bgk9d6k~TiVOMikQ@Hq=O4-t`pgG=YWF`z?$ct_p5H$x zsVD86uvUju)Q}30>SWgb0B6QjtNzU5Srju$Bwdi0BXQMC*v`3QqXi3sn}-r?L28Cx zu4{i?(vM9ijvKr0tR0m?0IDBi8u>yK8WXtHX`v~VYL%j5NVJ96Q$jlY>k%mUUdZ{8 z+H;lrMF6#_WEbBl;pl4DFRwmLN1-UE0FPI5UbULWnXjM(6y0xrG@?l3Od5Z69CW6B zxYC)4`_|s@N#YAsz{oqCoC5H5@;mvXWsfSE(cJU#r)+@5pZDU2cyxe@VN%VT>fbsS z@zx|ZND(Gf-?5K&9bu)@xC@YeQdK!XksY>?P&3&3_Cxq5$(M!l3j`no&k`o{5bjU; zLWdtDE-^84T8-gKC{;+``Z|+EmLnUGU()~0#h&Bdw%@n8j81@bJiL01B!cy0dZ*nN zG<;d+`I;U&r4p2=GZS-B)u0Q%62x63IEJ2Zj&yv}!vTu(e-vHgG6cc?5s5S=29^>a z8qVGg1AEJuA3hj)bSuBG7+Z%)gIs=~x3*3hYUeB@MbsvtygzhOQ_(dRS!(f4uLoXB zv7$9SS6O%%0U>~jSlnZk&sQzQE5c)d)tRf`aKHqg^gxHuY$l^n1{lApl>^cgg+e{V zdOjU+^~jYP)@-E52AofN@UPpn^YDS*f2$PY12VByL@en8XoFbZH!4OMJeOY&{Ooi{ z-`QwVM()U{RpsyY^G%A_AY};wfiEII{Czu2z?(19Pw)C+$Z|obT}0vWY1VqLoblfW z*V;s65So-(pIHCE)ba6)U1RLJaRpQni?rwx-FGi~u!!4v*yYh3+p=xlh`7QE=MKj) zpm_=3O{)5acl-)%zEH~Epo6)QPiInu6sj@8?JcYDSzaTZ8dNw#J65AGI~}Y{=o64V zji`S5<@O5OQ7eT4B8ctJ>iji}{*lh9{b^v*ZI(Aii3cBU?Sop(UGE>aA^@F_Kr)Z+ zAwQ1&PFDnEU5rLOepcgnY^41=(A_xktRW?TQCTIhze|JEtDnCuXl|^8Q#YSgQ_t*yGrIoHB#|GM

rw|!mrAkT=Yl^tyTVpaH=vSkUz%s+A9vOJ^hYd4$ped#-GaW_k z%{_$-eqBH&$)S5M%kNg__LsMT(pxZ&p;T)s&?l#gMN?zs8*`(yA8Ut(qC zPkqB4@Kvc zgqQp+Z;U#l4ihR^QR?GCY>2AVMumW+(+pX<@bK?CFs#IDw%sxBat{4pRAz#cYS=G6 zVrxegTh^F;HNEa405^)3LTW!;l99yc&Byd!WR6(6TwZYFr`?TIL3{}&#P4=J#>qikfdD1DuZP2fRFYta$#&P@CSM3c zQFaoqXmn?4AZ;WiZER#-H}Q*!Tscjh@@e<>MFRAGnT17zjm4~YkTx6%i#Qed8HIP* zS7eR+#cvWesVaM1HR%ydj?5{jRc#LGXa3~%VqdqVR`uKR?ojIw@92}GL^xR_u@B4z zKP8GEnizbokGW40-cD~X94D2J_{gklyPFa346?J=Y|#3NkJb4xdrI2$b0mxp`E+HE zT~RF^^l!QrjNEB@!2ic#OIFJ7X@kfvRlzx}p-{yq)|^-TM@^<98Q8G+$~Qn+=B$$u zE{uI}rBUZqtqgZefj^l7QJ}>7gY=G>P)CRAEX;g*_7_E+rqtp2vecg_Mn%k;|AgbX zHV6E19coKtR=+YH?^4PxZc#rT?EDZOh6xymbW2 z7Vnlnr#cP3z%d)@hE1RyN5sV?N=^mp3BZ(^0==mY}r0s{uVmSu*kBjiqSo8 zXppSMkBP^EZ80OTT7YO-RQAF3ji2 znN9Q5_1eOPlvk=m}Gt~KgHnRwauBUbb!-EGi%;Oj?rFsjsTDLycd-^z2=CU z(>};!2=|?}iJoSd8lrn^h+1B+r=hWVqq&I2L3aUqtjVh}_JeRY_K$P(1cVO>d|%UoVE`{oFfW+GGk~dmEf6x7?6U~uMCDf!-{?- z`MXj5UHGaIaz{O<~7L^n7O)<+GokRV53rn$RHnR4$6sT%K!{zrWB%eF|*D>~vq-&$8nb z9qnuon-jd;OQ5;lyeJ$ZWxNviKFah zJaGLO+fgJkjU@4l(7chE5*?Ld!`53w*fY4})j32B6KcC;SiDQqvf{pR?l0e{pJIzG zIVxEM3FE;wdQ~6251S&ti~37><40S4QmEW06(UaPmpZjInkB73)!2F%{H4P%w>9-L zhKg+wOzop!LxH21&&+Q5;?uSl;$_tLJmqeNhg$bCSrwG`<-ds^aYN1VoX|LX?)y&l z_bqlobV0B+_ts_Kl+S|#r+jD26R1tc%iWqXh#MLGgc~Q6I6538C4OKIU|uieS}e#3 z-Ci+dvpIlN1o*loZ6QjYmR-&B@_#>xbtDrDIXj@dv-RpHDA8rl=6)7r1p!p`)#3tx=J-`dTXmxlf4*|=#OT+DQ_?CV*^ZkS;L;-fm? zPdOvGYU>|MDD`oT!ejE^Umj|=J}**Lu{ms)kjf3z&LBL*VTqNn21++Bq|xYf5Np9t z3t(dL7gEG#Y0kgcin%3BID31{QRa&I7TH8m9In@mTFh@F5SXZdmfpn(GFI!S+@pO1NuV3E2q1CFHcv(dqYG-#&a(;&+$rQvbs@0E3!&1{P#4nHqz4z z6q?y@TM*@6L<)=`ziW9om)<2Yf&@~WF{O@d@Bt}%y;a2|84=7yv|+K2xd3968H>{LD!dJ5;{TnVnweriwY z`5y69CI`G0I6cTT=OCrBsyYu8=dP=dzBBgulhipf)l-#a_A~XZ(@@h=%i)OerrGbA zRf|KLkdEToEPN!l6XW?v=V&hvT`(g;Mle9fM@9ytUAw(^XPd+NeYdj2X#5S`P+0=A zcNYN$IP(Boy;~O>ntq)yLVd;^?G?UF55#)uq719>tbfu@SC%+>8VS z!+)O_&$IqryDWFWJ71=vt^c;Fjc0OmYWy)O=YTJFA;s5oC;D$k=yhzD{ai$p+&!uy z9Z(+VL&6-LV!fO8@MfzbUO)BrBF#a%$E^<=Ul;g;RQ$Sp;*wfmquurpp!U7+bA^ji z;&(4^Ij14yW){|eeldGk{8zDKGp;qJrRLhDjY&ryf^1M|(Ihz6PCX51SBDRH>b7v0 z-U+)3w>`2nrdDlvPuWk=FRGQuz=R3$x7v0U@-k6fL@qW`JX?PU;$-X?voOwaE2RR% z>dB0rD|7w|HM_?18(T7X&u%c<9b5}o#R9I)M*REgW5T~K{6D+B&Q=D8w~zR4M9GS; zg}mAHyQ!U5|8NqVMF`+#zd{p1$Lj}KOTKCBQn;`l+i@&|jGgqHeXY=|i4GI~c*Odf zy7!Zn>noMGO8+t@ud&!hex)`KY56Kt89PNT(Fc9>@Eabmly-&Z(N8F(FUvUD$${g32RTbQqf?QmQhPf5n_Pa zTF#vh92L&+(74?{e`^L~0$oSl0Zs_61|Ydp@? zx52xti0dxjO!E(YxXRvY8H7Rjon>W+Z@0q3Gol56UfbT_l9_VvBTZ%1uYRf^PC_s% z%72(|I@}9bL~Gg>r%rQFYtZ#Vsk>be8^b?l2Kj~>VGDvr5_~n zU`ayAtF4AY_FfUg4=Ctz>nE}fG48~uQ}u7?|Kp97=1BXr#LFP)h$g1_2s6Lv)W7tV7)_Y;*%M^po_V$Zv`+5sQY3M<*Sl+^jFOrkg!I2pP^odY#mfkG zEO4b>sO~J~9!5@Xpu0=}F;iOD{Y<5gVO{2JCkeQaI0xgB13qCG(9M-<5BUl8t86?m z%l}aL=ce&^xYG3i>1eJf&4Bb<3yW54)NBkeA6QZzsmdV{()jRjxDj_yl9K@82Oe|f zuUcz>XZ%+dP^`bc5;Cg$#`ysLD`LDD1yG5UUP>nuBfEFf+UFl-qFO@zDX^-`i&7vB zCr^yXmIJ6ZH3Hq|Cwf7f*?9!Az%vh<9|sTDHr{*Pln5dFoU68C4tOJtu5Ncb zi>vSyTO!4Sax!CTH5;osSG&#cD2D+9uY%>DJzW@htMv^h@wdOX8Z?xY@J|8Y%YRAr{` zav@0%Y{|5ugU;KegKwzODYF{?q=Yz5n+qJ6xXPo9#k`AePj)rRJmPx%?0nr zd9$ydE&=s?P;NbXrwUtA(!7lSS{DETtsEBJKV83Tk`lVktQLmkbkxS4$MKv(4RSHG zSi3*jDK&*ehG@|gH35}SslPW@PgMmpkn#f?^NQvfj!Y~VcjA$>Cd~QG0!M0~W+eCs zsbCBAzIvSf?NsX$oGM4slllqgHcqrjoFKUVFA6wUnhEi)MB;`2DIW=@b0j()%4t;7 z#+_9AtKwyF84<$6VDG70w?wKSCG%BThg_` zdcC^8j&M4qK7NACb=jHI18N|V24(;o0LqcNG0iv4F;=JX5$&uwq#>1dZ#`8dUn|_J zyW-qUFYlcojDe}UZ-3uhRXuU(xdWZBAlP;6p|GQ8Q2DrV;ut!+nRXP2bDY_a! z;tNs&c!~8G?i7*f$^xvw8cNk@Tlw-VngZMnCxYLZN>QfKck|D?sB4aAm8l-L zTEr3wsvkz^5X$PSa#h5H*vIJys!R<^C3@8{x}j+iTeOKNtDQJ$_IO_NoQR|=OnHDF zAq%Y7Y&px*=9a;>MH{*ZmfsP8-R^WX+Qt!%dT<8|bI7d5bL%8$=BgBoUkVm`(G#$g^3+a6Oqfpz)(VdKn9S&{$chl>AF ztScZ^v_vW#9t;IO&R94-dlwK-8-5SKVg%@_I=a^JG;CB{Qmlg%j#1Cbl27MYtt4*P z+y9EUmX6kJVEsOwz+}yZTncHWPj=Ol{oGs^aV$9quwsFm z$p;5`mnAo4_t6XDoLqCq(i)q4s3Ljr?@0aMV1gf>Nc5MtPl?{sE>09{X=*`|hiCbwvW{{h4APtkmrkQ|kt+0cLpSj-4DbRpgw5 z4n^T@M{}OVBRV%f9TeDHp}emq8j%SDr0CJ;mmWB2n*`|4wOI|vH!#oOA>XJSLqCs7Vjf2Q!XbT?6l_V( z$%e!m;(cLD0Nn}}4$G9x(x2Lv_PkHLqb7nP=l^@-iO{Bz4qM1hcpUwJspSiY^&JIZ z@oJ*1PKq;fJk>W_{wh>@d`^i+2?%dq6$DpRNm7U`RG{nH$MadpTji$3W4M5 zbaFN>7s&&RUX?KpS&RQn1GR!afLbttEm{ra;Za^>6c&;pN-_ZIa+i{whZsFKx69|@ zciTT}s8o;MB>G3AeH>61ei@IS00DIcV%{~DybOav_5-zfD!Y2oGKv=L)LPTNcu6d{ zQT6rk^oCUlkLsBt{i;{vSpI$hUsai@8m>D%1bxZUA2)xg+SF7ql?#`SQ3y6l5D<)( z48jW#Qnm`Y^p0Q-$ofP7aWn5*-@>Dtf3bw@0_{G6h)63t^WD00FG18Jmf0Vq2)pA$ zY6zQ8#zyYt9xcyLU;Ch}T1B|aVswxWio@>OFHiVk5MIzR>$JB<%g6$nu71{D|FYdwtK7_~JjbPQ+zB?2-2v-dTwa=kfH6MvUzU`_sGDzrD*NzKUT)2-jRo z`gkiINfGUL1!0#b~MYKh3wW2O))>T;Qb4C1K>y+yn># zq-&@b5Xt@`)&z2jHfcAr=B^?pZ8{iXo=s8bH&FE{EVmhMsF4oa{qaeTfC-IqdrUyCBESZnW!8_s2!@k;#s}dKuT`&u|hA*qW;+#dXbiOqid+F``q}? z`f#fdsxD3NC3-~`5rml|{5O5|TO4TWcGEaRO(i;e85G^JA>rHN&ONQ7YuCMDFU0SC z+K&CD=eF-<0d!cRWeLlodP;A*nLi?Y^=9!p>))oTQBMyCvA>tcF?EiC?Z(1}cmnBa z0;JQk`949B4e96DP`z#%QgDybwHPYB$xPjCY89X~N_lOu(xCL5x2iF4=*@lvvwDQ| zxwe>BZ?{ZdwY>iJMgVxwoxnq39oIea<*#jDVn)S&Y4&|*ZISB{LNGW@z=T*$UJyZ_ z39Z{U^9Z1bLye=yzc;?sU|?V%8G;p?r>vHG`Vuv<;^%I{h@XZwflbdL$g?oib5Gia z4Vsz-b*{PLsC4eRrU97jW9~U3z2s(o!X=@C^uQsKft`S!1)3h=`H7co|NVy@tY^W|U%QBJ&ZVzpph9(SeM;uOQxwBb~*C(A@LoN<)m?Oqrq1+6Z(Na_@DHjFk>?ngVxBQY*55ZetX! zQZsrAK*!hcSHSA`)j_LG>SP?sHBPOSvuZgWwQ{U6CmqrAH>bQ9TE0k?qFJAjynMlI?bdrv+~XhIDJ|G^cPLb2mC$EgM%jyy9I~ zTu6jVgJYRg)&+j23p+0lL*|cO<2vOp|NCbyT^cB>6RFE?>tPhy&`5c{fSz>-QQUUW zAN+AZb?dcqn}wTQF$XWxR{d~t_3zT`bps@7;oPAYUUqQ)U9boKJMYPBB=N&{X&$DQ zj#&Cfo^lpqY3pk33o7&iS%xYIZzu-%@5&;Q*Oi|(tYlc5Q~4y_gCrN*I$t<&b5y!% zZ!%C8@B|Y5EA9G+u4&q=Rzgo*#mSFOlPQml^JF@*VjCF zDcXhjGB7XHl$^3$xl3FZqW^gpCaxbALv0qNhkTLrBkgw~O>7gr`dcf%YR|phJ5jSId4WMxm`T>ENUSA+aNC2g_a847QG?bNPaa*{td&^|D@ zng6$mVNN|UyTCpyU6*kBV#4%72J?_sjR^_=VP?&(VIaUW@ryI_u~+h*L_1?SY@@Ll zQ_VafHk;;wHK5jdS!b?jdG60mJ+TySz7q-Q;v0i+^9D3Q(^99@poq3G_w{e8pvHA~ z+qcv`g4S80xGdG-mw-xE@Tjsso_9FSZ41de$Imaq8^&cOxSkV5Ey4%IV`oogW)IdH z8~=kZjBH1V`cq8iopxKnH1o$$F?wGu=5aX6~Oqy%YQ z{fHMvvSAbE&h>(i%_o787ueb*lsUnlI=DUZ*rRFgC2iO$tPt`j5i=E=9-R!R*^-@-=pNlg7jy z(Jtw^ZqYB~D+uhC)h=BF4?7Pq>282U;}V+HYY(4oL3RG-FLITJ`GHLL z0|Sr6ex*keX+K{2Wn0)j{s^xT{;pZu;kh=8B#})6{e`Y%ld6!P@JFT>J#G4zZsP*E ze7Q!efL*;ji^H>quz(esecc#eohZ9Osdj*Yzl*&%@!Ict`zer%#3xc`ukjws8-086 z{kIUOgng`rk_Y>|K6v+WcyhASN}DUgh|brRpyc~;tPATN2Sg^Np9Ah=yhKwmZXQYW zQ+oJOsd344mJ4pI0}4Jwl!gT+%w6(2YR2b47}9HHSZx?Phk(Vq@6}lAZ+;1scpw4L zPtm+ym(i%?w)WNt2viSuv7>)F174Z;EdcM6cAF(ce%(d+AGlWyF*6yW2h3b3Hf#QB zYoB9iIYXXv9PeQ&{kC@Dhi#zut$p5Qcj9!rEN&r_>#jsGN`dj}#IA)~f|O!|o1W?M+CXrF&^)>Z4jaL^<%TrqlL+r*(n?6(NP3G zoUTkQh@gyZ zwWx#p9+Q7c(o1))8FL*KW>T{4OLQ7BDlv_hL0c8_RHpGAHMef8-B51 z=n1i~$ki*u5vXl|^__``4vQ!gxFb@FT-kRJL;mlBo*1@Q?aCP3tbGh8VeRm5g zi7%N=vRW;%54|26Pf9k!kiL7vDn5b>+-w$V*~eXJI@=@U@!qE$lvl}BQljFb0~$Y( zb0!4#{B!qFt4}qkSSrxKhvtftt-bn*=lUdFMN_jI!7QOs{+uOlphPTI{}3mH*Lj}w zjQH-mv{P#na2N7!x4R5Z4K8qvr;&#|hM!Yyx_0c9cc*t#*w#GP$#lszX%7M-Wee3I zEX#S$!s{CRCpe!;kx&W6(F|Y-UrB}ae5AVG;sQw?T(me^=b>j`P;kMI>dfe?Z$tpM zBAj|6VOB9<`JajjGI*r*y>Lu6vr~KteB9Y zt~17{{%Q|>@Q4-{$WTLnzr4WYOG4!V?1LCjU;5B31Qnk_$VB;$eb;Z`j_*G@l4~+6 zK9yZcaw#`kEX6Fx+L-@US$hlufDCW+oL69_u25DlAQ{c~rP<$4 zXK9`eQtk59^RN@FTbW}}Fxr+br1>8LL|uxMruI8fQ~rD%w77an{UDz;&KLF+l5_}M zGHXphw>x2lpPbm#{{UavpB6*2^?dD37?RcUfxZ_XekO3iBkQL1=>tCJdY%OzOB!XX zVxsN)BTa0eAJS&HqraDcDvhO-NYF;2_fvys8GJ|JwOUl*^WWKB16n5^r}6%^GssBQTS?5(x-zxS{3TKWfQ$QSsol9&>{ zJG~@RML;KA;-=6)p*)}$cY(CN-7;5k3V_|2H3Rn=^&A>EelEDJRa8SLG#ph%TK;xa%Ev>7z$o%H}AQq^Lg#LUyLeoX!2 zre3)uL8@%@{Uj`xG!RhS4bqwxg}x}mV25{1^u_-$AJA7fcDNY3+=-VOlon(A1R<^|edmR2TujQDSrV?TQjzpL z?ms~y?+BoRsOaL9D=t5bz0bz>oSCWaXAXTJI$@f;kY~45` z@8Lj(0{ZFn&oiLbwM17q4Wm0#u z-QO{Khka!`z6V4EaOp6zG>A{U*YR@ykwR-XfVc7bFWmg>#flay?v&!t(o!hy?(Xi+Qfz^Ry?yWf z88=@t$w|(c%uJHWGm}^?4MiMG3QPb1fTOG=uLA&p{*gdsbmV^(U(JtS001&TOHEJV zUy~64paP?FFyf2zgG~VdC22Z6C6;6WAVCSg4FH&mq`T>JN(j=b$+N-6MkmI{r=p@_ zVWi^V;1Cz)5f&C!Qc^P1QnE4RH#9W#vJtnju?g~Wi;RrS%S!9(>$|zRK?i~GK>#p1 z2#k+TMU2mg4Wa{M(}9UO@X;Bm@LA}vh0#GgRQNnB#L~pr!Yueo*dSpRDm6N6c@AP} z4mv}8bR~W|d43i>7AjLJVpB$RJz=n(FryO~-<|{CRG!g|5o|Bc7{q~XqsHN;gbrZ= zdug%6@Gv@QNhk1QyV2SE8OkR}OGldWA@} z;x;TSeros-VYNseo-`%P1Yy%6Ev*_gry4!KHb%=O8^0-=j(#_4y%gZY$C@2kL zlN{+)6XTYgoSc^y2}x@zDk`e0$*QTTX=-X38yj0%S{fUJ@9piu0T6s*bYd!WVmfp% zBQ_leHXT2hN0y| zFh2*6xU{r5zmmMLmYTe&p_-+sp1qAB0)fbU8Xf&_XL#vo=mMkx9G~vW7-_tz&*Uz5c2C#`mlbBcxB)i;HDvp%&hJ zjWw61^W9_J^w793zeV?6GX%t_Wv$1mKik}rvP+)%rjf&lk?^51>*uQ#Km{5MbqSzR zVsUuW?06om;fo9!MqOGj>Tg#9e17X&C|Q1gU+Y@iezyYXiNqjcQp@78`hP~8$^3R= zOCOi@+1!j~l*F{^5p^YhY)m#M2GOZ4MZ|=z8UmqL2Vdy`Ry{QQNOgfifOo{z020HM zL7`Xild@TL8pafIp?y;F^ef1gVQoJ&3|amS6?I_XlIHH)c}*6F`O<-X@qhEN5qNAN zngcu29va^IC3-{q_g{eW=yYm^XwKTNmnX+L!-qq(6>z1q>d@qXEE%P;3F}<2*}=BpEkY`r`*(C``f#I9 zatYXf-2ftAL8DKxp)!CT8ZRVinBujzN`E(rJqmKsNqwtdZ5ROBy}wuA1T{`%jRKnm$eO^E-7Y0cprVV!=PuTi!ydo&dW~Hm}+=fo>zO z<;r2S;el9`e#}l?x6e-KjAg(miI{h}S(D)(kPTx(NF=>dyRx|1{%`i#QVt*f<-O8HcR&U zl#bGAB4*q#Y^u3nN9WFWfJsnRG36i?%a5*s+tRcH)(y#V5GD%US=cWpru?@}qcEw4 zejpp>=#+9*plj3vUlm6E=#+P#)H7TCv9tnG?k?>vjNx(D2cSoCjy^Q!RWSCGZt^duK=h3uU0c+mQx-r4uZ4E>r-i%=2^x2T@9vADqfion z8m`-9MCb_iP#%_E-4tEQ(M9<45jG<+r0!{IrnV|^oTVE_Ubu(W`uSCjsQ0&OjPV#H zQTe0Ho&(H{r*4UZT`AOccQb)`qpS?M*$e+M9Hc*cxl?v1amkx~#1Vj(qV(`{7 zo@0|j?oDS0L>LrJ{``11$)+Ed0AMTxOV4vM0+3$~5f$hd%OOEC$$nXL(gS)zW4LL% zxeR=#R_A%BwE~1PBjL9iL=bdf@>$)51c5{-LHjq$kx%o=fZHT#7-7>>|$f0}>u$==d6mHQ9yn-Oe zALUToTo325*4x=efr1y0hnpAyk|z+Mcj7^sh%v0xC?xzlD>rJ)zOlraa5=(|yXH8}ghC%9;?BrQ%a69> zXp$%?ub3|?c?`mB^5TLoVBm}A)6Np~EOmKoWbw(ADf^8IgFsR z6OPmma>ricMT*((EY6r4V2%5(Nbf*t31Lh6<<(hy>}A=;T8Kw0M7dGN!Co+YmW|xQ zTvc!K=Q;g?rS&z^*Vx~@Q^%UJ_>j8iWJFA;mNSWa46s>Nzge^mibQk@II6eC|6{qg z!Ae(UXt}IyqQJysNsJ&*LoKSZXy=jA#Cv!L)gogQi*sem{=IY6zS|j%^7kYI1JR1M zN|A%dr)30+LeT(C!yLn3A;K5&I&+&DM0MQ1Q4$LRQSJT)*3`6P5 z4!l}OmHtWBgattH&9||C>u}qf7)TQ>iL3w_XNSIOagJ~Xsuq6a-u)xHxh0_yD*<#u z`94Crl{}egE7eyz{1+MS9;zyxRgj;bJ#9ZP+3{s=BMHu+!Z$V_2Wi};-CE+se6Yo1 z`Xgx>;3MUOK?ZW8ZQbGU3fVoHOD&^+dAdpfI2~kmfxoG%4vTh z{Gc|=KQ$-yQ6VztkylQNz2&t;$S1x_#jB1^gKjM~O=Qbaq)B&1wUTjr!5*oUI{E;- z)ySpWdr9&h@vhE8D>sH<^-t3S=UonD+25nM(YIb2oS5;L@+0+f@;*ds&V+Y#(0b$H z`h-3_92UCXew*v!ae&wm*HlRLv$r4NHn_JP?Db$uv0_o#V{#r6CPZWSs2A6f* z7-h(W267yu<(G{}uC%#n_!v4R4>k^UHQqQNy?@p6<)#F-8W^*9Z{i2N*&&)jL$9g$ zNV?4=U8;AL#z$O)HPQR!D5nyY`=n})Gmz7OKc4oi!Ro`EKkXc&4I!I2iPPit`DVB4 zcLb;jp%?|ZRKaYb8H&T5RH@qQrL>y>h(~Km;`TSp+)@ULTzfg83-qnUYHNsq5Uh7` zgWdPiS4X*3_%GA91vL`Raa0ITXn)W6{nnr?a4i}pL{A#OOzkyb>L?z$u&w*K@BP2s zXc2rn9~PFOp;AhewyE-}kCVvS&Fg2y9Z8!l!HYZNi$vVjX8nhGql0X1_S~OdPDvuX zQQ};$$?aHClZ8_rB{!=}%HB9=3#pD%_eSSu!-hk%OO3c667G|<>xEF72Mmbhg@@F5S_u~9ep$~jL0*NuZ%L@ zyikIe^J6#bxox}niRZ@qmHQ061|@O&GLhStJR!(n zteHqZ26i_e7m`BeDBzSjJ6&PO!C*`IN>V$D7txq*9O2Lx@z*<@pu?^E5bl^l5@Zsj z+l7;j656-5>qO{)L~&H_AEZuijuy8sJ7pw#I>wEWM&0H>$a0W&&=95A)`_0?&dtXS zYONIeU+y<|*i#>$N=Jd;J|2IZw}77=eN>~?(~sEKT&HFm>vMACYgI8HDS470e3Ukgm1 z>^+7qyY_TG(@N19y{z4U6280%63UK>+QR2+rglT3e*!zgtgD;j>skedSu;9SahTC8xlA#}f)K0=c=iD_n)CNT zBp);rP_gNwM0!{o>FjsnDHplA{fhw?F`)@sA5WS}9-7b@?J4gs63uu<1cnX?5I?#W z>6c8Zs9}fo3FPQ5Jn&99Ut0*S`2g*^ndF+Sl=~{_3N+1E)9Vswo^}&?7?k@?bKj3> z7t)(ScFFV~aELJjCEX8}49P7a2+O)w1jfssPgDSwAc>A@y*=ZpM7FIlQ=5A--Pxm8 zX2TXy)B-O@M@QI`qH`cf=NFLDKfAbAimNDU$rsaewTDU^fv*^sm!c-!yD{-> zF9?oJ1k^2w7cBQ&?dT#VR7<*Je>T0~+zoaHEi=kEc~gH%k@!6FC>v_LH+dcFc}w`v z2|A`~`-@q?gb9%fDt%nudf9xhYF$=tXJ_|W{#EnhaaRG&j$=rZTfurYR6QWwm=V$= zS6-0^R(@Vtq=@rO?XAmw*)mebay^jq@U9P#sW ze?NVTcN#e+*5@mtv7krbQS^rHzBg3xM=3?UN36XF^g_gCqD1OZ8B^C=r8dx0eeSFw2 z8dU)+qG~Gt*o`2sGVv<1_q~W=oopOo1pFRhHdaOYb9G{Ey|r4yg8g!)j17E2RVh{R z{((jwmSV&I(r48xo`+hXtt;RIRU2!x#*x?Jvy4G>!i$#24GOyWPZ5NAJ?gK?qCJl?B1IP=@^j@KKmh6A%48pXW1-f}? zpd}q0R`{W?rGIW$v=`IA-B6x)1+DK)0O9NZUR|pHyiGZVXqw;~ZQ;lPrrin!7dJO7 zZ~x6LOWLkn*I%z;;?#~_m^q0x3A(gc<(s*4nS#%IFKFH~sCl?oWUtD)wZtL<}ZPpAG z$GSsVXVDlz;fn63&XMNTaI#tX#R63rhXR+jI0DF=rt;8?ED9t2lxrCl^u1vuzBhvMQi%L;H4f%zPSu^HNa~c3OjfqfQ|2IX^+z0`B90Z_92BS}r@dpQTz21=xn#L_M8m68I% zN^x8gLzEM7T9k84Y_?IJG`)|7D^g{RRJk{iv|Xc4GAnkS$_gHv%$LW7rRLcNfQ(}0 zh4F%&FTQBwmSk*eQpgh; z^lGzs7!Pr36$K}QuCy&Xbs%eTd1-5gi0@`=0qWv{Iz_u@a)J~RQAs|NArWox03gRJ zLG;ZwK{sUI%|L$D%U0=B+J?BA<(!|)->)zLGB=OzkU#RMo1pfButdL60P|{vFQ?Nl z_K5F0*dgnS{+~G$*Ht^0uoEZ4ES~4BV8JvEIBN>Ww#bFr;p6jxBGZG9PsN>-=b_*M zp{;4fz(=}{g7DsGWgaq)g_jehfYI9uIEDE2*qdC^j%j-NIT@w%GLM7}SP88%_$}!9 zD7!>afG(Q0v=kN*K>(&ex@8#;c@{vaAb@q_g>>mcY!IlOA-S&%V*f6zM|92LANL;L z)Y5L?o_;WjJ{2*xi077gCVUNWfH8wQ-aQP4V$;M4{|F)J2!}=gjSt#5_bhzERgIpF zn10hqOcig8vF87o%e==bF|_gb{er*)_El<+M<_O;hDNItP(*LUv+Nd-q`U2(Q+T)j z>134q^dCZ_k8LmfyOYGZp%ir<8oddtplO-PmcZ(;5JVa(n|<3dtGe+88CgO?;+gi8 zwh?VAHM`X`QkVM|ZQ|~lT(Mve&e`wUVrs;IP+|#3qx)HZtL|?J{VgYuN5cUTemqb|{%xWh_5qDvH% z2VR`lNVt_d$nG9f(5Ui>H5Ut~B~gwCzH&yBNQZ zcQ(cO2kDOzK}gXf zT({UK1T8mR)j)!gKvP^j5gZs?`;Db;<8q_e5a3A#kj+hA83DBspBKR#diB!#nfZ~r zda@dLY$nx;urI_#30v0e`o?iQ+kuI|J< zq&5%ZjAE18^L&R+snv?s+B#jSn4oiT)r1rMIcA~uV>H8C(NZI5(60M3cZyOSC(SsF z;qOFO_BmAa>G|@@&_g{B=|1ya{w3gi)#ScE6?*|){O=G$5)qK<{k#Hm3f{LAYLib) z>bk9Fk*e7EqQP?S`5}t6uIL`B!fUI!8nmKbLuXOu-tzjK0{Jb$nE2usIR z_WFO|{w*>{by6SoI{6_boaznO33gI*B9OB}JoyGwnj%liSEaOHtGsv^v4QLgOI}ns zFE`(f7Jq{Rnp+0Pa}~F`_ATZa8u{fYg@4#U*nn3W{R>^gulI)>^xow?~J4WZCvj5o8}4q!GxT4wd) zf9NENFi~XRyi`=ZW>0ky=p4-tcMC1`)la+e!htP+lJ7G%bh(1M;bGQwc|BpHLKFt) zN#dzIP;J!FhbT1EW^>rfd_9Ta1_C(*v3bl(bBftR!!R39=suQj6~Axv8SZO9Z`!Qe zF;PztDRlmLCxAXVJ~Zhy4+4OLmH|LYmXKt~7hFUfp5r8nX%Khm-5*W|o+mezPP z1dEx9{qB_E$I{*(4~eDuUTUSfm9+aE1?9vbmuE&1pS!?+ZB>xA#Bxyk4?}Z=FLc5K zQGf)d$LjX?GXQ^!tH~U>oBR8F?~~+8g(GD~y^_AbNkf9i2gF+X2eRTgn8k|8$#xGu z75az2<;V-Z1PDuQ30&WY_Mo)ao!zNsG8aY|q(4~stx4khhpcfHnP2ho7fW>ooJrh) zM`@j~rrJ3>ShDnT)AbhMsq&W@HEKXQk6+Fso5h!+qc;KV~xgAtFa*ZNoC+V0R7fkT_pp zLXWw}&V*a8iykr$?{@S<7`dQEK$h&e22-H&4=UwQdkhF33-;-Ev&%VxOmL&A-hz

rw|!mrAkT=Yl^tyTVpaH=vSkUz%s+A9vOJ^hYd4$ped#-GaW_k z%{_$-eqBH&$)S5M%kNg__LsMT(pxZ&p;T)s&?l#gMN?zs8*`(yA8Ut(qC zPkqB4@Kvc zgqQp+Z;U#l4ihR^QR?GCY>2AVMumW+(+pX<@bK?CFs#IDw%sxBat{4pRAz#cYS=G6 zVrxegTh^F;HNEa405^)3LTW!;l99yc&Byd!WR6(6TwZYFr`?TIL3{}&#P4=J#>qikfdD1DuZP2fRFYta$#&P@CSM3c zQFaoqXmn?4AZ;WiZER#-H}Q*!Tscjh@@e<>MFRAGnT17zjm4~YkTx6%i#Qed8HIP* zS7eR+#cvWesVaM1HR%ydj?5{jRc#LGXa3~%VqdqVR`uKR?ojIw@92}GL^xR_u@B4z zKP8GEnizbokGW40-cD~X94D2J_{gklyPFa346?J=Y|#3NkJb4xdrI2$b0mxp`E+HE zT~RF^^l!QrjNEB@!2ic#OIFJ7X@kfvRlzx}p-{yq)|^-TM@^<98Q8G+$~Qn+=B$$u zE{uI}rBUZqtqgZefj^l7QJ}>7gY=G>P)CRAEX;g*_7_E+rqtp2vecg_Mn%k;|AgbX zHV6E19coKtR=+YH?^4PxZc#rT?EDZOh6xymbW2 z7Vnlnr#cP3z%d)@hE1RyN5sV?N=^mp3BZ(^0==mY}r0s{uVmSu*kBjiqSo8 zXppSMkBP^EZ80OTT7YO-RQAF3ji2 znN9Q5_1eOPlvk=m}Gt~KgHnRwauBUbb!-EGi%;Oj?rFsjsTDLycd-^z2=CU z(>};!2=|?}iJoSd8lrn^h+1B+r=hWVqq&I2L3aUqtjVh}_JeRY_K$P(1cVO>d|%UoVE`{oFfW+GGk~dmEf6x7?6U~uMCDf!-{?- z`MXj5UHGaIaz{O<~7L^n7O)<+GokRV53rn$RHnR4$6sT%K!{zrWB%eF|*D>~vq-&$8nb z9qnuon-jd;OQ5;lyeJ$ZWxNviKFah zJaGLO+fgJkjU@4l(7chE5*?Ld!`53w*fY4})j32B6KcC;SiDQqvf{pR?l0e{pJIzG zIVxEM3FE;wdQ~6251S&ti~37><40S4QmEW06(UaPmpZjInkB73)!2F%{H4P%w>9-L zhKg+wOzop!LxH21&&+Q5;?uSl;$_tLJmqeNhg$bCSrwG`<-ds^aYN1VoX|LX?)y&l z_bqlobV0B+_ts_Kl+S|#r+jD26R1tc%iWqXh#MLGgc~Q6I6538C4OKIU|uieS}e#3 z-Ci+dvpIlN1o*loZ6QjYmR-&B@_#>xbtDrDIXj@dv-RpHDA8rl=6)7r1p!p`)#3tx=J-`dTXmxlf4*|=#OT+DQ_?CV*^ZkS;L;-fm? zPdOvGYU>|MDD`oT!ejE^Umj|=J}**Lu{ms)kjf3z&LBL*VTqNn21++Bq|xYf5Np9t z3t(dL7gEG#Y0kgcin%3BID31{QRa&I7TH8m9In@mTFh@F5SXZdmfpn(GFI!S+@pO1NuV3E2q1CFHcv(dqYG-#&a(;&+$rQvbs@0E3!&1{P#4nHqz4z z6q?y@TM*@6L<)=`ziW9om)<2Yf&@~WF{O@d@Bt}%y;a2|84=7yv|+K2xd3968H>{LD!dJ5;{TnVnweriwY z`5y69CI`G0I6cTT=OCrBsyYu8=dP=dzBBgulhipf)l-#a_A~XZ(@@h=%i)OerrGbA zRf|KLkdEToEPN!l6XW?v=V&hvT`(g;Mle9fM@9ytUAw(^XPd+NeYdj2X#5S`P+0=A zcNYN$IP(Boy;~O>ntq)yLVd;^?G?UF55#)uq719>tbfu@SC%+>8VS z!+)O_&$IqryDWFWJ71=vt^c;Fjc0OmYWy)O=YTJFA;s5oC;D$k=yhzD{ai$p+&!uy z9Z(+VL&6-LV!fO8@MfzbUO)BrBF#a%$E^<=Ul;g;RQ$Sp;*wfmquurpp!U7+bA^ji z;&(4^Ij14yW){|eeldGk{8zDKGp;qJrRLhDjY&ryf^1M|(Ihz6PCX51SBDRH>b7v0 z-U+)3w>`2nrdDlvPuWk=FRGQuz=R3$x7v0U@-k6fL@qW`JX?PU;$-X?voOwaE2RR% z>dB0rD|7w|HM_?18(T7X&u%c<9b5}o#R9I)M*REgW5T~K{6D+B&Q=D8w~zR4M9GS; zg}mAHyQ!U5|8NqVMF`+#zd{p1$Lj}KOTKCBQn;`l+i@&|jGgqHeXY=|i4GI~c*Odf zy7!Zn>noMGO8+t@ud&!hex)`KY56Kt89PNT(Fc9>@Eabmly-&Z(N8F(FUvUD$${g32RTbQqf?QmQhPf5n_Pa zTF#vh92L&+(74?{e`^L~0$oSl0Zs_61|Ydp@? zx52xti0dxjO!E(YxXRvY8H7Rjon>W+Z@0q3Gol56UfbT_l9_VvBTZ%1uYRf^PC_s% z%72(|I@}9bL~Gg>r%rQFYtZ#Vsk>be8^b?l2Kj~>VGDvr5_~n zU`ayAtF4AY_FfUg4=Ctz>nE}fG48~uQ}u7?|Kp97=1BXr#LFP)h$g1_2s6Lv)W7tV7)_Y;*%M^po_V$Zv`+5sQY3M<*Sl+^jFOrkg!I2pP^odY#mfkG zEO4b>sO~J~9!5@Xpu0=}F;iOD{Y<5gVO{2JCkeQaI0xgB13qCG(9M-<5BUl8t86?m z%l}aL=ce&^xYG3i>1eJf&4Bb<3yW54)NBkeA6QZzsmdV{()jRjxDj_yl9K@82Oe|f zuUcz>XZ%+dP^`bc5;Cg$#`ysLD`LDD1yG5UUP>nuBfEFf+UFl-qFO@zDX^-`i&7vB zCr^yXmIJ6ZH3Hq|Cwf7f*?9!Az%vh<9|sTDHr{*Pln5dFoU68C4tOJtu5Ncb zi>vSyTO!4Sax!CTH5;osSG&#cD2D+9uY%>DJzW@htMv^h@wdOX8Z?xY@J|8Y%YRAr{` zav@0%Y{|5ugU;KegKwzODYF{?q=Yz5n+qJ6xXPo9#k`AePj)rRJmPx%?0nr zd9$ydE&=s?P;NbXrwUtA(!7lSS{DETtsEBJKV83Tk`lVktQLmkbkxS4$MKv(4RSHG zSi3*jDK&*ehG@|gH35}SslPW@PgMmpkn#f?^NQvfj!Y~VcjA$>Cd~QG0!M0~W+eCs zsbCBAzIvSf?NsX$oGM4slllqgHcqrjoFKUVFA6wUnhEi)MB;`2DIW=@b0j()%4t;7 z#+_9AtKwyF84<$6VDG70w?wKSCG%BThg_` zdcC^8j&M4qK7NACb=jHI18N|V24(;o0LqcNG0iv4F;=JX5$&uwq#>1dZ#`8dUn|_J zyW-qUFYlcojDe}UZ-3uhRXuU(xdWZBAlP;6p|GQ8Q2DrV;ut!+nRXP2bDY_a! z;tNs&c!~8G?i7*f$^xvw8cNk@Tlw-VngZMnCxYLZN>QfKck|D?sB4aAm8l-L zTEr3wsvkz^5X$PSa#h5H*vIJys!R<^C3@8{x}j+iTeOKNtDQJ$_IO_NoQR|=OnHDF zAq%Y7Y&px*=9a;>MH{*ZmfsP8-R^WX+Qt!%dT<8|bI7d5bL%8$=BgBoUkVm`(G#$g^3+a6Oqfpz)(VdKn9S&{$chl>AF ztScZ^v_vW#9t;IO&R94-dlwK-8-5SKVg%@_I=a^JG;CB{Qmlg%j#1Cbl27MYtt4*P z+y9EUmX6kJVEsOwz+}yZTncHWPj=Ol{oGs^aV$9quwsFm z$p;5`mnAo4_t6XDoLqCq(i)q4s3Ljr?@0aMV1gf>Nc5MtPl?{sE>09{X=*`|hiCbwvW{{h4APtkmrkQ|kt+0cLpSj-4DbRpgw5 z4n^T@M{}OVBRV%f9TeDHp}emq8j%SDr0CJ;mmWB2n*`|4wOI|vH!#oOA>XJSLqCs7Vjf2Q!XbT?6l_V( z$%e!m;(cLD0Nn}}4$G9x(x2Lv_PkHLqb7nP=l^@-iO{Bz4qM1hcpUwJspSiY^&JIZ z@oJ*1PKq;fJk>W_{wh>@d`^i+2?%dq6$DpRNm7U`RG{nH$MadpTji$3W4M5 zbaFN>7s&&RUX?KpS&RQn1GR!afLbttEm{ra;Za^>6c&;pN-_ZIa+i{whZsFKx69|@ zciTT}s8o;MB>G3AeH>61ei@IS00DIcV%{~DybOav_5-zfD!Y2oGKv=L)LPTNcu6d{ zQT6rk^oCUlkLsBt{i;{vSpI$hUsai@8m>D%1bxZUA2)xg+SF7ql?#`SQ3y6l5D<)( z48jW#Qnm`Y^p0Q-$ofP7aWn5*-@>Dtf3bw@0_{G6h)63t^WD00FG18Jmf0Vq2)pA$ zY6zQ8#zyYt9xcyLU;Ch}T1B|aVswxWio@>OFHiVk5MIzR>$JB<%g6$nu71{D|FYdwtK7_~JjbPQ+zB?2-2v-dTwa=kfH6MvUzU`_sGDzrD*NzKUT)2-jRo z`gkiINfGUL1!0#b~MYKh3wW2O))>T;Qb4C1K>y+yn># zq-&@b5Xt@`)&z2jHfcAr=B^?pZ8{iXo=s8bH&FE{EVmhMsF4oa{qaeTfC-IqdrUyCBESZnW!8_s2!@k;#s}dKuT`&u|hA*qW;+#dXbiOqid+F``q}? z`f#fdsxD3NC3-~`5rml|{5O5|TO4TWcGEaRO(i;e85G^JA>rHN&ONQ7YuCMDFU0SC z+K&CD=eF-<0d!cRWeLlodP;A*nLi?Y^=9!p>))oTQBMyCvA>tcF?EiC?Z(1}cmnBa z0;JQk`949B4e96DP`z#%QgDybwHPYB$xPjCY89X~N_lOu(xCL5x2iF4=*@lvvwDQ| zxwe>BZ?{ZdwY>iJMgVxwoxnq39oIea<*#jDVn)S&Y4&|*ZISB{LNGW@z=T*$UJyZ_ z39Z{U^9Z1bLye=yzc;?sU|?V%8G;p?r>vHG`Vuv<;^%I{h@XZwflbdL$g?oib5Gia z4Vsz-b*{PLsC4eRrU97jW9~U3z2s(o!X=@C^uQsKft`S!1)3h=`H7co|NVy@tY^W|U%QBJ&ZVzpph9(SeM;uOQxwBb~*C(A@LoN<)m?Oqrq1+6Z(Na_@DHjFk>?ngVxBQY*55ZetX! zQZsrAK*!hcSHSA`)j_LG>SP?sHBPOSvuZgWwQ{U6CmqrAH>bQ9TE0k?qFJAjynMlI?bdrv+~XhIDJ|G^cPLb2mC$EgM%jyy9I~ zTu6jVgJYRg)&+j23p+0lL*|cO<2vOp|NCbyT^cB>6RFE?>tPhy&`5c{fSz>-QQUUW zAN+AZb?dcqn}wTQF$XWxR{d~t_3zT`bps@7;oPAYUUqQ)U9boKJMYPBB=N&{X&$DQ zj#&Cfo^lpqY3pk33o7&iS%xYIZzu-%@5&;Q*Oi|(tYlc5Q~4y_gCrN*I$t<&b5y!% zZ!%C8@B|Y5EA9G+u4&q=Rzgo*#mSFOlPQml^JF@*VjCF zDcXhjGB7XHl$^3$xl3FZqW^gpCaxbALv0qNhkTLrBkgw~O>7gr`dcf%YR|phJ5jSId4WMxm`T>ENUSA+aNC2g_a847QG?bNPaa*{td&^|D@ zng6$mVNN|UyTCpyU6*kBV#4%72J?_sjR^_=VP?&(VIaUW@ryI_u~+h*L_1?SY@@Ll zQ_VafHk;;wHK5jdS!b?jdG60mJ+TySz7q-Q;v0i+^9D3Q(^99@poq3G_w{e8pvHA~ z+qcv`g4S80xGdG-mw-xE@Tjsso_9FSZ41de$Imaq8^&cOxSkV5Ey4%IV`oogW)IdH z8~=kZjBH1V`cq8iopxKnH1o$$F?wGu=5aX6~Oqy%YQ z{fHMvvSAbE&h>(i%_o787ueb*lsUnlI=DUZ*rRFgC2iO$tPt`j5i=E=9-R!R*^-@-=pNlg7jy z(Jtw^ZqYB~D+uhC)h=BF4?7Pq>282U;}V+HYY(4oL3RG-FLITJ`GHLL z0|Sr6ex*keX+K{2Wn0)j{s^xT{;pZu;kh=8B#})6{e`Y%ld6!P@JFT>J#G4zZsP*E ze7Q!efL*;ji^H>quz(esecc#eohZ9Osdj*Yzl*&%@!Ict`zer%#3xc`ukjws8-086 z{kIUOgng`rk_Y>|K6v+WcyhASN}DUgh|brRpyc~;tPATN2Sg^Np9Ah=yhKwmZXQYW zQ+oJOsd344mJ4pI0}4Jwl!gT+%w6(2YR2b47}9HHSZx?Phk(Vq@6}lAZ+;1scpw4L zPtm+ym(i%?w)WNt2viSuv7>)F174Z;EdcM6cAF(ce%(d+AGlWyF*6yW2h3b3Hf#QB zYoB9iIYXXv9PeQ&{kC@Dhi#zut$p5Qcj9!rEN&r_>#jsGN`dj}#IA)~f|O!|o1W?M+CXrF&^)>Z4jaL^<%TrqlL+r*(n?6(NP3G zoUTkQh@gyZ zwWx#p9+Q7c(o1))8FL*KW>T{4OLQ7BDlv_hL0c8_RHpGAHMef8-B51 z=n1i~$ki*u5vXl|^__``4vQ!gxFb@FT-kRJL;mlBo*1@Q?aCP3tbGh8VeRm5g zi7%N=vRW;%54|26Pf9k!kiL7vDn5b>+-w$V*~eXJI@=@U@!qE$lvl}BQljFb0~$Y( zb0!4#{B!qFt4}qkSSrxKhvtftt-bn*=lUdFMN_jI!7QOs{+uOlphPTI{}3mH*Lj}w zjQH-mv{P#na2N7!x4R5Z4K8qvr;&#|hM!Yyx_0c9cc*t#*w#GP$#lszX%7M-Wee3I zEX#S$!s{CRCpe!;kx&W6(F|Y-UrB}ae5AVG;sQw?T(me^=b>j`P;kMI>dfe?Z$tpM zBAj|6VOB9<`JajjGI*r*y>Lu6vr~KteB9Y zt~17{{%Q|>@Q4-{$WTLnzr4WYOG4!V?1LCjU;5B31Qnk_$VB;$eb;Z`j_*G@l4~+6 zK9yZcaw#`kEX6Fx+L-@US$hlufDCW+oL69_u25DlAQ{c~rP<$4 zXK9`eQtk59^RN@FTbW}}Fxr+br1>8LL|uxMruI8fQ~rD%w77an{UDz;&KLF+l5_}M zGHXphw>x2lpPbm#{{UavpB6*2^?dD37?RcUfxZ_XekO3iBkQL1=>tCJdY%OzOB!XX zVxsN)BTa0eAJS&HqraDcDvhO-NYF;2_fvys8GJ|JwOUl*^WWKB16n5^r}6%^GssBQTS?5(x-zxS{3TKWfQ$QSsol9&>{ zJG~@RML;KA;-=6)p*)}$cY(CN-7;5k3V_|2H3Rn=^&A>EelEDJRa8SLG#ph%TK;xa%Ev>7z$o%H}AQq^Lg#LUyLeoX!2 zre3)uL8@%@{Uj`xG!RhS4bqwxg}x}mV25{1^u_-$AJA7fcDNY3+=-VOlon(A1R<^|edmR2TujQDSrV?TQjzpL z?ms~y?+BoRsOaL9D=t5bz0bz>oSCWaXAXTJI$@f;kY~45` z@8Lj(0{ZFn&oiLbwM17q4Wm0#u z-QO{Khka!`z6V4EaOp6zG>A{U*YR@ykwR-XfVc7b 25 % more hitpoints per level 0 ? 3 min % life steal 12 max % life steal 1 8 512 3000 +Feral Rage 232 dru feral rage 56 120 feralrage par1 velocitypercent dm34 lifedrainmindam par2 * lvl lifedrainmaxdam par2 * lvl 1 0 h2h A1 A1 xx 1 1 1 1 12 20 Wearwolf 2 wolf 1 1 8 3 0 1 ln56 dmg% lvl/par7 + par8 500 duration 4 % life steal per hit 10 Min Speed boost 70 Max Speed boost 50 % damage increase 5 % damage increase per level 2 Levels per charge 3 Min charge 1 20 10 8 128 512 3000 +Maul 233 dru maul 56 120 maul par4 damagepercent lvl*par3 stunlength dm56 1 0 h2h A1 A1 xx 1 1 1 1 12 20 Wearbear 2 bear 1 1 8 3 0 1 0 dmg% lvl/par7 + par8 20 damage per charge 500 duration 10 min stun duration 100 max stun duration 2 Levels per charge 3 Min charge 1 20 10 8 128 512 3000 +Eruption 234 dru eruption 28 erruption center druid_firecast_a druid_fire_cast_2 28 erruption center 1 0 none SC SC xx 1 4 1 1 druid_firecast_a druid_fire_cast_2 12 20 Molten Boulder 50 1 8 15 0 1 par1 radius par2 frequency 7 radius 6 Missile delay 0 Change duration in Missiles.xls 12 damage synergy 1 8 fire 15 6 12 16 18 22 25 6 12 16 19 23 (skill('Firestorm'.blvl)+skill('Volcano'.blvl))*par8 512 8000 +Cyclone Armor 235 dru cyclone armor 18 cyclonearmor bonearmor (ln12*(100+(skill('Twister'.blvl)+skill('Tornado'.blvl)+skill('Hurricane'.blvl))*par8)/100)*256 bonearmormax (ln12*(100+(skill('Twister'.blvl)+skill('Tornado'.blvl)+skill('Hurricane'.blvl))*par8)/100)*256 absorbdamage 25 druid_cyclonearmor 1 0 none SC SC xx 1 1 12 20 Arctic Blast 1 8 5 1 1 1 40 damage absorbed 12 additional absorbed/level 7 absorb synergy 1 8 512 8000 +Heart of Wolverine 236 dru heart of wolverine 119 poisonresist 100 maxpoisonresist 100 heartofwolverine totem 1 NU Wolverine Aura lvl druid_summon 1 0 none SC SC xx 1 4 18 20 Oak Sage 1 1 8 20 1 1 1 (lvl-1)*par1 hp adj ulvl totem lvl 25 bonus hitpoints per level 3 Bonus Level 25 % attack rating bonus 7 % attack rating bonus per lvl 20 % damage increase 7 % damage increase per level 30 radius 2 radius/lvl 1 8 640 8000 +Summon Fenris 237 dru summon fenris 119 fireresist "min(ln78,85)" coldresist "min(ln78,85)" lightresist "min(ln78,85)" poisonresist "min(ln78,85)" item_armor_percent (par6 * lvl) + skill('Summon Spirit Wolf'.ln56) tohit skill('Summon Spirit Wolf'.ln12) damagepercent skill('Summon Grizzly'.ln12) fenris fenris "min(lvl,par3)" S1 druid_summon 1 0 none SC SC xx 1 4 1 18 20 Oak Sage Summon Spirit Wolf 1 1 8 20 0 1 1 ln12 hp% ulvl pet lvl 50 % feral hitpoints 25 % feral hitpoints per level 3 max fenri 500 rage duration - see fenris rage 100 % damage with rage - see fenris rage 4 defense points per level 0 resist 5 resist/lvl 1 150 20 8 7 2 3 6 8 11 12 2 3 6 9 13 640 8000 +Rabies 238 dru rabies 57 121 rabiesplague rabies 1 0 h2h S3 S3 S3 1 1 1 1 18 20 Feral Rage 2 wolf 1 1 8 10 0 1 18 damage synergy 1 50 7 1 2 3 pois 6 4 5 7 11 16 14 4 5 7 11 16 (skill('Plague Poppy'.blvl))*par8 100 10 10 10 640 16000 +Fire Claws 239 dru fire claws 58 2 fire_hit 1 0 h2h A1 A1 xx 1 1 1 1 18 20 Feral Rage Maul 2 wolf bear 1 1 8 4 0 1 0 dmg% 22 damage synergy 1 50 15 8 128 fire 15 8 12 20 24 30 20 8 12 22 26 34 (skill('Firestorm'.blvl)+skill('Molten Boulder'.blvl)+skill('Volcano'.blvl)+skill('Eruption'.blvl))*par8 640 16000 +Twister 240 dru twister 118 twister druid_windcast 68 twister 1 0 none SC SC xx 1 1 18 20 Cyclone Armor 1 1 8 7 0 1 par1 # missiles 3 Number of twisters 10 Frames the target is stunned 10 damage synergy 1 7 12 4 7 10 13 16 16 4 7 11 14 17 (skill('Tornado'.blvl)+skill('Hurricane'.blvl))*par8 640 16000 +Vines 241 dru vines 115 vine_beast vinecreature vine 1 S1 Vine Attack lvl VineCycler lvl druid_summon 1 0 none SC SC xx 1 4 24 20 Cycle of Life 1 1 8 14 1 1 1 par3 * (lvl-1) hp % ulvl * 3 / 4 + lvl vine lvl 3 Number of vines 1 vines per level 20 % more hitpoints per level 0 Mana steal moved --> 1 min % mana steal 8 max % mana steal 1 8 768 16000 +Hunger 242 dru hunger 122 1 0 h2h S3 S3 S3 1 1 1 1 24 20 Fire Claws 2 wolf bear 1 1 8 3 0 1 par5 dmg% dm12 lifesteal dm34 manasteal 50 min % life steal 200 max % life steal 50 min % mana steal 200 max % mana steal -75 % damage penalty 1 50 10 8 128 768 32000 +Shock Wave 243 dru shock wave 8 shockwave shockwave 17 shockwave shockwave 1 0 none SC SC xx 1 24 20 Maul 2 bear 1 1 8 7 0 1 5 # missiles 40 stun length 15 stun length per level 5 damage synergy 1 8 10 3 5 7 7 7 20 3 5 7 7 7 skill('Maul'.blvl)*par8 768 32000 +Volcano 244 dru volcano 123 volcano par1 druid_firecast_a druid_fire_cast_2 91 volcano overlay fire volcano 1 0 none SC SC xx 1 4 1 1 sorceress_cast_fire druid_fire_cast_2 24 20 Eruption 100 1 8 25 0 1 par2 damage delay 12 debris range 2 delay between debris 12 damage synergy 12 fire damage synergy 1 8 8 2 4 6 8 10 10 2 4 6 8 10 skill('Molten Boulder'.blvl)*par7 fire 8 2 4 6 8 11 10 2 4 6 8 13 (skill('Eruption'.blvl)+skill('Armageddon'.blvl))*par8 768 32000 +Tornado 245 dru tornado 118 tornado 42371 par2 druid_windcast 69 tornado 1 0 none SC SC xx 1 4 1 24 20 Twister 1 1 8 10 0 1 1 # missiles par1 damage delay 15 Frame delay between damage 3 Radius of damage 9 damage synergy 1 8 25 8 14 20 24 28 35 8 15 21 25 29 (skill('Cyclone Armor'.blvl)+skill('Twister'.blvl)+skill('Hurricane'.blvl))*par8 768 32000 +Spirit of Barbs 246 dru spirit of barbs 119 poisonresist 100 maxpoisonresist 100 spiritofbarbs totem 1 NU Barbs Aura lvl druid_summon 1 0 none SC SC xx 1 4 30 20 Heart of Wolverine 1 1 8 25 1 1 1 (lvl-1)*par1 hp adj ulvl totem lvl 25 % hitpoints more per level 0 Bonus Level 50 % thorns damage back 20 % thorns damage back per level 30 radius 2 radius/lvl 1 8 896 64000 +Summon Grizzly 247 dru summon grizzly 119 fireresist "min(ln78,85)" coldresist "min(ln78,85)" lightresist "min(ln78,85)" poisonresist "min(ln78,85)" damagepercent ln12 tohit skill('Summon Spirit Wolf'.ln12) item_armor_percent skill('Summon Spirit Wolf'.ln56) druidbear grizzly 1 S1 druid_summon 1 0 none SC SC xx 1 4 30 20 Summon Fenris 1 1 8 40 0 1 1 skill('Summon Fenris'.ln12) hp % ulvl pet lvl 25 % feral add to damage 10 % feral damage per level 0 resist 5 resist/lvl 1 300 20 8 30 10 15 20 26 30 60 10 15 20 26 30 896 64000 +Fury 248 dru fury 37 13 53 21 1 0 h2h A1 A1 A1 1 1 1 30 20 Rabies 2 wolf 1 1 8 4 0 1 "min((par5 + lvl -1), par6)" max targets ln34 damage % 100 % frame rollback 100 % damage percent 17 damage % per level 2 Targets 5 Max targets 1 50 7 8 128 896 64000 +Armageddon 249 dru armageddon 124 armageddoncontrol armageddoncontrol armageddoncontrol armageddon ln12 + skill('Eruption'.blvl) * par7 par3 druid_firecast_a druid_fire_cast_2 92 armageddontail armageddonrock 25 frames 25 fall rate 15 slide rate 1 0 none SC SC xx 1 4 30 20 Volcano Hurricane 1 150 1 8 35 0 1 250 base duration 0 duration per level 8 radius to drop meteors 8 frame delay between rocks 50 duration synergy 14 damage synergy 1 8 4 4 6 8 10 12 16 4 7 9 12 14 fire 25 15 20 25 31 38 75 16 22 27 34 40 (skill('Firestorm'.blvl)+skill('Molten Boulder'.blvl)+skill('Volcano'.blvl))*par8 896 64000 +Hurricane 250 dru hurricane 124 42883 hurricane ln12 + skill('Cyclone Armor'.blvl) * par7 par3 druid_windcast druid_hurricane hurricaneswoosh hurricanerock hurricanetree 3 debris/frame 75 height 1 0 none SC SC xx 1 30 20 Tornado 150 1 8 30 0 1 250 base duration 0 duration per level 9 radius 20 frames per hit search 50 duration synergy 9 damage synergy 1 1 2 8 cold 25 7 10 12 14 16 50 7 10 12 14 16 (skill('Twister'.blvl)+skill('Tornado'.blvl))*par8 50 896 64000 +Fire Trauma 251 ass fire trauma bomb in air 1 par1 weapon_throw_1 bomb in air 1 0 rng S2 S2 S2 1 1 20 1 1 5 24 1 1 5 radius 9 damage synergy 1 7 fire 6 3 8 20 38 58 8 5 11 24 44 66 (skill('Shock Field'.blvl) + skill('Death Sentry'.blvl) + skill('Charged Bolt Sentry'.blvl) + skill('Lightning Sentry'.blvl) + skill('Wake of Fire Sentry'.blvl) + skill('Inferno Sentry'.blvl)) * par8 5 256 1000 +Claw Mastery 252 ass claw mastery clawmastery h2h passive_mastery_melee_th ln12 passive_mastery_melee_dmg ln34 passive_mastery_melee_crit dm56 1 0 none h2h SC SC SC 1 1 20 0 8 0 0 1 1 30 Attack rating bonus percent 10 Percent attack rating per level 35 % damage percent 4 damage % per level 0 critical% 25 critical% 1 8 10 256 1000 +Psychic Hammer 253 ass psychic hammer 22 33 1 assassin_psychichammer psychic_hammer_hit paladin_holybolt_impact_1 psychic_hammer_curse 5 3 1 0 rng SC SC SC 1 4 1 1 1 20 1 6 16 1 1 par1 knockback% vs. monster dm34 knockback% vs. unique dm56 knockback% vs. boss dm56 knockback% vs. player 100 knockback % vs. monster 50 min knockback% vs. unique 100 max knockback% vs. unique 25 min knockback% vs. boss 99 max knockback% vs. boss 1 7 2 2 3 4 5 6 6 3 4 5 6 7 mag 2 2 3 4 5 6 6 3 4 5 6 7 5 256 1000 +Tiger Strike 254 ass tiger strike 23 34 1 progressive_damage par3 progressive_damage progressive_tohit par4 assassinfootimpact tigerstrike1 assassin_chargeup_tiger_1 12 12 12 1 0 h2h mele A1 A1 A2 1 1 1 1 1 20 1 1 8 1 0 1 1 ln12 progressive damage 100 % Damage bonus 20 % damage per level 375 duration 50 tohit bonus for each charge-up 1 15 7 8 128 4 256 1000 +Dragon Talon 255 ass dragon talon 24 42 assassin_kick_1 6 4 1 0 h2h 4 KK KK A1 19 1 1 1 1 20 1 1 8 6 0 1 1 lvl/6+1 number of kicks dm34 knockback% vs. unique dm56 knockback% vs. boss dm56 knockback% vs. player 5 Percent damage 7 percent damage per level 50 min knockback% vs. unique 100 max knockback% vs. unique 25 min knockback% vs. boss 99 max knockback% vs. boss 1 20 35 1 8 4 256 1000 +Shock Field 256 ass shock field 43 par1+lvl/par2+skill('Fire Trauma'.blvl)/3 shock field in air (par1+lvl/par2+skill('Fire Trauma'.blvl)/3)/4+1 weapon_throw_1 5 shock field in air 1 0 rng S2 S2 S2 1 6 20 Fire Trauma 15 1 1 8 6 0 1 6 Number of missiles 4 Levels per missile 11 damage synergy 1 7 ltng 2 0 0 0 0 0 20 6 12 20 30 42 (skill('Charged Bolt Sentry'.blvl) + skill('Lightning Sentry'.blvl) + skill('Death Sentry'.blvl)) * par8 11 384 3000 +Blade Sentinel 257 ass blade sentinel 44 blade creeper tohit lvl*5 bladecreeper assassintrap 5 S1 Blade Sentinel lvl assassin_summon 1 0 rng S2 S2 S2 1 6 20 50 1 1 8 7 0 1 ln12 duration 100 duration 12 duration per level 5 Total number assassin traps 3 Total number pet traps 1 8 48 6 3 4 5 5 5 10 3 4 5 5 5 5 3 384 3000 +Quickness 258 ass quickness 18 quickness ln56 velocitypercent dm12 attackrate dm34 assassin_quickness 1 0 none SC SC SC 1 6 20 Claw Mastery 1 8 10 0 1 1 15 % min increased walk speed 70 % max increased walk speed 15 min % increased attack speed 60 max % increased attack speed 3000 duration 300 duration per level 1 8 1 384 3000 +Fists of Fire 259 ass fists of fire 23 35 1 143 38 39 par1 par2 4 fistsoffirefirewall progressive_fire par3 progressive_fire progressive_tohit par4 9 9 fistsoffireexplode fistsoffirefirewall 1 0 h2h 3 h2h SQ A1 xx 16 1 1 1 1 6 20 1 1 8 2 0 1 1 lvl*3 convert to fire% 4 Radius of explosion 4 Radius of firewall fragments 375 duration 50 tohit bonus for each charge-up 12 damage synergy 1 15 7 8 128 fire 6 5 10 20 30 40 10 5 11 22 33 44 (skill('Royal Strike'.blvl)) * par8 4 384 3000 +Dragon Claw 260 ass dragon claw 25 46 assassin_kick_1 1 0 h2h 3 h2h h2h SQ A1 xx 16 1 1 1 1 6 20 Dragon Talon 1 1 8 2 0 1 1 ln12 + skill('Claw Mastery'.blvl)*par8 damage% 50 % Damage bonus 5 % damage per level 4 damage synergy 1 40 25 8 128 4 384 3000 +Charged Bolt Sentry 261 ass charged bolt sentry 45 chargeboltsentry assassintrap 5 S1 BoltSentry lvl Fire Trauma skill('Fire Trauma'.blvl) Shock Field skill('Shock Field'.blvl) Lightning Sentry skill('Lightning Sentry'.blvl) Death Sentry skill('Death Sentry'.blvl) assassin_summon 1 0 rng S2 S2 S2 1 4 12 20 Shock Field 1 8 13 0 1 par1 + skill('Lightning Sentry'.blvl)/4 shots fired 5 Shots fired 5 Bolts to send out 0 Bolts to send out per level 6 damage synergy 1 7 ltng 2 0 0 0 0 0 14 6 8 12 14 16 (skill('Fire Trauma'.blvl) + skill('Lightning Sentry'.blvl) + skill('Death Sentry'.blvl)) * par8 3 512 3000 +Wake of Fire Sentry 262 ass wake of fire sentry 45 wakeofdestruction assassintrap 5 S1 Wake Of Destruction Sentry lvl Fire Trauma skill('Fire Trauma'.blvl) Inferno Sentry skill('Inferno Sentry'.blvl) 32 assassin_summon 1 0 rng S2 S2 S2 1 4 12 20 Fire Trauma 1 8 13 0 1 5 Shots fired 8 damage synergy 1 8 fire 5 2 3 5 7 9 10 2 3 6 8 10 (skill('Fire Trauma'.blvl) + skill('Inferno Sentry'.blvl)) * par8 3 512 3000 +Weapon Block 263 ass weapon block weaponblock h2h passive_weaponblock dm12 1 0 rng h2h h2h SC SC SC 1 12 20 Claw Mastery 1 0 8 0 0 1 1 20 min block % 65 max block % 1 8 10 512 3000 +Cloak of Shadows 264 ass cloak of shadows 47 57347 cloak_of_shadows cloaked ln34 dm12 skill_armor_percent "-min(ln56,95)" item_armor_percent ln78 7 1 0 none SC SC SC 1 12 20 Psychic Hammer 1 8 13 0 1 30 min radius of effect 30 max radius of effect 200 duration 25 Duration per level 15 percent armor decrease 3 percent decrease per level 10 percent armor bonus 3 percent armor bonus per level 1 8 2 512 8000 +Cobra Strike 265 ass cobra strike 23 34 2 progressive_steal par3 progressive_steal progressive_tohit par4 cobrastrike1 assassin_chargeup_cobra_1 13 13 13 1 0 h2h mele A1 A1 A2 1 1 1 1 12 20 Tiger Strike 1 1 8 2 0 1 1 40 Base percent life steal 5 Percent life steal per level 375 duration 50 tohit bonus for each charge-up 1 15 7 8 128 12 512 8000 +Blade Fury 266 ass blade fury 26 48 par4 bladefragment1 8 6 bladefragment2 1 0 rng SQ A1 SC 23 12 18 20 Blade Sentinel Wake of Fire Sentry 1 1 1 6 0 5 8 1 1 0 "Don't Use, missile range mod" 0 "Don't Use, missile range mod" 3 Min Mana to start casting 5 Frame delay between blades 1 8 96 8 3 5 8 8 8 10 3 5 8 8 8 5 640 8000 +Fade 267 ass fade 18 fade ln56 fireresist dm12 coldresist dm12 lightresist dm12 poisonresist dm12 curse_resistance dm34 damageresist ln78 fade 2 assassin_fade 1 0 none SC SC SC 1 1 18 20 Quickness 1 8 10 0 1 1 10 min Elemental resistance 75 max elemental resist 40 min curse length reduction 90 max curse length reduction 3000 duration 300 Duration per level 1 damage resist % 1 damage resist % per level 1 8 1 640 8000 +Shadow Warrior 268 ass shadow warrior 49 shadowwarrior tohit lvl*par2 skill_armor_percent lvl*par3 strength lvl*10 dexterity lvl*10 fireresist "min(lvl*4,75)" coldresist "min(lvl*4,75)" lightresist "min(lvl*4,75)" poisonresist "min(lvl*4,75)" shadowwarrior shadowwarrior 1 NU 42 assassin_summon 1 0 none SC SC SC 1 4 18 20 Cloak of Shadows Weapon Block 150 1 7 54 1 1 1 15 Plus % HP per level 40 plus to hit per level 12 Plus % AC per level 0 ? 18 base item quality level 2 item quality per level 1 8 3 640 16000 +Claws of Thunder 269 ass claws of thunder 23 35 1 36 37 par1 4 clawsofthundernova clawsofthunderbolt progressive_lightning par3 progressive_lightning progressive_tohit par4 10 11 clawsofthundernova clawsofthunderbolt 1 0 h2h 3 h2h SQ A1 xx 16 1 1 1 18 20 Fists of Fire 1 1 8 4 0 1 1 4 skip 375 duration 50 tohit bonus for each charge-up 8 damage synergy 1 15 7 8 128 ltng 1 0 0 0 0 0 80 20 40 60 80 100 (skill('Royal Strike'.blvl)) * par8 4 640 16000 +Dragon Tail 270 ass dragon tail 27 50 dragontail missile par3 assassin_kick_1 9 7 dragontail missile 1 0 h2h 4 KK KK A1 1 1 1 18 20 Dragon Claw 1 1 8 10 0 1 1 ln12 damage% 50 Percent area damage min 10 percent area damage per level 6 Radius -40 Attack rate penalty 1 20 15 1 8 fire 4 640 16000 +Lightning Sentry 271 ass lightning sentry 45 lightningsentry assassintrap 5 S1 sentry lightning lvl Shock Field skill('Shock Field'.blvl) Charged Bolt Sentry skill('Charged Bolt Sentry'.blvl) Death Sentry skill('Death Sentry'.blvl) assassin_summon 1 0 rng S2 S2 S2 1 4 24 20 Charged Bolt Sentry 1 8 20 0 1 10 Shots fired 12 damage synergy 1 8 ltng 1 0 0 0 0 0 20 10 16 24 34 44 (skill('Shock Field'.blvl) + skill('Charged Bolt Sentry'.blvl) + skill('Death Sentry'.blvl))*par8 3 768 16000 +Inferno Sentry 272 ass inferno sentry 45 infernosentry assassintrap 5 S1 mon inferno sentry lvl Fire Trauma skill('Fire Trauma'.blvl) Wake of Fire Sentry skill('Wake of Fire Sentry'.blvl) Death Sentry skill('Death Sentry'.blvl) 32 assassin_summon 1 0 rng S2 S2 S2 1 4 24 20 Wake of Fire Sentry 1 8 20 0 1 10 Shots fired 10 synergy damage bonus 7 damage synergy 1 4 fire 20 17 21 26 32 39 50 19 23 28 34 41 (skill('Fire Trauma'.blvl) + skill('Death Sentry'.blvl)) * par7 + skill('Wake of Fire Sentry'.blvl)*par8 3 768 32000 +Mind Blast 273 ass mind blast 51 33667 par7 assassin_psychichammer fist_will_cast 8 mindblast center mindblast hit 1 0 rng SC SC SC 1 1 1 24 20 Cloak of Shadows 1 8 15 0 1 50 length of stun 5 additional lengh of stun 150 conversion length min 100 conversion length random range 15 chance for conversion 40 max chance for conversion 4 radius 1 9 8 10 2 5 8 8 8 20 2 5 8 8 8 stun 50 5 5 5 11 768 32000 +Blades of Ice 274 ass blades of ice 23 35 1 38 39 par1 par2 4 bladesoficecubes 34571 progressive_cold par3 progressive_cold progressive_tohit par4 9 9 bladesoficeexplode bladesoficecubes 1 0 h2h 3 h2h SQ A1 xx 16 1 1 1 1 24 20 Claws of Thunder 1 1 8 3 0 1 1 6 Second level radius 3 Third level radius 375 duration 50 tohit bonus for each charge-up 1 freeze length divisor 8 damage synergy 1 15 7 8 128 cold 15 8 10 20 30 40 35 8 10 22 32 42 (skill('Royal Strike'.blvl)) * par8 100 10 10 10 4 768 32000 +Dragon Flight 275 ass dragon flight 12 52 par7 1 sorceress_teleport dragonflight 5 1 1 0 rng 4 SQ A1 xx 21 1 1 24 20 Dragon Tail 25 1 1 8 15 0 1 1 100 % Damage bonus 25 % damage per level 27 range 1 60 25 1 8 13 768 32000 +Death Sentry 276 ass death sentry 45 deathsentry assassintrap 5 S1 mon death sentry lvl death sentry ltng lvl Fire Trauma skill('Fire Trauma'.blvl) Lightning Sentry skill('Lightning Sentry'.blvl) 32 assassin_summon 1 0 rng S2 S2 S2 1 4 30 20 Lightning Sentry 1 8 20 0 1 5 Shots fired 12 damage synergy 1 8 ltng 1 0 0 0 0 0 50 8 14 22 28 34 (skill('Lightning Sentry'.blvl))*par8 3 896 64000 +Blade Shield 277 ass blade shield 28 54 blade shield attachment 33667 bladeshield ln12 par4 assassin_bladeshield 1 0 none SC SC SC 1 30 20 Blade Fury 1 8 27 2 1 1 1 par3 500 duration 125 duration per level 25 delay 6 radius to attack in 1 32 3 8 32 1 5 6 7 7 7 30 5 6 7 7 7 1 896 64000 +Venom 278 ass venom 18 venomclaws ln12 poisonmindam enms poisonmaxdam exms skill_poison_override_length edma assassin_venom 1 0 none SC SC SC 1 1 30 20 Fade 1 8 12 0 1 1 3000 duration 100 duration per level 0 ? 0 ? 0 ? 0 ? 1 6 pois 24 6 8 10 12 14 32 6 8 10 12 14 10 1 896 64000 +Shadow Master 279 ass shadow master 49 shadowwarrior tohit lvl*par2 strength lvl*10 dexterity lvl*10 fireresist dm34 coldresist dm34 lightresist dm34 poisonresist dm34 shadowmaster shadowwarrior 1 NU 42 assassin_summon 1 0 none SC SC SC 1 30 20 Shadow Warrior 150 1 7 70 1 1 1 15 Pluse % HP per level 40 plus to hit per level 5 Min % resist all 90 Max % resist all 24 base item quality level 3 item quality per level 1 8 3 896 64000 +Royal Strike 280 ass royal strike 23 34 40 143 41 par6 par5 royalstrikemeteorcenter royalstrikechainlightning royalstrikechaosice progressive_other 375 par1 progressive_other progressive_tohit par7 14 83 15 royalstrikemeteorcenter royalstrikechainlightning royalstrikechaosice 1 0 h2h mele A1 A1 A2 1 1 1 1 30 20 Cobra Strike Blades of Ice 1 1 8 4 0 1 1 par2 8 radius of jump to next target 6 radius of meteor explosion 30 Frames of fire 15 Frames of fire per level 16 chaos ice bolts 10 chain lightning skip 25 to hit bonus per charge up 1 15 7 8 128 4 -3 896 64000 +Wake Of Destruction Sentry 281 125 wake of destruction maker 70 wake of destruction maker 1 0 none SQ SQ S2 1 1 1 par8 shots fired 6 Number of missiles 2 Number of missiles per level 2 Min Range 5 Shots Fired 1 8 0 +Imp Inferno 282 59 126 impinfernoflame1 71 impinfernoflame1 impinfernoflame2 8 z offset lvl-1 range 1 0 none SQ SQ SC 6 1 1 1 "rand(par3,par4)" len lvl-1 range 30 base ranged (doubled) 3 level range (doubled) 100 min frames 120 max frames 1 4 fire 18 15 15 15 15 15 37 15 15 15 15 15 0 +Imp Fireball 283 impfireball 1 sorceress_cast_fire fire_cast_2 72 impfireball 40 z offset 1 0 none SQ SQ S2 1 1 1 1 8 0 +Baal Taunt 284 28 baal taunt control monster_baal_taunt_1 46 baal taunt control 1 0 none SQ SQ A1 1 1 1 3 45 45 Delay in poison clouds 3 Delay in lightning 1 8 0 +Baal Corpse Explode 285 141 ln34 82 1 0 none SQ SQ S3 1 1 1 1 % of base monster HP min damage 1 % of base monster HP max damage 6 radius (half squares) for damage 1 additional radius/level (half squares) for damage 40 Radius of search for corpses 1 8 0 +Baal Monster Spawn 286 baal spawn monsters 1 baal_summon baal spawn monsters 1 0 none SQ SQ S3 1 1 1 1 8 0 +Catapult Charged Ball 287 28 catapultchargedball 47 catapultchargedball 16 fall rate 1 0 none SQ SQ A1 1 1 1 4 Charged bolts per level 1 8 0 +Catapult Spike Ball 288 28 catapult spike ball 47 catapult spike ball 16 fall rate 1 0 none SQ SQ A1 1 1 1 ln12 20 Spikes to launch 5 Spikes per level 1 8 0 +Suck Blood 289 60 127 1 0 none SQ SQ A1 1 1 1 par1 heal% 25 Percent life to boss 1 8 1 3 0 +Cry Help 290 128 curseattract 1 0 none SQ SQ S1 1 1 ln12 duration 100 Time for minions to attack target 20 Time per level 1 8 0 +Healing Vortex 291 healing vortex healing vortex 1 0 none SQ SQ S2 1 1 1 1 8 10 5 5 5 5 5 20 5 5 5 5 5 0 +Teleport 2 292 98 48 73 1 0 none SQ SQ S1 1 1 1 1 8 0 +Self-resurrect 293 61 38 1 0 none SQ SQ S1 1 1 1 1 8 0 +Vine Attack 294 130 plague vines slowed velocitypercent -100 druidpod_attack_1 druidpod_walk1_1 druidpod_neutral_1 49 vine beast attack vines vine beast walk 1 vine beast neutral "min(12,ln12)" #vines 35 delay 6 min dist between missiles 1 0 none SQ SQ S1 1 1 1 "min(24,ln12)" # missiles 20 frames to apply aura to target 3 Number of vines 1 vines per level 1 8 0 +Overseer Whip 295 131 bloodlust par2 velocitypercent par3 attackrate par4 skill_armor_percent par5 damagepercent par6 suicideminion1 S1 33 1 0 none SQ SQ A2 1 1 1 par1 chance 65 Chance Bloodlust 250 Bloodlust duration 80 Velocity change 80 Speed change 50 Armor change 100 Damage change 1 8 0 +Barbs Aura 296 65 65795 barbscontrol barbs ln12 thorns_percent ln34 1 0 none SQ SQ A1 1 1 1 1 30 Radius 2 radius per level 50 % thorns damage back 10 % thorns damage back per level 1 8 0 +Wolverine Aura 297 65 65795 wolverinecontrol wolverine ln12 item_tohit_percent ln34 damagepercent ln56 1 0 none SQ SQ A1 1 1 1 1 30 Radius 2 radius per level 25 % attack rating bonus 7 % attack rating bonus per lvl 20 % damage increase 7 % damage increase per level 1 8 0 +Oak Sage Aura 298 65 65795 oaksagecontrol oaksage ln12 item_maxhp_percent ln34 1 0 none SQ SQ A1 1 1 1 1 30 Radius 2 radius per level 30 % hitpoints more per level 5 % hitpoint bonus per level 1 8 0 +Imp Fire Missile 299 132 impmiss21 sorceress_cast_fire fist_will_cast impmiss21 1 0 none A1 A1 A1 1 1 lvl-1 range adder ? ? ? ? ? ? 1 8 0 +Impregnate 300 133 painworm1 NU 1 0 none S1 S1 S1 1 1 1 ? ? ? ? ? ? 1 8 0 +Siege Beast Stomp 301 134 par5 siege_beast_dust 75 0 none A2 A2 A2 1 1 1 8 screen shake magnitude 5 screen shake bulid 20 screen shake duration 15 screen shake fade 25 radius of effect ? 1 1 8 20 10 10 10 10 10 60 10 10 10 10 10 0 +MinionSpawner 302 62 135 spawnedminion 1 0 none A1 A1 A1 1 1 ? ? ? ? ? ? 1 8 0 +CatapultBlizzard 303 28 catapult cold ball 47 catapult cold ball 16 fall rate 1 0 none A1 A1 A1 1 1 ? ? ? ? ? ? 1 8 0 +CatapultPlague 304 28 catapult plague ball 47 catapult plague ball 16 fall rate 1 0 none A1 A1 A1 1 1 ? ? ? ? ? ? 1 8 0 +CatapultMeteor 305 28 catapult meteor ball par1 47 catapult meteor ball 16 fall rate 1 0 none A1 A1 A1 1 1 5 radius of explosion ? 50 duration base 3 duration/level ? ? 1 8 0 +BoltSentry 306 17 sentrychargedbolt 23 sentrychargedbolt 1 0 none SC SC xx 1 1 ln12 + skill('Shock Field'.blvl)/3 # bolts par8 + skill('Lightning Sentry'.blvl)/4 shots fired 5 Bolts to send out 0 Bolts to send out per level 5 Shots Fired 1 8 0 +CorpseCycler 307 63 recycler delay 10 49 93 vine beast attack recycler delay 1 0 none SQ SQ S1 1 1 1 1 dm12 life steal 3 min % life steal 12 max % life steal 1 8 0 +DeathMaul 308 136 death mauler 76 death mauler death mauler trail 1 0 none A1 A1 xx 1 1 96 missile animrate ? ? ? ? ? ? 1 8 10 4 4 4 4 4 20 4 4 4 4 4 0 +Defense Curse 309 30 3 defense_curse ln34 ln12 skill_armor_percent -ln56 18 30 curseeffectred cursecast 1 0 none SC SC S2 1 1 3 radius 1 radius per level 200 duration 75 additional duration/level 50 % defense 5 % defense/lvl 1 0 +Blood Mana 310 30 3 blood_mana ln34 ln12 18 30 curseeffectred cursecast 1 0 none SC SC S2 1 1 3 radius 1 radius per level 200 duration 75 additional duration/level 40 Max hitpoints to remove curse 1 8 10 4 4 4 4 4 20 4 4 4 4 4 0 +mon inferno sentry 311 53 95 inferno sentry 1 52 77 inferno sentry 1 inferno sentry 2 -37 z offset 1 0 none SQ SQ xx 1 1 ln34/2 + skill('Wake of Fire Sentry'.blvl) range par1 + skill('Wake of Fire Sentry'.blvl) length of fire 3 density par8 shots fired 15 frame length 40 range times two 10 Shots fired 1 8 0 +mon death sentry 312 55 ln34 necromancer_corpseexp_1 death_sentry 50 78 corpseexplosion deathsentryexplode 1 0 none SQ SQ xx 1 1 1 par1 damage % par2 damage % 50 fire % par8 + skill('Fire Trauma'.blvl)/3 shots fired 40 % of base monster HP min damage 80 % of base monster HP max damage 10 radius (half squares) 1 additional radius/level (half squares) 5 Shots Fired 1 8 fire 0 +sentry lightning 313 sentrylightningbolt sentrylightningbolt 1 0 none SQ SQ xx 1 1 1 par8 shots fired 10 minimum damage 20 max damage 4 increase in dam/level (min & max) 10 Shots Fired 1 8 0 +fenris rage 314 137 fenris_rage par1 damagepercent par2 necromancer_corpseexp_1 51 79 corpseexplosion 1 0 none A1 A1 A1 1 1 1 1 500 rage duration - see fenris rage 100 % damage with rage - see fenris rage 1 8 0 +Baal Tentacle 315 140 1 0 none S2 S2 S2 1 1 1 ? ? ? ? 1 0 +Baal Nova 316 22 baal nova baal_novacast fire_cast_2 25 baal nova 1 0 none S3 S3 S3 1 1 1 8 fire 50 24 32 32 32 32 75 24 32 32 32 32 0 +Baal Inferno 317 53 95 baal inferno baal_missilecast 54 baal inferno 1 0 none SQ SQ xx 1 1 par1 length of fire 2 density 20 frame length ? 1 5 mag 64 48 48 48 48 48 96 48 48 48 48 48 0 +Baal Cold Missiles 318 139 baal cold maker baal_coldtrailcast 81 baal cold maker 1 0 none A1 A1 A1 1 1 1 1 8 cold 20 9 13 13 13 13 40 9 13 13 13 13 200 50 50 50 0 +MegademonInferno 319 53 95 megademoninferno 54 fetishinferno1 fetishinferno2 1 0 none SQ SQ S1 1 1 par1 length of fire 2 density 15 frame length 1 8 0 +EvilHutSpawner 320 49 91 spawnedflames 36 50 1 0 none SQ SQ xx 1 1 1 8 0 +CountessFirewall 321 24 countessfirewallmaker countessfirewall sorceress_cast_fire 26 countessfirewallmaker 1 0 none SQ SQ A1 1 1 1 0 +ImpBolt 322 17 imp charged bolt 23 imp charged bolt 1 0 none SQ SQ A1 1 1 lvl+2 #bolts 1 8 0 +Horror Arctic Blast 323 53 95 frozenhorror arcticblast1 54 frozenhorror arcticblast1 frozenhorror arcticblast1 1 0 none SQ SQ xx 18 1 1 par1 length of fire 2 density 15 frame length 1 8 0 +death sentry ltng 324 sentrylightningbolt2 sentrylightningbolt2 1 0 none SQ SQ xx 1 1 1 5 Shots Fired 1 8 0 +VineCycler 325 63 vine recycler delay 10 49 93 vine beast attack recycler delay 1 0 none SQ SQ S1 1 1 1 1 dm12 mana steal 1 min % mana steal 8 max % mana steal 1 8 0 +BearSmite 326 32 2 druidbear_attack_1 1 9 h2h S1 S1 xx 1 1 1 1 ln34 damage % "max(250,ln12)" stunlen 15 Stun Length 5 additional frames/level 15 Percent bonus damage 15 percent damage per level 1 8 8 128 0 +Resurrect2 327 97 healing 39 1 0 none SQ SQ xx 1 1 1 1 1 1 1 1 0 +BloodLordFrenzy 328 37 109 monfrenzy ln12 velocitypercent dm34 attackrate dm34 other_animrate dm34 weapon_giant_1 1 weapon_giant_1 1 3 none SQ SQ A2 1 1 1 1 1 200 duration 25 duration/level 30 min % speed increase 110 max % speed increase 1 10 10 8 128 0 +Baal Teleport 329 98 48 73 baalteleport 1 0 none SQ SQ S1 1 1 1 1 8 0 +Imp Teleport 330 129 attached sorceress_teleport 48 74 imp teleport imp teleport 1 0 none SQ SQ S1 1 1 1 1 8 0 +Baal Clone Teleport 331 98 48 73 baalclonedeath baalteleport 1 0 none SQ SQ S1 1 1 1 1 8 0 +ZakarumLightning 332 monsterlight sorceress_cast_lightning light_cast_1 monsterlight 1 0 none SQ SQ S1 1 1 1 8 0 +VampireMissile 333 firehead firehead 1 0 none SC SC SC 1 1 1 8 0 +MephistoMissile 334 mephisto mephisto 1 0 none SC SC A2 1 1 1 8 0 +DoomKnightMissile 335 148 undeadmissile1 94 undeadmissile1 1 0 none SC SC S1 1 1 1 8 0 +RogueMissile 336 110 rogue1 66 rogue1 1 0 none A1 A1 A1 1 1 1 8 0 +HydraMissile 337 hydra hydra 1 0 none SC SC SC 1 1 1 8 0 +NecromageMissile 338 149 necromage1 95 necromage1 1 0 none SC SC A1 1 1 1 8 0 +MonBow 339 4 cr_arrow6 11 cr_arrow6 1 0 rng A1 A1 A1 1 1 1 1 8 128 0 +MonFireArrow 340 4 firearrow 11 firearrow 1 0 rng A1 A1 A1 1 1 1 1 10 10 8 128 fire 1 8 8 8 8 8 4 9 9 9 9 9 0 +MonColdArrow 341 4 coldarrow 11 coldarrow 1 4 rng A1 A1 A1 1 1 1 1 10 10 8 128 cold 1 7 7 7 7 7 4 8 8 8 8 8 100 25 25 25 0 +MonExplodingArrow 342 4 explodingarrow 11 explodingarrow 1 5 rng A1 A1 A1 1 1 1 1 10 10 8 128 fire 2 8 8 8 8 8 6 9 9 9 9 9 0 +MonFreezingArrow 343 4 freezingarrow 11 freezingarrow 1 7 rng A1 A1 A1 1 1 1 par1 damage radius 5 Radius of impact 1 10 10 8 128 cold 2 7 7 7 7 7 6 8 8 8 8 8 100 25 25 25 0 +MonPowerStrike 344 6 2 1 4 h2h A1 A1 A1 1 1 1 1 1 1 1 20 15 8 128 ltng 1 0 0 0 0 0 16 12 12 12 12 12 0 +SuccubusBolt 345 4 succubusmiss 11 succubusmiss 1 0 rng SC SC S2 1 1 1 1 8 mag 10 2 4 6 6 6 15 2 5 7 7 7 0 +MephFrostNova 346 22 mephfrostnova mephfrostnova mephfrostnova sorceress_cast_cold 25 frostnova 1 6 none SC SC A2 1 1 1 9 radius of freeze 3 additional radius/level 1 8 cold 40 20 20 20 20 20 60 20 20 20 20 20 200 50 50 50 0 +MonIceSpear 347 6 2 1 4 h2h A1 A1 A1 1 1 1 1 1 1 1 20 15 8 128 cold 10 8 8 8 8 8 14 9 9 9 9 9 125 25 25 25 0 +ShamanIce 348 glacialspike ln34 * (100 + skill('Blizzard'.blvl) * par7) / 100 ln12 sorceress_cast_cold glacialspike 1 7 none SC SC xx 1 1 1 4 radius 0 radius per level 50 freeze frames 3 freeze frames per level 1 8 cold 4 10 14 14 14 14 12 10 15 15 15 15 125 50 50 50 0 +Diablogeddon 349 124 diablogeddoncontrol diablogeddoncontrol diablogeddoncontrol armageddon ln12 par3 druid_firecast_a 92 diablogeddontail diablogeddonrock 25 frames 25 fall rate 15 slide rate 1 0 none SC SC S3 1 1 1 1000 base duration 50 duration per level 8 radius to drop meteors 8 frame delay between rocks 1 8 4 4 6 8 10 12 16 4 7 9 12 14 fire 25 15 20 25 30 35 75 16 22 27 33 38 0 +Delerium Change 350 delerium change 116 delerium 1500 velocitypercent 33 attackrate 33 other_animrate 33 45 1 0 none SC SC NU 1 1 1 1 8 0 +NihlathakCorpseExplosion 351 17 55 "min(30,16+lvl)" 1 necromancer_corpse_cast necromancer_corpseexp_1 21 32 corpseexplosion explodingarrowexp redlightmissile 1 0 none SC SC xx 1 1 1 1 1 1 par1 % target hp min damage par2 % target hp max damage par5 % damage to do as elemental 10 % of base monster HP min damage 20 % of base monster HP max damage 50 % damage to do as elemental 1 8 fire 0 +SerpentCharge 352 31 67 25 37 1 2 none SQ A1 xx 4 1 1 1 1 150 percent increase in velocity 0 plus % damage 0 plus % dam per level 1 50 15 8 128 0 +Trap Nova 353 22 trapnova trapnova trapnova sorceress_cast_lightning light_cast_1 25 trapnova 1 2 none SC SC xx sorceress_cast_lightning 1 12 number of missiles 4 additional missiles per level 1 8 0 +UnHolyBoltEx 354 unholybolt1 unholybolt1 1 0 none SQ SQ xx 1 1 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 1 8 0 +ShamanFireEx 355 shafire1 shafire1 1 0 none SQ SQ xx 1 1 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 1 8 0 +Imp Fire Missile Ex 356 impmiss21 sorceress_cast_fire fist_will_cast impmiss21 1 0 none A1 A1 A1 1 1 lvl-1 range adder ? ? ? ? ? ? 1 8 0 diff --git a/scripts/pack-overlays.ts b/scripts/pack-overlays.ts new file mode 100644 index 0000000..6160c86 --- /dev/null +++ b/scripts/pack-overlays.ts @@ -0,0 +1,328 @@ +/** + * Offline Cast Overlay Asset & Data Baking Script. + * + * Extracts authentic Diablo II v1.13c cast overlay DCC sprites from d2data.mpq: + * - FireCast_for_Sorceress.dcc (fire_cast_1, 14 frames, box: [-55, -127, 117, 164]) + * - FireCast2.dcc (fire_cast_2, 16 frames, box: [-74, -89, 145, 133]) + * - IceCastNew01.dcc (ice_cast_1, 15 frames, box: [-49, -90, 97, 55]) + * - IceCastNew02.dcc (ice_cast_2, 15 frames, box: [-58, -100, 115, 123]) + * - IceCastNew03.dcc (ice_cast_3, 16 frames, box: [-63, -113, 127, 148]) + * - LightningCast.dcc (light_cast_1, 10 frames, box: [-79, -107, 164, 144]) + * - LightningCastRunesFront.dcc (light_cast_2, 10 frames, box: [-73, -154, 147, 190]) + * - Teleport.dcc (teleport, 18 frames, box: [-61, -108, 136, 154]) + * + * Bakes them into indexed-color PNG atlases and JSON metadata under: + * - public/overlays/ + * - samples/d2-packs/overlays/ + * + * And generates typed metadata in src/render/overlays-meta.ts. + * Enforces Zero Runtime MPQ/DLL Architectural Invariant. + */ + +import { mkdirSync, writeFileSync } from 'node:fs' +import { join } from 'node:path' +import { MpqArchive } from '../src/mpq/archive.ts' +import { fileSource } from '../src/mpq/file-source.ts' +import { decodeDcc } from '../src/formats/dcc.ts' +import { decodePl2 } from '../src/formats/pl2.ts' +import { packSheetToPng } from './pack-entity-assets.ts' +import type { SpriteFrame, SpriteSheet } from '../src/formats/sprite.ts' + +export interface OverlayFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type OverlayFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface OverlayBox { + readonly left: number + readonly top: number + readonly width: number + readonly height: number +} + +export interface OverlayMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly frames: number + readonly framesPerDirection: number + readonly animRate: number + readonly trans: number + readonly preDraw: boolean + readonly lightRadius: number + readonly lightColor: readonly [number, number, number] + readonly box: OverlayBox + readonly groups: readonly (readonly OverlayFrameTuple[])[] +} + +export const OVERLAY_TARGETS = [ + { + name: 'fire_cast_1', + celFile: 'FireCast_for_Sorceress', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [255, 178, 64] as const, + }, + { + name: 'fire_cast_2', + celFile: 'FireCast2', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [255, 178, 64] as const, + }, + { + name: 'ice_cast_1', + celFile: 'IceCastNew01', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [81, 81, 255] as const, + }, + { + name: 'ice_cast_2', + celFile: 'IceCastNew02', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [81, 81, 255] as const, + }, + { + name: 'ice_cast_3', + celFile: 'IceCastNew03', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [81, 81, 255] as const, + }, + { + name: 'light_cast_1', + celFile: 'LightningCast', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [255, 255, 255] as const, + }, + { + name: 'light_cast_2', + celFile: 'LightningCastRunesFront', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 9, + lightColor: [255, 255, 255] as const, + }, + { + name: 'teleport', + celFile: 'Teleport', + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 5, + lightColor: [255, 255, 200] as const, + }, +] as const + +export async function bakeOverlays(projectRoot: string = process.cwd()): Promise> { + const mpqPath = join(projectRoot, 'samples', 'd2', 'd2data.mpq') + const mpq = await MpqArchive.open(await fileSource(mpqPath)) + + const palFile = mpq.find('data/global/palette/ACT1/pal.pl2') + if (!palFile) throw new Error('data/global/palette/ACT1/pal.pl2 not found in d2data.mpq') + const pl2 = decodePl2(await mpq.read(palFile)) + + const publicOutDir = join(projectRoot, 'public', 'overlays') + const packOutDir = join(projectRoot, 'samples', 'd2-packs', 'overlays') + mkdirSync(publicOutDir, { recursive: true }) + mkdirSync(packOutDir, { recursive: true }) + + const metaRecord: Record = {} + + for (const target of OVERLAY_TARGETS) { + const f = mpq.find(`data/global/overlays/${target.celFile}.dcc`) + if (!f) throw new Error(`Overlay DCC not found: data/global/overlays/${target.celFile}.dcc`) + + const dcc = decodeDcc(await mpq.read(f)) + const firstDir = dcc.directions[0] + if (!firstDir) throw new Error(`Overlay DCC has no directions: ${target.celFile}`) + + const box: OverlayBox = { + left: firstDir.box.left, + top: firstDir.box.top, + width: firstDir.box.width, + height: firstDir.box.height, + } + + const groups = dcc.directions.map(dir => ({ + frames: dir.frames.map( + (frame): SpriteFrame => ({ + width: frame.frame.width, + height: frame.frame.height, + indices: frame.frame.indices, + mask: frame.frame.mask, + anchorX: dir.box.left, + anchorY: dir.box.top, + }), + ), + })) + + const sheet: SpriteSheet = { groups, width: null } + const packed = packSheetToPng(sheet, pl2.rgb) + + const meta: OverlayMeta = { + name: target.name, + celFile: target.celFile, + width: packed.width, + height: packed.height, + directions: dcc.directions.length, + frames: firstDir.frames.length, + framesPerDirection: firstDir.frames.length, + animRate: target.animRate, + trans: target.trans, + preDraw: target.preDraw, + lightRadius: target.lightRadius, + lightColor: target.lightColor, + box, + groups: packed.groups, + } + + metaRecord[target.name] = meta + metaRecord[target.celFile] = meta + + const jsonStr = JSON.stringify(meta, null, 2) + + // Write primary name (e.g. fire_cast_1.png) and celFile alias (e.g. FireCast_for_Sorceress.png) + for (const fileKey of [target.name, target.celFile]) { + writeFileSync(join(publicOutDir, `${fileKey}.png`), packed.png) + writeFileSync(join(publicOutDir, `${fileKey}.json`), jsonStr, 'utf-8') + writeFileSync(join(packOutDir, `${fileKey}.png`), packed.png) + writeFileSync(join(packOutDir, `${fileKey}.json`), jsonStr, 'utf-8') + } + + console.log( + `[Overlay Packer] Baked ${target.name} (${target.celFile}.dcc): ` + + `${meta.frames} frames, box [${box.left}, ${box.top}, ${box.width}, ${box.height}], ` + + `${packed.width}x${packed.height}, ${packed.png.byteLength} bytes PNG`, + ) + } + + // Generate src/render/overlays-meta.ts + const metaTsContent = `/** + * Authentic Diablo II v1.13c Cast Overlay Atlas Metadata. + * Auto-generated by scripts/pack-overlays.ts. + * Enforces Zero Runtime MPQ/DLL Architectural Invariant. + */ + +export interface OverlayFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type OverlayFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface OverlayBox { + readonly left: number + readonly top: number + readonly width: number + readonly height: number +} + +export interface OverlayMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly frames: number + readonly framesPerDirection: number + readonly animRate: number + readonly trans: number + readonly preDraw: boolean + readonly lightRadius: number + readonly lightColor: readonly [number, number, number] + readonly box: OverlayBox + readonly groups: readonly (readonly OverlayFrameTuple[])[] +} + +export const FIRE_CAST_1_META: OverlayMeta = ${JSON.stringify(metaRecord['fire_cast_1'], null, 2)} + +export const FIRE_CAST_2_META: OverlayMeta = ${JSON.stringify(metaRecord['fire_cast_2'], null, 2)} + +export const ICE_CAST_1_META: OverlayMeta = ${JSON.stringify(metaRecord['ice_cast_1'], null, 2)} + +export const ICE_CAST_2_META: OverlayMeta = ${JSON.stringify(metaRecord['ice_cast_2'], null, 2)} + +export const ICE_CAST_3_META: OverlayMeta = ${JSON.stringify(metaRecord['ice_cast_3'], null, 2)} + +export const LIGHT_CAST_1_META: OverlayMeta = ${JSON.stringify(metaRecord['light_cast_1'], null, 2)} + +export const LIGHT_CAST_2_META: OverlayMeta = ${JSON.stringify(metaRecord['light_cast_2'], null, 2)} + +export const TELEPORT_META: OverlayMeta = ${JSON.stringify(metaRecord['teleport'], null, 2)} + +export const OVERLAY_METAS: Readonly> = { + fire_cast_1: FIRE_CAST_1_META, + FireCast_for_Sorceress: FIRE_CAST_1_META, + fire_cast_2: FIRE_CAST_2_META, + FireCast2: FIRE_CAST_2_META, + ice_cast_1: ICE_CAST_1_META, + IceCastNew01: ICE_CAST_1_META, + ice_cast_2: ICE_CAST_2_META, + IceCastNew02: ICE_CAST_2_META, + ice_cast_3: ICE_CAST_3_META, + IceCastNew03: ICE_CAST_3_META, + light_cast_1: LIGHT_CAST_1_META, + LightningCast: LIGHT_CAST_1_META, + light_cast_2: LIGHT_CAST_2_META, + LightningCastRunesFront: LIGHT_CAST_2_META, + teleport: TELEPORT_META, + Teleport: TELEPORT_META, +} +` + const metaTsPath = join(projectRoot, 'src', 'render', 'overlays-meta.ts') + writeFileSync(metaTsPath, metaTsContent, 'utf-8') + console.log(`[Overlay Packer] Wrote ${metaTsPath}`) + + return metaRecord +} + +// Execute standalone if called from CLI +if (process.argv[1]?.endsWith('pack-overlays.ts')) { + bakeOverlays().catch((err: unknown) => { + console.error('Bake overlays failed:', err) + process.exit(1) + }) +} diff --git a/src/game/demo-data.ts b/src/game/demo-data.ts index f172d9a..3e388ce 100644 --- a/src/game/demo-data.ts +++ b/src/game/demo-data.ts @@ -13,7 +13,7 @@ export const DEMO_EXPERIENCE: readonly number[] = [0, 0, 20, 60, 140, 280] /** Fallback skills, used when an archive ships no skill table. */ export const DEMO_SKILLS: readonly SkillDef[] = [ { id: 'attack', name: 'Attack', manaCost: 0, cooldownTicks: 10, range: 48, projectile: false, speed: 0, baseMinDamage: 4, baseMaxDamage: 6, damagePerLevel: 1, radius: 20 }, - { id: 'firebolt', name: 'Fire Bolt', manaCost: 6, cooldownTicks: 20, range: 1000, projectile: true, speed: 500, baseMinDamage: 7, baseMaxDamage: 10, damagePerLevel: 3, radius: 20 }, + { id: 'firebolt', name: 'Fire Bolt', manaCost: 6, cooldownTicks: 20, range: 1000, projectile: true, speed: 500, baseMinDamage: 7, baseMaxDamage: 10, damagePerLevel: 3, radius: 20, castOverlay: 'fire_cast_1' }, ] /** Fallback NPC, used when an archive ships no NPC table. */ diff --git a/src/game/engine.ts b/src/game/engine.ts index 1b37287..b21b5c2 100644 --- a/src/game/engine.ts +++ b/src/game/engine.ts @@ -2,8 +2,8 @@ import { tickCombat, createWorld, spawnMonsters, spawnMonsterPacks, damageMonste import type { CombatWorld, CombatOptions, MonsterPack, MonsterStats, SafeZone } from './combat.ts' import { Inventory, rollDrop, goldItem, totalStat } from './items.ts' import type { Item, ItemBase, Affix } from './items.ts' -import { castSkill, tickProjectiles } from './skills.ts' -import type { SkillDef, Projectile } from './skills.ts' +import { castSkill, tickProjectiles, createActiveOverlay, getSkillCastOverlay } from './skills.ts' +import type { SkillDef, Projectile, ActiveOverlay } from './skills.ts' import { QuestLog, npcDialog } from './quests.ts' import type { NpcDef, QuestDef } from './quests.ts' import { Rng } from './rng.ts' @@ -182,6 +182,7 @@ export class GameEngine { questLog: QuestLog projectiles: Projectile[] = [] explosions: ActiveExplosion[] = [] + overlays: ActiveOverlay[] = [] castRng: Rng skillCooldown = 0 selectedSkill = 0 @@ -267,6 +268,31 @@ export class GameEngine { this.opts.monsterKinds = dropTables.monsterKinds } + /** + * Spawns an active cast overlay effect on an entity (defaulting to the player). + */ + /** + * Spawns an active cast overlay effect on an entity (defaulting to the player). + * Replaces any existing active overlay for the same caster to prevent oversaturated additive stacking. + */ + spawnOverlay( + overlayName: string, + caster?: { x: number; y: number }, + casterId = 'player', + ): ActiveOverlay { + const pos = caster ?? { x: this.world.player.x, y: this.world.player.y } + // Cleanly replace any ongoing cast overlay for this caster to prevent oversaturated additive stacking + for (const ov of this.overlays) { + if (ov.casterId === casterId) { + ov.expired = true + } + } + this.overlays = this.overlays.filter(ov => !ov.expired) + const overlay = createActiveOverlay(overlayName, pos, casterId) + this.overlays.push(overlay) + return overlay + } + tick(input: EngineInput): void { const movement = input.movement const player = this.world.player @@ -292,11 +318,19 @@ export class GameEngine { this.skillCooldown = wanted.cooldownTicks this.metrics.casts += 1 castHappened = true + const overlayName = wanted.castOverlay ?? getSkillCastOverlay(wanted.id) + if (overlayName) { + this.spawnOverlay(overlayName, { x: player.x, y: player.y }, 'player') + } } else if (result.kind === 'instant') { player.mana = Math.max(0, player.mana - wanted.manaCost) this.skillCooldown = wanted.cooldownTicks this.metrics.casts += 1 castHappened = true + const overlayName = wanted.castOverlay ?? getSkillCastOverlay(wanted.id) + if (overlayName) { + this.spawnOverlay(overlayName, { x: player.x, y: player.y }, 'player') + } this.world.monsters.forEach((monster, index) => { if (monster.state === 'dead') return if (Math.hypot(monster.x - player.x, monster.y - player.y) > wanted.radius + 20) return @@ -376,6 +410,20 @@ export class GameEngine { this.explosions = this.explosions.filter(exp => exp.frame < exp.maxFrames) } + if (this.overlays.length > 0) { + for (const overlay of this.overlays) { + if (overlay.casterId === 'player') { + overlay.x = player.x + overlay.y = player.y + } + overlay.frame += overlay.animRate / 25 + if (overlay.frame >= overlay.maxFrames) { + overlay.expired = true + } + } + this.overlays = this.overlays.filter(overlay => !overlay.expired) + } + if (input.talking) { let nearest: { def: NpcDef; x: number; y: number } | null = null let best = this.opts.talkRadius @@ -552,6 +600,8 @@ export class GameEngine { this.questLog = pieces.quests this.ground = pieces.ground this.projectiles = [] + this.explosions = [] + this.overlays = [] if (this.streamingManager !== undefined) { this.streamingManager.world = this.world } diff --git a/src/game/skills.ts b/src/game/skills.ts index c8d8531..cd78473 100644 --- a/src/game/skills.ts +++ b/src/game/skills.ts @@ -50,6 +50,8 @@ export interface SkillDef { readonly damagePerLevel: number /** Radius of the instant effect, for non-projectile skills. */ readonly radius: number + /** Cast overlay identifier from Skills.txt castoverlay column (e.g. 'fire_cast_1'). */ + readonly castOverlay?: string | undefined } /** A projectile in flight. */ @@ -375,6 +377,550 @@ export function getMissileTxtData( return getMissileTxtData(missileName, undefined) } +/** + * Data extracted from Diablo II 1.13c Overlay.txt for visual overlay effects. + */ +export interface OverlayTxtData { + readonly overlay: string + readonly filename: string + readonly frames: number + readonly animRate: number + readonly trans: number + readonly preDraw: boolean + readonly initRadius: number + readonly radius: number + readonly red: number + readonly green: number + readonly blue: number + readonly numDirections?: number + readonly xOffset?: number + readonly yOffset?: number +} + +/** Canonical 1.13c Ground Truth Overlay.txt defaults for elemental sorceress spell overlays. */ +export const CANONICAL_113C_OVERLAYS: Readonly> = Object.freeze({ + fire_cast_1: { + overlay: 'fire_cast_1', + filename: 'FireCast_for_Sorceress', + frames: 14, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 178, + blue: 64, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + firecast_for_sorceress: { + overlay: 'fire_cast_1', + filename: 'FireCast_for_Sorceress', + frames: 14, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 178, + blue: 64, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + fire_cast_2: { + overlay: 'fire_cast_2', + filename: 'FireCast2', + frames: 16, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 178, + blue: 64, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + firecast2: { + overlay: 'fire_cast_2', + filename: 'FireCast2', + frames: 16, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 178, + blue: 64, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + ice_cast_1: { + overlay: 'ice_cast_1', + filename: 'IceCastNew01', + frames: 15, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + icecastnew01: { + overlay: 'ice_cast_1', + filename: 'IceCastNew01', + frames: 15, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + ice_cast_2: { + overlay: 'ice_cast_2', + filename: 'IceCastNew02', + frames: 15, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + icecastnew02: { + overlay: 'ice_cast_2', + filename: 'IceCastNew02', + frames: 15, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + ice_cast_3: { + overlay: 'ice_cast_3', + filename: 'IceCastNew03', + // Note: Overlay.txt lists 15 frames, but IceCastNew03.dcc contains 16 full frames. + frames: 16, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + icecastnew03: { + overlay: 'ice_cast_3', + filename: 'IceCastNew03', + // Note: Overlay.txt lists 15 frames, but IceCastNew03.dcc contains 16 full frames. + frames: 16, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 81, + green: 81, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + light_cast_1: { + overlay: 'light_cast_1', + filename: 'LightningCast', + frames: 10, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 255, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + lightningcast: { + overlay: 'light_cast_1', + filename: 'LightningCast', + frames: 10, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 255, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + light_cast_2: { + overlay: 'light_cast_2', + filename: 'LightningCastRunesFront', + frames: 10, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 255, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + lightningcastrunesfront: { + overlay: 'light_cast_2', + filename: 'LightningCastRunesFront', + frames: 10, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 255, + blue: 255, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, + teleport: { + overlay: 'teleport', + filename: 'Teleport', + frames: 18, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 5, + red: 255, + green: 255, + blue: 200, + numDirections: 1, + xOffset: 0, + yOffset: 0, + }, +}) + +/** + * Parses raw Overlay.txt text into a Map of overlay records. + */ +export function parseOverlayTxt(content: string): Map { + const map = new Map() + const lines = content.split(/\r?\n/).filter(line => line.trim().length > 0) + if (lines.length < 2) return map + const headers = lines[0]!.split('\t').map(h => h.trim()) + const col = (name: string) => headers.findIndex(h => h.toLowerCase() === name.toLowerCase()) + + const overlayIdx = col('overlay') + const filenameIdx = col('Filename') + const framesIdx = col('Frames') + const animRateIdx = col('AnimRate') + const transIdx = col('Trans') + const preDrawIdx = col('PreDraw') + const initRadiusIdx = col('InitRadius') + const radiusIdx = col('Radius') + const redIdx = col('Red') + const greenIdx = col('Green') + const blueIdx = col('Blue') + const numDirIdx = col('NumDirections') + const xOffsetIdx = col('Xoffset') + const yOffsetIdx = col('Yoffset') + + for (let i = 1; i < lines.length; i++) { + const cells = lines[i]!.split('\t') + const rawName = (cells[overlayIdx] ?? '').trim() + const name = rawName.toLowerCase() + if (!name || name === 'expansion') continue + + const filename = (cells[filenameIdx] ?? '').trim() + const frames = Number(cells[framesIdx] ?? 1) || 1 + const animRate = Number(cells[animRateIdx] ?? 16) || 16 + const trans = Number(cells[transIdx] ?? 0) || 0 + const preDraw = Number(cells[preDrawIdx] ?? 0) !== 0 + const initRadius = Number(cells[initRadiusIdx] ?? 0) || 0 + const radius = Number(cells[radiusIdx] ?? 0) || 0 + const red = Number(cells[redIdx] ?? 255) || 255 + const green = Number(cells[greenIdx] ?? 255) || 255 + const blue = Number(cells[blueIdx] ?? 255) || 255 + const numDirections = Number(cells[numDirIdx] ?? 1) || 1 + const xOffset = Number(cells[xOffsetIdx] ?? 0) || 0 + const yOffset = Number(cells[yOffsetIdx] ?? 0) || 0 + + const rec: OverlayTxtData = { + overlay: rawName, + filename, + frames, + animRate, + trans, + preDraw, + initRadius, + radius, + red, + green, + blue, + numDirections, + xOffset, + yOffset, + } + map.set(name, rec) + if (filename) { + map.set(filename.toLowerCase(), rec) + } + } + return map +} + +/** + * Extracts overlay data from an Overlay.txt table or parsed records. + */ +export function getOverlayTxtData( + overlayName: string, + overlaySource?: + | Map + | { rows: readonly Readonly>[] } + | { header: readonly string[]; rows: readonly (readonly string[])[] } + | string + | undefined, +): OverlayTxtData { + const key = overlayName.trim().toLowerCase() + if (!overlaySource) { + return CANONICAL_113C_OVERLAYS[key] ?? { + overlay: overlayName, + filename: overlayName, + frames: 14, + animRate: 16, + trans: 3, + preDraw: false, + initRadius: 1, + radius: 9, + red: 255, + green: 178, + blue: 64, + } + } + + if (typeof overlaySource === 'string') { + const parsed = parseOverlayTxt(overlaySource) + return parsed.get(key) ?? getOverlayTxtData(overlayName, undefined) + } + + if (overlaySource instanceof Map) { + return overlaySource.get(key) ?? getOverlayTxtData(overlayName, undefined) + } + + // DataTable ({ rows: Record[] }) + if ('rows' in overlaySource && !('header' in overlaySource)) { + const tableRows = overlaySource.rows as readonly Readonly>[] + const row = tableRows.find( + r => (r['overlay'] ?? r['Overlay'] ?? '').trim().toLowerCase() === key || + (r['Filename'] ?? r['filename'] ?? '').trim().toLowerCase() === key, + ) + if (row) { + return { + overlay: (row['overlay'] ?? row['Overlay'] ?? key).trim(), + filename: (row['Filename'] ?? row['filename'] ?? '').trim(), + frames: Number(row['Frames'] ?? row['frames'] ?? 1) || 1, + animRate: Number(row['AnimRate'] ?? row['animrate'] ?? 16) || 16, + trans: Number(row['Trans'] ?? row['trans'] ?? 0) || 0, + preDraw: Number(row['PreDraw'] ?? row['predraw'] ?? 0) !== 0, + initRadius: Number(row['InitRadius'] ?? row['initradius'] ?? 0) || 0, + radius: Number(row['Radius'] ?? row['radius'] ?? 0) || 0, + red: Number(row['Red'] ?? row['red'] ?? 255) || 255, + green: Number(row['Green'] ?? row['green'] ?? 255) || 255, + blue: Number(row['Blue'] ?? row['blue'] ?? 255) || 255, + numDirections: Number(row['NumDirections'] ?? row['numdirections'] ?? 1) || 1, + xOffset: Number(row['Xoffset'] ?? row['xoffset'] ?? 0) || 0, + yOffset: Number(row['Yoffset'] ?? row['yoffset'] ?? 0) || 0, + } + } + } + + return getOverlayTxtData(overlayName, undefined) +} + +/** + * An active unit overlay in the world (e.g. cast overlay, aura, buff visual). + */ +export interface ActiveOverlay { + readonly id: string + readonly overlayName: string + readonly casterId: string + x: number + y: number + frame: number + readonly maxFrames: number + readonly animRate: number + readonly preDraw: boolean + readonly trans: number + readonly lightRadius: number + readonly lightColor: readonly [number, number, number] + expired: boolean +} + +/** + * Creates an ActiveOverlay entity initialized at the caster's coordinates. + */ +export function createActiveOverlay( + overlayName: string, + caster: { x: number; y: number }, + casterId = 'player', + overlaySource?: Map | string, +): ActiveOverlay { + const data = getOverlayTxtData(overlayName, overlaySource) + return { + id: `overlay_${overlayName}_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`, + overlayName: data.overlay, + casterId, + x: caster.x, + y: caster.y, + frame: 0, + maxFrames: data.frames, + animRate: data.animRate, + preDraw: data.preDraw, + trans: data.trans, + lightRadius: data.radius, + lightColor: [data.red, data.green, data.blue] as const, + expired: false, + } +} + +/** Complete canonical mapping for all Sorceress skills to their 1.13c castoverlay. */ +export const SORCERESS_SKILL_CAST_OVERLAYS: Readonly> = Object.freeze({ + 36: 'fire_cast_1', // Fire Bolt + 38: 'light_cast_1', // Charged Bolt + 39: 'ice_cast_1', // Ice Bolt + 40: 'ice_cast_1', // Frozen Armor + 42: 'light_cast_1', // Static Field + 43: 'light_cast_2', // Telekinesis + 44: 'ice_cast_2', // Frost Nova + 45: 'ice_cast_1', // Ice Blast + 46: 'fire_cast_2', // Blaze + 47: 'fire_cast_2', // Fire Ball + 48: 'light_cast_1', // Nova + 49: 'light_cast_1', // Lightning + 50: 'ice_cast_2', // Shiver Armor + 51: 'fire_cast_2', // Fire Wall + 53: 'light_cast_1', // Chain Lightning + 54: 'teleport', // Teleport + 55: 'ice_cast_2', // Glacial Spike + 56: 'fire_cast_2', // Meteor + 57: 'light_cast_2', // Thunder Storm + 58: 'light_cast_2', // Energy Shield + 59: 'ice_cast_3', // Blizzard + 60: 'ice_cast_3', // Chilling Armor + 62: 'fire_cast_2', // Hydra + 64: 'ice_cast_3', // Frozen Orb +}) + +const SORCERESS_SKILL_NAME_TO_OVERLAY: Readonly> = Object.freeze({ + firebolt: 'fire_cast_1', + 'fire bolt': 'fire_cast_1', + chargedbolt: 'light_cast_1', + 'charged bolt': 'light_cast_1', + icebolt: 'ice_cast_1', + 'ice bolt': 'ice_cast_1', + frozenarmor: 'ice_cast_1', + 'frozen armor': 'ice_cast_1', + staticfield: 'light_cast_1', + 'static field': 'light_cast_1', + telekinesis: 'light_cast_2', + frostnova: 'ice_cast_2', + 'frost nova': 'ice_cast_2', + iceblast: 'ice_cast_1', + 'ice blast': 'ice_cast_1', + blaze: 'fire_cast_2', + fireball: 'fire_cast_2', + 'fire ball': 'fire_cast_2', + nova: 'light_cast_1', + lightning: 'light_cast_1', + shiverarmor: 'ice_cast_2', + 'shiver armor': 'ice_cast_2', + firewall: 'fire_cast_2', + 'fire wall': 'fire_cast_2', + chainlightning: 'light_cast_1', + 'chain lightning': 'light_cast_1', + teleport: 'teleport', + glacialspike: 'ice_cast_2', + 'glacial spike': 'ice_cast_2', + meteor: 'fire_cast_2', + thunderstorm: 'light_cast_2', + 'thunder storm': 'light_cast_2', + energyshield: 'light_cast_2', + 'energy shield': 'light_cast_2', + blizzard: 'ice_cast_3', + chillingarmor: 'ice_cast_3', + 'chilling armor': 'ice_cast_3', + hydra: 'fire_cast_2', + frozenorb: 'ice_cast_3', + 'frozen orb': 'ice_cast_3', +}) + +/** + * Returns canonical castoverlay name for a skill, if any. + */ +export function getSkillCastOverlay(skillId: number | string): string | undefined { + if (typeof skillId === 'number') { + return SORCERESS_SKILL_CAST_OVERLAYS[skillId] ?? BATCH1_SKILLS[skillId]?.castOverlay + } + const num = parseInt(skillId, 10) + if (!Number.isNaN(num)) { + return SORCERESS_SKILL_CAST_OVERLAYS[num] ?? BATCH1_SKILLS[num]?.castOverlay + } + const normalized = skillId.toLowerCase().trim() + const overlay = + SORCERESS_SKILL_NAME_TO_OVERLAY[normalized] ?? + SORCERESS_SKILL_NAME_TO_OVERLAY[normalized.replace(/[\s_-]/g, '')] + if (overlay) return overlay + for (const skill of Object.values(BATCH1_SKILLS)) { + if (skill.name.toLowerCase() === normalized && skill.castOverlay) { + return skill.castOverlay + } + } + return undefined +} + /** * Read one skill from a table row. * @@ -405,6 +951,8 @@ export function skillFromRow( if (msl.speedPxPerSec > 0) speed = msl.speedPxPerSec if (msl.distancePx > 0) range = msl.distancePx } + const rawCastOverlay = textCell(row, 'castoverlay', textCell(row, 'castOverlay', '')) + const castOverlay = rawCastOverlay.length > 0 ? rawCastOverlay.toLowerCase() : undefined return { id, name: resolveText(rawName, text) || id, @@ -419,6 +967,7 @@ export function skillFromRow( baseMaxDamage: Math.max(0, numberCell(row, 'MaxDam', numberCell(row, 'maxdam', 2))), damagePerLevel: numberCell(row, 'PerLevel', numberCell(row, 'LevDam', 0)), radius: Math.max(1, numberCell(row, 'Radius', numberCell(row, 'HitRadius', 24))), + castOverlay, } } @@ -443,6 +992,48 @@ export function skillsFromTable( return table.rows.map((row, index) => skillFromRow(row, index, text, missilesSource)) } +/** + * Parses raw Skills.txt text into a Map of skill definitions keyed by skill name and ID. + */ +export function parseSkillsTxt( + content: string, + missilesSource?: + | Map + | { rows: readonly Readonly>[] } + | { header: readonly string[]; rows: readonly (readonly string[])[] } + | string + | undefined, +): Map { + const map = new Map() + const lines = content.split(/\r?\n/).filter(line => line.trim().length > 0) + if (lines.length < 2) return map + const headers = lines[0]!.split('\t').map(h => h.trim()) + const rows: Record[] = [] + for (let i = 1; i < lines.length; i++) { + const cells = lines[i]!.split('\t') + const row: Record = {} + for (let c = 0; c < headers.length; c++) { + const colName = headers[c] + if (colName) { + row[colName] = (cells[c] ?? '').trim() + } + } + rows.push(row) + } + + for (let i = 0; i < rows.length; i++) { + const row = rows[i]! + const skillName = (row['skill'] ?? row['Name'] ?? row['skilldesc'] ?? `skill${i}`).trim() + if (!skillName || skillName === 'expansion') continue + const def = skillFromRow(row, i, { get: () => skillName }, missilesSource) + map.set(skillName.toLowerCase(), def) + if (def.id) { + map.set(def.id.toLowerCase(), def) + } + } + return map +} + /** * Damage of a skill at a level. * @@ -679,6 +1270,7 @@ export interface Batch1SkillDef { readonly srcDamage: number readonly range?: number readonly speed?: number + readonly castOverlay?: string } export const BATCH1_SKILLS: Readonly> = Object.freeze({ @@ -690,12 +1282,12 @@ export const BATCH1_SKILLS: Readonly> = Object.fr 14: { id: 14, name: 'Power Strike', classCode: 'ama', charClass: 'amazon', type: 'melee', mana: 16, lvlmana: 2, minmana: 0, manashift: 5, delay: 0, hitshift: 8, emin: 1, emax: 16, elev1: 8, elev2: 12, elev3: 16, elev4: 20, elev5: 24, srcDamage: 128 }, // Sorceress (6 skills) - 36: { id: 36, name: 'Fire Bolt', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 5, lvlmana: 0, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 6, emax: 12, elev1: 2, elev2: 4, elev3: 6, elev4: 8, elev5: 10, srcDamage: 0, range: 1000, speed: 500 }, + 36: { id: 36, name: 'Fire Bolt', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 5, lvlmana: 0, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 6, emax: 12, elev1: 2, elev2: 4, elev3: 6, elev4: 8, elev5: 10, srcDamage: 0, range: 1000, speed: 500, castOverlay: 'fire_cast_1' }, 37: { id: 37, name: 'Warmth', classCode: 'sor', charClass: 'sorceress', type: 'passive', mana: 0, lvlmana: 0, minmana: 0, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0 }, - 39: { id: 39, name: 'Ice Bolt', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 6, lvlmana: 0, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 6, emax: 10, elev1: 2, elev2: 4, elev3: 6, elev4: 8, elev5: 10, srcDamage: 0, range: 400, speed: 450 }, - 44: { id: 44, name: 'Frost Nova', classCode: 'sor', charClass: 'sorceress', type: 'area', mana: 9, lvlmana: 1, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 2, emax: 4, elev1: 1, elev2: 2, elev3: 3, elev4: 4, elev5: 5, srcDamage: 0 }, - 47: { id: 47, name: 'Fire Ball', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 10, lvlmana: 1, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 12, emax: 28, elev1: 6, elev2: 12, elev3: 18, elev4: 24, elev5: 30, srcDamage: 0, range: 450, speed: 450 }, - 54: { id: 54, name: 'Teleport', classCode: 'sor', charClass: 'sorceress', type: 'movement', mana: 24, lvlmana: -1, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0 }, + 39: { id: 39, name: 'Ice Bolt', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 6, lvlmana: 0, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 6, emax: 10, elev1: 2, elev2: 4, elev3: 6, elev4: 8, elev5: 10, srcDamage: 0, range: 400, speed: 450, castOverlay: 'ice_cast_1' }, + 44: { id: 44, name: 'Frost Nova', classCode: 'sor', charClass: 'sorceress', type: 'area', mana: 9, lvlmana: 1, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 2, emax: 4, elev1: 1, elev2: 2, elev3: 3, elev4: 4, elev5: 5, srcDamage: 0, castOverlay: 'ice_cast_2' }, + 47: { id: 47, name: 'Fire Ball', classCode: 'sor', charClass: 'sorceress', type: 'projectile', mana: 10, lvlmana: 1, minmana: 1, manashift: 7, delay: 0, hitshift: 7, emin: 12, emax: 28, elev1: 6, elev2: 12, elev3: 18, elev4: 24, elev5: 30, srcDamage: 0, range: 450, speed: 450, castOverlay: 'fire_cast_2' }, + 54: { id: 54, name: 'Teleport', classCode: 'sor', charClass: 'sorceress', type: 'movement', mana: 24, lvlmana: -1, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0, castOverlay: 'teleport' }, // Necromancer (5 skills) 66: { id: 66, name: 'Amplify Damage', classCode: 'nec', charClass: 'necromancer', type: 'curse', mana: 4, lvlmana: 0, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0 }, diff --git a/src/render/overlays-meta.ts b/src/render/overlays-meta.ts new file mode 100644 index 0000000..23cbd4b --- /dev/null +++ b/src/render/overlays-meta.ts @@ -0,0 +1,1210 @@ +/** + * Authentic Diablo II v1.13c Cast Overlay Atlas Metadata. + * Auto-generated by scripts/pack-overlays.ts. + * Enforces Zero Runtime MPQ/DLL Architectural Invariant. + */ + +export interface OverlayFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type OverlayFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface OverlayBox { + readonly left: number + readonly top: number + readonly width: number + readonly height: number +} + +export interface OverlayMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly frames: number + readonly framesPerDirection: number + readonly animRate: number + readonly trans: number + readonly preDraw: boolean + readonly lightRadius: number + readonly lightColor: readonly [number, number, number] + readonly box: OverlayBox + readonly groups: readonly (readonly OverlayFrameTuple[])[] +} + +export const FIRE_CAST_1_META: OverlayMeta = { + "name": "fire_cast_1", + "celFile": "FireCast_for_Sorceress", + "width": 1024, + "height": 329, + "directions": 1, + "frames": 14, + "framesPerDirection": 14, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 178, + 64 + ], + "box": { + "left": -55, + "top": -127, + "width": 117, + "height": 164 + }, + "groups": [ + [ + [ + 0, + 0, + 117, + 164, + -55, + -127 + ], + [ + 118, + 0, + 117, + 164, + -55, + -127 + ], + [ + 236, + 0, + 117, + 164, + -55, + -127 + ], + [ + 354, + 0, + 117, + 164, + -55, + -127 + ], + [ + 472, + 0, + 117, + 164, + -55, + -127 + ], + [ + 590, + 0, + 117, + 164, + -55, + -127 + ], + [ + 708, + 0, + 117, + 164, + -55, + -127 + ], + [ + 826, + 0, + 117, + 164, + -55, + -127 + ], + [ + 0, + 165, + 117, + 164, + -55, + -127 + ], + [ + 118, + 165, + 117, + 164, + -55, + -127 + ], + [ + 236, + 165, + 117, + 164, + -55, + -127 + ], + [ + 354, + 165, + 117, + 164, + -55, + -127 + ], + [ + 472, + 165, + 117, + 164, + -55, + -127 + ], + [ + 590, + 165, + 117, + 164, + -55, + -127 + ] + ] + ] +} + +export const FIRE_CAST_2_META: OverlayMeta = { + "name": "fire_cast_2", + "celFile": "FireCast2", + "width": 1024, + "height": 401, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 178, + 64 + ], + "box": { + "left": -74, + "top": -89, + "width": 145, + "height": 133 + }, + "groups": [ + [ + [ + 0, + 0, + 145, + 133, + -74, + -89 + ], + [ + 146, + 0, + 145, + 133, + -74, + -89 + ], + [ + 292, + 0, + 145, + 133, + -74, + -89 + ], + [ + 438, + 0, + 145, + 133, + -74, + -89 + ], + [ + 584, + 0, + 145, + 133, + -74, + -89 + ], + [ + 730, + 0, + 145, + 133, + -74, + -89 + ], + [ + 876, + 0, + 145, + 133, + -74, + -89 + ], + [ + 0, + 134, + 145, + 133, + -74, + -89 + ], + [ + 146, + 134, + 145, + 133, + -74, + -89 + ], + [ + 292, + 134, + 145, + 133, + -74, + -89 + ], + [ + 438, + 134, + 145, + 133, + -74, + -89 + ], + [ + 584, + 134, + 145, + 133, + -74, + -89 + ], + [ + 730, + 134, + 145, + 133, + -74, + -89 + ], + [ + 876, + 134, + 145, + 133, + -74, + -89 + ], + [ + 0, + 268, + 145, + 133, + -74, + -89 + ], + [ + 146, + 268, + 145, + 133, + -74, + -89 + ] + ] + ] +} + +export const ICE_CAST_1_META: OverlayMeta = { + "name": "ice_cast_1", + "celFile": "IceCastNew01", + "width": 512, + "height": 167, + "directions": 1, + "frames": 15, + "framesPerDirection": 15, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 81, + 81, + 255 + ], + "box": { + "left": -49, + "top": -90, + "width": 97, + "height": 55 + }, + "groups": [ + [ + [ + 0, + 0, + 97, + 55, + -49, + -90 + ], + [ + 98, + 0, + 97, + 55, + -49, + -90 + ], + [ + 196, + 0, + 97, + 55, + -49, + -90 + ], + [ + 294, + 0, + 97, + 55, + -49, + -90 + ], + [ + 392, + 0, + 97, + 55, + -49, + -90 + ], + [ + 0, + 56, + 97, + 55, + -49, + -90 + ], + [ + 98, + 56, + 97, + 55, + -49, + -90 + ], + [ + 196, + 56, + 97, + 55, + -49, + -90 + ], + [ + 294, + 56, + 97, + 55, + -49, + -90 + ], + [ + 392, + 56, + 97, + 55, + -49, + -90 + ], + [ + 0, + 112, + 97, + 55, + -49, + -90 + ], + [ + 98, + 112, + 97, + 55, + -49, + -90 + ], + [ + 196, + 112, + 97, + 55, + -49, + -90 + ], + [ + 294, + 112, + 97, + 55, + -49, + -90 + ], + [ + 392, + 112, + 97, + 55, + -49, + -90 + ] + ] + ] +} + +export const ICE_CAST_2_META: OverlayMeta = { + "name": "ice_cast_2", + "celFile": "IceCastNew02", + "width": 512, + "height": 495, + "directions": 1, + "frames": 15, + "framesPerDirection": 15, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 81, + 81, + 255 + ], + "box": { + "left": -58, + "top": -100, + "width": 115, + "height": 123 + }, + "groups": [ + [ + [ + 0, + 0, + 115, + 123, + -58, + -100 + ], + [ + 116, + 0, + 115, + 123, + -58, + -100 + ], + [ + 232, + 0, + 115, + 123, + -58, + -100 + ], + [ + 348, + 0, + 115, + 123, + -58, + -100 + ], + [ + 0, + 124, + 115, + 123, + -58, + -100 + ], + [ + 116, + 124, + 115, + 123, + -58, + -100 + ], + [ + 232, + 124, + 115, + 123, + -58, + -100 + ], + [ + 348, + 124, + 115, + 123, + -58, + -100 + ], + [ + 0, + 248, + 115, + 123, + -58, + -100 + ], + [ + 116, + 248, + 115, + 123, + -58, + -100 + ], + [ + 232, + 248, + 115, + 123, + -58, + -100 + ], + [ + 348, + 248, + 115, + 123, + -58, + -100 + ], + [ + 0, + 372, + 115, + 123, + -58, + -100 + ], + [ + 116, + 372, + 115, + 123, + -58, + -100 + ], + [ + 232, + 372, + 115, + 123, + -58, + -100 + ] + ] + ] +} + +export const ICE_CAST_3_META: OverlayMeta = { + "name": "ice_cast_3", + "celFile": "IceCastNew03", + "width": 1024, + "height": 297, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 81, + 81, + 255 + ], + "box": { + "left": -63, + "top": -113, + "width": 127, + "height": 148 + }, + "groups": [ + [ + [ + 0, + 0, + 127, + 148, + -63, + -113 + ], + [ + 128, + 0, + 127, + 148, + -63, + -113 + ], + [ + 256, + 0, + 127, + 148, + -63, + -113 + ], + [ + 384, + 0, + 127, + 148, + -63, + -113 + ], + [ + 512, + 0, + 127, + 148, + -63, + -113 + ], + [ + 640, + 0, + 127, + 148, + -63, + -113 + ], + [ + 768, + 0, + 127, + 148, + -63, + -113 + ], + [ + 896, + 0, + 127, + 148, + -63, + -113 + ], + [ + 0, + 149, + 127, + 148, + -63, + -113 + ], + [ + 128, + 149, + 127, + 148, + -63, + -113 + ], + [ + 256, + 149, + 127, + 148, + -63, + -113 + ], + [ + 384, + 149, + 127, + 148, + -63, + -113 + ], + [ + 512, + 149, + 127, + 148, + -63, + -113 + ], + [ + 640, + 149, + 127, + 148, + -63, + -113 + ], + [ + 768, + 149, + 127, + 148, + -63, + -113 + ], + [ + 896, + 149, + 127, + 148, + -63, + -113 + ] + ] + ] +} + +export const LIGHT_CAST_1_META: OverlayMeta = { + "name": "light_cast_1", + "celFile": "LightningCast", + "width": 1024, + "height": 289, + "directions": 1, + "frames": 10, + "framesPerDirection": 10, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -79, + "top": -107, + "width": 164, + "height": 144 + }, + "groups": [ + [ + [ + 0, + 0, + 164, + 144, + -79, + -107 + ], + [ + 165, + 0, + 164, + 144, + -79, + -107 + ], + [ + 330, + 0, + 164, + 144, + -79, + -107 + ], + [ + 495, + 0, + 164, + 144, + -79, + -107 + ], + [ + 660, + 0, + 164, + 144, + -79, + -107 + ], + [ + 825, + 0, + 164, + 144, + -79, + -107 + ], + [ + 0, + 145, + 164, + 144, + -79, + -107 + ], + [ + 165, + 145, + 164, + 144, + -79, + -107 + ], + [ + 330, + 145, + 164, + 144, + -79, + -107 + ], + [ + 495, + 145, + 164, + 144, + -79, + -107 + ] + ] + ] +} + +export const LIGHT_CAST_2_META: OverlayMeta = { + "name": "light_cast_2", + "celFile": "LightningCastRunesFront", + "width": 1024, + "height": 381, + "directions": 1, + "frames": 10, + "framesPerDirection": 10, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -154, + "width": 147, + "height": 190 + }, + "groups": [ + [ + [ + 0, + 0, + 147, + 190, + -73, + -154 + ], + [ + 148, + 0, + 147, + 190, + -73, + -154 + ], + [ + 296, + 0, + 147, + 190, + -73, + -154 + ], + [ + 444, + 0, + 147, + 190, + -73, + -154 + ], + [ + 592, + 0, + 147, + 190, + -73, + -154 + ], + [ + 740, + 0, + 147, + 190, + -73, + -154 + ], + [ + 0, + 191, + 147, + 190, + -73, + -154 + ], + [ + 148, + 191, + 147, + 190, + -73, + -154 + ], + [ + 296, + 191, + 147, + 190, + -73, + -154 + ], + [ + 444, + 191, + 147, + 190, + -73, + -154 + ] + ] + ] +} + +export const TELEPORT_META: OverlayMeta = { + "name": "teleport", + "celFile": "Teleport", + "width": 1024, + "height": 464, + "directions": 1, + "frames": 18, + "framesPerDirection": 18, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -61, + "top": -108, + "width": 136, + "height": 154 + }, + "groups": [ + [ + [ + 0, + 0, + 136, + 154, + -61, + -108 + ], + [ + 137, + 0, + 136, + 154, + -61, + -108 + ], + [ + 274, + 0, + 136, + 154, + -61, + -108 + ], + [ + 411, + 0, + 136, + 154, + -61, + -108 + ], + [ + 548, + 0, + 136, + 154, + -61, + -108 + ], + [ + 685, + 0, + 136, + 154, + -61, + -108 + ], + [ + 822, + 0, + 136, + 154, + -61, + -108 + ], + [ + 0, + 155, + 136, + 154, + -61, + -108 + ], + [ + 137, + 155, + 136, + 154, + -61, + -108 + ], + [ + 274, + 155, + 136, + 154, + -61, + -108 + ], + [ + 411, + 155, + 136, + 154, + -61, + -108 + ], + [ + 548, + 155, + 136, + 154, + -61, + -108 + ], + [ + 685, + 155, + 136, + 154, + -61, + -108 + ], + [ + 822, + 155, + 136, + 154, + -61, + -108 + ], + [ + 0, + 310, + 136, + 154, + -61, + -108 + ], + [ + 137, + 310, + 136, + 154, + -61, + -108 + ], + [ + 274, + 310, + 136, + 154, + -61, + -108 + ], + [ + 411, + 310, + 136, + 154, + -61, + -108 + ] + ] + ] +} + +export const OVERLAY_METAS: Readonly> = { + fire_cast_1: FIRE_CAST_1_META, + FireCast_for_Sorceress: FIRE_CAST_1_META, + fire_cast_2: FIRE_CAST_2_META, + FireCast2: FIRE_CAST_2_META, + ice_cast_1: ICE_CAST_1_META, + IceCastNew01: ICE_CAST_1_META, + ice_cast_2: ICE_CAST_2_META, + IceCastNew02: ICE_CAST_2_META, + ice_cast_3: ICE_CAST_3_META, + IceCastNew03: ICE_CAST_3_META, + light_cast_1: LIGHT_CAST_1_META, + LightningCast: LIGHT_CAST_1_META, + light_cast_2: LIGHT_CAST_2_META, + LightningCastRunesFront: LIGHT_CAST_2_META, + teleport: TELEPORT_META, + Teleport: TELEPORT_META, +} diff --git a/src/render/renderer.ts b/src/render/renderer.ts index b16906d..e338204 100644 --- a/src/render/renderer.ts +++ b/src/render/renderer.ts @@ -80,6 +80,8 @@ export interface DrawOptions { * - 4: Champion / Elite Blue Tint */ readonly paletteRow?: number + /** Blend mode for this draw call ('normal' or 'additive'). */ + readonly blendMode?: 'normal' | 'additive' } /** Configuration options and event callbacks for SpriteRenderer. */ @@ -260,6 +262,7 @@ export class SpriteRenderer { /** Listener references for cleanup. */ private readonly handleContextLost: (event: Event) => void private readonly handleContextRestored: () => void + private currentBlendMode: 'normal' | 'additive' = 'normal' /** * @param canvas - the canvas to render into. @@ -423,6 +426,28 @@ export class SpriteRenderer { return this.maxBatchTextures } + /** Current blending mode ('normal' or 'additive'). */ + get blendMode(): 'normal' | 'additive' { + return this.currentBlendMode + } + + /** + * Set the blend mode for subsequent quads. + * Flushes any pending quads before switching GPU blend states. + */ + setBlendMode(mode: 'normal' | 'additive'): void { + if (this.disposed) return + if (this.currentBlendMode === mode) return + this.flush() + this.currentBlendMode = mode + const gl = this.gl + if (mode === 'additive') { + gl.blendFunc(gl.SRC_ALPHA, gl.ONE) + } else { + gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA) + } + } + /** * Upload an atlas, replacing the current one. * @@ -752,6 +777,7 @@ export class SpriteRenderer { begin(camera: Camera, clear: readonly [number, number, number] = [0, 0, 0]): void { if (this.disposed) throw new RendererError('SpriteRenderer has already been disposed') const gl = this.gl + this.setBlendMode('normal') this.camera = camera this.quadCount = 0 this.batchTextureCount = 0 @@ -772,6 +798,9 @@ export class SpriteRenderer { */ draw(frame: AtlasFrame, x: number, y: number, options: DrawOptions = {}): void { if (this.disposed) return + if (options.blendMode !== undefined && options.blendMode !== this.currentBlendMode) { + this.setBlendMode(options.blendMode) + } const page = options.atlas ?? this.defaultAtlas const unit = this.unitFor(page) const u0 = frame.x / page.width @@ -802,9 +831,20 @@ export class SpriteRenderer { * @param width - rectangle width. * @param height - rectangle height. * @param color - `[r, g, b, a]` in 0..1. + * @param options - optional draw options like blendMode. */ - drawSolid(x: number, y: number, width: number, height: number, color: readonly [number, number, number, number]): void { + drawSolid( + x: number, + y: number, + width: number, + height: number, + color: readonly [number, number, number, number], + options: { blendMode?: 'normal' | 'additive' } = {}, + ): void { if (this.disposed) return + if (options.blendMode !== undefined && options.blendMode !== this.currentBlendMode) { + this.setBlendMode(options.blendMode) + } const unit = this.unitFor(this.whiteAtlas) this.quad(x, y, x + width, y + height, 0.5, 0.5, 0.5, 0.5, color[0], color[1], color[2], color[3], unit, -1) } diff --git a/src/scene/act-scene.ts b/src/scene/act-scene.ts index dd172f7..14894cb 100644 --- a/src/scene/act-scene.ts +++ b/src/scene/act-scene.ts @@ -45,8 +45,8 @@ import { getEmbeddedDropTables } from '../game/embedded-drop-tables.ts' import { buildNpcDef, hasPackedSprite } from '../game/npc.ts' import { npcDialog } from '../game/quests.ts' import type { NpcDef } from '../game/quests.ts' -import { BATCH1_SKILLS, getBatch1SkillDef, isBatch1Skill, getSkillManaCost, getMissileTxtData } from '../game/skills.ts' -import type { Projectile } from '../game/skills.ts' +import { BATCH1_SKILLS, getBatch1SkillDef, isBatch1Skill, getSkillManaCost, getMissileTxtData, getSkillCastOverlay } from '../game/skills.ts' +import type { Projectile, ActiveOverlay } from '../game/skills.ts' import { findSafeDropPosition, calculateBounceHeight, type GroundItemEntity } from '../game/ground-items.ts' import { GroundLabelOverlay, @@ -61,6 +61,7 @@ import { RoofFadeController } from '../render/roofs.ts' import { facingToDirection } from '../game/character.ts' import type { LoadedMonsterArt } from '../game/monster-art.ts' import type { MissileMeta } from '../render/missiles-meta.ts' +import type { OverlayMeta } from '../render/overlays-meta.ts' import { velocityToDccDirection } from '../render/missiles-meta.ts' import { ActorAnimator, type AnimClipMeta } from '../game/actor-animator.ts' import { resolveMonsterArtSpec } from '../game/monster-mapping.ts' @@ -1007,7 +1008,15 @@ export function castSkill( } } - // 5. Dispatch skill + // 5. Spawn cast overlay if defined for this skill + if (skillId !== 0) { + const castOverlayName = getSkillCastOverlay(skillId) + if (castOverlayName) { + engine.spawnOverlay(castOverlayName, { x: player.x, y: player.y }, 'player') + } + } + + // 6. Dispatch skill if (skillId === 0) { const weapon = context.equippedWeapon ?? hudManager?.inventory?.equipped?.weapon1 ?? (typeof window !== 'undefined' ? (window as any).__d2webHudInstance?.inventory?.equipped?.weapon1 : null) const weaponInfo = getAttackWeaponInfo(weapon) @@ -1102,6 +1111,12 @@ export function castSkill( if (!blocked && overlap === 0) { player.x = targetX player.y = targetY + for (const ov of engine.overlays) { + if (ov.casterId === 'player') { + ov.x = player.x + ov.y = player.y + } + } status.textContent = '已施展传送' } else { status.textContent = '无法传送到该位置' @@ -3126,6 +3141,153 @@ export function drawFireExplosion( } } +/** + * Packed overlay animation asset loaded into GPU memory. + */ +export interface LoadedOverlayArt { + readonly meta: OverlayMeta + readonly handle: AtlasHandle + readonly frames: AtlasFrame[][] +} + +/** + * Load authentic 1.13c baked cast overlay atlases from /overlays/*.png or packBase. + */ +export async function loadOverlayArtMap( + renderer: SpriteRenderer, + packBase?: string, +): Promise> { + const map = new Map() + if (typeof fetch === 'undefined' || typeof createImageBitmap === 'undefined') return map + const targets = [ + 'fire_cast_1', + 'fire_cast_2', + 'ice_cast_1', + 'ice_cast_2', + 'ice_cast_3', + 'light_cast_1', + 'light_cast_2', + 'teleport', + ] + const baseCandidates = [ + '/overlays', + packBase ? `${packBase}/overlays` : '', + 'samples/d2-packs/overlays', + ].filter(Boolean) + + await Promise.all( + targets.map(async name => { + for (const base of baseCandidates) { + try { + const [jsonResp, pngResp] = await Promise.all([ + fetch(`${base}/${name}.json`), + fetch(`${base}/${name}.png`), + ]) + if (jsonResp.ok && pngResp.ok) { + const meta = (await jsonResp.json()) as OverlayMeta + const blob = await pngResp.blob() + const bitmap = await createImageBitmap(blob) + let handle: AtlasHandle + try { + handle = renderer.addAtlas(bitmap, meta.width, meta.height) + } finally { + bitmap.close() + } + const frames: AtlasFrame[][] = meta.groups.map(group => + group.map(([x, y, width, height, anchorX, anchorY]) => ({ + x, + y, + width, + height, + ...(anchorX !== undefined ? { anchorX } : {}), + ...(anchorY !== undefined ? { anchorY } : {}), + })), + ) + const art: LoadedOverlayArt = { meta, handle, frames } + map.set(name, art) + if (meta.celFile) { + map.set(meta.celFile.toLowerCase(), art) + } + break + } + } catch { + // ignore candidate error and continue to next fallback path + } + } + }), + ) + return map +} + +/** + * Render a Diablo II 1.13c character cast overlay effect: + * - Uses authentic baked DCC sprite atlas with additive blending (Trans === 3) when available. + * - Respects frame anchorX and anchorY offsets to align with caster's origin. + * - Projects a dynamic point light with authentic 1.13c light colors and radius. + * - Falls back to procedural magic glow in test/offline environments. + */ +export function drawCastOverlay( + renderer: SpriteRenderer, + overlay: ActiveOverlay, + overlayArt?: LoadedOverlayArt, +): void { + // 1. Dynamic point light halo (1.13c colors & radius) + const [r255, g255, b255] = overlay.lightColor + const r = r255 / 255 + const g = g255 / 255 + const b = b255 / 255 + const radius = overlay.lightRadius > 0 ? overlay.lightRadius * 5 : 45 + const progress = Math.min(1, Math.max(0, overlay.frame / overlay.maxFrames)) + const intensity = Math.sin(progress * Math.PI) * 0.35 + 0.15 + + if (intensity > 0.01) { + renderer.drawSolid( + overlay.x - radius, + overlay.y - radius, + radius * 2, + radius * 2, + [r, g, b, intensity * 0.25], + { blendMode: 'additive' }, + ) + const coreRadius = radius * 0.5 + renderer.drawSolid( + overlay.x - coreRadius, + overlay.y - coreRadius, + coreRadius * 2, + coreRadius * 2, + [r, g, b, intensity * 0.5], + { blendMode: 'additive' }, + ) + } + + // 2. Sprite animation with additive blending + if (overlayArt !== undefined) { + const frameCount = Math.max(1, overlayArt.meta.framesPerDirection || overlayArt.meta.frames) + const frameIndex = Math.min(Math.max(0, Math.floor(overlay.frame)), frameCount - 1) + const group = overlayArt.frames[0] + const frame = group?.[frameIndex] ?? group?.[0] + if (frame !== undefined) { + const drawX = frame.anchorX !== undefined ? overlay.x + frame.anchorX : overlay.x - frame.width / 2 + const drawY = frame.anchorY !== undefined ? overlay.y + frame.anchorY : overlay.y - frame.height / 2 + renderer.draw(frame, drawX, drawY, { atlas: overlayArt.handle, blendMode: 'additive' }) + renderer.setBlendMode('normal') + return + } + } + + // 3. Fallback procedural representation in test/offline environments + const fallbackRadius = 16 + renderer.drawSolid( + overlay.x - fallbackRadius, + overlay.y - fallbackRadius, + fallbackRadius * 2, + fallbackRadius * 2, + [r, g, b, 0.6], + { blendMode: 'additive' }, + ) + renderer.setBlendMode('normal') +} + /** Quality colors for ground item highlights and glints. */ export const GROUND_ITEM_QUALITY_COLORS: Record = { normal: [0.88, 0.88, 0.88, 1.0], @@ -3262,6 +3424,10 @@ async function runScene(initialRuntime: MapRuntime, renderer: SpriteRenderer, st void loadMissileArtMap(renderer, packEntityBase).then(map => { missileArtMap = map }) + let overlayArtMap = new Map() + void loadOverlayArtMap(renderer, packEntityBase).then(map => { + overlayArtMap = map + }) let monsterWalkFrame = 0 const playerAnimator = new ActorAnimator() @@ -4200,9 +4366,9 @@ if (typeof window !== 'undefined') { const entities: EntityDraw[] = [] - const pushEntity = (x: number, y: number, draw: () => void) => { + const pushEntity = (x: number, y: number, draw: () => void, depthOffset = 0) => { const c = cellOf(runtime.grid, x, y) - entities.push({ x, y, depth: c.x + c.y, draw }) + entities.push({ x, y, depth: c.x + c.y + depthOffset, draw }) } pushEntity(engine.world.player.x, engine.world.player.y, () => { @@ -4320,6 +4486,22 @@ if (typeof window !== 'undefined') { }) } + for (const overlay of engine.overlays) { + if (overlay.expired) continue + pushEntity( + overlay.x, + overlay.y, + () => { + drawCastOverlay( + renderer, + overlay, + overlayArtMap.get(overlay.overlayName) ?? overlayArtMap.get(overlay.overlayName.toLowerCase()), + ) + }, + overlay.preDraw ? -0.1 : 0.1, + ) + } + for (const gItem of engine.groundItems.all) { pushEntity(gItem.x, gItem.y, () => { drawGroundItem(renderer, gItem, renderStarted) diff --git a/tests/cast-overlay-113c.test.ts b/tests/cast-overlay-113c.test.ts new file mode 100644 index 0000000..7d84550 --- /dev/null +++ b/tests/cast-overlay-113c.test.ts @@ -0,0 +1,758 @@ +/** + * Diablo II: Lord of Destruction v1.13c — Cast Overlay System Parity Test Suite + * + * Requirements (Issue #386): + * 1. 1.13c Ground Truth: Overlay.txt & Skills.txt authentic data extraction & verification. + * 2. Complete mapping for all 24 Sorceress skills to their 1.13c castoverlay entries. + * 3. Exact entity lifecycle: ActiveOverlay frame progression (animRate / 25 = 0.64/tick) & expiration (tick 22 for 14 frames). + * 4. Spatial tracking: ActiveOverlay follows caster movement and instant teleportation. + * 5. Viewport rendering: SpriteRenderer additive blending (Trans === 3, SRC_ALPHA + ONE), anchor alignment, & point lighting. + * 6. Offline asset pipeline verification: Baked PNG/JSON in public/overlays/ and samples/d2-packs/overlays/. + */ +import { describe, expect, it } from 'vitest' +import fs from 'node:fs' +import path from 'node:path' +import { Rng } from '../src/game/rng.ts' +import { + parseOverlayTxt, + getOverlayTxtData, + createActiveOverlay, + parseSkillsTxt, + getSkillCastOverlay, + SORCERESS_SKILL_CAST_OVERLAYS, + CANONICAL_113C_OVERLAYS, + BATCH1_SKILLS, + type ActiveOverlay, + type OverlayTxtData, + castSkill, +} from '../src/game/skills.ts' +import { + drawCastOverlay, + loadOverlayArtMap, + type LoadedOverlayArt, +} from '../src/scene/act-scene.ts' +import { GameEngine } from '../src/game/engine.ts' +import { DEMO_EXPERIENCE, DEMO_SKILLS, DEMO_QUESTS } from '../src/game/demo-data.ts' +import { SpriteRenderer, type AtlasHandle } from '../src/render/renderer.ts' +import { + FIRE_CAST_1_META, + TELEPORT_META, + OVERLAY_METAS, +} from '../src/render/overlays-meta.ts' + +describe('Issue #386 — Diablo II v1.13c Cast Overlay Parity', () => { + const overlayTxtPath = path.resolve(__dirname, '../samples/fixtures/data/global/excel/Overlay.txt') + const skillsTxtPath = path.resolve(__dirname, '../samples/fixtures/data/global/excel/Skills.txt') + + const overlayTxtContent = fs.readFileSync(overlayTxtPath, 'latin1') + const skillsTxtContent = fs.readFileSync(skillsTxtPath, 'latin1') + + it('1. Parses authentic 1.13c Overlay.txt and verifies elemental cast overlays', () => { + expect(overlayTxtContent.length).toBeGreaterThan(5000) + const overlayMap = parseOverlayTxt(overlayTxtContent) + + // Verify fire_cast_1 + const fireCast1 = overlayMap.get('fire_cast_1') + expect(fireCast1).toBeDefined() + expect(fireCast1!.filename).toBe('FireCast_for_Sorceress') + expect(fireCast1!.frames).toBe(14) + expect(fireCast1!.animRate).toBe(16) + expect(fireCast1!.trans).toBe(3) // additive blending + expect(fireCast1!.preDraw).toBe(false) // foreground (0 in Overlay.txt) + expect(fireCast1!.radius).toBe(9) + expect(fireCast1!.red).toBe(255) + expect(fireCast1!.green).toBe(178) + expect(fireCast1!.blue).toBe(64) + + // Verify fire_cast_2 + const fireCast2 = overlayMap.get('fire_cast_2') + expect(fireCast2).toBeDefined() + expect(fireCast2!.filename).toBe('FireCast2') + expect(fireCast2!.frames).toBe(16) + expect(fireCast2!.animRate).toBe(16) + expect(fireCast2!.trans).toBe(3) + expect(fireCast2!.preDraw).toBe(false) + expect(fireCast2!.radius).toBe(9) + + // Verify ice_cast_1 + const iceCast1 = overlayMap.get('ice_cast_1') + expect(iceCast1).toBeDefined() + expect(iceCast1!.filename).toBe('IceCastNew01') + expect(iceCast1!.frames).toBe(15) + expect(iceCast1!.animRate).toBe(16) + expect(iceCast1!.trans).toBe(3) + expect(iceCast1!.preDraw).toBe(false) + expect(iceCast1!.radius).toBe(9) + expect(iceCast1!.red).toBe(81) + expect(iceCast1!.green).toBe(81) + expect(iceCast1!.blue).toBe(255) + + // Verify light_cast_1 + const lightCast1 = overlayMap.get('light_cast_1') + expect(lightCast1).toBeDefined() + expect(lightCast1!.filename).toBe('LightningCast') + expect(lightCast1!.frames).toBe(10) + expect(lightCast1!.animRate).toBe(16) + expect(lightCast1!.trans).toBe(3) + expect(lightCast1!.preDraw).toBe(false) + expect(lightCast1!.radius).toBe(9) + expect(lightCast1!.red).toBe(255) + expect(lightCast1!.green).toBe(255) + expect(lightCast1!.blue).toBe(255) + + // Verify teleport + const teleport = overlayMap.get('teleport') + expect(teleport).toBeDefined() + expect(teleport!.filename).toBe('Teleport') + expect(teleport!.frames).toBe(18) + expect(teleport!.animRate).toBe(16) + expect(teleport!.trans).toBe(3) + expect(teleport!.preDraw).toBe(false) + expect(teleport!.radius).toBe(5) + expect(teleport!.red).toBe(255) + expect(teleport!.green).toBe(255) + expect(teleport!.blue).toBe(200) + }) + + it('2. Parses authentic 1.13c Skills.txt and verifies castoverlay for Sorceress skills', () => { + expect(skillsTxtContent.length).toBeGreaterThan(100000) + const skillsMap = parseSkillsTxt(skillsTxtContent) + + // Fire Bolt (Id: 36) -> fire_cast_1 + const fireBolt = skillsMap.get('36') + expect(fireBolt).toBeDefined() + expect(fireBolt!.castOverlay).toBe('fire_cast_1') + + // Charged Bolt (Id: 38) -> light_cast_1 + const chargedBolt = skillsMap.get('38') + expect(chargedBolt).toBeDefined() + expect(chargedBolt!.castOverlay).toBe('light_cast_1') + + // Ice Bolt (Id: 39) -> ice_cast_1 + const iceBolt = skillsMap.get('39') + expect(iceBolt).toBeDefined() + expect(iceBolt!.castOverlay).toBe('ice_cast_1') + + // Frost Nova (Id: 44) -> ice_cast_2 + const frostNova = skillsMap.get('44') + expect(frostNova).toBeDefined() + expect(frostNova!.castOverlay).toBe('ice_cast_2') + + // Fire Ball (Id: 47) -> fire_cast_2 + const fireBall = skillsMap.get('47') + expect(fireBall).toBeDefined() + expect(fireBall!.castOverlay).toBe('fire_cast_2') + + // Teleport (Id: 54) -> teleport + const teleportSkill = skillsMap.get('54') + expect(teleportSkill).toBeDefined() + expect(teleportSkill!.castOverlay).toBe('teleport') + + // Meteor (Id: 56) -> fire_cast_2 + const meteor = skillsMap.get('56') + expect(meteor).toBeDefined() + expect(meteor!.castOverlay).toBe('fire_cast_2') + + // Frozen Orb (Id: 64) -> ice_cast_3 + const frozenOrb = skillsMap.get('64') + expect(frozenOrb).toBeDefined() + expect(frozenOrb!.castOverlay).toBe('ice_cast_3') + }) + + it('3. Complete canonical mapping matches all 24 Sorceress elemental spells', () => { + const expectedMappings: Record = { + 36: 'fire_cast_1', // Fire Bolt + 38: 'light_cast_1', // Charged Bolt + 39: 'ice_cast_1', // Ice Bolt + 40: 'ice_cast_1', // Frozen Armor + 42: 'light_cast_1', // Static Field + 43: 'light_cast_2', // Telekinesis + 44: 'ice_cast_2', // Frost Nova + 45: 'ice_cast_1', // Ice Blast + 46: 'fire_cast_2', // Blaze + 47: 'fire_cast_2', // Fire Ball + 48: 'light_cast_1', // Nova + 49: 'light_cast_1', // Lightning + 50: 'ice_cast_2', // Shiver Armor + 51: 'fire_cast_2', // Fire Wall + 53: 'light_cast_1', // Chain Lightning + 54: 'teleport', // Teleport + 55: 'ice_cast_2', // Glacial Spike + 56: 'fire_cast_2', // Meteor + 57: 'light_cast_2', // Thunder Storm + 58: 'light_cast_2', // Energy Shield + 59: 'ice_cast_3', // Blizzard + 60: 'ice_cast_3', // Chilling Armor + 62: 'fire_cast_2', // Hydra + 64: 'ice_cast_3', // Frozen Orb + } + + for (const [idStr, overlay] of Object.entries(expectedMappings)) { + const id = parseInt(idStr, 10) + expect(SORCERESS_SKILL_CAST_OVERLAYS[id]).toBe(overlay) + expect(getSkillCastOverlay(id)).toBe(overlay) + expect(getSkillCastOverlay(String(id))).toBe(overlay) + } + + // Verify BATCH1_SKILLS has castOverlay attached + expect(BATCH1_SKILLS[36]?.castOverlay).toBe('fire_cast_1') + expect(BATCH1_SKILLS[39]?.castOverlay).toBe('ice_cast_1') + expect(BATCH1_SKILLS[44]?.castOverlay).toBe('ice_cast_2') + expect(BATCH1_SKILLS[47]?.castOverlay).toBe('fire_cast_2') + expect(BATCH1_SKILLS[54]?.castOverlay).toBe('teleport') + }) + + it('4. getOverlayTxtData resolves parameters from text, map, or built-in canonical fallback', () => { + const fromTxt = getOverlayTxtData('fire_cast_1', overlayTxtContent) + expect(fromTxt.frames).toBe(14) + expect(fromTxt.animRate).toBe(16) + expect(fromTxt.trans).toBe(3) + expect(fromTxt.radius).toBe(9) + + const fromMap = getOverlayTxtData('fire_cast_1', parseOverlayTxt(overlayTxtContent)) + expect(fromMap.frames).toBe(14) + expect(fromMap.animRate).toBe(16) + + // Guaranteed zero-runtime-MPQ and missing-file fallback + const fallback = getOverlayTxtData('fire_cast_1', undefined) + expect(fallback.frames).toBe(14) + expect(fallback.animRate).toBe(16) + expect(fallback.trans).toBe(3) + expect(fallback.red).toBe(255) + expect(fallback.green).toBe(178) + expect(fallback.blue).toBe(64) + }) + + it('5. ActiveOverlay entity lifecycle: 1.13c frame progression and exact tick-22 expiration', () => { + const overlay = createActiveOverlay('fire_cast_1', { x: 500, y: 300 }, 'player') + expect(overlay.frame).toBe(0) + expect(overlay.maxFrames).toBe(14) + expect(overlay.animRate).toBe(16) + expect(overlay.preDraw).toBe(false) + expect(overlay.trans).toBe(3) + expect(overlay.lightRadius).toBe(9) + expect(overlay.lightColor).toEqual([255, 178, 64]) + expect(overlay.expired).toBe(false) + + // Simulate 25 FPS engine progression: step = 16 / 25 = 0.64 + const step = overlay.animRate / 25 + expect(step).toBe(0.64) + + for (let tick = 1; tick <= 21; tick++) { + overlay.frame += step + if (overlay.frame >= overlay.maxFrames) { + overlay.expired = true + } + expect(overlay.expired).toBe(false) + expect(overlay.frame).toBeCloseTo(tick * 0.64, 4) + } + + // At tick 21: 21 * 0.64 = 13.44 < 14 -> Not expired + expect(overlay.frame).toBeCloseTo(13.44, 4) + expect(overlay.expired).toBe(false) + + // At tick 22: 22 * 0.64 = 14.08 >= 14 -> Expired! + overlay.frame += step + if (overlay.frame >= overlay.maxFrames) { + overlay.expired = true + } + expect(overlay.frame).toBeCloseTo(14.08, 4) + expect(overlay.expired).toBe(true) + }) + + it('6. GameEngine spawns overlay on skill cast, tracks player, and advances frames', () => { + const terrain = { widthPx: 1000, heightPx: 1000, overlap: () => 0 } + const engine = new GameEngine(terrain, { + spawn: { x: 200, y: 200 }, + stats: [], + xpTable: DEMO_EXPERIENCE, + skills: DEMO_SKILLS, // index 1 is firebolt (id: 36) + npcDefs: [], + questDefs: DEMO_QUESTS, + combatOptions: { + playerSpeed: 4, + playerReach: 50, + playerCooldownTicks: 10, + playerDamage: 5, + playerManaPerAttack: 1, + respawnTicks: 100, + }, + talkRadius: 50, + pickupRadius: 30, + inventoryCols: 10, + inventoryRows: 4, + monsterCount: 0, + }) + + expect(engine.overlays.length).toBe(0) + + // Select Fire Bolt (skill index 1, digits: [2]) + engine.tick({ + movement: { x: 0, y: 0 }, + attacking: false, + pickingUp: false, + talking: false, + digits: [2], + saving: false, + loading: false, + }) + expect(engine.selectedSkill).toBe(1) + expect(engine.opts.skills[engine.selectedSkill]?.id).toBe('firebolt') + + // Cast Fire Bolt + engine.tick({ + movement: { x: 0, y: 0 }, + attacking: true, + pickingUp: false, + talking: false, + digits: [], + saving: false, + loading: false, + }) + + expect(engine.overlays.length).toBe(1) + const active = engine.overlays[0]! + expect(active.overlayName).toBe('fire_cast_1') + expect(active.casterId).toBe('player') + expect(active.x).toBe(engine.world.player.x) + expect(active.y).toBe(engine.world.player.y) + expect(active.frame).toBeCloseTo(0.64, 4) + + // Player moves 10 ticks: overlay must follow player position + for (let i = 0; i < 10; i++) { + engine.tick({ + movement: { x: 1, y: 0 }, + attacking: false, + pickingUp: false, + talking: false, + digits: [], + saving: false, + loading: false, + }) + expect(engine.overlays[0]!.x).toBe(engine.world.player.x) + expect(engine.overlays[0]!.y).toBe(engine.world.player.y) + } + + // Advance until expiration (22 ticks total from cast) + // We already ticked 1 (cast tick) + 10 (movement ticks) = 11 ticks. + // Need 11 more ticks to reach tick 22. + for (let i = 0; i < 11; i++) { + engine.tick({ + movement: { x: 0, y: 0 }, + attacking: false, + pickingUp: false, + talking: false, + digits: [], + saving: false, + loading: false, + }) + } + + // Overlay has expired and was removed + expect(engine.overlays.length).toBe(0) + }) + + it('7. SpriteRenderer additive blending mode (Trans === 3) flushes and switches blendFunc', () => { + let nextId = 1 + let blendSrc = 0 + let blendDst = 0 + const gl: any = { + VERTEX_SHADER: 35633, + FRAGMENT_SHADER: 35632, + COMPILE_STATUS: 35713, + LINK_STATUS: 35714, + MAX_TEXTURE_SIZE: 3379, + MAX_TEXTURE_IMAGE_UNITS: 34930, + TEXTURE_2D: 3553, + RGBA: 6408, + RGBA8: 32856, + UNSIGNED_BYTE: 5121, + UNSIGNED_INT: 5125, + FLOAT: 5126, + ARRAY_BUFFER: 34962, + ELEMENT_ARRAY_BUFFER: 34963, + DYNAMIC_DRAW: 35048, + STATIC_DRAW: 35044, + TRIANGLES: 4, + TEXTURE_MIN_FILTER: 10241, + TEXTURE_MAG_FILTER: 10240, + TEXTURE_WRAP_S: 10242, + TEXTURE_WRAP_T: 10243, + CLAMP_TO_EDGE: 33071, + NEAREST: 9728, + UNPACK_ALIGNMENT: 3317, + BLEND: 3042, + SRC_ALPHA: 770, + ONE: 1, + ONE_MINUS_SRC_ALPHA: 771, + DEPTH_TEST: 2929, + COLOR_BUFFER_BIT: 16384, + TEXTURE0: 33984, + drawingBufferWidth: 800, + drawingBufferHeight: 600, + isContextLost: () => false, + createProgram: () => ({ id: nextId++, type: 'program' }), + deleteProgram: () => {}, + attachShader: () => {}, + detachShader: () => {}, + linkProgram: () => {}, + getProgramParameter: () => true, + getProgramInfoLog: () => '', + useProgram: () => {}, + createShader: (type: number) => ({ id: nextId++, type }), + shaderSource: () => {}, + compileShader: () => {}, + getShaderParameter: () => true, + getShaderInfoLog: () => '', + deleteShader: () => {}, + createVertexArray: () => ({ id: nextId++, type: 'vao' }), + deleteVertexArray: () => {}, + bindVertexArray: () => {}, + createBuffer: () => ({ id: nextId++, type: 'buffer' }), + deleteBuffer: () => {}, + bindBuffer: () => {}, + bufferData: () => {}, + bufferSubData: () => {}, + getAttribLocation: (_p: any, name: string) => + name === 'a_position' ? 0 : name === 'a_uv' ? 1 : name === 'a_tint' ? 2 : name === 'a_unit' ? 3 : 4, + enableVertexAttribArray: () => {}, + vertexAttribPointer: () => {}, + createTexture: () => ({ id: nextId++, type: 'texture' }), + deleteTexture: () => {}, + bindTexture: () => {}, + texParameteri: () => {}, + pixelStorei: () => {}, + texImage2D: () => {}, + getParameter: (param: number) => (param === 3379 ? 4096 : param === 34930 ? 16 : 0), + getUniformLocation: (_p: any, name: string) => ({ name }), + uniform2f: () => {}, + uniform1f: () => {}, + uniform1i: () => {}, + uniform1iv: () => {}, + enable: () => {}, + disable: () => {}, + blendFunc: (src: number, dst: number) => { + blendSrc = src + blendDst = dst + }, + viewport: () => {}, + clearColor: () => {}, + clear: () => {}, + activeTexture: () => {}, + drawArrays: () => {}, + drawElements: () => {}, + } + const canvas: any = { + width: 800, + height: 600, + clientWidth: 800, + clientHeight: 600, + getContext: (type: string) => (type === 'webgl2' ? gl : null), + addEventListener: () => {}, + removeEventListener: () => {}, + } + + const renderer = new SpriteRenderer(canvas as HTMLCanvasElement) + expect(renderer.blendMode).toBe('normal') + + // Switch to additive + renderer.setBlendMode('additive') + expect(renderer.blendMode).toBe('additive') + expect(blendSrc).toBe(gl.SRC_ALPHA) + expect(blendDst).toBe(gl.ONE) + + // Switch back to normal + renderer.setBlendMode('normal') + expect(renderer.blendMode).toBe('normal') + expect(blendSrc).toBe(gl.SRC_ALPHA) + expect(blendDst).toBe(gl.ONE_MINUS_SRC_ALPHA) + + // begin() resets blend mode to 'normal' + renderer.setBlendMode('additive') + const camera = { x: 0, y: 0, zoom: 1 } + renderer.begin(camera) + expect(renderer.blendMode).toBe('normal') + }) + + it('8. drawCastOverlay executes procedural fallback and sprite rendering with anchor offsets', () => { + const draws: any[] = [] + const solids: any[] = [] + let blendMode: string = 'normal' + + const rendererMock = { + blendMode: 'normal', + setBlendMode: (mode: 'normal' | 'additive') => { + blendMode = mode + }, + draw: (frame: any, x: number, y: number, options: any) => { + draws.push({ frame, x, y, options }) + }, + drawSolid: (x: number, y: number, w: number, h: number, color: any, options: any) => { + solids.push({ x, y, w, h, color, options }) + }, + } + + const overlay = createActiveOverlay('fire_cast_1', { x: 300, y: 400 }) + + // Test procedural fallback (no overlayArt) + drawCastOverlay(rendererMock as any, overlay, undefined) + expect(solids.length).toBeGreaterThan(0) + // Halos drawn with additive blending + expect(solids[0]!.options?.blendMode).toBe('additive') + // Reset to normal + expect(blendMode).toBe('normal') + + // Test with loaded overlay art + draws.length = 0 + solids.length = 0 + const dummyArt: LoadedOverlayArt = { + meta: FIRE_CAST_1_META, + handle: 1 as unknown as AtlasHandle, + frames: [ + FIRE_CAST_1_META.groups[0]!.map(([x, y, width, height, anchorX, anchorY]) => ({ + x, + y, + width, + height, + anchorX, + anchorY, + })), + ], + } + + drawCastOverlay(rendererMock as any, overlay, dummyArt) + expect(draws.length).toBe(1) + const drawCall = draws[0]! + expect(drawCall.options.blendMode).toBe('additive') + + // Check anchor alignment: drawX = overlay.x + anchorX, drawY = overlay.y + anchorY + const firstFrame = dummyArt.frames[0]![0]! + expect(drawCall.x).toBe(overlay.x + firstFrame.anchorX!) + expect(drawCall.y).toBe(overlay.y + firstFrame.anchorY!) + expect(blendMode).toBe('normal') + }) + + it('9. Verifies offline baked authentic cast overlay assets and metadata', () => { + const requiredAssets = [ + 'fire_cast_1', + 'fire_cast_2', + 'ice_cast_1', + 'ice_cast_2', + 'ice_cast_3', + 'light_cast_1', + 'light_cast_2', + 'teleport', + ] + + for (const name of requiredAssets) { + // Check in public/overlays/ + const publicPng = path.resolve(__dirname, `../public/overlays/${name}.png`) + const publicJson = path.resolve(__dirname, `../public/overlays/${name}.json`) + expect(fs.existsSync(publicPng), `Missing ${publicPng}`).toBe(true) + expect(fs.existsSync(publicJson), `Missing ${publicJson}`).toBe(true) + + const meta = JSON.parse(fs.readFileSync(publicJson, 'utf-8')) + expect(meta.name).toBe(name) + expect(meta.width).toBeGreaterThan(0) + expect(meta.height).toBeGreaterThan(0) + expect(meta.groups.length).toBe(1) + expect(meta.groups[0].length).toBeGreaterThan(0) + + // Check in samples/d2-packs/overlays/ + const packPng = path.resolve(__dirname, `../samples/d2-packs/overlays/${name}.png`) + const packJson = path.resolve(__dirname, `../samples/d2-packs/overlays/${name}.json`) + expect(fs.existsSync(packPng), `Missing ${packPng}`).toBe(true) + expect(fs.existsSync(packJson), `Missing ${packJson}`).toBe(true) + + // Check in OVERLAY_METAS export + expect(OVERLAY_METAS[name]).toBeDefined() + } + + // Verify Teleport meta + expect(TELEPORT_META.name).toBe('teleport') + expect(TELEPORT_META.celFile).toBe('Teleport') + expect(TELEPORT_META.lightColor).toEqual([255, 255, 200]) + expect(TELEPORT_META.lightRadius).toBe(5) + }) + + it('10. SpriteRenderer.setBlendMode safely early-returns when disposed (F1)', () => { + let blendFuncCalls = 0 + const gl: any = { + VERTEX_SHADER: 35633, + FRAGMENT_SHADER: 35632, + COMPILE_STATUS: 35713, + LINK_STATUS: 35714, + MAX_TEXTURE_SIZE: 3379, + MAX_TEXTURE_IMAGE_UNITS: 34930, + TEXTURE_2D: 3553, + RGBA: 6408, + RGBA8: 32856, + UNSIGNED_BYTE: 5121, + UNSIGNED_INT: 5125, + FLOAT: 5126, + ARRAY_BUFFER: 34962, + ELEMENT_ARRAY_BUFFER: 34963, + DYNAMIC_DRAW: 35048, + STATIC_DRAW: 35044, + TRIANGLES: 4, + TEXTURE_MIN_FILTER: 10241, + TEXTURE_MAG_FILTER: 10240, + TEXTURE_WRAP_S: 10242, + TEXTURE_WRAP_T: 10243, + CLAMP_TO_EDGE: 33071, + NEAREST: 9728, + UNPACK_ALIGNMENT: 3317, + BLEND: 3042, + SRC_ALPHA: 770, + ONE: 1, + ONE_MINUS_SRC_ALPHA: 771, + DEPTH_TEST: 2929, + COLOR_BUFFER_BIT: 16384, + TEXTURE0: 33984, + drawingBufferWidth: 800, + drawingBufferHeight: 600, + isContextLost: () => false, + createProgram: () => ({ id: 1, type: 'program' }), + deleteProgram: () => {}, + attachShader: () => {}, + detachShader: () => {}, + linkProgram: () => {}, + getProgramParameter: () => true, + getProgramInfoLog: () => '', + useProgram: () => {}, + createShader: (type: number) => ({ id: 1, type }), + shaderSource: () => {}, + compileShader: () => {}, + getShaderParameter: () => true, + getShaderInfoLog: () => '', + deleteShader: () => {}, + createVertexArray: () => ({ id: 1, type: 'vao' }), + deleteVertexArray: () => {}, + bindVertexArray: () => {}, + createBuffer: () => ({ id: 1, type: 'buffer' }), + deleteBuffer: () => {}, + bindBuffer: () => {}, + bufferData: () => {}, + bufferSubData: () => {}, + getAttribLocation: () => 0, + enableVertexAttribArray: () => {}, + vertexAttribPointer: () => {}, + createTexture: () => ({ id: 1, type: 'texture' }), + deleteTexture: () => {}, + bindTexture: () => {}, + texParameteri: () => {}, + pixelStorei: () => {}, + texImage2D: () => {}, + getParameter: (param: number) => (param === 3379 ? 4096 : param === 34930 ? 16 : 0), + getUniformLocation: (_p: any, name: string) => ({ name }), + uniform2f: () => {}, + uniform1f: () => {}, + uniform1i: () => {}, + uniform1iv: () => {}, + enable: () => {}, + disable: () => {}, + blendFunc: () => { + blendFuncCalls++ + }, + viewport: () => {}, + clearColor: () => {}, + clear: () => {}, + activeTexture: () => {}, + drawArrays: () => {}, + drawElements: () => {}, + } + const canvas: any = { + width: 800, + height: 600, + clientWidth: 800, + clientHeight: 600, + getContext: (type: string) => (type === 'webgl2' ? gl : null), + addEventListener: () => {}, + removeEventListener: () => {}, + } + + const renderer = new SpriteRenderer(canvas as HTMLCanvasElement) + renderer.setBlendMode('additive') + const callsBeforeDispose = blendFuncCalls + expect(callsBeforeDispose).toBeGreaterThan(0) + + // Dispose renderer + renderer.dispose() + expect(renderer.isDisposed).toBe(true) + + // Attempting to setBlendMode after dispose must safely return early + renderer.setBlendMode('normal') + expect(blendFuncCalls).toBe(callsBeforeDispose) + }) + + it('11. loadOverlayArtMap safely returns empty map in headless/Node without createImageBitmap (F2)', async () => { + const dummyRenderer: any = {} + // In Node.js environment, createImageBitmap is undefined by default + expect(typeof createImageBitmap).toBe('undefined') + const artMap = await loadOverlayArtMap(dummyRenderer) + expect(artMap.size).toBe(0) + }) + + it('12. ice_cast_3 documented and handles 15 (table) vs 16 (DCC) frame discrepancy (F3)', () => { + // Overlay.txt table lists 15 frames + const overlayMap = parseOverlayTxt(overlayTxtContent) + const tableIceCast3 = overlayMap.get('ice_cast_3') + expect(tableIceCast3?.frames).toBe(15) + + // CANONICAL_113C_OVERLAYS uses 16 frames matching DCC asset IceCastNew03.dcc + expect(CANONICAL_113C_OVERLAYS['ice_cast_3']?.frames).toBe(16) + expect(OVERLAY_METAS['ice_cast_3']?.frames).toBe(16) + }) + + it('13. Rapid consecutive casting replaces active overlay for same casterId to prevent oversaturation (F4)', () => { + const terrain = { widthPx: 1000, heightPx: 1000, overlap: () => 0 } + const engine = new GameEngine(terrain, { + spawn: { x: 200, y: 200 }, + stats: [], + xpTable: DEMO_EXPERIENCE, + skills: DEMO_SKILLS, + npcDefs: [], + questDefs: DEMO_QUESTS, + combatOptions: { + playerSpeed: 4, + playerReach: 50, + playerCooldownTicks: 0, + playerDamage: 5, + playerManaPerAttack: 1, + respawnTicks: 100, + }, + talkRadius: 50, + pickupRadius: 30, + inventoryCols: 10, + inventoryRows: 4, + monsterCount: 0, + }) + + // Spawn initial overlay for player + const ov1 = engine.spawnOverlay('fire_cast_1', { x: 200, y: 200 }, 'player') + expect(engine.overlays.length).toBe(1) + expect(engine.overlays[0]).toBe(ov1) + expect(ov1.expired).toBe(false) + + // Rapid consecutive cast replaces player's active overlay + const ov2 = engine.spawnOverlay('fire_cast_2', { x: 200, y: 200 }, 'player') + expect(engine.overlays.length).toBe(1) + expect(engine.overlays[0]).toBe(ov2) + expect(ov1.expired).toBe(true) + expect(ov2.expired).toBe(false) + + // Overlays for different casterId (e.g. minion or monster) coexist independently + const monsterOv = engine.spawnOverlay('ice_cast_1', { x: 300, y: 300 }, 'monster_1') + expect(engine.overlays.length).toBe(2) + expect(engine.overlays).toContain(ov2) + expect(engine.overlays).toContain(monsterOv) + + // A 3rd cast by player replaces ov2, but leaves monsterOv intact + const ov3 = engine.spawnOverlay('teleport', { x: 250, y: 250 }, 'player') + expect(engine.overlays.length).toBe(2) + expect(ov2.expired).toBe(true) + expect(monsterOv.expired).toBe(false) + expect(engine.overlays).toContain(ov3) + expect(engine.overlays).toContain(monsterOv) + }) +})

+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 literal 0 HcmV?d00001 diff --git a/public/overlays/fire_cast_2.json b/public/overlays/fire_cast_2.json new file mode 100644 index 0000000..4aad6b7 --- /dev/null +++ b/public/overlays/fire_cast_2.json @@ -0,0 +1,156 @@ +{ + "name": "fire_cast_2", + "celFile": "FireCast2", + "width": 1024, + "height": 401, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 178, + 64 + ], + "box": { + "left": -74, + "top": -89, + "width": 145, + "height": 133 + }, + "groups": [ + [ + [ + 0, + 0, + 145, + 133, + -74, + -89 + ], + [ + 146, + 0, + 145, + 133, + -74, + -89 + ], + [ + 292, + 0, + 145, + 133, + -74, + -89 + ], + [ + 438, + 0, + 145, + 133, + -74, + -89 + ], + [ + 584, + 0, + 145, + 133, + -74, + -89 + ], + [ + 730, + 0, + 145, + 133, + -74, + -89 + ], + [ + 876, + 0, + 145, + 133, + -74, + -89 + ], + [ + 0, + 134, + 145, + 133, + -74, + -89 + ], + [ + 146, + 134, + 145, + 133, + -74, + -89 + ], + [ + 292, + 134, + 145, + 133, + -74, + -89 + ], + [ + 438, + 134, + 145, + 133, + -74, + -89 + ], + [ + 584, + 134, + 145, + 133, + -74, + -89 + ], + [ + 730, + 134, + 145, + 133, + -74, + -89 + ], + [ + 876, + 134, + 145, + 133, + -74, + -89 + ], + [ + 0, + 268, + 145, + 133, + -74, + -89 + ], + [ + 146, + 268, + 145, + 133, + -74, + -89 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/fire_cast_2.png b/public/overlays/fire_cast_2.png new file mode 100644 index 0000000000000000000000000000000000000000..109d5a1026fefff5fa73b49741a9fbaf3e951875 GIT binary patch literal 44831 zcmdpdWmBC^u}h2MKP$3GTknd++%dXFiNo zO;^v8+}zyH%_%fAG$$ivWMt&__7)i)9s~~%BEu7ckV$bt zH0bbPLUb@8E;9(3h7?2(M(06>XCno%(c_BXqVv#$WYFPx=t&j8=n~AhBFtbN5V8yh zSb~FIgPzoY6xVvpz&iyH&ujEMMOdk*m5{%O6UnoWN>56MPi+JVy#sgBsf|Wz!^?D1zsXOCZsu` zG9wxqV|L&gKb?k1nK3_&Z6|O?j>ao9Fc9lBnW3^5%C_y~G@Ie|7%6aCz_Z+8zFiV} z*&=Z}pm5m``?_H8+Ry+`1Hz>t1Pc%n%Af-hY=q{>GzK(0|LJWfLGOnv;>Mxl#m13C z>J-W&Q^28~0Cae8B|tRR^aAGe^j-=e z2#-Q28(WHuNi2^+fr?6vf?bVU|moW zIxvzkyHGLtI(d6LPyiVjsMsD!c|CF)d2M*zD|vk#frp1jMn*S3z#17D9v2rxNQg^Hic1Ox(SQkQ=yB=k!OZkDU}iQpW*QDQdL9mDHUSY4 z0S*}n9u)-%104ku0}X3)9Vir<{xUJ~|185zO-UUPIasy?fa)n(2~iEN)ze;mM}6J2 zj~$pZxdJrtGQV4x`PFFHGj~7HQQ>foMc67#>CXTmJ~*?4VB&=Cznxn&a4<9pBCs&a z&uE{`;B3Ig$dlrQ#G|$;(pltr@z&8+6wbQmL^f+|3tONClgkpXMaf$hZg9=khvrAp|fr75mq=9 zJ7C$48STzk2>>TbyepJciOT?B$@rgJ`u{s)0Dwp0gJ>c`fok9%EDW)9LO~WLBy4j38IuGmL~a&X6Xfs(6D6ch5b+ln@hUio z?Y@#|3l%A<`RO7i&?b4p!b_k)qD0{rZ8z8$|G&uNQnmU5#2{D`T}HjRR-M6uD^>K0 zKTN6Pr&9QXmJoOoK2u{dvjskSRH2hwS0KuOeNkU9bxkkAiv8-< zes7twqW}r@RxHtLtwshr^N+a0G)OOa#wt!ygU3` zFyV=8pz%f>K^D%D+Vnqx6q_3bwfelN@58anZL}n5^7-%uFy8C0a!C#EqoZ&qvvmDI zoOV?~g6%RTD`tVFZbdobRLJdkJ=TNv$h* z7eD_?c23;<4P}T8KHfcw;}d3QZGgFv!gB$`5#RQ3HNlslI9d9rqk7W0grZ|CW63~^ zI1?%su*V*|F#l{gZs#2T3T>_FQ4*U#zI z1|_xj8n#+1uxv*$9GQWV)aVJD58unbH^t`!slYX*X{3_pe3Sj>DH~XAe6;eLq(<}C zOZqP)6RW_tSu$Px<(97KU4z|5y*B^D-cBi%Dv{ErD%sa}TUqq&EbBg*ZI1dWNJUCX zqmP@!oi5M%C4={R{bjN@!K|l8s7*|k3U6IT=|>$WF1Vi<7x}WspO|$6v7mU&$cQGQ z-Pz7?v|85jwHMgwB<0qr2jwn2@|=-PS`(Tax+o)#xz6UTlzmWGk&88A!GHLEAruke zgb^QyAgV1&W*N7DlSHHj_A|oF~ceR9DgciASQYN z<)nV8OWbW>TvJ!&!X05Un|?Lkswzj($=G1+66T3IC}|wd(a5>__G4i3(`fmv2x)idss}VS)dy>m0TsfKHVcBSJJJYWtPg$lN9Gd#P`_jfz=baBdG$B-9Mz1 z4JOa5SmRlqM(fv=rA%mX1}{$e$b3filQ)!Q>>A6JLx!CV0kjVEc;BMLPZc*oe#10mu7*Wxn}|YIxBL z9D%(q1y^#lv=cz0VUVnZOaH<^NF{KAkH!7yl}S%f{`ZqsjYc_groy97d5Hsm>zUB| ztYaPpkRwTEn3!9$<3={ifd~-&_ufgM%U7EjVvo_2x^6Gz0}y?{VUW`IIzjnv3aGfu zuAGHbf`OL%D=XwZRpKpW_aWokuwH?28To$s;QMb|=vj5`(F0>uo0)_XnrvZ+wV&EvGyQ_z3Z~vYO4I1!VS! z4YM!tzmWuSRq1aRqL!HVdt-oQ%dme%qZ+XqK(tLspF0UFgJe_^|EB-a=)*PkW#b_S zoYKq@+LL(U*X5*^+c+;CT6;7xD=LO7tm3!UrqOzdc|xe8vZ3@uFfU=p~$L|_m4 zsthY~GUVwQ%M|x7ao09hMd{C&g9=2l@8okWY6QIWh$)E-D@3(&ap04y$}`pNRuT6z z3UPA&>mD7qid;;C3}sn-*vLpAW8i`vTPy7lYzFHv4~G}Ns`X#hZcR-|9<9IWDrS1H z&hXnuG_~LVIa$cHR5J=$k}oUMy-7QQ#T{jYXF6uzt!i+OMPQ@p3|E{*o>NqyIb z8;T8)UawBlOvpj)i9Ie*pgLG=AJ z<%k-%Ob|agUw!2awin=heV7fvQL*`oA4i27b0w#49rnAiVN6`pOMBqAJzF(1#H}Mh zn=x64aLLmky+xYv0!XNm(TW|5;@GxD70XN_|*^cX5(Vl5ylD0v;xRgxv0@S}&h8l4VST=FX9)wCl*8UP*F%etyV0(S;ZGz%X zwBdHG@LAcJeK~yQw`I$jZ{%{LELK?g!!83u+RB-{U#%DjV13wa_JCsPr_aPp^m~vI z^%g$F(nc@P3$3KCQu)m>Rj>uFn0p8kEWS{jZtkcfBi|{yB?^!v^G|6)*PvBmHQ|Ov z`@h)d(`}rcB4{kjGPo{%&O7C6rMbmLZYtskZ?|&u3cqBv4l{ULzv=ql)=|g7P1R~d z>;sIN81)d$m1WT=hQREzrCvJPpEI%6$Ml%XZM)*Cz{HvK30`&0(QN|wS$og5_kqDB z^&$EKr;1yLT9RCMed9pfurZ54XTDh~ejCEJlc#9biL?XOPvnq*hu9nUhq`b*oKqem z>FH7@8p;(5qjWYgB25@lhrP%ld{BuBB`0q_R1|*;B{)op+%htx*_}80k2{kU-Zyjt zBHc>ma=lfRX7)}~RJsjqbsy9f?5{;|brY+?mx>fU8_;AoZPCNngHhp}T7g#NqJi@P4R(4RmJD3po+t(f-X-xI}kz@J~s;bv>=`zeI0 z`7I6yX!v_K+}P>1*fDuJ$)^QA*|2M z+Gh87EJ?mzRkYseiUdG&#T;z{OTCVzUdAbM8Bs*lmAJ#@N`30}48aKTj8rx&8jBkNQjzuzhvu>$37K?~>P+Pt>=^h31vt%jiY2|XB(MG%Lp^lSJKcwNx&W$sv5G#cB@&`pNg!r&S2JPS{(EJ+dhyYCJ&jg392-a zn|(kUELd8TT3I2|1#4(8?C_QV+?ssDo^wP)EIJ}@NW-&*8+U_eciZ+@&I4%TOCP3> zmx(2R{|<}7>WeazD87C)yjv?iTBes%txv9ZT?=2m5|R@*l4{K|9J3UjVr5C4@ccql zvJ{;(AxcD0r}7Evs@t;+%KA;iR!8ArAO9Kx4#%KS@FR$9ON&RoltWJrPvKHL3(utv zFoE#ei@^N2Q>8|u%(#)k_ex{HFG*@w@)H|@K@Z%DS^~!^BPyEg(Ie8wQ37JZD(Fwv zZX$|tJ*-n7M+@L8HFhfqoP$0MFuI=K{ZqrFS2IY$#n8;?0-5B0;50a6mAKcv5mEh+*F`L|B!UZ#w17|LSY5k2s}tT4-CpeV``a)W-h-~Bq zMk-QSQ9Ub7xB`6x@lGGq0FdI39ck<)fED9Tp~p$Jv&#hC`yYY!XDDF+mb}XP zzok)c`}FbHzK{*8@{9`2zs8A}HvTX7j?j%8ictV`t2}Q23j-dtX?#OJ5w>b9yb$e5 zKWIq`s`>D6(q3;eNICEO+U*#dH8t1Zq+U$~58<-HL}$bXzXWI7q8&e@U~ktUt;Q)( zoW>rW7X8!PM0kwZ(TAn?V`LnQ^f%RjN`IXvy^_Vu-W(!cOiP?&CIhlroay#C zHh#fe50B;FlcW9OqAiKiaY%4pq}>x~lrjmNpQn;G!W1f&UjzsO11aBasL4IFAp1jA z@J>oxf^DctMpJgY1~{tB69Je^L?ys$9$FVa8Q^l$ee?LvUdJxY+_RCp6d_~p;Pl-s zoziCK;_4=FSW*ogz)oBu1oXlZ&*c>EiN@z7;Q?1+$IBKTM`R$4j}-*mBMPOQwlGGF z4c{A6ArPjz%Mds?{ovAbFd&2jMbuwD1@x(}^6PV=-sM(8PAEPzTan1ys%BudXOzbV zD@!5Qf_TSk@6V6r<|W>0l~Vc*eBR9rnhgz(g#5gtJF8XSP%?FoHi6{qp@QI@fE=7( z9|tJ{>6QoTm1YCWvGdhywr>KiNyoWBu=J#|7>N1}i^4XFvxXc}VXyM^DwR`tgo7XK zn1|kjc;2{)ARv!4meCWwSk4R3&)xRyi4U7u9he>HCuTZ>qC_vgu)yl53dH9ZCGd!n zFQx(+Or#6n(dR4B;RgeN*g(MSLp($J-fmK*D)vBJ(D?zU2jcx2>%g0+CpqdzZk(tD zL=~0k3rh092Orn*p~D2BaX4!B+uwfGv&YlL-X0F$P>HHG?0>GEF2Mu-^Jw#wsq%3> zOV(nZnUXFxMa)bpp(H#7gaE)R!oUs#Sc5B2U7@r^^&BLKPFHHlj(<0OE4}sb%k7|x z2b~FfJ%>TIdcUGKjytMYJ^+yHU;&8wQkj<2u_K!ME*?^m@&gTLH~I!_90D>VsU& zvVmU}f_bU=AZ4@csPIWeKtCT*gND@nExS3a#o8h^j1(~YO}yP*3{_=bprf*N)^7OI zYg&B8A8GtR*U6(t@tQ4+b2qZUjQ5Z&z8xNr_%$E>c>pfxL2S|G#r<#^R&yA+54{PO*BTvFKCt&O<$gAdCVT| zhc??U*dcPZ6-9@RPcX>9kvhttSk*rr?u4Go%lhvC@c3Ns@j_)!I358&IKZ%~Co_l= zX@(BwA}eESU6#c07p{#6b!ja9*nr6eDXfU^3uw5W8_>9+9chS_kz1)SJBzD6TQh2& z%_)>EF=Nj8+8qzDf#}9I+F6U|mr9!g=StXVJ=T;lvhiMB8R37ioYXmlHZh}~<|I%Z z@RO(1+SB9Ybzt7SN7G1_lNn-Q=oO}R$0bCpy`uPqD*>z51auM=j51uMe^e$&3CpYr zCx2ue8X+j7eX|);cb?qEdyN?j4S(9kd%Y(FL~@P&`bxadNh{XP=)4+gssrych#ilxmxw^_>P62*xJ98@fx?Becj|} z{d!h4DnY8OnJ66%V#Wb36uT8w^`Fq)k0&OkKAyErS#^uL7NbnfyWnDd{TNfVx#n4L zrqbd7*VbOxys^2ma%^|W&P5?8aCgMj_jHgBMd5?KZU{-2YU8qT()aNwg!t)jadWSB zEaq^n8Y{vZr)3j3(UY)Kid565tKD#OhnThR`2w1_s!t9q1+L?j;+`7J zJjbSFig24PHK*nIS_ryzMuLRq@|gl;ZW`AJnVV(ai*Ur+Dq~3sojs|Lp;`McEsk4# z0$ZIcQ|#{^Yj{y#($`kPFGrU`_en@{G2J|}V2$7xa`soQ+FfQv;UP}6nr)it%p8KzLs+CC#!ZuQWMAj;Ivfe%w4M%pIYbLuH`; zG(e8Q;{b^`GD$c&jL0azf^L%_^dmf?fNCc6@v|Pv74c1+EH%?<1kMm^S^SeRYOSkfE#g>-OR?B9@cWPDo56o$q(R(y9wN*=1y zrqS+W2T+F4+`f9Yq4-1H}LV!Gv6 z_ER_lBeCjs-ieQJDep~38t)p1PwF`t`l#?kc(t-HZL@-X%e&K>IdAkx@~(`JqV3r> z?W9efX+!0)+-2d=AicE>xF#!>$AiDW6OeHh2ntj1H)rNw;C^VLZ6i)xBRu{sVz0C;6l&7Pt!_jtbU&W|D%$RQSMdk^~b3#qm&cLe~q9YIXsO* zCjJp=VLS3Sc%Fm|S&1z3kD*JFOVLA?+>G~+^5_4Ic^nq>vSmN>F8S|r@cd?NP0$p9 z%!-Zh^x~r5Z)GF&0NrZ5Au(e^^lxq!7jyLU8ReT(W%$B_AWP47`WB7Y%CSJ;%fZwd zxAp$ON&}dXw@cmjk_i?rVPSe|il`m+;Zx7m&cVkgd1PUJ1z1EGxa}whlwjfCj81WL z_C@OF>m7{!tV;X^?~c6zcU5YY6h|q~Shd!z4A?0w1(_$*)A(Fa%rISvg zvSGi6fk!ErIbQxSvKYm@)%$a)#IzP(S?bo*WG)IxKCeSiChGupBxaT9a_#zsV0>+w z%8&=RzM*=ay?E$OFMx7ZEdBerah%3TT54ttWG7$%CP$%WnvH{;4MD0&tZ_`ou?hB(SZ5Ahs& zqR!EL06`E#0;>H(Q5v7&nL6yKTMcqm8Zjbg#O6iCruyJK@lpNgbnQH)MK@;X6&e8z zMrJg0Q0EIatOT17(vkWO5>(9|2fH8+*(v`97;?fyH$aSMrznin(%GdSr2!<0J%~aG zVfdQqfH>RYtHDjmx8LSiT^r|{r+59P7XP6&VZo}IKDYJ*)F*BpTLs;3AMP-q(^+)C zh79)3GY)X!br2m)Vb-Q$%sC4Q*;8s+BE-K_KBueX1R6t`?!4)7QMn!VqTnt){#g3> zf7CUF3PG%m8oaztGRT~+i_Y{B^UKQ@de&~}4KBJI+YwJm`uWhc94`Bl6FUzQ@Ek9G z#H6$8514+(X8s|YX<}~C{t}@ZmXLj&B#4$M;}Z%9cZ#w--~LK27tptTMHCtqE=kFB zOF0m$#}%aboUdkM2d$*!Au}pUHit88Br@!SlK}Gl!c#NEqSG-EzO+(G(q;YGjE7m+ zqdobCc*b(e>*Ms?az(Uv=uopa4{N>X#(=ca0cRlZkH%Uo-7ILT0z)l$lF{VL#!?j@ zKl=rK!TtpN89u?1U;Zc|Bc`X5{m3R%o%95C@yBflbM6&eZ;Z_j@5Y4%B$PF8aV2{B zDC)e`^f0n-0fde3xP42%knn+fJzFH`ZE1L6ct4X_n*mKk63|zq1t*Vono7L7%H6} z|Jix7EZGglm{{ejlTV{ z&*)Tie6Dz+qq9uzYR{WbiN6-%?IV%CTcwYFtyXo^GgkATK)!g%UmzWwF&2yF`LFBY z;mwa}W&rwQHoFv!>)^q#7tt8AlHlytZDAnDj+|%epnTnN76IxLQ|xxt`qnT}A4MFkr{c^5LQ- z{MyU@D0FnZTfaP`{Z%@r;u#|J+RJ>?soHpHy53kg61baEK#B!MN-Q{O=wZdZ>%TV#+T5>UtFteLIl4uIQW-9!|J)^dbV?f?6UUgJEaJ=~- zLvptR37ZUN!K74xSEziM{QI{k{29yGpVK9iR4AfXfJEWs^ryX-uylwtbSC{HI)OW> zdf2A32J`#9{HNYCLH-MK&TP_HKS!MP4|#44ADC7oel3)-`uL78Ltz!@e$4wpBgbbN4 zhZV^1g-XABCAT!HLVbHf9Jyw6cwFSJ23J}KI)VtDUO743s*cwj!{WKrqa+eISghbf zt+puCTxXAa0?-_tzS(nFQBX&zoJ}B{1R+J+u#6WznXF3n>}@k22grRFS1T00LRf5G1%n<*xV-=}xHu?g#O|r@Ud-Rdya+p?r#NH$-Q|IRt z+G)o5s{sWg?+EETm3H0VVeiWCP1Z<3SVyfL%a@LSFOm<_Q7Ij!h<}hxAp2KVhhj?6 zv#&kXh9aZa?Yaa?7edcv7R6G(NB@*#?WKT&WTgori$6_F@c%Mq>QdoS4=26%FdD{v zXwABNv>n+j&1gFz#kE)5fx8Tv-w1K|_tq=FWG(ZX_SnFEdfEc_8s&GXhX7LBnzk=- z@agMW@OZ7Olg8#ZWC@#}hU4nX9a`SEqy2IizdvqKoWkKvv{(`<)-kdGB0t%5Uu^(dUNJ$ri;xQtbHhZ>-p}tygk^sa zjU0cChYk-ck2AeJ!7f#y|A)0u%jN%>i~N8LC+MW^5O|o*w$D5e?ztUyxxar_8ZBZI zUa?V$mywNh&KgK$l=QxPTlAidNN1S1g1jCe>{mZy3`Qkn1P&1=pi3@uJ0bJ)Gp6MSbp>{Gc)skO1jJc zN)A`_G*7JT=-(zn83m@!;MdQ5RU2N)0nUU-13A{cjmjBOUGTsX z)hYf()r>I3jgxm-b-OHY>wOGv@EmIB&->}nJmA#1z?XH?Q_@S_s5yi$B!Xu(Fyyz>i=;$mHkVnDKG2;x4b0TuB3^Q@~) zB(4%X9L@K1M(vt!JC9YBss`O}pOE_2;Yb=!dfd&h)UzY~cC<(Qf9GL9saKm#fR}pX zh-UKNghn|5P!p=tcs&Ol;+6_JHQZYG7s2#jPF~ua3qiliH`HIixN3;!de}hAbtVnsbtvf%D=%2fXJRLYV}Se6c*X zMA?h!fAXUVuholY9%Vop->)oVjvEk_qP_P&JdCb>)zTcKAPv9YU_*a?c{z&t5v`DcA&=w9MCj9ta`uaL@GP&KcEP~mMgw!jVN99?@Uya%`)cio&5Mw zdXWONP5w@V7n63eQEjM~A9_Hov*1rvVPlxj+~o?-9TmSE5OzOV_{m~=cp_4_jsI_G zpF;X~QbL32-?$7Sj3E{r>BkFPx%0)rOQp0Ki3E_gHD}-Cjr3j=RSr2~!{PpQMGOx<17UK&^Wldz1+9>)_tEK=t6#r_ki6+aiS=YH_5a zA5*Rdk|Ki4ujDX8_(@@RnTF^t`0%slIk6iamv%Q*cNA$1e<@k)pNZb$B+3q6K7OD_LF%FEKur5 zkuUaMa*cSXe;)@~E-No3i^<8p@P$;m-eHs z>-;!0tgIUgktJrhyF@j{95048IP}>&oQp&Gbm|TN*vB$1x0Ruw9Tas|en#batY3-| z*RxyFOW*zYy9RQBnld@W<015QJ5QcWLZHg|m${rUy>*twxBDdB>M01khPP2m%V%4H z!ES4KU}6H>UB?oxhe-x#?JhtrSa$hjCsM0ciB71PhgFl5eK@>j!v`i8n-yN(DE#`cnsh#($YO~cGO!jTJY=DPtO0I^ zuSB=VOl7nE{NQN>Yv>-h_UDI)tPshq2@=M+qg7v63OHtbXez6f&25X^ytHkYOh$g& zJhIYF%%OL~mf9y;KrYfRL(hzlK+w$nQ{*h?IYE%#5tyndu-jLMTTS(86)C5_2{ycv z00iWzrG7n{J=4@5sg~ncc@7d^3iHHX_PY={@$YQorClCd9MFpl7mjHA4Uj7mB3^^L<2{xgKN(2ld$h*KwoQr|B|HfKqumWMoF7W zmDt%R&m4Q7%c{v+Ir$%cU!qZ~5TW!UyEg=-0ZcgH|($$+0 z+AS&GKHTvZvXKDJ={a!3>fM48(lBpS zxLP4Xa?bsY-w=RojikjMqi5EW|0ocat9uvb{MjTTzokTS|AspZ!I_vQzx>NU&eHp= z1e(^GwPdlF)or!brb4p8+TPF5xPQ8zfpN6`Su=T>E5nxR{kRGeXP3kUr;%~Iu5Fx( z;`dvWkF*MEloK9qu=+T~{UpFONZI8Q28A!M-s`L&ss(xnlIrY0g6iT8ZcSoqa9p(!s)bwNGQY~0B@bUDGa1Wg&G3wokL zqj4wqiQ*>?^5$H1$IDkrsv9uF)lHk4oGM+R*j8d_ql#=_*5-frLJAr7H#cbK9;g*A z7^_Qq=CtypgJS_E_wN+CMMu{i*LDVof z#_mu9`WG$Kl*KX2+w$JDe{0Q|)XJ({@J{dEw0+TbCnMJ>6hJ-F76Gs?DW9#gj zLk3S!Sf!GAhnWqho<1rRHE}G%Qb*p(yzsNW*^h3W?Y!{?FOYFi^3dz?1Da1Y2}^g@NpXO|qV~UGo3162N5~xVlVXS2EB3)FnNK zBQQ8`QQ74Bb|06h&KtULly||kPO~5LX8fgVA%%)_f<>$L&(oZ*kK#~X(1hRx$BY@f z6$7>O>UY5u;A^c3Uk$77;ayf$akX332WFNPZiNz>uDS#jn-9{I!N=*nT>SQ3vhWlK zSYkwU>Oc1VqG6R~&w5qu404R>9#`x5G-T5MqvL=BuQQl`IE;d?_gptY4-q&*Gw&gXUW>n@~j17 zRURZCbH}I0CM;&YxP(2EI6F=ZBt$g-W7gM9Ic1^8XLzm`KSKBUdf|(e*}E9}{EBxX zrVkbwAm$~_R}X%2r4rGcYvD*2mFc8ysKlUhIj8FnxRx+jo!D^y{%>yXm2U7tz#kmiwjel?_gv%08x z`}^j~saCX1xB1#`4u{+IRQv0n2N6+lH1Q|VX*^HuzfwYw!kYyA#-wakSgUMF>YP-_ zvo8M{4C!QDQ5C8UJ&b!xe0zFG!9w89HIr7eT<4l@gE{gspXqo@x1*+umL=Zb+CAKc zFZc|^^WIZt5&Xkp7ZB#3)Afn zETz!&ig%@?{MftcGv9O9$8Dd57T$@_J`8V_;68>Mz4r?Mn#d0qeDV;v(o-t6n~Od9 zhs&BW#k;|M(K7@cU7b;g9uEoI*S_FI@*vjBZ1zv2GHUPY{ibp|E&BF|ON^5CA;X$N zT-guB=;nZ_kBjwltMf!*FdLM+0_KOI1arIZ*G$2P=qiUbe``WuXdC7~50>k|$1### zT-L!E+6tjDJ`~8u7-yJ9k2a0HuniVVCQARg?ruy)1LtF@K;1u^clj}yP;5JwKpNTT zZ0YD_o!UwzJZDwG{^?mjBLn_(Jl89eGcFsn@vh(?3C?QrP86PLJL+2F3;fv0GpT04 z2;IDM4u=M<2d29ZPiqX1K$_{=J*jGg4pjRmdSf>~OJpiA@M|Ah+U&6BvN_nReBwAb zNeS@~Uvqx^ko4#MUHE)d$e=zFH&*1E0!(?}slPsLY6@FxSADRa&F46xDUW$tA>~3#A40{10(nrSah^s1BDhyIL zn-uft-0QG*QIp^4X&b$r*h>5$Ohajc&-pKmX_lWer2hM5P(Uz|W^+H7lpxCvcf_;h z?|GYudIDXNxkr&R%o*8c=ZZEEvM8zjA^G_H&6k`f&NE%CCsmHK)Nk+W`cG`=lavpN zAW#+S^{Qm|@urcm7D?itM--g(K{vLcZUQ}quJ)>)p5C+ktF&M>Z?@{Jd*bHaKWzi+ z#_#&xJJ9MLrgK;QSVp1_$Y5 z(g#~3nqNDQb>UgZ8->}VH-1t_C^ey?#wbT8CH5IV!Z1@U?XgRmYO1f?Tit58?zWbn zH77fmlGKVS0;6D4dp`G)jrY8n;@@d-ejV_n_|NTtUjE{5pbAlL2S=jfm;Chtn4n0Ivf-HTW*9^N-@f+bs7H z{L%m+2-Z(M^J<&%HhQWGofAmd~SsEB%GC;hUu zwG8kwEIj>!Ig}djxsvoYel?0q$bg$?;Nf4Gf^b_W5}Ns{z&)1R>0T=M6k?D<4FR;FchlR><@T{dXdj-zWf#QUX+z*d#&@8mc=H+j@Of z-LSyXC(M>kMz{fzWi1~HM4*Ba$jB5Cm82+N-PPwMZ*YIanN`H82W5!h5 z=1-Wmn24e{T-;nH?8sPaqa560Jp+Gmt*N5Mpkh{O%>*F+ z8sT`9_4A~gvye~j3`6w234_H|uVgTiFC`!KQ|Dyb-FDS;!(*e$)7*RfYH-^AVYanW zl(6f?v8_{cE@F_UZ$%&7f`Y7TM(bn1b115}1)gWlg=(@flX}C-;*O6gBlNSx4G!!1 zjL94s+=FzZu#b@{PKW%yj4ATgD51#We>n@|ZPbMT=XQ@&IByToi*5yUG6#3;P(G$| zA(pa$x6jYo)y#!kFoXaZhW~{U=LdNEpV^nm6WhfYq>1AFni_>qvlfNP;yzM8`z|`_ z=7Xj&Tem46l9AL)Kj(Vt{C)Vg-(;9AA2Rs1_9Jr{CP;B5E8uZ#hnlxOzyBbB(ruRi ze3doW^RyPtjypD3ucuP2iuyY&M^#G?9;dJRyltwS;%$EpC{1>wus5RH4ubmFVr{*-CuEZT=JCwc1&Kk z|2%+!j*1x2Ps+EA@SkKaviFDfv6 z2Woo-?cE9otZuhw5CsdNeMd;B%7hYnP5Y-|TEzG5TYtOn%i1=0zQbrRJ}@qczFl1L z()nYDeQ!P4s{{y5N{oOp*^^g?~g!Lc6a^zY9`^|dlzw~=4S7aT`UN1as9tiBv< zed{thrE9ycI(eA;0PtyI#K!=+mO>P9Vrf(irLp$Et#D6l`h3FuG6XTI($luBK3F@s z0Vy-u%HbYgGWPXqV||LSAD|~pa*_g;AIWU}kR6H7F{qCoI!KifJy{gf<4^&MY9KKV><0I^V?X%3(qxFt>H_|t_ z^((q77yb>V(}}e0PhBP$V+e4p=lgS=<0?F}0;35}uN0Wtshp5sABmOYIQrp?#td_p22NPN=(= z3Ozw%O&de~Skv+jGaAEdxM}&{lWzy_o`t-N@sAHXUkoc#wzL+Dr(8R4BY%~Q?s=dF zmAI`nu!lnK-P#v1#Skgk1!d@&pC|_^ zK;=3uHN0K7!#qQ?HWAS;J{3mUbxYrv1aRn1!v|*B?RF}<>gd{*4%aoE-58Ec`+bPK zA$dO?UntWdQSu`g&hW$K2t>5jypLA%YwO?h&AsLbMSgTRhvZ$LaR3WXPvZ-}v z#z-GZAIq7}FDx`OubHx-Z&hOJbEi2v6|4EN#ug=1Yk7P}(cRW^h(aZ$J(|19>Fo4% z-FFen|4s`PXY8M_6n^?0FQhBxVD+8s{Dh#@(>bwEzq*Ld=(9CPsan+Tz8Qs3B$Y8d z4Il_HbGkMZS14>0jnAX{TTxaTv=&cN=k~aI{`I#}k+_ew&%isSbRf3x@{V-;RyYYa zGdTn^$!;8x4{pa~+xL^m%R=%y2F2GLyDHLw|2R{!HH?wj{Zb+Y-IEg1mPa-{_ip}9 zga{EcA)}gi?AZ zy%O6qg3X`aiKRsPv2p5edN#7fTmmhQJW%+=wFgqN^|SWF@!rMsyixi3KpN-UymSpz zi}|9-Y%^zR`nNF9@Q;r2qFR!mYL)CdHG(eM*C>uyYT(3+_7WTfrh=Ssrcoo=dH% zsXs<=*|ET3UMUiZLHlmU@K*_(KkiTVI_`cAros^Mf6t5%=%sLOQW-!L+8k2$?Lafa zipBSeG^McZaIazDM4tdZ@P7;WFo+lRr&YRE?MUOsOtuvjL2>?ch?gDBx{1j>W%ao0 zh$Gt`E3P2KO<9EbN=UsU{!q>nr6^7#GfzrbGjdpbO`Hw^)D+d~UHtwb;ZNDX=4g=} zLPyLr@5*lXzDuXlQY#y7q=`tNukVYo(XEfKzO51sRoPR^qyKKz_ec9pCxK?5pQ_-cGwqaSy(I9N;5mz()qQyy>>+3?)L5L%;93bo|?4G9OT1 zFsC(6zliqXanl6^FgE!p4BD78pR6c_;3tG>GJu! zl_o`8u(B1P`r_q>-+c28)gX&DW&PtIssHc+3_Wky+~5M-_@)(VA*MWi`UHNhs$9Dt zuOWNa=Hj@Qmxb%2)A5?3$=+3tHzBWoInS=YGVu?w1sC7L}7%fwejkr-`FfJ}|Co>C< z^9oKw-)}Q4_Tr5~0n8e5`jbW# z10rc#!h;O?*btIgkJ#wDbEKN4QdP`cYRoVyjY;RfR?8Y_Tz^m~peo+Y9-eZcE?V-) zxPQZJ-S2dEk1O$g_~irn3m6W$+oPN*ix?EePN*TLI3{ONm;xxmq=}7Y{djQ^{p!(k z%;D-NWwUG>I3y!?3l?v){_An(Ut%>I40?a(d4ESMu)Di^GQzzv+%8Xs0^*R_Hh-aW zEY0&sxBu4DSk$eHfR11~?%boXwe!^ z=)pGa(%@_h8r*DYI16<4<_5JB0vyG@xTUrvL$7bs96kLiZXQG(`+-jCQ(bP@ z7X*|ZOOa4V6i3QB7u>&sb`}mO^#%;Mh8@iK0{5 z5q*ojT$c(M)l|l#6GT4F9HHnNdLPj8f=!%$uZZ&%;%~c;KCCEHT>#bR^F!qC*x@lH zgeTYf5#>ZvXM8C12-8zajDs!{EY}semiF`B8An34k4|r=(`nx1=zLOf$tj51Gm#bA zd)wOw?+vtF@8A{n;uvh4O8=`klA?_^WQk6AAq_UE!>5`COQtlQ@F7nqdtH%(IH=d3 zza-T<2&nPp!*^aWTh?Kb$g{~%T&dR=7D`O^>-E1D9=45MZkCuxHfx%K*tXCZO@yb3 z20Z-bLmzf_j@N(U|A%+>5`WCYVGq8qM&}m=u~QU$QH|)YOl`4kn^=h8p2QI-#6gUK zs{W|FE<*Df1fP-qJI(EFc!@&8{MCug?FJWg{wuTfH)vp~V2*a0aCgUh;qx)W3Xy^a zD=W+tOs>{bXambcUL41Tk^h0rG&m4;zj>C1vR}4ZEmvWR(?&0Ao(Nq?HC?-Z*xshP z;?V`@scbfD={|V)rSJE8T$SyS6?^%z_iPh327?W{cSuH35G|jc0o3OM-$dA_8++SZ zc_%!_iML7yXY^Og4OoK(8s>m5FFD19EcbHIDHr!FpvY_<=m1pUwV!`^2K!%0QOlUy z-)T^vivx>&oa-K4mK>fuVqTx$rTR7>=9oVa^=_N}aCpKKON55assi>N6tlTb8&M!l zS2%}sst?!Gm67ZHk?y!Z@ub(7QajORHOqHGk$bw}rpg{srLP z(odB+;o8GbGj`z6v2MC6Xz=#!oX$t<+*h_T%;5qf1^9e)oQ~^k24Hafy_3r;RCy%h z5d6J^tjci=gb{SZ0)X=*gR1ymkpc8?%Hh6c5gL+{rU$IIkJgY>9}K zAv$3z0g>+J$xvv3{`5_D5=K8DC9H(<$eSJoMz5z8w3Iy+@cOV+}u?G0Lv3Q zOEHyCI2KQ=b(~poU_Vb8C(5cQlx#(Kpo9~`QQ!xmj2=MYB>_P1thLUBPQ?X2EMw_> zPBpGwA%#+?s2E?$WIBK^PQfj7s0~_gp!=~oxTT}>n*#)Z_|UD0!8%;k)BdLhELYE< zcGWc6mRod07->5`RndS@005+NsPRwXZ~wOys>ExJ!hO9oD!AtjaLt%Ck_+%^6vL%s z&%ihMolEYbFVvP7fdGIEj2+;*3IHe*HQ0BktI<4Ub2umJh$Neq6U00CP_?QconTi_ z1AvMl(@g_i$fKV8fvStn{I058Dcwi=jSk(mk{iBl5xqV6=5GALi}V7}9ZwD){b&bS zDsOmrdI0!>yzQIFG(*``}pd(1CFAR`%Mn4 zrl4cZ1?9df1E=d@AC27LcLYtAa`r+>Jbr$VFrGOt=6jm{T06>Iy z`ksRT&_C@HHjsG^nw3mflH?#tozww%=oXXsTu4fbySrZ%c8ALXhzikUVBuB>pXhi|hs1OU(}L-2nmN=wdhi)Lf( z(VCuqtHT`xJPX9NmFxg80FWXf08kx^il4jvosvyW{1BL6Fr;3WZlBT!8QmpU0TEz7 zucB-08@=ZgFnxG-jjL|fDAbTcb!(?=vUuR*u2&V%RdI*tK9@6jnyeEz(KVc?b}rr4 zi2tMQ_1oJUBS**CKt)+U|4nG9WjDkoTwKEQ? zs_^}J8jVP%CORC|_1ar>gzL2GHipIOY23a#b)UmsjBK*Uj-{kT1OU{S!k|hypv$Dr z0RYqAcveBGoB4#!zHs>%Ar7++I@PD3#s>-~ducbJThl|AV82H(I`;)TlC^W~gT`81 zBz23Za@eD6CPz@)>re&Bg@Q;(zaSkM=@Rln&S)-7IOxhyJR zH4bZ3l|X`rYY@c%fErE!z&x!PBmH?^Tsl@+p4CqhL-@GTAwbRJjHz5lk8WNkgzzlt zMsGK6#&qVfAOJXA2Fh1Pput52aQjo$AbkQq_vmPxLY*D6Tpc^?!+jUR$4{C;-L;j5c)2mlXYi2SH2PH3YuivS>Z zFQieH^q~MA1n2K9g{oW1;)>>mh@k@`?7tlt-qoBfsKU)M>=`yu0J^~8Gb$o~1OCfl zD%!k^0oUaMP^!$m_0Zn1%f_*O58 z=sp5~NcU?d)d6TC=Y|BtCf`~PwZR3!P~!pmwva>j8cL9YPL3Q6>dzNMmkU6}#RjY&M1t8g$k2FBe26?cYfGT>; zevl2JR05~3!d@|i=M;%<%f!(U2zF+EePorp0U%Y14)vYp0FEYkW&r@`PhJGZ)Szgi zQ)%MfbL9c-3@*e|Ix7Hl2h>%CGK%_>&m2!4bY7e|gLiHv_yx?BbS>he2G-0f2%;AirZYt8hUpGy9G} zl~mC>cIO!Y z2IHe%2fcExFL{dr zU?&Z)VS{;im3wht0&(OpntaM5qSpxkpi)8rAf{=%{&x^vWrtr};6>bcpHK}&9_=0) zo)>Uwmw?x00ss&f)sW^XZ$(RYN|J~FB1+@DS&XNW!uM_1X>dd8B{gul+K}|0*$0lG z1FZBNkqY4dXXd9-r`~xwG-q?!Zx+o10RXV|od5tT!4(u>cxju44k3q@Gx_FexRj_= zl~<5P2Cy+UC+?*WSZ&Ew`omK!@)Skl6(>`$YZs`@;;u4|yrM)+-!Q58Ov<@aXbfMk?_z`$w|r6$zAJ zj%f;w)xT^DR=rSH>?!~N?ol-$z}eFG7YzW;uvsbOUczGd9TlZt;)sxcSmltb8lg@9 z?{vXgdRCO*FRzRfEgkF@ymAdlNth$U{`aI{4S(j*9OY0MO+Ymvfu$ z31d+P_gUGjZeH@*f4u+tXXu1iJ)g2?tOE+%$H?#RN~!> z^zGk~lSbzWF4ak+yLCo7MS-|Vij$(ctBcEr2A8jHqf)AO&9DeNRQ|;D|FYVGUz5vy z#=}vcUCj%B3VGE^sqmZ#_W>6*Zop|9lbxM)b4z>jw9O*yQBV6;+>kayS7%sP(E9D& zGE-JC(l+JUwc9m+l9JpFc)9+Z&ebrm>sXoY!Q~Q=YJ{sT0{az7iXMFdHuU-%RQb){ zo^JXQNdO>`i!{Ujy4rx%i+G|001`>$`zXt+f(kSe07xW} zKR?&M0@7-X0to;llE|MK0!R`>5;UaqUJj510TW5&d#C?vbgNWE%1aI0&Jzes7(gP4 zeE&QE31o?B05lrsiUK46kVqomFYRAu{l6dvp8!B2iF{v_zX7A-A345Y3eKAhOaLH} zL{6l6&}dwPfh@-e5KeqNk0e3BM6Q!mr3kL}`nV$^8k1LGorw3%tXBHwoh0KzbeWH3!I3aETnjR32t{>YJ28vehAs#m!p77}Ot)&OKpmW9sp z9coeZ2=%`~=K{_cph#SRM6Qn@$Hje}$wv}6cAG9QzS_%Es$6czSGmg}a+5FL;o6PM zxVE@L_c=u=IgF(EE@isoIe4^+-(FvCEQ?b?>#({`k6umyAd&B{RMuBj&~lQ3pSKSp zN!(<1MPq3a03ZUO){*w74-f#3s(b@xjsO)l{}D(UjX^e*AoN1IQ56LJC(FMo5g(Ay zCpdjPAaMZ_xkiHeFXQfxe4njrR16*&C{>Nzn5|CC;T@{c3KqA*jNWa1`K!G;f->cJq^#4=Hxi!tyJO?yI8R;XP z#jgkqSiS@oKpM{i;Si2Ok!4R4+`YkZ0TB?8Msb0}1^B+u-D`9)-}SjBu#$>smz%n> z3*koX;qs-9GEVhZBVik@KA8P1^uS0N1FP-8ut||hB-=x{lo_jV%8zp+NI^U(fMda+ z2bvcK0FPj~v4*sNE!N~Hg7w4&_}=KhTDc}8Axf)Wm(esgHaFP;*rl%~^}kv*45QMR z@kCTA)hZ<)QYo-({68~q+iCitAy%zIIw{GdIkTRz#>5NA;CcLsrGSCz*UKwRU6mhlECT%G-|S}UKRXQ-u0?!--oVg!f?`@Rdqd`2IIl(5P;n2 zR4S#Qq)5puP;d|?d_AcysgzE}SXJd&BS0f20J15EvY`Jm`vAfjpaiAh|EuKw3;KWh zg8_e10MKYODwW3fW2_Z8pd%gEpuAj))^PuX^3_m)#)DL?@nCI2`74r|(F7Zqgee`; zqrE?qokNPWmO|wwrMENC3q0^=iFiss8lk8(L8AEY=;K< zyp;EbN_A8XNV}f&e>TIEV*M}OG0+3Z*!)eM{C)&#eS&u=#0$X22Y6_8sXljR9)KhR z>%S09L;KG(1Y|>r0|Sph)GFe{ozay4X#ha1MeD0H4a?t;F%QFGH3-n2TrmQyYPwLp zNn6&aHfE1aXuPbOKng|sSyfdH=E{aKHzyx*ee}p<2+$A#yun~bV~HdRx0@wY?o1|Q z>9(HJbM(2b8#3rA8HNs^YhVSI4i-TGMFQm65$FaN{)%ZB1RMg8iFS|&5W;AJ*48K@ zDdYD{Syp&7e~wvzs;bs1wF*^4Aqw!ph?CHOMzuD3<*QVuMpj|ojplFqaU-+QT3fiwhMw*3gir70f;!m5r|&zW(lX=AyDe%iFrRM4oP zqiF}={NgG(OI0WBa$)zM4yO~ho2PNs$)90BrSYIhs-zade<^$-3(8#L+NCes0DBwg z`S*kICbgW6+Qw{#LToz?wxw&HOrAH{S1(pQ{LIG*G7zNnJ}nv$XL{ohD!H>du7Ine z%CS>~`W{dK1Q4Le4QN{f@`lhy(rBoN4F<9VpiJR#{m+mA{QvE}>yIQ^b{}>k;~g1U zm0gdio*C|Ns!D8W*KH!AY#;!;GS|;to+M4)g!}Cx9CkwnQeT01NEwISw z_QekxSj!G2*}|ktoNckx)eX+R72Ic7ZShFlCggwA4hXq&;Sy-jOO#8m1G_&n$1t3T zHv}R9m<$l8`m+-08^&cqBv-@<804i0gbtoI7HYT+YCy-Mbw#)$d+7va(*Mt(r%Jl{pM8Xa2|5cq7?zKGM*x2yE@47Ct zd$&71DHO%5mv?<=!ei1${!ef<9%({S@it5st!mx#(7ra20c}__%_Z=cmQ3JAP-q+wEEn?$Nfk zjBM34ba7q2b_2|%YfDR=PRG-2-85G_n}|VotD|b0W~=+UpEu^^+WNY?{+eOr_A2re z@>ARQ&9>uE=^Y*<@}Q0z;;yY3HZuJ+$4SeU)m>@(FlcB&26UEeNE!UVH3d((;OGvb z0e;aYxu5HZOk}kD!5^58o`)!+8w{Rm$o^6VbEN2Z3{eim*r^LOQY!u#KS&$ASPekn z>D(H8w_*NAF>BIxXf+;8f&F|6!vY~TS+JAK_btnTYqOHBtXEX;P`@veILVHSJ#X#x zwHC^kwWjQ`&CPANZmijM%r3qyGXHPDD@d=wYvk?bM|C<=iwN&hrxHSoXZ|fJ^xGg| zD{n8U{T2eJ*?Q}(x1eR)1|VFKST+%&I@AT@xZcnPBnTNi22>V+DE#B(Xa~g!@f;!m zCEKBCUGVP)NWzYHDT}R>k?aU?U|v_!3=$7k}sarxb9bS^g&(?y`k>)t)x#vfX!9a~1c05CjvEYYymvq{!w&F#|m7Hs16?iiFfR(S#E zu>8@WL|->G96|X>8wE z7#eI^m2qLB*aZ(|$D40L*YiA*yB@x>M-Bpq5MbJd&ww%fSu>g~8Ec3!ORM<0j7_#~ zJCtDe7FXdR-DCZm5Q5#5-HJDZM$)DRf^ovBmu*(JrXJkvtw246`~imiEq>VDZ%zTg zdn0oJGxqvZ{6C9mbw(Y55a1*Pzh8$98U+AS9&c3aJ?!^SI30Ua9^?yW84l=;h1xg2 zX4zYgo43G8qLlg}Y4SjaC!mN^gj%hc)`|O?1$t|t=ePMK*V#Z*(OvC!I_)~M1{MDD zw9d&69>Vw#CZi)WX3)^LIOk;>$#)l4o`+J*_bEo?ESc;6bsY`tcKc_Sk>xxB0rnqz zmToVv`fIBtE+9BeO%#7w*oXnZO9~;&OsSrjx_0m0haZ0U3%|hZ-)g;&2=KpC`#W8? z+HKo5Gk+b)At|Rd!T)3eIA$>(XF|%#eaoTl$DzCUpYDpL90qe*qL&S3arT5UD>4!? zd0)s47!eF0%ZsF7Q~(@G3^ufg9+_X*Nct=Q*qnOt>GKzDV*hQ5Sr0|i)bo|9sX5t{ z>Tj;Eu)6A3T&0l%a4@KOe>k_E611JEB-Uud7Fjp2i7K|i79*vQo>EqZC-}c)N`QL3 zks=bspRjn`6cXF_-5ZP9rFkDLViXdr)zLqBK4kc!;tlJR2P9H)K85YACLFj_#NtA|3GOxSEy&X7*R5DqL_5NTt=;VzpZP`Bh7i>QsdMj`nr7bcP~Hy05I z*rF#{ri2Z{h9DffQ@$V6U(R6w2Q4_(n~RX3FqY7uF+G_Gv-Ru?+hqG6*R}H6YYvQK z(x{=^U9)Yv$ufRiVKn{jfzY(u;%3-(19w~;1#IB!@#-{qAEfTD2@&4{gaAsyrH~xC z3Mng~J)=P^+}V}{xJklWld|Tc>rziE3-Lwmw!wYl)1tCLv$=YSp18XS!_d@<&V-6` zG7BjZhgdEY0H`+GCADkFaUpT1UwsvRxaPz5CaVA18GPRB3I5}sruhV~-WP%M%WvFR z6f*m>$q&B( zoQN~0rTLw8_!y4a<&JOV`pU|}5n!*Ru6A@zbXppU5V7_y+z3 z@jzRw@>-_>1lX6he^_6sRPtDv%LC({oQ6CzL{AYpX)p$1Cuo1*L}Ze&8Vz~FIBnD;OGr9jkw2&((ejc~pz%Mo_ zP1}(Dn$P+hU1xc+1smNFOvdEYwQ@bL47^3SyZEr!pC02Cru+oY^Bjki?iPG7>#1>c z{KvV0+pmwoM^nLfT{sP0i}C~fMC#L|ccZkwGy8sj`?r7lHo#4AOkzNpyM!V?ut>>mvJ? z_#Y4FgKwXHG#zgnWn2MOmifYS?}{X$n+$Tg1vA|H^LtZ;-qTzv;mP3?^%pK_`SOMt zRo4V{FfFGqG!d-HD{Vm2sc> z5&ye0z8Xs9mhM3LnJa}5vb(Q!o5ldSEmn<4{882jCBpwNQ-owXz#_T=>u6(GU3U^0 z?W~Q8a+KTl=>BA!PxK|J|LD2&i)!-BYIS>dl0gZ{r1jOWe$}**`%%4IZnu}U%Nqe! z$J0Gj_=O#@zn5!on(ngOHp9>&<-1l#PWs&X{ee*5WDl3^?YG~)wq$EZM}~8KdD+%{ z!-%2@!^kCV$YavT#*n5iGH-V5ms3+kKf^m)3lhtV4C6OComJo8=x!`8FXy^tAB>JC zc@X6J-DkZ(Srnnp>K=QXco&(R+s>~|`=EXJUnBj>x4-=>60$YO)?ukwb?m}KogqrY zGHfk6^1g+Z^wRQclzeNZXFcE-@!$99g54vl2nC6$TV*zx6e$XTAkP-71N4b!G@a#( zs1LWe6gaKdCRBndp;N-SVbY05nbu%O4XFTt>b33K|3;Q|04 zXK8IioWe4SgHP~ZKFPx{=@=y0;#i0;USfI5OcbjwwaSOek1m}q5|=YyE;_jBtmL}E zxsJXM+u}L4agl7gKZ2x?N=H5;Nv3P-Pq}eRAW*k^-C|@t1ZvF@=tbw54(k}gAQ*u@ z_H(GK){^SN9KtC}34dX+h7eG9DUY-Dj*oHk4X}zR8SfTh`s|7ClZiNFeEPE1@eQcb z5Q^KkZ{N9j^Nwkn0;R;tyVA)Gj~-czw*jcS-brR1=r`fE1X4=o`iSdbX_@z?9vfdQ zJX(DAZGV#n{^`u;CiB0^r$a-^rfJ-{HeW` zg5(&aq2UWL0p9y&PRhHkKhE)9jG(;^k%up78Hh9SQ4mWVK%0fpdGnUEC01B+jw?I3 z!0u|-bzJ9cg?RJH#_rZ8u#TR4ETsMF_1a*IdlXcfM}8XMIrko>nm^*k8{MDrefPSR zNJ~x+s1B@i`53b%YWoF7BS*s;c^E@9b@A=~rB)%pOt{2ik0F~$EidszkhKHHx{t@X zPa|mdcb`2^aW6&y=Bg(Y5P1#H_uem%peXK$2-7=dni;6viTktu3IY=+3`B%scNblM zlZ;RPBI9CgA1O{8hSS!1^l0b(}1 zo8$l9pcKNtvi@uTq{#o3DI_{)0cA;Ei`{1h0KBB%1Q_{7K4VBuMArJT1V8#t)>G^vf0K`gsn0gJ0SQX?n!m@hK0F zgZ;&oDDA~|yBN2~bHq9=or!Vp9|PREbLTePfm^q3-4v=EYLP5(*Vn~fT3w1afwjBv z`a9kkpFXB$<=6W_Otuj-uDJl`w`d$$Y1d}j`Mh`Q~iu2>+ zT<5p#nYN~9m0lt?j8ku=NT#n#37Kq?>vTv+_)3tU0Z>r zYlLcP%eeg2D)HH=X_KBTudXf|)^gYXf^X@p;}<`-_fUhA+ES{el*VA7p#3AT94_ht zqiZ4~F0}34-8=;=olHhkmAkxEaGnj^xpk8=BrClwdWTNfb6;^?Be&VvvzsiwBS48) z)y?Lt|C`kpAN|Aceea{UNqf@qn%$xJ7MHvjhSfDl(X|(D0t}GNdiXv`I85wR*W>Ee z=rj6cnU$6A4Y@MSGM#G^!?M99E|m*_8jmF5Y^6_L1xF|t5CmD4Bzc*WO?P2)?JN_Z zkNa<-%-gQpgyLU}M&P(E{+UV5-X7^w8(?!2 zZkU^h0X}y*{S1E=eQ>)zT7#|iH{PINK!nR10UWVZu|TwO`^#$Y`ju0%O61~=vy3J9 zZ>Opa-l=OK3i!t#U;eE2MJ}&HNd>6HLumQN25`YGoY%?DI%Tk!>gEko)H9rK0SM;LCL#HzNN2B}Es7l1wkXqx zc&%j_=es6AOjODZIQj}fcM=O1s>5xbC{gK~&uZG@ax$`3eeQvh85`|(6@@RSZopY| zhup%q^XsC^BWgHdyMbyqojjft29!3Ek&?2VWocGYvOy{GO7bw9KqQ@iXfRBwE4KKS zZY3Y03A5$>(g{ee+_&MQk0e0ey9e*zn@w`j8kk_%qei;>_{ubT3&wMyn-neyWR(|UPWboxGhD}kRc*^~uDK-s3*fj)93r>=u9#{Hn^R@riCGL3@@Gr= zh~fFDfTG(a72uOk9AY&@fHo-r#*E{1E)t*#i;nb4b|?LF_Sgkn`$=hXmeqOl*||)A zoE?WkTye@hJvAf1XWo*E6H@ntr*IKuh|)xhI!NIbX`-iu1OdWO`aeV=lE^L-@`K5d zk|t*HNuf#Xh88yGwo4m;7{8^l8X!SImIXrHq`QIKyPnYD^7+%OLR_L?BdriXr$uK| z#i%(GU^sO>)N9kkd1#ftOD|ax3)|%G;1WK7GX>7JA6$pWsHQ~+C~XVqc8)tHzHidN zQvCifu~7BU>2>Qk$)I0<)Wkw{d=NEzSv5>M4!ag-F&#Pw-0~gJ(B1O#h?;pp=o)bR zBn5o4_xj9>Et@L6p^^1daa_*ODa#JSahgF>2JM z4I*vZwBUzdSpv_&O+}0A$B>n<(8=?gOZaN9`eOcw!Qm3q5NTbe@aW3SQkM6|gzq?h z_MAKn0Jo)q*#O&ceVIAg6PW-G823J)oA|u~T5s?C!wNA!U;y}j&PA}3(dZcW@WIDT z@EXkpMug1QT`CW84PpP65yGIMQ=l!CC4hvV6mXA@U_@1ejfDY*luIjMvie_#OtUIC zpy(Hvi;NtpC*181U@_yt>6)yp2$(BSeLrUCHK|*3YpL5xH~=X-@oHznip7H!bll2S zPP<1bm&Y-bE3k@6x9|JYyjz3hWp=);$>q8M@jnC)g*aV;3_-+Mfj03!MFVFm@Xyzx z^_-krHbW8D!lD6z=8nq-uYcLr{G0S=hOOI`Jh$nC4u8Bdvlfwfk9$c4Habi-UVuME zMleq3eT${h?7>pKJ5|21ACB_`a^dPL>$cbc3>X$Q3vR$D+1>s0F)w8T^O-g`C%kne^Fq zUwXZsa$2`c_h!()aLDFt0Pua#52;HOa&K#ugxWD>0b5p={YjQc6*7d!T|4Pj6%j5@ zU*he{VlYwC>NY>tC02d?bu#UFmtC=u<#{pqp=pu_A=qW8eMlLyIrBgA?`vkIC4ni} z&p54bAMn*?<=+r7o}&jz0&xT#nMM%OP>62Zzg&{irs=aBHHgpX<#jnV;@7K|T694F zL^%E|$Mfo32$OgJD_>#G^vIME2f4`1n-nBQ^IKAOttPt z`rdu|csm(lB^Wd;y5z@&y|Q(FK`mUC8xeo8|9KR0CcVYtWH27mAAe~GSy%9 zDW`39eHGfTzPi2+En$6$T9-^Rxn55t?Vs|x$xd_!bFX(uD*xYp-G7hdBZE+VL${%;T&eGCSU6E}|N%imHTZZ}2Q!1wUfT4u}Q?jO@DWO>fg7jU6gYoYabfkXhB zek)#Vk^-6hNtR|Pg5w<0s^~qRv9@{9G>T)e_{J{VRUJ?wVTh^$>7?JLCI#BtGk)GX zl@h~{zqi-S7&T4f4zXQ#Drd`Fjx8d-(@nMs(rI2miiSdCvjKaR!LN&iQOWgs<@mE? znF;#`Et0eBV_5scUz~-jLiTdR$R^mGLD`uuUTti~|%d6d0)An4~L!A60EzZrZuJ4;>VXtjgHnYSpPP(&#SBQE3>X2`aCg$UQ+dKMwOGIf5ikVl-sav`A_ftjP0* z3EK*#MUKM7mjiF_!s~6b_BhrD*4H>Gum2I=%HpkG{D9Jx;P>(@VvowfL2|bthSOvc z5LG!RwVyNhxx;yhX*bz@OmcZB~@{&D~!70AOIR{185=fV^F z3l_S=Ez$s%Y!YJ0TyU_8+mIUY7Ov&}JJSHceT1ZF zwvc?UZ3-cK42t%NARE;o5^m1-yWsv8RB|W&BGPQci7?FKI6*e?i3coS1asQ}8yhx$ zq9+Zz1}vW$Q|aSQl)w|x;a`b$ITZRGOXFg==!NBPw; z@E|ID;&tJW)GiX*8CtMQW>Jop25%3V7;@ki2aQ_1O$P0vH;rK1?IqhbX26mTGJ>Y& z@R?*jj}kHlDwkW5AH{Ke^xy&9AA=D8u`QAjaU08)xb=cN7w+ZeE9%g7vg_=x56^q> zt((9KKmdykj+}4-P)beh?=v}|G^3kP6uC6`H>TXtLs+2!y=8NWK=LB%T$?!KZ74+2 zFF6Kf@WzK+w}gw}Qa+*zVfINYo*50pRng0U{BM&AR@KV>;g?BWHe5@zA=x|6@vgJe zi5)2@R>QhPzB0r0G356tI1uF^ooHvy5E`IajNog$wn0tp?XJsS2+HNn1t@u^`=PE; z?1AW8hbJNf_-DUSo#cdVP)$5p$gfWRaqS`qfHG-2A?A(aaWKcjrLk7|LfTSMqZTrL zn~V_Fw5MNh3EpUUmR*Q~oYzfyWjQ+Bji!HnR zqWzl1r$aY=;rq)O88SL3a{cb^HpXkjNj@E3dSbJr1vzuBVk|&N4I~gb%cl5WHUp7; z6AT1^TqqpXQe+-!PHL9V823cU4X3ehN}PRFP0UHe*l86~CZm{yGEFcAXu ztFC?GPqq2O)$qzy-R!d1UTWLkvH&W=0-t}6$dbcEZ)aJN7qSc!f?PX8`|gzmxQXxN zF0{Y8YA&r`yVeb>&JEK`o`~nj<`#5#yEakGnj0Sf+CM0(NZcgGJtd#-2>EEMT^K-p}pL^xHdeh{8wkgCF?*>MGa~{@Sct2(Z|Wq9}~RG_h<5 zMp+P_sl)8^J~)003X=WEI<70ypDA4J)S{hP&#;R6zz)B~Urj4<3~dUZ@^d(nR#GhbecpPCCGFLo_i8QMmOt%X^lT)8 zltOrk3v4ePAp`_Qb{q!d@q}vZ!SduQ+v2SReg%Vz7jgT10mv%JY8z!v<*T^re|^8Y zM4`-JXpqtJoVCK3c`hU4HkE8AqU?G#dCRPCf4*?{$f?kmE+Xj}aPNq`oTuEYX1pmlN1_AT{{MRkZiyYa5h?|fEX=UhEJ7Q+InuK7>h@)I@klXfmDX4d!{SqgA14ut# zaw-t6?v6Y-vA7B@W-o*m=h#h_~uODE}=er0#uC-A?f z3k#scRhvKf0d(=R@64I%@gsilflN4I{USi+;4F{RrY;o*Tx;yIE1gDgqt>2Ox&)!J zD{#qboiI#@|M&E%q%k3$B+`NC;kJQiQXHI4es{OHu+-~);~O;SmOMqgcz?dJpab33 z3Kve{`%6vtFom}LCt=L`KqT^D|2;Q1<~I^RF2Z90wK!T#03Kh-_BgYT#(mZJmK|3( z?6_TTCg;r%XPI;DM>EwfhyeEy0c7-%-ukpd@!rCDuA7^~hKAn^28HmW87!$B-=TqIm9iod0)!{f@#}-j zF9X|ik+}x-TAs~~(Q@Ptt5au=rDm(uD$6S4PF^RHw}-R-wm<)mm1z0p zUp6y(8@X(sKrTNgqrm+VQi^XUjSmj~YHYc<{JnFWMqx10M@P^qG@H^3E$)Ndt?Cfk zWodlxdnx5gwJgh_pRTP|sX+H0KIFs`RPk~l@SWu)JC)vCJBz~%@XdOVx&>*;uAk@I ztqWYWUO#yhJVK#C^-hP}Ntcs-QAjxLHrOqEP92QQr}-Z=anpvc5(FX$I8_(2W5m~Q zQ&uF_Jk&Q#sU+zc)s==1|0<0jEAsc=qq4}yxeV|~6Tz~~qON&u zHN$kfyZ`ohIcCelG*2?)zaH>Q=O2h+4z`VIS%-WCT0@mL`vbg|RFa(O88cl@k*#S% zXZb-hXilhZ(l9fhY=ykl?>7WV)D8$)+;K98rGMlAX>f*E6o&yT2VtA~$e@I!7AqHb z+02LD_ctAunJ6(_c`zx7CzlNj4un`soD6Jv)xmAC*Zp9I`}LCoNEo}wd^tp%f$o!M z!-o!Zme5EDDdb3RDrg~$Qa+e$M(KYxXt$k%%98J^q;1Zn0o#0M_ zdvJF`aDoMQg2Un(Ah-qhV8MgC26uONU;N$ce*eNVUuJra>h7xZtgd5bce=_N;Y8KB zPXMFnlJ>{iZt?5~+xAt9)8}%;?%)E~77-%BxsXREz51he(fHxWOcD)uRi54^<0wLo z${IUx|E2P%i)O-6U?>Z_DyGgLWs+j1tmf*rzS-Q~hf*AW^XZ17zjFK1i;*bgKWX!* ztIN0r-Y}Z3$?=}8+$NA7MO8+gjmI*DX3{hJR+sld*_Y8O;#D%d5q8+73Wcy^wgI(bR`Ub9uJV&_FB%PZDyYC3#vztt3B)!`Da&46*XegG05xzBk z_KlH5i&+Y_s2Hvofqq+W{~StH;kGl4OiusrE4Jf+lsxyHRCmOX#dQ~q$mU-qM-&(| zFRnmRPRt+n=^L;iCJIkiJo@=XAq51kg3}q-n_){8X)*Rb_KYon#)fXwd!G;Ft*{q4 zVx#M~Kh8pvRD~B1T7d}CYjo#2LxjNRR)nPo1Zz>dv%sYA3lcljv(>3T2etAR=-#dU z9CRAtb1fZ z{r4R{jw_KJoft$~0!a&9^DV1vrGSh_YiXQ%^O~ShDCZTa)457(L8fYoN)Wd6sH*`a ze91{@VlHIvvmlIUQWva?7RwO<_|GVqMVV=A)m963gF5KXeU!oFmSzK=m(U9W(;baQ ze+U|zg3)H`!aBD{<>aAqFN{ND#ij}VZn!t@Df^`Chl;PST|r@(Ox*BWz-evWR5+w; zSCb;3SRg~LO?By!NW2GPo8T~PN#QK6lk(zJ-MCHz+qpepdRWB7?4n1|ou63~Su~5a zF$sPs!vDDQqvVSb20}_bP$;WW9@)TzlnvH;{nU4)Bx{zj8NhS&p1j355xD)?k+YDe0C|~WRubN>)8&YX;$D(nsN+GfMG}Z}+>3ymQ{RJ-+0aQ z2QDuc_FcvF0}F%{@^5Vic>4V0I)j-Y%btVq4{Gr{J~}S%!|+T)x-I`KbE}Llcf?wV9p{_3uxcD{^mYDt=QYWd|Nw;s2DW=YHVm2HxO>)+c6AlU9s=ZJdmuU*}|V3G>A8l(0*i=q5Xkp zs9eIS;ZQDn)#m4lKM}Xe*4dSAcmH;WYUS)TgH$Jl(}@n3PD|XcJ{}55YaJzR$0I(kg#h2-ay9?aN~U*{ znazkc+x=u4?PsKU8Iu^PHG9o+&q@ZfppX- zJi6%;9`YeLA`5@Yt5kIRm=AgKodAFptWNKtAG}Pmt@an?b7kL@g@IXb9`w#s-PId& zP$5XT0e!x*M-t-vHWnPX{(K&OL~-fz)z$%Tc6zX&Q1Z%vTA&?x2n zLizN{7wi2S#bHaarrq=>7+SkBDndMA@YMY5Q&eyO=c`VZKv__Nb z%c-txbSb$CA2z#kUjm1bA9OdXsx5U^uZ+i##3HfGO@`%BBuUaUFH!V9mixDTg1%#I z?U4bJ#U)!}n39hN^iFJE{&0=S?<*MCnVC0&zgT|fxiFv-mgAEYLgcITCB^v~#^+agMsL|_4mVCXI*Swvj}JXuH7$QSC91cL`G~5k zW9OTD8}M>}oLBNLUDegKYBcEiqT^jy+x+;kii$>mT7Lb{T=db8_3g&HpSYp1uUqu_ z2ZN6$%cu#LFZn~}EG?wE%sj*4*ncWbYtqB<;|nvKGN&iVrbByr!UVj(loYqdT~s7# zw`VS{1RbrlsW-xzT9v*K_rGrd zE)Yj%6oiC81M_zP<(HCjL&yDQ+akW@8*F7)$HSYl(Db7h*>_mTTw^`ueQPaGym1^6~=txgB3PpI~Fj3#GzVgzQc>@bDweQ?|%J~M&Q~eiM7>i;L*+On4-JYQ@u7UMhH zjB%vN4J~OD^+q)r95ReSPb!wLi}>Sq^JYBGt%MaVX7WE+;NkHuRP>M`%ZNGZnQ=iar8)nLfNcAb_J>rvhoh6)E{6kV`W^i4N!@F`ev zA^PfBnD_hg9cm-xDyrJgF$PSD-2iz*VxVD^2Nws`;W%Tq-nVWpz^7Rzwk%5mIhb?Q z^7XEbC~WG+?X|sC^1hFK7-#SM4q34X-yX_1*R+tlX&nlkrK7URSXgZ-ghR56RGDty zuGqL=-L-D_TcLUji0OTep+2=ZW-=kQVsq1aH-%~sW(E>m9fLTB6h@b6EdZl=1)C5K=vy*{7jwd2<}Qi z6Kmfy=pPR$2Cve=!UuK5*El)-HrM!Gp)SheLp_L=5Py#35Q{B-+)m&4-@{nfqK{~a z;Q)ja7Y^>=IWU}Q@u20K-MjYt9}b-ob;0D{)G?dFYC2-3lCi9;9*;ZZ0&zF?rL3X# zGqjUeQfBqVUNq4C-tKi?Qy4Z*!Zq;R7MEGjRY`x=Dv_5sOuUcn-=6d|x!=CA_au;i z$GQ#qV?`Gh5dB*!37mr!j*%4}LAi+kcT#XBapmg3Tl0LBEoALj_ZMc9w%nOp1S9F% z2*WV@qHA6fU%N*1g|lnOpI_g;7ge#a!`b{?2UkhNb$abRI7iepn*F9FwI@E(b*G%5 z0CCy%*KYIa>d$!JYkan{n-N~Rv%Hb^)PR^gCJnaXA8IO-4TKqCSQYAG^|2 zxJJ2Erork=_>m7y+@DLhHBq9c&V1}8$(d12)AD1ExhFBP-&zv)`CIUy5y5x4I^_&< z+YGs;(P{U!v@6k(H~h7$Ed^N83Vh)%Wnafk9=eYUuSBsKRIlS!{Rvb{=CyBYIF@wk z7lU1dLS6;?hqyd>jq4I!|5lyP24)Nu(URj;4zOlC?rh1jy1eRXwfqvA{^8O^lpbep zg?CE7{%FP~Z`)*PD=1FuKOq#cp*67jSL?o2!mymS5K?&f3Uky1}m8@cW`(DzE1fIkHA&KUw}wBn#|~AWVka zXvfF_npFC4J8bE1%=@_Mw|4sUl(J9frQ77ehcLQoOXv$+Ez~wQaEG4mw4gYw`P=L{azuN z&olOXUaKR!b!s-_k}ll}1L-DmR8)(zO6J8heHR%w@fR%~HoszZcgJHZt5d0d#D+u{ z-Hr;nN9M(8lSwj9l-Dq77(iUlc?RCj&#D_Su{)hgG;fe~If+VVxSI(H7|P?V?_HC< z5L3o@_u)V)?L83#yQ?+jjiHci)0aY3SZ6WQkR=4#6m{9LA@~_)+dT!BefWWkuICs1 zg1P5uCOdl`S02Kq-V?JGTmncia3Adubw(G1aLG_U0&lu9%(v#N+d<+U7BT(tVywIf zU-KQSO*Tab#dy{xONH|14GYHzRe&vHsiF%TQ!$av6wZPaRN5)CSC|iWY0kChXP>FC z^6reCG`puyKxo(^T}y42kCB|qzBpV-W&*xmxP8|y!a3~=KEVRgnLY9uI*SLja5;nC zw|HK+xSy@CrP_}-yAK~Y1{#qIqor>(kl+5oy#gV$U_1R>!2S!n9Rzn6g0Y=ST=va& zs(vG^q?!8^CQgD{p|0x5tW1d$Jg1n26A+un7XHDtUICuAUgOLbJYVG*r*UL2&&hg> z$y}A?nEB&V6ixt|3~Uh`n}oFa52X7kk0k9^2(u>Qw`TlrSbTfz5obc@l9?E!H2Iy5 zOBhjwGIXS|S=JlN$#h>zuLaDfbfj(HedqnKIrdS*=W4J#eZ9|8GpBugc4}&!U_Y6v zCgF!s=<@l5xSDcTfJY7!a_h%=GlqZG9iAF<{>bp z;lB|%g`OLs4+%n3Qw^#N2<=IZn1-MmY*bEYz0IY{QQj14M(KYEF!Z*yJlfeD1!Fl} zBZZc^sFYyq1&SLa@zWfmZFW_OLAkctCQlvDON4r5X>pe7{u2+$nGp*@3j5(WZ#}s5 zAqi7YOFG_v53g1^QRg3d@mTF+LrC^D`CK%(Ch$WA-G}LYd6i^Tv^9q+zg{ZlPa-QX z(uq&1Fe_we5S-G7!~`-q+>5#hxV3tBfi^socyK=^$dHfQ;-E+8?rcNe93p zYTNi}iRxqRrm?XHvK?Kr!iu*iAn()nm-)DhMOb1Hg}-L3F+qOiFZb(flgdZVmpv>* zU%SsvUtf!1zw+a4;3Ub>1D!Kgs$;QyL_(W_b`KXZU@%LD#p*!~*#Ps@Z?;Hq`I6hp*4z6hV(Zl$qz$Qcp$mtj1OSQC;6w&CK~ zysqlCd2$?w2=BSzJV&m3DYa}~lC*W_tGq2Gj|Fa3ov~RDj@a49MdnY8rPQV}BftHi zc6Jx`?ew<6ty{E;{!7}OucYKVbWjw|s`dJEFp~iXW*Xy?k3pam%J5k%=FzqlnHi-X z$=BW4YVn&6Uf(=VF}h59v%@xz{Uo3{L=3?k)h}3hQ&`F`JF23!pQ`gz0Ja+ppxbZc z4cX!hq-Z2VQrAZ?>&LZu8tmP|&fF^d`hThu&b=^@aOKSRy6$sVE8H z_%=GLEC@~gjV!E!g^;H^-Ht@Dwq0b#V_-0TA+)SxZ{+{tw%njU{h{Lfa>M)_sdbpl z+u(jb`pEBY+z$h#hvq`mA%Y@kF%%RMuap!*c0wUV!D=GQgqf~F#Jjatbsz2B9;^`& z5KE`{hE;@OKCx1}vBjK=Le!jgL|o$26e&6K7UlMPzt7taRHLu_@b8ZqGGD(b7I~Gd zolZTC6M`3Ztmr#l@l?<(0j?=4R}P`pikoGn2xB??H|5yrYo7p!T*q=LCR4(5SUTZ z%j+jG{f;aV$yczc9=&qXYz7w$!p|v-fV>`jaj3xqS6_x$PVWo`!!SYw1(#wPXz>CA zu)KA39+22g<1$$g^D0%z2m+C?BWfVndPCCOIp`bYf0qJ~e)7efF4EQ6dEgCQTS{jU zK1n7%KPc>3!oAM%T%)706tS$ay^E2DqjiO5J$H}$S zGCEwWCBOa5t-8Y;pYH6^7qYh5Ls|;J9~=zpx+u*p$2RA;&#^w)iX?kc5oM#`u}(p1 zAXx6T!A_|lB{mrkGuQA7>&s1qPl*GWmNt%5jY=p>QobQEms?!FDQ?SL;t$=b^Ra*D zvrG;Wbqc_YGqaR>{Q9}2juC+ibl!RP(#i%Fk~?M6jo7axx<5)_kL>f8nOQ#t1FPE2 zA|6!}=tcxmpPKEowMb{qKYwSZyal@;mi!X;Z`AOiqfXPMKp72C-7y|ospwB_u94_wHjT@d zN|O&imp<6WJ}k^1RxT^K@@3+&LPsmXi`cy|LUYf28<;SqnC|KdxY&E`*R!k_rjc5I z=(t$+fBkh%irpe-be^h?L+sj=qE(AdlrOcNh(qc6)&A1R?;rwBb(Os z)FaI+OY=08)k}NB|Gra_Z(LSCo(Kr4DOicvV$)W7k9?Cw1l%3I6f0{T_9lJG4>v%g z=QCqk#)fI0A^+Ke&|)`!ovb=|=|h$atNI@8d%`--8{OqiU+r8l_{Qq9NH6`;j5PrX zLb>!t+V!f5CD(i=kdaw|t15LBE?D`B^tpoof7<+`0N&>56RQFUdT|s+)ak)M7gL7o;U3@$CK&73`ur6spQ2?%*33 zh`d_wX81dUKyXa4Wz3s591P3~z%UXo8SGLbAJQ7Xo$4CMNBoB(laev}=j6mr4HL3V zXa}=ifO<;ztFi(A?+8Tsk{6pG1=fRTAzuxMz(|uezb`taqKM}&PBSQfF7N1>kD1|VBvQ*A92JKw7k4<>r)!s^k2;B}9~et5dx zfS62Qow^|Mk^qu`RGwO~O>7_mcEh3Je6^hL#&{N${58k>3})sGc~wGD%cTwD#sfWN zdw?-qc zbJ58#PR;fZ4f{xoyTTu$7U&jivx<6G)R%6^0SAglb$Y|K5C}}Z;>$iL+n*3bjmF53 zPLqoUuiAhA;t@#vN&G2+0DXVuY(%GJN`7QeWJoG9t)!8F_Qcir6AoUVOXnc@m8*YI zf3k)jm+T;|cu?eHc@P>RD3Wv|B}Gw=k2(40-v+_qV5#FPw0k*a*23CopMd*4(!EFF z#iJB6=KDil)sT`WH{`EcVlYcJZ>o(6 zk$`k%Wa#Ndr3uaFoA>2Unu)Vj2EISB1*LLrq3T*0z#@FO z2oY6UPK15VpFF7A?thlwil}XIcZ%@%^_on0piT`B!V`#$jxYPS<0%FtxhcYbvF1OQ ziJu6T&I?-DAi>3xi|4UVu$8|@N1zReI+_lvFaiW7ef$6CMKGrO8z+l*JZ9YN8aeF-L&P{>4yb3!1gCrrIPM7>FSWTH#k zXp%JstXnT9-#TSF4*5WJD~7#)PrI{W1gpqP{r$Q|f@B)nJVve44K z%M)i*89oQTIHUVo#;y?5I;N4d-x zbNlz+?s|PcI~qW5ZUgtXa0h`maE=Xk6|NTgKb_9;|9E7n@9|xCP!Z{U+0EQiVvk2e z5i!Amc#-!6MI$=tJCihi8uvZ=y;_LUl03);I17a93}gKJjDH<2^ZZE|dta~veigeO zDMN@auoqo4bTlcNn2k0{p=Yt7lE~zpbDi_YA9J0&b<-T>VYhcNh`-*K#In0#8#x|$^Ln~^Kp+*zNp*PY+x5P4uGf=yt#cuZRJaaLGvj%@XD4~_>-FCav*d}90hCJM zjaE(4m%a3X)(3YuZ{zcdBuia0)|(TEH7 z7c9Va24P4-Isq6;jM}zQ+V}4|r+QX5x5mD=NV*~Mx+fW`p`q5X9K}tLOSFv0HklP8 zg_%(9iU=9yIhK`du!P9T%~}Y1J!QOm7cTS*)i^v8PG4pg{;yVbV$$x{Cy98co_$I; zIfRK*xv|wwr1~GLWiNl>JnXyut*MDLcSNE4ieH8wzx^=gMD6r^IoDCRNr@HIlsalc z18|Q9ah0NMXgk&gQGh{T=YlkeWEc+&B@fJaI0o4bwnYxq!DAn28YPq`+8I6JT4DM1 zI0?EoKACz1ZL7&at8`N9XNrpq%_s&fMT{*DKysjf%r(I58bU||fRkDq2d`IQ9ct+N ze`+er{$_f1$VU(4TOfObH^c(MT?krb9(TBKZGQXsMSTKtzN>knTvvqMc}6^CjJp_> z&@6O)+&;{(MX;M=$x9O7K5GL~ixw#E0c@!eIMfFe1^9G$045y8ysBY<1aZM`iEuoE zj{MII8X$`<7Q;?0)}%AeC8;As)Ws||_m&^WVgi|2#cJ=nH2>Wab`I+abBo2|AZaP~ zh>$*a+2m9G>JfCcD7~R(Iw1;i=r0Ok8NidYN{;RfpH^wwQ*tj=hN;;`K3~M47a@KK zyk6JI79;Ff{>G^AXC*I$iLMM5>tI#Qo%I!)F+FJCrz&UoJ>ER(?r_wXz*aMh7|Wh|8>?6${!;R`D%z}xIkTGDOqTNO|I7U zvC=cPh~<98Jwj5XaXZd($b-W0zK~6l&9R;v8BGDZ^ zubIa%`}mx#hy|c-zDDK2`Q({-R~F&%a7mo5gbBWAQ9{NCWH0Xm-mlL~+54h`@_LrlTmdPQxGoyw@<^ z&rBQ58c?yX&%7mGxonG8ZRD7|{>u}{aT25+53(_X2M$)yX^^uv_Z;$1*73%G=f+5& zIwpBo!cQ=7XDoD{#Re^`p?th?Fz^Aifot-2^kr1XMgxME-Uf!>gS8pVtyR)Rwt{QP zku}?F1?~ivulpiPZ$!{^jv|X1pLz&@)I9CQ9PO@p2u(RpZ}8V`K+Q$XJ8%rPX}5ls@~+8?WPduQqW=YN+@VVc8cl-J)&GOvh~eH1cS z(HDy%T31;j&T9xV(BOoPLgry&{4$@aCquD+fWkJ|kHLaj%)@4O4qhcn6z7?peYcH~ zFg}K6)p7wl4BRd+P%dF5%JFRLJ`e6x;xd^|xK=@~X&l_=>b_JA#??!zV@A!|fTIYYOl4>Ps z9k7sf#j5#UY6Bv^=>FH+u1w!7zx{4aC2$(OYdjP8H{x8`j}HA7cokKbJmxBbMvzK) z3o=k@sK6*aV-7oMyIRWTG+ImLu-aWzrW?n03J^^9{kn8OC?>oc5+(1k% z+s)aVaLhJ69uU_MuVMNg!nxB@{etKdX^hw7aVN!#)TX3LT5@oWDc@F%P*wyOM_D^g zMjG*h0AL&4!qwjKtJ+SYvkxxcPM2`9On(;*Kh4iKzI~J}{%7c)K7L}qz)io00yT_E zePE7?^fPMe8CxGrt!tDpf>OU8j?b8@7aVK>o%*xXGKPWCEvutB=xkbz-{aEWC?Hzz z3jI^U#_T&^ez3W>^T~?B%t!SkB8KeF%s(4EKd;4<*o+aZtbWxSU(b;0CDGTb+$TDQ z=r@RP_n6hU3(bU<-y;t1l~@r!ZPb(ZMAt zs8KsztY3V#h9Yk2l{CgZn@6(*jHM#+;eh(4Td8e^nVl9@n9hFR=iCk_QFwP3in$GX zeYvCp_QBz`88pZjvPx>HY$*Z<`*!9~7vdU@1G`t*XUwjbi|x{U;joKsf?f0F^%2k; zv-%7?po+hI#-<%hLGd=~Pees4=TWEEs*SiF92+Z+Tsq(#-^>1CREqH}62xr+D{Ja^ zY#*!3D4=ioF=NmTPG1vAGbV#tN*e?yFD%n{A7;>5zeT>`F?z{axoDh1>n%ot7}X18 zfBxTHum^@(zXLHo9_GyjVv7ZUsij1v3RsihX8(ChMH(ujiw*ff&nD=`h(IEKj_jnu z0h}sS0ayU4O4~mmX9Wg&b_G;*UWIpIRSOQx=Kv5agZfQ8OsA?-2elMCBYK>~_@yye2eLC2?~fKD7~C=c+-%wUGyKxHEe6=xomUZ14S5OM$}lX1zQ!Mbpo&cKIt!b1Az&_ z*q8l0xEEAtQ{DBJ8|*2!e$LDbRZklq$SPQ$#zgvv38i3i_8uk^2J1hu=6Hakq~L`g z_0>3sNBd{qZxrCVt0VWr4V1UPTwq)*%3JX3H_^{f)JZy*MoQ`=7yb0Ql>9t(w?>xIx_^OB`MG848*fBG`p8hgTCBO2vLQ z{vwvyo_7)+v@weS{#zz`xOe_57rR6e>fM!jh#c9#%5POM#%Cy0@FHLrX&4OAWwHNI zQfWlw@WJWv53S6R{h62Tg}Wh?b@uC4wGa-vu#$irckCC#KmX0F2uFCAm9?4#^WS`_ zS*5HV=b1*g%A@c8hxH|lP%f3RiX!syttNI3R2&D$I+;IL3h`4J^8f!Tl<++d(Y1^J zXKym5@$jXv4*CiS6PtFyLE$9eMc+;sX|)M;YA+(d*h8M+e>N)Y!j&w%e&q8nxdKD^ zRtGqa=e<98Gp|8Axu_7RzzbyjQE7o4FD2Cck8lncE@pr%U+&5ejQFF)=t3=C^7dO%oEEN_90q0gPw zTYgDMB~Y&5!Q<3@k5H!SxJWVZ;Gv6B-5Myvje}xETfhwiBxQ)%RY8MBDdvBMvU39r z2v9v!2!TX;=#Bs8hPr^l_yIg=R>dJ^5(<>kqs|1X2IYvI8g Y5{&U~>#yz;a{zkCNhwQKiW>+1KP29owkN^OTND#aL0MLXW^u%n8d{C^MWDE=l6c7*`92_Vl z94ss>JUB2oI5&fI6kH?-R5%z^I3#Qs5NIqATtp;rBp7HsBz!CkWK1k@NCL^QNaAeeAi zpm;#MU>ux;NW@fB$ZR02d|0rENXUFt;BX+goK*ZQ0KklJ%$QK*gfQT6aL|}|_=r60 zpg7pLWZiroE&h3I7py0SddIayeNd2NMN{382kWq++2*%e4zY@3=Ak37)SsBSU40! z5F}_QJY*;+cuWw0I81~vFqBAOj5u7NP*AK)Y^+pxyd+@QWO&eIkl=uz+@v7kc4!sh;WdQkerl+fRwnPprEj*v!oQA$Lq~FuRr6S{vh`UuB8AY&FlY2bqm7k}fjS zBWMn~gL;)djJ2)0vPRSsth5|v_5uhXP%&dV{cM*0)=bdMd2fw_{Vp70hA zk>Q_yvWQv*jMo6`XOaZ&8W#BJ8Nlx$?_Kp^`X}+}0lPZJWHq0m#8YUqy3C2pwq7WQ zEu{0wr+j39%^IF*W_o&If;G6y6pBwaO_2F7-9!Y)$7F)uAOF==f*|?n=`XuDJv{eY z^YwW64Q)Lvpb`31M?Q#~h!R3c1eaK#4stnxkvM!ll>zF%|1L1M@jor0>79`1f*8Pe zdZ8CT_<^xje!U{Ewx*N+0?Ajf)%i1FgDZF-{mG5MXWB(%VlPU+t$%ZtU+96lp2OQ4 z8q*lakVaV}-~AnqQvc7rkJ2G37G;JXG=|tAfiqLk4>lY8q%j%&iYE>cjARK;0sk#p zU5U>U{}@wd^ztOL`QV+JqMi(iPmbJ^=XnWUnf$JX-=%+Pvc$Y3Ntvc!E_0DVStb+c zMqS>ipIic<`lS<^;o(UJdYj+5fAigG`fo-lSIvq(T5m{;XkxWQgXiz%hENp`%t~w+q?zI6+AHoe+b-Fsfcl^$%QHsHnb>Ptl zw$Mb2#0-F}1?hmYb^v;jsk(O6ar&EN;f3?SGZaML9=s*%Sqwjl41j~TBrJ6NaROe& zkIn#fa+0@?e0HNg`0A2rBpVN3ZPlQ90{G^bNI-OH5K&%U7K|aQoY19ORklFai1n?(ZWr}j6Lov_^P4%VR z)R`3{(9i_<4h5M4c?wNra`GywAC&>>5VERHlIK9Gd(-$L1E4&$L@C&T+uOZK(A8@I zHPL!C@lP@USs`UpipoW6(PTT|8Dd5bft`ftL-g+k*dpf)otNzK4CGB=FU*WEWff(+z=bykLqM0L7vq`x0s2r9(<$DeuM^@U5Pz8Af1D&x3^e z%VzW4=4Be=34s5v5udzUEEn>5q)>PK>+8PofLZ z$k|Cz_by9VEEZ-nnPQA98L`ZAk?Kv;=@cQ_7Z!v6ZCL~1$F^-lFW;16%%S~glEXD5 zDZc~SZ@&j9ijn?3(|;XHu}b!j-hns;UuQs*6Tb*Epiy`ju0Fy5^$FtKa=U=`@n4|n zjeLB`$mJzC_w?kPb2EmP&)_D);@68}IpKg>4Bs?m3!b*dIg%^RSu2CDS4Sfa^agH) zAMKG>wib6YHALWIS@6GM3Y}rI@&0+Y>tL%&m#0|o1+ywW;}*?JVnh_@+wHb&dgQM> zhY+Eh(4Pd?SM*=Mhu{AmhaIeKagv@_v04poKXi&SAdmI(0PzAj4a;R2Z`uVFP(Lgh zTa%r(5HT8QAB~)l1?Em%n9PX2kPYx_TwTYThbIr7yq%^-ANXinrSf-;hVb)R_TiL~ z5kdxHGNQ$X1{>cU?9brIWy*qHqxIH;r~aWCTSw6-)kk?M9zFlnSTyRZz4tKiWu7N$ zTeNhr)v#Y3Sws9@I!BJ@noUAhP4282m_$Ld>tcu}4fUkVip8!)4tSaxD{vyFKens-nLxj9c+3+qK)FL9N&&6krKTfXMRWSS#&O*o=7auo1{`*;8+!qOYo7b%&-oBCz(F8f6(xQ^j|$W|J!qB7?*&ww*^cu ztIpT}$js|CxChV~*VnYr{xEgm)@(iXGyIZE9I!&K*S0%Si1y$UnVsePoMD0CY0WW# zEt=57c6#c519EC)Ud<|W<_ojGohu?O5Y`6SaR?4&I5GG@DgQyTR z)|peChPa8lHEV5O&o+aI9I}|%h6vl{mffnu?z8VD!AmKP608qM$A14IBC ztFW`%c56A59zS9--(_dw2D+ye^i9*YJ8*wJ4n~@<%Z9sItWt4>MBZ-uSOYNcl|9|k zu~dCYZ&8@zY3>dJl5~2$F2AN9WIeewhL6tt_?&)@gp6e+aQV7_v;kmdIPT&ZeR99q z?RJ(VzSYeWh&j&LRjX;Fkz7#p0Gn{*eoG>w z_b4fnAUU4Z#K~P!h|ni@`0NySA&?o-QVbM!1UvL(qbbfXz&)iA$KU8kygz|Q(ch=R zP7<&;KFET^Sr50y8q`%U2Bz_9@2-JE1gM&~-q^gr0Y{SFIf=t?q@nHh7(lWII2d4u zaHkuk6IUn4PbSw&LVx1b{=#wiaWaA)mHe;Kl;mJH!i|V)8wn+XFb2XF+Z zu;dMlX+tNcsv)Y`0nJk&`g4{Lq<@BfkH;w3$k$PpE~Gf)L@%2(W1`yM(PTXIv2Zj< zeq;Nj(=3&rm;oM9As0m~kL2x!`r3d8+k|G@FMe17E6EZkKDLHII+MqH}P0)vgCLNjui+l05(3tv^$we@}B@#dB zel!NCb@kN^I$?gGJAGC|&#mCt$&=d@zQVn<;DfN2q_W`&G+9AGn(e;!^i>$V!6BwO zooZ4irjdPL5aKwAU-C~mb8D;AiDyWkjp3_E@QDLMmkxf6r})SpR3-53UsuvKMMJ5u z19Wi71b9?kKn>%)>`aF>@tNx|!^s)xpJfK7yBzTl@dbt3g(yjyQi4#TXC~3VfOC41 zWP156Gi>OR*$iOq_8_EOg=mna1h8q;#E-^fOC}NhQq{gg5f8O23^7=1kIlft z4?SlPb#fm7Lk^nT_44vEX8hB$Sd`()IxmX?6+g)UJpX7#blnVEBoCwid>vm0^$3xR zbLl!&G(4wnviEf4QgO^jjkJYEpXfhUo5{&mLuOA8oGbK7mLL44-63Wf!Gcx%}=%R=r`>uzByZU-Ry=(uWR3xT3 zRirEndet^)8}uIV9q^lUja3faUM=Y>G625z>YBROmji9QI>!RF*i%e?quTj+T0uRb ze-;9vS=c{5q7DBb>jMYW?3|%-R&pBdc9K>A`ynk&@e2GU;Q=N?y68HV@KB_9C>`v? z*q2}WDrG%Q9MHf~IaYJZnHMTi;i<4zO4)E-11)9!rAywuABgJmv!+1>fE?EPT-Eay z;Nxrn)O?#OKF%x54|4CprI*j;gMe(a&E!cWXpP8%& zf#(=je6KH4;j5Nqfp1rGHYB8JVNA-*1iK$7V%%&cF`SCXnEsq2?BHUKSNb3U5Uwre zGJwh0Rw~QPphZK(;8MoZzeAalOG}5VcXKZMy#ST`>k@Y_Ef$MKUXpQb$}gA8>E~Zi zxu){rt(?wd%G2M?OU}8FpKD4XrSeT?3M5iq60JbhiM*^!7Qzu7yOF)+tEMwEXp)~U zq{w+GIcE_d3y>v2120m#7?T{}p@G5-L))MU$*i+lUD~KeRR_~%%;o@g*Uge@W=X7N zQJnbn)3b4A+cwlzR%fo;o`v>hnHR+}XJYtFd_F^FNMU(+dD20H`!`;pRVRgvQ%n|d zOG@2HHuQ-`oVnh%r~z6YY^~Rz-L^v&)3OR$ou5JHpu;;j!zF7&bUjh-SyKY^e9w2bO7o6yY-yJ1;c8_`s5BAxJBEpLtY#BRHA$yI&sCx zLv4YC1lVoIGr+kJZAb&kC=V@lxbTAV&|6^UqEG?Zf%y)Xhr%8g)HehkU`)H?Iu$zn zGcNca!vHGdhMD;UBKx+@c8g1DsO-VcNfxr(ZPTFSgw;jO#xvkaKo>eeVcc0mMIJ(a zHk+HKZE%C4!pRk#*lmk5@D#%g`X{8E^Ab1=9$Iwc%6vM;A{<&pZ2r2L-n&Hos zO+06Y%3B$E&sOD@>rm9Y$MM+$AahR!caBnsb~|-oJoT#|MFp(!xhkE6!qk@Qm`EA2 zw3{P9m^K&bFY=QU@Vlm?v&e4QFbq_nhXT04!{Uevlc(9?!zEaAWT!U*ksbq;eGaHR z8l+A;bj^TbxY?pk{`|R(BOSZ%@!@Jgm@z|5J}2D`^tQ~HJ!x26MaP_k$7e_Mr_t7H zDo&s*3CbjMUVY3+S$qTopyBGP7Uq4NIk@+ahcj^JBqC=4Ss~fXJ9yVeVugzGwx97~ zrlUQ>KTng&>9K%xHP4^b7ayQ&TO>K)45$Kz&o~bkYi|F%rRtH<)R)7{QEWa+yW=X=^+b*Q>>`0tlx}qC&V_|zPaCxh0&JW0B&Yd=UYZE>IF+8__l;(5?(V7zlGw`nGE*O+rX=fa3mBv4XjrW z6Eb5V4v|5~vk8+*sa18)4D~Svi@0=kq#)IY5oc3}7+}3waRNkw%WzscAQsB8;H=q;2pRA#*sx-a@}Q^DEW7@sDpEE2@z5U){sR%mH31`Ou>exIP^l=myx` zf6Z|5^?5V&l}1m_obYRLz3XG-+MK!IyFR)1Uw^-V9|wp2;rw-h&mK0%FQ;L|zaF7h zz3s!>^Y*+wZz|xItO(w0fIF?K>XppHi5dP1eX6cbr+#CAaqp@lHg)xI(j?$sX_C+Z z115F+)vGf=4e%qlQq_Gf^PD5IR}=6cBGnTgU7n|h^1$H?YZ#J)g}g@Bu#@?|52^J! zBhVft>grIPmq=q8MkaRh_1+FvH;x~Qa})*4K~(gA5u|Yb9x)K2hJx4d95tZ1V~XVR zyd-mmz40F*O2Y-u3+zWWC)LEaPca42BS(2ynNp zBEHf9CcjUM_YWo2Cwy6S+Z4$~>iec=uveUVaD=Ms7p5&;{Pl)U^ayo;0RqU~w0GLD zi=M0xRRKpqgy!SDMH48nr_&Ox9CNxZI1{6c-tIZ!s@22O3txe zsJ8~GIeCIZ+}zdmB#M4pVHu%sV8nH(4{Gcf?svFmWwoz7piQ&T7EO>TVfPNqwYb~E zRWtA!Xoe-{WQTNs_<)33lBc=rh>JuNKd{uK|6Wv>8!uDiYt?ITn3AL9Pa(AMVO(6Q zq=+CV_ey(o@8+^VK;0ctF$plQ$)u}S6&L%v!zpH72EX`x>ZRc24Y&l8wIfnpl12DA zd8Zj7SD-QyPJfStaWsSBqtA)PQu3jtLK8b62?gadrqEV4;90B;jKIXe!82k57xhF4 zMNe07Kyrlqfjpi-MprfBCNr4Dz7ANqnOo<7c_Hh8UsK8xB?-n1pkN;=zyTttlxp4# z#&IE$X1%oy3L2av;R-Iv4f56%5S)(G*Uw|KS_--KV5Z!@u>zzj0YLB3dNnr2KGspilhALQJkm5wtg zXSj)o?gk+lWyTUbJTnS?(Oid;lpGPAQsP>YP#)5riXNy`!uD>B^Znf)zzkXULYVo3 z)$S*(0Q-;ucV_BurIltzvXV-h@{Y0JyRL=Sx>dqL&6%EonY9^<0yBF{>9)hI_nzQl-@pyEb<$Fk!tI3omSIGFDOkqrh5ECU zWiWuVU(Dokudr2s>cm=EvyM^qV?SW^Ea<3QUpSb_uKUK$K4B5B9pT+0ByY}16A z8E&Iy(pKoZ&icXpJNO?qg=ca|3NAy=>70p?5Vb6fcjM5%PG_>*hWo!>A78)*SNw8u##mDzS zLs(eNYuuF_od3LN-BR`DK(%-dPfG6rDsafZgg*dr0BgXlm|2|TAGc;YzJG+lC2h2L z?|A=+0Xpix*Kw|H_3byj{Ffj<%YjMMh@kB+m{GMyTH-odA~#PUCG%1-L8oUE4rpND zCAVh-fz^0A&tilmvK0DvssNxJ(c^^060iA5K$0KB)*>0B_5ue)cu{0rq#B0Va>@Um z?_xaQOd1-E>SbPLz z25nq9pL113M|fCvWPtH=fdgPDnEx5{M7#5yV6w3bV9JE06Hoo!@@DJt-T8N)BW6H zyf8k83@IS(#>TFY&w&G$LZ|QEd3nL`6Lyvzki@h8A0V+NLb>xIAOxO5wR`|mBAO8Y zFI)KNqh2Bcj~4H!>y#9X#V^N4`XU;;g9wm=J<(7qC{0#qD@a*$uTFc4$-M4lxPPKc z(fVn=pLB5d4Wma>jd0acnuu#HIM(uX^ol~U3i2XV9macw5=J6`8uJNV%ent+(t)q; zEM;rk2F-wPPFeuTvp@el#V|sO#0c3SkdRBReDVyOsy))cZ)TVQab?g8RckL$axUn2 zYQs}4LV@*q5^8j-6}r@xiZvnMcHMh?*zA(Bd+v@~AM72W8kj=(nhrlN%-UwVu&d#ND830T?z z)%F+V@t}7NafC`sO@Z6BeNPpcPlK=BA5~>F|31v_2 zGsd8FP#k2L>?|CB(J5T0#K+hx*P%I-y}yRq>l)rrZA8N$FWe3c8Q?f|>Zt|j6|p@C zhN^UWNiq#Ps1``YY-oG?o7oH?-c$JnEINX@Kq?LmpBy+*NE0{2(~>ALa|G!4D8|+c zn`h`erfg&kO~aUoD94f`Hr?2$GwS4%>XAbhum{l&55o-P7crbCs9}1%ST4*E_t`-m zO@S$D7h?A#YEnRGSQ;5y#64Y)`#!OtA->`82ao~O@cBGZpTcY`pB<C}BzoQadcH$6dmL=}&vuzGPIQhh=m#@a2ZLvz`& zT>BopcX`Tf^lwSGp@Oja>2Jg;+Nw~mjvO7f7TKKlq1Q7#BmK>z7XsAEiM2qp?cE6m z$f1aWvf$3RzT!1F5Tt1@!}10-z&Qp;GGs;;Vif%A`p_-uC^XuLm9CKkVgU}`&SU`f zZ3xAz%o(D%L#r9w`AeR9a$~G|^yAkf2keuF)`}dWdK!W2UwXqxIpFCS1C+*xrs7gyIEO2kfCdJZqIX3E>}#3Y(=h~H?9ff;fN5)Q z&O>tI6eiioIsAGv7$6-y1H^!eQwnapg5h3)F>Atn22dJi0&XZK%B)K1dUUH{T;h?Y zrQ+O^Zqr+h#`fUOpncR;1See!%CelGobPs;10ho@qI;=fSc&M2p0hii*5u8MB-nPW z2wnG&dsx0B*f$3yIK~k4UEJOgqF}@NSyPeJI1Tjg?Oy@>?P(PdcqRB^68%|CKD`O* z*NcB~eL6UzBTq0uaO%*I)F3S}z|-vXm0;?4HWYVoB7g##H;DjJp@X_k?(E4Nh26*i z97gKe<{;eZ`$v}OdN1S92^@Cc98Jt9;RcnTI$wnN*8XGfPAHl3kErS3)4K@=C}|Gh z8ph$LG=+Y3h5^d4i=+lw_tFL&XYlMbK-VAf#EvpR9mT~m7J)f*f40|jU8y4m z;AOVmUNk!31Is=P6m&rmaOi7C$I|VerX+H7f&@5nK#7V3nJK#*vp_s%5@Y=8i{Y6r zSc9El~^qHT^cKz-8G4IN7%bgk|88*V^ktBM^Lux#sN zdTo+zCKjakG*glQlcqis5g-=`E{pap3(8=>(mtfVFi<}Y-;yb{=-`+H&`?t>a9il& zl!bi@+uv!>(dzkId?N&ZMPL5yX*ZCr5QbFN3qGP9=SR3C%Gd#QFbB3vNJ-9X)2j^d zlEmo?lsaP%FfLAKg4a>gU3LXckN^j5og|`@`nEWB3b-F-B8Dz=&Uqw%-bLJQ4w1A+ zFr%YD9VaQ64E*5<$7eN$er%NU$OIbNLSUTn4U2r+*aHm}&%nygC=aCm!WxdIg7_H5 z5Qj343+Sjlk-w|_@U`q09CjPbJ8@hF5nIFn`2Kl6Tm}k{7(m)sFut^2VQUcN@Y9E0 zL6pMhg8|WvS~W(2c+-2&wL%)5#uMDfG$;v5&nz!Pu6Q^YEaWlipWz5-_!PV;r=}a! z?voqnL{Vy`V4SuS4z%@}V?n`Ma7Wux1YQp;5UKWk5+TPnELSC{8yMgW-u1YM9QAsN z^!VfAotpS9>IU@mIvpHX_p|m-VX=c@Y%{Z(g>@JhAg60R3FnuM2HPhZhtKey-(HW7 z=y-pNT&rN%dkhexYUTcR-=q2a7jkq}Uy6kQ-i8<3n{v36NtZ|AwkPIj;KnhV2pTUr zm+Gp}i=*Fv zsAmAx2b4(rC5QWRxi{2L&^J&lr20)Ax6AF6W!&C+w#+Kmx--e{MHKUcznLQzG=p@{^2aI2>74MWF zZ@X?wzQ89?*ju{qqdx7O%H4qhM0*9@UC->&n}kdqzNjC_4>FV1rQjhpg&v%HusUdK z!Z+|8{+5y$_M5KJO`ukW^sXvEgr_oD>RZ&~TzWi+?fpVArWS`#S{sZLh< zR-?q)8AxJ4yffnaCG*R460e};{#h>3=t_^?oendZnGODD#`2*R2H=Ertx1s&2_F0K zIc&hRTM1_y=npb7i$yA06Shhu!cKla<$8gjuVs&!K3mSHmQu+R_ei5BfUlK$n?&OK zl3T$Nt{cRj)aajPcn+UCZ96xwawjmrFot1*h}K*L%`P&f&rJni0y8JV3ZbOc^b{Yq z1N#LNpMzh5DP!Y+^lYfuTKnPI(IG+uEJ??@7uuh~?FKQ;>C$K$66wU^p+t(2X8Tul z8p-wgJQs~dzc`eVxjmF3IR@*EF^?VgIw^|hPUeM5PGv9I#~t|WLy{na z=efM`sUng>tN>1`723Uo1|I;_{&k7ReYM}j|RIDm^BrWY}-x7ETG4u6DYXlrb9)Ooq22_W1jijmCb>NeQv{Cztg zg!mvSw8G!@=YgPRTjYZW%1)RR+iE|CF?`kRCMSj|@Yelw5UkH9x+*UGVTPhvzwUf`hDFWg=;UbGorLwI z<=%c0;RaSP2^nhIn*=b4;NM#{##q*It}}IC%PF~^k7w^zmmvx2X^Ky9&r`2~A-cWM z8j^ym2iU}%TUhBeG>aMu`1rVU*@HC15OlL`0fFc5oxE93Hy9&~N^6cX? zw0FoDxk%Gg#WS~+M+GAlijX0e2=p8)H!fM>;3!%33O5t zHt^kWnYNUTuXTgO09zGz3;HxQdf7$hS$!eL$4Bc>#C(x*bIlY&ZD=NijI3LY^k2kN zg)HZ0de1OPqlki_quT^yrWo??ONgSc-Su)hQaReEvV&0q`qw_x}_8XY|-wG2?^*sPbhe33!wR<4(h|2bgtb0vu3vi`>p+rffZco%-NfaSA=L9-RVzdT#(C zIY`2U&=YlaH^kAA;?QZDL?T6&9oy!rtgeZxp z{|KoN06lJmyo&RrS7Wc%yKuUaQ^(XtdAZEGksvWwow3iHgI+t8%n%x$nIuJ37Z#DY zBR#-Z?7#z+4+EWfO#@v}|5ba9maAcs^*_m@QT&!~z7_fToiu&@{zUA5o{1iP;f{IY z_1#Bx!f|7w#Jwgajv7L z>5vgfhy=iS=jrRuJ?Y$BE;<^p3_xAEEZeM->afPcJb>GAQ z5T|-FN`=NVQ}}E_tmaOtYEkW#tlxy^5bxxfzgYu z?jpz|DRXhw$IOvjkfNL57E)2S8f#*<#hr_8M)cbQ1PwX*W^B2hvAaWde09f>sp^wa zqfJ;tb^oFKmxkt_T(YEIgt+2TQ`AFi&=^ppn9dVl&I$Z z27ZB0a?z3+%T5A_Qj&Q$_Z|=Q{56Zxoh`+cd&QGgd*%JhY{Zewu%$N=z%!aA7F@X1 zZ2+rRaKP%Si>y^)KRbUnR6S_;XsPa1 zW*EB=CGM~tN%f#Lgk~g(d&CUM%(*Etw>oy6`atsdrEw3Whc(6v)QMZr2&r7u)unpS z1eyd0V^O8Me;pAHkA&YfQtrZ@-MoldZR31*oF|R~O{wz`&em*4iu}IBGzBmRmAIEsW>`6MlHQ zV+K8hLUo2upsy?lZj|<;y6Mg=xwJMXGZTEu&Q19GS)|Y%vN~)Y0Xr$6lTQE{X>`Y( zQ-pt)XW;IG~R3Vkl9rY^*714V0bLyO@UV1`arv6DaVU0T9VHy-Q-@ zX;jFu1iDsRk0=OQz7gsQ89e~FT8wFA<8EtLa#+e${8ZGE75hJCBn+M+7c_Qzb!|m0 zy#u6}?u&rY>+#wMEkv3HNjn;Q1A(Y?+o%Sk0^J4tV2fNTk9x;hlc6J-6RYsf&Y@#L zB7kQ-=4jwFZ9$(Hv0k)T)Lkip#-a-2Cs1@1fC$oofjE5~$CVrq=$}#X5fg=g{fbta zNPrY4Z+&09-r8&BjBlStm8(*)ord-<`uZQ?YejbOjrXoiJAILs6R1?mv|Z8;{Xhza zdq=r`Y#ZqDx$k6vs3I9)f>7e&KLLF0SndJxvS9JdUEl;*ipQU9T=e+dV=aTaDlgmv z43~uIn8N-H#18mJx^XcBT*m>S177J7+7$)LcX$G5KLUKM`Sip9Yv-;NVpLaezJQ_R z3iranjw_tElMa|<;DoLVS1~|(g#H`F{lGt&9>^3;&Q?C1WtkMymg#aS03P^#h56Vd zm%=*Z)^X2|jPMhYKDcq8hytIOGV%}2W|z6=)aU0-0<(q>jLh^e%Rd1Sre~UdntX=7 z_wIvz{{e)lO>$VMa6!Us$o4AT=1=OgxGp<>#uM#ob#qEnc zPrJNS0cpwpH=`=1_N9%QPxE)^s00WdaVEwXb%F?|u^;h5iUI5}#cYCEEbbx0LbDN2 z2@s*__-}srZ6Up)#-1P5T;a^X-l+h3M&KPmrYH!bPQHcyDl5uEhfA$?I7tKd@7j6^ z36exDsQ*`50n)~cYVmXJP9`wE)Z~(VK-_Mz(i2B(2yF|hnfzh_xOvF-l;6}95O@2mYd5QSbGRf0v1{-{rOF(`{7t6$Rv9Y?NA7O zPZEI>U8arN7X?%J{oZO@+uDXI-v>tQVe%~@OJ+o-kJDca!2usU_JiGy@_^Tp0z=Wk zH4}L6f5Elu++?KPZo6&UAO!@eXDwZ-sN}p9>F}IfDFgNyKvMGAE-TBzpz-t!qJ`9Z|*C)zqO%-g2Lb>iP!0aGF^+7k3L z5J1)Q%;oWmB*v>}zgC(9hsU>Wx`x`7Hl4@W(@$-#yB_7f9-Z_wQ~8hQ9LHv;1>1X} z0EC-muAD&B*n->BE%@Z)gMSHt)q1stK@g$n)c5K{UCRN<0aFtim_XHQGu$X_;^L(v z?+?TT4K;}v1n8x|jDF%4srh{B|(KNA0whT;Ope&I>7- z(xfTJGu}~5v)wk$cH8*a3_l$s$+oRE?~Sn^Sj)gHGmQ+`EL#+YSYQNiq(`T~!`b_G zaY5VUB*LEOi|0+ECq-X-AncLupK-6ONA4h3UBHfT{Lg7RS4M`N;*-|lRty9|Cvt_n zm8U_;k+`*P8HWm`s5hA}0@8g2fQP1F>gPc&;^5q{4xbf0ZW!E3106t6FU7|X48c%( z+p#_?)~Fa0Peq>V{3zABU|!(*tnU}tY`dWozBhcHVfOyvxhsk?_4*z82wAKdJaaio zaAg)4v~>J^!B%N9+mQ(u46OUfs_3}Sk^(`jR{raTIAiYp+kt>)<=9zkO2WR@)`26d z$C2&Kn=!Z90HLH>*v%vB^rCTAjtDQ^3c2NCFFhr@W@z7koqlbLF+y-&su?5arjr-o zu8PEC^e4Vr=oRXl<2GL-XYvu<%u;c^hUbupN5PEm+WQp%_^y;*vVI_ao?PPKh&Bm& zfMpa{bPfQd!Gft6aPk!ee=xTv>5L4 z^TgfZ1(ZdOPG?DSO>mpESILw%er2H6uK6Qw!AIJ1!KpkWIF0$@i!YWY6V-?K9&^x$N z0I+x&0IBk73)HltV6%cT9aLMGjtFJsZ1hn0y5=$a=6%C3+s>W4 z*hrGEki$y0niU+ZoPOx}`PqAkVx_5^{Ufh4nI)rFE)kSDHD#p{4yv}?B;*}1@x8lS zupgortZJvv(V=}QrjlX>o1!e2CNmmCqv2^kjkXr}WKA<%$Gp^?w`Z&@@sd+?x8;>_ zi=Ll16eP%n2YP0?HDped&`m}l{ZhXjb}(s6kg0bcOGch_!=z&XH^aNg&e{b5fG52n zGh>nGAy8uSXjmRPVQ6A>6A9V3hyr(X>gI@0B4WYFfVz2vO)Ow@M0FgUiH{Oo0}*&S z|3=^(=RS@U%fKS09bKbRFqY*_m&u~t5kuvGwg))G`W`cmXv0brA6Au%eBNu1*aisKchS-Dmu#+1k$?MU>5G021)EnCY3? zx58o7tqd^PJjT#3DTIv=+BC=mY;~a7K{8=c6a^ntW5O_(VHQ^`0_Z+*6amBma;ZR9 zL-aq=61ac49AEvv2Ya8R;<5tAEb?j4h9dF=7GBcmOCB2s{q#wEg<)JkGV^>|*+DM> z42@VaXCu`KN~ttng87y*)8_9NrqCNu{6+5L+No&vZKz5HY|TmLWD(1_n?u2>y?2BP zE73=y?viPP=FIa(3|m9SP4*R9i_>4{vwdCz@C>%wcJ!jUGjz5Kl$K>)=17~gEYO2P z-V*H+HQE{2Ur=zw3$w^wSvddRrXj$2@+hf=eVXI{@LTWRNzf~$Smzbu^9f1NlEWnQ z|72~;kmN=2oa6foMm6El7r|Cm3eBaDLvP#KzV}w(FbLLh#^)c!WRsVCVXnDNVyLgK zk&;Iwz;+M`py;fkYH}avO}KA>wsQ}Iq@xsd7k1FC{;Fx)@!*dK)D-CI<6lOB)v515 z9=+udz<1~D-L9qZ$^He90^b(Oe4UCIRd~&H>XY7Px7}`Kn`l;I5`6}=F2%a^r!r)Xt#|858tn^eosCC{=P*S zFpNKB0bLN*BKu{cotIwirvXk}dm+wJohSp?0qpX#ujbSC25I(S%h*o6ET8#^51zm5 z#MJYa4okUQ1jDuw_HwgtRG*v#_?m{48u2sTGU9n@;lrRpY`f)cY9!V*^X;eVY&DIH zgiH`eJ)ZritXt`;-<1<6Jp_IKsPrG+g*&0P(-viWyfgTA-U5Waz6jF-J?%Fk)*U!artyz*u=N{?1nHSa^VKI(I2+BW$FS{$UTYW}Y7V@MBke+()5$kfV z0#;jS2DVMembeXyP!JWLr(lEzNB-PIX|n)#X9X(K->TD?wIh%^%_jNd2`y< zFt62y33p`a^uF%XyNEs=^`YosY=`A$Ue;+36z&e$fDa36yS0#a!b(i9^T#%(a1B^+ zvWca09$z&Q|MBFW0d4~dt|zzX90U<8+BLx(Gk`XJ`$(wnHUuyV#=f-X5)r9 z__}$KO0OF36f}7G1=oQEM`>hnT$#6Q35<5jDbM!y`iAx$?e5W$#L>T zozzbVXlq6TVvu&>cs_@j30p7zCN2E}f~EQK{im;6QPl%ClS+MqL2d72uPA=`79^iW z`Ve~MkAq5tn1}VrNYpBB=x<4>9PiJxF>ZEvDaBy7yKAM(NiIl2IbgDx$o|`gKFR>T z6hYfxqFY9abnG4xNoq;ui%i_vVBP`?jm|9o-7O_2JZ02yBh9v&CHQtszD4^rXs%J> zv2>(lC&rXfFEZrt9mzTx-ong;##5(L5;K$q)KFt$C8lVdy_5dOW0QpK@7zfk)SDSV zRwFDxR+2UprKZiPHa~5o*ESg4yWY1isIE9Up)aD8ZIMdQ_PDA4Z`Gr{K&@X@{kEUs z&NUPy3;K+6mok%43m;Q5{^?rEg>M(o$tK><&^UuO(pU$p`%(4kbDq_$PjX_OK%G=A zsKJ*!dDDjKX^;(i>thi&VC{2 z97wZ0cUOt9w+GcuUvqIYYwE;32JAEf&!_|1`JIEFEDcM>{Kb4IrP)d*^l7JQb=JEf z*Ot`)Oga@om|)8+MKw>EAAjW$V{a%w)PlD0gla$HWC5)c>fetN;M;kS?disdzmqjS zJ%CiN^PGc=Pr{~Uz6x;x(s)NIQhLongc~<70BekeNF_Iqv+-Gy+U;8n-Myv`Odh6? zG?nVz3Lb+;8-X}Pb{VVZ#QkjPfAZdI+_y;}asdrYdbh^0?doQk7Cc<(j3{Mb8#ruL zUfm%#gJu&7B~+%9_3m*<)Sd+*?3PCf>K~s0_L|4&4HLCV3?lO-2G^+Xg1-oFvN6Hi zqyF6Lm+L;>J45V4j|Rxo1Bp{V$TIs`Fu+tuE6%}YawwArLF|v=&JFAx`-cP3$7|of zyvWt{bNtIe)J(43v+SDOH{=FHbTR!|2#y1nv$l> ze=Z#W03ktTr2`A|kQf30^5RfUdB$V_AYLBa2>?uoL+=J1;{()c@+>hiQ3=3c2n51N z2VrGp73SyU=jWG~m)BL3x76j))z$U16t=Xq4DfUf4-e1FP9Gc`yt}(Y1%bdI00}CH z1dIwH0MlWDpd^@35&~8*DjfvO2*u<_1#v>aoQwqG1epAcV0lasKO;m5iYd)XAkGTa z1*6LIK&5#YH5nm>5CTIwR84*oO@2B@60j{R*if3zm5#(#m@a@7(^84mRUS2%k;GGt zF`ARkQB6Fa2h$a5>!T|jFD@Q#$eG7O_l=R{n><0hrFgt6f4r?)oitCQ5;WUYx5!7l z(-e{yEMf}UH zmRsM#uNtNAdX=u~;$icKu(~=B9hiWQ1S(8IB994><|MI1r8A`C|1WPxX~qBoaZesy zA5NY;h-)~%d=ZasvXXQsV|cc_X{!`gGEnE?fFcTPAM>7p;AR!otI^ii%*#tuWpA zWZR-|;k|>|)AJP*u!+07-lE{a-iockbl8#SAgm6y_YDRc1c5-PsHm8jm|!rNfPjF6 zgoF-40);~9=;#<3895oDoSdBeoQypGEq-BXejZ_AVI^TsadB~Jabam`X*GFaU1@$L zB_&fOVIEyWH8nL&O-(~XLt8^NQ&UrESI+=THCtO-M@L5=M^jflpx3E1A=9t;o+CO{>Cpb|h)N$4=4 zte8+95>9>y04hxauth}$5fFe$NC+Sh0tggL2PL6nBw%EOvNF;^Svfgb>3BF9`FU75 zg~i2%dE}+})s&J{tQnIl}`ZigJo*~z=8gww1lS5-}A1I z4W|lT(4z}iz;l*8O;gy{c7_&!2#j@9L ziy|4FwM^>NID>K%q;%>4AQ#8wZYbiRbjxc?Ylnw&od=?+*w4rQ)Od9A$xw+<5ZeF0 z5r7MwBMfk_h^W8=26T+t=t?4f&OqJDF9~8oqeJkCI?Cz~6p)1C_A<}|J`!wo6Hq6k zZq4BZryIa-_3KC~*n6rKKvx%69D~Db^dXl)Y5zq@tQS`Cd$9=txT|>ri(3V zML7JE>~k(E;OSFjk8?}v+n4M4lb6%ZI67dr{1hgdcra)*{K!ZR5sJiK_{iWwZhBrw)pDA@8NT`KAATCK>7Ezxhpv5CoV_-k9ERf9%-ACQ>Ck% zBpSIQ$4+)#e+Auuqer-^f%2%blhvZlus^=@zfW{%oE(S^Ecul^lo;z)<^a(E3TbgB z?Xt;QztNr#_^@%Cq@a}h$K#)Lz~Gd|J66luQ~-6;Zf!CG6aj=BW~EKEc=z38)nWAF zG9rs4fF2b;fxav(I8+gDOJ#1&kO6pNDl89kO2O3**}VKLp&GaG2@Ubqcb+@Rb zLm6T8F?#m&>PQO!Ywu>3F^NNTtRbc;`W{>tX$#27mt=n@EPP99GWA;yo1m^+9i@|j zkdxmkE^vqWsu$T!T?+%N{fVqnME-q$X2A(3(LBoSwj5KHUmGz8cfSAV`-F1iW2J5z zgbF#y^PCFQC$&@ElHHG6FZ)N+EB0kTG~+50Z~IGCLvAF^CNZy-+_KT%H^(@I1==kA z-J?t$KGn2E-9(M-sXr{!$5>oLG(5V9Lg3pBJ$g@G(*Uc=-wRcss)Vke=ao!+BUPVQf3=D6WpF@|6}~gVL(I&(q&&z z)X}qN{8W-a}5yn zdv|4Ht%ZrCqu1NMx2I=~=*b-ybMKH`W4MObyjzvMXH8d%{{~H7y1HE>HD3I?9hb zQ{3CMzlAlw2F|$!=XlVnxK=J?*l)!@2$Z^8Hfv~SN5*xk*aIg8B}jCw-n&qQJO-**fc_LmtN1KBEg=|CwtAs`Rpoz8(LND`B zQ4Vz6TPS{qW*uH#{}FEP2c2qcjxSjd$ z4M?ln4M3)vJ_dbtANVQx|n@?~kXAASVBYmV=S{A#2DWv9+ zP(?)J}`Jp-cQtl6DIQJN#&P{M~u)Yo4c_(VLVDmbWo;;-VV1cauf zfO-cvnR)*$o5HOC(LwlJen@Y}Sa?(6v>jgJ#ofC*^EM+rf6cUZX)OV=ca{fSY7O5- z)W(X1Tm zOW&gYn*2=qU2;V!#cs%VRYgD!wyZzn`2oU=b0?gld^(O$ zR6D?zTx^-bjvhMsrc^|SimDse6Bv;qZl946_`s+W?%wXoXPX}OdtHT5v4krV%_-tb z4aPj0v{YC~cQ&ykOtF&5l66!UJl?MvV%&EfkROZf*j6APl@44pav9Zcc6{ zJeaW0;ot!)piH8Ed;6(yhR@&MeYrdX5~xMk0ze0$A!21VE)hQGJ+qWL{kG$O;qGjv z%EXNWy*Phyl*ObxmC#!J?@oSgQ?+rkEMxeDf7GrA15(yZ8(GJPmk_Gx)2yyF(XFU% zWtbZgx2J1)`$?k5aay5tqE<57Glf}QwjD)3*70B?(<$tpW@^HBK##D+f%9EC^B(8bb`Lu#S=J$tk#wn7 z@kq!h(B{7Fr({8!x2U_+ATRcBVZsfOtAm~i3C%}mG&l;7RD#b@xb9e-2JkKMsp7Kz z=M+5<`VF|W7+2Hxw2p`t=Q_R}90L*u7UgLjFprFp@7aWAD19_qQlM|QP42r4eyhDb zy1@ZO86N~KQYdvQxr#3L5#3Qg;4Y^k4o1f4IR>(KKTFQ12e_42Yfc(0>KpV0D(zm$hr5BV@4%h0w0i(l#KqY;PYdD6P5IVcI0{RKcRVzr!H4tR;gAHZ7(sKQlACes#8{aa zLxLSizRn%AD`u6>S^g}>?IuUCb&ChE)&M(WS>#KOAU~~<9DXMQFb#Yyh&DYZ3MBF- zW9>9ul^QQ3r@N18;*);DPuw!5JK9|bqEZnFY#;d5iPYoTH$ zmvTRz%OanrH%#3oD>^LGeMEz7A@6dw37Fs^Bm$m06``D(-=4G5!C+@tF;(~Mfts8i zOm5Qlza}D5q|~0-leG!>gLpd#62Edm^gcx{J3sGOe4_Z9L2S_3Km0b{SfpOow~vTC z-o}fEw83^=f%l9^U~3nr7H8vgP%Ep#w^Uk)i%Ji;4jCCL{XCJLlY&sgAapv3ZzTUV zJn>UaW=`$Lb;wTiLUbEmvdP24Z;)M_$WjiKzWirf&QU^Jim5>-3+H^Ct6F5~c~;Wh zUK}n1!hn<`nh&iBQti{XT(@qT3jk12rSPMz_TYX@w`2Pi-FD}=OiOGRvK*0nkpLrC zNT)S4n1}jX!LzGh)T^=XtK?2BldzZ8<#VlCQaK!Q-8;=RkG{V&hycT z*I_sfPCL+GBLS3~u0d+3N{;^eA3@N%w=XF9SsOnY|GxXOL244eY+@-WRY{3fltU{Z zKTJSL_*2sJ;>3)N_Cc=E{4>|X8+JP15S;sywMrKdx%({P37(3!)sE#b5#Q%eqhH96}GI0cCWhsKhN*(-+iiFtZ zi|~Y4t)C9>r!b(D0*N0rge|&`gIr7Bv2B9G7V?kEIVb$|3ZV0wi|c-)j~q9xX<= z-(mc1Eie{dssNvK5W;uA5CDW-|5GlQx)C!zHFD;Iw0fg*SCk8aCQpq28Lczkp~20t zH%iC^L!8nC5tmTeWmsteqzq272alLPx(pb|=z|mZD*+($0enEZwWpIuy=u?*H!b10 zbDGN$XI0vo*y}CTE<Q0}CZBWQI3+vPe&^P4uYb z8fChoNEWlmR6j}@uKHDA+MTG`)h0&6LB~#9Qy-hT2vUrS_`FJQw;l=g?xLq^BT`fU zMQi-Q|9FK}1n3l43k%;sRu1Jte9&|8yM(&_6gI zM#D=+3x#DLql36|4*3GPcYE%LOhaIstZ$2kRtQ#>Ij2h*2qOJM6y;Yq-_pz$$9@gt zD=_`)uFg@&Pv6G7O?AhJP+1~JxcIOTu6##&7Y7tYw-4p`?cOpS;3#6ySP&Dx!kQ}T zQ%u@&aR|{LpfPyD-+>440A;+F`W+m@cvXmTGFac#|FPI#N7!*tLYt_r#j>F9La-hr z57pBTmsbB`B#4g&DK6P)oSr{?Ft~94eV@!EEO);=6P7?=g+@Vmu2s0LH(grjS3%U} zMt(t%c$b*b@)C_&VsF?n-e%7TyKwZt8k$QtDR^I{c2bA9T)09%CMoA8#;6ND4}21n z05FF95)KGa?A8V_v8N)SqDGzbbaPuovUol#Az%T~bGFkk|90 zA8qQ@YFGDD#TZFZ%owiH$Q8Q3qsg~H|J&d75ag5-H1u^YE;-~x*4GGohidT4MIOWB zS~REV(Zoo$@T0yM~mV;WxGg5;E|4UY2HbbZOfI z-Zu`TglZ7i4SdYcy{8F~B&a*2{9XNBIurTpwAx(Ja7HTF@XjoKCdF#)@s&efK(wu(-0UbXC$1kQ?c^KWYtDfq+Eb`qMlOxhB zSWuTU%)Me%c)-;!M#fuCmY_bmG4Y<}YBPQ;k&`~lQ;_iA+KO!;n6`4gy08b}hhSqjZbRzom_$YWFMTrz4!_((y!`%#pQkt=7ECS?L-=hjg zNxMy6-htfx3{#%>>CfTD)W4jk39ddI+UAbfl?*U^koU@Uu*ZSSGEb&Mt%%R^#-q&T z*ob*u7L$(3)5`N8ybZgx`ZD5XbPTon{SlSCRsE&!F)fFY*k{0VQoii#grE9P!RZmn z5KFkNF7Wtm{G*YlNOQ>18ll53XB)L#>8p~VNK29S*Nd1J;|unROq-;?Y-}U^-Fc^1 zL3PopHy_f=79l1Mm}16-LB06f_?#{5nG00nI&%+#W%%!{5Pzg0)*rRWEtE2lXHdSY z8qjOeTr@VA@Rs*9heR0s)-h+?HuA>LIsp*G<9b4TFu}tMeX;5cy!(OMC#t+$EVfWa`YJPu4SD$0%10j}4ba&t^blJxNY++TbRP8L zW~!k0+4m*jiV?S05;Byx9fe{6rT=GhT46WEsBNXm_j#QG!H4dxX)844$Elo@84SR1E4o%V9eTbzB)DqaSHY9U>GN! zJjj))N09Y92QCMPO0<8K+o>Ka=#9#wyWgmh(;xhT#J6foE2@S%8vb_sM&xm%GBC&w zv=Hc@ZatAWqB>Vj*Smycz{N}1O|1>7)Ku7Titp~76#Khpp2lIedQA(QXeCw%tr-X> z1B%{*FXRO(5u+m?>#Y!PsBE-&__^QLz2?YU?NVwIGWPhw#t{oUa{Lq4P6+EP$dOxX zUD{s1w(De`>C#=aQ4RHEHkt*L6_{chN`0b5S?3tpt*-V~0PrnE7`d!pjy@8(aqae5 zT4w@ST++7X*{Kt?`RC&tvdZ?pf>5q0$rO|%#pgDP@jfKVA{6zxf!Ti}a0!Pa>}4gu z%bI2v{=mdO_bka3w}=BaK&)31$a@`NxAt7)^A%%%FzkI`} zE`)-E34#rPc6cP+w7Ww*JRcQ=iv*Mc$DVM0Art?}ZngVXjHyDB;2eJI)v?YE6aB|? zltGxl6-eY`O@5$fbajQDxQfij5my@HdG$i`hV)Z>^D_69a#3ynE-{$9YHWn_oWO72IlV(@b7h1D*so?vdG`x1A;uqb zW??n)4B-lyJgu635SeF^ZaGQ1*XaFL+&cho4wt*&lb?-Nkl`%nYdPly5b?{L?&}~r ze&?iI`*{7=)^NrplodRMI~jaC1z}VJMAB8&2fFyGhPgfF`bBny*f?n ziI#V05`0IoWs*mnxAl?5=-PWTiOuL;a@o&kt?5>RU3zJ}kS_?% z)ghgMkf!Z9^4O}=J7uWbIY*HX8VUU(EY;rJK3)_VWz4TdF3HMU%LZx6>M z(#Sb4J+dFPm~+(jlkTZVq(DjtiH9Hi_`#oi{<3B`_51C}1Mgo_0j*EetW#lMQ&MYw z`Ms5`vSDsSjEz5LOCw>v(;Q9WjQGjQJ44Z&tA&CtStO^1ha9XiDxmJ^%~+n1hr(7kIC2iF}V%} zxbM8ToxEq9=d4AV{O#t$w-HNu?Mc`OP!~^P&Bo~_?TECA2!=$aA~OJnMFs-oRngE# z(vRgm?|d9SAZ5FvTG26eIvQRCeX+s=?6WGXv0`v059$HQb^1B1`v-pc&G{_Yr%(&^ ze$=b|uA)IGAKV#6iLC3plAq=07P1wMx= zJD}boC?gaVpE=82#L)pRSNV6ZtITW@m&R8}C8Eq{O<1C=n#V~?@Z2nO?Ud$vW4+T6 z`5E=8g%V9v=%6%;_ET}OBJvHWQ&S^eM{<^&{+}EySe3GAKLX$whuB|Bs;c@sATzD# z14_Ja<(gmMMnV56LhV1J6tY!>(MtD(^Hm*x#XFU-G;3;Zv+n*};?{~3R<^zK3Kka5 z#FgBg=wzwgt#|~_5!wVwP+CN-)d*#CFxU9}_F#&W6b+%7wn9~)EI3MRnJtybmVlm6 zifxV42FET>kn3RYP;js*xnwe|Q;cc-%KrGr=X|aNqcTcB%ylcTjFw>`J)P* zc;L6MX66p7$QOSL@PU*pD}#$wSw&RlsI9rtq)QEw$W!F9|0v_~W6hhQlbn-K=ZkuQ zyjg+o(Lp>Fb7q`IOQbIdVlVp~ZU@4G-rTBG=HPq*aSH#$$1}`S6QYZ1Fz==ebJTv| zZ1isa1XnNR?@D18tkvesGYoPskOrmpz#G*Lk9^zA!;C$>5>vC8H%C1Ba0UCIb)|NV zV3uF>bs+rO)Ll}13+>B|`B;a`GtMqW@Id0%I@WA87dwS(So6tGWrTT@AW-F_8J7M^ z?~`{B!@8d8mo7B@Ryyvj5(iE0w=zhU&DS8OFK{sv6B8ie`MBb$LW`)60fhi|y1Uq@ z1+6YH-{OP7jcz9r>Zv&tG~ZX_nhkNm#2lg6|9Z;wR*E{Bf;=rPI$;qI0Rk_EV{eOU zHic^=rf@0^PflLcNJi(I)6wCzbi8vokf$7x2LD5p_be*uW93|zPM+VEn7QcX+X^>B zC#yg*!OQwG>x=B`)5GOeE(>r{yCT+1W^z^P2P=G)9=eg;&Z0Mz*J)Wz8?5iy@+y@m0f`@03!b$e|j^U z1!*qXuBBQV0Ru2F4Pr)C?5(krfeuw6~o+_B!N27rLLfp zaPwxD2|bwHx#Jh_93y}PPG;m|$#RU$@ntQXsx(3Y!k zMkwV!9mA>i_3VadSva4SfmL`}5b26(b(A*}tgm!DFWPdvj7m}>V$1oAWQT5+I|I5InJ7UyQ8vov_-d==+b>)(ki*}e)1}g`SkFq zkM7d0^c4=|x69(wt!w|x#hY#@w;vCmOfDuFfxxtH*9yJLjf zsmYGVTc-9_p%9FHsga2Y1bCGs89$yDc{iIuI?47*{<4?cQ~3<}M#80_*@HV9Uig{vJ-}N{)OnK*4i{dxgV}c%X&wwl0$qN(viD8Nir={y!qx*W z;h;p-jhr8g3lMADcsS}|+&u2MIDYP5!e*cJ>&|G3#5%J~Kw;|SN&fi;+k_p+Po!c4 z9KH(LSWg7!%wgKbANR&4vcPbDB!DBz3X}(w{f|JcN8kJ2KL){=a`t9ogysb|tPJam z0Pzi9-J?+%By|8wVJw36!J*>L$bTJ6H>eLH)^og%0KV}JQh2RTGd<6@J=H4h-t#B| zJ$@C5-^qCgXCdKjNJ?_J5tl*Sk9uU|{#ewDdGvs<`v^(^X&E{~x1*r=9i(?fJ$=X< z>JCs!(gc7f(jN$LE2VMSI1K?+A_|CN(0eZ1Y83y10O#AdlT-5VKn%mblJ|oGs?Vxz zFSGSa5B3N@4P|my6Az7VYTYv#jhEb-Pqy!l2Jkl(jP=ET(TCrMsGyw;?)EHLQs*oG z@hm8Y7bhV3tuh5JSinBTtMoNy8sA0zC>F^{riu_b1g5NQ?Q!J_)#<18{x?f(3ZZ$H zwrUG?Ps^}v$EHcclI~nGd)HCM$+M*z$N=>VsK(0%1Ee*}25;yq-&tu95v;uGE(Bdu zsaP67;Aq?~_gn@jLqBdq5Wc&uwHLIl{5B{I5@Q%A_;#JJ7?I64R+Uoxcw53q&|`02 zR(Dsv#Ww$1bvb;n=I1n$ic4}|PO>so&_z35YJM7`G?L_V*d=7_n$#?|AJ|Dhm(2YB zTr@k*)cx<6kZ7dZgEtNrg52Y`db+|CYT^ui__+XKT7L5x(>O!>EdO^v;+~=`tk{^{rHW_RSPCxg#HYa#y+q4)>2b zfzkRkE?ks0V)5t{y#+Ghu-=sPjG|?n9=tz8_uPYKkU*vv$rYgE_t;pg2ND@=t;}1_S|Y##M^B7i6nX$8OdWc5-IK zFY~>7!3>TaS53Al_0iYV6q6u^;hw{P5^lk41cD^jC|07)U}DSox7STr)__jiA6;c6S8H^QptO zoy3fY{PX0_Z)*{WQ@h$*oTX+j8lqtnyOEVpVUvAU+=~g`UXg zaI7GWTmNEhi9p3jtEsPs!f3VmCS|Kz^Lyy=ms`F>JANqFk;q9Z;!ND?TXpvpAD#R_ZK zQ(W?xn3lLD<)NZ*;8h?3zQrLtn>BJ7&EY=pB3K!FepP?v&r-r_G!_#_aMa!7(cC3y z*){(DbF;PQ-?+&_RK0+)2df&VsR$`REWE%ektWceL=#f3$737?8&xD4PgLu=WY;hLiNs~lMkchndvk09Q zD1s|eTxfWt5dX@gL>Gb?rhBkU6Jn@4lji%?TBR{NW{HzVQJN_FMa1shH?EZ@45htdL7>Ib`VAARqdW*KsKLT*tlbwC z7%uALC{L(diaEu(%>F~@?c4-Lbo7s(UadgoU3isuZ&b{lWT=gh8>3BvU(j-oT0~2{ z{8hWxXolmEp&7y##rLEOMN%#5JFZanBrM-vc;i+ekI<2BZ=(^P1C5;EwwANX%~E%0B9*gyCIPYT{`D}N(V zbZXoJ$vIw-4UTCCzFe*Ny@)V>+ZhSX0(w=z-5B$qSl?J)WZ7#SB{oQ><)_ZAs{De1 z6_SWb`bahiX?UVsl;EdQ(sm)9raM$VT?n>;j_LziVO%-~+ zh*)SBg?!Zhf~#v1A_XFz)43g-K57o1_BWU6(K z4=xo#r#cUo(j*n!Jd_b1-3#qnjZzpRktEPv3YwLscMY-DsEVd%OLbycg0N#$~?!&9{sArPpqF!a%qx;b!~U` zRg!+IA%^=;JL_>TIwws$S*n}7p0U037vdr4GDO;AfkzCflv?<$Skji@)i0S?e6O3* z=+@MPm3;9~9r+y#XUk9=P<4JoHgMg;(9K(e=_lf!&+4-1vO!-zVaO58jBF(^#xK_p ze4!mJ@I++GcSYt)Ay=MLo=(~Z9X-dUEZ@g}VVw3*xAPC-+dUT3rzAWiD z{u7n>{gbHy0#R05DU43LEED|&^-)*teWJ5SIDnb!L^;%)lo;!~)%#wtIr!MjD&`-; z)tES^vwG^a9>~abWDCaGvL-cq+X_Ty-F$(lvt{tZpT2SJ9Y>nfga*;}i|fIK*bYPi z9PYs{I2uXmdn1yyz0oHSr0GLne5xB!h!g#3ki3SzlxCYK`*1H5yj95FSf1o@Q7d6) zzsPFvODPBa+Akg8H%Y^T1P}p%c0Kfm7;bQP!>F) zZA_ZQ?-(L&vC;b?)Nj7naz+$!c{6hgTGrLLiI6*YbLyVFV?Uk&0mP!v~ z#lRk3^eR@u5aQT@Ces6LtI)=LnPt<4+`rE6MI-bY3?P$_{V=o1oQu^ERYIx@@C@92 zeebiF)RF(3&Grc(kvccgg&IM@+JOH74}$ht-Se0grennYK(xe=2nos%XEB-#4fNNb z*@ZN3Oef3A2C0*{H16<-`jAZwIIT^_ph!jF zuK1{d@uQao8@Qb-r>Q|m=HL`D1si74oFgx;217yJ8&KE6Z4cfrtgTC%Pg^tmsCQ3- zP!Tm-_l4}IfC;(g$Wb(7L4m@R-DvFZCQ+)IyTaC0UYzC)!wvT|G%>1&~(qd zI*aH>)c0cKCLF3k$M)#S@Ude5TB>+~yj+Iis+HW3qKc)RExafp_qeKXuB!Z3-1x4L zZk@^V#`4mC0fkcr`3Z*wzLq?1Dy`-?cl6(7tYPi|si#EefuQ;)Aj3F}PGHSZdu z;&JYFOipLYNOTt(MG1yj<60#D(GGD)Z>)Gx-58Ok&$dR0`ZB^;j?}V=BSpqe@1scX zlhEfkt+!o(DrZdGZogiFasU;rc$PbK{jInoR-AGO(0G-m_`5_Yi<92Z1>6)?Xi_}B zi-~Y7?M6?UyEy*C10i-O1 ziDUw1Rk8wGjW9)-0@`JASy$(EQ<6nD=mCH*-TSZlck#wqgFX7cmBd*4YEF`6vH|xw z_T9kOP#U-gjYbIu;2!T^8hZ0L4BnC!6a?;MwksfEJh8m@692;t7dC4YI=cQHHo-zQRvhX&92PKjlLc>*~Q{6TM{LAro0R~yAcHW$9g zAgto0rJ&%AtsQ3Tw50B_G#1GiL;g;!dn?|iY@`4gRmI~kL6NpaOkv`6sPG-CYzntG zqtYNs@uyUaFm7epG|XPSP79}Kvehf}q?;Wqb~!UsudU5LZBhgzi35z}sR%W?b|2oZ z4Gp6C7-eMhddWl`venxW834 zGz5!NDjyBY&Jd0J#tSXwqvq(I5<<}0a;F38A_qeuN>gbPmlS`{Joy<@&wU?`R149x zINK&Ue-s>+=2;NZ#(CEyq*w$phswMIQM)9$)o165@*YOmthjDRm6O(eOaHTwjb;~_ zNS>t$!#79y?wFp9qF%Hm3BG~pHwr2tF}DiPBw-LmMZO@nuqR=DGnpyix0Quq=U%V{ zevLS3_=%?zq1W)raz)nXILtN#6loWD7w)72oaCJQD`_HO)QM zjitOH=S&laI_E|=j|($Umw)>vE_pt<^&2+*?`OzcnB!msOS0UGlrG_o=z~-G_;mJw3K^13>oe!tMX~^Ug~Y7Hi=zTN7bS4~Hk| z#JB*1ay^pV@^~%7e0$7ucJFfR?JG`sqxqePqAMq=5(pQem-MQJ7@;b^tHEcZa>=j^ zUjMKXpTPHYpx^(phWJi+Tsu{nH-W3?!ob~omxs*829 z;U~F$WFscypqJHKWZar}!F#;YgOl}QzQM+lZeF1JB*MC9M+w#(`Y}NdRaCXOaU2BtfXGjrr`#Pg4qV@M-7ARP-)K2w zl(x|;-8OpqIb}J95%YrH6%>lwcIq0g4A|XU3ukSug-T}M-Ice&BA&{`-bWp7punQ^ zP*=V(5fdN_N^c-X?2bvje%(KTM^YO8mR)yp{P3zV zo{0H{P!7+MN{|C>dju!-meN(JDx=i)PGqj1*NSO3>qjk+#AziJ2W(pfU&6Rr$$UuS z16MB|jaFlmgYk?1xohLeeMQ8e`0`KDlsqZur{@Hyko4uQTpIA~aGJ8&-Io~D0m$l+ z&h_fq?BVy811@6%)l6BV+5~;;iuqLDRID3tzn-nvU#sDh2IgUDczj0D z|7@nok_yn4Y8yZ})0?t|2;Fqr$~!xn7a_%--DKc-5Z-EppXVljzfd2EAPLaQCweOl ziNrp9D9&8Pq!ftp>A#GTlnzQ>dm8vqyaz8j^Jh1YScXSjS(^^*xZMUfU0aZgYsk?w zVES0e)>E2bcux*uJ{M{d_{bD+kVOxaJAnql2gM1X=#y? z{ZBmbPPV1H4vGFdC1clbd4eCQ^k+*6?joKs$U5DTUrX2P*QU1r;!S~;~xQ>lunhRZxp85Kkq{No|VEy6m1FS-+GJr>?!iWgNY8x0|BeXT*Hzc?n> zm+QkCA81wb2IDbtJxI|5im4(yQ=fWlmn5N=#~+D|PdyXvtx+=7HTtmF|DL)&9ZG0U zw&nXf8F%^&=nBUMO;mTpbrb9ve$)RE?pd(2RT+bh03Q)~Z`07H75_KBBr40%XZpiA zN7r9pyUG*GT}m4O>W1I|60TzmUmlK8;bXM94$C>;1s(G4mB!+?Si7PRQ6Y80He|mh zZy6fNMLuT-q7E8v^S9Ag&i{vgI~IMBdX{h?2uyX<^A*6dDx+o$za6R zs0b*y{|Slj9g^1P{~*VzJje%Up1lMllmdNoZyWg(?!1;`Ryp^*>9hWS)114uDwe2g~JYe`!-)~ z2jQtwGvOR|qYrVmb}gUs&Xti2`1yo2@ij{|r@iEH5X%L9x7FqW_T#d~W58bIa<4YC zal-$=tUlKvKkDZwFvZf4({gexTMg*41 z>_Aj)A&!TK8E$7PH~#XDLJ0UuFe2%GNTJmL*#yAl0p!;=t3-c$D|VGo>!S(75PFY& zlr2nfZd=|nqF!1I&!!4SE6RV6fDyGvuC0V0F}}rV+e~@B7{HfNux7)gCNH)QMsZ8U zza0C{~ za{vqAoOGb)CFAt3ET6d6mcSs%GAaq1?DuXZi!tZ5)^Sl3)k~U^8*`*@V*IxQp4u0G zkzv(oi6oADi3{mAZt5f2QTzos{>XLJPtnFLl4~8~ukmAbP+M1W;8vS8T@mZ-e)U)kc>A>lvD3b+TGb4*)2rr{m5J^ zL)K&XHl970AW#RJj6_cSi2W_mKcG%DttwPZN$$)vM5$t}%kz75siuO9riPwX-mNgE z`gVgNuHtVS`%vPQ?Qk7p=~zx!9nDelwL9$wOZ`M;E7l3$KV8B>nxuU0tf!#RAjWMX z@ZP{qBqHqAp0~iBWY|bKV6BPI)lWqzKXEYrib`1?OinT)a6_?}hlRR-R$gY`1b~;S z$KW9=T&+<$B+)$KeG=L^FRI!It)gRvLKW4Z5xJ zOq~uKjs4q`Ro?&JL7^(oJPwid_Q1IJboPMq7>cIk|LW&3W|$KEdtRrBY&a6%y=UF9 z#`}eoDKY4cHyBbbB%Jkw!xC0I89|*)<=(6zopIf5av$C~k03?%m zD6zBxF7B`so-JE16;XH>A`fH5%vtDvZ@=g8h$~LPFP7@=;hYiXD8SD9X1}*#*xQrd zSQ~@lwMtbaSZ0K=JCL9F$BjGKHx2ep~QyeM9lz}+V( z8e-YOYw}z50qY}$O9@M^wYire8+^dai(&W#e%gN}iRLN*#pBa2dLV9v6qj;EpcL#@ z*z*klqrv8PPd(aXQ5wR0fopGcZz!o=U(-bnUY#@GS08gu(dw)nyZ(_Sz&hUbno`Er zb4AwoY&lT*VV7o@L0JjzW8f>tCriI{gSBvv6w{aA)?I1u11=LtK3C4otwVv4Mw_i_ z576${Zcr~0ns|;vES+guOf4ex*Ok3YkNA}&U;GpeCD<=E8lqD zMm!S|_*xoR1%!%oeQy)5gNzaC)_cf}l{`F)tGmw!V~(*tPpo+Cv)3M8{M2_7ZjBzC zqOO{|ZEW?m5;ng7SnyAooN)I)a`@>Sn+`5C02e?Yq4QnKo45!H`^08F6hsFQ59C}^ zVp-Dy1wV~=Eqp#|J(9cL`_!!KV;;M@rT{1-}pRS7vPMnMzbCfX64_ zFQu-iWSW7GgEVKxM!2mt7dTFc9$Zj7DLI@z#mMklyq-Z+RbUDpwPocvUGwSGERUY8H8NAhcrtMJREw?zBh;a{#>kPLqE zenYmy&kEPkucTy&LXQf2vfNE35~H;v1R6%#@0f9Ff6B%8e^=#SCsCgo+z)0sH>~B@ z6hA4U4;RrNpa)-z;|BGqi|I;fEc%`68b@=ChR$L8Y*6zq7Z@t#4|85jMv~Hgdf0WE zrn=Nz{H^o86BVD&(F0iOFc=RK|H+K7N2E=F0&>i~OnegR~#6M8fv*ott)dYb8GH6Ykud#9RqG05G z`%C}B%u24U3zBPZJTVw{;ZRyT)P{1!gm=}e=uA0)#9wmX(aI+3zGfA@{&5)MzzxWF z+SQB5qv39*=Ia~T7+&y?55H5#J@5jSm3NR?6_=B6sjvSrC~6%TL(i++3GF&>UOG(@ z#ysgnKOfsbp z0vL2UQiqk%Rxb>@1hnTeg3qj}ojt~GcqL5~PGd_Y8c$(19xC8ybyQ9bsc_C4SkD=V zbKQ;z)Fw!(Z5Spto{A&jC6cRkQ?t?6{^{0Gv{P05{agD7k*NknyjP<(Ke7P#*{Jw$ zFG1haDYwWht#zfD+?=y&Su_uNP_($?m_nk=Bs#dQZWO z{Y8?MEWtbFC5*e0kANx{_C}(?o9CY7p5A zj8xI*|KkQw28B8c^yMZbAA8gF{6q2s&8{E(;`XE!^%DS7@q@>2ZIBIV4U*4oPn3{S ziJ<2-e>Dw4tn{K5+2)pz0$yj~yPM5C(DAgA-Bqo9v_i_6T_=UvjESxD@g?IAA&{w7 znH06CzBtc2{4bV<*v-XrLGqf>y?SYKtFY8thbvvN?X#cIz)8j*Z!5GU#fyuKq}$wqB!8y6x2(AK(T{N5 zt2)R?cyA#0?UY2shEDA0ZrwywyGK0YTmdu@qp9nj+@~|b$Fwqj5r+b|hn=xZ^*&cA zu`}b&&7O!@YT6EadVKD0JyNJ&F9`_C>oW9)%j2{ z+v2Fbxf`wc?u9xj9F?MPC+3l8zj9!|gEy_{XH%-3C6x}hm$kKfVN%YHtg@7O&=`y& zDDjEVxc83)nGhKC4P3rMZ84|NKK$Rh?_Q0Pr;V;wK{MGi>?3jP6gLoZPD9OT=lL8E z5$OD#jxQyt zTVh5dbH8(_IdixIA3sKbC};gL+!cH}@u_Af;9u+F?2UgTqX_!Da4A(jW&nl`XAYY= z-q1JN-)qU9b&hDiyR_lu)|1*TQPgYh=`eTNGwAOC|Bhi*lR8idaQ_n%mGIC+8Ac{N z(M=Det_`8zq4Zn9wdA7*hPh((o8)=gN^O4N6J8)Gw?#9GOnE>^<(z&eoW!KcwERw- z5nif3-;_3&Sge4r?)k-K*G$}Mht_397$AovJ%GtJj%_*`6HWbxmWVQpXoXikcRE*xMfO8zhH zNKI}pea1>f+}H3J@&X#-UkV4HkZhKb6F81`)%MK=v(G=+GQNGfyF<-812Djr7#=3Q zs}4X3w6ab!dEKN;iNq;jwi0(_%z4|_zQS`)X#7OrvT@_IaP4{Wfcm3pTg;6mj1K(i zW0H2~8EM=eqm;kfcQzkw2NWGlzkXvwSSs1?Kq7x6iS6gF%jm+N>7LI!FMizXaqa2G zfprOd(AFH9NsJ0eJzblW15u54C1l8rO?QNJ@~o|6d2{>yu&98RBoVQm3w+Be;8@uw ztfKjPM)D68tzm3t_wGiYqjf~m_ihs_6W{BrxcRS#G-klB`u04w0!{18Wfa|v>Pz2X zY16ZeE~c@Ble>aL$ME5G&d1o*jca^n%lz%Pzh;))Pvj#jN4qQz6v=*}I!eO&2WFIhC_ zqpJKXwZ?#N+axcQEh&$+9J+Vts4N(Z_eEBCZp&~fYIvKNyL^xF>xhZ3!%pDoy&6}&xeiy) zhV0HrfP!o>?_SJYNypr!^IBEK*SZmM>fz(prLJoiVU}XyiLm>RLR2p7pQkKvE^i!*|Kdm4@$YNb0EF?b`OVt)M;;UZye1 zOf>ElsaI$vWy3MrNd3H}WI6s?`k3-8`zLd;to{C6k2Ui+h`RkB`&w$?Ywn(1bm`2o zSjJ2L)r8lY?SH?V>gCLKM-sfZ+z2N)`yh@GEmj&OWrJ)14WvXfHjf4A011zPZY5$M zMIy6}>LI#8HsL^%R5K$?=?e`3syVJCXUi_dvrsbQ>-&hS!b{9I7_miP5WAmUJD0wx zuboPhgQ-y&0K8yC#yFU-EyfeU3>7P-kjT0#A_IriWo&KhMKQb4xZx7>@4VAC3^@q- z&@-*Au2Nj~n?mVBl)P{d<$C7^P7fy%_*!aAQ7b(E%jnF5!hiYb6%g~I6pNLS81*ff zB=jKQPN)xhCj^0M*V9YmK^PVTTLoj&i63zV?-XVMj1!aBZ&&EX zxPBFT{>3@TCdf4*Jq54O+aW~7Q)ke=MvYONH;rxE`Khu?U5nwI@Vl$c5q*;3eTdj# zuK?GS98MwzQ}%$WOAoVz03z$aUqKm$S`wXGlD2L;g1~a9YL7-W_{rma8oM}$1chqt@C*$(T&9#aIO%w)> za=b6L!@s+!2ARA^?YttK%v%Kvg05OvR$Jc6uej*S;GQMI ze@B0hJ-|!(aBNRq|6u00d=8W|?NbQcG_TR7*p-3cvhD9++>5PR!`Rc2pmK%nydYG3 zu?FtyytC7f(P1PjAM4}8V=^=y?^72n7dL5rvO1f*n7L3i#4F0a;pB~tR*J>3o7H>e z$EsO>4sAlUgUQ*;*G>$Wd6b=g{Bf&0xXk{(rMD>(wAM90BY-e7qPZNxY#q+C( z2__!5*i&lWQK1Szrnhcx#n}3$FgDlsNEcQb!wp$nx+1rdcm);vWdf~kB`!=xVkSEB zN`JLnPkTQ=YsIU?f_>~FWa#Ft@1C9lsKSpj9h(_@A@97-i-Iq+Q(y-I02kaoTtjLG zUafEv?ilvzx?P^qaxB{3|0Eq!U*mqyZR+Ny6+s-%3f4^jE$YBl(i(e0FCQwfg;94i z6)gCSP=;nm$9a~6uc9V1SU#n?gzJ^rpVO}QQERPf#}Ak9{+*pF!%R+nayZ%@WQZ6e zckn^s%elns_~@cHP7Lr`F&03dA;edFQWCLbnaVNAb?NZj5sbHifcNpsv$Eg$wAy-f z+fkv`G6lI~X=DJ+&HR3GEq{EaoMxZG5VnnI7Frc7KdNs-EqLx(ba33aMu4wv2j9+o zI!RtU#87L;73Q$7K0)^qpQYDj^j;Tbt+Up%Gv1`Z(Tbanw=m0Kr6jg7SIUr7|D(9r z#IgK~KXvIMBVYl@Zw5noR^+2hn^Y8;Ng`wtHC9`n*A{|tE))n;Vfu43IPCTpyWaeE zynHp1xnSww=|aH%Qq`=^0;3-0cF2jPK~8GOj=+9By$_20Oy9<X+z}h~y-%O{gLP3J#hJ`j z@lPm!W;;}OpsxYq%`VQh)%aNKN~6Le4!Ma=G^lNv*TxlPeOwbR>&KCJSZLU&qshbX z-*#3HKwyHn6;9WH#|XSdO?p3DdGB-U`@jPDoMs~TwytU!jwX0>y7l%ecc~}#6Wa<) zg09;7ktgD39j zyUSrlr6Th^UD1|U1Q9q^?#v^3VR9;PA&R|2>khJ(0sj2@(p=+o`IN(M^o|X-uS7Po zsyd;a&=3!e)kQBIM3)rqkzj`@ILCsUoX9BlBuWe8jMeP*uLfFh1`4NT`AuXnH@wAA z^iGrhElPit@R=v-Z6^C?xs||ya|P*hbmkA$UvVcV4uyzCxQS95FFr+<4%)AYYk@7B zoEU?&I*QR?r|NIKQ0` zk=h>zA--oB-_r+aJvP5vY4{BR{PF5z0sZ9^i}3{I*xILH&kN(izgh?;_SBKswrS>9 zoLxlibF&1|1{dV%r0^c=@QMjCYRSVZ&O%|#_R^+7AJ?hhuOpKb+R8pL48kiYe@AoU z#Sk2x3HzB=!0?{Tl7EtlHyeM+3r&%X4?N1D0UA0S53QQv1LwPq*v3Xter3fdxmUKk z%+yE4FyB6Iw%)q+QY_h4i;6p1tk2jqtgkeV2Lq|mP(PL4eL8vrbF=5<6y>~ zNm^gw`%!YShWd!zeUl#LM2jMpza1J1rzc$-Azw-VO7{gk%SHOrwMPY{B>Z~J;4P6b zOR=uD>JKTfp|;{QEkjTPj=8hHLkJWTkhp5xld%JJ;e(EIhIhb{Qvt@GbZ~yuv`&5U zx}Qn-Gtx>nP6p-~=J-T-P@xAUkz~&?caS$%{;WiQs0IC~E=N4<2tnq$iG&6#m9>HD z0RNa(cKw9x4q}v9ZjlAP14rCoGN=^5ml~JKn<+pLKO6l|iN{8UmcoGCyS~Lfap1Bg zI3{KVEN|q})XW)Y`y*Y}C9KcM(j$%n`H3u1CMA>6rSdOIk|R99R1tr-TZ}BfF?tsp zO+!|n2Zl+1rcbJMYh(=zFdgFUkGWg7?`=0)yRd&t?(Nv4z zoxK!X%zAtGsRPCkqE2&SKf(BK^c##BanvxUga(;>stU zZ;hW_$!RrHuc+?J>``b{)v{!1m&S*vv21V#A$vB`-u zESJ;vG8_aWPuAGLH}9+Z<*@ii%h@qovD*!~(lWDWEC9Y3wXoo3YUzL#6KUUs3KxNZbI4PDiEQilf5iu5hu7W6Cop{p2>XKWxKqi-17< zlca|nfXd}le*Te0H8_0(raVEMRTJ*xdW zU40IZk2d8Z7>6(qw^sIYaLSKy>mJgyN`}r<=#h0E_G0)Q_*Mx>v75v#%cETM zR_tUuXM6IamjA^N$?;;{qX+39I?{=cfgRFG9#abjhoYp^z3;T>@eW#D75U-f3YF?y zp$EXneis{?pKT|xbarG{RUu02GBR!Q5!yMb#ls3-DA8W>Oo`!BJlx^F33`@4G<2M1 zh#X)o^Wi(?#GrK_Um!)<*JacOY(`BxYeRgqft@FYY|gw`(Wpif2Zc^ov#tBO@$Tn8 zC1Oc?nu^xw6YGo7_Y17%(n%)JUsQ(Z1=B&dxX+Ry#IAcCmMsIayBR~EC5_^BRm7{A z>Vr2)zFk}}3AnByE{`;oMwXnHta4-z&s+gGW@x;I4$t-HaTNB7&7VpvJ>~mkDUjPo zXE)em8nlGb(bt=df59%wF8RLqn^C9rEQ-PI)`NlNSu^6}{_Ghr*cgjolomxQZLN%1 z(W;L|w1`Ikgn$%TmG~rY+n~JUmvZlwuiABGa{$f~Yz{MgYNOFYPz9*l`?2)c$rrfEpj5 z)W0iXkWfa6o9SM>Wgmks6&m%Ly^CHT)k*}LZre07bG6^qs{GnYH`*UOb$8d=WMyK- z|Gs8;W_2o29{L}CbGYyhvP!_U9DuB}T}atAWsQ~%L$kuz&^QE&%*t1G9M2L;B^J@X zVj9+_nqN+}i?Px{UERfCe9j6;p!|Tog>6$D%&H>&xe5`RpTGX0}Ex>pmmRu(00 zei>8s5tO>J*~bB0yUz(C72z}M8t22|vaL=b^+5qzjoljRT@Xt1YVN~-lumexTSs9? zWVHoBiIe0&*i8V*KPhqiq6F?;Y1T3M*Ce%A%2F)q%{WtG=jsT+KyUrQcTW)->%43- z`^%IPUdEdRyvPW&IYblZ_qF!+qg1i~etQQOqx9!^Dqt6Wm?lU44-IUHV@NFC-Z)V+;|c z$r=IKtD#1qN%h)ylP?*8vmpM3+q_rgMRj)BR?V{?E9D_?gbLw1ZWPh}0p-DH!$jBE ztGukfE5Iqyr7~gyXWE9BG*?2N3B?K9-lE0$35qlSvihXVWT4M!F20* zWS!%203XapPD|S$MmdD!NRRxyquW+(8&=J_uC!$TEd7&C;%(vEVDwjqR1#?vv?}Rm z>_>rjK6&!juc8ruowUoLHV9i7sGRHZwQ0(@@*Cgk_cZ^lVh^QpeF!i*_LFOj%&5t zmv=g*G~ko|6KmCwLOP|65fe1UKZI$_QoePDv=$R?rl&|!D#9Jzk-%A^F}FL9-(mOa zqq1eq7mrdDs7Lf7 z@D{#)PhnWQ@XrKPx*+W13WXlu7({%-e}k&OTXHG3OzOm$1;pa*aS;ILo2apzA2c-u!uye#um0nV!Rd*+{i zu5xk^%W9R%a9A?A3qezWRwnVw>oR3mVTli&eoUjWM@ipWS+aYz1&%C~A~M z=p@<$qp?jn+{OrB7p9pU>-k)d3>MsV^VXPEP2>p+l*b8g?666A`lotUOh6oGlB$E? zXc!)JnsJ$CY@|dRn|_AbmTEuOY1dn;$yv&Np3A@6*8ocKXA6-=lP$VV!Nab;ux%qb zF|^X|@B)+W1$PZqZs|DE9h zk=LQG=i0h{da%?Gi^6ng-WiJSd~Rkl@-7)iE1lHiCMZZ~Qoi(Q0C$}jH7;ZYI2N4b zICAi#5%RxR0pVNA0HTq+enLcj(8Sk3rpk~IHp@PvL#bm=8E5JRKNXm&!}hUA=wA`} zy&gL%Kr@+ukoVJ~8El9KJ7DN@{nwTHtc4dR47wrsw+uq1=OnBp=%BJab397Ds)o?ow&Q45>9v?xEu2+Hg(!RGiRP#wao@;T9!kP$-?(lx1JY6<( z>gbW1@blvQE>sH$kec)zhsw!?O&x4?bBz0ZsK1`4>yv;POypUO` zA?rL$6BYKaW^DLOib1!u_v$*#85PFSqI!=+!=SU>{(tY!{@=~qn}EHdi?|PjjzvR) zssPU#wekq}48VwJ3?at*|4Pp*p|3xPRmGxSsDc(2F*b8w&el@YdEgs_QsN|+=q|W* zF^<&;Dncn^`G;Q+%f$0qiJ-dmhpnX@j@P9c3L^&$;UYa!ph%i-(w9RdZrI-B4%I8b z9Vu(=D5_9JJfU6}1yJtk0y2>b>xqR5Hy3pI?J~LNeuhpo@aI!ZO{Vv=5aL`&Own_} zEfP7N9lMFxv2eGhB~3aNgJbv$D4e%7#Jhrt2tTFinctY>5C-BRb<_;SKZRcw@X!aL zi}W{aTc8KE-{l`m16<2rJhS35Owtw4o9i0V*o%aB>NZ7zh_i{ar=&0An!$9Sp-uzv z8ahSH&CpD8N36tJnPvO~dZ>Ok_?CI@O96@KVkb-Z?1t*MXQm1Xu4tGs`5KNctm$QB zg9G*W{@peOQ=v;9Qg5SKH?L25${`V>K|1zlHa4TbO8&bXVixNeew$KHhT=pOY}Ya=p|{zv%1zRDvnN2nVwzvQ7{ zThAIkH3F*n%DWmbZ>zm|?T_2La4}B`C#ugS=M)HdSZ&<3_U5l}4}2^%?W{NV4gPH= zpd0-6=?s}gEu|h$!jB)@u2cW@3M8K9^^zft)fNn3)P6dJ?djtp!f@;-t{;8gfzo;U z#rPeiD9Nc8PU4wzQrc-beK=JBET~YYeUfZCz|zTCECWM8oB`-j52vkoo2q6mw6fM7 zLWdOA^cXaEyph1@!vfsrvZL2$Hf!!|RWM9W|x~&vR}%^FRIb_@!IDZek=IVp;TR13!S!CagNh9~H2J z`1qF&JpvCkJ?s8%55Y8q#ap5mrwhpJ>m|I7pa{LTI^tOLXqoAjoC@NtxQ^_-zmEcC zp`-%&;SD%oRIQgm5v{AZy>5f{&AaYbCrLV5W&>^@?aY- zB2CJ}_)6~E)SoU^@?BaovsB`3ZFh0%o;FrK^UNj6m&VK8B-RlU9PnV5T^ zQZgbf4X!sy3&no%l(E+;29@YoOduT)DjYm`<);0)w_E)K^tMJ`t*R4hK_Y#OaK9&u zVU5JbZeoR^Wba#XOhDSeKoksleOb{Py4DSu0sKP)ZlIUQ-YUu0!@60yZ`y|!o%9HC z*xQD_nui=nqr`4|Z!f&s={@SGdgGmed^k{e&z@)zOx+-s`=ttcp-r*f9 zSe9(2;R9=S0QmUI%{>b9RTMHX0goxtRJsxQ@Y-?{E&YDDrSvXFacH`A_HAN>5Pn_= z2gJHO208+r58%9QTn&Ep+@z$H2`n|BJ3dHQY`G$%X^*|P{3jXO)}5#F!qn!pu>VKg z+g6}d_Ugm;zTrHZ@i9$T!YEcD|Ngw)o5)Kya zMdxSdluP8jY+o-(*;33xLj3R6(A)qo_RCR?5kbjx7pATtU0xR?l7+X*HSBZ3v5$TZ zU4M7wrkUB{1G{`9qKpb2))$uQrFs`abPDisdZ7Is!SoxVVu{Y5aTCl4Q0Z%q)vKS0 zxgpye(EPa>@GjZZOA~_gf;Hv>PL-+QJC0gUnt4NOPX-HorUK1aZkeA;~$hBdXa@M<{P<6Ant>3Jwam00hl>bGLsW z0KTih-|l1tH14ZR8wu~sTBxp}#>{{jXSwOXJ~Xi3c=s7JJ+eMry{-i($;~bwh&D=T zEW=Nz#M%epC^do01+=HqvrRD7v+;Ej1Ar`LxJq0>?ktX+*&ND{v-#N;z{e?Fjd z6#qJc6M>{BVlCT`d8>=F*}s313MoN=1Oonio3Iec$U0zF7%@e=%5;hV3e=OzFXKp* zhoNk42X&h&QVv~XVFCJO#EmI%8>uY238e4RA%M6AOi%A}eXC?(ai?Pc7K5?i3BQ=+ zV!xGdE!H@kWN4@*YGwRU8+iYLpM2=Wc^`P9qm!Xq)o(no@SS?ttPg)aS`k+MfX~&- zW_kX-I5~B2w9NaP2b~ydqD>_r#=P%L-L2|Z5)TXSl9$-5uT+Bb$vXOykB`gyRGq`% zwc{QS#u;0!Gb@x^tS0pS>HT0BKIR|J8I5zlPLBWFb^CvVD7(?L2%r)x&J?J7p>cRs z2B3;Bo8Rx!wdFiJWkuFq+sJ$WysHLR;hy4uZBK+&Oe+0QbrQjUgHo9tF%Yp-LciJ` zQ;ITIO^cbmSwhv0p|;WtL730^!|m*&k+c;yUZ$cbf`-v;R*9)+6;AXrPp-Eq(r;kZ zEG7+k8?5-!D+tuK4cfWnJCs}EkDauz)_1R0%aY2Yx!&3#&eB1CnA0(`;?489lOMQO zyU;P{rib2@;WJJ%Gu^XZH5%9dz|7Yy=;w^L+O*D6=fz7b>NTq#mg$mkP^66!=^L){2qPf6 z<^6{kTzZ?n-tWw8Q4(rI{%M=;Cl!S{{_X^_ga!;ogh{enXET1q;jo_Pd1C^A zjo>}|Nc8d#+=+1FgfT75XcDLv46xF?gI=~KfQs_DKDV|URgoFc47lyfCSRAS1k9kq zy&f3D0FjTOTiP?@8-zLj&Jf8yo87DfYIFsjv96bKp}!Y!vc@MII|f$v*KX-&2fen|?sEQ#0Z9fsR{|2{B2ISkTq93l)PK*9flq>7tZ5b& zcU;8~5jK2;siW#h09GLRFcdM^$bqb>7~9|op(lYgu@sPTnMY6wpSZu~GK8qIyksw8 zd(~YHgvr_u1iNGX2=YDfJh@!WU&^dMG6znkI3|z#u%=e?wQ|ajMaRIFAF}~7=U6q| zdyYf$=rKZa|3(}If6?WK;f7V2;t%UA3qryZPXf(nu$v;M-YL(M8WLk(Bb==;t-O?g zzn1$2yBdV5%Nvi=LHQ$wV~&x0&WJVaU!T&mwTz=X0Ce9QyV-S%=EsV8eSbpjo?KZkP19JLi`)-IXS47aCF3A2Uz4$20l7pN;)XR#{DieZ zrxnB+$$J>Kl*ykzh-J=khrX#@PJ^Z${bcQPL47-7+4Tmsq{ndUYRIGF_ z)org#&~g<=qaGUiY9e_e`r;_`Nd;orPM(78;Nw@-h0eGez<+mhjOMql6$mGyrKp%L zZ!Lq3If`WseD%LQj9%*7SjVy5-Gu!evK_c6=Qy+`uE4z`9C}~!7a1$`Bt(Xf=na)B zsY>@0Qzu2olVgB9=MT<6#IEU4lx4i{N02Q9ar4Se8nK^D4KLj~qgVua?XUy!Z}YBy zl-;SBeYx9Er8%2$oWiRD#qZ9jI>>aBQQTP0X!P#p6ox!(YrH-Af`1-@4M|Tj@*@Ap zjY3sibybQvev~YdFV2M9bly~U*P~5bU1NFfWqL^evdSB7K-ecIqp{Vwfw(5-%Y%vv zR?yNMIauS2@1=MsUM{y45DElaT{x&^ckSBAM6P#ZyuwY(w$UJV_pLNE-uTl~9la62 zpVpiGz-v`15qKC(Me-WzBkLZ*d}F`e>uyQe+=UE1J|<#dJY!Y)|FtLTf6ux9_e_nj c?MH&t?W;ylT&e^AtF@yn0FkPSf-V4n`LBt_j*IcH5;KPX1pqJr+8X+b z|GKOI0Eh;cixns#L}La3sK|izRUkQQ8Ct5u{IVmHa7OOmaw+A_V;uR3k%Ci`_|jrdv$e%i-`%u1km7O z(g1Nm6hKx&OfU^0n1+H2h|3BBLcoL~xR`t(ARmN6hJsK80#qTy6oG&=z=R516f#_3 zV<4`I5LiJ7q7MO?fhf#aarH%L^hH=5X@K@zKr;naS5_K(308kDLTe2!R~1|sgvL`F z62-^rs4WvGMCb~(_c2z8laUEC)Hth-L(G~Xs;e_t=~whIx6UQA3(TwGj2LP8)ANI^kCLqo#~ zq5*@!tgNgM2!sy;=HufN;e!bMD@p5*iYGGBPp>G7<_33fd|X#tI@D8X8ay z2_a)MZEbCReSI@CGkY^_C={yT>gjK-ZEtVy=;-L<2z7OJ_4M@g_xJw>vrY>0tcY?= zN=nN576$v)2#3R~E7B?|DjFLbM@L5&7Z*oI5!>6_2mlO7flC3xr2ym7uo8l~2*E-$ zd?FwKSb+v$kBf^*K>?(pp#Xs>Kwuy%n1&TX0fB(IAgo|6K0Yp1AwGzR5Eq|>jEsbk zih_u?hJu-~2GmU7-r5+2LZv>AjQqDVJau2|0c3U;Z2^F&SE>rK`aVlXZ6md;s=f@n zCvNg{wAE{^(t!?^Di#bGO&s8YkUlPL}mgX7YC$nY7zsE ztQh})Z00lFa{tqy{qNNJ>Ge3^pC-9XJ1zVZXtV8_|MZ!FA-&0=jE{HeQyoH^DP+}x zuz;g2^`ap5I3~JR>LBPVw0|VL9x9*2ve^iE|7K>R{WFBLQ+d0|)6~}|FYK2x8qk{& zag2XF0yzq()I@7Cu2%~$v3qQ2zJcVAE#g<7)OHnGJpMUe%H zk8T0}M@Thy{P1;DjQ3`5v9o?pr5w##&X^&IDCH)xUpDyK8T}u}SEWgin)l}3n?7Rf zJKUk2f$b*#81m>+Ej%aQME~S(d>(qJB`hd@?py)?o|#UvUNEa_I~~PD4o8b(ISU)Y z_DTrdCnt!|S3YGg*ymw4G8n{OYKSn77E9pFyWp zRts%r1^I7?wI?b_g>ZpS=|Qx61oj`Xs}lpv=vl*F84vRIu~w`|UjlfMsy_nn^a(^n z*}&8$N`=w}=>HqW>KXUYK#_vUMm~v;USR>Xj9G2jTmCCjk?B1Xv>*9S<{6kp`@A(1 z@NYGUM4j<=JQLYufCOn>91m&sm5NdwLj)Xa|1BZxkwyHaRvou-*1QH z)&0XIVW&>-@3JvNe}+*dG}Osc<=%oi3VJ`r4rHS{kqkS9Q|VT{MZMaTL~S=kk1FJu zK70c1;{Jg7+Wp5;;z^$P*u*y3{;}Xs#YWI|WYJxg?Y#;AlltsJFxs_b#AzBg!5z}2 zHwgK{5@4sbsRQYRLRhQ+X#N9=m9t9u)0?I5!;kIAH+j1hH_xG->VbXaoJe?i>~Mm( z#ri}~;y}UUkR&(#Bjx|h(Hl|M#g);@1$&;&-u~xTRXEjJheJv!s!TPpH*xcU$%q3= zN>6oGUk?Zbo(5K@^pF+=efpVSs{eVf*FJym`1!vD+Q8E@dBB+yoj|4kmHN30HVog2 z@6QdmB3p@dQwacdn|BGDQ8nupeOh>Kyou9nHu?54mA$;sdRmwu> z%=FNIHnK9MAgW%|!VNAYh$X1Bp&6^EkUT zs%%wAT1VQUUWW?3D?hzJJEp}%>%%yFq@xAYe*4d;KALnD4Kt2UU#@~O2^0qJbM;dw z|0>7iz0y&vwB5--_MsriW9f+ft|UIP9^X-Bj6v?on-sL4`L&qK(b9CUIyQ_u=IAe8 zx7sOODwqTGdGx0?#Gl3g{)bJ&q_GiQ=#z%8(}%mY0~3cD?v|HIUjc++JRgc~d=caX_xAC{OpR>7Pjj&Duc8go=| z9?IjFMe!Ry3VLq{GYz6C0BB;O5&lK5(4V?FUN6>?xaAzURf3FYC!t9|)DhtZ9AW|c zzNE{57HTNtxdCWvZp#4$?N*+ zaD?~jlm|T^8r!0%tgJ!pX*0&drIVWB%x?7yk4%n)M|c4b5tKgQ^j9@*oUqo%j|+gC z&*nVT08{}`&*nPtoHsnJQbn*n{CgB-l%|Itau;6&n{1WlGv@Cu&N(By)W1m+7i#;c z1rXU%hmEU-C#>UvI2p!>)k_&oX3f_~^&D<#+JSQ&KDq>;z*7;|^)s_(qnV5fddv7YDp>I`VI5(>8CL4mG zHse~i-|897#ogX9-B6PQYwrVRn_=v=^s?c z_*oN5FdoX?qr&T{i_B#M#<-;ZOvc+XrnU^IOJHTWzSt()B}~1otp0g1B1{NpYBHYS z001gb(l=Tz>gNOIKujZxPkypYpVGM^1EKG@T^83hxovkNm3Kph(F5(Ad`Hm2iX`1? zBA(pHOk`A}q$t5wv7OcEd?Ns74!w#y;~kcPYNZ)jiOHe@^x*#-Jr`EvJKixHHjMR0 z!wD7W0D$Ys=v%Tam4d67WZ63763RBY`ceX(vn73>^kg0tR2(x-ww72+|h+@ zPj%q_dk=vN$(rlR4LcD(&OaaEfZbAd9yOZ$tyYhFm;-^;c&Z8En7pte)N2?Pm`u8p z7(Gx28}XD&Lke$epzba(41R6=t(aDNYBF@))(*I0ZsU-eqB?be<`$K#UOh9B(pQ7e zJ6aY43muz#ic!@F!F_4+OLoJ2ll`Q|@b)hZ0qW*A#YFjd8h%RNGejE^aa>>+O^*pH zs(Mb{fc=xb3?f(1Vy1yZkjCR`2e23|ts=(Z0N#idAj&}CSAXLSR=Ct zdNOtQyX+19oAaV-nCK{#P!R~PdwV+}?B?a1utE(BSSSC|h4eFLuT_+e^Lw25N0Q!1y`z5Nppis(Qc862 z!~+Vm3hLy$n6enI_9?*|O~HR3X0l>GIuNo*VMqkaX>^u(+n2P zd@4U8QqlGKue@!qy3TnS#K%e{-;t=Koj5esbXH2bLvW+)AG?s+uxN}VI@eIV&tIS& zJ>u`vErMUdh?!*F|AD5M4EiVNlGiq_n_|nN&@WD@fqHM;oyHLB)9qN$9rw&E>9Xz@ zC260}5Na=1)~1{zizH)50he@!w`lcuU78=ou$swgOQhkdweT>R$qM*NI%t(z*Rkwg zoiFwg{rmMzUJ7P1^Mkyu)EEboeHAq^zqZQVV0Z=T=TBWhrp~v^)y2v=8iN@9t<36( zx9?2ghT}ia9-CXxI$Ft%RoI)Ei^}&NK?HavtpTAlxW@dgsC8cv&vp zaEbApHz1kQ;c2f8N}Q45=oRYOEkAKD;)0B^mU zaln8_n-IoUhB1;nAGIMSdLg@s7-b{sYI8|%i9ptu%>EQf)96pG`}o~gkX%{K21b22 zmcLAJJYg3@f0A73SD%o6*{ZPTKo*_CAPU8W4SB!SzJ$(y;QBT-%X^XZTsCdq1BOEE zZ8De0UcZ>bfX?_068y4f55QIQo2wN&3Y@c8yGq{|ua|HMG==hBdDv5|*s;kq<5wKE^6vcsdd9!g#e=Rr_3r^84sV3x!_9G^Wxze)&8sR z_TcxNtT>81g5|O0IAmjo^L#i5Ln~H<&q(RhZqm(Q_?QA}!72(mo%lzkf2hK5;9;(O z;2WMK^21y%Ngt{%kkfliiRuh})*{rS{Dv4gXSUOJS1z4M z-fnGXi!8I#{GNla@+-wmfO>eLT1l^JTQ2C5G3?&rDR+J8W2!pwl*kAbA6DhADM`l4 zo&o7(Q~XwWM445jWVNkpIS^x_l^2TO804%#n+!&Wb6w+ZE7J6@tjMB79%Z=Jr@a#X z3|pS8YF*{?BPRZ|gdn9#*vMYI8eFzUmjpKKoJoi2sG-s<-RAxsL*UrVYqNDlzhQK8 zS01Dnfe&gAb+>9{!A}FBZ0W%bd9w+yYj(cpleq2y$oaU^VbsBGo!;f%TA%>_hw-cr zIKu}DxmHD*r!yHrU(4tUb)rzRkN`Qe@=phh(BuwFN>(Gqd50@lxy_=wJG1lqdKh{u z_U1wdPizB8b5tIoP7ta^hcw0z;#JdD#KpV7j+$P|aJk`MrM*%X`l01(S{n zLQbGwSQ~#yy8AlwlT9$pg!^Z>tn^#c7s2OanS)&){SZaM0(B%k79zYN?f}H;dOR%s zC}_kpVwCWvuI=@o06zo%^JgPou=dJ(t%*a$<*|UpL)t`ru?22bv>MPD$Awn%Cp&kv zn*ARvw1h&7EZD9ZCEkLb)Uwv5Dqst_v+RobxKi|7+OSK)W@h4PVJZy1yjn)ywhOCV zj!7aWdn7QiRS@Pkc0pBV_Tajx`cz#Qy<^IjM6qxhj@Sfg>oxrm@O@UITo4cDkkE zauoS(p*0+PT4CWWsuOgZ{{w-Wq_M`T=-{2=qxk%BdO zy2C8C9wiom*2~wstCNHTi6|VRu8U@F`dWTmrse+&cJ|(&JGel}-`Ml!<5ZxI7?ol_ zUwpvC8!Y^TKlrkC1;-5e`Br(bus}V0h%sqE zvH;VY2El_a(Di@{fwSPii5Q^_6!ZoA!b@#(6Eci*dy=|_kQ^o4d`x`1@L}6>P?t#1 zFjP9N<|1+1qDbdkC;C~NFPJEEq37LtJwEUi| zMQpBd%ort*eK%R3SgHcs)M|!NC8ny!y7gAe^E-E{pliN%>XUd{c3GM*=OJw^4aEa{ zldpRv!B7ubMH%zuwSXf{G>*KDRtYwNNX@a8Ko1cH5}amzZ2i4G8UQrZ9&@vagC>fv zsK++VhVCaBN8Rq=jB6!>^Ni3~JbuBj9SgfMCL%MvU84OKRHY~x#Lbtok`@Dj621=>l{!>94<*hegv`#Lx4?6%c_ z(uJD<<6_|KMc{p_hUoajAg0fd5;-#6fnfo05QG6z%ObWVx`hvmjm1{}3|2q)t1_d` zj(wh4t~tS2cTi~X&ZDc3<m*r-506WF4B&1gG-0T*Vq@l`nz-}k4U!4I%w!)@N6Am*!a z{i_kCWs4MQ3_|$DMebZ~8uDPuGTxea9YBzPx^@=dD!P4-xlQT}(cyjzZ zevmNgF#*LzBUAUK)Vz@mTYB0ZmUA*ZWwrwtdz+%~-~)PmEV_}WA%ST}7VLZYt25qj z!wUEE$tu*Y`ytpj>HM%=oA)kUZ$U3A7e1p#D$q|2?!^b%Se`)*5iwD777MNmdQ7%W zcrTc>0a`rJ3Zt)3(VB6xdj)1=*>>wbP(pE4&%FL16Peg za_UM~g3uIv3JRXGLFGx?k#1dT2m$sJ)d^w%m{DL8c?k^owu~cYbB|-bVjU;kc_2)LM zK`g~m?6t?yw5riGiPO=*BRlr9EMUg@o6a_(*X%ir57bKP0tC4tH~+7$@ENGaNm}=S|uN+KFhG!QAVaTYCXku!(3iAx3#*e@Z25 z$~ z26FPwWDUzzPJ%jh!LFt6J!r4)XLkCO>2{%r+t7g{z(;QPWOuv~fSn`X02=Z45c15Y zyO+i$?3XE$boaQApHeW}g0gB}Os934mk`3KJlp_P^c4bDtAph)&n2&TgCs&Fk}R3X z6Fypewz!S!Fuw?YorU(I>8RJy?e*x{uIY(B;XLI>{~L1|Cx6Ah69kP>v6A=Ay%0U0 z#(r;k6^>z1%C!80$)KWFppPKSCq5slfZwcttGRfOf8*iwHOtkEXX#mSI}DvUT$-GJ z5whZ~z%uF^OXZ?UwamQ#T_+LC>1H?iXB{o}#zW23irBKQmRh2e15`r)q zImt@17yliX^~Ni?vvyHFjA4#K7wphFs97n-0&}9})(0dW964dzu$n;<^_k zl(G$p)F8MPaHI<}{c2Y=elA)Nb5?g&rBihO9x_i`g2_nPkts(6R>D>|p#U2KByc4T z2)|X|Xu+{W9!l~nc^h!Kj*N}zB;Eyuhi~51IT@KB)yM6tmRbk%C^3pZsuP5R@7L_4 zef0n@_}yt%)w;lHV+3dv=XMztrRynntWX;Wo4Z(UD4FZq2R%oQY9ibuncdKJ_m>(7Z)e)*Ik{c1@JMY+=hL@3Su73%|a_y*j-(tWOv+8q=jn(sT~%a8SGde8$OB5&RiiQacNS-1ZIO%b$^(vP=GRfhb$TBDEhSP zc!PEw-K-9xehU zrYIpp;gS~_!hCZOL#OA>&(}91k!}QO3{QU1*)&N`zKlN@q_R$}PZ@@fY4Tc|sx$OY zic2t-;=6IDj05;0aY)&bU=eUOe>6yw3dmfp6^$7f%;q|<*Km_>Y+yDlO3e4GFa63~ z0k7Kj*}UB}riD#H#fyfC7fHI^afBS7%`_1Nb2ox2Zl8_{d&k8zq#frnFwiiw{;C+8^hT zYpOL@7$;4Uv*VoIv9`mqu$!n{7$nZ$bYJkdeq^JZmR9vLHhqtiBt5$vpHtWr7c?ll z?cFfFCQvzIb+}wGiUAc6YlwOO%Lf8)OR|wwx$Y&|UPB&t@QS$*fS;FoSty#IRVd3U zR6EyD46oORK9pgf;T-`=?c7bZ$#aE)3K7Ik>6jXO{yVGrztl_iPG!kexRqTzlS>|q zv_*hHmL#tI9jqS+O6s?zQMVND3=QPCx@7d(a1G4bNrN#Ov8I0U0lkwE;S%9dfmw8N z8*+NU;|7Ic5k#6)j+ru?FK&n(ltI0M_mN`!^S157PDQ!7@+;? zjJfSxsg>-XbKinov|4z33t36>*F^8|>t2b@cMj=sf<$0XduB2B=91QZ7&^Yv*yKV{ zuB?=!svaV++iwfwYTfbF_6TpiJj|a+?eZv%4UwoB3=3VRkjf>fV zUy*u9RUJcZ;?X(uxTb$$JHR-m*hTmy2_BZnCuEig$-%m@<;2$+m$Qkxf%z$E&yDJ= zDvh0voxo(d%SiHjJ1oLRv_`(rC+pkN3brdSP0POau=lFoLet-hj)5V9jE=(yx0-Nt zI7&V7L!zYd%EQ(2Ds08EDf8Cz3$GkZVURACnQEKT+oeOih|M`T(wfxA>@uKrrvg||+h1A2t z@qfPU$n#-$Vq^;?t65`~JL>vA(kr_Dj+vE6@JUkrBWY!25lJ$T(ef6>TZSLI-ECq@ z*I8S{Eh2I!Ym$S7%lJ8LMKZqwhQ0ano$HsG-rYUgx1LARMk)4~$ZpGS=Ue<)64=U^ zOQ2N{s-*)XVs2VDJGp3|p7h>=CzXmW`!hF&)M7z;J?2OMv<*2w_)smrE8V*eoQk)R{~luQ)^tWHd|tga%FfRN7YXOJ z5=yC-kse;a{D_rgOZYObN~{AS)Qq~H(SwL~n!;KfDKXx8g~mLoM<0Nw`$cMWp0(P; zc5W3EG~{Af`2*K!TDmIZQ%KMMy7DIPVd5LzV5TziwmhXFJ9lE=e$Ilt{?&OBxPyCi zQc%LeXKkxS1U5vIDBfPg!r#f`4GFX?8KBG5(pp`6TJ2z&KJ??X?CKbJ-C3bBX*mDX zl9Prx0HqP6{=@H7gq}`*%ub&i!Cqn6_{FB z;bR<5qWmd23Vfs&_=P8$Ss^%+dN5+k(uD+nwT3Q41~Md0q#*4vZuW;dd*pB9Z|YN} zdg+sd$o-<(d?Ngxg!#g5d9jnJiI-j!m>IhPhe@kF^>;RV@*7p{hUuUASLIw3#tlzb*JkR>oM&R8Bt_M#i_U!j3N%Q&wh|HLu&NDtj~e z?Zm$<_d*9Nyxdf&uLt`8f(ZiECEYbsvhAR1clpOo^*;k%_Um=<_qS&Jb+HV0y;D&f z_KmlXI;<8U>Df4a)^*k}m-usOjoBPec;yWjwkA5uLEtmJ1DS>q4ls95dk-aRtt!HK z8!=qGp&mE*X1^dd-w#tKYmdal6X%1w!41Yo%<4CupBx!0MP|?%U8dZG(@N%Flspf2 zD}@+TKTc^WHPT8Hu(81?z~>R8w_A5Urk)1BmRbl!e-^zM%EmY>mg|y1y^VAp>nc=^ za~vo`+N7^I*>aR!pr45NwdFB0Jzw-pq!7->BO|m`MQ4Y*oRWUDqw$P=oXb1>Tu%~1 zN!V{R!SfKxUsv;^U1)Pd#ckm1{oHcA58Mkv{JwKdY~!y*!RA_IGI4iT91z!-|Az6q zx{lX-O7`_HQm(dubxIQ%m|*;rpaDznUWEK1&Ri)2hH|9nWo(%;aXaRWYwTU-b7q+) zsB$`d=slfeRzlV%Z-up^HXiL+rl)s1w@3Jg?+Vr^pC)W$gVej;Tm7xZ4mW+B^9jEH zdDxh`cn}Rc%~kjbsu9K@GI{P#_kF#)X)n#Snht93mP{Sz^zhMY6F?+;HXSmMaawD6 za)}$%?tcdjvQ|%nH6wNvb)bQ_C(0#+6E!zIQ@KV1z9h<%Gq;Zevmt|BC2Kv;o5VtH zusR93Z@TysPfO6HHyf-!I9CGr5W6{qTscN$OK=uu{!sGWw&m32~ z$65FHI_Bi|QsG!r#!n5AOJ4) zikHJf)nAPS|J-&9*^N?Kz|;j0Q#!CTJRW-q_}4t1o3)6`H|q#?54v^j$l%NM!?_V6#ZAF%57U1S^`fcz20NGJjOTIv z{LJLG3?<7VE5jMrpF3VBNt7=TL__h+2N=jQ>l~ygBco zVd-qZ&9<;{QDAseh{QQIPRiaDnwKqoI9cxi2;9ow=3Tmpv!=IEjz1(sArcI)wd*ot z<3Z@Bay_7%}&kCR0kLhyJ*Nch{j zmf4A*v+rb@VC})v7R5pgQ$TI>SViTOq#xIsjRhaW@QqClk{hYy_;bOByl+1&t)o0)%PQ>0aUx=tKsss+H`ZVCYR$`@kRDb9d=Zi zQo|BDvFy`AKOxaI{G*Q;E1&E~zxbU)6v!9_f@4^=6FH7?qj&-zW2OBLlZ$&LKi<&Z zFp*McI+wh8lPC(zrtNnGc>)zkul9&sDoA9}5ZXlT@QQ+9UERW}cV916x8}0!WOFd8 z#Vz5#(ux`7B=xo$NnW;jg`|3Ts|{>`AHF^NNLtV2AFyw?yfydwDhcGp+`*E)mIkog z3Q3aOUnv^k99;_NTrZMA8m_;&Zn>Pk)NxIYdq*>Rgm?ftkF7T@z&`uk(F13`W?TJ5 ziyExsn6Tnb`mJ5k`8y1lS8p=7|2HKUP#4?G_ar`=!ta1ij2SC4N&2xGCm>{4`~{uF zYgwA|S2pi2Q=;C#9LS9My8kbLQ8kKz5k%kTpB)m+eAY7%%kEYoO_iq?hlZEG3(plB zqxumq&3;T-I{7<>ds}J32|^NiA!jgdzW>Xc?R^QH0cR=l3pjG|?TSyzv!WJh$OX3e zb6M&?%AxY_d_VTiAh;2dMlHFrlq@cR8mt2_&B*BhGyB=wmDme={~bKu%-_#QxV`x{ zzf*T)T?Z@EyB6VLqXTHeUz;5K%hZZ*pw^MplGF^?*=g+e@pwyG%0BF%~aPvbWl0Z!4oGNGEl2>{0On|WDMaF*ln`?YagJmv`lkCaL(etXZt}d(r&WoS~ zw8nf^oXZ$|nQv4dO)UZR1XSU=r%j1c)KXNIreuQ?34{Pk;jy2ySy317;QOIA03V|q z9xdCI!!GY)h*&Q5^vw_EV}H#++O>9g@T{9tj|_^$m^h#1l=hE^Er2Hm&mL{Ps zmC=*UbX%s5AELu-k^8dmGMQ(Bxd;VxDF8X1#%>XgKKXO!5HDTHh;$WhY3V9YI(2(7KMGJcEQ~b@`jw^lvHeap~+Yms=&C&MaoM@65;w^t2Ue2>y{M^qaE>9qBKEs(q2E;19?M zfXO~y@&FEgPrYS;?UGkiesw&xiWHLHLmRU! zHINi>-17B^XfhLBnkujY%u1_Mk_zP*BiX4v8G#-&Nft84HBmjnz-}Wx68mThgWOvk z9x0bDf4i;+V$;TlEGUyNfs#47&xpoOfzV!aD#k3!7Wl7pMGDKGWIxew9^Hn2P$v?sYUJ1kI)s=ikoQfey4X|0w1P#fkkyr5kJ0M3T* z?Tw!?D)o+x(A2&+YPS(O$RIJ*&3;+2Ku-hcXrhq)omPbM73Q8bYLX4;iJ;(|{!LW| zXp?&4-SiJe*SK(A;8$an87gaL`!+AG`6CBl&4~NU?JL zjLG^B_O0uLmNE24)k5jjC#jNYLH*CK^@dJitBiOE8H|-zMfiTzW#YP$0&$@?p%<@Q z!Il6Gl>F@2^g{9Q>f@SNs1MsUNNTXN?1LhIYqai_?~fNJ24H8GZ3Ar6MWTn?((cQT zx+}eW_Tucfk_r(=bsQ(J92N&KyG48yFAn0|Pjqr)kS~-OlYKR7fbVyY8~HJk!sLRZ zK|Ak$z&pf(`^WPZ$nUSRioS1IkI1a7qqEuud+o0tx0V4$t5MIJoL?jSQbRUds^kJ4 z{V{Bw=X3ZzHDkp&9}FVgW)t_nFUFL)PFuLnv<(KzR`Yy(tSUr>3xC(U`0$YwgJP%< z7HS^%H&@KwiuZZ9WrPFx%v4fD@q@zItfpg159|32%bU5an*>h!mcWn4UG)45bv&EM z2&b!Z5PSnOsHF1HnG!?gw*`77w)jQxNdVJ!QN2OB-cC|cD;a;{2*md4@II!Dvn);JqNbV z{7u#{sRNI;x5$ApBszw6nH@Onp58Ts34gQK_rQb@J7(|JG_Lo^M1ux)$)A-oXY^!4 z+c|bWH(;*o;qq<`iiq@QVA&gaKN>h!-F8Iow*Blf(mEeKkLIqgzduv-_nUl-zs{f}9zP z-LbHz{+7N;9oac2y;wC{R);w5{a#-JvC&&ZfJ9V;wvI-E;o ze0hOebj|go&SRApgQCtGW>G9JeBmo0*VNJTA`kVu$$6s6JeX~@54~~Z>s5xuisz?Q z?w7O_i+#fvvyN6hd3U;g(dXsv&R2_G)bGT!0a*yf-(vzo+hpOKTfJ9CE;iC(z8+uF zT>yCXa0cb;&`O|`CmUOaCtKAlj{Jw&_`$%oLw|gOGyk14gZTqyuCR5zb z?`A7ak}V(5bA)x8tmm-iXZel^Z$&i+qM zas%-BJDmAo&ah z`q4QR7z96YdL0*&exANF0lB5ZeBd_noriaX32M64jR+Z)XwYx$^?K%qlgBF#HE!s%-BGg$vJdb*KXWcoeQ&S~q9Xq() zA~NPLWBCf6VcURK2b7!7K}2+ICBWu+(U%&K>zJC}!yeYz8rn>b2>ul&>#WCLKYExT(17E{1Z3)cGwoD2a_^iIVJZqpu1vMymju;y+H))QsV6QRhQmZEg#};y5gDKrhKo zJc)@04s1SRVayLJ zaQ*cP&4T~2y(zl-6C`5?rsJH0M9eE7yKeX10D z!0_TslBK{wC`{Z{f>Kf6+w_7x*7t`}@1AqQnD+Vczj$uFDZmBK( zy0lU=f-Fae!sSovCkTOeWMU-!+I4st!5Txzl4B*OfKtCpPD_Z<>@2pYYx&ddGmF3a zPl?Z5(n-+JWg|bN?XYwbUIboeg1HJ zinde9|A^g5F@gqP`e+@fkh$JLKwxjRjby-`bXdu&E$C{Mn($T7c+x<&53+s;_()$+ z-D>ywMZlZ!U)K+KYN*5_G!@$9L17-j4!88u_?$t|;~PrgPx z?z6FT8KQW&mpyHS#(s$%4)$p^&Phf{v6s1H#lm=2(^FJ7_uJCpRvXrL)`Fs%HQng}sCA<~b+^~XUH3l;m& zpIceQsl&uyo!4z6)$p9AWrVS%f))8yiSjLDG8#0W*aGZ9y#!%jA}?|_GQa98%IIe^ zbUqRLc^{m>v!db5F6x(#`Td=8}^~YLHAf6 zHl_mpoL%NiY2@cg$x$_ln$mNfKTDfGMx>Z@3w^gxAWiWhlDZg?q72C-*VAxn8eWtI77bT9%Cl9^wB? zudn!S*-TSJn3coM5s;_QkXo}LUFEk$`+J9hm^T6$Kx&IpwgZGb5ENSm=|QO27Yw(; zUZ)p+y#0}LdCgbe9{`ZYF@-EG-!2NQf_{ziwr<;3vML8E|kY5T_s))YBU2KLTqsz;}-(biZPltF^~D;d`xF&aC~Q=YQOx^oMQ?{&jNcluo9%Wh8ZWJH2gI&AnD zpGb%wTJrsymlQGlYgn%WGtpoKxQeGEwUf-~(ur=(>XM(H1i#}ybz=Dj=KZ0X$j=!i zJ^yUH#x(UrJ$GS&ya0SxjZ9@*c^KKmWei74!_DGfIkW6}Dpy6APe#U`*dA%e=QM;i zIenzvlEY>Q{zT)r5d~a7=&=;Xu#J!sPHb}yP{zCQ<>u*9;0~^wBIb5ljt8=yf`mKw zm(-W*j{^VppgS++bjqmu(WbFEc2oed3mM+VJ23~Sv{s&sLaM? zkRTgmIP3ZFQ1v@T&zI(wO38F+{9*L<{=9-z` z3N^;q)20(gh()D{hl-kC2RtM z;sW%Kvj(q`ht|1l8}h`R=YEp14pogY`?UJ_;LT5o73)pBLFZBfqmN_l^U>Q<5ANe1 zTo`E{DGVc_<9|xQ63Wt$Cz4W#V6XgvGZs^3`-2h97DM)i49dQ%_Vg|M{yaXfTHARI z+>%yWJbl3+#9XLtwDYFS#F4r>9OFge7E%r47YDy;&9s56rbWgSas~=ekd>b{%m33a z>mG+lSXqdiBSP~Rg){A6HpHXp{N9_i?5U`LP!6UZD9Nin{5BUdqD`^`I#FW1Zg zI`Hie68c1SxrcpqDQJ_t+kKob;pgczA5UU3YXa@R&uzUW1iT4`vZ6NhW`Eyx4=9gd zt@DImysqvARmbiorR|hYt^f&6_M{jvY}&*`^F5nHK?hc1_z*kB+nKxTEt$;4^ zsEzFn?0>}kIC1sfLO4J}zB9K2-PVGCiDCy!;ATMeHnuZGM$Kx68YXZ<6dtmUc6biq zlKbSyZLs(86VL$aI6qU~`GAAqLN_FNH>Gm1%PmLncr*P+G~k0zeB6J%mU~6-emoww zFJOGzkK0(Fbh(VKam99`i=g`ft+_2{z=5D(nR!}(oag!>Sd-E*-v3Dr|=*>GO(to!AUT}P*l3;+u{V0=eIoqEg z<*0~Dz2UoOOMhU0i@TFh&P;bnt%;Ri2Iv|p2=>?d5niAEN9TEnOI_7#*Pc7-GyW7d zRb-K8nWYfy>IEQ#nfouxrFOhq?$S>EKQRpej_H?%V#e-Q{gP~tZO&Y(y$xYD=^qqFH4Kvc2Nb)o6@)PWV+Q&^95yL(2f!_} zsLknfu0g%i|4&Z?a5<&VDUaIRfAEcOXL%6!YanTh$n7P~^1L6+ohne{dSu6Nzy>#- zI72M48O(iKz|BqVcjIR1_3E`lGDukXL71I%e{KvQX>s~o-R}QBHuUf>DvWpz5d z6a(50VQ^B;-DP+h@eBq?^IINp5N0R;odJ9@?(xi<*Sv`S@;nAq-~VMPPe=WH6YPHW zC0{%dXCFHQ_!%*vPi%tywCCT)&H#1}^l7QD*{OdY``E`mb`4-3``C4^odN7)A73u* z^Qdzx7Y7AJbXR`D9y_2Y@~T{0+ix(XJga) zC8j@%Be#~QcLuPJWy-8S-Yi%8;eK2WzarL}vQUP2}MgSaz^bD92K zR@a!r$PvSl@sgNn*3W!AU7U1okXDBm zqd$JdGZhu_9j2i9bkb?=;MYT};zZSp<#P!zRG5xynnfI!QyyK?r0-yQWS(S%dB*&1 z^P#-H7CQsjb^WE|Gb1zj#jc9Kf>CGAag)bGycEs>7BA9~+s~d2v-SrSUhQYUdt~}I z&rRp@1=5c!)ltC*%11WjZ6p5YQ#AeQ{#?vN{gH8X{d#8rJMmwW!czMBVb8uS&HzRV zn3x*Sdu0h2a810PwTRH;C9X~8Up-V@j{nsy^LX-_bNyTfAR+~1q<&!GG+f`&$nf|6 zL(gbTOb4$b1mI(EfSm#S1ZZE*>-jRw9l9R<&Qr?VQ>^eCl>f_i1S(IcEFF~1pQa+RrL)xLp|~4x%AIu zhponP*X*Pypz^m;mCEriabX$$TNZ@M`OKu!+&Mo|Uq+;z@t}V$swx*+DZaosapwA< z(xymU+W8DRL~}R!Ee%+SkrJ9VMHUE5?Dk$lTgAAt`<;Vy8@X!$KPkyw^N-IFz-ayf zoOJRC9Pj}rYOG|;v!Qpj!xIHmm>3+mwMIOH2J1zzMs=Y%6aM90!2O{=qXJqk?o!8pn9F?(C693)Ki+k{F27rgj-1x9{ z8*j%#$uE}tp9`5ZOA+w(ZThD}JI7IR^*szAqUeIuZ@yy&0RYiDD_1zIJafNgERF8y z4B`Xu{Jkzv{Emk+2_}OH(9%oW-(iJ&{NJhnfdP!nVxoS5n1o7~LhPYu27r-t8y67K zKl0rym^P?ip|T(7AN4K#XZWcCCYZw~?WfGP=|>CzZ-G|;#D)fSYw9w8kzRnNnfvj+ zM@U3=1>^76^!z~nC_L2J{%}5@)$@3)oixt@axUJyDJFayFlfM=iBbuLXGA=Is49Zw z&*&W3x)GlKi^(MFSHqwEup>6;FfJ!ac{2t>A9w@kh zzyL~R4RW$RfdbG$Hc+e7O;?8|hlh%MPRGv^;`f+f7f6sW0ZXGDLlJ9fAoO*#FJF*) zA8Ylb_AB6aorl_#W`VCKtje+=-=ewRaQ0`u0-58typ=P+5b}b|{d4#%Ux4GC*RY8g zfZUp1u@=FWUoibgyH?*t|8f-mDNRhwO`X)qN)qQp}hoKJwD2RfwdtjKHiDWAQM$D&5$xrE+w1f&i0SEnS`mDzX90jgjKojuC zCH(^hyXKGt%N$kCv#D7`;?fOfLyxqefFueS1Aq|>8{Lb{{gXWq>68KH9l!yEd7chn z)z57Tz?{xs{~Q=VV47rjntMPvPyeUXmXJ}mZ$ZTW?!6FS{ecR^i8ygCQUt@dR$stK z1Q%)~gD;&`{Q+l^9la;~Lb$0XYVF%9C;A6UX;D?!NPrN3LkjG}2r`No05SyTOhAa* zNqwh*yASv6dJf?84`S!z91GCi@hFG^=-E}`^hB`hkhl;5Z4z)F7=Q_Xkz^c1U~!bB zG0em-e`o*h zS3>*o;9GHX zx*v{#m}m|1Vl~qVzM3kUE6ubSh}pLXmiS*@XU8d{v!d&~?ap z2zr>Oe*#Byxef@Ve?OlX{LSJw2ld_>MU`W?9`F@GKTmMFA;?&|09zsHK(d?ZUrHHi z!t$r=1!%VH8vyT;c=+k$VDwG#=-&H6Mj(fuV~~5k#7^FS-H6}9F6Z`^WI|>UWXwOF zR|bVQ4uYT6&Rmq+Ktj#@N1j8<4~|H3cG;0Y&P&Tds_@Je1b|Eq1M3&$FVS|_ite%3 zm!7Qurx_bu@ro*e6u5!|VEogWHm#_N=ysNKSGGVFFfjeIb0VxkMa(Hj{E@=Us4nXBv21P#zq+N z!v2DX9#F~KACb7U%8(3-K-D-H{44<_m5IV1v z4pDFsi`Nhw>!9%ZrUYKFzg0}+mnizbD3x|d;DilO#9l8};Q$R+;1LP@n7SW`0bG*o z0}R4JyaJGkIlYB&h?_`YGtGd4<#T=$82DAGT?VxMLo2uz09-S656CRn@ir75hrKVC zr`bXRB1t2o0ul7X!uQpp+705@i{Vcp_+zFloB`F`QeO#>ar)2cMAr2BP?(U0D#!-x zMWw*xMDZs5HgvJ;V z>M%iAQ2fyDnSgtZbi0LbDBaX94iG~O)0ynz_QB@R`AP7$jm&|`_ z5ltk1EcusX_^ZSFZmkUyf{cv;L%^5;tl%CMVIALI2-hn@K;DX7$g8Xpg_^xAR{r&m zAWsJpi*{c4scqXHXS22DuuMa?AY%YY0-u>GZ-kpJ)TNj;Yj zvI|f*)UOD-sUjT5;Jd=4LyrL%xchH|?JrYH-LX)92BDBr-V+dLIY5oSHYpFVT6tnb zY*~R&YrP1s#sZpH@)MwcwgYox8`y*Q;@kJ4{svbxvnXPB(sK`3w$;Rfrgk%)B;W zoQ>NBv&U`z<@caQ*)Q1tRM~Ycym77{e0ouI)8$#SzjDkTWWmt(gAqyHANvBv*v&2w z31auC@`%){FaX{YOF2edR{-W1z(fScPQ_PJ|B?F7rxO%(I?+2EXYtXxAs+#K@nByZ zLM}{DfOX#cK&Llv0ps_IOJLV-2gj-OAYkHS~1+e+ur&p`A577jR=JHb3L`LtP!0H{)x z5Z;agAkiGm^Qt6o-~enOf{*BUxQZaE>kg4~?7qIQuv)`ojTI5d|BN~n*1Kb+#w?mg z%{TtVe|b0|NF!hDMDp9TT8;1h}A~((gz=Tx&2!2>cN9zl(^BAEN)j(=q}8$>HuwbQPlO=>sZu zPLllsc>O_N+5WR|CH;mGWn`$ARb{F2Dq<4oA;xlrIaVOFlAkIOIZx34`Niw_ z)C|WbXk*{kcyYOk0Yu@4=NM4fZXz_nlfcx~G%KDUT@bFEbXr;fN#57?J>LCL3y;Gb z>01L|jZ6mWYi>@@rkc+4-b%HuYr)?=TU?`de89fhucB=l!ku+Qj6z7>h943HJ)*oW z;0$4Wi(mQ{&CwWljyQnsFDVLrNwAcb$?tEutAL}!FebXYDo{-JTn39l9hp11ry@24N7>kIDgok5uWH1 zBft(LwK$XT=L&-iDqsL_-=g^MEh}g>BrB-uUl9UG4El9O?N8Z=;GAeyVgRuYeu_la zIvXG%@MbHJ;B)Yp1T&1iP3-%{uWRw`|L{)y%134%f*(wYb{)Z)f2lm=|a^4jV)>5 zm;;no(-a(#YW)StFN4S^xb+!17D(-t(#JpcF%YgCD^nPcbbAcwMVtB|bBsCE9#a9& zEXF#*YI6G7ZgLT&BM7WkmcsGZ2lh0YuLI)&1gf&Yx_)cthd?9ohRm!CP>KxR0QRue zZ3miUf9?8w+MyO@f$;P&_HbO|JmGf7X}NL@2WaAJ=-}YYqxsjxXAP!s{aa~N?mkN~b1_sI5r1BR$(iHjGFREy*LBVA*Wd9+JIYyeTdW*JZB{8zeIOoGqYL4A z5Y!2V5plMJ8w`;Opxrb4xteS9AKku9`)%c1=}Up83*s(+pa@?Sy>Y>APrR2>c=d;W zFjqF91^|b+CxjQy0`Mf*;Ya|E%QOmLxF!!(0ggt1D7@59Vh4d9y+6EOgwKzz$KT-h z+ow607JwLx>d0JhW0fnrs1hN@4Ai8|GJrg{;=g^wFQ2R?$qIydC7Q0E&j2u=yiFdlOZvIw8U`2Fbf7f*c%+@l;kUiV)e0m^JGpPA0@l6~zWlp-F4 zvLBvpSu|%n=;X!y6O?|uC53B5nvN*zvB(O)TGs)Op=byD5~?6qBq%~}-k@Sbffi8y z=h9v%7=sx{HyjBA8E)U-kHP_Nwi8%j04I6!C7I8gSl3?)@zoD5tK$r)68tA-16RFJ zTnZxa9#S)nxDpwX5aC~;Di*+QbO4dX>h+4|x(>|ruc8gYxzmzNOAj%}RE!r)$YpW$ zyNx$dJO*Y(nO%Fh$Fw1UW}f*cjF31ZRLk4uBysAEyNs2)8*r>wz;#Ff06j=iLjbJD z4>3L!4@U06cUhMC$ToA>foNBNSBBBVoF}sLho~mnmJS(_b8QfXD?Y7a#x`_$5yJ{0 zjJ3A_IHs#g&~4$$Fu}f*qU*B?tr^Ru3PpIMT@b_}qQzb1E#_sQQ$!aCf(%9&BR<8D z;u-`v&j3IWu@#=@Zy_H>WISF+wU77M=Sfi|}hd-^T z#Jc!bE1BPSaNdE}7f=}|e;^isc|!8WZgC=P;V!Z@BPjy^NGt@gubJ0ioxtUb52OO9 z;14K82x`2dgk^O}tMPfkY z6xV2PyS?v41)hDvz9C+sC~jS_KA1rDjr&@7;w@sXL`TqT(RX{bO(dkk=;T?xPdv?+)p-=&_vfC_Mv>!_;; zz+ksD%g@G|*5;o_cR{wh|c2yG7-o&{JgN(um zlWp!r$Ou@x{VoMCJ{PSc-4=?3W*LO_JxZ_A;6_mpkVvB^ceN8;`4*W_!JE?+oliT=XIK~P-eAn}wiGtU zqYLQ-IA1{m7?(CB%umCM7A5LER>o^!36Kq~!4-j@?9hRf+XpE7fi5nJ_-cuDBMz{& zDzI?}fqfQw0%m>-B`?HR-#6c1r$D@3_Bei&cr_@Kp2d`91MBKifPYmFygaIl3>t*^ zp=s*(^|$qvC)6%94Bx>j03F=U5?DYc#jOId^x~>C=^hP8xmFJ%3O+eL(kx_39tvBIo*B(cw_`8v^d+k9NIrD@sWvHjn`o0t=V~@?MAmc}TUsMf`yY>4f@q zkb8;L=e8W93<5p*VTB@`1rV~EGfXVy`#^j~Svz-Ku`xj(gO8LXgk{0ZZL&cC83O)Y zSVPZlMW21t@y6s3>7#oHzP74ffsu}O2lL)>YEfw3pTWGE4=@77>s4xpnx%iYRsEBu zeb+!#-@X6C`+qRsnD_Pj6)7#o(LXwjI1c*;3Kr-ecx?};YenH(2Q}!-s`sLPhi>$)OZ zo-bUKR_>Wt0M~B~2U6*i*m9)s2CAw=Q<8G%z(uW|s2t&E^$!Lio^Zm@ls_iib5s(Vk~ zg5A&{rm!we;eEM_Itbpj>Y*e}JVcacoXZn+=yiO=fEX_ zwcUj;1Oz6HCHL~-!9LZl^36kz0VrIe#uef(MnIf<63@RF(jgrNA?A_*`aq6e@)v~g zbLN0z{ddL!*oawm9lgI#gX;Sjnk*nb3+#hVj4dTiX1Heof=U-{S;E0v3Kt5Z8hkFG z;dwfZY00iRDsU%`ks4^3pchc^5;~<1;?s=!b_$`I1F}$ohW5wCkVAIbAFHW}wOr=` zIfQ8`ij2tkbdQHy%rMI^37<|C5LL{5OTnXv@)zNFpblLmayYxLhDxt#N`G@(UXpZv zIuf>6WRGZHa$D&0nW_&+tW&S@+$*sU~R^yBR+==0~7&J$JJZi*z0s_!=z8+BF zA}xC^Kn99JD2k%d`Prt*O?|@%(1!!Y(hoi6f4Ovj(gCcvZy!HA4zvkaboJ5?ZTkd^ z%)oL$Z|6W&!Ew`$M`7;nQ1P*cnnQ*d1+kYE_Q1O^n`EczX3R9w#~{}$^NN${{M|FR zB*4(Np{8=Gna)=zSyBS<+H_By7}?-AG~nJXgrW!^9$4y0!8xC#5Q2Xbyl*FP$pf@; zibyE;;V?zC%Vl*FgyT0>zaMGP?B%X<3Wr6OQxp`Luf#*;8)Ns8?6dT!phCBMj9Re+ zVEjNhy&6^8O@i}4`Iayx!2pq^uTupe{`xBY2PuUTZVQDk(>tf22s%ht@WzI&MY)@} zZ690hID%W-uqhJHV7fJ`oz8z}f;*wbhG#ieBFjsO0YdPby|x2pMGa826;Bcm?Pxxc z2XHF`XnZI>N!)=FtruOGEdQrEhWm>FFjH*e)Cnp{aT7S;E7)^s8E5x-wY6DWo(KX; z+?D9W2nAT0o_s(pPAaM4rE)F=`v#HjJb3ThDR#s;)>wSd~FUv??MY6v~BylSBYFiWtYG#Pz~hLJC{ZGcmXJ&@Vig&$O+-75XGv$wP zxDei}oc1yFJUB~`jD@UXRm?@>Z!GBX+6 zT`5o4jI2{v^`#frTxY)C=WI7X#h#>8iq77Gkcl%y0V_yi${O7jNV+0p1R=x!1@qry zC;t5^BtvovLHJyVX3OTcAZBYVQNAi7I9^d$axUU3;blqbiaHqPg)ai8{VN1TVwDsg z&}X1RDtl_lYu4zDk)^yuXVnKyT?t=9RH+D^xTOG*jR-fVV$xMqdK`I93hikC{01aaUg&+h1#vodtpDp;$a4?-?h=VBi6+F~e%PkipM@6{gV# zg;Xw(zjSElg`p;-UerV2QI_2E*gpo6B?-SNu#k41G!j6|AlUQWu*w7AF0dLq@U@e{ z9ht^Oyv<=^ANwB%Qg+uafLnm1Xk2Rs0(z6@S^)^vd3F#Tr}XfOrF-3iVuHpaYOWnc z5piBXwIvo81s!FR9gif=0}DX;KJ-}+!GHSca$)*E;t>2Jn^N{5^J`k?XNLixCL5`; z8P>Tpw_O-bum}ij}pH;4?t$VCeN!Opyr;Y*+(PoX-<;nTeJ6Ve~LK7zbdhy?OkF7~d2 zjIvbdB%l>|kdea3<5&^*^>M~<%8U&FEC>RLt@H%-$F2JkgMu93BE3ey{X+YG#u#wX z#9Ye5T;l+eHD==vO#2=nDnSH0FWkXI;A~0w$2k_)MiZ};#IP4fu6kyIbwrgWz)214 z*+2;xAo&9qNTb@%<7n{DSOIWHI!c8X99BZ*^;R%VD)=#R&JXRQ=Kv4Sw+SPbIzFO?Q3fWzeRbdf7=<#JD26P&i^0$Risv2x2-uNDMxAzbJ+>!~iGC=)dTstdHbN2oFJ z0aB4-?v{=`;PDaIBw(?Wtgr=#a~buntcK6=a&R61H5v*A;5|6dCp>fr+30}o2K0SbIvN0y``ewF*u^|O)iB=8_yMg?1bh6jvVkx?r0Wg^DO z*(|WI1^}y1Pfr|{mUQeOCJ+K?3Q>%t(di0H$D4~BAa+M8QaUdE<)SaXGDwFWIsaZ7 zKsaDs+U=c+>=64mBR62P2m>a5bAUZGrB*;{L>GF2Fd7N059!|*N*5xkjFyQ3QaXEQ z0j!e5Um3N#fPB-h4ujp}(vh}(z60jPaO@oQ7FE1S?sBAOQ-kAO|-OODcRZ;qxJ<_zv;c4nqkTRzK zp#Ljs)3J;Jpk;zbT&OZfAT8(ecY<-X!khl2pt$e`r7BKK7bEm-WQ1P}N0YApnvB2A zV7iJpK@|O#w7_F$xTcsi9qbR(gISHwZ)?76?%H#E)Gm`&hZtb~-38jCKOWgn?kuK~ zB6aMq9xZ@wv=ysLOMwpXgyz>^dB+Daj4Lv!o|O}<57v+LFW|3zA5OfT3uarP1B@PO zjMfYe0__{3|0O5?!8|?n7(n_thXK&lXktGW7C%!}QbFl_zL7=lQG6!K7_)b&>2!%Q zd9^MyfkjGr^h~j93*&>O7Nn#M`ZWd1?0`z4VbeBD{h(kPgg;) z_-`=;fORft$q`t92R<~$nMCFLjuF(~BMLCi%iIP8O!$grO$R~<(agD?U)Ylu?X$)J zq_+S#xZP>acR0=lH>ucn>co+4fGQ6ToDUjQ;8Cac(32i}@d+odtioJ*|8LI? zpwhYy$58&zE79-{7?k?Z$CYicbKRwz*Z|y;UWU4lvl`L`b=@wt^79J??qe0p-q{Ip zE}rtD82yWSGQU&2u^)ZL-?op1wX1>^>ev*R#`*h}d{lx*J0pQi0LQLyeZEKG>|q8Y zfNJ1sQsOl$_)ZTgdu`1m9cLWECkoYuunSC^2Uk40Qd_o;xR2hIngGrS_|g9M7Hz*l z!=1sqF+{`+CtL+ZjBS8p#9XN@vNa;0XOgo$w(H`}h+vElXGv_(I{j>DfN=brEdabg zz8EKJw+{~)MuO(0qQVGLUd1v4@&`%(k}3gFJ<%iTl7${?#@B$+s3ZM_i>)%ul~vyT z79o`0H^B6d%^SdGcn~74Y*k#-!J`U9DoJ7Uk}agWV;sI!kRE_CF3Jg_kb_!PgernXsqeO7IGsVhSwW9T*vcP2wZ~3>!1dgmTqg6l>%`nT-Pq zPLPCyO>czv(?eITB6UlTfsNSvL|xquVP7>!pb#O=6TUqRYIz(Jc!L@0GD17`d)vU^HJEq_O zO}cuA$HT?~IFfUYlO}iRr9~y2^pKXAAijqSTJAWdnxUD~E$f?wD`e#l!02yiQg{van6D3(S_ASmM(di_eqQST3r{g_zXz zVLzd(4|bfByM|nSj6HbPC5sW#=dj6;pG%f7RP7cqm%x7x3VGjpEbS@>kQ|JK6%iQ1 z>jU@15)3Ko&(ql1Ei$%Uh~6Q;o(DY z^g+Qb@0vM;deHO+7|h?JK5?f7;6ej^P{8z`lj0lU55@%!e8%)YC8pM%Q;w!z@d5u4 zlKJzg;AkS@Pu2fUUhKnvf)-pwk`ynJTvk4z?xHHGv;)d8ss})MXG*kKUQK7Sx-3-^ zL>v$L@_{S7<1hdM!r%#)ASRlWoo9-jUbNDXNK~*I4fQE|XMwx$G)n@2ykj70UJ~+0 zVf={~Kj3o1ob!^dRR(DYT<9(Yyh$&L6-V8%|10?Vd&pa5DNLYY6h}jGu#}b~wbY7hS1T71~sdd+C z2AMJUi5kY6K>Cs0&jx?wdy`q7p$I#jzNLdBQ?_&phP;BeKIX(LRICMe7+oLw)ns#i zw9KpVn7V_)-WBKX91zAgWKIR}6bsga4<78qlW-|-y2ti5qtuoTd-AHP1Xq25?t+5- zQzP>Cx%qPL?ahFFF`dtor?5Bo(%~1C3&isiqyAz4ucP>b9yyqO@5>_x{&(;}1mXIA zFxTkcd*P+ai!Oq>ovYIFxr^q+n`Bri?JDUEIa*2`nBT6TpKgbqZdku6vYf4e!!ceg zcHJ7N;Ok)6Ex@t3xPL8=E~o;(969RE=qNrNb5 zKXM0d3`}|VElOR9lNqYuFO^3Az zkvCn+DJz7&N$XbP4Q16`_$=eVu6ZYbJj;Mc{3*?U!5$Y63Lj$?fp!Wg8n1WD>;aDs z5j(q^=%IL|*6O$BpK(ZlWrz>Y>^1t(lN(^1f5*r?Mi8FKR6hzn(cxzB(RNqB=S|Yv zHGrVtpkYO^yF~ve2l9NF3!s%g?1nKCZp0^n4rEZZ@xGL4J*o2r| zF0G1%s6F`RwNnZ@)F{dd&k~u>@rLu-A=`#*H>x#^E7N#89v%Ht_KSL!H46U! z_O30vaU;oQ;z5i{^WjApSP_?_zw&apBB@v5F{wi!ft-w2K0uI?O4PBXj%eGbOC=JZ zgm~SId&8l0-Ygnn2J~}47Uv!QPg6;Lk>8d#O=!T(rvG!N;Q370W9E4Rq_~mugb(N9 z{WtahtkUiy*#W^5-sFTBiUUqgzE)W_(xmb~E>*Q~f>iHV1Rwr=5Ejm4STJVu`5SU% zci}2CL;%R1Q2vkO=7v5?Ts#5Z9v+UaI2)tWsMazow#l*L;`ixgtsZs!IM0rwJ`=-i zeAWdG@%rqkW#lfZfML%~11oKkrEq2o1Kell08Lk+OCRHFLIQ-w+vU5m+;UNa^Jo1Z z+(?Hb&+!L@Kl`qZAog&p8_v`XW}?&kw3#)V5ueliMS2A<%61&LXC4?lipTnG1pS7~ zi9mp{T_yX9-f)&V(9gK0V%EP&9Pjn2|4WqgzZ3xW*>gG1xZ7y1;!oNk&&qh8wxCn% z|FrV{{DC}&_)EX%2lRnQOr(p0iyv>|`Gqs-Y&gflz1t2u|jHjWpY*z<=#w-U$( zeXAR*aS(>=cBn-v3w_T;C+2U3c~MVyuu zdkgk`9RKq?cNZh9(17pbv-^*Sk$-aqz#ix+$04fA<-ka%Db|PxCTNC~C3t*jYDwIJ z%oi}*m35YU0|PzD4sqpq$+F!-zLVAdHrqx^J_%I#P;>cON4~ z9p8Gmzw@U18=4_nMt3~Q(U?KufN4Zm0BqJg4YyCGGJguc`O|6QDMW{>@o-a%U(LVM zD;oHCovERXo8?o2SSBBb#Q@*G`DAP_<$oVC%F7w=0p=)sLiItchluzD7ZPI^?k46Y zH$!CqZcck|5YQAvun6YQ4DB$KG8h@}Enezv3C+*=6?zSi_9B)g4-yaKt{y|W{(-@N3n$&?lO)T5u#4BM4+f;H7zUB3>I^-}vJCf`Z!B=|c4z zhsXsh>Sk+}zKz4TG$@Ei73bvpfMJGOD1?XwHVn9}7MMU#TX%DU`B7E&fdE9pGny{M z)u!GmBS?Z40>Csz)*=97Kf;e6rjW)nioE)bIqVDI%_Lr82hH1v2Sf0O*=_I%25PAq z0AEkzIV0uC6T%>zwKy93o{UU0>K^CRVO0b?0)2)#ns}%I@9pE`frw!Efim2z0pKka z0MDbw)I8_Mtwtt%o(klRg>WK6Zl3v&57!~^f~?>I-ViDErYNOPO^95UbUhsv0PuB6 z{4x{L;><6|(mya44|)t57MS?Roc({w_w>}8*se)Da=C?<7kZVW)@aN74U7fux`|+p z7PH!)x#gDSQA(SvmYA-#|>E2V3?_-AQsVton``)KQ z1TGQY+s6h2(Zk-mfAyA7Q^o_KJQ%FX!D8YqqVJ&0$q+m=C}^z3J>SX zj;BlJ8ESc`8D69TnalDYh{}nW50%PVOpH+hPlF8SYwa)UPxx>}$66Y)nF-0g;}QR2 zb}Mmf?kJkX{Uc!q0ZA^> znr2>3r}7TzZ~H$4LgQhacO_&mfrK8aKl~Q|R)PUvg#*t(T3uQIyxsyp0H~hImYojU zEpu?rEAX|@XTWNEbwJOWVxfu-UShcfNG(9QEHQQf7Q+Ug_SSRc=fMH`Dr~gOzh~OQ zSYe4S;&60_+yOkAKk;b4;-mb_79^J>ke>{ z|GydlWDsZ7f5!)FxmJ2kD1}p<<$DWNmYTh!gF`rI!i~t%n7A!%pY`A@M@C_b+8W^Uj2m;s&04D143J^lk&w{q|LII$-vu=?c zk;nzcsUPA4&-_x%(K}qB;kgUvkG;S0pl7a?yZcPw_EQS0n-BoP1Nj*_kc&D{5DKk1 zRZ;yLFmZ}S!GWJS0ug=LW*xVut~=fp&iEJ_14GY$is}Ek{}>2=c;ok7{3iXz->7W| zfP4~AipwB7BW9`Oy64OMj>F3pdGJ`=mA84{yr{vRXXsn>HQZkQU8Bu0H|0M$5B2bF%QVH zMGXM$H>Xr`zSVS=jk+S}fHbvsEdXSa#8xVI{6<5!f^%r&l;iG1m}^+C!enzVGor>d zA^2P&gd{u)n6ONoQvIefAy(oIPrS}}as~mwacNC?9VTM&{ko>&3E%Ac9((_$t6&20cBTj>G_v#Oq!k!nHU? zZ&;@6(*G^h0CGcfU7QXKqy%v%Dhx`_AFd?(SALZ0{ci~XS^llj+nNA;ga(1qFMNZi)pIQu`Z zu_b_d%4J-yp^;EIhs$;_(MMvObaWWg|3iy{kbJA8KZy|GJPQ_#2NVd<(@SB0Loqp* zL@Bm9Okk7jemA^MCa%fz$?bA7oEsMhdv9l&kD(iAa0yXcb)onsX#SL?^8KrgET5J| zJX?V8r&Q%2++Jhl9ez*()f=wC!T%9WIlI4^7Vr*bx_ybRXa1i6{QRp9K03_gz(r^z zhYlO==c@aSTTr`e1@O$M5sBPI^+z6~J7J}}ga%*o&u3P8^8}7WJXk&;UAvpx* z?GG5>!Slc-Tz&VR4qz+s?hpIJ{vsDMfz#A3GDV;_cp|Lv?v8rU-2Zt2fX?8s1K^^& zwH~l5oMW@2xNoRLT_e7S`1cI|T=+lCu>COh@y~HWF&-WSTCN8Go&&5~SfUL+Ymt;! zB{j{iInvR0BOL(y<_h~p4hU|BMBowLfmAb7seU~GgonCmy8p$Op0SCJ{RNU)?dB9i z5de|7O1Nj}y<6N$aZb3y`yS&%fw@H(klT%#@c-FoNI?hy7B|x_=QAIMg*)%9zmGme zUNl)buo!$cooCIzTm?(5Yypa2l_H|1S)Mi7~}^nYx8?W18K zdsf8DtN*919svH`p$Z4o;kfyhUJA?Kmhk~twN2WPX~t0BLiu0ZKuwbV@D`}d!Gb=a zCys07*QvCy;Pa>WR@S{hz>*<{_!^pcnb`{ehnb`WfzQw}b<+{VdQdQ9_;r0KX7MDg z9v`|u*V&az+tDJMsa89N%yOWKx;wK=ehU9RJuf& zzVlQ$)QiWP7?B}3=L8`MQ7yjP1TR{6w>&Mnn_gWMO^t%Uh0|}b_pfoLr-_1eBusEQ zng*h#+{D2Ast5xOAD&Aku`2^x>jj?U%MWq>5>W#fpmeT|yja6ax9`%9XAl9j9Q`m9 zGr0=XeO(Z+YDM~eGNb>=;N5h>6e=sT(VX<2fl=mO3K_ z`YY9~bI0ZHlVM2>2tSf{aY%QXqXt#}A%-FXfIjb(h&fdM|H_`|{bj-8qwCAphH^_< zPZ6M*<5tW5ey4KfTlD?nWe7jR2G#$+UH~BHu9lG($xm_rGdVEQU7?LeJ5P{=<9Oav zTI*Fy6+utrBNpF=H0`ix-xkIdaBVt95kDy!u=$_}6nltiF`G*FNKJ?#faEE{-5%W$ z@3n&CfZ5+F#|Pdr-BvXS(BRfvAK#moMGG5+-H-V(kuAX`#4=k(2>i88hHo_zWAGb4 zG@f_Q|B~d5n)I_7*0}xMB0!@0Y}W{CUnBtVvl|?nR$&SYd6^!%!GEQGEVR6H+* z|LXpha8K^^motNXe)j!vcTSw>V)$240=2J#0SK@K%C|y69cd*zI=<|O%AhZxs3rdw ziY^LdqKww`^XE?-AZkUyn%d!cgU$tO2PmaZEO^hWC&EqePH1ZQ*`g?28Gpr{_dDAQ z1I53h)-_@kZPiNEsCBPdf(Tk|t+w{KQA#SM=1oLsP(^9X4y85jEw{GP8a2X=S+lJz z#Hc+IH9|u2`Y+zke{jxoemv(n-h6qHLYX3O$E^|grCvqsW0x?&B5P)P&b0LAZl-IZ z$;=r+`QfD5o#Syth@pSm%}EN$=$Nt1QbhqHM$9X?^183LA zCwtm84ZWb~vTUDj$e|9}c^$W1OJ#%WSi#CvQxzjwog;ic01TxlZ$Z=PFo>z2yOfnM za`2a(9yU*XUpiLKd}KPA-c>)(wtg3Dlam`jHeZH+%W|JEyZSj}&bg}C^D5UZGO%^) zi|Ybd|2p(J6lr|ZX8YU?Y;L)SnB?YjBmSE6s z-+?<<(uZe(dwQfL?n%U6&81jheH`_K&|m(j6nzD-0^8r8D_<`*thXJsp9}0@{wr8x zpxLZFdWT`Uw4+xMqETW{-u1f_`z;Zxt}onet=XKSduBcL4E6(J)q0-wM5UBJisa5A zhrozN6Fvzi+NjOsAT=~K6x!xYZIcHSV(__0*#n+^{AUbTjIvc$N?f@fZQ}dNnvoR4 z94k}F5#d1TSG4=kG}yWLeHw{NsD$mCo4~Cu#`v-m`|k1$_Y7BQenF2_(3VxzO^@8< zh2nkcqzax>R!`d%56I0q{51Lm7}GQVRNt`fU3OMVHdvazDQl-LPOAP zaZ#R$osUh>^fvST*#K^!mG<(T8K)-R4SP8Zk0;%W?b@Pk3e_cbO&P0>!1U5??0pT* zQ3JA-zSn)Fwbty|)rcQ7icnwhYL(A1m;)3^ndk{bVb6!l2~#*wTPZK`SH)km{aJ;o z+)k9U)X{`X0z9!H{@Q_wJ_&d=!0A7!#OAlD6)g^w7m<8UwSPYsJ zguRGQyJ}EkugF_rp8UwiX0&{kTPZ1)$?bB!Jfij6mk^Lw-BQGRG39N|#BcH9 zN}r*1vke&G5~8|t&?uHUR6UsmOL~QjuH12q&)IDJ&8_H!pAI>$iDk*wjoSk~w!G9= zabRls>Pu+ZK^_1TX{!QSJ7Bua{sRMJm{ehX8HG5A>3yPe;H{KZ?Zaw`ShE+^zV`QO z0aJ2AyT|IFMM3&~oLQ|FcMPPW=xkR|_=5F=ACy^Jta3YXpbMv{=wdu>z~;R5P2@o8 z)zAYXn0AdvePh%_5eT>{R|o>}D|AEGgB?6jyKyMtE!c0;r3k--QnyCY?opv*T36Fj zE(!`ymsf3^0l!f5x52rkhTMr&)Y8g*O&AC)n#!erR9QVC_cwz${0QUMxiAN#PZ-20 z)*J$ft^#y8^`!GbA}jMD9&GYFxd8vetN3pH6L(nbxXY3 z|JKjJ=S{ElER)Bmsh9MVj(n_&n>y7UicDnux*Q|~SmP3UvZD855;E6+nYVGL)t&z6 zN&Ot_5TY`)g2tAn{~cq#yZ~VU0n5QHk`qAu-pI*l>z_c9hA?NFIh4-%i7Xa4VNewFu!m)bJ|7F)ym9tb#D<)eK5`>; zfXC&d%oacq;q&3MqKQDzYwdWO7x%L^bXG*BU)B+k)yRB|hy@v~m>g6)73&K``hOblzRteeL zC&@%OclL(x3AZL32VEQ9)^HNrd+p1**VND$BqnEea|W@+bO01A_%(=XS=BhVjDug{ zhs$24qd2u(YxzVSe;(CIe^MZO=jrW_)!D*BRbGNFBizyqLAIvmA>ZJ+`tP_ZR@H&J zD&RVH4n-!G1aP*_IDuIEe#~ug?eC3mP6xz8+y- z@!`&2&M74n9-M$+#iFnrS*;bjRnz#GcS=Pz-t$c<>NV{7ask9+z2!xIh_AII9N4D3 zA1LtK)3%yt;KP-gE8jaZ(HveyV(?@c^^0weWF9qnb{w02m0mF?X?{Nma)NP@Nb8Ob zUQd(*dRg9kJL_>M6owBdIpg(bd7&=t&W!V4WRX|YmOj@|70}P0*HKZ`UqfrQDsmFk@9xjHUzW=do*?-_h&JKbYMK7<`_p z=Lk3jGlttBFo-!*7dc@lkY4M%jtD=ZE;>vdL>@48E-V=*d_tk}Ojf~cRq+8r1h7bU<0=^)`9H(j a*kp5%Np_xv!SHLqDK{)_Eh^z&asLA0qJg}1(Cj=-{1bT zv-|A6&(vq;eV>_$)YeqO#iGIj0037-SzZ?a!2d|lGYr&!w>fOaj{txQXshcf{Ci{q z02&GmE+zsgAqryvP=+$-DYGR2K#Vd$7XVC!Fb|tZ%`MZJmRmn;mXkVS?_@hK*YFCWN7b%@ol)ePG$JqL`WUyi!HQS zZWM=|H_2Zi)X(c;9%hXn>gvEu1SCup3{n&n$~b^LAB80blQEOnKfWF1+5AbM9zq5_ zd_tdTT*Jha^Mwo&)aAR_!ZMU$ZR!*cfX9k)%#?rrLj(>E+rR$-z(9;do`A`gP0Esu z%}1R8E~XyF$CsiEixD%<*Ve95cdXL$>0*K{So%y^CTzg-SBe=P!otq;^B)r09t>g< zZ1ao55Ca)gv*i;H6IWM=eE0yOd}AQx;lN|yq3&U)_~Bsy3R!fJ7qG@5jggLxzX0<|_cYw_ptbCT~^bW%YcPPQC`X z8qa&O`mB+M;S-X`s(x9lUiy+l^dln>`ZNEXc*F4AQqyyH#R?Vc>BhyZj4Xq!AYx&`M-tP-!*?aS~+k< z7Gq%1AOCIs``Pczul54B;l2R0`W$2{L^W{u_w>wrQv9z!z@}3uA4$ZlD*d6bLM>lj z1zp+D{~H^McHz$RsHYuvC?TAPnf4>nlJfsl4m>D$fWaIx^>g=4q2;7^53`&JN@jr<=SkN31FQuP&M`^pK+e-E8$56p)B?=_w)2T-b|Hq z%C6RA!KU2be1C@rWCEB9AUz!D=(8lYyukkNEh^eD)23u$qs0~JSOsI=6c8fFw@Uj3`0cCkfD-fHw6du42)Rs9k zfNu0_4?FNA$O#m@cOPG;r&vDqIA_7K+;0|u=uAN5VD$5U+IsJE95hj3VyPSb=4TYK z><38lsY8Z$nM1xO{7)rF5ZItxmGT_3M1&`R;CgyI|IFSgT29#kn)$V6fcUb+!0`O- zC&(yMxlZmX_V$g%oy+=XU=0kI`WL;EMwJoSoXzVMLV$lA`s{#<86rIx6aZB`^t(l+ zoPy4%Y+Ec2SuDPMx~%rLDTm|zw;yFhBiuqBS>Wja&lOE4s)_oGN=|HFApLMhn2!>% z>%vgl<~(Sz?WcSLAHF8~B4R%5fo+3jKgqma)W4k!W?gxy zDu#Jq++2ES7P2n$8_#&?>=KO)O&p2>znsbsgIeQ)Pf7t&u-^Ogi(1Tw?1(cEoO+K< z?}REe!+O@9cd4cNb>?|q(L-Ow7w)Z)dybx|&1j!5(Paa*(qN(2&fCqe3U>%70O5(Uen%IWv=_cYYF%p*o*OqO<=bP@nnUyXsG??NH-9``;rhT zku}xvgvTH20?d7bsu<4!B$idQ_wM z1bR%T*>y&tILOY-8MVgucUc>J)CjCN;KN7sOTq7Nj6!9Py^X%q{0DM8UmDSSi^mse z8QCBGdxaFHWg1cGd`YTE&9U++>(VT*%(Q2<0)HoGi!QQe7FWsAemQ@Ra(`#WUT?z{ zeQ0l3E=}jQ60V`$p%rvd;E5E~e_dD#9s z1E!^=6&8tDwSA}MI-jLN&ef>oAp2e#v1fk-doA<$TutzUd-g*Y2_MmAob6d-Yw$j4 z46syG@=wGjOIfwWvK}N#3~=Lvb&zs*)2-+hbS-OhJd-wf@y|$Hl?bukx`oQ-rS50Y zM#KZ5Zd&7_R-^b%<@R$KS0_+a54y~%hQZDqhCwcgEu&W zQS!FYgD$?(%aE$YpktL=CcZ^8i~>?TPM_kxdDX4P@vy_pt|(+t;YlFMKDWuq;7^?n zbU_O+1cw#2B{`qmh!)@d(o!qu(76k2yGI!n?9W9F#ilC1HV$&eT>oK99cjc3W5)lQ zgq zpYQZhxU{B(5^4t&lh~l>HjpID9rLpY@d=~%;_DG;tFUgFaTR7#F1J)1OPf;zIdA~h z>(v|T;A1eyCTnZBPwV_n^I%R$bXX7}3fnI2FySF!D1fH?+9vY_*ZGXv zt9C$D;^)21eUQ^$9~xK3%<+fc`c}lKKEcDi8fih1(t@v+3wD;K_D z6Y}S^{e_A*HXZ7M^I>}KpZ&Ypy5NOvpP08oTR6%wprfWHPd9dEnV*)IuhDc|q7_;? z()=j^(I+(5L2tt-R3KcxV4R5c1YF8BQL1h>sc+`9CsIDXA{F*7HKgs%yeX6;-q;z{`$eR6QT8H_=ooW% z5bg-DrLxsQ7L9qx-O)cCd1@4ebjnlYPdw?Fpe`Ysod<%}n8N9ei{ZNL6F7UCs`y{? zbgE0)QM9K)Pl2Ct3rPnyg5IXe=Hewjo< zFBAyJgF8)O2~7uY@%0kL{j5e$1K?zDTKrGXr}H&rDp#mW=eQPVHOAd5`re*O5Zk~n zJ0qc9wF@MF<}rLe(ruhJ8~*r27L1Q&C*!oq1--WUGu6n80EhORJ>Pjz!IH+qz`9fK zhY9;j^e-qcx;!LTPAJ6hms-$hw3as9x(jW6uae6@Lq`Qy=w-PerIy~nhMJ4omxQY1 zVn9`n6|#|DR9?Gs5O~(V{SoG8(*#rm4uFbHdgoIoAhT)Lea7!5HTuric^JGFo}5vF zptJYN<|6r*q`jOv8wPc^y-Ym{fJ)=K0mzEcC_hd+oJUX|G8ytwV;LVx9u!On;Yk4lJ&@+iOpZvW`7F^1{JA-r7z2~j zxR(u|9RqX7Cew{RnL72o)LN1Z_X{xF0Sn#qU&gdzfRuiC)LEoy`ccBGQi=k$7^WKt z{xQ8kjsv2S%Zo>Q8|$uQ_;2;c3*bDz%h?RED2ZeBM}i-!zAz;DhGSQa$LtHCB$G1A z+pqRpqjaJuTu!673*Eo&T~AjiEV)Bo1gn0=QHP!qwmkjuleUSo6ri}MHLw=pWF(Cv zKA@W@o4LlY-zVg~0y`q{{ZpD9$rfQvD21a1i~#ff^FJP`e;2LjC;K~Qo+c^tifX5q z$u{LwP*f-YMcgeFca!m^iaRik3sE@{fq1?i!CH$X<}0%8=y5Ui^09SoMg>_&8?i4I z3P~_NV8AL~YPJ!sFDt3=PafJ{1)v81Rmb|}2Q*rH zTEP=$%%*IVF`7GDz!q|)vcHsk&i}a!2A>+XUal4dy@E~bu6M3>zstsjKsyeNax95SvoAspIx zoMbyJG(YE5Hl|lSGGVa{F`Ksn&{Q?Ul!&Mhc z6}Lb02fP$U0eb_-0UW5lIzX-wWgH*{Nzu8ydd`tBEJij?|iYIm(x(|2QYBX!}Lr86IC&9YgKBp7%*S*2_%n;r$y`p4PJ8!MwjN>76rdqC|QJNf^BNHo9`yE-K_ z!=-M{r;+X_qk?6M$Wix`X>p?bL^Cj01vnY(;5NHWyr@l|FI6=`3$6kl`13&xa=eYe+cBzY|ZL zto5&GyvN+0_f}+`q&sNX>LFKcCFv)KVeGPxqXawSP2H*apymv}BO zol)MX|5Id67!Ht;U9|c37S`VZ$!JH=(FA?|sydIm=9%m^h`?%m@A;)AG?S_s%W-)R zYkG*BU+8JjXY1F`ynx$B#Ui)BkV&j*MpSB<4}C$F1&{S4nBvmy@LNVsO8|;?k+;QB z3&KDhB+cz{#MHCHf61JLr0Kp_ALjY}e%PTc@R=3SonO||7FzPjqsiBH-J(j6$)Z$A zZAWju){#Gfg3bgNLqP;^Uez1m_kNVj3P5Lcf_WcAs{(MkQ~Xf(S23| zGv~uNz|FVvq#S~i6rbcBK3QH{35Ra-8F!|umTdKoZ5jYl^k6o{Lse|FR}a^lK0 za6#OWWb(L~*P|tQ&kzriUsH}i{yE#+=m5;km52K{?LB_BlMs0Bs-3_6)z>QefwD@K z!h&;v9a>Zh&ls|fk(HryyJVOj!1CI*iRbNK*W{U5BRqjOipMd4<0A5^gLltOjoe0i zXKt*db5=}_%^(s1Bk}D!N44J4T(a+4XkUm1xnkxUr)^CCb#q?PT$VX3^R9|ZtgSq( z&-EWYFhqS7R@0ckz4giNtK=O>@XU|!els#!W zTqUc24w*xgN56kgkMhF0tX5Ey1{*be$g%`Mc{qCtvd9L4+LF!_rs@_>OMmEcZ?rEv zUUY>Ouj@y|M&s(=uo^CHn)nsyZq9uj#zr+JDCqUn_sk{^E~>ttYj?Lu&IlU0Cu%?R zbYYN2@NsLvuYCb079deMDrd*qdagC;m)pfUmi+NJoZ@ekw!m$FZ(b2`QlT~k z5_|FuLlEeQIktXNF64aU(In0A(5bR8pS~~*o&SxMlWkMxM#r{50i*t+?6}LfGl>Jg zHSnos_`B3XuLGW5|GO}l4W9xC=B-(t-a_ulhs+4Fk^YhzBwxRc>z64e-9R`AW&+n(bbjc0+!0Kw4t(1VLj~w5(&9A|@(aEea52t}oWfk|u~B%?nz2;`PTW*AqvM z3XPn@pMxJ>bk&QEpiH(>-vqTZz0SBITHc+s*Fth zJSbs#H{d2g#e!B!6EV>&$gng>2hlh)V0m8lTlmjK%}P<`zZSPPn$1YBiEm92VT#<=a0c{GGTiz zoF2XPO7r0t=+95QmmmAutc=|PorrnAnruYLk$&Y5lIWi9EX%(EiQW(z7Q$|Mn1+CE z$Ik#?i(&!#dmXuVD^u4FQZSNxX$64eq$9*B4mA4-t(d0)=|eAGJ%fQLX3=mxvC+zV za+#E;-IC-`)d^DRWaxjZwG(Bo)P3!ztjod@_0EiYkSLg=DY2VKnjbBh#(P|BPXYrM zz(^W1A)5i%k6EuZG*hJ``eZPkpSHh8!9+32 z5O9hDwIl*#`N(4H%U`T*W94avC@LX6UD53%dPT9SltU&ympL=^opIP5WF7=JqI?xKqOTpKJJt7O2BYt{s;@C>GZh*1z>YN#|?E5ug04 zkPP$aS*|+VIx2SpIEgta7W*4L$#uKwZy~P$dSySwkso}J4Ey`o2|j7{L`>jAqFGIo zqdHjw$@a5ck<=O-TwI-;smb*okBaGTijQm351}+P8YY&}n)gn<)}4mah?d%Z)1<=8 z<6Rp6${cqC`XOZ5JL=irSEOS1)dM4ChjN2ofcM#a;$~y5=Xe&?+(rj7O5c1|)G+x{ z$*@rjicy-Emd{`Pu00_y6x~(eQDr0>V|Mk$)*cA5a!tl2-g=Ia0OHv89v&`mf*?={ zpoU}4NV|Tq?=i!Yqo+Bf7!KUPgi4h9hMNYgK$P{~150Rcp495ACJ_UX95%m#{Q36ZAzP^+?B* z86i3Qq$YK2CU7otilDOq@~DxfQs6mFg$t24+x0R_m-A@uQT3-;wZlOPFe>dRCHl3b zO*pQ}$lW#-e_rq{Xj@RQ;@a)&HG>)>ii-7k`WBbr59CfH4T- zHZ1NbE#=kFN{9I=$m1JI%39f!;}WRn5~){6=5liL&L zmNN4W%xmrzJ~MkNmNJ$%Y&Xh=*AjVlDDnHztpm-(f3Q)>vCjxsLVD$$#nUtk_+@U8 zu!}w)EK6tkOe(5;)nT)M%uaM3RMiv_a%g83`|%nI+pxF3iAUh#9Hg#2RuF!}x{u8f z>a=G3GC=*6M_EzR?e91W`G@2rXNlmaDWfG#>LB>f7Dp?oAgT_n;XHbEgnD8o#N!$F zkL*&y(?-(nBi$grl?&Ro?e8<<>3Q1e)e8zAUP`yfy|PN4dYaMThf<;_GvX7x>mK50 z+~>@o`MSvM4|%;4&A0I>h@j~kXaN;8@rpAT?d*0SwQd+B4RL)7e0;K`PrF*V{zE(6k}IR&zAeeA1n^Jv&{_-c#Sbfk9<_`}{EhF^h?@d%4 z6K{W#xU+MRM%yQ}Fn*yr(_c(|zAVAcEK717K9nLG-|VEC_yVt7rNy>JjhT2#;F_W{ zIQ4V6674w`!j{rEC4m0r{BUw~^7*&YzvcZFq{)_JPR`H2)dpEyZrQVtp%2uA`3#Y} z$THm%a`#3^(z84f-iV_%sd=dYy8`P4_SbytM&Xob=R+h$jy1Zw`|hrI@xe+NCdt!F zOWu)-lR|^tR5jz&rG}KBmcCU}!e{-{#DUry|9$(`q^_4(Azw{vf0|l`tYHOK|2z`C zh;ptu^lPeZ@75-Iqh5M)FmIo6v~IQW_8VE1BSURw{C(*+T)>30k3S&!d5Wl=Uo{io zdo5}?5vq)_@0%U&Uz>U2Cr3~|$ zr;sVzguNhZ8BDm#TgUr!n@Z9urNu$s7k*UV-O?SUPeRt8X7q!D#M4j`KqA!_ye|)s zkHkK^yUVj|R8B|N9PEw`TrpI1blnK>ElJN(3-F^9$2G)lcCitca?sw7OPJ(x?0J0e z^O*$=rO!!K5n@mZF2ksakSJFRH*@BnmiTgJ?(g4w#l0h-N3;k>2*9+%z>|Q$GgSGu zxKs0l!e*cQdCGcSFvG&m{NGrhSV?&>ugD-lj=iz@WL#%q*%cl9q_h+tB>e%C;TVP% zkBb3WSZY$F&HGp=hL_gu+4(I9%0p|Nn@^c+|FeZ$)CM5W4MO|Awregdt2-KT%bWN4 zG`Lo4_j2%Ef3WS+5U$;+V9_|QoG5p(PT-&Q&3>08VohP*JQG9lNzULdpMn!b@#n@t zZ{&doh6=AKl&3mpWSL8ZRM2EgC>GA9x$fYdK_qY6(>Gq6i|IsK3|FxDS_3-I z6`7af71EV6D?HhHTG9%->qSr2X4`pha%?dpT+AB@xffMbs=#cG6Xag*@pEE~m8w#V z9Mx!RpC{=o)~6-`DZfcpLEU;ID+XGro*Zy-$C5vgQGJ-icoaP8g!{ewl}XNH(ihb< z{IC2$Se3Ir1l~~hKGgL6>FK+ayyqg-x@MxfN!O*H^L=9T=7Mu^v6H9sEp9uU zE}){f#kl*=9>Gw9?R7C_OBAFrFJH*FABY^AJ)BqR8@H%m|T^o~e5lNdea* zc@Z$oiki9JECgx5zfBsRA&A%h({OD&`su#5w=FNeF45o)L3uLO7 z<~&rKflSy8Ay1XQBWAwFu7@I;P^_V#OxBPx%BHSAlCr+7w|9PN!7~ZGeU3bT2Z;S` zz8o4IwVl^iB3VnVzxOLLzl1j%3@RkHDJFZgp~3?^>ID|p+F-h*ZCA6%8xSkI@;0b} z%mJdU2}=u>{E-6V#NnK%_1#%`{%!L29<21>!}3#c)I>+xlY$#gCQ++Em!?ci`+X|h z@O1!uUMRRLz8a@s;*M4@Rh1hDw0^wBst=BKf93+seFw~MiuM*%sE0$(IEZK}$$QFmA0^h#(MiJq}p zTXYc=_W8sDb;tb8VeSBgbh9I0cuXbA&T#v&t!O1!qyzOm^Si_soqs4!wm*u{EF*7J z3=VUMjfW&dFL-C%3YDP?%zYv~x#@myCET-FJ==^g$oaPRE*MPm!ghLXwNO5Ps-@#rsXEsr^FL%@Q4ZBn7bgWA!CmV?30Q7e%dDmlnuJ~}yhzyI{e z=+}sl5ktj!&PMv2g0!!KEVV>tPMzjwF*jdlXJ--7Xp~qbO4N*OAq`pHjeTAdMvh&G zM)i039lVi{@b^dQ_5`kuK7o4Z1e};K@?-q7m7bvRa0uq(Cj?S{Hr0j?q*s6m!!CQG z3QK%cpV9DRt{D@PL(VhBGn1jl7+z|83Sjw-8v-P8DK46D1N1qv+#5<2rq}YW(d0tT z{B>MX$AvN*uaYlIAM-Ml$X$NAs1y=UHs`hjr9Y9uc&m;DAJR9iN=v^cEEO{{OedaH zRQx%d+r7aXN_8CM*zA8n7S35D+R@FUXrN%#VpAU@V*4eRGra7RN9Q!bIDTzdu=+2q z^=Sq5GqZVnl2^f}MZkE3`yOV>sQ}SNb+cPm4(QR2}+vTuO1gwhuHjPK6@d8)oH zTU7F<+xV3}x?dG>9LS|gD9rvQ7=JNzj6mF65P2)ovR3>;^hajGu7jkcMkoXQ|K9nH~767|n!_Z#15&8g@tdQ8|>s89VO z55hPOt!*;n)c|Ghe zD$s=MZ4KsSEBq1I>{J$GsW>~NdLuW9C!;v%#N*QLpW$OlP_-P$PKx)-(=P+Fd27An zolQKRLjsl7@GD6^N~dwtVyWw~pO*nas85s+;q4UB9cyWBAW&?>2zm6a)c5N4cPgIa zM|NZT*J3U>R9bZ9_Wk|Jpc5F-wQC3dNtmyyGK}fUr#<K@Ps9L=+Gv^72TuezhwP z_83`)=&8QYe|X*59N<$~I7OAE`y+&VUaVl;L6?Y|WEFNkKVXf0{Z8$y(KxB@-5*a< z>V^L9sqwBoOaUYN>?eqR_`9_2Sc9zRxinc`B?6A~ZwCsp`2mYrzcWlMZK0 zvhqyp5{a;36sL%q9Q6{8!zRCJ)KxT9`FFnyLM=oSZE>rxc&mR5;9_Wlj&1p4tx+^L z<>QSmi9zvNnL?>!lNU*y49@x5$ik0A=W<55;b-^3d{snoz_B=Vfe@UqxRGt}Fk$aT z?!q=h^VHvCr|(Nea~{%=wg~u$l8exnq%EE(?3=Wisw!~^*py|}494%%;k};V+q)%H z8z09rXeV;fZ|3@poV8Z9U&7HmB-3aX~}BgD4d9+G+j(5o3Q(50y?_v3$97u)4{w=xb7EAZ*7r?-e7eW z73pd39C@Wo_=?%;DV!^LF=3cwGcO1^fq<*1@N+MiGOPXQy9zkZlkBLBUaMl} zWzPuyRj%!}aS=>iM9p;>F87*%Q_126pD!xS=B6y|I`!M3Ds^5#d8adlyZeLUMvj;S z)NY_ixV-gK!5nsBPW=4kh|XBh$nYDbq?3{voIt&XBth)3AfD8LtPq0IS1)VLq24dP z%*d-{DE+XUa^A}Gf}nd?5+ty7Ga8un;J8TQpYMxxh&|=;Z$wu1yuV=dGj@u_obo^M zf4mwjT9yY|X0`j13bBh;7F+0gGI}sX-%9W>UPb^37F{MZtVrZk!K)Avaq1UT9+==H||m*4lVY! zY^}ANg_CFe3mP5MA8;>X?XS^r+^9axr;gtidg#3kImYK&jeAvH#<%A*8wG`9yKesrsqp zCH+03O) zzauACsD-x4(bm*7U*l5Fo`8s7<&F0?qmL^5yi(Xh&QO+#kLwxlu7)fN^RwlRi^$YF zS=&$k7<%jd4Bywn%M0tb#e#|TZ~xGSvlFVOeI{tWN*FLdIWrVEHdm!GDfp=^2#=cF zS1eO02CO^=#%L*T>KEt~TDcXWBi3)rNz%Dlrv^>6-=vE@c|Q7(Wnp@0IfK!DF7&v6 zK3`X5x5zVVNVy2eDMkJ*wF;yAzf?|N5SD)p=d8R_>Lk}SSt*$VfaCC zPiFq&7x~qUq?k3TyrzMH%{}2TvW7au76(Z#_EazVBI3AtY>MvDfrlbSJlBGg*?w>x z>tVZ$>f4k>;6**#yLQn+eBRMRPLhkQ6Q+Hma+b#I{_j*|rep8$es6Sm-ym)@tP;<@ zR#qxu6L(Ep|9;347oBe;>DFq}d7B%^T0?!N0!;Rb2K)PcF)aHt712W_dv>Xn0g;l< zHHZlqSCy4Dp(o?&KA}Fbien-2ilDqZ4HJWxobvD|d zLyjn{t) z^RFKj5BReGTs!f<_MI#-egDz)o7;UJ)o@cWH?=6Q>nyLx7g0*p-~03rX7?Yl4I?r?59E5p=idMHqiQKv~oi}oB7g@yHC(ytOjJk`EREvzaW~| zj)~~d@ED}OzaoytUN!LB=S7)K#Q+a!VIDc>d&0f6gi&{T-NNUM4R$ZcpLvI<=aA>) zO2dnZhYU|K9joGR$jz^97OIc2*m24&Fq6G|jyqiKq|i(oV9Sh&pT>@?PUAx!axnpo zqoq1TPoyW^UwQ94^zuJ@qKJUq)W+YL%YA^)jgiH_x@|;=p>yi{#meAbwy~$ZbhAJ$ zf4`Hr(lonEAvbw}#7)>+LM8O*M4DnG7+gA$CyeWF6?j8j`<{h2-&d!bN&8)|P~nf< z%WWJw%x?@N4?kP|-j}Tk>u2|&KRP)+cYZW@nkDQ_^F?G5s`Hpo<*9I?+oGaZiNfC5 z$&3LDD@^Mm)}G0e;l0-Q8KFat-pIovF+ZpH6FmzjG)tEJ&5ITkKYSKP2KGc)1Ox$G zR;sBTN0K_?i?;a*zr>aGl7{+Tb2sVeKJ|ZUs=$`ZnXfMDev?pY+=ccCocRe!@iXi6 z*L)ymRlc(k+6x=U&04GwR0>_;)h({K+%F zi^SH@sb_{>RttHm_b=ap&R14B%zVO-DjN_)==H6pj8?Tx+ ze{l88D^0M>`0`RUtY@XCh2HDG-RfZ;@}NOlbaC$9pQ$}4rJ-c4_Urwgoa$*)))&he zjLf2Wqu*21bf6YLEom6Ju(gdJMBfF1kIo}uSh@H*&;ZG%l_Gd2Y){bh zcTjFv@lZ%MX0$}@_ruNRV^H}rxx6Z^rj{`jXX+;`!1B)>#MzRJ~4-VijEwWHC$HoKJ$XoS{(Wr(>mj6iZJx-0O0*Ats= z5KQy2UUo^vu6y3(5k{r}@BtA@+dk9dI7dzvQoG-H+7DbxxKZYobZyzoVb2G`kJ^}V zyid!ZL7@J3%<$drzt2m@jumBcFW{?#GJ4ooLhe)G&I48;goJ>zretU5;`zzCb#WT#c(Xi83-K_4n_$%ph-29w22yleJrobM2cDgAkHDU*j=Flh zuQZu}P;1jEO;alA9eo5a_RgWCxRz79%l%f0Udu*Oa?@;?>$oo{|B{|}E6G{*mA15# zd!mCcIG$ZzFzZPYPk{n8=uw3C3cCdcEPfMe3f?S07aBijWCbFFw45(Q#F|rhg$ota zHX{VT1DjpSy2>O?wr|C#yxDB=pZYn8*0k~5Ohmu15CYFvo>s)I$px6vC5e%$bc_%N z@I}zL4C{GM9qyCeQ+2`kbFPJ{O}xn(sYyv+qJG1S@#zlF`x_Et$xit)i@3`g1k#%G z?ZmD~jOVwfLJ@O*JCjv07x1}MKhjV-jwJp&`b=mXD&dp(oO+fk%HvlZh2+V`lYmM5 zNFaLSRmR@5NSP5CSU7bG+kE+nf@FANCBw0UiH-*a=5S4RPK7^!Z1F*;{GHW& zgO_0c4&b21o%c|)XpGxHlWao}yhcOr&Fa9?|c#n z(48^|(?6{{1lFUTRU{skCh+@h*?DOl6p{!%JYnus>X0KLyoX8q;+dv)?Z@#rB97 ziD7z~UjA%!`}Uu7MoJmJ8uc+5zN=E*413?3(7bkI--M8TVjt`8v>xRr;o#Vzmq3A4 zUe6}hmHmpl89w=0oFmFj)l`Fjk-8jO9lYHdcwTXom`lM$9~OHv{|kzHtv*I%xi`V$ z{<7~7cX#flu^=h_L1Up5jQ?b=9i3BZ&A{7-N4EVd_y8ktne(COjG9~-+CSLc+|L)_3UMDu+)}bE*@eN;13%q^osLPv? zO=>o4To-wJmIjZevjisOh5FQO2V6;I5YcE+6+KOBn zP11Z-yI06Q=vP>})}4T%^@^pt)DM}0+g-x`bt_LxzM|H`bIpN{TJiRvz@m( z{ow@4HiIP8^v#DapBa{hQVFfU47~D|;+9H$n|D|iy<{yGaJQ7*)Go)j;C%L)BNEdy zrQQ@@gVLR$Y<2pJ=hPIz29Uuq?UL*8MBpIq zH@|&`Q%JN|CkejuCu*2sx?kgBp#ufqTMbM0F~W{+dRT|Cb#jHgMuU*}XeR_+f{OcO zIOsvOFw01gU9;no{}ZJT2oIMZt)SWeX1%}rxvrk&Go7TuKICR2z|`g=$93$H%pAAJ z!1;7bjp?K)H@?bpa`%^C*Kp@W5Aia;mEvkmL!MRNS<^ui=gH}J0TjKG$7kN4EbodO zL8(KG{5(1qQHBq-s#w&1jO1rD83{=mw@pT`6z&+f^7bgFur$L3Aq3QyohL8iyjVHW zOGa57t%!`GBy9?!*XUUM(OjceyEm-J+kaEsg?6*U9}lWq!&{3L9ce7>DvpfOoEWb_ zZOdA*J((w2eIU1-1_`#lI0+Q5#( z;F=}fb-yEkdSNUeg}%W%V}4BAvhy6rxl(<2eE8X1Y-eZ~${@Y@3FZ%~ckicHA*SYkSDvE`?#K(3a6TdN13TPv+50yTA zJs={xa@Ei!LmiGK2&$tU<^=YgHyfj0P6f{iQ)<&Fow4uOa2Y7;>Qb=S9WSSsF4)y}V_kvDtrKTGROVg+K*e|)UmHxnT5F&oGNmHFIPH+s>ApTnao; z{5W*L=dklK35F%hLEvJdyU)zF!~&Gc%?-!GF=tj_{mFj8fp56CiCRv@tN@_nK3JR! z>!6oM${_+cnz&!C5X&aZS1uA{7iCzJY}lFe|LJDsA$}Mv_DPy;A+HtGGEDK;!_1$^ z$H#eS3jTW2;j?dJx?OWE?FtpYlE2Y&fBG3?3a=ic7^x!>n*n{46{-qbW}|BHRlOWV z3(byy{bo2b3XpL6JNz}T<%t|*ihK=sVE_SLrMDn|PoB+^w`qwOfsd3=Cmc#Wy=EJu z)+K>H40S!`YM<}q&&fZ$E7CPU7z_^8YoQlYsgEj!0*sUN>nG6zD9E&2d)sq`8>fMV zH_r^QBB-7=*0gA6)lqsrs)|7Wx)r0?zyUc6*)Z;FklyS;1zE3|Hlh?q+f?aI6pAzl zcq&u)+6ol(>7KXu=)4l=QLMq=((R6V!GoIBWm_a#AIf6)U~$wmKYFS3a3l|U;flY^ zF{9V4wmkr39oG|$oWfMhHU;i4Jl-H#=E}&nypCMPb%=|2C4|q-6aJ_l4kP4KFZbo3axKS%79t(Y9zR@J0<^B`6W@p; zk>oOv03nA-b25bcY97Rg7`99P^cXHhw!u6MH1M`Rj;Qr`=II7uAg#?r%-}>q9Sz47 zZ_+71=LHH6a90voE+a(KBQ;dMFJuR>r9sZ=UC<%85Ib0k9EreI?D{xkfq4cVCYyG| z8RCuI%kVS+Jl3{eCcGKc(`Y!(|KNVp-*^?ezj5`q`y;+)?__UJIDU>LB^(2)guWs2 zP)+@B_)jV01I7c9yV_^FksypDz}`#hT0{Wf3$d9R#l|qB?Hlk{d3eqnS?dDi)FeKnxdMXsk;vLt z9=LH{sNccpp-GE8^|&z=ii?g&Y6N*8wFQXB2Xhb<0sMkzbbKJoJCJpjyLzcJzQuZd zP}6^&s#v^zl)&6UWquWVR+9?o3M4+8(RBJF0nwRK|6%>?%m7XIPh9`P!L$#@+#RhG zS`(mbu0^EZA;DG+3<5dKAF$8yX^>gh8Z5}DQToPOB#$E2ZomL?{$TS*5k}B}OoqBg zOXMGTO=CC^bZv89W_Cxk5myqxt+LnrqcUiB3==~6_jLL_>fgZcBP&D0`9OD=sSSne z=NBbMHyG;!Yn=yZ}diu zsVzFw=cv_d(PTt?;Rk6>pRT^ zIY_;f#G#XcvKJq$`sxM^i#tp|OJ2h|e52MCVW$=gJy~4J&)W(Q z-=lh@JUJEcHgl>w$j9yaLrUCF_&Ut}I*W{efI+e9W1dmwVE?C3_v=&mYgx|pLDP{4+N=gLgzCW~ z_6@lyh>kCta9wmUFZ8Yu{avrg1%T>6?>Ks>he_Ha2_(cOt+;W$-wYOTC_9Tupy?%V?tnpZ{@x7Y}0bu%&3vwi0?_wYGP_4Wof zuG&7+CYx_t>o@CQI8j7M3A1Nvnm79#`Tl>;8%T_lj3pQh)Z#b$u~hv+S7IqJ+#3@3 zPVTl7cWqbCiVn@xR?HQCv8H^xH!b(N4e-Q{EHa(V^j<+a)aX@&E+B#QHt4hPB6@VV z$Bbml5o1+sj#t3!7#rucpvs9>h4cIEuRDGALgsrGKH*kH;&hI@QgfPi+Ob4#_+^!5 z$)NqvGrUL9C)0(gbrUAWmmkZ7DS_VMSOd}c7}pQkp>$)NYu9mKfV$*1z&R$j?dhK* zE6NKR#Q7u20EeZv$e%xV%e4OwD)oK{2$rJi}K)VzNEc z;m7-z6fqq0?hBV40zD)u_dt1@apWog-EK*sK=L-}%(FOQ#`du)Rbc2Ftu8OCQ6?yt32%cM|N;?AtWwa#wjhfX7>_~!4 zM=Lx2hR>Yc0L~vv2)e1IGs>$TkBb&I27Ma%;UD4Z0sq}1g;5a-&$D_}v0{_3iE>sT z>m8yUY0o$UWfismOyFY%3%uwRsL2dpZSbYG~MK%B+Ayjizw6i5C3?O=ADT&$V9U z=iL2$I+$dK#G{;=ha#@wSAr85?la_8-;eUpvCs$xzF&U|!Kz74WVo5BXSTbilb+*G za3KS^Rcga^7BzC?SDP5gTZ7kqOi9#EdDnBYD_fE9MYkfoAi0Leo$cN)EakfBjxC4U zsid|e_}+#MT{iyh?y&0*P}t_GiP~O`Jj0U{R_t$H5x<=%>QzS!RW6x+{ob57y`f0p zlZx&_D~Ij;O)1hRs7JAwHWd~X=Mf`XhdvDQC*T*>Vi_|IxH@3tWP!G)PcC+QH!|el zVym*^v)VP+>c5_9p`J3E>W>SoLFsi|* z&vIm9w6DD->jlHAD$|k{86~nB$T{HMxzBo=#>m`@^~l_Oa;?XCgF#X^)F{MX)jhLj zcm=T;eNBEEK$Aes+o}Kebn?o7-asP;1t4Gi?r_p=k3Mn>3bqJ%>%)J z!Nthh73Z1Ds<9fK8dSo@+gf_3*D3R{n1b3nb?b4#xxgIrl&^i$j}xDG^DFn^NBsb!~Igu7R{~Zr+W9Q$>3sbHjC8>2@A>q7A#Wq z_?L8N)TGnJ^maYaazJl7xhqL*QF@A)+y}6F$`7K&`FYO(g9#rUvCLHzX5`?@laHym z3y}~-CQL;@WVCP5PJr|E>2SGaPYP*s+$@u=krh*7IT;Gc2sZ*MH@S6zPh9rupA^!G zkUqM<+QH+;C~dBY@~P9E-3v{C8dJGv|L#Vu_sWTT1tKQCf16neWSu2n_FsmQYqV2@ zGdsxMGgCjFtb(O1mh`c$#cgSQoFN!tF^~;r{`$<(eTIlPD(0c{hWTn9>d+kH(4yOG1zrq>+}amM!k z3FH5$!++11Xtve(_6T)pDsJ|%_@3Lh-G@0khGxVmoq0O@EE#7J6oa6HL7W6Nv-#(5 zo&RptRd;ljh)!?%M8Ihr@EOrezJUeNzY9R1$w#_PYw;%c|Ifwwe51bfMiS_Q9K^1xN6KqKkG1 z#T#t!GN>fM^R6M;LG{Xqb&|uxZ^;N%P&&Ad0X=!Wi!(1X+}( zItwrbJllf6f&JkMyo4>t6X02fzyEnDYjv9hRd*3PQ*Gb$IS~{tz!Md3@kpQ})o=WX z>AwLmN*eBz!iC^4=87S|Dt)j7)d%LQ;df)68MA@9&J+t%;kr~@OuQUM=;_Zv(6aTE z`8VUJM%rb5Fl)p~cZBSR#wfO76}oBSVxG@0%k+Q{7`CV?9;k>OFl?F#^nKYdRDAj< zs~N%s5ee7;u@1Yi3&R^89-v7hSK8R;gVJr`8lE4CctSupjpps1Pom;XQr$+K1w0S^ zCxAql`v)_cL$Pq+CkI=9_pVG&KT8MRZ@Ot&ggKBzg!gQ(%~WW1a4m|XwGMLL+%wDB z$SVwV|Hfu*yBft!6BT_@?V6}q?ji;rMVhd2T<^6^&{Zb>HF2S0P6jVN{qA(TrGDShS?>#X$1`a9ex^G@lNPo9K2P? z3WeSOb;on0=Cp|A9t`a`5stZUP!;938MmO7gwzGWpUWe zGU$k;c7VO=OOh`mS$whIs|+>Fo^k3|J+w3zt^iwuvtK>acf=6V`?|u9Ji3sw5?@3| zM0ME<3@StXz5N@P>97|W=I7Iq?`BUV{!8GiMo^zl>B%+v$O@%y_631-TNwA6?bdc0 zE$q$cFujwEOc>a3O5*nd30pcs=01H`^Ic%_97O^YUV|iCrUn!=;QVs7EN>Q>QaiF* z5ca&Yp_?q~7j{;#<(0k4kJ?Y~zu2fb>>E3;#5zj04Op({7#f=Z)bE^R+b-w_QPRA{ z07=K=^?Xp=VAy5Fc}pi{!xEg-YH%jEwb|&NDc(B}Fo#=PEoegcp>j)2rAHW>7k?Aq9Eu#*}>e z>9QIOi;VhV&wBET7qF)`Q~f~@zG8XV8O95@&dLrLEGdNuWXSeWH_TcT4?ewjSCP(K z%FBT@9;l7yCI=Wv7Ujhy_;h1;uE?+_I&eaB7{stq#0w!gVR5IjCi6Fok-c@`KN|+b zXXw4wsB7<+uUF|z%QPS&g7ef7%8-UV&$8<{t~XRgByLvgNXLl z91F0;XDUH^$*-<)$M4jes^JL)7P(_D1vO zuInoN8dSrgXC=*(Fa^JxAEMr`2pas@L&M-|ioq)1r~q}mt}x9!*P5guS9>L>|j-Hmb~kulV(v=CP^E5>hGoVL1D7OvuPaS!jo=Vnpkm_{$&Y&Lif=!wNkUhYL{{Uz zlEJmo{baLvK_O*VDmxeoc|$rMn}-ZjandtY>jQP2QjqCjzrgFCQ_Ug)EwZ|pn#Qtg zrA)%AE&kOSaX?b>;k!rpJ53q%Yw%t?n%VZXW~+#!$vZo6Fb2XJ9*0NS)W3h2BM(?}g+*-)K->Lgfn*(EQ%fUvBu z#muZ)Tr`|0Fh{f5eJz>Ke@PPUISbL|>}TTdy~?Y_h=vNe`bRNZAB8%nM4 zR-$nWK?mHR1`QIP2F9XeA9F&9q(FS2+m9HH=IY&r#e?#6ABrow|q*iB&?0s`lY}sKH@UB*AjeY%fn6F zS1zvcz$YGVT=Js*`@$``0b}{}qJ0{J`oq@w5F|}SUv$rl%!;Ko16j$dKYN`73|{tg zuUghG;!FV&ui0JS-n=_oCznUIJ?B#ac)rH57nWGkMMp|J83E91iD70;f}z=vx+@Mz zBMcS|MY&>z$G9QJHqh&6ngwjHA*EMAdA!xT7v4XLBF z-scK+d)MC|Flu2v`&~s2|K$Io7orDff~o3lP^@*6&KsbE=5=kDmz8QS zs%gQJWo!=Zu`U>iE!6To5S81H(A26~?$9?XOgBa?$4eeXe#QU;siU8j%o*XCRT(4m z9KH39c*u_AF(tFMb$p1taljbk#yuFOgY>L)#{dV#1X0vs%HoZo9q-b0* z=MaFYT}Iu${py1LXI16^b;pnz>CWym97$Hex4ZVQ!Z*W>sXC^RWhhSBj?+~=Nar;P z@bqT~n$WIx|7VFK>TQWF{g+<1M?8D{zf@{z6D8` zXj7V(KO`_(NN--Ngs@C2qD>C@pF7ZyC(0B~J{ksp3BR;QMi+RnpzMB#VW14a;tvbL z1*xMp5nRVN(p=j^(<(v+j+tSB5_OP#duFurIGAKMLIH0?mJ-jxqWYNJ{DIh`~;`IB20x!))o1{Xw9@jA)8g zn_Z^t2UEUgGd)L*_sq%Q)^Lx;uCZQu8R*<;MQIrurtdhbx`k>!sO*N?&sn(3-!>pi*qu)?v2l_oqB?s@Xml z2`b3}+4++lM&A+fjO#n4&jMoCO~29j-5m^Nbt3uipl^K{wv3(6tGfuxPzFY3pRhCf zAAeisWY#Kq(^BAaap%o?DqmYUZ+7L74~-_qgIiaJnhQ>mAMHt!ap~IGMSJ*g4W!7r z;>IVL1u=7&-#mwrmxV15-^rs4%(jI?-y9}h3hQ{|wu!gQN0fe7h((>h-(`Tg;6&(1 z`q@arT_cIM2WizXs0BwaueyHMTaNADFt3j6`_yCxdfN%q%Y|U|ob6g!3NArX=*F6s zZDb;0yc$!mX0g+o^$82#QIjP=$TFD4l+g<_e)}jKj`#u9y{aSk%3&aqZ!IL4de|5`}>FmOr7n z_19d*80oJ$uN}W6e#oE5#-}C%K>_q|N5Fi@zr5Yl5Ew3T9>)m}j%4R|=fnDR^gVpA;LZNyoDTHza(=a7W=4a!cK34n z_`h1?aFtane-O@%xhx5DB#Kt3I(Xcz$MK;ek<^5wCqOOJ3NLtme4ngF$KH#_G60pJ z4}^SeOhu#b&NywidS@j>6_lrwIfDQGs*P&jb%<+~<8^ncVgIP`6{Ov-{Kca9*(rZ6 zQaxb}G>GMoP7p$0eY8}61vk;Xr$QQaRF?3^te&A`eDWYE`5nUd!>yW^0STf?f%It? z?t7oeB?~ziF+3+>Fb=nsl$09hMdRC~=(;(aKIN>Hfyy}tNf=a9=zLw<_ zw!)jePRO}Vg=EhiSWx}039yf%o<=J6u18WIaje}79!{9Om~mxTzrAF--XesnNf<{t z(jB~~kGs2-95yn0SgM|U3z-NDd3+mx5zR=4-AK{=Jk%_zsk=@9h(WRg!LJ@7<}Eui zPA=s-1AbE+m)&XneoPxBzYUsH_nbXmXN6k;>aoM^7q@h8WYncf3Gd%3o&NGsS?6AG zl4(t^qdXFcJr!e0*EfpLJ>%e-n3GE94d;=mB%Rj z?9K#5+tJ#^tD4UH>JT9tzl%(dAiD;!o8?yGJ${3$A0lKMtSq{K6GRXL1XfOamf`8M$pk8xl^+a@!xq}6J|C(%9(_(mcA~?nj7Fzy=)<5KKW~jdwcLtGT^G( zEnp+rv?vB}J(getAj5tr%K2Uah~fKmdoRp3RDoCauHN!^C~1U&R7W3D2&#J#wAqVFK5wTF9CBWgOBqm+xgnKJQTk9jD1m?6T>m?Nms zKeaROJbBmdtjPU{?!UH4PtV?eLtL8UaN#7~I^no><^CcZy|*~LsFJKMo_n!7mvD%( zrxDHL{KX1fB{K(@MG{YsyVPs&oZa_)r`SA3-4UlItO+rntKn1g*bw*}J08ToD`lEi zwL-Ae+i=)IPZX^-x`q(LbO5S79Ip>*<4*Xtw8Gf?|P{gSZ&j~|#! zFUg0>`VTc9rOJ;S#0C+PmACEbJQ1x95bZVVNoVAy^c`!_t6Iq=t#cy8066AG#gbc5 z>2`sS^|Wa)dZoZ9nRQ;*iE=(eBn=E1qs?QvCUFark_?EnbXpZAOUtTrhFw4Kmys}Q zq%KphLC^HKu2-@0KX8iFOtz>0mNY30`q5=Uk0g=Cn6Ht|IA;uaahD-AME#@tlc^Be zwsh}rILRifR_`>^crl~0o&0d>_@S82G3FHcaP=qaIeWRysqHx9#nRO%YM`Tqx=A?dMd?zA&1J1DFv_?7*57Kv;`__^ zK7P0mTg}YTCP;dg9>F9n?VU|Z+C`2)_iYRQiFS08p}0;1ei~930~jJz6GhYTr@V^} z$vh_k9?m}Y4V9q?s|BsG*ooCF(B-0s5nUv~E{>q#@c5V4@J1lQYMfLrOFe}~0BEMLU@yBHWH5Dw-vkd@1$ zh~J@bkOTestN!LKu{_Q$HFx?osSm|?&%a=ZdTgQH&fK5}fX6kpd>15sI}6gkvC3`` z0Qvzw5OmI#{Y}&e_uH$wLW`!L(R>l55NY7a2883|*GM>BuNnEPcqaT!)QE`ge12K( z3r|@|QJnF{jmg7}-K_*tA!c>LJObh6-*CfKqM-$S73FP}R^hGjuf2lZ1cX6k6r;XZ zz8t$h#mp-z1;`w2CZG`ctD75Uaf9m1hHB7F+GBdDz&x-14cBR$2tlGDW`2?*1Wbb{ lu5ZrxKVR?v_Zx0AJS;j^WIwt|b_=*!4|Ghl8#Nu{{|B$8rv(52 literal 0 HcmV?d00001 diff --git a/public/overlays/light_cast_2.json b/public/overlays/light_cast_2.json new file mode 100644 index 0000000..7d97b59 --- /dev/null +++ b/public/overlays/light_cast_2.json @@ -0,0 +1,108 @@ +{ + "name": "light_cast_2", + "celFile": "LightningCastRunesFront", + "width": 1024, + "height": 381, + "directions": 1, + "frames": 10, + "framesPerDirection": 10, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 9, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -154, + "width": 147, + "height": 190 + }, + "groups": [ + [ + [ + 0, + 0, + 147, + 190, + -73, + -154 + ], + [ + 148, + 0, + 147, + 190, + -73, + -154 + ], + [ + 296, + 0, + 147, + 190, + -73, + -154 + ], + [ + 444, + 0, + 147, + 190, + -73, + -154 + ], + [ + 592, + 0, + 147, + 190, + -73, + -154 + ], + [ + 740, + 0, + 147, + 190, + -73, + -154 + ], + [ + 0, + 191, + 147, + 190, + -73, + -154 + ], + [ + 148, + 191, + 147, + 190, + -73, + -154 + ], + [ + 296, + 191, + 147, + 190, + -73, + -154 + ], + [ + 444, + 191, + 147, + 190, + -73, + -154 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/light_cast_2.png b/public/overlays/light_cast_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5af96e7aa5a9bfd70d079a86c33813379db3e5 GIT binary patch literal 26863 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 J9}V5({|~pcFdF~> literal 0 HcmV?d00001 diff --git a/public/overlays/teleport.json b/public/overlays/teleport.json new file mode 100644 index 0000000..cf87cca --- /dev/null +++ b/public/overlays/teleport.json @@ -0,0 +1,172 @@ +{ + "name": "teleport", + "celFile": "Teleport", + "width": 1024, + "height": 464, + "directions": 1, + "frames": 18, + "framesPerDirection": 18, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -61, + "top": -108, + "width": 136, + "height": 154 + }, + "groups": [ + [ + [ + 0, + 0, + 136, + 154, + -61, + -108 + ], + [ + 137, + 0, + 136, + 154, + -61, + -108 + ], + [ + 274, + 0, + 136, + 154, + -61, + -108 + ], + [ + 411, + 0, + 136, + 154, + -61, + -108 + ], + [ + 548, + 0, + 136, + 154, + -61, + -108 + ], + [ + 685, + 0, + 136, + 154, + -61, + -108 + ], + [ + 822, + 0, + 136, + 154, + -61, + -108 + ], + [ + 0, + 155, + 136, + 154, + -61, + -108 + ], + [ + 137, + 155, + 136, + 154, + -61, + -108 + ], + [ + 274, + 155, + 136, + 154, + -61, + -108 + ], + [ + 411, + 155, + 136, + 154, + -61, + -108 + ], + [ + 548, + 155, + 136, + 154, + -61, + -108 + ], + [ + 685, + 155, + 136, + 154, + -61, + -108 + ], + [ + 822, + 155, + 136, + 154, + -61, + -108 + ], + [ + 0, + 310, + 136, + 154, + -61, + -108 + ], + [ + 137, + 310, + 136, + 154, + -61, + -108 + ], + [ + 274, + 310, + 136, + 154, + -61, + -108 + ], + [ + 411, + 310, + 136, + 154, + -61, + -108 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/teleport.png b/public/overlays/teleport.png new file mode 100644 index 0000000000000000000000000000000000000000..8454713d321c46b9bb14f396750ec93b679068e0 GIT binary patch literal 30361 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