From 5d8f51ae4925e23b7d13934ffb96db3c08d95a7a Mon Sep 17 00:00:00 2001 From: Brian Fertig Date: Sat, 22 Aug 2026 17:50:40 -0600 Subject: [PATCH] Bunch of edits --- assets/gamedata/wolfenstein/level-e1m1.json | 1021 ++++++++++++++--- assets/images/wolfenstein/objects.png | Bin 12421 -> 48413 bytes assets/images/wolfenstein/objects.psd | Bin 48530 -> 155738 bytes assets/images/wolfenstein/wall-art.png | Bin 10818 -> 18638 bytes assets/images/wolfenstein/wall-art.psd | Bin 47205 -> 71554 bytes assets/images/wolfenstein/walls.png | Bin 45138 -> 74662 bytes assets/images/wolfenstein/walls.psd | Bin 139241 -> 241348 bytes data/wolfenstein-objects.json | 11 +- data/wolfenstein-rules.json | 9 +- data/wolfenstein-wallart.json | 3 +- src/games/wolfenstein/WolfensteinArt.js | 8 + src/games/wolfenstein/WolfensteinEditor.js | 239 +++- src/games/wolfenstein/WolfensteinGame.js | 47 +- src/games/wolfenstein/WolfensteinLogic.js | 283 ++++- src/games/wolfenstein/WolfensteinRaycaster.js | 104 +- src/games/wolfenstein/WolfensteinView.js | 59 +- src/games/wolfenstein/sprites.md | 258 ++++- tools/verifyWolfenstein.js | 314 ++++- 18 files changed, 2057 insertions(+), 299 deletions(-) diff --git a/assets/gamedata/wolfenstein/level-e1m1.json b/assets/gamedata/wolfenstein/level-e1m1.json index ab79517..421740b 100644 --- a/assets/gamedata/wolfenstein/level-e1m1.json +++ b/assets/gamedata/wolfenstein/level-e1m1.json @@ -4,8 +4,8 @@ "name": "First Blood", "campaignId": null, "missionIndex": 0, - "width": 20, - "height": 21, + "width": 30, + "height": 26, "cellSize": 64, "walls": [ [ @@ -28,6 +28,48 @@ 1, 1, 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, 1 ], [ @@ -50,6 +92,208 @@ 0, 0, 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 3, + 3, + 3, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, 1 ], [ @@ -72,20 +316,6 @@ 0, 0, 1, - 1 - ], - [ - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, 1, 1, 1, @@ -93,7 +323,9 @@ 0, 0, 0, - 1, + 0, + 0, + 0, 1 ], [ @@ -116,20 +348,6 @@ 0, 0, 1, - 1 - ], - [ - 1, - 3, - 3, - 3, - 3, - 3, - 0, - 0, - 0, - 0, - 0, 1, 1, 1, @@ -137,95 +355,9 @@ 0, 0, 0, - 1, - 1 - ], - [ - 1, 0, 0, 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1 - ], - [ - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1 - ], - [ - 1, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1 - ], - [ - 1, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, 1 ], [ @@ -247,7 +379,17 @@ 0, 0, 0, - 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -269,7 +411,49 @@ 0, 0, 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -292,28 +476,16 @@ 0, 0, 1, - 1 - ], - [ 1, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, 1, 1, 1, 0, 0, 0, - 1, + 0, + 0, + 0, 1 ], [ @@ -329,13 +501,23 @@ 2, 2, 2, - 1, + 0, 1, 1, 0, 0, 0, 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -348,16 +530,26 @@ 0, 0, 0, + 2, + 0, 0, 0, 1, 1, 1, + 0, + 1, 1, 0, 0, 0, 1, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -368,17 +560,27 @@ 2, 1, 1, + 4, + 4, + 2, + 2, + 2, + 4, + 4, 1, - 1, - 1, - 1, - 1, - 1, - 1, + 8, + 0, + 8, 1, 0, - 0, - 0, + 6, + 6, + 6, + 1, + 1, + 1, + 1, + 1, 1, 1 ], @@ -388,20 +590,30 @@ 0, 0, 2, - 1, - 1, - 1, + 4, + 4, + 4, + 0, + 4, + 4, + 4, + 0, + 4, + 4, + 0, + 0, + 0, + 8, + 6, + 0, + 0, + 0, + 6, 0, - 1, - 1, - 1, 0, - 1, - 1, 0, 0, 0, - 1, 1 ], [ @@ -419,11 +631,21 @@ 0, 0, 0, - 1, 0, 0, 0, - 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -432,20 +654,158 @@ 2, 2, 2, - 1, - 1, - 1, + 4, + 4, + 4, 0, - 1, - 1, - 1, + 4, + 4, + 4, 0, - 1, + 4, + 4, + 0, + 0, + 0, + 8, + 6, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ 1, 0, 0, 0, + 0, + 0, + 0, + 4, + 4, + 4, + 0, + 4, + 4, + 4, + 8, + 8, + 0, + 8, + 8, + 0, + 6, + 6, + 6, + 0, 1, + 1, + 1, + 1, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 1 ], [ @@ -463,6 +823,16 @@ 1, 1, 1, + 8, + 8, + 8, + 8, + 8, + 1, + 1, + 1, + 1, + 1, 1, 1, 1, @@ -473,150 +843,425 @@ ], "playerStart": { "x": 1.5, - "y": 1.5, + "y": 2.5, "angle": 0 }, "doors": [ { "x": 5, - "y": 3, + "y": 4, "orientation": "vertical" }, { "x": 5, - "y": 7, + "y": 8, "orientation": "vertical" }, { "x": 4, - "y": 18, + "y": 19, "orientation": "vertical" }, { "x": 7, - "y": 10, + "y": 11, "orientation": "vertical" + }, + { + "x": 14, + "y": 19, + "orientation": "vertical", + "color": null + }, + { + "x": 18, + "y": 19, + "orientation": "vertical", + "color": "blue" + }, + { + "x": 16, + "y": 17, + "orientation": "vertical", + "color": null + }, + { + "x": 16, + "y": 21, + "orientation": "vertical", + "color": null } ], "enemies": [ { "type": "guard", "x": 2.5, - "y": 18.5, + "y": 19.5, "facing": 180, "patrol": [ { "x": 2.5, - "y": 12.5 + "y": 13.5 }, { "x": 3.5, - "y": 12.5 + "y": 13.5 }, { "x": 3.5, - "y": 18.5 + "y": 19.5 } ] }, { "type": "guard", "x": 8.5, + "y": 4.5, + "facing": 0, + "patrol": [] + }, + { + "type": "guard", + "x": 24.5, + "y": 10.5, + "facing": 90, + "patrol": [ + { + "x": 24.5, + "y": 15.5 + }, + { + "x": 25.5, + "y": 15.5 + }, + { + "x": 25.5, + "y": 10.5 + } + ] + }, + { + "type": "guard", + "x": 27.5, + "y": 15.5, + "facing": 270, + "patrol": [ + { + "x": 27.5, + "y": 10.5 + }, + { + "x": 26.5, + "y": 10.5 + }, + { + "x": 26.5, + "y": 15.5 + } + ] + }, + { + "type": "guard", + "x": 21.5, "y": 3.5, "facing": 0, "patrol": [] + }, + { + "type": "guard", + "x": 16.5, + "y": 4.5, + "facing": 90, + "patrol": [ + { + "x": 16.5, + "y": 11.5 + } + ] } ], "items": [ { "type": "ammo-clip", "x": 1.5, - "y": 8.5 + "y": 9.5 }, { "type": "ammo-clip", "x": 10.5, - "y": 13.5 + "y": 14.5 }, { "type": "health", "x": 1.5, - "y": 9.5 + "y": 10.5 }, { "type": "health", "x": 10.5, - "y": 12.5 + "y": 13.5 + }, + { + "type": "key-blue", + "x": 19.5, + "y": 3.5 + }, + { + "type": "machinegun", + "x": 10.5, + "y": 16.5 + }, + { + "type": "ammo-clip", + "x": 15.5, + "y": 23.5 + }, + { + "type": "ammo-clip", + "x": 16.5, + "y": 23.5 + }, + { + "type": "ammo-clip", + "x": 17.5, + "y": 23.5 + }, + { + "type": "ammo-clip", + "x": 17.5, + "y": 24.5 + }, + { + "type": "ammo-clip", + "x": 16.5, + "y": 24.5 + }, + { + "type": "ammo-clip", + "x": 15.5, + "y": 24.5 } ], "exit": { - "x": 13.5, - "y": 18.5, + "x": 28.5, + "y": 19.5, "radius": 0.6 }, "briefing": [], "wallArt": [ { "x": 11, - "y": 2, + "y": 3, "frame": 0 }, { "x": 11, - "y": 4, + "y": 5, "frame": 0 }, { "x": 11, - "y": 6, + "y": 7, "frame": 0 }, { "x": 11, - "y": 8, + "y": 9, "frame": 0 }, { "x": 7, - "y": 14, + "y": 15, "frame": 1 }, { "x": 1, - "y": 15, + "y": 16, "frame": 1 + }, + { + "x": 14, + "y": 6, + "frame": 0 + }, + { + "x": 14, + "y": 7, + "frame": 0 + }, + { + "x": 16, + "y": 1, + "frame": 0 + }, + { + "x": 29, + "y": 12, + "frame": 1 + }, + { + "x": 20, + "y": 11, + "frame": 0 + }, + { + "x": 20, + "y": 13, + "frame": 0 + }, + { + "x": 17, + "y": 16, + "frame": 0 + }, + { + "x": 15, + "y": 16, + "frame": 0 + }, + { + "x": 8, + "y": 17, + "frame": 0 + }, + { + "x": 8, + "y": 21, + "frame": 0 + }, + { + "x": 12, + "y": 21, + "frame": 0 + }, + { + "x": 12, + "y": 17, + "frame": 0 + }, + { + "x": 29, + "y": 19, + "frame": 2 } ], "objects": [ { "x": 6.5, - "y": 9.5, + "y": 10.5, "frame": 0 }, { "x": 8.5, - "y": 9.5, + "y": 10.5, "frame": 0 }, { "x": 8.5, - "y": 17.5, + "y": 18.5, "frame": 1 }, { "x": 8.5, - "y": 19.5, + "y": 20.5, "frame": 1 }, { "x": 12.5, - "y": 17.5, + "y": 20.5, "frame": 1 }, { - "x": 12.5, - "y": 19.5, + "x": 15.5, + "y": 18.5, + "frame": 0 + }, + { + "x": 17.5, + "y": 18.5, + "frame": 0 + }, + { + "x": 17.5, + "y": 20.5, + "frame": 0 + }, + { + "x": 15.5, + "y": 20.5, + "frame": 0 + }, + { + "x": 28.5, + "y": 14.5, "frame": 1 + }, + { + "x": 28.5, + "y": 10.5, + "frame": 1 + }, + { + "x": 22.5, + "y": 18.5, + "frame": 7 + }, + { + "x": 22.5, + "y": 20.5, + "frame": 7 + }, + { + "x": 28.5, + "y": 18.5, + "frame": 2 + }, + { + "x": 28.5, + "y": 20.5, + "frame": 2 + }, + { + "x": 15.5, + "y": 2.5, + "frame": 5 + }, + { + "x": 17.5, + "y": 2.5, + "frame": 5 + }, + { + "x": 17.5, + "y": 15.5, + "frame": 5 + }, + { + "x": 15.5, + "y": 15.5, + "frame": 5 + }, + { + "x": 23.5, + "y": 2.5, + "frame": 8 + }, + { + "x": 19.5, + "y": 4.5, + "frame": 7 + }, + { + "x": 19.5, + "y": 1.5, + "frame": 7 + } + ], + "secretDoors": [ + { + "x": 12, + "y": 17, + "dir": 270 } ] } diff --git a/assets/images/wolfenstein/objects.png b/assets/images/wolfenstein/objects.png index 7e20ca11c50e0f080d335c0ed29c00b97e9ee589..a2519ec0751dfbd8fe0febd6381d09c32eaac1c9 100644 GIT binary patch literal 48413 zcmV)QK(xP!P)x$p1MJ$NK^%WI`rnLMCKFCS>eo z0su_NgiOeUOvr@%ACw6IFd=VA?mD;PZox7x1cdf{_4KnobKe$Yysv3OCS*cRPMI=w z5_j`A>i%GG+T4M-iM@xFO?*lGXl10fP;$h-$(j7oKYVH1z2kkI|JP&!08Gd~Ex)|7 z;Twz2Uw(aMqhF5h-dMZoxvsujuDzn^hxh$n8}DnIkO`TPlTj>KoZ7(i)|8;n!n8(N z?CjURGLY$4ydFo!CGmUC`S|=M&Z*r@Udus~ek{n`D&4ZQXTQDgcjJBaZ&#*GozAy+ zv~93VGB)ndk6V`go#SAQJ|>FNhc!(-JQmkAt^nYwPhISAyWACR(ZkR45D&j{@7Bx5 z^Li%a@5?8L^}*_>;D-yV%@B2+P)KgZDR@m zKKO-m#9}UQ2C965$LU0CZ|te}u6(d%UmlZwZ0slSI8(i})X* zCfpe5QBX{9WVdt6$Lbosdv^H#9OwG%7oY3v9jm|jR>bXg&j`ufEwvR*l^X9Po1AAG zoMHfz{NU76h-K41jD#!BObm~t$NPFGWJ2DqR9AI;QectJ4Cl5RW-kGZF4 z6nRIIF?;Fc&J09}-kC*$epxSN(`S_oa&`tq%I}&9g3^ z@8W!mXFT)3uen$5Y{TL@7naR4@tgbhDw-upfBBiIjz8QQYkm6CRPQcO?~!f@&wk?P z>2GY^b(6@8hCu`zQP&F^r3YX4q$jl!|Sao*35Lfe(=bze~k8j7eq1%oJEGh znZ(c$rYn+7Z4rw{7%;&*)a_*ng2gridDt>IlM@IvCXcesz>(j{HX+{yI%W&HMtK9r z&-$Xd?dMk8#ny1Z})i2!(YmbrmA1ag0ZSCR`_HwUwnc+Xj+bi zGa|ucR>hVhoyT6w=sy|n*|V#WQ~A(Hv2bi33X*u|s!5Ua4#e|cN~W_9jP*DsWJ2DK z4E4t?QK%SDHKW?#i=UQd9!^1kO1A&jy(P?@=0IIF(FbG~6jdE-7r7x3gLt?{Lwi(# zsd5AnGBti!0oti`$>=Zp8wv$ zPgYJ|dV?oW-K3RL7>N#H_cIUd9DRQJBsrW)7uS62p1p7f6S!=3HJVp1N5myS%x*$< zIKk;}ayt%hd|*bnre;m!!VAc6JaWmQrY~Nyp>)A6e0MCzH!2@{CcgW9%j-Vf-kJTm zXqoezWFfCQ!-IpHRk^Dpe#4=cB}?FV&c?L@Cx~=R1_c1H41-vElOSM`4uvdy3KUp$ zuxu2``%If5TRi0gWg);o5JYQ=9Ow3S6|t0ja@(MKc`~p6hCF*x0Dx4{s=sK(xJE7w7-NR5d3)5;vP{>a;fvH=_)15=ej;{gV5mRYTOuzE4Y*x!UtdLh0iTw@+6r%+OC~tS^6#x;sb;hCUixk zcHr|T@;cwHZ2aM}&(}^{{IMhZqT&AbUE~oR1JM!m4dss6FpuB!YOY}1INP85v97k` z^-W$}d;Ji3MnJM?z(v=E{MWbR{`)p^b+r`;1$|@@0S!~?o2D&2{a>H^rs!S&x&2=r z!(kqiUv3@Pe#g5Sq7_Y%dHeTu!^&t7r>z@E$8)vS+S;7g?{^6l1F(O{s^?7lzh%r@ z7~k5{Y4r^bgn3Hv>6RuN#Lx|{rDdA6qG_^K+O}DwlSbZ5V1vp2BU{MK7xRVmaM3ej z`2K72p5coJGs43KQ#vvpHg1@BY))iMxg_FSzs@>5eyz0zY@5xTr{sd0W2%iK+nd z_?$Wq!d@N@qUJ>2fNmO?Q7f!@H)Z59Y#49pjz}2eV1pU!4#Q~meZSX z^trCjXQPFTs;E2v{$G1*a$-FI9Df7H8N4ZJOFT~DY>5|zc})Rf)7}*Fs)oiI8INv@ zAwXE9QxcIUi^3sVf}#lrbj|1mZ+=4J_;F#n|ERq5orPbhnY7@8eeH?xlh5tJq4qd6 zdE|?K&g+nVG5WfTzqUJh+RUnlMcz#6n(0#2*sp4L!1a&yS_7dk^&w zHtTxtdI|_ zOJL}jr!WDgpvaPM!)a?UBGvw9$H3uThAjW~kzIqy@fiE4c)i~5&Y8RLhWffj@BDf5 zP%IV+kShv{r&Twl(S||i21@um3SnIF|x^f5C~Sn?FnKyK3pks zV&%G7RY;ow)HF0ea(N=@OeQio)bsPI>Z%)J(b(hTIo1i8kiR9Oh-OjXE~E)8&~_lGg!*9Kj-ceNq$8yn+-A9N1+bm$yJ{ zBcsHe$2v`Pi7QUIeilrP@7VV119y%0xc`=v)RN2M%**N)R)Xq7x5q(@zYAVB9is>u z-J}iz&f?*85P;xw61@kcGAe54M9}ea&*=_Hu7Ae@0K?KA5oGI|9IW>)og73{r3X)M zPvP{1LAdl@HrW6MV`8KLq*bo%z|q96H@^1eL$P7{a2B&1Kv;#)PW*d z-MVEE*87+8z|QE-nU&tQ3WvEq>=n@8Ka3}z-H)@^G&EF4_*2JfoPQ}UKhFy?k3e;` z6=#UlWD6!QScy-5@>2)}y%-)&WAnD%NE7Af^th4F70|@RadF&W5UeojpGf1bjE7)7eMId)yN;A#WxEFLrAR_U1Kx4gmnd z>?#pWVHY^tmrV%(4hQB^qsS3-)Uvh#otp+eQtVK=b?w9?1D;q9fMs2vYQ||kw}6sj zLeWe#S30ocP!1Xy@S`uquzXPfGwQr}=|GY#2&()mD+ToS81Ong*MxoH!8O;Pdbe8A zm96)`9y_7e`%lWVhN|jxs&vO~ z*H6JI=Uz(2o5aEG2aw1TL+O0ex4=P+VpFw+DG?q62^H-fQOKf#GgpRYfA8wXZ++ta z-hVxz1AP;*B%b319+HzFT4fM()?bd4s(=%nw%KR?Jc4j7j>Y$=K^J9NmPApofx&1s zoE`h)IL@-{06Fs=SflYTsth;-BKdU%(J(3UH}4zk!TyCfoX)Q-S#rwzPg$|b!@Idp zpkvE}dw0G51Jl&6m@#t(S`Vr?(7%ru{SeGO+p)a4fXU~ck4m)%d~gqHs-wu}OK8of zaUgCWR^qTb;lb&ruY@m9fv$b8V#&M~_^Z}|-`R?ixF^!qw*Ov_+eqgNg_p;9_!BZA zOfLD*8m@Mxvrf?r$JT?{RzuM5HhKMfKBwrO60%SgFyNASq6;`=2*ZErU=H!T0$JdQ zZWoz%P|-N%F*Ph2|0k?jVF|-15s=K0O)rtx6bH%g1ryl3!@O7Sv^03t}TP>$!mW| zo_yy3fLp$ER)ZkvbLP~qY2VSd_cgzxa9M0bWxC!$7R1gyDKyQHux7a*jUg`%4rHL| z1~kRO*0v1lo1EyiRQRPpVn)OCnvNZv-xWCVdGgUeJrURYR)x3BiwqMr(JYY27^sUl zQ56>9bX)NIWo!RX?yufc@7DYRXI<&_k((cC!lp+zfs;IFjVhceym`{c^64(r2FYhS z3}lKHj&>>VC3OOrq#8-&Xad=o0|1Gp@Nu@gZst5EoG$9_Gt0}|UdXf>g4uMM_D{Y< zNt9epr-)<04*NT2ZwOAHrNT5NmSzINj*ZbA35u3!5dj4ZZc!ZfEFibTRaxIK$vZbP zjF6m3Ui9nd6Sv-S^{oe5+nhtO#JgtCnT^{&aUp*4;6_Ydeja|caUZ_-#~(pAbQE)W zqTE!*Vj7yJplY%U%RRkVea6}78WC|||3OS`S%7duJ*Y2rs&fbfP93@G#>!Zt&rblr zcn^O}4QrA{Ld=$lz3y0ESygji|>XD$k%Gg^dM0)iol z4YV%g!BAR3W59{cJ2I%PcOpWJXuu`H;o;F&?62y2y?Z&Cq+L8`wVjA-eLK?BSb@w4 zG4h1@x*Y`N7ESVHVAk|1tgQ_#`oL99pCU%^@QRzZviR+sNmVr?rThoZn&lB>j{`ej zei@eFM^&YXkY5zqb0`UlHpc{f>VG0;n)~`ifVjQazpkSjk2AQ#cOWbbP+%xBeuU;GOg3o_C6yFlu zfB*U4ktOj`GJ;5bFF9-yqWI90N$Lt%tC8 z+jBT|bp%g7`NFHSPFX+cw9{8M(z&9sQ#uD(|4dXmyWsaG@#?VpZN9R4b1WV`sXSp5 z@_$ouBRS3O<1U$0C*JOG^Or^3GNwg*=t!q9rIyFxp*%KsX4zV%toPETVT8RLB!PN* zEoKWTqo@B>MeImHSD(Qe_7n}OMah| z=m-@m0T0#l!syvPbiQSp|4m--&Hw2a0H{aNza!4679_}tbj7A4HiKE@A#;7Y`JMVIzGWnSw@Jg_1cl?V@PQI_4;? zn_DUC1>?$*-gK9KoVx=aS7mbZchp}_$@R}aiSClV$mX8PM#=I2|boVN#yBDQT-2C(td##e}6o$_w9%X z^9Q=7*KIqLgOXPn^4Ph1fM)Mw&6??`^putslF9q}hZJZf6$>VNuxQ0p zYmm=QZg?*bh z`RDTvL>ebU85u!wXa|hOGeEn2(n%1=50WIo<#Hh3^DM%#Cy~$^kQb|1tdDvCWm$sk zaaZv@8&McOh>^e|3=n{rJGuqC4|k)oWf7!s9{Ue$C+y;+(svW`e^hwU^b3-89xs@F z>dh)DJYs1b(Ig>2E}{zvV9zTi*#{N@!5pSkiV)e>&BNI1T$g6t(f(Y;=a_5*N?B#ToG%a}H4b;~2&o7&^! zJttHMfgy(9e1FZt$`DOocDk50L?Nxf8}MMHpujL>GCxL{+gPmRIaN|v?gM=&PsT1v zeKPq1`XR@dIFVG7Q&QVXe0zZ z+1`$sbpn3%@E)u^?J9WO9%R~{z`(EnfW*rO;hlQ~=A1K8Q&WxF=7oq49!0e?h(vM_ ziCh5vsXXN21K8g=0Dt{V%<*TDDR!f($yv3rSN%?@q+C62lkiUnVRxIzeVbMOl^gxX z_7xrT7E!N{HToTPkaX0gL_;M>vSt>ms(R8l1N%#vaob~`@z1RNj3X#f!hj{sep(+x z`(2?mp&(t?BZj^$u3~>*5!E39-2~5yl7+NJ zNrHtb3uQ(itRWMzIQa|$01To423uA5TX+Hp3|NW)L+7Rvo%3S~KFA{3PX5Ta0{~fe zR67FlN2?cBg=Av*DIs#o99zu<&%?vKodz?zbW)>rrd58@O^o1){McXd~ZMOG2n1XpZKr(ahGZhYQH$H7Eu>1Vcn) za|l~s>%`?Zt;W;8`2)_s?pk#3dJ5frIkI^K#)uCOsOX}}AmsJSraLjc$%(qAAXytc z4(&=~h=8S)^DA(mD{mhlVUE2~6zq^Z%>l3s&0ygG)9(F8p3qslOO$*0QCApc0=yt_ zctZ@pdP6*)r#o2yYl}%Y32T$V$_Xu&J4-E0py=6A0_bGM+Xx(X6uK<=v3AiH*xy|4o*$113D zB^+eH6%`RY{K|g(i?kh%;576Z)OE^X2LZ_QD>&?IeH~k~Cc{{TVlK@|()Y(}{C`hm zhf~&6_SgZw8%cDYjN{arj+&q0xl@5$F}_bwfuK@@^PJ!j>CTC@>-L4}$t zLFuO{K!h$i93#$fBsJdScr*Fx4LfK~)+v{Nc|oXqr+Md$8QeAN&vLTnwuK_FX-5g& z1C-qp!{^fQ$j&6z&k5mAN3-aR7ZD@|GVJ3~S;@0J0E++soy?2FX_JPkS^-g)iFAe- zNGFF13L}Y{%l6WeK*Ern0+}#AWgAZJq&S7tFpZF5niu#c`Fy-2vb9b~F-rtwL@}$f zHEo&pce)j5g#@6nuqhRefC7Vs0ZbM~rMi&nzCcruAKVvTr|bF@^0Jc?0NnM-mpV_o zY325+2(A$&6N4iqmi%CGBIdSuktc?HkRV@&DZt~mm3x*TytX02cqAVFumrcnAyg$o zDQR$ddAQ>u^b)~@64r3Kb&%tQlVkI921DsIhBakYJr-D5JiBR#ZGa_n+z5ocm`$Fi zNiX}35D=hRNR&8YD25<;eaObz(J~{1c-JNzK0Jb@%c{|KIK~iTqhEsG!C~%n52^@C z4uri>h%wy0JB9v%9L`=9L6-NTwY#0M34V0-jG?eaYL)x>5bI8fJN5Xpq&>Q<42vP$ z(Mka}WtLqX@aAGC`%xHSm0v?ZBy*3MbQ7@mQeyA4O$ zkK+E{{0bc%?fBq%z%pkV*^w-M_4{_@9QC;HoYOEnJb>Zutr#3=f{~^qmdp!10gMc& zvak~~>YRwR%)z~nZ^b#Y;+WUyM?6)+mUu57Je0+ZnTznAi`L=j(N4U&=_RvJ%Adpu zfK~ z2GI)@lLh7=q{_q~x|IBZow6HO87yRI4UP9)P!R>YjEhz=6mkZXq7IGNG1>x{9)@Il zYAvSUSmHmO2+J;eW>r&$&f251?!l~wDi4L`2IvGLsKznx*>Sz*+=l+z#jUSnf*I(R*GcUaWkKXr3oVI=mHodqV+jnI#k}R9* zP4Fql?O7tAWvhAC2*hS})?a1u+sm3`MTP8`JeCteHwMqy=$V2lo>d&^%pEvh;_-N@ zU2e}^=bdvlIyyViARI+wg^B};f?qzn9}jFe#Kz|dRN?e9W?}Wz92}eWpwPLAT)zlW zp*7HCO~3FggjZfdRx6->Wi6&es&IgJ;<24kJoI`yO9ml}|)HGtj z{H39tyI%jVRV$aBvth%=lj^igK@dL6OWY|-u3SVEw8=`CqOHS(t*JzT5rwAPHPCjF zXL&iW+iWpKXNzqNIFW-Si*Wd52o3?xkO%b(t5LhS4xKM`emOmm-cNwSZR0uKe^laq z8~(Gl@hnwy2EHrS&vhSLy`x?`O=Xi|mWr^73NdEHXpFQLcr)>D!?B$w?V&fHx@T#l zD4SnXEq*!C>t2};n@S2L5r-=>n;oRQ)Rr?nuM;91(P!o_B-Gr=(4j{p>E}s#HchJ*K2-@LYvsfhBbz4 zX_5^*{5(m?0l*WeFUpyyB< zl1UZSK?#yrLcU}n91-CS`LN?qfyECmSrf#hCaIh_XEC?3OcqHzr60>M9ZNAx!u9Q> zev24sq5}lBco|7Y8R1gM&XBADhSbXo`+rIqJ5YZZg~TkG&|n~f?HLwAlVPxY1F8_l z&+diX;epnOvbl=whu=Jc!Vmd$^DBW0|hgt&PGX7P*q)n(r^-mt|2JI z5Hj{l{@Ir)V6dRtrH({7G)J8gs(Y3 zo!&sX7KDb12wOrq-k`6JC``_;&v79E#$iLd@*pJZ^fx>Q8V&KXM!-hd`ALSP6ixgT@37i!;0PL z4LSdN_$2oA5WN@R1?v)*VEINyfc{>Mwe3|ULWamz4hMLMF2aP9z!rj4>0Os=2#5~Q zJxm6#Sm@oWp=q9kWIvFOnuP5d7-%k(=OtPFrOq53{Wt%!Qn>kJ!>BbWqJ5cR$A(|;Yn#`Bjm{?5}&*=nY|F@=|#8m)RQF=~vnqNzo3g3$k zDTq`$P*pFnSjXYPJUh;ID&g;$yo#&Ojo_6-DH=6~rCIpz$72XJ322Mw5hU-csWs8j zUBcjy1|>(BA6Ya`xBMwG8P6ZjYksSu=~m&+pC2)o&vNngK^cSnwEGj)WCo@Xr8i@? zgg-vji68uS1SM5x22dn>yjaxm+y)izxh#UGp6SKRiV;YkKZH+&oD=m^K92GtLx?M z_Pu4m%UoZkH5$|9*b%>PF6C+hl&K-xHae>=uul`TjfI07b7#jf$tuRTf4rgN+`} zD1;-J4wh;!b?6Yof*OGkVN*z0mO1eXd3l4acz;hx+jt& zCrRnE1uwZbjhvH!feH!fKaHSzZZ(3F{Oo>tTq0Cr&?A8W`EsLcFawW+!(gU#>{w); z<;&Q)0QI^Xhc;vxE)3R&QM;s?x&$z=y%*V74v|@YVgw}7vWb9qd1n|NOIMu)Vi zeceV)sc6Di&7-!CCuD|4gM>eg4 zcUnx(bskXIx}f?}_VO?^3Y5U~izM^R#f}2?Eg(SD!Y$;*zao!}I{=_k$mgTv+ZRWF zA5C(Ogd<#HIC1mWKRO?gd6yIW?*u2+6Lm-RTZV(4MfT7iu(NdtE9=6juJGOY)kk-} za_lnaTOehUD!Gf5lLh1z9W_BGDhW$|X>S5ejSl3ZIywjvlxb;5wDdWvz#k@mYTQpp`_dm% z)Boe#;672}X8-UPd(asrpyu6EQR6e`9 zII843bwlk6_$yD(W;BeXGLS067;wx+vgC$Arp7BuY@i0MgmAjh#x=1dAesl9O{d{@ z1_|=-gRUz-EM?XAPp@!$x<_(onz;a8okJ`Z$6&0-n}`pewQ9{N554y4mT?aQj7DVg zaRp|xh_&aP0^MsMnjU7c{Giu?Y(YbjFx`=C2?es@bBg^Q%l03!cqa=0k+r{lV-Kc< zmk=W%qAPI#dV>LX#DVE&Ooo^-P>3zo)1RxmlMhnBy3$m}j^5m@RE<-wzLm^jU z2f=V6?W-w3>DWkUWb!=0Q9Oyczb&`lxTACS(peWMg4Q6);&&{;x`J+8s;|#H)x*5H z3bFe|@ zeL6JqS%qPR<%*E?QX)ELz>cFs8SnY{dt$IqF~__qZKJ?AClLd#qk!ZF*4Ubq~5=G^QKH0%s_(z5^usnnbkimBx&Y_~( zfjB{a&KW!;UO@YSBBn2NK~Mw?^s4a424X`w|Rs;Ea`ZSkNLur^!u%V7q|G zSXE-f2J$+>9sx%>GXxgMM^&b`ZegK!$gtH<^Uw zbbhB;DxOM18S&TAC zB8p815}At{8e7mmFo?-5!~mu&oH4DUKH!#q_41*%2zl`j|MEINc-s7CUDF;R2>esO zd}+sqv6`Pm+X!UIgR12LwA9vPY0FH84$`?C{uJFwjGTZJtp(%l%9&$v&T>eroE3%e zq5%5itt>1sX_XI=1}|teQK`tGd!P?}`%*~tjq4$hZ%NwsK4nE3E-c6_G(z-(EHa&- z5Fo(9X7r3)>O|A@LQizxNzML8MG87aO)(xfEpxuD3QV@5dAsum_U_Vg_@ItRvlGM7 z5+S?Rv21r1^7|hx!ON|}Bny#QA`-2-og_zeiR|GJnJ!~!kH*@I)9oXR!j_ILhfg1` zvH!CoN;0ir`SP8=KJvv|uI3S<9$i}N$JueyQtA+X`ujt~W^g~NaLebrD1sV`>pC7E zA`olncRGDuNxXC*mA)|Gkua&zMU0n@_E?cMZy6-0?$kvgq&XcPuZTUbr7&Zu7gOiE z$VCW9lh>|0C5X*OQV>i5k)VWNm;i*F0f7JrF;8whQ6NumdLn3Xrb@uZ_+^6;=^u<) zl3WLu+X*MxytC&tBGQ>clTSxa*DxO4(2KQ8LRdaiwzFf2f(wy(SvMnuXZI(usM5qE zFOOhSKw{mW_73ZK*WyaNba15HQ=67j3D|zPfLFE;VZjs^)=ZO8T~~poCLh{6@^CpN zNW%E^0HA&QnLFRKxKVaauX{Afk7FIMEY`bw^jtu2e^vnai)28Hg%C`}_&K}4k}(8Y z3djmB%egae>?1Iik~hSf?a6xn+AF5xj~jN=K7NGV5K!O{h~vS^8=r zudVIw?Fi1AF%x|~-8gq)5Xo!=2YU08W@P`${e9ZH3*R#miF|YR)W*jBtsTE!zO3S$ zt=nGMeKB7`~fVB)mG1Mg4+)RD=SkXmq2(7r+%O&Sv*snN7T4D)-X&|nnJhrd@knMI2u+tT+Ug@iSih^t z!&h&w53AflSKx)8d1U9GT2{<@)Fr$BW&g$-tX7Q0aveO&h?L0!np^F|i~EMKy;EVQ1PU&Zc?Y_BN>I~wS(vLvggOXl zG2@G}M|fIQjPaqqZxD`FeOPvR22FI6coWm-)S#BI71`*=NIZuxY>Ki&Flh2;#4lsk zWFIcPunsqUZ4c&G$r#9}I5@1~k)K_TCm+}XRW;_lY;j=boG|=O znnS=ta?uKM>N>LznwZ>J%XRh+jwx%fd;Bx@W@;)Kp;12MqFfqjR{+@UEbU}LJBCj? zDoAiZVbZNNY<%K!1Ll(I9)P07tg#xCNbue4bl|wa?dE*?F*K`As@}c z)Ge0Ss%BNF#8_%Eoz0cAo&X9$7~)U$QUGw+(2T(oJ-*{9gwvW10`P_p#bFSmFUTAm zvm;P?k|^{JmDfMUmDv1KLTtFhA>YzGPrTG$XPyO4XM{GHP?-_0nJken+A17~6ZJ%M zmkL>fx$>3uzbv9ng2|Ylyi&752qD1l^)7< zCjnB$ah!pFT6|vLSMGiIu%PMsr>?3sGU1506-JfddZ=FIiE4&mZ4YD#6LwBSiE{>qYvJYh`wYAy`2RFt0ash4P5!I zYU~@x6XmAi!5#g0_t_Eb=+A*m5=Jy&pmK_cLP|najSIYoLw78V%PzbE+qUfd?tw!G zKP~f))#Oii9*^sPD^gn(<~TbGj{VNuSCpX&)JSoNgk-opJW*f|n%3lolBZo1 zZNp04#LS?wgh7tA&DD)@U_rLO9s)htgC69}*{YoO@3-v8J#7}mdI3-t&vP~yxa8gM zCY!*EIdkUV+2@`mn?8eUuK9mB+O`~4a->`(z?B=MpzQjmb8LeMV~h_2k{!;eRn_&k z&Ye9=Ubkim4j*a5W7~_^+m*pkY!KzzMp+OA&%nSypUdgGsZc6B=i>!2J~#wjRWW&L zGdQ;khcFcbyax%Z2&>#9Jd??=5+T{;MgKt8fb5jN5syW)4q1-$5B3V9p_L8$eTY;r9sWKF2=_j<+Set5{6iFxek zW)pI)2mbjLY$Yf?MZ)%Ugk?Xxh8G979fe)#X_tp`oDGcW`}ku_sO$|Quh5E=DU!8c zK?s3gf+Hfa>Hw7O!8=W;Aru1=ve_cbaZuuUaD!>cAqi@xKo{Gwb^lI~-5Yk$yYT9~ z(@*&z*_m_I0$I;-!!C6r3d-pPykVZ`FB7qD6_P^FG9h}x$)l7pX*WR#1mLLz9O{z5 zKtm~A_GmJXAKCi^7%Jt*Z0{js6to3!|GrmtzBFEAf2%T_9JT_1z!x*w%uUlPgU*0M zLib3PHhH_98vi@ryZoA#rM1cSv)_h#9NM}u7ks#*j*vpvC* z1Ua%O=FakjaxT62T*sx_8HMadPH#VU$ zJ-gh4V`VHfj6)BymnFf_!c`0oGkmV|U50&x*!qS2epvj%)<<4n)UZ9Wr;mMwuEfiVnMewG2#nlOHYV zE-N$x-fOOdWBxp>sIO;l|HUtUfgj&<4~nG{K5+d9@bOzej$(TUDn9mcr2q5##7NM_ zBBI?Bz$k+&I@QM5mi!8m)H5{H|J$9r_TH3A=dot>GF*N6Ss3g)iflT?;+_RXIpX(v zpNlI=D4LS&?LBJMR5p-n4b!Y(D8yiU+-^1>@mQQa#@2~xKrPvI-~)p_$YhhcL<29;h$!~kdX}E7&TrLmU>ltn|L7L8iRSsnlBK7eZ3nKM? zR|(0%{D-rmNfX{rZU8`~plXX;9_!1cl7;PuvS_Gvpg`EYpDcTg+^>1_yolwCDCruW zd_9Ixg#@m|p=qYfN<_Gzh>%}KcdCe2Hz(l^koOVxl!~h0$pWE$l?{b3jF1zY!d-8b zRC>hjxRri1)Kya}Z)a_mYnV~~nJ=$aPM{gSJZ*2wDYTOl0R`1T1+Q-}!BzHU)0YMa zN_g#+UQC}V;?;d7l11}aatLb>K@Dq}9x;#s`w$*mc>?v-m0W)`KBkIev@B1ghXM&E zBknXF%er3C%P(iQ(z3;hkKBa7`>uyrSI6E}%bLx@pzu=p1I9!922nK)`|i!7Q#=--1^* z_rerZ=ptXoN%GGfY^b5eWv_$&rsf^(=1n4`XUg4Mx%qYDn)Q^YctsPamU4 z*REZ3N3~CQ*TMc_Bt~?yXU6WBXi*d_0{&TU8|1o^%m^MUFR<5HIZ==+vrG2GJBTWmg=T_7qhDkO3Pi6N3=hD_mtg5d zuw(CpaqM*U7Uege+x`Rc?FVPvv`n6~&>iUAm+tmd@lHbSkvgcctbV#6=+H886N*c> z!+};g)w#TE=#P?aAw)>xaL5Z)8eIl95O8zSr7pKu6*6h_Vte_xM-4&!G0YPnTJOb*!j@5617Wcm{*PUhAzj)?N0pU+3`t=qaIsY z!p7QLn&sMm*3Q&!_iGQ0p#E#$k04?Aazi6~?5U@o#@%<{!;JsZrAu+^t+(Rr^=AX+ z5Q-EIA@siY(+NiEr*~7cU`HFueFOx4?8lo*r-mCOqqM|-1o!^@WxTYb2jOr7tJ6=V zhH1a=pUa|16ZfVxHBGtFtrj^WKZ5r57(4rXN}V55sw7Bx7nw9_m@QOP5f(6#$1@w+ zP*il5AXi)6D8{mxuhus;Y|f?geR(Cby=y4Cep2HU6v;H-`M@@uF{2hO1TgM1)MPf3 zI~M=U=kv9i%k9zF$&AK_McMKCSj|t_0r2M}&~k#e#XJE#22*k53bbt8WZ?pq=w?~v zn717;Vr#n0_(rQqY^KNfKg!3Ymvchic~aA~-XYaguHigEgq(!&W)uR52sly+dFmM^ zTnK*xCEnN%lgHx0{5y ziH@u)m5_#A{Xyd+qN>A}DIga1!w^P8fupW}uyVfV zGV2jV`e^y{Dg-R9O4c`a{Sn_l|wD=KspuCp}#_PoYp zn6TI8S|{401!Q=ZA&MY#=h*J+JYhf~q70{1Irn%1*bJLF1_+a2 zYzuaVyrPeNC4gz^oP9M|~ZtKKmJPf{5fjcd}Cjbyhdb(PJ~l ze5_Q8I``Rop6q!1eHTn~ojx^yUvB7v?(xIx4Paofd!)U++p4Gt-{nzrRlaZyR$g{F zQmxw&sA)icB#seNM$74^v2xFBu7r*quVT`iB}n&o!CyNG18D`BzBWWWu7xQ@xh|a^ z`A@IMTWoA>VIbrB3#OpLRPpHML3G43UA!Ru@{QML5cXh|`>M;57~gSl&zL1gS@wx0 zuscJ+UKVsMP~gU!s0mbIa%eL49qc0OKtI;|oW6y0qdB`mfGw=iv^aY+ zab>W9cNkF?9Zo`TTIjRdoIRy?`f=&QKK)kv+37mN%@g3$i4bmhrDBKkt;BzaX~eq-g#7mW7fyvaSQf<{2fU40o+#3;MGUZTt7J zx|FvK061Rs^PI9!%?bA>;`$_`s<>Kq@bG&C`^ZDtL?|R1I=qC*RS*C) zKz@Gar4$l*1t~I4m6NgDbbKk3Gdx6FuC_+IWn<~->Bf(K z^ds!vwTpa~h)XWM7=qV}$R}=tJ~Y63Dd@Tm|3HiyItwp6HP*u=EM1FQjsRCZ?@~nL z37j$V3^wdIg4Utzp&2u#J`s_8&hnthRW>!Fsk6G>wFj^m8{zIeb0{{D=QYW9xn17*ALgXvH)oWlR2>2T* zvaqI6)Q~+m2xn6jOr;1zErAbDCj@8TSLe<-^Tz!LUL3D;zTc9(c=r~Xzp`od4U0cV z_NgR_!ppos`}x@+%@WW3Flbt5xlCgwD*>cu!ic=7>*m9R?N*T)StoH^LbUKBNaFj5 zR@rBm)&ZhnQkJQ62Co+mY}ozIYXb3RQr-uAxfjTIrGC6^0PyfvU+pH}-gnA-mo^ai z_Vr}KTI~xGbmtaXm$RV5f%cvv3Z{-&T8E1O0$TY$y~>B7;SucY%o7GAA>fp7xHS() zz&=J-E%9)>L=@6044MO=3Q&>;c-f+L)(;bd(4-rxhy3mFIWCjBF%8!Jg1P-IcH|?+ z4(Xvbx^JLJjKAY$!w|o5+pqdJ*9TmexB@&@FY#f^?hNv(iN=5kH!+;iyved-PhI54 zAGW5EE@|9Hf7!M9in-Na8i-k+&t|l>fsmbKWuKUCBS_2qbKU(|i$!-Z8NaTngrO={ zvF{)@PMLz?`7>E9`;}K-0omg|W*iRgKZwPP7O`tSaPRvBg1tzm)8nG~i8A6ON#fkWYJ|uN-lA2b zxq2A=$*kJnKjbF2SlQ@bhCf# z%7qvz#1U+6M!M%P8fPpfYrYn0asU;U(bSjB{@gFiw@j^a=!#W^xDi31l7h`1>Kf-X z<s(I!%gVGQnS>mIZCD4CP<$X@(Li{=2k=(wFw9scVE2R2bZ z@%zU6+TV(7`svPNM^;Z;F>k(RDBB4cw6cM~JvEtZGY@knPn&v))N?ABF5P@$K-1?4 zy1q_=HBy@`e1Et)R8I`SaQo&12gt`97{}opcS#HbJA(z6R7i zPuY2Udl4$+KgEVi8{$c8%Oi(}U!boSB*F3rTv)Mo4z}&v!t|O~wB29jbUB>5ZU$aH zvJaVJiEfUmA$2XQq?pnyRpaC{vxek!WW;ibHCvBivv#F{Vq1I^#`c z1Y&xC`_R|2!X0;9iXZ;uKbZy(27_3C?m2K17XQ#g4`a=m)wt!Ox3Ks9_P4*qSHJRA z{Na&DFg%<U$jKWZG~LHa=F}9k|@AOkXmhR4UV?$Lc`?g7%|-_W%pqu zk-~^l1&6Z&g-j>%sT={b)ri!!pwQRD5~Ql@8Zkn^fI`tOxvf*CP8m3I@ZdLg_Z7c4 z>r^jUD=D^KOx7(>I|hUZ+p5+T-D?Mhgt1m7HN*%nn6qRKnr1d(+xDF>=>b(_ztR@2 zjNyyyoM=|r!47%CXmKM~P6gmth>OiLBmH(#AYXnR{lU~svj0_7)K$Z%FfeqmZw7g~ zZj8tJPf7jM^9kJv{G#@{Yp#?kBZ9tv2+OXTgN~Gj)H9t3FRB525_sLj$dLrxb7v#F z@n!I}Eus)O|C+F62yQ3$!QQS-@3?$`Q8~JKAI;WZKKlENnT<(-FnYJl2g5!m4)o_J z_^YTK$@ytZ5waHkKYP~!AV*dAf77%FEIl0X06_C)RCXfp0?UGz?d$+w!|K58uyGc}(lDoa={$O*rvom}1-n{qkWys-l z>)T%6aB&fDdrVPPRZaT>utI9OX$kUzAebtR4jpIg4*`H1*eO@@9{oaJfJcUCv$Tjq zBBG(PRzzAb7$FD}=AKPy5Qv7qvsXuIP(@2yfVF*Ws}r#1tpp^e04<@zQzybm@JK}n zD-~()bfW#IboP4|x|e8BUvNl{`-#R;v|8wuWg$kKSm7IbfH34V8TXbQiIo}6dE4XL zQ%}HeHp}va1?OxEC6ig%m5+kA{NcB!^Z^q zr03q?>v~4?=O5cTLeoH={)8*=meWi-yk6;WW@V+W1{zgNh-Erk1eX{q1mu9?Z^WJ7 zJOowk&HH{#{(FOH`Bz_a4X(KSa-4tu`DEc&;hb~MM*qM7?zsJSy!y(k?A)?Y8T)+U zf`z#D+H3Lly0>xJ6<45@Xvb}B?e;g?d~N(YA6w(GEiN=5b66%!T=PICDt9cI9`yTy zH!RBay_AsSCL>T9d;77<{YJ$@{z&fyoo--MN&E|fPeg4pL7sfHplb(u%!b zEcVYt0MqvO!%Cf{#c^0z0IY79ls@f_=WL0#)9 zA+Eah2cD+6=O%j;j_>V5$SvTNhc{XppDbf|Wj9lh=pGixy2`BIOf_N{T{|r=M{xFe z8M!M}UVG@Zk-^pf5vK2_xAuJIvV~JWP4wSi(fBa39z>!%{g|$6Q4m+Z+Bx_UV8XXT z_(0%ns}^g3mG_t(s4f5kGZ}}$%aj;c5`VBl0__HvQdCrujVronV+a#dn!M;AO(PPc z-SIf|MRJ(c;=w>nhSM)XPZB|)TEf6Uj%fs9&c>Z`A2n*5i({3UX36;3?i1ibLvbL2T&r5q+ro`f@(oQZh{&qZrnE6zLb zJZ##u5x4&Ehq&vmd-nOeRuuU78-DCqPqt5W!oqYb&VyO6RaGe`FJboF1*od2LtkeX z;{E;TC$AMREypXH1$b%}z~!%J-3?uV2BfuvaPQJ}_+;)mNPH6lDrJ%;?{xdn&^QId z;U0+y8-8+u%-V%hcN1p?*ReK90>^ZRGY*;dQ-SAB)5!D4C|du@?K@KAIWMv-Kg|n5 zB)oZGnS*!ZiC_E`wQbdCp4mvAb&#xY335(`kE{ti1iIo*Tap9qD)Bhe@)vdA=6!RlY7d+ z7kj6*v*$)@{m*X-Ft-K``rS61K_a7AmJiclH7?TOGUNtFp^U~@b`h-=7B-#DBRJ?B~y$fwG_v+ZTKc0c{gHx`xqOJsCqLA$uMXJZ*;-j>BCu12gI~ShZ;f z79CNAszoQEsjU^NrjqYgpsGYe9O*@6b@gL|13jN3MB~FozMCRvHA-TWk;_)-n$t@q z6M-*Ie~f&ZmZMT4+th)`NE`!y86taFgs04lxyQ~R{7hxBV4_6!aZY6peVy!sEKdYz z&4iQut_eDlL_wg%zG$jccS&fKEB?pX(gq`I zFl!yrZ;>VnOoY(7&TtkSt&3X-7&btgT=Fh~r4tKI30geGq)jo{OcbNR%k)h8|4^)W zr~Qokmu(GSb;69Tw7QFfC+mR)HXGe9Y~Ovr7Wa8C$XC6zO1;=AjztRQ+AjjY^54Ia zJb3Z^+c{1%9Uk*Ky74nfnVIrZ5fj-6SUX?Yp}-e35$@Dc-t0i2#>7xuW?EHdP(w?L z2ivzNpr#FI)WsfdH+&CEmoCMH z7k(B$``J%%@F53dy*x1Of(TKK411^WdL*qVL+L)<<8$p}?2C|tXCYihO zHq_yaqF+>3({xfpOFIIgAQ`_v8$}^hRRPb4&V1hGRjn9_2dzynimX7C=nkRM8A5nS zMP+#a5x1W)cZXCW4U_mq7$VN3{S?l^>=WKxQaGwD>HR|8_Mq`^&WIA!oT#tZr~z{(378 zfPSV~Rne%RW$=VSN|xEh5fb69blRn&nI*_5h9&6Vp|17BfLPu5!^)2y4Od$glG}!$ zrxcuc$|Ovy^I-kD5%dwI!P6K*o>=K2&c&dBE%EYCV3z(&P;hsgWF!_<5vL26(3chYJ|mslr<>v54RJfWq24R!x?W za{_(cc0XjQ{RbsvhI1@XNF?8B5=mN(s~Qn1J}yCev~%N@qE>?H9T+m7dQRC4E+TW1 z>)Iza4J_OH^PA5)qH^h5I~)7D!`RBj&{zg+*gb^TpZ*)#+I-CH!xI9>vSi4kkJ9$X zBN=i|3au3!wyxTWz8(!VL3i61j+w0a8UjL2lTSmVRlP^k3WFF)h z5-rU@nkX%t;dZ)(Ki+;f<{vhL`L*~|8fJ)aDW?mMKlTU<bpdFa>PTeF8!x~0nT49BdlW@OR@Ipxar%t* zJ2YK8jS5A&&h@YA=p0w`e;$G$7%UzImY@U&2f-zxp|ysk^iHj4N3*8^zj^ElHaDD| z=gl%%Y`rJnBARx~V;KSDeVXhCGi$j%D5WwfwbJdZ>Amu%ClX|ilgJz#ql*Eg3G-J+ zQaJADW>mX*Jb1@ya8(|n9A#OoL#98*iXzDkUZi^y@Jy+JvmuDShyMtg=`L2a!AwUW zRJ6e8TXzhn^Mp#`fENI+K6O^LV45>v=#>BIL>Rp9#g3k5ihW<>g?Kz}vU1sEuju)% ze+O_30M*JOm9S3V64Jy_aLMwebz^I>K>I;3O`%Kkoa3;;|jkv;W!gLu<;~ zV)4XPhctyQ9ZE^4CY!#x3OIxaL;irnsszPzENzgtbEln71wp?PXB_Tlb4H1J10fW( zLH{*Fqf!6N^1$tzBZ&gDe{5s_v*gFK<2Km8gVmi=q|8cJ)tsg&vatJ_FQFpjw%h?k zz-zqw9{3h4ptWN0{qO$(;cytsmoLZFSAPwk{NyK*&ZKeAJ$K_rKl(8lKNcT8V|T3yLPQz_=Z09+0#SFt>>`*?X{SWa(lNr@b4h{WKvVv4k)F+`%#VR{LnG0b4ButepSE&IokPO0Q+wKDQ@vkOfTH)dIO9X-xkP zE_d1L+Oy9UN8jj#x4jZ|3)|5!y@JrN49$awcXB1l$k^g5dr4c9xD*?_KB{c_{FoDLTGI$!=(0F5bX_4(enM!y6Lp9Jq-w=rNJGv;SH~& zJV@rGTqqR#aXP|CBr;gj8M#O^4B8g*2SpxQ0j!w^t=FKax+-ULoTYz~;Rg3OK% z^ej1@ip%W#Xa<>{P{4WoMG=*Iy8CIWMMwU9EE4qebweKl|>2O*B48C$^Euh7mXzxTNo53t!2RdapL|P%u=|I9vlkaQd zd;50WCc31L_ILJn{QW(hd(ffgmfk4hI{y`y&-LVZ&BfotY6M|1XS#H)o)Em<3xW#t z21^CBYxr2v|I7ox+jT4~LDGFv zvCPF9f@EX^ez(9pn7hJROeRcX`)~$r6&|=Gi*QmC_=?UbGC2)d%@kSE=mdhQWud2b zA(d3+bRv=<4>cs%rCVu0D--$>3G{vTLNxyIVR+^rf?z0E2wA-9s_Ss?z4sxT&EmM@ zj>BDd{u}{+fNh5C`VHth=Pa11gjEhXUow;kN;woy)BStsrXe-C(xJmcBdGNQvz#Vs z!~kx(?{&Poau?2Vco8Ck-Vh<)g2N3qI3oDaJ`dD@BJu)ST`p|dn#2X0|AtGKM6j@} z66F=W*qIoGOqk{fa+Rv`&x8A%E|F7+@I>h7;M<$GrpI~s1sJ+v7wfgFRho8*-$K3r zJ+OLO*||?vOk2{_nyY9Mc zao>ISGv-eN1FygSdIW+YdN#5fHlgox7lKF@_T1Uk6=Cy@38eVVo;|B)+m7w`ZRm@B zU0mG_;i+|uaJ9?8e8R)pyprXq&X=^c=Zrm7noh{k$bA#D1QEG(4!{57TKtqVnYBpM zSesnU zfRT&C$fRLpBQO%Q=~%G>e&0PNH`Q}bU-9ApUAd;$(chP%YobNgjrlv{2|M?l2>A3F z(gMMTgAu-wY_>HaE3NdifFz>b=dmh3!o29FBMw?nRpG^=BbqVnssF*zSN%9w>@j{& zjEq>70BK^3!**%$d~s?4?pFa|^$RQ1wt17E5KQrPEu~#ew3DxRYCW_;JdCu4RG-YM zdZo8ypeZJTEdk`ZQbf`-knT%bWkHR6a1bGcH1D5Hi}6FrEd{B+d4JyTm|^dn4yF-t zOs7fa6r$k^1+A7+M8hWDmabzlPL8*Hq~P|4 z4y*4wc^@9d@MV{Rr!fJ?9D}RB_BECxPsjKDn{Gl`c{!Vp=;MFJz}LSHJ{Dp0UEm}} z^jWVs-LfDV6G#$TwR(*vN#e*%LbOHRjUW+d{hEeF<$g4}oy@2=Odq3Q^))^JkUlJE ziQxVf&3LOXzyiQ%qoe6Q7iJQH@YQ${yNOUVAi5Cbb?jDTZd6u>2Df$m192czT}`In zXV|{;VnQI23QK2acWDbaoYm%(jyvFRAn0;qw>eCRI$y8?u=p1{W`H#kGVER#Rx3ff z1u$0-gn_*^{|U1U_JL`Y1tt4Kg&NI4?Tw>iUJDX$55hmK0?CcNgs$ljLLuncoYm>F zsuH?P;{tk7K^R@CHwHcsfVR5}W-tgY;US6;d1X6`J-mO5P$)zYG(omk%jPAq@9yt= z9W&&co^X4jn=QY-XjMQrE!z)Eb7SY{l|;)@!i0c))i-ATW<;{MYTn<$;4FVHi+STE zfwd{lzbKKn)4E_cd(#q87;=Wy{jaXA!8KQ3&BjKV|FYMY;cqX!h|4BT0iqFd9c^jr zVAND+l~OG2nNEN*!DK)h0a)vlV2C275<%clpA$jK*vZ(lc57sTId4pqxfN9Vvv3J2 zOPOOb9ZhlLXlfvbj|4qf81mvTX$2|59H^2+HOhbXciWmOxJ_NG`OjB*2a1yZSAcEh zr+YTv1<)$zYZ>uPJJ*S$t(@)ZXN=9$`JtWg{7!_XRk6U)%y0@;006Kj&d<(}fSoo4 zmPz``jRQpUuR(BD71Si5dE5H{Rfbeu13jH28h#R-qZ(>| z57fb4l+P|Fn!gOCw;PW3W@xbtcv=lLHG~5}|Do=!*x)dl8Y(c^@59caH2$!m8-ACB zS#^GRT~>SdoNQnqs-uc%`}8ThgwtW0Wh>m;Pe^OX-PoK4MLd$&$3Gj+9XYvp?kz7Oq^+$)70{r z`b_#8&E#fxX(mDrYQh9#Qiko|V+tXej|&eQ#Fhas{LP>tCOuq#>9F`sTxZg zq+>JfI0~o4V?OVe$^`N0Oj+6Sn+68A<^S&4^QYgT>gr-eXVw1(*AyxJkHX<_oTMu1 zjZGhFhr{i(ly}`)^ZBulq|zAG(^ep#xhMFEvyB&~Jx@$vEkg8-?MQC! zf_qjQa-Ddk!h*-gzW7{KloyuV$D9{!bUQ zXy=0pcAryPYo0B5K5q>G+aR_AJaJH{U}5TpF0*DOlz?x^Ds0SCoGwUq*SErEH!X(0 zd-rbk+8ay&z#b`>dPY?8P1~~hNMWM=Q#XJ4;E!0TZ)ECDEhxFj#b*-3OmBHx;4dKy^^*Ew2ikZF$?(%V%Q(ulylMmU>3}F%? z=I)4L{f0qInpJ`DP_{CWRQB1YYBp1A>Q?nXk(Y{173&G{nm>m&1De^2HSVgF@8vgPM3~lO}Nj_{W z+Nj?FoKrA@i{>J+Y8P4a3e-p%!8vsZzq|v@r_DjGKZf-7J~%4;$nGA69vy^OTMc6{F-vKcnPzJ zs#xAVq1@m97KUl%G35*7=6j?UeEariGSU1BWlao=zsJeqw}gPaR>av^&=ZI8QE*gb zv7)^>(~yY}pqWt?7eF+18Ur91EY;26EFr+cJM${u4w$6KkvZy?GfeZ3X;cg_;HGAB z8XYW-d$+rHgrO@K*qO$mQv-02XB&BQ7!4=4LGGpQtr)oGYEbdzsjW3=F3({5h!>Bn zufQ2I`>`ofK_nVKaE06Ek-i1XUTYz*b#jHBzIY0H;Ugd)^REDIDHt|62@p>m@<_&3Dej<(Xs*Q$OMM~@9ajn z$#WWca~DFh>fxyiA-Z*tjKvA})H-;k*CF~U5rSnmf(vFMwqh%^;TWTV&X#)QwylI7 z8HHFm6?|m_XsuwbSUqFk1D;#H+PHe!Ar}t}YnO&RIK13vH+|ZNdf9=^cEP87oNP90 zvOY1aKa}kO%@TPcu5dfbUHGYD@I}jX*`KJXuHlBm!zeWO0xgFjnwoZi)&clukX5qT z;|64zXh%UmzPPZdkjKlR++vQbAc|2i0a5eMu8tw*BgzoML4HM4p}F!C-}kjQ^4ZHw zlV@Tced%^Qqro&}tEr4(o5rmA(9|ZX>UQ8?-dAAeg8_?E0Oy^cE3&C-Jlr04xf(jf z_4|h&#@#LtuAx3n^7$@B!6cU(4%^ggZFBw|Wq^1*fi2yG7$O=!t&1MlX@eAl#*bo( z#|s+@~WlVAS7=STv}V(`qB=%ZMR}PJuiWVNq2ryB8-IJ`Wz@CRpk;a^ z>g%gOpSdsYhg%{~GiZk_3YJU9%7C$oeyQZW$KghQHVReK*nUXG;!tu51l^6URbfPt zV3x6X-zd$czEe?@q7}k=C-A0uePZn!clj4B5;9$3cnIf8b&eu1vyKRM5y*s=1rDFe z+&}(VbpU3P%ehmq0E}j_Cj^9?p&DFwM8zM%y6~GntXfutwx|0a zhFRbac{Pu)h2o?)kC^~K3mfJ0cQf%M($To(+Ov9n!g6VwtQww`>O-`>jES9Lv*7o$ zEQMBPzySp=|9D|X$&rPu8i;39cqFdCy++dp8bT5T+uu(&Nlr6S?hy&WgzX=-EvGy; zp`;+uA)12at~Ez`GiD}^p+gn5miqgt);~%MAJL#5cD6m{;RsTx>_7cJS|@<dn6~ zWfp`yVW8`yPI52}vX;!9EQt2Z6kh(J zcRnQA;Eo8gQ5y73OA8B-%4sttLO0f9!WIJ3<>SIpJM^t?i8CLM2%K;qYqal2UA%CUfMR-4)l_VP~dj(cF9w) z`JjE?MNuG(kGJ!tt?x9A;`oT(2_|b_X(F9f;&S)v;loe365iX?+Wb1EKL%u(`FUw{ zH~mlR9zY`c&OMx%iQfeBmQK@l8+Ybp)-%FGG{;~zaoNok_22m4(f+})ALYMBusrxH z!!Z7;bNn#P16;Ey!3Pg5KXuz+2E8%vt0~j*r@m+gP3=ejR^IXA`5&LOjXUR%GDJFi z3G+YJH2lq9ltkwiAyoI}*Vc^q79AEkb?ZO|krck}E33L!cH|!NaPX#*$!>(LcJOVD z71-7nMM{^x>i2pIH8Cc&&AUp3ap{yhhRBLb5T+E)?x+bn#FDj0n$^?E#SrvTKtD)1HClMO-r^AS4AXc|QCC^%FS!B^k)@f6r z1R$$xa?{A zhr_H6fbH6~Y93G*fI9wl9>z=nSp3-PWhb@FyE-TdHxRA&c*(Y4=gmGw!T3RzH(`V{ zwu`sj0@U}bl8v4<%x4woH!R(~{Ee}?&#{0cTIo)@T^pV#KdAIeNXvWYY+HhlSqOSE z^2zm<{A<%Ut8EJXt_dapz^cij$a1c>CK=TY#Y=WO%6W+?gmF!Ux`(>6Q7D@>powTd z^>q#CAK16eZ#X=RZNr18n{zla>sGP(GdOFVbSVm(E3d%5>H@FVaT~d02t~F6yt;l% zocxH}Zxc-?F1qN&H^cV}4%dqrPP*^cFTIf^FZ|}0_kH>IkFEJz8JB*bKIFpNJ;_+} z4B^z{KYrfY^Ugkp?)vbTPCxGAS62_+Yf6rnoPqNDpL*(5YTDn&yuaj-sXtOw?KB$w zpHsELWn0!28p9~6?AHz56$plY``BNXEnaf+!WH8-5ln*B3-K**3aoW+)f6vl`)!&6 z3*zfrJHqNY6bk*YYfX#klg|Yr92<(2HA0tvYB&QUW9O0bmc~d^4cXS2pb_CC-LFQf z8;?6S`qZD+I_l>$R|d@tG|9S8ZzKYNQv!={V6H%ejolz)H{}$x*Z>SUOEU@BchN9n z$^>)CPI7$oBdPeN(IOA;J>j4x&J>BXBN77W2?dajB$=hhs&-$R`mb!v89Eg zCO`f2i-TV{{)mee%}D?H`Bw{!efqRH_j|nVN7k-gu{4oLRZp%HywyIUL1y=z0xCGO zI{G|U>2P~~{NxKOKf3t%!{ZnSaCUSWpAS99|SGXOb=Ur+@lt86IRgMAD~M(A0MR`Db8(71ptaBpN?Re0k3BdaiD{C z`F+Tw(#Yp|SCEymwU^REtCXxvivSuElFt8IXodVvyBHAcx2DC|trT&C5lkxiMYAeu z0$xNiD*V*fDcZsTmHr8nRSa{&$iY84scwz{^{||RTApY%s;>KAUzw=)cKj)^dD_&Q zW^CJXRGEXvWS5)8fb6F3513X|FQxWfyU<=bI5kW~a=Sw(8N^W^C(Qgf-TGfnk%bLn(u;f!;^Boactq3Bt1!?3v=RlN~LE8pX zcYtNjq5&iMdjFPSO!vM)17z4MuJVoTr>H%K`A-S{PY!O}hWC zWNc$^vB&jZLG3&wG7rLTNqt zd;(k~MH>b=k)h^L!L)k?fL);%c`kmwq}?gXnYnI1J}*fA&vU_gXv!!84x{?*HzU=p z6));3qi*UZ(b+vmQ|rn&L!z6v*=dCVik#)%8CbglCmi=NXbTq_uWZ|F4h#-*!^6Xj zS#8^~6%VFU+*dEZ+7J~5{_qed5oS_3+=p_(!5S%1p-`1`*Gn{3LUMlVr@r8;^x~w+ z?fOPK*7vW*P)zWwpPLB>)rhV9$$xqNr1pdFm_Bd*d68JsUDwp+CZ|^|`tU~}YZ?)S z)*_MRe$m)4^G7t8Wa^CBl{F3ZKFzMgSUd<;{eM^ue3%7*aC%w*%R|lk)XxvjPX7X| z`WCz$|MFe_%|bweP} zPz(i;8yErS^27AF!8<%K)Fk*oGhzDVxacRtWetEH<~ielvw~8Xf*sssmw3)U)4iXZ zCHL7(&{mcTsZn{s@IMS5j|W5mu$jLFzDVO7a{+*5beeWPd_K5?nmkmc!2CJO+m#m% z!P#kXqHthZ04!6bMFi=8G_{Wg{N<%vx-DqO_nLsjD&AQEQFfIy+ABPxv3l9mN9ZEl zO=C2#c(U+aOPbo9eCF`73jLSObDLc4Cwx-Pa?|waD?fCdaiRyEtGn=Gk0!X3!Jn=^ zc-Bv2tKYhCks+3q(I6ABA=_GJcX9r;b8m76aP{E-~R=<~K0hI>);D3IP zx9ka7l={9LAKv!w#x!1-R9$hqs>rA5xr}dA7ZA_sG`=OM>)MMAL7(pN2d>=F+y4)_ z{DfduIV90NdFmu)If;x6Arenu+vY9s`U99Wb55DdH|9j9q% z<7zv#JDTJ*dDB+nthjDFyv5$9rW0S z=Or%n<#2R!(F0!J3%>WgJ6*w08H{yzNi?{d?D)LPyTI`BPtUZKK=$lS`)TI`i3JgY zD2YG&+3(%SWCGv(<`@5Y3ef=qK@bi#43i^D4^O+h>UJCmg<%-;h%g)^e2}~myjE;jHQz0B5oZ^IIMDL{EHJWX?$z4z?*tiJIYNa` zDpbU>$^z#bq}VM_8Tq5X8?0~8c#q>JpO{?bGWlwUki5q4!>2!VoFA^{!%SD*v4S)9 znpk$s;ZPDuvcX4CKgGn3RcU@{|N1M}hR6U%WgMwX2oUX$G6lNOL>BYGLn80>M;?`; z4?iNE`SB(Cg}2|X{dL(g^SgK7&E*IK>+kR9bGa<8`PNlDZ4vCd=|?)3PT|leALiV- z45tnDai*-G#o@5a$#NJ_)ysz!?Q%`W@9wN?x#qHgu7UBMufNBn%JMsFypHqzm0o{Z z*3i}%Kx=IPudVABG}UOO0&X~!d!W6h;^JLHqfhL8t--nma#;DsYe*+^sI9MK`z4#P z3M9GRZn)f@g0GmBj3xrWNO%aIK!D>N(ztL)r_(uCRn-eatrg6tY2}8P%)LbuMd+eU zDl!zsu%DG_oAPb8Z?AP)MbfZiWQ@FJFs~BY4T2~=P?H+`bs?mO5+5gfWji69YsO=o z?*~1d&kP>_(eoFt-}u7gT+_l6<-{m&=0-vLql^9;XmS+XDD9#cg09in2lC7_5_nIo zVIni+#vMwU5xkr!tKIe?=LhZVrT5ck4598lk zeq)&-X1;71`;@JZsuM1RXX>HnlC^P8Wu=LG?tXNND7j*}Y%Y8G6=xnW!ay)kE)ae` zzdq!6+|&&w5BJA1eoHa5grEwKbf;5vvgpsWYJAPX2cAl#6YrcdwVyEN0)Wm!;q`s~ zlxh3N3r-=^GU(+~ge()ei3wKw=3Rs7qK7-^_M+t=4;&spBx4&VzjZ06=iif^{dgEs%k^}+Eor$*KR*=ngW$C zRp_Xdc+@#X45|93x|50Yk1Ol1yKp zo73QSh!8~{)qYpyP*T2ka(%7Q(LeZ?{Pk5;m0#PiW?6$E@(&L5?fml88B-44ylE5C znH(lfn+hjo{;*wUc8JK#*|SmK*a8+bit*VygaIE+USF7Z^uefXtiqsz;*{iBYPzm&cPcDp<&(>Z29ZTv&hG< zk=KM304QEq`dhiIdiG+j>!m+)RR^EU_O+%#9qj=p`JqwY;OGz;qsW+~p~YdQb}X%_ z@tnSS<0})Y_Q$`1$L%{qayY-w)*jEhP2^*}ttUwZT4%rwIhF-&AeyIn6qZ{wZw|MF zSw0^G%H<=e2qO*Eyhwy!!{ty{Vvn(_gn> z`#=VMr^ejFpFFI&qB`hevhG7GI)B?6mp>B-1RhBw5}C2QzcCX4zI?@vl0Oi1YO5cR z3|isP%=>t_eX2sSU}07*&M26|ncIlv{P5DZum8DMRkG^$e{l5yQw2&l4NHMRK4l58 zo0+pQx+II~cSmJRt#MlynN}w)Dg@<;dR|DP@AYwxi1fRSUo}s5o;>y7a`bJ_VdYa< zv>$z{*?z*=#_*bFF|_<1fz@v}tz3@X>t(#qrGPLj95d4ikIR9j>$B)cInG``s;>X8 zfgd`Q+(%j@v8+K90;0(k{JM0rXI^_*$Q=C

EP-bK|qmXTu_I9)H3K?!NwhHttk9 z%`G|WtV;TOYfJ0bf5mZUhd6Tvuj@7^6xk$J3mgO!7x!dREqB$ne(uu2&Z1ZXbknTi zIMYkV)=&0uJS}5d9o6)R7E4}3$t3E6Ue+azGmJ_}6uf(1ziQ3PLq{C?q4POjiXPTn zJ-ars_23Qt3GC<{BwBty+9pp$Q`;msT-N%bE5+$>L6WFdgfkT-H!d!KJaO*t>V+n# zSbX{^=-A$Yt=qOE+rz=>cS4xMBg5q^vBbz*2n1&Fq80$Fg)a680=&uEBvVj&Ai4yU zP4UC!3?bf=K=xnMl9-67s%kJ3S=Td4ZuDdp^1vEt>5S%)2gTeZhH59xvfwvkX(Aq- z&@m2s?0-{~;gyRR|JemZW@AAcfrp zyoJ&X@;w(k_{-;41=k zi6l>B{0lN|KF*Uh$|c0jC-HWFd)P4nd?7YqPYdBaeo}i=jO*CR{U*1pNklfSN@3oD zfambD=R2M4r<$3akMlm|5zcpH(7tEOdeb!D2j7!1OY3v;=I>um#M25)O&4-HkzTGd zjV}|W-nhldU(XrpWeps@ zbar*#vZSKoyYwo7j zR^MLc;um|I4h$0JpHYpgMW-i1wA)`;`=5*Xg5@6{N=B~&+^5!rJQ$2+e%xAJneH4O zDOdsCT)pkR_cxqT_y0W-CAuUMq9+K6AkjrlwCGZ_=#prox6wxl61_xk(IZ;a!5BpE zq7KIBjKLTTMxFV(@6W&R{Pe8*m%XmG)^+XI+3TG1KI>e27vvFS0~deP+wr@)4Jy75 zL}mzC%)Plz`vOVEnk+2HlhKt@*P(`A>3fOaso6Jt#N7psi;L^+{Z!GCPt>_n%;zn< zb#A<8s%a8PsWWi(kT&jlbuzFObTB_`z*8&xP)|)M za=FL}ewG^_V`Tr!LSIPfJQ|M?fc*VX_{}>UvR&Iaf;kG(VK~)#Dr!^j)@~&>YWAdI zw0Zpf8LMvQm+z*lMBPrK98V+9Gd4%Sln+}wr#NGlyTR}uz+mf>l;$%I#E zpelUY4KapgGUhcLLT~>bTJpgxpp0<;?qufymt`s84}=s=9P4;)KuW7MCPk^sNTrC8@?M`m?UI*JVE2e~sm< zWqDoyd&E3OL5ZVPbDjFNV$k2LGrzYb(pC3^X;95m&!y9zwEXdM+7ysk^uxSX@{4A0 z47YQW{>P}e4QaUHGvK0Z=kIMhx-Q7A`smA>yf2{#^j$qcn**8TB(_g>zH+lLR zltkvL0)O+PhcsIrG+#9Dj_VhS{dOtUewG!J z)n>!yF`kki45oO5t~!0!3SMou=omFrDRzCKGygSz260mA%A%+Nf+Ts;NG&>|$vEX> zcKw-dbv-84QPN4dedLpveDCu+V*{E#)X`r-sr{4D`*-ONi$< zrkum*M|5Y%kYAS{X6OFM#0F4whkcYA&e7ykQJ42YdW&~gRQ5jp<>TkKAL`0#<(j2rfPRSD=%)B^OmTOHa@v1n6*Xhs`o8|p937!q zFl13jTOLk8ceU8Z?VMH{&+8}rX%GC|L(4${&ay6X)q(*5zZ<#Xz!rU3t1lvDsL6P8$ZA0396ZP6L8CC9%wlT#O-g?mf~h=93~ds{61x6i(-JyS=p zqqo@DII?FJ0)pP9Vnt|=kLG_u{kSq;eKern11P2S7C`|w0OV~ zE-+~$3k6ZH{`|;-=E~_G9&^AO&TvnaQNfYNYP~8KME_gMBA?HzwdnbV6Gu9k25x5m z)ljIIS4qF&+n6*>>~i-AxvH`edjv=)d;cdeJ*A^K2yB#F;3|~VGVXnQSEzS(QQ_!8 zM$x){%c_ywk1vC9>L*bp{CfS-OgwhR4?aGl_T{<}=s86fdZ%@L9o^G*0g4_o^;u0` z?@MkF_gZj*T-i{}MLCaZgu6%ON7eoot*%|mlahfUs@ycb^XS>#HZvldBKygz{@See zY*0@QX%cs_#zVrV{Q`e;r)hZ0(lUI%6!>2d)2*nV)-d`NxeA%dTZT z;^E<8ZN1Ge+2kTxflwp9yL<@^U6+IFKUJlox!$yv#OmJm`ipLRx7p;<->P(Hp`fFD zzN4{9=zcf%eu4TGQ92_PR^q>S811~X$B{1cWstYT(!6*wsVpe+CvNUl_p_IL(#nr{ zC_*dUoi;s5F?|_mB+F)z9o3hXfH_)YZ3E$@;ou!` zYJ6W4uK#11rb4la)HthL`0mDoi#7iN(Kz_DNecF{-3o zdI35TofJy2*+gcV%9FhWH?UJWl+#4yn^*6g*TuLnkY{N1M$exe!d}0hA}O7mJ~}$7 z+LKeOd~v_lk}4npCXoHb_}$m{;`;th&#-P7Pg_b!ysBpg#{FBK9;=~eWa(2Y_)=S1Qr}b?rr@ct1e_z8=;C~o*g75st15V~p`|L(9 zDUba|0u7@+B>s--=APDZz;yzJ>x2VK)>$k zvBjrw5w37MdP$73N$r{eEAf4nhN96UAovz6$0jBtG99n@hb(XRp$w_wr^u&y_{k z5*TT30TZfxa$U&X+!yoX(@fiUrFt=PnxNa&tjPnCKS+cB8|L_s|AZDrD4;Iip9d** zC+#gN`PQ0&6FtDz{^Vzi>;{g_yXW1%7`gkQRPlGe2vMHhMT;BjD`|~BTEBC9^f&b8 ztirQ$V`-m#En#__3Iko2YN+ z>aU>|OJqqu5OTi>CNu)J6cLqz=`d8WXxk8_MwLz#n-1#3Qtes@bvfM9AN-Vue|fK^ zm{I;dsT(Uh%R97t$u3hsDHfUS`i-u4YfYLqN_B+TDsELG?#no(v7AbJsuB+#NYa&S z4?t`7k+Mac4YxFGN#g_RL0C)FzUg=3e?hleT!X-W-~Kt4q0!5hZ9kJyGN*XTteka$ z&~e)723fxIAALSYOzNO06`yH#uPyKjS8F(U&~wp8%zZu$WS&3LzEXF5@Mg8Ju6)IV zYFE@*_$;z*=R0494Ho3ToLIrD=7s;Nqe5EeDj!R+FQYO=cKOYQku6}q00?Q_zY}ME zBKd*Ct?58jvrbRciK=LS<<`m3qba7`6Wm})#|F3D_eWZ<{tJ;L_DTrAHZ`*qLqogd zl-Ya7=Db1N;sP|Ofm@a8+6-tUcPs^Cig`Tz({HR)%1YzjMk0sS4S>QBMqGxD@NGXF;v_<+A32&L^#gqbL9n4zmISn_PS z>JjbEb=q@Rt)VA_u?I0x8j!m|k+-`3QP;*FPo9UDkdXJIJTjH`p`;RIHAN94a!>j* zdCA?L(FCU{$=mlFy+o-so|GiaH<92X?%I72NpAt(1z%J`SnpK|2J}d_(d|Ln)$kza z)>kxY<`2`_4Z6$z+bv0P9fXhulSK}%c)K7Z;9^IQUomvtwn>YM(GV058A$4<5YvvV zVA*d`=BfK#ywc3OFKf8J=%7rkwfUimhs3#)hkxxuztGbcIMX3S7#(q&7CsALm_RSr5 zx+Kz*`=jp5fr?AqWcKNyCixFH&Y=Hm`gnRCz}926=!U?Qe`h#tmIak>jXFVWB4u|x z=6^G24={iG@*I{=ljZ;EYYi|R`GGtUW#lQPe^Frn;98#9RUhP6E%c@LzIikhr(I58 zkouf%P)x#0<-T{M%>9XWAai4?;4-KsKZwq^!JqA~FuKu-9K7hQ}yqmY=_UQu^G?Ac6Gmk-Mt7;=BF^NajqZB_WJm9-YDc&Zx-V9XUfr zO+4)o-fOSQZ!^Cyi0_LA$VQf*zvO;rgu3wWl$Jf^{M3p>)m?CZ_o13F=zY zx_V3HQL4QCruT^}(cqQbiaDgC^9K4VD#(0J zWUxB?anP)mEcL57`$6!N_X)}&WD!q(Qz2%D3fcr8+cAcA>%F-tJQeYUNZ)=qsJ`J8=Pj5@W{#nzgDeTJl$&PG8${0UeNV(F+n#L&lsjM2=3 ze^X@ifCK!0pyEJ+0I{?SvjYAU)`*}ACB~8uX}-@>p05XxFilpSt3JrufNv%ydlh}T z_pqJS^vC{sz*e5|x6r!lg^l#c2P=>a%T&AgmbX%a=~ekz;in{}O0Tsum{Q~^S^cf4 zO_TJTTz@${rH(mKzB_mI;uZF5Ywak4&hh2rZL<7ntPz0g0b^{)&rgjL2q_tbp!kij zT%Z}mR*S;g<^n~ZwP`4hbfQ$s)>}z@+P@M=3K-1|evRS$(=6~!W`hG29bdIYJ4$7j z2lrZII!fo?5Ai@XLRVqiea?4$(Ic8dQob9%Q}FD*>$mUG#w$FMo~fb~0fs6$a+T7@ zq0%+~)A7=IwgO2M#|D_k&!YV3wM1F-czC|s^_^;9e;0Fxj#PpE z8ge4EIe>@l9_h14shckFNa0@{CvGe^6~)1Ky#swG>3$(J-;V;PnAjBV9>hqTEw)$f z%+Rb!xSwYJ$N5{y(~VC^PYexwmVZbc(SMnho3Ku^X21>_Yh(~7M%kC#`tW<9DJm!S#?)@!9LY zk1QDn@A2u`d{1UbWh7IfdOFL{A@q(igu(h2X_uwut>|(aZ9<175Rg~*{F53R8opbsZbZKV;iElZ-96eDW9xUGF7DgiQ z`PIfAdAb)xZ_8l6$&YiexGLj;xkH-+F^L4h4 zGf;J=W-SQWqC*=6KER(8S+qf4qkbgbCArQ0?R?HJ2wV=?%_}XrkhgPegF%K+l7#?~ z$ybYREeFD9Nfj&s2I9_@;$B{B82JM~lZZj-8pN(+7rGeN>DH2DzG~jXj&DPXyLN?O z+>cI&BjnZ7eB^5%$xEcXkw>Xpa+IQB8jO!A7G}|O&<9-m7(YNeH{Z;j zaQY0q39SgvD>o}$4Dc3;+k*%r`W5p`p&&gCG8yFEIVN1mbn$%r?(y7RLVyQM7-lsq zryzlug}Xz2S-n>+EV8Q!exHN#%<)10^J~ z_+}V7Pwb+8z9uG)adIhy=h69NJZM$AEL~;nuClk8P4>O31LP<` z!Hgl(tTji-pbrX6U*1}EmFo0nv9&I%deYr9CBXge-`ClC5) zO?(%B2jKcdS00ewernNzBRT7rG3O1pk$DgbLNrX4j3w7Y(z-)G7V=j95h#AW80dS4 zxuB>9d+*zU>EG<}w$_-VjR}X~9Ylv0>~mo{HBX-A<~SxWj0`7t;ju?}SH=_Mt4P>^ zw_9-{zPPAdap5U8{nTtzfiC91;E;y6Dvjp!WZ0*!y(dy8W{C!TPl6cJBb=>$Ix3UX z&8yVw?hbY<<{f49$y%7C6x(QSW43gb=z~6=PvcGZ`r2;q`MA3KjrDi9WbP3RQ%%NA zMxQ|}a%QAIrhQ3*H)p}B1}cG2xmx2q&xd7cd&D#^)D4<6YNCy9aexI+bK)9il z*~M_RlYAa%iEo%mekx^aMZo_U@aI?#4X{KVVyKAKmp#|D20iEp#G#N3@;Q&#Z1E|> zgdKcbdOWnM&*aIyqB#fKn{9g@wXv>q`+s6d!@f+~#o?Ph)&;^n`z3YmlSfR*Re!C5 z!G(TmYK(4bhq3hc>$U$F{DMwbJz*uHzWK)(c6K`KtVu4q1`@gt`UoYypAj56cb;r` zxFc3t{VVV}=|777>X>581MI4Qxci>1pglHEB4j~Wp*abLLGH;qcZZ+>()`Q3XHy8` zS(NN4t-FoeMujhK191}9?s%0!@mN4U$gdceT5)Jq%1XesqF@eVt^=($xh8z$Xuo&B z$l8C~m(axTJI*du!&l`2whc9~B%(uh8^M{TBfj0gkGqrz7l;azVe0C?bWR7HF2@(* z%|Y+4)&~Z3+4)n0@Y=ZKY%%~qcRZO6F!v4W6da$Mo{BPqzPFxa<>X{>b@H@x&a1rs z(f1H-ATd1o)jz?S9&P z5!8)aJ;*@_Ot@5GRvzGfz*W3s(oFX=e(S4jegW-tOFs&jhhPk$;9stkp7HC19bH0It$et)cmX#-aw@2>hD)C+B9UHps=#UcdK( zdQUdk(>^DQJ9qYl5VV)V@$irB=3svudsU4B#0W&atCM4rRGgx3c((&ri-|DY%%0_@ zC-gVI0e@cN6e7pc2e{awe8wyNz?klpYUEY3D2O)A9g7Qa3AlLkm;L^Se%`UZem!$< zCxL;Ej3ZCk?~T3dL=~Tn!N_*v*3@7ADDZTvUELZtHyE{5)8|(m;$qG)xv43g=h1$% zr&X8?$2L80mSLRf1n=7Gtm)(2z&zw(FB4m6+Xmx-HL6PuW{ z3c=ouPX$WUoTKrV6N2!8#)I2%=KE1(8MAdml}ua08%t*`=l4S^NY zRK<%l)YDQ;;|l?X-r(i4gO!@31$RvPaQbqizyF*dY2b2qtr(x7{N-BT7@;F*v8|0C zyx(%rRcSE9POgvb_D{Wa_+F=B2exwiB?;FS|!mO zcwP&IEq?rCwE0^b?b$N1Rc{vNqEKc}pLM`}SJu7i@!wC$xQSiQ(qXfBCV_B&9bpL} z;JuFM=;V}yl2`bvj))W-5KtOR@Qn>@%y?DHe#a!4vtiK}*ANB~&VpY>#y_Kj{El6c zkW`R_692i*u~x2sv98z}{rb(R43Hc_K8)?%3yHe)soItoW&&xA;)q>;yAbRBg&v2q z&6_eTmD386pg^x=AzDCgP42t1<~o5YD_Eed#R_k%4t_B&TkCiAe7G5W_W>x}(m;Ex z@~*10MUx2u^+m;bg1pV}cuYeQP=%mg5+F_2mM(%`{BE%M`25Z1fmY(bvU`RyTnI|$ zb@yuVha3JSh*O+`fNnexiD6MTx#ZgxzfflItH70b*?>;;jO{W=VcW?v3q#%b zcRHIcDXD-Ja;P``p)sDE?OQ{ovUHE4wmQemC=&-i*(ckCyhyWv)bW&Y|MALW1~f&< zRi4*LD@d`btnk6=Q}%i%@cRREk{Qt5L0P;S4CvR1X+#&J0*vh&CwneySUa)zZXUKa zBp*&(_?wVUX6-VxBOmI?A+(05pkM!3@0}-|K{6|tL9x4YdH8|TW*_@kpA7$w%JNzH zMTMC3FgF2XRvj6+%IwlVycxZtdr3%iCvfs``qiK=u-Vn(oJ;jPzEq)H`+;C5<-WFa z<2B)=b=G!6z=Tuu8*;mrjsGbIV``Z z@Im5A1`8~CD}Y$cL$4g`j#dVAUT!SaREHMQRhBr)xV$rF4v)x*w&P|mJ6qlpB`Q&Q-@cgTEhRg^^cSRGn%avwG%vUq>f zUeqd(C@?0%DKGFOdAaA6eETQ3(V6KKt#-8()`8P=cja}>QtroeddVFT;m5Uotljo6 zc(9KqAGqDQsJ)p}`&#`3cxj38Fo})(aUQzf-Cv;^tZcaV8lad+D;=`=xxtEcRi-YU z?_5AyA(dj7^T68AuBtLt!TRHO;Z*9s-LsZGfr}p>win$_FRz+^B>ldG#HS8TCR7!E zvwGv~EK*kxJ`piSXqt}o*<$Uz&#CdUeBf3`-s06i6w7f+OS8SMh}Vi{&GL|N`)TlO zA!DwWWmXJ5eqc1`(_xFDJfE~FmkD4z7B;qU029v1ENe71TPb0(wI3j@SV|~&)REox z#*n|o-wK2qs_ZJ!>kY2|(7p%sb7flnR8E=yS078*N?xe^M zmCmf&6!0Z)*IzD0NP7iq5ZP&)TtJ4wPt)B#M6K zb(K@_R=O&&LV#9k<^2sh`W44V+z?^WjvF2CUX*>F6-fJ>HBn{uhMxjSNy9Yr?ptBL zfcIP7B*X!O+Q5^@NA^!j#ZS0+mNe(xL6>ff$G=JMA2#FKPD%>d3*f6NeK&)p6?T8h-N#?*x|KPsJjJ1$3jtd4Ug-p2pWmz7$y%d?r-V z07%AhE|gK4zoYKNr2W}ZD`-ftrRHxY%L#h<$~qU?|LHaWU`l6r$>2AM!>Lkeh`iKG z{aA=0EaTItMJy_ZhTV5;gRb<4z1FfG_ncO3o2i^Tp=BheR-j7Y-5N;G>tzjQ1V@z_ zrHdw0q%+VoTY@l9Gf)`DYsg~vvwEyD6@s7hxJy2Gme}^rna6||wGoP3y9!M9XqeVE zAKt6?Z1gyaR$SL-lXDsQ60>G5RP#!R= z^m&By7{$h%Mz9uHG69CW!|8R8{n|}FG?tEE;rDA&Jma|KNC!+k%My|iV5|0BxfiH7 zd;@qFbI>HgkUq1bp^zQB-q2OG09yS4tjUFdAT%kO_RUL0@``pB`PGQ}TA&JP{j>m5ANxZv1 z!Mo|OyHlPbhr$D)ZJ)v5R)h17X&NJ@bJJzY1<9y_&m&6Ak)!}X6HS#7Kjk2Bixq4= z)N~4(c6eo8CKcuuQkS@2Z)1S2%x@FTt$umsG5M=AL?s=^4$!EBsNrwOgUe^{Q35E` zE~qdDr}QHhN4hD8fByjq=M7b#T^nXZ7_Y;sQUggNz zHn+pYbw{&#tA%pG0Icrl;P(uNiSowq@Td(0MWhmm}W$i&q5N9r(v74@6VtIj=-IeJsUIj(X zT1<1siCGGgkVq?k2dk21<20waUO7aMC1)M@??j;gjanDAmj(P!?y{G1^P0On>p)-c zEbJ!@;b*`7eXN}E7GPE?O%A|#Se*4SXBsj~?ub2k<=f+dADjv>b^PaEK-F!e*@hPwUpQxiqBy z5g&?aresp`tq`UN5qN2@9*n!A=zj7F0$P5b={-@$K2t(HSZuvZ@z%w!i-40147mxA z6?O6f%odeSAu_ge5n2R~`J4EGA|%IBM+wZ6^tDZuG#h zp5j0>nKg$M3Y^`U^Vd9x;0(b zL!g(*Wr-<&RHd6O(*b0d=$O*#2X)Fz{<4JIHKul+y_Qb4>L)#K#q4%&IdcAfQ;AIS z*?TJej4w(SbSuee9qFauCZl#;JDponbrm5Py!nKB#+#;|RlA!1RjuYDIVzDjNx3CJ zhv-BE1wi;@@e9GV{RJ@fCB}f4lk~82r*X(Z=7$a66VkhRKw8givYWW26%4n? zgrS=f;Ux8Axgb7IN-$`7$qO+AJ{Z~i*J>(ssI6(=H30(!UTBUO;HIIV59`u!8ucNU zp?IC<6}+}CzifBZIt^6*y6_tmLoO}?Q7 z2#$rUkaS$uaGnH$QHsSp4Stifl$?ulk9a4c)zys?++cWMP`1z=QJ5O^W9vAjnf)@* zn|45{^nS!;2kW-Ly)O;pA{aH~kwqVbWLA(h%@?i+6IpLIXd@Hw5&;4Qkm`HUZP zMk7$UqOhgxybom0zM_j>F?wBRF9iu%oR0KS3<~YeK2nrM_>T^5n`Zzo%92)f(D&Pq zrj5XCf1pm7fTbfhzOlFUdrzWxA5b1(7!~i+!353Nr~p+TSru+rqMSzBLkLlb)yDeP zrxYN%mXhZ*pNyUBJIl^eT&*jXgd#jFJ|Vh2JQ@s|6R63b_GBaJykjY8>2u7#MN*u@ zG|DV*C?Yh~!h~r68AcM40A-llch8<6_kZIp92EkgC|{u`MR+sNPmA72oJg}?GL{1; zZml@Xw~CZa{sUwgJD4>77F+oV6$V`%yas=94guXNFOMKM&4 z!Ga1?z#@<-1_V{TOk#!De4dOb^swOOU4o`{S<{^w?;ao6TvTS|Nv*wvBWH8!RXR1e z;>@G4~Wg?KyFdaH`46%=&xRSy3Udok^f7 z)XW`oxZHj@7}$r8v^qUEx}5u7lh~ev#1BQ{gHF$H23EHR8TQ2P&Z2n4(o8EGkhl7^ z#4o$+P8Rk%_}Z`j;WLA*HupY>R%evY5XBzcJCt{~>|2(Uz|8}eGaS}#24k;)llKW1 z27Ik$2u#q*Ijm4-usC~I2(qx+wsD=+&i;e|svHk$lcRZ)v|ZhJ0G$kI3U}vb1Y~x90lQ)e9snQYCbn&?)Owm; zaknqPQ3y*&vF`U9!R6x-6v1y=&z;No2O6Z9OFgjq;FU)HQcChjVCRIFa<0tW+yGe{0vy@vQ@=jxr@v8@{& zJLV_w-Vt79clXA#`0IXm%SBx4rzkdlL{Pl#B+@02Kp|JnwR8#=h0mSSIe+Zdj1!L= z#wtBTK{El;I5t@@cw@sQaBf5 z$sQv+l%H%&@s7t2QPa6_!th&jx{LVa2szO$g$!MPNQKLnySaH)Y|#ZH#$q;zFD6qc ziatK%tqzCs4QCoSyZ72f_(s4(Vr~)x|l zUuRkHBf0y4kNhg$=PmyRSE@&jUR;iOQeP=+?VtG+r<>vMwkws3y|c@}(oIS9JCfxG z_FXqRMl}fJlTQOrXKb;4f2+nxAnh09=zE4(uwPl5RGr=h#)j__l3bp1UfkAK6Yl2( z0w1i|Zf;||nTa1ID_6c$q2Z$TbGeJKE)|p@FF3o@mPv77PkImfb*as3n zX}UW%aUoO%YC$ILj+{aRCkIutWd!TuEqQDvA?d@pMiqnNsP>f4L_-68=Nk=QixW@l z2dvND)U0cco6hBO3FmklszwY}-B`7hCT?QZ?h!YHVFyT;%VBulADJ6~{Ub*sz;o@{ zrn4p1!Jh1LN03d>^u5!vX+$hKd>&gN@v>dP80xu}mr>EM9UefatJ9>dPN$duhw1$? zS=Hy?d*15)0^DB@ifol4gci}-4|1phAp=eyQ#!c%VSQq#d+PD92H*+iu&)C@X1x z>Py(%cG<%0>?|t^?jlSIkac2Z0!*v{vA(V%#x=Q);lOnIHoF#Fo|GXy*k&zHy3Hs{ zPDB^<_DtH70HP?WDT@rLkJw^k%SXVuZvpEr}!nvtME0EYc%&~1b zwo!|Er8w(G+i{0_GvaH>XU*l}(id8~=Qm3zu4+D0D6SX8VXjc2%d;s#y9PBz*V*H` z%rF69Pwe_()<#&UxCzl8wdtA7ic|{&OfeGA09rFL^jVT%A|*&H zH>hDTdAj$vFYayg>2EMlGwnJZ;_2aU!Jm`cf>^xJ+c}U;v-kGuQnA|u&XwYv%shzj z?o@`ubkJ!odrE=a?bGRjeXW4QIPSi@y|Zr6{pjNS#B6*c|283lTDb-;Rb!NeY*M2K zH0_p>I44k>^aw89HFb!nZaS4S5uMb6n_$IV7NNJ7%BLNA-wW34$hQ5ty+jY#S2p1V z006g%0{|Nk# l!2byRkHG(*2>c^b#DRyVKu4a}I){{!i3q7?uD literal 12421 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 diff --git a/assets/images/wolfenstein/objects.psd b/assets/images/wolfenstein/objects.psd index c7ff169d7946d52e6da902cb0bbd4665e802f0cc..76acd60c52b685c105151a7d53db951b3ebd6f02 100644 GIT binary patch literal 155738 zcmdqK2V7H0*D!uV?=1t_7^?u1e8$ z-R`bkS65e83EBU-H&~wXKJWLv?|%P%eorp7kHp$G)r$B ze4mD(k~yM};QsjXkM9vJ|2ckh5F8E%l!5jiw-HZ7URF*{PF5Zs^78TuifT%V@X=IN zRaVp1)X~w_)Yiu98tdT+hD2>`eUiSRiHVt+8D5V}C7V)>P0dVEA~?vZsGz8!q@-a= z&?cDvUw{5Mjc6+Y+479*I z7*0l8RtHaF6Wr}R(&o#_Q^KB=t=oI%`X65*YET?NwGmfj#^y#+jA;4zsObiIn2DbRRU&UQ2D0cwij3SeI91D`1?CXbA(5V z%a)1vKixMLH5vF_L22%fw_`rLaQwU7gHKvpWm`0I>mSz zKcDh8qRQrV_o)tDENKZYJEQ2*elx%B)86${DQQPM9u-~o|1NxZVDIff52Zl`aq98M z)E8HmF1_%c7L`5QE}&$5uCROC z%hlwShmcFEN*biy7d4)hEj|5wxS?HX+s?p~0~DQ|g=^NgTczOy*>K^f!%-<{OF69M>&b*ch~<+U~PG{PW6px_?MN-aiwx zhB>_L+k15tQ?`A3Tl;?ZEidct`LcdPmGIRkCR@C#O8h8Wk6sLPh?)p;Hz*Y?H!G;R zBW^0&CosL;AK)?EA3go;cYE~@R^q)6?ei%!Jip)fR<1?&q^D2#>qB*&`&4~PzWQeL z{M?W)zH1Nr>imII`O}q8ZracuK6yFe^Rlv1k=ieNjMcC@)wCgJ#%^uGqXO$=waK}0 z0o3syDJEW`4apab1uaTnXw=G;Zg?s4Lqf`gKR!jBt8@C^>5C)H=M9WBZe-T?Da>X6 z#1Qhr%zux zy`?9P2_tH@T`vo&`ORe2M((~K{>nIWD?4V{Jw8?KMKkB}-iO{_v|Jt8U9Gwzz-H?z zZ%Pv7MbA|uL*8pfsq9a?>T=3Qj=z+gODfu$6~y@@J$31-^LM%I(Y2*_mo$x^vYPyS z-q-X?_o55F*pk<1l>AxarQgbL99?%;CAM|-jb+V#W$O2yuNE^Z6eGEZ4(zIw-}zf< zw1R<=e54@pRcniTp4}Y)+ukfYR(v5LgShm;;AgwG>?XH-_0X{2ot|k|R=9YyxjgRD zPlDS#1IqB%2Y&AAxS0RlX1bm8`c|%}!u3t>^t@ zzX^PD==rusTelqk_Fm@7%k@d>LC4qp(AebE?IQL3-O@J^K$zuAMStL!u$vVX8yoGLDaE05sRCmaU>F%i=-jNNI6mp-*b^H2xlO*vmS^c zhPe%%sGp(*_pGHYt}HBs80zOJrKgo=1*a8dMS90ZLR=n+0%}=63;ighmsA#KmWQP0 zXFzN=cX&nx8)7I&NMuQ=d0|O$4jM*3fmzuVAICi^N{T*?hv(#e3|A;G%*)6sk1h-> zM{{HKvq3`$4ek#dD|wa_l?LXOS3oMtgwK5D;@si0I9F)Dsu9}(8T zlDzWDGYU(}voh05N(zzxDLu4^Ka(CR0)Hkw)K~j6>7m{CXVO#rlj)%Y>(As*`A?>& z@+Z?%{gdgTlcYbh{nY;pdYEQ$03d>B!wuv8k3X;&f@DGjN9u*UU7BA00H6o^ov3N!ys<%<0#6D%APg@CY3p{;aSiEKSInV=&dqR(LsPJiYIa^>VMu9OMqWkjKLG;{+Ei%!yTQ#uFsYPHhA^V= z1uB&a=TNCs_#ExUkEGHI#emQMu~aGsqMc{X#-u|kkp#%Ehy;Q})?$8vIRe%ngMW}l zY%~=9FQxH+Eq$mQ{AWlXHd;TDV6^xDO6fz*a4_6%aL=8UzDE#76nCT22Ty2w#hrhW z^x6MQ>9hX_>669q{|C~CRtNo{`Ty6_hmQUK4CzCA`eXfx_WoZfeQ3*e!0iV2F{$*) zqgn}3Rz;;x=?yA<%9z*xC+I%Tzmz`CKS-ba|5W_xcU;Qn1IeG1sjTDc9CK6s+i*NXPypCEnQe<^+3e~>2v%C=~Mc* zkUn&_{huLyXixt;Ngr5#TraTX2H*Q;XC0>@jwo88(x+&NN}r{;L%i-akm6%D;v5q07tv8PbRL^vBW%z5kb5-Y6&^ZQW+L9cQJ_9KwivEh>HT z6{z&d*ZxV;$N!ho$NvZEQ~kG)K6EqUKSKJjp8i<+(BA(m{k{k&A6*4%hWp)mAKKc8 zJT~i)_r#ZwEl6;CGVHr)A$WuUPc=jXp6c+_#GY#KRKqTH2&v9q zDu^;@bTlRnp;+jJ=F)&~HAt6UXx?{W^c$s)K8=1wWEJ%%cDzJhAu4h*^71FIJz>FF z*w<)$$l=o;#1ioj`w~Z9qbrhKkq1M+5=-P~4x4GKYrI9?A_}T1ghSJ>#M2VF>8C5^ zx1wpXrE@n;zm~|3);z36<2chzFC@4TGc26<^9zZrc!7zo7!f0~#y)elL;U{QZCPj> z=l;briOkeScPv8R_e>&tlIuyCK_rMQ#n<`VFA|wOZA>g0b+hTjQwfqO2AB*fbKMh( z%-KPX1erl_tkaJrxB;>Rh4A`TLF61Ci$p#C@{t6ILc=)C(nk{9TrDgd@DRd}0wjnW zLb|g#|Di zOzgMMo=b4g@~4q$1gEzN!Xx@<7^(S1f>dLn>VFl&2}U8$m|z<1Y~C^G?8E%G$QuOd zdLcpD-~3mhh5rOPn>LNe$gB0fkjQkYDomq-B2)a+uOKMTe=3$mWdq50g7rNxAAI@l zbBWBo&qC02MHz*%YgeybyDGURcOAaqTV}3;3}nE8v}++c2ocf4E(17TZiE;krick* z22Zoui-i1lmpO)Sf*2wOA69`y;C{Cb!;vM$}Q}fU$kd&PkjFR zp4C37aV5_73^tZax2UWnJiWg)v20oG%8ZcMG+zOS;lyI0LsLILwcc(&CMlz+A~=>uV=!5$j2q-<`Gtlj zmA2KE6l4_jW_G3Jra5|hIWQTvQgD8DR(5#G>ekh@?%9mwUH?1iC0wsv+HIIk$d zD>gU3vV2RyP-13=Ph4zxJkN<`!?wr30pZd9DZRN#Md^`QsVQ-ZVR`d}(f-y93#tU< zAv-TGIzA>QHzzkB(KRtmn33%PwGuhnk*#X|n1GO1-5QeBHZLK~x4kNdmy(tfJKrzR zJIbDAX~ANm2*t4xIk92sL9to+`MIviIm<$WyaN3lZ0SrJI-8DCND9g>&IzfUpB0o8 zxFR=B&>a`-9_yIFW}Kv-63P+U-2YGPPaU0{N5c(~Ak$MtNde`l)p0>7 z0mb$Kan4R6TP}@4vo$rPz!ry-lZ&4uK{s@ce?)Yw6&sAEJ*Nb2@)SD z@OFz&h!1e~_AMyOboUN(aq;G`s8lNxLqh{oGsNA~N9Yuo8s+2X=IiT{;FZncap$n9 zG#fI-P~X(t4Bw$4o_4m@bQ=qELnCysJ98Lp4==tj$RpU* z-J2ER;>-jgVvsE?j17%RXhX4?PIFv%Y_7Aw$KFfiB47nuQ!HszGh-5kOaTN(uFD*e z(3WN6=)w|sGZ~&7j+KQinM5%)HZn)xWEGd|z+x~2PWF5{Rm8BgWN;}YGL=e}7|R-w zQ1xugWYTGNt~{QdBiB-3?PF<4GdDLOnHd_I009tYo8U4!$HLme5-w8#g=%hOLNPNo zFs9p};;71{nVC~a6bjRtMU@ySTbfvs4NOc7^^H;Wu0tZ58bWCliiv@>xq*?11xa6G zfHMK07$F!NQZ3EQjZCQ|V?TYWp`M-rg<^;*dHjw|MHc$TdgdV}0j4%K2Kv;jfn6Bj z#Nb>nV=HTYH)GE^rZgjCPEzN3Dd5tLJtcX~S;{pej*Xq{TG&;EVL~FXaSqbX9beeBs3s1>+d zV8Y+nv4vgTb+Kro%qK_Biboa4#*TIZUd$V`ok|)u9zF|&0P4A8P*7D&Qyprh6pLHh zJ60b%J1QAd865>0^Ro)t<`-hRw7spZy|!=fv7^V1A3r+K(vX$c*51*Ef+VdP?QKns zjZO2L=g-T|$|z`+v>`26ru^dO_V%{c)|R%`wwBhG`SV*_n#+s+f3Rk#4~kkdZOj|} z*qT)|W@k&S*}S=(OUjS8WJV;VORbseqJ_PS7w>IPO-{(btXXGUPxsQjJKJ`3WTd7g z$0cL-X;F9g(xuCnTsm;7eQ`@lN^)WhmfYRbH@Ny(_vn@WB`ex8lH(F$rPzIa$FHqE z(Z6%~@b>m4nTZMUm^JI_=|Aw<-sOFTYmW3R=&MagFG-KbTC98Nj?Uo?`wwMxuRk!n zusLIXe9ofSI1IF?chjogQ=g1fFFvqoXF*4GS5|U(L?jB*UA(NXqGjjW#=h-?+q;VE z7nEkk1;vE~VAia=ySHQh!X+y=4z288(bv7CzO<$`BRVuV2(xBOmiBcl9v)h;anDfQ zlE!UIo66^xgolSEVb-i?$&v-jx38&bU$C^KZ_Qv&?V{S0d_V7CKVQt6>{`F5XI@lMeqwZJ5C&el zq^rBTeEyzwdsb!i^e^6Bwjwh)t)w_CJOl%GE@{bc>Rr;m@<{LY)}GGv=H}YQz{>lfFSbr#q6 z^e*mA=;+y4U0GaR8tdy9BXaf@0m7n|itgo0$``F!l;2$ZNpDm9+P1k#O{u8`QC$&q zJ3v6@6<4iUvS4v%#ifLvh1Xy_LkDJtctnu^~Ier$$?p+0#|pTqqUVS%M6J~ zNJ=b;$!V!6ZYfEL%j>Mkj7bml^AGm+;@HrvpqlX!fnoVYshKr}WpE}pxH2!pKiVfa zROISuYfXb%AV^S9LRn^Vcz8{uE9K>kjt>Og@!_+BBDbB0yB~#Vtt)+{DdO^SZ5~(zPpG)x3K~Qux5S% zzH|I@6O#i{g9SOB`67=%dwZ5hU_+zRF>B_QS{sre^c0DNA^|&xFL1DByF1ct=zPp` z)Aw>_@q~_ieuQVNi!Gf#hdD=R#pc*p+o9G>kHxgLarfl$oS8PhHdb_omy4y9r6rSr zSu-%~bS{s^^rBhNt=y;<6iX{>OUyQfg*cF?7I+Rr%UWCC#Ed{@`o&;?xFB~+O#)G! zqDiG{>1%2j*trE_fY`!$*&c3zB4=koh`S5J&MQR3Kmqa*Nm&(*^CXQb^X4@+mIVdQ z;n~x%9MQ>HSs7`maCA5`BO{LI@gMABnq$t5D?T>h30Twm};LNWDd5%&0bR zX^Iw9s)Z$mL_#f@oQrQrNbpRELIB^M!?C4erpPxg0}NhiW@c6-kH=?_F;nCppCL(C z&IL#cB(g|oBF;bVZ3ZqgMZ&|`V_9(l@!|}n^o-0T9-q&qU^u>U63D5Tk&y_#5gX9J z-WJvSM5RkIRMUZ6f}<0UWjU_~HDbil)&=n%acFWzdPag1&w&=&-Xb+(9Sb@Z#E2pi z6O-U_ap2m9c0dxULM83W9c|H`o?df2y}c!T`JlFTFy|;lzM!n7qrFYiqSlI3>W$2^~osxyb**i*&n2(EJm|&TcBiGAgc1q^L7rMAa za@kC0E@s3$Mb0j6{=R}xKFi+0kt>~KdHDJXorNxuLE#R3M>gBRfrVKsFK;(D_fWTx z2q9nS$l}^WR#%!r8uqJZcSFBgtSunS-0U@r<2@-a*0 z<<=1Ff#}A^>!0_ z2f8^3_>XFFp?%v~trx%ztX1tOuNo41$1Nx)-qXtoR+m{q})jL&y;^7Qd` z$Po5vg{ zftQ<;v*R2OSEfK9a`v!yU~%Ylnhl5T00_Y%Cn4X_nd2mM6N%W)q5$CAkwdqExdQYp zAo%jQe36Tjo0p5DfafdZv%Gi?948jvncf^sMdxgY(9zLDz!Qm_yj^?+4)&0rE8;kE zY;7#5Hkc9PIdC0ZI0AvEi<7+*3{EE@*OqB#Wn)dXwL_J+JC7%FaB+pnJ%`J7^5XFw zU6^*(G|(qBsujFR#&hC0xCl9*j-8zy99^CG_KuEhiJc;gY0aTqz@*N_0hSRQ9C;j9 zXHUKZ-@%0eQxiKoYdg9X&Cb%w7MSF+m>ef`xxtYO6DKx@&tTXxY^}h&*w|QDY9h{T zCX31AJ2@~N99%>KiGz|olL;UjhJ}QT(994HgT=7rLftuRw!NLe$=Q}^%c5J*?C3Ny z2`z%dU@+NsOh+!qh0S1aU~DkhHa51P*e%HvDy+2enJ^1y>ao~t05R=&Y&IPl!PeTw zmQ1GFqAkf`GB~zi8-Nu$8x=4ID+?I^?5u4qDdrRw z#ny&oX+01f zQOP9Cz&Hpv6f=^Zr47+imrOO)rE)|f48Rk)Pzk0+1QL;Ap-0jsn%MIBC_s_#73#x* zd8ve<1QKUSb#&x9q5uthn0beWh6IO%g@lIrb7r^*2cyJxba8QZ=D`3H@CDBHV1u|A zKmjJP4qPrnvjt-D4agcR#;IdIWrpe(8fQB;=!*V)c zhK%KeCeDFmKJ<`17qdt9P7-GozMDYcB4o3nJTy_3%X1b;oFxKzG|j;Y%gx~fQ_eh; zFsMxjDM_{?ng{|faApIykOC-+sJcWpN;awIJHn9Tqju7s%g>W+Le^pWcin~!8#ko;`3D5}`Um<42BbrD<9ZaN zTH8FlVZ++tk+pD1h85O~Y*;tEpb0Z(>adDv46BJGFfzul_GgOd!ds#rE+u$dN_y$Q zI;8X>0FEJstq&nxY<>UZRr-GwRzr+lz?q~QUw{40*HdOMfIF3Xm{}Jfh~VsJGcyw0 zYY;A^RB{$qk3&TeSN^?3BD(~(Ti;4>zoW2zi3In3IcfrMjgMv|a(xJ*lRZ5P8~_TB znqcV|T=5?vd<3QjGWf_O2%?#B_D5!5oxBNsOAR?8mLSVvy;v116~1G4$WBf}E&y5lj?qN3LE)29h~l{lc%4bVb9zRiIK99C-e;;fFNH?@ z^hP3kIWch_d^IH|UU?(I-HAkg`c8uUH2eG+3*Uw3&mX7YZi|1A;AXzY;U?i5%6a#V z%*LhP@Pi|hzr%8N;cE%5U<^W&@UtOk%Ha@52|j|Rpn2i@$cL2KTt|Z6-Ho5^>J_JDmn$C(bUT{-0 z5`~MS!CPizR<^nE?C#^)SW?OeLmj~BOgav z{)+^+f{eN^xT?1hep`cvkvdq8ug605??Y%><3EAUd!N?uK8F+!&D-=oO$z;6Dj)KG zp#0B5AMm79YJu_xdQvEwCgm9oVN`HA51>x>b5S1TaN(op&Pp!Go;!c;yySwyx%1~Q zoR36LMB`v%%^WT=LWL&@E{p%mi-J(3zUcq)(*TD0f`wl`dv@T)wHGj$wRJ9BzI5vs z*tK3VIkhCL^+;VM7@22ZUA{O5J{`c1e|_)A>!%Q8^UB2RqkG0K7Uco_(%1Ly-9Cs8 zc%8Gi4-E~?&q9#BgB>l+-+p_gs(J=dC|Ni(aNyQ432ZAOr@lH>;OXrXAwiVfyxg2u zjek~KGlM9{`FMKdpZ(p@!n0FcC4>SD9n#wZ@Tc=**)JJSZN=glOJEVap#66 z&(IUSl;JCJ^K#ohJvmb8%BDGhRU@CCXwPW~JKjwh{w!f+XLkFM z-D^7&g7~{uetGKp$fZsE;Ka`1-G^IqcdU)TC?&4jGq%*XWNTkp2`%^9+8>uq3}jlD zRIb=s?%Q)_`$)veZpzw2DO>i89$isUzOE^q*|KfnnRN#{>g_UH)>Tyx96qycQ`{## zl)*U-XSbd{diX@4J@_!SnJ21mE>F&*+1PQ4jvqUIYV)VHqNNnWm4nd^i?{4QwQXZ| zA;~wp{mja;ST9mx-lm-=_kFU&A!=x)4#nu?ct>-Zd+WZ($l+Vc~cg5?kBm$c14ykUKwGOQf6`f=5lUENMy^bq7@qk5BGgNN}?Ey-Cn$Z@RQX|oe8xTK4-gg zjExH0cMHjN@m;M0oBEF|y>-@vqB;82;{8KghgueAERD@tbvzi44;k%FiSEl;+&-{n z)uE-gPH9t&M{g}XFtmM5%aY8+VR3s}V(^6Ig}XyVfV7~0%i!Tc8ODZi}FT@kvhMS9$ zR_6A$E#EkJu$vmmrM5#Y#wOsi(72X_6s4Ku`HuK>}{9D_qHzIxa#2Y+h_17 z(&BwXTUO>&MI%P+wje#O$RM$aVS+?e#BXrz8p26IGnxFw`Xxe80<|1bk*-~(qoB?JC4+MdRQPxRATSG z_Y)F~Z#+S%(1W5OheHpQ<# zWJgK)=ato;R}^m#uJJfOUr4fdL=r`2x_AGfg9jJS54MzoL>>VZX^nNI zjdigN(bY}!n*CfItuPSR)iba%t+6_$sUfZ*s-`KW!q?SFnu{y)46H~lt%+-Dh-rwa zZB8xs6**c+bBVly%9Bd#Vw)P{8lr2P(<*#LyxFqcy@M*#D^O5OePr$Yk8(M=c?MLb zH`T{A)h7VKd1;ltu8y<0+&uiN(wpnz=2gT4!II=EKaqnJ(Wc+`3X7FTpTw+U{!2peQaY)V{>d>O8I;r7mhR+&y5$* zP?&~-8s^8=rB<}~h&Y%DCOQHeO>*qMy!BQ03DXt!V)j7!kD4rkJ5LcB_?j^F9 zg1AC=zghsrHqCE|Ylx{yE%z4MV`n;u903YSs*h=`XpU`+s!pl!cA4dnC2;er$w_KR z0S;puW2=$@G@FabclE2zPMB9v7t;{m7+;-I{vO0|cJ-~vPOJlx4TX#ORv&sTJPNY$J63ffqRWRwTq$$JE9&Bt_QDODy-c=ffd{zsg+4#qGLv zvw7QA%v`GvtQt7@4LEa2JC3G`V%q~@b3y*wg9H7`*_gTRJ$mu<))nA}rFcg44sGn` z^8r3`D_pq%VD4!Jri_1eDsjh8R8kEBIX>M}_{ItI9 z+cx*Q8P_jfFxHc)=i0Y*+xFg6XTFz9a(5D?a1Ec4o$t#I>lx@M<_Y%~U0Kw$#!*n( zv3yZ9$1g9_j@ubeDIOMB##U4p1UP!Qvkm7CtY6u7aDKWm)5X;xu&8EkoCRk=45e_` zIm#nxNoT%4MW1Nimwch%@~W&tBceXVFMm-_qFV%~J&IDa#${fkM^a})UNnnFuFl`v zw{7lVImw0JmBbzSo8PSW1pX@Uoh|h3(xQ zh6KEUr$eXTu1rTKB0<;Cv#WE#lFG&YIN~XP0VQouqbtTVTi_D4WPIaZ3X?r?X z)O63U&NpOdrf5(MI=94!i!5P(rkdxep=W2G=0LO5)AVw#C~r!!a0!dw(y2tz>fM{x zo*Ce35?aIeFmNN-kXY7uZzFF(Rfv($KeHuu_aZHd*3vy`9obbyE&`&Cwpm)YmL*wp zdpJ=`iy#!`mE|r<-Q8nC(e2%x){#?N8XU*=Co-4C3Dwm+V(Tr4!S)HEdF9#NX*(Ag zQZyFrO6|z2D+x<>h-W+JFR)fpru8SV8OhG6k$Dx_3)6OWX;KV(ccpdY)t82+@e}CW zx(Hh(W&79$hD8cLIV!gzcOg*HqY#$tNNLZnEecQNCptP8RGTU*ld99WoK)xJh@A4A zh3O~~v1fZqTTWGBM4EFd*KJOTiL#1mVW@zWE=Uf`EX!SxwzC^g(e2)m-j-ca5Rt}6 z(KR63Xlv`~(BV8lDl-v|G-P*V?CQ~`7%beL+LBw9$M>Nlnx;_}s)nX&j4&fSVmpVI zQJU43zN1^4V%oDUwK+Q?!V+D6vs-4ZW@@I!SVAYlVPxyTu*~MP?Y(*wX3y5trX&V9 zs>bxJltmHhdL|mN-N|Xz@VXC+nb?%Fb+HD;deJAT(E+d(MKELJZ?cc_(bD&ecHEq2 zXQ+c9c78EwTNY``TP+%iLl3ZM>#(AD-LdhT(la(C#dh(c8E|$@o@ST0X_2y=K|wZqpwjMY+cH#JeZQi5`7d)72W^f}MJJYtXq=UJRq>$aYmdRjJ+uF;Ls9aYw zax|E0Sn1LR^{?mc#*L0nC~Rr#=wL6vPt1Sp+Fa9}Xu77(5Zp)1B^S8>n+7Z8+I+0am*>h8n>5Y64w z){P;6*3i{_*H9EsXQn&dgXYe4_F(cosqfh^Fs6DsGawJ$gYE&#z@8L+f|Q^hfZTXY z0MP(sE9AM6^$F6J*EKSs3OP)uFVBnaPIqAl$ws=fAVX7%8-Qq@Uf#AIG!Y90N!idf zFr~V2?4UJVynq!~CfZQaTtq`t3lZ1OjRhqEK_SxxK+;@zDagaYl@8r(D`L64CrE&@ zL>z`IB)i$Uuw2;!vY{?^Jd}txG^V(6?Obi$X|8rOkr&&AY@n--nQLP`3hX~ZCOc22 zjjJb9NY*v_e`K!VARa8UVY@&7^oh={jSPYY`|Uy^q~@B-bOovf=%j)~{$ znSr_1w{dg~%Y(rTvujpn1X*2OlK|#gm!P9&;bw0DD9UF>uRxDO6~9_fS|3Vqo!qUZ=$B8 zW9CX$#p~(9QCmfAP2q?SPfZ84=LWjkD#lKxV6IslBQ1Hom*R4$;QmC&W&NXhzl|vdsX=Set5NWv&muE3Bbx;}PW*l*Tq! z)zBv3^~tcLu1T;prdSCL$wpL1rn#QFl9HN$)M(q~Wd|f*u3dO}hz;~ho-V_HV&P;6N4T7f^-Zma+RCO@WJfmBKu-m)M<*GY*$Zs>dNe~7 zsbknt4zv)O21S(_LU)4A4gwy2v02^5 zQBhr0A)cZvub@I8*x1lrXo0o{6uez9ooCHr8yagFsu5f*^%Xz{tu)k4v`vkyX;vay z5JQimN)M*<>1=x=6D>0X1G>GIoSc>yj72j*vaqod0$78h#|WZ1(}0qhj+w3=m4cU( zBUo7y49s;*Of0NvF0>#zk)p%!wRWO28GvMBZeVVyCMTy(G1E0B>zEo_*jPK;1Tcvd zZJMu*gO#0~iJ6YE5eyC$Sy@$zDbavJFfp>QvT~vYGju3;+W;F!OPY-dNy|uGRYOZb zQCShMrmAhOZDL5ZvT&k@urw${8-HsK>`@Vn2=MzXM(T1(D)K}_RW(Gq#s&iE7OXv(Rm$l=`y8enxbO^qpR>i{N!LZkawGbvhn2%@QF#qu|m zS5%fKdD~fPsl!}ao5Z&8Wou9W~c;l#M7lDQto!5Hm6-QN3uI z@)VXE6>k9MTFsD7iL>WK`UZqLaN? z$NVg9VYkD9%doMakPR$tFukj!Wkh!j4hRYgkc21)2lxjC1UT9ns$o`0OH+$LGNzKu z$YcYuKI}YM5VSNwB?CcCEgihMF~wY;Ofe!Gkf_EKqPCV)k!xte?_nF8m>WVNWEeLl zWa3A;2qZ&Oa|4v10hMY>BD~9`uB}6WQM$3XMWJ8J} znPN&NNTfzc1Gq3Vrb4orAutH}fu1yzh8CU(yqgU3?N2k zWFxYv8StkiHJ}<=nnaR;36L@%LA^{!Q~*hhnvRwRo@8o5(MLHjAQ_P?h}!SlLK_cd zQw^yGWK(mBu^AQGLYhlM69u7MLn~3u;3Vd|S`nd{2qZIO00Ec^9FldlG-g{6Doipl zMyo|Jgyt|ZCunKBYjIZWp&{^TO!`0&G$(LKL4hbU zCM3Og%&TcYADcomkPOLCBH5Izt368)1(_Q|BFUI!Y;FuFKu{_fYMNSjvZ)aj<<3x_ zWMN7oYHFxr##&1q<-)>*VgiR`DO3{*QBwyq*2>u1Cz`OJZ3v6thO?*ZrDyE*uw5=~ z?2Q!Zdnq43HQ^nVcl%o(r@srM@32TOE!e)L0(ErJor+k&FSgnsaQH=b<&URiZ-Ly( zcl<7yz9;_`>;vMGf1Z&bN6{eC2wP9T+(U4iOow59aj(Ok){J-tcF*3-yoK`(Kr8q)tSunNBoghPW}dy72B7%f-8XNi z;d&#UQJ8)%9(=IU8bkV2B0=uJrq0bfuv7Eq4Q%z;<>|aa_cl*UW@cc&=>D$&_#FU< z?MpQIj5PV_Z;<@@_xH(XrO7Yeyu+qr*kjV<-`=9s-vYKYc~qMG8clvX{XTgX`>hy~ zr^O#9i-8lUg#;)5kbF)eo`$`inHfN|!%Bmcx9?J<1wqQ2XV54g(VG7K-Ul{5ii}C# zehhi@`aK#zK92nU@;&67>kbD>UKwoxL@)l)K+B~C@*H7Q0jY^(<{}JTj&G(Tp z$-N1PFlIaO{*8|!_ohCI{PYDxm?)auImyqT&D@{OBsV5`{RCn-793at;Hc!)JI{}yhA(v^+ zCV}9I_k{VmG> zjCfjn=`n)G$;g<4M`sV`5!jAAfv0bVjp>ZJf|VhDQJFC6>pOJeKz-l6dygJJe)#y&qX+jN zJ$!KY!Gnj7;H|g^a*qyO*f4}DM}yRo^7?~|F05U@as8%E8#k=qxN-f4^&2*9+Pq1! zMSk0r&J#^Vs1_tGT3vcz@sUGk&z-w);o`Z)<&{;{75!H)T>9+d`3ombR<~s*qG$?Z z585{_E!itMC^>@L?>&R4O5F2bQBNB5PcM1`aBtMK{b<@48NWV0K6&HDy#fiMhQkHizc~rf zsqyv8q-371di?9i_3?>`$s0HCV>n2_y&F>#H*em!K8rK)%h012>#hMelan_e6$3ND z4{l6K#(|j)t57PY7{b(VuB{)yO8MfKmG@o_U!RSiZ6+izvjMjH* za^hJ9it*qEwDZ)Bs~gr}G_E{ZcJJi~+Vt?E$1i9p;SZt28&H=GD^Lvi&z~&2`*Q8f zggmhEtQ1b6;36JLrsSbzudnMvF*L6|MQMzWPfXsNy7{aOP*lPnLA|a6tLrc#rsGfh zeta=<4VviYjT_G^3XUE>-W>jDd;+cBwRKp-633se_z_rvDo)+J^?dBQ_~7QR4?mol zkeiygHiFehVf>escVCQ*OC||ZH-G+JEFR*}dc-e&nwo%4ye{R}^!l^Gd%q2Xa7>Kf z{S8nokU58^#jo!`ca6`si|NGERrg-51#TvPd?lXQ&qlb1K*NcDyEAcp{Q7!nKVN^k z>h6mT(8oXiE}mKIh@c(It38 z^hfd5pT*)$)`%z=F?B&q*UrHC7esazXT`*Qz_~MOy6B!*ya+U?cHKc1qH^l{_c&Ld zta|VmegW>s3{|A|-pq9$I2ic(%oJ1352YhFOK0`{CxG+Aw7ViQbUPkVRY!auh(EK2 zgEg}_YS$hO-hZlRLi<@f9Rzb84XuV{M8x+tw9y@7V|`tej_LU0fqSn{zj*m-S}e{` zL3H}X_m?87e$zAJmoHwN-;Lp1d))uyi?uM6o{7Z|f(Z+sJ#W@jOt?Ee{Q`PtBR06@ zuRdP-&CAu2apH~V)62U$+Qj=gPg7FJ2Dc0O6jT z{PLOjNpkWdvG~#W3u` z?VI}thdw>GUP|N2o%TIF(W_Ps>^pMg=oF|<72&QG{R4x;H*Xxnw21s?cj~r|4$Q2Q z8yHx1Fa{3433vBHaP{Fsr?)LY-3_J7-&dSDJ+yPj8p(j{;O+`T(5}{<>-zgw0^Wx8 zeJGCRm2a!Aj`mMY?%lNp{O+BhP>}n73PoVa@J>K9k9j*nm8uMOw+ z)U=z{tz9>~X6?wD;bEv@)56x4&PCnunw)Qtufq&tDuavcU%Li6Zg^zP$kt1+G&p~F z+xD&7wr=10$tT;kJV1*JG*xkAw+CwqL7 zG5056;mx~y>nx?=_OqkQvMsUprpou;E_wC<%@WB2(yZ7zevlrxX z-@g6(cI~=Z(HS3#xSl^v1l5)C;`O^tFd z=ziBW4NX|r)F4Dg)7hvaq}X~oXT@4AB0)lw)g=ysCnPgx2rnVZ5eP&LJ#4^tj+XS^ zhP6LD>>?6J;Aat3dtkJBV$hH1}O z>6v@VL==Ijx3fs<;tXp82?8Fkh!q4lC1>v|vRbWFvr03EIet8YqUsg3;U)fFU6$Kuz|S;&5=hcEC=S}H`^T<92~>}lQN zTP;L9K^JPQi85ol=zQ_X`_RLXZQi%jms!U*XARJRvp79tMV~(K&dScbEuJ|(>jGsv z>=cWiX69u0d13r4Jd?ZY^PClf&!%T)7AMh=@X^mP7iebs*}(GhOccj(;juXTlOJ3l zE5sFCAOT`JEdCbU5_t@#>sa=V?@*jkGt>p@1{X-H?f?@}{q%#I)OoV-%+HYi1L^|Z zpSeBKwR zFK^!ZO+1acK-2dZBdWgB;fu(7fF^!E=gP~u(j+X-uHnvo&a zKJCY|cHdRi({0P&~7P0((G2 zB3>#!@-16KhVQ9J2%xKUbq_4tJ~1gi-LxKt7%J~d>L|-f&07N3+*JWO5`qr#AnF4- zTZgR&UO;^CDp*+>ty=;H@2aY)q2pcm0K6@R3tK-!kW*DvQN)O7v~KnvxTB)11e%3F zL=jZN*AsM9)f5$#6tG%rG_H^Qq)SIhNfp%q2TB0LvkkH<%4=#VVQ#2W>xS^|dNl<_ z#TgCUa0Vz6ZL-7!UJNHItM*$TpU0l zqv}LgJ2HxadOwC8&2$<;kBC=O(NEfD zy&>9?n#yWWPjgXZWb2+|XOHdMyMKR8Yz*B-M@3Cb2NeZ^ZusOjeLVO+syog&=z?}3 z=xVEhFQo5Nv$ZvIh^LzHfwId}t%Z6gEuBM=^Ehfqn2)x^8VDD2FZ>Ecv=*SUtRJ3$BzFs~7 zfngy*p<$sRfi`rSmAR%24$;wsJx0)tcwGy|M%3|9)hb~@b3>aD^$ehTe0W9A-P_yC z&7EpRhUN#yM@>x;{voQ8B3w4-!SR_lxOwf+n$>GouNoR!1&$B=KU5e9din%i%Kt~) zdxphzC2OO*$*D7)bB;6(-EM3u z$Kx}$W&3SVPvk$pf}39f&;Ne)>oe#{^t=`e!9of7 z50U{PNf43&(J6F00epl7HFC}}0_^a03)i%QAmW-OP05o9$pCzqLIU`(*kUn{$+>7S zhJ}WPg___1UWic-XQA}QP_x1QbcCEEM8Jp3r&F0??p|}a1s(S?o6u>Y@Nlcuf?Ito zF^7#(I+KtA3C(og@@?%y;M8Elh6`JJd;9u(cHbBt-n?n!#=hNAykH(8qZq5irNj9_ z6wus~sRQ7Qh)jx~q)_NIIyE@2fWbxBhhnOU7~aRA!=Q&w+*1R~BPnG+Ec-Clf*Ard zQMu-oagBe1c}_<-;}C>d0=Y`+epnxu7^FZq8ZfPj>wMpz$v~?n<0#-CkOLiLG3g8z zlM%#4xlqDZIXd49q*3Vbp5Rl2jK?GM5SvM30A~tv!z^>1v-{6MR0xd=OaAE=U@930 zf%|c|z`5Lv-LfjK<3S)0(CESJbL{|tNLbE67KaXek{Lj}$;VO?*Zx5e9cKi?`>%An zLDCU6lLF;u_!G>DVySVoJO~J;(HKykrx5_kJ;J6@q4bPEH$_;TqwN9WqoDcE29EF!LJ9 zrSKRVW+0u%BD?EsX^d|9Fc377z{MF)gNZ+|TCfqL0mCM{OJZ(}YJNaQ^8s4-Dgsgk z$Jh*LS|&Y+Xcd~NF0%Qg-54%7#-x&AcrXG98lQ-UsD=kYOq?DJEb%HJ zp{pPZIu0UYI*ZN>APVelT^Zf}fU<<3T#p+F%{+R4gu!657>`#VU(3qa)(3#fa3*sI z0UET}np~)F;7%C235!3Pk8AfJ1 zz>b41!+ zhNCZxYIzrE{z?F$hX@D}vY^1{ew793N}atQkU-8u$budbKHe+u)ey2Ef+k3v=IVH#E7JY#;ZiQhf_!M}=Ga*J2lyke{{mT% zyGsq(v7LXt@aI3j|D78MEj;?ib}RsZ(9iGx`Q57riFz6GV;Ucbz!eSvp?~HCZ}}1$ z&$r@l4}W<_qt=Ke1dTq=R{dTelTMS|`SH=`fB)t)w=C#~w`B|(Er57ekj$jZem?+4 z4_*B7L;Mk?9gxsxj~=}&LSe4mqtHigP^EkjK*yQEG}VozCATo>;agf7g#k3gwm>Y` z%UmBKeghLifsjxYAfa<$69TIrBY+sqzDm6;`2*N~JYvu<%_AIicl{!R$^xYQc!Y`N zT3HgzPGCteI<9oOWkE;ibl@lK$GK4CI%({KfIzfKp)(1XlYbN_n1B=9pq`@AiEV!l z@b#l1{&EEYp~6KvEs*Tz6X4$F_=z=|;gMipzW|)+5qu3%Bu_zrZ+|d92^6BX^OkEg z0|Qjt*PBA2QWqP5!nxkZ7f=lpS4vPw)zX+V0ZYDKaC;K`sRTMV5CovBXYdJ}BUSTE z#{z@Meh4E~R)9g2udcxXVZnXr-s z6mlS$4wh14OsVE^as6sgLy1g5G5dh40Z|}=tpM$pUx3tpun^DB4AY^`Wo<*j4jg1#62%>f_UmeMi7O` zqp|69U~H%p=}h|{2`nUq^$FU6!Jxol5IKuVm*n4Bt<-6CIxUyY4Gd(`D1me`7*fC@ z5gh&C9-tu-Q-CwU=!i)tvjssCwwM(xDOkx!=J-T<=Za;GNu4ko<}3d-&}GCvB^|c$Yo}bAs<-`1%^Z zh8x@e@&mX^y!XGLRR6*L0d8X!IIH>9kDzt`$9Hh^Z+!R7zq&6$Zb1J%Tt7Vi0}N`C zXCYjF7D152!R4nC;x^~4zk)XQS@7QpG>0Dk1?X#tYu!KK`afXyc!8Bu=U1Tq|M1zb zaMJ9zpfLSwiPul)pzjsXo06K2!|m#eaP@O5Oi<|?3FwILtDqB{`1c=(Ws0f@9IQeX$)& zkp4>wCj0Cm?!O((C#Sx36QFW=c97)%4ex%L;{6PiY(0o~kK%ZpKdMmzm{vga!mCS= z{&O340jm9x*i8WDn?PUyUAE`DjHsW$*XW0Q>ldK#{xg{%Xb&I=j6Z^&_$}dEUxIr1 zy5dtfj{F{2g>C%?2S1|lyzxg+n13HH`1=*N@^Ify6D@XK?EeKCn4HhJ*VYAo3djC+_h}D#)okw|#@|{fuEf zF!Udq;W<<~;!Ypj`Pl?_j^mv{#B(*DLr#CyK&7E5gm*8j;}fuZF~A+@Zo&=NZ|}4d zMoCx)nhE1D`o8P>KNV${n_(F3Jxwh8JsJffdG!Gar}#D zXe;jJE|9HzZi52DnAnJa3c)$Phr{g9$X;nU{!b~WG`TQbeD?fe>A;Zrz~N8AI-Z{gW*!Hnb69B4hxb5*bZKxFVO)aM5rD}_xG z-+vPB!QdXjJt zk{27T3;_WWwM;IRNi_6ev^w}|LV(2tf9wd*9 zEHZdr=Eeu0Re~Gf8P&MMC#NPne`NQT0ta7RE@d@EFg@64t>6dQ3pNhyiFCGiCRVpq z#u;^%G-Xj)cC>-PM(c+#Aab~W>fGqA!t$Y~e}8RVPD)H^cxP+#+KPraItXR~m-xo^ zj`UYfoE_0dmtOwl!|OY@R9l6v;jQi4_BYuWfoPc#(@PFr#yYFI_Fm3hTj+9F4EmIe z=3}F^<42Cnv-A7;<3de8&_4zh?Pj{ zuZn9sa{2PTTbDK-ihu3PuP@Kd^;jpTPhCB|I6Y+J1(MOaBlVA%>hD{;e(Uo2O^1^H z@YCn_56tyNY+pEY`l$^)iJ37}KeQyt#EQ+AZnw9O3?G<2ow@13r*B<4y>BLGaCX;7 zV|zm0U|T+uAmh>{;i{qXveoMrb5eHyukYSHyJvpBT01)3up**1j4z;rDIL6%8hLI! zB(US$p`^&o_ulyZ{jgU$$1H-$s>BKwbf!yJ##S9NBnSJTi|OrDc#Q@*iOcVoZOsqs*WQ4G0pr zdM38--g$UkQFc*5o>N2fr$_K3tzvIV^iPOVG#--{W#k1=eME+g&b5;}kF77t2Ald2 zCCxh^KrM=srxpVq^;}g`gUA_$Po+mIygVho8k4iBfA!+!bsJXZ58-=@JR5p@HL844NSm(Mg=@|ybA9($@GFE`epHBebWGP!J^Db|jVsaKjc zEi&B4N4etYx@AJ#OXZvIuMCUHYU^KD3%+7PL&DfB49PPi((7xY=&*9<^rTtiLj8k6 z^JgwNs1z?2=HV+bhb8CbMw`RTIvvv+Jd*p+X)8zb?K~ z3lx}28=|XYBVsZ_*E=;-8s;CM5;I5oT*1I5s`@g)?;O-wIG;zAGd;Z(UOMoc6jLz_ zPS$!Iwh)7sA)tDBD_P8CwIFBoF6>MR2_stHFtsC0Eb+$Z*7&u}YuY=yp9wLh8_seADQY2^D}Y`&f@L;yEmTw-1E z-IEFk2;Vt|Qas0>ewl-!wa!$?+yjl2-4n z7_8!m)mjCY-BDZGm26;Zg+SyXb5qImU`klqncIC6(RQg;uaIR# z_pjdB>QvLX;;G)~ARj1AY7{|EPP=-hkrk-S8oYFPbS^qwp)n{`RS}b`=ek|tT!!-8 zp(ef;)}0Xrx?(u%=11mmm>hpa&d|mETjrd(aN~mS1LF_0+#L_YDvhQ zI&o}UlXmn@xqf!|)XC;_vr`Pn$g`*;*-hk=n%r{m{KXSHTD1#*ss*A87f&8ro~iUh z#mb0{AYN!nt4|s{cj>~3+2-*!=XBZZ=Cc;zdz?#SAO7oIzJe#M%tEwM8Vvl&;;-MhYi zeOH7E$hyJJ93qn%8_NbyoI7`Sc;cCktv8#uUT8jY{p`tu%i3K^a2DO2Y(W@G8fuD6 z+IRi#Wb=*d*PCPKuHL*@fBNd}URSsl4jJXOr$zvd+BAf4lq${RoHYfWvZrdMV~Im{T=l@XHwkYVfufumM5wyXfOkY3iCwDLF{Yi?-<&mW!zElC!b zO`?%&=LsCuSPdLYt<)>E~_MM7a(b=xIK1SkbZ3Unb_I92ipqsxmM8(eKE zF@@!2HLF_AJbeKz`-8eMz|uQAzT`jV$dyNG;oMr7fBX7D^{+o z-ShPI3kZR!?Wy5fO?so%D340eOCMpB+$NVkTpCxga@&QI3!?}#DdjOKX0=@0^i--) zDvylUgF9?2w;|UF@JE)t?d-`*rwME&v!$3+8cdwgV22H`!JeQKgOktYHYb>D@i&}1 ze)aref=(Ig41+_eveas;2*W~cP783nf|4XDgB&OxJ$Yc))a0fo7>xJ-0R~h28wLyV z@E|Z4%Z5R8>g1_-9F*ON#drkEg* zAka+yZV2WPRo&qoQ5>GVey}DflA}sxQ<6;#4~`pxMHX!6U#nNI?24~wDv8l(!oxZC z#0=)#wikR#uox8ZOe(%O{=UYF%w|8boU&y+hTlzMyD+x=F zqPQWLh+n$pbYns9n!eSu&JFMXvER0GW+r>pXir03K^Ux$Mk)cp1QfnOx+1l7b^m5Z z%ECuqZ2)_oxhhrDnpG>q5)^D!5Zw*IqE3$+{0laAgxW?<-FdN7+cLXlb(%1FWr5H? ztSgJ|k1~@7@-|LPIy?etRB_FT_UxQggT|<-sStyf(i2NBUgdlY!B|=2SM%gd5=kW; zn9otFG(3>or5A?_X(Z6H)psWw=>!C$1O!pE0xp$D%h^1+dEbs?c0^iUVScuVONOIz zJhGp^;zy7HVZi}G(Pdf|&o7AY>YbRHpG#*&<>C23aVn~RfPi8P7y3{f1O#JM8#AH| z9AB!hP@mqjerh(IWzWmcPc$f~-u}Kyp;K;%2nM$0iisy6SoW|pO6KJy^Hmv~t!szI z(}EM1XGx$YsO1Rt^QY zgCQ+U3lNOTsaec}Glbp}ERe!;Wy(|4Vx@&&qYd_>VS#>P4h^^@6XX|hnPv&viebU+ zF0z#2;iK@;DYznObR~HA%ae;aYzae5_3}{!Q*CkRAi5f{q`%nCsG?6 z6@^w|Fr6JxysbJS06manGQhG0kSZYb%-$S3g-%t)ZfY)Hu_=?wpf^-j#MNcW1^yiA zvgzJPUQ`sDEx`MUhO5WJM1WrhlD!6>S(9so5mQuYU=XxUpeL%lxGKLTkEWo^DDvRSC zBu-jAXKPL7nqnLl8MAPiy)#i4O!l^K?~4xf$HLQ%aE928*Z_jj$)=W**E?I)rjX>E zsK^*?P0xI*LrD{eCwn4;{Gl`kfFeLn4&64KL=Ti_51v0T+NDjjCKou8vy|OKvz>7! zHcc?GI-cr{rJFQBjv$yngGOfg$?}HI?j7$o`J63)ytBGC+~L_RQWfoue^2IWIP;SDdnOt}D(QOyTl4e3m#gDMaDMR>H9SZD&qR zNn%@)GV{_i`o*!+(*wz&Itr|3o|)ixlOXd`##b#|$Oz`gH-iVojEvQ47PD@w#BQMg zQu8P@DhWhnrTUW@!Q=o*LKFB{%t&9OZ zN2snDj4`@L_I7Ptm(rSUR3*aMd2j>~2}6Q_U_zc!*OJv%l5lczrfvDy@ZSB7?zH+0 zt$+n~2gW3$8i}$-2?z#*F3ijO0|e8AW6De$ zjBRhxmb-UuBbddPhwxbd!PLv6WQnzAn7E3})wl27a;Jp}z$pSCtkmMjjYDRkK$z7q za0?Ovg0X1~4xdA#!pU{Iw7jh?p({1EY-LSjTkqB9uOkQ+EYmBT%OSc3p92SC#pPB_ zd}nN2ZEH(wYuCYh&mwrmQW!(jp)RRfui=C0#NVPd2IVDN%353T7O(xc+(f}jgP3V_ z2$^y{ih<#0wdoVUHAg}%&@4WG_d3F0T&Y3C*%+zg)NknjZ<;rh0M7ZU|=e=K%yu z0TUe(-x>t_{Q#980m1w|Tov(N>LPpAP>DUp!81kC{f&0c6A0!g9a~o@5Z4UESG1HR zsZDVPmLz6*f|dPP3g*Z!8a*|fZ`Q56cK7n8(wwAFfjI?SQALFZgV`5IxcuS=hmx~~ zPYx<=rjjF@3msOKTo|)qd(pt|4p*=ng3)Ul%doP_wq2d!0~vOURxVGAtvRM9hSDO*l8r%jHOIo|y4+{*RyYh|?yjd2~r z8HT)Mx-WsPgfwfxT%)74C##{^u<8Ai%R?L+cI3zPzPw0Iu*)CD!`1)fnG%H%?>)P`8 z`baa=$KJmz_%Q_IZ<<-9#C!t-q$>uq5>s7jl|csUH`CY06Eo(tq*3DtXhqc(^w`yK z{9UhD(`1#&$At_j>JUlXl1`I8$W?gv_Krlz=ni{=YCG_F5ZI1Gu4THs@sU_tp zmQWj=9wb-FBT^FMg$ROWJC-NJg!*ag7B?&xdU|>K&4 zsU|ajpuasl%b1xY6>~sg1XP3P`~e7OBE5)r#0Tm?fh6($)C~mi4aBmuez8ru;RL^<5zv|42&Q!rBBfKrl(D z6qY(7|GDX6ffrNHZn%;o~{!sW=_8NyW7xvk3t zUSwt7#`%zj5MAy1O|7Y1dr@eAwv|KncFwIyr1)VPi%jN*V3wU*Gnq7UWcR6S{h6GY zicQ;lI%Bz6{R>^GA#{O!dLW+SjfqWC@N*2gQzRAOaU)P$HhlKrL>jxiWz&4$NH()< zWWFcOA)vF0GYo;=m_;T9TL1*Xe1ih~nSR=;&1d&br*m6+hUfZ*b66Fd=DSm3c|kOC zfRCrIJX8v<(}0@KXVHXGe|^Qs>3wwqMPKjmj)6^8Y<>5_KzbaH!r`#F;6KGA1=lVB zVglsRRr99@vlz;r%~LxjrmI=foWa4|I2#>SSWl}$u0>=)ejIglWlJcTtL>Ya#-{>S zikLx;Jd0H9kECFcQYk`2UKX;CUmzajCDQh8-3nAIgq*+te;DO-sJExWEEN+F%nMw~ z1o5O&?V4@9D>rVf6-#8nfpiK1!4zhRgdp-Evv^XuOrl$}wY_w3x=sWR9V9%uuP+qK zCR4gGp9IV(fJ!RXt?pkl-n?OjNGy{{xlCFx7eJFXOe!VBTVgq%ZV!*QMC!^1yH*ah z=ZejaaGRPUm`{i8f@hdqVIBJ&2?s)t&Vj8SHlR13}$K%->{lYoj2q+om|Y;M9Fmhb~L*#qMp3F~LI zu_2L035yO?5|dO45bVHC0)pu@I)gFJYK@vdRGGITdGnD|@gcDmqt%Ff>4(cyq2SzS z-yH&iIdow*4BM-hX!vP>2NI3panK%WlN5|_y>(B$d7pq_4v?OD329*K0T3+G1`y0- z$M`xlcf1X|-g@&D1hcq2@CgABENoS>F}npM{Fu3P%WHr5JxT+6733?59=2+Eee%?J z6vPLp=pTCp5&?oSgQyG^gB%3ln;zP@b|`mUQEEeX*TB%o3x9YCK`;hS%-7l=^ck2- zg2&IM*od6<8R?xvYX=86p8dnC2!b&M5~)yX;0nb;7Ic-r%VZ{(6(&G#_@LL>SKode z5i$4@HdUfyQ~44m7a*A3p$Jz7X>+>pwO&{M@W=ZIg0Z<$b}&z*-6qQk| ziZW((tvT_^?c;L@S}~}6F`LC_sx3kq8wwXpql4-Y2ATqk45>Z!`@8qS)*tBT90`lf z!FFy|s6$v`NK&615;Rw|Tqp6e{1^94LY77!^+F{)P z{IyF*4uiKs5*VZ~z#j#QlIr%^{={4RuirkPKL4LT|8ok;2jvHh9U{Nn|Kf{>U;2Ob z(0y(eS(MH@|;-AJL(7_)dQlzW<}p zohK>N{p;6U&{Gva9rJIwp{LRP$GH&cPu^bn_&)l6{Cw)GK>tqudiu%zC*P%yO9S7bdm#O^1*`eBRXly@JKunId-np}7h03$ZcS*GNuXs%Jue1BBPn5Wgv^efe5C)wJ$IVhJn8@b1WHAB-6_a? z33?s_i0uRVV)S_gU>hQuf+*PsuHbMJnC`-H9P|gB{{b>@Gz$EDFoq6d9)yJAVPuGw z5*BW@#3mlj@+%UPAZkxiwcT!WI#sfScz_%}m^Q7l zG$EzBpr|G_8Be4nCnXv3imWlonYoFu$E5jS!KSLAnVI$R2}wy1_9qcf3XF@e7B;l5 zO4b07l=yjiv*ocl)tw6qd-m*wfBX0E?QZSKkBl^n*gl>f60k#3XhdSQ&S0@x!y)8@ z)oOv*8ZrT!Bhiq&py@m?MM#7#)DV{;m5L=&F^J40V5iREiPeaJ20bSavDs78dv->E z<}no7Di8ug2{;^)S`7q&m^UU3vDs2Gy60k+>{N(uVbf_e@B*P)1?fRh1ewuhOU^8< zkBnG~q(nv9b!xSc{rGtrOhTy04IyAu?TkYd@eXe(~`X572cREB*LDY+BRj<8;lT*)c~LxHMF}Y zP_SZ|3ECm6vds=rdhkfHooGpDsK+^YVsfL^mYh-58VS{eKt55CPg)Xn6&d1tk#91Onw)bm5=`L=CNR6Zk+^McC3ZYdT;Y zLo-^n;m{L8C?Zh;#MI>>c6(}ebq9pXve}lPD~WV)UqQ{LFGzl1_~kwv4tB!bR`yvCAgR@l7PyKhdKg{Xp{pQ@u`^^>2P=h zI!dd7@Hkr33@Q!D6Q+b0nlrZ4tgH-oHN(|mFd&8Q5$nzY1_R_!RvTr5zOsjF!gMeo zQCFfdALK3rOp2;DJ7nP*8LkP(HGc34cV80(CYvoSyShEnwq&P-X)Mr}VD2r}>QG<$ zde9Wc2s`v;DZBwfriH1)pf3@DMnUoP2=c~UMLIL|Wm$a`$^aEnqlO~#C3+n+v=63s z^cUzutT}nnk@hH*0qEAWLbkwYRiT}hr?H;;#_u$DiaurO{X%2sz8;0x-jAKGeX# zAYkCc+ClmfBar}5!Kel44>Y?B{yyRQzpftcD`eXA+ z(|~!p*Nvdc<%MaENZ_@Im*Cbwh;EfxP&rsB^Z=!r52<3P65>deK3anhVQcZhfPub@ z2wUv(wJpGDys=d?&ic{Ot&>lk+_tb~%fy!P@sW5}>ALk9@f!!gHUcaMHgB09o!qm1 zZtvvM7RtoLXmZi=D!RG~vzC`b1VXebz&tdWRC1FeFNc^R9#~R&chA(0Q#TrFYwK3k zu3A-_o1JA34UNgof#FF7Mv++2(>pbL`gVU$Pk$fYAJmhdoozRnqVuvL2MTb*r1HMr z>A5|J`n&u3mimMGARU5cIUob~42m!7>D#*V)UAGSe$x;BZwB(Rb0b5DBA_yQVTonE zeKR``pBaFIQT@IBYk(lz4g~qR9>l6)O)2l~*}8M@{?&+JU|@A$URI{v6cSV50JUd; zH`cJNd{xKhnWy$Y?57O$^`RP=LTxe2vSBmqOVX!5HB#T!GrX~7shQf;($c=HurNJ2 zqi$7{6s;H_`>`z_Uf8v5=e8X?woi{wOmBw+>b&ycC#DXZ zEG}HOtf;WCs3;>n!xj?afJXF&wc7(rsDw6{KX|0Sx38yn0PhPd$jOdGt(Z&X;D!3B zcV=$?A`qZv9O%u<&Vgo*$;&00nS>>kb@fcoBZA((-u}Msu6#rg8k3jzIEVPM?(V6% zg@rzNLvLSGL1RI74)jB8f%_Fcn5(QCa@cpYx3{OKZ=fl+9`%C>2v80|m@f>4-oEMi zgGXT;^iWY>K^agXfxs7|`jG5dFvf7T3 zt@GP^pp4)wpdSdJ3}$j&43ZCKsky|${n!VWQ~ zUFlGXVCe0{^0xY-44WNdo58t0qaj3xYkl>G7@{lCk^p_xJGEo`ROwPNb$MYb zjj{Q89%#w%#u8w>&+MGv-n-OC9ca#O%+JoUq2XNcc)TZ|=jZqBhn|9tYR+jY$jON` zgv8|LKOsQlefGf7zFug6{>I$Kd>}xB!QGWGY2gi9XZI}v0c6pb+mH`~0SMeZ_%&8O=37&GQ4~P6B?g7cCdG#zP7fZu6E_B`i`Eqy84DN zBiY9n4lnWG5KC%q<(|dkNA{mMG{1eT6_=8t<)S4c5N$QWAmSj1b|gz; zDnw|PN@Xg8$>M~q1_z_~kRXt&Tq3b1y5bXDiFg7THU#l5gH$57IwJ|#6qcfjN==2( z!xcHXsi|pcDXIBMNpT4&I&DHMu_)*>DoRt*3bJ#H($Z2>l2g-CE%nV#XL?3jiWQ`9 zJ{T{ew0C$@e^P2{N>cJtN>ExtY-~nxS-CS5>{?*a@DXd{vX|FSY?+vXn8j1uX0}%q z*JRr5R+ZS-y=dqSY84!1wM9k)N{=K*MTZzeG~gsuXMzDrhbf}9IGna{SC&Stf)!PX zs{@oOh{q1+g6CU=|q`8 zm|_!n7gdLtU>>7sst!j4Rh0dV*O$>~i-tnx7P*{ps0=Q6g+U>eDz$Mj(2~9+UT9Z!LV9L=GKANIok(Rqk?TI0;ejaLZwFG?IHRh7^J$ZNrB~8Wr>5c*bSS)VeQ7v zWQg@>41q$bL);DJ2`%Y#rKA;AKnMHI~@eWJq_SW^l#F#X&?&jZCUCnIQu*Fg%qt){&H!TL|g6lM-!; z1_G4?8q!?^C}UVGbmp=u=%zTAE5;ZNidm&prh%?N%byPjo1w4LmsQ83ceoPb6JR(% z8Nl%|EF3f+lH3HtAtfy%0|o-r1CI}cO28{LAvzH;ZL-@Uqv8@%(lby`0!;!0Y&NN2 z@@eB7XjYIorpAhl<;z?UA~Y(B7}Rih+hnwd#p=MG8KDfR)>+=!y%Nrq)~%>rSy8eg zFDu6xl>mM5c(_OWZ8AbLqGds4bvct$(o-!ycK5hd~LW%}w;+&~4jfrlEHby}=KtF1r zl~Fgqc!nvHoSwft9@Wql6B6^d35ae$1Uic|E;Xa5f*7s|(Z=Y<9ZgI+)X{p#0gVLQ zNr#S%CUQVC!i+`&>@=7?g_tC;)mW36pKDUc07Rj!2HBrPf-`>{ zF356t+~7xWunh;71;5>BfM_3<4Hn=L_s1=yeBwIS{R^c~;1lpzKk5#hfl!V6Be=LiQAJ6lbZ~^5Ng-IcMasT-WTObK?+=59>%Ql*`Xd65|W_{)$P$%IM-UqF(bIlJD|=prnq76*(xU~g zTRn&xcmDv_KfqCa=#@2JL$7>2h@ujZjy!_vM~lR@&n5gl?0x(_pZDK?@BQ~K`7EI^ zgxoT-0DLoH&7(hduIzTPjD9oW!yzJP^Zp_=SQ~rb`$V4(TGnC;CSR*H@so1?3dDhIq*L;&Rw< zavFY<6+8hryU}TcFgdtjwe%2zkn$i_u(wGo6wm}{Tm*u<>hx%{S;uG6KxOp{<{vD{ zbcE@(pb9eK!1LJXC%lR)Qh>NYCFC%Jg~Yps!jKF{h*~V*(s*cSk~I<#`RFw~nGjCl8i_h^ z!y^)MY-*ECEflbzTF@i{Ubx*duuL5lWtOOU94=EtfGwU-q0)eKNu$8!AW~t0&mI`O z&~03m*=%WUtcwFNXSfFZ^n=g*7R*$jcJ#X>m6%b;VR4GD`f>N*x0 z!@*7|(yRzq2?cOWnZaQQOeRh9sLig8kSfAdAyHtl&*stS9KJ@&A}|PqJTaRAX9mrA9EvRML=fG-e%SX#*Ev2dmr zoF5Mo(y(Bz2#|~n#9ex|NCdW>;L!{0H9;OuXNmYyzE~s`awWmw0)qx-dZ=SD4qM0* zaKO7f7YYg~beIc>Ezm_QK3m8a2-rL!_yeFbX~3jm(j>7taGIOT05>_{ri2dRNFHI} zLjxw!Bc>;vK?eme3_>**{A|E426)@2gP;m-F+qEW1iPSf0D~;VJE*~i$oi&=cnicM zmkIbxDqwH$0WQB!AW)kfp zff24ARUNO7r!&{#01g%PlE zn40X($(D$SIc<{Xp5L=|W_7NS4y2k8%jIEG7`8_Scox98oj)}p|h*IrfPXfalF}Jfaoh|*va(OW8+)ToH;qW zWpwlAj^#-S2}Twd62x)q*A0#z-nkJ1Jgr$hP@L(AiIK1{j?^}GVq@1!A77j~)!B1= ztZGYZaiPmD;&Nn>lN(#lzS*{^Z?3p>YxBsWB_tstO~~Ttw=Nqv@y?4K$B%W)%{A`c zf2cv584;Vt=4keAU4QLn&&7Q+2MROyjx{Hi6l&~_)L@RXeZ|3BwYxWL%5BL=Xh>SW zJTWEHsS9Irq^U(?rz-Xy-&+-#o?^|N9d1dCvq}YYjx4zl3>;c!>x!Aby@5(Td2~`;3$W?ca&~!T{FCLGAm|%YI;&dguz&>*F*&sffO)PIpY&k(sFaNv(uAeLm;%gr-DrtaxiXKZgFWzWm98g zb6tLJjL95o4iTbd8smg!Sh7rM$@x*?nM$Ql%~J|MF$f6)L%uD~SeUyaGJ2U_rI(3R zd{Cgngpw)}Lz9z|GmSCn8g-~Z0X_@SgijMj*+avfDs7}fu2OM~Xy%aFe6*L)gSo6s z#&WM>2DwHDzd-}X2Vlp-)DH5wt-Jf~WAi<}O{naA@cJy44UVSQAX} z6#lB-p~0d4&YtEnSBO!?AP|aGjPpr69?tdVAS3{$IsYFpmCLWb^#%k?fA{UT-hBP_ z=Z+mcI71+mTW3z5I&t#E(Zfd;5A5DPuyzdQW#8U(8!@pna!1~M z<=(w#4z93=5FjOM<2!HMzwylC3c^&_KY!@WH?Lo~xwtHX;1h+LZr*?9g-cV#kAIF| zdhXn*^TU-kck1ZHyNC9j9;tSx=54xo>)^g4Ys(=Oct}d!?B%OR4sL6!NOiwEr{(sG zx38T#ynRhl6v0%oR-U+e<=VyV$H%*xV-txwlw5h`&Y#{qdt>qP*w)o>m<|R^M(MSe zFMs&w^Dn-9eeq)F+<0^h!BjF^_FOm*PEk)BUp#hr4785*sUWA}V3{lTJ@*`Vp?%}U z=bpQL`|`nUlame32-s|7_C0(1#=TcxdiK^c*YRt<`{qYBjpkZ0PD;bIw{Kl}@b|Z0 zeCO)*H=jNB?8QU-#|Ki(oYdwQZe4i&qszCi+&_B!-i6z*)z^>r&8LNPO71OQ|HFU1 zf90(=FTeQW`PW{1^-RTl-|&t|PU*`p-g)Ppr{8}4h1U=6dhOo%g~eT!YsTj6oZ^e8 z-hA)$E6+WD_}uPoXLmilIJ0%|w8+HC z-*xc%{rgY9eD2Vm*|}W{$6h$ScWAP<&B`g9-~aN(-@STwcIwE?#)UO&uP?6Kv%Rr6 zjFU6D`|9iG@4xxR$%)gm{R_9x>>J+SnpYam$-lAd{Jq~DdF#&1!mhQ`qel);?A_44 zV%WyXyM5)Qqt9J_=Fagu2S%RWI=gMLt!(4WbOa}N6<&%51 zY#iCVInKyQO03*IJGb!Ef&F`*+O>0{vti}Rni`iu$H5${w(mc9aPj1c)2B}C+qu4@ zv%RA!&4hS|vvt?TUF+s|JT9U3d zFkXW(lAbrwH@|J$u8yf~Ep`1l4bdiI=2Rqa9B%KOs%l$TUC~@00YQs^sTiG|@UE7Y z`r68Jo0AxIAW^L>FDcH;Nl(wPg1ZQyN?UjE5Par0uWfJ74kMUK!oC;4W&CURU$}mC z-_|X4W`e0W4`01`{noV$SI-@t92jVX_=hlKvq6{>8yg)3s(edGXt;%7Din}{gP{=M z6dG)Lkh>Wac?Nw4K&%F|4Gx5FbQSP;6HO<+S>RTNMbM&@Cm-Z`2G0ExA2PA!ev*Qo zMsGnbZsIKRE~ zFH5-JqoW<$aeQvH93^;p{)A5~{}%UN79^J|D8$ys7vJ4}5Cj$^R-{skjRFT?LI zzHt8rGqQ}!m#_W}cAh0-)NoicSi6O$+Aed8Or{+(Ft;~_fy<$vLxpY9BTr@sCRI47AEc*>r>_jmV0 zB+)4#{Ncd^a2(_P7Q|!$OF1vN8Xfy@+-pzeC8XjbIkvtHzuw;y?+rr?I|PLTDxmAQ zc@w;C;hxXmx&?e2c8fl&AHe+yBPalkFOTGRm(Z`VPV~#05%UxNRQtEM&&U|KsZfD& zCU|b{>bE&?eD+-&9HX4NgMYf=<6=YqfZs##?cim40DRUhf%BV> zKWsyx4?W86LJ%Hs{_<)s>N4*%aCf(ae&4M{gU~zs#TVW5uf9~fL{$61-~RqNRQqfE z9~jugfmaumT2l%)I&dxK0a732BqW$Po+<_{yA)h`AV(qSFzIhU$hik{@qzBiAXQ3y zL@v+j$h#u5NsI)0S-$c|!|3r)Oqc(o!teD2F2^99SNtGWrv17w%4u zJ@e|>>eBU1X-QfQ$fTn!Ry42qBV${}I_kUkPF;HS?Th6boAXmroN+N0qdkg97miO& zPA#4|cJ=DLJzLh7?b=+G2aGonH2)Ceec}{NLwzmC$ zdak6XXziWn%S-YyQj-nKyKB@E8CVf3u#}4abvvG(-_~DOTXOuyb1%G5SyA7RniQM7 zyrTgWFcKMb*1Gj0qvONfv-6#KH7D=C@#@9l>WYEEuy~g%X<4USX9m!VDK=~x9bey= zzjm;$p#GIN-gsubp|G^QJ0UMA(&o%Hn5{OIT%uSvym@15Sw&?*PJaEfuRJ$j-kr9* zdgZEyT$A3Swu12#C>s=5T2VyBp~Jf>ViPM`F7+1Hj#gGzRn^tkMe0DgqmiL)qykG{ zUedRCG%qW=WaCI<$+G2DRn-ah#)gJSiP|0sMmlg3P0_o$yK8WLeM)9R`q-8lrz4}R zswz$!Ti0k8NmObn9B5W!yn(fY&BYl>sZ}dWa`TEa(lTPp(?ey7xOm-?$XlU6r=F$# zYu6RpLmkWd#yaKl)RKxEb&gf8kc&hz1=zi5)goN1py(B#no?{S+t8p!vvreC0xXco! zH!UlQ3N`4!wp*>V*%VTUPbv~hLKH?sWX^*s%cPNc%M&70Qn5g1(?d{Akx&eOL=t6) z8KyU*vT}L4RO+f&W(+f^L_DKe&0iAWLQkLo8)qD2Ra9jvq>8w_Br&L1ggm1ZoXp8Z zxX?=^mdb$S5ynqQP?@bJk;p6;2!$vpv&<@kE0Hz~45J}E&J_`%2iZlWlCO#}LXba` zSRfFI#URon(i0QyHme9MKx_t0f(eYm!3}^I^p%DX*vmY`JpDl&k4tD_@y?h8yI!J* zkU^`;q*}!EsVb>lnVy*q;(fI)I$EPaOg|tqr=-Q@jERnkhvU=0>swme;v6w?1m9oP z+y>gUB!chv^d-4m1mEvllN6sw@cq8kYmyQPzQ1~KZ9)QZH9odF-i7!+bsWrQCc7*9 zT=knrMn}gtBF@iIzPC6rK3r8*UQp2EDkxc2J32lxy64^J5$ESv|9Io{p6ZCS^qh+N zZuy#LbuXGS-VjSjVKSc7;oYhcUVzJ2?_4Knd>w!6Ehx1$`KdHsZW!6d4z!YlmC z%PY#uN=i%10mb};(I;kRCbw*vgqRW&d^apMBw_ci=YM|J~v!+}}cE;dL9RU&3GXzyG`6AK469 zZvpCGF!spo&ATtX^Sc*bfQ)`m&`)fc8>@W?e3QOw-&4m=oH+l|AAk2Ek>AlVeAMT_ z$rC4b@0&-<8SU`#<0ns?Jpa-k-ar&k41AO{egHq|apL4rw7k&|9y@X3j_1ewuRX$TV1YY&}en9NUkWui(%T z0N*E1EY8l&p?_nrIo@ypZk#xJ>@XU#WbV<$qemf2^r{ml9-Rc=TF0<)qU*f(@7;Ik zh1mQq+Im8Z`vbTkZZ+DO1$<(YGf(_L+=*L4gGbgv#DmdVgVM-T5ic>=sf z9)+ZyfwgOzy4Ro-a>}uj$B&;qbM(}O3m1o0<7<5f8f&W>8VXW~h0t(v@z|LQ=lb_v zzI^uF#o58W;>s0GZEed7+{@&Sm7`Z*J$v&0+s|#CI5Icb<#Lv{wziajKRZ|^51l%F zVs`6OPoKN@hj*W!K03E?ZGS^Ub4Avw@*9E}b|ydG*-D@b3SM zy|<2!>p1s^&oZM{w7Zg)QM;0M#Vg5TW=4y_kl3-z5X&SplWZquJKTVsG}JJsy|+oz zK-)l*G-;Bi4U@G;?|05hhTPuX_x*i-f4#RpmUPa{GtbPKGxIz%&pdGW&|qCFLK5_K zkuRk`f9~X&r(b{L%{LxDh(Y|z2M>+kbN5}{#qDi_L;c+}UVdoT*41m*ZN2~1H(vks z!EM|3?Z5BB!S%P@da}PHFRhaXNF23j+xXbJ^>-b*_~wgS$G4t*`Q;ru)~#5+r0m9< zH|D0MX28KF)w}k{nY*66@9vxS@7?zBb1(kp<=wjv9$3EQy2YE0?aEA{Q(1n>eACHu zx88pC@P&&7(KVEzF>GON{oI2JpI(ozCx?_P#*kjD1%z(M=%z^bMPw(Hn|CQHX zd-m4D8+RO?7#dsB+ckGlW&2Q1UQR%B?9|zl`?u}bv3_jh{uf_)>7E_OS8hE>AClZy zSvos!pr^Yde^$1c>RMN`^x=o^y>Vdv&cjdLyk+klyZ7zcGcj?vsbpyGNJ*d|KQ||w znzMQHkw+d`yJqc{TW;UKW9zoPd-e`D(?`TDX+=YGN>kGEW@VWV-+a@tQ)hOqxN+XR zJMY{*)VFH)-hKV~-G`30B&Qb^WkTyDl`&KTYTHL#9v@$)b zcc2JLDapAxDXCy}6E{P~Q9ozH&3EhxWRLFLvwYUdhV0y&)U@optkmSdshw92p5U0RXFlTsHM&@(Uau! zB?WyPzdr?aK{<2t&e5#Qyy11%rNrizB)KAObP_Ax7fj|r;TsT>lxEKSSuK4nDamo} zwt=TqeGUb+*)dN;UavJwhD+I14W($3%5ClFy`h`#;B|I&m8PWy)0xE1-l5e4bRXT% zu1Lk#r&39(q_cN;^|-ocfFbg!syV6c*?v}XXvPZWQ{{(-*1 zRYP>I6a}Ctm7boJyMKIuut?pZV-sM32ZvS+_Y!=4<;YH32Uc|Wru~FPvQL~l2ljSg zXxS2AX7}}#(`ka#F^0Y2=ot*~#M$$=(6@>Y4J})aCiMd%mt?b**A16aya_r3c z^WbbJR&{mO2Ww>&S;i)rc2=_bOL^mp+I$8;_b~klS`coJ#8B2@=;yuY}UZ=z3 z^$=btu=)KNnaQbs+9$#)9f~&&XJP`$k!K|NGGU*XlmyE|m)lJ{`F2;5FTuf_iAPyd zd@xQ(@xV9&G%$ha<2u|~%nWaOvd2w(1TMSH5sx_Yf0#=llk(A&|wxJ`O@ktg!9l%MG@wQCx3bX>J zF8OJ&vr0^I#KYdh5pT2GL1D~hbagVKyh5+bn_N&_oaIgOcoP%7NyPF6gwTPCEgA~P z@rfz0X^QtGBo(B368%6#CrUg(1%(HT-D$I$sib%>0>wh*jRcJaPH5D*T_|ZslN}Z_ z+}T<9$v&Lp`;%xlKRyw*UGWKYqQYf&c@rHb_$k4b&f=s5DQE*MN?gHsInyv#0=~Zm z%8gJLU|Fp}ixyupo*1ZllM-#vs7v(P65JLuE{l~mv+Q;nQAW&Srv(NT)q9i!~|^?*U70lM!e87OT~j8en)}N;0y|7HhP@Y>ZOIz_JGqc-sUw zbL^!}ODDR9$d8USMXO`1rU(cFU=xP#8sd>YZxSXC6dhutG&;K}(ux=}4of`4BRv?) zII)L;nmIN?=ZR-{B-t-VMnRLq65^3IvlUTiq8J|OaM;2lbVi0pI_*&r(F~7t*wH@> zk3{&IC@sSyQOWdOqSp}_O?afphp(IHFxVn2w1@3Y@G?A7+Y(4fgu+UkUT=%g#m1V5 zx_5f>LWV9nN^`Q)OzNm;t-%rv1(yhm)#Xhoo=q~vE?-eyade~=)+Dr91hs>xD5u{S zpUIR=0|_Xvsj056t*)s-Y@ITUUJOMXCV@vLW6Y<*6o^h25Ekf*hhwC8ipk@K{fTS@Y|-9XPIOT3AG zCOIj|=cV23>0~a5L7tyZq?0HQQlTTy@W_MbvxpHoohT*X@j&BCJ3q02@JP{J_uup6 zQ%{}r&0>m4P;tC_@3YT5eb@bWF)Z?-C!VCA=AQ6nW%(x)C3s`Ed(X4aKJ(0TPZ9=%y*5{w2 zpJhF9KcTqnhaY>4ewz2p-L?28bPcPrj4l`4^6axu;}qyoGEf!KkN)cMCr}9q!id7Y#kq@TeUAS=Zk!PMk6R>~97N35O``9B7KZyM$_+!W$KM|LbLyyo8IU*q` zM2Ap}9boAAM9wIF5akaTIOBrDi_6!{eMszjC2!_gf-+&31+%~o5jOjYOHa~IP*p2kTj)Hoy$La*&P=5&ZsKr)<5&WR{_=ni^s>N}u8_bZ&v;>1G-(RCH+WtQSB zjz%8DaTJaawEv)~N-RxKY6FabZ^hXa?saeB{wtWwa45}~s+Q>^c%?^vw0h?IWx!`w?4zO1#xKmC5~%ghs-wH|KUc{hhszdnQm zb{rG1K7(I(JJtCCeHcnNB;jxH6mF+p#(_`ew<>-<^j{}-HB zp+{J(DL?nKk3MS0(E~;r+mDepTTIqHEUq7;sz=6* zDm_LO`Wxd*J9Ed1{tEfumJ+^#QTZi>GjmKIGOQU5CJM?Mj7ujHxI#Pq6S^a3gK9vM zsdHueT$w!oZ|;cV<;%#$wg`!-P zS~IY4)BXc{_w5`VZb=V=R%wt@^Le$k*KgW;VE_ID2RAQisf&<>kx2&+SIPBtiw^AF zfA2$w5A0jkT%QreB^eQ7QGH#*qWyahJpbEc`}VD9t*wpb!FK~ZW65O+weARnePx!08!Zqg7fp#dEMkqr>KGjC@97)p4s*fRC7Z)1EHIq) z-Z$R_zvcYZGqi?~38|X>?&sfr_x*SO_&9!KjNy_I`~`pfoc=raqjioITM5k&^XFZ^ z@P>s84T3FO$g?C2X6|-)jik10-a@9lM8PUD?qjtYObzM!Xts-MO8h;AvQ^mW%m>D&ThYN(thL;8w+2u}Z>Y zZo^qCmrI1qZ3JuCa%t#R$zC-Bt0u)lunP9_Rnr*ctQE^I->zOE2~`nx1y;jaIa5r` zTCz$aV5;D729{65irIrJr&ATIftAy#YS!Q?X{eErKOR}&yYghH1V#E6ie|9b?8NQR+V&9<;Xe6FED+)B)rimIyW%8Cdc zLxB{+p$!|xk0CbomJJ(542Ua&lX|{z@9wkb>3jM2-MV+jcJnk@671S@?|n}^@%Ur+ zo!__1jF&^7$;3VTPT&353oktX{8RUx-9Hd3U?`A4xM$y8kG=3b(qDZ1-b1@B2>(VX zkX+fmXW!jO|NWaUz3}{n1H1a{Jd(kZDCm8vyI*+W#dkmW^$X8mJh*$0n;)V;im>KA z`_A42Oz(a8@=GuN^4x(vJysq=fkf&(J9piC@AJ<;_xsmheCfpp?mM(=XFPhJLkZNS z^e*+qi@$pArI%lP;qhNxyzk)7ovkJw=oVkOeAnT_=Pq7&_|acI`sl?A7j8K^v1=T~ zqWR%P>vlj7=i+@AFChKm#rsYlKe2a9qfr>m4I3EWg~;4EQ@924e+V#69zVWk+afz? zP+0HEHL#xExRIR8Y#QG{&Pmp+m~ZC_#cE%wKN;f9V2U8w53dp_Y00#Y1(gg+!U?iq zylpod=jn#f^n+=eEnid9u2 z2;GLWtBVDp*&D&CDiX}lpv$moc5Nwth6W*oSg4qsRZ}borQ)_!FkJoKHUZmJ5V-_Ow7(In@&}*0;SW%)U51ML5K!Lu(C>~@rIMz85)#TI(;i;WtH+n z?d7wx%ctK$z|JX~Zls!(Gt*u@!HY(QXb_hj01_4l8W~{na$dMv%}y_X3)C>VgqdP; zv8=A4mLF&17BIn*w{a?C_d>Gp@`#vxrfaS!30YdB0O@QH+R;o68M^ht(i|1qA>z)VPR!uEu1V@ z<>%(ArwI=?H?Ov#3#N+=)ddCW5aE#vz4_&}ZC$fFySf{z$`X~+OCN4QUR`@o<;=+XR5aAJub8}|ZHgtD(FInE()7{ckl9wL|!V?Y8j^>DFMcqEB90-u#1GAzx@ zhZSpXejt#JEU8qhCo3MYBI*T5kCvskaJW=@e@AxuH0i4{+5 z-AJHPQW+Fj^SB+{5Vg>--7aou{;F6m7cX=h!S*HP zuw644q}%fy1`OPq#r#ZbQWsEXxdlnq_hGW|lu@ z*L2Gw*w&dggtKrPYPytVadAUblTVOMFMrsUcwXp@)dV(ls|Q|E8$){7T(-%{<*~UT z(xVp0BoY=<#8Rnvdif(3dJ{d|s93HeF;OXENRLV-mOyNpAV&CWqROKdhDeWy3%N{U z0{M^J1h0f)<$ONJXfnlnf?ht1pUq}*Xi>!DLJh_kN5=~A*I+b|WRM#n4MSF}IPgEn zqC)E*az-u1=88xxuC{+9_aS+PhB?b7wvsa!v798A2CF6wj$=cinhlWK$Kr@rN1=;2 zg5zI&L4V2q;)^f8`-1(|34D9(7g>pP6|4R!C|o|>fV-rSeID;L;_;mUHG#yza^@Uj z26EmxcLr{ku~Inv^xHJ&nL`4o)@k4RBhCJUUPNtugQm7!^?NIGANqZDdgy*D+gS82 zO1@iY;83DRKLWmw9u=W3D*bJmN+;_ZDwf{LI`HMkunasvZ^aWnAWu+QSJ(CNKWN^^ zU3GP(f}gM@zy?iLiHuQ3sQB6saN+8a#w%( z?n>H!xkGtg+G>Bmcxe*FWCfH<>v~BcXsDFG-3;zD$2On$&B$Id)`}m-6@+gPHgjgW=}|F)<) ziAy8oyI97+P)87o?z@e$OO#r=;X67=2Y;I2@(>bLq7YLED#Lc(_9sY-KEF{6iG+B~ z=RhI;Md5D`!_l!qbm;3# z(5)=w@&rOQX26e#obGg;SVKd$HKC?ey6EPG1U;Kv+Abv$nYB|^i8^|m%W=2Qp z^v29tf#g}fq#Ur}fHxJ^+TIM@#er?a_!)s-8m*1d#m+yvb>YPIBL^mq9^E>7?8wpa zj`c^6Tpxo?wH^TmY03&F(>SlMYW|iZ2R1_IeBZ>8BU?IeJaS}H$Ew3ew{{lv%xTc; z48$+2UTbd}-FjsEydx76NA_%+H?;rA1Yp-rOl<1t-+uJySo@ZVm5n{#Xg$S^H5okf z=p*KBa}G`%-M8uB{Gt6Qw7DI?;~ni=jviUtx_M&VytT>3xEQo@)3&*&ch}I`BS&^` zI5dBl0VbHoJJvz{VQt%%BkSgl?b{F&&D9s~**2G+5bs;GX5z@c@k8^6_R$mJTe`;3 zjLuPnjUQ_vn8)_*D%QKTYfkQ%i{@@^0q}t>2j>m%KRhw9x%0+}iH#j?8xJ2@+Xi4@ zKCw0iz^8W3n>akNwSCRR!Ofcw&K=o5arp3f2LbME--OzRXMpuwt>N^3(u{4LYbLgi z5zM3+Td&)F_{gTt_Hn$;{4Eo^$HtDHGU(hf`uaUPPoM)fu9?`sZu7x;L;DULo;bX1 z>ye|IXSV`)V($2n{d$Z(I9zL+10S4wH8y4(7GTzm?30USG z`o%Af?;otvYs2*V+K&33)oXX$eb+CK5a5yhhv^B;hSm)e+D5?eYgMOo(Jyw#lsK5(B|T87aqL-_S;6gZx~%v)!bH9<8v5e6ck31 zIj_2|rM)z_A+NY)vXyG1Th(o?ZS8GExy@~DMb-5sW>}pP0vSzf#j$y1+37X8C2ei( zKeZ_U*4|nKX8~m?IK_E6Ly|W1kkr-N*PRpsi;YE-{4sa{MuRpf!)Y=)GZUi? zgzCzGFJsG^>*ucAn1R_yNUuZ}t<~A87C~XC(i+qe`l~Q%b?Ga5i(A`Dx>lrN#r8F* zTqMABaXR1pzLLVWwt~XG>wH+$MMffYEM~J-7B|$}mRH!`UXa^9Fvq~yaFLuy7;5Xa zMb~$d%(lY3){glFTD@JbWiqufDQ?}+b*<&jyyoV7M|sPbam3J)2)8UYfloV;T?wr=S&AG-XWa^@f zc`b9=a^tm8BvYu3Y1%Q`RBVQkxX@%RY8~BCAESjnC>y5uKT@LT=!WaAA8yWZ=>fmL26yRyr|939sB z|CR6}@*X7IM)8*-mRO7++Xz(%YU`7Tq+*59YSg0(%{XE;M#oyL#wdfuY?O=O#f~u% z)+b5CVv)3Pu&r#Mw6M2-V6Z*AacH;k`3ga|Nh2$I8+OIrupis4ahptGeYzZXHW+Oit^`&+Vd zI|c?D18oB}{)|YGl2WT-C0+!jnfBt|{=wNzeZ>VmbbokjprOCNH4AWqjp?leO@+03 zxk?oymNvH)LQ$owuyJ6Zv$3zZuxFqTa1CfmRuerSZpdsK1aMEYRP2_xyW4?zptqu~ zf1taWU`8`qnPvnkX7>#=WV8)57S?vpj+byH&GR~n=zep1di}saPjhckK@U`US_Ad{ z{mp^Qmi~dp%r-Qmrh8tilq&^rG2Jh2%c$?~X>20EXmbmI2U@ZSa8F@te{(@i_uLkV zS}b4OUxbR=Gwb_XYMXn>3l0d|i@W*bt`dw*w5?eM5vtd>er26{&N`v+U< z`?^EG!G2A9D-dU+0sZ~OtpnY&heuK+;xLKSUpO*<*|H_g4gEcJ1aUWXfiz8}o&5lA zLGz1;S1iA7xB%bREtU8){j-`|`ryiWpstCuqPHJd(;NF*vIEzzA6vJwskwEQFWo1R zxaD$9j1LwBIoJy?TfS=jn$;UOtlzj{-HNdd>sGF;%C1B-$h3@vBz?F_9){xuiNb*$ zSEk#XY<0noH6!Cvri%P=S<^EE&LqD}Ar@;egd}h(E|NODrdXfV{bME-n9P)9I4wB9 zjgg4NVmU)-WdM@Uq8LeRlpbCp$baS+6c@DND37r!62qIyPn4LrijX4^ITC155I-Db zifJiJ2@C7*D6G}+EDaw#s5$ zMx#p?dQj-g>*_0XQj)`#YqRKCtY|p{20MR)Q7-`)sIF3^jSE*O!VNl+lA*e4i72kE zwy>b4)rkIKsIDB%Q74d7g9J5=4G2Sb!$e|3O_nBaftXrn~T5M7a2t&-&x`?TUPxVRKYClwb+Rq9ZtP$HIz z?PUS4f<_y}Vr4?0%u0HaDJc<0TGEQr9ZGxwkyxm-rx&JLBE?LdLb24}QJxmBf-Fj? z4s)fKcY+>WA-ZBwa&cK}nXAtLIsgbBHPzQ{t>x~v2~&5h(cvQy);Jx;jU%1$L7rBW<@IAG$@Toyl$ zp}ssWFV)Nl9LN~umSOAeg34j4D;MNqYy~tXmV1jlMaZ}oxZH>w8Sj8GlLF49v&DLLSGB&28P`6_-!UYZk&s#FtjW%vM0XGWmS zJ_OJ*Tm1NKNzU@yJ?Z%YK9`>X+YLHkPBr_o5N8$>B!hH@)t8-}Y_TLm5amh#f&C#=qb`)ua@{T?5AL3qMWccCAWE!Gq$m&T`MrMSJbs)c+vpJ#wD3*R8cmzCj3 z3g89t0$C|&Kr$kP;MSF#m7bQHZ{YE8)*0(AEQa@7zb}yKC0$2)Bg^jrKC3wyb-MGa zD~k$TF(F_}oGT+ex1p{v+v5Y~bUHIUkZke?Qf=1KrUo2|rlmV#OmRHETPT*O3{YFL zCAnNR)wRt{jcu(>O)brJ%`J^}b$$nY3db5@d83p`MB$VOey8*Xtdg`5hDa@xprHO{ z`N=FdX(REV)f;p|9!~=58_p+VllTyciPQmx{Krqwj1_4l7J6!oHpo!`83CMJ0CRXM zg(^H8Udc7gFZc>nNV%LzE{g{^tadTyL16HRq9P6{BEa?*N6_ElkQSA3`8;7zEegYU z=W&1%feIlMknqHG7!N3gToFTk5mboF6$%6lSrsay!@{B!LgqoN^uXzxg3mmN6o^r8 zm50E@d}Ua;iU%-IUolUik_d&;FclB<9BW>QfU8bTa=~|S7?&?5)K?+EvP5*2MR zM@3p34#6ZNYm4OYWISFJ6zoV2>3K&4UN-M-zkrEy#uRtDYbh;g} zT*%R8mb+Z8$zw8T$$_d+D%To}@n#56E>m72C=m#R+;4G8PYXE$^emyg5c_i}5kxs6 znhWs^cbf2qyp_%P9J}(DNae`MW9TCCwg{xiV0=9zs}nIQ5#*rYigTFIJ#h{r=2P5< zK6w9w_a{G~KjeMz;Rhdl*a8`oK=$evGJ;lz@9 zAJ4O>KU{wP0MB{UTbG|n{?*SUe-`!T4>b3UM<0E}OoBZzIEux8f@(@Ia}sXv$WbUo z0N;E4hi_>9+poX=``^D_9ZH3TcNcT_{$FX{=O2FfK?(!>A)Tgq%8CML*{oV z<$VC;!|NFJ{v^%)=Buy1zVvsRmBmz!gfhE5^*JPDlY~Db!2#p%M}MOEU%dM2E3dx# z#pHC>hgW6YBbQ5MvU`xlp!pz_rF!@$nz{?3+dF46X3#w{opHwuGSU*%qkQP+8Pg@M zLB+I;l(56s(o7u$6;nA%@PUfs47>t`tZS-A844RB>ZzY+)J=9!5Mci-<4cNq0+4r3 zQi5B5_~HBSf5-$Sq8<+wX2Zr23X0;(Nf>!7D9eRmkdtF~EreyEzvRq{JQ3kp=+a_^ zLF}8&P)R4^XQG&Hz+Ym^OnzUvh`(_%ao{K2t%AF#Z`JHDb=X%F4>37an(*&6d^m^- zi?YXkLvfX=oZ?;dQ8ofF{B(?a)6FGH)i;ztsVZqYfAPM1>5J6;^aFzXFWh_afpU@) zp+e5~1FKf;K6L2d#G%6nH?G=tICmzeansK07LM=Py=(XGJ-e4L7~7pga)e4%aWh;! z>{vcIDqJ+W05J&sN;PmPRHe<=E!wej*@6WN;rC%7lvWn_NC}ZbS=zL2%c9X67SdZq z+jndub{APBM?zXQzJ0-U3l{F!P45w)p51$xTKGzJY4he?FxO-6+OzkkJ?v}(kM}EX z9KW<%vWEcf*}H2ulN_PeBqmoikB+w0*EP;x*j6`Zac`Ypt@#H1=2j{dk&TUU3LvaC zC}%Z#mFPPSa(HK%Qq80)Vs`J^ zi`3PD|(XjkcF*d4p~Qi`ypn}7kS46H&CvlDm~Vaqmn6oW{m zRqz8zrn?+DyT_uHVaqo8!bWyi2Ezpr(b_0IVnUFKt(5C`?m|Rj&GH>xmQe zamqW1O*P5YC}MW)@TkxPe5TtUedLjcA9>`V#F<>JBBHHhbmgiw+jj5TweP^DmD`}S zwQltm^nX6BVMPG}R}oRyuqwD&wPiO{t=28wN=y{@9zS*RObs2!GQgh?2M~>P1Gm1e z?dFH+N0bkvjz=H9^VVDMc;t~sAAKkp$2($0czH!#BaW3@57PIj?!E8Ag$EwEA69<1 zUbz2(Uq0Xm2p8KXO<}Ns*Vqoj(Ghy7V9P!jkL}sJm)^(T9}fsQHhPNuhK71L53g@* z=!Mg-^^-dVyLRr}v2&-3K@m|?7aLUZG}-lyO$#P>v3KqorLW`p!!Z0~gA}6p)i=cA zdn+{A)wQ*AHji)GJU+hpx}o7=Uzl2mlO|CtqF|(#CMd%J zAY}lQkx&*@$s=ico0YE9wZCJH?u}TSmFlGCWHl~sg z1_Gc~%4gNA+`U9i0KyfWyEh>GiVf0wTp}hS1AYgEMovP0BC2bpcNeSC7f9ERmy>#OBwvg z1%C35e6@-=oP*yHzEU}`dpcX;%yir4WN~wW4jsJNz86c3@yDvIf)rg94IGf zCyTNM#T@KtCEsKD0bZ_%5(&j$OE_YsJ{*KaB(ge3=tY9j#V~P(k|4d9v&1hHgRBXK zZr_S=C^2mzMq?OL8^^b#2t^=X$Vuv(+t@fXf9_m*o?vcAW6%6}k|PxgUB1r#va&7` zZvc+#>PwpkoC4$sg+iylq^h^C_NPidT;Nn1NF9K8`-;o^`m0M3ZGFMr)ZUKJmGj;g8`byz%7f}s@gS>&kK_@{b7m8fIu7R$O&Q3U&A3*io zA>;rVAC)6#kVYDd$ru=PFz+al>f-#FRh8K=87r;GPA{s;%P@(hgnl}4j4SmesRTli z8)vyzpH3(t^fO*27b+{O9gqm*l|~CQs%%26z%j!F>Yn}~N+_xCj1iXhCC#L&2Kwh9 zwV^9kSaKy*JuoFraY;7%lfb~KKr3OeG zR3(xc;5=b=_u$B!;kKG?qDwk5x@7UPH2AKJl#*VN!uke=Rf(zKkUO`NTKGH0Rjr#P`lD976p5T8nbF)NkR zGL8z1k6^e6#6W3u>lg^NK$_%J3*pFABNE6!)MWx8EuzJIp`8Q*WqOQ22;inpBNmvw zuxb)YDxjBBqY&owW(gDkQHNRr5V??VL9{5h5Z^-}6VB?-5{3YzzC;zlp%4lzNe%sV zqG^D>Y=M-)K*p^QVR)qg@YeU&GXQeItp04K6>6c>=bHhL$&05kNCi3lIUxXye7q_s zy`991F)Qf*&XyuFuIr=CCN!kPfSYi zW~M_97RaOnYzA8dhih`D2fQ!}ge(nq;;1Soii>)99Inxs5kQ=;RHS7Eke8D)(*lz# z14hg6@RL26#mmk@I^GimI|9aNe!tBK)9EBDqF6ai;d~(>r4BBKBXBs-c&^bV<-|C` zI6^{7Jz@z*DcwBd)l4JEpa|8@2<%lx^`4pFzl&0dk0x=w3C{+~5ETlL*Uz&>J z%+yV%vc(x$MMzCb4W&Z+0%RwY%H<`dt2pj}J_M`biUYvQ23{rC3B2TU!deZakSj(< zD^VkK{T+e0AYUMmsSvlFIA;beMb?Dmw5bbO#J zcyLek1xP5noU-!L3X@bKRY7hnIX@II@Q)5$8eM2?0lIt5FWzzs896}(z5yp*92UN?5A*MegD<>oSBp=5oa76*VIII;9-Q;vi-NPb1umhW!*R;zgUn z84w8>HBycOYe7B-WK=|ia6DAZ=jh{g91-c;(7=L9vx?8v!J(Fs%P%dhtge!9YysPJ zMbPAwAfyr|DL2OMa+)|0EC@s#OP1v_fL+3YQ&B0O8|zFBByb6UkZsMdFqNp;q#bOu zLj>WHJvlRx0T8jRnU^t;cL9Ky#}5o5Kci0zD;`ZF11Zkm(Mb{4oc%D$Lt( z&`Kk6ERYPrr5)0V23Z^^?G;JZzq%t7ITA*-0@NWw8H9U9B+zFl@25n4%lT1|9utUN{BT2nrk7p#cFm8$;H67QRM2&t$LYVf1?#Cdg0%W%T|-Ue zlK{zlYwzEJ|M>flPa{Sy=M4QZ)=<>5L7KZ5@vfexY4I}ZrRKkWKl$F@=_tIo>`wYq z`1_-t1BxXS^}-vyG`&d}7UlcRdw&VieyPCaI`$JCe8mlG;okygr`!EjBTVmpoR{`$ zQrY<+O@B`%y#ptQ@6fEsQ}5CU+*fzcXEb}ft`9G@qK@(m(Ci;IpBP{9EY1!p${x<`OOY zG?`)*()23WA^!0wG>egKewhAyF0xTxIG3XMb7|<*zX{7g zE2t6}XELgojGfaZfQvIHR3emdHL7bec3fK`8g*PL@!L?dW>D2!Q~6bOT-z#=aZPi7 zR>w8(!MxyAB`#Oayx>(Cl}zP8_4AC&C4P?Ta;yIPjF}fib0aUm`PI#xeveQcGnJEW zzorwf?%iujT%B=s38D0M`V(x>$G*o$|2mywSJCvCfV`nVa}WI)Jh5*7krrgZF$hg> zl_9->x(I{D_gY%+frjPkhM~|sfTR|Z(81>siGxZ+(#NJ!Zj!7I(SS{+7);58J+g5bUK)CofH zBJRGhvf{#h_ug~&g?sM3a3AED7w*6Bfs1!y(!BBLaYFE<8&2PH{?^;z#stnkZlTXB zZpGuRx12-qz1weGNTwfq^X9%_8>_i3*sg4CX=!W0VgbLJsGV!)&mpH_>}`DkIz^NU zmqIDTrG!72EQRYJmuc^YITH^Y#tI)Mwp$8J_M#G40g|8MOC{1QYeLcf-Myz@d*leB z=u+w}a}xrV!qT#`l2RLOqEhH$c}Y%uiXnS%dD^eueH;xkQyVvy6wLP&0!Oh4;hoZb zC0H%zcym0vTUuEs-+l5Fth`pNZ;2gR?kS>6`L5`ymX_l5V2P}vrFizx;XC4f`QdNx zJwOT8tt|D8F7+1CWl{0=Ra-VMt0K$pjtw34yDq$S=S$!J<-Q5Zyne`*J-XP7AX{be zg=3pHFRLj+b>m|lBWGTJ^^V+U|MJ`el)0iHP%^q4C!(o|=F%}ZuPeieXvwCrj)Ie~ z-d@&W>U!(96r2T?m9Af2oSf{8(N_c0@>)3B7(Y7Jk$3cs@=b!a)vsNEOEu2+<>hcM z6xlGgb<4^&4DH>m>pSvozwjwG$6b8mt_gSu?H^xOSqpX***Lak>xvFayl>XrwH?K+ zCw{rMuJu3P{>22lv%NDoS3mELd+xk*WXtZ|>qhVWMa9Z_FwR_Y;jM=kB|P!YL#NCw z9bKzV+;ZyF$rHy<68AFaPQhgA#Hn-V&)stSo3ETVoqOlqv#PePuGz~ruSIC{HEY&w zhAX)>^eXx4B@p6_Z+Y^SbAiB{@7*G4DN8Bo8<{hAF8^UP4=E&#tVGlnt_vEXm zH^^T7^LaU?*W2ALmlHl(9Pq{xgvSCW?UK0NftKU4H9DTz+}UEKhuh#Iu2gy*? zcOvjodKM&*=8CGiDu0ZLs)~o(j5g}#GiQzwW)Zn$PG4)81!~`A>*sIY(&AQA^R6H6 zsH-5PBXZfXon850%DEj!*N$%)D5j_dH=ekmDxb+*adbylp$4kmgU4Y^He60oi`JjK zp}LUCTz%8d&SI3T8$J%X>2MiEt=f2EVRZqMxe_Hyps`#xax+Q}R#4R94Ja8xyZq?R z?ou&Ra^s>+gC#(_@#GCPq0CiBw|AF;3D(cKX~V+tA=uw9*?8iH>f&j%+q=rK-m9B? z^Tr!C51>IyH=JHL-Jn%Rcg`*$nR9MlKW`;z?J|Nk)S%UP&th!kllL&Rlh9YgY+M)(?(tT)Sw1yyw`VnamaI#yW~Y zw`zw_a^XNV&@Nv!x4MLB?Wogg$&ynQ%i&z`?7<@&mQeH3;0YzveQO50+j^p?;_`V* zmo6M!)K*HZxURdsW9SD;J97S(El2j;&~^4)cLj2sB-uwhjJB3EBr%>^gpUd^>%&io^*&yk}z1*?aD} zd1Bj!y|UeP(+X3=!d@ zza!Ww>*(m3-PO_22|KNh4)rAp@n@3ZP*kUHX>Mp}YG{SQ6WRZ{VVx8c1K;@|KcdKp z$VfS)pkFf62nez;b%A{04-a9bLS9@zUjp3_H3AJn!7b0mAc?RRcrABZw+J zG7Nzv#Eo-^&6;ZW#eGQ`J>=L#hUm0Zk^Q0TC>s0Aq>? zkB!+~T1~ae#Gnv@qDr4UGf!irO;KSIr`Kza29VL>Hr7|jisIH5*d!XTt71oF?yPVF zifdFQH8uHGXycj_%RDxvz@rVWj6|szkGrQppvK5c zsm`^!2;*}g@J9huxaRuvian-;u*e(hTDw*JD08Y8A~9579(0ot2hIr(qQ&kqL@r z#d1U*R>={rj#gg^)2P)rcV>Qt>21)xDOMMSL7S6;vtoS=PKu5bipixrUSt;@Mc!r?mb~bwBK$~MdT_sgD z$pFhL>dUqmrZXG7M#vrP$+HpcHq{LFSl*j$F*2D2vyq9C_LSLG)ir4*iYh7Z$+Ct@ z7Iifw7%>lQ$gHYPwNg}08A^sS^Sc_nCh$E+a(87`H7S`>)|X|8WzZIN)_F}B)%KLG zip-icJEAI-qe0VkcGP=JAl%5T4Ac;`1?2;5meol+*O{MmxfL)Agv9REJjHa_@2!_yQ(-h6>EgT%HC{SD6^oW-fO~%q0Qe_ zS;A!IRrCa=(dKv7dyL4m`rE2Xa#K(;zoL8QRSG+5J*0@dUOB~bM z;D!#r&P+?F&XTq|59vO8T3KZ=R2V6$xMFr-y0t~^wcb!ClvfsK zr{Yzzi<>iN8q`|j34OBC%93oRL8UF3GdxL(BMD-TzxEON?L+yk$#tsRy5R9>7?rL>1KQxoD-qbQR(Jv%2W zDKp+oRR!R54qgg^~msH>1Se|Kd_Hm|Nf7UR^(T?!2~^w$8Su_NM-M^Saw=D;h@@g6~=M zt`tNr%_}TMMBMVS!V>%~gkL;wz?;3Ut3H7aITLZmDxrF4Yvv7j;yjai28LB&@D2Ta%O^{((Z!s$Z%E|eDX zy-)N~{?GUx+3Cen8t}c=-rnp)!uMFsWweiSGJLPQ!41AwmE&RddU@ID$;J73IoXA| zi1b=ikY8L#dIfy1FcC94NJ*TC#hZ}{AED`i3_4XwJlx|U6?EgK7Pp=d5*X`1?K=i$ zkTEK_K-a~xM^f*w>eUykxRwVcKArtf)V8A*brAx=^YoeuPRqq!S_H>aBvtIV{^K!ST^V9 z!=fi57Wx*OcIExZdjxcz87N!jE)kPd7M^llqn`|OjC)9gQr@oFbu@V zI4({ulUK+}WimF*9WKdOavX3{@}NwKbeW9UOQ>bC8g)sS3S3VU3`3F(YV~0%wOr)Y zD(EoWQ*w#SGAmw(acF>rWMni5DGUM-Sx=r&nxc)2ii*@yDyd9W2*nF9J*!MAi%r2w zOA--*j@8Cf?l6f&X`{lFY74{k+~zo#i-9eMJL4QKy+Tbn?LZx(W|kz6J_>|6LYHWB zy5oS;VoNbbM>EvSk`y1K!w`&#O~N6DK}Rx^VVFiT#dcpjQxci9Qxu0!=d$@sS}jx3 z?vK|;gKFzzeK<)WC9MvWjJk|A3QSL@_t{MjBTAZ`$>!(?CexPSiqV4U#l-j=2B$GL zR5B`r)=JFiK(+O;iH)6Z*%W>GRrFe9 zYIO-HX&`7_$;RnSYl2H3jlM->0yqdY0IkjGGfel84e>~$NNWwmOEN)gwI>>)r@PPV z)<>cHVq$D|MD)h1#JhaP>5|q&x1L03Bbios6v9`rC(M*Id0mLiNb0mqH^^c47^Yvv z67SS$(FuAzyj>VcYpvD<<8+-Sn@t-sL)a*Q6Z7V%BdKK53?o# zEkJHr1V}>#>=lBlNLgdQn<~%Ljjq5ThlMV^~ju7w&3( z2teUYFGJjya8+b%(9DL{RN5wjr%xMvlwxxL_nt;Ac%DckQbb`sM@B^lqZFW-k)WX1 zp+GkdF;AiB9H!98XrV%6G{?mm^aw5zgP0g`YG`i2JqTu~C@2UqJfVmWl?E_8<{xW1 zWU`L(QsvYf>KJv3x{JC8KMzumQqNH@Q@??J_!K0MKe1TUHwXjs6Yi(*`$uTJe+Mn| zFA*{L6I_3xKA_&G-lbkgiPxw?@tHP$55VDx1ooI;eTL7E;$yi>Rfz7Ez|2B;xw5WjnoUJDDEYis`Z)4zM*e`60^ng1uL z+cE!tf%*S1^(^M>e`1ak%NH86{u^8*1S6pbKY%XG%>R!tldqotzo*{D{C|V`BYs{7 zHFy=*i=ZZC{=ZIrNPP;+LgEDY6YBndI{!lR-;SB@!u)sR%A*2Q=k)xa$ISmFpa6@h z8!-Dr^S_&F!Tj#P?~3W!Pv(CEC_ppS2FmbX=YI<*#J}hN|Hje&?|1%r56sN}o526? zr0&K1e~97#Wd6fCmx7Bk@c(ad5jSfy^Pf2R{;&L>%yBaRf6vVSH>ls??iH*GUc~%= z2^8UD%=^EipX|9wcW{`dUA_s-!0c*Z=Ga`MFQS&=S_~e%ky=BopjKg3J_kQ@0nrH9POQ7@a953=9%`7H4}3$+ z>|IK&#=3newTIeC9r>5*e+Lx8$VC*xoRon|!$n#dpt5k0kRvgm4XM}}WKikI^CK^x zDx#8bc^RtVrV=P0ax~2cXq86$NKSfj_t}LWk|2_Wy-2?xddtlwve|LR7#d+-1 z-9eK5=v8VYJPd$)PGEA=$Bsn z=&P4rJVIi~7H<5-L}}@s6OX+zCHuDOiVydq-~Dy!qbc!ZaB_0xW5a*E6r6l{O7M?k zZ-4dGV}JVbtttMmU-;t7w;t{Jc#3uLi?^o4Z}|}C%3zGM=YF|v>OZHVCdW5D{`%%? zg3wO{zsS3V&XoqlJ}>g&$;)GT^%{cBUo4_^QM`#(%g{rUDk z{eDl~h6iu_EI7sc;e901A52Alde;NbUtD$Ii!Z+V`s=U0{_3kQzr@c!zWg%y75ydm zt5;uo@^9}>36@vhKQ;AgLpIHa@kC|%-=?M(w%xgI>b0q;;Gs=FkA!>o?TCbX2b%W9 zwchEU_+;v@Q;OSOI{4cSr;qoY?#WvC@t5Cx{pOVFz4tzT|CK*XO?_~vbLgRao_XPh zPtd@3|Mc<4@4o&1RP;MrMpxax{rQup&z?Sa?(CVgU0D^UC0o<1RGtOWrk}^3lLg zr&K@u`1PUdmMwVV{Kd{WotXvO4j*`HO8w`zA2@bw-TA4hA739|KlaW$zg~e(?mG9EKTk!i zu;q>HvkVRS>NZSlsn62d=45;4q}Xf^ubX;vO8dv#@3?KvKZ^_e@W*dVsXlMN)_;HP ze|$V%JtXO^9_4hx$c;4vjoS_p1C;u=dc=w&h=M@yKe4CyUe(~f(nMYoIc{N%q zcxPon{@f>Ceffha{_j57boS;2_tN*%53(L>3sN#x;S0Zf;K2tTeCWP~??3d_pQp6T z^XkWz9ZjEg{lbFo>$-B{o&HiwV|!Jm+y3CXskf%|zxnT?6mQ+N>z22sR3H94u)zIH zdp|#Q-5oEE-M#eKqV-36mj#l?KKjEH|Fy@L)l_6|xHQH8uKuofe!b?i$tnK&jLMoN z4?lypzV){Q7w(?-yWne_H(!5eWRenBy#FeU=3jf`H*-FCZ%RL!w{G3`yEYwe=ve*0 z3-_<7E)KN$7S5l$vU51ca&g_%AEtPJx@paS8!mb14^v@Z^!+^6LF+4@p>xBYShnQM zQzuv7P`UoLk%3jU{`@n4{rv4I!SnyQrmlBc>xRiG!DlP){^-+-b3VcCc*~0J`c=<7 z_2HEK&AFL?I+1Fk;qTM>Lr)Kce zyJsFYe0Ys8#H$70_*9h9mBcA!(ZBM1s3hG^lujWb*Eg@m1IvCT0eOKi;yvL}^l5(2bwA|BM;+$+%?L}<5Le9XOpT6!Y>y;DN3a`7U zd*S22pyC_&*Ou69FDbh#E%4^gK32Z_R5Lq0J2NvkvlswJbi}%gGc(ih`$5Axyn3K{ z{leBpUO-j9cBHX_j0g|6nwDovic?x+V~#%e5c=v2zasyevvk1|gnTpcuT~MRvmelR zf0Uk+;M1FzW9iwLQ>|`q;U^_*5PADK!aP3Ws%{h4erIVNLEaZdUAcJnmO<_+f~+mw zZi%x|u^%2n-+#S)^;12{HJF*3d*=gwJ;cQN%kwkvKWC>JKP(_jGd88&ukH-?wWJ1B zNdvO5JR{3dG%cZ^simng-q}WZH34~vFymL6{)_Xqkh0C@bA)`6|F5nVto^78ilr() zBge8N>wuz&QYU?L2MuWv=eZjTFA>a(*=)~nSNpV~xo7K3eZn2*d)|x|^7X#^_+ow_ z)xjy$Idk&KTjbc&^@

    K{%`PtVNFFB60i>Ajnqot~ecdq@y+mrc&6ZJ>YrLSKBn z;+>D1{Y6DVqM4;#107A-(O7ECQUdY{VfhFqs{hTN+xX_M7s$c)sSa2)*Y!Xe=? zwT7%CRI4-3Q*68fgEC@*Qv!V)y`A+8Pho}qiyniR_Pb^Vr41n_0o~)nHMR~tjx{er=UMHtwBugie-g{ zG!0$oKa*Im^6DWx2P1%GPoT7HxqH=wiftQ9el+3FW-UA%G=XesO9?Y z@!sbHrNTyTo|ci#-A!@I2BQ^k5e9;m`UlfM)SsDK4@3{%iBL7r;$|N-ti3^)H;j_| zMtyyg5^A$Mv=g7LKIrSH&e4l1EK73tRWgY3F?N|p_De&KCEQdvfjhnzGSW}5ZO$Mk zs#LV}V&W65bir(1TMF{sN}eH@4^?I9|HBo1>J@TyIZ*I#JW&LUZ?1!E>JO8Rb|EDR z7OuX&`o8IL?k0`^#^dL(iJgIZZM$O;>z+Jzu|7mzh#Naz@V0vCdP%(ykFa8B{n%)V zTeRVYatPwf^~&YXwV-=;W@>ID0LEd%m6_=&7#Z$2p|Wv(jKXZuR+iy0O?qnOufNQ7 zRTdZ9ai(OuIfyw4(a^HoeTtm;IXHMu6wXiKxElV1KY+5e2h%k;xDKDVPEj_LPtS(J z<5=j($vIk{Ak3d)|C`-Aw>WnG6+%77`S-prG;Qn18bb9n&eA$DJ|)t@-O@M8%*M$l zSkGL7n?DIYADFh=R`uPkDZ@Q==~lXuXG$MkdRTw6MN-c?y|!m4$-S%27!CWe=WCVA zU+ZSkCOkd28HB1|o}HeWo}IeaybeuxLZUm3@33EYy^2Kg_`Ms~y2^{%Q#Bb~i(*Xt7>!5{0qo3OhM8&Vp zPEEo0?Li}io@H4nA*)Gi7YPM9lf$K(6O%Xlo7<`yycnoXlI$aLb9GVD!97QgWtf6D zA}a$Nq*I~4wrLK)bq8)iWnqJWIb>HO1N9co9x6%-+B%T_@pNQBRIIC-wvuLQy1l%N zmZhz&94FYPi_I021!+ZIvP4bAg;+u%fmHtSvh%GS$0}l27X03`r1dxQG6FICnq--2OTvP zSttGpLj5iw%F|R!McvlXT;ISH42xu~GzFM3a*ABr^m{QFdcL@KPy@?x-d^yF*b47* z7~qiLPh{ieXG2hzoKxenKliBYOPw<&mLL zZ((i@o(SjBu=!$J4{k0#5g%ZJTxuPQkgtadc=Vz4?WbDwD>OSZy%CI7z{(uVYi8%} zH?2eHAF+@eSLUTTPJ2=}Ij7@tTSJVQZn&F~4n6fzY7$A#lSf6?paSZMM6?)1lvVUK zZ2}Cf;qs!IvWgwtj+B>YV^&fmDx61lEmQO11@^+>Gwt!!#|UPvzS>D#K*l5_)t`k$ z-P~G_T~8Elo6^%WV}K&h$xhF}F!dPOga4NY(~D(P^DTQ*ExTNI8z0A0F7|d7)`lLj zvZh*`{Ma%07~V8ep!%?CsIgeX+kiU(BSc4dxK@YbEc# z)T48^x!JjoXlplGg_b`D<9pNEBEq^^NGoH>!y&+}MXL~$kzZcY5OYfRl#ziv$MHZq zF&YU`2Byv}7?SIWI5li6l+^5uPT8xg;+2o7s;KZ7oD!8*)z()QLPa0OUu4ph0xwk> z(oy^)c)z!P?ChAh)HpW|RuKamJvjR30q1N6USWO~dIm-|S@}ngkt0Bl|I=pbKkcr>^5BrDn{rcYmAMD{*fD_Qzdw>`ZVdijPwF(e-vzsJw+g~=04TS2&ey0nHQ zFZH2nYkD3n|H#aeme^Bp$5Mrl^>~BHA$EE>7Ilki9J1?u?Cdgfyq<`R-!?iYCst7j zhy!5xidQ)-Cnjp_=IyM?K}l3Nha8+>)RqzA=A^t5ucixo|&JW z-v|KZhm79CK>rX1xCS)jO2!qMQkXs58}=Oh@*bh#P5m)(j&Qq_jgP$j9@&0D7Eg1& zylrI9MfX_8XDbNfyYjshEV6ob{^-T{D)?PfQx)hPWC&)n^c4GImr(7r>hfH0_2cB^ zJi`3TAg|8YL_~<2-{h1e+^Jw<0)tvC7V>nkSbDm!epguNA4)_iO#c3{Z|irom z3%iR?NmJ!e;j_DVn9w|1FMjj6{sBy1=I7=%gS|#BT!=S%KQ)aG_n`hQ!k!`J64s=J zVP@)oE5R>f;1LqpQsHKxFU!NpY zriCF6+*g5_C?9$A*Bo?}xC3C6=Cq2`4R5ZXjs8QRwX3h2en^6gu8mHKyM=VNg`T3R zg0?Pyw7T%Z0)oMV{t%1C zyTj*fcK-3^#6#R*>$9QN?dd(U(+}#`mXLiPYf%-Bc}zIcK|RBgmJk41{cT}*mv|#vT*RQ zvhh%!yf%xRtgtcDWMWdVHsKZGVWX$!6=bK`rp43khI>2a)1aIT9N``za~B52KdvGl z5xQ?}W=U>#UY^Fu&KWMIvW6L0gcCTArN_ktwxq`K9((guAjoskj>7&{ei<(iE!uOJ}=Hr!x{r-W#wc76tWE`n_G;fyF77L1&M3Xs>}yT{8! zO-si@kEh#1Z(?Pgj0z_O=etKp8#v!RBM6@{*4Otk@o|s$wU#q5w6ZdCRTlypCnww@ zGh8M_{BglRRcB3NzVn%z7QKmPq-3@kJqA}nd0JUp5D+Yb`8lr>B;_ zf^s$@wV^HC_ct)3pMuZ&TZC^--r=0}ae8{8A4o7AzlEEWovfI&mO!jL2kAxRB^?_B zX;O$nKIg=1#}XMriLK9E^S0DNasI zBQ(E0@`8~!J-r|c5bAj##f4dv8UBs_ z3@wdJmG$B*EOq?kvE1N+4R^V&zed~n<9tHA3tZ0Jb#LgDCnZzvDs{fo@0y!j(pqt@ zn9$A{p08KF`%(wpd}iSrZu_hdk?1*apul~7GyQPtVIw-qX%!ogu#oO9#6Oo65yVPc zCjccUSO&|-!>RJ=m*!qpa#9ngOz7qL{%W1y-yw%5iI{n@SXFHcR|&CgiKCEq0B*~4 z6ohEEK$rbdgpm+pXQQJe&HOQg(A=`cig7d0Gf1$~uu1bW(J=BeKqe0Z!^iCUDdZ5I z3``6kBgmD(4=czf!tl9I+t9^d*Fx99-rCS4QpZZe$VgU9LQ+|ZjgLM1GaBvNkMsM= z+bWX_Tzl{O2QDCSGXeIst`}SgeF3q+A^0g7kD*nT(7Zuij1}d-0@T*7#@VP7UM;*hvksDHg&MPhgakHj3(A}3hnB~8O^*-w z2AX-ANDGQA-KPy`c9j(R1d`izI=?L;M?o@lY&C7?2uZ9s7B7B8QWC~K$jeSP6PJD~dzkE+X8sVqG<- z3>6loB{h>01Kn$^=&2}@z1^$=^~E^#UMhIzg-8i~LXg@>_0c7SaY&FJ0IcE~Iu;IK ziH#MP1iuGPP7Yd-%f(2=)dkaaU#yst9+sV-nVpW7+VcTIGOuUwG!D>S$|G4^W?!Nw zZzFriz;6?DZXgVw@}yN2EUhfHrBpS%0-P094P|6hMFd${Ip|%p^H<)WZTV4tZ)I{# z`#l61kssBkQc$F_9+e+KkUOW#lPda)9--fAnkOHsF#n+>x9Dr88osP39a|7dhlitHW|*O0L63iz!yPhHkH^NxiIDqKF0m*Uu=)m=zJZSwM zvhSw1kDQFO>kU*Wc%_0+n0&m%N=T@QDV)+)anY8uzQ5X%^dykDFm6WNiUv-k1)-XwThJwM8wAzoDLI3yxV>V zxwfKrw`T?RX#S2T*NkXkrZ)5ZDMpp>D(fg)O6YJHDhfX*ivU#~^4bP$L8uJ0+{$qE z3ybKqi*VfQdk(Xhop&)L3ijZ%Fvk3}{c)GjD!Pi-sgAsBU z$U`>nBl|v$g~-X~Jx4{7feS35+0uV0Jeo&+nl)95X$LAglk5mC`&c_r=^fj=V(ZVlsFS7H-=eDDm1*rTb{k{^Qo+0 zw0q|Gp&}{ZtHZ|5h~cw#aq)0*akMbEbC#2qh1Tn69AN}{jE+EbpNhrRWF&+{Aw^zT1;Q+-$BAL*W@V&f&Yk$S z04t6&odt8-$cZNF8YRD}r!N;4Up>C>rBG$wwvFtb&F}18M2x`{6UNtPAIjf-zx?^jH?XX7 z0t9p!Zn=QyuqGU0e);@)a&r;koFk{C6ndAA(Tnb_NiUMuXJO}NXSEm0i751!7omJ` zorRo)XR|t3OaHwJxcjQso@o+(&yPBA8o z5F4K)B`GBZHQ9#;$ezzv<224+Lxnmm9#%Pic6NSI3^PE~S?K6W z%x=O-!(wlMWmZ;x)A{okFJ10y$jwYQ_wQbSLyD&#D&BmqgAM5o9BxIAEMsFco@Bq( z($>~zm=-p_2T?y?JbU_PJB?K@s;9P1G0X+S!OhN|ZElxW9H=Nt^#K0!v)9{szM3O% z&<`XtKYSo{Y<$GUBw$8xM4T`ef;j;Mtr*02y4h8cqq;1p!V(;j4}heQc_dJMyiR-2RT_>q%ico=SK!qrC>&_NzJbfW6oM&?+^z`#m~ za0x>o(YY802XPZB3TD<4%vc#|Hprl-VHD;AB0lAb6D*GrO8kchR|gVoZLN%qf)tF* zO`KBFI_m;h?+V(;SwrMPFW||)<4`L zF4`>GEF#`MNJ9==4AGi@moxXJb`JK)W@a93;MQzy-{Wxar)H*L+w4K($_s=lS3pEb zKdY@J&x14Nk`;Gh!s&KTO+k6)htTfw{Zx09G4YCFHMH&hU~3TOBBGqaFw3NakpVgp zs*Ib4iAzM3Q;d_Dkq+FwFj!_lGJdXJn#fU}dJ$q+$hIENYBE-5e@QMK{RCKhiud#vq1WPg|j9nvZ<8WnpqxPj8R8k(u@jSQ6BSszA>=JR(ZZ$%h5P zthSB>Ui>%=6B6RT*92_Llss_SObM1^+@cs^m^{-0A%KA!Lq|ai3{?|9=aDj zlOR7)A;{w4q3010rU&~rW?Hn~87XPWNl#KT!!@4m@vGNv+`5gwb@cY_J9lnhDa+4? zL(2>_UZh}b4`T*idqpGUllt&L-*w}*{&-kF?XG+qiyTA_~dkruJRme2_OY(q8W z#Gr2-n|qrvvzb*{eHR+t3_+Li`{~==XDZ6-YtT`nNk1vF^y*mm8Hb2mFWDToLanpi z<3q8r0n(_hCe2Qm$S_`3CFO83S2H(PR6sEjK&BNIh8$#W$ng@#9G4nKb@6kGG6}+o z47(sBEe|anH3P*-3Mwj=N64PH=lUnEZciM&HgRq8+AwNf9-Vk|ix4i5MQDZxpIsck zHxE1J&|BvA-RWqr&5Sq)vT9*840Vi)G>Zwah&GS#vjB4xdzLIl!*f00IXKw#!(@crKn&;cXbHaN~a($OzgQ&t4p;IT(d%G&w4^Q+q+ zs)fHMrh4c~=JlnaAy3(&fr}ee9Rs7mr+xTARF1Fuc|1aV{@Gi?Fb|(9W-i@R#)gn# zZlJ4WBrXPtkTmoxtORB6shL?>Xa#v_xM89Q^m8iO6Qq<>WNWZb-Ug^&TfFr_fT>tn z0vpS!^e(E(jqvq)kL+3NPDxG0Cm&8qN=ZqIadUBXPkTyefzmpm=FU;(F=jFG=8<+m z3F;r)#@DX}QL!^U=5CghT z_6#9jXTz}*^Yh^a_wr$25=V)r*hNJTl1_}}|vPv$(lgbfl2bj`nsy^+YF_N7@G`s>_KKpd-brlm~aJy1Q!d z<-03;f`RyPgfqRNtgIANH8p;~KSxe(lw5=xb3ZRw1{*wu4bIK7(eE&#*952xqhm$V z1=t{kc@nzmr>?D~$q%;H+<-CVhU8@Qd&LIRi>Ju3X>wY60Fpq4GJJ@s$?>GSPm&&+ zo<;V}pC7w%@%-raMdJFD?Np*Zf)+wYT0w{}SK=G-O}iRvGx5>HeyuZTb5qia3$%-d z8B(;Hf2;!pMpguda*{_cGM+u?o1N)9Q&U-0)olQwQ5>wOtf;Q8sH|SaLxpaBhhvE= ztlXk+wh`iuZ+K*1)HNhE)bcVc&~g&bP5gq*%Sm+G7OM`%NHCIT3f%{r6|Vt>p=_=dzTJ%)(EEB-&a_UfW4z6hRUU1Ntxh zd`IXqJYoIwO<`Ck7%?xxB&OzJ?7pBgT)6+1~Fwis6Q87ZkJY;1bKLhtJ zo?e}t0Tm$QdJ}NPQqy~Px=ZvCf((*}BQOR`OkSOsxCrep6pcuYoT65=uU(`GjBDmG zmZ82;YFNI)1%v{(GTCzNS)5by#fAyE8ZkXTcX7yHgc_EGw7CVfO^@eirn_72FTVW* zQm)7t$u9gtjwhR{7>UP)3-U@x8ru2vp<2+rRdg#|$JR$2g0fpem_r!Pu^-wNx}azS zEpMIasA(zb7+C>PMu8^(lR7NUAbXxbL?-bQ2d`bf(U=S!CB1J)%kRboT3|rC22!qF z$jHnJZ%12~ypm>^n=L5uO|Xcz2(=4RkrOU>gHUfi@4d7BcIJMMw`W_<71%k3TXzqh zyvvsXH|)I!vU2X-o5s)V9qj15xwsC!Dn%B{#m6HhJ%&S$2bj9MDfp;K8(Uf0J9~9r zMkT?*mLH4N(6#fGz;25l72*(q21N&%%A8!p=#9aZQ#2Id-bzb>8eUPHAcYGS2>I65 z{FTX>>rnsKCT|d;lhL>J>mhRJ_N^NyoFk5O+`9SY9kewNHV!`ozbDRTWM)UUp+S;W z)QkXO=5Yy$7SU$m_Ccz$!i6xleq9^ydb{@R>$i=mo6Xk7DPwo;K7`rN{Ors3&8&2I zqNB$utM1Li-Im$e(blV9ULl8KRn%o{ViaT)WJb1;1O8^h9P-|>GS=J9yFJRr;KYaV zq3dxBub4PY%PpYs0e?q`T?nS-s5}nLF|#|55t5(g)WBD#I!Q^1TD_S3fEzEkAKyFL z+s;f*Ux$D|`)dY|lzp{;KHU7VH3z$@x3HqZd+h=bbBl_0Z7ze%T@OaaaaZ?GOpK&M z^iYwt(x^zAD6^R0c=H&OFuPz?8IhtTgz4L4%gyEW&mTX0SX-Su-D+o^R#iK8e`*fC z(KFB1ufT9bbmZv3t-J6yAaraJW(h}9R5f%I^gP8CR1~F0@yPKH_Ix z+uF}eKD>vjgpmTDLY!8MZ{O8__R%~-vVD&tIX(5Tq}qXiv=rXfuPf*r3HRg9&^U}6 z5YTJqVeANP{s|RAUL~!d8SZ8iZ3hFPd5n3eEr=D)UqUDcF21?ZKlAN5bm5yV4$k!* zj<;7wn$JJP&+eO>ntJr%5j{)?%kRReCah4dT>SC|IpQa)C5+K>6K0ZB;~CgSNLGJT zxJVpjkhgYpbgDde84YSZ5xY#N5jUTxo&k_afKnpFE({lxU>eIS%0`E3J-S_c68awe z0%lU>HiY!~`F8N}KHW3<@WFLd?X|}3l>OB}uxx7|o_>t%-?~Sao|c|Uk0;+338^OoSyD;nJPtY9=3)F`!CB7QF|X(GCLTopT=&LeR0C3DRW#*gr2y+K zEw3aaEh#RpKtnBHy#513moU-6_nV#$j6W!;isq5s3uCQq`1U$ysC#OUd_MIO=oo>n#qg^~;_`L_J ztEA*L!dPElcMbX0U)E&N5>xsfN2kbQ6A3bbKt0zPp+fbXn~jLCOIKd#P8 zNsfz&iA#u2h;?;w@=8k1tAUai9k+pakyO{!)zR6}i9b!;IRa_}uxk8upOG;wH`Uk3ijTMw z*BRJuw^Q$0LJ*I*?zxAHc)0cOrJxXd9Go>!5(5<}U~`V|BRPDSsjv{PCmi;`un7wa z@UU@U7^(2&L@u*%MF|j|9ng%?=H1qYYbWZ!cN6`9x!KZ5Fi6$a*3#0}0T&cqU4~&a zxQDm5CabC{VKxH4@D=-D!dNl6g*IvYCD(wGxai`T(wK_)h?1)KLLa+}_=m_z08+ny zv-Ec1)vMPFuU;-(8|z&9_KE1rGJ;uOURr?T*30U4N^nlFw)plnoVG98Tg@+iShGtR zyHr(F3P=7#>K}=S+3+)vvSA}GhQsa?6%`W}vG_TI?A_S-_`JP+yKNV=NqF^n{07nX zEJC#LHVVXS`7HKz+{$w@$^8wlW+JK#{_QxN8v4-s0w03xp z?Ardhh5lV1{Iibi*;u<9w6^`>*Ba3W{MxSdwJkid>%-{FKYrpPa%8dR{{iG4{SCplCie~UxyO41|8GBc@h`O8LxA~+TK{>*qx?GDhu(R& zO<3KO{2ylSAsM!$&8=RPnfvTtKX>@AK9~I#KXt4#f#_J z3+yXio-?xu)BJxR>K1jHS)fGS-~Z>ckiqg<`d^l5jX$;?A^U$`{VQts$PQ|^3q|cd z{)xV2KkRbt`WXPEk^^iU04hOQB{+`V?CkzOULt!8Bvt+&+chi6YIyR}pMYM#0?L}li@89~k zrNJ$*rN6`cn!ky+%ITSV+^Kl&?d1BOMQ!=e(9kk?S7!K^`??pGS5{`&##dCPS|wIi z_|gMr#pf5CnDG6rF&tXd^S^-wD|9c!TeXc&&+1xZ>>hvFDe4Qt_QJ>8)5}rUJH4Vf zInT?b5V~`^b!dfu4-`9G zFgkkqOMkpo>+-Ym+yhR@vlHLZ^3EdP5Uw9#7A8R%6e_> zPFa z{<>4xcVy4^Wko(Od<7=cqolmDFr~!XwFpX0vxL%8tt`_kE8@)4$`iceL=~65uOJk> ze`}AIHVY5x4zq;pB`6Vi$WY>Go5?t<+MnNlybbc6etw3~o6aKN5&C3?luS>k!(7+6 zii*6XQg1gxiKxC*s|0+-p*V~5iUiO2!X)~{733h#-`eh>mHO+=VlzZ0Wdky|l2F2O z-{z*vw7-X&=j8g!&ABijEI0kBGespo(-U8Qs4y_5yrM9*)Z4WX(Ddmx@ldPQLHXqs z@n)#b_`+PZ4%p3;{OM-`Hxb0l49z!Jt2%4W>9KzdWn}?5v;V+tYgc| zldUY0%PQh5pj6OW7nibv?Bn~3T_BWr;ii48ek%?nUKg zWvNzZiPn}Wpxy1?O56j@=l@y}LXn3*X8&)R^dCj;Nn&a&LaR2@I;K1$9u(y zjPi5pprt0qloutWm3X-p!X8FhW=2J2nyopMS?-xyQB+V-a*8f#86o{8^B4cbmT82j z5HCw)ioZ>1vBSEK(;pl|S=STDm-@!0%twSQ$$n_FCsXJRTuW=ax=$y^mK7%wiUWxi zNq%`1sW#>*@E%^JXU^0Xx#$v#+wQJr09(eQ8rDB;8KF3acG#T?#3P9J4mMlj25#NZ z+}!Fe^0}eu=J(&ZBtjadfNOizycI=y}5JpkY(9BXp!B|nv3};Sc zfj2*4VQyh*p{ihNVWFyLq>d3X`@V=A=c3Qce}jnpX+()We*pN{&hY%?9S(Ru>`0*; z@M}BI|AG+R!P6XKP}G!_&{t5mu(14PK?0AqG*^`eSiBgls%h>npl_a?w}1%$X=Vve zrW^zmxC=xhe+MECL)In=5ug0y$)t<0jS$HO{)%D(A_R95Fe=%W#>*T+`ENArk+6xl zxPXvxfh8uq^`DlQSbcrN7xT!TbHE{YgE!CL;gAm?$S0IT{`>hG@EN~6G~6w)Nwc4p zMzCvW=<*NPM&$+<&1YW)|II~{@)j)DzkS_$4o`$Pc84eC?ZC_7iJK_A{C8b^K!~^I z@elWo3u53(3m&_RMQ|Mdka&LU338kh+&8tb*N*sF*o;y&PW9PB+rYQFu ztqBxR{`5x1Ns{ee)x5)l; z%&>@H!3;rv;Qo)kp87xsz4scSJXe`z15ZQpcev_k9im+I-*1LKO+-~vLPh8tv=lCi z|6&0;@@@g490Hs=)E|<+17ZiApZ-lJJZ(rgASNaNecEpB|6vyjS0sj@X`%tn+d;RZ zQc-mK?*OBZ6S8q|v=aiUhq(TSwJ7>Hcsn!-c{{Lo^zBgC`}Ljnh(3-1nxP0iJZ=x? zf43neXw62ShUD+i;eWTjKVA+trGDM5l;mPz=8~$s`)d{&9yr|nXWLSE;2;p?K`oNE zLzE{}9uVb!hhiBy`m>EwGCjuEGcs9{v+XBr#&iE?qtmP3LGU18=n3_=gP|uhXTZ=; z>;zaFi|!X17+`c#x( z|NA{x5YjdpT8Rh;HFFDfn+S1Q+Kz2FWPb`n1i@4F!jmU=b>P&O;Hi4x4^LI}xx;|I zM>}7^4*H(Z6ajtzJKAdqSX)0N&7u|dc2rlfuuxWU^bw}Zy?6J{OFaGsa)bwc`f)hv zSl34lS$9#BFyN&3F%s-pC*kQsz|KeCx?qQ$4{d1^W#|9v=}CAY3Qk5>2Ma|NOG{-1 zOJ@%zE;!Cgg13KxkZ}^sTnUf=ZRTqI^(+3{K3jsBE4)4>R15n0FxnCL`{?VV{QW-* zUEa-*&LJkgjY`u!FsU zY5|NK=DUg2ukt)vk2;7dNCeaS08g-K}AzjC4OBqFIPG~ar)q`t?i#g+fV`z zS^~*VE$#TpTB9Wp{AAHu8U!l90W zdmO`BKv+L@!20Rn`r@d7lE0Of+eN(LN#lziT2_9_f)^G(Z2kK6^T)T(aE}CZ{EqfV zgWs;UHc*Bg!POQm<4duf>l?T<|A#TbG=jThXW2?v0uaiW9d6Ju_cYbZ`@X$)=zD>_ znTMrb{qWQl{^#x=Uq3++hqws7xX;jF{Px8~i*O|P;zCLbeDxMO!QjCE<*WQZ3=S?X z%%KJccXs;M8gd|n-XuH7L?`F-7IOScp0;^#wlQ<))~}yGe|*{aipn5Z>q0nik8em5 ztaZ^c>_s_4M&|Gu1Bs24@%FN_9*;e7(Kh=C*!*|GWXa zk^8twNMHvMj+*vq68w387XkjfP{e<;TDblTEu#y{IBxZH zkzLBhHy{rJ9(pGWp-5iEkCE9`QnpukfS!Og$J)BoAv!Sm0j?tAJ1rUyA+ zKO?)o=6c}W_s*dvWB55_pEki^7~XW(o7q|X9MLzZiLI5jc(^vMgxetc2zxjmw>S1( zg~SqicEbKc7jP87v}}8O3fZMiup+jBMPQ7WnB^xp0Br_eO2PuH3u^42U;os=KQ-`A z4g6CB|J1-gHSkXj{8Iz})WAPA@J|f@Hn7MlXWkGz|N{V*}^sKYV%o=-inz z&Dnts6xY^%|5aCK^XZFntat?KXZ>h3L!3Nf|0bkWDhY-A3~I8cz++=}np*WX@{ zorT%K29C|0c~alkoqQ(MIs5&WZ{OfV=+2cJmrq}X=i4b8=T&@V7JWILERFc2TSFDPu_RIuU|pa!1O6$fe{k1IDZ@h*O8 z5}*ds@mCP2ftv*>1Gl@{uT72RW;7N>1t`e7gm`uYaeS;5VLODTDY4j%Pg?LZB@HJ0t+VU&v?U#}SI8V?RuDJ=puFxSeIXP7(;7e-PkC56$wf< zQ!!3eezxDpz&GPpFW2N&oa-KcICnX_xhOs|)XmM)TE}^Em4FPiFKp}?yK&?C_3{4Z zB4_g*WZ<1U!&TMiv#;JM%P&cGO6qm*17zUjg;F&PtHT^11J{Rp7(JUR)!$A_tuAw*B_pA{tklKO+@-0lbp%BQ9>_23 z9=mZJUijvvzS2C_9c19+Z@BDUQgq>ew8C8R+4k(vc9MDC0FS z(HCu?CMC^cVB!{GqA7$SFazlp2OFBM&dooXzf=O(j)#UzQ+s>5?bIwSTwI+}P-dWu zWqx4~yzA_vTQ{zsEzX7W9|AM*UU}KT?Y`nd@0#J9w8980r~b7KAn%=NHsuvn6A1_0 z-l}ixuNgHfX70CPzPrLyqBOB zGWjtl>2w@BRwiqDEZfamnw>@_CfhEt+*OS2$__K|^T)N@sTqS)^K*AfGP4Sc`p=dm zo^G#qQdbnWw(}@`f)Fo};0urS+_-V`<(oS3Rr9vN(@Xf%`a^3g{JXp@%F8oLoLPm z_I^9Wz}HPJ6}gw%>%;N}TDrYb!!liLeeGN3M9j( z=8FgIK?Yb>`Q#j^_x5YPSC$S_K(&*TQ*`^F#6$f$QmFQmq@)MtQDC5&ciHnh1816& z>|-UX&JL7kWIFJ=1?M(2HPlC|ic0b}z7Q(aV$d4BTd-P?J2CB@+(KEWwf zxl&?kX5ODsV4zrjPHtb{_3M+fb2o3@Jl9{En}gi}27WkO7@XK$7gN|-*_r7ZmFDkk z5%v7R5-|4ecRDDjNlQ8uc3yZfS5Fs}mo|~(Oj$So@y_BSijBWW%05!Eu1WbSq zw84;5ba_Mj(Sxgrs0{M`b0}jEBV|+uIXzuHv8l4R*FW|Z76$W%6`wAzYRqzACu3eB z-~vBizSP&zTy}P#G9_>H-pth1)`I+oDq}c%2ui4u*0J=z2m9>1-e;KLb59HmT%5dh z`{s>H7YF)Fa&oK#c6fmwU%YKd$jC2kt|~1nDa_7~@(+)2GEHrQ&jBW?Mv~vvQ$xrw zr##hHLiViBovgSTth9e>ah9owriU}1Xu1~wIzY>ncL&K)Ddd!Ae0LaobtfPqkUq2@ z4a!}yOh1dF-qP5r_%!(k-yc`y6ol}_l%$6w$CwLgO0vHt5Chjc+D|tXC)PI>r4>D# znYq?pmYiK#?iwHBVB;C6W9b@pwr~9D3y6W=cVL06C@k<|eNWHbyZ1*2&UBq_&G7JWY=4H3 zZ4C6c7G-8}@-Kuc$rX{DsXnJPlSSuKdq_`29qu5GjxPLHA@TQ-jfXGb9=3kO4RyQ(u2I}Vool|og>KfYGTif6wBiv>LxAFYUK;9i#;6hDeQbTQ3SyEn1QAI*( zc0pc1jESys(K`?yRU;D{qhymF?O`g&%@XF>SJ)9)8N|#bXzCu5X`>VwEt&@6_qJa3 zyS%&~Pr4V7eiQ>h5F<9Mhw+h=>=4>^CnP)4cn%uH`w3u^PG6ev=kzK}57(embu^+o zC={T>`WjdS%S6nY0X~ivmNt0nBaqT!Ywh5hoTkk~xQSW=7t7h$STSf?2{jdS#S?@K z*OpUp;X+(YTzXqaQFcaVL4JXoDO@5l6IXTh&=7N6Uj7Bj9|<}{#-ygF!L3_J;YvwO zLUT4^BD_)Mkf{51q$M~wuB4%|xG1-%IkPb;%Q)gLLj?c)H z*#%a*4EAllx_at79K0O%)(oUa4(%q=G<8FxxNB}nqWi{YM4~mG(Y8%-^ z*_Z<>khn=4uX#XST}e?=ke?lZ$1I<(G*&e<j@}v z)^qUlH8h$)TYb80Qd~)fqo!_vz6`Zam~~-bys-+UtYMJ8wo6JuSUfh=1JpN9`dnNA z<3Mx_CLbi=0vkzBLMtF8LpwT)w_e(S0ShTHF&k4@u^!+isNvX0(^Q!5I580|xoe=R z0N?@-bTK$Y+enFFEpQR|Xrf4b)S<8tEitUDS)>m=ffd-J5FQa38EmAcz}^ixF_^WM zroz~u@W`CB5MSTakicMv+#nqZ83$)oF)>k51vxRLEJ%Rd1+YN8*9mW89XmTP9JbXZ zp)vRJ^8O7A{BbYQGcGs3taLcHGbtzCF+M&b#@0+*qYo0iFwq=(Md5`RDcMRiWTe!} zV(FS^oU!82vuTtw)6?=p^0Y94a5UdM;XU^502%2v*)H;P1Xf@jS`{$R5!63oI&zGY zmWqV>xL$H*a&>_!g_wqcv7s(K)ltf$jMPUD2<)%|opa<}Q&Ms>E86o))6+B3)6$X@ z6)a+6wG`vS2-v(8vGk0rtju6NT}G4@xH&SMW@Y4&RMVL+EgO`RA1)thEUO@g6_-_% z!HTLWi;9WPq1-&;k)@UOwY8Nita5;3hXy~J92=b89G_5_5ucr&mYNiuUFaO;tZJk+ zj=};XoP}wq^P~}ShRM&trfXhfD~HKR$tm#U z#AsLFZ4Bca9-R#B2lNBkW)Y2)B_}yGrxuMua7I>fktVsM0p9S492-d>Iqfm5FdZ`r z3xuo+{p9rGl+4QfqN>d8^kW$rDXOQ;R6{bd-H&s65-gzNK;5mme-o>NZOwId=HlFbU;jlzhStV%+SMBq~zD zL2-6$GKQ9I)qoFcx=PTEC))=D{8@iuVsNEB)w~T8KVnEQMp!NFd9@^YDEC*}&~a-9 z#by<1l8YM{8Y=T(NE%G`v(m}4@JLp{$=*BryM#mwo>Q6KL&IH3kRFhh21$PDX`v2w zaaHwYfvS*H0=&FQt)BY)=m=A8;N>xH*~`evfOvm3drhmvf+&J`S9f_6NCFfS5%HLV zXeU~qLz6uwyu)n(M+nT8_3E00oVv>747c)%+*9e9+3}_RzV@MJCi3#;HcP-wYv^-G zan_cnHwc$hqE;Z|Vix2iRi#yx4%MfX)pAa>@2Q0Y$mR);vE?IVWZUGs$p%nV;4Y)a zliQ@b$w<+7vnuH($V)Qs;n}oj5@I+=AO%h;wA6=qggY=_2UgyebJf}S zctd?v-Lzy^LoIb_DNa6R4>x&99XA&-;pE|9Slb^;w6(IfwY7?|amM&#hvEi2~{ z;GSjQQ;%}fS|&V3-X4LOGWr=G2=W{`KN4ru1o^b+ROY}uffVQ(nkL1}$k_i@oLAV$ zCo&?+#>mh}hKrrs?Q<}=vRau+iE-?Z0yVL7a9w7SNL87KN5jy>*3H$*4)1it&QV)k zOI8GMSvtE=Qs52MnCz&c5ET}blZc<`Zz?F1m9~z_^mSH|5*J`$;uKL-#0p^*6-7l1 zQ}02N5Rd{7o}}0Xq`;8M_XJYlMqylbaeh!%O_pc8Z+mW>WnFThO`N^Gmr16vJm4`g z_=X;bRJRC!Jqw|rDuE&k*`r64%%j+)+jFx2rGVl9HXia`v zUantRMr~HKb&OZEPikP8rJjN@Xe*X}Ny;;g^T0vwGAp4=nNs$r zJc3;_9M04L0H$@)@4~yI5M~e_@EVAD!ra-o$BDozrhpII9DxIvc~-?LFet0w^oX02lZ&&Hv$K=F zu8z2XfV93Iffabu*gw-q$6t&KbRWOfS?({R=$7Ck#-N}s#7)VL7b4~r-WJ{M;_01F zU?j5h?|Fnojb8J=OVIs1Dj*~`JT0@jAjKurH#s#b(_7EROhHwNU%_#O5b`q)sUA`O zMh=qc7eynDc@G>EHjm~X&62b=aSwLS*al$73b%dGSDRi{HC5)yuOx;5Xa;+Lbmlu)y&aMOq7vFREUd` zLl_Kj1%WTKYxCOW;aPlTVDl1r4IQAiYsAd;IErwOb;Mb&+9A*ZGA4S^N-?OJGbMs`R_aC}-scw$*d zly7vnvx&KllcBPOYRMNg-1VJy$!?+E#tu?hmlf3f=no!Z@HUXXlp}3x=p5jl=FnY- zj&Q9LJ{R5|2HigI2&_QWv)kJbPvdYK(J+r8=)S_^>kKSjUwFS;a*7Na+e| z%P_H2A!eLZb~bGMC@U~rgZDfkMO@J`C?vP!^o7u%kkHT&*x@tK)tBJg>D@3`tzr`k zU^Zc{g{4MWfnT0`xK+1`VKK}cd@NMlK#3F)EiD7xZ{87Df%@wEASW4EfgjH_riR7F zCr1{h7smxA2d5hbhd7uyYMoM%)jK8JOkf4pbvY)x274Jh*gic+&BAr!1m#JfO^!UX zvj(!FYpTrS82)9kq39Ywfb_ zt=+A*w%Xdet#)av-Bn1Q>wMAP_wV<5{(b&>?pGA?C4SHMbH;V9bDeX&PxJ7}P0O-c z^qyix3a|o`%2wB9h!HDrrD!jZ)?i@Us(N}?uHSuRMh{5tnLZOF=czz)p?f^W3Y_0H zrE7YJxz;8TOhc@|=g)lpUWRIcoe5V=cQ%V8n+h&`zGpYa3XB24K+X6WaIYJE-E-y+ z^h}#MZ`ziwmbTf&-m60|QZv;-Jl`;uQX+%+B^69{v z-D=;|rbXVPJ3;QgS0+9CPV4$D_aBXpuCCz)6}|Qj#tIyLbbr&j?r$)H-jS{OD(yEq zreQ%_b;E+31Tv|m#$#;Cp{3>Dl9dkis3pJ(Tu~}Gdk3)s6^`nj?p5ozZtp{KA%fdm zkej0t33Ww!9tW`kdzWrl{Oo?;!pa_-RW$`zfj4UFzi5G*rWwbEd8S{NT|unCyeu5X z>q`6muy1PXym_%o9MwWzIga${9(X`arSE$dvn;YUQ!+j+Qtesl5cHLnH&XM}4x z#I$sxXqXRy_LtU9FKnFOaAY@P1@3#kQugA1Sb^*y6R-kxL1{ZizIeh4RIOWA$awV| z7B_cm?d(~-DpDe$yk@$&xk*S@{b#-IsqLrJsKbjsf zqqi5CYmr!~E6p1N1$Hgk+WE$rmUX-5Rdz~U_I3mc>{E(#jGeP+#lIs^U`)OP2e1(6 zzW&>jyP9h{7B86E)zmYss(;GT^4i>{0-ecXP&OOZ16dqo9;%;LQ++WI`10v}bt{U) z<5MFlhHCd5`~rkld*;<0!es7$zWL}aB=fa&1PUAiP+-)oQ{o`P#s44?*R05+e%!)} zZ8%x5WScc!sA0xb4;JgEX~O{&s9xKnMo7d#(VpM$1PEs&yzI>jn>)G(=C_ZwMNVpO zpHf;}oSo@vYSd5=CouZKvWn)Gsa@0RYs)LjED}DSGYfG7&uX>lX{q@bConG)=>(ti zo9Y@*XL-wlz9|bj>nbNL?Q1OeLXu>Drd`fm0}xZ1f5+4HW%J$&1m5ouwe6RcW<@1r zmnjcS5>9$Q5V$g@yx|}?ok@FNoczjd5cY4x3H)yK0|#&d-~K;2fy$>=x2tqz$oIu4I#0jhvwLg7!>SUHkn3=Cp>p1n@ z>n7_NzzJO5tp-kDZzg|Cq}gVZYjai(uUt2@deySUE7rERv{`w4j#!Iv0zWp+ozp+K zd;R>`vu4ihn^Bgd*Xhzf22S8x1=RFSh@ux$;6&yYIDxCG2T9nPfo=yw9R>z&RyivjGn|M|%m z@5H5W|6e(Q@i3`!uVt(ru#Zu&kN^pfw{+I3;60>aG-7iC$MA5!TDWp+1p{d;mmeekt zTvlvWRsRYwqPI%vWiMl#z&z)e-ATE(cwSed*X6cVwzwOnO|tfD`y&kY-V^Y5~)>XmM8!Lt#o^b{{x_m)w)Vw(ftidyglf-aPM`f$r$G|;{u`;0VcZAH z^983cPN1c_XZo@gJDx5pE-fu7E-oo?WxJF@p&t23pzkN$^7)gGzSps!cWqhas(M&}vUO zfpqt*BU_hn^{v{>0)xFL%`ty%mk~t$jd23|?81{@BX+R01}4XKJNHcQ>Fw^B;qS#4 z<>#r9ALPb3f%a9UGY($8)Olck=i0Tco3`(2;pAi(oH7vgVy=sM3`6U=oyfcZC-Bd+ zPKT@2Q=3ztuWPZj8Lhdnh%oB7hUX9`aIGu{+><$TX3w8LXWp!t(9J7cqE(=2_Y0Fw z-66!s#n4~+^B+#&&!c~QK!@!o+%;fIeXWxgu0C>TMY^Hgo>P$Rnx1AD8k&(Q=H?U&)Ki~b_wv{`IbG9yNvsDzc zRr)M0hdsSEW&^n}~r?+Q%@3gK$q(rPMD8Q7c zrZnt)!MADN0(ZO1+G3wuZgb?AxKi%5z_=SezZajU$f9P~)z;P4{|f^J<~zqkB|N%l zF&mT`O|h*)FW~bXVuyh(mCKZ`0)T2&QYu3)u^4$)i@?M)*+d3e0NgaB@sIKHWOWmFse4&*UWFBO(bn;){qBxU7(W5+em# zs-{g_v3A3TUg&E*y_1Ssi}Lcp`7{){F`iyVR>_h>o~;MA)~d4|3iq0UcAHT_NoFHb z;G2iHFV+Abm&wmehb(EnO5L}0-^-7{c*JD8LZJI0Qs9rvxfYvRtrc^fTsB{1*F%hc z&5BE)Z8#~Fu9Ikte4Ck%v`KWp+glEOZ^w~_XTBq#(o7+_B<|nZ^JgJsSNs3Dq2#r~V ztpNTCj@4x&dk>_*Gd2}pq2`J0JSLxQW-#e2wqhRuNQMC(s1vD;Je!4Y=9+C1?O2md z+;OP(nQsAN4x7$#ai`WE`RMA%%k%a?Bp5}+Fj+&ucBC;`3~Oi3;NeNR{VXP2bd(TD zM5Msw!rib+A)uvUPw&vWo%>*2*d2kqXBbe(I)E%>@)WkR4Q)?tSZ3B08kA0vWNA%C zk(HOmLb96YEbpe#%+4&cSSW<+Bhx9_HDv}wg^kr`qXq-4%Fin^s0?PbTolD2C8Vau z(8NPOgQ``aN-xox_%}S#K%~H5|g8AYtzt#nAmW7B!dx^5E+puG{Y5?Sc4fPRx|2{7M{^6 zG0>CZRzQm3&V#kj+#wK&Xh$mU)Ks)bvu89Wm_WeeJ_KFcG@K}}YieF&_O7mlTRRu5 zQslSi)axQN9N-;K=y7ntYycmoZC#bGbKxq8E`iyAV%96*D6DtPVLeG5BF=S`ihEEY~KPF3-ekglboy+EuazMRRjuN>$E zhD(1_(`a)E zHZ+WS!+l<022}zTQYp_p{19s_eHNOxehf@JR@2loXRdz^e(qezG|bC&sAb#6R56Xf zVdh(Pd^69a6hdRgF9lUw_f#HRP7VzvpnauNaDg1bwg?&uH!(6Q^drOy+@e$D=*8T& zrb8>IE!^5Qf59_TvIR_=M9=vIlD!HAr!ZC^UsJVU+qRW!mM>okJ!#Q`rStmdbToN| zLNVqr9V}cit-W#8)ajcx%$PE(I=4=l!WS60d#(pUA077QxX@=bXS~ZM@{7ki)_@}g zP(9EzhIM?dwyDY2P~YJ70xYQ#A)sViLDOm&TSg&_EvrOl;hAMBDy%p;Q zi6J=LXvDZ3J~*PH>kS>n1;>!X-$S6l?TKsK+jBcA&V9LjWk>mvfnE3JPjfcAcGRSR zqUm5LKjI7TV@7P;4`0@xYI1GoIUj%KW>%oPD;6jLmh)Lf8CGeMj z|9W?3kLTE5kFE?3@0_>&-=p{Yda4in{=>ij4g{8h1%yeU*pmH~=zYxO#2K4|zDy%w*B)-hp`PQ%MO7i%J4ocov($EYg8n5eGdk5>_mG zUM7SSLqo$tLP|>$fknrv%?OzYiYA8QKK275@TciVAguS-Nu@*e3B)yjntAkhFy%uz zypzcCEx+_LESg^r0w=a-#Z$v8Do4vA%8T<$@^euv#86l;9teSvSD7Y@&Ea&r^YXIo z1|iGO7*CG_LSXRT>V~d5fAvI9O^s6p0l%R6ASBk{LIddgK=69_FZrYHkQ@z=>;*%> z0Rsn#Zqte_d@IkQ&|1YB8w0Zlk=wUdoqRJVHZD9oG!%#Py1>#Ihetw!LCQyn5cty{ zupMzRI-d1!AOzm~9SDK5UJrETD9<25;L=y#d4yeWVuk44%Ju7pdq#UBX0+wC7UtzD zQ535PTQ7do=q{_QsDV7Lwx&Y2P9zaageA8@#-4`e*^Pd$-#0!7lCjl6s5xSd**KVG zA+vRBCEQu&o7&jeR04_Bq7@)xbz%y`rWHYR@U48ST4k`&6JnMFAMo?DD|Y40UVAwz z4oM*rZDq;OCd@{sdE&(IZ~|e;c1SS=sNRb-A^%IrvFopK8FPG+=YbDc)_37Da1J5V zZbgl;ZrgV7SHWFv%b!$~pReW%b?!op5BQweCC?Q(GYd7c90ntWmB>hb_G*A|prK`U z6O3zk*Id79yjn948z)BRn2hn;tH1>eYeo03feZTWFrEogP*9^(T}D^wN;iro!rZ7Gk*qoy)j z5FhYhL({A#e?yqJu_+fZdo}YhEim6;9c$e7%7?yjjdegOmZ4s?IyseLkc(mNRNMI$ zzFuUY!T10+;J2^&R(^DK-O>`3bR#tirqDR>5;{&y*8v+aB6QJAgE|2mx(EV(+Do5- zv70O90B1@hxd3dysns1F)~+l=mAAgNqvzDWP}6_|4jpXOnr(YQ4zx|HyQL7;MIZ-U zRRjn8q1GnOv}fiBblGf{IGJAhJzz8+Jv!iR>TmWp5TI>x(0JD`_y-QCbK;)B0mp5x z8u5j~&(uH&S&HdON~4=W7tdzT6j*si3DULvc7XKYt98Bumwvo)?aie#?R;tkDS9L( zBrdk~ja7661`J=jR4-3LvruH14~!bVSIDEA%Hh%g!I{xORA;qUQqqU&92sx_)eW5jJj11_}sl+l9lcT27nCwa*1169B z`RCz72iG^xY-vC}&+7tpssVs+Js|@MxSU|MEriPB9m2?fiIbmTaKP}w;)0NLRN)nCCe~4 z;Oe9_rcog@OJKx7Up0vJAb07VK*F59Lkk=CeSfwO;yf4#>xbq@A$gJaYm zew>2XfDS4dPHMzNxgnNJY-aG&q6PYtXc{l!SpYu%@aGCE#96IA(7N~K%cxm*23dT& z`%B7vPpuhSGlEepaObN8ipqMMY>W-Khs_10aPe1S(l!8}P5AuzgMi7yZ)l#;2lm7V zYDZN;^GBZ^f9M=sW=MGSE~&Jrq=*FO&FL>5pSBl61ICVCUhB11BC+67Rjbq)yvnC8 zBaYf*!PX2D9~Q*|qeKs#cm>c9mlPEaJb&|z=Z?eYXkBfyN_GX%fU^@uVkgGL=x$yL zhhqvCsuQC9WNizV}t5#n-m!{LNp+z<^UU z*4EAYclOL^_W4?xeBQ?9&hCz;<`$_yUV^}Y6E<6mOZ~+ma0wkuukE!a`Y*pPq_KqpU=Dm$D%^*-fW@26 z-n{-d#sy5sa@TCxdtlG@gS*xZZ`?9tHeB2xj>b-7t?65P{KT`n)~}n>SD9s#t^6bq z`qjB}K*>9}vD9A@31O>TFkG3#Nc5R=7#DB?Tzrw6_b5MDE)Wng#l%l{3@=$!2G=Ay zY?+yU&BVM#i-&i73W|3MQ|Kmz&?K<%OhTT~F4fZ#`P(3$`}fhGMt%;y`_oSd3Yhli z?>~5P6DPtkd-(7#0~B!n)~9!E+W~y*E!(yo1F5a)yyVTl1YQuDrC$cV^HMnRhu|oz zQGNtL0SC|DxOT@6=UD&>Xr<6N0;$w59>=8mDY*2Mm{<-51&r)y>H);z^r_u#Rc4`p z-Eu7u>VNj=(Ie;#9q>F49)zzG4;?=C%u&DsPP`MvhI<)CIXHBwFP9U8Q2{58K6-Q8 z)-4Y=hXRjj^VTh|j}ZaS`oRCoxCa;)@Y`>`1Sjl8u15T2AaM7quW!ND`Ym(z$G3qC2-E1!^&9`2 z3pnnf7r-^Jiq*npWeSxC$bfM`2K)l+kWT|B9&FK}L!aFL`DY9c_-jPaYyV%d0cXx? z_-{7gR|OpQ|HTIM0vqtrZ&-T&V>aNO&tGb}HTp&PtuNs7CHz9){0)G>j~Bg#GI!9A z{Tzt;w7+KE#Q!~w6wO3wuZJeLo@%nuk(W^KX*Ss{%ER7hG6h=890$ri3F(d zep#qQ_Bjv&U7P-!5V&2P>QC?|j*m}>_a{t%uke@9gemv_K9(2fc<;$0AHZo1A2X6f zK?@2$jZCKjH5xuCq~4z%9kY`o@R0lQ1SS}AS{Iibl}_{1$5BcC$f!grjYdt4O&lIQ zo-gKybO%-Z^MI3q;Jin zcvkv68*Aw=sBAC64?~V1B4NryA08h@v^P~|H#+SNzQ(31LrHT> zrM|4GF_Y*I8|Qlnv<6lvU+QfuDQTYE*5+@=wN;nYPZpq}XrIuNsb&+9%oF0GXxUH{ zH8GjG?PI5KV^Pd&xz+UAF+9(S0AK=dHZVLg zE!SYnYiRiVPJqY?<;gt0?CctJ_ybPy7CFlrxi~0}{@~R4^L=K?v!_oUKkjh3^Q|*Z zojh}Yg;TiUP5IzTT;sxA+s~*L$1s7DT?%JKW2FNQkTiPAGp!A1`K>SU`O5X?YFJt5 zDjVH$P3{zg31o$GvPwJhTkR!{jh+&(!(QL$g~E!VQuU?&MtrfhvI$D8FC)$ZrW^yRw6Yd% zq06qXudDZBzuBk->3`q6xmc@IdcOVc+dH-H(h}GDZ|@YpZp@IYkKfRJ`17w*pO2QOPVsI6Y8`At5aQ0t+%mQQ`uNzFQ}^(K&hx9UtUt@{35-QhS*IqIE`#=OMj3=vUtf}^RAUM?s{U^8? zN(HIJYka=I>dvymTxxgu^Kp5ZcKFWd_UDJXNZ|~LoE;hZPpPw^REOV(uhbOz>Pt#d zsnDe5P-^M%3tGA(P@}GxB}$iT^KuQaT65+Y)R}n}O+){SfL6P6qB5O~`1hhvjKgd6BnntiVxUOjQMFG(e^Le2$97y4sdjC1DnV1ZITd zh%zY&7aGPFlS7%ZoKKHj}M9~hema@%rp}0g5&(6NyUvfk0yfmB~ntm;YbG-7Fr?4>WEAUdhh_i2DnD6UBh&3atW?GCBxGLWH~ z=q`=hErx;r@R`;k;&CsK3&1&K}<`dd8Ca(fAE-Ut&S^|^CD@k zKY$TPBR4jE8W0eQJ@9y+1kQzFWO$9D>Avhv)DJ>U;zdJT-{#~%M%fN&Wf7DnWV zXlXJg|8H%OZbVDaa2dduOC^Ni@mBy4NGCNk!ejA8*jr0*P(AS*JjJ4HXo((0EyS*r zdjY@fYA`Tfc=A~0SN;97y5hpZ2x$o^bUIA^FePJuG8jp*P-OhnS+n}V3yYzXyx7x= zq4FJ#l2CEBE9Z0Q#~W+05+ZvuYT-I@)jm{0y`K5Fg!=*fUoV_Ed5{_g&%*n|M&WlT zOlQ;s$B(}Nut4mwAO6mRs;1%{jS3=xK#aIN@_P_s1#Ye>7Q@R&_Q0d_@|F9cPO|^= z@^=GakFLJ^?mI71BU4jH({Pcr7vXPL0Tq};jq*0?#1VuNUwLWo;yE+=;9QSRERsmX zr{J+0YsTJqx}q*upO4=7Znjtdq)xtt4QK~9J#937JlpXTP~~XQ8B!s7T>?|xoS`BA z%JHjKP)0(7_MJSVIst=%PE@MhW##3_ z9JfyL6g7Z!g-ScOB*|cK7zoP{E?<%pIWJZT1uk;pO0QwJudArqkv7@5h};aTONj zBp?3>`VLVdm7aRdTqR60?n)@rnNzdN+HxuqEnaGkyqwrnKRJP$*KFNn;=-=?u7Kp0=vy!K~3C)V1dvk64GdB2%Z6T znceuv7nYZul|{kh39lel;O6RrF~u3VxlZhXcU^V5Cqo<}s&6&1@nkXNkGsTVJiFz} zCjmU2AO&NNa&TCF@dO9JSN*kNb=h{iEgklWfWsENrP3{OqGnOMaD_1Umfnb3#45Cy<4*eAV zQ#LLfxQyYrIEBKW5t0zf)-rME`J1W=P?N#fapgJ;N;C`|W!fjb9iBhaPm4`3>Qd61>jHtE*xDX7IQ+&FkE0|sIfthLxj4G6>e-e^(dUVS%wT` znVjX?Cw<~xAgzrMOTcro^jZ#AtKo4px=c1cJT|=TKe#{|R{dBZAq=Tp!4Iu~RORYW zlTVLT{^s(0Y)tgXojFc}0`(C`<$o2C*iNJ-;4N8dc`8S(<|fP34l6N!`*VeMYQ|`#oYkkp7m?)dr(psujEy7r#358nQHampQAtG z|6Hn4+f|B_gzYk@o>{)iV=c6aMKxBNzhvGhicDCU%8ws+b~`LZ7X7x?1}MTRO{hkx-OT;TDMgBUK*7HWs* zkM-FkRuZbF)Ez0j471r{u{)eu4p+843;uMPO-7U1WS;&H*bjFJ9~l)9-vzk9@IR&{ zfn9*dKfwiN;%p7>uu6FC+K34FF+?H!fSAOGJL$lGhhG9AU%(Rz1#mwsIDUNNKaUN$ zUR&ewEdK4+0O7YKwKX-KkDl-XGegPoF=%*=|LW>h|FxjsA)fWZr z{rK=M?%s=uWFj%{I%?1V!UYCpVl`R;%fab9ZUMpt?&R@g-;ezm`ue}m|7zfWHSoV0 z_+JhDuLk~C1OKam|JA_%YT$o0@c;K309;@# z4p z!F}270Llm%qBshuDJg&pY`Tqbfsj4VgCqV4S_~H$F`|^Mzku!rS12?*KHtv`VW0c` z>#zU)3&I7uL}rsI3z7{?CZo*p0fq})dTmOPu|%2OadsZy0=N5`mcg?3t&*HR>B9mz1{0n7-rTux7vjLcy!iwE`4MyH&Yw4DF5H5+=)*rle^ix1f;qqxw}bROabY7dX`0^M4;mOVqLP^tiFB1XwhhxTwetb_1w_k->B+}r}l zvxnHcnLNe|-277aE7dNiu0SJgzw_X?Ux636d)B!B+@#p;> z$aX2oE6UI)6~?8T)&VeZ>$F0ZoHjEMxPKrnj#gf!NWBHXz+SFWS=h7ws{pl9LP~61 zJsog?P>p9c&zKHj=`GI>3@n0;j@g?B1wEeuGq8{8^w?{0u^tJ z8A!U+Ikm$fk!qBdESE*3knq@}oM0A{bLKWe23Cr!u7b*%T2D<~NnW-jZwwiD^vFW1 zrNHbiHfRh=iEoExCm;hi^%m2@!wccsqtJWDpC&TRvUGS^+y_NOBCWU+E)b4rs7;%Tq4vqVOIY`U)8 zs^DYHz~Cd$9rb=onAL97YD8*-OB`@#vPQ>HRSKyYvT<@O3cnbqQc47XbKv=zeojygVg@$wZT8XzPu=v{us2(3w~9)~n1Rpc z8*|FscD>x1uh$qeWad5J-2?L8@LCL!`(PZXILMR6?oCXnFu znkHR?Gw~#ZMmx|pE@)g(Q0`8Eag3735k5xHKv)0k_m&Pk-Oo^pD)uZY)+?B_6y3bx zk{O#i&78;3z#ngaeKbR2g8f@(hEN3CPb#qhP!wDigT`X3df>(HgxYMG#SJy}3s*GO z)s#7G*4Qy<;18E?EQLdvc?yjs->gwf)Z&`My~p6y?Is!_IzDa&yzk9e!>%kf`E&So zR$?3ppQ5q>cCW6{)b&{y>{-IwlAi`_AYokI?$~G&IX0S1ybiBEt-kfuM?bCV*f>=- z1Hx?_8qJ<3nZKxc;f~$qdMSntjDA=q=JNy!xj8pWEE35fg9^F_562dW#7r7vEy4y4 zu*}xn;<}o;B}2a2+KN1fUEDZ^4Sc7*sovmrI5fK4ET>GX)=OmtGv5MiV39nTNQ&XL z?t%R3?`J34>q|4E=KwbFm3=L|IC6NB$OZ3T-)QLiln@m`g3c0iv;z)IjvMdZ9S2v6 zLv9Qa;|5C11E0Nh{Mg>X>|E8h6Q{PW9&V*6+lF`U-o0y{DqZoI8~Dw1sS3;nP-`Ss z8*EyOA$y0%VetfFF`b%`Rrd?x28zr^Q$cZ^r>?iJp}wxXG|OV8jd26N=+kFtoi?q- zVRONEI@mDrUAz3%t-yryWz0A~Ifd`c>3aU`5J6)s>Q{5aR-C=i<+gKSyBJ6fX8~DN z-(>E-PK=C1$3NqacEC}{yj_rq6`ueJJ{W0_uG23)_Duh}V+*UbSMJ?Av2J}IwRXdy zp26L#-RW_Uxq;vIb>_$wN|{0`l$sn_nHG&yEK{&JEEZQFWw1H%E@p(lUp|Ds3I(27dGAN6l)3-e|K~>_&smU{J`_QsIF<4GVl z8h;&e1GOtV97_+iIhQZ2(!clHGv2xDW>I|`T8*6pE`C8KcZ?f&!yu8$B_f#&1_GSU zx2j}9u|&!da9C`PfW>Az4;{FRxPff7HPhiLEvl%jgqU|xQNGh|wWN-517E7zHN})^ zHe}|SGjy746CjEde7^KJa089T6cU5WrX-Nbq=+!CwbY*1Af*r@perTN*c?V=j6iW4 zZn3F1b>1M7{NxxI6(_sLD2RLGq9b6mlMzgf`m;?@w6;}0xjVO|jlbZtr^|)c3x2?E2Vyn8#o#jL>l=ocHoV7KlrF9&!hYOUU2l4ppd(t)o*yhfj5kR-6Bg7gG{ z=F&w~Mz>hcf~hevMUcTv6l&sxNPJzBvGXQMxg!B`1OdhHg?nRQ#)Rr1q8@z7aBLY5 zC(kpdst4!pf31x^d0kUSK@v|bi4IXsFJ%KgF!8$}5=*BAwjJDmoS~2@lnSNM;ou}- z=T(onYv5pz$5T~NUgUHb4*)*zVUt>_R10`~F#ihZ17eAU&y$G7Y&r~GIE{Au_TPve z$d%}IMw1od{3ZzgTa6~8*{aj2k#Ey7O=rnFhq);nV$BCpMzP8!Wd6NKYA&oNnR2QUg>!Hz@J(WJa!P6nT)|fVA*TPOoGQIRrE%Hw zGZnBAlB2dt;NZJbEItqVb*d!2M5jtgNMpy6!qV6@rBs|4kB^S$QBbO(7yIFc%d@9;tzYdq z2Wd07n|dK+TJdwIO|yiihE zdwa)Yg5YmQ)KaxxZ!+hboNApm1I|HZ2*rHC-d`Y3!Wx}qm1q=FWo)=VEH*JgkXXwg zlW}2$@Hjv`Y6SZDC=+x5U#p?>b3zmenwv~M(+d?)ve0$-?S6+Sf+|GtKF^1rssc`kR1bhZIQy`Q8t&7Rxa2a$+TcFb^ zG``jLDaH^ioOkTxi4!X-Nk}vRKkm2(jwv-N$VpY`WNMvEXOwAFd=ZdPq$|B}87R%~ zcCk~FqIe1hy!XV=NOEd)M0nW5SQ3XR;YP)$uw4akh^ekgKjm{GAR)-$bf3l;g5ygL z#6wmBi3}4QNH0|-6#3z6nIuwQ48d zgl-;*0wm}xi+Blywm_uf1E z?DKm|L3_xf!r@_o0AdF5A`wIY*bF8ldU3f728+j`)A~=g{faPx3YZaug5KLzZ(+^; z=)B6HQECCjYBn0BT4N6QtV%hb%M*$A-g*ca!6G+b#Sw`C28hFjbCtMoLP!-oY+?vt z&AD8@o|o%JkS*^dUE62KOCv!Z2EquwaDJd@e{^Ixti8wt3?pcnIEs*ZF8$^U6~uU>HG(##Y)pcUD71wMVVc$pIrcF=V3HHM!AfhFph%DTQYNBN+8Y5J#>z zDP`td7}0R0J;TomV=yVHRG{RHRlwl!i_aW7Hc<2KwE$^ADuxUlzC^@kus95AbRuPx zibE&q=`@B1!|A2bgRck9c%93?!Ek!N?NC~EYNJt=sdwr!WYF#kqg*K$z#{SBU(oCG z^Z6RSRF<3?ReLs(FN+EejgjLcoK`^5JfOLJiKULg*g>b1UpoUD;PzPB{vwI z&M8BN47kP@*uE-A7p76DEU^fq2wq$K+$+1b9bQ-mvZD@6YOV(qrAWw#r?Tl3abXV9aAgJamNm~*w{)KqYp^*rzq;UHRr*EHoOKtuh}(X$aokQL-O zi!g#<^U2X+7)H?CI!6Ua7K9Nb#tNj#vUH$>#A{RG&;(!vQ{xGy@~l~q>axnfpdfzY zn?Y=a(P+<_ywYMafJ0_A106s}OQ$jg{Kq~1xfgbB+cT^B-H!rE4}Stq6_>$GNC(4C zN`{1oSm^Lf=Fh*6VFV$;?z6z|Qs?ZO7)J2VeQINd-UQ(A4{uB=~z{Q%$PYCdMFIhnLV@`U;|TtJdd-Pbdv>nw@a%)+o}_=32>4t&gPBO7 zQxl?6nbdgr3#@1Euik@k1lfGh9aul-7UBrTJU9s8T!S3IKw7{rn^YQ^QYrNdLnLC3 zoWC052R4qlfNW@Ri%2M9q^EGBg=_ks<^9R*sO* z<_TGQFpi)*hpS}qxT(~vw@(owqC#+CxM(8b%)8mCNenhq#djA0{HdOq?zNXx`P!}uy`7IHp@~OPJb(8z5+(MtS%A|Fz8pACNDdDU#ZQb)BAg7oS`rI=Cxe%dPhTf?2 zXAos#F_+8aikR)g>wZ9hy?iG}%1oQxGw6XOOE^sRhgBE`cLsXbhX7FY|$B&)^t!7)tQr+B26= ze184drORjcJ~wsk(t*DLCD_GJqbF~jo|HF+5)^VLLdH5m34Q_Yx&X!O<#1+Js8eYL zVu6Iuha)y10j zk3s3z7)tOFLJ5*)ot6Mf5CQ0r(yQ9FLuHJQCkf+PPG$|vWN{j26(%X?louClJ2QfTh`nMmf*8=CZwo3F_s`76AE7UEs;np6^fM#xn2szGP>3NFy9lK3yXWC@H1QzP4 zr!bZvjcurG?PzYF)YjV83~57?+<65#cAK1*hOr@j-Mj7L#aG{d|J_R$FJ8ECV(04R z%Ugy4auafIw=_0x*2fr2aBO(q4@~%Nolxi($HAHe;)*COraPF-CbjY@K3l}VQ-vE~2 zYl?)pbr?&K&kr7B3I4K91bM%FK8#Pk6rw}I3^tQ3;xifCHLqhVL8mnL3a|t>P}Je{ zs`_b5hFTkHX+%}}Hb8q_&XGX)nONa8PyH+*m3#Zqs2lGO3W=JtHZCaphJPgZo0OCU zj3vnOxOqD_NvZ~p?p)@Kt8QPgu6JQxbk)Lj-A+CC z7AzJmffyc17=T>n@h=(ckbTWFPW$@V>(@W~ZHy(jVdT5vAUv=H|NiXy$ESWmEWt=3 zo^xlAQ@iNswxR5V_U?hTy#x8No(1csISk3~zaEbd;XGKVrT}&i=)+98(UO_jvOorW zZNG#FwJs2X$$|UPF|gKy$*;Ze>^onaxN!3IeFt8B_QKoE&4az`a()6*-Q8WX)FX%` zDCD9k1myko(RSE2mBH=~hb7^$VDShnFO~oT2AgX!mf%8W60D>IkXxIf5OE=Zl*k(R z0@!DsLI`Z8LhS-e@W=d^r9Xo|fb-mb^zbU1#ZCja;0a5R=UI4oTT?Qd;9ITj(FDf4m?!=qMqY%QjQ?}UJRcb40aS)f`1(00m4ln;t8Yxwv$1m z8^QrxE=_d|Sc0L$>3n5ATuPVYcZcQYxbkvxl!7$C7^Qg%^pid%M3bV@U;1<8-ko3W zE(!~&_-W*i52@s+DE!BOochMBtzCDxKbOqtUbNz=WkYqbl>GjFw^5moSc0?ZJK&P_ zu-9SzVt}24qN-6-Fw6*63+(eDzYh5~prz&VrI)T=J@er^uf4N#=%e}>Z2Ra>|MEP{mS-f4uIW%S^?*^trS+g*D!lM^7GCmAV zA#6g>DRc>4z@@^tlDrJOy%ka9Xi5s5l0c&;(-NtS6gq?xKvYN>U+KGnC;6jeqL}AL zNBi(WO<#{ZdY=;&K^_wo{Ag}SD8Ww*PUZBhS_PsSQsN2tu#k!P3y3ASP>WO%VFW1* zdb`tI45Iv|aIHuSs+j5Eo(M7Go_F)Um#!Xo_v)3s%eQP;xbBtbPpn+hUs+;7EWu;j zHp~&g#e^v-thnT~G@3v#b^X@E55aiE@CC>!-V028^urRGfahmL(5SHSMP~>&6e@M~ zV#G;Y5lN1wrleAmU?9;F>C9AGY*ge@=zFESjQY>f{wD+r>4+s*3oOBBAg%~;e=`0m zumo3zlA?%-6bfhN>K^a>Rlc-zY7BuCfw2UqO43n#y%EHe8emCLS_@va5n}lQE$o3X zC{#B1nR}t@c{lDn`}*r=E?>DfIDlCy)MC*m@(mD(3g=VY83adjHPq22uI-zgf_RG(``PM6IR_s|hf5XgK zXZOz8GTd5bhhrh5>dZn%Vmu5TmY*J$9G94oz?I7c4<3sGYXMxkyYuDrbZR_{8_SBL zG1B4~^2K*S({d6yCOw5pO{CEiDT!2OD)mWIaWcFR*@yjJSQVX|3M4@tw{Q=M1Y3=9 z&{SY14m0AAEJ_-;Z~Dx^ws{SyX;dmDAvy{p2@Yc2FzUR5CV~Z^!|8It(huyO-$DSR z2mO#OGi=vTb1d@?WYHoFZmv{CQcbY^mQ?eqc=?J+u zS)4wG63pvRYm7EWwhKA`pv?+&VG$EHE;vR#h7xQzzwy|sZ|-^jrIi~t&Kg?0XZNzL z^QJWnI1x%vA%P7XKja_d5O7Zh*%N+25Nfe#1|Ka5ehlFD*bB1cO1;D{3WW#`i=k91 zcB2*p!;zlC08QyhU=5-1pcexBF`|sCsJ)KIg+`&x)02oKSiF}MMF@xFv@q0OTcWAS zRI8e<;Y{nAy{K)DCsoQa$P?0%5|FGu+HN2TM!cLEFKYF;%1g}_Kx1kA>Tr!#iV#35 zsev1Vp#6ZkF{rq47 zKj*+0N|4S&?*ESfJXGnk3jn<1E`%0!$ww7IJ26$!v0&pViS*PYS`sxq8B9jhAb_Zf z*urHCV{oB(fAsj6)1Zowxq?6l3xgOn;VMQFq^9#YOq$NIzFX{_K6V(!xUMK2vcdgRiH({KOl?9mqv zZa6SCr+xC$hUWl}_-J3gPyjInw9g7VE~EVMnd>l;U<{Lw{0r!SJCu63O+gKNC_0T! zi{KmzOcQL1P?FL?Q*t^j8A6*#6QC?7ma#2+L)i*f~+u%GIlJ+yb_E9W+!JG5=<>K)I_Tx|C&UTz17Xwc9oZycB7=i(qt z1jn;@eHd8miKvkGedsPKDO}~10V^2D?3C4i01dSwDl(RumxgkeDxbiawk zEJe+EJOB|v$?{61X&$C2B8uGhJ)#MI`RkAEM#cWW9=%pu(2%+4i_xDa8{|92Xo9n- zJAo#+d*{8|0sI@_CKUb7cN?qjS2D#$H9yw7zan;1QP&5*oRnx3?A~AehA<{Xj3R5;Ftk&{23Ee86EEf zPjF>aL^L%mm7ahsL?R3jW-KWZ`dwr(E2I7_ffyc&kcc%NVAtWeEqWZ_A47q^@d@Gy z-fP{5c!JNSv$@wG!g;TKAL0ovR-xvZuy*r@zd%p~CM$*6lCYDHq*AHte z1elaKop$!Mxc#L0WMY;C zjpLz(Yqp4La4RxswtH4bizO#FB_%c0p$5u@h%l%DRU(no^nu>0B|r^sKKYg**XZNv zzsVeE_mcsz?fGFMqF~s{WhqJi0lxm89`6?xiim>2`Y47d`2N_zqn=r|I4h%T*H@-4 zI_gx#l-i+v_h$zT7q?|P<7QuHJAtkAZ=g!m%1`F6nep#0zFoNJ%PFJB4;?sqemM{Y zKS)XKluB_EG)aIa@rg4!@yY#J9 zAAb1R#AP3jdv$95=tOb3fBu9i%SMiW`-S0SM^6B%pqss=rC|U5 zb>MWE zAP!NbtC8r!bcn;HWo`1>slFOa>I}QlKO`W)Q{}GK;jy|wsPO#yU)UNFAc6`W>Kw%2 zO8k8$*P^SKg~BaN8y6fF9%f{qg0(Mi&l%RgGu%mM2|pbBn`yd^bRC+Q-u{`q=Z3X! zj}tW=a9RSjEHu?er>8qm1*c6yf*3b$)XO8DpA1d-^20}Hfn=>YCnwdG?7{9IjayMz zc;MKHQV~;7k(ity2@aPSlaswSh?s(MTg&_DOih}tK<0q1D_cP*U>Oc&Aqg6ox-5fe zbV11HWo^1)8a%9K%8>8JI`El=xXdRV_;Hp2Flxxxxn2On-T2u>ytX9 z7#yI2yGD$7e#oG{`M@vw4k&=0WvBkyUvS{SSGaOvPO>MH1bZC$$X3Xmyn*Af){`FC zB}{S$^s5PFl<(Ifq@a{u*z$U6hBezQCmY2@`WrtMffAHOV;qjkLZ{Yadg{aVfj%nW zMe1MG>Z70gV@9OOXu@gnz>v_eLkv&Q-wOwI(8T0kD+HpT$G#!(G%n@&3=k0o=NPns zpM0Y+MIRm#qKRRMf-B?Ooho^~*W?-B9KF@xKoopEBc}VC@67Dct4pVj_^(5kE|&I| z%l}?i$XG>I`BtUYI@*Aa7`PzLN_YMrsEPG_F=P9%Q)_J)^wovw z!n9$~9`Otp2iI3r%rmAY;7oui#;DULpDSgMg5?te?LJCx?+{bUcMMTbX;|8YhDd`$ zLJa0%fZ3asgl=eg!`|rB_?wk|Lc&e4*igUqOvE}{Tg~e)e|Na#MyrS@=w(XGnlN?x z6g((+%;+~~^z7Fs(V$a`C$u(xRdBZG%<;m4Uv_@Ee98DVIK)?V;sh;_9@x?s-3#r* z_3A;Nm48!MSWs~ML@D5hZVNz9i%+m8%5YK0U~qS!C>HiN?8 z4V!;1hRRe%ZTg%g!G+yfyl7!T;Q_>S zVd0@eg@p&c{RiS?OxLaS3~r~e+l$YgKYx~NHgOcLL#s&)5ka~a$?*IP;DtKw( z!ZDZFttemOUrn2|WLT>C>t@#nwQc;pF=GKL*jyui<^UB`Tsyn#rJ}QE&z!ZL6N=8A zE3%&>O@I{qE_oLl=ztXTIMY7^7tJz&PjAVh>8gxu9PY}>NXLWK8&~x?>iQz~?~nEe z?u~|oQ;lypPRD7&fDwg%m)jbC9{iujAO*dbVs&(2R{8p{7tXo5V;g5&ZR@Tfnr9!v z6y9xf-`6?NQxyaZ)sPUX_CWyQojTC-jXLYDejzIFEiUeN@!;hMFCWh!s+NbSanj$@ zFPN%50+rs&?YoDjnmxU@I=;#<1)pUQeb`^n0pe1si$ExC2BzTNSUk-@6|4pWJQyIr z#}_=+fl9xnJBAG8MkrkbcC^Wx8&V`VhatN!<^L_B3f})b%w20xK|~yG4OFWG{6ZKR zwf~?Yf%y^dbctE^7^>hazP=QgEZ7P`DFDr-IPT{CGN1)L^OB-;o%6bN!`ZF8JbQO3 zpyM)=J_82d`RE{@NS%u5?&TSc3wf|Zh<tu`z{4(1TE9P0(4*IC&NY`iJ27iNC)ubDPmO5+`*- zzc?AA{&-m6fnLKSM-DjTUA9EsHk)-?uN9ScE$v+ zSOzW_$m+C&WSsXGPwQft1AYw{0$i|Rk}j?U9Q#B$I8N&QW0ZPPa~;41$4&6{IO|Zb zsZBCNmXdCw7WYh(83$LBbK*={)Dn;uiK;1$ZT9AvpN6v&Q-%qpdb%FUWtqX0 zW(UHVW;`X$5SfbqN4CpJjY-JtY?)EnCe=xFrYsB1P^N=jjsaf8r2z-%OhzANd}>;(*F&C?8Cjh(VyVTDZZPL$Cqq#<79ksD#+?n3k?nAB zIyTMHE+!$P6XS^p(#K}ySaR?XvRqq^6gNTy3GX0gtHycxX>fj7i*$u8bX|m)w%FPi z5rK2$J(YP%rAyDa>5BXu6U@oNG&RA@f+!~^H!~LD+AcCG4aDO!a?;`wJLD^vahFby z#etyI)M%YnpOg}%i*IMr51z3P^+wsY!8RqQQc)#Q*_Ga4q*SU@3w~LzRQB=h{^5>? z9A`+iI0%lJpJvXw2*!(%W+$k7DoVqW$5WMqy8bdAmbJp5u26Sv46h-xd~<{mr1h&Eba8E zmh|YTyn+1(J%<(1sL@AAX8`k0>z-vf)fOX7$?%cHS~S9cfIHUmqNkpL3%=|T7#JMn z9e=Kk{^{Yd48>r|#1>{n2e{xqlaCfhv!YXCWBcUy9W-#j&>;f{4j$BR(BJ|6`lTAt zkA&+C8jW|{Zwy>8!p)L>8jQ>tK7uJbRAh8(WJK&Cpgg@AV2UuthOKF9YuTs`om#_q zFmOTt2i-J^FfER|sROk^YVp)tWMr#BsaFT#7j>96RH5m{umv^lSvjZLjM9{J2lcg3 zV{uACSSL^)8=4$#ii=p=)>ajrrVGJ6dW?EwTfkwdL?R6d3-Hqfg))R*cBn2g(r%E0 zygD@07mEQo41~dOk+?~koarOPS;Cm;L5ox3HC^G33E?R~iq@`U#M|lB4}l9wF`e!^ z-bW%xeXv#Ic>FSZ6tO)(=H)37BtGNmbaD#-gAwi)%V{QghPT872gG&jmd5}F7n|dm z^!&u|6l!vd5E+>D>R%nw*SATVf8DxmV`#I4lR{26K_ZoeZrHMQ56}fwTEImgxgRY} z$@G&MEfIDZr#R#U7hIYeAJ!R086R#&W2F5GavLGHlWa|!+~KBxCrK8ww@4Xj?o)+khap)&fv0j zc^hBXS&#b?af(vgxen-p;U1Q3A3*@M?5tjc2iu46gZy~AK-PoSlB8H>TCa&3vr%i( z0TYsm80_>LP9|POVJc!&7;g?NElM1&$HCM_!yYefz=DAI98JQrCMN6~xgJv}^k zGIYTuaEsIL(V9r6sA#`OQ(~~mA_~_|AL0yg5nS*+9}nCV<+qH13#zmd zf!8vMF$_CBo+c^NklV0q0$w)T;spVN5GG+=;EeI1Nf1zszSwrU5NGr;aKW{HzUe8k zrsQ-#zjbJyq*{4QjHiT317#YR(u|dctv0Mr_LoYee=>kU#ETfx6EsF+ltG+|CbQP% zVQds1dC4Gk4`Y`uLfs^WSB_jn+{le4Pl*@KbVlHaMf(MN_FQhX(nukALg?Mj<(gbb90-GBdmw4(yp zpA6ZPdJy1$N<#Dj0>idjniwa_J5duIgRNb7sXEsD(CI(`yh%^^&69e^#i)Y~hL8|r zoR@ULkt2t%F@!-6NN)5L7&c#bfw~KBZi25ZMdl}j#fOU27bnLt6Jz$^B!M=9c`YVM z>oPH@PotVZKRNyw91>{=4vI7y<^JIj5z`?*E>CO3l};ot35|-5(MkF@Ha@t2e~=Ju ziDrfgT9_CcD*8|p>GEMrg4Pvez!w}PRZ6A7I9b9NutaSPl**Ly(U0&2!vU}F!80a# z5=~63NiPh*ZOuc4$ec*g_KV|9jD^?uFu(-p#4w3UdKe}^{~Ij}@|H&9V5MJ>9`_SP z=;LB!zQOX>9^wmX<)#=9W~JIZNw_K9k|Ys1@KITjqLmg!N2^)B8Xt~}D_SkfF$P0; zuoJ!&9Nr2E^OVKJMLaVZkMZ-E)I}2?t5Ali-+T;TFr0aUX>q5ABs`{FcCyH07$21_ z@(8;Bf`{&QTiXYTW|VnJDe0%%?7Q7P7m6#Wi2YZ4>*vtGxX7?Uzt}tZ{4zK!GCnAD z=Z(kV1;sEGot?)k++(wnBm-fnA$*j@!J=-ICJ_S64}t^3)f)AYHtPHs&#SL9N77DP?K^UeGL< zvK*EgDmZzBs$+2^DLgnN5pzxxuGNHLCpj@8S|1WPsgA98BD~;*AvtjgvHF-rBD~;| z7&I@Y+@WV(@Pe`k)Mq?@3HIs88=cM=Dsi$13s!4m&A9l2OJB*X??^~W1T2F&DbAEQ z?>^%p!VB(~=o9o>{ksfauxc?jixVQH`&{sXvaOpo;&qR4fD%q$2ws6IW+>rvpP+EN zfscxe!EFpNxSatvHQ??9ijT%T1Ok*7Nbs-=@7G0q!SQ~$hzt5Ie8JAVF*8wM9v%+x zR1fzFcQlo?76k1)f^qsRf=|;Hd?kTHvV#{+C&R%>N%=4Mg~~ z_z!{oxrHdWtyiyprIIWgwE@3366vC5YAu(tKeiGTcbw9jE0(^U5x!)p?)gEd3CI6w z{fqudV#-M|5#+(=e)yblBX8R&`E?&rynXHRmCIMI+{m0yP7*mcc7j8xW zTq0adWh>>5d(9`Oh(u_nO9wYl=|E51SFXB1IFH@;DR(fjl95}J_WLaxwcXl2d|eT7 zpH)z>e;gr}{m1O+n3^K(giNCQxmjEZ;gbKrN6nvG*YK;?tf8yP7xvY3jePZ*FITU* z^L_FSB3pZ@7a@r)tyFg1kB}9YhR!ENgy*l{ze~AM6DcL5aZ{gH10@|RNd=L-H(*!a z%Qh;t{}SP&RQ*l3H*v~OSV2fWL~mxSKckep`DQWU+MTge!H)jVPFw7)l;9`H2gg11 zY#{jtpUA8)kobFa%zSc=aN6x)SXbv{sB$o@A~Fwm|DUZ7Y*s3<)_pR60j%_PwVg^< z65>0`>SXyjbgZ6ROvoNeeM;^1EmqcbmY21(TJdVJ*=5$dw$+uN8gCK#vMY_$dh^Qt zW-70|Rzhjj<(~7&-$e54_U$`w*HUgs_(j6`Zf>C5Z{{jeMTALjY_v8}p z121#CQz+s628>{)h02_HH{KP`Eg|H0$Y0Vzxr-$>%C)q#P(ERd?=8Z8aIcDT6}{&Z zxO{9S6+U0FVglZV-le2B z+ym)mkS6griR2?3I=Jg4+q>c!NyzD~!y7k?p8-$eJ zprjO(ohr22KpD5~i7JrP5*Ix#zP^MCmq(2bfOIi85Vy_4L}CLk&fQl>$t%~NAZ0_` zU`9~RCXzy4@Hq@x)=d`)UszXXz2jDYr~Xduow~ZKsv<(B(i(fUw5FQ9@Zg83SBVgL zdCgDss5Yf#;>qspU*q=3&`&V$i@_56UUuTKq5MP;NNL4(DKn z_`AiFzq2wFUkIB2v3->tbX$=)rCV05`uM|k%*CA7Bv|JSZ)kJ{_v3Q*t70HNWMQfR zi;Mn!8l?^t^mkg0WJ12FH>w($Oo%L-E6;_Yf##Y_A$c4hk>SH1&PCC4T@{^4+2OqA8 z6K863BU9uy;bu2msnFaf?BYEttW$nug)+4nlt`2(s67ShWFe_Ne;yGFR_!kmfy-Hb z7OXC>?j*ec^S$$cQt7_~$nj4#mC%dVUaPF2T$xTZ8)oo<*AXV;4&a^0xRACWgh*T& z;Ua60n1+##t&LPDjV2pgsN$q2As;o-k@A1?1^;!B;}5L4Ts5V#7&5$sex|P?IFF~A z35KsJn0nyyOCRvd-`(s8h(c;@ak7(r(n=+N`=e}Vq>`Kdq}`oXD(@!{vWe2p<%DE| z{xI;#WhOmOBop`S!Tp6)_;c^x4;b4TO8FRa3~OaCk!=SoTHMi4m!7*_d|i6lTAc>= zJBK>ptekvg2jkXmL|0>_iWP3a%V=9)iw z*q3vk06TQzf~JygR9kato9$ReybwX(6>+nW~r+omt?GBs=Zk z+A^MO!3?|}PKf}veajpsejZWF=5}xqk@{Mi=@%0ksBFO^N`0duoUBPqDYyy|>oydW zQ*OLB5*t^9sdFF`HsB ziqJ}h-@B5&sH^&rE`OppbP8b=g<$%}HzD_(4m*8^3f5l?RaoRNDG6DAj}An<_c(=F zd$B)K=h{{X(Yo$5kt7~HV%korymiD9dP%jq%P~R_-i$e1?YFjq3g6G070kGwNB#QO z+&okaO;p;4ke+k*!@6uvkpsvt2_kn?wf8%PmeoNBw@Hk z-T!9YX!;r}sMJPj%h2Huxli(h?mZp4Um?8r=k^B5+duO?NyrG~@}q|zv92d129frT zibdLaT(=9BfytlHmv1oc#G*Lr1xWd~lB{f?gYXS8ysr?>`xBH# zAA6r7vVe)Gq*f)mm^lorT!8r68(fU~5Zr#t22R8T6t|->QL=xd)Ws{_X?h2T zQOduNfxrxw9qeQ_94mQZEo#q`MAH2ZrBe?*(h6bZ{Z1w2-|6aJOe9yHgO!WgF^L|sdUf1=u(}iXD_Fsc8|h?Eu(GfmbrmV^R}@dbD$#M}-LdWO!I(V^ z8(#hE87wTV=aNwNe19SjrM~}rC_R=00^hp(iOnK2*Nm0LB7I+1&#J~GNXc!a2*TwJ zbTFC%(S%^-*9umx{)pAU$@f}D6h0Q9ydrHHI8EK#9z}p|6-@n!{yM8KTUm-nM9O41 zei6aX7OAuMS{^nV0_rT;4!=qWsvB|>v_~QkM;v@)Gc51!qpB%i@qz-hr?!H2>vWNJ zQynuC3dpdlDDQuh;#RZ`bfSlo=JTLg0h$#~nj>8_;c!$?JxUr-^vv`Uu-4CnyJm?b z>u)k~K~h%(l4oRC$v4u$DAJg@T@=gD6E5i(JubNcPhGbiC*6)a#T7{l(g9VCD2N;D zp8cDUSr2JfU3AixEQUI*-8s1Y!+RoiX5kT#w+!-@UqWQeoHuVRTFA|G9#Ncf*ctP& zmhh6`4?ueE^6ntb#C{uMAE4#uKspgM^P8xHtjRD03rL8~jQbd2j&G`=#OD#k8p02` zUXPHdAB$w{vcmydaluLOEf8!;1i?*ok|zi{V8$oYfFz7Me=QspB z&*;IfFV@1YB{7r;2(BTR+})2M6&CeFPgLn7DKs+~UC9?}R}(TFZQ3-agtJA8r6)m= zbsQ5>+&0C5AQo??vY6dK?xBPtIjHPR<)AjrNsY+|14;_%?PGTIoe=PGauc91*KrTz zJJ{Vt5Gi})VR+!uIN6gDK2CEkXda+VwV=r*bEq{ZvPNn#%DBeKtyU^;io;5PxrM)E z!k&mL?o})1mi1Lsq0)&L?o$5deATH(LG=%rVF5`2eNa;d`e{76vkCO=typee7=l%h zzn8elPTk(v#kjCApoDwB3)TkaI+ig4*fehOgEf~T!+m|?aWpY3{GeZrt`&Fh+(#i;d*k{&H24p>4MkE7 z`wmY3E)4vblO9HdgWuA}3^=ERNcBS=pm0aD*_PL~P)SQ;BhCupH`XolD?7(rCyEcQ zlv8TGex;|4koEBKRUfFvGU!lje+4tI{~COr@CwC8i1bZvZfA&q2T;NW!l1NtkMe(N zIr}z|2gH4aWD7hw?4vb3u-Q=IS+Prod9^+SZQmz%@vf>b7E{LWnr{U%^lD7p@6jys z@}F%e7HvN(E)uEC*SA5WVz=vk-7XNRkbb+Y9QKn`mz51uRWRNzjb|XJW}{;9`xIi< zRW_q(us&!+H%leTHE_EmtbG6%h;Cs~v&61e^z?UBfzOVDxAsO};YGdT_V^d&$Nh%EV zqOyu@dGQlU?_ta9Zs`O8Z8lSPRvD3fQ&aN*mPQX|udB_$-MQ~Kfw#4xo+X#OJ!p3M zoqj%LMD+mz>CJy(dUik#sLZz!>0Ej{GjbcgHc`t}5JBei$w_P$UfALzhd^&UfItu4 zfD`fnh-haL{q-_d-!Q}+`luR0UWNp(I3;94IOW*Em$9a*UBdABN6X;$@?(AAs?n90`W3Ii;GXtCYk=VI#}mp4 z3irSb&D6(s7xB~D+T6+_k{w<=0ynIu)P0hQh;yBUY@yWqd6cyGD#z7{V-pi(N zyH*BZ^audZR1kw-sMg?42ogoDj*vjTJ_?CE=H88jFn`}&^!IP?*Op{sY26JgT;__f zy}6BEBA4kU+2zZZE??RvDK|J2vhyL^59-3Rsjy|oH#!tE(~ zfFUL4#v-)MSc#kdM5lHg53C^9-?+G67VI`EF#=h{s&Jpqt9my38ed!#w&A*`)KmZ`?tyEdnj&NO(ss-YIWwne6yM@3>x@T^{NjJJ` zF}N6mJCMuH!G=Awt|JD6uVO4AvaytY9>B(Z&*H*uUm4<}Y@Ztf5tqaGPUMnf99af! z&p4P07#ED7$Hf^otPyqhHA*s((ip2JhDgppMabzIf@@yRA>ni>x9Tpc)4QwaQWB2A zj9&-xcQch-+_!J90V~%BPM(le7~|mSBv4PJ^1OciMwH*7(()1g`sK;5JGggqzlyAH z&$hV}Y}P*^^^+8E1xXT5Q@O5X*r+S(ig&{Jl1}9agmXCe4 z)b-Ve;yS4c}*RQA8y4xW%6| zBM7}mZ<9L>R9=UbX(=QDrP9YJZB^m%Zpy8o#B>3rhtucD*afB4$R>7$ZM7gsaT=Oq z)5k%`XAkyIe?+VBgOiNQum3#@85tD%t!O_u6s44)u;o`vBz76$LC~e+UMIoLP7NO? z_)ocn_p55L9&!g)*r~@y2U(M0t*u-xky05iS4dIvF~h@h-oHLcRpI$Pt<(@QuL*gn zA(QaEDV-;G1Qixz-|(L0Ap27f`(Ip-A1U>;mG{#6OQceuCV9GntW(%0w1;2i{#$8v zJf=(wmFM6(52Z_$4~Zt`PpU!AshOv+`@1XVR72XDH}X>?R3^yXm5eGAHU`MWE}JqF z+6}v`D+qXaC_tc}?Rld5Zvtczy9~KWEXsZq zX+VnmpSj;BO1DoNtY|d4N~CfH&tdMN_(6~n*|*KjO-;?&STT~pzx?4?nem%%zWsKN zM+5QjczYAxCkQ-374!TLhtzyH@QLGzdnu7if&)K71Qyu>Nl;6mEbm@3rHygS8b9DT zhMhyrebzY+mCEv~*LK~*-tsF~uNC3CJ^K>-|I^n~3p};JQwuz`z*7r6wZKygJhi}6 M3p};J{|*cMA3v0r5dZ)H delta 4865 zcmcImdstM*6`z^i1w_Q4APD$C&?*q+{gfc6C<3AeDh)nSW7Gz8miX!q7x$DASH6n1gv+QN|Xxp#tAKCft-TRy0IcH|h zIlsMor=nj@7ui0NsIKoA73oMsgb-%eCgX+KcLjSSH9IoDQV(SmQ7~xwD3mI53;ku} z@did%iBt-Ovd;h$h0;c4W4nVZ1|XhuqUNL#Ryj$7KNB$ zm5H;#-b68Iu&s+vqg z_PQSZs9rf=+2VO%b_WlR5O0n+w()Rj~8YJo~U`LZQAxMqT*6g>;4Y| z{?KASK{4juUH>j^X@>i;38c2%bpdhHyl`Y_qKi5CCkt6 zd7s&4t4+?orXIHs?2K4<$= z!iId?w7B$+i&IjqH?Pw=wtRGY+=34dTzAe081;QxOP!5hb;65ncF(V*i>I!qCiJ`$ zoAUI2olS8{wl4F@eZT6&usZd*1}ynF0^~#(Qxb#%<<0P7yuKB~j{Vv2 zKwfNkBTqC8IU#4{$nK8p+X)S4GtTHY$PJA_quDhMxid>2X6eD6+-2TiWAJd0ha-44 z%sDeV2X=-0yR2l;1L4?_j;zAg6CUanFWVPv%+ec1fxcO9+1=CKonF5DZdXtDHNClZ z-#wkKytdP5&_s(SVNY`-(9+ll?8AX30td*To$igqK{Du|GbUp{4t|-8gJqzjXQtp# z4pvRY;T(8J;Yb;Xv^xq<;ou+B@MI1ursJs`T#5!}WitSCE(U<}u>cgtaUUJcpNXf- z(R6fAJf6lu-Ym|Dbmwdw%@^G|2S;(UKfevkHYNbDE)mb*KJWgP109_^mz(KmcoJts zI`(%shWpsOgQpKLCSIp+*AIKTD|frEBOQ{A$MWTGC-al(XxTh)vc2@HH)x6XTD#|OD)j-DcGAcA1nbNZYcn6%K+$v;KsXvIkX&4;L+ZH zkN1~A16SZTIU_-EbtPbqtO6kW_t=B`tbHG>lah*kIg_*+fVedP_^&mA5}PVKz^a5P z#hF+$sdVW!QDY4XsCqkgl*2XAN89;$rC z*a>8@KM%+vWfzczC*>6uX%_{uc(R)}f=Gouz^r*MU>f%U(C`@mHT$`bj$S(eI`m3D zkj15goDpgHAs~y=!$1~ij{vh11pwq91^u4$IiA5=T&o`@(A>MhL+RmTc$}PQ9bI)C zILtl)1QJ}xA-f9A!`*+a#!%G2p zT*|X1(26n;px^=su=OHXbYr=x_34^R0Hjm^5c9Q3u&*oRr8Y6GPa&rt0EO7s^HsI9 zxSr=qOA{XQl(z3`;EC^`MGZh83mbtz9GZYYs+xd6_BI27EN$UkEK=V`Kp^g|pxMVh z24-$;fN>K57_9-o@d@|Q(ScgfZI1go_&WQB0P8?%pEP`lwRn+C;2q${;lel-TYuWI-v&~%vu7XXq0$u z1p1}kB#OLGNZ*@Zpi3|@y*0uJ>HC8q&_N1fdTVGPxU2-sJ{9reKhvpZfSGI#fUN~F zy*27Bi0MU9*bjiUmH>qICw+fj*mkS{(+R=D0brdF zy2OhNrE3xh`>TZ%<_Ys!qP&L8N8YNfy;oa3!f4P$=XewL zChN7<((B%at;-a(f`oUEVoWn* znt)eO&K^cx31-ym0TYFv+a#3u!1~pAG(M2njWUJ6F^}6M+!pfyVO&)&p(-P#qxwK% z&rh`|hzxO+8PtxjYThG>tQ~7sj}UXhRag#4gM!IOe*D5H1JWe z4O$7M$sQkp`80W+*{cy>g*gBM$&DzmC0>~afpF-zZ0XCP@)A7KV}yfBMG2P#R~xs> zH`R(zwkV;GtNKo;?p26@{)PDO^M3__{?h_{vn+m}{f8_|d|us#h{|fKD3R>`X7V|B zFaaq@YNJk+6djGJiW-Cru6^ZWRY6M_UMkP?)3a*LyxQC$k(O)mH3%@Uy}tAd j$eft1t-MiLc|)pH-lX}{d6x+#ixWs^{}T3tWkLQ45xr3W diff --git a/assets/images/wolfenstein/wall-art.png b/assets/images/wolfenstein/wall-art.png index d2e56c7fb3eed5b34ec521a0dd42b6cae5077f18..5fa3c81fb086bfc04a976f76aacdea8ef0cca224 100644 GIT binary patch literal 18638 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 a0H($JEv@6mLnr?M(AR$Qxc1SDH~$YPvr^jt literal 10818 zcmeIXcUM!}_dUE5nt}o%MHImTB1O6)Jzi9#*U$+lO^Se_Ne`l82Z2a0S9+)dijUJ8J-Hz2G>)gd=Mo{j1@Ie*d0T^!58|*(F#c8(&I?%s zf&#^#kJ-mZls!mzulTPucKGvm?^nZ6PU-z_Cm-y}1kAK&U{8~tvpCVZG8;C$v3$_7 z5*-?HXoveW>|cRS*$fqzlr%LmG1x_`i>{0}Y`pHyZrWTLrS-2)Hqmp3V<-9IR~ICGP%|>KNrk4?)~WwB zk5`T?I3_HUG(6qhg1QY%S5mV3uz~qw4*AfR!-DZ;pA>KD44hwR=${K{>wh7E9N6Sb zzZ&$L#i=PISYns)cgMHm2o96vfDD730PzcY7v_=IwVdAGyx9N#1YF{R4ks%my4XP! z8Ak3mlzW$>74f2V8eLG})+C;uKeqG^v5?U+dp`I8LQ5Ab>k;kiF(&?q{w!Vbu0(~p z61?Docgme(F!$^%W$fpF5GPmfYX-q{O(kN=2MVrgby*F@!+Cp8e|r4*^YhBOi%BD8 z_516o{%uJ=h?y^S)JC|$;98@P5P`a2zkown^uPUbH_d-?7aZ%O(PJHJ8*?wig$Is zZk*wivwQR4aD)ZgnnBob|CSZ$m7Xm_9WqaSZ`aUokt5kvyD?~h?s}U% z7YB!XUvHvg#oHNLA}ag=`j+lsL~wWWHR902#OSlnb5(D}c$5Smc+-riIeB3oi^5zS zc0HLIz48+2CiBxK?#DZk_9wonMx74{+rGs{R#lP|+u2K-4>P94qexkyWqVmg zMi%siy-OKA3;F7~KG~UBK3W&I)S{x2qD<{#9Xj^H+}z~j-6ERwyN+K?`u|prB|6t@ z@TYuxS2CXzqju_jYgF`3A*LWW6+8c*si`u$-mj0ke2^>|45}9%1H81%P{S`?JhQ-b zz2=7#A7`^}uXuT_KhZhI&}HLjq{Y}~j|m;?csBT*0y>5Bps01tli;=Gm9@t%FZo$5 z#C7hYA1A6~=naSb?Us6hT4@+WsPf9jKB=6qx{?~Paj?}Vw;O%Xu#ei!3iHEkauplc z{cAJBvq^Z4C{0?Lzoc4edxP1L=1x&bEsa{SsH0%nAQ;1`CR_F78|K3np{joo0pPJ> zaANR3d48l^6*cf_ZJFWLBy>&?%po4L2ur(|_4I|YJivTlpgGxtC=BFfU;BeIL!t9| zF3#sJUwO;Q4dLe)%k-ShSl&&_;ch>=Q&??dDz!*5e9>{R~&I_NoOJYg%Fy0yaH)qe_m%*{|g{^c=pjEyadD%E4d*Uh+fdp9M zmW&&jRRZ!O)Fg0vJi@9W<(+BTP90WKaQEF!3n>|yT12WzvOD2@`!0u~x=T=;VL8~etn$PhNu+lTzNKQcXIHmTtj!siH#4tSZTp>B{* zaH?13S2-H4V^a|&1CAJ$F&k%s?Fvuv(?Vko@Q#@?`pT@lW!uT}ZIJ6>>nU2SE?VE* z4)yYpILjV|=NT@)&1szs;hG|m1>qxajxItxXvIoKMvr7IBb;EoMabtVnUfK53 zX$bzPGHXDzAhU3il8mcR+}!KPU>?-fI2Y&3zDbPH{(d9gkAxLf!{fNqbuF${I+u;5 zUN{`B#$4{5P*K*a6fL*^qjgpq%-w|orxBa7VVw4YOI~B6#j}J{a#I0!YQpL7?|!@8 zmUv$G2bG3U5Kxj5Jz|umaHECR8@K)|e{3-a)%phuaaggt_{p733ENu?1p<#Yhiica zxky0u#NTxKsgC7M^zK^txT|V4@unH3$Wv|rJ@2LeTOGh}MJsdt_R)PT4SLl8 z$-N_`J%o;fuTk?w_g4C_O@p!x*4M5M>Q^DK;t~=R9r)o#zhVf& zWd-sacJ_Eg63=Rcw0(XsX2e$PyfTTKBm?s7OnbC)u);kF$Y|_$8IRpuy^u2N7>7my zeoe7s?YpeYYzoE9$lnhKP^Ew9APu;5>?|`H;1-IWZ(pC%cAV+Vl3T$AT6Jd~T5T

    #{ULO2f9@&FEW`3||D7vD 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 diff --git a/assets/images/wolfenstein/wall-art.psd b/assets/images/wolfenstein/wall-art.psd index 297c7bb2dd310ec7e692e24150f0e0b25bea2509..cc33a349938deef19835303de05e68bcc3a26578 100644 GIT binary patch delta 28030 zcmc(I2YeJo`~N1F>%AqHTzc=l_jc)*g!F_Es!~D{s$hYoDTr9`^!0u1T|poeDbjmU ze=jOX2?UYeMHErUZT{ccJrEHvf&b_C<8JqMXXYvM%rmpk%+5EQylg+M-Qguqd!cHs zcaF1#q9{8YQ@FzpzZ-GMn=p6sD%urU_I7;S-}=WB2<;vCB60Ut%3p;{o`anOk1$~W z+1c|P_yVC?<0aBX_3_SnPm6K}J3H#nB5XN(9^U~u-fF_1$Gc5}T4T@C>g>F-qQ<;O zZ~C^ogOY*PUd>Ze8PqQ3)3&9FjsKPWqJE=&>dX~u7Cza~vFyY1fvfusy1x8~dHoV| z*Y1;=>%-bDyGDfN^o@IC_3rH0u#mdOeybO5f3vf;Lp^^@&f89#f7v{I`IfN0``;b! zzi9pD6TfbMbieV*In^I*n-DmE_9vya!{&|J;PDB4C4b426W;kY?#lkxrw2XqcoU-w zs{CZcN8il}daTdv)~L&`yjW{0EpBj5`Qo`{ayB7cY{k*HK{i~~%?XAD@^(z50 zU;XNnhEZ?&R3u1Vf74|~f4bHqmWW#@{N(I@vm zzxM}u)`t^3Qa=8)Zu`Q}7Hfm#lP}(+zc>B7Tlw~er~J*!Q+|5;`$I2&{A=e(vn2TX zCG*n@i_V?;aP8O~6O`(KhLptbWVswN*t$VZUtcp!d{lJiB0h zz>}Z1e1G!QhH*7bokbPX8xvw*yEg61;hVK@e0S8&Z-B*%S89pm1?iOC2dTvDLbHR8 z^#uo<1zqf6^4dy0~!S@w$Z?P4sh zVmECJ#i}#%@!>;IjHtu6tQX{3UJ_?PQn_rGn((7)#*7<0vaNL}E=87b5gkCheku+n zjt!h7DjC-lZxWHjn?oe==CG1tSxKlFso`ys1h*s!SV@H6?UL*uY0|P!#BrqZeJj=}XoB7;xvnDq6A3A(!|1r+2s75*`^E5JpEtMny6a_E8aGOoTQnA|f(6IwCSMB0QWNJ|W=| zOcXyd#K*}sTj}R1)3_R4UA=w$`~yAx1DOD8pf(^dFeoU{KOitDFfagDK>-22jGx%o z*UQ=9tdY69>9PWiG67#85c2s#fkLTLsWlpPmxj_>HH?-P;8v|ts~HtfDVGQtfrC(H z^a>Q@hI%OkLZMZ_2*o0`Ql%zzI!4QAWLlk$+$iKKrBcO!L?9B1RPG@eqP$Qq6^H~Z z8-Y*&VxB}Q(=Z?uYP4FlL?RPg1(fgx$w9|SssjlrwfQK<5ffjXh{w12mvLy zA;fc5DClB~l9TWT&5Gb@0&idsXP*p1XW!_Q^xU%i_Ok9wXLuVDnS~AZ3j}EzAmJ0+FHO<7gSfMYHRXC zMKTGgC{c#Bp}-!OT$50OpNTahYU`?mH8u5-D!Eq52-xDpl=u?s{vou78aISeq!I0f zQ4O`_y1Lr>D3x3zV8o=QkGekQKMI<}5+bkIfhYkEXdTw5Qc z)2kI)AuLVdu(ix}Xbw>#iO!MH@uK?ntq~X2)&=WyTBQa$ux&ybgC;UzyBnO_B1?{X zh?P26Q5#lQU*}L>TN9*X^puu#dbTj>t%6^KD(D2e%QPse(|VNktrb_)Rs|4B4L6F2 zSmXUJ)Us_w+DM_*J0jn+yuMD>P*)kOqjAr+<_(M%s3_@*LNq-kW%L3^M}2f-eWOEd zbzLM>;AsS;GmxeLD-?rG1jHUB)gD8R6=s*|9QBU6$iC&(lB%k@2(WjAXJN#!85pA~ zj4cuq)!~Y?P$E-6Wvw>4skl~DU0WB0J4YQ`M>5WI32$Ir5?V2UNW>BaF-vs+!ZJmD zeU^bW5^+Sf&!Gf6ia`;Qg3*bLw*sLOnmcEh%f)#~)jn(kz&ei5fY_ZDNySo;L@Jeu z1h^!lgM&~c5$hR8o?mrnmMCd(-!S-&QrkuPzt}1h$`x{jLMfLsN|8b?S4fEwh{K7+ zdM8JHME@b-;u-y`!?k*)Qh`BLf{Kcya@;7CjDo^pr&KUXfkG~oiXfj6L#hm>j;tR# zMOs;26|Pf4Ik00S0B+NSz{%UQSlLRvC+7Tp_y1^ zSa4{dn}@fzuhG@XBd@&LwK69)*u^*4FE}V5C^{-WJ}x#kh8*M@V~ur;!CiD*d~9rD zQhaP=Sg60Rmv?MlnW``+KGZ89G|)F9J}y2oK0bkob&89LiH?p1bzDqTbWCP!Ty$)j zDK<8li5JDh__68lt?_o=8b=T}wYiQ1>Us(72uCA@EtE;W9s;R5N zPfZO|tpca2ii*n0^2F4_;^3sBf`ptDpP-!l654Do?$g+}qNcH5zs3O*Tbjl_Hh$b= zW5^2GG%&&}+bc73{H+SI2;wmtRaQ&UC{HK*%?6N37-v^+Hy?L)22;$e8S`@QzlQMr%app_=KU=5tyctU_1eFbS&a& zPlVesh?z;?9ZE&8M#hQhqUf|Amb#`xsnk3G&j={NDICm$bH)~Bw%wtUFrPfea!U0ycm ziN~LuIH5Eze3-eYvb3zU&^(A%;$es009OtO^7TR--4&z>B=K|r8&C(cadiM#J4>v5v4D>NQZ831XbeR>gx{(gY5~G>rBbaTV-p4|42V`fPvYe2 zElBiplVbts1|K7x5~BrTct&lf(J*S6Mynwqy-bGjK!HadA7PBb#V?+h!gH(06%K)kaPz` z^=jziz$(q~5l8d!0JQQc2OQvoXbabfkyTzn89Y;vr;4Nz0#1$uzZmNs5Hdoc>wE=C zM*Yc|R(d9;yA|ens~pHJm&)ecyd;tsfjzPqJ|+Z2N^Y?(r@&jymL|Np3sOKtB(cm1 z5wQj(WcYjszAhmzkC&O3rR}=Km*m>fe9SIbi#Xu+244s@9Go&tnZo3}3^n1@W#i8B zLxjO6YjH@W9J-(x&oj@IElSMIGO%h8sdjumrZ~7DI$vikgvTI}1LfV*GDG<;!P%}v z+;zT?W(|Q8Lu`7TJFx}>g=c=So5O?@9}P=uj|M>O%(q8rP;#~AlXgHN5#a0>HAIz> zk&OubmT827Yg}{xj$%+62Tz$^VA2&7r1;^XNfY}KUK~HJvZx@6;S7V@5!HBsMMe3- zg2Iwug-j#q5=cmSA_Q`gOL+W2^x|JoWF3uMv z=9jVrYNE(>*6=?=breD9s}3$JE!L$MmW63m3N<>AO=r)uH8u$&!@( zvLG#{1_&BiYp~6Y_MinR-+6qD@+o(rKW1t8kJ1N`7o&udKcS#FdZ>7Q4?{! zO68cE?kgKrlx);!RB|;@!PXo^<7+4@WSdaMXdTqvX+_Oab6JTu2<4>n5O<)tuF4aj zv;G0o!NX6d1YH?OkiLXYhl93?*&B(AVPdY0uaZdzwp{t9;8mtZQf=Y@D zl<9@Vej2S>j>;12!Wyg>-5L{68!Q?Sdx>Zzs2tS(Ma4y;oT4HhwN|G=y-87q3@hMG z{GHrMBxtRf>0jds!K0G~o%K!#*L4P?(LV?QiU;E+ad&lfH@dsI zd3gC+-IOkn7c*C+302Uu@4LlW zLPJ7BLjwH#ypG0EX!(cux{A;BJQ zu0A2D8H$wjC{L_Y#)bul(BToeCMMUm8qzlA9G1Us#Y|U@cVS7Zem078K;?7Zl<$&zi5!GvSkK%FD}%j7iV% ziONXhr^I@AC#Eu4ip*Sdi7DS)R$5yANMqSR>tNbAXz;)xLk0~n53KDsc<>{&1qDS7 zbtSnO=^?&}>6+9~=g7>;vXYYGx~7VP>bADlR;GS9D>V?VX$)8I_$v(j~RW7|1H4_X&!V1yP8hWynoWf? zPFDpPEE%~ye!8Se!WRd$k;t6V8O&OhULJ~hG+fOf%V!#I}Y6fzm z8f2o1R*5~XtWtZJi2*kmDz5X*%oU|&`#Hh}Qamg;N(Sl>>1Z%nC&zWEhHxXY@c}1^F(otEAu%h>k?_Y$1qQ!-wsK&u z?=w&I$G6Hz)fWB(fW9n-lxWt?)wP94I0rL=Z)T zQUZgLnz;o;HHeZ^(_Kj!m{rBP5mw!ZS%_K?jWkax+y~*?FOQ4ehJ~6QTfdA|ALyFtH7}gu;*pcF-Us zFDFHvlan9js5PjFMInc{04Yf9MoIo4mcjFyWFT863(d>UP-SH2hU&Ej1$oG_EpgL7 zSxFQP4kDB$6oidHsdf&@$CN5PCl{-=&N`h{#v^TigEc=i5)TC^Hh?IL*2cjO&KkYJK-4B5RDdx4 z1D&S}-3rFR8k&M}aWI7B7n)?rxkX{lj(USLF#;3@JFeC3B$8`r6ykHRgR{}aIjq2x zs7S~z3~_OGbaH|tBa6f{I1#%+6)O!XR`hVrXmSJwj$!$^Ng~hWWCRFKS|}SgcaJ!WnxE! z4u$|aDYr?IUtkI#!VFUAPdYlNp_M(F>;_UO5EB|HLJ=23XkLD?E;$DjMuXNss&w;< z$PkpQHIOWm!fd#eDU>AGaSk=*WyzAV^8#Ir&RQqZHVm4EMldOLXKhA&>Lx3gN~tFy zk|D@s%9f<$n*0$oxj;eAzlg<&2n-}d1Q}}BkwWckMLT(AJxF z>*jD|N8Ft+SI~GYI9rVl&R!X&9FZw6I}jn2E6k?`ck(6fLS(@^*j~%YwaO%F@J4fm z<(UffxjCj_1EFI*obAr6b0CH#9%#kbgds>uI)_xQ2AKD~K655~47oa%a-MT*QrDCz0V* zlQY~stROXAm1~N3CGwrId<@T)(c~!udMh3!#6O8y1jIA(LFbY?qLyw5qcrj1Sw7_9 zhbkhEkSZ9N8e^9Vt5}%VVxd`zz+1+^%VbD`{~P^Gf$^efb6zlFY2uP0;0wi6Dum`F zXvHL&)?#sAqtU6smCaOw63${S4HOM4&JA^PMv!e~Cmbq`RZHo(1Mi+drBp!{giGak zFYXdjP|@U(otYDC(8|aw0!$w;G1uyy$XrPSaU@)4KuDTRtJW$NDut9*YFsejl;&69Yyvb7O7&%|93(CvR_Q}XFg`oY^ zj;Ij2IeZS*HoB5!Ka|GGqKCVi)m>>Y7!3-&(#ar~DT7QoCVpB*x`&*WcWH!V(%?xV ze0O_LUH9PGNU$#H261|uPVeO6W^`vfr5-5Y$w~3Ff|_yDxV!rV z!182$-=KF?c&6v1J7s63dm4=%u5M7y#m&nzCC(%`FVO0xWI1_y z8ljDoXHr&CChMzu1J7^wg->?97a;?40cE%&e@gY*$=oVXl{zh2#w6q^DHY)z4;a|LY2d)7{!Igz{&r1G*8ZBhe*K&J53H>+7vz@J zW+p@%BGNQLhJ)#wYY~Y|_!-ozY`smP+bj$EZ zhmRQ1I&v7(;yYs4(AL)G)|R$W&5z)^dF03um@*B0WO&<%;Uh=3wmv%KkrCqrEx-Nz z+tpvLGQSD0{d(p1-+#Myjk(%&O?vhB>$v&-_g}C5_AB$7?&|N?e#PCjtG`~o_QxN; zU%mGG)nE3CTd%CSbn@(plV{F$ospbAbNV!W>deJU7cZP;&hgHlzi^Sc&~;9J>hzgo zoku!Po;!Q?%*hkX8Q%HhUw$R6{jFpF@g1?n+m0VU!JHJHI(_oQ@e?OcSx<{kojP;& z%o!9u&79F6oBi_XrLjo~|2}i(^r?@=pWc7^WXF-6X??C9|M8o+m9N+DK6?Df@nc7h zo;Y=+^XT!z^be=b9656A?3rUHj-LgOQ!^g_{_Oj)t5<$|?8K?#-)-xRK5_cQscoP? zd1|lY4=Z!qhkRMLb#P`@`>sLpb(?Z?-#A&Fp7>?Qz~oG#!>qC2o;&-YQ*zplx;bx8 z`e;;}xB$sp(#o%%I=xSp5EcDF-p+(|sS_>#t!;iK?%RL8M5nBe{7?St&kT6ac<#)Z z<720uKX-n9^cU-XTw7K5jiq6|dL6iK3M{{R=FGSHb^l3w-?T0Ei!b`cy=xl3EOBK- zsd0Jqs*2af58dT<;q2L&^giaCe17`bv*!-xmY=os-KRdzoTkc=4>|U2MYjZyi z&vjltzAE6&>2c`^pL^B&(n}M+sQTAOe%US;&z>3k1anSve!fS3-ll=A6DPgg@A%k; zGpEn2O)I{5=IqH8=Z>sBu(Ey8;gt&)cKpyjF=o%l3zr?jMAWnX_QQoU@*BIDO{F|8C{wTsU~jdcpHNQqRL3&YfHH`Kluqh^Jfx z`Pa*qojrHqB5s%q%sJ}3^_-Y^!Rd29pEa;2JWcsNm zCgEM$BpR1f>1mTDPp6-r!c3M-n>J+EJ}nufY6rjDuc>RVsmSXbY-zPi4;3U4xN8yl*tDy#d})iu=j zZKy0SuO6UlI)Cy4vBLQa7tWo%^bgKmGjkPnVE<`SOKJ zS1$i_@%)9$mr>~QrE_O@iU*%v_`~-d`}cQrFb8R6N5{cK2M-?TIQrv{M>-E5KExbx zIQqkpAC54G^@k309NM${o82gRxbwiig9kef?_IM&ZNBv7_HS23n!ebxchBDM_wC#N zJ+s%kUwGia{{06J>_5PCI3EDRJyU1x`#3T->bd;~4jg=APAL zSva?9^LKl8@BNP6{mtI*zuCQK@7KHcAKblrFX;Aue~{^L-1pSjogM#%Qz8mwpIU zn$*1YaL4QVxcF6lro1%njbTG2xg7@%t_Uo+wEw^kNpxuVzq8jzFHRgo&)Qh==$xo6 zFU(GC4|~~Ud8+Sg#?Fp|dxlS74y)e_U$kWJVspjT*_BIG%R3Hse4a+=H)$5nNqjA9 zP56R&Rgte|wS5{hFSOA4)9^*5FSQO_=X&(;A^NdhFy*_+hYub8GNY*D*~;yz12FNj zw89ey4sLTgxH#j@;B@``X0tCn_lc;K*iYRnJwJ~9tn`J~z0(apbaph4J96ak;kRA0 zGM3g28$E7j&7S5;h+mSH`@_MG{qqlhx8#2oeE7lc&)$Fkf4+UUHFD>hAAI`Firp)= zefOVPh9gHNj^EM=@n60B-n(Bd-nM1M)|DM!y$hp!9+}ZOf9K)O!x&sUj~wYdbg1(P z-4GS?43cnpanWxa?p(W-hKF{8)eJAUl=(c>mOF@DV0G2r-)+l8~H$ z0*S~^OhAFu47N++0r-~=Ns~TFlG0r!l$I3~mX(`}$}7l5gTg{{d7qM^Qgc~ZA8V<5 zMW2d3rG=%%#ib?YQmjZ~DY~+(ysWIcs<@!gT*I&J+<)Y7Cvzl(SmOA}XUzYh+Ca-uiO=wk=z? zZoy&QCfKrh)3&d_{)*Y5-nnDfuAN`**tu)hjvYI9Y~8kf6SG#nb;tJYJGN}vym{;P zP4gE?&4-q?fAMi>_J^z2tYOxLuV26Vi`DBkuHUeJQ8}{n}+KK20m`SiO2-^qbF=FJ7}|)!MZyzgV*t4A!hzwSLp;wHr2W zSi5c=SZv-fYS`zSXGg#PM*G@zn>H-_bamK<4eK|2l2+Qee#2s?4R5EvR=1$^!>Z)u zS3aqZG{2vmGJRc9eDwTfm9eSYQLk|W+qZ6+;~bmtal!Z*!{-bdpva)NZrc1&T1n^T zO-s~Kp%HVk7DT-lGm>6xZkigl`045KZ-mXvetK-hY|mX=w`>^Pwr$(?mqXurZ^L_q z<|UKM-_?AydE@5y)69oAZC>c~{`7>|nG3?-dc7?2ne<2AhlZsfp0It}ww0;*TPKw-Rd3lyZ`k}^ntAu8ElZ7?-^q9>G~M~F!6gCH$3&&X z{Kvb(+Y8Q{8rM-!^2#&K=vfSv;~b-!E$#KKzNw4MR&eZ`%BBTH%+Qw`_cU z>)Q9%yz}pWt$pLw*Ve3mWq8E0=Pa+U`Ebn#OV&R>&A4M{TkDeT+qQ07`SL5TtbBLr z!VlU%*}ih_=FRk$57M%~ez|?ywyoQD?nEO)#ExB+QL#@VW$X4G+qZ5R7Z>;9j_sc< zMT?{QTeof7j4$z$%^TLQ`t$>@)c<~ta>xSZmpixb*tzrVH{RJmE_UtOzI8|Yn{Qip zIl*<{FgPHGGzHvi%U4_4Kg9aWD6D1=MG%NZ@0ONPtu2W3n34WuiF^34;mvK$t<5c? z$KlkBwf5oUrUm7P4j+#7?~wzY($bR?lM~{T5>pV1CnsU~3?X|)N(z%IM(4{&Pff#@ zNf%|LrKY7J%ultZ*d-@2sl4RW%xsFH2{OQra-o{20aSl%MsKDp)JxP{9CN7WsTcA4 zJb(|AsHahM2K5Xzg_@4@3~DltXQ{`jS-6^pt0w?jm`RPJo<#0MoF}5(6y(js?^KkU zK{Ze{R2G#@<=`M^_9LJ&5fScW9LXWxN_B43S z!Y|Q*98ZGlR9sDCrA&ZKqT^(w5gmy}lc}eWNA#VEdm87yR3C_pXLZPAbs##CPsX20 z45kKCtx#hQ#J-I4EEt7TWG1Tm3>2A3J%`_CkwcD|>^;ewfzPwZo5?Em3>2BhiYLY- zsk5Ne9IBD3M6EL+lo){s&$9hy-&Dd28}tLPLr8;t`9`#l;nv5Ka=qj8_mn$J+u{Q0=~isA zyr}lb-?XIrp0l5xO@27lUdB$jUkIy*nF!s~O}W`}SnX~Rmj)1?_naN|XmWIur^9B8 zoyODBSn8kmOZP+0n7ArGTUrEG_nAHQWb(wZ>L|?vtB0IOajXK$%$dJ*-)~ZN-#Hb> zzh>cB1z@}2ND>XhoCNU+wdgzE2j#F!SN#f;h-iqGARhALr zb(T%#g|Q%B{*TZVY?vr*)>bzvNm~h5^a?;@Gj>^(IrVb4Zsp&=G}wN0e=N-kuI3+9 z6-5x?J;K#+-f8)@sw4|Sp>S_8Hh;SJW=omg(=xK!AMUOEyvMj3o7VrSHpjuz?Y+R@ ztm5i>v6>i6w4?`koIBt+i#Y~aHD)xj6r%qTn$ylwkj}i>avrr^T@#3&A$hmwc%2V8 znP+Q?p|o_zy|Fv@g6?eN7^Kt|gkJ6zuli>g&pM7^c5NYQDOuW6NRO>uI%*5ikHkyv z2Jaz26zo*J7rMvhTfucEG6;O$W2Db5mlAEUeCz08dA-gDMiwvcIsC^ad23w(d`h;8 zK!N@l3G~IywpDJjxI1}T66-zFq4&xMfd|=)*S|g=LzrZF51>M~BZX}0FRV95!Le8L z5H)0b!r3*LG1e!kgxE*>{*7LYE#2k^-0uE3-EdfU)4x37_&*R5RoKqw^62fEL7 z3&_&;N?$c&$FtY?uVT(p=RWRE_?&|%{S!ioz7wLvsfJ+2+AaC~LBL8jy$A!{=XZrI z-HuwK?*?1CjfH0Ug8`UstA>90eV|PAO)S&jp-i`F;kx{RKuuhiVQr~ea(8$WeLs8? zfj4pSAD@-_Z2_1r5h)>4?DGrQHwpvW8>y;|SlpCEa(vxasA48;+H% zxtPp?AMPCv$Et~C^|$vqy?dR*v0B_*OjaQt?$r*<3Sl4r8HhQ^hlu7hOCo#uif3hkP}}saM!iNNReQ z*F?Q|OT@AIPfH0F6I=!k=x2_N48f8zt&SVF^@Fh2goM`UEUH9{X1 z5grj477>R0aAZfu#F_gKdW7S2p`{ohqCK60}WjLR6rVV4s(vIY_dms+~ z1~}x%;7IysEFEr`RgMcJ)1tR~g+hGqrZ-AvS?t_BEpx_^MHbnn9zzp1aLRu%j!fpI zOYeXw{sT(U7H41S7R<7gL3;RjUyOX>g}sF?+8U{TJW)cqpyx2gTPQ}Gi_9CJkLrsS z^%&7;lYDJ_J`@+V_ZHn~6Ki@bk63TX-H?v=20C)S1_w~iv?x40Eh``Mgae6|78myd z{%EVfk;h8Vw?s>N4TZEheAEQ84lG{WTU4ZNK$|fk4=W;)r4NFTw6XYhLLpcvKD!%Q z@}Izxwnb&HiJ7DoKj|%S(zfz8Y+^QAQL?qiAj&^6lpDETv}9s24FwkW9#3f-D=&77 z_qQ*U%at0pC5=`}+;6!%*~z|O(f)bet_ymCxTOCMx#U~~%MI3j@|8X+{QXKhjo-?B z-+#aF<8J3g1dZ8CFs99M$*fec=nhyW-4k4IE&;G=8vXD-?hnP;= z(}!3>vG76Aowq5$|LjkkCw&Ld^L{wb+gNBmdmzN;Z5(_)V6mTc55S*)!G3b@lvraL z-|amL^w#PG83FKF*3tKx-16Q`vc~XmTgwQ$jh2Hm-SSp;Kj=0y+b%PXm35}OX<7Hf z?KtB&dCv;W!*+!S-hIYyKI2&RndOgFhKJmU#<7|_i+$Jr;G5FOo-~ftSF_j!i-+5v z#<6mHmYv2w#9lRQRpVHVdX}x=!);sRSgm_Dn_Z`Ph%IbeSl8cZ5zICdRu8wEjnk@O zwi&bchuhi4aauH+Sp6Y4xpA!Qo+~N(rQ2!nkbz~1vG^0AQ8CfcQIS#j<5t*|5EaEl zi;;$%3NiT0T1>1cE+#rACJH+ktWl!Kh`5BL@?{UZ$~GykT_ru zS=cAR0}^1KRB}5w*|zfV`t$5&g0~+4sBGKJaPfJv2EpIZ1JE*%o3~+>ZEvEoUSMBx z&+k2cnR|FzUVVWmAY9mMEVHdG&%QujE21% z{BnP|^WD+TwonWU6tgV&E58=WOQc(h7W5VZZR-+AFOimzE$BTQ+Gfe;Um`0A+E06h zjJ65?krO_@S14(2-h^?S;vsgzY}!b z1I)E;q0Ze>fIcbttk?K!8-0tV0G=#a&?7ANZBT3*`C3apj38=%AXv6-MMCn5Dfe=> zzWsq9+MFTD+Sn{hM1ZH|$yWlQ5C(|{fooYx)x*@NN0Z63SiUpo5ZZl47YgbC*qL1<;|<}V=V@Lqt! zIr)T^#vbtpz=?BC!3uX;bRWd{y#eDk6=Ti4Jpd=QNJZ44ae_XcfF{|Pt0jfZjmUxDX6#GT*f6`Buv zhCr{q1A=aQH9)*V_3nMa==Z{+bE5>eYa;BUDCufyOZQX&Nj6fyTQU_!>B?L8zgn6U zuHt1k?=6cy@-;5Kc}HErf5`JALrqz7GsSZDBTxF5n|CCiCi%xH>cmmT?qbs2vwmQx zU;dKAG6m7eBg|jYZ!)`YI(@S)HtACzfYAvenE9GIhW|t381pq}o7-vw1uj$Ee>p<( z*4=mh|6ia!VlVK=+{gn=W1y+6}n)!{4>Zu+r4V^9+B(lqocwb)2%7 z^}l-bj$#)n`{1hT%M8z2Qyo0-FJ1i{Weu?_?YhC(b(Jz9RPe`t$(>5k);kjZm+#Z5 NhZ49d3r~w45 z;7vr)NYXSU1!06i2H7`jJYrgo5flt)lwB0eU~2v7u)hRDZfy{Fb(COJvYXqfXam1zj8V`Z9z6?7z8r(O^@d!He_bi z#&364v|SHUC|-NgIrWZG9g-CX`+c$CCxdNU;CE>T-ad>NT!+8o52nPB{PJ2$-5 zEPxT?T$wXIY1WOMq^w17Awt1tbW`dODVD0Q%(7a#Z<>$XkR17-`DiIxgyPU9^b7Kh zA}E&pZY1{@@*6w-97}w>oqyt)`ez=;5zj`#j6n(%O%Q+QtvuRDd|t?-{Pp+5*zWat zzlL}L#KT{F6kaQ4`p(DKN6;(t9=%^5ImQr=j}}AXM3Zb4(~Kzcya9z1z89KnBHm)c z48xtx-hB+eEwoWRHB2E1H95|H$R`BRs1WHqN{8fX;4|o`G72b4ko&i_ja|itlSdBdn%{Sn3oN*}1fVFt; z2N41;{vcAoA!%T5OIt74x28wg=;La2k92m;xPA_ctulNC!W$V86v4I?+qlZH-(eqt zkb77mVCT$mifrDD|KQ4EO{OtbEq2KQ^6@N4+btXHpHP@R0wsKQ1o#X82>cQX2OI^C zio(ltp!~8NSi2$@^fkG3D?}~0X)cR*9P^_pa%jPW#5i!wxDi?$f+1oZj-<#|&3L=J z9RKD+=vCE+bbn?y<05w!Z~e%JT4mOZ+uc2I_eb7BR|Ai45b)XKVFLEa3l;Dec^fDZ zi)NhT!D7V;$n*0PkmsV4Afh@6BG2W6y(%9%6LM;bi+FHp`qbnjgJGzh((SI zs<E_ zoW(0t3xpa!SJCa2reSxM#R=ztaOoW6A72K$JV4=h%AqbRHN72@bgX0LxK3?MNsIj} zfLui3rRV9FVs<*t_hfPBd0%P^JkxO#G48AcwdzXPf|VM;brfD*1@^`&C}GtF$fV%{ z*wLs5aWB;gtDu+}{jUgtfrJwibvU+qzb$;%e)Q z0#;m%{JHUn8`W8Ms!C)sJ4cVQ#3^LC{ro(cm9@>;(oUG~sScUO+n)R##W>E_bX>pQ zVPd-Bu%7IM$=-PbCcF8DF=I7;?xt}@%kk-(>#6cw(s8dZi=(=X1TDVM1)CJv4W)K= zLrFVt(MOeM8ZPi-vCFr{h+2H;+Zjzv$M^l@cx4X|zUYB%UeZg?jb{elwUEWPdg0Vw zeVbMz;YtZ%;5Mj*-=Xu7W#CCdcyb2_FMUTVh|+PmKZ`By0%7l6$VW@z_wRvS+y^+5 z!p{9*KiyAfBFez20W6LffIxp40P^BNz?BqUHw3f()euZr#Bi7}RqexI-!cOBE(#~! zrw?UvA}m_WV(BO=i0m1qvn7Og3Blz7WUG7t!(jCgUY^{C5YcrEh9rMX5elC(e$u)7~TUo%JT+AOkhAN;;$O?PlWur z6v^z5hL&p+ZPa zIiqls!ZXA1HS-D2v>IzRZG~{t(Iz;gdtgveJ{9u+?}qXj(o;T5I9~WaYI&-me1*v- zt;QbBP*4g}H^VGgXEyX1g#U|zab%6UN;GrypV|)oh4?9{nXFDo!n6Xh2AOzqjJeH7 zjoCHYYkbS{UbbM|gq5R6_wVXONOz{ J%dup3{TsKvNyz{J diff --git a/assets/images/wolfenstein/walls.png b/assets/images/wolfenstein/walls.png index b7872925a17cc823ece96dcc4405c28445f28efe..8103a18a32f2d84ade512cd23f8dcfc3fbc84e78 100644 GIT binary patch literal 74662 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

    l8% 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 Oxp?tplQiR#jQo1mv7JE{iAauw8K6*T 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 BaD4y( diff --git a/data/wolfenstein-objects.json b/data/wolfenstein-objects.json index 661e174..70b07b7 100644 --- a/data/wolfenstein-objects.json +++ b/data/wolfenstein-objects.json @@ -2,6 +2,15 @@ "_readme": "Frame registry for the objects decal sheet (assets/images/wolfenstein/objects.png, sheets.objects in wolfenstein-artwork.json, 64x64 frames, transparent PNGs). Objects are solid props placed on open floor in the editor — they block movement but not sight/bullets, and can't be picked up. To add a new object: paint the next 64x64 tile into objects.png, then append an entry here — WolfensteinEditor.js's Object dropdown reads this file directly, no code changes needed.", "frames": [ { "frame": 0, "id": "tall-bush", "name": "Tall Bush" }, - { "frame": 1, "id": "gold-eagle", "name": "Gold Eagle" } + { "frame": 1, "id": "gold-eagle", "name": "Gold Eagle" }, + { "frame": 2, "id": "nazi-banner", "name": "Nazi Banner" }, + { "frame": 3, "id": "suit-of-armor", "name": "Suit of Armor" }, + { "frame": 4, "id": "oil-drum", "name": "Oil Drum" }, + { "frame": 5, "id": "blue-vase", "name": "Blue Vase" }, + { "frame": 6, "id": "round-topiary", "name": "Round Topiary" }, + { "frame": 7, "id": "floor-lamp", "name": "Floor Lamp" }, + { "frame": 8, "id": "round-table", "name": "Round Table" }, + { "frame": 9, "id": "wooden-chair", "name": "Wooden Chair" }, + { "frame": 10, "id": "podium", "name": "Podium" } ] } diff --git a/data/wolfenstein-rules.json b/data/wolfenstein-rules.json index 394f4d8..f32cc5a 100644 --- a/data/wolfenstein-rules.json +++ b/data/wolfenstein-rules.json @@ -20,8 +20,8 @@ { "id": "fists", "name": "Fists", "kind": "melee", "damage": 15, "range": 0.9, "arcDeg": 100, "cooldownMs": 500, "fireMode": "auto" }, { "id": "pistol", "name": "Pistol", "kind": "projectile", "ammoType": "9mm", "fireMode": "semi", "speed": 11, "cooldownMs": 600, "ammoCost": 1, "startAmmo": 8, "hitRadius": 0.18, "ttlSec": 3 }, { "id": "shotgun", "name": "Shotgun", "kind": "projectile", "ammoType": "shells", "fireMode": "semi", "speed": 10, "cooldownMs": 1200, "ammoCost": 1, "hitRadius": 0.22, "ttlSec": 3 }, - { "id": "machinegun", "name": "Machine Gun", "kind": "projectile", "ammoType": "9mm", "fireMode": "auto", "speed": 11, "cooldownMs": 333, "ammoCost": 1, "hitRadius": 0.18, "ttlSec": 3 }, - { "id": "gatling", "name": "Gatling Gun", "kind": "projectile", "ammoType": "9mm", "fireMode": "auto", "speed": 11, "cooldownMs": 167, "ammoCost": 1, "hitRadius": 0.18, "ttlSec": 3 }, + { "id": "machinegun", "name": "Machine Gun", "kind": "projectile", "ammoType": "9mm", "fireMode": "auto", "speed": 11, "cooldownMs": 167, "ammoCost": 1, "hitRadius": 0.18, "ttlSec": 3 }, + { "id": "gatling", "name": "Gatling Gun", "kind": "projectile", "ammoType": "9mm", "fireMode": "auto", "speed": 11, "cooldownMs": 83, "ammoCost": 1, "hitRadius": 0.18, "ttlSec": 3 }, { "id": "plasmarifle", "name": "Plasma Rifle", "kind": "projectile", "ammoType": "plasma", "fireMode": "burst", "burstCount": 8, "burstIntervalMs": 125, "speed": 14, "ammoCost": 1, "hitRadius": 0.2, "ttlSec": 3 } ], "enemies": [ @@ -38,6 +38,9 @@ { "id": "shotgun-shells", "name": "Shotgun Shells", "kind": "ammo", "ammoType": "shells", "amount": 5, "frame": 7 }, { "id": "plasma-cell", "name": "Plasma Cell", "kind": "ammo", "ammoType": "plasma", "amount": 30, "frame": 8 }, { "id": "health", "name": "Small Medpack", "kind": "health", "amount": 25, "frame": 9 }, - { "id": "health-large", "name": "Large Medpack", "kind": "health", "amount": 50, "frame": 10 } + { "id": "health-large", "name": "Large Medpack", "kind": "health", "amount": 50, "frame": 10 }, + { "id": "key-blue", "name": "Blue Key", "kind": "key", "color": "blue", "frame": 11 }, + { "id": "key-red", "name": "Red Key", "kind": "key", "color": "red", "frame": 12 }, + { "id": "key-yellow", "name": "Yellow Key", "kind": "key", "color": "yellow", "frame": 13 } ] } diff --git a/data/wolfenstein-wallart.json b/data/wolfenstein-wallart.json index 2fe806a..f25f1fa 100644 --- a/data/wolfenstein-wallart.json +++ b/data/wolfenstein-wallart.json @@ -2,6 +2,7 @@ "_readme": "Frame registry for the wall-art decal sheet (assets/images/wolfenstein/wall-art.png, sheets.wallArt in wolfenstein-artwork.json, 64x64 frames, transparent PNGs painted on top of a wall's own texture). To add a new decal: paint the next 64x64 tile into wall-art.png, then append an entry here — WolfensteinEditor.js's Wall Art dropdown reads this file directly, no code changes needed.", "frames": [ { "frame": 0, "id": "nazi-flag", "name": "Nazi Flag" }, - { "frame": 1, "id": "hitler-pic", "name": "Hitler Pic" } + { "frame": 1, "id": "hitler-pic", "name": "Hitler Pic" }, + { "frame": 2, "id": "exit-sign", "name": "Exit Sign" } ] } diff --git a/src/games/wolfenstein/WolfensteinArt.js b/src/games/wolfenstein/WolfensteinArt.js index 83f1271..30ea730 100644 --- a/src/games/wolfenstein/WolfensteinArt.js +++ b/src/games/wolfenstein/WolfensteinArt.js @@ -5,12 +5,20 @@ // needs to change when that happens; it just starts finding real textures // instead of falling back to these. +// Type 9 is deliberately absent — reserved for DOOR_WALL_TYPE +// (WolfensteinLogic.js), never a plain wall type, so every wall addition +// here skips straight from 8 to 10. export const WALL_COLORS = { 1: 0x8a8a8a, // stone 2: 0x8a5a3a, // wood 3: 0x3a5a8a, // blue-tile 4: 0x5a8a3a, // green-tile + 5: 0xa87c4a, // wood planks (plain vertical-plank timber, distinct from type 2's paneled wood) + 6: 0x9cc2cf, // blue plaster (pale blue-gray plaster over a wood wainscot) + 7: 0xb0aca4, // gray plaster (same plaster-over-wainscot as type 6, warm gray instead of blue) + 8: 0xa8362a, // red brick 9: 0xb08040, // door (WolfensteinLogic.DOOR_WALL_TYPE) + 10: 0xe8ddb8, // cream tile }; export function ensureSprites(scene) { diff --git a/src/games/wolfenstein/WolfensteinEditor.js b/src/games/wolfenstein/WolfensteinEditor.js index df07a7e..7da02e4 100644 --- a/src/games/wolfenstein/WolfensteinEditor.js +++ b/src/games/wolfenstein/WolfensteinEditor.js @@ -38,8 +38,18 @@ const MAX_GRID = 1000; const MINIMAP_SIZE = 300; -const WALL_TOOLS = { wall1: 1, wall2: 2, wall3: 3, wall4: 4 }; -const WALL_COLORS = { 1: 0x8a8a8a, 2: 0x8a5a3a, 3: 0x3a5a8a, 4: 0x5a8a3a }; +// Tool id -> wall type value. Values skip 9 (WolfensteinLogic.DOOR_WALL_TYPE) +// — a wall cell can never legally take that value — so wall10 (Cream Tile) +// follows wall8, not wall9. Must stay in sync with WolfensteinArt.WALL_COLORS +// and WolfensteinView.WALL_FRAME, which key off the same type values. +const WALL_TOOLS = { + wall1: 1, wall2: 2, wall3: 3, wall4: 4, + wall5: 5, wall6: 6, wall7: 7, wall8: 8, wall10: 10, +}; +const WALL_COLORS = { + 1: 0x8a8a8a, 2: 0x8a5a3a, 3: 0x3a5a8a, 4: 0x5a8a3a, + 5: 0xa87c4a, 6: 0x9cc2cf, 7: 0xb0aca4, 8: 0xa8362a, 10: 0xe8ddb8, +}; const MINIMAP_WALL_RGB = Object.fromEntries( Object.entries(WALL_COLORS).map(([k, hex]) => [k, [(hex >> 16) & 255, (hex >> 8) & 255, hex & 255]]), ); @@ -65,6 +75,17 @@ const FACING_DIRS = { const WALLART_PREFIX = 'wallart:'; const OBJECT_PREFIX = 'object:'; const PICKUP_PREFIX = 'pickup:'; +const DOOR_PREFIX = 'door:'; + +// Shared blue/red/yellow palette for BOTH a locked door tile and its +// matching key pickup icon (kind: 'key' items carry the same color string +// via data/wolfenstein-rules.json's `color` field) — one constant so the +// two always read as visually paired on the board. Mirrors +// WolfensteinLogic.DOOR_COLORS' set of valid names and WolfensteinView's +// DOOR_COLOR_HEX fallback fill, but kept as its own literal here rather than +// imported — the editor never touches WolfensteinView, and importing just +// for a 3-entry color table isn't worth the coupling. +const LOCK_COLORS = { blue: 0x2a5adf, red: 0xd82a2a, yellow: 0xe0b820 }; const CATEGORIES = [ { id: 'wall', label: 'Wall', options: [ @@ -72,6 +93,11 @@ const CATEGORIES = [ { id: 'wall2', label: 'Wood' }, { id: 'wall3', label: 'Blue' }, { id: 'wall4', label: 'Green' }, + { id: 'wall5', label: 'Wood Planks' }, + { id: 'wall6', label: 'Blue Plaster' }, + { id: 'wall7', label: 'Gray Plaster' }, + { id: 'wall8', label: 'Red Brick' }, + { id: 'wall10', label: 'Cream Tile' }, ] }, // Options populated from data/wolfenstein-wallart.json once it loads (see // create()'s fetch + refreshWallArtOptions) — empty here just gives @@ -81,8 +107,17 @@ const CATEGORIES = [ // applyTool can recover which frame is selected without a second lookup. { id: 'wallart', label: 'Wall Art', options: [] }, { id: 'door', label: 'Door', options: [ - { id: 'door', label: 'Normal' }, + { id: 'door:normal', label: 'Normal' }, + { id: 'door:blue', label: 'Blue (needs Blue Key)' }, + { id: 'door:red', label: 'Red (needs Red Key)' }, + { id: 'door:yellow', label: 'Yellow (needs Yellow Key)' }, ] }, + // A mode, not a placement dropdown — same "no sub-types" shape as + // Patrol/Erase. Click an existing wall to mark/unmark it as a secret + // door (keeps its wall type — that's what makes it invisible until + // triggered), which immediately opens the same kind of N/S/E/W direction + // picker Enemy placement does (see applySecretDoorTool/pendingSecretDoor). + { id: 'secretdoor', label: 'Secret Door', options: null }, // Same dynamic-dropdown treatment as Wall Art (populated from // data/wolfenstein-objects.json, see refreshObjectOptions), except an // object is placed on open FLOOR (walls[y][x] === 0) rather than an @@ -135,6 +170,7 @@ export default class WolfensteinEditor extends Phaser.Scene { this._validateTimer = null; this.selectedEnemy = null; // an object reference into level.enemies, not an index — see applyPatrolTool this.pendingFacingEnemy = null; // an object reference — the just-placed enemy still awaiting its N/S/E/W facing pick, see applyTool's 'enemy' branch + drawFacingPicker + this.pendingSecretDoor = null; // same idea as pendingFacingEnemy, for a just-placed secret door awaiting its slide direction — see applySecretDoorTool/drawSecretDoorPicker this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x101018); this.add.rectangle(BOARD_X + BOARD_SIZE / 2, BOARD_Y + BOARD_SIZE / 2, BOARD_SIZE + 8, BOARD_SIZE + 8, 0x000000) @@ -195,7 +231,7 @@ export default class WolfensteinEditor extends Phaser.Scene { campaignId: null, missionIndex: 0, width: W, height: H, cellSize: 64, walls, playerStart: { x: 1.5, y: 1.5, angle: 0 }, - doors: [], enemies: [], items: [], wallArt: [], objects: [], + doors: [], secretDoors: [], enemies: [], items: [], wallArt: [], objects: [], exit: { x: W - 1.5, y: H - 1.5, radius: 0.6 }, briefing: [], }; @@ -321,6 +357,7 @@ export default class WolfensteinEditor extends Phaser.Scene { const select = el.querySelector(`select[data-cat="${radio.value}"]`); this.tool = select ? select.value : cat.id; this.pendingFacingEnemy = null; // switching tools always finalizes any in-progress facing pick + this.pendingSecretDoor = null; this.draw(); // patrol-route overlay only shows while the Patrol tool is active }); }); @@ -329,6 +366,7 @@ export default class WolfensteinEditor extends Phaser.Scene { el.querySelector(`#wf-tool-${select.dataset.cat}`).checked = true; this.tool = select.value; this.pendingFacingEnemy = null; + this.pendingSecretDoor = null; this.draw(); }); }); @@ -349,14 +387,24 @@ export default class WolfensteinEditor extends Phaser.Scene { const w = Phaser.Math.Clamp(parseInt(wStr, 10) || this.level.width, 4, MAX_GRID); const h = Phaser.Math.Clamp(parseInt(hStr, 10) || this.level.height, 4, MAX_GRID); this.pushUndo(); + // Growing right/down (resizeLevel is anchored top-left, so only the OLD + // right/bottom edge can end up stranded mid-grid, never the left/top) + // must reopen the old sealed edge, not carry it over as a now-pointless + // interior wall stripe — same fix growToInclude needs below, see its + // comment for the fuller rationale. + const oldW = this.level.width, oldH = this.level.height; const walls = Array.from({ length: h }, (_, y) => Array.from({ length: w }, (_, x) => { const border = x === 0 || y === 0 || x === w - 1 || y === h - 1; + if (border) return 1; const old = this.level.walls[y]?.[x]; - return border ? 1 : (old ?? 0); + if (old === undefined) return 0; // brand-new cell from a grown grid — open floor + const wasOldBorder = x === oldW - 1 || y === oldH - 1; + return wasOldBorder ? 0 : old; })); this.level = { ...this.level, width: w, height: h, walls, doors: this.level.doors.filter((d) => d.x < w - 1 && d.y < h - 1), + secretDoors: (this.level.secretDoors ?? []).filter((sd) => sd.x < w - 1 && sd.y < h - 1), enemies: this.level.enemies.filter((e) => e.x < w - 1 && e.y < h - 1), items: this.level.items.filter((it) => it.x < w - 1 && it.y < h - 1), wallArt: (this.level.wallArt ?? []).filter((wa) => wa.x < w - 1 && wa.y < h - 1), @@ -373,6 +421,7 @@ export default class WolfensteinEditor extends Phaser.Scene { this.level = this.defaultLevel(); this.selectedEnemy = null; this.pendingFacingEnemy = null; + this.pendingSecretDoor = null; this.metaName.setLabel(`Name: ${this.level.name}`); this.fitToGrid(); this.rebuildModel(); @@ -467,6 +516,7 @@ export default class WolfensteinEditor extends Phaser.Scene { this.level = { ...clone, doors: clone.doors ?? [], + secretDoors: clone.secretDoors ?? [], enemies: clone.enemies ?? [], items: clone.items ?? [], wallArt: clone.wallArt ?? [], @@ -476,6 +526,7 @@ export default class WolfensteinEditor extends Phaser.Scene { }; this.selectedEnemy = null; this.pendingFacingEnemy = null; + this.pendingSecretDoor = null; this.metaName?.setLabel(`Name: ${this.level.name}`); this.fitToGrid(); this.rebuildModel(); @@ -510,7 +561,9 @@ export default class WolfensteinEditor extends Phaser.Scene { 'Right-drag or arrows/WASD: pan\nMouse wheel or +/-: zoom\nF or Fit View: whole level\nClick map above: jump there\n\n' + 'Patrol tool: click a guard to\nselect it, then click tiles to\nadd/remove its route nodes.\n2+ nodes auto-closes into a loop\n\n' + 'Wall Art tool: click an existing\nwall to apply/remove the selected\ndecal (yellow outline = applied).\n\n' - + 'Object tool: click open floor to\nplace/remove the selected prop\n(teal square). Blocks movement,\nnot sight or bullets.', + + 'Object tool: click open floor to\nplace/remove the selected prop\n(teal square). Blocks movement,\nnot sight or bullets.\n\n' + + 'Colored door: needs the matching\ncolored key (Pickup tool) to open.\nShown as a color-filled tile with\na dark keyhole badge.\n\n' + + 'Secret Door: click an existing\nwall, then pick a slide direction.\nKeeps its wall texture in-game —\nthe magenta dashed outline +\narrow only show here. Needs an\nopen corridor that direction.', { fontFamily: FONT, fontSize: '13px', color: COLORS.textHex, lineSpacing: 5 }); } @@ -609,6 +662,23 @@ export default class WolfensteinEditor extends Phaser.Scene { } } + // Same mid-pick pattern as pendingFacingEnemy above, for a just-placed + // secret door's slide direction — see applySecretDoorTool/ + // drawSecretDoorPicker. sd.x/sd.y are already integer cell coords (a + // secret door lives ON a wall cell, not a floor cell-center), unlike an + // enemy's float x/y, so no Math.floor needed here. + if (isDown && this.pendingSecretDoor && (this.level.secretDoors ?? []).includes(this.pendingSecretDoor)) { + const sd = this.pendingSecretDoor; + const dir = Object.values(FACING_DIRS).find((d) => cx === sd.x + d.dx && cy === sd.y + d.dy); + this.pendingSecretDoor = null; + if (dir) { + sd.dir = dir.deg; + this.draw(); + this.scheduleValidate(); + return; + } + } + const paintTools = new Set(['wall1', 'wall2', 'wall3', 'wall4', 'erase']); if (!isDown && !paintTools.has(this.tool)) return; @@ -660,8 +730,20 @@ export default class WolfensteinEditor extends Phaser.Scene { const walls = Array.from({ length: newH }, (_, y) => Array.from({ length: newW }, (_, x) => { const oy = y - padTop, ox = x - padLeft; - if (oy >= 0 && oy < lvl.height && ox >= 0 && ox < lvl.width) return lvl.walls[oy][ox]; - return 0; // freshly grown territory starts as open floor + const inOld = oy >= 0 && oy < lvl.height && ox >= 0 && ox < lvl.width; + if (!inOld) return 0; // freshly grown territory starts as open floor + // The old grid's own sealed edge (forced to wall type 1 below, every + // time the grid was last touched) is meaningless once growth moves it + // into the interior — carrying it over verbatim would leave a solid + // one-cell-wide wall stripe running through what should now be open + // floor, exactly where the old boundary used to sit. Only reopen it + // if it's ALSO not the new grid's edge (a still-on-the-edge cell, e.g. + // growing right leaves the top/bottom/left edges as edges still, + // legitimately stays sealed). + const wasOldBorder = ox === 0 || oy === 0 || ox === lvl.width - 1 || oy === lvl.height - 1; + const isNewBorder = x === 0 || y === 0 || x === newW - 1 || y === newH - 1; + if (wasOldBorder && !isNewBorder) return 0; + return lvl.walls[oy][ox]; })); for (let x = 0; x < newW; x++) { walls[0][x] = 1; walls[newH - 1][x] = 1; } for (let y = 0; y < newH; y++) { walls[y][0] = 1; walls[y][newW - 1] = 1; } @@ -670,6 +752,7 @@ export default class WolfensteinEditor extends Phaser.Scene { this.level = { ...lvl, width: newW, height: newH, walls, doors: lvl.doors.map(shift), + secretDoors: (lvl.secretDoors ?? []).map(shift), enemies: lvl.enemies.map(shift), items: lvl.items.map(shift), wallArt: (lvl.wallArt ?? []).map(shift), @@ -698,12 +781,25 @@ export default class WolfensteinEditor extends Phaser.Scene { // "every remaining tool places on floor" line below; a click on a wall // cell is simply a no-op (erase the wall first). if (this.tool.startsWith(OBJECT_PREFIX)) { this.applyObjectTool(x, y, Number(this.tool.slice(OBJECT_PREFIX.length))); return; } + // Secret Door needs an EXISTING wall (the opposite requirement of + // Object, same requirement as Wall Art) — it marks that cell as hidden + // door metadata without ever touching its wall type, which is the + // whole point: keeps whatever texture is already there. Does NOT fall + // through to the shared floor-placing line below either. + if (this.tool === 'secretdoor') { this.applySecretDoorTool(x, y); return; } lvl.walls[y][x] = 0; // every remaining tool places on floor this.clearWallArtAt(x, y); - if (this.tool === 'door') { + if (this.tool.startsWith(DOOR_PREFIX)) { + // Same straight-toggle-regardless-of-selected-option convention as + // Wall Art/Object: clicking an existing door (any color) removes it; + // switching an already-placed door to a different color is two + // clicks (remove, then place with the new option selected), not an + // implicit recolor. + const color = this.tool.slice(DOOR_PREFIX.length); const i = lvl.doors.findIndex((d) => d.x === x && d.y === y); - if (i >= 0) lvl.doors.splice(i, 1); else lvl.doors.push({ x, y, orientation: 'vertical' }); + if (i >= 0) lvl.doors.splice(i, 1); + else lvl.doors.push({ x, y, orientation: 'vertical', color: color === 'normal' ? null : color }); } else if (this.tool === 'start') { lvl.playerStart = { x: x + 0.5, y: y + 0.5, angle: 0 }; } else if (this.tool === 'exit') { @@ -797,12 +893,43 @@ export default class WolfensteinEditor extends Phaser.Scene { if (i >= 0) lvl.objects.splice(i, 1); else lvl.objects.push({ x: x + 0.5, y: y + 0.5, frame }); } + /** + * Secret Door: only an actual wall cell (walls[y][x] > 0) is a valid + * spot — same "must be a wall" requirement as Wall Art, the opposite of + * Object/Door/Enemy/Start/Exit/Pickup's "bulldoze to floor" convention, + * because the cell's wall type is exactly what makes it indistinguishable + * from a plain wall until triggered — this tool must never touch + * `lvl.walls` at all. Clicking an existing secret door removes it (same + * toggle convention as every other dynamic-dropdown tool); clicking a + * fresh wall cell creates one (default direction East, degrees matching + * the enemy `facing` convention) and immediately opens the direction + * picker via `pendingSecretDoor` (see handleClick), mirroring how a + * freshly placed enemy immediately opens `pendingFacingEnemy`. + */ + applySecretDoorTool(x, y) { + const lvl = this.level; + if (!(lvl.walls[y]?.[x] > 0)) return; + lvl.secretDoors = lvl.secretDoors ?? []; + const i = lvl.secretDoors.findIndex((sd) => sd.x === x && sd.y === y); + if (i >= 0) { + if (lvl.secretDoors[i] === this.pendingSecretDoor) this.pendingSecretDoor = null; + lvl.secretDoors.splice(i, 1); + } else { + const sd = { x, y, dir: 0 }; + lvl.secretDoors.push(sd); + this.pendingSecretDoor = sd; + } + } + clearEntitiesAt(x, y) { const lvl = this.level; const removedEnemy = lvl.enemies.find((e) => Math.floor(e.x) === x && Math.floor(e.y) === y); if (removedEnemy && removedEnemy === this.selectedEnemy) this.selectedEnemy = null; if (removedEnemy && removedEnemy === this.pendingFacingEnemy) this.pendingFacingEnemy = null; + const removedSecretDoor = (lvl.secretDoors ?? []).find((sd) => sd.x === x && sd.y === y); + if (removedSecretDoor && removedSecretDoor === this.pendingSecretDoor) this.pendingSecretDoor = null; lvl.doors = lvl.doors.filter((d) => !(d.x === x && d.y === y)); + lvl.secretDoors = (lvl.secretDoors ?? []).filter((sd) => !(sd.x === x && sd.y === y)); lvl.enemies = lvl.enemies.filter((e) => !(Math.floor(e.x) === x && Math.floor(e.y) === y)); lvl.items = lvl.items.filter((it) => !(Math.floor(it.x) === x && Math.floor(it.y) === y)); lvl.objects = (lvl.objects ?? []).filter((o) => !(Math.floor(o.x) === x && Math.floor(o.y) === y)); @@ -894,8 +1021,26 @@ export default class WolfensteinEditor extends Phaser.Scene { for (let x = x0; x <= x1; x++) { const [bx] = this.toBoard(x, 0); g.lineBetween(bx, BOARD_Y, bx, BOARD_Y + BOARD_SIZE); } for (let y = y0; y <= y1; y++) { const [, by] = this.toBoard(0, y); g.lineBetween(BOARD_X, by, BOARD_X + BOARD_SIZE, by); } - g.fillStyle(0xb08040, 1); - for (const d of lvl.doors) { const [bx, by] = this.toBoard(d.x, d.y); g.fillRect(bx, by, k - 1, k - 1); } + for (const d of lvl.doors) { + const [bx, by] = this.toBoard(d.x, d.y); + const lockHex = d.color ? LOCK_COLORS[d.color] : null; + g.fillStyle(lockHex ?? 0xb08040, 1); + g.fillRect(bx, by, k - 1, k - 1); + if (lockHex) { + // Locked door: bold dark border + a keyhole badge (circle + stem) + // on top of the color fill, so it reads unmistakably as "special, + // needs a key" rather than just a colored wall tile at a glance. + g.lineStyle(Math.max(2, k * 0.08), 0x1a1208, 1); + g.strokeRect(bx + 1, by + 1, k - 3, k - 3); + g.fillStyle(0x1a1208, 1); + g.fillCircle(bx + k / 2, by + k * 0.38, k * 0.12); + g.fillTriangle( + bx + k / 2 - k * 0.07, by + k * 0.46, + bx + k / 2 + k * 0.07, by + k * 0.46, + bx + k / 2, by + k * 0.74, + ); + } + } // Decorated walls get a yellow outline at all times (not just while the // Wall Art tool is active) — same "always visible, not tool-scoped" @@ -907,6 +1052,26 @@ export default class WolfensteinEditor extends Phaser.Scene { g.strokeRect(bx + 1, by + 1, k - 3, k - 3); } + // Secret doors: deliberately NOT filled — the whole point is the cell + // stays visually a plain wall in-game, so the editor must show its own + // marker without covering the wall's own color/texture-color underneath. + // A bright magenta dashed-look outline (four short strokes, not a solid + // rect) plus a direction arrow (reusing drawEnemyArrow) makes it + // unmistakable as "special" without implying it's a filled/solid marker + // the way a normal or locked door's flat-fill tile is. + g.lineStyle(2, 0xcc44ff, 1); + for (const sd of lvl.secretDoors ?? []) { + const [bx, by] = this.toBoard(sd.x, sd.y); + const dashLen = (k - 2) * 0.32; + for (const [x0, y0, x1, y1] of [ + [bx + 1, by + 1, bx + 1 + dashLen, by + 1], [bx + k - 1 - dashLen, by + 1, bx + k - 1, by + 1], + [bx + 1, by + k - 1, bx + 1 + dashLen, by + k - 1], [bx + k - 1 - dashLen, by + k - 1, bx + k - 1, by + k - 1], + [bx + 1, by + 1, bx + 1, by + 1 + dashLen], [bx + 1, by + k - 1 - dashLen, bx + 1, by + k - 1], + [bx + k - 1, by + 1, bx + k - 1, by + 1 + dashLen], [bx + k - 1, by + k - 1 - dashLen, bx + k - 1, by + k - 1], + ]) g.lineBetween(x0, y0, x1, y1); + this.drawEnemyArrow(bx + k / 2, by + k / 2, k * 0.28, ((sd.dir ?? 0) * Math.PI) / 180, 0xcc44ff); + } + if (lvl.playerStart) { const [bx, by] = this.toBoard(lvl.playerStart.x, lvl.playerStart.y); g.fillStyle(0x38b048, 1); g.fillCircle(bx, by, k * 0.35); @@ -926,13 +1091,25 @@ export default class WolfensteinEditor extends Phaser.Scene { // original two. for (const it of lvl.items) { const [bx, by] = this.toBoard(it.x, it.y); - const kind = this.pickupItems.find((p) => p.id === it.type)?.kind; - if (kind === 'ammo') { + const def = this.pickupItems.find((p) => p.id === it.type); + if (def?.kind === 'ammo') { g.fillStyle(0xd4a017, 1); g.fillRect(bx - k * 0.15, by - k * 0.15, k * 0.3, k * 0.3); - } else if (kind === 'weapon') { + } else if (def?.kind === 'weapon') { g.fillStyle(0x68d0ff, 1); g.fillTriangle(bx, by - k * 0.22, bx - k * 0.2, by + k * 0.16, bx + k * 0.2, by + k * 0.16); + } else if (def?.kind === 'key') { + // Diamond in the matching lock color (see LOCK_COLORS) — a fourth, + // distinct shape so a key never gets mistaken for the plain red + // health circle, and its color pairs it visually with the door(s) + // it opens. + const c = LOCK_COLORS[def.color] ?? 0xe0c040; + g.fillStyle(c, 1); + g.fillTriangle(bx, by - k * 0.24, bx - k * 0.2, by, bx, by + k * 0.24); + g.fillTriangle(bx, by - k * 0.24, bx + k * 0.2, by, bx, by + k * 0.24); + g.lineStyle(1, 0x000000, 0.6); + g.strokeTriangle(bx, by - k * 0.24, bx - k * 0.2, by, bx, by + k * 0.24); + g.strokeTriangle(bx, by - k * 0.24, bx + k * 0.2, by, bx, by + k * 0.24); } else { g.fillStyle(0xe06c75, 1); g.fillCircle(bx, by, k * 0.2); @@ -953,7 +1130,12 @@ export default class WolfensteinEditor extends Phaser.Scene { if (this.tool === 'patrol') this.drawPatrolRoutes(); if (this.pendingFacingEnemy && lvl.enemies.includes(this.pendingFacingEnemy)) this.drawFacingPicker(); - this.facingHintText?.setText(this.pendingFacingEnemy ? 'Click a highlighted square to set the guard’s facing' : ''); + if (this.pendingSecretDoor && (lvl.secretDoors ?? []).includes(this.pendingSecretDoor)) this.drawSecretDoorPicker(); + this.facingHintText?.setText( + this.pendingFacingEnemy ? 'Click a highlighted square to set the guard’s facing' + : this.pendingSecretDoor ? 'Click a highlighted square to set the secret door’s slide direction' + : '', + ); this.drawMinimapBox(); } @@ -1000,6 +1182,31 @@ export default class WolfensteinEditor extends Phaser.Scene { } } + /** + * Direction picker overlay for `this.pendingSecretDoor` — same shape as + * drawFacingPicker above (a ring on the anchor cell, a highlighted square + * on each N/S/E/W neighbor, matched by handleClick against the same + * FACING_DIRS offsets), in the same magenta used for the secret door's + * own board marker so the two visibly belong together. sd.x/sd.y are + * already the integer cell (not a center-float like an enemy's x/y), so + * no Math.floor needed before offsetting by dx/dy. + */ + drawSecretDoorPicker() { + const g = this.g; + const k = this.zoom; + const sd = this.pendingSecretDoor; + const [cx, cy] = this.toBoard(sd.x + 0.5, sd.y + 0.5); + g.lineStyle(3, 0xcc44ff, 1); + g.strokeCircle(cx, cy, k * 0.55); + for (const { dx, dy } of Object.values(FACING_DIRS)) { + const [bx, by] = this.toBoard(sd.x + dx, sd.y + dy); + g.fillStyle(0xcc44ff, 0.35); + g.fillRect(bx, by, k - 1, k - 1); + g.lineStyle(2, 0xcc44ff, 0.9); + g.strokeRect(bx, by, k - 1, k - 1); + } + } + /** * Every enemy with a route gets a dim line; the selected one (see * applyPatrolTool) gets a bright highlighted line plus a ring around the diff --git a/src/games/wolfenstein/WolfensteinGame.js b/src/games/wolfenstein/WolfensteinGame.js index 1f61178..c967662 100644 --- a/src/games/wolfenstein/WolfensteinGame.js +++ b/src/games/wolfenstein/WolfensteinGame.js @@ -16,6 +16,13 @@ import WolfensteinView, { VIEW_H } from './WolfensteinView.js'; import * as Screens from './WolfensteinScreens.js'; import { makeCamera } from './WolfensteinRaycaster.js'; +// Same blue/red/yellow palette as WolfensteinView's DOOR_COLOR_HEX and +// WolfensteinEditor's LOCK_COLORS — kept as its own literal here rather than +// imported, same "not worth the coupling for a 3-entry table" tradeoff those +// two make with each other. +const KEY_COLORS = { blue: 0x2a5adf, red: 0xd82a2a, yellow: 0xe0b820 }; +const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1); + const SAVE_KEY = 'wolfenstein-save'; const SAVE_SLOT_COUNT = 4; const saveSlotKey = (i) => `wolfenstein-save-slot-${i}`; @@ -226,6 +233,11 @@ export default class WolfensteinGame extends Phaser.Scene { if (Phaser.Input.Keyboard.JustDown(k.SIX)) Logic.switchWeapon(this.state, 'plasmarifle'); if (Phaser.Input.Keyboard.JustDown(k.SPACE) || Phaser.Input.Keyboard.JustDown(k.E)) { Logic.openNearestDoor(this.state); + // Deliberately silent otherwise (no HUD hint, no "nothing here" + // feedback) — see WolfensteinLogic's secret-doors section note for + // why: the player has to guess and try, same as pressing Space + // against a suspicious wall in the genre this is drawing from. + Logic.triggerNearestSecretDoor(this.state); } } @@ -253,6 +265,8 @@ export default class WolfensteinGame extends Phaser.Scene { _onSimEvent(ev) { if (ev.t === 'pickup') this._toast(`Picked up ${ev.itemId}`); + else if (ev.t === 'doorLocked') this._toast(`Locked — need the ${capitalize(ev.color)} Key`); + else if (ev.t === 'secretFound') this._toast('A secret door slides open...'); } _onMissionWon() { @@ -306,12 +320,29 @@ export default class WolfensteinGame extends Phaser.Scene { // Doors no longer open automatically on approach (see openNearestDoor) — // without this, there's no way to discover that Space/E is the interact key. objs.doorHint = this.add.text(GAME_WIDTH / 2, VIEW_H / 2 + 46, '[SPACE/E] Open', { fontFamily: '"Julius Sans One"', fontSize: '22px', color: COLORS.goldHex }).setOrigin(0.5).setDepth(21); + // A small keyring above the health readout — one square per color, + // hidden until that key is actually picked up this level (see + // _updateHud). Flat individually-keyed objects, not a Container/group, + // because _setHudVisible below just iterates Object.values(this.hud). + objs.key_blue = this.add.rectangle(80, y - 42, 22, 22, KEY_COLORS.blue).setStrokeStyle(2, 0x000000).setDepth(21).setVisible(false); + objs.key_red = this.add.rectangle(112, y - 42, 22, 22, KEY_COLORS.red).setStrokeStyle(2, 0x000000).setDepth(21).setVisible(false); + objs.key_yellow = this.add.rectangle(144, y - 42, 22, 22, KEY_COLORS.yellow).setStrokeStyle(2, 0x000000).setDepth(21).setVisible(false); return objs; } _setHudVisible(visible) { for (const o of Object.values(this.hud)) o.setVisible(visible); - if (visible) { this.hud.lockHint.setVisible(!this._locked); this.hud.doorHint.setVisible(false); } + if (visible) { + this.hud.lockHint.setVisible(!this._locked); + this.hud.doorHint.setVisible(false); + // Keyring starts empty every level (see player.keys in createState) — + // _updateHud corrects these each frame, but force them off immediately + // rather than flashing "all keys held" for a frame, same reasoning as + // doorHint above. + this.hud.key_blue.setVisible(false); + this.hud.key_red.setVisible(false); + this.hud.key_yellow.setVisible(false); + } } _updateHud() { @@ -321,7 +352,19 @@ export default class WolfensteinGame extends Phaser.Scene { const w = this.rules.weaponById[p.weapon]; this.hud.ammo.setText(w.kind === 'projectile' ? `AMMO ${p.ammo[w.ammoType] ?? 0}` : ''); this.hud.lockHint.setVisible(!this._locked); - this.hud.doorHint.setVisible(Logic.hasOpenableDoorNearby(this.state)); + this.hud.key_blue.setVisible(p.keys.includes('blue')); + this.hud.key_red.setVisible(p.keys.includes('red')); + this.hud.key_yellow.setVisible(p.keys.includes('yellow')); + + const doorInfo = Logic.nearestDoorInfo(this.state); + if (!doorInfo) { + this.hud.doorHint.setVisible(false); + } else if (doorInfo.locked) { + this.hud.doorHint.setVisible(true).setColor('#ff5a5a') + .setText(`[SPACE/E] Locked — need the ${capitalize(doorInfo.color)} Key`); + } else { + this.hud.doorHint.setVisible(true).setColor(COLORS.goldHex).setText('[SPACE/E] Open'); + } } _toast(msg) { diff --git a/src/games/wolfenstein/WolfensteinLogic.js b/src/games/wolfenstein/WolfensteinLogic.js index 4a69bc4..0f0b943 100644 --- a/src/games/wolfenstein/WolfensteinLogic.js +++ b/src/games/wolfenstein/WolfensteinLogic.js @@ -25,6 +25,12 @@ export const SAVE_VERSION = 3; // validation, since a player can always open it. export const DOOR_WALL_TYPE = 9; +// The three colors a locked door (and its matching key item, id +// `key-` in rules.json) can take — kept here as the one place that +// enumerates them, referenced by validateLevel's authoring-error check +// below and by bfsReachable's naming-convention key/door matching. +export const DOOR_COLORS = new Set(['blue', 'red', 'yellow']); + // --------------------------------------------------------------------------- // State construction // --------------------------------------------------------------------------- @@ -33,6 +39,12 @@ export function createState(level, rules) { const walls = level.walls.map((row) => row.slice()); const doors = (level.doors ?? []).map((d, i) => ({ id: i, x: d.x, y: d.y, orientation: d.orientation ?? 'vertical', + // null/undefined = a normal door, openable by anyone in range. A color + // ('blue'/'red'/'yellow') gates openNearestDoor behind the matching + // player.keys entry — see that function and stepDoors' enemy-push- + // through branch below, which colored doors are deliberately excluded + // from (guards don't carry keys either). + color: d.color ?? null, // slide: 0 (closed) -> 1 (fully open), animated by stepDoors at // DOOR_SLIDE_MS. target is where it's animating toward; the cell only // stops blocking movement/sight once slide reaches 1 exactly — no @@ -42,6 +54,36 @@ export function createState(level, rules) { })); for (const d of doors) walls[d.y][d.x] = DOOR_WALL_TYPE; + // Secret doors: unlike a normal door, this cell is NOT bulldozed/baked to + // a special wall type — it's left exactly as the author painted it (the + // `wallType` captured below), which is the whole point: indistinguishable + // from a plain wall until triggered (see triggerNearestSecretDoor). `dir` + // (degrees, same 0=E/90=S/180=W/270=N convention `player.angle`/enemy + // `facing` already use) is converted to a unit axis-step the same way + // player/enemy angles already convert to a direction vector elsewhere in + // this file — rounded, since these are always exact multiples of 90°. + // `restDist` (how many open cells it can travel before hitting something + // solid) is scanned ONCE here against the level's own static walls grid — + // nothing at runtime ever changes what's in that corridor before the door + // itself opens, so there's no need to rescan later. + const secretDoors = (level.secretDoors ?? []).map((sd, i) => { + const rad = ((sd.dir ?? 0) * Math.PI) / 180; + const dx = Math.round(Math.cos(rad)), dy = Math.round(Math.sin(rad)); + const axis = dx !== 0 ? 'x' : 'y'; + const sign = dx !== 0 ? dx : dy; + return { + id: i, x: sd.x, y: sd.y, dir: sd.dir ?? 0, axis, sign, + restDist: scanSecretDoorTravel(level.walls, sd.x, sd.y, dx, dy), + wallType: level.walls[sd.y][sd.x], + // 'closed' (looks/behaves like a plain wall) -> 'sliding' (triggered, + // see triggerNearestSecretDoor/stepSecretDoors) -> 'open' (progress + // has reached restDist; map.walls has been permanently updated and + // this door has nothing further to do). No auto-close — a found + // secret stays found. + state: 'closed', progress: 0, + }; + }); + const enemies = (level.enemies ?? []).map((e, i) => ({ id: i, defId: e.type, x: e.x, y: e.y, angle: ((e.facing ?? 0) * Math.PI) / 180, health: rules.enemyById[e.type].health, state: 'idle', cooldownMs: 0, stunMs: 0, dead: false, @@ -97,8 +139,13 @@ export function createState(level, rules) { weapons: startWeapons.slice(), weapon: 'pistol', ammo, pendingTurn: 0, moveForward: 0, moveStrafe: 0, fireHeld: false, prevFireHeld: false, cooldowns, burstRemaining: 0, radius: rules.constants.playerRadius, dead: false, + // Colored keys held THIS level only — createState is called fresh per + // mission (see WolfensteinGame._beginLevel), never carrying player + // state forward between levels, so "lost on level completion" falls + // out for free without any explicit clearing logic. + keys: [], }, - enemies, projectiles: [], pickups, doors, objects, + enemies, projectiles: [], pickups, doors, objects, secretDoors, exit: { ...level.exit }, events: [], nextProjectileId: 1, result: null, levelMeta: { @@ -108,6 +155,28 @@ export function createState(level, rules) { }; } +/** + * How many consecutive open (wallType 0) cells lie immediately beyond + * (x,y) in direction (dx,dy), before hitting a solid cell or the grid edge + * — the distance a secret door starting at (x,y) can slide. Shared by + * createState (to compute each secret door's restDist once, against the + * level's own static walls) and validateLevel (to flag one authored with + * nowhere to go). Takes a plain walls grid, not a level/map object, so it + * works identically against `level.walls` (pre-bake, what both callers + * actually have) without needing a full map shape. + */ +function scanSecretDoorTravel(walls, x, y, dx, dy) { + const height = walls.length, width = walls[0]?.length ?? 0; + let n = 0; + for (;;) { + const nx = x + dx * (n + 1), ny = y + dy * (n + 1); + if (nx < 0 || ny < 0 || nx >= width || ny >= height) break; + if (walls[ny][nx] > 0) break; + n++; + } + return n; +} + // --------------------------------------------------------------------------- // Input intents — the scene calls these; tick() consumes them // --------------------------------------------------------------------------- @@ -137,6 +206,7 @@ export function tick(state, rules) { state.events = []; stepPlayer(state, rules); stepDoors(state, rules); + stepSecretDoors(state, rules); stepEnemyAI(state, rules); stepProjectiles(state, rules); stepPickups(state, rules); @@ -278,19 +348,44 @@ function findOpenableDoor(state) { return best; } -/** Player interact (Space): open the nearest closed/closing door in range, if any. */ +/** + * Player interact (Space): open the nearest closed/closing door in range, if + * any. A colored door additionally requires that color in player.keys — if + * it's missing, the door stays shut and a `doorLocked` event fires instead + * (WolfensteinGame turns that into a toast) so the attempt isn't silently a + * no-op. + */ export function openNearestDoor(state) { const door = findOpenableDoor(state); - if (door) { door.target = 1; state.events.push({ t: 'doorOpen', x: door.x, y: door.y }); } + if (!door) return; + if (door.color && !state.player.keys.includes(door.color)) { + state.events.push({ t: 'doorLocked', x: door.x, y: door.y, color: door.color }); + return; + } + door.target = 1; + state.events.push({ t: 'doorOpen', x: door.x, y: door.y }); } -/** For a HUD prompt ("[SPACE] Open") — true iff a Space press right now would do something. */ -export function hasOpenableDoorNearby(state) { return !!findOpenableDoor(state); } +/** + * For the HUD prompt: null if no door is in range, else which door and + * whether it's actually locked for the player right now — so "[SPACE/E] + * Open" can become "[SPACE/E] Locked — need the Blue Key" instead of only + * finding out after a wasted keypress (see openNearestDoor's doorLocked + * event for that path). + */ +export function nearestDoorInfo(state) { + const door = findOpenableDoor(state); + if (!door) return null; + return { color: door.color, locked: !!door.color && !state.player.keys.includes(door.color) }; +} function stepDoors(state, rules) { for (const d of state.doors) { const cx = d.x + 0.5, cy = d.y + 0.5; - if (d.target === 0 && enemyNearDoor(state, cx, cy)) d.target = 1; // AI push-through, no "Space" for them + // AI push-through, no "Space" for them — excluded for colored doors: + // guards never carry keys, so a locked door stays a hard barrier to + // them the same way it does to the player without the matching key. + if (d.target === 0 && !d.color && enemyNearDoor(state, cx, cy)) d.target = 1; if (d.target === 0 && d.slide > 0 && anyoneNearDoor(state, cx, cy)) d.target = 1; // never finish closing on someone in it const wasOpen = d.slide >= 1; @@ -310,6 +405,69 @@ function stepDoors(state, rules) { } } +// --------------------------------------------------------------------------- +// Secret doors — a wall cell that looks and behaves exactly like a normal +// wall (see createState: its cell is never touched, unlike a real door) +// until the player presses Space right next to it — deliberately silent +// otherwise: no HUD hint, no `hasOpenableDoorNearby`-style query, since the +// whole point is the player has to guess. Once triggered it slides, cell by +// cell, in its authored direction until it reaches restDist (see +// scanSecretDoorTravel) and permanently lodges there — no auto-close, a +// found secret stays found. Enemies never trigger these (no equivalent of +// enemyNearDoor above) — matches genre convention that a secret is a +// player-only discovery. +// +// The multi-cell "sliding" visual (WolfensteinView._drawWalls, via +// WolfensteinRaycaster's secretDoorSlab/checkSecretDoorCell) is real +// continuous geometry, not a cosmetic stand-in — but only the RENDER path +// gets it (state.secretDoors is passed into castColumns only from +// WolfensteinView). Collision, line-of-sight and bullets all read the plain +// map.walls grid, which stays exactly as authored — origin cell solid, +// corridor open, rest cell open — for the entire slide, only flipping +// (origin -> open, rest cell -> solid) in one atomic step the instant +// progress reaches restDist. Same "no squeezing through a half-open door" +// principle stepDoors already applies to normal doors, just for a door +// that (visually) takes several seconds instead of DOOR_SLIDE_MS to finish. +// --------------------------------------------------------------------------- + +// Slower than a normal door's DOOR_SLIDE_MS (which only covers a half-cell +// recede) — this is a full cell per interval, and a secret is meant to read +// as a small dramatic reveal, not a snap. +const SECRET_DOOR_MS_PER_CELL = 600; + +/** + * Player interact (Space): trigger the nearest untouched secret door in + * range, if any — silently a no-op otherwise (see the section note above + * for why there's no HUD hint or "nothing to interact with" feedback). + */ +export function triggerNearestSecretDoor(state) { + const p = state.player; + if (p.dead) return; + let best = null, bestDist = Infinity; + for (const sd of state.secretDoors) { + if (sd.state !== 'closed') continue; + const dist = Math.hypot(p.x - (sd.x + 0.5), p.y - (sd.y + 0.5)); + if (dist <= DOOR_RADIUS + 0.2 && dist < bestDist) { best = sd; bestDist = dist; } + } + if (!best) return; + best.state = 'sliding'; + state.events.push({ t: 'secretFound', x: best.x, y: best.y }); +} + +function stepSecretDoors(state, rules) { + for (const sd of state.secretDoors) { + if (sd.state !== 'sliding') continue; + sd.progress = Math.min(sd.restDist, sd.progress + rules.stepMs / SECRET_DOOR_MS_PER_CELL); + if (sd.progress >= sd.restDist) { + sd.state = 'open'; + const restX = sd.axis === 'x' ? sd.x + sd.sign * sd.restDist : sd.x; + const restY = sd.axis === 'y' ? sd.y + sd.sign * sd.restDist : sd.y; + state.map.walls[sd.y][sd.x] = 0; + state.map.walls[restY][restX] = sd.wallType; + } + } +} + // --------------------------------------------------------------------------- // Enemy AI — idle -> alert -> chase -> attack -> dead // --------------------------------------------------------------------------- @@ -687,6 +845,8 @@ function stepPickups(state, rules) { p.ammo[grantedWeapon.ammoType] = Math.min(cap, (p.ammo[grantedWeapon.ammoType] ?? 0) + (item.ammo ?? 0)); if (item.grantsWeapon !== p.weapon) p.burstRemaining = 0; // don't resume a stale burst under the newly-equipped weapon p.weapon = item.grantsWeapon; + } else if (item.kind === 'key') { + if (!p.keys.includes(item.color)) p.keys.push(item.color); } pk.taken = true; state.events.push({ t: 'pickup', itemId: pk.itemId, x: pk.x, y: pk.y }); @@ -718,6 +878,7 @@ export function buildLevelModel(levelJson) { walls: levelJson.walls.map((row) => row.slice()), playerStart: levelJson.playerStart ? { ...levelJson.playerStart } : null, doors: (levelJson.doors ?? []).map((d) => ({ ...d })), + secretDoors: (levelJson.secretDoors ?? []).map((sd) => ({ ...sd })), enemies: (levelJson.enemies ?? []).map((e) => ({ ...e })), items: (levelJson.items ?? []).map((it) => ({ ...it })), wallArt: (levelJson.wallArt ?? []).map((w) => ({ ...w })), @@ -727,26 +888,73 @@ export function buildLevelModel(levelJson) { }; } +/** + * Key-aware reachability: a colored door only counts as passable once its + * matching key has been collected, and a key can only be collected from a + * cell the player can already reach. Keys are never spent/blocked by + * anything, so the reachable region is monotonic — repeatedly flood-fill + * with the current keyset, harvest any newly-reached key cells into it, and + * re-flood-fill until a pass finds no new key, same "iterate to a fixed + * point" shape as `computeRooms`'s door-cell handling above (though that one + * ignores color entirely — this is gameplay-legality, not room topology). + * A key item's `type` is exactly `key-`, matching a door's `color` + * field 1:1 by naming convention rather than by importing rules.json here — + * kept in sync by hand, the same "duplicated, not imported" tradeoff + * DOOR_WALL_TYPE already makes with WolfensteinRaycaster.js. + */ function bfsReachable(level, start, goal) { const { width, height, walls } = level; - const blocked = (x, y) => walls[y]?.[x] > 0 && walls[y][x] !== DOOR_WALL_TYPE; - if (blocked(start.x, start.y)) return false; - const visited = Array.from({ length: height }, () => new Array(width).fill(false)); - visited[start.y][start.x] = true; - const queue = [[start.x, start.y]]; - const dirs = [[1, 0], [-1, 0], [0, 1], [0, -1]]; - while (queue.length) { - const [cx, cy] = queue.shift(); - if (cx === goal.x && cy === goal.y) return true; - for (const [dx, dy] of dirs) { - const nx = cx + dx, ny = cy + dy; - if (nx < 0 || ny < 0 || nx >= width || ny >= height) continue; - if (visited[ny][nx] || blocked(nx, ny)) continue; - visited[ny][nx] = true; - queue.push([nx, ny]); - } + const doorColorByCell = new Map( + (level.doors ?? []).filter((d) => d.color).map((d) => [`${d.x},${d.y}`, d.color]), + ); + const keyCellsByColor = new Map(); + for (const it of level.items ?? []) { + if (typeof it.type !== 'string' || !it.type.startsWith('key-')) continue; + const color = it.type.slice(4); + const cell = [Math.floor(it.x), Math.floor(it.y)]; + if (!keyCellsByColor.has(color)) keyCellsByColor.set(color, []); + keyCellsByColor.get(color).push(cell); } - return false; + + const keys = new Set(); + let visited; + for (;;) { + // A door cell's `walls` entry is 0 (plain floor) in every authored level + // JSON this ever runs on — only WolfensteinLogic.createState bakes + // DOOR_WALL_TYPE into a *runtime* state.map, which validateLevel never + // sees — so `doorColorByCell` (built straight from level.doors, not the + // walls grid) is the only way to even know a cell is a door, let alone + // a colored one. + const blocked = (x, y) => { + const wt = walls[y]?.[x]; + if (wt === undefined || wt > 0) return true; + const color = doorColorByCell.get(`${x},${y}`); + return !!color && !keys.has(color); + }; + if (blocked(start.x, start.y)) return false; + visited = Array.from({ length: height }, () => new Array(width).fill(false)); + visited[start.y][start.x] = true; + const queue = [[start.x, start.y]]; + const dirs = [[1, 0], [-1, 0], [0, 1], [0, -1]]; + while (queue.length) { + const [cx, cy] = queue.shift(); + for (const [dx, dy] of dirs) { + const nx = cx + dx, ny = cy + dy; + if (nx < 0 || ny < 0 || nx >= width || ny >= height) continue; + if (visited[ny][nx] || blocked(nx, ny)) continue; + visited[ny][nx] = true; + queue.push([nx, ny]); + } + } + + let gainedKey = false; + for (const [color, cells] of keyCellsByColor) { + if (keys.has(color)) continue; + if (cells.some(([kx, ky]) => visited[ky]?.[kx])) { keys.add(color); gainedKey = true; } + } + if (!gainedKey) break; + } + return visited[goal.y]?.[goal.x] === true; } export function validateLevel(level) { @@ -792,6 +1000,20 @@ export function validateLevel(level) { const c = { x: Math.floor(it.x), y: Math.floor(it.y) }; if (level.walls[c.y]?.[c.x] > 0) issues.push(`item (${it.x},${it.y}) sits inside a wall cell`); } + for (const d of level.doors ?? []) { + if (d.color && !DOOR_COLORS.has(d.color)) issues.push(`door (${d.x},${d.y}) has unknown color "${d.color}"`); + } + for (const sd of level.secretDoors ?? []) { + // Must sit ON a wall cell (the opposite requirement of a normal door, + // which bulldozes its cell to floor) — that's what makes it + // indistinguishable from a plain wall until triggered. + if (!(level.walls[sd.y]?.[sd.x] > 0)) { issues.push(`secret door (${sd.x},${sd.y}) does not sit on a wall cell`); continue; } + const rad = ((sd.dir ?? 0) * Math.PI) / 180; + const dx = Math.round(Math.cos(rad)), dy = Math.round(Math.sin(rad)); + if (scanSecretDoorTravel(level.walls, sd.x, sd.y, dx, dy) <= 0) { + issues.push(`secret door (${sd.x},${sd.y}) has no open corridor in its chosen direction`); + } + } for (const w of level.wallArt ?? []) { if (!(level.walls[w.y]?.[w.x] > 0)) issues.push(`wall art (${w.x},${w.y}) does not sit on a wall cell`); } @@ -847,6 +1069,7 @@ export function serialize(state) { projectiles: state.projectiles.map((p) => ({ ...p })), pickups: state.pickups.map((p) => ({ ...p })), doors: state.doors.map((d) => ({ ...d })), + secretDoors: state.secretDoors.map((d) => ({ ...d })), objects: state.objects.map((o) => ({ ...o })), exit: state.exit, result: state.result, nextProjectileId: state.nextProjectileId, @@ -871,11 +1094,23 @@ export function deserialize(rules, raw) { wallArt: data.map.wallArt ?? [], objectBlocked: new Set((data.objects ?? []).map((o) => `${Math.floor(o.x)},${Math.floor(o.y)}`)), }, - player: { ...data.player, ammo: { ...data.player.ammo }, weapons: data.player.weapons.slice(), pendingTurn: 0, fireHeld: false, prevFireHeld: false }, + // keys defaults to [] for a save predating this feature, same + // "static/simple field just degrades to empty" treatment wallArt and + // objects already get above — no SAVE_VERSION bump needed. + player: { + ...data.player, ammo: { ...data.player.ammo }, weapons: data.player.weapons.slice(), + keys: (data.player.keys ?? []).slice(), pendingTurn: 0, fireHeld: false, prevFireHeld: false, + }, enemies: data.enemies.map((e) => ({ ...e })), projectiles: data.projectiles.map((p) => ({ ...p })), pickups: data.pickups.map((p) => ({ ...p })), doors: data.doors.map((d) => ({ ...d })), + // secretDoors defaults to [] for a save predating this feature, same + // "static/simple field degrades to none" treatment as wallArt/objects/ + // keys above — no SAVE_VERSION bump needed. Every field it needs + // (state, progress, restDist, wallType, axis, sign) round-trips via the + // plain spread, same as doors' own slide/target/timer. + secretDoors: (data.secretDoors ?? []).map((d) => ({ ...d })), objects: (data.objects ?? []).map((o) => ({ ...o })), exit: data.exit, events: [], result: data.result ?? null, nextProjectileId: data.nextProjectileId, diff --git a/src/games/wolfenstein/WolfensteinRaycaster.js b/src/games/wolfenstein/WolfensteinRaycaster.js index 4b67d5b..837fbdd 100644 --- a/src/games/wolfenstein/WolfensteinRaycaster.js +++ b/src/games/wolfenstein/WolfensteinRaycaster.js @@ -81,6 +81,78 @@ function intersectDoorMidplane(map, x, y, dirX, dirY, cellX, cellY, slide) { return { perpDist: t, side: blocksEW ? 0 : 1, textureX: along - slide }; } +/** + * Precomputes a secret door's current moving-wall geometry from its + * WolfensteinLogic sim state (`{x, y, axis, sign, restDist, progress, + * wallType}`) into what checkSecretDoorCell actually needs — done ONCE per + * frame per active door by the caller (WolfensteinView), not per ray/per + * column, since it's identical for every ray. `axis`/`perp` split the + * door's fixed cell coordinates into "the axis it slides along" (x for an + * E/W door, y for N/S) and "the row/column it's permanently confined to" + * (the other one); `corridorMin`/`corridorMax` is the *entire* range of + * integer cells the door could ever occupy over its full slide (both ends + * inclusive, direction-independent — smaller-first regardless of `sign`), + * used to tell "this cell is part of this door's corridor but the block + * isn't here right now" (open) apart from "this cell has nothing to do + * with this door" (fall through to the ordinary static wallType check). + * `blockLo`/`blockHi` is the block's current 1-unit solid span along + * `axis` — always exactly 1 wide, sliding from [origin, origin+1) at + * progress 0 to [rest, rest+1) at progress restDist. + */ +export function secretDoorSlab(sd) { + const axis = sd.axis; + const originCoord = axis === 'x' ? sd.x : sd.y; + const perp = axis === 'x' ? sd.y : sd.x; + const blockLo = originCoord + sd.sign * sd.progress; + const restCoord = originCoord + sd.sign * sd.restDist; + return { + axis, perp, blockLo, blockHi: blockLo + 1, wallType: sd.wallType, + corridorMin: Math.min(originCoord, restCoord), + corridorMax: Math.max(originCoord, restCoord), + }; +} + +/** + * Ray-vs-moving-secret-door test for one cell the DDA has just stepped + * into, given a precomputed slab (see secretDoorSlab). Three outcomes: + * - null: this cell has nothing to do with this door — the caller should + * fall through to the ordinary static `map.walls` check. + * - `{ open: true }`: this cell IS part of the door's corridor, but the + * sliding block isn't currently here — treat it as open floor + * regardless of what the static grid says (needed for the ORIGIN cell, + * still baked as a solid wallType in the static grid for the entire + * slide — see WolfensteinLogic's stepSecretDoors — once the block has + * actually moved past it). + * - `{ hit: {perpDist, side, textureX, wallType} }`: the ray hits the + * block's current face inside this cell, in the same shape castRay's + * own per-cell hit branch returns (minus mapX/mapY, added by the + * caller) — same perpDist/side/textureX meaning as an ordinary wall + * hit, computed with the identical "which face, then solve for t along + * the ray" approach intersectDoorMidplane already uses for a normal + * door's single fixed mid-plane, just against a plane at a continuously + * moving position instead of a fixed one, and along whichever face + * (near or far) the ray's own direction sign reaches first. + */ +function checkSecretDoorCell(x, y, dirX, dirY, mapX, mapY, sd) { + const cellCoord = sd.axis === 'x' ? mapX : mapY; + if (sd.axis === 'x' ? mapY !== sd.perp : mapX !== sd.perp) return null; + if (cellCoord < sd.corridorMin || cellCoord > sd.corridorMax) return null; + + const lo = Math.max(sd.blockLo, cellCoord), hi = Math.min(sd.blockHi, cellCoord + 1); + if (hi <= lo) return { open: true }; // corridor cell, block not here right now + + const dirAlong = sd.axis === 'x' ? dirX : dirY; + if (Math.abs(dirAlong) < 1e-9) return { open: true }; // ray runs parallel to the slide axis, can't cross this face here + const facePlane = dirAlong > 0 ? lo : hi; + const t = (facePlane - (sd.axis === 'x' ? x : y)) / dirAlong; + if (t <= 0) return { open: true }; + + let wallX = sd.axis === 'x' ? (y + t * dirY) : (x + t * dirX); + wallX -= Math.floor(wallX); + const side = sd.axis === 'x' ? 0 : 1; // face perpendicular to X (E/W door) reads as side 0, same convention a normal vertical wall hit uses + return { hit: { perpDist: t, side, textureX: wallX, wallType: sd.wallType } }; +} + /** * March a ray from (x,y) along direction (dirX,dirY) — need not be unit * length; distances/`perpDist` come out scaled to that vector's own length — @@ -89,9 +161,14 @@ function intersectDoorMidplane(map, x, y, dirX, dirY, cellX, cellY, slide) { * validated closed level). Passing `doors` (an array of `{x, y, slide}`, as * on WolfensteinLogic's sim state) opts a door cell into recessed, * partially-passable mid-plane geometry (see intersectDoorMidplane) instead - * of treating it as an ordinary flush full-cell solid. + * of treating it as an ordinary flush full-cell solid. Passing + * `secretDoors` (precomputed slabs, see secretDoorSlab — WolfensteinView + * builds this array fresh each frame from whichever state.secretDoors are + * currently mid-slide) opts every cell along an active secret door's + * corridor into the moving-wall test above, taking priority over the + * ordinary static check for exactly those cells. */ -export function castRay(map, x, y, dirX, dirY, maxSteps = DEFAULT_MAX_STEPS, doors = null) { +export function castRay(map, x, y, dirX, dirY, maxSteps = DEFAULT_MAX_STEPS, doors = null, secretDoors = null) { let mapX = Math.floor(x); let mapY = Math.floor(y); @@ -111,6 +188,17 @@ export function castRay(map, x, y, dirX, dirY, maxSteps = DEFAULT_MAX_STEPS, doo else { sideDistY += deltaDistY; mapY += stepY; side = 1; } if (mapX < 0 || mapY < 0 || mapX >= map.width || mapY >= map.height) return null; + + if (secretDoors && secretDoors.length) { + let corridorOpen = false; + for (const sd of secretDoors) { + const res = checkSecretDoorCell(x, y, dirX, dirY, mapX, mapY, sd); + if (res?.hit) return { ...res.hit, mapX, mapY }; + if (res?.open) corridorOpen = true; + } + if (corridorOpen) continue; // this cell belongs to an active secret door's corridor and is currently vacated + } + const wallType = map.walls[mapY][mapX]; if (wallType === 0) continue; @@ -140,8 +228,14 @@ export function makeCamera(x, y, angle, fov) { return { x, y, angle, dirX, dirY, planeX: -dirY * planeScale, planeY: dirX * planeScale }; } -/** One castRay per screen column, camera-space (fisheye-free). `doors` — see castRay — is what WolfensteinView passes (state.doors) to get recessed, slide-aware door geometry. */ -export function castColumns(map, camera, numColumns, doors = null) { +/** + * One castRay per screen column, camera-space (fisheye-free). `doors` — see + * castRay — is what WolfensteinView passes (state.doors) to get recessed, + * slide-aware door geometry; `secretDoors` (pre-built via secretDoorSlab + * from whichever state.secretDoors are currently mid-slide) is the same + * idea for the sliding-wall geometry above. + */ +export function castColumns(map, camera, numColumns, doors = null, secretDoors = null) { const { x, y, dirX, dirY, planeX, planeY } = camera; const maxSteps = fullMapSteps(map); const out = new Array(numColumns); @@ -149,7 +243,7 @@ export function castColumns(map, camera, numColumns, doors = null) { const cameraX = (2 * col) / numColumns - 1; const rdx = dirX + planeX * cameraX; const rdy = dirY + planeY * cameraX; - out[col] = castRay(map, x, y, rdx, rdy, maxSteps, doors); + out[col] = castRay(map, x, y, rdx, rdy, maxSteps, doors, secretDoors); } return out; } diff --git a/src/games/wolfenstein/WolfensteinView.js b/src/games/wolfenstein/WolfensteinView.js index 7108978..4595573 100644 --- a/src/games/wolfenstein/WolfensteinView.js +++ b/src/games/wolfenstein/WolfensteinView.js @@ -22,7 +22,7 @@ // instead of an all-or-nothing per-sprite test (see _drawSprites). import * as Phaser from 'phaser'; -import { castColumns } from './WolfensteinRaycaster.js'; +import { castColumns, secretDoorSlab } from './WolfensteinRaycaster.js'; import { WALL_COLORS, ensureSprites } from './WolfensteinArt.js'; import { DOOR_WALL_TYPE } from './WolfensteinLogic.js'; @@ -34,8 +34,25 @@ export const NUM_COLUMNS = 480; // WolfensteinArt.WALL_COLORS' order. No entry for type 9 (door) — doors // sample their own `wolfenstein-doors` sheet (frame 0) via _drawDoorColumn, // which also handles their recessed/sliding geometry — not part of the -// generic per-column wall-texture path below at all. -const WALL_FRAME = { 1: 0, 2: 1, 3: 2, 4: 3 }; +// generic per-column wall-texture path below at all. Type 10 maps to sheet +// frame 8, not 9 — the sheet itself has no gap, only the wallType numbering +// does (9 is reserved for DOOR_WALL_TYPE). +const WALL_FRAME = { 1: 0, 2: 1, 3: 2, 4: 3, 5: 4, 6: 5, 7: 6, 8: 7, 10: 8 }; + +// door.color -> frame index in the `wolfenstein-doors` sheet: frame 0 is the +// plain/normal door (the only frame this sheet had before locked doors +// existed), frames 1-3 are the painted blue/red/yellow variants — same +// hand-kept-in-sync convention as WALL_FRAME above, and matching +// WolfensteinEditor.js's DOOR_COLORS→hex map for the editor-board glyph +// (colors must read the same in both places, but the editor never touches +// texture frames, only flat fills, so there's no single shared constant to +// import between them). +const DOOR_COLOR_FRAME = { blue: 1, red: 2, yellow: 3 }; +// Flat-color fallback per door color, used only when wolfenstein-doors.png +// isn't loaded (see _drawDoorColumn) — distinct hues so an unpainted level +// still telegraphs "locked, and which color" instead of every door reading +// as the same plain tan. +const DOOR_COLOR_HEX = { blue: 0x2a5adf, red: 0xd82a2a, yellow: 0xe0b820 }; // Billboard scale for a floor-standing object prop — angle-independent (a // single frame, no facing/walk variants like the guard sheet), so there's @@ -168,12 +185,12 @@ export default class WolfensteinView { } render(state, camera) { - this._drawWalls(state.map, state.doors, camera); + this._drawWalls(state.map, state.doors, state.secretDoors, camera); this._drawSprites(state, camera); this._drawWeapon(state); } - _drawWalls(map, doors, camera) { + _drawWalls(map, doors, secretDoors, camera) { const ctx = this.ctx; ctx.fillStyle = '#2b2b2b'; ctx.fillRect(0, 0, VIEW_W, VIEW_H / 2); @@ -184,8 +201,22 @@ export default class WolfensteinView { // static data — cheap enough to rebuild this lookup every call rather // than caching it across frames. const wallArtByCell = new Map((map.wallArt ?? []).map((w) => [`${w.x},${w.y}`, w.frame])); + // x,y -> door color, same small/static/cheap-to-rebuild treatment — + // `doors` (state.doors) carries color but a wall hit only knows its + // mapX/mapY, so _drawDoorColumn needs this lookup to pick the right + // sheet frame (see DOOR_COLOR_FRAME below). + const doorColorByCell = new Map((doors ?? []).filter((d) => d.color).map((d) => [`${d.x},${d.y}`, d.color])); + // Only a door actually mid-slide needs the moving-wall raycaster path + // (see WolfensteinRaycaster.secretDoorSlab/checkSecretDoorCell) — a + // 'closed' one is already indistinguishable from a plain wall via the + // ordinary static-grid path with zero extra work, and an 'open' one has + // had its final position permanently baked into map.walls already (see + // WolfensteinLogic.stepSecretDoors), so it needs nothing special either. + const activeSecretDoors = (secretDoors ?? []) + .filter((sd) => sd.state === 'sliding') + .map(secretDoorSlab); - const cols = castColumns(map, camera, NUM_COLUMNS, doors); + const cols = castColumns(map, camera, NUM_COLUMNS, doors, activeSecretDoors); for (let i = 0; i < NUM_COLUMNS; i++) { const hit = cols[i]; this.depthBuffer[i] = hit ? hit.perpDist : Infinity; @@ -202,7 +233,7 @@ export default class WolfensteinView { const h = Math.ceil(drawEnd - drawStart); if (hit.wallType === DOOR_WALL_TYPE) { - this._drawDoorColumn(ctx, x, y, w, h, hit); + this._drawDoorColumn(ctx, x, y, w, h, hit, doorColorByCell.get(`${hit.mapX},${hit.mapY}`)); continue; } @@ -261,13 +292,17 @@ export default class WolfensteinView { * place. So this is really just "draw a wall column, but from the * `wolfenstein-doors` sheet" — same technique as the main wall path * (source-texel column, vertical crop for close-up magnification, - * multiply-shaded), falling back to the flat placeholder tan if no - * sheet is loaded. + * multiply-shaded), falling back to the flat placeholder tan (or a + * color-keyed flat fallback for a locked door) if no sheet is loaded. + * `color` is undefined for a normal door, else 'blue'/'red'/'yellow' (see + * DOOR_COLOR_FRAME) — looked up by the caller from `state.doors`, since a + * raycaster hit only carries the cell's mapX/mapY, not the door object. */ - _drawDoorColumn(ctx, x, y, w, h, hit) { - const frame = this.doorTexture?.frames[0]; + _drawDoorColumn(ctx, x, y, w, h, hit, color) { + const frameIndex = color ? (DOOR_COLOR_FRAME[color] ?? 0) : 0; + const frame = this.doorTexture?.frames[frameIndex]; if (!frame) { - ctx.fillStyle = shadeColor(WALL_COLORS[DOOR_WALL_TYPE] ?? 0xb08040, hit); + ctx.fillStyle = shadeColor((color ? DOOR_COLOR_HEX[color] : null) ?? WALL_COLORS[DOOR_WALL_TYPE] ?? 0xb08040, hit); ctx.fillRect(x, y, w, h); return; } diff --git a/src/games/wolfenstein/sprites.md b/src/games/wolfenstein/sprites.md index 0333742..32443ef 100644 --- a/src/games/wolfenstein/sprites.md +++ b/src/games/wolfenstein/sprites.md @@ -8,27 +8,39 @@ path is set (see `assetManifest.js`'s `wolfenstein` entry). ## Wall textures — `sheets.walls` Per `data/wolfenstein-artwork.json`: `frameWidth: 64, frameHeight: 64`, -loaded as a plain Phaser spritesheet (frames read left-to-right, top-to-bottom -— a single horizontal row is simplest). **Exact size: a 256×64 PNG, 4 frames, -one 64×64 tile per wall type**, in `WolfensteinArt.WALL_COLORS` insertion -order: frame 0 = type 1 (stone), frame 1 = type 2 (wood), frame 2 = type 3 -(blue-tile), frame 3 = type 4 (green-tile). Doors (`DOOR_WALL_TYPE`, type 9) -are **not** part of this sheet at all — see `sheets.doors` below. +loaded as a plain Phaser spritesheet (frames read left-to-right, top-to-bottom). +**Grew 2026-08-22 from a 256×64 PNG (4 frames, one row) to 256×256 (a 4×4 +grid, 16 frames of headroom, frames 0-8 assigned so far, 9-15 still blank).** +`WolfensteinView.WALL_FRAME` maps wall type -> sheet frame (kept in sync by +hand with `WolfensteinArt.WALL_COLORS` and `WolfensteinEditor.WALL_TOOLS`, +all three keyed off the same type values): frame 0 = type 1 (Stone), frame 1 += type 2 (Wood), frame 2 = type 3 (Blue), frame 3 = type 4 (Green), frame 4 = +type 5 (Wood Planks — plain vertical-plank timber, distinct from type 2's +fancier paneled wood), frame 5 = type 6 (Blue Plaster — pale blue-gray +plaster over a wood wainscot), frame 6 = type 7 (Gray Plaster — same +plaster-over-wainscot composition as type 6, warm gray instead of blue), +frame 7 = type 8 (Red Brick), frame 8 = type 10 (Cream Tile). **Type 9 is +permanently skipped** — reserved for `DOOR_WALL_TYPE` +(`WolfensteinLogic.js`), never a plain wall type, which is why the type +numbering (not the sheet's own frame indices, which have no gap) jumps +straight from 8 to 10. Doors are **not** part of this sheet at all — see +`sheets.doors` below. ## Wall art decals — `sheets.wallArt` `frameWidth: 64, frameHeight: 64`, same spritesheet convention as walls — but unlike walls/doors this isn't a wall *type*, it's an optional decal (poster/flag/etc.) painted on top of whichever wall type is already there. -**Wired up 2026-08-22.** Painted sheet is `assets/images/wolfenstein/wall-art.png` -(currently 512×512, an 8×8 grid = 64 frames of headroom; only frames 0-1 are -assigned so far). Frame *names* (not just indices) live in a separate JSON -registry, `data/wolfenstein-wallart.json` — `{ frames: [{ frame, id, name }] }` -— read directly by `WolfensteinEditor.js`'s Wall Art tool dropdown at -startup (`fetch('data/wolfenstein-wallart.json')`, see `refreshWallArtOptions`). +**Wired up 2026-08-22, extended 2026-08-22.** Painted sheet is +`assets/images/wolfenstein/wall-art.png` (512×512, an 8×8 grid = 64 frames +of headroom; frames 0-2 assigned so far). Frame *names* (not just indices) +live in a separate JSON registry, `data/wolfenstein-wallart.json` — +`{ frames: [{ frame, id, name }] }` — read directly by +`WolfensteinEditor.js`'s Wall Art tool dropdown at startup +(`fetch('data/wolfenstein-wallart.json')`, see `refreshWallArtOptions`). To add a new decal: paint the next tile into `wall-art.png`, append one entry to that registry — no code changes needed on either side. Current -frames: `0` = Nazi Flag, `1` = Hitler Pic. +frames: `0` = Nazi Flag, `1` = Hitler Pic, `2` = Exit Sign. Level data: `level.wallArt: [{ x, y, frame }]`, a sparse per-cell list (like `doors`/`items`, not a dense grid) — one entry per decorated wall cell, @@ -66,12 +78,15 @@ yellow outline on the board regardless of which tool is active, the same `frameWidth: 64, frameHeight: 64`, same spritesheet convention as walls — but unlike wall art this is a floor-standing prop, rendered as a billboard sprite (like an enemy/pickup), not baked into a wall column. **Wired up -2026-08-22.** Painted sheet is `assets/images/wolfenstein/objects.png` -(currently 512×512, 8×8 = 64 frames of headroom; only frames 0-1 assigned so -far). Frame names live in `data/wolfenstein-objects.json` — same -`{ frames: [{ frame, id, name }] }` shape and same "paint the next tile, -append one entry, no code changes" workflow as `wolfenstein-wallart.json`. -Current frames: `0` = Tall Bush, `1` = Gold Eagle. +2026-08-22, extended 2026-08-22.** Painted sheet is +`assets/images/wolfenstein/objects.png` (512×512, 8×8 = 64 frames of +headroom; frames 0-10 assigned so far). Frame names live in +`data/wolfenstein-objects.json` — same `{ frames: [{ frame, id, name }] }` +shape and same "paint the next tile, append one entry, no code changes" +workflow as `wolfenstein-wallart.json`. Current frames: `0` = Tall Bush, +`1` = Gold Eagle, `2` = Nazi Banner, `3` = Suit of Armor, `4` = Oil Drum, +`5` = Blue Vase, `6` = Round Topiary, `7` = Floor Lamp, `8` = Round Table, +`9` = Wooden Chair, `10` = Podium. Gameplay contract: an object blocks *movement* (player and enemies alike) but not sight or bullets — you can shoot through one, an enemy can see and @@ -123,7 +138,7 @@ every other entity type here). a floor-standing item, rendered as a billboard sprite, not baked into a wall column. **Wired up 2026-08-22.** Painted sheet is `assets/images/wolfenstein/pickups.png` (512×512, 8×8 = 64 frames of -headroom; frames 0-10 assigned so far). Unlike Wall Art/Objects, there is no +headroom; frames 0-13 assigned so far). Unlike Wall Art/Objects, there is no separate `data/wolfenstein-pickups.json` frame registry — `data/ wolfenstein-rules.json`'s existing `items[]` array (already the one source of truth for pickup gameplay semantics) carries a `frame` field per entry @@ -133,7 +148,7 @@ doesn't have anywhere to put. Current frames: `0`=Pistol, `1`=Shotgun, `2`=Machine Gun, `3`=Gatling Gun, `4`=Plasma Rifle, `5`=Pistol Clip (10 `9mm` ammo), `6`=Ammo Box (50 `9mm` ammo), `7`=Shotgun Shells (5 `shells` ammo), `8`=Plasma Cell (30 `plasma` ammo), `9`=Small Medpack (25 HP), `10`=Large -Medpack (50 HP). +Medpack (50 HP), `11`=Blue Key, `12`=Red Key, `13`=Yellow Key. Gameplay contract: unlike an object, a pickup is not solid — walking within `constants.pickupRadius` of one removes it and applies its effect @@ -143,13 +158,15 @@ machine gun and gatling gun all draw from the same `9mm` pool, which is why Pistol Clip and Ammo Box are both generic "bullet ammo" pickups rather than pistol-specific ones. A `kind: 'weapon'` pickup both grants the weapon (pushed onto `player.weapons` if not already owned), tops up its ammo type's -pool by the item's `ammo` bonus, and auto-equips it. Level data: -`level.items: [{ x, y, type }]` (`type` is the item's `id` in rules.json), a -sparse per-cell list like `wallArt`/`objects`. At runtime, `state.pickups` is -a top-level list (`{ id, itemId, x, y, taken }`) — `taken` flips true and -rendering skips it once collected; no fade/animation, immediate -disappearance (contrast a dead guard's multi-phase death sequence — overkill -for a pickup). +pool by the item's `ammo` bonus, and auto-equips it. A `kind: 'key'` pickup +(**wired up 2026-08-22**, see "Colored keys and locked doors" below) adds +its `color` to `player.keys` if not already held — no weapon/ammo/health +side effect. Level data: `level.items: [{ x, y, type }]` (`type` is the +item's `id` in rules.json), a sparse per-cell list like `wallArt`/`objects`. +At runtime, `state.pickups` is a top-level list (`{ id, itemId, x, y, taken }`) +— `taken` flips true and rendering skips it once collected; no +fade/animation, immediate disappearance (contrast a dead guard's +multi-phase death sequence — overkill for a pickup). Rendering: pushed into `WolfensteinView._drawSprites`' shared sprite list exactly like an object, with `pkFrame` (looked up from @@ -169,27 +186,93 @@ Clicking a cell bulldozes it to open floor and toggles that cell's entry in pickup is currently selected) — same bulldoze-onto-floor convention as Door/Enemy/Start/Exit, not Object/Wall Art's stricter floor-only/wall-only gating. Board icon: a shape keyed by the item's `kind` (ammo=gold square, -health=red circle, weapon=cyan triangle), not per-frame art. +health=red circle, weapon=cyan triangle, key=color-filled diamond — see +below), not per-frame art. + +## Colored keys and locked doors + +**Wired up 2026-08-22.** Three key items (`key-blue`/`key-red`/`key-yellow` +in `data/wolfenstein-rules.json`, `kind: 'key'`, pickup frames 11-13 above) +and a matching `color` field on a `doors[]` entry (`'blue'`/`'red'`/`'yellow'`, +`WolfensteinLogic.DOOR_COLORS` is the one place that enumerates the valid +set) — a door with no `color` (or `color: null`) is the original "Normal" +door, openable by anyone in range, unchanged from before this feature. + +Gameplay contract (`WolfensteinLogic.js`): walking over a key item pushes +its color onto `player.keys` (`stepPickups`' `kind === 'key'` branch, +deduped — no effect if already held) — a plain array, not a Set, since it +round-trips through `JSON.stringify` in `serialize()` for free. `player.keys` +resets to `[]` every level (`createState` is called fresh per mission, see +`WolfensteinGame._beginLevel` — nothing in this engine ever carries player +state between missions), which is exactly "a key is lost on level +completion" with no explicit clearing logic needed anywhere. +`openNearestDoor` (the Space/E interact handler) now checks a door's +`color` against `player.keys` before setting `target = 1`: missing the key +pushes a `doorLocked` event (`{ color }`) instead of `doorOpen` and leaves +the door shut. `nearestDoorInfo(state)` is a read-only variant of the same +nearest-door lookup for the HUD prompt — null / `{ color, locked }` — so +`WolfensteinGame` can show "Locked — need the Blue Key" instead of only +finding out after a wasted keypress. `stepDoors`' enemy-push-through branch +(`enemyNearDoor`) is gated `!d.color` — guards never carry keys, so a locked +door is a hard barrier to them too, not just the player without the key. + +Level authoring / solvability: `buildLevelModel` already round-trips +`color` for free (its `doors`/`items` mapping just spreads every field). +`validateLevel` flags an unrecognized `door.color` as an authoring error +(not one of `DOOR_COLORS`). More importantly, `bfsReachable` is **key-aware**: +a colored door only counts as passable once its matching key has already +been reached (without needing that same door) — implemented as a +fixed-point loop, not a single flood-fill: flood-fill with the current +keyset, harvest any newly-reachable key cells into it, repeat until a pass +finds nothing new (keys are never spent, so the reachable region only ever +grows). A key placed behind its own locked door, or a locked door with its +key nowhere in the level, correctly reports the exit unreachable — same +"exit is not reachable from playerStart" issue a level with no path at all +gets. This only works because a door cell's `walls[y][x]` entry is 0 (plain +floor) in every *authored* level JSON — `DOOR_WALL_TYPE` (9) only ever gets +baked in by `createState` for the *runtime* map, which `validateLevel` never +sees — so the color lookup is keyed off `level.doors` directly, not the +walls grid. A key item's `type` is matched to a door's `color` by naming +convention (`key-`) rather than by importing rules.json into +WolfensteinLogic.js — kept in sync by hand, the same tradeoff +`DOOR_WALL_TYPE` already makes with `WolfensteinRaycaster.js`. + +Editor (`WolfensteinEditor.js`): the Door category grew from one option +("Normal") to four (`door:normal`/`door:blue`/`door:red`/`door:yellow`, +`DOOR_PREFIX`), same toggle-on-click convention as before (click an existing +door of any color to remove it; switching an already-placed door to a +different color is two clicks, not an implicit recolor). Board rendering +makes a locked door visually unmistakable rather than just a differently- +colored wall tile: the cell fills with the color (`LOCK_COLORS`, shared +with the key pickup diamond below), plus a bold dark border and a small +dark "keyhole" glyph (circle + triangle stem) drawn on top. A key pickup +renders as a diamond filled with that same color — a fourth shape distinct +from the existing ammo-square/weapon-triangle/health-circle icons, chosen so +its color visually pairs it with the door(s) it opens. ## Door textures — `sheets.doors` `frameWidth: 64, frameHeight: 64`, same spritesheet convention as walls. -**Wired up as of 2026-08-21: frame 0 is the one and only door type ("Normal" -— the editor's Door category has no other option yet) and is fully live.** -The current painted sheet is 256×256 (a 4×4 grid, 16 frames), of which only -frame 0 is read; the other 15 sit unused until a second door type exists -(matching how the editor's Door dropdown would need a second `option` in -`WolfensteinEditor.js`'s `CATEGORIES`, with the new tool id mapped to a -frame index the same way `WALL_FRAME` maps wall types today — no such -mapping exists yet since there's only the one type). `WolfensteinView.js` -grabs the texture once in the constructor (`this.doorTexture`) and -`_drawDoorColumn` samples it exactly like the wall path samples -`sheets.walls` (1px source-texel column, drawImage-stretched, same vertical -source-crop for close-up magnification, same `multiply`-composited -side/fog shading) — falls back to the flat placeholder tan if the sheet -isn't loaded. See the sliding/recessed-door notes below for how that +**Wired up as of 2026-08-21, extended 2026-08-22 for locked doors.** Frame 0 +is the plain/"Normal" door; frames 1-3 are the Blue/Red/Yellow locked-door +variants (`WolfensteinView.DOOR_COLOR_FRAME` — `{ blue: 1, red: 2, yellow: 3 }` +— matching the editor's Door category options and `WolfensteinLogic.DOOR_COLORS`). +The current painted sheet is 256×256 (a 4×4 grid, 16 frames), of which frames +0-3 are read; the remaining 12 sit unused until a further door type exists. +`WolfensteinView.js` grabs the texture once in the constructor +(`this.doorTexture`) and `_drawDoorColumn` samples it exactly like the wall +path samples `sheets.walls` (1px source-texel column, drawImage-stretched, +same vertical source-crop for close-up magnification, same +`multiply`-composited side/fog shading), now picking `DOOR_COLOR_FRAME[color]` +instead of a hardcoded 0 — the door's color is looked up per-cell by +`_drawWalls` (from `state.doors`, since a raycaster hit only carries the +cell's mapX/mapY) and passed into `_drawDoorColumn`. Falls back to a flat +color (`DOOR_COLOR_HEX`, the same blue/red/yellow the editor's board glyph +uses) for a locked door, or the original flat tan for a normal one, if the +sheet isn't loaded. See the sliding/recessed-door notes below for how that texture actually gets positioned in the scene (mid-cell plane, slide-driven -visible fraction). +visible fraction) — unaffected by color, which only changes which frame/flat +color gets sampled. ### Sliding, recessed, see-through doors @@ -253,6 +336,89 @@ is grabbed once in the constructor (`scene.textures.get('wolfenstein-walls')`), which the manifest loader has already populated by the time a game scene is entered — no per-frame lookup cost. +## Secret doors + +**Wired up 2026-08-22.** No art of its own — a secret door reuses whatever +wall texture (any of the `sheets.walls` types) already sits on its cell, +which is the entire point: it must be visually indistinguishable from a +plain wall until triggered. No HUD hint either (unlike a normal door's +`[SPACE/E] Open` prompt) — the player has to guess and press Space/E next to +a suspicious wall on a hunch. Level data: `level.secretDoors: [{ x, y, dir }]` +— `dir` is degrees, the same 0=E/90=S/180=W/270=N convention `playerStart.angle` +and an enemy's `facing` already use. Unlike a normal door, `(x,y)` must sit +ON an existing wall cell (opposite of Door's "bulldozes to floor" +requirement) and that cell's wall type is never touched — see +`WolfensteinLogic.createState`'s `secretDoors` mapping, which captures it as +`wallType` and leaves the live `map.walls` grid exactly as authored. + +Mechanically, once triggered (`WolfensteinLogic.triggerNearestSecretDoor`, +called from the same Space/E handler as `openNearestDoor` — see +`WolfensteinGame._pollKeys`), the wall cell slides — as real, continuous, +multi-cell geometry, not a cosmetic stand-in — in its authored direction +until it reaches the first solid cell, then permanently lodges there (no +auto-close; a found secret stays found). How far it can travel +(`restDist`) is scanned ONCE at level load against the level's own static +walls (`scanSecretDoorTravel`) — nothing changes what's in that corridor +before the door itself opens, so there's nothing to rescan later. Gameplay +(collision/line-of-sight/bullets) stays exactly as authored — origin cell +solid, corridor open, rest cell open — for the ENTIRE slide, flipping +(origin → open, rest cell → solid, carrying the door's own `wallType`) in +one atomic step only once `progress` reaches `restDist` +(`WolfensteinLogic.stepSecretDoors`) — same "no squeezing through a +half-open door" principle normal doors already follow, just over several +seconds (`SECRET_DOOR_MS_PER_CELL`, 600ms/cell) instead of `DOOR_SLIDE_MS`. +Enemies never trigger one — no equivalent of a normal door's +`enemyNearDoor` push-through exists here; a secret is a player-only find, +matching genre convention. + +The multi-cell *visual* slide is real geometry precisely because collision +stays simple: only `WolfensteinView`'s render raycast ever sees a +mid-slide door (`state.secretDoors` filtered to `state === 'sliding'`, +passed into `_drawWalls`/`castColumns` as a NEW optional `secretDoors` param +alongside the existing `doors` one). `WolfensteinRaycaster.secretDoorSlab(sd)` +precomputes, once per frame per active door (not per ray), the block's +current 1-cell-wide solid span along its slide axis +(`blockLo`/`blockHi`, sliding continuously from `[origin, origin+1)` at +progress 0 to `[rest, rest+1)` at progress `restDist`) and the full range of +cells it could ever occupy (`corridorMin`/`corridorMax`). `castRay`'s main +DDA loop checks every active slab for the cell it's just stepped into +(`checkSecretDoorCell`, new): a cell outside the slab's row/column and +range falls through to the ordinary static `map.walls` check untouched; a +corridor cell the block isn't currently occupying reads as open regardless +of what the (deliberately unchanged) static grid still says there; and the +cell(s) the block currently spans get a genuine ray-vs-moving-plane +intersection (same "solve for the ray's parametric distance to a face, +then check the resulting in-plane coordinate," `side`/`textureX` shape +`intersectDoorMidplane` already uses for a normal door's single FIXED +mid-plane — just against a plane at a continuously moving position instead, +and picking whichever face — near or far — the ray's own direction sign +reaches first, so a ray approaching from *behind* an already-passed door +correctly sees its trailing face too). The returned hit's `wallType` is the +door's own captured texture, an ordinary type 1-10 value — NOT +`DOOR_WALL_TYPE` — so it flows through `_drawWalls`' completely unmodified +normal-wall-texture branch (`WALL_FRAME[hit.wallType]`, same shading, same +wall-art lookup) with zero special-casing needed there; the "secret door" +rendering is entirely contained in the raycaster's per-cell hit-testing, not +a separate draw path. + +Editor (`WolfensteinEditor.js`): a "Secret Door" tool category (a mode, not +a dropdown — same shape as Patrol/Erase). Clicking an existing wall cell +toggles it (same remove-on-second-click convention as every other +dynamic-entity tool); a freshly placed one immediately opens the same +N/S/E/W direction picker Enemy placement uses (`pendingSecretDoor`, mirrors +`pendingFacingEnemy`). Board marker is deliberately NOT a filled tile (that +would hide the wall's own color, which the author still needs to see) — a +magenta dashed outline plus a direction arrow (reusing `drawEnemyArrow`), +shown at all times regardless of which tool is active, same "always +visible" treatment doors/wall art get. `validateLevel` flags one that +isn't on a wall cell, or has nowhere to go (`restDist` scanned the same way +`createState` does) — but, unlike a normal or colored door, a secret door +is deliberately NOT assumed passable for the exit-reachability check +(`bfsReachable` has no special-casing for it at all — it's just an ordinary +nonzero `walls` cell there): a secret is optional bonus content, so a level +whose only path runs through an unopened one correctly reports the exit +unreachable, the same as routing through a plain permanent wall would. + ## Guard enemy — `sheets.guard` **Wired up as of 2026-08-21, extended 2026-08-21 and 2026-08-22.** Per the @@ -386,7 +552,7 @@ same aspect ratio is what matters most): ## Sound effects None wired up yet — `WolfensteinGame._onSimEvent` has hooks for every event -(`weaponFired`, `meleeHit`, `enemyDied`, `enemyMelee`, `doorOpen`/`doorClose`, -`pickup`, `missionWon`/`missionLost`) but plays no audio. Once clips exist, +(`weaponFired`, `meleeHit`, `enemyDied`, `enemyMelee`, `doorOpen`/`doorClose`/ +`doorLocked`, `secretFound`, `pickup`, `missionWon`/`missionLost`) but plays no audio. Once clips exist, add them to `assetManifest.js`'s `wolfenstein` entry (see the commented-out note there) and call `this.sound.play(...)` from the matching event branch. diff --git a/tools/verifyWolfenstein.js b/tools/verifyWolfenstein.js index 9c26524..a4dec01 100644 --- a/tools/verifyWolfenstein.js +++ b/tools/verifyWolfenstein.js @@ -12,7 +12,7 @@ import { readFileSync } from 'fs'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; import { compileRules } from '../src/games/wolfenstein/WolfensteinRules.js'; -import { castRay, hasLineOfSight, makeCamera, castColumns } from '../src/games/wolfenstein/WolfensteinRaycaster.js'; +import { castRay, hasLineOfSight, makeCamera, castColumns, secretDoorSlab } from '../src/games/wolfenstein/WolfensteinRaycaster.js'; import * as L from '../src/games/wolfenstein/WolfensteinLogic.js'; const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..'); @@ -775,6 +775,318 @@ section('6. Weapon variety & pickups'); } } +// --------------------------------------------------------------------------- +section('6b. Colored keys and locked doors'); +// --------------------------------------------------------------------------- +{ + // Picking up a key adds its color to player.keys, not weapons/ammo, and + // doesn't duplicate on a second overlap of an already-taken pickup. + { + const level = { + id: 'test', name: 'Test', width: 8, height: 8, cellSize: 64, + walls: makeTestMap().walls, doors: [], enemies: [], + playerStart: { x: 1.5, y: 1.5, angle: 0 }, + items: [{ type: 'key-blue', x: 3.5, y: 1.5 }], + exit: { x: 6.5, y: 6.5, radius: 0.6 }, + }; + const state = L.createState(level, rules); + check('player starts a level holding no keys', state.player.keys.length === 0, state.player.keys); + L.setMoveIntent(state, 1, 0); + for (let i = 0; i < 60 && !state.player.keys.includes('blue'); i++) L.tick(state, rules); + check('walking over a blue key pickup grants it', state.player.keys.includes('blue'), state.player.keys); + check('a key pickup does not touch weapons or ammo', state.player.weapons.length === 2 && state.player.ammo['9mm'] === rules.weaponById.pistol.startAmmo); + for (let i = 0; i < 10; i++) L.tick(state, rules); + check('a key is not duplicated once already held', state.player.keys.filter((c) => c === 'blue').length === 1, state.player.keys); + } + + // openNearestDoor: a colored door refuses to open without the matching + // key (emitting doorLocked instead of doorOpen), then opens normally once + // the key is granted. + { + const W = 8, H = 3; + const walls = Array.from({ length: H }, (_, y) => Array.from({ length: W }, (_, x) => ( + x === 0 || y === 0 || x === W - 1 || y === H - 1 ? 1 : 0 + ))); + const level = { + id: 'test', name: 'Test', width: W, height: H, cellSize: 64, + walls, enemies: [], items: [], + playerStart: { x: 1.5, y: 1.5, angle: 0 }, + doors: [{ x: 3, y: 1, orientation: 'vertical', color: 'red' }], + exit: { x: 6.5, y: 1.5, radius: 0.6 }, + }; + const state = L.createState(level, rules); + L.setMoveIntent(state, 1, 0); + for (let i = 0; i < 40; i++) L.tick(state, rules); // walk up to the door + L.openNearestDoor(state); + check('a locked door does not open without the matching key', state.doors[0].target === 0, state.doors[0]); + check('attempting a locked door emits doorLocked with its color', state.events.some((e) => e.t === 'doorLocked' && e.color === 'red'), JSON.stringify(state.events)); + check('nearestDoorInfo reports the nearby door as locked', L.nearestDoorInfo(state)?.locked === true, JSON.stringify(L.nearestDoorInfo(state))); + + state.player.keys.push('red'); + L.openNearestDoor(state); + check('the same door opens once the matching key is held', state.doors[0].target === 1, state.doors[0]); + check('nearestDoorInfo no longer offers an already-opening door', L.nearestDoorInfo(state) === null, JSON.stringify(L.nearestDoorInfo(state))); + } + + // Enemy AI push-through (stepDoors' enemyNearDoor branch) is excluded for + // colored doors — guards never carry keys, so a locked door stays a hard + // barrier to them the same way it does to the player without the key. + { + const W = 6, H = 3; + const walls = Array.from({ length: H }, (_, y) => Array.from({ length: W }, (_, x) => ( + x === 0 || y === 0 || x === W - 1 || y === H - 1 ? 1 : 0 + ))); + const doorLevel = (color) => ({ + id: 'test', name: 'Test', width: W, height: H, cellSize: 64, + walls, items: [], playerStart: { x: 1.5, y: 1.5, angle: 0 }, + doors: [{ x: 3, y: 1, orientation: 'vertical', color }], + enemies: [{ type: 'guard', x: 2.7, y: 1.5, facing: 0 }], // within DOOR_RADIUS of the door, not inside it + exit: { x: 4.5, y: 1.5, radius: 0.6 }, + }); + { + const state = L.createState(doorLevel(null), rules); + L.tick(state, rules); + check('a guard standing near a normal door pushes it open (no color = no key needed)', state.doors[0].target === 1, state.doors[0]); + } + { + const state = L.createState(doorLevel('yellow'), rules); + L.tick(state, rules); + check('a guard standing near a locked door does not push it open', state.doors[0].target === 0, state.doors[0]); + } + } + + // Key/door round-trip through save/load — SAVE_VERSION was not bumped for + // this feature, so a pre-feature save (no `keys` field on player) must + // still deserialize cleanly, defaulting to an empty keyring. + { + const level = { + id: 'test', name: 'Test', width: 8, height: 8, cellSize: 64, + walls: makeTestMap().walls, + playerStart: { x: 1.5, y: 1.5, angle: 0 }, + doors: [{ x: 2, y: 5, orientation: 'vertical', color: 'blue' }], + enemies: [], items: [], + exit: { x: 6.5, y: 6.5, radius: 0.6 }, + }; + const state = L.createState(level, rules); + state.player.keys.push('blue'); + const restored = L.deserialize(rules, L.serialize(state)); + check('a held key round-trips through save/load', restored && restored.player.keys.includes('blue'), restored?.player.keys); + check('a door\'s color round-trips through save/load', restored && restored.doors[0].color === 'blue', restored?.doors[0]); + + const legacy = JSON.parse(L.serialize(state)); + delete legacy.player.keys; + const restoredLegacy = L.deserialize(rules, JSON.stringify(legacy)); + check('a save predating keys deserializes with an empty keyring, not a crash', restoredLegacy && Array.isArray(restoredLegacy.player.keys) && restoredLegacy.player.keys.length === 0, restoredLegacy?.player.keys); + } + + // validateLevel/bfsReachable is key-aware: a colored door only counts as + // passable once its matching key is reachable from playerStart WITHOUT + // needing that door — a key placed behind its own door (or a locked door + // with no key anywhere) makes the exit unreachable, exactly like a level + // with no path at all. + { + const W = 7, H = 3; + const walls = Array.from({ length: H }, (_, y) => Array.from({ length: W }, (_, x) => ( + x === 0 || y === 0 || x === W - 1 || y === H - 1 ? 1 : 0 + ))); + const base = { + id: 'test', name: 'Test', width: W, height: H, cellSize: 64, walls, + playerStart: { x: 1.5, y: 1.5, angle: 0 }, enemies: [], + exit: { x: 5.5, y: 1.5, radius: 0.6 }, + }; + + const behindLevel = { ...base, doors: [{ x: 3, y: 1, color: 'blue' }], items: [{ type: 'key-blue', x: 4.5, y: 1.5 }] }; + check('a key placed behind its own locked door makes the exit unreachable', !L.validateLevel(L.buildLevelModel(behindLevel)).reachable); + + const beforeLevel = { ...base, doors: [{ x: 4, y: 1, color: 'blue' }], items: [{ type: 'key-blue', x: 2.5, y: 1.5 }] }; + check('a key placed before its locked door keeps the exit reachable', L.validateLevel(L.buildLevelModel(beforeLevel)).reachable); + + const noKeyLevel = { ...base, doors: [{ x: 3, y: 1, color: 'red' }], items: [] }; + check('a locked door with its key nowhere in the level makes the exit unreachable', !L.validateLevel(L.buildLevelModel(noKeyLevel)).reachable); + + const unknownColorLevel = { ...base, doors: [{ x: 3, y: 1, color: 'purple' }], items: [] }; + const unknownResult = L.validateLevel(L.buildLevelModel(unknownColorLevel)); + check('an unrecognized door color is flagged as an authoring issue', unknownResult.issues.some((i) => i.includes('unknown color')), unknownResult.issues); + } +} + +// --------------------------------------------------------------------------- +section('6c. Secret doors'); +// --------------------------------------------------------------------------- +{ + // Raw raycaster geometry: a moving-wall slab against hand-computed + // distances, the same spirit as section 2's hand-computed wall hits — the + // sliding-wall math (checkSecretDoorCell, exercised via castRay's + // secretDoors param) is new geometry, not just engine plumbing, so it + // deserves its own direct check independent of the higher-level sim. + { + const W = 10, H = 3; + const walls = Array.from({ length: H }, (_, y) => Array.from({ length: W }, (_, x) => ( + x === 0 || y === 0 || x === W - 1 || y === H - 1 ? 1 : 0 + ))); + walls[1][3] = 5; // origin cell, kept at its painted wall type (never bulldozed) + const map = { width: W, height: H, walls }; + const sdBase = { x: 3, y: 1, axis: 'x', sign: 1, restDist: 4, wallType: 5 }; + + const atRest = castRay(map, 0.5, 1.5, 1, 0, 50, null, [secretDoorSlab({ ...sdBase, progress: 0 })]); + check('closed (progress 0) hits the origin cell\'s own near face, same as a plain wall would', atRest && near(atRest.perpDist, 2.5), atRest?.perpDist); + + const midSlide = castRay(map, 0.5, 1.5, 1, 0, 50, null, [secretDoorSlab({ ...sdBase, progress: 1.5 })]); + check('mid-slide, the block face has advanced exactly `progress` cells', midSlide && near(midSlide.perpDist, 4) && midSlide.mapX === 4, JSON.stringify(midSlide)); + + const fullyOpen = castRay(map, 0.5, 1.5, 1, 0, 50, null, [secretDoorSlab({ ...sdBase, progress: 4 })]); + check('at progress === restDist, the block sits exactly at the rest cell (origin + restDist)', fullyOpen && near(fullyOpen.perpDist, 6.5) && fullyOpen.mapX === 7, JSON.stringify(fullyOpen)); + + const fromBehind = castRay(map, 9.5, 1.5, -1, 0, 50, null, [secretDoorSlab({ ...sdBase, progress: 2 })]); + check('a ray approaching from the far side hits the block\'s far (trailing) face, not its near one', fromBehind && near(fromBehind.perpDist, 3.5) && fromBehind.mapX === 5, JSON.stringify(fromBehind)); + + const wrongRow = castRay(map, 0.5, 2.5, 1, 0, 50, null, [secretDoorSlab({ ...sdBase, progress: 2 })]); + check('a ray in a different row is unaffected — falls through to the ordinary static wall check', wrongRow && wrongRow.mapY === 2 && wrongRow.wallType === 1, JSON.stringify(wrongRow)); + } + + // Two walkable rows (y=1, the secret door's own row, and y=2, a plain + // open alternate route around it) so "is the secret optional or does it + // gate the only path" can actually be tested both ways — a single-row + // corridor would make every secret door mandatory by construction. + const secretLevel = (dir, extra) => { + const W = 8, H = 4; + const walls = Array.from({ length: H }, (_, y) => Array.from({ length: W }, (_, x) => ( + x === 0 || y === 0 || x === W - 1 || y === H - 1 ? 1 : 0 + ))); + walls[1][3] = 1; // the secret door's own wall cell + return { + id: 'test', name: 'Test', width: W, height: H, cellSize: 64, walls, + playerStart: { x: 1.5, y: 1.5, angle: 0 }, enemies: [], items: [], + exit: { x: 6.5, y: 1.5, radius: 0.6 }, + secretDoors: [{ x: 3, y: 1, dir }], + ...extra, + }; + }; + + // createState: restDist scans against the level's own static walls (open + // cells 4,5,6 before hitting the type-1 border at x=7 -> 3 open cells), + // and the origin cell keeps its authored wall type untouched (unlike a + // normal door, never baked to a special type). + { + const level = secretLevel(0); // East + const state = L.createState(level, rules); + const sd = state.secretDoors[0]; + check('secret door axis/sign are derived correctly from its authored direction (East)', sd.axis === 'x' && sd.sign === 1, JSON.stringify(sd)); + check('restDist is scanned against the level\'s own walls (3 open cells before the border)', sd.restDist === 3, sd.restDist); + check('the origin cell keeps its authored wall type in the live map (looks like a plain wall)', state.map.walls[1][3] === 1, state.map.walls[1][3]); + check('a secret door starts closed with zero progress', sd.state === 'closed' && sd.progress === 0); + } + + // Trigger: only within range, only a 'closed' door, fires secretFound, + // and does nothing when nothing is in range. + { + const level = secretLevel(0); + const state = L.createState(level, rules); + L.triggerNearestSecretDoor(state); // player starts at (1.5,1.5), well outside DOOR_RADIUS of (3.5,1.5) + check('triggering with nothing in range is a silent no-op', state.secretDoors[0].state === 'closed'); + + state.player.x = 3.0; state.player.y = 1.5; // now within range of the origin cell's center + state.events = []; + L.triggerNearestSecretDoor(state); + check('triggering in range starts the slide', state.secretDoors[0].state === 'sliding'); + check('triggering pushes a secretFound event', state.events.some((e) => e.t === 'secretFound')); + + state.events = []; + L.triggerNearestSecretDoor(state); + check('an already-triggered door does not re-trigger or re-fire the event', state.events.length === 0); + } + + // stepSecretDoors: progress advances at SECRET_DOOR_MS_PER_CELL per cell, + // collision stays sealed until it's fully done, then the map flips + // atomically (origin open, rest cell solid with the SAME wall type). + { + const level = secretLevel(0); + const state = L.createState(level, rules); + state.player.x = 3.0; state.player.y = 1.5; + L.triggerNearestSecretDoor(state); + + for (let i = 0; i < 10; i++) L.tick(state, rules); + const sd = state.secretDoors[0]; + check('progress advances while sliding, but hasn\'t reached restDist yet after a few ticks', sd.progress > 0 && sd.progress < sd.restDist, sd.progress); + check('the map is NOT yet updated mid-slide — origin cell still reads solid to collision/LOS', state.map.walls[1][3] === 1); + + // Push the player up against the (still solid, mid-slide) origin cell + // and try to walk east through it — collision must hold regardless of + // how far the visual has progressed (same "no squeezing through" rule + // as a normal half-open door). + state.player.x = 2.9; state.player.y = 1.5; + L.setMoveIntent(state, 1, 0); + for (let i = 0; i < 30; i++) L.tick(state, rules); + check('the player cannot walk into the origin cell before the slide fully completes', state.player.x < 3, state.player.x); + + L.setMoveIntent(state, 0, 0); + const ticksToFinish = Math.ceil((sd.restDist * 600) / rules.stepMs) + 5; + for (let i = 0; i < ticksToFinish; i++) L.tick(state, rules); + check('the door finishes sliding and settles at state "open"', state.secretDoors[0].state === 'open', state.secretDoors[0]); + check('the origin cell is permanently open once the slide completes', state.map.walls[1][3] === 0); + check('the rest cell (origin + restDist) becomes solid, carrying the SAME wall type the door started with', state.map.walls[1][3 + sd.restDist] === 1, state.map.walls[1][3 + sd.restDist]); + + L.setMoveIntent(state, 1, 0); + for (let i = 0; i < 60; i++) L.tick(state, rules); + check('the player can now walk through the fully-opened corridor', state.player.x > 3.5, state.player.x); + } + + // Enemies never trigger a secret door — no equivalent of a normal door's + // AI push-through exists for these at all. + { + const level = secretLevel(0, { enemies: [{ type: 'guard', x: 2.7, y: 1.5, facing: 0 }] }); + const state = L.createState(level, rules); + for (let i = 0; i < 60; i++) L.tick(state, rules); + check('a guard standing right next to a secret door never triggers it', state.secretDoors[0].state === 'closed'); + } + + // validateLevel: must sit on an actual wall cell, must have somewhere to + // go, and — deliberately, unlike a normal/colored door — is NOT assumed + // passable for the main-path reachability check: a secret is optional + // content, so a level that routes its only path through one correctly + // fails, exactly like routing through a plain permanent wall would. + { + const notAWall = { ...secretLevel(0), secretDoors: [{ x: 4, y: 1, dir: 0 }] }; // (4,1) is open floor + const notAWallResult = L.validateLevel(L.buildLevelModel(notAWall)); + check('a secret door not sitting on a wall cell is flagged', notAWallResult.issues.some((i) => i.includes('does not sit on a wall cell')), notAWallResult.issues); + + const boxedLevel = secretLevel(0); + boxedLevel.walls[1][4] = 1; // seal the corridor immediately east of the origin + const boxedResult = L.validateLevel(L.buildLevelModel(boxedLevel)); + check('a secret door with no open corridor in its direction is flagged', boxedResult.issues.some((i) => i.includes('no open corridor')), boxedResult.issues); + + const optionalSecretLevel = secretLevel(0); // exit is reachable WITHOUT ever finding the secret + const optionalResult = L.validateLevel(L.buildLevelModel(optionalSecretLevel)); + check('a level with an untouched secret door (not on the main path) still validates as reachable', optionalResult.reachable, optionalResult.issues); + + // Route the ONLY path to the exit through the secret door's corridor — + // reachability must NOT assume a secret is findable, unlike a normal or + // (key-permitting) colored door. + const gatedLevel = secretLevel(0); + for (let x = 1; x <= 6; x++) gatedLevel.walls[2][x] = 1; // seal the alternate row too, so (3,1) is the only way east + const gatedResult = L.validateLevel(L.buildLevelModel(gatedLevel)); + check('a level whose ONLY path runs through an unopened secret door correctly reports the exit unreachable', !gatedResult.reachable, gatedResult.issues); + } + + // Save/load round-trip: state/progress (the only genuinely dynamic + // fields) survive, and so does the map's already-baked state for a door + // that finished opening before the save was taken. + { + const level = secretLevel(0); + const state = L.createState(level, rules); + state.player.x = 3.0; state.player.y = 1.5; + L.triggerNearestSecretDoor(state); + for (let i = 0; i < 5; i++) L.tick(state, rules); + const restored = L.deserialize(rules, L.serialize(state)); + check('a mid-slide secret door\'s state/progress round-trip through save/load', restored && restored.secretDoors[0].state === 'sliding' && near(restored.secretDoors[0].progress, state.secretDoors[0].progress), restored?.secretDoors[0]); + + const legacy = JSON.parse(L.serialize(state)); + delete legacy.secretDoors; + const restoredLegacy = L.deserialize(rules, JSON.stringify(legacy)); + check('a save predating secret doors deserializes with an empty list, not a crash', restoredLegacy && Array.isArray(restoredLegacy.secretDoors) && restoredLegacy.secretDoors.length === 0, restoredLegacy?.secretDoors); + } +} + // --------------------------------------------------------------------------- // Sections 7+: shipped level/campaign data (present once the authoring // pipeline — tools/genWolfenstein.js + data/wolfenstein-campaigns.json —

    -FmiFfRz)7Pizp4 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 literal 45138 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 diff --git a/assets/images/wolfenstein/walls.psd b/assets/images/wolfenstein/walls.psd index eeb060613566cc05f3d49991012f9686aaa65e3a..be38d5bd4421a1055809fb6529cc7db66b5d239d 100644 GIT binary patch delta 132627 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