From 580db1f1672f87ad9b958c3b3d93df94bb3c2759 Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Sun, 10 May 2026 12:47:49 -0400 Subject: [PATCH] hocclk: fix gm20b driver --- Source/hoc-clk/sysmodule/Makefile | 6 +- .../sysmodule/src/board/board_freq.cpp | 9 ++ Source/hoc-clk/sysmodule/src/main.cpp | 4 +- Source/hoc-clk/sysmodule/src/soc/gm20b.cpp | 106 +++++++++--------- .../contents/00FF0000636C6BFF/exefs.nsp | Bin 167918 -> 167820 bytes 5 files changed, 68 insertions(+), 57 deletions(-) diff --git a/Source/hoc-clk/sysmodule/Makefile b/Source/hoc-clk/sysmodule/Makefile index b4c7418a..673506d4 100644 --- a/Source/hoc-clk/sysmodule/Makefile +++ b/Source/hoc-clk/sysmodule/Makefile @@ -28,14 +28,10 @@ INCLUDES := ../common/include src/hos src/soc src/i2c src/util src/pwr src/ipc EXEFS_SRC := exefs_src LIBNAMES := minIni # major minor patch +TARGET_VERSION := 2.2.0 KIP_VERSION := 220 CUST_REV := 2 -#--------------------------------------------------------------------------------- -# version control constants -#--------------------------------------------------------------------------------- -TARGET_VERSION := $(shell git describe --dirty --always --tags) - #--------------------------------------------------------------------------------- # options for code generation #--------------------------------------------------------------------------------- diff --git a/Source/hoc-clk/sysmodule/src/board/board_freq.cpp b/Source/hoc-clk/sysmodule/src/board/board_freq.cpp index a34a83cb..918a1f51 100644 --- a/Source/hoc-clk/sysmodule/src/board/board_freq.cpp +++ b/Source/hoc-clk/sysmodule/src/board/board_freq.cpp @@ -43,6 +43,7 @@ #include "../soc/gm20b.hpp" namespace board { #define MIDDLE_FREQ_TABLE_START_POINT 1228800000 + static u32 currentInjectedHz = 0; PcvModule GetPcvModule(HocClkModule hocclkModule) { switch (hocclkModule) { case HocClkModule_CPU: @@ -91,6 +92,9 @@ namespace board { u32 pcvHz = useGm20b ? ((hz + 76800000 - 1) / 76800000) * 76800000 : hz; + if (module == HocClkModule_GPU) + currentInjectedHz = 0; + if (HOSSVC_HAS_CLKRST) { ClkrstSession session = {}; rc = clkrstOpenSession(&session, GetPcvModuleId(module), 3); @@ -115,6 +119,7 @@ namespace board { if (useGm20b) { gm20b::setClock(hz / 1000); + currentInjectedHz = hz; } } @@ -131,6 +136,10 @@ namespace board { return GetDisplayRate(hz); } + if (module == HocClkModule_GPU && currentInjectedHz != 0) { + return currentInjectedHz; + } + if (HOSSVC_HAS_CLKRST) { ClkrstSession session = {}; diff --git a/Source/hoc-clk/sysmodule/src/main.cpp b/Source/hoc-clk/sysmodule/src/main.cpp index 318060ee..82c22d08 100644 --- a/Source/hoc-clk/sysmodule/src/main.cpp +++ b/Source/hoc-clk/sysmodule/src/main.cpp @@ -136,6 +136,7 @@ int main(int argc, char** argv) } config::Initialize(); config::Refresh(); // Get config from file + board::Initialize(); processManagement::Initialize(); @@ -144,7 +145,6 @@ int main(int argc, char** argv) clockManager::Initialize(); ipcService::Initialize(); - fileUtils::LogLine("Ready"); clockManager::SetRunning(true); config::SetEnabled(true); @@ -166,7 +166,7 @@ int main(int argc, char** argv) processManagement::Exit(); board::Exit(); config::Exit(); - fileUtils::LogLine("Exit"); + fileUtils::LogLine("Exiting hoc-clk"); svcSleepThread(1000000ULL); fileUtils::Exit(); diff --git a/Source/hoc-clk/sysmodule/src/soc/gm20b.cpp b/Source/hoc-clk/sysmodule/src/soc/gm20b.cpp index 45f6f956..47786d15 100644 --- a/Source/hoc-clk/sysmodule/src/soc/gm20b.cpp +++ b/Source/hoc-clk/sysmodule/src/soc/gm20b.cpp @@ -25,16 +25,17 @@ namespace gm20b { u64 gpu_base = 0; #define GPU_PA 0x57000000 #define GPU_SIZE 0x1000000 - #define GPU_TRIM_SYS_GPCPLL_CFG 0x0 - #define GPU_TRIM_SYS_GPCPLL_COEFF 0x4 - #define GPU_TRIM_SYS_GPCPLL_CFG2 0x8 - #define GPU_TRIM_SYS_GPCPLL_DVFS0 0x10 - #define GPU_TRIM_SYS_GPCPLL_DVFS1 0x14 - #define GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN 0x1c - #define GPU_TRIM_SYS_SEL_VCO 0x2c - #define GPU_TRIM_SYS_GPC2CLK_OUT 0x250 - #define GPC_BCAST(x) (*(volatile u32 *)(gpu_base + 0x132800ul + (x))) + #define GPU_TRIM_SYS_GPCPLL_CFG 0x00 + #define GPU_TRIM_SYS_GPCPLL_COEFF 0x04 + #define GPU_TRIM_SYS_GPCPLL_CFG3 0x0C + #define GPU_TRIM_SYS_GPCPLL_DVFS1 0x14 + #define GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN 0x1C + #define GPU_TRIM_SYS_SEL_VCO 0x2C + #define GPU_TRIM_SYS_GPC2CLK_OUT 0x250 + + #define GPC_BCAST(x) (*(volatile u32 *)(gpu_base + 0x132800ul + (x))) #define GPU_TRIM_SYS_GPCPLL(x) (*(volatile u32 *)(gpu_base + 0x137000ul + (x))) + #define GPC_BCAST_GPCPLL_DVFS2 0x20 #define GPC_BCAST_NDIV_SLOWDOWN_DBG 0xa0 @@ -43,22 +44,24 @@ namespace gm20b { #define GPCPLL_CFG_SYNC_MODE BIT(2) #define GPCPLL_CFG_LOCK BIT(17) - #define GPCPLL_CFG2_SDM_DIN_MASK 0x000000FF - #define GPCPLL_CFG2_SDM_DIN_NEW_MASK 0x007FFF00 + #define GPCPLL_CFG2_SDM_DIN_MASK 0x000000FFu + #define GPCPLL_CFG2_SDM_DIN_NEW_MASK 0x007FFF00u + #define GPCPLL_CFG2_STEPA_SHIFT 24 + #define GPCPLL_CFG2_STEPA_MASK 0xFF000000u - #define GPCPLL_DVFS0_DFS_COEFF_MASK 0x0000007F + #define GPCPLL_CFG3_STEPB_SHIFT 16 + #define GPCPLL_CFG3_STEPB_MASK 0x00FF0000u + + #define GPCPLL_DVFS0_DFS_COEFF_MASK 0x0000007Fu #define NDIV_SLOWDOWN_SLOWDOWN_USING_PLL BIT(22) - #define NDIV_SLOWDOWN_EN_DYNRAMP BIT(23) + #define NDIV_SLOWDOWN_EN_DYNRAMP BIT(23) - #define DYNRAMP_DONE_SYNCED BIT(24) + #define DYNRAMP_DONE_SYNCED BIT(24) - #define SEL_VCO_GPC2CLK_OUT_BIT BIT(0) - #define GPC2CLK_OUT_VCODIV_MASK 0x00003F00 - #define GPC2CLK_OUT_VCODIV1 0x00000100 - #define GPC2CLK_OUT_VCODIV2 0x00000200 + #define GPCPLL_DVFS2_DFS_EXT_STROBE BIT(16) - #define GPCPLL_DVFS2_DFS_EXT_STROBE BIT(16) + #define RAMP_TIMEOUT_US 500 static inline void _gpu_mask(u32 reg, u32 mask, u32 val) { u32 tmp = GPU_TRIM_SYS_GPCPLL(reg); @@ -72,6 +75,15 @@ namespace gm20b { (void)GPC_BCAST(reg); } + static void _clk_setup_slide() { + _gpu_mask(GPU_TRIM_SYS_GPCPLL_CFG2, + GPCPLL_CFG2_STEPA_MASK, + 0x04u << GPCPLL_CFG2_STEPA_SHIFT); + _gpu_mask(GPU_TRIM_SYS_GPCPLL_CFG3, + GPCPLL_CFG3_STEPB_MASK, + 0x05u << GPCPLL_CFG3_STEPB_SHIFT); + } + static bool _gpu_pllg_slide(u32 new_divn) { u32 coeff = GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPCPLL_COEFF); u32 cur_divn = (coeff >> 8) & 0xFF; @@ -79,58 +91,51 @@ namespace gm20b { if (new_divn == cur_divn) return true; - _gbc_mask(GPC_BCAST_GPCPLL_DVFS2, GPCPLL_DVFS2_DFS_EXT_STROBE, GPCPLL_DVFS2_DFS_EXT_STROBE); - _gpu_mask(GPU_TRIM_SYS_GPCPLL_DVFS0, GPCPLL_DVFS0_DFS_COEFF_MASK, 0); - usleep(1); - _gbc_mask(GPC_BCAST_GPCPLL_DVFS2, GPCPLL_DVFS2_DFS_EXT_STROBE, 0); - - _gpu_mask(GPU_TRIM_SYS_GPC2CLK_OUT, GPC2CLK_OUT_VCODIV_MASK, GPC2CLK_OUT_VCODIV2); - _gpu_mask(GPU_TRIM_SYS_GPC2CLK_OUT, GPC2CLK_OUT_VCODIV_MASK, GPC2CLK_OUT_VCODIV2); - (void)GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPC2CLK_OUT); - usleep(2); + _clk_setup_slide(); _gpu_mask(GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN, - NDIV_SLOWDOWN_SLOWDOWN_USING_PLL, NDIV_SLOWDOWN_SLOWDOWN_USING_PLL); + NDIV_SLOWDOWN_SLOWDOWN_USING_PLL, + NDIV_SLOWDOWN_SLOWDOWN_USING_PLL); _gpu_mask(GPU_TRIM_SYS_GPCPLL_CFG2, GPCPLL_CFG2_SDM_DIN_NEW_MASK, 0); - coeff = (coeff & ~(0xFF << 8)) | (new_divn << 8); + coeff = (coeff & ~(0xFFu << 8)) | (new_divn << 8); usleep(1); GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPCPLL_COEFF) = coeff; usleep(1); _gpu_mask(GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN, - NDIV_SLOWDOWN_EN_DYNRAMP, NDIV_SLOWDOWN_EN_DYNRAMP); + NDIV_SLOWDOWN_EN_DYNRAMP, + NDIV_SLOWDOWN_EN_DYNRAMP); + int ramp_timeout = RAMP_TIMEOUT_US; bool success = false; - for (u32 i = 0; i < 500; i++) { + do { + usleep(1); + ramp_timeout--; if (GPC_BCAST(GPC_BCAST_NDIV_SLOWDOWN_DBG) & DYNRAMP_DONE_SYNCED) { success = true; break; } - usleep(1); + } while (ramp_timeout > 0); + + if (success) { + _gpu_mask(GPU_TRIM_SYS_GPCPLL_CFG2, GPCPLL_CFG2_SDM_DIN_MASK, 0); } - _gpu_mask(GPU_TRIM_SYS_GPCPLL_CFG2, GPCPLL_CFG2_SDM_DIN_MASK, 0); - _gpu_mask(GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN, - NDIV_SLOWDOWN_SLOWDOWN_USING_PLL | NDIV_SLOWDOWN_EN_DYNRAMP, 0); + NDIV_SLOWDOWN_SLOWDOWN_USING_PLL | NDIV_SLOWDOWN_EN_DYNRAMP, + 0); (void)GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPCPLL_NDIV_SLOWDOWN); - usleep(2); - _gpu_mask(GPU_TRIM_SYS_GPC2CLK_OUT, GPC2CLK_OUT_VCODIV_MASK, GPC2CLK_OUT_VCODIV1); - _gpu_mask(GPU_TRIM_SYS_GPC2CLK_OUT, GPC2CLK_OUT_VCODIV_MASK, GPC2CLK_OUT_VCODIV1); - (void)GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPC2CLK_OUT); - return success; } bool setClock(u32 khz) { - if(!gpu_base) { - QueryMemoryMapping(&gpu_base, GPU_PA, 0x1000000); - } - const u32 osc = 38400000; - u32 hz = khz * 1000; + if (!gpu_base) + QueryMemoryMapping(&gpu_base, GPU_PA, GPU_SIZE); + + const u32 osc_khz = 38400; // PLL Hz u32 coeff = GPU_TRIM_SYS_GPCPLL(GPU_TRIM_SYS_GPCPLL_COEFF); u32 divm = coeff & 0xFF; @@ -139,11 +144,12 @@ namespace gm20b { if (divm == 0 || divp == 0) return false; - u32 new_divn = (u64)hz * divm * divp * 2 / osc; + u32 new_divn = (u64)khz * divm * divp * 2 / osc_khz; - if (!_gpu_pllg_slide(new_divn)) - return false; + // L4T clamps the registers here for some reason, do that + if (new_divn < 8) new_divn = 8; + if (new_divn > 255) new_divn = 255; - return true; + return _gpu_pllg_slide(new_divn); } } \ No newline at end of file diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index ce35f3bd498e383d9aa285d5fcd300114e98b4f5..62041fbfd70dba9f3b29600bda0ec1ecaa804335 100644 GIT binary patch delta 28958 zcmYhj3tUvy_Bg)QK4%^b0}RXn0}Rd#Ao7xjJOo7@5ETs-5fx1n1PUK12o*kx5veS> z#qo?CDoa!<;aX8($h~HicB8T)HS?C$s8rtab{RwkMftCT-~Z?Hv(K>B-fOS@Tzl=c z*V?DQ_G{|*YZ{C`ea|!afB*G8FGMZKgK!RzvQLH)HJ*cO%`leEuc5S)gIpUx_8_mm%iQ2QVKtO!6(`yIXbyp@LpFo zzVhOUm;N_DX0JGnU#q?M;`Aq!Z-f>NY&*5?{Lij5$L6C-@Ucco+>t`Vo_WluE`LgwO$Lmkr?0r})#IWGX^!$ zv!A)P5ggYEzr-0@Tf~JdbixqjI4Si#<^tz`Ar}nanY+}>hsAy_ zZ1wUa2q~MD1W{S^XJ-7Y;gv}s$mCzC@r%I1pzScb?hDs!!@q{g-GMgXGlmBUzq{?@ z!%l>Lurc8v2ZkS+7XxmH=b-`i%^s#z>-bcxMZXxz{GRxX8gQtoE_(zH zy7NM9G&mr8*BK`^4SZY*4!K$4%R5K2w#NjH6~y-E=&1iC4jMv0Eu0d!Dy-Nn?o+II zfWL~#cei!+@z;a&H1NXOB%x-Ha@f2bTg*BbZbImV!en7%1vswA3r&;nOfP~-hwum(?r!_A#iqkPo!F=wkI~`@ou8q{ zi*4GiB*60hpQbxpd(7OqBDxTRQmiT-WSmxtW2DGjl9hFvd;NpX9x0?X+FLTC1ahg8R zbjnA+%EDZbM+Ka5w&BO9-9imytN1|=u~I*kUGov!^l7#-!=fWp#AOHXjsiThgNARt z<|o{EkhR=ArrgmB$29`!nGzg$(uWqi$s0N%_KpeonZcbXOcWyx5&U*{;VW^8AqFpt zwT1}%QvACi*)r%Z{77PdkT&va9$a|b;8N2_eITtC>}M`r-s9^VDeI^qDpW@~S1!8? z42*8q;fyS>%cxgB5$Q72aqnk~(|wmGD2djUKIod}Lk zm~A+Vw`x6j4EfT*tKT9C=!IMlK_%*FD>ixv9F-yk(R#o^a3>Rl3$PA_7w?TqF}(Nb z5vI;kx_ocwVc2USZGVKMI;x?rnHcluo@EyBA-Rf*dP8B)tA-cjy@bW21Z**&4pk^) zV1JfQ$fk_p`30adl*YiGg7&R`rx|V#=LC$y4)NiDg=la8fN(Yv*nU1R7cuA11QT;x z;~|jLwN;)G^BoV7QSqNfScKB`@1Bd!DvEiT88NjO45K^!3V=271Bs$@oEaPT zm_t)1cqMavpAUhv)E zX)U!jYlJq)_7{$YfJ4WPvJIj~NPtJZQ8-K)q$?V%Ix#UM1RdhikagH7ejJiUfA54? z+%}nnoDeXKxQpSTU&b{B3&%0E)H5IVgIQ1z^UIMjpbDMkMbm1s3b(DK{vMzl!y7Sh zGG4TV1~>!bg-> zKCg}{`!ohdHSyvzVIjC(YzZ@CoA`N{3H!v~!Yql#XyFMeIgzALH47Z)Iq2uwr zS2haBcKp}9vCy|xaJTP4@JzwnD)OSLXhQi zqEA!?W{LSx30NpT6IFrr;!xB^EEgY%j-jb?M8~V5-|!#79c|**(aEGT`ItC<7t6~P zC&w%?4o($*9B1R!{X`q1`)(3Omj)-{b$x``9P_%q?;kBRLv8Z$1KpWjL*oYG#1#{# z^UV_m(!|#%{(!mSme@q}5#Nq|n$D5Lxaa(OHEe^M%W4jT3N;V;W7-O|;+eShUe(iu z%Z;9y4c2QjF7iUXm=j+~J?@V8GiHHs-Q704T^o8Bwrjmn?T&V>OWh&<6`$#!89~NM zmd60JS$bHPykkD5K3T+>2@7ecV!}hLEnd8y5a!v#Y;GYFg6(eDh}K?l{G?FDAPO0M z;`~YG8b^$f!82iiHX4Znw#}g3m}y`F#M2LIbHU97^&Mw609>iPO!!n>76@KwqmB;2XI09}L|RYHbZCHz;7 zaxZcyMaSXqM&PQM&m|))YAB@RBp$c|rvK3higH#@^N~@g623D+eH|4qPf-cq5Z+8U zoqC@ep|+RMHkEMFj=l|c9LL+y8m5#J<=nsQYC*0M>c#&h2CV3TMw(@tT7X=24&(Yj zpkyH>%hgrLAM<|8N#?+45On<-dO;J}qt@v%N=bJ&!l;tuay%(iXOOL{i9xcHHqryL zQ%U7Kt<(0xcTzF$0>JYG4rPu;~k$>Ca~r-Oxl>b{Z<1lEfaQy!dfTIYb!S*i%`_{B8g zL9z-@((%&f>0i?38G2IP<{5HYSB{yv;=3sclc=y{C`$=7dZ=j+AiQcZlB z_hOsalKP;Z%We6MQOPngnpA4B=Y3CA$tITQo3;$Q#7EO!!*0=iN<4{w`jm3KD!x7C zAbud`P7Ok{xM6CXr+y919OoNFD!zeCww9?A@elF)sdMqaqBT7e4~r$~skC=rOHafm z@!Ryu;3iMOsy_58Bi$HUz2;aA!1_aEtB?}v1)Eqj?Indl=Q4MTBhz}=z`NqVrq5SV ze=^XX*X}>#H^hGNo^64zOO@oDVe7g;-EF6uWc)HGuF9Ci)PACnVIU>`X2uP-J&7cm zG%TlhFmp2LsUI>!JY9wZ9Q0c(<}`VOi|U#6Oyk%7(##D=1-Mxc(%;o%fB!jaJI0Ht zv#-z;nC5IX4{FnC$-`}3WNdWNebV4d9UBg{4a?&%_i68#^Ag6o)aLEbBHQe8?HSZJ zgcAdIxBa7vbH!gGa{}%ADC?a8`QoA%H_xr6+4*zsa$2of^Uh*Pd%y#aAgkiqYjb>2 zN%w)SIuKu(A4+{VG2i4PG+Bh{wB$|7tPJn|Bsh>O{%^i7>0ZTxnStdK8WRRGCj#{{ zvoP(DJW38y&XPGHu30d{=;(z(Kj9+-I8xOlnxAE11<@KR+m9}YMb^y3Ul)d1NE&bJ z$E2|#DMnite2-g0E0cLzCvUbk$Q8%urr@BsGB-$p4e)G4`%}3JWP_37(~D9kWR3e) z79fCKdCrZ8HlNdi3-;yN!r$2ZEoD2!=Dcs{eo`X-xv0`u7#2eMO1((Fx4QKzGwgZq zY8#gh*u?F5N8K_+qdhNQHJ}mG7st}*)-SHc?)JXL6Om@iXUTujxo7D!tl2}{wY1gE zrM2gE(D}Q!on#j2)R|gP$6(g`wE^w#s`S2Rb0oe{d28XBE)Atx*UMg`V=J>G`Bgvy%j+*J4+sl^DeBE5l;X1qheP=qsX0 zvlhh36Vd>5BsVW30rLXKPNV%y;ZruT9x&JAroY&`GMY~Lk(Gs>=K^xPt%~$UrAyfW z7sYj}VlYRPRz=XFcCRYH31YxQTWPB}9-53(#nTVH6gTL-FIXs~I-N@JPFW9KlS$N4 z;;<`C4}w_@6(4T^pQa7qbrIQhk6Z08tnNZ)3J~WOePfP1t?MWZpQWnCf^bi89IBgX z-jwR6)VJmOS2oZBCa-zeL>lFy2i3mG*7dV5*{#D)e}*=|EcMX{v2)FmPzMSqe`UW0D%KFJAy`bXPBF?ih;haKtiVmoF5afew1f-}MCeOS9u~hWUX7Oa=#oK> zH6)1EGC$^u7t_i@Y2j9t1=aMhALzI%G0P|6E3`#SkXJ?-hfOedm}Dds^7<(`Vgl2E z35v=&(&v_ZF#Sp8oRpw)ramIr=)?nSDwuvEf}IjJBAh2YHGpa-{2Rj0QGPw)J%q>5 z>DOU`8q>#=D5t~_5&l6nT_n6D@cZMk^5F+>2Jl76+X95I1kw+VdSFoALx z=AEY8e(KQc#2TRzAU(7kOcK@EM2T{$vw?5}ojY<*pCde-@Ls}eiD84fhPoX_9NUO; zm?-H)sUjTQ1h5nSDB(GTw-Np@adZD(D^b!8Q z8e*xZgei(xt`en<5;me-BK!j3g@pe=_z2+LdK}wW+-=F4J2|rA@lM2!777Y=u zjiK)SjR-a$0rH9P4B@*7m%Bk@$m=Cs9#Azg81(|gOr&|LAVLWxDATl#@HWCv5nfD% zMhMr%=GTB}B~h{s_osh}T#E2xRB8d0GSP+07)Nc-AwoGNa*05_&ub%Gp3F4DwSM%#1UblrA#Jj~dacy{ppd2S^9FyXQs2*j)&CqPn4J(!*+LK!7Cm}vfYQlf_v@`$z* z9znY3BH@n_$1cJRlc~9lM7T0VK z4-nx3C90@U7UAinP2|B%qxsKkqJ%unDa65t(sZOzb8%Fvj1nb8h#>ql;Z1~F36BrE z-@ia&a1d^sLJWE$^ix8f4lUuitRkpQBxPZ=|0q(uLEArV__3qLhcz{L3u; zl;|ajgYf?l9zS7>#dMk4Xdv8>P8>fHp`Q{m1J#$88*!iEE5h3dr##cYh(Q-g4AY3= zBO;VjLS`U|&g&)ILHK)w$48AZ)R!*awQ$sVHmmezt z$%@Y^6Zke9_RKp*X;}i6QcLPMQn*N53#lL-@+320$|k&=@H)aX2wzEuz;P42H)TXN zyrK8*wqr-U2Hh^v6$7$u!!JI2-*4(9+mKu^ufzo0+S5mdgSi^S4V(JIuY3F0hSzvz zwCo4`^K&wOuW+n2giiQD@<(0gxYl2*tpo1j&hora1L*b#_S3;g{H?!Hv0o`TPzZ3; zNl>;h?`{)sluK+-E51+>#1)$7iSJcJ@?3#6PrO_)f%W=`?wbP>TqfCFZ{UOKuaKH|L&&!d)tr@a^3LVY0In_56)P^=Jk7snyf-tjZy(m#hD&uBEi*v*XPFTW zitlX>VlK1z^=5P8^~D)2vJXMFukLR9G=jN!BiM!!?(L~$#xD!+%@oamr*R-;%vw4e zCs;(E%4FOmW>-E>K9;kU;VNCcU_qbqJynwvSOaG5XSRV|fcxN>JyxjW_Xl32;hSI# zz5W1nU9}<0RaD%McZd&HZ8o@IHn~8^SZlD_R06fv$Fjt~s*(&;vuvV7lf&ZjEzxxEczTQ3=nNGO&XZ@* zex{a8^+LLlrow=aQ9Qn7Vs=NeFo%K;@(ryp#4Rn6;Pocdl<~gK?WzG(w_Y;C@auFX zqhYreDho94T{7E-ivhk|4O|_M-O7Owa>afoCU4Ewy5I_h4E`DuF7cVIS#)Rma%&L% z{eA03&EpqFCD~{X-7c=)7O75z)})Tmku9QQ+bk_z&S}1c56H**viR$^$x)~3LvIDG zR2GpS+}-vqnYp}qpO>qQ#L1xnZyKn-nZi=q8@Uc~@%F4}O5feq(ISiC@Or-GHud%8 zvCE38M|9%jdsY+UfCxT$;ekk8*m2b z|18=C--_WiDL6}9RTHZOha5p`f3apRGPP3t!JepdDSy6A%Ly>qKr3>c69aY}@o$5=StM*exH2Vfvq<< zL)2k0cBh5LwQ#2&U8Wx1X*Hf!dVhXe`LToS{ryp_;=t|E{A@^qRB``K|FEZ4(YR;8 z@DSBcj(r-6e{0KXQZhDhb$7eZ>IZF__`^<<&nuL9g9=@~#(DdN;ee;FsIHsn^BiSg znrs^$$p)9v$@#VN;+(p$q=WnYprYu`X#NcU{7LyW{&cPA0l)qpDEW})DHGM08Q7Y> zDqoq=4J3s){=$?&vAOPDLpJACr3;9=I9jEP#vEKt+j@@p$kQ=P&uMF&kHD~vl* zgso1I_A8Dj|0=&&Uh2T^cvsOK+Gop2w4IOGhOOj@&Xg~h%|XKGs7K4_Aui218HSz3 zoN$GD?3_c<5%IrI&-Cb+DmWKY)$%R0QJnV7Pw3ko^z1ua3!Lfs` zY=F=qtJ9FCz%-=UWenY4x%E z@pR#FaeaN@tkh}3GMbWG2d4>sG>R+a*rzp%I!~hU4C#y#4Lh!MY4<$}j$df~;k?Hf=cVa ze_I`7$gKGkI?7cG9|umS{jG1UBnBBbg0-B&zTq1mEyJwnIp8>j1Nwe(?%!f-$Qx-P zcOyk?UU~YVL9`}KF98ypLB4jn(CEVn(i%=!MAfi4wqw^|NHL#qGw1(j5p}we@xsgR z%N2OfqHs!p1(v?g372Q5gZFeg!P6nDHa4RxA0AF6rrJq5@K3r5A+FiE?5G#z$c`8B z#@~Ev$OriG-T3ZzNm$gwoF>|dZLrB@i_wIW_(5q zC&|UQlh{MfDuo?3UT@pQ<4PQK(?LaDHFYkX7g~s%MPgT1tq|VQLIycen=SmH{zQws z=;CuPXt73o>4ogLHkC`=97rxydmfJLSC1XH4bz456jRbdMbZr6EMYw=t|2gM>_BjP zF+XcM2t!$3F6A)EkbI==T`Na-jjhaPKVz--OblopDm0CZHfl>FwK^6x zBQ0Rz^t&gB2Vb0qm7?=SKYi{+#X(tzQQQ5nvfAUO?*h@SA;@p_hWl}7t%4PLcxO62 z*zxfpOT{S-=9>8y%+j~Ad<$k8TH9u2d$|dzvMk7_lp10$pPa%*iQ9O*!UVQBrC z0^4Sa3(G;&i*zu&F|7b6@a5HnFYN}zh8@IHZ46NPsP=wgK zq6w6w2@wRE(uDB@$jKN&z&J%PYip=)Qv?$w9aDq=0_Ua(egq6t1wDcMse(?XO%*(3 z+EhU!)6xZ%OiLGdnU*e)WGz0IF5J6!gk>3~33p`TG+{_4P7`hrI5$lgAYhm-{7)>B4`s`9z#9{3a7;2v=m{48bWAX9z!$7CARV_<@v1FI^>s?`0|oi6#2t(mZD!YN4W?DGc2HoOoVu1A_Ug>gk&{=RR2!_9*xS@r?(aW4~t8=DSs8*ag zCw?!+rU#(XuLwZ_|lr7v}e=Zy?GnV@@+NTO;uF(!ge|d?&w(3DY2o^A0HAAH%5~K z|6F4Tn%ZwQnwT}iX{OL3H>CJGH|z|`>~g+Ekmg|HO?nprd}O+q^lG%fLw%0Q+s zjt~9fc0aQY(XDzQSbY4|n4nz~S(ew$(Rleu#9oRG9@so{SXSF)3W!Hv-K=0u1C}x| zdS4WNCNAAK2ak%c@3WZb)RvEmztdZZCSuT+r5+nQI;Pw6-W0#z7mTloH}+X-_M)*V z&(7KN8nVEptvptFMlINgub%jrg$@#x+iodz z@?0X>kj;i$1m*M%fGm_TMBVH052Pl6-dF_4QCFI8{QM34>IAV1cEtT|mJ;$Lso zDw#Ho9q|w!KfHqC=ieT-(%lt-65LryLrDok~zr)=;_mPGyPqJ(w4UNOZP$Y{WiuyVvxaZ=w^6J}bNfrKHGmrG zrb?2;EALIfS48*sAE8@y<@+;2j;p;tJ+A)V!rRj1jUgAZ6#xaFGFo7lJ2QB)_H*w) zi(vz*LV8ND`WjSN$wZa+4@bX)Gd9FoUmVRgT@PviayAo_iRn%dlBFG zAQBge-+a*Fojtl!^X<7{-$5tmt)feGu(-D~%;rwdkLXosRPUsL%_NREOlb%|LF~{b!k}z@Gv6R3zWyPJ! zSuNDssd1N`bjgyZt&om}6XKW0EOaQ5!mZs^>Xvb~NM4pwP*46%ydUw7U z_Rm=SkGS}s1)(_)$!|VwEf%e6$(RFah+8AOkVa>YaO?=58Pp2m>3>F$`n>VaP^&>b zpu$!wnY42IH_1WfbXStpajh$T2JDP(vx&zm$p(MxcqEy@-yXM4{9^?;a`50Ky6Vc4 zFg#*pA;t5LsdjwqMQXI)oT|e?b(1_6ed{UF{9zm}6c>INg^A+U53Tx2dYw4BF^R1? z;3hi_Q&npwitl_l*=OAR5=CRhEm{S7OwiQ^qDs8=VX)$Mu&MQTG2p}m&$~I@5VAqt z4eEO6p~oO69>Wvj$rILz@2104ed~vS2{{9!-Dqye20rM&*`R+d8-o6x4IxKd+2H$5 zzAD4iS}Xc|w2q#)J^4{c_CwT@Cd_6*>j7i0xn;AOJUQpys1upD)R1^jVQBsLN-`j3 z*oMECAr1KHdHK9|UkuFCw=T%Z=lLo=+b;h8(Rh4a^yp4ZJ50r{&=zRm502cUpe*hA zrj<>w2uKKixS&lmw7zNp^LN#Zk6L&KxK~H#$<^vxJ;cYlXC+xV;~;m?K$gNiV!kxv zoae(?wD?1#I#_HYmut(VE$VHLAK4%NQ>Kpn%Cz+F&Y_7tD^I6C%~2hJ&P zbMyu`|0c=&@F6A)6*J-1;&aMd>?!JOH{HlbPG+Xvp-$WPiM<~i5DSXjLVF<1~LAmyrX5T8|Q+|73camZ&wG zuwsX2nb%4=+aGWo)Z?0a)T<`Wt_X6Ehpe~9Zsq(wcu+1f&49K474c;3)U^-F(;wLS zh#IneTYcwtE0{s;T{X76KhI0&cngH+3M>l#l)Fc_BH^S)D2Y>S;4*z%6UFr>$6e{upd8TOo-%m(L*X{QQ!r#=P5##8f{WxUvT zD%L#c20$lJ@6_+CeHmR)jXvaCT`%AI%8-voG2zoB9!HG+;`&dcHP=1mx32Q>Bfk1+ z4g(bb^XXPLFi9-^R|vT*=?R*+`(JxlgibVnHig~XDL(kw9)6$iK%jW*vq(OhoC9Kb zPa%T%Y)>gUhX32sg-?oaeQw1f@$=6YucurYC z)EO5nbXgb?e>olR-k_neg>Z0{4T!;C1#lg~OicMIN)ZqIaTH6xa=9&%)hARTYhU&C zD_r0py>7Ihv23@sSJG73wimXyp({v!Iw~5@M6eM*ar&9@LFH3|O3J5<&}(nVx2tVk zPBJ$#O(e263WlCoA6<_$x=C;Hw@{*Ur!g%q*Z?7^# zZ+q46BTB7{`L=fcpPkkI#9zx9J*)e+{~TUyf77KS|8jfhjX=h-=Cq%^)sISjNSmEp zQD2dp@0_i@f7nBTm)q~%d(PduZweSR^vV!!bBu>?GXZzgN_}Ys_BRud2YYm=3<0r+8FX@#fXi867^04@fJ# z@j+BeA9!Pj?+Rj;9lNqi{StX*3Tt`cyUrRP^ucMCM1hPKR|f2Oh1ud}NYOATEmXh8*Rh!Vq3q)EwoaZ6n_mFaJSa`4?=%A$4dqv|7}ICK^n$)DVcp z_`Wn4h!b@;8TI(`P7u=Qy6faXiVebvSSzgzLW}RxHi!?oG*U=X(*|m@sg2r=l7t|7 z++HHx48o20gH&q5w@@j01Y^2!cRJ3LZKW)|bBk>#FH+?W?)3n z>r}AyA^>ai3Omt~$_9h=z{YIBZBj)BCgVQotqhvya_Mvi?#5!NAd`9;DK%tb^5VXw z7g2B5dGdX*M*i07?gSGI2HPm)V4FY;dVC0mX4-5)PwjtsnEau|dR z^5n=iV_^h4rT%jVd4zwV)Mf2HHQNqerx+$M-lknTh@`_?`zicoA!8Dl`TRBH3yGv~ z#U#;v)E<%|3`oz-#c8y&KbwpBQ?D*A18!6qVxV|9&C(@*7@jkpY%wbMQw;EL$;kP| z;0X2~(r^sqI9vy#Lo>5CTv|R4qsAQ|;w7(@`2*0v_0Ar~Uga>w%!i%sr<5+%B^{WD zKTeJhaC*D*P0BU$rxUL&%EiUc2+HJ73^Mm=Q!QhHQx_<%qU4v}7 zU?G+iDza0CCWF%37$!LvU~xi$YI`jczNXG^*Rn!)@8dQy5ZnK>cZHun%&4g!I8ed=hh|q+DE;&@_j;813zM zHI(i0;_V)?XQ(v{Sc4ba=fNKb=0v5q5w z#|9=e1E-cE@`>-b)Rs@mZ$MHlK|8zZB|WzUUu5x-oqmKTk@+oR4=U{J!6n^SKtK(6Q!sJ@g`oEtSfPg-!+YJdna^VRD(gjSccKZ4RlUP zZ7VT?cK5$m;x^`-A}w8o^Vn5$=fPEYS0SZ*h6cqk!vN=$x{5JeaYQ4WKOyxMqg8eN zzo#kjv*cNVx6}om6dwMYHNMlc6g^N8B{v|MAI3y$*9)h}#PNHY#=*p0qAHiJjejlIRCYE3(De&~xcX-xHo@ICkjgn?9j%WR9DPb+v zssms%%D|5%F&nyK4U3nP?XBf9ZY|5^;t#&yM{9x5AZQOvBOly&@kPn-0RHu1K+aINKI$r8|6s-z#S)046 z^M8-h@}f<$m*YYZ)?bek$2b!94R$_ z+i+*-Tj-@^EL}=^8<%j_%TuM@Z{trG*17f_%wjmc^PM*QLdkMHJGXY?^E_k8lJYoO znJrnOE%uJ|{c#$69C8vCZeDn#1 z8%OX4xt4WwI;3#{li~>SoL3#9H2MjSD#MX0;KDmqr>Ht+^pV^@!)0N#9k+d?5gt2f zf5oxYNbgJSXDW4mreF6twCOOIO&fIEFVddRa0xysUHuI6rQ;>&CS~pjQ; z(7F9fk{oybnwQru$8?Q__mYyo!ph)8w!YQk#rNqI7d(A}E_zuvFiT>Xcc0DAz0p%T z{uRmoHR+G9Xg6nZlK0mbsP*?v$Hk1kBAH?Fl_q~pLcATNvaiXWsFGg)8vXPxW&W$o z{K1JnGTi(6ztX;Vlh+gE`FME6wS}c#o9<9#%6Q@ywa<2#3X@i}=b)}AGEw^#b@EGAIOcn)8Qhcsd6Sr|Tz3vXWp+e_(sur+;*dQK}#kT zDgO>j`F?o||NA?9ka1~J%6ZZS1bfb-$)}<+6Bb?OH1T-3lGMox%K!5`PUHEZ_z)@K zdrV<0O0^{@e19Upwr8rs`&PNqn=e;NZ~lN~wA;OY9NYA%KjI;FeYf<}kCC5;8vyO7IiMP~GHal#?vLW&1MVkf`O-sVCb>DKAx3uwB zG%F?*E_RWL{VR$X+8O>EhNDW+q=#q_rZhG}MlXMCRaeuL_KrB+>fAFBY zivj&ZvW_lGnm_P%zzpi$5VD64MA-9wyElkr$nYJEIhCDZf8r@rF7Kr(dZlaEuoIg) zoBxY0#_@d#(rf)Bx)wv{*K}#)e4>1#nvwM>^;EUO>BZSiosSRVI~=>fcZLsP0LPlc zIy3IzbgZFU2^oH`$YBS$lUdZkx+WCr3W};r=`}#};jrCydJQ1A3J@fJkxG&Droe7B zg>U^StQ-y|BZNCW3A4M?pF#=;`*+KTn(_;cTA0w}P2QbCD#=j}Frqan=}$LBh5c&^ z<-B0}(@oLgaJ!exP0w3^_$>Zm;74KQv1Yn`jbpjtg$6?G+2CKe5{*D5^zqWlwo+2E`5yO-&qYt`cGv*xjKKl^FF<%$%A_4)KXTH%tk+A^Y4yea-IJ6 zp0VQLPPf7_qS2YdR8BM!O{HVuP6hSDPUURWl#>s;UkN4roenle=x!Q=;Z2x7R?4T_ zqQyc^rukYZ3axJg=Ztii+y;fjML9m8?ew~bgUDa?8VT5|V&QbJ-y2Wgnl>DLl5J)R zb3t>6M!LnARr{jzYua42=SwO*BrC^O`GqKjOZ56mL;e60c$HLM!+LdGq2%D$!pPE@ z`unEZ0Lo#Q>tymfukd3UE!U*y_Kh1z#8x@%BPn=xh>=y)%Cj&v)!zUcW)Dkect$pY zMjGMSI_A<#WeOI;_xQR3q!$$|f~$io(s2b#VHTA%NRSSlX!1qSx6+={G!+ZxdzOzT zN$XTBkKK%xPN-ObTE3l7jLO;hql*2Var^jS>2DhLILqfHg*%(fw93xu?u=Z?*QApk zY$rb6ImeT&Wn|&Jr(=C#177l#Wi|P7D(MVr(%7~(k?&vjM94~GC~@Wb!FQ!jZ+3#; zu->JUp7dd6&cYHq5BM-&B-PugXO9t>XkaF9!O&XKL*9u{`mSVvu52K!FtAnLW;lY0 zo2*1>G9JM&JxE^|*vr~lzV#?6&4OjQ`^srb z+a#AX>`%AJQmK|=B6KpnVPsB^oKL1%Xjg9IVN-CHv?qYQ6Rxhx6JIzrD*4m;U%EJV z@gU9ca|YnMr+EKwCDSliV;=FUcx!DSnE)G5S|7y5Y1C_wFG;7jV(QM9g4llaHS8&y zA7VjJdEef}*V^~UYQZAS4`z=AIHV@kLOFd5-004Z>0sq&gPZ?e>BnF;4u#I!!SsJ2 zQCd$PZo|yCBF)syN+v~HSm|OHeZggG0o%)GY?W^f*m!vLG*c}k9|v#k%d+zeXT3B^ zA2BkY!fxK2LGRP7D`(ljOe0kIJVB{&$ zOZrG!xddr;Bzw@%4~rfv-MnRf>7$$IZ&7*qHTCMw4vkzC9kxor1L^D^W(LSYKR$M0@J2VYl!W4B@#+`NgHBC8h5|H^h}~dbBjIr0DU|N57wvyRNjjs?tXqn90Wb(EruK z9oi-)#iqo@$4-i$loBXKX0gbCVjmU=xkZ(grJKC~znjXv=;1Tv2@m{TTA#&YQ*R{V zdr-7#v!!J1X1Z-1K;8nJi(HV~&GDNbEALHUXX4(p6c=sS0CVFOTJAArDp*QNE2M9; znBS`TQG2R3ZL)0GwDA%7B%W1WTHNND_GnR6F6b7oiL+H%iZ=YAi8uB$fh@ z%6v*5!`zLJJ-Vi}DYn5!3HW*T}{X=T+3UDDc38=nWA#b3&r#jIZ5({Tap z0LU%f{OH=s^-|R=wgj(8Ul1+yjv=9F^CM-`p^BVauz5jg)f1aGufJ)rJzPXH24NdF zxg^io%o2Ubi+r)(l^YE>m4yJP@lZ)=W%1^<(D?x? z=ePg_F9?O%uPf+&>YPIr{w`58GoJL%lx&uaGo^A0a%wW-xiu;`s_S`aZ#IiWjr37A zy%V_+3ok(Y=F;NYm*%qYnuyc*u`*80P#UvUI*+ek^4NfzixfNn@)!Ii( zODyqRKSoaQ@RD~$Kv3{4vo&;ljNH%b9wd}D5_}s+Kc0RH`YGv0`RtbdAVnpBQ65uX zcOO`$qFh;%tEhD6>vLH&eJd<|F^>fWs5A{`YIq#|f)ju>BPIcC_kbhPy?M-UUL*5Q zo2{KiQk*tV8#gIwo>mb!D*^&jB0x=eqq}`^Ra$9vacQ}z!7_+Xh+qA#mOk5Av-a_X zN%5;!SFT-Myn%#ub-MJ>0~D=m)gD@0l`v^T>BdK@%De%_lORYhJixjlc6gD4EGQl! zi1aPRQ-J&4OW{V7uJWOSA_&+rhL1BYNZORc{OLe_Hitco=+*hxd{Wf-v-HA3_P+oA zJhFb{!84dFW8x1u(9_$3lq-S&4bi?-IyQ3>} zfGdX`M<}=H@Wk)iiY%OQpa?EQUNZa~81(t&Iw0HG!QdJ<^kl*mSo# zu&uv4njIM+om#}QJ$n2aXtD=4+#Rh~B})N$Y&Z5uZ{)F+^vFm)^s1aVzWQ!D2UIGX zYpADHF-oSzESPTeQx>zp8ugaDqrEaYBm!$Z}}{srr=4M8wGsM!>7D%Rv5(3+RH9rgO@xXNhUQ`sW*vq8xOPFp>d<_kjtT})t*m0W5l~G2fp34H{Nq!j4 z0OJF73i}9=4im|XmnZNz%hjm>nzLxd6)qnd*w!VaubQOZCCogtZO7eFo??EaJaAbL zl{-S+D1b*V5_)*YHO}H7w+E{MpP6pJ;$gK`O%f9ihBNsj1nHExx?yHk<8Cd~#$+V0j^dzY$8Yj&}AJ28)zwQ$_9E63-yxwauyJ^ZjkWYR~z6#wFm7fDsLi~P37YWW>NVg z>OEP6+NAl**+dV^YmG{9!k)vFWs;s<&dh1L{b~;TIo(Vri)5=B@!=7oU2P&AlMb77 zEc99WJXTLX6zM|F5m94~wfh^Y1zL zV`i9P<}!DHNq{g6#Ef-}lPt!uMIB%um=GN!+0cS!3?EJikqJ(=XsJvrwzSLBj)8bl z6D2KLo|bm8i%J!hM%Ja3ZgEAWE3LH6Q`wrXvsqTr!rc8$^6&n^ocH6Ld%oZIJ@5HI z4D|!_Xx6XrEoS4haKAQP03od107B2)v+1U(5#wbx^xv}>Vm4DuD6I0x0{KkwD5wiR z+|U=cie-}ephqSbolJnZI=Z1pwh1oEeZWO6MPd2BA ze!rYp2Ojw`L{=6F0lBDR;3r&p8;6pxB-LCBntBYml+cc<0sb8sM4Dr*LD1*NJQk&~ z&-yUnr7=xt;J1F!J3h<|un7}OAl8p>=&MsC)Ci}NK!eY1=y;)vosj|+r+MX9<=j{^ zr&@L@AF9N!J<`And-9+6Uh+ zBB1^kT+AF_2Q>Kt#>{28(kmQO>}a1CnzNMqa4O_uGR~qAi5@AqcH~7L6%7hIiH#ZA z-x0$IPtO?J!$<(VTHMIDZjJvuMnXGNs@IIlv1f_5Aw#ia2{Gzl3Nu?mRMXSqSR;4# z55}THQOup)|%8M*(-**I|-9qMjLl<6!X#OsfMQPU{J6g-gDa7H@p|RIC^d(s8 zHr8&*zTHDoZ6>X-)_Sm(UR$$Lgmtt7UVJTrl6k0O5QuMj8Hk@LQz0r0PdmlDjwHyz zU-(h7DQa`%K$-kv5_1|r`!Bpk3bVE{z!4k>%?)CX&rwGhxa0gPsyIhVUziHdi|EfO zP#4e7p(cxB%Q6u0b#3`BzA5N=y(_b*YT%N@UY6j$>G0v1kA>Igk-Q|csUC=T272c9 zl1yr3@hI@-nGHQ)!wCO(KV)$)DC62qck`m2k~bnGU*OWb6}#7M7r+R;F^Y#htl2G7 zoXuEIS)3RtZ*1r;h|nPkj|>Tcbf>hHf}Z@>Qh|ktzL9J2P)j2yle6P0Yd5eX2KieV ztSndQeXe-NFE{jiwn0*}VUs+n*lWK`e3Ug!AbP_7%Qc%ovfOUqlg7j%NM0>@H{X13 z->=G;n9pgz%t}Z)>kzzRhj$Z1=dae$+H<_A4hX%ulxv))jF9XMh2)k#klNqGiyvNQ z98z%9sBH|Cp*QQTFg3*XHyDOIN=7CU#_7}&coFURA)dXxL&Sml>3^%=M7G%sk(POr zAB6tjtY_>GS_9qI8Ry9m2)*+g`fu`#+KY#{r?Bj81^rtq#HYZCyuG0ZFIzwXb7CHZ zK`nKNJ9ozx+70%qk;hspDfH{+H8@%|`FKVH&S3sTLy zE0)$UfZ)4H1C_CZF~A}1?l3>NXZ<~x7t&RDkVdcfVbJLKKo2EiusN-`AAGd`m%KX_ckb-Xv&c2VG)jtd3lLFnr48K&##ZRRd z63yC=@tGdSqT9%34T%MilE2^3&s-v*+ZKSuSb4;z9y%dY5V{Y{$OpLlXDn<{&~nWm zSY$a)@!H3v)ACo|edi~fe!%D&iJr)EJtpmtcHZ&sJEc-f2vJLxS4j>Kn{nXnH0j60 zB3Y;6psy}(=-p$aRW@<^mqUMmFfSoi!&q3|5j-uvnj=hd985VjkEo76b{iafLRV(@ zDhP=`!ftG4YiyaF&3`JdVqo*&ri#*XE6ci&kp z)c(@MuiLrG+GfG={uxabG|_f0xEO55LrD-PU~hFe-DvU;)AD#GgQ~7Ap3!QXc{v-? zzT3>(u!{VwnQ!m${G}wDSp>Fd#&2%tug&y5i*zrCYbh~Q45j(ehK}kOak>06LvCXk z(OI*MUr|UbfIWS2Lx+dgUh6Zmi*EZq7%S~U%NjUif1Swr)EZ}Jm8WbK1J=RJ;AzWa z<~>6uEo0x~#zViYSbXoLJXc(MwuN77JJkjK-1srFYE-d1p?%N-H&#r`XysdOn7p*1 zdptP9j`fPv>cHY{_J53p=^^C-Je3~l2*(kI5RN!tZ6O@e4z=>^o_-Ih!*H!(x=nx@ zZ>EM>gfYZkLKwjtzDck{)F57k5|mMc6Je-~R7@cw>UsT+ydb_&cjX%qF#Y&OH^THB zOCWS196{(nIEm2MMd}=)cTwAN1Mu}rV5|Z_Ms3DzFt;v^Fg5>5u0G(49x4oCf~xhG zvute#ZSGRPkycql9Pm8!6%0gDN3W!r0&S*@w0-yT{G72%iurQW&_D?+;8`@5#X(y4 zy?lSq@+ada=F3p4Bc?k`35i^!j2pxABP*0Y@ zlDG?odhAmy0L*Tx3R%T&w5iyXHs5>-qI zRZjHxfZ|z$5s?tHE6!MbgN6fpiubyYzBDD5{SO0k;1H-3v7;xR^-5kEQQxkwg zNaHAzaZy+aJ}zfR?;?foa0_vU6)pLx=_2CzH)aa8YmV^3Lej;pES4vVTgfG~1+T$g zjqbAmZfXSV)Q%j1NNVZ_Jg;{b2+7P7!+^V4s&^Yj>BIz(1WQfgs0lO}@0N&BFEc#5TMG@jAu3U>wH>GrV7U6~_ei-<$DV3ik zOp{W59T#d8H3<3k-enI#EtDN1jE1Qpif{s2sTbjN425Q$LjdPYsU^D*BOiPM0hM*7 zy$B6cV66D*&^*GPRX-VFf5ujUwC`Wat~(alVexOj(e>)dEVcSd4~+{H@VY~mI?*S-_nUc!^Lst8c~2;)S)C;{ zel{XB;2P`D4Qzu*sG?keelI{CfEObPhZs*sAhOEmBjrTxc2lBS2 zyq1G?fFPSOKMw<%vZgLL?FZlysvaV8QD+~B`L@*9wL&`=C(}b-9fbu@#|}+_fwz*C8nV;t4w@n5ZrCVJv8fs4Y5P)IO)386o%?~#+Uq4#iB@qR z&+8deQ(==Zlp)Te)!E@iurI23o(7%a=ZT9z*VL3ggQYAeUTPH~ucsX&us6jfC*V29 z1R=JFsvtryb(VoR>qyP|gjzu?DTPQmjF;nS#et_h5F;Nxb)e(fDcv`1V%q!naaRU^ zGmAdMfk@S^Nge$5>-^4?-@qohuVO%cR$@sfFk{!G-ODsqQd~8j;9@czA0Zd1&D9ZEs zCl2kFC@;1aT~CF08NhKaxeH&`I-`7F&&r_-200>0?QRMgo7!(c_l6ZAX)3o4XOy2E zVNd-4r&GVr2G6nEPY<(0?;Iq%HNiU1AmV5^751c?t%hO~z{l@NO>Sd-97pqHzi9va z4;Z{)hcAE=K5WDRM=G}_g|jz5byLMa+2EHdPk-^ha!9-BIM2M!*ObynB4%Nh#XNqj zB%4z+o1t)u2ZbjJY1rIZ3*uUHYPwW_=q$_D9z4!VSfBRvah{tu*)kytG$gcLM5M)* z5QBK^6mNt;YSrF4&OHbG5tk^IFd8BH0i}13lDs1ZekhXmmjH+N;SBIdB&GNFF?;2p z%u2GAng;}WX1n-+;Mi@ZoJzbnffL?N)^q_;r;lj0ooLwEBU)Q0v`x4z<;~B%b(G|& z$U?h1+rJ29cQjRU9eDk?aXDK z=mlr^R7%I;3UQs$p9J<-frJckMaZrD2&c;^F^w3#11WuR!eFmh%t#ORZ^C!cY-cZ& z(Z@Fk2`@Jm#MTkZ^H{2Vix}fV^XA+hi2F_^_7WfG9sZj!vo(lU^nW(hXVf)BKx@l|G&t%Yi|2@B)y417eaj ztpTikyk9gUyua%-FxU+8PiBw}jW#wspIGhPnqa_BG@5!Vn`nUuS zZ+dtNt~0m9ciL0qmxs?hwM`&S^2u>?%PfHPCj+8bM^d*;T`-M6acaLi!E+mZXCMSI znA0mc>c7064O6T(fPru(HRTh1Sw_6SN!t&A5<2UV_@I@J8ki?Qf6Ca@Dmj&XlV;w- z*|4#70#THwVm8I)45XvyYj^$wclS()oz8Mdj;B)dW%fPwf*QiKs--4Bh;vT`v*n9K zf7{6vIRA~HlaDFQ_XTsF9#88&s7ULbh-iG;V-ev3P3F=YGQXH<8Z~42*)a~*;L~Ls zcT!l}0+8{iMd9EI04y|U1zyMU`_M&Cr}XKcJFH!juTryro1|biU6U(i!lW}FEvtYi z8VL%%)4Za+Ksj0$V8;qd%gvQt1?dy!gTiV4k0OUND2|B1XWF5J(A@RBX9RfQnbgFM za+-innFFCq3xAd8RnI@;y&@%QSZjVIO7ctuy32If2e|I$W>s8Oc3=fQZ0V>4W$Kw> z3ykpWcmjwKx8%^JV`jZbJO5RFbC3VS=;c}G#}U&YrpbqOs4jBsvYhe)U;8kn_l?RN zs&$+*kD2~z;?H394<9#mHX=ggKT|U}?2-weugne+lthd0Acn{S1RYxEm?DQI!aFtOM-3 zWXYEJ9T)}FQc{hky0j>>MTxvP8wWFkT*2yuOXyYwpVd`gJ?9b}CVQj9a((5195-Ug z@Mt#@^{uA#!Cl0ss51f7@xQ5luTV=J_7Pz8$)p7Dl$4kSQl|ar0bUSstyf12gs{z6 zN+R4@7NZPz?@;k6-)^M-ETzZJFo+~U6hyC8;ahe&e*3&k3f=-ESNrbee4$hp#=3y*A##sf}gVpk7XNQ*+Sh?Y!b{`?Yal~=B$&HVTHyzcpimW2RWjBzjj3Vx0l|BbK`lH zUa$072F=-4@#~HQybjd;ka1Sy7Ay{y-j7S2WBAaJK~HS92mQDP=c7+ZoHdDFFHH)r zrCWzWg?gQn6D+%RSa!}N*{i&pv9YV92XOu#tR;*Vz04*|Zl*s=ps7{$R%M@!gyDj7 zwO|ifbUh*kZE`-e$DP?$_LdQMci?c(Mu~mZR{F$lulUeGIoW(gI&lUmX0!ChP3iH! z&U+?+PiE;6!&P*_npguSZqoJU+@pVUm0RacaE3tU@ zUVNxR*B4FV@OHIwVY7B$H+Py>Dim(7R5+{6)E@2T*)^d`eLnBX^lP#}ywz7GE?bRG z>MQ{ouGCj@)9hgwiNO0Rb^nb5&bfpXc#b=<-9x=CAHJC4-&pw zpUf2-i7I!5gM-q5T=6ds<-mIxzIWfLfH-cYta6`Iw2{ji*iP)}3SNXK?iMK4jI_hm zx|qw(SlB|oo$BORFKE-%+S6Z$2_M|84?1z5nSPx|b6H~l_H>iYvet`;Q@d{>Q+RGMNtTPJ`;YhZlCZ7>V?OwIgdr{)r1cx4VI5n@$K^Ecuo70O+s z9es%Jw18J$XADr>xF; z1J_>bL2V-;eMCu*$TtmG`%ptc(zN@w1OM;86WcM3MHUs+K_(Vs8AmF-U}_ToSjr`1 zI=j#vVIvhU2u`w#-~^26i*D|?+fMFKF`~U!btBoQZM2g{jwtlp5Q8eVeOIB;_>Rrw zUi=eYWm(dW#(Dm(KlmUZSPscP`hFjx4WC!2@ym~rh&=x6!+8)NjeAjM*NQ^5J59Su z@{xP1_DY;@F8o6|A`JWJISeJL`<;!vrC30#^|*HDVz_Ged7N+C^3ga`10h`brswJr zErIDb_k~>{raJML)NVNmE52W=KZzqj|Eu+#af8iwG*)u%YiP}7b+JsNxC;mPB zBnFJ6B#(1CK=yAc!%aB z@HJ&+94q|@#15&GDB;R-I;mqNL_PM`KtnwDGP(r4Tpa#ah3x-=%S!N0A9W%TO6(yqf{Ne|U50E$g%!u& zz@<9y)^?@yv=HhC7rN_S5f&7M70f#kQpTOwx=2c9CZ(yfXzfjxTbq_$+DqTyr;n;w znV{Y9;dw5eG!=*6`aap4ekHjBU6ahc{8iM-ku)-QKzWJWU2vhe$0ZcjS6IQ+`Y>}3 zKMc}v526{Z9`x`}Lg=`!q0OAAOO zch{8^i|^{)5|VEAX_8Y`w1L=MRA@I%AtL=wq3Y^Dw)`@SxwE+bV4o#4lZwT(yk z4W_Oks~S@<(6pPr$$wY;Q<)^I_^4G`*~cKgX!@%23~qyTA9@V#dF$2W)^7e5-=8~a r|Cv*CyXNpQ@Zu)-$}yvSol*PYw|JRQZ2VL^_icXc#lP?4Lx%qYeHv-G delta 29289 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