From ff867a13e386f820b6462ed47dcb195de76e6b67 Mon Sep 17 00:00:00 2001 From: troytt <47798984@qq.com> Date: Wed, 23 Sep 2026 02:35:55 +0000 Subject: [PATCH] feat(skills): authentic baked missile DCC atlas and explosion rendering --- AGENTS.md | 5 + package.json | 1 + public/missiles/fireball.json | 683 ++++++++++++ public/missiles/fireball.png | Bin 0 -> 108176 bytes public/missiles/firebolt.json | 683 ++++++++++++ public/missiles/firebolt.png | Bin 0 -> 63062 bytes public/missiles/fireexplode.json | 109 ++ public/missiles/fireexplode.png | Bin 0 -> 12821 bytes scripts/pack-missiles.ts | 213 ++++ src/render/missiles-meta.ts | 1550 +++++++++++++++++++++++++++ src/scene/act-scene.ts | 131 ++- tests/firebolt-missile-113c.test.ts | 118 +- 12 files changed, 3480 insertions(+), 13 deletions(-) create mode 100644 public/missiles/fireball.json create mode 100644 public/missiles/fireball.png create mode 100644 public/missiles/firebolt.json create mode 100644 public/missiles/firebolt.png create mode 100644 public/missiles/fireexplode.json create mode 100644 public/missiles/fireexplode.png create mode 100644 scripts/pack-missiles.ts create mode 100644 src/render/missiles-meta.ts diff --git a/AGENTS.md b/AGENTS.md index 0ba4c2d..a6afbc5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -53,6 +53,11 @@ - 所有暗金怪(`SuperUniques`)必须自动推导并解析其随从(Minions)所依赖的全部 DCC/DC6 动画与材质资源,一并纳入离线打包构建。 2. **原版文本数据转录不得篡改或简化**: - `SuperUniques.txt`、`MonStats.txt` 等元数据必须严格保留原版 Class 标识(如 `scarab2`, `zombie5`, `fetishshaman4`, `nihlathakboss` 等具体变体),禁止粗暴截断变体数字后缀或自编别名。 +3. **技能与投射物美术资源必须采用原版资源并离线烘焙 (Missile & Spell FX Parity)**: + - 严禁长期使用由代码绘制的方块、纯几何色块或纯程序化简易图形作为技能投射物/特效替代品。 + - 所有技能投射物(Missiles)、次生爆炸(Explosions)、状态光环与法术特效,必须严格以 1.13c 原版 MPQ(`d2data.mpq` / `d2exp.mpq` / `Patch_D2.mpq`)中由 `Missiles.txt` 的 `CelFile` 字段所引用的原版 DCC / DC6 动画文件为准(例如 `Firebolt.dcc`, `Fireball.dcc`, `FireArrowExplode2.dcc` 等)。 + - 必须通过离线解包烘焙脚本(如 `scripts/pack-missiles.ts`)结合章节调色板(`ACT1/pal.pl2`),将原版 DCC/DC6 的全部朝向(如 16 方向)与全帧序列预打包烘焙为 Web 原生 Sprite Atlas(图集)及对应元数据,供前端 WebGL 运行时直接高效索引与渲染。 + - 音效接入解耦:现阶段音效系统(`Sounds.txt` / WAV 音频资源)允许暂缓接入,但视觉动画必须具备 100% 像素级原版 DCC 贴图资产与帧率对齐。 --- diff --git a/package.json b/package.json index e1ffabe..7d7b75a 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "pack:ui": "tsx scripts/pack-ui.ts", "pack:animdata": "tsx scripts/pack-animdata.ts", "pack:entities": "tsx scripts/pack-entity-assets.ts", + "pack:missiles": "tsx scripts/pack-missiles.ts", "verify:entity-packs": "tsx scripts/verify-entity-packs.ts", "verify:packs": "tsx scripts/verify-packs.ts", "verify:bundle-no-mpq": "tsx scripts/verify-bundle-no-mpq.ts", diff --git a/public/missiles/fireball.json b/public/missiles/fireball.json new file mode 100644 index 0000000..bc86e55 --- /dev/null +++ b/public/missiles/fireball.json @@ -0,0 +1,683 @@ +{ + "name": "fireball", + "celFile": "Fireball", + "width": 1024, + "height": 335, + "directions": 16, + "framesPerDirection": 5, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 75, + 48, + -19, + -74 + ], + [ + 76, + 0, + 75, + 48, + -19, + -74 + ], + [ + 152, + 0, + 75, + 48, + -19, + -74 + ], + [ + 228, + 0, + 75, + 48, + -19, + -74 + ], + [ + 304, + 0, + 75, + 48, + -19, + -74 + ] + ], + [ + [ + 380, + 0, + 79, + 52, + -19, + -62 + ], + [ + 460, + 0, + 79, + 52, + -19, + -62 + ], + [ + 540, + 0, + 79, + 52, + -19, + -62 + ], + [ + 620, + 0, + 79, + 52, + -19, + -62 + ], + [ + 700, + 0, + 79, + 52, + -19, + -62 + ] + ], + [ + [ + 780, + 0, + 81, + 52, + -63, + -61 + ], + [ + 862, + 0, + 81, + 52, + -63, + -61 + ], + [ + 0, + 53, + 81, + 52, + -63, + -61 + ], + [ + 82, + 53, + 81, + 52, + -63, + -61 + ], + [ + 164, + 53, + 81, + 52, + -63, + -61 + ] + ], + [ + [ + 246, + 53, + 74, + 48, + -55, + -74 + ], + [ + 321, + 53, + 74, + 48, + -55, + -74 + ], + [ + 396, + 53, + 74, + 48, + -55, + -74 + ], + [ + 471, + 53, + 74, + 48, + -55, + -74 + ], + [ + 546, + 53, + 74, + 48, + -55, + -74 + ] + ], + [ + [ + 621, + 53, + 34, + 55, + -17, + -81 + ], + [ + 656, + 53, + 34, + 55, + -17, + -81 + ], + [ + 691, + 53, + 34, + 55, + -17, + -81 + ], + [ + 726, + 53, + 34, + 55, + -17, + -81 + ], + [ + 761, + 53, + 34, + 55, + -17, + -81 + ] + ], + [ + [ + 796, + 53, + 94, + 40, + -20, + -65 + ], + [ + 891, + 53, + 94, + 40, + -20, + -65 + ], + [ + 0, + 109, + 94, + 40, + -20, + -65 + ], + [ + 95, + 109, + 94, + 40, + -20, + -65 + ], + [ + 190, + 109, + 94, + 40, + -20, + -65 + ] + ], + [ + [ + 285, + 109, + 40, + 61, + -20, + -63 + ], + [ + 326, + 109, + 40, + 61, + -20, + -63 + ], + [ + 367, + 109, + 40, + 61, + -20, + -63 + ], + [ + 408, + 109, + 40, + 61, + -20, + -63 + ], + [ + 449, + 109, + 40, + 61, + -20, + -63 + ] + ], + [ + [ + 490, + 109, + 91, + 37, + -72, + -63 + ], + [ + 582, + 109, + 91, + 37, + -72, + -63 + ], + [ + 674, + 109, + 91, + 37, + -72, + -63 + ], + [ + 766, + 109, + 91, + 37, + -72, + -63 + ], + [ + 858, + 109, + 91, + 37, + -72, + -63 + ] + ], + [ + [ + 950, + 109, + 53, + 53, + -17, + -79 + ], + [ + 0, + 171, + 53, + 53, + -17, + -79 + ], + [ + 54, + 171, + 53, + 53, + -17, + -79 + ], + [ + 108, + 171, + 53, + 53, + -17, + -79 + ], + [ + 162, + 171, + 53, + 53, + -17, + -79 + ] + ], + [ + [ + 216, + 171, + 88, + 41, + -19, + -68 + ], + [ + 305, + 171, + 88, + 41, + -19, + -68 + ], + [ + 394, + 171, + 88, + 41, + -19, + -68 + ], + [ + 483, + 171, + 88, + 41, + -19, + -68 + ], + [ + 572, + 171, + 88, + 41, + -19, + -68 + ] + ], + [ + [ + 661, + 171, + 89, + 45, + -19, + -62 + ], + [ + 751, + 171, + 89, + 45, + -19, + -62 + ], + [ + 841, + 171, + 89, + 45, + -19, + -62 + ], + [ + 931, + 171, + 89, + 45, + -19, + -62 + ], + [ + 0, + 225, + 89, + 45, + -19, + -62 + ] + ], + [ + [ + 90, + 225, + 59, + 57, + -17, + -62 + ], + [ + 150, + 225, + 59, + 57, + -17, + -62 + ], + [ + 210, + 225, + 59, + 57, + -17, + -62 + ], + [ + 270, + 225, + 59, + 57, + -17, + -62 + ], + [ + 330, + 225, + 59, + 57, + -17, + -62 + ] + ], + [ + [ + 390, + 225, + 59, + 59, + -42, + -62 + ], + [ + 450, + 225, + 59, + 59, + -42, + -62 + ], + [ + 510, + 225, + 59, + 59, + -42, + -62 + ], + [ + 570, + 225, + 59, + 59, + -42, + -62 + ], + [ + 630, + 225, + 59, + 59, + -42, + -62 + ] + ], + [ + [ + 690, + 225, + 92, + 43, + -72, + -61 + ], + [ + 783, + 225, + 92, + 43, + -72, + -61 + ], + [ + 876, + 225, + 92, + 43, + -72, + -61 + ], + [ + 0, + 285, + 92, + 43, + -72, + -61 + ], + [ + 93, + 285, + 92, + 43, + -72, + -61 + ] + ], + [ + [ + 186, + 285, + 85, + 43, + -65, + -69 + ], + [ + 272, + 285, + 85, + 43, + -65, + -69 + ], + [ + 358, + 285, + 85, + 43, + -65, + -69 + ], + [ + 444, + 285, + 85, + 43, + -65, + -69 + ], + [ + 530, + 285, + 85, + 43, + -65, + -69 + ] + ], + [ + [ + 616, + 285, + 53, + 50, + -35, + -77 + ], + [ + 670, + 285, + 53, + 50, + -35, + -77 + ], + [ + 724, + 285, + 53, + 50, + -35, + -77 + ], + [ + 778, + 285, + 53, + 50, + -35, + -77 + ], + [ + 832, + 285, + 53, + 50, + -35, + -77 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/fireball.png b/public/missiles/fireball.png new file mode 100644 index 0000000000000000000000000000000000000000..320100761da57284170e0aeda2573209b214fa48 GIT binary patch literal 108176 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

=9&Kas``F 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 Eg1LKZtN;K2 literal 0 HcmV?d00001 diff --git a/public/missiles/firebolt.json b/public/missiles/firebolt.json new file mode 100644 index 0000000..748527c --- /dev/null +++ b/public/missiles/firebolt.json @@ -0,0 +1,683 @@ +{ + "name": "firebolt", + "celFile": "Firebolt", + "width": 512, + "height": 439, + "directions": 16, + "framesPerDirection": 5, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 55, + 39, + -12, + -71 + ], + [ + 56, + 0, + 55, + 39, + -12, + -71 + ], + [ + 112, + 0, + 55, + 39, + -12, + -71 + ], + [ + 168, + 0, + 55, + 39, + -12, + -71 + ], + [ + 224, + 0, + 55, + 39, + -12, + -71 + ] + ], + [ + [ + 280, + 0, + 63, + 41, + -12, + -55 + ], + [ + 344, + 0, + 63, + 41, + -12, + -55 + ], + [ + 408, + 0, + 63, + 41, + -12, + -55 + ], + [ + 0, + 42, + 63, + 41, + -12, + -55 + ], + [ + 64, + 42, + 63, + 41, + -12, + -55 + ] + ], + [ + [ + 128, + 42, + 62, + 41, + -49, + -56 + ], + [ + 191, + 42, + 62, + 41, + -49, + -56 + ], + [ + 254, + 42, + 62, + 41, + -49, + -56 + ], + [ + 317, + 42, + 62, + 41, + -49, + -56 + ], + [ + 380, + 42, + 62, + 41, + -49, + -56 + ] + ], + [ + [ + 443, + 42, + 56, + 40, + -44, + -71 + ], + [ + 0, + 84, + 56, + 40, + -44, + -71 + ], + [ + 57, + 84, + 56, + 40, + -44, + -71 + ], + [ + 114, + 84, + 56, + 40, + -44, + -71 + ], + [ + 171, + 84, + 56, + 40, + -44, + -71 + ] + ], + [ + [ + 228, + 84, + 30, + 45, + -15, + -76 + ], + [ + 259, + 84, + 30, + 45, + -15, + -76 + ], + [ + 290, + 84, + 30, + 45, + -15, + -76 + ], + [ + 321, + 84, + 30, + 45, + -15, + -76 + ], + [ + 352, + 84, + 30, + 45, + -15, + -76 + ] + ], + [ + [ + 383, + 84, + 71, + 30, + -13, + -58 + ], + [ + 0, + 130, + 71, + 30, + -13, + -58 + ], + [ + 72, + 130, + 71, + 30, + -13, + -58 + ], + [ + 144, + 130, + 71, + 30, + -13, + -58 + ], + [ + 216, + 130, + 71, + 30, + -13, + -58 + ] + ], + [ + [ + 288, + 130, + 32, + 46, + -15, + -56 + ], + [ + 321, + 130, + 32, + 46, + -15, + -56 + ], + [ + 354, + 130, + 32, + 46, + -15, + -56 + ], + [ + 387, + 130, + 32, + 46, + -15, + -56 + ], + [ + 420, + 130, + 32, + 46, + -15, + -56 + ] + ], + [ + [ + 0, + 177, + 71, + 28, + -57, + -57 + ], + [ + 72, + 177, + 71, + 28, + -57, + -57 + ], + [ + 144, + 177, + 71, + 28, + -57, + -57 + ], + [ + 216, + 177, + 71, + 28, + -57, + -57 + ], + [ + 288, + 177, + 71, + 28, + -57, + -57 + ] + ], + [ + [ + 360, + 177, + 42, + 44, + -12, + -75 + ], + [ + 403, + 177, + 42, + 44, + -12, + -75 + ], + [ + 446, + 177, + 42, + 44, + -12, + -75 + ], + [ + 0, + 222, + 42, + 44, + -12, + -75 + ], + [ + 43, + 222, + 42, + 44, + -12, + -75 + ] + ], + [ + [ + 86, + 222, + 68, + 33, + -14, + -65 + ], + [ + 155, + 222, + 68, + 33, + -14, + -65 + ], + [ + 224, + 222, + 68, + 33, + -14, + -65 + ], + [ + 293, + 222, + 68, + 33, + -14, + -65 + ], + [ + 362, + 222, + 68, + 33, + -14, + -65 + ] + ], + [ + [ + 431, + 222, + 69, + 32, + -12, + -56 + ], + [ + 0, + 267, + 69, + 32, + -12, + -56 + ], + [ + 70, + 267, + 69, + 32, + -12, + -56 + ], + [ + 140, + 267, + 69, + 32, + -12, + -56 + ], + [ + 210, + 267, + 69, + 32, + -12, + -56 + ] + ], + [ + [ + 280, + 267, + 49, + 45, + -12, + -55 + ], + [ + 330, + 267, + 49, + 45, + -12, + -55 + ], + [ + 380, + 267, + 49, + 45, + -12, + -55 + ], + [ + 430, + 267, + 49, + 45, + -12, + -55 + ], + [ + 0, + 313, + 49, + 45, + -12, + -55 + ] + ], + [ + [ + 50, + 313, + 47, + 45, + -35, + -55 + ], + [ + 98, + 313, + 47, + 45, + -35, + -55 + ], + [ + 146, + 313, + 47, + 45, + -35, + -55 + ], + [ + 194, + 313, + 47, + 45, + -35, + -55 + ], + [ + 242, + 313, + 47, + 45, + -35, + -55 + ] + ], + [ + [ + 290, + 313, + 71, + 36, + -58, + -56 + ], + [ + 362, + 313, + 71, + 36, + -58, + -56 + ], + [ + 434, + 313, + 71, + 36, + -58, + -56 + ], + [ + 0, + 359, + 71, + 36, + -58, + -56 + ], + [ + 72, + 359, + 71, + 36, + -58, + -56 + ] + ], + [ + [ + 144, + 359, + 67, + 35, + -54, + -65 + ], + [ + 212, + 359, + 67, + 35, + -54, + -65 + ], + [ + 280, + 359, + 67, + 35, + -54, + -65 + ], + [ + 348, + 359, + 67, + 35, + -54, + -65 + ], + [ + 416, + 359, + 67, + 35, + -54, + -65 + ] + ], + [ + [ + 0, + 396, + 44, + 43, + -32, + -74 + ], + [ + 45, + 396, + 44, + 43, + -32, + -74 + ], + [ + 90, + 396, + 44, + 43, + -32, + -74 + ], + [ + 135, + 396, + 44, + 43, + -32, + -74 + ], + [ + 180, + 396, + 44, + 43, + -32, + -74 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/firebolt.png b/public/missiles/firebolt.png new file mode 100644 index 0000000000000000000000000000000000000000..41ac3e6ea8526c0df9847ef065158171bac622c4 GIT binary patch literal 63062 zcmV(_K-9m9P)wkN^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!oQ6JqR4zGBGSyJo3^a=w0hG@r@PwdLZQF( zprPGG@2B}P^9Kx2HsD491{!U^u5Sa(f3UzT8pO`dmqww0ni{)O){bV}YPDHbCo_X& zDwC8bid2vcGWZH|&$&URD2dc7Gs`Zw!_G`S7_WQIJ?D4MJ?D1;E_@{6hvSMz@`c7u z#Q(kvhy48(k|>MgN1qPq>X#LdUFfPR@X8L$57YB-kX@ZYX3UQr(6v~UD__;ob##Be zf?s5>dWEbA);?GU*;n$~)(d?q_U+i9->K8dw)+0~iMz5d(^iW|mSpKlV_@Y0d>_SP z@>J|fGZ_s?EEIxJ$o-0J!TAH+xpDw}r zef+0|e+0D*iVT-D1rp5Q-*x=c36^01aM@>+ee^ef4Zg;Ij_xmJe@7O8d|yI7)VmKa z4+B1k%dgrz9UdG9rC9umoXrc9nx2my;Tvdwr*C; zE;oIF%69gc^kpah+w5?iW>6`EM+491h0RU!1AzCTN?&$36+jhQ&oXccD}wTW*HMBH zUZOK7L6Lr@h$#IRGIm!1feQwtu5eQ+6GNdSbmejC76r9jT=b{2?fS|UX;edNO7kshg zhwpj-+RkVAHTUc~Jo7+N>t~Z6agFTnSOH?Z-nA+*+l8K7%*xL_6$%8^_+p|oC66B$ zz9N}GtaovhTkvR`3ji8i#!1V}r;6xhH)H%J#AbFgKZ5*oJCcC6yd1#YH83=02Jo*6 zR8k2bjb`t5_Rzjl`D4Fv55M{xr@z0VBE(Pup#(5}yMX>&|3jUB4`8hgyTG9$>3Dt{ zjgX#(So$R?fb|>@E-lD%GS=G!eB^ZdLa@~l8<=sk89XbB(!QX%FuzcG^j8de_Sl62 z1#*-%Z8l*TaOYA$ImldWwgxqkXE5*>UW)HcU? zDS{^cv4PbJ?+F5+{M`Xg0D&C4)gz9gtntUpoA?Oa8mgevc`FQVr&GY|p!~IT?4`;7 z3V3vT@6!omVfiP?m_AfE%zhT~|*mtvzKYqBW? zo`=|ZI)KJ_kQ5hS6CI>2>c8WO$1iLET&BVj&eruM0ebBIN9H|>B8R*9#l3s?JOX}= z-v=-zL$ki%#OT~%V$Vq<@|OFL!7x_)_~m==K|pf5%%2NES*hWTlQP{eGuZ$X=yCd} zLCg3rg@JB22%a~95GcX4} zursAOBbCN1Y21s_PG*vLeF6Wh#CZwyn%KR7rki1^VPi;Lv)Qt65z8U7=x%oT=1l<{ zjxMjRr`1Ykv(6o!oJf81Tj+GwR{J)a4eoipvt$A=A`gX_MRV}H#NJ979~f9RzWnbr zz^i>Lp8ppVO;*SSpavk2v&z{O=76P1K}BXCGCH}PReKS6ofmJvI@Jxu=sK^ zvtuwo@*@LZDwd9=mrCg9WRK=CY-nE*iee1v_3v>A?&;%m%&DOt`q z4?U@9$t(h210UJ`W~k9bH|uVrS3mFJ(Hf^1R!3v&7I;1PhmBkhGH2Syq34cM+D}3a zwberev&37W^+X&ELgA8uVA8Tk%&B&x5V0L&;Ibz#jisCdTDBbZ-Yy z|Cd+q!@y#!LThhs2Xb&nEub(}vM2Ph6v+MT__#)hfnZr)UAEzOcz#b;1(#9X4MV9h zg-TdUy&4O!k`AJGOvfNr!V!^WO)(<)m^d?p$qqoopj9RnAiPv*fh%YOTTOu)?Bf_H zXRK(jA6LQSgW5c0O&TuK;AxtCp63WKtFwhLapjh|j##z>wW2Hq)DmeEp`hd+Uzk4e)xB=~BF zl0eG?JO}N#3*|p|2Ol&9t||5r8(j=PIn1;kPc~-K>uFGX7@Z6ZV_;o=*Y3hN0#p}h z4QQbJ@okbXR{@e}x#^Lz!jRZPAm_kH1PF2y2Wfe9&!3AI%U^+YW zu0H5VJv0n*=y_h_gafeP>{*13LXAwv3Ef}BQ%)IdV{*EdRa5QH*1gq_tEOZpuiWJtCFe)F5bfRcE&_c^|n>~+%Cx|NEymZ?~~GqGkbnu5c3AN!%X-9tbOad%g#Aef!QLI@HX@Fgfhvh%D{Jr zB0p}AWgG{gyt;}w0Q&va{<6~_CQqUQsn0B=ewJK$VHG%WOG4kkYY?2ipHN|1;RIZmyzp~`$wm}Qx%uovfmjFf8(8IehyWb<2bZ38EwAxPD=9tkJ zKovrzjYLHF=BD4sO*O~~xSKZEl%uV(a$5c?cuV=y6@1Ve-O4N_YWC4K@jG*RQRipj zu^rMAau!lXLSs>ASO*z-7K*5{4s-#iZFcC@x5yc}P6Vt=GaNl1c;D^A>hc;ofGVYh z)KUoJxdiN#gYEkBd!2GU_}*`;5%8i?zK5r;z6-1ERsn=vXf-2(YG?YT^G3@7NC5KSvy~TC0Et$-WH#TyDKI0P^+P`D z!hzaM$VwA`qI)!DY!(Vf7Oi)rFb6x$+a9eT2x=Ft6dLEuf@fEe!y0t9M*QUPOBrs0 z8Y)3IQh-2!+l4Twnoe*4$3>ARLe4|OfHp^%YD_h7+UBF+DhW^u`L<6c^hZGoYBvrX zzMD|;LcQvTIcEc>W5wNMaN;D!XiV7*c%vL?q8QnHC1=%y&XZd(&|A~iS`Owj*~OZf z7Z4ih6IsGIVws3QiNKEFr%A*?2L)J0>w!ZAc8{j@cAYq-&;-U#=m1?s_Q5UAi~#8N z6p^g%>%9KN3$}^@DU5z_Qpz^yWv~Ii&=a;aC@bTsdYsk}H(bgdZ_5)Q#A;1L)B! zE@8I^I&@QzuxY*;*wSM|4X?F!r~n|~{8XYY#dlLLb=^&OcVls^0+#rTd&QNyW3zE(6=E55T+e} z;5b^cNO6`@2>58g6Y%S(dp2l!db|R!BhYzN$HraoSBfwK>9e=rm&CuayNG(Cg-Xnks zoo34=baS*Whwlcy4QWi~TylcTi<%XpwK0`UKN&?P){FUC6FMKu+0K*830a=wgtE#FbmLf@u=u_&n_a?gJ~!Ju#4knoDK)>2S@?h zs3mAcLM8m8fv36~s8E!pvlYTS+EZ|N51eiI>U+H)MB!RY0INWVSdc?48VaF)kE{k;pkQ}TN#$avRtxq%W?=` z?xPS9@04CMEjn7PW~YF@c?SOe&-FY++xsxHpEmK{XcC@uj%hmoHwQ#WQxIGWv&>0@e}$@0YN8pZahuH z#PqrdRy1L=#d&b%A~+eR!BIs;K+6Tinoo;bNG*&`TC%4n=b~KO2gLhYZd7(iD5^_p@ zvzyJPl~Yp^0O%U#=73U}vY5W2`a5Z3pi1n6Xxmb!Y;Zxt%l$?it5mM_z>o2z6`+WRkLna*Z+|Okf*`uJ%++F zjXgG+<}h3Sg8i%kjj}B$gE%F_C2Lkl0pcV_R4}q{kq*wJR)9<+P3i%IcX)TmQG6iA zM9T>tPCd0k{q#Ca(x|awm3q%t#x9J$14pl{zQPl70bZ9E^I#0qxpz{Pgh>%JkNHuwn ztA&=uPhruoP#KzNJ)kt7o5ESKzlq@eqz4H1?6c@w^pLBC5xmRF!a2NM1p{*TRGWXA zKC57)Z)Kqt@ORofEYxWd0)#rc0K?`)i**w!M#mUHCi#J#-<-5g;-;_-pHPKnDiJ|@ z9&93Z?L{j2pv$9GwRwDWh))+!&)^sif0{fm{*wS7g|TEO&9&1Qk70TvD-YAsOEdfH zApU&iG77K)KgMZz4Hc=6FN>qPX271UjLrrP9j$%8{f|9+T6DEe0?hlSg>_Nd4$rea zAe4gx+j5m)gEB@YTsRq_CRgx8G+)>5!P?zbSjIW?0K+f}K4v`R+dLF{(i|RLH)jj* z_vyS@6yWkI3yVM3(GI8>Ue$IxLNkB{k=Dw)V;+=6k95uh8|75G6-3n)1S#+6A?@F< zBv;O>cR@XvVzG(0?nR3+^DtNrPKDr`CS)Y95vp|B;Ks2^Kx#Y?kjcC~bx^oAaN7db z`ubl?w^3y4KSnLU>7!;@fR%8xP7U*sIg@=*b>6@zsT6Xc6>6Z(@#^VV8r}YV_<|{Z z+zqO7X%P5hhCkLCxN7~b@>0?@#|4)7=FNG!n4tE$aw z9rdvvEy;cchDr-3*Gotqc)xp;Sr`C`ANJTn8IGum*am|}t(F~Ad39d`v;fOswG8@r zx4WN%UWh<}huW{>9T0kT6b9&q61Sy}>zhPt1k21iuh9}~x1}NwtRhS`W}!&HHgW#S ziahXw=0hyOAqdZVz}XC;^_knrP{|aTPgXZKp`^w@s}@CtlLs06w2dA@m5}W0Q?9O%pjZl`+ZmL}_-8?Z(EV%!k_Eu(Ktnu_ z-W3D-nY>2n#)WzYD1bOVk8S|GX+b&CGWpuwHN()W&_D&~qDy8mG3f`&9}>paiTm;I zF)bays$uKcQU1W$@WqTTsO*+9d1oylGGmk#t(4Ii_(=iWt|~q!C3b8cO7x#k5eE8b#bZFz_!&?R07~09uu7iU`Lw!q^6dz(_~`aF&9-8MS)CabCW`c#^{<(GRf|TVlv3wK*vV%uYiHmcsGWasz#+j>2oR$vXI3) z)NzP<;egxanGHH2l}f?p&JJ7Fvr*z#oK%gJHN}!mn@hkrXzRo5sYipNfR=-IK(;ZA zRK{XaW(zZe;lQK5Z)|`R>)~_pL6UzeHE>VICGPFZ=K<~qLg2o;c9;F&LA&bjLIE`4 zp$RhLTa(=5V&K{gFnQ4U*3kl?!U%2nXD`ABhJ~cD?JP_1$36SNX5MeD4Vg$20|~{0 z2zTI|-bY!S$~V&8V6J@wyuHDnn9m9ADkTD*?F$5mlmun}#!chJK(GUIoWT&wDj3fM z0x6VtP)jOH;7r-{OI27c|HB`_|B%t%ija+SY%xeySc2pNX*l+XB3tg{?FZoWmV@>p zf*!%T4gIrDX9dz|-+zR!0N^wzr23F*8o@F3*MG~`QiwnN+9t$8rSv5&z*7q)xkw&s zYrkmIsskm=AHr-S@^vrU7>9Cl9 z#dcW??cgB8)_IEk&CS}gZBVl36u*fvyv_D@o=T1J^p%xQKV@d+uNmeSQ>m(f`cUd# z(gNH^NE31!WW+F@=2#j~1^YuqCS0ye@@$LqZNFge+3wN2>LM_1s$JM-Ca%MVL>k{w zw*)hC&yK!^#Q;SW)r2x+u(_~#8ulJH0n7Bb%S-_@mF~1l|EFU!`i5CTGo~(laRV0b zn-MO>4ix=8L5GJi9HP$dQ1U|@g_iKw06&E+!?CeTwntd-=DR;ZXVmrIeZZ=pA5zgH#hHq%obh6d2x4xj zf*RC3_u#)#wVR-Jw-uSnml5Z}8TDLCuk$)@>)CC6*6X0Mzcpq=2bnX%vBd?CIfHEQ z%q*zdg)d@kR-Gw;#eW5MbebNFz^Jeqo={N+8j|%Gbgxoik7$rq#Tn9+*@ESzi*ym- zCO`UQMPe=h<945RITeZ{++&p((UQ^4E>gx2rS{boR|A*Y@0P*22iItIt?={)QGB9v!&ke3v37w$lvJX0&;ifS;061fV!aIATC`lT zO$Xm}0d&CuyZx+qNmC>b7s_MN_Lm^KFdW^IgJtE43V_e?I$HtKpb{vdQKCjE2fukv zK1rm+J-n@hP@p+n2QNx7_Q}fmMu+V28yM})Q+<`5$B4{m5?qX>&u#@nH|nI)|F2~* z>j=>7G}7m{EK%{07ya3jP$|S89p%LuS7l}B;;!7Lg(toTs?)K18M&EG;K*mN zq*uIk_-*{sMFEz>MLqpCJmvxwGoBW+7g<-9>|}`F(4kpi^^JAP7iG`)hmxCWdDoYq zX%n+iJ>Mg{f4(%N&sI;M>^ilJ$RWNhC;9`%NrbU+2B2xf(iAVB-&sJXS3TVx2ybiXj z74!@ff9OJ9xFk%p3T#E$r}eX!Q@>bus$sFGlcQZV7nnlHk2rl`8C-e-A#ySdRE9Vc#562J3*;e<5w>10}>ChViU` z@4I(cM?}ZE)nAO%^!qOV7aE<`02-BHrlRVe*RJM54DOKutj6Fez}ub-g70vQqiy>UWw+B#GYLm zf9Ds;Y?>HgX&vT=KbVh1z$snQ=gGiQ8B0sV2tmal^1@3ult;cLetF~Kf)9fqrl_S9 zBCtrs443nccsDWf>wgRJ> zq~s+n0IJUtUA>xv2uE#mIVyA75_5wKtCkFJL)Q-*ciMQtO&@iU&paK@(wCEWkEKDr zSs}L6r+45XIk?8#t#@G+Cx@r&=oT0yTIxCN=2h{4=+o2k zb(QMxQ)vDo9Dv`>-KENP*xb0F?SP(hnws#``3?%fV}XIiT895Ck-E6~@b%1oWDq>I zDo`Up^+NMZ9sr|GnRB9L#hE2IoX{r9jYn|a)6@DMnbx3yV>!)=^uX-^YKd#Y-z5$k z2&5r(qheM9p!}&mLB7NiD`J49{~>AjsBGTqgt@r_73k0Na06W}<6q9gIlOzKN)^s1 ze=E$)K(*Oz3IbuZVVk2U(Iu{g2eMSItx~yM>c^)1q52*@a|boxLVjE%-`JvBCzU2J zc1lZ5{lwYlCh&le0D{|XcZ1uBU(NAw_bw}+CK~VyKqKe$0nVv8BKqkFb3b{{ zfP08v?7=9UV**fw_8tVMg4-Z%il%aK7O)qO^DtS)OLIB&wuozdnVW+D4#hyU}t26_z(4d%yS?J zMEi_>_TKXHMLe?zy{t6VDBlEEg8?fyoek_{9<~o*0Bt`YX~Yv!AvP5o&9;n%HH=&w z1BgN&rw7&dvzTzT3J$6eZ98p74(E5yWVAfPWiF}nK?F*yXA}Bs{W_UjuDt_BFxO@M zZt<kuNU9XHt4UJ2;^z^jLI@Oyi5I!_jlpZp8z-ncN5$m zxVN@!c0xj{+RdriGe=>;T8o;Tg=qOW(z)P0D?7R0v-k9;qa8Pr7woDc3RKs7J&z!B zFl5iAriF8h1o5ibDh=_l$gbbN`x8H_yxeI6H)nnb&3Wn!gNcE0S)ixwQ}5l~Wh%f0 zRTqSM4gx_^oh?YX<1{f`XHq$5;d!;I1eT11@+b6#20(QOd3f)xg}Ttm+h}l}{3Ygd zg6N1s<_|iIuh9zDwa-6S)&G80(oYo8x7uQ{bdI?=q2p$>1Z3e%`R@&hqQ_uPN`Nq~ zz1SBJ{u3Ozh`Z^&MnAYqywB*rTCUDnjUec57nsYPc10rcJcpBC5QJ;@hQIFF>pM?> zb#%J4Y}YhZfvl>M`{yCZJDngc!lJB&fbJT8f1yoAzBLEDv%dt&2MIZct;7A3zJQn=rH=!$1grc zKNu|6BSfCzWrmy1U&FiqPkjOti)81u@GfJ^Kq<#-AujKTkV4#}v86fuU(pDap1@=a zfMGvxrOIbi-v|%7z@vk8gK-b-tK~t5HVvr%Y9v3x*Z~LiqV=qxz;c+!y+c;&b2~og-L?MmYO9JOqh@?!HWX0)4s~LRI7!?;Z~4KsyvD4E z)vy_m7MKEbr)(hDp+Ky-Z44>T%~Mc+mxKT)Bj4PXOWg>OI-a4s544iHIeC~En;5y|S2>o$H$oSyt z%@Rs>TOZ#vCE1~833s8)>mEHk4QR*nw}w=D)43aB^v(Q zEnA+vcp0&+zj1aRUksr~LEjy1?a#o>4$N^7GD&NO=A{Yn53``>$6v%uut@Hv#S_@( zZnPk}cg<4@nUH-An)aTvU8?V+3sKHW90?eHMBLxJg##}%-9K4fK7EjK3~t!TyC}DwmRo*J5kpJ zKh8*;QH(Jhw5Ge7htl&c+)TO3HiI`>Q$(*>!?>m8YQZ!r5B*MO5NaJJc6to^0*EB; z=?wuj&PF7WCeKk3CHmXfpuNotJJ5Yit!z$YHn$9}hY>ac*9ibl9`@$2heiVxU`FWX zqp%$`qdHRo#u)lF|K2v z*X`U8)F7h*BNig~mA$uzQDliL=R9Y&;-LbBTHuN_X#!&OZf6atzcQD~N>JIIpu-|M z_n@n{pN>6!CkGypqw{&2*$2N`hr*pAj!2_4u76t&S2{`z5!@7nO0Bl@hDn`Cp{tDy zDzv+*P!QOD189kl3zN);=(3TOB@$FbZaVR_!9%#S`$a6=!k?ASwg8kZg&VBjP9-`` zbYbW;y+v*hcqck@yY6U)DxfI~<3~=)NY|&Ssgwgx1=ZHWK&8imwpzuRtVaL8|8@J0 zN814}DRMr|dV@}l0iRliLTDdmT=+DPXDE3(M>#m6n&b5*(SqRvDzxB~he;a>(N077 zXCY95SsX;$9{LkTAzwvky9dq=hcjc60iYWFr@~@Z43#0;gZ-I}cXIRl=vGO9X#X)VA_j~IC0T)hkhzZp+UG=2rR5ToH*aA)iVtU7yWw47J_pTIYz7D)@yhVU~zuww{i^ck7Tcn!#>QU|KKx3}BjIFI)1S+l9` zJq!k6pMnGfBSMe1??w6ZkdMX>!?EKdkYdYr;TgLt-y-mh6R`&><788Jn$ScQpxs2^ zt2|D@&nDy*c(2(YUD4)S`0+hSOG9sGr;4t7Z_n&p*ED6qYh=t0s}M$Dzj>GFC*3@v zuKF+PC0!qWMnMdzRMrex%%B-KjwY}_^hWjPtaNlv3@Hz3>< zObzt%INH`S)E!d|e2}+@j6*O`9p|*lP3!Jyz9C9zOWr9cMqRC*PE%0x1j}fSbabU; zR8TATRN?U-Jf^p69($BSgD5(>*#x-PW$IE#2+z(YwI(Ek19bp(Z(eTYC$g(2Sq5cc z7St(z-yU*u74WEp>76#6H&li_tK&xj6(_-hLm>oQy{7i>*f2PD6EU$WaAW4KJ1Q-1-8dNkL(L8O9cM?F7e`kB0h(4Gn>+N)_ zj7HOB#%`h`YIYtn-tN;tzL~oK0TNQH6NWUe-Sy6)80O7m%$zjje|rlRDx1z8@9KJj&I6YgWFL;1$czR;Yua@73x9!WLcHc>?l48 z+*`ZKYzTO*A+uCi03~R2IP-ZP&oCf{G8mP@mdRhW;7FqZFbPD>F{~KS(K_G^yL9y_ zY}F6y0xFa;Y5r#+gYS=D%obr^3(@{yWIJ|qt!eVyMbwLG>2YR!)_R34FNUt6t~zm4 zg+Ap@pve&AdJ2(O_L2wp?eJrCIq z=L+w(wsJX$*?SVPIi7m%Zf&!VqhG7}Xf>ccAT$T{ddq=hz(f)s!37 z7tm66;Knt|V054Y(+7wxo|=0=GrG3P$q3mqlOyJ?AcApt7ILa!@8!%1NrZ0NV4@e4 zu2-n!D+EHjhBL8Z4dDZOi4`{N&a@b^Vmm&LxjBNkcc{#Sa?h=N)T7nmwYF9X1krp5 z#hOp7?51PGNp{W-eDeG6EL+4;ee+!flJQ@ex51(iOXC1nkFB7w{Z$zNg5=j22yXgHf z5ZSlTPNajMubjCa!FDh5LOxiQTQ1_`1P2CYs-x?3uE$vHK2dc<@CmeVoq&i6(O<}9 zsI2`Osx^PJS8yP5V0PzpJs?Wf#-R=9(uOrKE#x;P?<_`&j&jtc6*=0WN;jgV4(-$- zpWC-B-C|{Lw8_`I+Vt{i23aJZLc1V6N zJj0QkB`$vAHH5~L4nYTpPGJz<@6md-V@xbOpJV&PcxH4c`gj5jYH=3DZUb+920inq zE92{Cs0d=Ao{7yvj>jj@b>@Lr#zcNu4Du~miM@!HgHT|<6d@vVf?u>8tG0FrF-f7U$`DWWps4(^NUIL@ zdM5K3z_>LavpP_~=a&(!z=79Hma$Tx0}ST8QYM4ARM})~mFK@fi3QUL1={HTcB&87 zhGOp1YBD62E?@zMrDbB4ZRbneO}00_Mol29iIu+grWu7a-yDapUV$kGyUPW4&xBXsTqYd;&GJ|LaV zEFyxEgHTrD9nPSPm-*)B780@&N(ebxsDq`OC|d*q9=K-(%Yc&m4-f&LDy6iH&!!I* zLG&3-aQliFJ9BWE-Q0(DZK%$*!z8pAIB*&)1vVLj#cVCBXSP^#puj7(SvRP@nj{M*FZUc1u6qEzC)|l=2nh2&`|9@`G_|zu{o!h zjqy=aIR7FZ@d(ohjleG@)APNm)fg1HOR&_5q?x=d^c`9#N=6k@bv zJPI3OppF>OdT1=-(8{9ooos!HR2nrE{D_|MeS85M5uH~wk10v;Y+mS*QTei>1pAwb zoB2)o<~AsY_qUdRHPL0-&@ZzvQ>nqc4V2&%3NQh-O&QMLL&dyujB+fd(ipY? zY>(Zu?yPZV+Z}=rj8x*1oBHCdO=eBv5KhyDgbUUkPZ<1!4L#}XHB-QY!8B<=|MOlK z)PKsH4+2l5_?oGdLa_MYGEX!lG97}pYE z;#`5@8`hcjAn+z_5V9K^nX7XeWgxYQFJ1f^4;c6n4QUV7RzC+j?>PNLmUFd9vI8wg z3m?2{YOMqrJZ3aSGhbtFXLw-;2n11ye0MOg*bQ`_XhT!+i?Z*D^Z9gahA+~7j1+jq zy4lNfcgZGY+tk&z^_D&}_bo9Q$X}qPO8N{|q|bf|4uLjPK}*n>>U1ch0=xhD+$i8w zZ47M(Mb`1tD?HGpXjDg%Bp34;#~jXrN83E|5(GOK`{ad(5fuPt_IT24F zXq4ZMzX*xQcW+48%P`W8E5XX)K*YZ1>_16!s67o2v~r2}ke&~dIGVh< zj0(wT`hr)95)<;3`3~m2K)ZbY2S8#bPpJ zMBmKNNT2GIl@|_|JEYh|>#UsD7=s=>KE{s7)b^WTyLziZ{7%lCv^rLo%N36^WD^yF z!C=fjWA6h967~6g3^s|@xkPi~+`J#ZWf(3m+o_003Lar2RVP{T=`z4*&3 zDJ7M%Z4qsMUleVpFWfbUHMa8H1;f!si~?fEgtQO?DQ!%K7qUkNqlR}lZbXz#MFEo| zJi|!U^b_Jwr{T_>J7MA>bvnT_A3^bl!!V2gl|rFXg$>H$;f^dkgM#u$>c+;4$2QjI z*g8NJgJFqY`LerHtPnxjb5UfomJ2Var$wUVL<5j2+EP^ip9DB(Qg=9f+*#oHBQZ(R z1w2jSZ8@1V;%vLwEMu#ISaNh{izyaeeR%j}$DTu0H^JScpAIIvNj8cexsml{S^eGd z-%<22qr=jjpbW=pR#093&A<6E+`8qz1Mr^!u61%82)ny5%L_t?D7Kge(p9pqL(#;* z_KB%d+3X7|K#Z5@ie3EkMJBlbKl3I(NFF+;v*fry{%$26qtDRnIIIJf9OzI#ywLq! zB7|<k~sALMv`rxBgN!V^-*MKg1at?765VVsK~PrlxJr>QwcH=-Qxo_i?bf@ zvA>T02T!O_7XA?bz6G2ezxXS^zsk*Mk;v;|;B#%pau|ZpYdAqw;N%XDkPI112KDo! z#en$Y>44`LK=N1p8+57JA_SqS^Cmf{C`@LwTkxzhSF}OT(2u~X?5P23@PeDL&2?A_ z+BwZ664)V3?f3I=u$w*~KTxwqEFBA1HP%6Pv!m(2YkjIBju~)P6OiOYI|GT7h~7h| z?ZjEt;L!~im|>=dBy!R6$nNqYy^^3RqN_#oB|45IRCH}E!Q3yGYE+7gR(|1FH_AJ3 zKt3mchP{L~>=Ez#7`0su*Zv?w^$ zsCO>ZNGQ#y;oW#{-q}7N_APo6^KRoKQbwhRuFBX|7El4ehQO|Yh(L#QjAyoWk_w36 z3RP09k()$qbGMDr(!Ycaks4k_CVGj@#K$Wq@T{!FTg+ev=MM7Zc#o5mxSMU5nREZY ze*ht&4Y|7axM*Z9#5%^hjvPe4ATGqi+olpXaq=@BXjoe&GFZk4XOetCuS*J0sRN@- zEfGc2JA7q>ir*;?K${21h5L_vs~TZ)}9djBJ24qK=e@vi4^f*gUSE_D?I`1;F{Tz_ z$1V}*C`u3vy%X^HYG%e%UJx7ve_1cZ}{O_x|_zZV{7D<62Rooc4aY)gbfj0 zlB(jL=N`#jxro3WQ2yZcdXHVa_0?7;v%gbVqON484&LLi7`W-m7Y6!;-KV52cH#NE zr4p}ubdKb1wOa35ES7us-dkQ?Cb~vqMd`Z2XaEo&K%qeFp)$dpsLZ2e~fY;zrYN4}5P9W4myLFn@iINd$DIBno{He9?qh_R{r)G_M(BCzt zAZP6Z+RSszKujRK}TNf}4)Bu?23uwis*e+YEV=tI;$gX<`V*&UXA50$*& z%2T}7YfOE4+653lK#j1p7xqV*6i|6fAatg!-J*DRQw?XBqpa0!n#?z5Lg)mMq( zgv34Sqp5frUFsav&;UcI4bOt>3EQkn)C6|&WWQl%gE${17nLu;`T`h?4<58aq`;W1 zZa-%4k5)ZB!4(jpsAvreYST8aH<}Qz6%Cscp)&PVR<+YPEv62{{ZK}PL!4n{nC+Fa zW+Fkf+F)iM=3C$@h4=#(b(EG=-%+$KTBCW!lf=W0xpmC`%y9*H2O6^lBIm$yIDje` zsl(@%`;0tnYU4*xfqxn>CaBS>b#d9wn0rhr4?5O{E`YVXsYLc*2dy4zQTrGp3=KM< zl!mvPTQ8x0-2yS2(E}%oi`{sq>!<>4bjU8ExXA-rbNJ%VJ*rC0{r&7Q1t2z}tT^R^ zS;yb~SSaf2M9wvIuyZ4%8O26x2h4%fN~OUdaaarAfgM#wm9+$wlC9+ zr^IGCyha(@k}C9{`*F!~voX~GLFfV_y(PNFV>&I*=Xe~#K#172Tl7lC2*MB@!07W( z0p29Aa*X6se9O0G;}rg z8nXaQK(oJvNU#MCRDjkrQCtL|iNpNqN9hT~^)jH@fXKCqDsY7epaMYT@ojQ{Z6YKv znA#n;|3)8;Wp>F6IYfkfq`)RvAMgA+w@21Th2ku<@+Z-{{i}{%B;r0U^@NsWY(u$!Pvlp7j)G?G7iDeCU{S z#<2|+VqGEtzX>^1T}~xF=Odmw{Lu{x5O^GSjW9pj!VZo;=^HBI{%v?{!C!T~F2;MG zo5yG%xV}X6-L|clq5y~UGJ$vL3EJ-Mpn=nBx`_|t=Acu7n+=E7vlGW(r2&ZY4ucrU zxs_-D8UXTpAyCU0K+P6xvs2)*?J#WK*#|oUzaxNvssgIr zQfVF8w0Ewn*I=(Tt(W-g&wAZZv6emZJ}j~kf`%IocHniQ!rMR2_eu(Yo-6`eq7G8#$*EgW+X(ColJfpe58gksVeM;C}0 zO$*w4<)EPWa0W4MN_3dyH*ipPXwv~>{8E!RrF%3FYE7dHAY%d*LyjJhxr?e1|zv+n3NJ9G`i6Q!dzP0{hm-=cXJc4?%W*O-lMxmvr7 zoeLy%W$;&QYp$j{0|7yO5+XwRBL$$yvpO3ryD26^e2l+_)X_Qt!plI5ZENLL3ur0S z;%K%H4b@V6Gr@KqQ|a#~EQvqrP9@8H7bi<+D3eAZ;DVM7)&B;O^`l#=!Oe=1if^H* z9`-K3q@~!SwSY{9;E`|*8ha`y>@_heizsEcKLi}ntu~uz5V$wrJn9m|LCM%9Vh1fl z1U$1)TxVQ-r4|Toa9>9;L?9C3DiyCFy!93}?~O|G@WQO*~u`z{G%IoXki(bn+t_dz7+(h@w`@=lPHd{H0BvJkTngQx2xBx(q}IGn%iXO6%Qw1|9QOE*=>@4 zQI*+ak*kLm5{NBKh1ZFzF$CVl`^R1i=V3noLhpa-g(;3Nnvuvj=lR@z- zHK=JM{-6sLz*|SrA;=0|zsBG3ns^@FiHhOChhx`+Kr0e%_tip9+IFDrbUHPU$Afp{ zXupUXrxpiR%w)YRD=OK6CCJzKTMP=c+}9j#y-Ir?6$<1t*$Oa%JY@y`7Knvh=nxp= zNK@-wGgi+i3XP|(&^8OMu++gRT5&}V+r@^v@@Y5@0_Vo#bUA@jwF*ql8}!mn-02p3v6F!T%XI`3h-^sIH>v-a1}g;d+b z5jd7cJ+!C|ra+*|0NQTVFh+4EObqE$UqIwBi^ z;5@hO3i_+yRE6fCqvz5`RX~YU!bUqTS|F@9X^!S#s&d3I!M5vI!ugLVu#4(LQE1C# z%^ev;R$YPr7z({C-kXtY#f|hK&Bn`#`_3u|G2`xNesH@8QyA6-rgh#T@SM5f4)IN{ zT8X^qH-nR9P_ZtUL6gjd^3iDvhB6*r58hq7JKX7K4ffzajc?me()P*;U(F43)6HCj z;Qw=GGg7+$_7Aj+%qakQgo6_9rkk2?gZBIWWMI#=0kl*I&&VYRnuJu}^ z01x3%0nmQo6raZsGO#NEZ`<>iIMkkz_!H$%nP4GM4VIla&zmUX^yoqY1R4-w8~o7Z zZMJuyy*auLG1o&475w1p(KY}oI@n(3*s8^ll5BKh$JnkI(r8k1xJAq$^GX!JR03LN z0_eF@@6;j~6rnZe2aaXRK@EsL_JIbOr`b~rbVF%~v@9n_17<2aSmobi2~HA-0cB-< zd}cSzih@vjuQzkFBcz*lt6FAzJOQkBtDvl(Rji0Ep!i$(Gm5`%y-)l5SlNkdO-(O+ zK;uem`V@zUAfR>N8d&O7aPts4LzqWM7SgDQwduD8WEw{4ZjDUlZ0t!nGuc|5u+2ds^E7mf372%Mu(`LQ+-83KWX;F zS3p{FvM<13BrCn1J@gLvTIQz3J1B)Ut1&Q>)Sit;flP4EC4a|>wf%{zr-f}(Q^;*JJm(oquW_B zmcu9`cVq_X=_(ilcKl`p>!u~AS>Lb#U6Mp9+Q@;lzy%Bdo(SFQl4 z*2zISe7y$VG}RQ>OQo%chQaYg+7jgddC(^nKo{Z^goyjmS+!}YW?-s2 z#S^=_Q2YgZC%h@=7Mum?O*kxVaTs;30^RplVcD_ccXQq?rSg1)d%Y(Ave92<+TunpXok7gn8{dWIkeAw z8(81-SlGg%VVo`h6&OzvD!yU`pyM-~C@bAAM&{LOsnQ__tC>5C0({=hf}*OvjsVOneYGNV~gf^p0QUfM@$_teUH0%gn3(=~*QO z67+m*Tb-QRgl6>%QXSgl6=!+$>yhPLrw0PG1uVROZI4`s*gCvK-|vSKg}vs8G~L6T z%=2S06yiAO2JeCOUD}Vyee*Tn^RYuqjY_K)+;9(U%ZNnWq(Psi4(pr9S-eTw@n>XJ zNDl&ms}}NPU%3K^w53rxNp>^ir%l>AOt;~|0~}TSxP1oPsWXc3ln=>^Xteq8BTCGw zoxNXoe)Aia*8iukC!UtdX6zZVc?!(xMcVkHUSC~Z`+Rkcwr>CJe?5cFDwD~4xy?4b zp3ikU9Vq`7LIC6nc*q|aQ>DdW_*XY6y|0-se>k5k)hcC^n*`#l@UEM(;K$@oE`{j? zUiw|sj;8aG28UcSb{37A=^^x!sD$QjThAdRZGO_}7zk>tz#t^cu6!ptyR2iCESWSl zjS?!A$}YZoN!6ag=fC)Sy{p@yc_s&!@@W!PK-u1YglZrZXocC1CU(pk?MW=aW(CH< zMVih9RjosxvodG?r-O5GoJ zc|m0cXjgVY^_cL1ZSr>9+Lm~_UfIl;A%bU2)jJ%$Gb6CW+pR&(f$lw*mD{67I_ zd!KfDxhJ45RE9;Z-~M4a6NVDL)qzKB8QG)Fdf@4e$TyT+_d^$|kDz%DV#fbbURFLr%Ygz5DWJDQn@z4C#_DKy zF-~*54>kin-)WXeX-4XsW@*;D9q+H*Ggj*=r=re}+FNPHg-D0?S6+px%6)y~>E9ex zuww8dzd6+i|A+;=JMLcR8)nsx(n#}ep&5LSw2PtybT$o3<~yzc!)NbhVm*NCK#S64 zc!M|o?p*$RHr}+|fFRmSdSI543I2NqS@C)S13C3*F^OE>bqPH8 zFv3Iy;FYJx*z+mQ6y_mJ61J{Zn|N|*wm6~y^8%_Q&)ubn_!pF>zTg{uJ1*duS_Cc%5c+gTtxl^oRuQt@uy!ynIOZXi$b3y^wFd< zYfQ_0@T(%F7lxiAlS%|aXuCZme|XQ_f>j#vdYZ=KM6)WV&UUM`9?9PV8JsFjZLQB@ zVg2ciW6X(JkgbrLs;}a&>Gvg;%uOBnwjACNp}`t{03j~b_kCA*NH4?>AdypCH*xEw zvXM%;e7LdYMNegBRmoCFM%7z5OH--T#m=NW2?H59Q{(8C&yfRl4scvYTYK=UHTYaO zn%K{Qx>7*A`>O{-mydTo0xTH@PBV~cuQ3%-Z=5imS(u%l2k5S{7y@XwnJ-hL=qA^J zj?R+m=mH9_BA$CiF5tNe46?CM$+mUbWRwJ!!618;Bo=vf>mVat!BxhBpE;Wks@wZHCP+cwtZm#jc+q>?h{s*8zVEJ-zu5gGTBy7LQ?Tj044N7_-%L;B*IZ+s^dfTe52EL^q>Wmr6R`ToVDuFoW_T=srr zY0B|e@iyF!fWPXf=AgTAay>&rHy4o5V5#L`S<|cjjgxBiR)=POz4;KdX#N!OHU@hU zKP{Sm!|Dx3evL0f2Iw|_ZBOWx9z$sI-q+t*1sLujbQRAfUdi7b-s)wsl(SU|i4=g> z3se<6E+S0?0&}{T_B^-4sSQ%7y5vR-bpA`q37k9~VS@7G7CB4wK=l@!pjW4o^xNbN zJtcVDId=!h@1O#F8^_h?Dkj?-$w?(vuYWV2gYgOgiQ7QA13?|Pa2;d&QPUouWA>j% zdCRPZp0bPUqV>e@Q2|n{>tsD)7X1I90N=(T(fjsuuT5z2mj`xq@pgXlUJ(m5VM7E5 zmy*U7Hi%XPnwlcpx+fKYN@DSx_v*Nm#@cV!g zemH(OemH(#j+amy|6St`7r(zx^80UHli!JZB$LVCy#k!LW$e48o-dn#eRw_jDk3tO zd|5;|@wt;PI8&0ZSQC@OM@SwU0kf@7Ok8+6Cyxc!r@|-ciuNNpssKZINte_Zkz8cLkK2izyt ze#cCP$~-dJ=R>=RW1zSK@q`U^#poS3y)h5Y0YIf`?~&cgOyR7Zg`&nmC;AM( zPp+7KZ}HaTg}be|tM4oa1<3VoLlJ~>D$y})-E8td!fuE8sgObK{`Jg)bDioH#@Ye0 zT+>Ce0XN~-@$fFK#Yd_C*XUBUXz~Ml*QcYfy)~Z!sdz_;+aORS!oZPL?BoX-$qfOI zpA7I5*y-xZ$r+sdIFf^Rns5!YZ@l%ga;l1f*xhg7e;(NCRsy9{FD^O^9wJl&<*z_F zH?W*?BXZw04F`V=O?MmgC)Er{nU|;lOJz2vsiL+6T>AjR?n0{$|M+LEJhgqR5Qb;h zsnQM%MOGF!4&C%A92A_{r#?+;>vgKESYHrI`DmUh{fn@XYW#zdg(Qy%F5CAb-~C-8E1-(UD@92qO&soX5u#Sc-6Pz01Xb+;@59(!#~2G zQHeOXT2C3u7(iIBW@5la3TR{eXrI@AR3QwI7$q+ktv-Nd%kmnucLntc0Gy~65d{Zv zUHQRim$*)47s6j0A0C;plSvM+_Un7_@PwOBeryB7EkMNK?zik{;tQwNqtV9QrqWUm zwd(Icp$x(O%*%2CONU_(NsJ>uHVp-w_Mty3WU<_;)mlv(6T43~jh{O8)rS z88ZI}0j8;29uHFu%!@C~$D!-MD+WpaiXzMZKYQ;Q+eVh92_7=YAQ=pbAwEP(v}8tv zO_yBER0`RnS*M)Nu1<6zr!bi983==IU>7?-_TK{Yqk&9gvyeani7vp|K>z5U^Sglo z2EW_z)jK2D#_lASF_wUbZVMt4iTaKP2(S zz4x4ZUiX~uh)DlSV=5KB_sP9kqQ9~wgvl7W$`N|NTTv*NJ;)I2PC^p^0@sI}mW5z& z^skT08dBbT`)z6!5D0|BVVLqv!Jqyq%IRyc4$iB$RI*6DP$XN`XXY$kjpAlV1md74 z`(j?SQu~G@j6Zao8zbI;o5E!;zZDK|9X=kSL@Dy~wBch&MR8z^1y;u(Nyw)2 z&iBS8$OR6)LGgO2@^Aw<;NBzVM_JL4UlRk&;jecmCeZPr8g_3`K;5c=Q~E~}qZ%{~ z$^FJC#3B-ic=X(EqJPXz4UPusf9*%Kz6nV~9;%`;Bgi;{J{p;p+;E@rCXxPxtA3y8 zPfSPnlCVRk!E#WH377v9EkB(0hi9Y-4fm$5X#~B&8C0fA$0rHGv}6lN*RKPikxdWt z+K~SI8~7kgih>}79pJb+HirCd8Y0egr;|d%%}b~&Ob0`8CkqS@PD~^dANQSa3C6~e zIA+;8hYHc7_PtPM)Sl?odg#|tbh!tpqpB66uN~Sq-bI^87Av^;z5~3im`AD3Uy}Y75C6I z_~L~|&fEdSl+~1C*7nj8I80A$Ww26dwvC1xGO9u4%sh|cMz{CVAGa5W5aywae1L}O zzyNUr6$r{r>pooM1euaOCd;Id{y`7~(@Oh7)7H8U;j7yK=zCs~L~fp{De1Y#P|k`x zn&6eL+tYO7DJBF)C%OXbk-JFy@eb6P>D5C$BtQL+@HoB4Cdk8$rQ*KiC;dzCSbUz! ze7wb40CHqX!22VmH9{a&L)-giz^soFue@v{zQED;$6@*jwdWgx)>*@O1)NZrs1qn8 znq;z*GX@PSRBI?4><*3wx_1+n^ct19R+)ZU0V$XT&Gpr+=H?9U8lkpimlaP1T&t#S zqmsS3AnyanOa-%%e@oaCi*@JjH@GkTR+>U(BhG^G0fAvGQU3SS>|Q_4I>ive+8Fq$ z>V2^eMg1u(_s2q1!sdYq5oe2Z_+qnwy00-{2B?09K;b0-j4#Wm3pU{O07b^(xkvu< z?gT5PBo2a&2?EwZ5BY!mNwdJY(Fb=Cjv52~Wx9av1%sJj4B)bL;HK3Cd}-r^tR`2o zD2b$@Gm&vP2@cTds-@Iz2V^s7y$@{2-2Fe7I8qt7r9F%aGM`XTG)ae$A*Z=&$dMD< za7|;qS=z8daRE1=_cGw*;O4u7;C~OS7K6yA!S(Ep#%=PFuJL9T(+omjJ zup~8Sps3xY+WjH9$8#!`02`b+4$YUw=mIk1KO4x{P|#q+ z;6iKQ_LQMrNwL6CyxYF0hi-}%yc-<{&wEy+?_xdY*0t?{t{*4?7z3aLuow&?B%9@| z2W@^-v<`ezVtS0p5M%(JGaeVy2T(7G+Yp%|=k`Bv9acS7)yYvfU;uK{ro56i&LfX? zzJzUL-VH)3d{xvCE37{7GqB>N#l;)Y=@`a6vpDA7y_+776D5GxfgB=*wwVmR6cMjQ z%wx^ek-cT>j`R<>y&fAd`qM_Y>C7$S7Z(?COI(5^;3w?%CVEQE&F1!_3YpqySI&p2 z7|`bHwc>dnH`9Y;GH4ndlm7dR^u^y-LE>r61+%t)0yR|%vUB9`#|Oy&=PFdIhHBB!w}EV-TN=W~&8V88KWttQ8I@3g11QQmn1-kBn9Xe}Qv+Qf@mJna&bnY1IXmWpPZp*jD0nPZ#2tTGC!@Q8 zYY4x9ORYRV(0=4&?5c=y;^d5!?^`VLeaNGMg9?}oqcj*{(;`!!)NW({<) zsj&|i$e{#ijg@Ozw5P+1Xu%(;)%Y9gUxoHr%>!kM?d#sBq|JZqqA%*u^8NhW|96n?<@Fi^NYC} z1dERWmJ@JLo`kJ0ISlqMva6Jai^%SK1O#37K zqY z4Kz88|I7Ec|2y%k(HH4k0KXrPSkVi$eWO&pAZJ+9E=lQITBUhaPPTC;G6KJ2jI&-q_VeYyI`!w zxf0s2lXqn&lT7T^EOq3xTmcO^ILt9G!3R#8NA5B_{%cp)R6U%$klotS#m_=blx-$S+62qm!)=L~yL0)3oh ziM>fa9=>(8&&?kxdV|2AW(g>m1Jg+85s*Yg$PwhlIx4(Y-ury>Iy@-BNKdLE2_Pg9 z`eNnsdtc;HAyo1t`5^Ur7y#mXnZ)Oyy~TQAR0TYip)JA%K~7v%gc^!m*QdnDvX%Nm zna0{`;&w_ESNd9Df$XeX0yuz=HVgff{MAB(0yQ}NOdwavsA7+25+8!y;3{%RjiK9DwYu|XgHiOTSV9IciXhn0YDR%o%k-Zw6|RBEAW>a4 znsRZCdUU*cuWw8LrT53tHI!~uWMYkjz8(ok&mH*Xm$HAO%ml zV0uD?@Q`P@ICRoRO4Mya6p4ae&}h|6(Kt5wVFpi9DYP9Tspq5!6xtnkK4$$!GYRS~PU@YJ_?VyAn5ZN1i)HXQ(0`$!Mu-6@r7705a?O(pn3c5JhT!-pMUEtA zK?fIkG)aA+m&puRgRYv}S?^HGg58vvQnP9%$jH`_B6vc?#jFPcVNlhf-tQ-<5DJzc zf)b!g3{WD$Ias2oq68o;TC!X>Bn^iT+8)6xvw)>vU{YW%4nlPmB{Ox#yM+>kraX+0+nvc z1t2tOR7?%W`c^-XtPF1Z6x7@uvJ{YlPqM1x0ra4)EDE3mP{$a~oL;8;jjg&9HzIjJ ze;`Xd$lC~u+{+kXg;LlOA9fS-h(-2fo{ZwL9s_(i@j4lx+lqtUWx91~Vu?YCIQ_8i zD~xi-WCfChxScvARMnL1G>r32S?#uhL_*6J0@41+(Kytqe15BANx=yW&|R7(H5fRP zGcyJ2@ol*Cm!2@P&kmlU%6-Yb2OsrEdg<;hildq- z7Vu)v;6QqonJK?wPC$Qd)5i&B%Y*WvY1A+D#lp-)S3`wnqA!_CNo0m^eImB7V1B1_ zkXx04Og-7@9Le-O=^-y8Ei;s!45e@_fPR>Pw@&Dwo!K|TX<-Wk*i0EH6Zp^qyN)>d z3A%&p?NX`15K?IZlauK0Wcn{d+l2|YnM@%$V8jfRc}TQzBs3K~Km*_nw9tXb;9mTRLn_?Z9)rZ5@Dkeiis6A(q;3P|W?#YPTcNS);s}WzWxkHsb`x?0SK3eF@ zC<`J_xRBgyPHG#YZE$F8m0lfe>{JHW7jlW$4{D^?ep^^MhnVu@?7Hdj9t#$Jzr8t* zCyvt8o}&?G75l9;7Ry7wRoKwRH=_+lV>5q1e}?@Zpl(8Mnb+E^+klD&oykNj2R=0$ ztbBCSz+RH@x%fLG=K%S&$A*|zR=edM?M#0jl5YErK5 zgl&|*4X}unf%Jbx;0zXSXaMYr;6S&t7YCpP%U0frp26N*6=>lYU(UT?Nn!eD3(Sy0 zM|RrdbgqTVXa`X5)vR?F21ZAFQsv$v++7NaYcvaPg&oRQyAQOU^#_lkTIc+){7umR zH&`pBpuBF{frSsr0^2qwjD{ejY+@=saFVFgY!-iNbaeEYwylX%-2{5JU@Ol;Lr~d% zvbMFh#(GqPVKDk55%e@Nj?)!}V0p_-q1^Qj?AabU&p3&-3T13@ew&TsR!kG*)ntJ6 z6}RU*0(kkG!`#E;OBavh+3e5oWY+5&25dAOhM{VMKgW%5aYBfdMx7M1ER`NSW7W&u zU~l_jJt)DlXS9)U^z?e?TTrux1X&u%!XZCOFp4X z+M>~FfbH#>*sC+X6)v7r~1{V8WFXTT5WGYGZ{qy zUu!dI@Eg2~+uVfJ!mkhHhXH!-XKS$Kfs$uJ_;j^YOdnE}GBx8#Hp6vyc+K5xpn1%wS{> zS~iZN%_>BmXFztsXYk#WD#+~QGcyq>J!i|14hpzAKWaAF;+kqpDUFBvTWgQXZD13=&_ zP}@G(J$#O5DyiAF0ae`h6dYmzbqdzONF5(>=>jjO@q?4Fz2|-{Y2gcfOpGnL8;7eaeJwJjORuTZ30cB|<_o~q*DV9zlnQ1bzh`9AuiSs1bw zTCOm<0}IDMA7y&(Zn9M_)G{0g7ZTvxd8YODKH~k*unQjll9jstQl5frZD&-@NF5D% z#S9J){f{7*r+m7$d$k|bJjPS*X>OB!MfrT;lpvZa;u~K>c=kd9oZ;!efBGwVSQx5O zv5IuRK=(nJREA0yK^YSAL`N<`c@k6@o2h}-*7v>Dav9bNX?8`{Ifk&GABZKE4YF_{ z0lu~8MAUoy=Gz*GJ+qAUeH|UN0HzyhGlPrlJW<>dD@Ri)zB?e|7tfG$emoAadFw0B zC_Q!{kv@nf#o(j5u_INE$K`qT0yg${=IrmYz<^1&ua2ju&k&MTO!BKUCQ=*$u6-AP z!!K08Yh#nlutqg~Yyun=#HxIqeEB%+WxCnb15Vz>^Sc`@kU>2WKvRvyU|Q{oj|=ht zd#5DMf>(LbE#eQvUVJS-a`9X|7tinN0sk!y_j~@l3h2E28yM#ggWqGXf63;E^111- z55hX|NmV^B@suNnP>v}lah)Qc$~_6R^UsN-uYBj2sXL>-B`OJdesEa{RY9i*6y+5p znk5#4Gh@9UqM>|XPY10NB!0V{G!6xV6o=lc-ZkSAN*YxDA;W@W#T3*bRi)%Nd$;WAy!TO5Dn{_I zgc(a^Vg$c_ju;5t&BqLePeFyJtZq7`f3)@9(S}9+3B7#3*o6>nSf)0BSs$rVLSQjXi-|#)N1j8v=96shyqWo;XPKj;!20VJd?G3cW*LoCW#R z<14dI6XC?%22$b!Tn>7?m$VYV(FyW z8Dyo!aSm!N3yv)^2>_wsGgbk7sP^l~O)6m#bkeG5D>uQ8bh-<3kRK_6mw3?$pt%9E ztH)HGC^mkT;Gb}@VLR-6wjhI*;~q}eGn8bPQrqJoLZyY&+uCX}64oE~EzPVWqf$`X zs2C)1s4hAl>kq*P*Im9cff`CdLY##9dSn!rr&05T&T-M<-V4rB_NJKEgl8;hn<=Mp z)6aOZXhn`*pv%k9xC#y>-4Mkb$RDOs*+jG`b=rMH8l!C*iG zNjc^wA!({wB|()DCgd&Q^~-ba_$mP;sBX6!9e24xq0l8^3J;X)@Ft`W8|)u};-}O0 zb<=K-hMCo8_>0~vRE9B1#Zp21q3PM_VYQNSx}{S;fDG7ZQ^r6Yu>uFN2EiS})Q_$O zk^Y(}0Z%f(>wp47Wc)h0XJdy*5G=p?MiRNJ4?qvxA`!Xj!Ol5knH@ z8&v%f^&~PR$Zk+lnKQ%(EnQ)Arl&@=w6-%#fbN-j2fmsE_g>b5I(m*WRz{!{f%ViZ z6|jZ2LsS+sL47(<{u$jIi4B1Jvjf2C3KeR{Tq`Ob@T5X$C|6*cz-1_z^^()9Y=fv! z)p=wf98L#b=kXN%!y%ekQxN0#Oe7f3E(%IZ#L19zYJ~6sHmL2r9=K`jW9rb&{9i)2_!29nLoL~r>48BP5x5HlqJ z6*JPgUqRDs#sJRny#S!z?AiouL;(b39*Ktv8;8*6_ABZ3*VscAh&3}vEelSF>Mw1r zl%EKeg*~?s24VoB9RwX*^-%=izaFELkpAPXZC00|F$M?(a=4_rli|-vURsBS97z>> zbb5YyzyOI)gs-RNO`LSLW#fs$;pJH|Tl5xLKO?_;WEaAqOU^A+a#EE_`*2JzIG|BU zHIK9w*k=I6W-@?mh4xAJhzwZc9BN%{+l{vK;n|=AET%TX9hxJ!)hMB-1T1I^I~fCj zGwTv7dm&-~BACt_HCK)I149HQB;b`E1K=p+A|L~V*HeU@+OoC4TNF5h3!$v=!3*5j zw*-xjJO~<(oY2DY2ye7aC6^DnSigzeJ?_Pmfz0eFz=*g>Hc2E*#}_98V>&WG5VmmN z1^fcxax>YV_ruPAJ8T9}zYiM(YT(*~YlMQOJ%V~r zv3Pt>(i8^AB>{HL1(^YvDCwDfP`=~r0oh_>oq z)IkOvL_}~B!Pq!pqCm9r4_5bmQMAtN=!F(ZGje)K;At+S+ zJp1gsV9o_#2aL+Uq>mo98L+w}Tw8R_5p8VdP!?$c2Qq-kPWU4YXLp=`G6f1~--LcX zFbL{G)>&elAfRB&8_X6jg}0y%`KggwJuDDD6f!+Yj}FqmAuuBsUCYAeQ4V01v8Teh zYOH{q*~hWta7yHn6+$VhR&B|cd%62#$5m@XI!1^`a^`sR^C$zTsTtP5rHyQSD+AH9r7Hs&?nuu?57FfLeX*DK$cl#97^of>1jNKMzB;k~Mw((#l< zMoO?3X%Nn>PF_|WTpYdB${?kY$J&edSHoyEHTZj0YpetsE0jRr)dTF005XUlqP(kE z8H1|kCrNE>NeQg=`S$AmX;XogV31v)*!*^CQ&Jq$`0~sh$m&h70@I z`^4OOt$`W>;Gndvw4A7oO+F5`gt(OSGyXwrrH&xTt zm3u)2w5AE0Ptzj71~{_8rh5$a&3l^c~`1fJSV^NNAm zP8-P~c7^JPMrZ@L3W&DdGcy2MZU&&9&n06N8S_IvH799R@S#h~j4bn@ux0>^`h-~C z!!Nd?W^LA-fX1;>hXNg1#pd4~fh{l*|JTMH$llGZmd)k$ zfrR8|Q@LUGNSFtPb8qP^8Vp{(^2>e0R3+|_P}pb$XzE7SwN-c8a;T0bBnD;-U4VR? zuob$Z4do-Lf&BW5jGR7n{>2rQF@St^dnJ}s#lUlbVFbl(h+EP2SR-M|7+}uxoVXx8 zTw~0QZ&oL^*t+#PpFDZc=R`dMh zA#Ots#LB;zN=|kP1pH{C|G5RI>gbkdvnp;-A?NhL6SBc4U8cMx0#fe->gBLx+$2zF zrUMwfC(2rPR_7ZwG?HQv?Btj}^^=|s>%3m|GZBEl=9l*Q0Libn*w9})?;eSxSo|or zM>ZuuqXvrjQ(;^k@2fM$W{p~w+SVH;t~i6suZWdj{_{Q`P3tMvtJ1`m8;LwagK!%C zkvxoCCWgfG#)fJ4F~A}L=PwZh98v*^1yw9taP5A`TGchyh)paXgLSD!P#Z~Z4Goyc zdQu7G(0fHe$UPjwEND3WudqoFMda>0fwOpx2caC+u7f)H$s;ubEm&Sp&3c>?Gm}{N zw!8n1&V>){X8I6{gGF+k3jX}#Vy4qQC+J4i7$>W3@*N={HfjW`;;Ly*c;Nw`i);b1 zGLa8zPSbWrs~ZIa>^$xnOXxbzX@I211C^w@%e@g}H3ne|n)$wb0R(C%h{I1%KMSZ* zpCi_r#D!LM)t_I>W)8anpuADiB-eVG3A0rdq!HxmpdXJqA=%UU#z8nUjKs{F#`>cp zAc!if42(6$gDKckV54z)9a`x)=OrJ&To#xf$xUY57Db8|RSLr3gp_m~;8XY;+|-Q` z~m+#>BzlMSMG=plS7(vO7M)o^ULIy}@VlC>SIa7hR$-Y1qVB+%fI{Fn2G@xqu z5B(Xe4wxiLdX^53??3++28G^&K<<8wMb{ihl{Q6H!e!jHrq7InjX*9S=8*#+zB(8^ zq8}v&K!a^VlTgsLYXHeJ+5j+3U^VQ{k8Zu}NtHwZ9ea-xiSHuB|Lu^JFMIrim8*dX z4n#d{@6Rp|o)OfMPTUQDHX{d_OIasy#m#Hg7Xg&Q1=+L`*@h8cxkh34861ix#f9oB zE1sQ0AqnjfgIhuQh95)o1cKQKG{(6otOb}h@i7Y>S!y|gVow?xdYk6#_!CcYJqGg7 ze}~!92r2?E1PRq`O#(^6A)a1lQ`R6iBS?QF5sDvY zy$B&N%4YjxFM*|+3~*$-kxor(3UwxtKfq8T>(9xQN4_Xh*GYVXe(e!lqrKJ$#2Mh( z0QpT_7=!U9s(uNjrz(~*$nSQ-v88dcH8n-{z}7wkAV1->R~Q=Ka0Y;fFbhSG1o_o> z;Hz1yHsW~!Uc&8S;b8Q2dHv~SFg+hXSyDRK(x8I`w`0 z@n56V43W#Dxmm<(6sb@`B|aq95Cij`3>6SJhKqYa@!Ka9H63l0oS=6I7lDGqA=nPA z!P`yL>7Onfifi1mpo+ExNRdNYru~^@81S$SdQB*;YxQMyja;WRYty( zRz|<>-!VeFHE%S=bkGFeTl_lWbgxnQs3PoT&S(SluNO&gbO8)xhGBH)Hd#cndv!L5 zHXZd7b^#1az));F>$s)zhKayRhQ4Hm&Dos>4j1DcC>iL^Qmlwx+&AOlAq!ZZL~<;f zo5j!)>3(7#l|06wr7G2-(ZMAbk@0irhoQUBwBA`b!R|G4T)GhZI2!9K&r@?g#Z&fp z%f<8@iX89M|FLjtf=Ytwa+O~D=ETR4RJ_z5wIm?}`3h)EY@zF$8N!Z<&rylJL1AYQ zHUtVCQx}62dJ$94v`!xmGBt8RR+4lIR=}o%P=qTv*0~vXgI$yCC#bLx?5i`OpbNa{6F%w1rC~^da;5 zXfO&Qq@?`HUPb@0?Oo;BYpAN0)V|G3;sSCc_1cC%{83qGZV5-Yz} z#T6zc(9)GD78@gpMd4M2jT882;fx7d><)Fn3uj!5!wC8@sb$LNtoMi}gvluar)4uE zSIG&nwP=;8fg=^4s28Y>P~BMsM}yO$VckXv;LpP$#fvN8S7UFPcPyZdk#q4)SJ1UH zr{S`mS{!N?Jofg4uKd#7YyZdY<5HIibTD6s{-`^OF*>0daa^!i`G{wpe5r~ z$0>N+mNQ7YqjyhdVE`CvUG$qnCtO!C4v{mbl+5n8%u(;WL{=r5PD7xoUsI7T1)q*& zOwLmOXWj=!4g%z3Z!@=Z@4vs(LT_sN;US`ik@zgwA`&#H4*V}K!3$6AaBK&4BAI^^ z^mnoH!56J&RYRjVOn9TolY6P0jR9W$d5Jy!EvCu7hGibJ;KW~|7b~DnM{n3+fqD}U ztY)DLcw6iK;F72DN1~UR9`T?VWVE*6DHN|f8S0%vGZ-~{(NNDhR|?HhR2+54o&7TC z;(4vlaQ0O>H(V9a{SO-s4!xr~g|Qz|^!a|`5ZaGyCBUeOjR}+!_IDQzZio6&2jNLt zK4Ms?Tx4B}3P^pZe89SOZlGngsR4uHS0H`C0N;^^$|){OAace{tEJP1{|ckk2ds(y|iuW=Px&)qiYTMp`0%hA#LjrX~JA>%G zKneS{9tF^0d0M4@<}4%T7ih8TlqK2d@4nf67P1h$>Jp9jZqfyuPW{Lw3I6Zp1>T;_ z9CmG<>bm6d%yT4G9N?>Fvq*o4rAlX+)&&E6TThzce=nn|<|u!m{fqiIJR$NoAe|W! zXaY*_eh<2T0TwX?>K1*dgoZFDsZZrRbrrWFlhuJ**0u0g>MXX`g$nrgL_m7>GDsqa zw6b*WQcq+HvcSmJ5JycB>_NEfpyVVJ>nJ(2B5PK$JY2I}4mv4Ot8HB@noX9o%V(a| zg#`H4EJGXYbvkzL#*H>~pyI4nYt)x@+f(lxWtHl(CV|C@Pv^__25b}>NY>)skVpok zn&UbFQ^VrYqJhqUP~WIGW%+^uzH84yl9d~>45lx?tfsZc*+K#0?aI+SkTh7Rr_B79 zU!rxunh`pw(kz`kQu%06kO!WjT|xOLU{tDAs5+srdUnBnp#r|eCkE4FPBUM$T!qKM z4H#a~jLO0eQLoJg^NUa~l3D-wSbZ+Lr(n!$P+ppmWx+KaCaEsIV=38HI7TdTE535*+1-#ET}I)n806oD%mMM^{=ec_9DE+oKr(hQVg z(vI|<+#pjeZ(gqrf8y|#zx`nH`IwOht`6&PeEDDu;NKKQBK|Ho8hG?;?Q`_yz}Oo-$SHoKQbZ>40wbx2b1MIBy$~3kLYMpE%NJj(P^1TJGO# zIP6?coq`QPsh_jUvt|~;>ct*^hac4h;hLH5;>Vx#$STOOnX@9ak?XHsfDV4=?Z9&* zbh^ky{?(ZSDob|al_ZQE_bMgF6KNmvmJbQDoTYo@)10-U<3%1`Y^}-r<(Uat`SFA*)dPPnFCnA1c8a{0CJ;B@%s% zVF8!Gxu&PD^yKCO0K|SP48YERoc)=6IohSzN@rB{<)}fl&tx(^*(jY`W-sh3qE{rp zYH_@hI?S|tE8@()k_6rcqG-0Ey}htcejtbodM3dHy2mfY2#|Mw3zb)60Ofpg%8$=# zEdDZQj@~3s^V6zYkw8Xycg~s+q&TC!+}pyDmU@m!FdU}tM?X9mQaLLfmHs2ksGmyl z`1?z+G0i7KnBXd8>_$6gCnz(CWI%=Cv+rLXu!#}*%8nx48($DKS)}|6(k`1-e9v3Ex}bVoKUA6fEo|_BX$D8 zg}mrYnQFrXxF4Dqa%gvlN&t1HOMdEuaSG{`n4*r1sIa~cGi;KH<93})8q=6fq4la# zSCzDi+N<1zraeYT1gX^wsdLW>y51CZUay>KGWyT{ZE^_mM`&7lcHdNs|=s90CZrdBd=+(6wR~-%{xRYu^d9OG4224`wNbO62x~aCr ze*cl!=+-@A%Ys;C92ar%tNX)f0FMe&xkRvJ3Ue=p$lI!G2i6lWFO&(%Fso} zzlH*fb{l8fVWln%P(elgHzI>ROh2-f*%@%=tWpGf%q~NEb{2v`fctsV_D7c)$tX>y z39Nc}W;A^jeU9mA{BuNs;=?5VouFPNF-0G?fNT#EMkRNW31HTh%W@JDcVfZ+FSxgw zsqeY>C@tew6t?QAI;d|m#JJ-{2Tn1=UJ(z+@tl3Ue|AJhdT~k&!y>B&$ZFXGy@(Rv zssrY4&Ci1^V3WL1EDCQ(QV?9hKSfm_;TqIS(hNIj8F1cKOb5v=%fn*_mZJyN$*sw#(oRW~t#wNP5ISj3q5s z$17i}3}_)X1TF+;V~J)6I@l4`N-$FN799riZfzSv`BsIH7v{3~eQ?zbf8L+xhQsVB z=#!}9;x65r-iRU zv9zgMbqtaO{E|G40SJxD1(hiH;lEA8XP@ZD8UeAuS921qwJtfSNk+0CB%$w_ZZN?x ziE|`~#zu4vBCRa@R>|*%e?pFSZ86w=_Jp=m!}UJlHTwy*lF+iIYFQ7A5=a>Xq1(U{ z9MWu?mh`O4wE+$4#Ly9r;FlymqUH|G`gkk zi-c6J9>wn^;1bpBnuX?e+k+w!U zcLKS9R41!p*44^`pAJ3Al6HmgQ}*26N+kudvkMIzf5UHS*7cGwaux9!e1qfNIo>H#AOO*|+$93- zFMHNIVc1F^wKq^tPftDvZUQz0Lh}mYVI%r`#7Z3(+r({mZP{?9x#T=oE=6l!4c{@c ziTn&$O_DST8oMxBBMeidzpDxBh5)t}+PAk26Xs0mzYMZ{Qob!2?4cW7~;Gf-yjF8(DdcKnB56@Hn$mwTiegfh<{p z&AmVliMK+A>X6m=&D1UF8I$*w4xvS?t03&ukoWHYkSaUf5Ok+k2r1s+NDQB65wL!R5wtLDc%TfB1qD#Z{q-%0=0w(?_DmhRXM5DIx;CRs4 z5{b*FMuGNQF>u2;Tt;nsIJZT}EQ*dv^srM4uv-t{-$uhy4a5kCIvkHn5gOBk=y}Bc zqQ+sQVI`OXcy&cU>a}w!L>It@_IOhqkLFCh^^>E!r^NjEyptd_VQOlMw0+I!+a8Ax^o0IYuVoZ;Iqerd6EI_NxG=czE*;cyT}pw3?h zsFvU>oY|HFxdnzGCaX4P62$kaC#e8bK@LtwMKQewfemB;d~;}b2*!*;I7rDD(PFIy zHl!pAll1f-}%`7-j(i|?^L zl&I$j#}YIvwz8y=QhJJ>;H@oYDMp_shxjs9m z99vG19v8vFHII5iv<+lx(2<3RlSKNj6c`3cb_*DgFFmYT3~m|i8Z-#=M$=$Cn@h6z zAqOD?nuXdBE=v6EQ@G5VV^l$xs;obQ#tvS&9OZU6+mk3MgE9*x$>_VJaTvcoP;+u!gg*5G*UOwpXARz^6lw zviS1^pvXnnP;U=KQkntkVAg_(Dj_CUX+a;A$$m4uezQ>0h0Or@VUAJ z&-1_9*hoTkqYC+|radhdpFVu}a0lvj9F_RWuOj{ZE_<`2qy-M8km?doj|8HE^GAWe z=v|{#w6dIQc)~m3T+`kf>^nfg-s`O^aH|?D58O@+v*LgbKkQ$6$ znuGk1W`Rx^?%J*mkFT>E3pO+yO|OW#{57c9%N}v9B9_4-RgdUTWU22(m=Q=#c*<-g zeiJ&o4dtp{s5|e*eNaHjuzGCxE=F84v2mSs%&MZe&?F8iE}$+U`Bp{i7@fgLw(jK7 zh#)lcJD+kZCo+I+u{G_@Ad`%f&x6YDu2X_vxr=6C^pIYb-3EuEpWyB}?|LMhN9t}K z1xAfc!np1SzV~l-(Z!rBLOrI9ub};xBh*wTSWyP79u1!+K99MOUV0ZSgY+FKzAtd& zin!Pf@RS2+jMwiHTcT`=MPZx7?>H1b+rK=6YvMS~V17{avC>Q8fvvJ{dy0uva?Zk) zN+%sZtc_H3js1LA?e@)tZ16nPkaBgWm_r}JvmFvw(VajBXdUU?rg-Gw`~4r@e+UPL z=>Xh~dVzw|#|PqLY*&RS0R!s*Ig+~ts7fLF03DG(s*%CYeIA%jDfU_A0Zwc;=ZfYGHJ?pK~< zrbw-OoZ9_4Cu}82)TQ7(t-`bD#Xcq}%tbi}%(GE&kWTl?b&(9g{FVrgJ;=JyWy*y| zcOk2%rVURSEt9=NkdZ%%P@kgtw)M+*+qkMl>QZ8ma3hSC5$k%^F1ZUn7OI%S_v`3( zDT5xVG9D!BL*%IE3fE~{VR1hpqN4GS@VKfbcIu3^T~5b8JZTZNX*(%qZ_6n;s6eJz1JG3ds^_Yge#9CVJ@GF)X9}Z3yQ%TXJ$%P-nVGN_?r8# z`lEj6{4p>T6^qd$KWvi(>oh~A%UA=<1K`_B;R+}XXRjYjn+9O^ zQ=Ym@xJr=qJqJ7fIkNIT6q+MYIx2G&kUbLf{Wu@(CDGUei??n4 z@$Hk~FJ(89$U;$LU)EQEJ#0aH}2M??bI^`rSs z4B%QZ&l|hNDs{T|dTP|Ofee5uj>2bVw=!6)7YUy2DXJr1;cB~v+6a;+4zddEA!xD6 zrE9oK3wd6PY#3t2_AYKPxqchLkrMSdNy;N&^+7v}46ru@s9SmS65L!e;3jb*F~E{; zW6leY+B{ajFEvA5+KKY1A0CHpxp;*q^ zQD+h!8f!I%60=OO&K(@Q>&B1Q&{9F4twiUJ)LraILXjMV8OQ!S-)+OaiWv+>yMY>r zJvvB9BdEp10zt+y2xxVrbdWv~_4}EvHjhM`hxQUF%`CONpirC#3RA5tbq>L|t0~sY zd!PLMSg${#{tc)#en0^DNJLASTBne?sUZVEb`PzaB+KBCv}N?x^}`K&aMbrFks{oU zCAKMT_`-z$qPA@4zEz$f0|3e(_g-eUc-n0~1*Msv$@+U$y&5yjkpU!JmLHsG9IvxT zv$(=KEhy>X^`+h3!7*^7263SI>1}@SQ;p{bT|_DzCyICh&S=5RGnqiD!5c$*Pl`pY@6)t8S8Qvf85{D8|k5W0RPd?y3>&S zz6V-`#K)Qwoc?^>2~SwJ7SmZvGwUJ7A569nxmEgKsLY;qs)2U7irY=XRwp@t}_Z=A75SNj{7f<`)g>V9MB-hRi-oQI{RDVgf#>V#%H)tk)w~ zN%5&1T>oIPWoyyLZv2!Q%xEkMWZRUW)IjE_P#yT;c0ea3*(^Zfqt0I~$jE-~y`Owc z^1uPM?bNNU?)&%YK0M9B(se7M*{j`n%?I}?Ei^9HN1nAQI9VBln^04?)+0WN@vY#6 zVwL=k7u3cgeE1&c)-~qthz)dUn&{h3AeV#wl)i?N#WeZsfla&F0E98Xk#L3OUq#p6 z#v|{w-GqBPXz?-uuoiY^_rg#NJxQyfQnzm@t+(6TXK;wOP()qzYdd2SDWE#VUIf^n z6R%Jwa8LxjWh3iwGL>RoCAy6m1~$ynp`cdy@xP{jI9OXL-MoH5!S>9x8f#{{uU1pU z(x^y>Xxuo(Yoa0Cm*QBX&f2fT7>y-mHMp8;Fa|Kez|RG+Y&I5-5nO)aW0!l|f1hZ2 zrWWEBv*AcoLhn|n`sl3vyon4@cq|pDVc{V*PTWS}WKg z1?VOy>1#!Ak%?`6gSmSJ)Zbhn$9P>ffluY*n`h6FlpbRp>!~#m9ho)u4L5bQFCVyT zb6RpRNog<+_&uD!7K$lqU9C-2wK_F*pq2;71v;}Z9`^PeMb{DH$wB8`bZdNeiaw-K z{qg!5g}+`_23Hr{F;+7v-gB?Lpa|$n10X z=R9K!ER!{EMAM{~YU6H$>1IzeuWxV^*?lO89uIAYJl+0nice?2y?wOx0Uq-ofT6&T$P!wl*5OE&My^tUjt5qTOa{%1 z>0A+NcW#T7JGWgzqnsvnMZ46y=b*hG?xXH!9zf2B;vwBGfgQ>Ax!Gfil2S6}C6<1M zbachm3g<|0xN1$*UGx#+oW8~%=4dBoBr3u`|10-1cw=XiUD^8zpMF}kab~=alx@s7 zy>kJ%8MCgMOT_ceoqA2F0S(8`kr#g?v+_zuvLH zH)K8@HXP-VGF*nsF8Bet)5rj50wi%2XgX0t^r0~;kF&T+U8lrP$X-dad`_3X-yf~p zcWL1i9cSkIQL7;fXY7mj-p9_eanyyg#qOqRKmHUxC8vQ>q%5DGYtt10)i_$bo7Bum zb{`Ja?91AdW;Fc}eQB?mF_!OjU-}JnNKnqvJUTkzdH2hADL$gt$VzJLu2T|D>Ifke zxP00512eR{Sgz_-X)W4VHDyg|C<7$v4jaeXKN`$p>6}Zzk!#05)u?67Ag7(Rzl+MT z#=^ z1|ag!Q=FyRuoR$J5m%J-@eI(m-nBfJs+173w{>dzcvnGEqpg?d$TL8n-X-ffb!7Lo z`vPab=h}IXl_k}4!(UcQv(HiD(!j3$mYSpx1Eg=^biCBf8@?p9ZsuC#MvrzfO~Bs( zL;@_1fo>U!imkGzyq7$|iXRY-FTY6jrKmns5x`5a;Nh9P%JZ7~61^@4z!lwsHz{h1 z46w~^={L|H8QN?_o{X$V#@f`i{ayvcN*a&>wC~V*E}nBfX!oZQw-_hfSOUr%mFm=j zDo!V5SSrYR#1CbpKUB18rHTThT(rm+`}jNiuu$;dfFfGZ@+bKZTAkgr9GBB_E8@45 zz3us*f<`~~B7L!kzv~hJ7Ru$K0WZpBr2pFEY^w~Pt{z8!#lBN1L(%%h&W>IvI9Vj| zVi$kMB><~8qDIWsHGr%H+KIlgBA4O%g8-_7V8K_oz$N{?U;wkLDGN>5YRix~u}1%W z3Wx?W@;?leEL}Xm>kM%DDKWtP+0$%#1p@bBj+lVEp#SgFBdak`&Zf_0N}GKS;R4v}510imJpbQE2DsRQi|69GcrKpbL!0evkMi2|!D|c-cF{5AS6|Xg zjw3VpPWkLV-Z$&>?3R3gCIeMaKQaaD<_)6=);Z)fB(C8pqKWI1+rs9$O* z#dz&iHG!qKpXnIv7xLBs{Q1;NWIj-4KXd|+^TIOQayti~eR!^P0TUIA#TZpq4%&}x zAX^7=98bzGQGrV;`#7FSsy$;PsckrWUrp77-1CCHS%B4e?JPM~x9E~ofQb$5Y|zOB zegu@QCTXR!gjN|NreThi$L~RSEBQ+KCDuO41>l=tHMk5LhW2a!pq&voHcgM_GH{+wSq!ajVj}*-AO3KEgH-cG%d%A*z%*JoQFpZn#;AW}b0lXbb3R*Y zcGixZOt?^~^l7_*@@jp8JsWVHZR%;dfYufW1VAF#M~KJaG{EK02?TcTKV63qK^sM1 zHNU90p#ivl9eiPFBE)eM>Ksi*g_tQs@%gKS;#N+Ry9B_Q2WcY8zj^sGL#J$-hhW;8 zmb=0(aRv^cjHC$$;}VU&Ws;8JrCXt0N%fAwiIiZRVMB=;#Rmy-ofOFo9%r7)6J(Q} za%>d-yp+in!>j zZ*EY| ztsj^I?N}y|GjkIg*S$BEpj~fL{m~=*(8H5cVQ&#?$h)jkSfj%EZKOo!q;nGEukiY% zn@cy~i%le#MtCbLM-Z*fp#s#@-1qUQcj&i20VZ=hgi0^lrco`eu&q2cdeD~dV!Rx&Yehb;8cy3&8 zU86cGW~Wpl5eCVgRtQUf!ORyv1COMyxyIZu@z#|X%91%hn#`z{V_;2XGQ<5K+WUI|H@)}> zI_QG#a`B?Cz`p?z*xn{{@OB)ZX-MgO9C;%HPWntDjY4Suz&?W=8l_FU&Exmi%r75z zJTn=n2Mt&b?l9475^h>i4j6$j5DC%n3tZtXd^|iF$Gjlb zx~OlsHCIypXmqLt?nopOgBe-9V?AtWqXvkPIK#6`lL4=UCx&;_7oZ+{k5K~7^=xf6So`c|f@gRsWHtQkO ziPNb-MVZL+&N|_)i0oV?PITOjdu@^$Fd+yIHpQU&lCfb6#IJgtcEV3txS7y8Lsj!0dOacMFw5G0rlr66+x>Z7$d3o9tWMpB6=IB z)Yow5tLbBc0O^<{NrD%p3^L8)Ce`Nd0+fT3 zarbrwQZrCV4YL8g*Bv+E-pwv{Qg0Z59WpxziH$jUo4|k%>o14{4ref0-o>*ga)1oL zBwX8s^g*`Pr0Q09tH1&%L02oAjJXUhl!d9<B^%&RFf$Ey`fUWm3%?E@-ie z9#IpQ@_1P#Soz`PRJ;&`%fb!X$S=!P@YSoZ^_<}AjuX+d=r2pI_ZH_l!`fafQ&wIP z4MAILWw_}WGg5QX#Kz_K8RAv@i#+cs;{mNf7Jj_&k`e%}Is;&0`EYdTZdlud$Mgk@ z2v!NeBnwx`LEydtAGeo>Xnl*pd%#FP4Bq>M4R3o78Nj65J%;Rr;;^zoaV{;_A`Cqd zDitwAU@T^569&eh*m_9VfI3hC?vGh`qHRKg;V}0qgod53mvMiyo-&@8&>jj9*Ed74 zlq~N8Ib$S>tmZHVcVh`<6X}pNs=Nn`0SFeK; zYSMDIUi1>Q5c5jQ#~n44U%|@))mXKy|Dz6OnFX3hnd2PR_?4Y8;Qh9FhNHwlSE2aG zfa>vwd5)ZRugL+6dY;EEeMWG-%P&=VM;axr!`tBSSb?1wM!iMk2jT!i3ag{hUmF)S z#sCE&54cT?1>)Y#bl>3(Q4Kyv5J*IMtH}i@&KL10;2u}(n{Zzlhsw%KXuA@E?bM95 zlzJPg4@q{Js=#CbN6U7Tp>Ux%VQ7jBX>2h^&ZMN(DIay*@oPx^(Dlu5p?3@F*U7N4 z&38wEq6>Y1qR1f+R4ZuQ5me}AFiYJU3_G}L+6a__r~*WzFB(e_ODf?eSm)co-Q6bJ z5+!uD#JOri-Py!PBmpEw9ejRKFh4*nkTDDOk6=fm`o4}zl5xOdyR1nl0-ln~dprls zN!oRL(JS2e0#93>eDw0J)4hi}z|rVrUWNhiy!>m_fFAV!E26C`xKRBg(FJIiDJZAW z>5DdNLDHgivEPT-!;8{QB)d0w z6B`U#HE{KAIdo{@m-6{C1L!D2ebW6e_?KnkJO_$i7H&GI9f!7bnb&!*gUphjR&^I^ z(zHX4rilx4B&ri(y?lhm7%|>2ws?XzFF~n<(siiVkSBo~aS%qQgFeA&j#;Sx7C}}w4L^T`C2JIsHwjQ3>AMDiyD1iVAmC!!(XtHZf(?|R{NgRoA z9oN7euJ6@30>nWMxN{rs9Ex*x@3kgq9D&(>Yo>1`X$EY(0s02y(lK&e$(M+fmuK6s zG6O3r@I6pvnKe>E9?u3PCO!#V%tU0Dp!zHP=atG)IDwWRXP{StLuOC{a{Pt*YuShmL$`jc1fAx6@8w;3Bv<4}(At2be!$fC279 zVjzP60gP)PId2!Zf5OF`2Vrmy1~?N0$YlJ{ZcLx!+tIPyirHPH`a=>WitOTt_)%n$ zv(_%ETcV1TsJ2hym}R%!>Sh&p?X~t=zqR(-za{k>s^lR-Y*iBMgsR1PztN7OecOhV zKUxCev*qvs+y6Xmq)8j!z||#`NdutDblPMsS`K2C;q=`qAi|LX7(+>DYT9{%s$qC0 z9$4s-xbt=$trcAN;-X6$lHZHV<12}UD|_a!twdS6zY;f+AR+iq(twE2ufr5z^Xi*H z=!TDuj-bc4_#yp z;>0j^>}>Gfz2uaV$!uC|Uxi4rAgE$=uIpy+MJ|Q?uYj1w*kdVR*rSXZs(9UCbMhz; z|6!@or(K8ng!6`ps_MG^-N4A$`&-?_R%R4KG4`R*XP=d}`yI8?AAa_%vIiX3YB{74b4-Fb-+sxTuQsZk z>qaEW(h1X=b21=@NR#sPxWK0N%B@!G8uM)}C{-0jk*|aS803Y9K;AmE3o+?nR%-3Y zy;>W8s5bp3VIkJl0z6-#dEa*24xq)eOq}J!2!?`75(OGe9|ht5zn4%F{@r=VXB2dH zEvi14Bc}g22B5}ZOA3UNP13!o1~d~yq(%*~3TUl^pQ-waAuau@3c=&On^4>xPEE40 zo@!mslizTo7FqZ#eI5~CH6;4bFYPXqd9t=-ZzrpA85MmfxTr;t+Vu**TtBs*Yc?%z z00optoViraqApjca2Chfw`9-9_JovPFGcGT z^PFam7#I;Bqh;Sz^}#&H1|!9tM+@5W5y@9(5aSAHT>4g^bhI$nh3FNw<^ny1hI@A?P<1Ic$SA?P-0!-Ga;( z+GH*T_sVU^WaL4!h=1_x*)#G1=tp*nML71%&TdV$_rl4Zsk3Gs05n3y4jNT0#axA0ukHx9Z0=*z-`K4uisIgpd6k28+#V=GW$eM`OStp^#c<&<=Od_vCdeebJn{hzu>Knkv^=69pCoV zFhGAG8#V_cbtC|ptnicp{Ux zIu#7Y(LZm>;hH{b5tFW%T{Nw~VWgg@fD$Ue9z^XP-Iu;FsMBqhI-I_gzw)9%#f7^l zDl9^HA6Uym)+Tkee$21~vyKjxqFSPqBoFxGI7RiwoR2cXt~LcV#!<$>Xc7@(0)hyK zP)iGQXaN>Jd;2LOW`xW`nztfyVEyMH7_=uNtAQq7H@zv#g+MJO!DAriktF$-0cWlxkxlkSmP+WeDa zys-L$`1~w#Q%Bb+kt2x(k0pwY3-Os60qz2VC(eSQJgm#ah^|v5A|-GvK-K!C=_xGR=WZujn$TVU5YgB-9gY*cS zEN5h(AF#&JHClFZ_-ty6EN6<_8tWOS0bXFsUd%8?>Pzl-gGiZUE)*4FbNfv2*B?Nl z6o7));;e2?9cFNs*}f?io+J_1x1J*waJ9X&&yH>wPR(%@-?pl+O0?ZsfKWce8rEnW z%)m3dnEgCwE6E@4v2lBV$^R7+L6<3Bf^6oOwElX;%bw|t^DQL1T*W$>O$Jl5D2xw| zK}#!_`}))JPlbNdJ5G`E>bY@JpSk{6n!Ga3nIRb%);KcYzV`t@KHh5OGKfmOvOdh= zZrRCvJtov28eD^e;%?FB23Mv}sy7flWw%kv#hp%#8f#ZA72`0064vgD2)ZE4ynOym za7>(L_?v}-B$>661+&XnILqZ8XYME9DQN$#0mKJyNw3rh!*F)@`(GoUAemo`#bjw z#r~fa9{k6R!hdAKcTih3ff$vV4oBzNZkj@#!>B62`GeqG{hevIpFX90XYC2qMd-j9n)rp-J*t%A+?=>jsFy)Hs)Ffu7hzOsNWma7CViYxy6-u0oqZq zR-#Pf*tLPQMEbbl?VdQ`_$6JYUbpy({?f)khod6ztY~iJ&N7)>$Cvh z(Mt|f(;5teIv(ESw@CUd3ov6WNh6Zt7P$|%=L(9r3yV`j8jQUdmlVXEcAj|+gn zSxwZSrZ2~e=f#_%-VisMD8^@W^hWkWbKLdhp2+rc0A};}7zClxhRjyxn6^k%lO*Nh zRp+YT^?rgK%%eQ6W@6M-IcZ+F0O(|`03oXlKC1&Sz-C*e?aCU!v4i|6VV}+FRn}OI z?%w_&H?aWUlnKbm)EP847?#SkeK!2I6f1e`V9-kDS``}?<>~s5W%q>|ZA5=2FcUEB z^VB+We%J1Ic?Ewuu>hBXD@@YCcH;yH%P)e6TyA7KnrgH>_|FzI{`%%c^54jw#5pQZ zRe{$ub*Ql;4bCT-Ln0OD;t;Ma$Z!QbHL(C=g2D0hhV42nM@p?8$|1UN4h&6#JX; zRC}XbxWD(Js(x~Puy8%8w2?xqKPvwW-*3viVz*yX*3 z2sOdl9{-!v#2xZE>OkT3*MChw;8?-nxL#J@tU%)`-xTg`u#zfcGU?xXx1pT2AeXiP z6C&=vlIZajWVr#8ems9YYB0Gb*Hu908cTUy|WQ4szx;(L#;xZFowaR8pHZTUo`E zQ7i+){;OFK@m|zF&6vwwK}9 zY2*4uDwrBb=WSB6E0@~Iut4W^@OPmD0PjT|2${Sy>bA(6P%gV`?`U?`#WeDTz&l4M&0#{s3TH8xC zug4Icr9*HQ!1k5JPrMC&`+R0~o2rNg6@b;4&*R(E0Z_|U03~~M1(*hC#o$4>0jL7Q zw?I`$SI&4X=FW!!*~hjrNUKiGUn{3L#jeYO2gko zYX*$*-Um{%iO=~8wjC5;<9&d?p?9zU@l86zwA;G^;~W#TwuFi%5>F01fYSX7x{%VT zd{Th#gU16$aF`qQrF0a9*f$C{YcPZB8Xg!h@^BxWRELI2$LM3wKn1A4$a6%hu(b?c zh@%CIL%Zc`{eRO(L-tvnR)_3ugIh;Wom&o9!X9>hAK+hM%&Amdy{zm8uI*hC3Kb&n zuLPL_z~#taRF2vQFqduyO8x-bOAu$9XaSGy)e8&WQ3~n)6+lvy zBp|XV5dK~IZ{}~0gj;p|`kOcL2K+{@wD>!e%9eCTfYDgPLQG3ZCJrc3u=zU7J@x*f!gOq=umvJ0C9;?8%YKkB@@@kmq0-2f@iqd+5K1%#qW+6AmndOH6$dYm~ZmTD~}_8S_SI+FiX&niD>Pv`#nS)N7JKX z`Bhpa5~DUibqNH5$9p5@CQF<^O_LaZ)^4o*Uw3)-?&&2eCq?#E^J!Wgcjn`57i9|qXpt}AfLSuYaoq;EpkiP;s z+HGE5-ik&M-^6Y5FGM2oKmgu#zw3E@e*Pl)Lyl>9%mcL=J|PtHga0`_MyxTRzRS5l|G>*J zz6E#PIE7WRj=3Qw!*-04luSm5_#DV*>`}{{p%B0Y3Gx6UQ?E7nv?UD9kTvTj__BMZ zMv+tmZ}=hk#@O!AwWqI;%Cim?^~NnXzQG-@`P9+pQoANxT(VvvVvp&bt4HD|60{kK zSOkf!BQP^FbBoLrbno7UQ1yR=KaPx8s6T+F;3uMDw6v&B5&sIrBxzwb0=I6FZ?@S| z=WVVV#~D@V%#9*Mc-b@dThDl4i6S?Qh9qeoBv7;|1a0!QZ{-dbti251&M! z8DVCx`+wj&v>I^GCqq3?#qDUJ-Jl*=uOrL|MBtqsxzPIKz=Mp|adstiu3wGK`2zlC zWXO1u< zr}?Kqp2JW&LB!zzd+0@otkK{j9`F!xG2C)li~tz!nucV2@ui$Su>cBmk`UYz`d0aR zgpV|cz}!P*{+G-O`HB7p#m^Hu@44uEYS&$8TRhHIL{$5^UxHjN3vEyRF+Y0*j`GK0 zx!n?)iG-9SFhd4|heI%8L-Vh)&N!j!UWoB`N&d7Hz>ww~*MAl=47o&kJ{t9&w7eF6_%4x)o(#(t~Vmup&xNoi58Fp%(fQCg74j;ZSCbZ(T zlN>L)k1nXOSi8tbRe3t%n~(zd&z!(>Xy)!Bl(E4M`hx}>J{XX{?WJ>W74$BI*{Nb8 zL`_E79fm}7vhKCDAJRB*JU_%ITKHPK@FFMb2A3zhw|5K;ldv@{MYAA5V^-*ZV!AGY z1r-%?O;NAS-hi6P{8f(ulr?M0Wk6~@JFRryUnppEVR3N|T6Mo4?pnl64!rp#Ogo#G zUVpX%loR796^NtU-7SJcLr>}k=JnE_OQ??R7!mN&GDM9&lpL#b7z>JFNK#bfYq*5( z+@&`#5Z0ZOzlw6L&BK;eglHTmdUh6)VW=6bnL_x@^WyQ7Nn|icF%9Eym~_YmiW4v=k#a_%-*f+qb%1%W|UuFrnBue7rv_ASEiS z%=Rvs8;NLRF!-akIl_DIz5DJO+`V(>PPgZFyHUL58nI_?ox%V;Hj7DUl<%;qVx)d> zQ1zredQZKOds5Eo)W6g|Atw@V3WEAS)N4hOPsYK1WV7I^5z`t>O$D01wKcc((MO2A zd6K^q>6=2#YX&GuFp~D4e1bpE!+8PO0NpD<4netL1_EA25W3dA``di0?zho=k_j*@vVOH1AA^&FhzLd3=waQDQ2g-af7?A{Ug@y6I(yBKaD^cf zy7g&|c&#ujsO^`D(M`?`&!27loFIZ41N2{yuLB>USnJmBp^OeI7ug+h9}&b!bNkov zbwz3q@_T4^YNEMQcj8Ew{U%%K#u9;RmaX_L!Yl*!s_~~ehX`E`q7nuejc$M-;2O|) z@>QTdUQUN+RP?yS21@Qlf_JFl%ONGujKWJgH)1@}1gKKGJUQAm=!XWpWj%;wB z40`)uR=f`Fdd$;#7e0MPNH#CRK0%s-`vMvWg)z0PpaSrbKo>fm-XTQVh_@m`S-e&u zXv{St1atu2`TY?@4C1AC!Z&nEQk^IIS}9;iUgB;4Er=A@z*kLhP=Hl$4T0HfCL`&T zNdEsP6DGuWGR_+u>7Bclff&qaR^$3WQ#vICRmA+%15+ZRN)NmV`Hz>Q zd4vH0aP@eb+dR-g?<=Ci;Vgqx@Cyi6PE8?^WA`92d(dd&_r!`sI*lWkVK>w|U~_EN zAs9TwhegW87<#^By_Q2kI!Z#0b~XtNBs}>Wz6z>&H9m8UA$5#H^x2RCsE|BSi6&c6 zj1kS1L?u6p^HGJUV^OpNI-{9vfFbVemqg5i+0Au=oKH)?0d%bZuJZ?5&_m4XCyEd7y zXRz5V5`Xu`hvy1H*eCa>zh1HWTM~M`Zq};%wFV;CgZaJ zisrW817L82^k*cn94g+sF`#yX5+!8IIE%zRUag)_$!|bwgKAMsj2MklgUD+?-A8qJ z_z=qFvVL~LWx^+7HtUkmEC_a6jGbt-q=S@{Vo{P@fEq^EYbCPY1`(CR7hmWDr%BfB z<##|?yKYw}q!fc=yn>R|Z*^P`Fb&u<=v5JIpwwz`j#fw|lLQat{y8$j4J`~NXQ-81 zfo%Y*jBNd6SsBpJgsrci+YS5~crk#qI6pdC+gdQMa!Z5LIyX#jaGdn&Kd$3Y{$ej3V||2Y87wB!9MG7JHNyL zU!*3Y9}jqm^c|j_Kc=bv8rF$a5|-UwGRHV>BE0sOb|lb=BXaO;<}x%e3ZF-(NxjHG z3J6e)Abu$!BKY08jcf!%JWf-g(Sy#R;*gV|3OVEPDWI@bJhsl7WNt`y>7U+svfW8xo^8!Vq_-oQ*^{2+EEd018Jux-kzU|2J!<$cuAO-!t~|@ZpEO^Lrf_ z(Cgbui*z$2nSkC_r1SxG@&Ksh9I^lsq%<^dQp+&RTB88Q!+QAv>^*u4K5bw{ZwT+B zNyn$tHNzrjs6B^z$pD+j=bXk^7Dg|GoC~Erqlx;`C>l(=pxIQ8k@9abHkn~j7XT8rTNI=7uZRZC4woA{+nG8j~IK%Y_Mv|*@;9Y{e z%|e|bO)pe-j+oPX`ef_LVgj^wV02gvYEMOjzWtzBh~Hew{BZ}GyG;X) zupe+W7GtpkvS7WzZ64RjZZ;n&NBzW!Pc3$FRq{JvTYzw-9N=IOfZE&t9m3h|V$9Qs zv#5+G>|h#ul(qVBNF@ldqVj&W*~Jt6cEdEtaXZ@>6&G@Ksp%IQLR+LnW8Hil-%IY* z9sIc}Y^jM7Y~zGNW5zTBc9)1&Lo$pb7o4?6tnh8)mk2OLks^fT9#Qbyy|d8*5aWhE zxB-vR&~m)6CA%3p?$r1ZcSacgd`7t-?J7RtBw4qTJ66tvypb0!6Pl`##oVfchiECF;>}g25=Fkb+MD z07jLBQE*1VOfw3l1PTyUW#2&4djOSTJHr};{J3O_G0&k2h*{bXh}^w2(qnrE6%3JR*TQ)*|6if73`CP_gBPz8pc98JgRl^BH@| z0^-s@y#@Oc7{zn$s4ra=A!Z@oEG5DA0zk;U^f9@fb4P*cmSxzo?@U{EGMGYOp;1A@ zD?oCu@p76O1NpfQL7t9>+qM-!r-t?xXPGbuJ-@&p4aPh0LIJ3{goWTvhmw`)0=kln zU0H?hI?Hk>@mh_Q%^gGkuSk(?Zn_~6nd@`}?Ye>JA&%I5?zj>zVfctHAcX5@NIWku zluqr-ay{WHp^Ss+|N)ebroo z|LcdsKCV*npo+1Ir8~g|wC7cbw!JYFypMW&piK9Ui6y+}Fo$T15~zIA5-?700j1~Z zG^>KJ1CG_BOp617Dh*eT-yJGzFOqi8YdHTej~+JiIiz`?n~k` zyOj-a;W%XCP)I&K-JhHZe#mZ2YGDUDSyfkg-a@66Xxk!fHMsu7q^nsR0X;{~4OA~W zD*#)bN`#st#tU9_PaQN&`=|gGvFv9ZteHYO7ep{8>?~2A<&dB3C-vmPC9v$!9?9LO zyj`KB3H~Csd&v8nwgM=Q1Se`Qo1RDOl|)@cSS@*Kc~N^PEVoTYC=-7I=#4 zfc!PKVWjq3hD!*`4h&upc`*Eso^3U0jb|OFO?N3^gu`LO^K8eESnfB|$>4__KCOc; zuK42=4L$$rc^!z1Gt*n)$i$cRmbS7cG7LicxJ-(PKi#MWPUce;m?sEGrEW=(PCC0*Cjn#b-CFWLPCnZ3)6D(^svC7uSXfEP zTlf^xp0n#cXK%lZtjl@vWz;36aw^760nivc}yB2;Z z8I^gAGIw!J{r$RgQTbc&IcWSbNbv&9d3|i=gJ^<>fnLgU?5p z*3ERI6G3%7Zrp$;i>=?Mr#lTQ9#@9&XQ2^>=ZwhT`kV!}K8SO*(FHiIkGLf4eX#EM zNR&UVP~ln_7v?UR!bG#s_g^aa;b0e_6~rkr_5X@PGeL<@glKa(105WLv(N3*t%{Vu zz&UFA_qH}*)aqnxyD%+0WkzNb(mp8Uh8}WI`E5leXn~K9A->opqu^~{oxFHF%^>Q@ z+)F?;{sAJDcE)qshpdr`dc~7WgB(E?Iu2hf5T@cx%j6(Kg+jH}^1wga+1yMPdb;z=|4hL<73L>i z6AzlDJ<4OQJKJ+RW>7N0Aew*$%c3L?)Cz^1JiNfwqz>qduf0Y_xd^+PP|bPAqk%e` zD;iG(xl>8v>artl7S+|7D`iB~*8~XayPBfpf0II$HC5NevA_f>}0^oUz(0*o^ z4(il!8@AMNs7fe-A>x6BfIn&(Ia;Ea44Brhg#0Wy{m;HlMC~ZMrqBY-@77|HPN*w8Eamc-cbz88*FJpz%IEo9 z&bE;?p!`o2TzsY6XzP;VO|u7~nh2X(2wKi%y(yEAmbTxjvTk7*yDnGIWh^y6Mx71S zy17xNQ=Ma!qUo0wThelH*vV9_O%@|%B7$MIV;GGdb;LmxB@~FyefxlFslMzt5FAx? zD*NN;m%H&gEH+BO`ZHYct}2F#J1h~)Z(n8&p#o65rfyCXJW$_;Z}BDPt^`g;o&mEh z%n${@zts4xezxWUJ*284l?zov!DsZ9y1IynJM*H4+YlEcL)4!~1(>Tqyi}v~i46YH zg!t6sSWgrF8wX5LTU;$vhi|n4T=8-bi7`)a9UNzdM6+!|QK0ayivnO5gRIqz7`sLQ z5vBi!7rRmj05i@OCYLMab(oKL!a!RYJmE|0f)LvgsCAz}@_tJl}S6+E8nL5EAJ zqRaA7$ic9$K;4!)wA+${$@Q0~0GH;HKq0z7Yn2IX{gWP=WAK2Oz*%TN8o( z1uDR$uXKa9zx5LreaXmm8Mc<=yBYSowjMLSx z>a{cH^4Foylelhtd->;HFRCJ^WrXKfkX_&4E3&$L^5ez^+b8<&Xu=hoUVm;>^_vj= zn5p1Yh_+k#C>?$T>W6xjhPset=an+B3inotR^xbBS=b9I?!S^0@X2Jc?UT#D6zzhg zTCOvvTU7n)8Pa7MN762=ee{7iP3S5`i6m+H3NxTWC-69qBoZy>G#J` zbg#dzX}wFAUeKs}qEaQ^y!rm0vBS{x8|_?+j{c@mDka02@(%gmKu{OlzQM>SUJylJ z{^FPhgk9N_7g8=UK2|iRsV-38Qgty1-eo%Ip*t>%@n6@$1#J8*XB#M0u(w}Re50My zI{4vOF(yHh$XVDaEylp{PiOjYj3^FJdM-5nJqRs52UjouCLP>{9Z3o>dZp|Dr4&Au zoyPSxUlxHeqd8tD1DiYjYjxr;58jPu$v1u$J`DSixZ9ne<6xOl=i0r5fS;Zgl=b!}9El4IM z!;ogE4+2l*H4&Z{1UUSjgZyPNt(-W0iSL^`dO3@u6Zqhh{J`U7!gUe2cLH87MAu$B z<1Tddc5F$71It*?7D6C0JEuTyRUTr> z`!Vmv2@xW@yu|69CT5PXn#+!X>noqpF}~=nAO9FvkLK~EEh0lC#v8Z}d5)+)CG!2o3_gd^cz$ZLVVh7b)&942CWLimsuO{aRrCOYQRmQC zWHe|mU%fWam9t)(-rY1Cm3b;J5^gG!2&#7~jO_DtYr4>qaMQtljjx&`o?&ZVg&uF7yw`UHL=!c zu`~Q6DnDbg!LpVO?Jso9> zT99hu;ygY`@Z4DP%d*Tv#ODjV_uhNAFp4B@au@3Z*g}tLz#m^chsj)uEW;L~!7RqS zxQILR^NSo5%$Y=D#t%z)Q~bsa$rfO`dj<()bKv7J+AdNLisNj6RA32o|9sOx*R#yc zq6QRzqnncmZVB7W&COA$qP&c(6qO>FOaU^P3~*d}S-0PM7J{%SiP3A|pOWV0e01tn zT3XT|g_j3B+Rq)QI%`5W41s`TpjzSc4!E0s2ugmN(ic6YHiP33a47NB^H|V><_R*? zC8L?wbs=0XLuBse3aMSAu!yjl-o@xMXrnUKKuWumt6+do5RPXL&^U#mf)9+7y~2MY zXeifg-){kP+wf5be9v&;|71tGjN0S_v^?6v(KK}bu*|t(4!sk)6R{w8@(F(cy$E3* zTJ&)14u-^QsDad70tz^Z|M1dRvNL0dME7ujF3^|5h=IQR{^IVuZ-+?G@WTS}bixg2 z*GWx{13EZ1*rkxsMwN~sNc2m=W1!|~Wte>wKpBRQ3vtPwu}H(@O&+rQ2njl_Gd=V0 zk&Gi+@yr=u`DPCc9p~H|MCVb9!V|yXYx!FHl1=Ywwunvm0s6L#Q&>)Pt|CZ*`VQf# z)+~`a0*#6hxy{!wC?a&+*h>as_ukp`&I#uRq1t8+v83QCN0?>v3bQPsLQyq>v>0~? zGbodt7Lh9Ot?ZZzAS0?0XM-&kXo<$}G)UO&X#wwhBztDGtNteVebDlmI_&T#-1D{v z*7$l>#n|33ah&YrIIM)KapJB_csW#YSKsX5Ul}2$*+-EwE;QpM?^pjx!0}ZaAP-X= z1Y90*50ZsA!y>$We?ziq%>%?V-Gq;C@9JlRc9qc`-F?%Gl3wD?8hg3zjZX-G5r2m(W*iy#Ix@_xe`t4aa3mk-k-8(dEF3O*|qdPmW*8s|Bg#Q zzHj|lPR7C;iMN^@E_>!fcBW6ujHdvq&=7HXH2p!pRTHTdiUfH-25$(y%JfCg-Njgh zF}%{c+gaK7B6JdXdC0CHU{wb*CDld)X$}Zqz*LZ zB?8o_0LRsZ*bY%!UiVOH1#D++fEcTn8Qoj?kB}Kx0c=8+2)?u5dN^167_@{R!EzH= zAc(#Oo>MA=M2Hi(!|oVhgrwuvAWF}=;1;KktmxDeSZoN5Wal@)I*myG7Qz74PfpF6 z%IE~rXl(=xv{tA0=l0{*%SI6X^kxI~MG)=QjHkQLb*rIj{a>=D(}c2{ac=^`Stt<= zq_qg8rK$TE&LAiOvE~s^POP%v_@f5eGe-sRw!J8i8=c@WS^)6;;ca3QHkks@-=pX8 zvc4`Ku`$)2?hI&vieIK9w%6v-1s(S-K!{}|2(R~u;?D0y>q@aXPf887&okp;0J6QL z0JBYqdC`WD2?-)-@-t2!8tD`KN*pYjJ2IQU`}a7?jziFj&oH-T_Yxd!u8;+Y3l02a zX0@*XG?77E_{}75(sPWXX=*Wf&T*z2jN)JIWmhHQllQ_+BZ;fN!*UTHv3wvk=&)TA zN-uk=Ljj9}RFNsb^bvdy1<4DILm^PlgpzwWogOCqcj)$8G!dUNB|0$w^@aSY+cq&e zVi@biNw!SH5*9gy*S=bM9+iMvQo2vP$Gi4#Xe_M*_;QdbSN2kjsFB5%Jot##Xa6%a z5E5DV7H(7o`tDBu8K0s8)Zz011;FJ`uY{3?r8ajZ3l@*`Sox}Lvmz@S~Lw}8IF2c zlQW>UTKy$>=hmI-AspR1w|A4>_=V880o!4WLChRkr93QoVA0oa?n7O<$YXWyu6@c` zhbBC-VNF`B)kOLQjSoK%^Q?8T&bOvMht&{p2;T^`zjHdCqTV2PEy~gU%Q>b@)((EE zK6M0hJq8t$2-qZJ1{H!?p|!hf_A~CX7pnQ24+a~gFMC=r=tmGo6Wc&p&2^vvxR@)%1-2{N z+Ye4V4;#NgQ7&61m$8ra`S6BmBhP3dfH+$*Uh(QMk22WlWLGIi==pGc#Aa5Sh+fi- zHijZreqQKcv~03o5VK4L@O7cbRR0q+0f*4~y~Cye%>S<+%x^;)=e-P+kKO@co?Mxo z)uefM_3q&0eM;`vBn41^4Iki&W060X+4zOUZ!;!BzUA9qMc*^s@pJ+>544%Zt=SL3 zXOKOztjBOp5p8Ys;kVDVJyXv=#>shuL)gzcTf~6Jbz2XtxmkM|d<5cz@~;15=lU2% z&cW0~r*=VHB#~FVetV~J4cIf>)UJp&j{bB3@y(zDbh67Pyjgn!+-4dT04)IZ^?>SJ zrvUd=nBQfYISdsdgOJ-E;xF0eZOX(+Qy9b!P&>4iZ_0z#nObARip1z1@HrU;P4lqv zol!0sazv`OkcS)Fh{Xe}Jul8&0)9mH8#Nv$9^bfn_<#3F!L+_-QhU7|q@%Da%J~1X}MwkUSJaX!rO!T@L4Y4p&fTTnL;mjd}@)4S>er6P((Ls-1{$JKzy`ei@ zee|^qT-35tY!N>-n!1Hk+oMiXw`e4Xf69*Q0%SlN0E@6&6Pd5RPx)*6KPpvnr#Q-g0}cj82AfR5zQSNZ+edjT82 zzLQB*qZnE+@%@2)uJ~ZfX?F``m(N6FK)6oj zQ23h~ECpML%qbEuk|1#8&HoW%l%M$1{g+iK?A~l@8{Yc-Oi|wo#0%XT%vON27EuI; zNs-w#>hB3c<3Z^Eaa_C`Kld>ksWDb)@FqlflmJ(>2>uzMR&V?oW!k8rMD4+RaYVOh zmB%#&DQIPX47-p>K+9(c2)P1mI#@eK3|=18qou7e6hQG2D=7SemM7wYld2=uI?k5G zi^V!r{QVsjVh2}3Rae)|3P5Rtkh-jR?1ygHG2h1eB}-Xo5q1bi=&U$`HjJmBf$@AJ zNqxGes6nd$#n^8b9Oq1HqYzs?aMM;55NV;8C5J(%P@lvkrIN1OJM7Yl{7+s`$)^0x zZFTnGbdd|IS7IawX_&{LhX5^gs6kXfF=pezKYxE~SY;e){j$m88(bv|;v-17qNQGf z)EQ#MpWY?XXMD~B434uy9+5rs17aKtr+}g>VX9t;&-DMQ_Tcpg^{w$-z^TLmiS4W> zzGSsYpInS}%VDo+Hz0MoeT@1pg^~I)N8E!5nQipK_&*9#W{9sI6rl+J>^w%)M(Pep zoj?+KyBCPYvRR9?T)oK_B9-fpV}HV65uM2WQMSmgOQUs6IRfTN@FDTQp49Ja`E=m{ z+`HgqmXBF25j}PuW1HP;_)dO_%mEnMZoZZeF#yI=dDdFGZFl~p z$YPf^ai*VajqL(tyR#rFz*(7Toj)&=V!s2%JXFh(IEzWx+}jtu>{I9Z;TLbgnk;j6 z=8Cp%2|jqy2ghS}M=e&KdVf?o;OU3T5Jr0M)Fjv7(L;#mo9_k;$xtp>`S4nHTTCXvp=ApC=B`qTGOHlQPoAXr}1F2~e_j zrkdp`;ssPn$vA$v|K;7NKCcAX4s)KXRLeeYd&Se=8w1)rId=VRz2sLF-9+@?@oPf5GPx$#vz5CdhHTG`S*0p}p3N zhM}gRSdBrEor0XWfva19Hs?*J(>UL1Us&!7*X72g7B+oq?42z_Bw3$F0o|)!;J9kD z07bQ@)260(BF!sYFSdhMEe`x8fJX0Pfu&5Fs)*W#Uar~RIJ>p#3FQsHEmKLu2#l}7 z;x7J==YTkXvXf}wstVBWnYdGU~x25ZZ|7FZ4yC?d+0z^9ulYk->)3Z9)$A~1-Lo}fQ-D%_$DGz#t6f2vjNcE)^iOFG8yNYU)N}nhFIC2b{Y+gPCw;9^U}c|D)Ez5=nesu8!3Hz`w2kC z0PcYE0ZiHoUey9nUCmq6`1`iS?TVYKuDH++xOAH`(qZ;pF3{<)GuH%v%QK=@RGr_| zwG7p&1flNYTi|KuRL3KQr>q7(d4WSv+Vw9$u{69Gkr))&0TaR6T8_8!;L;}oy&?u+ zu3W{*Y_pRSFnvUaH{3(<02RiszV;v9G+&UgE z);c|RkB<4;S36vxgHDPg+E*fFIu-_cY5|%+mAB|#YI?eo8%cMqf_g9;EP}sD7;mTs zthl=nn12xAst_u`wgTCS0$eQ&v>7zJD1VFumzSoMjz?OJgXNfu$z*dexL35<)rbQw zOdMEQ4BM5#fN>*Rj%3YkepYV6(`M8DbK;=PX=j)j2Ic?SYXZP=!VmsLLLXl3egAp6 zT;7FpH57J1E9DENv&!aR1#GEx9AybeGh zJrBE)1VF6@iCQNJ#|Id-k@WRJC%mz)SurTiKO?%|1XLj&YXEOPZ`>Pxcxst=$t9?D zntq8lAJBmftL_lwqXqFtJ?$e%_?v!4Hv)9XGb|bfclYntC&C@a1!OQ*Q*=5kC#h1> zI5d)Y#UTz})D2~D;%i^+5|e^K4!sj>wGOIqK&b=$TyZ^#p?ELmmEXITSn}uN2rP)@ ztsy8!8%_y);^l?_Ll>PHG#Dlh1m(}2auH{hH;7v555mr)BgsQV3jsj+=X99Je>?>s z8;}L_1$P3}>vc(r6M;c{fSjFNtX`X+YUClh80Cp9^tBtaRh)b^rDl8Q{PirTo;HRT z{$Ow^CP@YzfyJ+w{tYCOaVs26+Hj;;g`O5M)JOAIKPOmyCV<&9Of* zJ#8E{(FS;kX<=1`4Q)~$J6;&560488RFy!=N6|`yD^hRSZvFiJfCh1Y32qX<4Lj3J zRGWO2+{n4)z3kssu9u`D3K8$C5xXAITJ9zHibDfD*(*r`xJn6D?ZF#l-Ve^5{o-QVhTcB zKtLcJoWR4=5617&C=T7BY=LRZA012}>2F3=m{f_3WdZ2CdyeSO5T`R2yikSbKC%Q4 zh!gOf35eH;I@J(}p#$mxZ@bQ$EuZlenuF_3@wMpow67j*CaK*7Q3FQGJE&nswdFg% zov0yNoWk%yBKB2*$gqe!!+?X$!E7V_q%AzPVBQ2Ia#*M^4OofXyQ@{YR*aDyAjnqm0Xx5{1s5T41^9?I}*V8D* zcC<=7zbK#?Gg64K-Vsy8**kc(+mLVAY)-r&PKyCZ1_(LMr`3U)C6YfpMew;xc}Zfo zH|8im#o~c(H#IQ=W4HiP0X^I{z5+oIB4CKso)9rhhywY}z)iHqEf6Yu?SopOTsC=V zi^P)yW*{I12Dk6B+uM(83T#zA?iTB&8SsZX3vH=Q5eHneJm({UV6Ma!p16a?q2!SQ zRSz9^_jm-M76J9#J|b^@m;sgFJv?mHMNyPGGtZx!92aPJ;brhJxh|ssbd~20W)Gmz zD4S9ZxIj4)fjYwW*y_2pq^r*n9Y&#)&jT@P12LxYWZ^N?8+7d1ZWg7iG7_de?=3I< z1VR+*OYpkgz~{_mG06pk^x=jX;f01k6va~s|2%XD3qZGYL;||0L)-_?;2jZK3o`aaey! zfP>9dH099}A6vWo4u1Gfw`%M`!D;Gc2v>sY6cDT54~YY{d$$aSHQ0434p0IO{cXt* zli>B;2G*deUI2J}-;n?xgTWxiBl%8 zK|OkO{mc<{oRR%p2!|2iq55gp4b+Z`r7c_!&Qat5#tx#u;@$q!0tO_Vv<2*PfCqJ+7oRg`^Df~+5mHXu_ez#F7T{4E9s8Xw zq4_mn9k#Mg3qI-IV*LzSu8DxhSAcA*VE-ltzh^?~QpRT(g%W8% zv1lUbYTX5{d*_ZD*WTW?^GDfIe_)!FM0C0C+`Y>vQJYR5wmY&eEg1#MHTJr9``pXJ z68zNy6bdGqfKR(UqLKFo0yid^petbjHp?#cDZIfmD)qZyb)M|c?N_>vm`d>>PFR3o z#E%Ad?ar+`&9A7D;E*~_Id~j|BwY8LG+2SdBRF#Q)N*bGmX1NMd zMG&A3tO@jx-Pqg~M5D0xcz^#NDZ=1J$RE}1J{+Tev7qr0ptT5)E$9q+j~;&UlEm5* z*nPP8QjJl;POd9h0J8Tud2h4<5bvXs-WmBX8 ztS6V4-5<%JOy{$8^cZXh(O=5L$0Le!0D!>1+%eER33 zRE1hZ`(TNc5g-Vyb-uh{%#&-B0{E>AVjvm2c^I8kmBAYfp}BaN7Hj`PC3z!1 zOa$GDD3~*7(f@cnDqEw4xB^h)5${4h0NJM?-5)uMc#yJx^F{mu3w}S5?yD#OX}~Yx zmkWDud;w<1(-}>IOie{Fb|eD#cHpA!<VWHTpfaCynyekN0bI$FJG zO|Jrr6?at+JeuqSyrKfomD)~m09zM7Mz))=P@nh<9WRCbIgJ|9QMUiWY^@ykKSOZ0 z1nLzX881gDZwkN^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!oQ1lO$-Ku)`yWjnJuilfOO=E$7Y0za` z5_iss6HSVI!mdxfB<`FM7X<*UC*w%F~hqKRM6@EJn}AR2tKmMknBZ+9|Oe**Vl@iLhe{gO#K}=0*$LZIn{>%fVI$ma~Nn%uQ_1; zw(b?b@tf{D9|D>PboKAoz7nJoKby2eKzsFv+^!Z=|M{kd6Uz^1T>mx+;6F6~cgX>O zwby0X!prJ(kM9;F@vS{rrc+x1bjIHeVN7CT1(sXm}& zrU|7pNZJKN)_)Yc20u4U%^OEV};Nnnk_-6_5Q*=o5;n@DEIz224+JAqc3~zvoLb;!ic` zS6m1*K|q84C0~bFAs8sORvLpS*3(&JX&XDmf8qcK2?+y$#ZiA7vvBqAn7^=p8Ds@g z{1+9)1%VF&%@E+zze^~d^4(VTxs?C}v?luUt6yprP_{!rMC0iI0WRG$xc6@U`y@j^ z-)%S1zf?zt(Gb8~{ga}4O|Gz1*5JzTui%RzWEv)ZQ^A+2z=7=s>JVV--$y8p>Qla7 z84d;lU7mXG@Y4W$YlJe>7Hf0CFmug>-*Eq_IJ^w^tS? zPN#dbStVsE)VK~L`zlxnR)s(XG8ssvQ2+h?C=8_z4vzGrYyw3JzjOi)N!&y}U&qn) z`llZ$q0R0Gsb0BFGyZ&CZ&8zF`NRqD7x{cl6*+|;jlb6l49uVT>#M2NCWdJVgb{213V7U>K%a4KUqJ~Nt)1`bx&Udy(ZUm z6pSojnvEo&HPOE>rcB8V@q`&5fnrmaS8qM|-}DNv|LE}J!=2TaMEIxqlKwNu0KTY5 z3L3mXb2Dye@Pi~kvGt!rEAQ{m_V;4T+HH_pc4%k_KhO3KD}7mTj83wToo^)?V0z4Ja z5(5AW@wQS^bT>tS&jEP+Z}w5BmPP{|%%bYagvm_FQCl1Xkg5?lQdZXS7~l^Bn8!%G zD>0eCV`M~9HWNq#2Vfve;^cmt1pIa9d=vlYcom_2^iZO40^kq`GD#HGp->AuNtWrz ztb-_iYZ9!0P7rV_B>}dQ(E1Svn>2Q2TtH(65D17o2!tVkg&Yli=&y;d$@rC23iWTx z>s3+;`9^dB*%}E=Wlb9aQb-2k>YwmL!UjnFj?MOENLiTyjwp0D=(}wM)Kh>j0&w(? zB2%b+p?Ti;TMmJYUBqfY0Bf#)3ZN7TJ)nb73|BG^3BZY10U%>vP_>8gU4hP6utSD> zcd>gDLVy$!0ZNT&aov!MKRpgcM$C2C3g-U`WJ&*IuvrM0Bseh^iqsb(Su}T4zTqze7%8JFVz){SD!QSkD}GsSX`ulCy)~I?lU(;XHv-f} zh+5@&r5&3F13|69`|<80`bTLCy+ZNa!pI%yAS7AGN4(^;brdL){#Cc>H7LOqN1>#a zRGHVmUIn=F2gx%)z5X4m_srjU(}V+9fB+N`h?Dy#`&S$}Y2Ji5q60|t&hO!Ay^9j5 z-mDZZklR1WREV~HKS^;bCbylXU?WAz1q5ZWpyAp9fUW-_$mMcryXA6%2OuNdfZ%{A z6d;lQm#;yp268#lis|U~&kf){#E+`tQ7UW{pD$m(e%yiQh zYv2UQQ#R)@pBGSC)K2RNn|_>43H^ge-$?sC3dI0Qj{pH@#`GXjZVzVhS^KL4rnA4e6pt(cjNYO2`KI zk%Is?3}_#~p`8x`UCY7ZYT=9cNDB##Gxq<;byp=YxgZ4wYjWyJAmJZrD%qDg8r zR`)Jbr0-#QIJ4}6ld=%WAl=1*!r`JKh1#!>6r8&$^K z0&y|`ut!5}Q#XD0t*6r>pY;&X)FvcvtVZdDtmwZqeDiA9z8yAW13(09-}}T9;2N6En31@55x!w#9+)>>m=_=`|%~!!@!3homva*O4lu-5iahkHLlfAuY^YdG_ zz;^+zxn}FL2!Vd+)6*fg(Nc9h_yw4o8^TLC?>w~F-MiuXKG*`MkM=EY5+U?-q)dPb zt5)B;@(%Fv+Zh#FNVPj^^ri(X$I>+;bt_lKjXky^OTcn6$%9j@tj}kEk@N<9& z6<3$Yf$@nOt+rh`cXu{5O@?2tpv#Lb+&f_W(J1_iP3hy^vX-9 z{-;L<`pP{H>x@L90L@nHKO8#_upR(ofnOYe*$Zb!Mxgo{KpAs`?u$WklL~;K02#HO zB68(TcAkpb#ojIGe{N}=#n0j|am zdjj{Baxb(w3DiUaxQsk@0b_W`7x>*^%8mAwOZ%K!JGTc;*p%+?r3+X|_wowQeztxX zV4#nJ1I3J|ARhL730~c@YWXkV@+$yl5mzIbH7~CDDSWt8;;BM{0PvKD37RZ}p32#- z7B!E7JAR}Naw?rHC3FI)!S zP(^|G3{(PXgr2_Y?YF~t{14MKNCO1t_BO39xxYx;uY0#Ul`JO=L+aiRk3H7oQUIM% z$u_|kIr)Ab0^)TnreI6`SbJV_DIg=xn~Ida@$ZKqS2s>u*h=+fJ(dp;y_p-y@{$q; zrYT7(2;Z=ENg;w{K zmFthphZ(a0d>TP{2)16;D5S5~!EeNNTvW8CD=-h&E5gi+4mwwQ<`8Qxz?an{zsDi) zJk6exKJfk9{>`KC1Y8Jjs%ju;WQj02Aq0RZz6PTJso5}6R!Qm32}FcngocvQ7BqV|a)Vw97_v&UPQuIa z9D)^^zIb7vGYc(BTgWtJlK!|oYTlDtSor+xa&hf>cLq>72MavDsl^%!{ttUBWcnko zPrw$%{4P9JeQe8ZXg9s54we7-RFN@Z_nrHJrZIr~#Zcj!f8WoCTZI#-wJw7+n2>`8 zXg0a@u|*%MbU@T7N=NsSkHs36GwyQ+S`n1D_Sg5yd`uyHEJ)Kd1udOIito~gdyz^X zq1bs46T>^hhNO}JfMUDktfRhXd;0r00#ZiP0p$9DfI8~j8;Tmq$HO*WjIbym1QF6i zvP%1IxHFt<7z&L7#l|07u`kG({&k3h=Nt3$^NWhI{R#XRA^>Jzg~Dg?>%2GBO-l#> zikMHQQ?=FcfX_ltU!RjW2k)x+o%J*;5VmM~{{Zk~w z^4aahy3;Lo1_Q39T+h=_Kk~?4_@h5Uhcfs+N(?|N)%`L70QkY1?Xgp-#l>>jOPm{# z9rnnB5kiga$|$LpfpSG}XO7M}E77}P0S}t58rL>3%7#CKTB;HCO=+K3_iij#>gDEDNu0%Xgl`Yk9tB+w(dc zJeWxGBZsTc0ON(ByRVbl#1;G zOa&H6`2ITmJ8WVH6^72i+JtlYvkAfnU>H~-9xz>~W`^DB2V8MBC ziw>XSc}m{UB?)TJ!0Zly&*80FFg-FHUr#D*;3wGnoIMlrU_!Hk<%S!u90kmC6RKkH zj|o6kn3Eoy8Qe_$W*`nU`E%ggz|M^731HDVg42Yd2OiB0t<1VB%lMw(pFsVa%A(LB z5`Yfg(1O)Aq@d#cDZ`ECCZ2s3-`ss#7X(m^UIo}YeXK4j%~(e5nd8T~;2l&E9+{4> zCRXC!BY#cmT5yKnR2yyn%-3mojx?%6*nvo1bVG`PT(T| z{#*2HHM31#F(+aWiUIky6T1$a%)?4kKohoyrSR)mwfkWAOgtn+1x(H zE4GRPcEE_B0Dw5_l+j# zW({3_h1%%~S3fsS-Hc#Wj`|HRch~EV60wm>0CYlb{}r<9ob5jTul>-61zKCQ~bz>2Y`ROhxnFyRD(r|yPyS=TuO^6RsrRr81fOhf=4 z`l&bG_sttD>f-sk?t;52_ub9|fW1~{swy6THw7sxSI*uAC0_w3K>&#K$ns(?10%VL z-AJ7^)ATLvXSKqy=@n2+9yV6?0a_`K+lobTrtK~P;13pLQZMS*thXvF7#W~j;ty=# z1$_@}g%xNZ&{%X92&mcM6K4)lT|EUXa3=t#zV+<04{(X65Mi`>0e1jqvaimI3Ti5A_Y&C0Zt_ zAML+pHY~qUe;dVMHxY-{>~}Zwu+5s7DBAW%J#n)W0ig7nKXtRhF3PCr6&q9(?@=*e z|HO?&0Sm5wasZS9n6OasAyH~c0o)0cIRZ|>r5J7fkn6vUC-6If2zsM0A3BBzIL}7F zpTJj;({A5E0U+rg31GNGRZ-M;;FfRUO&@;s%mTo2%uNSO&qyX|8x~x}b z?SQcQiEReC0ir?tv)9qT(9^;KMho+mhBTw-*A?nj*GVoOWl$V|?@jZD8@^{Q+WM~| zK&YI65rAnrx@)YdI4neGFINp?ZUJ*a@&mb4f4?%%$BJ0KarCtUld=R<2U#v3W|K%v>t-43Z3 zLShy5LUF(%Hl(LHK5EPL&l#X%XB}+`z$UvI$aCm3@R-~@{QL%Zi>`b@7hDs_H>2o{ zQ-HY-Q-NFX{+_DdNbGr@Z~!}Y#JB&|wgceh{uz2&sFW-Kv<3u-8i_DXlg73<0oza8 zHjRh1hFn77i6BP+K|n|Igzdrzw%`1TDuv39{wuV;i&t{<)eMTh9bzRl)@Y02mL*&CE;Vp`9HsepkV9YztT+0mBIq4z%hW2o98_W z)mvcdFP=J0u7vB~Id?4nze#gfiUPPzgZ>2dA07l+f*h$2tESf)Du5x+IBUWOSho5N zyA&{M#{v4yM*d^Gnc{+-gxWsv|34|n4K-MPO^ zK#tiQ<=kig2G0s)G>xQIZ2fBDJfWp5DPsOnF7igjXdb*=kU1a*5B-=BgOlXMyT04=(v00}RIS7Uy+R@yH{7Us7 zzFK$_2sBwhKP)B+AV83Sm|ogzzwlvpG1e~B@2>9IpnrGiImy5HyiM5tp+YB%H0$cs z#TG%Ejp67(# zgv}lr3)6oc0^HRL0Q|F*4R>&-Zo&9g>&4f_JW@T{o9DX`AQ0%qE;bE0TL6f->j6Yr z>z4WV3vdipO#bvQ?Z#*Dc+0#yq+1LPviv*H@CVqTZY>e~XVo3a^6x~}nzNgGJPRW0 zzvcST#a2Un=MVs*Z5kDAt>XX!90&;IJClGHUAwLNwHBiPx*enZdrQTL5(+%gP;r0tr2n~nbR&5Bfwv0JfSH?!7}doi}o*sq)VLwhl~ zy9nJnRH?UF|4whk_9W}yIyQ9g*udOP4U)6jXuJIV`U4=z4Up@%dxZ(u>HB(*Sm$NJ zislIfF0lLFW8TiO{tFxLTElYd{;(g-(304pjQaJ~KzC@} zYRlUWlre9Ql@5W)nC}U!uI-B1yZ$9&s*G`2jPD!kpDsIj#)CkP0I^Z6)|J-89_Ztf zej)USbzU0Nd~d0Tv@WShY|<`Xx@1+R1@4b&_6K*o*4ec=TLp7D!XmXZJ6ptMLmvaN zE?7~B;;*c0uJ%!@O9NfYWIhko6_DJ+{ocfuytXq(0`_+C%<*}Q0Xw7WcT~<`okx+K z_Kw{TJ}h;2^^Aq~0P8~WK5+YCu68QWLA;~6jxUg1ta`WW3r!eHX5-K%F@R?OAAQdK z?$vkf88yu#5$0#e4*SJfACq~#5O9t0XL)D=?P;1T^qCI2RJdzbrshJbgRW!ReZ@M2 zi^zia!MM*_6R!hsuj&PX-3COi%C#V#Vn-Fsb^V&xAzBwvrQ`FxD8M}n%PVFnHg{@j zQFCuq_;0QA%^jH*h)n&r$?~N$#Q;3w#L!dYR%ZVJ&kx1!VIOx1R@CY&CaUE!M}pTc zyo*>zet`J`9`N6wcpP6Vy;h9RPt5W8LJ;Rs0sk=;$Xy}_r_Mg&4wKk2_)>8!X#g;f zWi?N{rn#!pV%~voV_W8AYW^~ShlVIdqG^7M&>Wcp0orAow3uuy2w!t=(z$Ub2iCNB zeXQ{{ydBS?*@(AqThi)XPCUuXOILz{*%>PV1qvCgv%rJ-{6BM(fhH(wD_%Sp&%7js z)iF{>k=Ao+*wJiVH)&7km2@aBSeo*MtLhIEXMnm4gzrwwJg?XRa(!h)+a$P8Axy8` zv9kEtwrWPzk|;#>@0MXQnJSDV!>P?Vy#QF)o_RE2Nv>5 z@#ZrU0|e~eV_VIuyT$2?odpKWTiV{i5!#n(oD8lj5ZSia@89o|Hz#W~ud3?$ywBUj zpeK!aS-aioPm%b$Vb4_j)YnnJ=EQ%#UcGaDT_)42sa{ZG|N6nA@Pcjy9K(P!;RNhL zOC9a7jU6zeTmIo8kT31V7gcoHRDz2}6LyUnwqsBmcvdG`@y(`IPzPd3MuvmyCbx+H3t;K}3l} z^&Z2Lur(_Ef$?{bHx{y3TXy}B>KYgd`G^Y7A&wZz+{A@<7GT%0uJ5Z((x-6;q~mM+ z5g=REnG5w*tKExbn;3hgdxcA(H*o9u_tD#(do-3WQI8JJ<_1o`JPvDK+Y@UPijP^T zpqM3lP+5orc*h&dPs+VYRgOl|{D8 z*@EZdpE`$)@6p!tb-A7O`68DanJ?J2YgGt}zJI#>Kqr;J7Uy6|?i%LBr`jp%gq<)6 zY$wHOD+bRW95{d7C2QcdQMfG5IqeDvJ^xwIIF+q|_bRXg-hh+*2j^+=?}Gncg)yF0 z4#Pr;pXU%QH*-XoUBGg+HkBn|>G#|G1V8m6Lv5YCE_>V+-ZfuedZ%B611xqtsfEO$ zyd$~jq<0MyffYaBDm2b<#6XD_E6%(Pr{Bi^Mgi{qNo_r|=^~QaSiX4c$b_)7p_$w(AA*+!+px@y(cLxk zCfQIcVE-0i6*`h{e0V}*9Z-oIp74b%NL~4!MYN+=oiAcXl;Z00?x-+_RC1GnLKle0 z(*o6qfprJh9n7KSuZ59c=HPGs_2fmrkiI=$D?zM#@vRZS2>>!Eco;5t>;7%;Irt*5 zJ08^H;mHmsrHO(7z~K-5Ex-rAv$~|lyfSgKC1GZ~WBGaoS+RuOgwy$PCqaz=c_ff;vi4n40N@UQPO%%{;B^QEDXphN^~21 z319C)>YpKXjUF9cRAzH?2nb774o1(}u#H(ImZ#l?KuQ4|g5TyFeCL*%%E=kJu<<>C z;e|GOd7=4IT1jL9^eKLP=gyq~mqPZrEG(YJ|1F*m@H+PP@;HNcJQaEv zX1)ZU-L`Xz)> zB@6$46)hP34*F^;AWZv6g$GU~p#N|NP)y3NwFltfc0Btv zSx|a%^8MqMr!4vq+LE0}cdU8xLyT(|l zRKlayj>xpx&)r{z?|2#y?@ERzn>PJ?e8CRP8igB zv{KFkd*Bn@Vc2>vXPtsmN8Y&t{uJqZ zCx#SoZ~er!2n-9_t*F()T7Vx^fBf4S_2iFA0~@T_N<~%GdRt(i=35eq6Kd^}6i_X^ zSt?C{vCMezjx}KxrbRU|$(rC5AmZ6H_IbMyKoL8Sih%Z0{~$!08WTb)kS7ng z;m2aN*_jtW8aRwjyBHXS;Fnh{MycBGGNulViLB^Hyta^n2Oo6%RI7{2+O|6i678-e z=VWIXz_&5OE}9<|eX0qbFD(|>meaPllO)a|ubp@LRIeq#0FEHi^CW!rrkmieuip<9 zeg|tOHNOo+T|80KG)Fhf{tLZ6vFBkU1+T%>-JQ@D9a0pC+LVEl%ZFgYzz?L=he6c> z&dGkbrTs)hVCeYiv8{no`ZwjQ#)EF3b}$R#L6J!JLJda$VDzxtS$vG?0Z&sA?_A&Q zI2L%9(3#~ehB<9GfKMg}js?wroZuZZ|OiNn3 z%BmTLaR=>3cZbjBW3TI(M_*DX3@akn!i=+KJ70l=NCN1MM7@OR(C5C7FOVpLbtI$KYgcVc<;-@%tL6nJDeOizy> zWv4q%UsM^>|K&HqkspBhFuvVwJAI-$O$Ox_O4DdY<1V-g;A-0G=__A3 zfIgw~rx7&hqd%u%4nF%?7@0o!x~?AVJb|qt_n&+c^-tCN953K#T~x;=tlY>j%+lKn zNBd7ww$)9oZ32{GcV~n_-R{##tpi|k26&i5iXZTBKZ?tf4ko*Z{@VaRw4VTs!u|8` z7@h4pzQxD5)$fH2|SF)A)3*fpsYGTnR--xlCLh?tB0LhOc2N zAXyT7ndV1yV-;)Q@;~@Gya6N2u6yRXrw(8Y2we#r|L0J`fOr*r5xMY_TC*HKQgIQq zF<3rprVOO1i{V9Hwd-cIjpgO3F+O4eqa&}MhN*6suPBJPZx_6y?;tWjF{uGzxs5OT zdw_>PlinwZXK1@R?Q56A*B9UsSau!XI`B2t6=}0^c$1F<41bYk7T({X=Lh!@KtTQD z>v>NQ?~Out!)+SWR`Uwy=-2-%Kx&}7u^WwC6xwQ`0PE0?rqjty2x#d7N~O=h?|cmr z06(PKGnJ&fg7JX^G%50t>);u31Z(c>io>)?_~nn#S8v*rhMjM9zwpG=)FB!JN(}>? zIJ&xS;HCo?MFq|@G5?*@3%v_nio-;tH~|Ijmfk)N3AQ#%#i}5E8{OFpU&Z%d>wXHt z8sx)=;2+`3QybvGYtW?&z&5t&ZjjTrpSbJdEGnIKN+ayBSY7d-$V1$B!3_I~ z3fj|`C33=TpLyqh$3NAB$z1=gZQFM2fS2dyk`ec_sj1gfG!HtVc65q%Gqw_vR$APB zcqGBeAki2AGqv>l00XW>7y#6gdhsC4S_dH!2A~<(7raFq&?du*OdB79nObrrI|joi zCX&+_#S&8hXA=O3fHVfhvs4vG1_H=B>wf0HkM2SX=@Li|0Al5(T1hP>r?4b7w(Qhc zvH*x;6l~p^b?Yu)o1DP+F;yMwViH6B^>y|TUsJrZB%ioW`q}NXr*-%3TK@R0szQQ& ztS0+lGh?vSk_`g$9^4)ff0N5RP*gG56|R?d&p9(q^$d)Gx@51vNelpWMz6Ks`f;f( zwWYSymfBKVYD;aYEw!b#)Xqv{ze(bfuLR1!_5k>eDgvoX2ERmiOKqtwwWYSymfBKV zYTY-flYpc1%|6eDIMB}Jt2-COwFf}N$JUdKU6;h26>*UnfF*m*C2{ABxc~oMz>>Ix n01$rW?zVhi5_hhMbK3s{vz>C2)CTa700000NkvXXu0mjfkp(WY literal 0 HcmV?d00001 diff --git a/scripts/pack-missiles.ts b/scripts/pack-missiles.ts new file mode 100644 index 0000000..270c88e --- /dev/null +++ b/scripts/pack-missiles.ts @@ -0,0 +1,213 @@ +/** + * Offline Missile Asset & Data Baking Script. + * + * Extracts authentic Diablo II v1.13c missile DCC sprites from d2data.mpq: + * - Firebolt.dcc (16 directions, 5 frames per direction) + * - Fireball.dcc (16 directions, 5 frames per direction) + * - FireArrowExplode2.dcc (1 direction, 12 frames) + * + * Bakes them into indexed-color PNG atlases and JSON metadata under: + * - public/missiles/ + * - samples/d2-packs/missiles/ + * + * And generates typed metadata in src/render/missiles-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 MissileFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type MissileFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface MissileMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly framesPerDirection: number + readonly animSpeed: number + readonly groups: readonly (readonly MissileFrameTuple[])[] +} + +const MISSILE_TARGETS = [ + { name: 'firebolt', celFile: 'Firebolt', animSpeed: 16 }, + { name: 'fireball', celFile: 'Fireball', animSpeed: 16 }, + { name: 'fireexplode', celFile: 'FireArrowExplode2', animSpeed: 16 }, +] as const + +export async function bakeMissiles(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', 'missiles') + const packOutDir = join(projectRoot, 'samples', 'd2-packs', 'missiles') + mkdirSync(publicOutDir, { recursive: true }) + mkdirSync(packOutDir, { recursive: true }) + + const metaRecord: Record = {} + + for (const target of MISSILE_TARGETS) { + const f = mpq.find(`data/global/missiles/${target.celFile}.dcc`) + if (!f) throw new Error(`Missile DCC not found: data/global/missiles/${target.celFile}.dcc`) + + const dcc = decodeDcc(await mpq.read(f)) + 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: MissileMeta = { + name: target.name, + celFile: target.celFile, + width: packed.width, + height: packed.height, + directions: dcc.directions.length, + framesPerDirection: dcc.directions[0]?.frames.length ?? 0, + animSpeed: target.animSpeed, + groups: packed.groups, + } + + metaRecord[target.name] = meta + + // Write PNG and JSON to public/missiles/ and samples/d2-packs/missiles/ + const jsonStr = JSON.stringify(meta, null, 2) + writeFileSync(join(publicOutDir, `${target.name}.png`), packed.png) + writeFileSync(join(publicOutDir, `${target.name}.json`), jsonStr, 'utf-8') + writeFileSync(join(packOutDir, `${target.name}.png`), packed.png) + writeFileSync(join(packOutDir, `${target.name}.json`), jsonStr, 'utf-8') + + console.log(`[Missile Packer] Baked ${target.name} (${target.celFile}.dcc): ${packed.width}x${packed.height}, ${packed.png.byteLength} bytes PNG`) + } + + // Generate src/render/missiles-meta.ts + const metaTsContent = `/** + * Authentic Diablo II v1.13c Missile Atlas Metadata. + * Auto-generated by scripts/pack-missiles.ts. + * Enforces Zero Runtime MPQ/DLL Architectural Invariant. + */ + +export interface MissileFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type MissileFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface MissileMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly framesPerDirection: number + readonly animSpeed: number + readonly groups: readonly (readonly MissileFrameTuple[])[] +} + +/** + * The engine's 64-direction space -> DCC direction tables. + * Ported from OpenDiablo2 d2fileformats/d2dcc/dcc_dir_lookup.go (Dir64ToDcc). + */ +const DIR64_TO_DCC_16: readonly number[] = [ + 4, 4, 8, 8, 8, 8, 0, 0, 0, 0, 9, 9, 9, 9, 5, 5, + 5, 5, 10, 10, 10, 10, 1, 1, 1, 1, 11, 11, 11, 11, 6, 6, + 6, 6, 12, 12, 12, 12, 2, 2, 2, 2, 13, 13, 13, 13, 7, 7, + 7, 7, 14, 14, 14, 14, 3, 3, 3, 3, 15, 15, 15, 15, 4, 4, +] + +/** + * Calculate DCC direction index for a missile based on 2D velocity vector. + * + * In Diablo II's 64-direction space: + * - South (0, +y) is dir 0 + * - West (-x, 0) is dir 16 + * - North (0, -y) is dir 32 + * - East (+x, 0) is dir 48 + */ +export function velocityToDccDirection(vx: number, vy: number, directions = 16): number { + if (directions <= 1) return 0 + const angle = Math.atan2(vy, vx) // -PI to PI + // Map angle so that South (PI/2) is 0, turning clockwise + const fraction = (angle - Math.PI / 2) / (2 * Math.PI) + const dir64 = Math.round((((fraction % 1) + 1) % 1) * 64) % 64 + if (directions === 16) { + return DIR64_TO_DCC_16[dir64] ?? 0 + } + return 0 +} + +export const FIREBOLT_META: MissileMeta = ${JSON.stringify(metaRecord['firebolt'], null, 2)} + +export const FIREBALL_META: MissileMeta = ${JSON.stringify(metaRecord['fireball'], null, 2)} + +export const FIREEXPLODE_META: MissileMeta = ${JSON.stringify(metaRecord['fireexplode'], null, 2)} + +export const MISSILE_METAS: Readonly> = { + firebolt: FIREBOLT_META, + fireball: FIREBALL_META, + fireexplode: FIREEXPLODE_META, +} +` + const metaTsPath = join(projectRoot, 'src', 'render', 'missiles-meta.ts') + writeFileSync(metaTsPath, metaTsContent, 'utf-8') + console.log(`[Missile Packer] Wrote ${metaTsPath}`) + + return metaRecord +} + +// Execute standalone if called from CLI +if (process.argv[1]?.endsWith('pack-missiles.ts')) { + bakeMissiles().catch((err: unknown) => { + console.error('Bake missiles failed:', err) + process.exit(1) + }) +} diff --git a/src/render/missiles-meta.ts b/src/render/missiles-meta.ts new file mode 100644 index 0000000..824506d --- /dev/null +++ b/src/render/missiles-meta.ts @@ -0,0 +1,1550 @@ +/** + * Authentic Diablo II v1.13c Missile Atlas Metadata. + * Auto-generated by scripts/pack-missiles.ts. + * Enforces Zero Runtime MPQ/DLL Architectural Invariant. + */ + +export interface MissileFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export type MissileFrameTuple = readonly [ + x: number, + y: number, + width: number, + height: number, + anchorX: number, + anchorY: number, +] + +export interface MissileMeta { + readonly name: string + readonly celFile: string + readonly width: number + readonly height: number + readonly directions: number + readonly framesPerDirection: number + readonly animSpeed: number + readonly groups: readonly (readonly MissileFrameTuple[])[] +} + +/** + * The engine's 64-direction space -> DCC direction tables. + * Ported from OpenDiablo2 d2fileformats/d2dcc/dcc_dir_lookup.go (Dir64ToDcc). + */ +const DIR64_TO_DCC_16: readonly number[] = [ + 4, 4, 8, 8, 8, 8, 0, 0, 0, 0, 9, 9, 9, 9, 5, 5, + 5, 5, 10, 10, 10, 10, 1, 1, 1, 1, 11, 11, 11, 11, 6, 6, + 6, 6, 12, 12, 12, 12, 2, 2, 2, 2, 13, 13, 13, 13, 7, 7, + 7, 7, 14, 14, 14, 14, 3, 3, 3, 3, 15, 15, 15, 15, 4, 4, +] + +/** + * Calculate DCC direction index for a missile based on 2D velocity vector. + * + * In Diablo II's 64-direction space: + * - South (0, +y) is dir 0 + * - West (-x, 0) is dir 16 + * - North (0, -y) is dir 32 + * - East (+x, 0) is dir 48 + */ +export function velocityToDccDirection(vx: number, vy: number, directions = 16): number { + if (directions <= 1) return 0 + const angle = Math.atan2(vy, vx) // -PI to PI + // Map angle so that South (PI/2) is 0, turning clockwise + const fraction = (angle - Math.PI / 2) / (2 * Math.PI) + const dir64 = Math.round((((fraction % 1) + 1) % 1) * 64) % 64 + if (directions === 16) { + return DIR64_TO_DCC_16[dir64] ?? 0 + } + return 0 +} + +export const FIREBOLT_META: MissileMeta = { + "name": "firebolt", + "celFile": "Firebolt", + "width": 512, + "height": 439, + "directions": 16, + "framesPerDirection": 5, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 55, + 39, + -12, + -71 + ], + [ + 56, + 0, + 55, + 39, + -12, + -71 + ], + [ + 112, + 0, + 55, + 39, + -12, + -71 + ], + [ + 168, + 0, + 55, + 39, + -12, + -71 + ], + [ + 224, + 0, + 55, + 39, + -12, + -71 + ] + ], + [ + [ + 280, + 0, + 63, + 41, + -12, + -55 + ], + [ + 344, + 0, + 63, + 41, + -12, + -55 + ], + [ + 408, + 0, + 63, + 41, + -12, + -55 + ], + [ + 0, + 42, + 63, + 41, + -12, + -55 + ], + [ + 64, + 42, + 63, + 41, + -12, + -55 + ] + ], + [ + [ + 128, + 42, + 62, + 41, + -49, + -56 + ], + [ + 191, + 42, + 62, + 41, + -49, + -56 + ], + [ + 254, + 42, + 62, + 41, + -49, + -56 + ], + [ + 317, + 42, + 62, + 41, + -49, + -56 + ], + [ + 380, + 42, + 62, + 41, + -49, + -56 + ] + ], + [ + [ + 443, + 42, + 56, + 40, + -44, + -71 + ], + [ + 0, + 84, + 56, + 40, + -44, + -71 + ], + [ + 57, + 84, + 56, + 40, + -44, + -71 + ], + [ + 114, + 84, + 56, + 40, + -44, + -71 + ], + [ + 171, + 84, + 56, + 40, + -44, + -71 + ] + ], + [ + [ + 228, + 84, + 30, + 45, + -15, + -76 + ], + [ + 259, + 84, + 30, + 45, + -15, + -76 + ], + [ + 290, + 84, + 30, + 45, + -15, + -76 + ], + [ + 321, + 84, + 30, + 45, + -15, + -76 + ], + [ + 352, + 84, + 30, + 45, + -15, + -76 + ] + ], + [ + [ + 383, + 84, + 71, + 30, + -13, + -58 + ], + [ + 0, + 130, + 71, + 30, + -13, + -58 + ], + [ + 72, + 130, + 71, + 30, + -13, + -58 + ], + [ + 144, + 130, + 71, + 30, + -13, + -58 + ], + [ + 216, + 130, + 71, + 30, + -13, + -58 + ] + ], + [ + [ + 288, + 130, + 32, + 46, + -15, + -56 + ], + [ + 321, + 130, + 32, + 46, + -15, + -56 + ], + [ + 354, + 130, + 32, + 46, + -15, + -56 + ], + [ + 387, + 130, + 32, + 46, + -15, + -56 + ], + [ + 420, + 130, + 32, + 46, + -15, + -56 + ] + ], + [ + [ + 0, + 177, + 71, + 28, + -57, + -57 + ], + [ + 72, + 177, + 71, + 28, + -57, + -57 + ], + [ + 144, + 177, + 71, + 28, + -57, + -57 + ], + [ + 216, + 177, + 71, + 28, + -57, + -57 + ], + [ + 288, + 177, + 71, + 28, + -57, + -57 + ] + ], + [ + [ + 360, + 177, + 42, + 44, + -12, + -75 + ], + [ + 403, + 177, + 42, + 44, + -12, + -75 + ], + [ + 446, + 177, + 42, + 44, + -12, + -75 + ], + [ + 0, + 222, + 42, + 44, + -12, + -75 + ], + [ + 43, + 222, + 42, + 44, + -12, + -75 + ] + ], + [ + [ + 86, + 222, + 68, + 33, + -14, + -65 + ], + [ + 155, + 222, + 68, + 33, + -14, + -65 + ], + [ + 224, + 222, + 68, + 33, + -14, + -65 + ], + [ + 293, + 222, + 68, + 33, + -14, + -65 + ], + [ + 362, + 222, + 68, + 33, + -14, + -65 + ] + ], + [ + [ + 431, + 222, + 69, + 32, + -12, + -56 + ], + [ + 0, + 267, + 69, + 32, + -12, + -56 + ], + [ + 70, + 267, + 69, + 32, + -12, + -56 + ], + [ + 140, + 267, + 69, + 32, + -12, + -56 + ], + [ + 210, + 267, + 69, + 32, + -12, + -56 + ] + ], + [ + [ + 280, + 267, + 49, + 45, + -12, + -55 + ], + [ + 330, + 267, + 49, + 45, + -12, + -55 + ], + [ + 380, + 267, + 49, + 45, + -12, + -55 + ], + [ + 430, + 267, + 49, + 45, + -12, + -55 + ], + [ + 0, + 313, + 49, + 45, + -12, + -55 + ] + ], + [ + [ + 50, + 313, + 47, + 45, + -35, + -55 + ], + [ + 98, + 313, + 47, + 45, + -35, + -55 + ], + [ + 146, + 313, + 47, + 45, + -35, + -55 + ], + [ + 194, + 313, + 47, + 45, + -35, + -55 + ], + [ + 242, + 313, + 47, + 45, + -35, + -55 + ] + ], + [ + [ + 290, + 313, + 71, + 36, + -58, + -56 + ], + [ + 362, + 313, + 71, + 36, + -58, + -56 + ], + [ + 434, + 313, + 71, + 36, + -58, + -56 + ], + [ + 0, + 359, + 71, + 36, + -58, + -56 + ], + [ + 72, + 359, + 71, + 36, + -58, + -56 + ] + ], + [ + [ + 144, + 359, + 67, + 35, + -54, + -65 + ], + [ + 212, + 359, + 67, + 35, + -54, + -65 + ], + [ + 280, + 359, + 67, + 35, + -54, + -65 + ], + [ + 348, + 359, + 67, + 35, + -54, + -65 + ], + [ + 416, + 359, + 67, + 35, + -54, + -65 + ] + ], + [ + [ + 0, + 396, + 44, + 43, + -32, + -74 + ], + [ + 45, + 396, + 44, + 43, + -32, + -74 + ], + [ + 90, + 396, + 44, + 43, + -32, + -74 + ], + [ + 135, + 396, + 44, + 43, + -32, + -74 + ], + [ + 180, + 396, + 44, + 43, + -32, + -74 + ] + ] + ] +} + +export const FIREBALL_META: MissileMeta = { + "name": "fireball", + "celFile": "Fireball", + "width": 1024, + "height": 335, + "directions": 16, + "framesPerDirection": 5, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 75, + 48, + -19, + -74 + ], + [ + 76, + 0, + 75, + 48, + -19, + -74 + ], + [ + 152, + 0, + 75, + 48, + -19, + -74 + ], + [ + 228, + 0, + 75, + 48, + -19, + -74 + ], + [ + 304, + 0, + 75, + 48, + -19, + -74 + ] + ], + [ + [ + 380, + 0, + 79, + 52, + -19, + -62 + ], + [ + 460, + 0, + 79, + 52, + -19, + -62 + ], + [ + 540, + 0, + 79, + 52, + -19, + -62 + ], + [ + 620, + 0, + 79, + 52, + -19, + -62 + ], + [ + 700, + 0, + 79, + 52, + -19, + -62 + ] + ], + [ + [ + 780, + 0, + 81, + 52, + -63, + -61 + ], + [ + 862, + 0, + 81, + 52, + -63, + -61 + ], + [ + 0, + 53, + 81, + 52, + -63, + -61 + ], + [ + 82, + 53, + 81, + 52, + -63, + -61 + ], + [ + 164, + 53, + 81, + 52, + -63, + -61 + ] + ], + [ + [ + 246, + 53, + 74, + 48, + -55, + -74 + ], + [ + 321, + 53, + 74, + 48, + -55, + -74 + ], + [ + 396, + 53, + 74, + 48, + -55, + -74 + ], + [ + 471, + 53, + 74, + 48, + -55, + -74 + ], + [ + 546, + 53, + 74, + 48, + -55, + -74 + ] + ], + [ + [ + 621, + 53, + 34, + 55, + -17, + -81 + ], + [ + 656, + 53, + 34, + 55, + -17, + -81 + ], + [ + 691, + 53, + 34, + 55, + -17, + -81 + ], + [ + 726, + 53, + 34, + 55, + -17, + -81 + ], + [ + 761, + 53, + 34, + 55, + -17, + -81 + ] + ], + [ + [ + 796, + 53, + 94, + 40, + -20, + -65 + ], + [ + 891, + 53, + 94, + 40, + -20, + -65 + ], + [ + 0, + 109, + 94, + 40, + -20, + -65 + ], + [ + 95, + 109, + 94, + 40, + -20, + -65 + ], + [ + 190, + 109, + 94, + 40, + -20, + -65 + ] + ], + [ + [ + 285, + 109, + 40, + 61, + -20, + -63 + ], + [ + 326, + 109, + 40, + 61, + -20, + -63 + ], + [ + 367, + 109, + 40, + 61, + -20, + -63 + ], + [ + 408, + 109, + 40, + 61, + -20, + -63 + ], + [ + 449, + 109, + 40, + 61, + -20, + -63 + ] + ], + [ + [ + 490, + 109, + 91, + 37, + -72, + -63 + ], + [ + 582, + 109, + 91, + 37, + -72, + -63 + ], + [ + 674, + 109, + 91, + 37, + -72, + -63 + ], + [ + 766, + 109, + 91, + 37, + -72, + -63 + ], + [ + 858, + 109, + 91, + 37, + -72, + -63 + ] + ], + [ + [ + 950, + 109, + 53, + 53, + -17, + -79 + ], + [ + 0, + 171, + 53, + 53, + -17, + -79 + ], + [ + 54, + 171, + 53, + 53, + -17, + -79 + ], + [ + 108, + 171, + 53, + 53, + -17, + -79 + ], + [ + 162, + 171, + 53, + 53, + -17, + -79 + ] + ], + [ + [ + 216, + 171, + 88, + 41, + -19, + -68 + ], + [ + 305, + 171, + 88, + 41, + -19, + -68 + ], + [ + 394, + 171, + 88, + 41, + -19, + -68 + ], + [ + 483, + 171, + 88, + 41, + -19, + -68 + ], + [ + 572, + 171, + 88, + 41, + -19, + -68 + ] + ], + [ + [ + 661, + 171, + 89, + 45, + -19, + -62 + ], + [ + 751, + 171, + 89, + 45, + -19, + -62 + ], + [ + 841, + 171, + 89, + 45, + -19, + -62 + ], + [ + 931, + 171, + 89, + 45, + -19, + -62 + ], + [ + 0, + 225, + 89, + 45, + -19, + -62 + ] + ], + [ + [ + 90, + 225, + 59, + 57, + -17, + -62 + ], + [ + 150, + 225, + 59, + 57, + -17, + -62 + ], + [ + 210, + 225, + 59, + 57, + -17, + -62 + ], + [ + 270, + 225, + 59, + 57, + -17, + -62 + ], + [ + 330, + 225, + 59, + 57, + -17, + -62 + ] + ], + [ + [ + 390, + 225, + 59, + 59, + -42, + -62 + ], + [ + 450, + 225, + 59, + 59, + -42, + -62 + ], + [ + 510, + 225, + 59, + 59, + -42, + -62 + ], + [ + 570, + 225, + 59, + 59, + -42, + -62 + ], + [ + 630, + 225, + 59, + 59, + -42, + -62 + ] + ], + [ + [ + 690, + 225, + 92, + 43, + -72, + -61 + ], + [ + 783, + 225, + 92, + 43, + -72, + -61 + ], + [ + 876, + 225, + 92, + 43, + -72, + -61 + ], + [ + 0, + 285, + 92, + 43, + -72, + -61 + ], + [ + 93, + 285, + 92, + 43, + -72, + -61 + ] + ], + [ + [ + 186, + 285, + 85, + 43, + -65, + -69 + ], + [ + 272, + 285, + 85, + 43, + -65, + -69 + ], + [ + 358, + 285, + 85, + 43, + -65, + -69 + ], + [ + 444, + 285, + 85, + 43, + -65, + -69 + ], + [ + 530, + 285, + 85, + 43, + -65, + -69 + ] + ], + [ + [ + 616, + 285, + 53, + 50, + -35, + -77 + ], + [ + 670, + 285, + 53, + 50, + -35, + -77 + ], + [ + 724, + 285, + 53, + 50, + -35, + -77 + ], + [ + 778, + 285, + 53, + 50, + -35, + -77 + ], + [ + 832, + 285, + 53, + 50, + -35, + -77 + ] + ] + ] +} + +export const FIREEXPLODE_META: MissileMeta = { + "name": "fireexplode", + "celFile": "FireArrowExplode2", + "width": 512, + "height": 141, + "directions": 1, + "framesPerDirection": 12, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 78, + 70, + -39, + -81 + ], + [ + 79, + 0, + 78, + 70, + -39, + -81 + ], + [ + 158, + 0, + 78, + 70, + -39, + -81 + ], + [ + 237, + 0, + 78, + 70, + -39, + -81 + ], + [ + 316, + 0, + 78, + 70, + -39, + -81 + ], + [ + 395, + 0, + 78, + 70, + -39, + -81 + ], + [ + 0, + 71, + 78, + 70, + -39, + -81 + ], + [ + 79, + 71, + 78, + 70, + -39, + -81 + ], + [ + 158, + 71, + 78, + 70, + -39, + -81 + ], + [ + 237, + 71, + 78, + 70, + -39, + -81 + ], + [ + 316, + 71, + 78, + 70, + -39, + -81 + ], + [ + 395, + 71, + 78, + 70, + -39, + -81 + ] + ] + ] +} + +export const MISSILE_METAS: Readonly> = { + firebolt: FIREBOLT_META, + fireball: FIREBALL_META, + fireexplode: FIREEXPLODE_META, +} diff --git a/src/scene/act-scene.ts b/src/scene/act-scene.ts index 6fd2a09..45d1e57 100644 --- a/src/scene/act-scene.ts +++ b/src/scene/act-scene.ts @@ -55,6 +55,8 @@ import { buildBounds, intersects, viewportRect } from '../render/cull.ts' 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 { velocityToDccDirection } from '../render/missiles-meta.ts' import { ActorAnimator, type AnimClipMeta } from '../game/actor-animator.ts' import { resolveMonsterArtSpec } from '../game/monster-mapping.ts' import { ACT_NAMES_ZH, LEVEL_NAMES_ZH, getLevelNames, sceneNameZh, variantLabelZh } from '../game/level-names-zh.ts' @@ -2937,11 +2939,94 @@ function buildStreamingRooms( } /** - * Render a Diablo II 1.13c style Fire Bolt projectile: - * Luminous multi-layered fireball with white-hot core, fiery body, glowing halo, - * and a trailing plume of animated fire/ember particles extending behind the velocity vector. + * Packed missile animation asset loaded into GPU memory. */ -export function drawFireboltProjectile(renderer: SpriteRenderer, shot: Projectile): void { +export interface LoadedMissileArt { + readonly meta: MissileMeta + readonly handle: AtlasHandle + readonly frames: AtlasFrame[][] +} + +/** + * Load authentic 1.13c baked missile atlases from /missiles/*.png or packBase. + */ +export async function loadMissileArtMap( + renderer: SpriteRenderer, + packBase?: string, +): Promise> { + const map = new Map() + if (typeof fetch === 'undefined') return map + const targets = ['firebolt', 'fireball', 'fireexplode'] + const baseCandidates = [ + '/missiles', + packBase ? `${packBase}/missiles` : '', + 'samples/d2-packs/missiles', + ].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 MissileMeta + 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 } : {}), + })), + ) + map.set(name, { meta, handle, frames }) + break + } + } catch { + // ignore candidate error and continue to next fallback path + } + } + }), + ) + return map +} + +/** + * Render a Diablo II 1.13c style Fire Bolt projectile: + * - Uses authentic baked Firebolt.dcc sprite atlas when available. + * - Gracefully falls back to procedural glowing fireball & trailing particles in test/offline environments. + */ +export function drawFireboltProjectile( + renderer: SpriteRenderer, + shot: Projectile, + missileArt?: LoadedMissileArt, +): void { + if (missileArt !== undefined) { + const dccDir = velocityToDccDirection(shot.vx, shot.vy, missileArt.meta.directions) + const frameCount = Math.max(1, missileArt.meta.framesPerDirection) + const frameIndex = Math.floor(((50 - shot.ttl) * missileArt.meta.animSpeed) / 16) % frameCount + const group = missileArt.frames[dccDir] ?? missileArt.frames[0] + const frame = group?.[frameIndex] ?? group?.[0] + if (frame !== undefined) { + const drawX = frame.anchorX !== undefined ? shot.x + frame.anchorX : shot.x - frame.width / 2 + const drawY = frame.anchorY !== undefined ? shot.y + frame.anchorY : shot.y - frame.height / 2 + renderer.draw(frame, drawX, drawY, { atlas: missileArt.handle }) + return + } + } + const x = shot.x const y = shot.y const vx = shot.vx @@ -2954,7 +3039,7 @@ export function drawFireboltProjectile(renderer: SpriteRenderer, shot: Projectil for (let i = 1; i <= 5; i += 1) { const dist = i * 4.2 // Sinusoidal organic wobble perpendicular to travel direction - const flicker = Math.sin((shot.ttl * 1.8) + i * 1.5) * (i * 0.75) + const flicker = Math.sin(shot.ttl * 1.8 + i * 1.5) * (i * 0.75) const px = x - dirX * dist - dirY * flicker const py = y - dirY * dist + dirX * flicker const size = Math.max(3, 8 - i) @@ -2963,7 +3048,7 @@ export function drawFireboltProjectile(renderer: SpriteRenderer, shot: Projectil else if (i === 2) color = [0.98, 0.52, 0.08, 0.62] else if (i === 3) color = [0.92, 0.32, 0.04, 0.46] else if (i === 4) color = [0.75, 0.18, 0.02, 0.32] - else color = [0.45, 0.10, 0.02, 0.18] + else color = [0.45, 0.1, 0.02, 0.18] renderer.drawSolid(px - size / 2, py - size / 2, size, size, color) } @@ -2971,7 +3056,7 @@ export function drawFireboltProjectile(renderer: SpriteRenderer, shot: Projectil renderer.drawSolid(x - 10, y - 10, 20, 20, [1.0, 0.35, 0.05, 0.22]) // 3. Medium bright flame body - renderer.drawSolid(x - 7, y - 7, 14, 14, [1.0, 0.62, 0.10, 0.55]) + renderer.drawSolid(x - 7, y - 7, 14, 14, [1.0, 0.62, 0.1, 0.55]) // 4. Inner intense fire renderer.drawSolid(x - 4, y - 4, 8, 8, [1.0, 0.88, 0.22, 0.88]) @@ -2982,9 +3067,27 @@ export function drawFireboltProjectile(renderer: SpriteRenderer, shot: Projectil /** * Render a Diablo II 1.13c style fire explosion (fireexplode): - * 12-frame expanding fireball burst with bright initial flash and radial fiery sparks. + * - Uses authentic baked FireArrowExplode2.dcc sprite atlas when available. + * - Falls back to procedural explosion in test/offline environments. */ -export function drawFireExplosion(renderer: SpriteRenderer, exp: ActiveExplosion): void { +export function drawFireExplosion( + renderer: SpriteRenderer, + exp: ActiveExplosion, + explosionArt?: LoadedMissileArt, +): void { + if (explosionArt !== undefined) { + const frameCount = Math.max(1, explosionArt.meta.framesPerDirection) + const frameIndex = Math.min(Math.max(0, exp.frame), frameCount - 1) + const group = explosionArt.frames[0] + const frame = group?.[frameIndex] ?? group?.[0] + if (frame !== undefined) { + const drawX = frame.anchorX !== undefined ? exp.x + frame.anchorX : exp.x - frame.width / 2 + const drawY = frame.anchorY !== undefined ? exp.y + frame.anchorY : exp.y - frame.height / 2 + renderer.draw(frame, drawX, drawY, { atlas: explosionArt.handle }) + return + } + } + const progress = Math.min(1, Math.max(0, exp.frame / exp.maxFrames)) const inv = 1 - progress const x = exp.x @@ -3150,6 +3253,10 @@ async function runScene(initialRuntime: MapRuntime, renderer: SpriteRenderer, st let character: LoadedCharacter | null = null let monsterArtMap = new Map() + let missileArtMap = new Map() + void loadMissileArtMap(renderer, packEntityBase).then(map => { + missileArtMap = map + }) let monsterWalkFrame = 0 const playerAnimator = new ActorAnimator() @@ -4182,7 +4289,9 @@ if (typeof window !== 'undefined') { for (const shot of engine.projectiles) { pushEntity(shot.x, shot.y, () => { if (shot.skillId === '36' || shot.skillId === 'firebolt' || shot.missileType === 'firebolt') { - drawFireboltProjectile(renderer, shot) + drawFireboltProjectile(renderer, shot, missileArtMap.get('firebolt')) + } else if (shot.skillId === '47' || shot.skillId === 'fireball' || shot.missileType === 'fireball') { + drawFireboltProjectile(renderer, shot, missileArtMap.get('fireball')) } else { renderer.drawSolid(shot.x - 4, shot.y - 4, 8, 8, [0.9, 0.9, 0.2, 1]) } @@ -4191,7 +4300,7 @@ if (typeof window !== 'undefined') { for (const exp of engine.explosions) { pushEntity(exp.x, exp.y, () => { - drawFireExplosion(renderer, exp) + drawFireExplosion(renderer, exp, missileArtMap.get('fireexplode')) }) } diff --git a/tests/firebolt-missile-113c.test.ts b/tests/firebolt-missile-113c.test.ts index 758f02d..181982f 100644 --- a/tests/firebolt-missile-113c.test.ts +++ b/tests/firebolt-missile-113c.test.ts @@ -22,10 +22,11 @@ import { tickProjectiles, type Projectile, } from '../src/game/skills.ts' -import { getSkillRange, drawFireboltProjectile, drawFireExplosion } from '../src/scene/act-scene.ts' +import { getSkillRange, drawFireboltProjectile, drawFireExplosion, type LoadedMissileArt } 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 } from '../src/render/renderer.ts' +import { SpriteRenderer, type AtlasHandle } from '../src/render/renderer.ts' +import { FIREBOLT_META, FIREEXPLODE_META, velocityToDccDirection } from '../src/render/missiles-meta.ts' describe('Issue #385 — Fire Bolt (Skill #36) & Missiles.txt Ground Truth', () => { const missilesTxtPath = path.resolve(__dirname, '../samples/fixtures/data/global/excel/Missiles.txt') @@ -368,4 +369,117 @@ describe('Issue #385 — Fire Bolt (Skill #36) & Missiles.txt Ground Truth', () // 2 blast layers + 1 flash core + 8 radial sparks = 11 quads expect(drawnQuads.length).toBe(11) }) + + it('10. Verifies offline baked authentic missile DCC assets and metadata', () => { + const publicFireboltPng = path.resolve(__dirname, '../public/missiles/firebolt.png') + const publicFireboltJson = path.resolve(__dirname, '../public/missiles/firebolt.json') + const publicExplodePng = path.resolve(__dirname, '../public/missiles/fireexplode.png') + const publicExplodeJson = path.resolve(__dirname, '../public/missiles/fireexplode.json') + + expect(fs.existsSync(publicFireboltPng)).toBe(true) + expect(fs.statSync(publicFireboltPng).size).toBeGreaterThan(50000) + + expect(fs.existsSync(publicFireboltJson)).toBe(true) + const fireboltJson = JSON.parse(fs.readFileSync(publicFireboltJson, 'utf-8')) + expect(fireboltJson.name).toBe('firebolt') + expect(fireboltJson.celFile).toBe('Firebolt') + expect(fireboltJson.directions).toBe(16) + expect(fireboltJson.framesPerDirection).toBe(5) + expect(fireboltJson.groups.length).toBe(16) + expect(fireboltJson.groups[0].length).toBe(5) + + expect(fs.existsSync(publicExplodePng)).toBe(true) + expect(fs.statSync(publicExplodePng).size).toBeGreaterThan(10000) + + expect(fs.existsSync(publicExplodeJson)).toBe(true) + const explodeJson = JSON.parse(fs.readFileSync(publicExplodeJson, 'utf-8')) + expect(explodeJson.name).toBe('fireexplode') + expect(explodeJson.celFile).toBe('FireArrowExplode2') + expect(explodeJson.directions).toBe(1) + expect(explodeJson.framesPerDirection).toBe(12) + expect(explodeJson.groups[0].length).toBe(12) + + // Check samples/d2-packs mirrors + expect(fs.existsSync(path.resolve(__dirname, '../samples/d2-packs/missiles/firebolt.png'))).toBe(true) + expect(fs.existsSync(path.resolve(__dirname, '../samples/d2-packs/missiles/fireexplode.png'))).toBe(true) + }) + + it('11. Renders authentic baked DCC frames with correct direction mapping and sprite-space anchors', () => { + const drawnSprites: any[] = [] + const mockAtlasHandle = { + texture: {} as WebGLTexture, + width: 512, + height: 439, + } as AtlasHandle + + const mockRenderer = { + draw(frame: any, x: number, y: number, options?: any) { + drawnSprites.push({ frame, x, y, options }) + }, + drawSolid() {}, + } as unknown as SpriteRenderer + + // Build loaded art from metadata + const fireboltFrames = FIREBOLT_META.groups.map(group => + group.map(([x, y, width, height, anchorX, anchorY]) => ({ + x, y, width, height, anchorX, anchorY, + })) + ) + const fireboltArt: LoadedMissileArt = { + meta: FIREBOLT_META, + handle: mockAtlasHandle, + frames: fireboltFrames, + } + + // Shot moving East (+x): vx = 20, vy = 0 + const dccEast = velocityToDccDirection(20, 0, 16) + expect(dccEast).toBeDefined() + + const shot: Projectile = { + skillId: '36', + missileType: 'firebolt', + x: 300, + y: 200, + vx: 20, + vy: 0, + damage: 16, + ttl: 48, + fromPlayer: true, + } + + drawFireboltProjectile(mockRenderer, shot, fireboltArt) + expect(drawnSprites.length).toBe(1) + const drawn = drawnSprites[0]! + expect(drawn.options.atlas).toBe(mockAtlasHandle) + // Verify sprite is positioned with anchor offset: x + anchorX, y + anchorY + expect(drawn.x).toBe(300 + drawn.frame.anchorX) + expect(drawn.y).toBe(200 + drawn.frame.anchorY) + + // Verify explosion DCC rendering + const explodeFrames = FIREEXPLODE_META.groups.map(group => + group.map(([x, y, width, height, anchorX, anchorY]) => ({ + x, y, width, height, anchorX, anchorY, + })) + ) + const explodeArt: LoadedMissileArt = { + meta: FIREEXPLODE_META, + handle: mockAtlasHandle, + frames: explodeFrames, + } + + drawnSprites.length = 0 + drawFireExplosion(mockRenderer, { + missileType: 'fireexplode', + x: 350, + y: 250, + frame: 3, + maxFrames: 12, + }, explodeArt) + + expect(drawnSprites.length).toBe(1) + const expDrawn = drawnSprites[0]! + expect(expDrawn.options.atlas).toBe(mockAtlasHandle) + expect(expDrawn.x).toBe(350 + expDrawn.frame.anchorX) + expect(expDrawn.y).toBe(250 + expDrawn.frame.anchorY) + }) })