From 47246050b4b456f2c0c606343ec783685e75d926 Mon Sep 17 00:00:00 2001 From: Stewie Date: Sun, 6 Oct 2024 19:23:43 -0400 Subject: [PATCH 1/8] Create new structure with Code + Asm --- 2_translated/font/trialFont10.NFTR | Bin 0 -> 60716 bytes 2_translated/font/trialFont12.NFTR | Bin 0 -> 80524 bytes 2_translated/story/FSHT00P.xml | 1 + tools/__init__.py | 0 tools/asm/armips.exe | Bin 0 -> 772608 bytes tools/pythonlib/Tales_Exe.py | 261 ++++++++ tools/pythonlib/ToolsTOH.py | 876 ++++++++++++++++++++++++++ tools/pythonlib/__init__.py | 0 tools/pythonlib/formats/FileIO.py | 279 ++++++++ tools/pythonlib/formats/__init__.py | 0 tools/pythonlib/formats/fps4.py | 217 +++++++ tools/pythonlib/formats/structnode.py | 303 +++++++++ tools/pythonlib/formats/text_toh.py | 183 ++++++ tools/pythonlib/formats/tss.py | 297 +++++++++ tools/pythonlib/utils/__init__.py | 0 tools/pythonlib/utils/blz.exe | Bin 0 -> 8704 bytes tools/pythonlib/utils/comptolib.dll | Bin 0 -> 49664 bytes tools/pythonlib/utils/comptolib.py | 174 +++++ tools/pythonlib/utils/dsv2sav.py | 77 +++ tools/pythonlib/utils/lze.exe | Bin 0 -> 7680 bytes tools/pythonlib/utils/lzss.c | 516 +++++++++++++++ tools/pythonlib/utils/lzss.exe | Bin 0 -> 8704 bytes tools/pythonlib/utils/lzx.exe | Bin 0 -> 8192 bytes tools/pythonlib/utils/ndstool.exe | Bin 0 -> 48640 bytes 24 files changed, 3184 insertions(+) create mode 100644 2_translated/font/trialFont10.NFTR create mode 100644 2_translated/font/trialFont12.NFTR create mode 100644 tools/__init__.py create mode 100644 tools/asm/armips.exe create mode 100644 tools/pythonlib/Tales_Exe.py create mode 100644 tools/pythonlib/ToolsTOH.py create mode 100644 tools/pythonlib/__init__.py create mode 100644 tools/pythonlib/formats/FileIO.py create mode 100644 tools/pythonlib/formats/__init__.py create mode 100644 tools/pythonlib/formats/fps4.py create mode 100644 tools/pythonlib/formats/structnode.py create mode 100644 tools/pythonlib/formats/text_toh.py create mode 100644 tools/pythonlib/formats/tss.py create mode 100644 tools/pythonlib/utils/__init__.py create mode 100644 tools/pythonlib/utils/blz.exe create mode 100644 tools/pythonlib/utils/comptolib.dll create mode 100644 tools/pythonlib/utils/comptolib.py create mode 100644 tools/pythonlib/utils/dsv2sav.py create mode 100644 tools/pythonlib/utils/lze.exe create mode 100644 tools/pythonlib/utils/lzss.c create mode 100644 tools/pythonlib/utils/lzss.exe create mode 100644 tools/pythonlib/utils/lzx.exe create mode 100644 tools/pythonlib/utils/ndstool.exe diff --git a/2_translated/font/trialFont10.NFTR b/2_translated/font/trialFont10.NFTR new file mode 100644 index 0000000000000000000000000000000000000000..22b5b55b4c04e20ed6b22011fb196ac77221a73f GIT binary patch literal 60716 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

dQi4)u)ibb|Y=R+i_1yXhi1=X0 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%0AAH?koDD-3B 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 1 To Do + Intro 48056 diff --git a/tools/__init__.py b/tools/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/asm/armips.exe b/tools/asm/armips.exe new file mode 100644 index 0000000000000000000000000000000000000000..7ea025691d13da20bd58d43fc8c3789ded2fef10 GIT binary patch literal 772608 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

cJ zU|-IRoMYI=eqtLv&JeeTtJ4_7#f2~*cjYlfj(iz%0vkCoJUq9FgrKuJ{POz#*&!Ik zhMUuy_QjK?kGs}gC4U;*c}em@Mws8t=GzjupDY3D%;ooybk134F9TTQd37j<4nYXS zSjPsiVp^H0`|QJbIDd1m=FB6;%-=fWTWN%|G`c?f<@E!yW7!**=G5hyo^lNYgf>35 zE83M4xcNajb^CpvXj>=iZTmUmO5+7@?@j-%h3Z6)eU(S(=suQ?K6(UnblD0+N1s-q zP0-`^Tti2@$ps52VTjT^RJpPN(n0|##El>Ar_0cQ!PMV@DqQFLDgqSa~io!koS zs?L~Uv1k*0cg7Bxn_u^Rhb?{_HnkJWVq;2sdnw?(G-iU{D6Bio8B@zEQ?~QUKSolI zsU&9J;%ry{=|LxIc+&W-W>Dfz7mbKTJNesNwQ~%N1*VM7Us5?>hD<-si5h41_^k^_ z4ac1!5T{tw__g=aopbrg+7%P1)~mQo3Tll;pOKJQM`s@<{EJ4#c(X1LF0o9q^_unnfsBO;+^!Wg5#F)W0zII-03{^a)=?Z3h<{W z<8;(*#1pS>e77!GIkIi~{x$+{qX30DpT^6&r-4w@=2^EY9GuayOYpIS@%7au4dJ+{ z!Tm53$u*n%9dgfCHL=F^G=j`2Ku8o#I3Ck;F#1AH1^SBQjrX^^wv37pq#WMFV6UF1^-ZbJg)Z>MQ5QWQ@tmedJW9jlQq=a+Bku~qQ-RPQS~U+cpqP_ zjdS^Hx1xKLUKM+0fwJSdt-GVri8VIsSL~iPn}@neudXvi#uW3o-aO{M{!>#LpJToI zYx`~|zk&+|o#UOR)_76*0yQzdo_qUpv>BRGeb7x8A z@Ye9i&MV7Ki02%~xR}iNJ)P>9z0%A)pAa87(i{nY$?b&U499c!8r_mpmeH}FQT7?P zb$DkxlW)sN>t(X`X@^vr@ECp+RZfjZmmUyyxeZq!;qli}>v`^jf^&fbX#>d@)T*$Sx+CwUCB9(b>YC+b&&VW@XXB_g}A012I)9J7jE73 zPQJ#b&HWpTif=aOK*M0XquJ9rV84ESI2P^_up&*w9o$DKrl0-z6Ldr-RWT71(BI;% z(dHg0fgyH}X?E;M(}{R)f$h0w{a2%v5tpMEP$~@Cn#T%lp-!mnj6~6*pruab-Kf*} zE^<2)MYkyzhrmuVyW@LaYu=q$(CMf7w;vR2;DxS4(aLg7=G<4HXVih~)CIMzp(!32 zD%SYK%n7U3#v%Nm{ghU-VvQyJ#t?J5L9^(U`FfL$o88X2n9 zRS31+u0kkHy9%MuUWE|ulW-6fB(4^@ACC~p^HCV<6L)TxuBMDvLlJf{NYv=O`$OSB zo_p})!e?VC0PR$tVDM8g3WJ9mnEIt^SVN7XW$w^jjB{9Sz`i8PXQKy4cqKof#7+DZUCRkR2682SP)|K-$IO02{ncR*3u{tpz`*qJwTi3`PHBs4e0kCx1h&*pr;tn0wK_| zdw`yy-(L;-AOrel5A=qxZFQ3YEf4~&shf_FP7TdhgI;~C5b^^+GZbbqw3;2uP8$IM zO7%KT$}zYGnu{)9`XZdoL8GMOeeYM2%;!~i-CqUxf_0E8$XIB7l@ppUXeKznd9zp4MpbKB6HlEY?1nEZASeK{;FpalKyMN)#S?Q zq>H7DCEEC@sjG5$Gb@p!16@M{H|aQgqG-V=XjS0!=h7Atk6Knc&=7e(9k(uz_Y;%u-Ru6x=t)4d`-)Z&iLEBcj*FPpIV3@bGMtUp#TMpSn zH2eRf?oHsEs?zuIE`*l#2DMT|B`Qi4#VRhvqNdP50u2_ih{`rDh|4HKA}E4|w$eBwFtKCMO=V!0hf^zxDZ|2>*>;lr_H8{t{q*9 z0SaW^P?OMvgz|~-I6%LR>oE)_b>h(tt{cz+PjUOg(~+h6GfNvdW{H}23@D#^0DrC1 zw&~AddU8;XS&0K+C1w-{zzcqIm~zZ%ek529KU@!pNv1bf32mIeL{x=dz{#qexadOU zj5rPhu`}5fCc!JPXh$Cu6$b+-J<4K$yaXG0pa!w|M zA$Xd1>U*peol?bx+#W(R3Yl+BvNGYq%WS|L2N#6Ni4^=FWIt{Xnoy`F_GXuGy3t_T z9emW)U?DgV*;8nA$ugXNx6x&YQ!*V_4a{}LoPb6l z4c#Xo1R9L2kt-L`{!aCZ#kL<$5>&9YE$5GzomHyo?^#GU87oB$or6lU-MJ;bGh(^c zkL+dC{`$hhbA83bodKsWj496w4axOYmE<~Ook&FRc!lb6XdJc!SVGf?;&&nI4W{`98*M#O#NWhSLMLlNB?W$EdWMw1znK}`+o2mPYR(cMun~@2wgDV+wX#j zf&K`|H_;ouVG_P4(e#pNtJZOG$Nu4qJF~1JrNwyRlVG(ev^1b{R#7XR_-`408^4p zQxLBXIOnbUm26rAV!`CYy#0)2M)e#NN4TClh~>qbCL^Dx>5#noQRz$j;3vFg2GyAc zbqj=-nL$twv)o@%&g$j?l{Z4ojTmcetN6`8Z)m&MHB0d%1K3(+rEm`LT)M8aI z`HiyhYH@)SpOY{Ns|NZKE#bqN+)eC}Ox7hf-#mha@-YF0s}%ffe#Q9!Mk-mK{au2r zV`=pL057;e6fXg(wo&fUeRoT_PvzqTNrE}jp?IB%GSM@WPFV-cj{S-L-gw>>Cky4C zOahL+fpU*&opLWAYHP|J9V_ITl>3`pxdi1NYEka>t5_>3_bh~asY9iO_#`QJ?HEa0 z|9?!lnNP1!%|F^Cqv0`0xa<~6>RBgV!Eivom!HIuk$&HcD;y?~=-y1AS4i&`ESlGk zke#6dsDRUf=_~SE==58di&d)ElU!q(zV>}evk)Y#U?H04g|wEOiCcbp@vze3Nr9HfuttP5Xw@ z_Bf_aVyhNQgM-@$mO!{hRJ)5l?2D%YD(O8&`EaQ1vU*5mp z)D8%9nhAjPFP!n6CwvZMoK2qaAf&rHSoMMI%mQZ(yhuSL08Wwt2s#lU4$^*!lb4kE z1Gx2N;T2W&A60E{KlNI$Ha9+qPThylpZ~oS3qKp7KQRIya-c`b9nmo*bnY>Kwv7(6 z|LhSx+y3*YXrcXQZuAKI&z$H1_=)W0h(Wp-4Smz>a~FO;ZrxmG@Q%iBUamyok z5YKz;1li*Jx8saHhiTy6NG3#R)FNE?>D`r>)pdg~1mwkt@F;Jwq9 zgeK=vEDPGq<2-(VsJ^v${)eGv%zbG8kObks`Fbba>)Du&rdO$t=IPlu6YT8onvLV7 zy4%d^zJbO(v0xLkk%KY+Kb?)4)aR$0jmz*Lo;UG0JsUYP8?XG?HXAoQlAH}I`@u%! zJdun*oQWKDB{T4(lKHJ6rtvxBg@9aqyF9Eq;CIJ~{5Sh+qHq%vR#p*MgY`mZghdKLeIJ zRpbKXoV>2~uAY@(Cs2(iyrrz)(e3YNAkippm4v^A#SO7A$sdQS`xWK1&!`y) zLvV5-H3K^uH4ov!8=eUtjhhudPTwU5C56nsC3~Kguu6AA0sp$)F+Hq_K`&M zBWFDpZ(oGBFLIVy!Ao?Jf1~nhL{(#$YRjyLQ~g|~*>ldRD~5dTdLYR%H-N)EvpafF z0=;qkEpK?Wckw5VvVQ;S$Nm^Kg}`PW2MeIueF)|o;O~O?s$N%SlrA=r=EHWo;{MQC zX5i;Z7DFrk3oy%Ev<$sc10N*SsP0+GE`pACW57#aNWOjS(d28XA z-!d_&^9}ylF@rOy{f!_bos`R?0H(`T7XB20q8m%bqvniCWL2m>8e94{_o2CgOKI_* zi=%Gz6Gw&_p5^eniT!7;#~m-i-9UnLmY&Y!d8cs+pn#0jODg;K$k1U4sM%^#P6){` zmQg-TEd7n}cJS>|v}h+D@=oB(OT$@S5P@KrSf5})~Hkzl^RW*dVp&SaQ9c=Ge~Qo!+JMADen)TR#ptxqhJ?C z@$Ul>4x&~#+%IOvvfU?t%@-!0q~kv%EE2kjH3F$2j3O+>#2it`0Z29XXJxpnzXlk< zllkC^mFvy^A!$gw3#vI{m@8V2=ZtHuRstM=MD;duck<{|K4Qf5)r$HKKHQjin6KXh zF4EOHw)8M^EJ1HmqY1`vk>qjoAbp#PL0<_mC;dyn&8pZ*1b z-2NxPr%t*6@FrpV*fd0r#xSk&-)Z2?<$xkn!1@yG8-@LvdL&4&;e@sx%45`PIK2`! z@jhHj_r+NAq=*dbSc%`mfL4(5y>_1_(@&x#*1kyjthFyI*gdkOLQ`pahHWbeF);ug z#Y|W|^k0_4DSKti95XLNJ~-Uxt9+g-#Y`Au2m=<3%%pTbih z7uY2$*pgQu#t4j|>$!$SKAY-Dr~`l}bK&%d5Cv=676~l_bB_2YIFqA!E}QW@xa0IL zvHsW_eS}A+#S2fT!O`_v5vL{|2$@j!Hkq1|aOr>HYB;!nes&UgWastbN;p>&JULI3 z!aev=g2K5OVH1Xw!9!?`*uR%~>>QgeUAb^`f-145Y_PE4@jEQ9Gqmu#cU zP-nwH@wlTyq)2Ep@5S6<&Qi|kggm6M7#Kv4=UJA8vJ>E-4s=J?GOVuE)C+>_fKfbb z|1YiDTUc3;NuSamzf4JN5WX; zKGPuPV2*p5wuq^xMNB;{Vos(_-BBn8ScyShR~AFtPTYI4nMq6$ZRrYWOGh=7TYUo2 zB;K=NygT5k|NKn81c|ERd07Hx&f(faEXF`wVFZO}yPOwAMge|7mCSok z6Bd?W6Y0K69|uO+&$aH~aIXCn?IO>~og^@kdcqy_#($TVauO3E<#a<)iv3?JNk@+x zvqa?Qz+Z&6^FmE!a^5Z|Ilwy67}+aP5wKO36{uPN*R|(E6Yw{OsOSbth(I z)DFbdoK4Q62Lc4S)bU6?$4EhHN*>Jh%ULD1$+2vhB4LufDp&xg_|Ku8t4)7P8I*9p zT6pUc-gk#|HPh%);>5>=57vAMH2K$o`~BP>I>sNGkc*EK*4M7m+CN}3%Q*~9tJ`qi zD=UV@`V08w3m*>Bs+Ci|@HJ32eiZ2I4HqXnf9+Lf=NBGi>-?jCCLLMA^1-#J#7CZ@ z_Y&{o?XcfI=q=O?dDc#`)-%kEOQ8kFk` z4Fb6w!KpKiDM znXiv`DgB&!y4lBn;(c2eM3Zj{bSHB1L}NdC+}I`Yyu-U=#l-Wv;>*U*=2Fus264xN z&Kg}ZA(0MmY(9J5PzjI>Gg<&aXi0u;iMuhA3`pe-?ySJkoJqCm3Z%Xo=*C{Y1lAo> zT*M!@QDE*$<9PEr+!VaB-#7chFQNC~ugxA2zobX-*WJM$L9ENwM4U?Cl{a(+dUgfS z@``+S?G@;k5Lx!f&mIkSgN$D5!lw|QBEyO8XE3&+p}@{_aEreE1M^81-L<_@x=q;e z(Kn8a&|vH>4}HsvGSR_Nu68_E6f$j?2$YW))4-ZHd(ns{!prSFruL#yMfcmec2PAX zQpws0k@4K3xuW8Ew{=TQgl#@3k4`iG?|%FEWzUiEPsI2Kas1a{{MTTx*XZ#NGRHrx z#rOxgv-f_qC){R@7O?^nuxvKkdHKypYubx&e|K`oE)WjxMW9`qhBF497RIIa4&&<_S-h>TeT{j6~gO?o=9vrzp)&E_xJ#WB?X3a z0I8bOa1H?m`fzW6t9Ah9d9k-~KmoDHu4CZ4P}<7t`A8mzvEfBj;6sH2oV8dhd{3~C z?`i#oH{6Y6q$ezkT`DwzRAXqaT8qj}sGRbn7p26J9eqE@ZxYL-S)Gp>VJk7$e1$&>)s3dvb<|% zA(6_hvkPXSJT*Z~v*YXM&ZYOxg(w6gu%?CC8@E4IB zPLWde-}{W?DRO^-Ssu`yh-eVF9OyEU|2i1R*l(3A~bjt+8JBR#_U6RTSSK`tsA#w^MsQ3%|T`l zV6-}BM}>=$^NWtO7UK0v&fz7Ndy5zo7lec*ih zB3`FD9+m2_p8oA*z*hZ<3>f0=g8KsVF&*ca&&D9GEzKGO!Wgll57n?N0qyF}jx_0tOh z#ZknEhohIFz>wS}cx1kc^+eM2X6oz042DbKSONP`bOr^a<6Pg8-^>>8U>ogw&gSg0(9PH$;ZcT{N^8$94V_gMnwi_^d5J9wT`1|0 zVG)MQDBisfa=D5bkm7}Jtt<>NN7%CXCyf*`50Tsvd|?A!kYZvThQ zAybwFT|*9}7~nf{Otu4{ot|Jj8qlvWa&g-fcj&?%DO7nEQmE%{(F%$Ka2ld+XH$cx ziPhz>I%D=a@B(_#eVeS(n7xp<(=Ggm@gSb}qZ3s(wk3psh%zS$Ft$U4Q309r$6p9W zfE&LnzQsL59a`25jIZLxzJu|-n*Ti*+i|SwDzrpB&&oqm!PrZKF$_>>FdB9+Ud!9* zz&H{Q;(7lt5@7U3E_4d|>wsm%$A4X80x}0g4S;NC2jn|A{MTWl19lQ0SE|X3v$W6n zcx(0l9+35&3CJVS5&=0IysaG{O+Z4fo(_=5@OC;tcEW>r-es&><0AoSt@$nqqzwGg zgyr<_1t}#on}w8fe9d5a3?(c33`=*_{~nfsPK4$Avo$PF1LvFumfMIhvZ1CRB{eW< zVYwI&;(6UzwT7jpcSA_?zExcSr8Gcc{YK)v!+O&ayx!>QUJ^W^P?nXMjXGJzohd8{ zjXTG6Bv2O50@EvYDkqWySb>IV$g4PN?W=CtsjQk%_wsDyt-+^Pl_Mhun^6<4JL3B4 zYW@598b`)2w_qcz)qKEi_V>hQw;ig`#w@*`VYfYs=VEKeEe&UufLAW%gG6)AKrPW-egnuseNxs`**fzA9vEUkGqNX=UVOW1N{2h;kOU(cd)1E**nFl<2g z{N+5k+?W;ULc%jp&N29v?Fqje%EJLBT{(d8JgDAR! zMHie4nAN3>BFS+l&ZpbnL=x{;@-Yu;GtQSh!lxW;%~!1Q7dVp#7h?Ok+F`InRkcuH39ht1SNtH;Q zlrMf9Tx*)$i<9$G*VrXi{~%7ptVQzLG&(ZWBaj72xcvyEuhJW!x$c!!z6*tU5RDH3 zaYcJPmO;=I9sx<<+bNR3bONXDTezaGVe=5wVNS#=AgO{9`3OZ*lW=0X_f7M}1PGbpd&(!NnDDCS z{=E}&2TK>8(0z+GoQIs3M~{YI8^&1BP}=i299nS&1bO~1WL#Lmb&r5cp^n5Y2LUVX zTS1cFY;|KC?Bc_M#L+)YPPXkPLf3Zs3>;Kvp*xyA2FJm zR9cH$rMO?thoi6Z5j|&X(99MKEtBef7+l&l56B2#8PosFotHj+< zkJyUvpt7>aOc(PewJ)i>+117$ZVbReV<`aUDh&_wQpM(mLh7IELGs=`;TPC<0Cy)r zFM_>kJig#{&$U|QYecq961dS&+GAz*E(tflDQaLY_a>-6u(nsmo#xGsyou?Po8`HF z1i7qfLYLT&9O(x;@e4WwfLzldJ42!as24{3LY@k`Gb$Km#37u$tuaFlJ&A{ukHAr4 zIgTgjp|~V0sDCqiG|1`^R6c9qxK(N_zP=+uT4o}1N?7id=L&XD(}%<&s8fX>hoaJk z;pts`>0O|HydDvYGVxkT<&5DOK?C*_7{;7=h;wlYK%}P)N;t&j1lh%CTA4$Rhn?q` z+F?w3I5IMh=U5HQLAk|Cf`^%1H-}SN{6j0Fxf18mmZLFd59ZvZJF4~JtmeG}C(^o? zDLFuY%e|42fatnFm!bhK`h*cOFdFDZ_xyKTI)#l_E5F}~u;$ldJe;^tPSgtnkpvtN z?&^?NfnLEIU<68dfG(7WjI?-d!6bS(YDjj7BB)43B^1``TC8gcm*C&5E zy~??{Je~#G*E^WS7^vuRN@qNqWsN!gTVX9J>msYF zS9ui;G^+}ZMtE&&O24{D^=r#QmxJHD+y$YaXgjd&W|W3{;TBvnJ3|24A(!IMKT!JV zrttG{3O*;8bcB2&rF9pGTv|#kV(@-sA9|~ z*pK1Au-CZD_+7++}rGL#Mu#D{Ck?ufbCX zyUGu7zt%pwD>*tZM|T89XVe@D`Wm?)(;D4a8J(v#+6MP!4EEtUhXDX%mw_nxYoniH zp(IL}V@$mM79R@f9#bjfd>uFVuhLuG5cI?HCN~}&1fgv$sK%oYVnyTh`5y}#;7pOkGif*B7QZG|XPOiES$&8cpg(<{*RpVZrHCtVE z^NHCCjj2qTupN%z7z>R4@b$Ug1Q=m#5bTZ!Kmg-Gd<6r(@Bsnil>cA=yA?UrimO)3$)ub)5nir^_&gaVuD2vo!lj471@idE-E7e>(i1QZAL+8EL z$qffq!x#QA)*gS#`i+Mo4;;=oE~^FV&(g|}X07~;yvgZWF-bxd^2Hrsw&o2(TJqCc zbDb_wZmAIIY^`ora<-plg$dH5XZxPrHony{Otv|30)Z!yNjkYHXb9Yedv#*t zyi(owHSJ03W&e|z`KiJh*Vnj8vkTeT9*a%*6e+oFY(n%pk}9D!H2SgalHJmDhsmzd zop-1xY1h0v6BFGT``f!SqFHx@E~e|wpJ1BY96HzIo&}wq*e_F{v++C&I!(B00UcOB zImxw z0RtQMJ9)a;{zrYrq3f(sV4fjnE#;9yYnpAy>5+pOnu>xFGDi^Mz zP1FwCurZvbrl~14Ez(TR0=4;EtETsH6|HGjQ%RbdPDrU~zE#sbiJER@O~uV>`U$qo z%~A3*+)Iwm1N@NDl_hE#z?#0J^|Nhse@|1>{V6p)Xu&BfQPcL}sObqio7`gSs6ZV6 zs$k(VmGdztjm8QK)T?+|*u3!i>JJcAE9`TsUML+MDP6->+l{}-g$on8MlAx}iWcGb zD){Cec84S5B7APd=ZU)<8Qbt#avl8>c8hf=txBEiXC6IJv-3m8|;6Ok8d}sW5 zi0vvwJ!mO|jN~v|ZS7oX?S;$5J_n@p9For0&^QAZan4dKLM)uIr}Bod;yM={SSXQ+ z@|+CO2c24c;ce>9t0}-h0w3Be17Ci)>X&$F5u_JEx7^OVvCfh;cn6|rXsQz=ytH;I z4o6cHhojQa>G+vT8+{xsm%1hCEOBh2Yy#f!7zlXB%piObF zLyB@PxgnS7CC7=!k}FJ2^R8*6A$eh_qBQAipr?yMb>_4Hx z=)Ks)fj}QiKhtpsMVu({zM3yw#?V{=L9%r5_Q@NniXF%j5t;641Ye2sGUSy(L?hZ2 zsPNLYtPG~xlYxAvaT36nRcziFkDX!8h)aF(Cb6MObw-q83JtlQou~#jJYd~u4kbTe z&C}%^XTx9@EQX(fZXh%efpWXd+Jr}o^>h5w38+jm z7GnME2)Bc{!KkL)BoaPhO~^%89W$-(*A%i0^G3!&+Ga~)_K{k7Iq4YkQJ8ywZ~S%_ z!DT3b1;bP1g;?B39~5YZoyw^GHx>w2+&X+CFuga7oL7wTG}t~D{jorxty&&95Pk*k zE7}%%jD_2(>r0K&AK{wV{FUMjlUGY1`s-0Ed*UK+7b|X+(4Rn-VpKDl3WX}uF_1t` z=)~w!+-S^!C;)Gab0IxfcJL&wY(!q)U{wE2?vtWaA#xE{I<6V989203-SRQQw^SvH z$T$yJ%sGWT4T3(-X*u1HFr5&Bi!V}ktfDaoFa@r-vx1#OidR4hiYtbQLvWSI#EZ7O zFci;<9od*eih@@}_k~g)oFNwHfE@KZp}`pHwN8mj0r!PdvCR8&qv_#=s9w!SSzP3* zZJ#BSQESvE@awbr1K{)>8iyJf=8g;3(hC*Z7H(_d)B41?BiErquq+K$I`m0gws-zv zcgxn=E>qTPg1F!QL=rijpHEc7*)p zmbnzkmsSTtoj4U1(vX)xPVaScWr>op(Ji)z4M2~TZMH4R3Y1oT_G=Ox$kPn&kE=3C zEn5Rek1q+1S>r&)wk?5llC{7^!Uojx-%!iOC~GN3EwUX#QcZXc1dz#jRAPLZ^O!ACbIKh<8fr|CeJCvFI?oY%iCUEcexUx?KO&I7|Ep zT4yh(vrmNAvZ9r*VQIbFtU$J;r_cpf;6xaG9t98vDAd;1I7p@s-%hTS2}m2)CnI_% zDTarAD7bA0;Y{1vHW(+=lWJc#FQ|DySD2Fd9! zWp?`FR&sWZHivVr#*{r?ugH13h6p??P6cf^1J}y^nqE+>Kkw z;XF~ThjTkD>h}rRzWAKO@m{#w*?EIl)p9tZ6iqifJ!CjxR_zN@bwg5+t6)aKu9JBE zT&4Rx_z7W#Zz&CZ&6#L9q6w`v z>?0<8_$e{rtWmqggcmWhY2enUwc+H+aAvXU6vS?VlBd~l{v~=JYg1@z4rk#_`#79V zGMsDA-|cX|;C#14gK^ZEro*>Eco5Hf?vv)j$!Iy8uc4z!&d%UjdUm!<-^byc#WvNv zk-HsE*Yv}wqn0$?aHirxJnys3&4+Um`rd4I4o?|QZKWPg{=N?9TDGa)uGsBxyu_-O zv$Gg(32BG(Bp$@`4r(!+i$&3svUbkFt>o-1zgZ8*cjG?J&b&<=PS);+a|5xe<#4{I zPBh)@Y{Y|jo`+SZtercx*2camR8nb^V5r)g!?{tXBiMTm~=UG5UW}a2h4N& z*(t_@c-|8qH6PB8TCHLq&ZpF>B!+YA3_Y9=r|#o$`m#-R_qn?rPRI1afh$b<;arUe z@w^QmHXqJ0Er)Yp%5YZSq=(aKUx#xk+f)t1cRQRjiB&CUXCV()>DJD}co5HP*J3#5 zYt4{-c1m$8IXj)r;hcq7Df@(McYna){8YZ%;ao$kYB`)OIJBf4&Kf+3=bgc-Q`Sx` z6gbTYb&&d?1hSnoUC++7I=8~!lY)kSb2tUNAI>Ahs^-IKRlGk%s(kMp*vC!4i^;jb zVezG{_5p!wY^VN$Tgd_4cB3B9+yLi?!A4GbiJV=;?^4I%DoU^7lqxT6S>^DQDuw;GJASYM3B2QlM?u#$-#qlFO&)?o=GN@|g5i-(K>ST7W8 zoV$VmXz+$3o7pZzI+KP`#Pd*3N?PGrL>Z0cSyb2USw}_*K3CxLCw!j4XC*!lK<{zI zKcK6e5C0-)4ByA+?0-5kp2VlibB>J7_{@LakumcHq^Ek(k#XokM@9^vSKvk&dfAaN z6xNNS7QtT$XD9I&4hRMQs3JQ4IhT<?ecaOoK+s;!$#N-xT43U?hkLlM7*U@FZuJ*`XUv(8+ruI~ ze*~B^m`1mjpq=%LMASLO2O7}JSG>x&r54511|QZC6$(?Nu4z#7ZrKd6_;%*uC7}DR zixo2QW>;9NtEX8yjAzx>vyOe&QNVnc{I(h!7U>^{d=i3j5F?mIBgS+EJ~?HK^;Je& z+HhxLbMeL?y0ScQO)?&)Hw>?oF1`>FW55^={}-$AjRPQYR}% zl>ry1insSlOCJS)8>E*n?S|Txptg;{ugtY`K^aU9eZ?O$%jAJnd7@h@)m4Opl>9ij zWiO)rKvN|ViI#W)qR?4dy%6cx=nWy8VgyMMLc@UjbYXEPjf5^jjG5!!;okh;*LTKO zsc-7>H{~DY(U7x)l$b6-fai8m*nX$Ig1WLj%PVM|Ol1|OjgB^w4ae7TXYB}g83ep##Xe`?ARX-s0_}1iqM{%_OKz+)9bw9S;kVThlqhm} zBHw15u}`2)i69|?gs1BHYGUCvsW%2Qzni#pz+C_&TQ8VG(XOWq4+-Jc1&)`P@Nmd- z;T3g;R0$&W_A7}hSE{Q~CD&Zi^GDZ1_+T7Y!(U9hOu6AQ#aQq_^GWJs$Ze#{%=QvQ zP^hz_M`L~&OK`OsjsW&yx3fy+1UgfSF2Dj2AzD5HBM8v z>KaEwQ^?p?&!V87hua51zktBFM0v{j5eaK0gV3`i$tQFXP@Mut!7^Z3OV%6lG2$+` zLM^2j$Q%AiRu}CBpo9X=f)eUDBoPoL)M8Kx(<5q)8ja@aqzfm4ZU}M9l!5@lmu+DFu~dVZ3PJ22bEObKd}^}LO0^b+^bmKQWe%~rr-ryNEG>X& zn}v^M84Z$pv9*2lQljxDH4XK~UTd~qG`=GqQzG7?gasOpTpVTLPr%lB)kKIWFi50x z0@5S%%(fDG_>Eax65bX46`<_9j(pd-=qsKfQBXIdW)p53%ts_x&&PN6+y!Vn zs;jPW%vwRXWr^8%aG*IG9%Z4tPd5bycmpur7v2TKY%iGP&1H!F1ACRtuN;EcITh<5 zyrGu~$b-gu5Bh5%{i%nUNWW@f0w8PD)J|2ouM4{nok52gt1rQHI%KI;mt6rmnR_H z4-Er)TM6D$7*TmOIQ^S(?Z&m6fVKt^nxRk?c5iZP8r6QQGEe!m~C_9CTftr zfP}B;ZjSg5FD5|Uq<$$8o@fTT9ybd7XlKVjk%tmEDI4EU5I0*Xz!WSkf)eT43DAi56MvGD<_X8Lyq)@88+z(!$c*a^8 zDf_`8hnP#_pU>N%SBB=eG>q!Re(+s47Q|H4CJU}qN1@IUAV&b5;rkx=jiJ#78F!tyJ|Wr1yhw^iuC=?B#xNn$(L~SpCmL<4tNJ>TP8| zXode7s|iqg_z%~e>zW?^cOGto|G~PRmhiv-%zcJ`KH_HI93C|MN&e}A&xCZ+oCSNOkunshEd zJ^T+m?6<(b8@jZQ_}@+NACj%~@P9tf!vFa;`2VLk1^%~5A>x0s5bz&`O#DYIb}$(E zdkg>5q+a6xKN5`t|55MW;s3`_bYggR{68tl|D$t4@7o0qVH6mB2;iO^nba=U@pY)- zGC=#GzDm;m8QpEOQmJdVRz;HbSDleMD|<=%Uxvd@`bjzbAahb){Cff}Yg9R!)3pC6 z>n!jiLx_|1--JLe zdDyt$sOHXY=qpHv1KlAI&?gwPi}h`XQA3MUHR3GVOmEPy48k)=T=E(H7@Ss4iGM0hu>r9%L!{M&_EfGzFf9?ZRh>U`qZw%r;TQ;3-;H5Y!(dMvjl7fZqg=>A` zU+`?RZt%U6iAQ6=BL~-FfwVQM?*U#igh6iz;`-vq<#Yif2Y(q*3Tz+PM%`vvI9Sd!5j`ML zbg4$T4vT1U>@y}>QQ*4cbS`7|qZfJ`tpINMLzm&~2ws+17s|rhyv08R3jN`;=}$QfcR|Rsoq~Z`aS=+v0l%@AH=L3z6j4k$GWtcY zQP<%8==o?f(SaeYb>L?w$AS*r@pNJ=P3nZ*ci_G>9k{*<@qZU%WhG{_vg@w6K88Ma z8W;F7aORwZz?l?g>FEWoz%>&%fvIiqh5w6LflL7BqmX}VS;(^;lcH$OhJ<{o{4Zq5 zH=AP$+?W=iy{+-Q`IK!uW6*)t0cy-%ibbAgOvWwG;6XfZVZG>})-zeeae`XN=Ayka zu;9ig1yqQTp88MZEjs>jxp6GbM8jXg_*s+t_=&{otxOh8li|BCM{;qdbwLS>+?mY_ z8WQ*YAnL+`5*Sk`b0}C15w_ggvl3-gM=HYj;IrdoEwl}sL8(d)c9#W&<^2Tp%jsiR zXOryR{bYhZu2hAm0()L#nQ*m!31JKVj^Bw^{|0+NgxAPN)tF9rnG_+w238}?i3|0N zFF1t1-6N;jwBo<`85gdXc@l^HCkDs%l{3j+xqx;s;&NMAid&u&pWtd=Ryc zOBr`jMG5s7?a_A|G6KgEE4nK}hTmHng{x20*;XXMAs3=W1Srf3|Tt9_6sfry_T@s_Ix`=$crkj4xstO2J{ zID#Q8ZfI0~?I^c5loK1kJ|arV85#-~^TpPn(C$tf6mET7`YkgqlJ`lBSMCOumP^q4 z-OK;30qlT1_Whr@sIhf8sH^P%&cHF;|7}cw!YCq>4u~E2`T@8CFTikx;02ucN+8X3 z2b!o#xgY}xprw|)z|@m}7ccPae_G=O4(Mp|0#5-^5^}*(G^crit`;v4?O-m7%4ETn zsyhlse`u8#ctKtQ86BE@sY!it((ZTxiyy$`w{jjC2It6T^N~D%FYay5N9UCDcW1yI zcBM(U@91KK`!7+cu_fH&&g0 z`tZ?!F&w6}IJ;c^9mV7Y=#v8Q>dW^wq9m8FnV|st+t)m7K{5YmI}Y5RtBR6cTdm$X z5la~|HB5Ss=!1B*>YE&+`gXa<3|vz6jU#Yg)i<32o~m7)1E-m(FN9bRm-+x7^;lx4 zD^(Ti(@Hk3a!G9gUa|a8)EGOIR~>nE0Iwi>L85tHK`IZG8RE@|V*|ZcmV99YK)?~Z zHAzAe^_u)^BK~s1fnwP8rky`>sv!T6=vy|D%XO>X9#LsKiZ7(!Up95QSAhq-%GEHi zAk$rY70BIHh4>Ujf^lTYa%N3F9y8|)56kyf?SM}c^qqCw=@r@{PV2=^KX(%!-i?5^C8|kz)0-xOjKgVo@mwCg07BxA?YMt`H zLT`9_kvBA=h=RLgC2-SV36q3vCI^6tJM}#)Zj;-4g{(%pIm(VwPvWLzZ# zdP=;2roe#K+yl@{=kn^nEotmqc#~KYa6aJv1AL>S-zcpc!7*SWuUce((Sf0gFEN9h zP0|+sx1oBmN&!|UP5xUoOZo66YSYd-0VhTHZ+M{)YziFWhkKN->Smp>>}>GS%JDSz znDD^D%4s7q0)5my^N8A=rcTDR7cUMTTzTdcTxK9#9?CSjnb7iI`sG@@}~hNf6EBzHKacmaMz+|J?cSUb2t z*40h2d%Da-@@D^#-&+oGrVx#K zP*_k*!Kjxb6H($eZWZE#K`h~Tywpp{@i0ZJDD;q^()lX9;R}iYZvh*js27BeWQGNy zVW;6~Er{8q%#lidnsySFv6ts-e_r8-#J z5_lHs&RX#YET4g^X3F;QodH|#L3OOVg;=%)K*cr@PN zHfqFRC|pwLE}AynsJ<7S(0&9xkWY?;qfpJ5W)co`$MhSdK9xjJ%MWl>z_d{am4twB z&|rXD)`a8JKbVBWo8mDBFj{^>trCqVo+r_0cWf4ODdu6ZH@JsqHk7zC-7jT&PTocj zbO56UDefO5;Lv8FdK?lj`lpRTKMOMhL!?p5HP~%yG%t-U;M8-}g9Rj(d1Ww7)%~Ab z2~(@PWMZz??$MJ+nS{??U2E=BpFPJhcu*_CI)yvk^+)Ux-}YuIUWK1E{JB7WZWXst z5bu5y-2tq{iEfS(4yM3v62$V1KwEF|ByXSt-21!@?s7r_ex!}`;u}x9tL25O@1cV3>|v`aQ}O6)pU0}aFhswIxVaLNZNtqRM!X5 zOPGE{2BMuc>aDAZDI_|md900O+35}D5pW$23f!bVzm6|}(wMV{S_lX|mADvzwwn?) zj*GTIc@hrRm(Tu{gHCM040-!5<;1#mMj=!WBHF1l`}qePPSDRQ%Yc?xDW?tBM8c&; z1;qMsL?Nk1_*}fYM!kEnx%!JzRzG^O$JPJTe6E}hN0aQDKH&!+qiOIYfTP?F4(Y$- z<3h~<1_`hxllTh*fis~)OhO_#e$dT)4nL7UXrub{3>1wxrk4w0?pyB-4aCC0bc6=V z9*2p5u?yj4ZDrlCVQ>?hti5%^*D=I#02VfqL(aBUYVYKaga4sXTbP-4=-t~qWm%Z{ z)R>2L1Ipv_=N?mmCL1X2+;tR0f9Mg&1Fg6QqXvnb0CpS}OVj=VfSLd7_^|_9TGirw z+ucn0uI!IkM1b)H`4ny*AihM zm!76gL68I4?h}cyY!&XlzQb9cS_Va)t=@dA-p|t1o18C6!ns2|h!j!Cd}7TB{psza zO2q3ez9O+!%jrdqxkhZAJjCX~qABOL@X3*wT1XEObeH5<&4LULnRndS>`OjtqMQpnbUF6q4_ z;$Ife3q1*u3}*oHWdxI1F6QLKJir)M@E7y3W-4_GSsz}<7LRoAqN&2ogbh6cOdz67 zJnx<-&_cxV$lrBCu*R9OpwaU(tkrPaGaiEe@O?S_`^qlKK%uhi#j*B`$x+A^34GU?UklZi2V{fg zu1wG*U{ZF8yNxGOI}P-GP^hephKh>TP+p7m7|&}f@FDQu{TrZ*VS+aVwOgZJ`1DuG zqbl^eKSleQpk3RtZ|MQVW#0kQv`YQ)Fs@6#1hl!~a9rc84KRzM0>Sn!O6V!L{z3l( z=6TlKN&bzU69F&~1qgd)=sIU)m|J~(C?^sBnUD*+T;v>VzljovAyWvew+wt2Q3K4B zt(9k&!4Enz(y6|94u@jH*#R*`7f&#zY{;G9GiKIL@ES8$kU2X4Z#*+=A(m_u?gUBI z=PM*=#&9+UeBgILt`Xqkc+ylj-|Q}L01JVgh}Og(0`9i$ zV^uVa$+F!r;ggU@05BrmlGw6Z03m^9!Ss5=2)+&u0RGGSNB-bUBY!Z@n-NFVHqJ1F zY?(UKgbU+S*LUYld!`BYAMYf{SA`Pi4GfHw_wIkc8q0fsqQl5_@SQd_=Auei4L{C$oE=O@7 zcc5nhS5EWxbvfpLF06x?$8pFunAjz}>+q+n2VF|+uB71cS z);e}~u4(s@U%{XoHAmrnUkH3CHhV}Njp`=}Jn%;aWVQx*iA%ts6JawOk0%1jqY6M2 zqN~L1<`S5yMlgT7f^X=GUw-Ck`FEU-Ceypg`%~1rcxM(vj4f7Yd$ZRfd+@p5#h;?q zMr$3Jq1|sr0%4fmYi7cj(;h?Nw0G^+T&#{xljnDf5N`?naWZ0A;h%|2R2l)DxQ3asKU+*Af-rK#Dw@D;0xHDJODr&E8|;ScFR7St%Qnbi;s5(+f@qrS zN849d$m-E)S4*e{pl5+z7M{&iLyy^78X1~Z8X1@gJCV)QrXOFg*TmbHHdzy}x!{uc zD}KY+LvclT_QQ&xDTjZn7pow-E}COeOGr#kzaBmWo^w6q94za>lI>vcPFmNFLAG>v z+ol9XvWLvs6sf&&B(#H zd#oqI2Rr&eb=jH6)}We*;~5Xn$DVpzF3^|Dz-raw7S=mHArH*T{cB4W^uZK(IRzUR zg4OVa{kf*57K^swM@lRFUd$NSzd3cBj7Y@-h8~4L8ucS@MKghPXPnUz0_ibcSWJ|z%PW-|2Z>oAW$BwoyHfYq-fj{<`O*^IXWBzPz!*X_u0Vg zj7G<)_{H;!@XhLSSlPnRP z{!66%d-%ouNY|euLr&J3`+rSB ze65j?LLniuA0P=KeuK3v>uCu=cPygfO4S*fDWFbR&*jN4V8w+u#Im?iihOIOnu!ny zNj-c~a@izKC@k7MU(*5z0m=oZ950T<5~al0skQ7{822SGz zAVEMOYcT<^IemF=UoPu+Y0vWDWgyXy_s6n@m;#Fv=e6m-#&u%4 z{7xLW%%qSJ7v{V##3htmJ6Uu(9ILSEuhzn7VM=_V8Hw34s;2|Hqr>p0wCK{F;{%rg z7EY4?a#emO1ei0NnZW}gGs*YDYd zwC0&22eAjyR~{<@$6%~Y=q#-i=HK`$Otq7!WmK;LzZ!iMe@epds`|GPv7&jtBK6Hh9N8eYqKzkLpVW;jg)p7yaRuwOW@kH+Kk07s91htN5+z!^RGqab{FcCoSP422vly+bJJ55tH%Z`v8KU5r4A1lz^Q_71C<}xBLjwqbE;#}m`BJPDIHyUzb6D)xc(fENj(wvU zgspoy!9luf(SGRK_Ymu#YbScp3n-Q76IiLfMPRyCTJ~2)pT^+Q)Z0EdP}h4u>wQ4i zdpzsiuIsH;_wJ_N+E_)JN;?G4)0LjbN@ZfR1oI(HAGq_BsOk|TC~PKRaq$KUY&J;0X?rtf4}%Y1i!IKWeKK#i6#W{vbi;#qUdKBUM|0s3IHr7xwp{Rk z9?5Kui@+Vofe!gUhgsag*^ml}ipT%0$#}094q=Na#=;&OsgTp^^aXkw|B$PRLaZ6< z?FaTv`|ZGv*8E%c(}DeHoUJ%@BiouBw*PE$0poHg8r0mj-8*(H&hB81;!JrJelSbY zix~}`I793M4rFTAtH&Oqx?LOT2p}rD+W8U`+5=zm7S^a*>d+a{d)k{x0JR)b3IPIv z3PuZiF1CZ;DG!Q1ifS-`O;9~!TSK07-)DLtFIh9Xw*&bFFRGv0=z&}WwwL}p0mnhLt}ozNPA$9h^wL7 zkVFUKm2b`DQ_n1=A$r8$Lv?`>rhOt!rHg$cTQerQ=Qc7b+p{$YM%|wd1l6Q^dM@{m zL~EZGh%x)WLbYJW5N;;h`v4E(c`G9+1cdYh9Ick`jr7V1-CY)52VzkYt}h91HD1}4 zdo;xbB}OTD+*dZ|x{W&;Q%~KL&F{ny5jpKY z(O)l96y7n*q$CooA^?_%Qg9NEMbj_}wIEY)u_%Fy@8FcLak0pFsezeqI~a2cxJ};& z_UgxNJL2J6XMf(lt&VJHhI-Q(+BOb)_ZvGS2(uBIM?b>Ga!N-HoXng*S&sX^D!pDgjKOCPa zxPAbiMffBR_qZ_EpUpo6f_1%FTc>rGDKNk)%f>3pGWAW%)Y>QYGHb$Y3iSS``lc{B z{{16gAI4>Y?fQvbn0DGnw}=R%CF|g7v}k<*3X)UP3MDFgEaCc1e>ayMJzl{1xwxM0 zeTg@zZ^IEov~cM6YnFn^3o$_p)j-wG?BK!P$oV+LtW>8b-v>wuTBN2<&~=j^wDiFVR`AwRlNGG)SqXFzV|KCl0l=W^=BfM7 zz;;AL!Kphl(4IJVc(g<&%CDbahv#_MBlsCH5U^dXI{yvFVifHMnF&2!4v%gmE=FeN z17h&?LlzsViJ>oSQWqn4Fw7SZE2Fl~5vU`5g|d0I@?C@TBwn2>ua0!{gy&WVj;2Qf zPVO+WRo6>?8>QKRQ-9IOfYXeeBcMerqvS`}*N2)&IlvNtbKRHZ$j{!woxU@gAai)l zpJk`VL0G4z1};IM7Y`hd=w1+MEr9?_JCk(xn$9G+Gp-|)13|lI2r&HCo|PCLnbH-g zJC!NDswinNEcAf-h;l0KF?g5ih7^c(l~Ac?1oJF^Au1WUXkd;x4(4S%%>bS7hXNtk zPr$(hwzRNhfwLl%rqo?j7F`=`UpX!FnqZs0^)W~H`l@A_JW5i<-{7dZ2$KJZH(#ya zX)Y*pwOIlrgpEVSA}o$G=x!Eq^!|z)V73-#_K@!JJZrW;`D8iTNSF4&CNDwz>S1ZM z<)F-=U=-QG@f?8@BbdN(WKBpJM{q!`yP@5^I%0yTLYZPHsVCKmKBE`juLYj zdb%P&m1&!SrDQI_&fjtgDlWm`(Gqc$3v>H7vha=#z=hqh1fBMU-=iD)yvu*3TP^&| za45v8Lq39t|6a9ml(};JKdCd{;PqBK6JK7P#!S{E{ovQDzoTs3q9RVg$J_O?D&VrB z{t}zBEUD-!iIfz}h8&89qUdhLw{jFRIcSu!fYho>!Fg3&R}0Yw*VVz`r+J9j(%@MS zurSdcY<|q@e)eX6zJbddddgieEspE; zWfR1GFX2Qn2jA=QeLF;5b1bnRAw2hfQJtP+89VgRBoGqtm7LEM>lx6wAIczklRd|h zyotN;FS)_4T8wizdZW6++yWpz7I`#H`5f|kLEzIdc!MsL%RWQp@=ZIDfn7pG5J8TR z>Gm5SO|&GXAAMz_##um(C!-0}sJVR5#?h_isp7a8Qz z^nEv)94P-R0j9{6;Qo|W8;k|*?@FTg-cO_|5A}3$Lz%UdtHCahPjW;iKVvrNr>M8vR=;AF_^AHB#;)IDk&NGfdK;Y41`c>#0>SlpAFLj%!X9%x5zGW`pb zu|SKWAi?(<3!(OaM82HuxP3TS9t_9LI#4$<5qNi7;P^MV#KVms?^?(Yg5MT%B#ve? zJ66So;L9C4nk^wzCh_fQAkpJ(CeaD{VA6)=Noh^AzeO8xc7wDAc3b{U=0U5G>wL_5 zlLe%81wgw@t(mJizz;BLXeV$MYP1V$n)aKph7-AdKXHGQSCb)l>c8avSaUC;$a4tu zN)!=FIcq78D3*2h2`A-d=EvBqy3tn$j+y10Q98j@oI6#I&iel=JP$)s5 z((8~$120uRI>ctC*_%ngbT|+IXA;8HsQy|+9Hkt{?>xUo#UvV!&4-JQ zTeVrw(EwfeJ`IP`zL6c|8-;jdlv?+`enarggl~}+VA|o^nh0gY3~m4~e$Pps(MT|N zskP0fpe^<}3&er_C?DV;iM(kCnTFFI*V?I%X{BICeG^7v{Y$Lp#D4#5&&_;))>keO zN;(ecXD;g+ClDVtQ|7MkrS@>Vq@e?^mr%v7go*?~P%QFQNZE{AQeBruhGmt4w17y# z5^1%1`vJZ9X`slIbS86ZB+Lzq_TOoxkaW{+v#r8`ss)Bwpwu?IFpX)&yy}1sngBex zm1G;5SUCem2p$rGr@qsKU=rasYbn8K-z&VK;5?$wx*Cl>3mQE0GD?sdIZ`oCsJl|P zXlk&~0!+orc4~l9d!Pn$5$Z~{NAK9qmG*X$KprUMfG#Se2OsS}dJy3`FH(U`*gsFr z_=G9Jc?|N`tMZ*RLucrLL6`50zah$ZOiPhw^nZ&rnNjl|H{eikGe=ejhLvp7)&|dJ zu#et+4aLpsi5d;SaVV@OD0CXQwC#2%Zr&pl$C9Ql{YFEvr@bv1&Fl$cRBz6W$@|&o zrZq~^?gmnltIUd5f)nH*1PzkY^OTShJw5x$y&d26_A1-tB@ul`TGIvw^9Hrk)$I>EW1!Q`}vg2l_ouFKbsj>L? zCy}B_?$4wmSS?T@Zpg(k*k50=2un3y@-pZMo>XKg=a$Tj@G@wZPeM9tL@sC(JMm1Eofph`mEI?>NQdn4;*dRw3fG5G8$<#|^+UKo-`r{&vX|GvY+37@>gC?| z{U{%SfiriB$P7JzGGpM3dKikV#hR_erw-OU_lY%+rxI2xZ7ctJUx^=TghsDapga2Pq%6rL5pk1A}c*Ruk1)fSk?LG<*a24{` zHMGgi;Mw3iZ*Mq=dG7Op$L@_#`&*~>;$v@QMkP+>EI*^tn+@Be1{#GoslmTyB6svz z8L_T(R0auI!-3LU080E7eRswYFaej+7)I!?(C3W^WbMY~ds@1US_fi~&p* z9SjsxA3+Mf3b*obi{G922&)lW#(5AhL^?S^&eWER5-&V!zVJD}@h>S)k)S&jlt(^g z${c9!PWcLwLsZ}hw@jUV8gyVs*}+PPmwJNKNv^-*eowVZI_=bXZ2IGEl{p5iQ1 zLXm?**0&V1NYEbn5%z3BDOeu*4P&9_r&`E7Bc2>FSMwp<1roi@Xx(h;onxR1dp6Y*a?6L4a=z0FnAiS97PKV%U-*sxl zrKUqdgPs~4FNSk;HUE_C#v#FprPAp56xO=nJHdeDjWZx%gl@sBK3XiE2zTH<_SY>y zz(&U+6vS+^V4p<67o=e9YLr?mrS3#2>=Z1OktlVWE;R_H9+XmlL@AIvmRi@@YILG5 z1-&N9O+h(4eHKqchYdh+-LX=X*-KXgIg%&fi8HmSKiSyuf1p3M^8-1M;|el^Bj?n-kVgBSIi+n`$wp`d~}XoK6?9plaJ1^ ziAKWydnqa1^M=rhc;r=_p2&cOzyxdg=!q1I+#$2_P){e;rcH#-kT;Nz&gU-p1~vn- zPj57M=HnzXrini`HF%m#Vd;Djy*X-mP@nF9#=6wPye;;FJ;aH75Rc@5BUiDH_0Bug zY*U)SSpvR4Nx>@`+(TXMS=S?GUGXXQ{)cDi$=XhVNI1yJLJVE`@jIEn=n$#Jf4gZT z_lP?BUm7Oa0Pa4)%r)89!@vMv5zp>#=630U9rjOVDh<$H%ypR;>Z58x9fx2 zw4!|#xxtX<32yV^j&$uTVrIgV@d=>Q?Kl_Cp(o>>gwOCH2UJANq))v~$~{E`J z_Em_vwaqdXfcO)FF|py(o^ca2BtxBpj&mO7W8+IKfxXAgYgkvdS=S|IU3zUuU!+aBGt0r~*Y6;Gc-v)lqR}=6XMvneR%BX5uOKLIV z0d41KsAETvrH=T&RXuR!3!ROT?D)|xzF`lUSAe6&%I z@62n{!OE=8P7PbD?s%#0HnX~KfPzVaZXw+k5hG}%+b_P;*ehkv`mG9*vFt!P!KMcf z;&~G<0Z7b$$@2%9-0`*}hnNs8Q!8iLRk|O4I+IG_nq@doqg zk<{}JwiG4qz0mX0M_;RYm#bo-Y1&|DpRIdZQTAHruT*;;ANHF6xjoN)rzBh1_dc2~~HCIdaE||*Y+g+$(GLRV=k*U3O zpl1LRWjatN*H1ENE>NA$92VwV_Ms&b>(K*_3%Knf`#XQ8W`EZSr}w`ONCKJ2{xT5d z`IDR4E$=1_L~)*@$0d}UPVCm$vasUOI3cvOjg2JBT|yb_UBoN zL}Brp`4;!XPJ>=(+5@J4@8m(7 zSdC{9uS>nYE|rkv6T?o3%F6o&SPpZUhJpE+zuzE`VG-1=(%SA1wCC>DAn+7+x?Q?X zPgBzAeu+-QdlKOo25~l$CV-PGo0s zOBhvbvMY=5UgB)p8aFogLd>bkKwo*B7;kSp0rJy`7GVwYL3R6qo?t5X0p5@6*6Xj$U|kiiClsQ@w|2z2+wz0R2<1E z8TG-m#xjo?cEGlV*l(RrVDwrIlCDk98r1=B*i6sfUd0X7^9J`*gtUSIyI7x%eMt5I zSx&S-d%cuL&3#x{9%=sxw8FW~x!AU<6O-|gJ{8JjV7ul%MBM$IvLC5ludm-aA7$)F zy7}mf2l2ccMw0NG|Cpm5tX)~pTphPl8-Z7SMCc-K}l8PORjAqC#zs9(Q5k1tmjQ+xiuImZa$f#c4s?RpV#(#V4C>jVO8NnL0 zl4a;jLB^YP#X537qBk7W7So1APJw3!qXaNyR9gmv^oF~_N5EgaIp|>2&2E0=rtSTv zDx?N9GAx%x{Job#hp!I9EufA;mC;EOl)3lY-l|WxTgvHtLcA^)8!3V9(e@rw z`}n|fT*qF8dJKtlj4>D^lF1*AZzuDofoo2hiv54=y$gI))wMr9dBH#u&IAaAhcH5r zNKm5K8jR=+N#G2bfhay=6-}#BylNZCM56LYn8ajy9K~8iTWjg#w$yqRs}~R-%>X8m zhXlAPNUKr%I5AeERtTWZ@B3Z*%p(w}?d`q4|Nry(@gZl<-e>Q%_g;JL$69->wdwxx z50{b7f91kqnEBILctVB2hr=tudMaS%Y4=h<;SH51dBR6=!`+*n@VluVBXzKkxDCIT zrWYkuXK9Wkx8{KFjx0D}AH<6qW~8Q9=OPYvk&cXXd`RVk8+p$RTlHYcAc^TV(%A0F z-%dap;x)%$Eh`yd@C9IoR-djpk_lxfp$yfs;0+~7pOIWWh>0a7j-UX*XYBF8X*EhH zO0LdAj%3X-NXtUaB#UQ85<#(|gAj$RsA#f|Skw$@qY0BeMK;N9Q#Ci zrZ7gW{Taq*qLBtF0m4A>P;c?!f`D*us*Km|dT8txPsoM+9-J!n;xfVBycIX-kroMH z>J9%nRS#YGvdm1ORGe?7j!=Av(P3s`IAbs%Zag+mUSk)0&YPcOE%t?$!*|{;Z$2*O z^YubK#}_I^39p)Oi|EUXahB=})iR9_O9pa@JGD?X?hAacdJ_Dp_u|?S=!*?w(`$yy zpc9(J?xKM`wL#_ZXUoK3hR2pcc@^kS^6NvoWE32y7{e8Pau3 zP_Myd27SD;T|uqu&k{-HIk4-XsVdw6fkr1zGBHQH*8FeL*JZemKEVhm@BzpXlm$hq zF#T-@I?=gM1U{h8B&)04OKo?x-@q>ZUK(`zV7f^2FCR_Y_L(KJGr5JVCZv*Lg!3|% zg=9T{tG)-TQ)jQ9as+vxor4<|KumhzonGACvmEmxytwZ$uNP{3s~g>e@T=wmguMoC zYq}-3mX4DEhd@+)?!ysL#8dPKtziyi;P3@STG1LVV8A%rYkVoBvCAEK9b8BQW^!l* zV2|*s7f_6SoUsF8yLkacPr>{ySZ82UFGX++@t!*_8hgILU0T|`aMy_vblN?^=E1WE zM;R{c3as@W7eRFQ>Jf~c&vfGpPtixqr(wWBO^7wQ>=*_?#xbb|>mc54Yg=R!*hPn^EoK%xB*C+un`Tnt9^x^W!@HZY>0c)E7A`WAafU+1E+%K{0 zpf{NNDM7Km_x+n74p>u5AMNYzIUOw&V{BjOMvP<}$YI5__K#RoKKB_@bG`Y;xadzm zG#%_nYA){NM3G$z3oFi#w)d+wPA~d`jROP_JsQ`h8V7V(jcYu#Vu~tX+V|SY+t(Ob zd5|rs^#ne!ds4P}gHt~hN`PXY7Mh91cF)$0D=_1%0J2q=`*UOcBX*CwFvh$FnsX&c z`y;#bN6nu+!D-ekqcye)`97Lk$9@ZJD~PYs#|ur|Y4)JzgWpTQm?EFhzcZsvKdaB+a4G^D*`af%lQA3m@KJ@?XeQGacFeOD*67 zqUna9Ai`H+%wG;Eu*K0O<36wjo5R+cd{x97EMj1E8-gv#>>f;pR$eV@NEff{!)`}5 z4FKB$V1v6xb4oB^MDe+@~s&=!e}y zEYIho5%wB~F;{u>clGVR`&{_uDf&=rfH5;Bg@wS?TUx`N>|1L-fRk~|X5v|#H{Uq* zqRVYsz=;%c6!w}o|7A7(ILzlE`=JkMr&jCUk%~=}XU|bz<6iAvT21*vSD{sJ zdiEUC!|$c)DSyx$Wj&q<7XGVye8v`!u~&-m742I-Q|Kc!{Bl6T}6Z^SOJTCQOIFE@`}o^>SG$iw2@hOY zYxm5Q$+s2V#9a;U$nEhMxW|LD7WFEyxf_D6n7&tYl-kfCIGe?|NtH%p$2WlZ@nK3A zl&zStdR{2ClN_gmEVcBgLCi=YqM>s0T zC{ETkEJz8zYftY$Ajx`3=^n+9wqaQGOLFu@r3K7^?%>cESV-C8V8?V)kHt z?Y~p3<*amM2`o;XqNMgn9U)?mw)=ECZrN>q8&W#l1w`}bZq9?rP@=#lz=> zhTDyDM@o5WNs*qq?8cI!?JFy5^imMnRURYbQ_4tg6MP%)40P6@lA`t+Oc7U=8}8II z;g%s-R*9Q4&=Z&FT7zt;*&A+`z3X|ju%u}3icL6+biAKz-K{qw>uAIsX+@75S8LR^ z1X84Xc)7h%mTH6pN9_LdQT%jNdN}F|!T>3S?yDotpPD4f|7E&RO4fK~3b4^UJPvZn z;#3&RXbs$n!9k%W){lBXNEsK2f)dUxDeBZ3pt24o;U}c#3I8nQSAenteoOD{)XR=m47MR>ICx> zZ>WhCMm1$<9LD(Ku<#abh55-=Ps(Ae8A&z!bYl&{5i*9K&v@HMX6w4eUgOFtZ~i_J z5aITVug^6yb_DK7wfS=mx5MxZ*HhZjRcY*|q1gK9S~0Y$JG?~)s^K%?fF~066>VR# z-5b2|jgsK|IJkUZTPZYY)!jTHHv|iC)J7)_=HJj6 zrEdqD=w=?C&4Nvj%1b2Jv{qiUVAC(~!cl)AteBuo>a_W*F*d8vy{P>bFW647Ufxiq z7aAJomEy;nq&laNl8nZd6{Q%_GTsbC85!WxKu(6Iuuo=18ELa;Qrq9*xX zqrOg1x5xcFR}UrZ!s;O=*jWI0N!ro@ZYZU6PjuHEP4;J?9y)|?8(fa=!F+e{Jxi?| z?TdnQ9eQ9hsc6`V*@iLcP?ZhBz74Kn@oYn7>9_KZT$)y5ywbfuN`#bggKI=7iW=$0 z(p8e)&WP-U_u<_WB#LQw-(K!DR*`0;9A zb}bA}ioNA_kCO;~&yB^N5qnd4f^*@+Ra$YTMKfpU2}NMvq@M|}dEIur<>BqjIN9V` zIrC4JGau=vNX{vE%a7-rV&y#RWI4}5`l*t0D&EeD=bUQgoOZID(~$mb$$2*3rp0rf zZRI@YWI4}4`U1&`8%ka0#B&x{Ij1iju&5;XjdL-Q=dbf3o05V3Et z_NGi6{aUPY0Q$h-;6(WI6X26ziZP*VC>t2dmlk_V6@n>F35_?m5P{gnxHuI+{g0p1Vuvo^d*qcKY!HKxc5sMufdsBH(#7NA@rz~OwL5z%L z%#OVcS4Cv=`|w!oh}fITgCfRYNEjm6gfj%nsiE z-+1|d<0UpX%G~w;ukm8d@Fz@<94=+C;ZhtMF2!TjkmNWii;a`wanW&7tny$;PQ+L_ z<*4VLtZZT|bfT@u^~dc!ub=M4cK&ud@ex5mO!O z_d5Go=FVS391&^r8nc1Ec6=M4_TwRPw^(6kA*ajSAe52zE_*41-h0NcQRH zL3cs;pLl=piUvpAxggH1OK~G(=sCfH@v%4fG+7Vvwy@hBy5c-DBM0J}&`abTOGArr zTj_TkZbO5?d&7h1I=Sv}v3l{}34MF5@fn10ll)?j@gXW+Wl1wcQ{-X!G`0(@J%kX` z0=@Q{0Z{0GUr3|a8R(7p2P;#QUI*BJ=z@e6=-|Wf*}OZ8f~|Rr^#~3#<3NkdB~NwD zQUw;O0;A#+DR8n?AWpo&lordkU&A9oq$bx`05|))%@B(!&X`f0YE>meDwNuFJITUG zGIXcAXqQ{_?jp4y!!@dIa5fPvPE|0Aqdf2wIiWx>bSciTTF^(yy=ZHa+mV>Cq^M;X zZaOb6r`T+O;c^6v;m3G^lh7XnbhHz0vDnU7TZ&9=)p@9P_f^(Kh`Y`I(opfc*;&Ea z$a+PEo_|F-$ouT>39&Tm6Vjly@Qj*&1)NLIo`P#0Q`pDaQynZd5B4)S0f%t^19aeN zV4Uk#q$RuAfjEJA)ulc7GE$e|EQT^eR*Xjg`Ln^?-;!G)stjmKk(?Joax!}gl1eL# zH;mb1AzZ{}JL7;irN#VGOcT*CT+xaAlC^06lI?(r27uIgz6)3v$Ib@{?`#DR0|D@y zKJBSi2v9yIyn7+;U|tUdQC4D)v6ACrG1&IFc2Czc*~dgap!oMv zNZF_?gX6u8mpC95&eDr!*{gHC#$aDcJB_1j2A4Kp;&6xGw}bySwuDW)yV>nP9C-YV zo}tJxEShDg4^nF@%iN*vaF=8WOO{zfOPl8o<1~jHBPB4CiO>ju%mK(TrvN!B1`_Od9Ar)mq)I@LV*qkAK#m2- z@uvWJS_~w3?KsG>F_0<&L5>H=aR3Pqk*0q%#quGX_#6AjpXTIRPMf(lPlI zAScB@<|cy7je%4N2y!w&p1~f?1I#l8CWxR z2M)G}@)Snsxq0rnXnXVA>06C3o}kp`S?5NVe%bfSdV|amT<&oj2XF~9$I(o$F`5*< zpHOh-fw5DZB=qfWPAAuv{NP2t0+?qY0s{aHDu1r@lL8wQ1!hkGW{(1suLPD3V3-KNf8q$~q`)$x zz%mkmWki9=R|3NslzRw(apqCeNPo@DiUM;a0CPlv$yWj!24I*_z*9zNnErreM}ZAb z05&`dOuiBr<`(w|0E^Ep{Q(;l1(uTlEGG&~z7iN_758WWi_a?k0Xr=UY-|Fsu~A_1 zmB28cxW@rld_L(9*y&MV&IDl2C@}d-V3^PN}nXzn&;*M z6lMxc6kK8KTS0HlvvSqPS&|6D;tZrvpZoB`GCoS6s)!+i@d5F^(9T7=!Bxc*C+lW+ zk}NZhlIAR|I%r1M4c5)dV_J1EqPE8YlRM6bW=F^amXc;{aK#(W_@`8#181Jl5eg zE^$IJbxv~zCZMfL{$k}3y>edJKG7S>zPKZq`cH6`=}E$GyKj0s21fDp)bByfD5>U; zhdZ|Z1N!SwYj)d}{(5pufBj<7U!RAKyEl}mzmCLv^gZuKJ;*_SJ(rvN6ZO|KCF^+a6Otja3qyIha_3>v=d%X*XwL8uChKWO` z7(WOm-JhG2$O;xfcN&Uu(24`MU#M@IG;u=1A0Pc>hd#Yme~xUOFy7izNATH|#8~S+ zIpICUdME2J@$v$w)!;-g2Uyx;_l9n?`-}^7Jw#|*raq^E}& z)$*xU(E<~#LhZ`EaOSPjz1|HNuj+fcpuZRBMACL9-GiiiwY>IEwQIL)({^ZUTBzVk zwh1v?&GkX}(>)oHEjW=ca!Vg<_g{wtTRTEEpn)V3J!B%@+&p@tbc#1hC$Yw>Hl5-? zJ~RudN`cNIC=fuOdX(I5%BwvmE=TF$WQRkmdU$TlP(3)dw;NU#ICNEI|Hf1FMh!Ho z5uKsW@In%h2FmP(*7P`bep1($)SL=seu1m9%$@fn#SCOzxZRH${|C%Zo)jz0_jZfX zHn`bfG3r~Khra@7ap`TvIbfNg+PuxFRITFsQ}LIjZJ^bF`5Oi17JzBK4uGlo4-Iah z5E-xA>Wcc-0&dXZS333M%uHxv!ofUWIV>_nfNJJyhDcfc)vO}DBQz4-H!RIKYa_#VlgIU&Jzhz;y2 zLz@$J95UXmHXNWbs>jKKFV>9(Ft(<}OnlDiuPJUe6W~}z52m=FJnYZh z%qt+MAv9d74Thh16bwePA3i-^Nvr=tY45=w3KiIcNr$%JzL?E zMIa_R!%>B+`VT1V;$??M=3@YBKJo});%b0iM0<=YFf|{I_{aK;*?GSF*-q$1B+m<_ zHsT|y-fljB9z{5rH!$b#kkb?7O{GX@%*)e3Bhw6Hg=|TK=foMw9hsDUHe8cK(4Y_s5!&^uAPH7P53(PNR9S_qaj<9jDfpr7# zVsl0Qmyy-VG#GMD7NdKONu6(|qP;WU!H@A7Y$>z`UZvy9|D0M{;bW<>X%>9Weyz#C z{3FV)^~aQ97~H#q``)45jV?tW{s496!upCV&{dQ5z@Izy;Ot&Zthmh?j(~QUzhxSu zhgW`n=7pRo_-t+u8-XPW(zB_UDdO1Bp$|+Ad)OSD`75I1mRwhNCPh!sDSJZlc_9L( zeZdqd@mjn7VsyFkyck`@yv8qbO_YHi%=6@50n#{%J;f(($ZQ>hm*0T{Sq=t=jS=+Fkfpj>! zwvl9qFv%d@sLIicKB>7tl+iAOCLGjE%FTt4PKw*Q+dwp^Xwek~{&XWHnCuD6&P(mi zKx&xbIn4(TFTul@@>`G3^|e}Yc$%XZ|UUTlZDF4U#k^nIOrQHRz9lEp4=7JzXoF+gSMZA^wP;jK2V zNLb(Z7i{x#^w98&&Ea|Qj2&D7YMz7N*~l;tb3eL$4@XKv27!T+3-#YcNmY-LYT|kT zr4uRo6;pKfZ|vV0f77O}RG5XAJW~aXiBlO!r`o z?h2qu9;4U}p_v1^f{vPLUc=!n+T%ani?!bq%<>wu?7pDGgC9MJw^?>Cj`8&%cIwFA zJsY!$x2VHEI;#In(ncI%`RC(H&4*wlkanmSau#1O$%F3#NC%)xEkIDghc)9qt#O=? zCDFk7nI3{&-0A6R>aXKQ~vM%#3=)Xl~Fu@1t9y;yiDDvC|Xi{9N6sixpbHkH(eW zvE!ayt2yv!NfzMEU1)FMg9^0tudl~j>IHIHH7rwF!^c+3ocN75vF;8i_U$ z;OuWMxfN~8Rc(X8sF~EKUD~Q&5(3WMFwLRu(E}`PRgm#w-rUEp#qIt`_G67ulw6=%{l^r@GxZ!5Jf_$;l|gQewdr4^jI zcsiMja3zv|?X4r2hDsOX_5BazwMx1Bfs0yv&whCup`teCT|+RN0w^xJUhaaocwJ6I zOABm)9d=e9y9aJ7@(kZ5Bb+cDP8Z?X5j%d?sE@? zQ)?z7Ssm9lY(GabS*6@DTKcf}dK(gXQ^MVY<>u&wfHrLt;%b0{uj2XB_-r!K1<7|si( zJOhndQW_ihHD)d7XJG;)8JDA%_D8bM7>-`TbU}M8 zoI=0CLrOTKs<65M z*0i*hwsYFkL#0(5A8n;P!p7%?RY*Dbpp1`Ny#B6>uZ?xAOlV#b$fk;N4bqmmAYH~u zjSB$FF-|HtPD+|FRTpcQUA^XLev&MPKh0J#m8!>R7SFY1Vww*2{++wHE`p?{R$Ow znS+ZhC_vfed?}rV0`^V;M$&(V)kvxkLbDu+xDrOv$yUH+=$@VCTg@CPArc8G z`!B&h1Bb+98BM`5R`g3Cx*`{)Jgd$_rW>P_{%SAC}-&HC=ZD*)%W4EtYEp?G z3sSB6P^Er2*{~(??`zeEht4(gMyK1ik5XZ zJaWS7rwlfp_txPR1H_z+W*TXYJ5z1JyTOMdPDFX2)Z@GrL_miSINO~%V5aCHXZc{7=iBaVcvOH;y zyQ4YQkV++o!8dI~lZl^Z+_)owE(!37FYil$PXxLpz^8d89JLuucF=7wz^BoaA@6(| zO%8eI(`dqKg*1EuLJoeK1AHQY)dm4R5x^RU0G|kqkpQ0v&`zyctkn>}))4_d5f~={ zJ`or%0X`An+Sn`>%LqWSh5(-kKo*Dqp9oBp0G|ltN`OxUCP{!#1aLxtJbWTBSps|_ zK!fMz0G|k)DFHqam?8l_5y+PSp9oBq0G|k)B>_GWI9mdIA}~z?d?HXF0X`8pM*@5z zaIOUSL}0oE_(TAjZKxZc2z*Tfd?N653Gj))`4Zq0fkFxJiNFjA@QJ_$65tboA_?$` zz=aav6M>l$;1hw1B)}&E7fXOo1Y8o}69Kmb_(Wiq1o%XtSOR<^P$B_75h#@ap9svB z0G|lZnMQMfPXu%c@QHv2KRhVWImMPY2N*{5TuH+x0%a2569KOT_(Z@b0X`9!CjmYY zm@ff75h#}cp9owc0X`A9R04b=us{NQB5;`m_(b4x3Gj))6%ybRfh#4zC&j;DaIyJN z+FDUVD{I5a^*`oM6^ni#oMWyVDz}i`e>E5VfrqwI9=%pT?KT_gxRnrzjU~~K?p)Qc zk{8w8F$t;m_y?4L!|NVc0;Mp?A8h82w)vewOJGGaD<|AJmX<)qer5|X=ai2Y4b}qP(4MQi zbBfJBsqW4*ZT=y~ta6w-1=^9hrF$Ukr3RL!hjG}qCES^YsFL(m>sYyGkxknm)-$Lh zt2KfEhgXkmXi>$LXeC=!kzGwl%;*LbtD*^ADzM~9R;b}dq+nSk>EB~ZQDoPph(cRf z^H^K#Yzteb0KBk#~-4O!ymzpt{zgiIhh%2*dsk78JWe%6h=xn^^8Qr{9{#LHMZO__z_7teM|lp z)V9lygv^B=xCyV)1H)&9GD64?g4(bpy*>O65FU=!nv;apwZJ!w`+@Roe6;YBVYLKE zw~+DGD>=;&q&I@l40JWx^N7(teS7|PSnj@~P3l37P#&w&()9umZq@r~yhdyH?^bj= zoRe*sH3|v^4LMcc8iY%vfN7@BsD^!&^`RCY(1MX5PavJ7Q@7bh#9<({lo&0fri7ls zQ0uQ}P&C(=F3S7kbOI6=0u|D?D;aB)WJq*f$50L{lwF;rnvDtq&0X&yUUe2CjCPFC z@H?sX@6d^EdOH(rK?18WBdR&dDo`+*F&ssKO!1XST1Dj0RcU$ZAmTH4`xcbiwKMTp|{z0nxM&_$6 zsSr=$XaMJHT|b3neDz1)8(=$%ze&ab+Zy~G!QX|LjV`@sfXyBnVEZNhPQQ16tsH+r z{PEjC{HEfU@fJUpsPA71>BYh=G3iBxh+Q)mplI{S6%@t?R-^M4wG~gY+191t_&=2W z;ct_1E)IMDW0AVMrr5NG^=L!gU1!>~Mv*$={$Qv`SDA0YWF8*NMj*@ezl<8AKZjgh z`ysH!$xWV7R>jjbh)Tx5YFsY)UI=F;@^V?AH>GCc^p@_jz!7K7X!ZS-?wRWQE8XYu z)QS@ogu^uxpv~?dj)K0Ax`p&F%u89!Z74=Af}H+JcN(B9t!OUx2g_<(iOymCy=l!9i=D{b11v} z>FB5X`KbrfeY~KN)ov8zQU#I3%oqMDepDOYgcf(;c}5LfaT*HZ8w&a&2CbOTe%1$C zPW8EZ==t@M@|peofz!58lz0SI<~Yb(jf4sdc&k^<>_bPuNI9W<9Mdk z(d>FW|Cs9WhXSPTB#041*-K(o-TwhFe;8}RIxH7&;TLVTgM=u2$TN?Ai8Dl?@&GU8T099f#WgVjiZ@hTWjw%0o}=Q@D-df$Yy6Pt zj-zsH^^L~!1ZE}GHg}#@ZPzwOMjYPTeHN7+*aA-?O_j892S# zE?;ej-(-O->gRw)8;y+MT~f2IyI5o>`_reAZCx+(9Sw6-FYQ~wTdiCp+KQdH5;X;* zJ~uh3wfKyrt|H`7)jPa5S_t>kEJP*mOia!bvl4|4xQN5lHu?qh#((r21!-W&vh<m{JH;rDGZurzZl>0tiuRyX`E)uilvf`#TYw;YEkr>3A_esQEmiWZo5&4DJGO zZwOjp9^-19kl*Ztqi-B~zZc^Ygg=1f7_w%!0Y4vamKYuGO{#%3qY^bIYO#Cj!CTiYy?u=QkD&b`3F)MM{G89KIF^);A~dJgWYKDs&5$ z(9zFZOK3xGrNqGB;}P9>x(bSG1;7GsQf}%W}M-RF^O1xXl!dniu~ ze3`x+W_P?fIi>x1xbd;+`TKDe|68YNZ%neKe5zmHYI&m!Y{S>qlGI93VuE;HiL)W7 zm-Akn>NmzFXMN`fa3y#1kWP1t#6T{HsX8MTto?Z@t|7ET9CnP{y$yTE;_= z*HIc&Ak8nIK8iz391UQEa25^XxCloKk?j9qg21-I>k?Guq@d$LUqRRf6t{=`zzr1W z9v7H9D87YweJi>Sw;%vdz&XYRn0eTc+4aCHNs;VnC?r#-oza{IoqeHNrD09FQ)V(?EBuKkwAo1b5$09`i znN6S#+jH1g*|gHI9=zKrslKxOo3d}qpK;N4|1dppr`mZzp8|G}kKydrCTBb7$vOGM{P49_7uh9w{8ztHZ ztmW5Wllr+&r9I@I`XXt>c)3Rl&$e?DK8DV9jaMTM#C#_s@I_J$^kgKa93D#o2vEJexrt8%UY7u$2yh$G z+{7mW`z6390tY0(Cjz{gy}5}`1P)4oPXvB10X`A<1AZt0ENpJ#D`IE`-P|O$&>I48 zOMp*&>68GU2)rW!J`s3V0(>Iyo&@+r;ExjE6M;WTfKLSeECD_d_=^PiM8K2)p9pkG zfKLRdg5TW4Cj#9P;1hul@FN1d<|g&p*5}kn)^|A}!rWuY|C((|{s+NmO#W9O!w&Ml zTR8LmUHRX0Y#0(A@Y{|1JMr2*P}_JvN4T~jI2u1C#ujZuICuPoLvisvz8e7!cut@N zSn)EdZ#INfeis=?Fqt<#ooWmBrZ1YSCnwk6twK zjZHQn2`S}PamAfKfIORQy~jr{L-e|2zm`zk#5QKk{A4}$3((CjQ27@iA%r-c;{&}} zT9Xfzh4-!}D{u1X+#mytaZ5NgM(~cDzp^?&3FrU4oL4XqB#I(0pLV4Ze&K-NgJ6n5erF4 zx)dAz{4hTo#4n|C!;n(j{Qkf|??AUUuOrYoFueo4aVYHY--!YO+g*V3*;A-xECH)& z)zK?;wD;-(O(Ehh4bq-i zL%K4U(U6h3`F*<)o&=5#lmrP|Nk`X5V9jBW4q9gd@w1S=2emsV25$}E!FTI7e=@+f z7Jmou_agp!t@jf29sh2!{_64jYy5p5f1C05hV{-c{}Oi$@%5I2s1p0k-;!>Wl3ckG z)vS9G8}F1`MN~r}Mym{d8#pS;Y99ZY$ZCply@o|QF33Hn!lQf+)*9EzWd`s3Da!Q6 zaQ#E@uVCgmpL4I}G|vKZ$jm#*%zur{{AiWfY4P!Si!|`@w;L88zwoC~_U@VAgNf4s zPxM}-|AI2B>R>WCRE^Az|3JHbbkpY%@IRz3QSgMs5gXRP=cqy{e1AdghaqZ6ANz9- zZAtN;jW(~iKG}w&-1#g6n^Bvq;SJ#-2OwVYOXu+u_l5Zn5M_b)Qw@VFfYG+E6WXJp z)p!@qLW1|yBe>^iP>LzV`k7&Dnb?*BNdadDR>`3SmH|$QVKBym^~Sz;jkf$P?xL`E z-?jLPoLca5ytta5S2MH0xhn9^`25{k1D%TVmz;Cp$Y8DE5FlB7*)<-KXxJBP!H;go zduc<<9g`Hx*FOfG2tNb*-ZRBB;M28 zRlu}|TAY4ZXiKvc+kX8M=!8R^N28t4HN=9M2}z0!8#ee*SXE+|g8TZLfO{_B8Uev> zOKPC=i~RQbBcG$gmkxnWeNgb!6~@>?-CI?*pD-JxzS_os%;lSV2X^Pg1L^P)8v8OR z80bV&_u&I23fQ3lkvYC*3R|2-8nwYsZ=hwo>Ju0Yr53fXn26$55{nJYOk%2Dpt@_{ zUn09tf1a(0sbFcVo@Y=gQDPSz<)u%lM0r&YY{lG%TbxetB+tglD$?GkB0oe$MxY`P z_Hi45-l%-j;^CG0SMiDE_RquLW6rw~JUpD0M@P;>kE7GRxhTqti~8BDMQUZO)s1I! z>rf)*!payQ9-VUxQDzCK4(q5tDjhZ$y7$5Ri5aM_W$$@3${v5TUwkq|^YS;!A48|C z9KC`0Dj5VM^HoExOJcwme+)N_b_PP(Z9m2?04$r!bbkt3xV~3Rc_J3G=sJN}Ja{{p z#bf&QZBb_N1yl>nqU+SmqN`tK(WRKh!<}(v@gWi{nZ;E<{im75DZnFsw>?*YQBSm z%!~4GP^B_HK`EmC74mJ0WH)>OV&rE`bqN}Jg=~01Bzqx0QyH(o($FhGcIu#k*saKz zh8~s-Z*E~E`+jI$pr9XqtO^3-R=O6zZEdCNFcsrdDR{b4XIm*TiMlL=Trcg}`;Stg z73HQ4+9C>jF1O6Y)a@kC$@-X2zK2gRjFZ6A1Em9~0(t!$fY_IOylrNd?*Zd3>WXlTW8K>SFW=Z=ECRA&`PjX>}olQSR$-s5Gbj`Yh=hh!oRSs4o>tqg{24 z)f>a!Jpy|VD=}r!OOk0L2fSptEclB3)c(0(p7MVVJi5=5ehh95DfAs;Gqk{k6(_h^T{o4d2 zol3jce5qAY0`yl8{)KpAC;S?3tN%g$)z2RKC-qlfK=+)X0tcG!hTZsr^KJ@Aj`p-04A!#WV*~@9V zfpfhb5r>M)pgacB7l|v!U0fUHIGX2R{snXxFvX$Mn&~L|b{ zsyZX^<#AxCqDd{ExX#iX=q`zhj-V*XAh6 zMsP(rD^N&g^!N>!;Lnnm957$HO$r(R5YdssLSQQ$1ScLWcELtYH|}B(WQJ&5cU*ED zBIZQJbpv7dB;vZI(VmrRTH%*`hs{TBz=RId3ET&CGrYLv;6Tn!TMjVe z)?G4|(+JVArxAC8ExOh;60;ADxbM7*D@dQZhypk60HX5tJck~<3l%N4Dq4ie^ssr_ z9w?}Z!h>w1aA)Xmb{vU71P(EHR_Sg-w+DTPLAEzO2D}7IBU)bRVOR!~9yUsMQ=8(a zXf&o2?ZFoKL1@HQ8%F{wVAb~_HMZ?b;3ev8>>3W^ZyLtdgR}dZ0^?7i=gp@9(3Ap9S-bPWN!luj`=B%;(#QU@70QZ zhcN=2xVj-$`LD6^R?VM5W3f#FO0!q}0BjMlU{F00*}1_3f|2mqK@&5JKZincIu+}NUPCAjnqn^0_Jw_&F{lG~}v zD~RAnb32)zP-{^I&gGn4!!~e@e2M_w7R5b0d)0ybParBH2CsP58(0 zcKm$c=AE=MB@DS$=BuCFAD^$j>XZXFv;@;y@e4na|GH@+)&i-2;w*Oc zEmGxW|3sConNkF}(Rp0vZ{gqK_Acst$o%+bHR0SQMS(t-I+@VL9)0lnqgWiVRsdaU z9lui&Y=5y8qHL z*6`p;J{sU0F&A2O`U6B^ki|#qw3u*{P$#*SW<`!SxWb7)+@rDrc81V|3a)VBPxpqF z*7|~QhJ~v%UNx&8j@Aq61h1Om`*^eY%M=s}y!tf=V^SPV^Qj=Hb%-Z8f?E`{BFP=P zGAV)%hjG4~Pa#S)F(Qs=(_pG(X&5K+1ZY&y@K_2&P1@zOvh1R&u zuH!PwD;EJ6taNEySHQac)6D3UTP0zP(8O)AM(zYoFn76t{?)7wah124zsdX&-AY^q`adGufPZYOi|uUQKeC5aTZd5En6p6X3b_Ll#z}O7i2EbJy)-7w z)3C`aga3vv@nV$akTwU$X%lEAjH|mo+bG_e`t}F>Rp0{XS@!9#=t10<1hafzW{s;8 zi63mgkKeAT9sa2{;;NIPLtQXyjrypvyjA~D+QIwS&bYr8N}bFzE+J+0@2^Eo2-l#Y zN+Z9DM1>@KiRF=%6@g$1bZ1zzRX=NT=@w@ z0^O>1QDU`u&Pv?L_C7jQODkMz>|hqb=z_Y=RZcdh5Y zvl8_=4xiE9_DQ8qj?XCn26Fi%7#$e&o#v@Men>-i+59CgKEk+nnLmaf6O8-96B9Yj zq-U|u52bB~?y2}yY9;yA36^%4FUSs8)*g#%kM|0bmI`os3*aPa}?tyfmgn@k+ zd+N@CdP;BH-$!Qf`zV5^b=d8h8Q;b+VW2yy=Fi+73J@dn+wl}_=KDA{(2aXkb+DBj zEU0}pw}S=NZ)3d^Mi9n(A)HshouGd_AEWum4jfIY!5$!U2mwP)sjG1wfnHJ&^<@O7 zR(mPA+tnSRhleKpkL#*2h>NYJ$XApj(kW&H|wr#R7eV!;l0P z2x}+Q>c|3hk_E~E3xpH#<+!6#E5=*U*C{N}WifWg?91+Sg5BwevO67#?9Ss0lWenE zQ_t^@-RUr={y^9rRTkNu4vXE1RdhBhYOy_x(E$7VEgX%4)rfgnedZl_?2 zh{YoFQdC7P?iD0J6*)5&dHpwqDv$S26o)@65k9hm$}_*bHwtsx+|Q+2vGmcY2zpdW zk#exyl#@&b z)B`hYaOoJjvfLaySu8YgERY$z8xvV5?R)rv{Xnv=m4sygMlBoa@j)@TOU($Be7mrt zlayM+uhA#i1ecqcR~&`Ght~M85Xzi#5Xv_MERG7y7Pz!Tzw%rOelKw6q*ly#4sr_F zU3}}~y^wQ&qOr7kk@v4-^7g7xEE;JuLrNIK=Zju zXbnFjE>QCVv+h;sIYA}60$-IiQp*3QAm3uT|v7{&YipBw?+ zyBBL4pbASNvhot5aFGb`WCDhl_7E3Nz%_rqndFbQwS)ZOC=m_FyzU;faEgu=7A>uS z42bNQoX!jY_Nc~PrPR2qoiP<|S?>$#E&x`K_@@T$$Vv5vFsX;q_N}t!2ejZ2g3 z;Vu;I*RiZv@^lG6;thXSV5upES0eAJzr%tVG1_7R^~CM=T^WH$qTCx*^s-L{J+H?9zb1|v5Ys^#eutA zpsq5Ex&Tq?hq=RoS~EkHHV&n|Qg8L3IZ%}rXXn7ZLgTc!a78ZCg=6X7-Xyh(rz1Ov zl!3b{SX2eq=>q>nD5%Q(`2=Ye)iKt_06Yc&!sF0{AjUjOX)qMy9Naxb&BWX3n=y#E zlrY@UuAq(3Z2$wKv~LIuATJ*!2aBuB=fInR%;CYs9VrK?F94uSe-L=MxRm{hI`t_o zVRp6nn*{t_$b4%^59k|!ccC$b=If_RV~Dllx@aHm*%-x!B_T4W^{I(bRsd?H-CE6A zs!^G5H3NE=A`-OU%4dBH^Wz8KV3qMn^>)He>_mE6%?#bMrLS|?0jzK#?&$$}nG;o& zNmfqcUnG~~RF$z+y?U!zzae3PL>)lenKKE}USd%(i4P+$%E})(_h57tgDwhIF=zuH zl=&M=LMf^5%O+&MiZ$XYgz3IO&6E#8a>SXEMZC#0|6crgq;6%EttPACU`=M9?h(Sk zxI!h-dTbpXFe-OIv>R~(1;_EDqA@QgQJ4w3yvEm-0lLSy78Aum?mvrh@OG`!XWR}E zm!BKXYjSzI1ZPu`@(N-6V7{0Q9Oa^0L-Uf&osaMY6Q1?H0|h$a;!}De;OId_%#7WL z%8Zs=Uf>B{kps^nkOAnp9~MC2=5aN6C>DOU992O}GKrqHQZR@q{@R^zte0U$^OQ!i zoFN~REEQ~(rJvI}BB-1UC#H1K`CkT^T40;Y&0{U7-cw1#NV^^jbG^GM^C(5 z^sS2BGZ%17uBGU2OL>QrL{#sg3t%wgfTplOnCr@9afXo>)p&l$&~qYgxXaq($_kGY zp|6WEfUV7C$1;o`YPtbN+O(CzLIJPX_w43=qmp#tGB3Ia>u)l=$c7*c7IGnug=Vln z%rozWQ6v{B;m@YWr*^j-e8JHfQ^(IW)%>2Wawr1563(Jm$_B&-xkGFsN5Ck}W09Z< zOyn%mN&0UDan`z^KAJXRtwP{v{KBiUYW$BkaxW}c`95BC@KJSaBlfRbhz#WqGj^N2 zqE{zTt~PJ4-5uY&iJK&1nnP28zi4g@x8pAcILHg5xIOPAxZSrrhFka3@Hq;8l9=5# z^VFC<4|b{ltC)Q+0L+fNn3!$H;S@=;1-~)O7H=Rrt^LUD()dSn*AX*;ZB=nK5e~ux zd^V!Lgnnr*M7LAKr=mL2>W6v^pSx#%HGBq^#qbHEoESd+7oHlQf9(EW#^(d8fX`Ra z%SKx5j}<O!AY!+1<0r-R8-y7hkwzNvyn6?vdi-M(oSM&1QyG}D!ihR>I>5&mI8xU6d05Mv)uefok;XlVU*~Vb4e5h2CJt2si>(X(R&bj1sp-ip9eW=p{l69|ryNhDFdkJ$hl$5Bj{cr?Ecj`ER8aP*+S z2b#c7s);!8BFiGOR5%!75<%IGQ5mRICoTq^uB$|PNNR22PPHIG{o{v_Wr+F*@HhH+ z1rQ;9bL2{*Pz?jCB0!{sEnLQ0l*blXxV!<>idl6KRsvERdeCQL-2P523jn0U zE&OQ{Lo`KHj2EIR$KbKn7C2(vZ#iPc)pqcvsvH;N(wEX^DiRcxcF+%N2mP>~L%+q? z^_Q--{IJ5kacP}Mxk@*A`?@XG$#1%N41udzLM++rQF=QT)=$|7=HGs#mX@kWcGipR z4R-b0FW}91u$k?mXwI5{vB8P1BPX4IbJ3+c&AX?=f3KsFwSl@;mF5Vw$ZMz$KY+ZB zKZJa~tQ(3#|32_G)NrSHCV*qQT}v1z3}vvZU=oiyv{fH~jMS=B9IO}M09Mf{gQS2ADL@!Eji^}`{A8`Z?3horq=v$ z9jfWY2!RQ3$)v(J$(u2Wr1 zI+TG`S_P_t?^jY3bq5tWS?Yt5B8Ak|&TI+PCByXZQ`b$;le%_bbq95|sGt1dOD6sbRp{^y2?vJ{z!iPxq02cAzp)Nq_hq_)zbU)N}*`z+y^*rnLKSEs^v>16Z zcaoKSb?x7yuE%rZ)U_T{Zz6Rqxj9Zd8;b=)YKK7Zxbl% zr1R~wn+SFUz+y1sSmSc1$JlA!d$Vkx|EU@LTLN*L>;gj=3?lT|#d?FWrll!_Kim=@ zr-zyU?^qMnk!9yE)RAQlqIh)ah<|$7`t*hM`x$<%T#s8(?^?fa#y{O>MYZu){X3B# zE?4|8$p^dj%ly&Z`dSQ`M1B~YdI2|EkLc64==oc?!zsY2;d~*pv`3+>hYJOCO_xJM z2+Y!wxEdlAraGE=9Q{wV4{`zr3HzW5i$UAR&k43RU)zi^PX-yiY57Kv?Ss6`QxVA? zh&(9Bfs`z$0&Hr_iN4}l9``N~=aCmqJM(JckjW0OFu3h$tg}*p5fC;6Uw+UlUslVP zv_&f2!w6Z7G5}>){F~a?l$(d1P>iw*H7ExcAh zZy^Kw6aw23b;6%mz{yVde-HBAXk%e&=}npsEGH z$A}xF`1l+*P*@@@nG>#ou?yxI3m^YbRnL*CK5zy**sAJdQt!m7M&-TGpri~rCnh*f z?BA$-7dE@JnSKHSKaoILYg*l{iECQ)4C|8;-fRLBVyKN_!e79(B)(dCVYzY&%g{;u z9G_l8lQNKldV=)J&6)RY2V@m%hd`O_MB|BlABF33ouSGlW?K>Q$u{A3ckpV zJ(zM?oPwfjQyQ92@okj|fq31?4Nzg^wLnnQhiof$-O2LA73u%VbteYwYZ5SbDwLV` z-4k1up7;+UkIT}Xcw7CCn2Wk$i}3O_|K!qj4>}Eg-X@~-_|kP4+wO#=%LP?5UF^u+ zG+FLrvCQ%1ph|I$5UDZ>5i*5wq>pCgJ(elP-Wkd~*5+ z6kuEj@zMOn;^T|w(r1dJuj7qP>HMqsIAc?oPv$hwse;ckn5G!BbAxl1;c}&5Qyr<( zm?uX+V%sVKgXS!%5ynpx<=!VhD06Z`nTh&1H%Fa|$yqnm31+*RrR~OS09%WKjM?5` z(=YJip$`Ftk3s}n=j6eGPulC>PPM^QM(09)4Ng#SDqhZ0acp7wbyu(S2jslTz`55^ zIIM#XeIRVdd=3+msE0S4=!<{dq2>#Z(Mb-ryH^&{5HnO(Xv`^~Ic7g;S4-Loq+Kkx znUpOy=I|Pm{?gvSv^`12|^Jdw;plkldU2HMEAjcu+jCAvXg? zQ;S6L*5Fq%3giqHPa_DgO%come*6aS#xWr7}K zz(}~pq`%x>m)wOaw=TI=z+k|TJ1&9&Igsh6=Dm<*8cmB;?pn#M0tN#{QXX;O%#0x1AO+E+a|g5_%*bqP?D;E!GO_JAW?kwmwO9NSB<6$NyDcO^?S@Q z1#%1>+oo{-x9-0PrLAnj)DA0?U=oaN>ci_Wg3NrF7(g4U!u-~wd`Y{jm)isDRt!4@ zo7i=J=QOTA1dfReGgn;gOX&~R-I0gy2jK6^$o%2AQgM&9SzSoKS!Ft09K8eQR9iW6 z12(`j7F?FTz!kXbvWQl)zy;52aJ3H~&hY+-M&QbaEp+HS0KU->4@Xdlv?Az}-&j!2 z+mt7{4~K2G{kEF1ZlfKZ_BMA7%uRx`wDuAsd}xbx`2~F5*+A`yxyveWtmi*1aKv77 zdPzF;^Nh^yZzj07f9ZTWW~-I^Fk0~O)x?iK#mAVz)nyP2a|;N4C2a2Vv<)}mlR zn|R1vgKXv}Yl*P{A_Uk^ zz63O(6R!1CGu?;xkJ(%QE~C5W z!+qXJPC2&xFjDV38a|rYeSZCs`w&wzvT-kN1gNpsZ?`Q&+KKhs0n^q!CU9ijigbLj z;?u+LXNKPyoW94M-Vt0-3qk-L46dGmicUh8)-4|xX%Do29%+GE7L_D8HladVasInd{HW@I zQqAs(2#l^yHMVz;!rK@`qgl4@3s8Qyty>UD2ht%|#N8P7pADx$V2nc9 z^$m2sg?H8Nckk`DZ1=t+CAcuajhlqguS+lU;@nNcwv=8O>mL4;UK!gX?>sk#gHwEC+>BpLi}FM5 z|Ji!zfwhP;i$bEhN*XAjda=;Jh)};YpghDXpuxZ|kllc@>cRdc9M!m9A*m)8-pmNr zZD8CxS1tl|eJi9#(Aj~b88rh^fJnT~^jwP(rZv(tYu(IqCD5>qfxB`Ly%}%D0|ltb zxh+QK2z=(8b5YSA+`b(OI1t~xI9g7iaQy90q3)kY)y>V(Xiz^iq+A3NP$mEkLjLtA zrhB~cfJ{<|&qciRaIwyC%}6BZL;`?*1)!l)uT=-4Ek};0w+#^w%zawX1iZs1NK&+GeYj_UE$!n0HVuC{_?v*geCwTYU*bFGQ=`5E(7i_3xWvVo+b+ID zv*8=GK02AJCWw!iIP+;eWK`kRGh36RvKo1hI_0e2utzhn1HPB zl777vPN+^@pC~D)vrm*{bXZFoGHMoVSDz@!Sk)&=e3*K4x|_r-R^tGgtnXHJ-4&Qm zF+WW5Vm=#e%@3>Y`Hb_!_Q*SK!-Z81#doK=)5~k!Mspp|%&{|>V`l^(Su%j!M%`L` z3U?0e9ua#_?;ad`2Xg3vk{?+IqaE%e!@X(YcO2>M;+OQ1Z=~9~`~{y!Mxu27O-T6V zd*WYT`41^+dY}8Zqn_m!Y2QsNe>}-1+Oh?rHsK96x%zdH_;L5A5c5#rv zS4h`%%89+koeuizhFcTeIM@8po`eC{2{C2|{yLx2*sh?@Y%LYzJ`7NGg7|y9#DvA) z1(Eg<7DM`&J&3i8Ns8gk!;%ztVjKCdwCwA^IpxVM`!2mkB*l=y!itcR;snb+H$=YQ zL3^We;^j@f`gYXYY z(Qw&c09nHx-mnd~G-y*hj3JoS*u&g`Wd#o0bOuu{xLqhID5tli33^ehAKty%BiV(I z5Ia(iq||=Uf{fkC>yvQxK^_be2IHy;xWDlTWw}!gZ$VD|J2Isnarw^^$4WX}WI>-u z+i=-A5dL`2(IeSi0E-Ey%JP3KB!R?vG|CZ2v#tmNlNYdyYBg-_O^R4tBjk!YNiBgug5r-lmu ziTc{z4|1}z1mdzHr0`g|CCSHt>^af{F{z1VngyHfnrBi>*Oayl0#%;$QzVr^@Kj9Y zrO@wX1z~$*-yt%LGd>ZnZ+h+g$#0gw9?ID2acWB=AdxNpB68 zGiV9;W&k$n$M(XM*Rrdmz>YBGE%+5_G2{1rxsoUuJUFWkk!!;91rb(0D)=DCC9573 zU(~8>7LgPaPx??PFSz?yU1NbKiV~9BOA_VoXOYOFZ>r7NaxRCLik;NSTe3`U<)HFn zC#G$ZO6S@Njv$A{QO$w6d~GcUCgf}DIKcb9Cb#=$Vfyi3cTyoI5h$%LO>!)%4|jUa zX}~-XqoV3WdDG6z#axpsz3gg+J<0ArL&3IRXK~q|JMC@zQ_HEMg=GJ`19D1U*UOA0 zH*@_*krH9z{rBS!sypACNUa@Iy&r$jtRDkDV27e5UWYRUJ46^lo=lrg7;|;p3Jvmj zt{=AY`Q%4}4hQrHMee2sC+|Gol!^}O56bI=P{5GIAGGBgpiI2AiN+9g)g~t=ulH0| z(Zx-iC*_{0zt%{5hkJ)+<5>CsrFZE1RiE8EbQ7*{0Y5tw`rLRU&8!1!k!Fx&_Uj!=t^Wd7jog|{UHDkFhovngGQKfH zQ%wRRv$5R$#j(a)RN0_2H$3g_X#7SNG2U1lbs9@!@l#?Xjf!+tne2e!_$j37vSRU* zWAPif?PWI%$4Qn?Jfgc^FiUbFKr!YOMB^t#d!cx^$XnpXX)7WL%=bne9~pE3^i5{%s4jiH+Okn< zSW=o?A9}ubr@EjYVd{bJg1AG4|0O4QLShYM6$N$5x>!lv$q%X%bOQw>e9Bt`IU|a7 zwLV{RbckE+PDM{a{9bw}Y|531Ff!?&O6e+}C*&Km=JA!7hv*W?o`&KZrx+B!g5Xdr z;+l%C5fpC(#g~HOXUE8nnTE?}^9Z0c)>vItwcdC(s=QO-K0TO;;4`A}+lC?d(*KJH zeyjg~g;I9`U_tPU@&u(afiM!KZr8MR9zaMFDl_cw%RQ8OMp5dkNM)c@20tiyz;Jp0GHm5fJ>!$30z{j2_pS~ehDIpg$_x&E+OoQ{ET?w z`BTI(i?s1g1Wqi?i>EPu+v-W=asD!^Y?syim%&8Vx+#P%4oW~ygq#76Tn--VTlH%X zh=(F?kV+L1=5|Dw+m}%m3fZ>$vnZ){SV_c{jVNj9)iM-2&=dH&nggNe_F76&2e_1C zeU?&=l~TTKN~xfPAcvLaP#P-C{tf{4@g zA>zrl#IHemHursE*OBf@-9EXnZ)d=VOvbZ{RK~NwG?fjeItcUPxeNA!Abfy=g0;voxR8BBV}ilFsk zXo_m_BRym|hbrJ{#VI03yjLReR51&~icI3EtEwPE!xB#o9EmZt*-Jd7trdS0C897q z=U&+$cn8mv{6S*x8m$Vkg3T&2X+W|^sluTO&E!z-jhC*4-9@>5=aDkYtB*n?4uR|y z#_Ififssn)GSGe97XcS<$W!0{g@ixM7iXmaF{y%zvkXJ@_17m%{bdc9`nx(s(x!~k zd3Fd0O*20zYSiT^6M0Z5j1?wy3u~Yc(*CpD#w0^&BPOD#vBC&>6 zF11<_blppZ1S>@m+%#^z^9S*1+ zkjgNGN)F~!0GK*4^m=ttU<1znOBk`|Bz-Q<}QOOu1VuAnB2}TmDAN zynxmVX(e%PyBVo36L@a2mbe$H(lCF(gk-Lj;nXE2yHf^9-?#46Q6904t?%2n@L;I$ z=WW8i9-LM5PzRg(E@I23)`g!H?ggX5olwuw;J)Ym47g)a`Tq#+|Lr>v+^5Yx7~Esh zP!H~#>7fVr$F5Dly>5OQ+!Kp0(qO*d#TRF+0@m&iS!s<4bj~7THtLI6wA(}8?H)}@ zUFak$DI1WKQT@k5VS~_8citm>KgQT%S=~-*pP(dLGEu`9l4M*BCN!Iw zU7HXfV6nfyg+`n87Ij>T4SB71?nphF@7;3boc^!r{cOyz-xZ65(twmaLRP_`@{-#u zW_zUU!>~-Qp&T{GVq9*aEkb?9Rod)k6L_+50^~1}v&jndEWa%>v^heQSv2tS%`YN4 z)J2hEqGh`x8$Zg4!LZ7c-@^$iZHr}(k2U)2;NcNTf7IiH-;Tafl98hfhPQB&>BraF9B5CvKsJX{kl^(-%>Hq+v+n@P`7 zIGrl`e~h408UHbA7rgZQLRQyhSH_!#>ZVCDk+NMW>&^k*Q?RGQHw1jiFmy5S{V-Ct zJB-C~f z)zVsrga<$_1|W={DZQM$&MA0gDLl3fg9kM*f>Of^3XhUx4Ub(v4CJOVMAY~X5+M44 zfUGk9Q-u_qJQd%Q>OTxp-Xe=h)FzMpbHd&#qYD+fQISJJ!E@lLB+%iq;#@noGh|o$ zW8~Jz(V=kv`%+kZ_U}!dX+3U!NU9xbkgc!JBGB6a=GAJE3K6JOJV~~QcF}i+E0Ba! zA8Slw3MGOUg*c8y0a2&=16R!42IYGrj7Cf1pU zYf`N4%kmgj7fi4^b|_12EpRrbAN9y3SM;TCE)aAd4l2<#wF$Ee4rg||*+ex#bWfn2 z5M2c8!qrzH?K`?|(|xW|Mg}@N={IMhJ&phPV{F@-HNn*5?vCkd%33XEKVgT7mBLN( z``{~e?pZ06d1wzW$IZ(5E{!i2EB@A2DTGqy*BC|{Kx;INHkc~f_pM{)_GoK4$MS&u z8&U-WZAI-x$UnNR1p6Fl{sl=0(G^~%wS{YSpbc+*&DUZE`V(-9eI*W~sN_Ji>w%Zq z;79$^zNAbuh@Z<0G>dA@K-V(Rq<$c&YAqvKH*BDnWe#*516`XKX!b2n4fK4b;{FG^ z)_wYH9cWXV40Np-=u}hReUr9%+_i>w#>A$cJ^idh(c_M4SL@=fgr^OG%osV@bP$%w3I zdXF@VrkAwAZ&+b$@a1;{fm9}igbn_?@>pCh)#B13lfp9n{IUbB$=JfComBM1w@gK- z?rCc>bRE7GZ|$HuvtVARjxIfjn`chp4w;Pc)f@D|q?6B=Urwia4Ge4Tmdp5R^?}5l z-TX@It(GX^v09nhcoE!n^&(Gs2~qYp{Uk35JB=iKX#Y1>6iR}GCR*<9yio#&JWx!Ko;x#!(1^$llGhe;hMJx!sRGY@rakN{C`EfdKt_e z?o1I|_XoWM@k&UmX@qOP(rR3b?SD^-&16KBwoHkv=Pj&Fk-`0z7SPh}ksPc{7L*99^wvTKM+<=1w>T-h{+3G-Ui-cCtEoq8yjwlqxjXe}g?H-#Im^E&)2m2q zyagowOFAK%-wH7 zScS!S7YlsSI4>IburV65w^;E%sHqrNx?4!Rq-DQkVev0}ksHdu2HiodIFYhX&vB+s zlgw)N<7~R)zN)4j^KBoV(5z_Sl}57VyeNC#pTX(S0)h~1W7X4iD-MKw{-Tg=6}`_zwcqC-gF&B7m;C4Wxii`F+cS$o z@n8`$;uPQHFVMF0{PA;&__W~ul#i-rFbS;+b9urF%cJA zN;-Ijx}#i*l_yg6XqzdDhDGDvn8&^Mn#m=J`#D5d&es=Q+Bc436qn?W%ByMnL8PHn zZPfmQwlwmGM7LtH5e>$XKDI831$O%Gx|hnyG)SD2Yv&B3qwqygy=Zmo1dao)`&gEQ9cdemZ@g^ zQ;Ld*0THy(mZeNmT~itp>)VIOUcQ#EbFb2#nOhmC%3XeP;}@jQRTCL5zg^{@!4Q3+ zajczBj}Nt)yQV~jP_RB~coOBEKtCZTO<;!T8QAD)PMSVOJl}H>W}!8-EfOHo`9FCP zFy;nky330jUsmAG99Ul1_$LMK%nz22Z`@|jd=2QX*of(vD3I)ibA0}Mn++Nz6W3N* zsV@uYs)U5#lya}w2fy`m(>FQyY#wk=o}BHEUv@Uy5bcqmpE}c6f%6*LKtXNZ727p5 zac9_@eYM_%YF1-2Z?SD~iR7cCcyQGQAb@AbyI^$88eRo~U7)1lye0Q0Mqq~({NA1TVf#=yU z-rmk0_t00!SvJ)}V7ZDUC~PPmg1Bv*5(zxk@H{kdOw76XHKPBab~(}op^MN$p~;Lx z5d_&M@pg8Ify(vW`E#1n_)pASCa&+!)$;3bCNFc>cc&0rkVB?#BLzpCWm85HS2T_( zN?-#|H8fIJPRPEL@g&@DS7JyRY-ze7<4H;?gFyTz^79KyE`xyFk)JFl$(oVvyR(TOv?E5bF?-i&!`}z!fkEKI zhM!VzR;0Oaie*2gZzkIj(RM`3Hp{EAGA#Vt+=7p#eBb$=Ogi}S;+RwW za%AIM#6mur8vm&CU=zwvB(Trda<(9gb2(G&C11;_iaGsO*}EeCBQZ;|Wa zm*Pr9mK7mYWLsf-BA%#BYcm)kN{Rf0C{?LzDR#Q2PUL6vrwrLMz&=7Sn!P1vcPaRj z@P~QzMx8Y>W)BtfeGJQ7fK}d4S-$Ab=#pJitg;VdIZxT=DCw;BwF`=kMO{~ys8byOdur&>W_$3--scs@cktY5`1Ml7uNzE7e1`{abq8~7PB3gfy7pl=ct}Bw8=>+VZ4g@E<>(HYsI2CPTk`r8-?2?R%|h9TI8!D@0`KT%=Yj@XtR(}WfotXbZBe@jDxuuv z=NN$qAutFc7#Z-ZAVM|*(aFkmzA1>{F#@iVoInV>71-WzvZzyK&-b6I95VT~8Cl*o z48y$rOnqL|ezw2aDkCXB>=6NLr@Q>`0Mj`~CBAyM%sgy60F85XRd#LU(m{3P}{9mnYaR$ zPOzNmlOur-BEFd)$gnL|L3pRT88jdyKx%Nk~2u>L{i6Lh6t56LJu*JW9!*H14ISoi9rf=6YaC zQ!7X43`?Gzk_ej-QgC9#wg#hR8zW9|P{L-Go&o2SNR>bL0$9QT~p}dp|7I|oz`Ii$x>S}o*i8kkgHlu!FDcT4MD%$u~{k!m6 zCwFqh{&OVoC!m+iLk_(V^r?`FU4B-)EA2OUn%d3o5y>?$`UPF2u$f*XX+!7 zjepIJ=DZtm7F5fFa@h|~R1OqFS)S89UdHBLy~PI9py?sP+uC>|ic$q!UhY4dq``=( z#1y)cWLa!8Qi8k=P1J{*-FNe|#9VibxY+9O%M?TcFW2i{q7PuAhr3pDL-rCqM)Ql5 zZBN?-RWU1V2)rFob2G3DSLdJ*A!nAst_u8G@Obx*m!wH&&v7RH!rJ&su9dUXik}P8 zPh@v)h78i3W`i*3_3C0lulp_lz1;spK!8zyMx#d%@m}0dl6Vz#Im%{5?I!i zAWl)|%*nC9V9YmjFv^gKSfXK{Pq>?pl!bLlpDL^+AJ?$QpW*`oA(jab3D)ZSe-d*3 zeULy#Rc_&F0SV5I1>S0yCR>$Q5qJgPfIXx_i3C28J$VT(-R>@subMY&iPgw5HT|#j zPsN8N<~w=g3HSGh33A=S*I8hTmB5yK*12e@!?7g+a5G`k z0h6)mtU8lG5nQr~y>ekwjK_BOfD?DQ`EVxBGqSu_G5MT^!G zQnSNt5@Z?nFU=mBL5j*%YKMa*kY&S+@4Q;U|3h#YL5&QukTPZjvUHlx@hE{T*2Cu0 z?~srHCU&)wkOUJ0y+--sfK2Ru6M-wD&Q5oUjE`CNL7-Re3o&PE7lZ=o1mYxrmZh}+ z$KBXC0pE3U^CD2h7Y)4M07-qh{|iQlg1x!_kt^@$2KN^+){qV8!)BMQ9c8$W^@zh# zh{H>UIIKZXW}qx?q&6BB;*bE@NQgLxKbg5b@+d<-!yED|o|pFgGsNMwh;ulUftEWH z_juPHbx5tgQs%SeDjD#*&Koh{0+9ll24)kZP}8!bm~o&MJ59XTa6)_3X6G4$`MVH^ zK)K(QDxLhI`y3|krrVFoswXBv0}mw-61JCN6SM3`W#5VBw`vRmsV%Htct9L~vzQ?R z&-+@=*BgtA{y0U-j@K1OB3EB6R}$?=5N4fe{REezb<=QHZttke9sQ zX_tvfX)l^|2;SROSy*y z7LCUxXv2F6y=IH2)aaWbp736U%tu}=SDoi7*}n=xfJi1^U;n0nO6sRQ(k{_rnCvFS zp4X?%31Dyzo*xtJe_rwQKlmVq>Kb2O;wKu3WPqj9h9dF6ocQuFuKXE5Fb?jHIl*cf zVt$YoLsa@meA$|ahzDK44sqs(+LpCN?CK2>+geBbJEY^#UYyLsHhA?Hqctux|SyXCF!x%}!u?eVoB$=D zNw}@1i84CSR}_=Q~jf{V3sv6hQ_rKEN8XM^0jSNcrjv+20CK`u7Xi%!a1$FV^g z+jW<%LdYeTxUF;cdBN@m}JLp}w;$426_(Py?JWPy9KEa!etzCK3UQ=#2bK?(+_ za?|lbz&*JsC~^}OH@q5&e;wA;P!Wxv5T#)p#ADr95wn*DV}W;kEjvLdYK>se%HWOK zxC~k1DG{*RCkS(3@gt3MCK7d*+s!qjaeqk%B_ZL-Oa)q~2{J_G@cmMI)^4^RchJwA z^LyR2w;FkVH{@`0!eYg1|=CD z58|N$dWb+F_hIu$@908X8&;cDnFxx>jijoRej=8tDwPq?QPOpu)0r_9=7@}}D0B$T zYiHq6e0H(roLfq!yi#|31wjFVJF|lvR6DzxRcT<=jg}R7vA#jPS7itn38R7t7nCNE zmqs-dNtsb{&JDURA?_p#TC#Hr0R*xTlazK%rR%zB2A`2*ckP6hf^rC`5ZH8nnKs!0`SS51%4ny#}0%$h~d zs)7RjTyGhc++<>KQy(fHjd7EGx z9hu*ol>ea5XZ{|$(>Ovi3qj-Qey3fgi%5$SGgeK!4+Q{RYv67G~5hdscRoSk|JapO9Ma4$;mq<(2nm}a_0=It>xc&5T zfmcCv!mX-60e3loJ2KU9oj=k#ZA{Z*}u4a}oV>NI)^>*kZH3S(O;>!S$Dy5dms2EFzA#~C`Y&JU&6 z%6=ukGUS@bSUxD{1J~~P7}@1Qgww%@eQvQmAnHi9TYt*X(6lGXr^6norJ=S9Ya;dy zLH1g$5Sl$TWv@56%!C4VtGU=}@QWqI3gZ?Ikx(xceUsKWnXzw_$#iP^S<_omhqqcW+e(_z?UPd6D zUnFfH8SPEC4vnyd9H7nfw;hOI?8L5+#v9}^HJ=5*#R7SzrKF)&&$aw170JF_19{qH zAe>9AX>TX>37Oqi{1l7y0vttzQ*1z8M_%fd<@8p33A-%JGP^9y+CW~+-E8fSXo)O` z_<6|5AEAy4J}g0&ILudF^%DcPq$ka9gU`kY82B?gxx{bdlh9PUDjg}Nz@ftb znJ38MeLu%Jya@wbnsxplW&C-olyQTWk!XvY1-~-(>u^{H^48GMhJnNJg1qx2ASvr* zHOO0&lB+?~U`bM3ViZu~LiVE=&8Kse6Eoba_RMz8G-fw2II^L2*)x%c6Vkqzbd*4) z&3IqSGlybxa4-qGgA9X=FD|!9y+0Gih#FQa2U=Zikp$B{8bJrL0u8RO= z`qm?R`PMHlsYv5j@n3fGQZ)X{9!~6|wwsgk?^d}lVcCm(jjg?M_o8iFIs;tFtt|R! zIr^5D>gyR<{h)co*&-Z0&T*s&_u82fIej6s#$kLB;y)ghF(K-NUHtlp9L`+x8CECGIrDgcsSDDk8IorAhsI+ z>p-M=UvcB%683;)KSHXwGuXVi4@!fwy4Cujtiam^v)^Nt4OkBe7v*20;8);1+}m5N zmHWQOySL7>a92E(nu;5jmNOD}lxd5S^aQV=^{njPb1UWt^jSh1I;ze@iL0C1Rdh<-^d!f;@e;^v=M|_w54U*>@y= z$R`(Re!^#M5D4?Hk=40cisFNf zm{rqF9Bp2miOM3)L;hP12Xwh5V(gZMLTv)O{#zsVUQ57~!bL&Es`n6zM*-6qJ`${Y z34JaBrW~wL=?tKMynrds{hhocZHhTnzz4@#w|nlN zBt?`AmC5BRnJ^ueOF5Iy{1USAwq5=CYWM&jWLc4Fl`ADv`R{TVvy z$fmOkWH;?%i@bB>Df1_9C$?kI+tmely2@$lbjxn2mG1+|7eCwgl_HQ-LSU!&=gBn% zt==FsOLQBvz(M<&w#MNotz_*SjQOy&NeQ%uJzDrBKj>prF(ipjuSp}(!| zg6obWnHz=*UyHCJB-H%G7^%5Dv8cx^Uo$(f4i#>YcbI_sp)Tz?{T?mq{z-Z(^~76* za`&V=O&wyNA1ds%sMpEs0|%*I?lEg+1#ed?%eb;oeRG_^vLpZo zndF!H(8+trFY9|+7t5`dUl;ISvLhho6(m3}8mi)ErQ2)};i^&2a%0g!rjb)-L~$$>g|7eIxyI+jbf!mrzBQr-M~-T-!wkI zI~r(}CP#fU&6y~AmQ?o#Wlz*;yxOC$szUuOeZAeP5R8Y5e5GO1b~d&)QHtfPmXle$y60~I9sHG#6@SeZO4^5m z;_s&gbo7%ys&{j>l0n_+={7NuNLm3Ufu3=M!fqaY7HpAH)>BGfkPkymjq|d6EnArg zq2?7?V|*>TtE7|n=cpoO6C(#W3V1$L*fZPAiQ>#T(PrL}SBDCJA@2YR{m{$_TnixZ z{gd=o>Pd1=u<%IgkYa`kcZ3Dxc~8&L>g67oDa((#S_k>-&51UFU%Yi0r>@o}{_-d} zC-k9{_t+$z1?}>xlQ(sW{#wJYkd6hj!n{~G;{mDCk>K>9hC38S}jiA ztdIxnUhqzS#GVja^$x+T*>&pItOq^3ouzM7mC z9jPxVXSaNrHZ3;v%e2_Qv{;vz7Sc+0eFf9P_q#p$%!}%bc_F>Eym_J52Ob#rC&%f$ zXy>z`!UroAVg@U|#SfVmQX%s~0HyOnf5*e{hgOAQJY34WC}v)SVNLVv%#3(#z|08w zOlAbjbj3iR_^c%$z8QO;?^{D^dKe{B#_O{Bw(vGkhdAe}+c`Qo)+&*V!7^C9y1WEQ zCpTu7lnCFx6=z9%irTT$v?^;uBE(5DPOR#ZF9ciG;8AB?&FEu1ZPS}R~yC3n?78VMLroXR>_NbO-3vd&qoU*8P8TuXl5&{hL`UAtM{#XgwZgX{d81Hu1ECy9vQE;2UGp-5wRz|--jmqeFd+H z{JmvF$FX-x$1#XBFq|t2=v`@={uZ)l?-t*xM8jR!>%MpdgohozW|#6HH$HnRr-JzG za!wQDv+?Pj3-mObW5mYGiqzmG_iF$EsGM=6TJFcirMK0RI;qc!IJ5ESJ=*X+fv5++ zgm`HJFPf{0tBDaZTB&G>4v7iNpAn=~XcNomYmqf2mi>T$JsQ|kPe^o-TAy&2xwyNj zhMNuVdLO`63wRF{OzGbe=ciaWigiphQO`f2{5NLbIv6P<(!4Hcz}5$ zp=`riYtdROy|qUPs!&Vo1Iae(B!wqSqwLkY<&-9g%M3p#4cZKzyQfj482oD);R<6w zQCr7)nFL8YO5btBoeUM;gV}(*kpF5*3Acrp~RECe-fxenQWi8342ESmYydyJp9{(4dWSx z^$r_Gg2G3z-COh7|D2^iJKV*TdfE&9V}8rde^|y&bw6Q05Zu8|uYjIqM~*W#^s#5$?TdSPjDb zdOm8uB6g?65Zp>QPi;bdi;`jT=TmUoCsN`;kDiw0s6jI0msF#?G#nO-Pc4b@5j6U` z5`W(b!cJIBga;;&xA)jFYy)#DY{U0pD0fjH?@hf?%#CRL`fk~a;!(5&vX+K-Zw+@t zmt(GbUXdgZ5cbXhT>XLUgEA1c$@P&)u~shJv5o?o5~c&Tv8c-u!k&e-xmI&(yuy!U z=CoINBpoBTBx5h&Y5zwWn@ls(C9GlLcBH~4VsDnR!<3jOnpd=md?uIiSd%6ixhR=Y zhG?ix>}awZuw;~JvYh25bzY_suF_MDyoou-?D9~g+is*~l!=zqxl2A8#5%~8R)|%G zOKh+i8PuA8MFYKDBl*%;dwy>kF^OT3NXjDnL&4^Npx|Fo8#Rzm6jT;PH2EgSc8>rl zm_Edp9UvsgxXh4LP%jy+BT=gvx;e$%aNVPLl|j5f{N9@? z`i~$54sU68`Eqx8mkg{tlTAU4NW=*76Z41sERV!d~3K}rq4R}utK0NNfl%gBIr!O{yVWE)bwF-JsTRuI>4E=VD~MIQHbqG z!yT4`P!C4}$HVQFZ4(Q&Ru*Ju_4~AV;LD1v!!+JckW|S2Jo!;zICa@mxACy0hd8*gV9mJXx7Q3a9+_}I%ByF)GO9p zJEn}_!vB&<{*#hgq1r1S72=)F2+03@2232S>b?>vzsZJorCf6BM{-X7OZOKNTV|rQ zBF(oI`6Dd5mqjY?vqdTGDzr;!L9#2-~FAYS>Fx)SWXEC1%Pv{q5Nbsu?M7y>F>P_oRj z54Fbx@~%ce^R;Fp^7tN{DIBRrZwyRk6(W&SSp4gXrI!^kXK_X75y5PUgMjb7EDeY- zpam8yL%tmtM;%V#(;b6D1f?!&kJ-5;=Q9*p`{-9wT5Xc@EkrhM`k-1)5% z&bo(GG=5JnRdE^+C}XJMBr5gR)?WTHjn!D_MkcdQm~lfD%lLP-mUA+1ROLpPd<8e> z|4y3Ne?r8bSi1EuJp5Crn~lI$8=4GN#|3iut|E{m)Dj=1qjLCYd@uDL9 ziPuCKLkq3K{9a{6R1HNFn;Se>Jm5>@lZnr@y#7e2b*UF!GrORs|0pyh10h{IbK`cI z+uHL8B`qnDP5reCaT{>PF z%zO6`Ve+d5FVn;eM<9?!14p-)E~ggv+f>1{7>VMQZHoJq%L#*zoh_0^^G5KWw(pnlYh`uM|L-D)X}|Cv@|EPTFjZ*_)&6 zg`@-V*Z~H@*K#>EMx2?&?UgeM>L+XF%})G+n{Ix$uaZY$d$1B;OnKiK{9r|eHY8vD zQ~i@^dbDB;&ETT4BHOgWTKHU4)&+ zOsNE}@}hgR%q=)un|sTokA$N1Z4vn{QKMn8QsZUR_-dlY-O_Ji9JTHgK5MrYJ|*N; zZ)`^nNYvT9k&4*n-~wL!txs!`ZwmOPkIjg55V8|Oh*fFtgyhwn>90Te%ya6C&pfaG z&@(UaweFaR@fa^FVp3NBQE~-ZX7&5z3V}WgZxg)=(q`G8_2vvHv7`VH39Ke`=WIuw zvlzN)z7Blzhgi`GYRhW=aBBUP%^#lZYrVo$g`qTy1Wvj6aH6IP=yrtrh6H<+jMJgm z`&|ERIv6>L!5A~4J8{Xln9JOX3EjLom-cGGv_MNn>bN1JP_N}De6}L#%mta9X`QBA z<1+Fn;B5pJzHf3qICd5Tp*16{Wu>xA3 z7RA$Q#y`J5qTh{8bT}{3;mV5K)Md_u?&JqWqg6yvV-olRuGsU?`R7&Ff62?LA}iLZ zkXY(-{FSouxjAG_={pf*kjTFv0gOSnd*hIz?s&NyUtlFSjjH9>GKfJFohRFCWqg64 ziB6`mAty30%3O-aklw1ayWV)5_*uIdyNOS2<^Z3(d@jE^^Lc^gWFt+vBGX;`8t9!p8YmV2FRWS9E!>_=6LyjIhH zZ>5dL7tT=;5{ETIW91N#wSWb63;gw$RmKm~RPWAw%YA1I0p#Ju5($@dDY1weJo-0yoys(*(je>-fRFZgc99N4jru zWqfrzKMsmKPN%+gIl=%~;J}R#uB3(xTv(yF&?2`XE1CF!)FbLqt9**HM!xm1La&pE zabyN!IP#ub{kn%6*sQfHfK|%r|52rF+Mk9bY-ycBk{gmpqMmbiYZiE-&S627);~~) zU`uPKUX!cBg|GsYxh=0mf$n-tPHMC%DVxVK4{KD?Apf{v@Emy|pcN}zZW2k^txg&T?Zh`;` zslycF;D$)?AwxY167S@vDC5}FC8RSRW4EBo#~JFeVQYA82F5G`V~qYi9A7-O2cM!7 zUYnpFYm;a)jDD8NpG5;f+pb^mK08@-3Sm456{`q88G z<4?orN32&60at+#4}RF;-ITvib8HquL-dnT#+$E4o9Qy%Jo3idZ^nBfdqr}8 zuSAUD+Q zFReSMS~ioH+;@LO7|Yf2VRP4nzHgX|oW3ixsII4Yi|y!Yr z^RK*DD}NTtd*|)%y;}R2_<{}OMK6xoHH4^ZtX~dsuc}~ca2|V^d{qjs9i{N?Qg}m| zeWWR}ddi9k$>N3&pS)WCY-Po@M>XWzp(!)+SJcV?E;eD>GJxP(7@_fcZvbCe%>dfI zxHY9RzPQ+mGio&;PK~0du$t==V~GDw2hsB<)VhzIprcqBzp2=+%FP~Yj~za6zLs<8 zt&#VJMtR=wX5Uv7990EP%jRV@{1e<|H*P)R;9I|w?S(M@ZSyBX`1{JU`|<>kb{#Oo z_+r_JWP;9#QBWwIW*_OTU;c-Hb+req3&+VI$#8fO1Gld)H7Ng^yAKAjQV;7#Ky1zN zNr?4L7XrB-bTT78)xK!(^Yx-YhP-NU#TDM9y{mvayh+Q{yuQNp;O*~A59SUYV9+Z@ z??ScvbcuGszWkG%i;E2&v-NTckA?WuCW(*YX@dHEHVjq*^sEvf4}-s9C8?cdaQQ(A zh4V%xNWU!8uR`rt0+-XN5#&~J*&4lDweG&-v|CW2z8^!^QZ%uL70(t@1Rf~9KAW!?v2`<9=qz3oSDVe8nQ416NDmaH?%|X zaP4$iLfBfTp&`iHobq7HP<{SsFZ9j94}-d~#*mV5I|kE+4aC?i>=D~0^22*DZMX=` zVo@onuzW3t@df!zocSp2_}bi#z4$PUIg`-m_=?^b;rIlxQ{i4;%LPosh;!>iYvH+{ zh=mA6AA=<}tb{Y=I4g%zaHZsIR98y62Sx9QCuRO(``kem+_&@sZzZz#iwJ>{0|Gl! zr*<7&ahWo%FSExibG>ecC9F#`FnO#?1VO%%Ve(klH(^~9WQfN4oZIAK2KKIC-EogWUY1| z_>v$J%~`O9IJBJE1$}?g24XoL*{x~zArQwFUZ6#vr+@j{zZJJ-_6;ika~M?y;R@1H zE7`YNw_*2Z>6^}zVSTH0pDRx5TY+LGC|~O#N(VKq3)zRjOV1L{St@@Hlbqt`!TEW5 zK}oSQFQ@mi@inYMFLqZKI z4Zl@KDjw6@%}O$s+lI?Q&kACI*)^;&F-#^3_~9;MGMYCROJo9hIu>*&hv_E_fijWU zFVqSsyig`g#~#r=&D+E=@QTDemp#Sas=a9vyXViz2vzW{`iTJ!f|K@vUhc*3M1?$78$cNe`(Y>(3%3J!OwiPUc(wNoR3oTXx9q+~^jxh0KM& zErjdHEvjr|);DkR^KrxGG)5Ngh|ADy*LizN$evFCwvmUz9W#(!#_3~b?F_s35wW|Nk*_<-{kc_!R3eA@0i zTIs*FFj8zSBtvSql_TK_VTdRxal0j2E2z;nZVlO?dBPxoCRgZ)NVp5Ph^PA?6Hl0m z^Zg_7WK_+rQ3|;0PSxxrxCVl35CLnQOeu=$HQVP7q^WSDhEW9Es#G~jzYSTx_ zZr*~h{8l}QDi^Hj8;99psPMm!K;IiG{7+5I6DPfuwoPT~=o+anHk~TCyH9OdO6;I}P!GE=q(ih5B z;Y9#ePunBQwFxPsrsge&s&xbEf;^Xf5x<=2mk#HW|^ z{Q(jldRR!Kop;;?W3q@a^gWn&G*|2lnY%SSmNiy)4B2@|1C#o zya1ZVLk0w~roL~{F3Ve?7z>Z$C-1Qm3r^|oH=d{4<#)<(?0};;P zz^0ibmfQ-;RdJ=6-B^o*$~VMV*7s%AEW{Fs9d*(-Hhegw*_bMwnWUB!D%+2D8%|>O z75qF~bG_rI{cbf)2b|S36TfW`gxKe2t&VdcLvhf6%3n(n!i2_C3IUCL%CZUhv?~!7 z;~5Mai9;u^wTVNQSj;-}=}vcNtDu-f-_;6V*ewuW`KVCM6hF9h!DiQoIlkQ;r+;(w z@241tGx$M}ZMZIioVpro|?h-Lcb3bjg`#;39R{aI`Oc8Co9 ze6$Elaua*IT>6~yPuU*m^7Wxm#Z5spN-4#eUmS5F^N)qr8DTD9ASx zYf{5HX;}M_*)*^*+_^Qpj@%7R6iBe@=B6``&1%?7v6>~2AYK=u&~D9_dWgcb{&F9fVQ!{wP{4F)}cQ@ZzcHZhPZ~nG+ zO0yx6Am5-&;%bpsYuLF$=w_|_SzKw~C$2NG)=f7%5eHA(6SB7)@5{=`Ix9Pi_^DOf zDaO|#0Tf@!&dSbe9-Qb~)saVCYe?$gYrwVFva+*1A8l#lP%nFqc8AAg^@(GG>m71E z#HU=}FV}xF*Bj*e4RieqxqiW1ua)ba=DKM%*PG3?mcxQUDW_QO|Jqz@Il9Qst4jzs z?_|k4VqW3;t;OuieLEL(DZIY{yYm=2G2XZ81u>aOC(fzYPJEEoi4*1B2p^pw7eOwr zrO5s>q&&HUE#v4MxpO=hFUg&wxOhb_{E2tSIePR`Di5yDHq7Z}!AP^>-+lc!P$z8v zHMH@q$)Tp#SS*kiP=rN$XZHS8sKIIM6&iI;KZTQIG*)ULCb0O5HfCA7l7q^UWq9a_ zT#|){x)V=2X^56AbEm*yWiG#Vz0LXD$ z-=W1-f}um5RTWdmHtdx)II#|QJL_$vz*$SQz|Lt;id%>S5;4DbLjhn9JuI9w*s`b6 zS2+;N*^AMUmC>5&N4E7%if?QtZt?1-=8q z=Xg(sAH044@L4xD37=iOmVnPd8hoz6dL^rH0Sw5S_q}U%(EZ|y2@<;~q_xOh_C+I3 z^#WlnGLBXk`5wHcPs=+Bu#Y9MIWyREh@Ei6wW&H?B=dwXXDY0C6v>Ey|OstNU zOvlsT0rZ4GL&wx@mt&A4`_BBV@f;)g zSB>FcViSaaJ>8k$UjiQ^f_jD)lOfG+Md`=_JIX!T)2xvXGEXd-CsIE6p`XBg2?p5?3TvAQ-J3ch(!dpiA&mAec6j%m@!I{_xZ zHvwAXeUtPbi2U{iPks~OvP{1yEWxD>ajNbA8lTTHRZiv9Jd~SO<)U_#|5D$VyZvI! zbP7wD=_fDN>MbL5bs;`#$J&I9?EZ_Dm=|&+9w5CrOg-C*NXu>GOXfzpOX4(5J zNIYA^VTSmS{D`BF_#=fwBNLv!RL>(xJO-h+vy&w35ME0&2#Fm+4MP7W_9R)XlWLTj zvz)wTS1G+xcFMqd!8Kv*L0`wpmC+&T1~RU(2Vue1UfldydU27*sBXM<|GhXd)eDQ) zQZ}JvC!PZ<>BL%ax`UDUs-eT{kZxg1^EbGEFEk{0!8O{Y-O82I?JMP2iU<+8o*3;< z#m0goq5%pnqm#6=bcF}CU)ZESkGaS!0PS`$N6C1N94AY>WlNTdB!LB*x7jP7D6vIQ2u-W#>Zb0l#Sc^XK-%{v_5e48_vGl^T z7=3WiR4XZqQHRo?Zuimp{dZ(J@~qd9dw4C;5%O*j;p7PwQ?(~z(rQ?YI8c;sMUcS4 z5v&c?6|VE_MLS)gGT1c|ipST`mJ{}(7md#R`$n0N_G%$j>Bzi@@Fw1onk)S>3)Y#Wg{~J%A_^0 ztGlIvD<2iMkjbvL_X)e&qJJOJzYp;@sURJMzcdgoZOQt54d9Njx0+Fr&?eQIKZ41; zfd64SXjxuq_j5|}nYIP6nFX+!S2-owOxps(WtxX_8ps(|_-|0mzIW+T2CF$%*GQ$a zn)7(~%e-q?&Em%rtmbPs1BC;zntR%m)qH26VKrl>y&#gCfVW06o;vaOm1xD93R)|c_c-GbNu$>Hfj@LtUGILGM+=*8O~C3|s5 zvKL`C1W9({r&y)v1e`-137=f4Enk!3Ov zNSbhPr^Cm4_4A$XC48RAGiqfFM&lVjcvX1DclEEWe_Q#hJYxjEC^GtptFk~|`2GaH z=z)qS_(jT|<{8CnS)f$S7nQ13mAr*=*qoEV0+oP<|b zw&{bA6x#9%H@F(>Yk8KdaLcy(t6QFI$dxlj<;q%Sc2dtEjRdBvyv?U_(dKl%nJhL^^gm-@>SFQr&UpDaJ6l1VMw8pg%Mi#<_woU>jZUfYQjG~X0-cCt2I zPna}i_cfXN{*{Vo)a|3x*I!Fd#tSboJ)s+A6#Rkt;zdpZ3ej({W}A3{RAc*(9+S4G4t$5#5~O`V04>M^ppOy5OMF3r>NNm1FJ^=Xzo*ln5X>)+ zIG0!KPvx8(E&@*F0;m2J2@FXZQLVrMaOLMp#k$@1ui1YW{`3807q;_Sq6_R_nAAQm z6{`{fBj8FY9k_G84h0R?b?b9Ph6uVhxMyE~wN-{fyno!M~^{`AZH()p7rGb5Rk;Z1Oo@@cBhRNC*8!x+XiTNqQw z_pe=CCOOk=!A1Y**ngPBg+#UC<}^@M_@j~Xl$dbjNgAyB7p zm6QF9bV4m;@dZlnE=2@Ydbc&)0e$aEFA#$FhgVE_%T0Nmlt5SU+uTBN5nuQjraq)@ zK?bR#n9vpgAiaYueL+!#XZ&Sz~3K$S``V&Z!(ijNl03O^*(1{ceXP&M0Kh$S& z(G0kyULkAdX(14r1sG2jKxh_V0%Cnq#96vHYTt^Q;_bii)yN;k0?EI|ggaNFh*EUt zmWVOfMFO8jd{v*0&YAw(BbY4e*DV)H@o%iWV3(8 zYl&tDlMd)^_p93Mh8o0yYMOmbjW)ZMW-sPI-@T^^j0E%q4Q7B|jBtmWu&u?OjIE8o zY5y=!InK#rC9rn=(s<)IufcKtYA?oUb)0X1%WHXo`_>im?rv#O65Q-HE|!+~AEj|L zU9{VK=StHJl}fd_)3e_D(Z?7v^LvYMu1#(`+T94RePx zw|m*;dLC(>fleI$W^%%v&TEMYr)jM{!D`D*g1A^Vl5GNiJLt;VsCH!?UD?3V&Czop zib1#}km|{x7`m5B<`x<$`_dcUr2FyL_uql@`;r}~=e0x!ya-8^40BBfdT4ex%|4x2 zUr3?M&!pv^Wiz_=J|It^O=eEjJty1B0`!#%HT0&_Saj%nBrBR5`T`3CT8NN3m zVW+45<8rG$B}!(#aYE!Sq+4p z6mGW0WKG-V9^S*sh`?UG<(gaBa?8F>mUwxcV9{SN*%JdKX+KR*?r%%`gCUzemY$S7 z8(B|L=ksUDG7NkkQQ#nXDkJt|?k|odg``B#55qD7UcA`{EGq*XTAk?fOkB` zYF{nbRV{CULF_kplUl<6TqTG|dZP0YUZ69)tFN(5AzhXaD5F~Mv+5;2X4v4xmq=uN zM@LRp+pH3?kygtKq;*P+E_UJ#_s=*wqMu(j5pW7jx#?}4 zalu5A+q1Nfyx4ycc;@{S>L3+WKz}+YJPYzKl@L|OfP{ni;sx~lEaoQzmG|_2;#Y`= zYq%W$kY3hWj@i8>9$w7dyW5Bfjfd;F?AxF(EDJp(g=kEkQ@D(9D{Z*@FVFK>_A{mz zuA`xfiS~kg`)|D)+Q^4|6&x!3y7ohWG?go%DCF8r#e6d34yrod0{C{gPuI{*bzC(` zhaoC2T+G=lhPj-WXPwX9EPhURd5#phN8TvYb`H}PK7gGdK@gwz9e3$#Ud}Sp`hh z_T?bMTqe*9^;1>7u(uGzJ4=Ij)3=sgGO_v7?1t3VvV`!?E^4c)A%}l)ysDN{NxbSR zsSHH9kQAIB)w5sROthD8nh?}OB?0HOKM}?^yEMM4otE0O%j2uoNGF`TI`niQD~2Ac zKP>Y*cOS&vo?R1P)hRE@I9^6HKQyjd^2^ld>Y&Tn+FDbo>c}Ma3%!_5>%O^I$Q}{7 zO1DuR*}0KBsq%r8d#NciQQmVBP34{|vw+lF^1Ls^kHmhxPTt>CnG;NrZOA{gR&Lb( zL1`=OH{C+{(3!i~ov0-MdDA)w^uyY^t)qhemWgQdX`q*02Msdh z_SsCgTfwx`eQCY{7wt@gjR43FO^@2!D#=@3P9g^hw0vISKk3zTn0;&PyH{qdmuS&l zLw^bR9$YDKU)0>|TePvapzmIO$W0l+Hu;ArRg8Ap$IJezhFc$Q0Xk+GPZz80O=@Y+(h|M^dc z*rlcvBqFH4{v4%yCksC_3lNfok0r3AY1VzZHzrnnES=}RdOpQsi%B-*%`O@;hzuoE zI6kXZ3uLRV5e1UvW<-HvFgxibp`B8x7oEJU8K7 z4@h$(G?%1?JkC+DzMgzMMIL`ydNU_D?MYe7{8jn$C4$E4C)k@RopV^@^L+owq2K4w zybVLp#jrDHa{tjAu#1zX;^mMAiSNBu_n=&%KG`O*m3UF#U>94xAcWS z^!;X#Ww!RayWVc@_4_K{B|5h^_m&BE*AL4!?Hb&>n-%2?=hU)GO4$>ZZ9ZkMp2j02 z_jjOs`62N+((CN{DZ6g3?LU?!khK~?!1$a=k6d5ZzM=kFI-0xj_S!Ka<|WcuaY${) zp{II7Pq{XwZ~Wo3O=X)xfzDf}M4dUN1W8U=Off6|ke%hODI-<#QK93ysjh!A!*j+D zazG;Lek^6NThACT(V~J@ z=lA)nz0cWaCc)Z1&-?t|Ki=>#`>eC}W$m@sUVH7e_t|?=&46W7XWdKUwNHh@HPoe={E9Hq+7-$^>Gddrt}Yc@AiJ9{$| zpKqvt#jHLPghkc=UCl%PVLi@BsYe|+&M8vCH`GJ5re{2wa*x|Lq0$%PI|J+W=+X8K z?X*xjak*Ubd~~`Cf=~wqKfypXW+pX(<+M2j97o;3Mq3oY_ajdV1&lle;=5XXaM$#- zj9K=&_nBocdxsyn{pH6f7`Kl-a_*N&|FcsdcZ)*d(Tl?VC)=-U8-Ty?=&z}5Xu!_& z&u*LPuWR#h9W}_GLjHvK6NwgJKQl6HVul#|f=`7=M#-1>mf|g}T-v^CLGtJ?>)!}l ziWK(!8utA|$tlrV4U6)8(RWc%&~QN*xs@O{doXBoBPXhy$Y7#t&)MVK`f}>)yOH>S z8BENI35P^^Wp@K3-7E24?Ux>hL&*C%`r`K+SOY8bci^~IoOL)633TD~?1k8T^2m6a=Sdv9Z2rIp)GayXd5^lQ>HP!)M^*WsVJTY8#JnOW>nipZ$~P`jR`9N6`eKeR2!SeHohq)CRXT3jGy^ zSug^&DlC*=ux4nbkX^AuER>K~D6^uK#zKk6Cz9W6p-i(&r!c3$58dLzsyKcSjN`QP z!^@z|INK8=B`weW87Ymga)9{9WKyhz97A~*XbzqJ0lRrAR`an{HJ*7Siv0vY73N5g zM2uXh2pS`dBcS0{L1)Z=9E++$Sw~@aAfy3=0AA~4$K(4C{#a; z^ZerQ*a_k2pwOSd?d&Uoue9dY*%wtwE7#$Ep8D*{l52wXL!=#XZ4ngefmK)rQ-|-r z^zJ^4z!O3|a(|TS>`zX}s|2b3d)lcUmX+lfER!*KN}WCRy?x1$|4DqVs(8mPBp<&$ zM!qiYXaGMwo;c2ss9!Op;tnD?mVpyroWzHC=mn2A>t4{9&y;E&jB2dB6V?1@C98mm zEjDeVA;5l2Tcr)E(Iyz~;+YS~LOe7@Y*EgDTP{G#E0}VfN{I%*eCmcP$$bpGn5Uz; z!pg;V2IJk$c%vr;QA$DBnhtH4eKg;nc-5CYpZWI?w@T|;WOGx2-mk*Sgu>Q88N&57 zRdrAtZ%wiP@$u|PQGDJitLhl`*?Y0S1?#qUy&$FgjtAAM8`V86y=v@hjvha<1Zak~F^-q?lhd-@^Pleg}KkvPsZG*5CFe zd*<00Pf;B~?R3gGL&~$;?m*?Xh*uLWv*YqUEd#G7qTR=6dnS7uXS>}hv89m~65ohy zD#uk{666Z0M*cVQGv5{S~ zN)55l_UPt{@LjG}#WM#Y zkX>f@29JU>_R0m(>mYwY%AZ83Dz+cwO;}>mv&FaBUo8=tx)7bgxaVMpxnscoKFQv> zof36MIaU7DyfJSyVu-m;hNIhPkU-wix}&bxiJ++#oibk4nG8(drah*>dOW6K?KLbU zno2W7=P1_r50m84;UV{>>oGlxX~M}s?Mp1^J2$?`jd)A z&mGSF#k65*n?l@i1pLNLvcV-B&zwC%AdX|D@G&z_U2NcfuISKPY9IarR|uOf$4ue! zFg(5y&TKc97jvy9I26zN`zLsJ;mgH|-1=VPW3jh$nZA_xP;v-@l~Y+#z6#%+;%D^p zJ%zlR8*cgX27dmJQS>lItC4Mv{S=t>g+D{1iN4?_N11O37PX=`ba4{v{$YoJCf7WX`_?OQo=D`rK6L z|4|VT$v`#Qd@H2O2d(Cju6BJ7RP5bVqF7e*PQ8rUgmU#pbj2fziy* z+Jn*mqk=Q+Sqe@aIpOx?Z(_1N^nYBzIpIY|a6a9fCOFe>{Vx^OXf)wgJ02oEY8H=v z5U}@L#L-Q?;1a=WH~|l5E>L&zl%a;(@^FIO2s|mtomywlc?(U1nHiL80q0UT(uc#r zeIK{$#jC3A&@iEKItGL3unF3zU>~?e(Ou_Nu+`r}!OjIQu>NrlDZrvt1?JVG+hGnt z!<83$q<#=NM44@bX!Ep?k2`f#x&AxUKObi*N z;(=dtxrx#>{x8@WRDt7)jc}cVc*x;GC0yT?*&7ZH{r98yp=ju>_JVOjfTN7L5}>m1 zDC0T!#I%nhp7;G^;1y60B`hXtV6Y+*_QmVmzGS6zf%|^=Uv}L(7Gdu=i(MeTo7BN> zd;>(w9kd)Ha0e}nBr~N^>w%chU@6aWg1#Md=kg&r+30mRIfLl8>&{oIG-%&G1QaSq zXONxt-GxH&f8*$UdLwB*T4kA+y7X+2>7-WY2dolw;=KK=!Qu||<2+j1z!uy6P zhH}ap`zqOB~P7SDC@EN>=`tXne(pkKWv(Qa+#)n9u=l(~~C;Ktn^8Wa~paO!au3%9Wt0d(e9D6=8Zbu|t(WXue~qg>pPUd1En5_7Yzz7CfxL_VFgntHzDiVCBy1go zReng-Yo*C9MtU;oFaHVw;&ML^boBRxMQUyj@u&# zxL#NW9a0iYWJFIcc`14%h^|pYZ~m1cdgFwUFENpd!J1IWgYW$-+UQuFfVH2{c{s9T zY0`gB+nEzW%TPg74L+L25fXh$*zT^B+M(6()gv#FA@&4dQL(QQN8>>Wi0DJJJ_U~f zcNWFZL&A@70c&(*7>3%WAz&?pq@N8?*kKU~m%PGwgTgpWYQOO;KXqnGry17gjYuIS z+Etn9@)t~#zhFP|r{tX})gmF62`a+&%Tp9fdJcB-IM{why@L?IX8tp6=CmFps_-I6 zGxTpS51K7`(cid)wM56l=)fal;|n1@QoSMS1}K!r50&vnRugnKb@?07Q)Ly^-Bp2l zC>7_vPSbKYmo5v3x92T`x{hsxUj(_8yik8HxF~k-pfHZ=mA{eUk`2nWUKw8ij#T7?N52?u z--pOAhhN4T-3F#8>6||-96xGkMaf$gSQ;TGX360h+wJT_C?~y~R4h0*UesHG3zjRI z4y?rW6=9fqR%cbo?)ps5VZBwZ^y9gvtj`k(0e?X!pOu^&3Vr)6kD*+ch*^|Af{ z6E;-lEzh%M;o^mfx+@u&_cSP>+k(>rGa0F-ArHsERHA7zN0ftS+!;t-*>v-8$di8Q zI(RCXraBpjJ%tkRO%xOX3*z?wwoT=odOKVlWmz7?>%L3(h zX`|nzjcs+h<99)2jo+nC`CT42eiz))$Q1%;@j}P*60%?Xot{@HCVdlk>}~g{c|}b! z(6gR=Vk4}>Q#1Ak!c4iPTCPtIk#mLc14a1I$Gr?wa@4iTMz8ixQ_)%etsihJnrEwh z%4sOvic?5L|DR6qf&4Bsi{7h8F_d8d@|HuVx$C60$4*ik>k?{fDL;i=1hZ{X0sa@_ zKNQB4kp0TNq_7E#)J=B2QI8NZIA4oy|h;V}L+{BCItN*cO!hkxlv$S7vA530hs5zJRaPZhU=0K;SneT|X8}4?7J^D>0kAIcXt}e@bHMG=;V#5xZQcv{ z1cg?7l533o`%LQA|BrBV6nv5$aA9mML$UD-|6C!GGUs1v83^C0eLMbV^~?XI zNZud+{j8SZ|8*qq{|NtIgbQl_{I8t%@AyCSSWu>=qybgb{GU+f@V{xPhyPeKPUroc z{jEVn)=>BS;bc*F=#CAo$Vh#Ea2VCls_&rW#U1SL&ax7A3}c1vFh&F&7z(5t9SJ37 zfAR=kt~(Tw?KSZ3Z$-S1boeepje0=8+Q|@qA-Wl$TK9>e!&a!Y4ybtQ*T0g#lVB2L zRp3C`(VIEYLJ#8(v9L7<=l$U#+DZ$?`fC-VUkiVZeFe`~wC^3rPSI|kQ#l9%z5&;% zV_$zo`xkf(t0IBdFIVB(<{x2M1Z_Vx$H|$VX~czbgmhr7F~6owiU3AZs}WgTWwtUYfT&Sr~kK)(mFWMlm%e1j=A&KA3AId6~vZ8Cip zFFK0BL=2n&PvlNsDC@#2H-M@TI3k1{)y{8xfBPw^nht9Rxoxq}Mpn$F>B_90XVm-) z$-EYg*fYxiMm982w@R^AGUGZHi9CbF8yt z3-;*k>UR4y)*dLV-Dc+wW|N$aIkOy6wcU=>of6MDl^dJjvz?e#8ONv=zcsI-1S%H0 z9nccrtAO3xun0Hne8>4-6^s2jvP`+%KJA|v+^sF^F_}WvN7|cDgkKtwqi^7DUpj59 z?Nv?lvZ|WSK#)_(dB-H`5ZGz39M8|PS4||h{Nbij@DCSH!=`MS1aXXHHSji{$(W$X z%^*kM#yh8cG3;N)U@F)Cd|c54YLMGxG+1elTt0%!m^*pJokYM=`{bOSp;b+w5PR`L zh%HyS!Aa2n{%*F99{S^%pPvH{9Ok%91LR8|EI)0Io&z`6EOjHtUgv;xY&>ZIDBl1ruNvVCM;qg^k#$h=&6EtB1jYc;=4=$#h?TFtk7z zihD(n*xhm_)X-}TKnJ9T4JaPydsLAmKl5fNQC=3{hhn(8J%t5zZ;u zz+&=b(Sj@-dGN1c`p205pz+@-eYBS6jyUNpCcl=+$9s||_Fp`29SLFMnR9=WWN$^ zxYWNl`C{ygtohj9m3jM-XqszwSa&q2?!|<^=VU(JjG0%@ zv9K@xxs+|S#lAliFAlEUQ2w$jKms@99dv?FVK>QZicra3I4qPM zy9@=V|Nk-G@&5z({}}$WetLgg{Ng-n-+1;7Aj95dQDCueC?1Fct}N;DH`4n<-B;*U zh_J-yO|Wo6JT&9zPbrO|ur=;%R_5~$m2wPQ0f9&VnIjg)E_6h9%t@T1#;J8A+zN{A}8Rq*w+-iW2<8XU6KD|Eqc{|`vGDw3<$3^gHlBfwH%cK2OM#jqzvd`c#M(3%LzL3O1kD{hOMu9;9ofF zpo)@x@GoF<2zQHNgGBE6;r6!&xk|Lc3X2l09F1{5ghwdR^D1EkpoTZnn#5;!P4L4s zU6B(m`D*@r)bKWB`vO`HW>nG#v7CeT&Z)RgX8XL0?XPLqp&)$J==mc4Fx3CIs6U;u zaD#5Q|IBFo_>Rt(c*aQOkI_Ym5^9M7;4Vvj+J4`JPn=QKQdqsNBZlY{ID(!qPh83ZFHD{LJCR|sqcJ2nOeI%aKR!@;|XNg}`E zM3d7ckeG~X+H_+h;P~jC=LGj!*Zk?>_;8v_kimVzj?-WQ@Jge3> z$DG`k_4*imUGjr4M&kmE#)TE5yVAt#y;Sk?Hy#Jsw7#AkAC9By;itE+dJLaz!{Gx` zP04%JZthkwr*aDMrvm_rZ+q_ZpV2^+i?m3Vw;De^uTgVU&L zXV3DYpWsq4x}@s#a)SEEqgtyGOo`{H9>5u{~-e$WFrXxCu5JzHz`U zgXkvxcE6HO{7c@#>R7{~d|wpjm+2}E!yZ;pH$@Zs!0j%vA2*^FSUOn1x!q0_#O;F( zC>7fWp{B3LH}3CHqR{GR{Ewr8*}f26Dq$tMHCScYKErL?YH{#&~R*0O;+M@Njk*8G>!)(!_{7r?1xMSu{3F}N_rwiy8KTH9!tS|KLvkbw*1%DuqMSxJOzeWqi z(p6x1rL_;6V9Ky}u@EyKB_8-N9m-J2NCjyPy8{fD71GB7f8&@z^n!ojwTGv~hhq%A zrvXLSkw+*oOZg0$;mITqO&Z{fhX>f7-G#5@8sMx#w^zxSm zpHHMW6vkwqBE4s_Q*5&T*`qKL!icDVWK~eI(Aq~-h?E@22E~zRXzj25K^A;T68uZJ zmjYKZ_?OE08}ZDRUx6`@v^uy0_9g@OwL*`V#jXeS*W@)VZbCeG|%&9tdS?#yZ_7O|y zv#)AM28yNfWbI%)LFtv(z-20X!tn&ghd@CcAHv)b9_q6reCqjBj@E?>r0bogJZCk= zYY9!=kH_+Md`9B4;Yi@!DHX|$l_g53maM{wnH-ygUb()9dPwpwlKj;P(x!9wKNy_M zBJxlK&cBylg9|eAs?f_TR4?zZzl2Nv;$QMtSOcXEx8-9W-d8M`t1$?nv$D z(Gw!h2^t5~vB!lib*2)PqZ2<`59O%h6{5RSKh7%^1v#jG0u-F25EXekocWGAc2j3V zMXJ=FK>dg!lz#KVJIQ2%qgQNiM*S!!ANy}-?n@?aMmZ+t{fzl1>aKX;xrn1R19zZ< z{~T|Vf#r{&?Xk{Ri5OFUbhS)=U>C|ADBY>zB3@zl~$+hKY;~=e161y7URnWNIOia z6w9RW-^%-LkY!u&?9NPXm|5~S|C0IO`%}Kf_)gOI5fq<8lFub+u7AyjnY^7Bk_76G z@lf~WcNKM|YoUTsM@8WOE&zeM-%KIU84A4w_It7HWc$N_A?`*H2M+!OIdcAVsdzy3 z#)`k863(!fhhYz5J{Mi;ohxDUjBkMeB?Bc4z_JabXd;Hm*tj)#O!}9eB0`vbCK2Ut zK-lBi58VOIEIv|{PxjqJtj3_6$UsbOk}H1#JXSFG#c4Hv9Ma7jN?#QY8|eI${tz5C zfNd6N7EZ(I*}#G{h@Vmu9zCU6mc#wOhqXwo7~cpVLBjq0UkM!llLVBkiv13Fk~~0) zy<^GApRw2%lYbXGd4n{?2HEt#VQm)5MlrbS!;e@2{67-^kHLS!-eFYZ$0rqW<0 zDUY=mVBgnXdnC*qt}!Za73jY*^}G?pKfoLRqj&qncfVIeTsVm&Z+jEsZJdw~!1Y^b zc02wX>vhD3OIgML>Hgyj{XCM=Im(D%c~@}J@Lc)D^>J85EX2xMM)VkJrI2jq0yF<| z624~p>Mf=63rWhA8&D`!LC@iMfbD{lB=JBw?-_yzc5m{=9^%krG=eo1GeLhJ8wg?n zXD+<6+%*AbMPBOM4mQt}YJ26!DMZ-xy*d0yZy&a<+dj9!df9LLh|GSG>;ymHYn}fC zi0yMjC_iPmQf=+tA->8%?WM`x6xYKr@RiD$0X=Z=Y_W#`hVg-W$N+r75lNVaJJkWd zC$KQ(K*E0!nB0O-36^Xddu{!6`ts<*5x&lBz6u4-#{XOK|4#fr&+|+i|Fh1lFH|?2 z9(uk4b)7l#Vpn^IWahok?nbHDQ&O(V-EL1K?En2PFf`Y`;Aj%FD-3tnHJo=G;J+Q7 zcD(9@t+jqI&SY7!toUE-Li8`kGp{^xpl^My)ByE8PmP0vIO82VKkWa}Afz?^*hwKQ zKMbeGy3m_!gPV-=zmoakIXe?CLShil=Z$y28xPrAlb|9dDe2%zRQDl)xPLwV-$~Uh zuNV2W6?n+Jz|Du{c{3{MowGSHRTX`YH%ZV<(ofMxOVQvF%UdJm&GIIGC*rWB-}2r9 z_dwz}Z<1ARl77mAlMq!^mp8JRSr+Ea0f?myXBF`BOn7-Qq6h8I(V?;4S|)Q= zj9c66rImW9ES9lcE&9ql_}}h0x#T_!aQ4&ivxngUSuG(~!(b&nhuHv!$4I(IU}p1z zFNgS^*f+#?@)z)zI9IW=?c`@M!YAd>gbCQxF`(YN7q{<;L0I^t9uW_o zC=*9DN+|2kpg^MR!zxe#l?RS2Vo7JPBLDpXMG+fQgwz9yirMPWZ{xBVZc^IKOAsl^ zxiD0Ae)7?;lK7M!pX~SRqG;qll@x+)TaAHjT#h5d7Va{aBHj}P(GG>iRdx?%M_eOeSj=_3- zc^jrzyAgI``wWgbz{RcD571`sD-+qg(DuxFs=7Q@=Kl60wB1X|JQjO`rw(sc#kVlpt}Zu%;s!#UT5 ze__y=ww}Ssz?FDQ*G!l-J`?pvi4jLoLh!U+N0UYzy!n{vl+^MMLViS zM=X85GIxd*Q@|s(v3&=||MTlP)+Yn+HLLsR=vGSx_9&>RCll-`LaC%9))D69r_%as zMbq^-{CaMl+Runna4M`sIc{0DzOeQ!-bX5;(--es`5MBh`b3?IIC^0%&ONMXn$T4d zyQY)(M;25yONYRO^?39A<)%G8s5ia@Z?5j7Cs1Fb6C89h&ON*khKoA@%BL`ete5_&d= z<15t3G8h213bOtkmpxNc1hjRzl9dqs<-i3 zFC_y375N(*Wgl9}sjY4lXRrsS(nMX)TVGEG2CA(6B^%}sgB+Gg2ktqL-5CBy=82w1 zJp#?Erel;V<354RWj<8pDn$t6$EEAQ(Sc&yl&)>Sv&}PKtzF<2++j3hV*8TOp~=9x z$R01x#Eqdib`2u0PA`)c@GYhB^S($14pC9Cdcy|19hnKMa^-dX50il2vLRmni36x(w*bvZ;d8TbiafMc?Vh4DZ^m7;qpK{`hbDs{ud z3%Ty%+5^)nH7Cn^p;=0o?~1*P(}u7i^y7wi21F0BHnrOWaTeduwbQ|g#9+)ktWB}a z$(L=sJff@wpYE1g?d|qZfEkT%)DMZh`&AjXAaUF3pV5`D!{?;v48}VUSN;qw<@t1s zcRqIeZ5^{iI@I5nlU?=0l7V01De(xBSyfvb--sTdbFR;~%HMA~HwQlCaQokb*zchX z1^G51_U^0xMtqm&!>nWr{J3qUv5yBRDJYG#=V13&Y5U&;Hua4N#7I~IZ6Xf`CIe?n z(f-D(iQSMm0Re7XY>OoaN2@{lvC;F@KnrR+x%(9@_0J}u_QYghAD(!ih1;Ea6$;(y z3h0Qf)}{o;HJ?>($KHLDi|SVSF0?K39UQGJUB}TB`L-cfNFEg7eJc5}$-vJ|&g-Sn zdll-pxEEe>E^mvyyAN4f3*{ zS$q<*cnX*EQVW0M&p`_NRWC_GBecpQ z%3}d)BcxWf!a=Z?phHmPaOk?rd@OZ9PgOGTG~QaBEc&2W;xu6QjfxHtntDbn?*@P{ zK9OJt76};yxsa^t{{%N^buzFJ5Q!zHao7iHhKPv^q&44!9+0*BWZ-8i(J-n3Sez38 ziqj9P@uN1PPRUW7^82FvZk69{^4lf9JLGq#{Jti?Y|rGVBOnXOQAf$|(efLV-#_5j z-S=d@zAgvMu&*LVKrFs{=4HeZ^6 zP0rrezb%LX<6;o>iF|9D09n{lQeo}GQCJ!F4QOtwJR^VRXS;;X@*~?yKi^e0sI6@2 zgp4S@4BU>5`|=giOZI|;D3&ramBanG83p#6_=)xBvwG_2*?(G+ecHr9zWSVSdwb5z z&)bv9`T-ll?VEEF&kiBOG|zG8a-Oqy^t0zNUaZFgiO+tFE^cg`Rs*?;E3P}c8noD_ zg6G&WvV_m?Tn;zbF8eV&ON^#GyAz`gPKcUoFFFu}$Fo-IV(h7CYUDLo z(Yg+m^VuIETP+jzqj=W+hB9I=LVWua$rDKm67M1>#)Yi{YhHhETc|4gM~o}{e(?;1 zSU3(Xi^2)RF=zQMEBpDHK|ai#)&7*Fo9icU%KSB60gE~Zj=~6q3Vn)BWrtA&DmYY* zUQN8NBD?|&BH+tppM4A>Y|6Y5slhp4PZrh_rL5)H+lV*z5Y$18-(p`BzEj+jC4}Mr zqA_iy@yI~T!Y!y78$Hl|XQ+t_Yq8VbsNzD9huI(c5#zV`;i3HeW+iOp+3g6`E^{l( zj{ZiPa{$@|jJ^=d*!7wAuMuO+jwc4#XV8w=&~rE%{4LOg7$sPH3i=QyjyURzAqZzw zgcDoJReM|snwr()G(4hTmmqdC!m$jcT~0j!)UZM3$fAk7n-0MNU5e?IH=`fJhT^S^IDBT^SFSo%hN zK3Z`bu=f85wdis2?AHk2r>H*#WsIStrUES=j&&w+RBYyhTt{rmd<+3Wh5&z$U}NS& z{0_jG`qKH>Ka^kvoyWpcfa9jg({d zd*#|;XsnrIOY`cdVRaq{U1O2pygaz7@rbQ9!y78&!(R+H<>ptEyd2H5CJ(PHX`eIH z8lN?&y|ScjP8OED3wqvy^|TbXGm=lSALjdR;nPs?c`(9(!uGrkir>p$w|@!Nj@f}0 z8%C2de0$)r%boE-#c3FKKi>G3zYb$^NBwa7qWXPF2>Db5PKDj}3&+OILuA?(^+W7x zFr32!_u|&zwOxuAEGz6Udxc+VC{-onfX&ZJ!=LXuvhDL-ShtW7K>9boF$u13fy^P7 zOPG0J^=$%F9WoHWd;*wcLZ9Hyuid=8EDs$2ynHSOl8MxR#xL7jN6pC^)kdj?0g7cGnPxxr4C2YSa0;%Txb`) zFZv71N~#MTLWyD4_(y=ZGWVPVI^)@+@X88IC!(z>^DVq=8ssj2D?_T%%ILB(JAj(d zlmYYj5;y-@Y5DKEl*ErGJte;SgJQ#yJw@wkS@R|M>3J_!l8k=j=5A&0M*LEBB$<`l zX=T=+jMAnIcDOiDQVCc}iCY~0Sed`zd$1RKt+FpxacE3E8xw|2#hYZ{VZ;ab#vAnQ z%)#mVn6^#_3LHc}Bj`uuIdH;_Au37mQe=5Ovy5kF;8ij(Q)T(lC4;c}rpPPpl2QUcl9h=*igm4Kb=56JMfIf+*A9Y6bo02Hq~417uk7T_Id z8zT2mymTUpxdK$!o1yn;@D@YN%F$vxQL7mH3^B}QzDmli%v1QfDf8!~3Nb@?eiWEZ znG5lT#cs-+izh13O_{goCs`Q|U*E?1)HCI#i~&$JKJ(tn{?j;ST$vGcUgD$f?3K<- zBy7yVs%esDMy#V4PDjeKOs#CST1$VXu4aL*=G}{=npq&U(CUC_hl22YUGPYi_MD*q$kN7OfwhfA*1)(-1|B2^<&8Dv z&0={qraatu&eKd&%DV!|lAB`5fj2)PCE^=*+C=zLz9}5U$tm#SL~{6bKQ}EGS6Ls+ zC+weW40VFcFDh_6e0UHpg;@Y2V?#KJ4?uYQ4ahj0XCPx@2;%UaD(u-nSp!Pi(er1_ zl7bxKin-Gir7;OKrtB|-bi00MDT{t*?6%>iHhz#?^0(;W6{E3v6K-UcaWe2e6<%^f z&zn6mt%bju`x#Sxwy09tpT}N~y^ocu-26(EkX417;la|p%F$g_{_(HOsI-n61ryCz zRr1Q*LuZyQe%seu6~Eutiv?}0=izNVC`4Mc82V*L4w#oX2y%?lDA)Fp|HO7r_@;q_ zSZ_@X11z|!av(05%d)u+hR^?SA1&B}&$zHiqWVNwoMZM5js)?*{GpU?%x&!}VHOC_ zf_jZ82q_Pp3G`E^Kl0Xh?i-D4N;cF-!?788NK%!T44l3I@2qk(WqA(t5g@E+oW|z@ z^&GDXDmX|OSK`F0Fnib?43EL{nDU(PnD(%~!VEbb2VjgT3d1lKSTdg(%l^j8Nj~oa z_!vQqEthXt>kDB!3HTAuewdvxIqGNg$sp93Fbpp6Y0c?a8;)h=+t`o52kgcr!^X6Y z&Ab^o;T#ei4x8B|@#C2b8OBCkhXCo>ZWo5*zsV25qsrZ=;1Fi9N<&_RvLKEb)|Qt} zT!-jBy8|V_w!t-&rE9x5H5rW`g2}*Dh#a;av=I$EOn33UwMBaKIm95Jvz*=)-z`{) zWO^8gjC13q^fBhihaeUFXY-iZQl7fNc8r9Zma-TUA}>qVu4JjAqh&{(y#mxaDKHPO zp_>AmoOrszG^(y-U^4Q=>L;}x@}m-um-qTtfFp20u+Sf{P?Q!*24>?C#?5e;XIb&^ zAp2RF=iz_>FbiM!l4n?3OZX$QafEHc3~HDGs(t1oR=M2w-*n-Xa=lBWhqkj(f+Vy+5Ug2m-c77iCq@9;Pc(Lxa69-H}0-KDz+#u zqyA8QKo(!J`->a?f>_0@y4Wx({FRr`SaHy%>AKO_A936y zbh7xkqYz-{wKa$pf}ymU3R->4H%EU>2YF4|pA;YQ`9w+Ei@=+9!8fGM5naZL<&0?? zv)TU$42SYDZ_yO@VeNzPWMS!YIF8qdWyj8deKD%{oTPtT+h8nE7L2Qbb2oa-xH<+$WUkuxFYKiZ z&d(2H3d?_}p8wJIxw&OlW?41trC29cYBI;-v1bV072;tnC(XG2)?Dz5LU;l2dKXx}WYRdjIUOdHdylF(2 z!W}txAz~agcP_FY(1p*bg5hCZvLMTmJ9zAdGdI*vw=y3=>{w^krp&wXz<%14c^95a zKid$D7UMXFO_>V-LP~*{ho`kZ-=MCt<93ym?82GT%qf5OS-b1AW7*Sz4KD|@AKvNc=;`m-;?CG z1AQhr>J)ia`3!_sO^&LSH@C{~D*3%ce&3hhLnTg&Jdc;>BKbXDe)HsasQms*;(RE- zA$hYyo;&3CN%?(Tet#yvs$SGT$x&Gn|NHX(GWnf|UveS+&y0`B-RU^O9{i~9BUckA z9A6$pGbJ)ER(sG~xLU)IXzXvmd`!Lyy09i}4V3NfgI>h`1=&cO3`~NGXb!JMKJuqV z5>-aXNo$oC#&!=tXU>kzD8v#7Hj_7BfbD5A>Uij3c^5EI0Sd&q8HL#IjmLNcvbO(r z8BSlY)R~*sg&;}2o__sa3=)``^e9E=o{I>m@{95|v7hg^XN1|5q$5X#x zZ1+IaFA$p%#D&IHg}72{8KPpHH%i^b(Up2t(qsQe4s`4Bz@(5%e2DpHIQ&O^D2GJt z`Kmoq%OgKo-q$EEJUpBozdcFLKxb*IwlR_`kYkCL&8+x-ey`O_#l3|bQL$9UUE8oypL;7+Z zSmUQ%sOzI(lwXjDFf$hpCqjhd%Zr)5NT>JkuaA7^Fn*eRd*X-O{t#k+2-^)9&eP+g zygHUwtA={=TlhQ8z#-zx4BSAt!>JF_vwiY4-cx>=DnBnaqYUyRJ;`m78JMi4lOlqH z@|nMGpP7iZUwK0QTAs=%Pb9;BaB5l=kzY0G?FK^2Q;=}0sZSx{GJ_8jE;6vhZ-g$< z>365$1#Z;+2j#6IK3Avr@S^}n5h-~p_z3hiBbr@>XeoSvJOr8EX%A0&-T$HA(Er(< ztIkbJ3Gs?ZhF= zT3$rHiog&JGyg=sfoljin)nTbqc|^K$B)2>O|*8na06xyiCP?TukpR?e;#-h<2Rm! z%NX&8_KYyUGLygPm(@RU(+hpmaLl-lKa25QIKBNjUb+M0(eHZ4OLrLk{6j4TZ8!uc zZM?LUe(UJg)N0^5(zC*Wt>r5THyXH^aMZvQ$V9Dy8wgKx;P~<`!es{L zK$Ivla0~JI2Bz_x$aP?Ac@6Oy1`ZQ$oZ{ApF!Wb2QHOVs4-JPBKER&-oT8uORS`SH z_-Xna^Q5NngS_-*F9a;(M-48VcKU1d9k=}!ke*r%d&-0U(Do6=a|`8lP42He)&Exm zr{zKT*=k^^?+OFYlKN|S|K)}48pP>azvVfU*RsCps};Sl7pggav>}>3B0URFd5F*P zpYdTI#dkCQ2Nh{Wf?pv_C=z9FyY;IhTx8%J!ubwtEtmS`8d&5p!+~Kxk$xA}`l9>q zt~^A@pPdHIqdavOn1m))8<-VMv^sEnc{AaBRD|u}sc%|)hU}JbT4ld6e#EZpCw`yt z1O5FT_Bh8D-f}RnYk?=oV>aJjqx*Z;C+Yn?m0quXX6(u8>x_O*jqkO;*iG$cCZ$!; zk^fd8w7dq%?-glq>p`wQtR_CH@t*QvUy(k}A821!+mZCbP=Hfj^msSF5c0!#@k7W- zO8e;kjqym?Uod{wB5E=)3o)I3VDv)}dE9z!KjRVQ2e=)A^U#~t{$aaiVj6Q4y@g1h zSW#~1rTp!|rfl*nH9v3raQs{)^sYt8F1_yjB9HXW=tHlI&q*{N2mNG;K0(}rg?{ia zNP4209#j6(YS87FjK3hjSw|35JT6q6?xBK|t3REewinNkG8`O3gU?F%6g@S_8uTog zsmFKWPsdcvAJ-l)Ohn4TPZy3PLWEWQ5@ooLf%zNy%XND=^Cj|+9S7?&D5)?1*xq;c z<)7CcLO+|O&8-^y?dkiJX?6Wao=ygOSf4~|nJfQwmI-~kK!t}s zrq}%ZM<4o9>+9{GB*Pv7GMuc)9`axD_fl8>f~0TtlPGp}ScNgQ7rgVGv!HYB#kN;5Hr`rCA;#>@&*KKdeFWzbSNfbGFH9tudO>pTKdh&mk zCJ*a{jaF6AzUmEG-ID1!?a5-+XU}*y{o`!EZUc)ww^PHZ{N{WI^C_7>Hy|6g2?MpJ z35D;@PilHS{|Iva!D8(jQB1$>wPL2rf1$U`p>MzPdHSQ8wOiiz%BP;sG~&Pv&0q2h z@|Blpsdn{4Vg;TxzQDonZZZ5X)9F*|?>w=S@{~H?xe=cz%Y5gxo)mdP{ep>>Hle>p%ENV)Qa?xk8CdW;|KQRS zWPBHPf)MaW+Sm+h0o^0YnP zZSoH>|0oWR(fLdN&3Dr4{=NeDt_oh;Lm5tadVWRzNPTqtMkl^kzF?(>?Dt+_t?>a% zc^JAdVt;{8t%c>+ya$$xz2f))CI0%f_`kxT4ibNi#E&n}Vf~Aqap_;h`m{Q*me*Vd z*7K)s!$09?^l3N!ZlrU^Baaj=sz_>4S(U^{tyB^kk9$wRmPC#FzHiz!E5>)dF?Q;v|qHwl~2j9R>Pk9r1@iK z*};;u#!%(WVtK9WU3$WV_nhg{!}=!5kXF+t6_9VRm0zFN zqWf2^LyuD)#&MSSo2Q)e-Y%E&YW~aelsQL!QvMQq9C>ld)Ac*cEpLu0ukODr&(yD( z{9Ik^%0msyFFISn9(jPjneu@7NCD-c#x)l0i-lv(dJ)red_W)i3>ZqG`9u9eEU$Zw zk_S)z&__Cd+M`twH~(dx{5|o}Uub_)K4E`iWRIW@>GJ7`-;Y1{agd6ADxUnI4?=jE z=w77d)wM7363uraf2A)H(e182qkN;j1&Q7>M1KgpxV@0oeCB(KjV=QmeY3bdLi~gM z;HCZZQ5F+{UlK7_M9ea#*) z|AC(*9I`eL5mNav$_LN3ER$p7^LwnC+W?hi-rNe|J4N%w^~kH&e{I)MOs;|JvN7urHOxQ`)zHKK?!AtJiam zfeJ~V-~6^x)A||gPkQoE-v*XN`?A;1Ls=X+nCQ9;8a2Lr8Ssgn*_wVm-zjqHqu~w* zukDSpBF#V7-Y7_PAr0~`ROP{cz6f%l)3=)R5r>`{MURGqiIAcvNP1TPkJ~>93;l(R zukr&NOysEe(w-}v{Pp@~?N=tf_+yPfaV6wAkv~S^J@Q$k{4JQT7qNdguvo|CGGiKP zNU_9}0HmhZ{k@3&eJzTypE=!h1xb(^KL}|>e=m9q@ky2)Pmk~LZ#5ht%pg@BAU-wr z!i}l&dhrS^1E2i0A9+oaPvfuJQKO~sDQ~jW^0YuxVj$4ukUb2y)I$na$}6+d)ZyfI zqc^v7`jH>}KPmp|63I{e)#y8_jN5;#P5fYLW_|df=rdIO4mZ`iT_mNLT8F-u;O+4& zc|m@wQI$lr+8uu=&xzJa?s%o;J1@~CXU{wGUXbwdfOc2@s}n)OUVfvwaKBLpo6F3P ze|5L6+yqjB_AX#~d#1bgtiT<}OWI%0cXt|m1Le647bpwfSwEcM_Gh6#_fgXynE&eE zyYXc_-1CTwm-rp1o6fI+@jF^wd_>ZRTzZ7Qou|6^An~m_KUd!612r(9*dEa7nJ;lZ^iw($Wttw7p4CG6VSBMRy}{=R zUJ2Y4ZWPcb{8_E(0bIlUTOByQ{BgoNPjTxn}E z?fM6}KZNVM1$N!f(*_HcukFzylONkx$`Afp`iqoT+jo5rh z9(oWzq{gGrbK$t!pYzq|G?G9Mt;j^H(FZM{C$Yl76zs&F`&@agBiv!&2EwZi+yYqj z|6id#TK^R}{MPILMJ9jAFW2Bj|K%Edi1h8z{6>DwEN_pa{~Y@d71Qk#A-==J7kJv| zZhNnl^e5@~UVW~`zmpYEXO-H&`GVr_h%0*2Qx|Jlt%aMYxvzXe2(>+T9!x5Cu+n>g z-h>-poMFdH>VD*#1|~I*Bg@wd0e!~fXLy8o3m zxa}+WMuV63%|Fq__cDF1ffrDIG7Ov}@>Jl)m+_$Weg(VzM_*G^RcIfBkG7re#s1rz zLSKCOZYfX8mq|}Ca~kn)ZB7g&N&j#~15Cf6I1HBGB)X_BZqg3Gc~w>(@!R+rYa; zKYZxovsj;Q13%9At4;hu;yVm}8SyI&zMA+}gP%ow)ZiP4Z#4MF2}d>Twr3^2x5m3t z`AB4a0b~wsN>c4NUE@}@S1;wURqH!9y;Y9+F#Uy`52OFZ8O@cq3(LPj-WXBI+eL^* zsW5-3`Rn!VBCc$F;in7QLH@#vZ zw>5r@j}u)opwAWked1HCgC7NUds_S;^Uu}sL4SyFtIK}{M{#?5TKVV;lHU(f^4qVz z7`R01i~F~v>I>@E#Ll40uP(wJ242AayV}6`atrhs7|X@z{~C7r19@wCkNnLuD-U!(gk*O#R4yZ!f`QdE9F;|256{r6r(BiGDdYW}+aa(y7q zYTGZ3OcSZp_`3fV_UXTw`=iI3-qU}z|629mYEPlw`0oBG*&k@uJ61wMoXV%h_xkHY zV1xbD(P{O8e05R2x`7~9-1KO#F1*w2rS$`&+BZI*(q7s3*L8E>oH z=a2Y0|6+H2-*SH@+K;^u0s&=czqFj{#0+ircHf3lSS`N_27e0^4L3o)TsSXLXnEmaA_&;jmtqWkRBb=Js$YJvnSd{_7x#;o{z&~# z`;hv-(Dvo^Bj4J;(i+nGM8P5-zVXl}E}WO}m5P1ajMJqOs}FPaA8qbLtAX2yUt!>0 z!i@$F;>4&#)W8wKwFYh=Jk7wX2$vanH{l`!%X~E7z&Qs3pKIVQ9Cen+FmQ+eUPp+vy z@!bZlBYvlWn~Co*a0~IP4O~ZjtAV?SUt!<~@r?%d;VjKW)WC(r*Lq;$rx`eh_%Z|6 z5MN~A-XVbV4ctt8u7SIV&oFQs@p}$2^(VgDz`expG;lNV9R?2K(Eh|~1J@DXYTyX* zD?BjqjRtNYK5F1X;%g1Oiuh>;&LO_cz`KbrGH@?WxJcw1I42iyu7SIV&oFR^_&o=k z`V-%6;5y=W8n~JG4g~y25u(4!@$8q0k1Z29r3LO zju5}X0~6n9;0EHO1}-GN*1)TXpJw13;>!%YoA@FF_tHO^Z{VE60OuOGi}(x!hlt;k zW9mjzth0JBLR09xRChO9+>!61J{ZDW8fO%8x0&GK5F1*;%g0DNc=Pdw-H}v z;2h$M4BSh6z6Tx#IM=|zqX1_ZxQqBb*>3$K#CIEb74bU_+(3MXft!h6ZQxbJw;H&P z_!S1;O?;z)Bg97yoHGJ&t$_=PpJw0?@nr_iA->4Kb;RczxR>@)u7+KE8uM!(-j%Ms z40f~Q?`;Mv?Faj{pPlc=7TCx9!ef79eh@(hiRjU;|6?uTTD|_}mbZSTvd@F|-&<4D zhZw)eq-R8T{m!JXll1B{gNNKK3_dJ)nDvWYq?)e^eYw}D_BHXL1vp;_+vj=X8+^6G zhwRh($LsP!_CfvQ7pU|L?2jMy)Ys(CYNGrF_RC&8_!$Hu(RjO>ADZ}@-Uar)hi%(yFo29n{;QQEO?V*?g=aTE8aQL5*rRKvX|7w+g zwcY-(Lwrj4vmE@xUOeWbl92ny3l9J@)BO8}p678Ttt=uw^~Y3tSh2*;ETjJjw;u4d z+<2P1p3MFv^Wk2Wr}{tOyhQJ5Y4hVTGCwY0`XXFPkLu9>QmE3y|63&S*)Xs# zUA#0D^J@c5h_B&LB66h{u1&06o7Ke|U`@Wcsv408>8vQRiY0wM)-}#Ht@k z{-Q6+3_ZHO@JFcl8eWiSV0`C%q`_(J*@vEp-8`fpdh~kEPTJNzxu9>sRECm!p{Kkz?+3oe)4zYuP;#i#QwjBJp4p?l&?hhgYJG<-M+<%RXb$AiH0MImK1naqFKR( zivGOBDx9w7mM87c^#jreeFw$boN4&vR46q*<=6TCf@;>jJUvNjeD8Wr4dZ|3o8xPJ zD&Jp7{$FLJk>t&PR0C?J<>j`d$ctH&8FT!%kQXIyluspZaSFA)%v0$8_0`p{ey#M? zu-|+2RX_gX6vyzdyS{ezPhe|>8fB(CS+)Jnla(|9`mePAv@KfSrRh&@KYN@FY{gp; z*mp?wsoyv3dQEHktNLXBP5Z?btE`qu?s~u2OaIVH`cR#f(NEYPwpH|1GZG}q25Eh5 z$^I+!pJ1Ypc-vl1D4{PD`4(jV9lA>Si0n!CRHr{nsSKIjwd zM`J{_KjTS6b9$NzQ}g%sAG%5G4+f<52jo{s`ga1s901GylxgYuTKYTt7wLVA_6mgG zr8n~%=#_|y-of8U@2Cc}6iV>ud(vhXdx(a-%t9=YhalPv^oGgbX`L>=3kla6I6}D0 zz;b}>?{+)z7wz=&u@|bJ*BluRIitpifjl18iM(uZNK%Dd;2lOvs{@q`@ z?QSulWWq<#l6#llE5o4HG+4Veq#g z5dsb1Z-n`+*yQrJhH#^STL|x*=+?(a`Z^5UMtpRmn_lRvHL$eTGy_Y0%M2W3enkeZ zV}9K~NaMe=p9bfD{4{m^D`foD>G4IL^?4R@ektr1#Oc#sadp1n&d#**Fu!cWJH4N% z0Ahi#U(Rb4f+{XHp8Q3OVWZ)d~E8oDy zgmX3Q(!=>N-lgm>!}@cB*Z5ZYK=?oH7Hz-k^|FplZhJq@@>d(Ui*T!kz2!CIT?)U{ z=#}j)(v2_s*L3?7kzdtz?@fK%$BmEr6iWV(c4xm0c)Y5`BMhnS(dT>e=5NYh`f8&1RgZ{dW!;zjpRli+5S=BD&FIj?sw9CS`1Z~mhiK&cwvg103} zn<}K*Q%FjDpRzA8p9$*uOvq)zPdtSPW$Gt2eU@9Ep3g|7?0u$E;8z4x;k;<~yc6n6 z(fYr`@Ay?wDtNZ{5J0Qd9|Or`imVo5nZsq`7PR4=67{2 z>+|41cG?&FZw}ux(3cp#GHL1>ws4cg%ed9+0Vz`H2h&kgpEmMWrKzYI9Vjklk z9lohNh*scj5>u<+p)M;13FB%?84yZqXXaD1lod{?^0`Tqbk8rWe zR(uzW=W%@Y;Y=4iAAn~Td1>ODX4OcJa3BPJ-G|_J{#|-LD+h~bzsWSXS{=94242T= zWjymmW;p`Kdf*0}XNk4~n;49KIUIX?cNmu%llU~bBS2`hQIM=QDb2`pcFzajRNhO(#qD`F^&l=mud z{g-EbV|h2K@@BHU!vm^*Auu3p9ceH2mRH8|1S93mNH0&?H=bR^j0({iDy_`ZB=5jU z5@a8TpbD39+Kn9eKZMrpSAqBku!tMDgM;h(4od4y@=+4mz*ggl5R zhY&v7vlJl<@oWg`S%wiXa0`4xUUFoAIO5?veAq%4fVyB$sf>hEFlJ}6USceSa2?dc zU1n2K817bY}D`2l@6PA*r>y(4rl6cnhwv<;juc*(Bbabgf`Nit})jIr*4ztFp_k}vVT8GTrn;AJ^el z9e$$2bH}Op%{qMG6b1i7hbNt?;P313H#+=6hhgr@z~7xZ+@`|=PgCzN(&0loY}4Vu z(-nTa4jXm2QHNP$6n?S}pVZ+eI`kDO{BRu>>M)|i&%UehC+T**ME9SYb$G81*XnSW z4nNc3>7!Np**aXM!yoJXx9RX$T~4*;*GvsRqQhr(xJ!q7bv|dEtnxopr<GzY*NiC;VzrRC=8Knw; zNm@Qpolm|_U#;P@ba;_||F%xIOXssqhaEb6QiqT0aF34vV+}9Y;mta%(_uu1g*wdB z;nivNxmCj_Yr1}><2|O!S)s#~I^L5yJXF6QuET*k{7mED*I~B~|Ej|sI($)wZ8~(? zaf!|+s^8Dku!C>w@r7uGIAP(@SprAWLMQ&7;R?UERHX~$s1TEFNmr-C8XY$1uvv#) zI>e@KRgMm8bcn?^dG9-1g~1~=>=2;ClQkXPI_%9+bfrc6kHNwdhD!Ne3st!_Ppa_3 z+1Jm$Y5wfsj0M-ssEb~A(`=pdnk|9|MYwH`-U|7&I~Go8or~_rQ;RW=gT=o;UhZz?)x-< zb=Y7jxLJp*ba?HI*)!%`ca5((Eq$*}7tvvGKk4T#oEx2SBkoUk_&8_IO>;ohDe|Ac z>M!S1MPKlTijD@&|1*Qf`i?yrKl<;gtLNTyL;e59-dg~-l`MawPV6u$L4r)2J#XQx$tfwYe;piO=R=%AhQyXd3YmzWwFo{L z@=pz>Qc6`yNPJu(r^$77&gmdbnvxbP)jBOUPguJS3402i2m+ai!Y}&493*KkHcpoa z6E=8ah?2{K#8uc5xri2!&Fo8i`yG-;qq7oW)Q|V&OAYwOf>>WieELp8${{ESV}6FLc_XS(70X zv!^Zm+v+Ttil?Tt+{gNVa@mjHdkXZB#3G?sN)h}miT{EXVT#RT<*9^o!^P||A*5H zYwO`}{$HH^XT4bLs{a}7KkUX%BN0u^jIFfzAL~<_m)Kp~v9?GhRPv;;wd0B7hsoc| z65osph(gL@@Yp;SGa($8=P4BNvidjTwKBDJ5RbJs2W*K-oJi~pnmC@6*bx}p#edhy z1PF~Tkt<^c>#i`t6Lq;?-l#1%m1R^gwzjy&drHQ`0!3Sw>z)eugc>o-r_EK*odWs7fuuur{9SFYGJl-;-|?-%Heg$@9oQc10CogBft|rFKZvD+8DMX)510w| z1^a>h!2#eva1b~c90Cpnhk*b%92@~=fg{0D;An6RI2IfSj{m{JG;lgN1DpxY0%wDB zz`5W&a6Y&ITnH`#p&$%|g9s1_qChl=0kc6Yhy(Fp&fgZM0n>pQz)WBkFdLWy%mwBF z^MM7xLSPX91z-RiKmbSp1)u>8kPTn~9DoOM00KY+NB|k2091em&;bU(1XutY-~e2J z2k-#_AOu8!7?1!`KnBPG1)u~}fEv&MT0jTr0RvzJOh7JR1}uOTumN_!0XTs?ARll6 zZomT+0A8RFC<1(d9|!O5tAN$O8elE34pt%Tmiz zqp20Cm8n&!)v1e9e@b1Nx-4~h>Wb8rsjE^~r~bWg$zL|7Zb{vmx-E5k>W2Yn#?Ct$kXD zw0dbB(>kSfPV17^HLY7(_p}~qJ=1!nLDJIGGSYgd^-0T2>zmdut$*5pw1H`Z(gvpu zNgJ9rEbYI~38W2A8?07NjjqTa*S(gZ-BoQZnmjHqUIG**UX)X7|j&nSC-xW=_nk zmzkQ`DzjZ?x6DqNy)&~i2W3vkT#yOL9G2NXb4=!x%pRFQW@hHt%<2D^&Vc_O-~Z_- zwGXWiy$_=gvk$8eyAP)iw-2umzmK4gu#c#ZxR0cdw2!QhypN&}HJz4DPiLev(^={4 zbWS=qotF-R^Rn7!Wn?YN>YUXtD>Z9$79tCq)gr5JR`0AqS@W|dWL0EUW>sYsW%;s> zWc`%&qpyZoPY<9M&@ugNR(krf5z9xc7_oB1su9CSj2JO)L~fQT%b10Xow0*5hGw*h zow3U^AQ` z7}^xJ2v!N32Y;JA27d)#FQ*CdF0~a+N^8e%z}qc_sidkey7i`4ro)z&4u-3K0miTQ zPe7GGmqYJjw^$DPUujdIZ*WV*WBnua{p|&|VHML5Qq(^5ee}KTFZd3Wx21oG9$AJs z6WOANrQyZlFOg>Gcc^^AdFej$A>XsG1Vyaet#1PjX}?-#;-=P zMYoi`lIht2=mP)SFwEY(>^^D-1|Y~N5cWHE8h5Plop6ANpgf_5>PMEou@PKU&x_y| z(OT6h_0h5w)OrP;!Yw65y!EI&1PHc`T^48Jw-G*&`%_ml-ZOp?wwDx1+sp8>Uu9Di z^>Wp=i?)c9>L&!dRq}9qSvkT?)n~*|JPU83+@kEI*RTfi`w6xQ3KR#;+3vxWEh~>y z{X`544fZs|0^$zZF{_$OljET^FfEEl9UzA3-$j~1JEC4fF|bLnpI{2uV&p4Slk8Ub zgE>10_X!tu`RoeL4$eZsR-r(8NKvTUubZgPH*B`uw58cK_E+}Hc6R<2&w%Vz-X}h& zzh}ggcLer~*oKamPf$I!?z4T*JK#MUZddke*=cB3*hBZ7?D@D;xG&^CCc$(-cSHtqiHO7cEsk3OZ-|iHzcPc{z&_lu+}Id-)b>P~3$?=*BQ6n| zBCjEzBEOKzF#~Z=@LobG;U+;&){&P|d(jxQ{j{45I_n|_#jW8^7N7)JVTL3knI+kz z?5ujIZl(eCKN-@E&rPGvug#Sfwyny()qTdZ*6Z*iibExVk|iaq@a0JVvd*@#&_U>( z#51JTiiPTln$^TV%*_f9hTD{)OL3+3U@c)XR0W2cU4xy2Z$dai@DrPpbIE5YFB#)G zzp);$dT~y3k8l(Dr|<#tQ9&o6NoZEh)iDSu`V`YXiqGBIv(2k1JX6%e_n@?8`NXIN zYJ#UALih^8FuH~QCv&`Du{@xfqg!qMlE2p@Em+4mWnUa=f=)%R#h|%3zSPrCtKyuk zQlgd+x?16R4gH;=v!KVJZD6NRW6>K3?I@X4M63oTai$C9!iPewG*zkAZ_qb3bTxf9 zvQ1A}1oa!l@!^F9x2qfPYYUNd7|pO7qFmz}nabb$;~U4}lSE zSx)(D=xxLhqLnS;O(ni%t9Wh&oNF~6g+D^h!G0(84J~8!7EBV1R9bcWbPEipOuKAn z>}D6mJ+9!Q?_!`A+7cu|N5dbZ#-o0dhZWB?Piz~Dj+LD#yHut@bfuB=HevL7HT*JR zj^7y`0lmq88bA=|5)=6^WmM}!LS=;JTch{LTw$BB6IYsx;0i-;k=@X1o$Wl!%x8=4 z``IX$Yntv5Y(KmWawYQO43|u{LtD#TVqKjN4p4S?*h2+o5^+o@a$)g2%(0 z(stFw&>*x0Y%XdZdNO)gj+gQirJA~uTg1;%TD4W4Wgbm|KR||_j4p#3VH;sx;2q)f z5JE&Xau@PDvK;jg)dro&e@nC*gTOAqn($}>iQpqVCOsv6Bx%WZayj{Da%T#Xx{wy3 zU!$*NOkmY#&tSi2i()T+BHYtFig2KaCmJTM6pv8ltA*Mr`g_I(rp_j^X|t(=CDpRg zve|;R`m6(ONc%z;&DE`7iTA7blwTE)1*d4g2A7pA3WH#S(z3E^OL-siCX6{GPud4ATv2A)Z3WdW?q8ef(q$i}8q%WK@p+Z?-3-^RW zcU^GoO7bAacKAAYAtHry5>3YK!EYk)D2wPnF(z>pg2rN#^mxD`@1X6g73qptfa#X~ zpsR^58fGH zVj5&xVySO^XAQf_9-fEo@p@i*j(cx;&xF60N(2SaiLgQ#9Dya&5a!bAF{ZQA1*gS( zgp=j_lvh*-wc~ZoEm@Y|t;LQiA6#gzYDK{n463Zre<~^@{1HxtzCnG&4#%I&Sw?VE z&EkfV{i@%+)r1u1J%b$no>OU~5$8L5=C-tzA<~Fk2D`9=C6-Orbuu-u^e8x0B=#TA zTjTEquR)F{qButBDEY#`iNK)HW7{FZaLQ-u1n5r5$;8`dqOw3U9%{?2i2d|*I;C~@p z6p?g8bEC#wT(ztQfpWd}oq~NKX0q359_qW>z_MeAHIzSD5}sS|P6UEsF;ntg-QIMc zr1Iwn8kRmm^gvFf2iVuyUBx@dmrQc=C-z3?N9QNcYUFj40`DXHDH!UbAT#_kycgm& z5`vn8`V;jGJsUF|(l>85%|-c60U+ zwwj&GS;FnbAI0A*bcvdXapH-xzA}#NxT>Cpq^+l8>0ayZ>Dw4q8poN!maFyx$2=#= z_0HAHGtqc@8@gcLtY17)w4%{m!Iu zvNqufe>;!SIvh1q3Fs2kIg99hJziGo~>1FhKAu z^EvA?`yuHp?;Ed!iXVuV3K5>km=3t*_}5ev{UB$Q4a1unK2p}d90hBL`%Y+W*-RWp zc2XeJ1+Se9HShR(tXG95ow;_HXj>@x!g(NWbfU z@!jB#@qUuet(e5$@yyk7c3^Gd(Qu*WpXa?El%uf#(L zJ({NCC*f0lo1*+~OY^;wTF z9C3hPYyWdyP(Rv!KWD0D2=pzqjBt;#k3Nz8hVx7)$kVtcc%XrI!3$-b_b6LPv5I*-CCt8ATCLwo%^F+Ax-|dvL@Oq zd7Ops3d@6>IJ?t?2Q z^dOgz*ONbzdr`d9?ey`C3yh82slt41k*=Bko@tJ)zUPT&W>GtTBL6%6Lju%Z~jH0Ozn8>8srLcFRT*Z zmf9AcgIE`P|9cjZf^3aJ<8U}EzJ&0BSU}oKEujx#$~ZH)d%1VHzp1Z@B;u$@B0V8P zQLd>px_Jh)0cp5ul$ih|!@+Yta<=rO70mXwDoXXY@^>j#hli8`<=0Bi!hc0JN7u)- zB(9`YF?))(Y98y~ThbgTzcYA`*r;*}Dni*xsSxSp49zdPM}|v+KjrH^sazWW6T+$= z$(v97Q1OTDC}Ccpr&OCQAs(l)Szcj|cbdOlDFS_*-6A*_ztrzUEQ0=yD08+fz)AIt z1tB_bTUlDJMukODd3TE*hDky%bRw}e<+-mu>Y~?e(dB{U$1DYu6^lLIZ1^d}mys_} z5B@Br&~sn1Nk`W`CCD6u6q{vA@?R7KqnvqIR%)C9{YqW{y@g$py_$Mh(!%u3l4bqH zy2Tf9FUxyR^3c~a^W7TG1L0)RXyr)l>>QPOy=`6DJJ@0JZF-P_Wl1=P)eGfkEW0fO ze2W4t;GeO<9B1r3pn}JgeUty}eT%#2<%hfY&H0aXPc;J^!(c3A4(crZJm-|qq%Jm; z7)RS2&Ody&*$_!XdAHoP_Jd_Bs=gsM8|2!ZhJ4Fh!!tgO?6n|NRFwch4|>IVbtLe6 zd25)|TtSB!mX|!Q&}ZXukMj10N5c9b=cCS|ZlW5J2QvdKGiS08Dx53dD1V_qtES}+ zwmo;Q_8u`D3-DxZOJ9{vihZZfS3Oc+(9Uqa%o~V8p!%Zi_FvQnj&*;`oRg+ zr#PMT<4^^v7v*e9rS*-y)H0EBltNd{Hca$$xPRcIIjv2(>cItn!T6Le{4v7%k_Sqz zj_bmBbl$t<^NgdaOS<1|{X=hq6^<8qLn;oUg%mG~DC!_x>AmcoPzqyxP_}?xgWkgq z!n1SE5LO{l$ra>|R5e`_d;hzVC1#67qvd@KaBI1>%tkC&?0w=@7IqKM3~zv~WwHf5 zZ8Qhp`OIIBh~lj()jP1xRxk;2HDwmL1;?k;SsS_Y+<%EWQ84tK!t+p`JQ!_=oPbtl zZ^bR6iRoQsV!YdU$JovEI-JiUTe?71Fco4djzLzCn^KN&`a&l;-6e#u!dS2L3;ZB1 zTfI`7iCnH}&Ogzx{M;fsp%J?RW{?9b2{fNN3=kj&@I__)gOJO!S@xv z<4N+P;zfv)++R$8n&^?;Ra#~`zrNjprx0!mx+&hOx0pIv${ZsQ{W;gGUaILF5ZR!t z4{-uL*SN_G!|b3oGg(UNp(xNDi0=6D^3j%aflSH+jRU2lq?y(^vpj`G*^zgg4Ng>X z6Ix^1E+H}&d%V5yjP(t}AYcO#$C0N|%Lyj(VycaHmC=NAgToPfMWYpC6vI_;-LI}v z&wPKt|Cj$rxG=v1-UY?OT0-5PDZbXF>)}Rn7{80KlYE0w!#K#i#h%Z*#%m_pAug8n zS8ddL%qf<6j*||nJH4Q35zB81H!aJh1?VGU@4xIqrRa?LtNDP)Y2Kax$;IMqwofem z815#bnI<{-0U1<Ab4qbs|MCht#2;7U7dH8}O-bU7o)Ww{)m1WRUXzL1r=b)48 zOyT8w&hlwV)J1tDx1; z#n2_tP0+2-9nf>ov(O{ZW6(p;-=KG(FQ9j!AE8ZPIWPc5fRSKW*c_M|=7RZPr7#1G z2b01AFbOOV7KU|3T!Gz%or7J2-Gp6)-GE(yJ%T-kb%pnbw}%geXTlr6yTd-f(%}Q( zgW=y{uV8K94dFB3bKt2Q3>*%h3(tXP!-a4y+yXC$JK@{lTi}UooP?i(Z-pO%UxnX+ zKZd`6KZL)8e}?}BZ-S_YsE_D~=zwUC=!!^3j7N+?OhimTOhHUVAQ1}@XapVcNzX&@ z5n_Y|VMAQY_9EN}A0mJVAxaQo#4^MR#1h16#2Um}#8$*+#1_OR#CF6!#8Jda#7)FK z1San};zjH=z-z=`i0_CrWHV%YWJ_c}Rikgj@h3W*IhgyWXiXfwSC^4!t-hk4eY^X45 zF=_>BIcfuH6KV(QFsiNbdiXBtEBmGFCF&XK1*!&B4?PJz6+IX|1U(Tw6g?U}0Nn!( zMf=bybP<|@mZ3FhDLRNYpe<-M+JW|?^U%l9OVB&f%hBu5N6;tGtCF8TtVJI}FGKG~ z??qojKSn=6x5Bi?d_%uPzd+ZZAE3u!reYYFg_xljB4!pQ8-vA+#bjYfm@Za*n7f!Gm|K`fm@Am}*&i_-v%h1$VY+31#z3>- z*>`0lvqxu-$R3*wf`V*j_ONVWHa|Nr+mh|cUYuQ=?aN-Cy&-!?_O|Rp*?Y4OW*^Qz zkbNTiT=vE6%h|tWzs&xeoq`3k)38mjjj_$JEwJsdov|IU$1&ZpeX(P(W3f=|1ng8S z49mkFz`C$BtQqUZhOmpVTd~WqYp|QJhq1@7SFo3`m$6N8SFsPV&2U|CJ#cbdI*yK8 zfRo}52#~l*I33Q3+l8yft;Oxe-NEg_?Zj=s9mQS7UBvx{yNaF?cv0iqFC0@N_&C&%q1vycm8) zylL@Pd?lU?TMJu?--17ee}=z>FT`KR-@s?)^vY?I(>2NIl`QIIiqq$=g@Qb zIpsNfbN1()&N-B`FXv&-Z#hqLp66W6smb}0)11(Z(2+2La3N1Okh|BS;Aff{LIexLA6Eg%CUc2`dOY35N;C2`33x2p0&C2u}zP2zLmN34ah? z6Fv~$5gHI15gQX*5Ze(U#0+A8;#lH1;xyuHB9w?C!ig}Vj36Y6iFBx%s3Urb0b(&R zieF3IL)<~!OZ=I5l(?UGoOqr1ocN7cLwrH>l71&PBXuBkA`wZwNZm+nNbN}(q^_hc zq|T&;BqRw+T0jz#6eKk%pX4CfNJ~hSq;;eXq1Wbj(n-=;(q+;m(pAz;(jTO^ zq`yeb$X&@@$Zg2o$fL<)$TP_^$WzHsGM0=cQ^<5OlRSs4BCE-I^4=;lc`^AQ`4IU8 z`2zVoIg$UXc zRYRpv=Tm1>7f~718B`{9I#oy&Q1MhNwUGLhYNwV{9n>f_OpQ>3)Roi%>V4`?>OJaZ z>Ne_Y%0B8b>UQci>LOYPT0`0g>PKn{?LD=Ino3KjeWAXgwxG47&7n=E^{4ft&8JPF zO{5K`jigPYO{dMIDQFrRj)te@&;+r25hXMhO-7^8NHi2pMJuC)Y5BBuv|?I0%|i>& z*3vf6&d^TLPSQToPS6h1j?s40PSbSev$Q9)hqMp08rpjrNc%?nO8ZVrp*N;Cp|_wn zr?;nfqbKs;lb%i=NFPcE=p*P^^l5Y`olIxY33Mu*OE=PObT>Vh9;AopVfq!ionB1; zjee27hkl+8(vQ)vFi+5L(a+FN(GSs&)1&m0^yZA0^f&Z=jQWhmj92u(=y1kl#v(>{ zCX5kg6frD}wG1_5DZ|HbGpZTe8G_j7KRm{M#&gC2#xcf2#!1E{#s|g`Mn~pIW zW?$xLW)D^;W`AZYCWk3us+mycKvoGe#9Yo?&2%yMGH)<1F^@8jGxspBF%L1{FrPA; z*zPg!GuP1{GG8$Vvpz82Gv6|6m?^Ap%+9RttOl$;tlq3atdXoytTC+7tg);Gs=2Ie z7KXKmg=3LfB$hn(IDn01XL$;utZLR;*3YcNtYfT$tRt*5tV^t$tm~|Mtoy7tEIFqs zJC*%~rQnQWk7kc#cW1-cGuiXl)7WG-iOpnl*jzS+O=nBlcD9RM#CEeC>{50m`yhK4 z`y_imdoMeY|0C?3?5pe>?0f7f>?iE!?APqS*dN)gI2}1XIej_(IAbG2Ia4^JIny{} zIb%4pIb;r%gXb_fOpco)<*eoyIedwmV1T!l=~}pG_Nf$jrSY( zAvcrvnR}1>irb$zkk^&ho0rZz#?|pOJR(oa6Y$Wy+}JJ9<6<{VPvYTu0FTBa^GG}^ zkI&n}+rYcP`-OLqcbT`JcaHaraEf=Ew}*F_w~{xMAK)$KRq#r9+jw_)&v^Cu-S{A{ zso*p3E$=C>0e>^EC;tVnJ^v40Q+`|iL4I$3JN`_5bH1EEny=;0;nVqeKAS(6KbD`t z_wx(+i}?=z68_TIci-_A;djd0!#~VF#NWx^%3sI7!@tPC%U{F4!T+8Ah2KEXF|UT- zR?tx}JlabzRxn0zOFd5TvUHAMhG3omF2D=W0)l`dpb4}Boxm)x2pj^tpiodMC=pZ% zmI>Af)(SQXwg@&0whDe0>=hgnoEBUb+!g#O_(Skc@GAEDe}7eDVLM@aVK-qPVQ(Q> zh!N6-e4$NPC@dFRg;8OykSkOOgF?UXi13Z@vT&d9H{ns?ZQ%ytX5oI}ZsASgE8%tF z@4{Z9MXu4JL83{bv7#=bQKBqSTTycnLlhD*ML8m!2rnuUm53fmoTAU74&tWb?V{tN zC!(FAW1>GrcSL7I&qS9*M@2QF>!L@ZUq!!*UW$f@#p0pjE@HWuBAzVn9ed7ekXS8V zB<>}iAs#P=iu;H`aS!oWu}!>2Tq-^({#krkyidGQd_=rOd`0}L*e6~tJ|wOdPm{Ef zER_B!{v`e`o+5cG9xiz$9w9j+PUL^Gq@CoWI8UONXeCyOMIw<9B=005iA`dZ;3P$o zfaH*bE!iqrD)~vWOtMRIOtMCDSMsamPstU@HOU*vOUX@16KOMPjiimVp0t(pyQG`6 zt5hlJA?+;fB?Y9Dr6Z&WDMMN&4N5mk-$>Ut@3<%P#%^qk*}2Rl5de8 zmLHQJk)M-al0T5&li!zrmVcDDf_G9hRdiQ$RP<1cR18xLP-H45E1(LP;#w6}!B=n< zQiWEbQWz9^#R7%7bajThk9wpUP)|_LQO{M+Ruk1YHBC)dbJaXGU(Hbq)l#)w ztyXK*Mzuw4SG&{&>LPVm9a5L6%hj9I+tfSNyVSeYhty})SJju)chvXQkJV4rzpIDk zeNi{oG}5GL259Dwmb2K>`u126CXjmGvCRd}=6ln@H0nK7fm1dJ> zhh~@N7tLPHKFuD@am`uHZ<-sLTbhTOmzuAd=GwN}zB-6@pl+77NUPN5X^q-)tyjBL zyIs3RyHR^ldrW&;dqulnyH|TudrJGKHj)3Q+8f$$+V|QHL2=34y)gRIS zqPP2x>rd&=>d)(c)nC?M*Wb|J*5B7Z&_B_?(7)E#H?%S|H8eD289E!f7}MQk>}4Ed9Auni zTxgtOL>pnosYbXFXQUXJ#%v?YC^V{!cB9|8%(&jT#JJY@lW~=Ct8t5QvvGrQmvNu* zfbppDknx)FlJS=DfpJ3gmGQ0dz43#w#@I0V{a1ZccT)#bQ`0Qd0@F~_2-6hPDAR0{ z!jx@-n&c*~No<0d7^aZPZ6cU_CX*>@+HKlkT58&EI&Ru$T5Fn=yTr87bj!5URBhU1 zx@NjU$&|anXU=uyx^rV6?dAG&L%GGd;oPF! zXl_OBSo3)EEb~J1A~VzsHzUj#Gun(ZQ_NH|*UU3>%v!U}oM(>RsAJAId(Fk>Ds!c| z+`QDh(Y(dH%e=w7!@SchD>!OCWnqC}OE>EPYj5i?>w@HGG6mt;*2z|s6=D5qky*u7mX&Q) zTJ2Vs)nm0-ZPvxs66-SSQY*z8vaYsnvTnETx9+s=vmUS>vhKE?w4SwIv|hJfv!1Zt zu->)avp%)fSie}mTkF~C+Zxy!*_zr~*jn2<+6LGL*~Z$kY*TG`8_q_u<=7}TrVRw? zHm;3t6WE5@WHyaWYs32kFZ14Q)nCfIWan8BP`#+~S>*pB)>Y}mcKFobpF2l1Nj&7uZGv=AIaaEe?0$K z{+|3-`ET>@<+pORaDC7JkpD5irR!3D8&^kH2UmtG-8I}b+BMGA&o#j{(>2|Nbm3iO z7u_XrSzWoVDwoP-a&33XT{c(56?AQImARI<3SG-wn_R!RHoFeHj<~M4uDPzeZo59a z>bt+X-n*W;-n!D<&D~Ai?c6imJ>8k^f$l->Y3`Zs3GUJEvF?TL9&W0e90RY4H@2JU z7P-8?-!nV!*}X&!6z`B>oIyn9-)Wsae8bXhi8@NCr`k$+_S<{?pf+N z;yLR%8wkT{}2(4~cc-Gs#uwx;oP*f-@R1{hZ z%L)$_?l0V3c)svP;nl)3g*OXN7ye%ON8#PVhlO7Y8y7Vx0tz}xDDo7AiULK& zMP)^6ihe3uSG1|@wF=xfoJqCbkh7d7=Y@OALD^>y*J^L6+2 z@^$ky_x1H<`6l?r`DXd1`zHGq`sVp&`=CCoj~GL&r27~?rmw}VD z*!RHqyYH1R-~Zm%!2j7-<7?yZ;7|9r@b~n0^f&YO^N;qA@{jX>^1=LYKf;gnxAf2R zPxfc~aelI&>zDY|{#9YQ-{v>@t$vH&<9GXg{#E{s{>}dF{s;a?{<-v<{`!Hofi8g& z0U$6xkR8AU7y(v*7f=M`fr5ZLU<)h>tPN}otO;xnYzyoT90(i?oD7@}TnJnZ+zs3h z+zfmT{1x~R=oth9?Sq4Z9fECwyI649*Rf1g8WS1mVGoU^o~GMuR!Q^TA!g zpM%eXtwJ@ynW3SfME<*kGD2NLy+h+eqe2rx#1J)P42eV8p-rK6q4lBS(5}$c&~Kq< zp~s@C?-va4i& z$*GbLlEWouOU{)1T5_f2YRRpV`z4P{9+aeq`-g{yhlQty7lvWs1z}B?7$%2FVM>@C zmWPGm!f3U3SV2=5H<3ZDy~4xbF44KH%v3b%;-8vYzki!_Wh zjgP6MRXBo z#2B$g^pU(sLBtpFM=Bz#A}bZeB8MZ#A}1oJBex~`6;vWsOe%3hYeDSKP?rR-B#z4BJ&4ay&sbtxZIKBjzD`SkLs48+ ztMWg}UzWcwe^dUk{7ZSmXy<6xXs>8Sw0AT!+ArEaIv_eQIy5>gIwCqVIwJ~;E{Z~< zh$t?qjE182XdoJnMxxcx#nDyKZP5eKQ_)?~W6|@`i_uHbhtUVoN6{i(UU6rZITIH%LsPa|?t4gW@Rh3oCt5#R-tXfmGzKRw(Q+2ND zeAR`jD^<6u?o{2bx>xnM>RHvR*dLyGU-hBtW7X%XFI8WwzEw4^f5NZqRHmYS!1=@pN zjRw(q7(AARU57n^J&tWv6TAParV6(O*9?!s6YwNF1HTNv8=p-$Kp3XFM);G^lemJo zoA?*89|=WjQ!||;BJCvYB3&S*Q$|ual%FYgC?u+r>Y?7D{z`?=-csAp#?Sy-DXkrS z1^q7um08I=$Aq#{*d5pt*iG0&**)2P*eo`djc2#5QLxL{i`iS)zp!iAEja@|vpIV> zNbUhnJ?>2Id2YKJF0Xw}Depn-kyHVHHebQdwAs^X#IlA@9FFGXMFK;;1CP$gaIR#q$PsU#|!x}+o;CICbi3Jp-2TBn*Rjoka^hpJfd$T9HJhA}n)I4RuD@JuJ!3pN&q~jJ&s|SO z%?A&vz+CX!``+8OP+i!&=6q3~n#>xG|BkUCffjfa0ftP_tfyaS{!Pdd1 z!STVV!HGd=5FbPY#|1gTl|fBV8+;o4EqFb6A=t0x*WkV2#y}dm99$>9TZrx*}bfu1Z&@Ytpsp zy7UL&Bd`%zKeo9XSkwN%JCb}HQ!L)RKk&s#J^{I!l2Y*lzbeV6Ce%}Q z{=gqe^2y;81)o<7WuV~l*vcUZMx|trjgQCZkoYe#I(&4Jul=R2ZwUQw@SV8q@X?75 znu5WL0cF=VNLB*R=|?=UIF1*Crieqt)V4To10{|;k>u|UPw2fy)~m%6qoNb^LXs{f zCito31pOO_N|5a5CFng-g2E*UdV!gsi&+V3VJGN4ZgL!#pwtnG`L8ACkGr)q>D#Ip zg~i}nVqhI2i98O?lEAjXpl1&m3t_~bf1@$tC{l445+yeVM^gt*@gMY1wYi@^5A|Pk zllUxgM4T90h(rXLgPDawL0IA#0#Xc~C1r6k&p3I)|G2B0V*kgEOvJ(bAN_IvA)}J( zVo1iFq;)uU_mcdNG{u;Z2aK?f-e$?MQBr|4J4=~_|JaS`BO(KzhD5B4BZ^7bNwA*; zEKe=wPwlT-h(yhj3u#H9plP*;K>tywR*x=Ga^rhEzB0*U{%BZ~lUX zi=eTGd5|bHCL4>x=g{bk7_t?I%i{}#BC$j&lPi=ewMMJc1H(sTjT|+4%-C_1T5OxC zF}qXaKVpqSNg&-(YC&o!F~_tNO02*2_(c9U?Mmd^pQO|z1^EBKSBl%oj6oaKVO0H% zdl$pZiI2tGe;OYgLvW0NPQ@XiAUtL)lX3W|7!YAxel{(3h%@6gn}Cs0DPlN$Y?U}B z9RvJ|>B(6!aH<6KV_Y5+JG{h-7$R9*N5B%tkeAr8GOyK++y8g^N%fR_$#|)0^=s>* zF21P^6a4E&2}*5{pq6AmbwVOf2Y%3_CdX46|9icANxgfiiSfGmAW6M@$@w5Z%=ZIs zQDz-(P+jgNY<9d%YvG}A@v2Np{3DmOM}8(V24ART^^d_A)}H?VNiF5T>%_V1Z=dip zv6}z*S@*i(L{jd+e~_!wxK?McHjQOH(#9`Bq;~!{om#KC*?N%Z{&ca+=0IT z-QLKgoHXOV%S}wmQTzO}TuL&Kx;UmL<@}ldU2bMl4)|ZZy$@hjXL&#V1_C7fX`^C` z7WK9zZ77%YCIp&R+TIk}rj^#%;u zocEk_b1FpW{u$O+33iL_YWm<4tnB$i|nqcU0`%|MKywV(%?4AMd2td-&z!O^Lln zUOwI#vG?|uk2fv$u8_X-9IxlLpgpNyDQ6jHE^+*sJA?7-2bo`?0zVCj94My68&|9f{y_MQHy65b0)uS=!a zrQw0hD8k%ONoDiH`n{T2oMRA%_xP$Jzr}GdH>3s=qx3Fhyfqc?L>@`vC&j{toHG5H z(I@eS*wlbeb}}@n_VCPTiOyZ1pjoHZ^A9=-(GkeRO{7Qk86w%mZ=4kBa80`j*LCR7 zK^)RMj5~}wjQh_MHsY9Qr{K>QqSWDqf+-|8Ju$yNl;Pzhla0oaN~WBRAb`@NvOe zRxCHgE!>iux-9!F&xpNyg8U|yC)vNui~Ms^dKEF|MR)k8o|wh=)4cN)#&rb=W8{c5+r;qzr6U#lnZQ6%< zzw7!W&O`6QtexMsj_7TtE&O;g& zU=U8TT=41VLcfdUF`vF0oP8`$`1BFz53@YUA&u|#*pIMW^~ERsDVERp^w)xPj^!Dj zp5`ohH~dwlT;+ro06FaAp} zq1;$5a5x`vE7)soiTuzAy{tK*@@hzpDE&KM7)UUI^aV8l9DO3679o<>*_79hSheJ0jg91 z2RyM;fF`GXK~JZU9KV1(45^g1PbvpC6Od_ar$$cuNTJ}`9|2xq``dxhKAQFtJc?X+ zDF&#wCO(h<;d}W+-VK{Jn*K4haIQY@lO&(gF7qmKXmyeS;=@!Dkv_m@_``?V;Bj0$4WO20$SCUP#b$T*G!z29z-r>}Vv|vh&!#Ccs zy%~o(yr_Lg5KYj*UB7`l8Zn06j)@6AMKMJ0p2xfM&CA^#yfqqE>N9fj3=o;pS9?rx ztBv|I3A&-rnnDk!#^U+l597`3rc-0$gR`4*4!s?h0Mou#y0_voAvG7BSp1Q>kazXaZ7oQB3R5usYIljQ z?scy+`s2B|{69{bq>H~8Kov!{LKQKae_gEJ*9<7px@=nq6RF~`N&3ThX*`;R*7&N$ zOd7rFP^~zz^wCi7F!3^pV%)3e|HBe6cC4JBSh-noI@|^nE*DPr%Oq77#M_6G2~0y$ zC<{z$aea9p<6!EH=B9J)bw950dj|`p9gN9m3kahAn#C7_3`-F7=;m~!jPJpiUW@nU z>+)x++43Ef9a(x-Sr`e9?{wmAEm~~rSlF0P7a>OP zY^I!Srn{ictXvyVuJR&0ipxWY)Ql8nikt9}51rfQJD9gF`p#m<6D-_DLX$iL-(LTV-_eajEb(N{h)1X*uiwrs2ZVm zit!K$?9bqOjQ+08))9Q9OS_~*;AF#i7N;0`_{7(rUK7Wiyt?$+(kr~-AzT5bKFYHi z^o(R44IVDhP-vVm-@&6~6f>9-nJ?4u_(IonqRq}Kb32go=c^GCeX?%!%5L*I62-Hc zw5xZUrqTEtGilne)096@>yVS95%f-_W)?K+^WF-tR{#{)S4Ko z<;^TNvfRtE^n)!dFJiop<;5(gSzf~OfF{eDX+aOOL>j6EakP2Wht-yEK7MEU|Gs*f@LYMgDgvV9b#F^>oChwUXv_Kc^zR{ z%I7G{QXa=xmi$*)mi(V!S@M69Wy$|3mL>mFEKB}Rvn=^P!?NW6EX$JrX_h7b=UA5f zpJ!R}e}QGm{|w8L|BEb3{x7jC`7ffg7SU;o?bz2~M;|S&#f}Ag#oMrVV!s`GTMT;} zcHEwK`4f~^#6rC=)sTPfH|!Bz^kQm~bRtrTpfU@HY% zDcDNEPKs=RUjV-VegXUf_yzC_;1|FzfL{Q=0Db}d0{8{+3*Z;Pr)^{i#~i#BAdP!f zv#sFC@mf1v<{pS7@vSc$ee{Hg8^FTG!QnD})eafOe4-r(Q}d0xX1%tA4#;#HD}ogl z>pG(RClgrHCXfu2X7?0%qaow+>3icN2Y0{shJE0@h;Ou$)>Im zka-kQXPZcE#i#cYkvr%n7e+d7n{49w#rMp*MLAALD94E-9IwFZ3I&%?;^lGuW*~e3ul*Rs`omoh(Z_ zIyk<_>lv5ybuun;oN+n+t!G^1jf~6jFwVHh-HgleaU}Im)(qu+{3sWKQ}Qh z@@B^6c-q6b$i0lq@pUufB5z?_j<>yxi`>V!9DlbkE^?Z2IUe^hF7g25a(qrRE^?l6 zIbP=(7rDT=9KTD9yE5ZV+yF)`c^AvCV!UF>dsu!o<71Y*m*v+mK5ohTSYFEbeoH>U z@@pBNu;ha*U&HtzOFqo;SV*G+7&sgy0qxRhn-f6G{w{VC4DU{OZuWLOZs9g zOZqxkmh^S9Ea_X%vZOE0vZQY#%hLb5S(g63iDl{EJuFLq-psP}-(Hrbziwe!`fDG{ z(m&HIOMe_-S^8g|W$AAPmZg7{SeE`Y%ChvIT`Ws~sjw{lV-L&HAI4ag_P>{9Y477K zOMBkOvb5*@EKB=6z_Qf;ge4!c;!j%gQ7e9xWobVrS(f%QWy#YlOM9AOS=!SjmZd$_ z-(>oSw5KMPrTr{tS=vtv%hG;gEKB>j$nykgKb?$=yq;xgPa9d5_SDU?w5J}Hr9Jhs zEbXa}Ww$-CEbXblvb3iP%hF!-aREbZeU%hEm$vn=i7D9h45POvQP;Uvpa zpQl)M>yu@vztb#B{heW1>hCPeQh(Dd%Xn~(WvS2eEK7Y}U|G_4k!4BWWtJs<^*0B{ z)5R=H`j)aR>08dSq;CbwlD;U*lD-a>C4K8zmiD%hWod7lSeEv+nPq8TTUeI%m1bGm zSDs~QUnQ2MeeGgd+SeYIrG4#XS=!e=mSwy;z_N^22U(W(cbH`vua2-RirG1`Y zS=!?%mZd$OW?9c5v| zssAl3OZ}%=mio`LEcIVvS?Yfm%ToV)SeE+V%d*t}K9;5a53nrte~@LV|HCXx{U2dj z>i-zaQvX$!rT$N_EcJhqWf`ANu`KmJ#j@1@X_lq_&#)}@f0kvb|8p!${a;{N>i;6k zQva7(min(>Y1*gMe*?=>|BG3c`fp-c>VFx_QvVT_rT$x3mimveEcM^Xvef^2mZkpV zEKB`wWLfIJn`Np0O)N|O_pmJWznNvJ|6Z1*{`**#`X69f>c7CU)PIF#ssC}7rT!;a zminJ$S?a&avef?+%ToW-EKB{*uq^ejZZY*I_20m<)c-P;rT$x3miq5xS?a%=WvTyO zmZkpFEKB|eSeE?fS(f~-x6VJ}*7--lieF+`%4?KmDX(2DOLuq^%gBFoaBFR?8B`7+DWpVcbU{-r6&fo18>i&>Wbyfb4~P|-s%$Os zdkyZzBq)R}aI=V?Mcgd>X5ljne_8m-!cP`H=xq#H*v`gc*xRtTV_$>41N&O+>#*O3 zy%Rfp;QmS$_gAvGzmmoMl`QVBWO09m-r|r&{<6qh7Wv8|Pg&$Ai@ao!k1X<#Mf$Ty zdlu==BF$M!Gt!$yTC=&L%BJX!6Vj40_Xr>Zp=Xouqys|Sbx#iuV%;FtjPJn3Q4TeS zcq|h|Z?xVAH(FEyH%$f;&Qqk^jP_DrBFEUusL(Phw2TTZqe9E5&@w8tj0!EILd&SoGAb1Dbh#kZ<$(|_K=aWG zbcmLqL$n4RqDANstwM)r89GGkpb!;rLbitnU}Uz3hG1m2hX!F}wugpcWVVL}qGdD^ z6S6%t79+DgG#VqbJv1I8vpqB-Eu$fs(AXQ@VdR}CuhAVww-eE()T*xRw=9wzeh^6TZC|l>N6aG=DJhWOhWq z4ME4pdR2Vh%Gn`&2OYgIfK~3KNEcF1!a%X4Q6uA4r`BT?Gu`yj2*-2plaP!><|#d3 zu$|;c*7ZYpAy>dXS>u@G5^_q$%Bf-ODeM_lMh%ovGG&xX8LhaC7F{_8EjhLgYo@Tr(AnCsw_{&}J+>V(_IB)RXh$`6AY4m3ey>AF zgXL`qZ$s!5&}p%iI81YhW{P90>9a+LS}4XDhgvDZOj#9Eqh?G?jp{K4vK~_q>i&*U z_jiPbn;JFT)F`=CcwSf@DOS!l(+vwas8Q$45BHn#X}Dh>Sn@+S?&pCazj<^^dXAEw zFQ%tcu+&cVLzmf!9q}?`!vO|)2=Wl*A;@^W3380GK~Kap5DE*W)pm@g`aW)GnSi%G zK;ve4fV&RbDU^^BrB-9PTrWZnR1xhSi#`bAZTfEc)qo$=7wnMcpQNXq+8&)h%(Fu3 z1EQyRewq4@Ulu!lKQ|+e$mEY?yeZ`@t%Bb7I*7o(IVEn+7aw!4MD=~v#zX#4LFS>-B?;AsgAc`0qgB6p=#610va1{ z1U~x;TQPu)6|u5*t3#^^@B@b;&|rtmVo~g^nQf6q2*zkKi!JJUi_Gyr#%KF}d2EfrsXS=wV43&c1IsR>8S&n}_EK|RxZ8OVqeCuUdj%R%=%kgZ0WjS6ISeE0}D9e)n3d?dliepZU zHjTX<`x@*W*w3Zq5x5>f;1LJ+>p%#|eb`IDt?fC%ApiG9sIN%DOF% z=Pvo$h^M;f1sM7*S~#+7rs? z_~q4>e2XRDYRS#bM$xj`*lD?*!=De@UBBKVlHa@T3d%lMr^^RxdHtQi_;*?IotAvP zCEw)HwY^=Ie3LH%rEixn0?F^P;@=H9g2jDQc))eoaG!bJQ~k1epPRh5Y-+EOCs^NV zieHU!{K&MyXE?0>i+R6U3sxLbt^5$A4(a`A z6o($QrO4RyZ+eKvh^o~*b}gYsTJ=-7CW86x5%7FaDv9^S@H#ZuGcR3f^RbBCvUFq=a5v-i09cqrB%hD4-s+AVOmFOuR#F0>5BttxTWJLd_ z=R2S?fi~2d9v%T%Yg*Hcr<1BRJ%D{X_B8fXk|HD2b4!G<>e%l4wCt$C9P}PO&h`mFKs~MBRD0@^viqkuntlGZZ(fz zxrkZ5JUp~LQKSdUX}w}zKUmKX4U=!$T8HpRii5JnN=q#pJ9==`vKXMa`l1(UHLsMz z`82hw{771wrE2Il{V(=I(;sR+&;7Fn`neM6f4D5?J{GJWYcg)&6Hi%DTQi~8-i&P8 zoL(z!2zVYhqo0!WURKDD8)7xKegx9Q6Tj3$tS-QS77UcK@7_jbP+e^cEH)i+d@cb!#BkDuQC&G>8UzFobx za!uE_>Yl5U!t|N8E!cvIa>HCAcs`ggVF_S)D>W1Ur-~IRT8|(hA zdVM9*HC;DR?W-iZepjWAe`5FV#gi&~{P%bNLA<~2lhsTm-E~mqk00LsC-K3$KdlZ| zhPpmg_ea&Om8ZJ?SmloY;qF860X2I3=#%g_0h^B zUB6oQYt^5tJl6H=>g~rrwtHWEbKQaJmdX=dzpb7;{yV!r9)Fj5{P=I~{;l{s>wcs9 zj!JLW{<^VhcjbYuUsP{7{!6<*6n{`XeEh?^KN5dy-7i-ks%+}ot2Q3rv-<<_d+UCo zdVl4^>1HzTjOuM?!@4Nk6heZSo_J; z4?gj+^vB!BzI)Zdqi1)#@dw|W9((?|UthK9vyETc_358qu=?mf{mL7@Jf3d)+#7xr zncUjF?eqWfy{>2Xyyx_HUjHxWUKo7aGp8^9kdSYZ6mme&*tl>u)^q^w0gq$G-5jt3UarqaQyyr=?+R-jknse(_(d_`#x2|H7`} zTVJ(lp!bj8kT`zl>g;F7yUv#9Z~JcDvB-1#Z)y7G4}b9kpWgPSXFfasljpwtJ8MoK zJ^y=OT`=15Q+4%+4>jT&;8*?K7nf{(@9H}T8-6{X{*}5dseioqwx^!L6Y#4;av zSS5e-uOFMAfA=Trt~-9Q;eC&txcbL`@%&__=LesA^*HqFceCDCQecLm4l+>|Ld_VTZ(_No@@xgC@?982mC%%60zb}648(V*n z+i>~$p^p2;`u}9=Xy137)%6?y;SF=wJh^G%AANP#k{8x*o7eM4U2|@3YFhN{2P2EW z+WgGGV^4ozIMR4J`}yBFm-ySOe)_$4?f>fYD{t68HF@OFxBv3mJD+~X?j=WB-@N5Z zpZk;i7pjr>AN|+QKKSmd&i&2jK3%%~{%`*CpKgEdw_khHckADO%~|Kwi&B5T z=gsMTcWoV9a_I4`I~RTJs&l{nQsYN&{*+qy>5ngX&&H2lJ@ecr8h&BmM|E%f*;nT0 zo_H+zlfUlIRJN_lzwV#rKQ&ao?)1;5SAF9bAK&?%rc)2T&_Dd*=YRUsA3pox4bOh= z+HZb%vhVySzV)r2|LE6$_rzDubUyN<7vK8t{a^fg|6|8~|AqO_-2IkypXvV2swHPO zUAOR0|MS7Q>-u)qcm3H9`(Awei~Waw_~D_p9na?O+xv9luV4TE?6HaGhMU)Yf8ddi zZC`w9?){6t`1xz*+;Hnn^WOgKo4@eqEsMVNnO}YU$g29SPjC5ym%ja#wy#Y+^GhFp zKKh1Feea!*F2`?z3;&A3s!zYW^SaM2{;dx`_p3{u{pLS>?uTc0UH{^D7oC3Y8y~#q`=|f?($g;t488w5 zZ~B{Sp56VDdITlSBSH;fgwUj5Qvy?K6i%c8nhz4Yf9DXTCnZ$3{&k^K}U$?>72|2h4mS&hh(7Mz1*R*~NBtn$SF>>^(1w zYm>MfiTg6Ra5|V%g}f>|xX@3}XyhHbN{I`XxK3&2%|m6CPN*F2kR%m7h=FaI{WpEc z*q``_3Hw-{{xu^@x+hrPEoundw!Sefo1jk!Fs5E(#XDYmNN^ttf?r2&x=#qgSBO+Qwk@6V#=3tc?T-y2!dQ+SB&bNm>mr;pP!@j@{E z496em{LZlb7~AhTXX5v8y5v0o`C*6Ofky8bkf$9n&o=KP(39*Tyq`u-%Y9MwdA**e z^(t9@uPnv0 z?fI|i5&kIM!^KNrj5nMfIQq>d)LAHtE}!1y>gPU!_q#^45_dO;@HPaDE$I>d@Bum- zL1f=MKf$?g__Rcycj9`6d;Ly$dYsj7xFIWEKJ-B2lihfDv5G$)5}!9Oz#=WmOGord z%*bAe>gyv6>&j@SJ5!!tx?IA~4r{%>e&U%^-THmErbMU?5`{t@@A0H>LAdX@(FLm6 zo?Ua<#uV3TV7}`(7*xHcRCw65|H4VrZsmGgh5MVl*PhL*O43|k-@{?kOSkGv>vFw& z%)(=g%k}SZ#`kduy9>!cpQ_g`_J{FBe*8cf|1ZLScdp@2Fn-9hukYb4H?R`?Xc*V| z5WMQ)bLPN)w4!<_fr6h3<8LGUH0wS8k$``}J^wDQ{hz%8U+`LdvG1inBI&2(x#{!L z@8SXfwfN${7XMr*{qaEl1^3eL;@ZF9p8vR{zlrKWaL>Pszl!h+A^&{=|AKq|U0nMY z-1FZj{;Bv}`<{On*Zhki|CNA$!9D*j9^iZaE8<`0U-+JX7uWf}9P&RA@GrRM-^I0m z!9D*I;$P=qaL>PsYkqyoj1OM>uLk@J?)i7|0N?Xp4fq$n=ikLOe{snFbilvho_`k) z@IC+20sq4H{JXg3FJ=D`4)GEE(#lzc67-GX4tgmA{MY@)O)E|BAMc@mFtxd*$!q zn%~3zJ^K^d|57ghUdH$DH}7x8i2ip}{<@JM5WZ)BLi=A)(XT;LTSED(2J$Dk=ikM3 z`ULm#SC#zf6h`Nz;=}Sh;HA=pI*x%<7+K^lzEjJ z{4v&#yLhnt1wRnRbu}Dh{bU$N?Ijw#&8+Wp@rdTjdVRqQVO;YotRHjnN`SvVgii$Ui4a~5;D`ya(o7st(l-@IpWqRt%eJ zRMk3KyC>tP;3qlWq^f9K#!tb|xVYg<{}TMXi&vDk&*P`ymt4H6ahukq^dT4c4hic$`%?k?f_wR&3gln#m}}qQlD@d*e@X@Y3oibrRM5ZR;vaax zzu@9uaPi-L1^e%9q|-kU!oS2Lmxk3L#wR(%{I`y-UDEn|+61qLaXmtv4DsUu zzTh6;#WjD5`DZwU%d2Uva0LHon`Zra4ht&scN*vMafbDmJpNT?ZE;-l1#jq=`JZCE zs_~_)_wj#5{JJ^u0Pf>6Ue)+==C^Q&YP-s`EyEYQGlU!dQl7VV*T8$j_J2n9>y)uC zxX(W0#(rOj-xNrn;2vM_VEP8!^ab(Ju>C;#1oznwq_4vKF%FfAFTM)-L#Y4m3*kKh z`~c$zIc&OmxQ^C_zgDyHeJs`=<*)}uN4Pv+E%=Eru3Olt5I+*&3-0k@w7coh0{EIJg64#pmh8PkxpVDz`%m@{$oj||?QPMlE=@m)qO7abGgzOa@P>68wg zqzQ|T2}@2%r-eL;Q-s=fDYH#ucu9**d zl)psU#D`2G7E9!H9G$Ny9^#_7G4mtun7FJPgj!$gBAk9C!nm#r!s$nm%fZK=%fENh zk3sNB?m?NNDiq~`Wu522qN8P`wMXM4Can|)y1_QQ`;>p{AA|XXKffA}QYD-Ccu^_~ zkVkNvpR5hFMg69r&nHOlFz&c=KGFM*4bbNk+jTgSHzDE^z#H*&ypqWq%Ho|vu_vfZ z5k|{{ZI8A+@t7`S(xVc#>M1J6GZ84gCO*LwUEym9+6R^zZ%DFCA@i=sPrP5WxB-vm z>9`c?xcEWbBq^{_d~MW-B%@u>0-Cha31z*PSfe0Wcw~3L<8xGLkz3zWpm;`4U#Fk~)_R2aoPsIu?Itvh1Y}818|o8+1DyOj+jBZT61WVa zN^-8^x4P58@I(nf)@r=p>{&>>`9y?8=T^ip@C=dh^jkhtmSI~~+|ZXU{=esl5D@8S{y z&>Zw{sh4Q+YON+RwzO{E5riDwsFjfxP$)m~{Xy3)wS$-9x4wtkfo70gf$Wq9v5t(| zQTo;=uBT@7l7gDrk=7@%FbxB11Cf$gp_arFwd4Ty6rS0~+a!`$td_)TwIr6SC9z&D zi3Mv(tXNB8$r`>Ff)G2_QJ_7+PR`gNe>Xm$r+djf##KxlidU`Ds$_nEFu9CNZuK_l zn0eq)4r!h-2Z-oT`1NsoFSAB`(cAH-?D!32e~uEp8=v&?IqI|>zsbZGy&IqOh<}FT zpXE?3>(UnjM1Rh&NBYm(@n3J^i{6b-dc+qyGh%0X7gAs6+Hv)7H2TXDuf+3f#HUU4 z^`ej513S3xz_P1vF?#Xq>SLt${JQ#1qi+(s62>>^a#$)dhjG>~tD&E?(qG~DQeTRB zRn|+rh+cIWzsqg=tdCgw3hP%``YP*NEWNtN*pFKJIP0Z6B|R0^$E^5O)^}KXwZYi$ zwDfV-uebCS*2gV2&q?8ojg=SAU<;+xIQ2(9_nEA{^fw^>7|Y|L@3~LWil=it zZ+G>Zjb75@>U)j;f*pU0(OXY}<0rXRZYS-;rUKW^eLwe{~Z`sFqB zlHV4_RbRLIO%U>*U#y|OWb03x_?K<{H;rE9Oh0wg|1G1hxAosP`UYEn#^@K@`salFa0WFW8DtRai4w;`e`@It{ucDy~N)n@n@h%hjfn%KK)!=+ziDhJF~@yp5oWq zaGgLy>8P2GlaSUEbGi;(KLSlMI_U$AGwMBfQ2OqiIp);7oH=N7(nzCM{ z%!{}6*EZ$jC$NwD$I5P8g`#4}3_1AnGM*eYU%*Ue1`_2QDiz!20em@$z9vlXx}pb7 zQ;DIQOZbp9Jzbi>N0#t`m57rc=F1kU@K&>)Io4pFAD+I-gguQcFJ$>uCakcmIGo^k zJxvCmVg3~B<$2{e%M}jCIhMM8TLEPA-%uC{q8m1gH}MPIOdsJ%D#TT zg^T-uw-4!$PSQ$tF!1%IfnmCQq3)x`B#+%j@kK29MzcJVOW$Sn*`WA(9X*vOKF*1! zkWh!gB-psn??e5Z+$Vkny7f-s{PBWOP-@dv7?7`@KW`et=9q zD+~7na+F{CfpiyoW?#47$K@{T);B%;mN~7s0XxI-d+s##GR5H}htf}D?=?7;4Q(5z z&2fq5&U#`^A+~PT)4g34!ER3f)h5>8Px?6a82!M!hV{QdLIrySJGRZNufv#4cQIt^ zWxdD}PJYd#=Lm<;HxMhq5srrO#eQ7o3005ZM7SA!@qHB5Pu0NXxOJumF7pka{iS~U zXT$ab__;8?%+J3N#+Uo?i;}J>Q%=ZQgm5WZ!F~DDIL#$#YY?7M|K;Ylcb_Ahvd&jupGlMqXb{r&~_@ii{~TZAVerYe5E;6A>_g&z~1 zgy;c&zTiH-#)aQ0JPGj%CqG|sA7A6bUoSifF}3mY1^4kaF8qzm>-PBT{rn!*_j>q) zbiOUy7S{XPe-EbZZvRR%?(-kO^I`sGKfe^_2k>2Cyw}g)6UMjr@x6>I36<)rr_6CC z1^1<2<8ps~pYS9UKAj9=6FkIc{DANz#FWeLUvM8^?(-kOTbLj7?4Quo zh)IFq>ucZ}ufP|)7QdVMJ)ZrO{^PUYTWa8G))#zug_2%RtE_M^Vf`)}*KdhcY7gsu z^*`nBe}enUFMy9R-&cO8b^XP)dnLFp{{ejb3Vgw9@%J&`m;ciha$WywodCgo`8T*S z_<@>ybL&y?FyG(@Ek5$j{)4#iU7Vj#Ic)Kf=ra{cdA;EaE_@ef{t@O^IV3!eKNak> zonpPOe$V>rS8!kb2Jopce_GeCF|P#o@dNm2=EuDBo%8oE!PnQo&t8EqcrE@k^Lsq| z=l%Ul@GUj)^Qo;4t^a1-mtiPMC z3tw>IFJ`_UuaJMccg@ci zT=+IF>n5cAMZouuzk*Bs3aK95f}F6#uv z{|#W(F_!|t#lPUM+y<#m~_+nr9Vqf^R@Pk(RZ?^mkE_}ho{vqZ| z`w<*w^mbV6bNgw5Hf|vO_Xy*1d|PSZ$Ar)Ie+zJb{R=MX6I{|)WxgDr1eYWTF6kFs z<~JuS|Enzjf{TB_#s4YGzu@9uaPcp=_&;s=kAkRea|FS~zu^3O3l;x&Gp~^LLwH4; zBRp%_Uk#n#zTjeCaIt@m`I3IYW&B@n`6s-BUA7CB|5gBg|ALEu!NvbY=I`ZDaPfbc z^?rUuoRhE9X8t1ObF1ZFaN!Fs{ueV}{0lDrmoo0>`~5FxJi=iN{^wwqO>p7cc#Fkv z1JTbHT=+H~v-s^6UvS~uc!$MbWAOzSzKyT9_#GBsaN*l{+~TjZ_<{@H#y2v56OS*Q z;QQO3;F~R6=9il+{v8%yaN!Fs{LL2s%@$v9;R`POEf#;h#TQ)of(t)w@$a(uf(u`8 z;pZ(reMrn-eu4{MaN(Dj@4Nq4Pvd(MJ8io{cwGSB6T;`zQ~MYG-Vi=FfbR?84I0$~ zwSOt!=@9;!0DeA%FVoXwDc_k8{<;8uiE;H!GfsmS_n)5#Uhl*G6NJU0mrzCG{`R?4 z^b)E{z`o#~{Yu<#f4T4^R1*RFD_Ae*|7hFy_|qS?aJ1b3-eKYMEquL&iJj1MA#C-BO5ip$KYwk^DaLg;1@#tN&p`X z;S&M-m5}{vfIr5#*S^)gdVJyZkB9KO0KPwj&$${{^2;p-B_#wt8IRy1SfB6Z1 z)W&Z>Ol-$2KDYtC;KFxt=AW?mNPB=UxbR(^`KK)YT#GNb@LinwrFSGE47T#jv zi!8j;!f}1^zB%MOf*o78g)aeK7Y7i*j;+_iud?_97LMzS0sEsCj_Yst#kFPgXAk32 zf9U@Ke6NM$`cnYkXW_WM6u=KKF6|%Je`dwSzl-Zeg7+I*d|clN@C6sXi!*=HN*}J@ z1o%fS9M@+8c$IN!AJ+q~qoRwO@;hnaD+G@ie9FRc{vT*xXBe0A!TE8(|FnhU{5XK0 zXI%1+^MgS9pRsVv{{!vol7(Y_AK58!tBV16FJ`z-#Q z7H;Ps^YZ|Iz~W>69l#5WOZ&sX6KLOpOZ~g}J*It+TKqbTFSzhsocR@tKgZ$=E_@ef z{+Pv|Yw-mazKb(|ocYqf>%pHxS>r~u-@@lv_9rZSzJ(vM@C6n=Y2gjP>wW&K7T### zQx?9^!lx~Kk%iA#_+sGx{Hrs;=e z+bw*;!tb!~Ll*vK3!k*`^%j2A!tb>3s)gTW;U_KpZVR7cT>5uJRRYJiGZucm;N1VG zEj*$o0`2R(g?uyPCtpvdLrdhv{!wMc4uV};+!ln>^ zI>7G<@dY>hUdFd@2-6Rc{iODR`+uzWogW79e28BczzZRM5FZWk=LGnb5I=~Ih4^y= z{P7S!i0@~7fi9;3E^tkkGF*I zN&t^B-pQfDB~`=6FKioG-_0S8odJ9^>-X|~l!+R+tY5M5Ef#;;;tMW(8&6yONPRGU zf(zfq2W8^D`b@A#mz50&?@ckkD z`T#x=!fy!RlOg=Z0Dg>duYI)#@Dm|?O#nX?!fy-UXF_;q0G|%ww+Ha^A^eU2J`=*< z9KbJy@bv*)oi+W>%m1ALydi|&6~LQ9_}u|~SqP5@@JI;n3g9gv{GI?F3*j3AcxMRT z7{KEp{N4cG9m4Mm;5{My{s7(^!n*@_UkHC7fDeT52LpJ4@lg)(g_tiRylFB%+oBCuU#{bd)g1n`CzO#f-(5R{n;5!LnjZ-n(N99C3?@h**bhH&-o z6^$6Y+rm{v@ZCCAPYACt-{5@~Ua1I9E0ytnbjAxDLiM8x0X+Yyu-=_NS1ODf`(qXk z`-~g=KP1sA>#*Zi2p$Nj|sUvT03aLw^j)0~R0mPXqo17rqbI{DQ^D{nY?paN+xK%^$V+xb_#|3od*guK5*< zk5Mnc7hL#0T=T~)KAsN=@C6sX57+#0i;w3=0(`-R@542Jzr|l_@dX#Y57+z&i;wsA z2mA{zd>^j)hb;az7GH4T`*6*lwD{Lre8Gk9!!`e?#b0Le1sA>#*Ziu*$Nl#}{skAl z57+#Y79aQL1AM`S@542J%Hm&V@dX#Y57+!N79aQb1O5dUz7N;@X^W5h`vJb-!uR2t zf8OHb{(pckxbS_r=FeDstPcqA1sA>#*ZfNsKVtC(7rqbI{L2>qdW$c(@O`-Es~3aw zhZ`)u;KKLenqP16Z?yP=3*U!peuKqdVethQz7N;@#TFmyCj#X!xbS_r<~LdVn=HQI z!uR2tztrO2Z1Dvbz7N;@^j)2Q5C<#{~F-3*U!p{$Y!c^)Ugy;KKLent#ONWBp8kFSzi1xaJ?T_*h>P;0rE% zAFlZ)m@oB%^)~_jDaNNb#5vzd|M{Wd(>3r5How8;<5Ujszh>O!TlkF4Z*uuK6~n~_ zn{VM4ZT>Qsk5d_3->~@>e#z!XT)w_dF1VY13%_jhTY`MSUA~1Yey^lk{xO%Y(=WKo zxA1zK-x=f!?(!|X!RE(ZzRthkF5kiz+x+ezUvQUi;Y~KbH^>*<tumv7*X>tumv7+_o4?HE>-rbmX7f9Pe8FA5g?HHexXai17u@Arc&E+p4)O(e`4+z3 z=Jy2og1dYRkK6p-AYX8oZ{ak?z1+4HV6J_g+M3AgXil^g&9$vl_}j)bmJCJplFKNAlkYv0cT+7479K9o4|IUx( zV27;W9pc00+ex|hwUj2ENJ<<1KzfXfbZHss(jn4CA$_)p4AN(dbjXR(GMwkrdE=+W zS&3-)ZGPmpA-&l1N$dmIx8ptN+esdQjD33%`v~4;j(ETw;0|yH_8h#g+yS0Sqy{pu zxiv)@F?R7=|Hvb8`Ryr8%x*&`mzYV{P2)vbjIDWJJH1cNb z=UdZiBwubtc2vHc=dj434pe@d@kJ(o&Swvw4pUBw@@H&0aEsqMT@I(gNu`lz!Ql%4 z`EuBoQ#QU>t=#lRQDE3invLLaIvnzgLP}FxT#NeCf1xYp@$Pu@Vt1#Qpg3i+LGh?S zfNPoJ&=17X^422iA(6*l=%Q(QPrYup^gjC%bdZM#qs`gjq!RF*Ymcd9F_U;o>xNJY zh?m7johU4En8k;mv~0pOCn(Jc!S}Y%_DmvDh=ONP5GcEr&9S$f-;M8p?;@r;$8bXq_?yW;m;7>z&@CD5)^;1 zWJ2^w<={J22z6Zi)*Y*&#!6MvV;ke@qH~Gk7Rr@{U6`n(&GSp>3XA3r-R2J z_%(87o56=nJhDf_A@OyHKSqa8>+-tHDDzZy7y?k1sTifPgikD%qK}yN#md2w!P5Mr zluuIiAm2%R4a|h3fLtJbF`H4DV#c(Utm#`Nd=nuJdo*aITwNCa4NkT-#&R;%mL*#V zwH=bFFiEBmRjCINd}|@P88ZDvHEA81pAONybm(j=mgq+!Nh1LAI&Ac)UM)j~eu?+k zw;CSFc>n)U$|t8Xxx7zQ=sLqipTh9ByY>vt_BmM_=~*fhIE)}&2l)R6{*(DHd3ToNA!u{b5 z4P~Iq4tkb{^BJS3fa0_4XoIQNp?JksC+49ro2r^ zIiT{TI4GYX`k~8Lhg80VQ~6RziD`m$&}tqc~X2TPYN|%%Z7*2XP&mJ z)3=@5g$bS3Jj)mdvgUYLiuP0UpuX=sf};ZZC`Kld`}MH{dUFgZ8GVYw!E70E$~t}c z&2ddQSSq7`o8QTDR&7n1NfCax-UHjoGQKH@^qJqfdqd9VNddhcJ1Hc&Obz8xgz0G6 ziGql&OpS(gPIAa#Xfz~KBhqn)O9oFFc_3Xd`i#-1ijJ1?p%)5i+rZ|_)KRo8bQ}sD z6RGT=`Dz*EjxaN-lY%n9ym4)GD;>b_{R~&8@o~G8q#>3| zIpvu2q@$1N0z}+$wp}N{HX=@yxWQ_pZ&gDb{ zAjPG!M6@z>E|RHJQJ70}dhpvxlwwd)*hb;bOmUdP;UQBF#gr*i3}Bk;aJi+1jZJ(` zrk&#Fhx>J?$2rIe6R|vG43vjhE;2##TO3N0p)$f8hgnL956_ZeY$%ff`c)p_vdH)A z_Mx$nRJ-PzK$S-vBb$KAZzM(bbL|vpS^Lekn|wG$lYfLdAIa=bA z!nD^!*_0`GYsfyr4juM$`^uWSK=Zkc@_-Jb{ZnV6c+`O?EOlTb#BAl#+O=!_L7d!f9N;0PztG&K88Q#TyBuYZZnrfnDu1cP$~YP=|qF+=%5oFG>x3} zrR-pPYk}Gh^rjy|jWTC|1Z)&4>M=?8D5@4yVZJm~07Y3!FDl?Y|@$pZ1Vk$=R) zWSDYAZS_$n`k0=0ko`f^h&5l!rqK@Sk%(|^sN#3fG*}uNXkzh58UtPQkGzJZSR zVdkU=b&*it)Oz4FHW02u$VrxUm`J5q<}ktb5_(7hkK9r})#~DR zLQ`h=;1+Q(c1UP&XPd_9qv3>Okfp+)P?se_U3T=HCekC+dW2d(gl}j=pHG$*To0pX znG;axw9Hc8DJwb!%crq#!;Z7Ad;$9i_5tiTw&igQb703oTnBL-#B~tYL0kuM9mI7I z*FjuoJ9fnHd9+tOysiUbJN6#+2zLI?mWuKFn&f>>RsR0ZJfw}b@r&kuqKz*wu-eb~ z0S+fV$lnk8iit2$3%|$Uhic*PGx%gJob4Z}g|q!*wQ#n7g7H%v#y`O6pJV*X_Z}pF zeIGJ-T~%N1S7-S>_clI<@u?d4T*l>l2sXc-ars_@jn89TzGq_jKW88R z8yH_)18-z}DdTqj7Bas43iyf|_#);rBU(EQvE8que;7gc)kZ~D* zE59Bbe+8HE%f)&8JXC`(`KV~=dypnZT?*Le^Pi7x_o0_@G#%t@?CH{{q^i$aGPJx z{^fh%VZO01c$jbSDM`14oc?+2UvQg0kNuw!o`f#n*cUv^H@JMS)yC_@K7X&>#^*CW zEq*0r|8wwQI&Fg6{5dxm{Jiiaboq-lU+^&B;4{LLkoj}jzu-21F8jYEJPBRCu`hU- zZ*cV!bNrdK`1R~xaGPJx{u^rYjeWtxe1kXD;Ll_Kg4_Ig?0;EJzOgTOm~Zer&#!E} zj_q%$fzM}L-e(@+bo3nL@n?>%ekJc4w{drV%kOEh@i}u$`#x0zpUZd)`<3@$i+`El z3U1q%`Ej%+-}o0i%r|(f24BW^!EL@AA3AIDjeWtxe1pep@XgtwQi9w3Ir)qUde`aFYOc$Yf^NW z=Ig(C+(>ew52$>ul`bz+nAc$fzZ0xWur5be_vxNE;wKqPj_4ox0hR|?-p=xNmeVZf zB{T|J??W2g!_@$-@6j^W&KNz%L%Ow`d4+wW$4y(YPd~JM{2==*>%3_D zT5pKdCMd!P7Hy4S!PW>C8qs=`2gpV=r$ems&}mQd+83<%Fmhf(zOUNPA>xxyif=+* zla}WYe60tcLRxdA{n1*OJa)E^-=@rP{{VOVabKR+KOt4%&{lZc!Z`Ku=|3_3E&eGJ z#yD*HjFGGVLhqke>Y+rcI2_rYD-A?&2d0!OJXFdIl~l8HN2FQz2&EP_Ha259&TyeQ(pYSZHW!`d z=$bZYaoZvSte9>#$|5P7akoWBWj#RB!w)IQ9~sc0F$!OrL4NW%7=#Zj6-ks@nsbAL z%`2g%g)ZV+n^GDgBiIn3HJ6Q`*E1t>S0pxiA8$Y#TQkKX(t5)KgM*oLE>X%v%8C3) zCQ=$6jwEyaH;{!)-pRm6dBcfvndY6bW-UJ z1ZodfO;U3(rc7JtN~en%$En>0)}wN%o+G<48weNC66*OyNnzap1kXtq8hcY0_8QGAsrBG7T(mb5aHbny8M_aH?PN;+3h;8=sFO>h4f$Br)vFWHpUqA!jId15>6V*BTiy46Del;b51E!j3k_hGdxmEVQ3#pV{ms$xuHZUH;fy*cyMN>1ibIUiD&o+;k!y`FITh)n_V+s?s(@-i5mkNN& zz@qX2VSQvZ_a)zGWOcBYF{}?0(hYEQ&7IYl8zuuw|SbeHnUCh8mV0AkgsP&_(PK--@pc#QQcC+nXk!F{7|B}v?yEu z&m3`)>GYA|E46QvsaMj#ts>^e;g!k%Wix+S^Rw0=RSGpfP6EZLQH}i>Q;q&w_iE8s zO>Tp;%a3Gg1wMZ-*CTvM3iXLu5`ngl20+f6kyHv@|A|4Y$SyTUu9qRvOh__W(|9oY z;VB7U5v*=z#!Y%U?{B4cREeqc=4<#g!f73rmSsHCI!W#UmlEmQ-1O$%l+jZIW+39E z>gPE;d-@c@pFSI>@t~Gd*WVS(hmK7=2uDMOgDRCHxgG}C8d>*sZyoDpY`}xB!h<$s zBy9AJNN9TYzP9vC{Ez9jlId7m(LXk9QN{a zdzM;VcFgs!_;rS-rj^1wi4>i)(=Xi@PT*^oAB^ECB1;5I|#r`G9UsWl(cWalwiy!xJfBCrh zS3KNb{te4{{5av^{_=70KlgCIeHZ@=4=4M}*ltAZ|D}ghUIlNN1*h?$gZ1ka^y^J3XeO~<#-fiKH7T#mwOCmwO{XOc%vDtBV{4E5>U*UI4{aJXg<^L+nexHS3 zZQ%oq7dTX7re8_>5Zo>Q8n~37vh0sq{^wYD#lq)W_?U&yxA1WbUtr<;8JGHhZQQhd zss9NJf0czFvg|Lm>UYw@>n;CBEqsB+uQD$0JHh+N^d{*$Y4Mk^eZKvrrYwA(g`Z(u z^4}CU`4|3Ki+@#LuzjAh@T)ESf`u=(@QW6{#KJE#-tY!9e&Bt8dVG}hHL>2sU77M@1!sUDGVt-LzkRP-73oYFKo_mAUK00l_g~u&?k%ime zTW_?|FSy&kzZ&e{-E6;yL-jX7T=;JPufgxD!I$ryOZhFZ%E$iR`ywm-g1hPe>tOl{ zcKW{-#D(vszXsn;zr`PA`xOqaiwDP#7QTNh`D?J!FSwijlfm@uvD1Glhzs9Me+|By zev7}%O5Z{&eS*8``>UY;y>|NkHi!$~O^|pSAF17JkmcUuWSLEWE|S zFIxCY3%|^`dLz&Oe#x7ky;kAd)}oj2BL=7Oc`f$EqL=U&gZw7ZOZdw{{xa4t7kt8; zSJ3g3>_=>T(!(izD;QsY$vn|te5%6BBYr%N&iL*Z!oaN>E|X3Z?W*rjQ4VQRop8dvL$#Q<8Q2i z4=~-TZEum*mB@z>YD4>Ep>g&$`9Q4Z(Vz)v!M zO%41s<2PA&Z^~TXk@{^^W~2J0?JV;IUuD#8{ZCu?G9OMq&s#X&XR9}{Kg0M%4yoS| zMmyEN;FlSHbq&0puWQ|4;fqYD zH!^;Ug>PbgFNbsD!SoA0!1$|c;3dXyu<%{1-@~E$Gw=AVUcq)_t`l$V!8;I4px?DZ zFFl~Awetw$EkFvXl@y6|N$8wtT(8}Uo7WkUyqXkoXO*^vp9(i>K<$W@R+6MSev#}F zh=nNz*RrGCxba~_=!g%=ha3By(f(vnd(i15fh{7f2{MG#YZn@)d_V%G(@%e#?TG?q zN{7h!XsMVYJwLupp?>BW_g-(sGATvnMFvS8z#1hA>B_8@bN`FG_m7XNIurlToVjx| zOeVu5gpkC52?h)p(ilUE6lsEB(V~qQELwF33^q{2F$RlP-QX&VR{ca4En2jJ)h>3` zMyg%3YJ)|;=xQ4&w%E09bkRj?-PB^g*j4xQe$Kr&IWtUbU*Ff~^UwFp>$&&*c+PWv z-1Fl(&w0)n-wgqA%i(GB=5`)=U%^#U+>>&mdAQ;xDG=+*)TG1_D3XXxjTzf>E64O_Z1!9rEk2& ziQBt(iTAL(!SnC*->XH3K*Ig^YPqCM-11(2iF{vqf6i!&EhjI_yL>xWIITRfK`p1TIusyrP==oEFhiekuS0?_IN}f-d0#B&3o(<5v+e+FlmijV8N z!8f+9&Sh!oWV9J|PD|U8#b-flvBxJ4J>l(_v_9?cn>^{g2ln{>{(C6E|B3Iv+j}cN zUggg{cfXH+){3vAUBV{GGA>K26r~a}fbq}kS6;Gm_3BElBoXy0Q9=4oBl$BMIaUTMFF`l3ZrR$d%k0#ZI_t8^E7HqEtLDmOD_1Y$ z3dC$o*%p%WlYhzI2nj!*UVhT&c;6$n&#T7)|K01qTVL_~EB$v+kLY5yuM{<&Wf|2u zT+eoR*Hvl%D=^>t>80QF>AvNEKVMHY&=(Ef={7Ha{cm`9%?EvaKmOnmpN{`-^QvMc z^)Y$M6_YF5FGImpG?P}WLmz3Rp1U&fhV$LNtZP~2+BGY?th$q$I*nSUIdolCxnhlI zts3h1pLN-q87=3Wdiv>=7c*)tyI547R<5ZuWZGADuDDnlV_oGE^rGq*-&d~rx@fv~ ztym@>1ryY#p(>$%W!0I@LZwV&T3V~>7#lD7=4GAjl_r|;Zxnyu&oo7Gw_moF#xRVD z|A|ejSFfw}qNyRjK9iq#_15dZgZj>Xhx~Xdgl*Unc;@sP3H<+&Exp8F-^PQJ|6bvi zskBMDFLRvp+^s}p%P0QIU)aVI9fz68it$R=PO2(IAsX-<@84_xtb6 zP+b3)@^e%=zQ@6!9b_Tw^7FUXe-HTYWLNHTWkvtL=B!`twcA<#dyC%=dcI?~W1q<; z7j|{-TAZ(z9v@Tnz-UJB(^h!5WtTWYBQXDi5qmQrbZuj&+e4fI!gplh*!UX9Av?S# zrn1u(e4!Q4w$m5-wh3^=FGZYI=+ywD8M=q+u);Tr9mtgjp&>LS&tmL+NIJH$^P!gH zs{@4hW#QQPLUYIpk51!z0Y@2V1+?w-g}!Z4;04CUTbhd|h(a@Mg=MEL;Tr)5=!5nS zaJwyhyfaJ$SHBfLguQe+aexCSkk{JG{ANVPA!$fjV(k1&y0%H4n{W1svhkWpCzlbL zORccKHcv}QC;09{SLn0?J1kn_9~fy@{Z`l@_9*2}N!fE4n|?-lEgBMS3;D?P{p&}e zD|udMg^iYne&~u3S&p6lMk}sC@E?+gUMsB6vI|N;PwbyX&n}PPO1(A%+2sl7N&dtH zc-i?2>PBz|rT^2;YCfZ_N&R$K;oaDC^?jig(6-AX^m7@(?YF`PEW6+z^6OjdHoYBL zctM(iSAR~vs+B@OweV(ffLy0(#gZ2<(ghq4S1z9S1Kz?bhVv4?VmFRYKLG@wq*oHIJI+ySk> z_APk|WaoA{B%ih!0xuYAY`iU!rz|7o5So2f*#GIgH!scIFKVcdT*i!#cGzE8Z^3+; zgs5Ha(dJY6-aD*xc3F1G*GBRk7@J;C7M|Un`-u~6h^fIWoPdtJr9V}I6PQ`pvw0Q? z6IuanJAI*V8^PHHNWCS`%U2r-Pi5f*_(8kvwZe~J|3CfBB|XVYuJ$VVvrSM&@#~?l zE<7owDuL0A)L+U9Uxz){yeG5*+IIa3ecK35A0YLYBF}pX@6E!o@nt+3w8E2((Bpe| z!|(hx{Gp^FX^FA(CF$Bm^0fmH+&+VE=1*L?J0@tS1>Z<;E6?Zq&*b|9qZ#x4t?+f&v(pY}1+?w-g}!Y99Pw)< z{k??uX5nPx4_e_vmOY>m;M?g6UEA2{t|Q&%CcYOinvrrZwZhZbv(uKiLMxzcr!Vwv z6X1y74&w9^z9kDM8~=b6e#o*1Gy;4(U7>3mJKX`&o%MOMBD^OH$HtfR2dwZz*t5$X&cPP z4~%9^`K|B{?77M>v;x|8`a<6}0gm`>k@6GXlZ9jBoAO)Xhp^`=zt9S3+vy8^+XOh` z*DvLtP5FV*j48hr-hn-vR|#kZwC(hTel8=pJFKu>mfhfAkbC^@$-)cLlsL%?;eWmW z|C5Dd==l#RPbD~knT7qRvda+ zt*{jKejs^DCSAc7a|HT~w{$ZR~V=iL;CFo-7<2U)t+{6@CbNcG`k3v;x|8`a<6} z0gm|XCC;ob()NJSjHKUcg?C`jmA=plXxr%vecJ>$;&(*KPk2ujj*V~1Z-pPio-2K! z70|ZR7y7mdaKx{2IpuGr{J?0&l-~;Pz@968p%u`!(--=-32?-3A#rvQ-jju6kjTPQy;nla_K!aK0%N?&LNwC(hTzHI^=@!KNhC%h*M z$Hq71x55u$&y~K=3TWHu3w_%JIO5kY<)26Sfzga9zZKqrJy-fdE1+$sFZ68_;E3NL zDL>&oSvWSnDZdqd2z##dg;qe@PG9KTCcqKD$;&*^J^$XZn0!A~E z{z5A}g+14LS7-&a?evAdZ2}zQ*G~Bf- z_2@N3vveD5d{cfaJcT_M-!HTR+IIRv-!=h``0bGL6TUGE$Hq71x55Xp=PJL@3TWHu z3w_%JIN~=T<^K}p2Szid{8o4hd#?0_RzTZMU+CK=z%hO+C_mvFvv6#DQ+_La5PPol z6|@4{cKSl!HUW{`~Gp77jcnW*2^o3SH+fHBT+a|yfzg8(f;TyAXY#FVu)xULpc0(GG-Dqv4}v2!CC_5)@<}?jvGXxRoF2kE zvT$sC$;S>Wd@uIT%7@U*l@CeBHg-NrFUeP>U*@}I;n?^>vmTtlEEN1KS*e5xt$?;& z4?^EI0gm`J6K4zI=`0)@U()Zh!uMj&mA=plXxr%vecJ>$;+K~4FM?hcj*V~14^Chf z3Vx3A3$1{*oxaewO@JeQTcrGir?YTud{cfad@uG~=?krZww=Dvw@rW}etV_-XF@Lv z$Hq712PZHK1wTjmg;qe@PG9KTCcqKDAt^uM=`0)@-<019--|t0`a&z9ZKp5vZ4=;# zU**>+|5?z>!m;s9`N0XyLcz~bexVi6w$m5-wh3^=ua!7k2v29>*!ZUWR`_1*x%dpB z70|ZR7y7mdaKvwml>aM~Ckw~MH{}N>Fbf4gNBMLZ2NBl}V zC_mxpEF2r(l-~;9i#^x(7g_;rJAI*Vn*c}rmJ+A*Y|4{`W8<6hgAYk3&+McXv;x|8`a<6}0gmxoN%_x# zUKWmxZ^{o&U=|8~j`AyL1+?w-g}!Y99Pz6s&KANsV`8IZ*iHGZ@V(e`r7yGs+IIRv z-!=h`_@$)$ZP3fYvGGm$!3oSl!Ou~Cp%u`!(--=-32?-3qm-X;&al`h8Fo{CD||2Z zT#1BYu5S{w2`M!m;s9`N0XyLcz~bexVi6w$m5-wh3^=?|_t_aL!KH zC>eIa@3X@DExRBJjlkIH3f;hzVhQp47{7WpHfk@5sb>5(aNcJN@a^Z7x(9gsJ=)~^ zO5OTL<|bet@XSpi^(){o;NBckuiX+-LqO53Ayo|&-4;?)fknV_;Mc(KfP()OQpW<@ zfk%N)dqOICdq_>%6jJrT+#iP265uC&A$8(YA$2Bj)iWXW(9c3@@S~9W04V-%Xak#p z?*m_i!(R*B0=y4I_>+u&;Mc(GC0aF3(CQ4}t7TfP1TLSh)#qxp`eMCSe>_pEU!}EL z{ef0z=Y`d|z}J8jumV^IG)BYfG+|TO9#($_rdEa3Y+xnuE#Nia zePGS1u(}Z_xGbz@JjUwf$6+-d_yW)hTnildm#}&lxUI@j_XA6&JL-u!j{5Z}j`~)M zqizMt<~iyFplhL{z70GG{0#W*Vn-bYesqqb{tT3~Icm`oM_mkj>0C#x0B-)Oqh?&{ zsQJLBYaBKHGDp3##Zm77vAY~q0sQ0Lj(QCEaI2&8?jihMNBt*oeXpZ71Lyz9QEA|- zk2z{3Fl(2i&H#pf>L}gssN3Ih)DGZ7ApWkS5=R_01-R}bN8JIu`DaIc1bp~0;h&HX zVEm_!y7zxb7x+pjqAme0(h;>5_+B_dRYla(PDH%|bh#1rZJ<9dqJ9mm852=A0-wer zYJ7e~H76o!G4RNR5%n|R z1#JHyq8pWB5E3N{gH^e3s~~!h*}Nge;iR0fp>sUfvKNF)E9tv zwW~e`4u)Oz-@x36tCj!>*Hu%1NS>=IfV!xw7650*T-5>Gp6{w1z?*SbeFVIoaMciS zOR=kd0lWd+J{}z4{SxR*aMf9*u37=~l)37kfKSU^HU1b^ZLVwQb=7v@-+?~>k4$&fUSN5xtF8jBo8hWEfKTh7{W(|7uXokg zfXhyF)drxe!BtNJKL>Wsbk*~~!%ePw7P#$XSKSYMI-9s(0B4S?-U2R~>#DWDj_jYuz?Xpwf!_e{0V{vvs%wGo0uKSxpLEq6V8+v~x?vA_1fBqn z01xe@&VbtINeB2FAPxN83$D5w*bV&lUtM(=IOauYyhMEg-vE05(^Y$b13>bSt7ZXb z0B?r!)SrOyI!{dlt_$a>9^hHvXHK5_HSi}O7RggD1OEXOx_Rowygc8Z#zO z{rvNJYSGEWnUkkp0Un);9cVp0PkkNe0saZteh&7pgAcq1>{*$oqO0=MRN$p=2K%-$y*)7q8^0{{q}! z<*C2@_dK=j<2?1Rz;A)spHP0_p+r>u47fNMRsT7TcX3p$1AYNqT^3aj0yk7d)lI-J zf$m9B?&yfB=3}F3;JB!&ti}(hoElZh=~2})BdYrAqN<*WH+drN2HZeTBX3{`NY9F@ zL7??y;FPH91%?3C3|$}%^aIJ3sOkf{=aUvtxd8i@2m{nY;sU+E;3CpHGpbT&L+7i+ z>445k?3WT}4RL@0p!KS#T68sU;H$vbfUg5qdFr)KX%p}d zOaF)O1DjDAi<S^7@cQr*oprCgZ3eF&zh-#4x=yKM0*{BU6ddEOZo_KML_S(K>}T$8;B2VcNX7ej zS6;Td>r(k>a*kHc)B65bUww7^a%o@5<;dW9*L8MXTzz_r$xms9-}xp#m9}4-hgXx~ z=izbIQ;FV8UDxU>c&SFqU5%SFpk8`}SD)|2X~wVjDdMd2$~t&#zPf=$f#U|vsj&_D zX@lQBM#UDp=_>wgFTyxjc?18G0<5FXt4P3hhl--Ah;>>~;}})ckQj=m^HV0?LHhgO zGu&)szrc@|>89eca7@0ID^+!jqmCinNEh?)gGzlDIBaMTC(AEX996~bKwF+FrkuqM z$#keB1|J?*C5`#2q@idiIhg1l&ewj&vyaF#?e_wmVdcE*1lCY1U#H$5$ zvBaB+We%WYCZ5xye~h>Ho!?Zd(6oW5`KC1!nSVg7S;-@9;`Cj~jHU;)Dzn;(;B6#0 zb*tb^RfQEXRnb0HRkS5k1@%+WSvpiQSezETK2T~N=kZg)P4repm3~TV<+s7svYMDG zZ!A~kA0&qogYkh_zgK!G!w^xfmNI;VrDz2mJvKn8`x<)bF3k zs!lJ^(TBk;tIb!F+9#?>jTLHAs8|iRM*rInL1vRFKbHJUV#-Yn2%$8D22BI#jh(J_ zhjW{IzvG-ot@1s`I>Y@{%34pfnv;2)A@Q^GC1Rag*F1&zn4g3u)8rYQ$; zS4-TrJgxz}_S5a0ujZR{#)Q?FP=%863+@)dmA1AGi!;k0m6gf(5?8TJZh8PdqnUI< zCVz}8j3-_=&6@E<>Tr;#)4{2E2g?wk;|ftnv$Ig&hBrJg?R%51m-M1vC%r-*69C#3 zY@EJd+7&!tk~EVI@uAp&*OttfvxkB9Zl!(%R1n1*hw_d4r})*2A8AOq?Y85DO2(*? zu81mWm$iJDu|TVmLCO@5sCXA^=k~CQN=pur)|4KW2u97##P28Qy0P5 zvUs=^n6^4Z+*zOSDCvl)!?_w^(N2^ z#VSP$AzTrz2)Dz^X3+OTGgZM*{@|E_y#7eqNrmfmt9;Ks;vzPp|6}an*P*~ud3P?s;b5>sj5)(QT?fzC?80EPRDWy5KHt|lAj?SCO^GRN&44L z$xbMecu>uyZ(SI6SLo>5v8~V_$K3dg*WYg;`eMn8wD~)5xJ_!c-m1#r4JsPzsgtQH zb42sv?E!VN%((1z=k?)L16+)@KD^!3h@LI4_2Ev>^A7F#&IqSy?Kg%! zSHpscx^Rpx(9UFclD<}}sWQAwidDoXMV}3;^CJ2&ow!<`8CF$c{kA%wyNQ~-J*-;7 zMYZadBxNW=UNE*jNn0GN#_r5FeYI8mYsWCx&Q`~S8Wg>0(4LoWA?t`1y}G;uM`DYq zuANd_?@Db6-Kd(>Sw2)cSTa!DUz9FPB~9Pm1Ny9&dF%)N18|~A#uWV;Rvqe=rJ4JC zjY#DwM}?5%<Q#AYx-uLE8I`tH@ePJJ$Gxyzku@@CDIOFo?;c*yS#_fqi zn=z#g9hP&HO0d${?9%EBL}-|y3>3mgZ2$^H@g>TLL8;IL0W)9up- zKcH`id-IaV=bG^w-nV(7QeOeuF7@gn)6GZE!YLbN41bjPW(?nrWgj3z_4D%fhU%4( zVl@Mbleo>h9yF@-gl{`48; zth~%B=QJFCUd|XPiYogYbHu@uR8?04bH$0w74^&&b!xmnj9>LNN$oTNMyhGh0Z*p(a>X5!sSay$B zpdIzVm46Qi+FGXDYiqV&sKA9^%U1;rV}@k4VA^aKJoC@#yT9P9Nt!lm)+R9(*)zuY zeGUI&@s|u8WLbba!!Ij-s3Hzu4?o`~a~kt}gW>B3iu#l3Lg6JAyJkGx49%K*csvZa zhR5t~s-Ge)jE6Hv9dT8m;TI`US&Ig1FNxPG@y_Fs z0(ATCP~>@+jwglQ+A2B5%gJi@OS`t0*D#DtaWxj8E*CYGHK6` z5GL)Jyo4gj@2eu+?%wCDaThzQVzg-U9pxJiM*738lwJ5j#;BN#ndCQ(9OH4|MaY;s z$Z#_r2jf{5?r3eZxzlf(XJWYkprCq*yhGiUQePjd3-ljY?^*L!7r|zJx>oR-^kOB3jQa=RtLdKLm z!%f-2Rp6>D+_G5(>iDi#)bZ{6)$xtLRL6&2RKqRT@8^rIAfJ$^S%T$upeUAnn=I+s zt?w$;GG=z=?{F2(uIIHoZ+5CRq;|(<*T2OoupxEOEWmjVY?8qtJ!y|(?NRQOyJg|% zjXHLRj^7wgEKGLB7R5Idt%)y-#?E8P^yDqb^^vy(bBv^R1+a@ONEtKS(hnFLT1j;! zFpOilJ(-L}ll6oY3qK&_Yq~7FMdekZ#LyHe6d+YP?2WsH^!5#F@9BvY~>*PFnqh#U(z0cexg=Md&qFZ zAAzT`@vQjW`<41fAc&vo9*J-J+q`J%N`}G}JalOWkGf9$uND7V6)Hz&0}oi<9#!SY z*2>9Gc|*xyS$)1bwsE~WHgsjqwNF3Mw=?V2Jdb7mH)Cq5k>|8T=l0YvT=(<1xj7%L zhl1Ji+U>ns;&a56YLw@Ic@DlP_FiLO=9u91`Q{b!UV|2LYK7A()S~kxQg`P-C;dBC zdrDY8?Nn*E$yx72_s7$TRPv0X*78La7fm{&a!vV(dh!fcT|fDv>Uop5l}@dhyu^tQ z&pC^|Ip-FNP;&>5?*cl}O8)h1na9RQ)p+V>JoPi4x*6Y4IOz4eN%Xsk^t%fBUCB}X zZV)m*;G5UHgXLqu_2pfX@zw@;4#gH|Rl(ZAZE>{R(GqHmsz%Zn3$JfvwbGts+@PHd z5uq_2Qt@?OTe96oR){Pmkjr@M)=Ji`B{{#{HPF~DdAkwIy+AZB`AM6KPMN%Qo9AHc zpmU4+kdBUb+!v79OpMW23e?25IQ=DGOL&6h{xq)_B5r5X=EVhwqko&9(5@miB;+X_c>=Sl@{Nx z7SZ}uS(V6KD%4oYX|HE5fSjrO6h?Ga#eq+M8V|B=D zzJ*^@tLUDj68HH)h4=~H{xQb=P5kP`k8dL3wmTyZ;gZfUUEFrs-uOU2^v8z>p;_}7 zkDmZK(Kn6uUFPV|>=T0$=N%sZW#SAckr9J^oE@dd2o)$ScW98MmE;$ zUVt!UEj+2nZ1#Dw!1%Q>wMuZuW2pditY=OLS@Bl37x4Gm0ld(>kUAR}=7lVG8Edie z?c*7v$EorAyjfiG(Gk$T9LqXGJ5B#@js94#b=1>(AN0#=V`@^@1myQ6$nVFiNgsIJ zjKtqTl&d9gk6?KUa1!c-s4`2)zC@3DD6BU)JJdGEDOaD$cxPmW6B&Dpa*n-6AaT9W z3tb040XW`Xj=u$P6K1(s_o1-btDjbdab)lfW>h!p(ppez zX7V@8*zU|iPsozRr9e%s;Gv6JpNhYC;CWAKSy3Y9-Tcl;rnGx4$maKUV3#%Z2|f~mwsfs z%Me5twG|=%DO5!}P1{UK+OU}!`Av3{-|;;34_L1<#?uxHKJfNiWTV@RedNFQ0zS-z zAyo>hq?O^8v9Jr>vu}jdapcEqGh{r=uk1K@nXY25zkHByWc-_4*mg$KA*PD+L(DQ-sy2IB7=xuPkS5BqXN*ezO&&H-6zyCt(U68sKdR1PFhMY zxU&Seg~wTd6H8LW?gm-a^+uQK{myKK&aKC{%9x058s9Am6H|Y~ zH#nbfkZ5Bl@@2@M#Tz_Ia%Mbv3d{w&SfX3#_XqUX zM=lw}{=^UoG$+bXRq}|=rX=MKdXe7V#Yv1K4eVXiW~>A~JMl*uver3^qFa%!%D7_o^Xff$#}|-y%tqdEGV+dwqt+I4 zZeR|Pv3UWO+G zX;(dvGGp^SSRMq(m%d-#p>ENm(;qNiRf{b9CdRT2$g*!RvTSMR1E9gishU@@3`(3> zJ!|Kbb5PHO%&76AH~R4ku}lISFP>@7&F&$6k9IzRK-rW$HLm?Q+Ha*A$G&!)fm_mD zNR&6BUvoB=rGSogqZ*ZR3blSl(j6sUw;k^$9L^N2kND#RavC9WClJVKY`57v+|E*h zj>ndQx0iUm=dKqwyht&7aK&x#Wc2gmok_DNewbv=m%M%=>1~j_4&5ny&X}-ft6G(v zSfGw=KSmwfR?gbHl(l!!$hY^)JBw&H3yl^mX938xq0v3tJfl@%#b8~hwrReF83U2Q zNqD^clx45`O~2MrxEL%1R=)1R@{!VBd)DxW@?-;g(0 zg)aS98LJ}9BgrkyWkCGzy*$}&Gaq-!Iw9ou{{s3yW56cA{}ZR?QXXA^jt!XlUa$3| zl+7C>V~mlk?->WjFP62v>^pxEzGyCdQPWX;(Jshrm%b;mt=%|$*2l=U-t+cKy|IP) z44N{R$=LE9s5Kw*2yNt>#k+rO#+J{qfILm5q>+l=pnk01b)Nq0 zGA3{G*8sAQP=-VQ*^{jyYw*W&Z;gaFvHQu8+748JCT-MqdvdF@=sWXs^55%-Q>3Yn z^;jMR5{X_4pP|Pvh{qGMO4#O_A|NxC-jymHP_y-N=b-zTj!q26F3*b}Ni1<RBDB!g7(NjfKZdAWJJ?eu%5`O(lco`;%17hdlJnQa>rafAehfbkEef#(9DGqsjSe zh+@X&nONonw4D^ts)OXT$XYFNo|0tv$27__ZtxY{xqvxtC-5t@%penE3 zT}-=MnzP*vL1w44yN|Gx-@=?7lYIzZ4xct1vCk;aEb~-FhDz^7{bQwe)<@W5bRO5y zH=Nkz(dZp6YUyzYu^R0qqGH#(gN8Ho$MRX^#rtm5@4k?F4wyr7rk_~u!bwcGjmd1C zj#g=_Tfnc`#$yM-93^FsE>({?dPtp58NBfg{n|#xti|5=_M*gjg~z{1oJ1ehqfZ0Z zwCRSU_fIA)tij`b8$qc#g~zFao9I1> zbRH(Iw}y!GE&Y6TvW5^nhUIxf?8c=u^;0D}ga>6$F2SB$0dq!N^)nd!J8%Kyq>gO2 zH?}q~w$|kQrhAApJH$7A3Cn*0u~_{O@-SzPyqX*Oc<$D-lZTOS@ADk-E>*2hbDL%S z=p{K-b^@|@*5COZO?)TyOpF?k++)r zvFrlexKQbD=;4`KZl1BLv{Qr1;ViX57aDn10-mry6?J;+TWLpwM6G#;$DaVkyn|G4 zLz-u^bEUeHvv!<;ngFjpp zucVTm+slCu_fuWxRH)JNc!R{dmB-x@FE(h(ImEL$%7)hlJ=a;TLS?e&l|W{a(T-b9 zKZ93n{zFKe2L!yL?ao!kBP3CarR|gTMT}8jI7s&3I=@{ zVHbM6Nd5jEC?$%tS=;T&+sjn8ygdyr4Mo*lg=GWa#3Y-|4apDS9uvP|Ub|DjsNl8> z!YoXD`OxTmP(LJw`Jm@<_=4DOTa05{XZCpVf(V?kNmGi5s2OLh@+4y}hHc z>>VZ8J7WK+b7b!*`VXXC$YTPa6ZM~`CL`3jCpSZv8rnskOgAO`<{Z$LL%(JLmM@z) zso7NFk}!&Xv|Y0%fcF+%yG^(lRwx<^kJFT?KonevRrObuV@~a zK&Bn6^{Pr8bWh+*SevNtA;SiYPPxd5+Bn;Wy9Vfkl+;1C+m2&&WESf|BS&mUx2J84 z8Y1qWfR81<$TQH3i=n41=QG5=v{x%0X`7psPL7Y z9*0zwbX4+Sf;uQrLkF~KdR40wsPdg`x2Xeo)M4EYzU$y&zV(M%Z5Dhf2lXQEsX%Yw zN1G6LBk-tCH`|>NhjeYap;DK&g-%nOIaA{8^TDGV`SOpn+6ct&^zxgw+#=(c&{fJ@ zI)Qb4v02wkKWPV7*KTV3^IG*c)0;bqeHhAMM=el2oy$UCEyIvFvG= zj>sOEbA{fckk~2op2G4gAR3cVw7aRF9(%qF7K4U#i%z_)4?CZP-NtCWyNm<)%=Jd! zcP4A1M);k&44GN{JM`xebY)FF9!FvW1J!EhT$xMWjjd4qb1n;P1k^K_?sKC+yWpM0Kdn568w`HcZ{y| z7txiTb(H?)F3_Klyza*GDiAew3Qtzg5MnWW2aR;@`?+Gr(GhVX@nN56LomonCoI)`o)r zC}^{G^LPRHcfc=i+LU)69)5Y{F!3i+-iw@DO?i!uWviSGOE#XUlA-CI+&ks9=j7ci zX=n$tCSv&l&{PJ)1mzTS+4$newZ22U@2gF2 zQ>@9oD-ylieJg?s6{g;XR6gPzd`rzsqbNA9xoKsq)pU!OEx#b-T< zw2t57s>zaf=BE0Y@Et(ScgdfbWAcsrr})*2AG9QV*ey7ucUzNIyMc`cC+3v_x<+Th z&u0d0MLx6BgSL(1@i~R?IZ5~&_?=B7e9jQ*)O^Ha{8o|KrhAIImZ z66B)31d!7~Ui%#&NwXe!70ZW!cfN0Z#7p1x(sxbzy+vng^lh$oZ;LY8c0^mWd!Y~? zjdtxl7VVihj*frcXT@J_$6uQ>{xXSQScUADb8}V9eVHpg>Xp9VN7S0fdHfQH#s?9* zRXL}n;HXxmw`kT<-T1UPi6?ZiGi^-t4|zHgiM}z$J%p^Lu&Mw(^%=;PYgJX-38XWf zbfzkEqNd-YpS;%}i^{OLA+09svqb<>SS@;$|&*?xeTC zD?1*!d0Qp2^JCe^EBEH~l-C{xiShz@uXzVc$@kdnH~W+eo4PrST-Pg)0Uot$n2TCp zA9gR%vX9xC+`>L)t$SK@dTeg=wIt`LJw3&IWUGkJ;FHTKRr%tQLDS#6SRXy6)!zcc z>m%DO{T-Zv$F-{d2_I^?j0yDRqx=|iY#cvcKXHDQ6))2d!G?|F#~UIKfA=pzdhnQ* zJJ*^m*~>R9<53B)e@0ED+}WyI|HhZ;wXrYtj#fVeN`pP`3^!%U!ZCVQiz7qk+)**} z_d(8-?m_ki@0|LnR`&oYlB*KA@qX4BjCw!diIf zcUlc`Lg6((J=^WgCFohUp?8TKXkx?2Try`n=`Y~12+;8!;ad<@wNsO-iu;91taV%W zcUg}D!Me?Mdt(cFtnKKrHXg&+Qhe0dvP05(gvZl>W5$;L1}SlKd^w!OL3O=8-&q^c z-uQVe;|Y2t_DMVD2pOY>0y-aIiFdG6U*%kwr(btav@JB}Qvx}DafTdU;@18nd6>y# z4gkL{<6HD1)ucI}cMFB~;uEiJ9Qy!8s$%EJI$z?imiTLVTw~%(eWjwm&r{Dk`T`Xx z(B7GTxsNaFOg~?lwMT!PZ@s>GC!pIFoO?z4J=!?Jyo?pI7qEpmFbmb?1ZRr}chc z#&#i=)d1~6uaGygW5y?T+SFEA;9){lapq#?WaJ7}j0IH<6Nio&EE|~6KR#V1dQJ_) zGVyw${h&?zaiRI*sCpC!0^GN-92Q*i@q2l5AXf5$i1quL4Gzp`WvTeSUzTZN0ffeh z@Z^y7!`py4pjVZke|^wZMaX{g+i6y`WeIx; zm@nbvA={l1U$N;+d)z<(pns19FTL1AK@@(i8`D`_SwSY zXltRuOub}(kGcMz{IUOJEDHd~=;TfBXJwQ^MO{DXw1lZ6?;ZlyzdJqoBtwrXl(WC> zg{q8xSq4vDw$syD?}kjxO+3B_MB}MgSPeD}$ueGjfk!2e=ry|1>5ASqDvdn>jhC>* zt_HgjMVmW)dCJL*tFstaKhL;YpE0h=eCF(+Oj0KWSS|o65^2)(WGIm}z1Z&@;PJGY zg92zh52Jo*mJ2PBSG1@>br7masHjpJ6Q*u0ry4;CkpjyJhY zx~aUWqN%j0m@!58oJL2rGR|BCT(Df)6CdFyKUg{oCqxy`Zj^Hl$gCL~LX^HM(xEZjyU-A+51r(wlYGBiI*2_&OLXP#!s0&TDIc2tBl}XQB*iSrVV-vR7@E@F3G&+g^bd}aMyX|X(}H;X%V5KWi6-7V1+!-vgFMgJKZ zg*+w$@KSt$R8x;c?&YC78GZcyJJ|~uH@p{M$}e%x3OdmnZ1yA${9v8f4jnbC4 zuXuF6UIWGC>n$v9M6z)k(Uqs)cN6-38`1Ckd-VIdj~W*$9^`HdW`~+7SS|#LVtrI# zPlIU1?`HRx@)?B{BWXl^rw5OjTJ#ClM^Ed=u}T{8GPknOiCqfvs>$r z!p@EP`Vl9wE_q^vo1E}!L0p$4Z>Fu&X47Ye)lERKpJ}@bi)Btn{>Qvo%)D95KD&H} z7s+PLD?Hu?+*nFJcvHW8jRE+-`a%h@ z?k0)!G>e?^3_O?^<>J2BZ^NpO-ORc0byD9l_Akz8w}##|#4!7DH(}W#(V1Uw_sGcI zf3hEUf!^)S(b9JISv&O1Ng_j)y|2&GKM|ai;D|1FXuRTFtcizs7#Uk!%{ZJ?mFUG) z>@QNqUE|QLE@u8N=R-5z3XmO{pKW*9RGA~Ij+!GSts|0_%=gU8C0TdRtbUmCUd7{j z;C6sLK6ILzXEkfBotyEX{^asQcZ2SA=BknN;_zU6XZyUkw=c(-iXLIGFBjBDC>mDL zdCrhdQO4H%=YFp_?!*g zRRaXN{I)xn?!jK6E&IVQW8q4H!V=L3Px2kcs*=v(eeaa?lf#1hiR7UV+?dfc;9UD} z!y5ThvB=jm^#-d!tC_*$R3I7`<)c(ncZ&=F^62HkG5e*?52zMTmt=KLU6M4>7t5G( z6_#58`Y7Xt2mx;la}K&ygbnd)5X)^vKJRX2V+eU1<9=vDW?S>`1L}vwcD_~3^H_cj zpz|lY_l9{1Y1Biwrtb~c*}zUNXl5^WTw{qEm!)eGeZ(JE3$YvrxJK^L+%&|eF?&kg z@l|?})2d%}-EO_v&@wuY)#&Av=ahwB0GSsgZ!56e2_zHsr@~i>KxL?@73&3JP2Vif z-bQ)$zbhjqGnc%!>Czrmqr04k9Cx0xG5s&|o zv=V)MVRyNjN6V*9%)Ld0@PFK0v@_r6?p6QD*TWNe&kP*y>*`7tKBD8|_3@J7J}z@~ z8z_7}RdXShm4K&*+S}C6Cy!mEW`^}7&UpSn%H-+S#L=%|Y+7vV*Thuw=CJxLunrP3 z9%Z`uf{Z)1U)i)VY63cl6VO4Nz_=s2)k&Y%JOqvFB~O2l{5&e{TbfvZgWO)ly?4?M z6RXvF)D4`O+I>Vj^K=!%o3|g!nf~?~)(^+CeyBW(PnZw64}|uaSgru#vHBahQoW)1 zKPjNsmit#V{~i7NZu2w>9j&F;sRtakS6^T`@cRTJ*4lVm>=NfGEvITdISO+U<5#Y` zG9D$Fnx}Z|0d!3A-yFMAJ)sw?hxG>XZT2bJ*{3)^XWu+Rv}dTon$Tk?4FlydQPJ5Q zo!v`5Qw=>lTU?`WyW8y)wcFk9>#g&nszA$gg&v^xc1Pw(r|n)4Hm}FL>$4*Bq-J-! zSIhn@T+zL9*rUz)lUo&u*2bQ5H#xu8?mA~nywzEhXmy@Q&MTgxoe#q$AG)PChD&}Q zmgmm$yL8Fp+PNy6TwsqEnC`!%H}a8CTC$r)ciNE2R!bWDv6NKwGnA5IJVNF>ET>=z z^u`uoXX=)FiM_S&ShMz({?Ja)Vrd`Je=f!0p2eWNowh}K?O!0xlabXm9HryF71ZH- z5AMg|%l^&12NQMdK4^Nn&YYubFG3z)h&(>YJA zJBdG{XU`eL9D4SZ|KjiYh)%#X9DW|&6`cS-4;gowWu1LY5#{<2WtX#$D{;iUJ18#H z{+(gM7iO+!3}3hzRKpi;!_o)vo%93pMuyZ3C;Or73&R6<9?hc;1aW_h%0xSUMyg z`CcaPP`BJ)?LHD#FX-M;WmdNY@$bU2!;insi{C8e{*ylsuzqY_6;_LZKp)(8d*cUV zM;rI-z=vkvwR0GfHJ|Ws9w%=xqYdgl5LQ3uSeAE3j~{Pwru?=R^jRnKm=^&t-X?EPLU>+DCzv1A8)0=E5XcB@x5wMDZel+mSTm_7sEaW?$^kbn=)Fzd3xv1h z!NHIrmwAfwdhMbM%K0bG?Rh+^t5UxUtF=HSQKc-lyR0r>Rd!8OmB{ofxsSDy`w{H> zS*{_@cH-3Bh-E7fP4tssttd&RF5)jZ)b(;zPIq)>*r|6bqRVMZWfL3~-RGS_l(D6s zXv>Ah^H^R3ym_s4cIBHg?#W2p9G{Oq&1udgcb3x!Drd2nCqp$k`P1Z2VyZ#V)!rt<3L z%%arAi;#L#^8N~zKLgCe&<(kB`z!gFawVmw6ZC{+KTz2&o~h9;?r@)pPS@j|*fa5p z7`quVIC%Tub5-^pd*hQ#kI2fsnr8uV=wu*X5kUpCsyXDetpb{u@ZfdZEx`=nSqhWp`$ec!hMC zHVU}6>H!+pTUs#I>(Y0^>JuF+)6qc`t?T8|+ZB27`b0(YQmxRQ8j(lPF>V3^c|qE8 zhvbe9GF`>PK`W~DKf-D`(EOC&$1Qi+3Hiu?tKfwzS=W?~%zG*CJ8mY<6H-6-V7VXg z^q-b#IbicrzFsJGBll5tRH|be7s2Dq%UM6K5%tefKW|}~`ZV9kwB;7~c-q&H$9X)3}@5gR!`IF`G{W2e{1ML=Z&cPjr)R{F(z6Un;XA7 z(U)ASqpxUpiX7J}?o%E=IuU-f0)F%u`dsNSKe~?W43}{|4wpZjcpxHb9R6KK!{@Ei z-u_LdtjAmX97q4EII4f`hul7?zu#i{KxmtC@Af!Rzne8DF4ydS>~T8jKC|G2s8e%y z@)XXa9LL?s6(irp?_ae)wdl^ok+?&vyZJYqGz`r=Lt=Og?!PXoegy=3zqWfs#_Zke z5#s+^@)wVsW%Kr~^HqGY*JnbJ5;0n{@gttOEo}y))VE;{Vxp6?n`0yHXWQKMxXzM#(6xJ z1D6AC)Lbs^>7}j017h89&@uL%UO)-2R&SGq`Dnb%R$>@_;sGqXBszI|#3LjBeIa_R zYh+Nwc=Mm5q{lx3n0){2YM;40l|0Aa7$iTtM(CIFmD9Mc6)2p5q3A^`jIiI|5Qi4 z3It=4?JhhfrjCIpJ_ernn9d19;|IOff|36S-A{NFKO^(*;6g-Xt#kQ*rv~*!a(3Gg z9?^rcR9%Dm3*X1Ar$!%Z7D9%hlJgH(9snw0y%1{Avj>|U4*tv?IGxcYc?OS4dDQdx zjZ{vLzs+=`mTCyO^F@49rLPUQg3%yZ;%u7aX`B9j3a{x`s)*JhnQ=GAr#m0%#H-&>;^ca&hj(e)I;66 z=c^*!=va5{q(w*B?8%}(S={d3mphPh)a$@rNl)72e$QRL%uxr#k32}Y?Y851?cgEi zob5U1oYpg7witK_vUyj{-n^)*zY4AK&wJM?8~5Q}{7 zWOx4DR_yPZ%1$oO5@S6FVZ{AL;R0`so%Gh&V`n<%V~jP^oO!gPe2*U>y z?~1VliA3s>(z}rJLAu9QsgHpdq<#k{-=Ywqo)&FLmPZ#QDx!__7PmZlQ#gK;j?TxU z$GO%~^W&x+u-_u29|wZ5#CDIi-!kVp+T#KqivcIrPfa(Q`KFh%*3$1}eY@}IeUC2C zXRYV)9pL*w%$p~AW(x_A`+Y-hZgZpGBUC1hFCn#mJgn|z(x}k4u^u>0pW)HZlqZ_? z^L`?kdE*T%LqdUh;~kHZ{7;gsL!Z+Rk2;SP|37~GDlGMY#GfYbP`CWYlDCe%d(`yX zg80j@r2Y6Sz4-FqOtP&K;wQafehdwkB0omllg9pA*m`ybppXU*mi%` zy-XiN%J9!3n~3b?8+i9J4Ir8b_}JbVj`}eW%z?JsoTWha%$@0j{{JG>M|@ssDdese z-g6n2>x8z)gQ2H7o!&0jH*FI6Sa*|L-&6vpEenX}qNnRvuilN`h{I)(Yx8&nWA`15 z-J2P^H!*hKa@5$pmn8UGMC4ysu6aI&Zns=f8uFFZ<8xDIk!&vy!`Y7{|dMgSQYgo^NHDJ57cv2d9Gz+ys!cj7K)kIw%98X>5|(L zW{3jSxC-W0lE!qgua7rB!6@j=apy#@i=C|FFKKj~6Vt*@NGE?>^!?&FCAXA5S$?f9 z+Er1>J(87^ Py0>Pnp8kV|>l>Fh9IC%5?%WYki>AlXD;cFN9i&Q3fA|9y^@7)) zKf+FXmj4NJ|D<;4Y3w%%Z@BpA`}M1dV&b2OrP+^vvb;GbeJ1g@p}($YdTYMFaMrDh zXogRf`<<@E;d*D?%BFD!mp?0-5NgXgCO!!2CgCw2!?GJd2XHH+VbdU=C%!?g(l>>< zWPg%Vk8I4W9pyh0a-W$#LUgmv5B)3unE)UkyqBw-nwt5uwD>0Vyw2X7dx^{0 zOB`UBt&Xc|_Wh3C6H(>xa^u>$E541n75Q1}5p?;13dmK-nFF&w$Ycnf0?*S`%EJ2$ zdd+=~S_AwgdN!V?uUed;uX>RD(9l%P@3H*ZlvNsDv*EmY-1nRrVSOR>>fK{`KKEFj zo3S5M{UUN2srMOJ8UgeksrPOUtUh3P_bH+~!d)(z`{m}&kQC_WOWJa0$VwdU^=g;q zLrcGwJ3KaJu3>sWF?&aHU*BDVzb&jU=X|{6?^rn}o>ZLc8~*1AS@-O*-q<3y^2J-bLsf&v4ovJnCS9H?Gi|71fHpLRM*|S-p(JU{%`Ruw zPjmQdPk-Ibx!iwnI0o$u%bhdbd{xH53_k~1Sr_#~oW$l49>aE*$-UTeAGYuq{YD-# z%ws%BmdyUpvsm5)Vu{LgD6t4S&6&mCrdHfLrN;R0o$=nm#TVpq$gQyl8Bffb@Z0be zH&cG}phDLl#aC3mOg9t0Vj7lypw8wiSgTYnCdCvF!&ksObYnMsMN7WNSG-XW@D+W6 zYx5vOf@|>=%RJtJT}a9E8*$TXmW{d5ta6qWc&nWF+(G6j!#lL(zZDhCmi*a|s+TlM zRtuvK%gw|y!m(4rpT$F5uB(4A{pQ-`(+|~*$*&Xcp&IUiIx+L+=SP*f*6;IqM%fQL z8AsyJ98&CXE|FS25?dyHcQhWN19Zbfti^Hz0J6ST-l1;!k5ajFbF03JR!O@o8(mkR zk0>>d^Z2R6O$;m{>QXhv)$@Y&aG!h_Vya<<(|&!*>>VbCGP;WBU!z&P*|>>ElMnvdf@t%1`0 zRvEwv&dW;~GH_(hBi}vM{3kc?m-3x~_Zj)lzzga-E3duv5%m%9S$VZ_y#7!@dn(S^ zo|<3r&wtC__USm>E$RdP2%{oxk$=G}Kwq_BpSfAm+_l;v{u9tmd(#;dVRz7ms$`Do zN^n#dosH=cbuO?Pax#Zyx@De07d{KmySI(~wXA#F0{Y%QOp%K38`+2X82YQAUlaKi zdqseE-*MV)=OoPs(vKsY4=z{iwwd#lLaP`2s*7Xl;=?8Ctb-HO=l64;#hxWco;)JEb$$7Oh?y=o_X+(&&~n>zwmTz^@D0RKUFc|9v_9)U@E(Qk z-NG+Ch2=K@|AE)W%rbITzo{FynfF>E$;Y&6=3vx-yOJHQ*a3BRJ_R!KYWvCPk{tbi z6U7Jod37R|*+48Ylr^tb2J}Obibv_+TlsUwx%|oA-O-g=?cnZ`#@NHg+l(KL<_-(* zf58rNk4Kkxk4H1>qw|2JBq8;b>1Ip<*WBOR#$LaLn=K>nCw|TIJbnS_glO#X2SM}v z|CE_ZyWpPA;T3~74;%sYP5I`bS7YiVAZc`#yfsm`;k7th#?-pr6R)Ai)6ER=f_R0( z#$K{rU&v)S?#hU>EaFy1%ej5;t%zHmn9fA%jT^O$8M61@9grZf8Hd<=YqDBj? zRkYEfx3#qWeXp6>WD^!d`#gU=zx{l!^Sx$vX3o5yIdkUBNgwAArN7eGJCr50Cwo0Z z2am~II&A3hFI~L!cBZ%eSNJ?aAWSd={I}b zb5Gozu%C1u25(Lp83HWZ(^)*Z0t>c{(#v21)HT$UVCRlxa-;44IV%DKH>1Gwm7~p1O$Kl+4 z4_7ZE?<4zcpLr~KlyOiVjeX1R<8vy?nTR*NmB{Ejk(MPA+0KFIcz6hPyxTe8<=|p1 zfSb>V%8|6X1`@|I$GoFGH~x+`?OQ;tZ^G^W1CZZo`;p4&OcH-ue-gYe8asn*qN{r z;f0s%)Dzw5eVw#sjN1lo_SbuO%#`KXlCi~8knxyjVaBMzqcgU9vNJLVzom~4=;N)_ zDzOXe;~b6^y=1Lt7&A1B9J2;-I(r38KB(OGkW{@c=tGo~JLEkcDJ+-iY#Tk7h^f)^ z!>*L~^?!YICF!y}UFPb;b-G)2^=bNur?L9keIsujJ7YbpOF0k|7{oBM)i1gFPF3FZOvUOo3ztk;z9-|Bgq?YPT+iNhOm z{Il^&GJ1H z{f^BiWt@B^mCgYjrrryK#~L}^ zaosOr{fmQVPdt4sY_2#?_VV6NA_qucO+P$vZuh%O**MJ}&*4mj?+Gkot)`qlm>WeM z*TBIOR6Bj+ATCLX-+|s4zCg z!*~Qm`&g-c9LoLfxcj|v_xByvecE0d$3ZA*5~F3ful8(_JQ>2A)FJi}Ef9aRIjlm` zb=vM^?F&id0#4c7s#TrZMq_`cGdYVt22WSBIL9RKN>7Wk#kVwdQCd#=4QYp354DNl z^&HycD9F`Yv?z7ZW99;Ex40A90C6Xu$R>i4J~PqWy@zM_d%F?`^%v$dajV}==!?O-!Mxj}_oQQg z<{P|WahJ_s`QlEVON|$IS8=h~VE2z>4~racxcfb7))y!2B^<_ib~%UdBk?qLlDu(h z2?sw1Z%`HRzCLM_wwmMXWY#e14m)Pw8v6Q{KQU%U))K^sbmq(VF!#2-pSIhL{d%z{ ze&Qz4+{2%edurzW@F(N^9{=e%IrjDWONzP=@idz7dYHux`5gLlii#ldXH`AS)=l$A zDe4U*UKWXFGhdT@9NzSveP`|#lxLB|ak#xN&TTHWkFOf+EwaAL<#jnd5Wm5Dy~o3s z0!RApNPWSRHY|N~TAe2~E6wb^xW&9P%WZ?*3vvkevYFh=4(#zvEAy{*PG|(m6ohxm zd6OonuN_UjW6JJP|ir?yxj1+s9b8_dG=z!DL^=;WEUN9v~I^d0f~#j@`Jk zJtkjmQpwVc_ueu^CZr3e7s>Z}QAwIO~kr7oyYO zk>1+@KYs>6pAsJV^~V*PstYr}Nv+a>iI1CcN$kpAOUBn z_a5SOv|OVGs-w4bU!x>G!#*U8<2g)5One%0{qZnNe2Sd(WqeNSG&i?I>%2Gnn(1cE z^@i`P@mzJ_4Q31_?Kny>XGz)0yRoYCjGn}>ApQhvKRMfP3}|3u6_!NJ^s|S` zlZk&TD6^Bi8^Iw5VSgKG+sz!725$4P+0k4kCni&c_+C^W-t&6Koi*WUcb4l(cl_RR zDc)W^mVAn!eDJ^Q4dxjrscthne&*%qOvy73yIrRklYKeGn(W@76ZC)b0y^IFPBkVo zMd8XdCNq7}W=wg;)c9@V!MMzuXiO(*xK1t_xwt+FZ=9vG685mQZF*TlTERQiBLI%d-Ds)WDeXjHz+1u^eJN%rh`1 z*L?F|rhzf#8B^l|WBCo^VWELBxz08J4K^^QJY#BHWGn|64~q?q$+g7%mtkN`dB)WE zJ!5&a@vzjum|W+X|5(#5O~#n=jH&T_V>!ThC^Rr8mw9T^<~L4^DbJW1i;U$_#=|lL zV{#Rn|I7l_He<>&rp6NUUw`8vVqi?JQuAM$fidM7Q{!@D+0S?=GcYDsx%n^Ez?kxk zsqq41+1Gfu(7>2n73M#mfi;cSrp6V3xZro4-^ zscoEwtJ?f$Ol`*0cCxl?tTF!?Q(mn$wT;zq)tUc{sm++$P8t-_U6@ZV<*{$#vCn`m z;}nBF1|H+z!dT{=Wd0jt{xfJh(U=U{vW>~0?F3^oXd7)z25rY1lR?`kV=`#7U5Y`Q z={9Wd(Pq01gErGO*dC(Ib`1t?ruo}mpv^XagErH|ZA)*nP28Z(G-KPE+iWv7XfsXK zw%9h?R1MlpbF{6p%{E7aHq+#6%WJbu&Y;aSE8Du-Ohd{uunoz!pthq-E*Z3$=3!e& zn`sbv25o7^r9qo*0tRiSn%mmmW~;e@UHjE$>##waskM2w^4fZ8VC!j~t)R9p8rZs+ zXDi`Jlf#UpU*gVezq7-;BlW%X?E_yPynX1S!?%r$jmjS#%g!GY8=F5a7MQ`x@=$JU zV*cr|N%@mw!TkJK!Hns#8KJXcv-0P}LiuxJ^JgrKEjoQkY-#BHSU7)KtR%lQR+fK3 ztRlZM7R|4Y)#k5^)#qOlTb+M-tRX)ZyE6Z(*xLMSV(ap+i#6rn5W6w|=GglDTVosY z?}#<$-xa$j|GwD9{0Cy2@;Ap?^0&mc=06&HEdPnvllf1_TJyKXw&y<=dp`fg*pB>{ zW9|8`#&+hv7TcBoMr?QfTd|J(cVm0<{~UWS|NYp${EuRt`Jcr0=YJOaJpYT>fzZEW zE+;?5iS>2z`#Z4#PW~V#HpIz4)`^X9LdQF?6P^5%o!EFM|5PV-nv;Kq6U%e*r#Z2i zPH46hJIBdi;KUX?GtP5jMb3rH3=Y)|e?&xZpUQ<*V6w^ZyqDC5|B{=ryGzJ>N6if1CX*Iz!?-i=c|*4~Tq zPsFF+A!^O-WUyK4FK0Lx;E++z4Z%oH1en~=RnNS1jIfhR-~{~@x5kar?_z8@4CGOUm4AM4xMz4F|w6$;=d z{!LYh=dgb!#PfIzo~^R|gwpdPe1CL6=TRN~+xxZZxA5(=j#)U%UcjLO@ufFQCbw`{ z5~%UAy_LN27WEgX@s4x3=Xvi(zLz}mQg^=B+&7)hy-OhJJ;z3Z>l(v9gdzPs>cA2Y zUyO2mkEZffOXA)=XK9{);4B||J!iQWgJ%z4G?%qivJTOFJ1ERYNp3*8z9+-}4r2Zz zvJWpZr`XfXh+o#_;7-1)-NQd_dzf`uGN;JSiEkra`|Bo{%|0FM&%s>NFz$bc_1bS^ z!vXU1UJhFjPily%Z%7;Q%Ly$5tb%pHb z=Njr(LznTinM&Xq>{0AnC(qUb$?l5+{~}JOahQg9?Dv^l3D9%8I@Zg4$#FC)_Id67 zJ;w^1>vtjQP*x-6SzCx#H_Q7vi&=n48R~anCi09f`JM+Ycv~j(Rx%I$I0ou#K6@8$3@5|3+#i7T5@+UKO~b;Z71@%^qc{%!Z`k!PXDVqoFS=gzc#EDyLt z&J%w|8NS1-?m!av;p%BeeMoR)-Y*I8e#sbRohATORo{N(-U5ml{iW5(hJ{NP& z(O-Dg)ku8KIniv^m@%`F!?&X3+raW}Eo;W2kKzY;k|3oX_cU{(k2~3?zK6ZkSx>|QMFYyK;*TDje; zw&GpVn`kz38grS`n31%9;cLfw(~ax_C?RC9UL(LRpRyJ3G8vz;udi$c{G4nBd|ejF z+M;c}lSAl<8%H!@9>YXvqdT>KO4|DL$^No|d!3BSoWV0wu=L&NeZ>P=F34Mccc}u; zV7C6s_2p6`rf!k{>T$mPg2eMb(cE3n*{3kae*cFk>-}eMyO>$egZskw_&* zIeBwhvwF(SH{0)W#;O@oK0~tECWyU!hJMm>ZI^^Miy-v#yag!BCA{=js)C*ti!X*a z!{e;=jOLj=3r6EdsT*9JQ{HDCk74l3`i<4Tj=ZwEk?(kCIrr$=ba34(!FgBRTYi;IvNo{`f4WV)gW^nZO#03seUnIEZjbc&JpH=Aqd5Qri)rLD zUne>;Nw`seP~7ab#`mOo2Wu$r3JhgTIJDaAwN`+a?AaWaAgr@so;YaMRe5i4Dm?|% zOnZHjeMP(H7*~tGH5_h6*mHTciwEXmX#r6Vd|zy$v&1_Fzw-QuXVHUl^r$PE7BssD7V~^D6M_$#6WZ~7k118s%-u7I365RD3r(KEPuKIB;241Wr z$@&?>(X`pbXA)8ux8g*PBc4Ke8A)tsrLDv{V?E>PPu-re>M0MqE54{Uc>PYUo~zaG zP!3kTzqRZ0_EQ&d&g=mwCm`lIbvU<$;KoHqaA@G*ov+sWt|g!^TT{P?Ag+mrSA@Y^ zsW$l7F-X#-*VdlNdsowW@2Y_Jt|lM!-qm`%yesYPPL#hQndzOxME50j;hM{PU)Bni zWJ^cY$Zpi=`Z~oo@EXt)_Pfe$#r&?gb9qPc`RHqSf{^V=@%pBD(yr2%r_-E_HO}A- znSu0|*fuO}urt<|o2H+$*D_9KjL_7lkGciXV;wz4Fy>b5GWwYIDgP&$6a93(pP8`6 zs2+dWjT|;0tl=kpV`cOIrrZX}^d>npbKnKf{i%{~eBFIy?GQDxBvXxK56F?--w@UB z+U_72-Jky+!&9EYdJSgC}R-E4H9NxLBE;-R)R5ayMNK-L z^%Lto`WnD}MDwIR>OQ2q|1;)aU{{Y<>Hp;aM028_L+wwoTh70i!zXh7)OL26itkVH zMdElP5bUF7BJuG?53?N;cJTi{65J%3&HHLR)4ZX_J*$4E8SYCQ$~iP4X?i=PJm>Tl zqEf`eA`rbVK#q)QMdk64|8(M*I+=|wqTUyMSFvs(x1TzG!bazK*BwsJtFE~=Z70}w z`3^$%ODKh@{nS{!_YTWeo4?aXxz0YliGcIct93(}qo<`B=dM&ys#lQ1Hd))5=baoz zH*YNFglkY)pX4}(JO(r>%@%U8*7}X&9ga(OPv}f zI3+djxM!TsbHWkat)=kj?)Vhny`I#Q-M*b^GuUF~>4DSS{#8!Kr;cyN;D$_>GxQAi zu&bTnDQ@4Etf22>$FqOrm7`7{9dWX+8nbBZsg5TlT?Mn#JZZknkuJTiK)(Ma*M~lG zedvgfE85S)d_HALmPq|cG@J2oA>-lXdktjv<9g3UD|-aWDkL*a#zvjGF*WwNAd9-# z*hg>J$5Z&`YI+Gr9E@<*XtsXpNcD83)VYOu-cL0fojQ-0+uWaOy84cN!R>k9o9o-3 z`jL0PGp$eBEGL#e*ZHuo|G^aJ&6I)t-OienjEfxSoRq;FKXqsF)c2tjHHRju_hdSQ zG~^^5)9)tQG3i71qMVt==IN;+N~1YPj;%RS3d`lbK+xvCOT+VqwoEzR5jJ}6)oF>I zZZ_&U-TYatow^^8U340qcLnlFhYoG*t#mMLj`!F;o@+hn!#y86sYULz(;Qw4^33t? zbq~JCosr_se2y>Y4PD?FHg@PsDJnQL&67Eh@`;yQ3(vl-{~97D8{wCoo+ z{2qzlNv*XM{XkuQlWQ!1w#85VEPk+#@BL&Dj0W@9d22Pd6y}c`C}~$Y4EQ zZc5mbX9W2f^spI^eh8fBOm3$sm_2zSjx?1#)(4qgd-C-jJ+-?1jBHZxvNO;9?zGz- z-*mk*&z&Cs0|QTVGKLOZI(XQ?37(T3HJ6T7zgt_~;~lzy%nxoSI(n|-6_gHyy6e0y zWbd|0vf_5P+QI#fo-64&AEy0#(yjjiC|QX3A0l)$w2OcCt6A!>{SLoFeH&qhgt36b z`N#@{ZzHr*EzGwOO0giY1_DbR!3L=8{9ND!yTZ%q(X;6|t;dH>)4eEL#XE6&&;--T z72SD#xd~-&(ZOug+wR_UWwg?HB9Q$=BJUPT1DbT1T~>(nsw?;(NFznq8E~v9H?wneEz3 zUAMP0#dBOAm5a>nyqxsaRuCL66rLYD|4ez7QL$1{BWo(HZ|Mj#d7Zcp+ z`H&oMr@Uc0B7@Q3cJ>UcWg3TZseJpOo%fcCybP`!BL?-h6){`S;9R zGVfO1b-fFxh57|X$bDAr0M#<2k2+>(A2q>m(wS%;lAXf*R*uX8b?sfc7I(U@x*p|z zgtZzpmqyRztc$r$wKHthFW84!yD-d|%ff>VzK@*o6sWzgnBVms5dFT$PJ+mOlf&N- zvzLEIZm5P4mMkX;Ga4Q2RLD5?1o~0ew~~HaVAufeGo`&BkFpr?r#BFSUX&_5o{pae zBT{*bKfb?(Hncf!wc>i{KiuB_4m-oX>7*U&PCwS|zr>d-FT~`er}@%S({!7b`JiJ} zd>4Hg@?{a!}bxb@k!IOk6@}L zJ)fc+H;{Y0^ejRcBQH8Mdh8sJ4%%hTaHm0@`_G*Wg9q(SXu{vGZ;+5<#K z-_xfY-A_$NGSY(ttmD>Z$~P}%vb=1m^QJ9nA?w%`xleW)@S63G;~nPqer|6|dVdWc7Cw>>TdIZLpL41Ka}#nPAr> z25ZATBWYReBdAw(`J+tCko0!O>vQ}WbkZWxY3wQpZFR zDnimlhB>e%i?7{ZCH0=SSiP^Bwa$w$kC68{So__-w!hwEAn<4(wGwG37~N;HPpFuO zKh{Teh#h`+cXSSp{M((zdqAP-DAT`G$-asSp4`s%3nK>{1~8G zpX{SXKGjF<(f;U2vF~ZeRBVD9Gxnar*n4u)vG<~H*!hbhl+DOceLZ`}bMXFml-ozG zQi8H6-sVoUXZ29AC}p-gtDY`T?B8_4sOI*oC}rYqCJ^7y6OaSk@@?+T>@+z!tt_1l zn9pp4yG`37osyeEV><1iyyEI)wKlU*Z15JDJhpn(jSrJAd0po!-uv-M-h6XztqA zVvBjAB=fx?;-JSs^Yt^Ku-RL~jQ?By+(-QdY3FoO-+G!EU)7rDnu+%MeP!kjkDib! zd*65R1y=LSWqx0k)zL?tgA5yD!b>!pHJO8xuF0&&{aun*jVN~`<~cw#w}WCH)6USM zHMbL0Ps2A{m$izKM70|04E6NqV~VMpy|=j2u1ejaa?-|l2m8jRjTr4!qv?;oVV`|v z?d_vxBk}$v(cJsJ1T~a0=*!`oNPOO}nUjxekwYs7-zYxHlH(hxMjY+oeRAeLnX_qq zw~u-iG2dI1yh9GMCnX8)4z(_NEvN3PJJ(A*)~dy+&M38u`Km*_v-u>>^z(*iQFb9- z{my1nj@(&=F3`vHooo+X;JJYJ<6Vw-_#vOo`i`N`m+}~ZaxCIWZzs?7?S5Fkwp8H> zs3DFgS1|(0q5Uu!I&ePihUXFkw{)-X4&k-y8Si2Y-dEK!c{haLk?cX-gqJOHjlKot zDI`s&i9P(AiOx9xI6DsR$d$Rzcl9tTC1Zu7CO9h`-c(!f3#77(!TV{ars$XdM#y&? z_M|ZOH{U&LdaI9m9MR7RWzQM*07{`Ai`~(0_ffkzrL>ElW(LZHp$J31bJima+$Ne$ zyVLu9*yob$ar~D)>e%=Cs2RfuTkgeW?E&>v>_#H<#h!3_xKnaYri6G);78_J|Lf@7a)!t`eb1WY9`iul-{Y(y>3b~h512U84@ezv{yq7H#QTdx zvzd$N{-&_phtDF2>;)W_N?7`vnGMcF>hLk-HTRzVw|MnjZ9RYM`Xh`K zbvM-2Z)V8a1wU&SShr*LZ;0x3G_`!Ui+j%@tkW36y&?0Q9p)NvH1~=;pX1q_gb^lA z#(iJhlkfBU;NHB4$X|-8t@<7%-&|$yd+O3rbNfZlC*MfAI<3D?O-^UcKIJ8>My^aS z_myufj8sb8OE|wgiYubur@p|wP=9BI&fn#8@$Em@*QNR{gZkZy{(3Ey%g6Uas?FG8 z0N*alT$a&cR(f=Yd+uPLT7wL{L_e-jeKWZpk|&vzUpx=vaoCExKO&QHE7aeC7)V=} zxDp4c6X9?6Q}wT0z9RV|oukbI(qmPT+gm1LfV}&bSs&Uq_Po zb7fM#5p)g6`opAA!t%}Qna*tNf=SL7NaC(@g@n-a*J1O$o^$v9(W|PB*dJ-!#Q&mR z=Ut0kpi2Jf`HSaAXOi<$1(k1P^0IE~6}~R#v!%uL{Kdl$5l-))gx|X^l^xgZZq^v| zCZBqKRJYx$XY^Cy>$$$1&~5kc$@Hf;@={@Tx1E1VKeZ9N)&#p)em}M7Cf>nMu)7Dl z4&2oz*lowokGre{yFX+1816nlvHKjpsXVT^nQyBm*p0zXVHZg7dlq)j<9B_6T@YTF$r3wH#^bvD_zl&F?MC=PWl{Zm?{! z)Q&kU%r*WVu>7~>S>HDH>n-|kFpF|F0m}J zthB7Rj9Ff1x!$tF@guZMu0KQ5@(Y68XxHFk-l`h?XW@#X zXxxGPKLZDA`2XDU%7gx&A%CiGsVP$eQ${T-swpontf{Sz6s=fRR~jr>FlAJ6Sy6Ri zZFNz3ZB4Migldj6r{(1ZiQCoq9sd>mF0g*z@=U3T*3}jVzoP$h@IOPR`yCTP<<|+J z@GQxl!m}g?&LV$8mF1ORIVzG3p=o&q#Z}Q&r7LQ`n)keEc?-wq1oNil3nUNH5^KSiMj>AQ$0z!#GL`4> zDVN9x$+Lw=Uh3n6I;~eF=I{}nE1t^*l<(O!rS)BTbVR;&HdC_y;k>!=*dDP@$>G5G zpl)HQuKywgs_7yMXiCbIi>u2Ms>xT135DEM-OJolN-OGW%D#GT*jhuLWRs(_s){e{ z3gZa-4Ji@n)4q@Y1(kGkUps`)+*8Wwr@EWX5yoJ)#6apjCoigq1WoOKM7Klf_TmNo z6@ru6tTQ;z_9wq5w6dy;R}@vQ`pR93#INuyvPk`lP*#2QK1l+YA^wlynp0X)b@A6p zk_0d{WlDX`@<{Dh?p{q2q+itC>vRc+j{a+hW4q}eQD+ua)zubOl@?YPRW6UjFLR5e zYD*t>6FIi5ZbkGfXS%+mNS^(c5J>XZ4qzAlD6y`l{<8c?d-lRPx~o=4Cter0n&?r*|Ah;Kq_-jQx^QIYieDJiBPoUR%c@HXFQ_VK z&TXqTm6s?rC#7&|Wl3R4RpGMgs-lwOqMF*mqT0gRGR8+GjN!`pW=9?Qg!ih83#Ue- zy~bwJ@%Q_$N3n8lGjC^DYWFS z9_5G&)?PVuytc}ig+TP^_mr-2z?X$JKA5M}3aMB6%2RFw(BlbxmAzN$!NLF0tjCiR z`Q;@++vV#Mi@(C}N}K<^Yf2&G`Q;T=%kwC$IqAoR%o3$9dBfYwQ{pkP7a>}7h)R~rnPY!JsY z$fU%7q*oh{olrW{Q?#C^^Y9eU6v@K>qk*0v_b4@G<)vRQ+&mju9l?i8o)#B!*rzT$;m zM!Yg|xsTdg5h<$f@_z&^vTL}muJufj{-fLTk@k$X0d-we)g4@EB9RN1f9;@Xc%@P9 zQxdD39SuE59!)Q=iqh}cTU5@wps>7321qiHEIe1=I=(>7mb4tMX6Gyn*v7=|h8o)A zx^Se4|9bZeSM<0p9Lc%jmxXmQ(vW-cQf}JiPQ8$!VnsYJq!w&UDV$eZU0fyi_V;VO zzON(qH2sEgBn}i^w8ZRiE%3muZ#X;$T z{)c)fck5(-;o_p|%J}`cRC(z!B*Z$2O^;@!i&Njc=?lI3nZ)N{7czpAlc=L)Bp|Kj zupOeg<{yS2Bg-T8y)N$OPB3#RI!eX?R{^^8N+wFi>-*_DhCS-9g=Ax);Fur^Y?qP&t^VfBEq z>6()(l<5?uMjm8e5}~nGt>T$`;neziJ?fhlpU9JW!a}j0UR|^zVrB`eCn)tDwIZ^j zcm>a*CuvPWK0~w>RVyQEvS`fyFwd<2Evr^4R~1I#GbgU|?sw1^^)r_Q%RwT^y8EU!e&hHFW zxGb`~ywVJ#BfL}f6J(wN>0{tXAbU7uQ9j5z4Iuy{MwHZUys+#gXy~ z9Fi+V#nrWP_0`uS9g5Vq9{<1Qo+XoX)1_Jc+%>&QYUJ!l zO$}9>d%+?4nTzS<3d-p;YpbePolC3JPiGFce_2hXIo3v|6Pa__r{T;0L@>8t;t*fXA5!X5Ne)tGTJS3!~K8{m))%uiq(ej$S zIrC=n%w(!`S2oBCB*aKrHO}fje%psSPr}M}zQl`{)_pC_K%E&?X7rJHKXPS1eKl3U} z=0(dZr_!I*sti{_q=Jh;FE?tm_(ws-Fs)(Gu>;mFK za<(ay-%MoInbs*<`2n^)L9CU&9fs^Ywol4@!KckiCLwG~r~qFi?(Q|*;(x7f|9 zs=BZ)I^B-oNqjX|-#^Je3(Ko(>xwECRMO1oe_K-)RGJHCN!Jyf{3o-N`o5&%kbh@M zY^Iu;CXtc|-H|dsKDvlosdes|HP%p7J)Js8Tth@(GH0&moVrN$s!*g_SGUSyQbE3Q z@(~AzKC?s}pJ2-hEI9BS2c%d^(K08mT~{sj7r>oHvU;aE4s{))1qD$g;ZS z%OlnCn8crU{=dtO>wQ64;U((;<@cU7v-;NjF6gKK4}=V(dyV_xpAF;A4#mJ<4tAG< z<5p`QKW}`MS*N?NK3_1+Fe}|K9{%TJt@&g_pQYb2!*ZDAD9f>y0n3S&LCYDIAftcic}wY_dW6|+(G}xl{v^L-GQP`EJTniGzDX4< zXDBHuoOoLCvhhVZMW>!RVPfvYiGiGnr%WgvKXKx>OD7hcR-ALnw2}P%l zKlQZSZ;wBe|AVF<4xe5Y9h5{$ix?IZmgwtpaN)H2s9Y+!+Rv2hN@Y<+eAYQ3D6J;T z?}TYmF4r;vc!-4!%mnCrog#)|%r-D{tLF+5&+#SUAIZX##Nd*aS3JHlkwJtx671KE z^WoxqL=z=8wucMnOQ(+sBbk5vB|K~}Crajy>A{&*HOp9t&|MtK+?fe2ChQ~28Ac~K zKE(NXWWs_X<{S>=G1+-~^bfS;WaqQlmNeb*^8G(hyoU{+{5@>d>6t@^%YU=5>WChp z+Jq;~x4Ds0?lu`39#rh{>^f|EqrIxN!-x0Pv*)nkm6v|?0F&iYyna-Dh47Mv zlgHE>%WaBftj?uD|B|_zI@8RC9kKhonwrQ8rUj~}GIhXw-65_!iQ#p-Jajx}POB)L z83>axlg2l%dPQQ`;xw5%oE;QmGIvvFmq%-Q1(?j8IO`o?GIvwwmGufOdHm*; z^$sn$JNm!wmQ%Itf}G&OSw+htNw0y);)8#=hcu0DLHD(EVNnH(kMs(Oj4hDD9!A(%!=FFjksI6 zQYCRu|0Pe&8TQ4WNFKsn;T)#=dkuAxg;zMYs)`8UxV!I4>Q09jVM*6=9>mxs@)AjY zhjw4Y#k#udUh~lIip>P1jl!Yb$rFYnjAwaim%~Gcm*D8I>8Oq*rufj|N&a-ZP3Dg4 zq0Y(T3i2jcKzW)w)MRf7=*&GtyyD?7>g%cr$ zm67<=xXsi z)%tgM_pAe1#=^m1^8Tqizw;`}msb)AhO{Qwr1{kCe%^)UQRDRR=a&Zs5gyW95^r`% z!|lojp5x415v`)Pj7KA>`yTDXjK`BV-LBs65b2j2ik`)k^nCWdqq~sEqh#ssO2;f# z`&v)&lq7SXBpp3Yl@R^IpD$EX-#hD)olgRv%|d{xFRSPC%6jEW^7MAs2cAzB9Z7x2 ztE;V=%VYHJ8k{Vi-Qn^yu0&UOnQ+uKGnxDO@`yYkP2w<_yY6rcifWH2zV=Bm=S~)$ zEOyXqY2t+}CuZY@Gms6dQdJO!5!u(L2|j1_cIX{o?EP@M)x)qgL#eXgrfU8>llR-- zV6T`Vy#03!`xU&IsBCr`>#RRErJ0ega=hv3PqCMh940a%7e+@kO(R*hyC6At`{ zRiiu6WzUQ=cpg6kH?mL2YDC=2-Xc$0UG@bTS!L{HuZu^KVWp%C{wqpZQ%_`1kV%O6 zmHj$?f=HOna85OGW2+t6FzL65xaojDsWEypdN|F#y$!kM7Cq!0{<70_{e_Rg^2i#LWigG+o}J4Sb&I|5WEP{ z;lpj#z8&%vTrQ~yPW;~J@dq$L1D$b2~$ zycf9=H!W~*414q}xELuQ%rLyg>dnx(!oan8aG*RDpHSo zVGOwvU3fRL9=!#gu!gdvZU|GZB0lKCA-0Njk!qYH2Pfl}+xg+E8`L2rTm){=I@ z6z)NuL>GR6w4)1MSM#1dy08x-_QL+w-VY~S!#gsB8HAT3lHLZm&Fby&=pWiN!fK?J zd~1P!Lw4Y|6JFFrJj?J4|F|A|+^Abvt%*okhu~|-EU~{;sfUqa)D7V?NB~_p?>5Q> zUHBtp5xVeRqzt_UE_s0doc7oX%Qq>tkMl<1ZODGkC43J#fG$jVkbZ!8`r#(zd8rT3 z{d4k}F#YgyqzPTP3u#6d{tMZP&LST581gxOTj9G%kn;)~9;V((+F{jJ`X6-RhmRP& z=~1Qr2a&#A*#8&gPgSaBI(i4Xa1hdoo&}G4T&cC_0eCMWc_=%QAM=FKgD{3jc{RbJ zr>IxBkHW{19T(9j!;McXwHsZy8TlMtxE1kLlNLCxmA)Ol8MbdT{io3NENR2u51)LF z{Ks!AT>fjW3+Pe!)brFKv4`a^Q0JrA!|x*!XW=7A2lm2WBKy%>;U1)f@H^q^-w;0b z4e)J5{C2|F4%3IImq;tJ6*pmck(hDQ0QXtF6BfTr`QauC|Agpp;H2LYXY7UFLo(2X z&mh_8!n}6eqYKYO=A(z;Rz&))R`@TZl{l+cXtRifAAl8z#3u@Wjy#VW;jdmLKIp<1 zkp1Yw-y)tGuGg^OceZbYHArh+s;0A(@<103MBYOe4naOg&w_P`^sx=_ZbbYFPy9XC z-<7GFr=e$~3xmi+bm1*X2)!BZM#|7T;Nm}+>uD2gd)?H5c6i2abixn9SKlIE*n7JJ z{@@+lqc_2Md&q0tG(i7elRqI?j>x|E!e1fpp$nZq%XNr41}{d^2uJuUBokeD%3qWk ziynkOdCy#@nql7iMi0RnM8X%ojBH024*G!nM-RYT5Gk)__$VUf)ehh2B+i820k8Oi zu?p^+;GBO_Hucm2cs?@rl2px84p8UOHPL6GPk`S+mZAsY_?$VbZGx9M zE;XMp8{jbZajV6B7Cfb&OLfS(U=$Je!arKQ6HZ8TsWjXOuRyZUg>(D!pM(jw`CV!& zp9*V-zaHRHo3L+(-hn1eKYSl)md}YD?NY}hx(>sFK`zxm9SFf25XqlrxcM6{HHoye zz(dpyZ~8;E{q}@&>P^RC*k)}+84a^ zWVRbeZ-&nxpOZhr)N$-PhrMtKG7MdKF%m!*{u3!c7asR5ms*4_%tp%4h2KHy(S>=) zTJ#WX3gDOcbim;`F0~(f;g1m?_RVnaDV!HQ41aT~OYOQGzqu}THKNNG9ybvk`vCma zX-3aFo$%T6yB>St$B4LBXSmdOM2~0S%ZT(dov@BoMKdlVf8fJ;F13U6w!*&ord<5+ z97NiSaK==Z8ijk|JY*tz7`7CUhxirFoZ(VeVjqH`@48gGxPecKNcb>kHfe99-om5i z5N3?F39HX`sm$*aANV99@$ZC-LoPZ6!h!dkL%6tUfo~&He>z~rT$8RS{5_)m!cp^# zeE?o)^(ed-SwtL!p81p=x^OD88eO;uX+m#-?TC!`I^ih`O!&fEk!IWoe~oNKZ-=uM zn)8O>%ZT)!?J#_<@hfawguS?jS&NN(VGW}DTX@`3;zoJ{@J2++t{JNH$Sd+hIP!d# z8jCIril7Te7TUDK1It`$589)>R>lAr1#@)pr~3-=qm?-L;cqUb?cheOcBwIl#3uw_Lh5nf0e^X!iBBv101-Fpa+jKph#rQk5orr8 zaBTziP|gK^(@6h+C1nl&iD4!EBFox(nhbOEv_90k)E%k)( zqp;*hF7+OI1H2iLYq4+#(zGU3^DpT4pm)N_P4--{@OsJ!`!M|e4YWh_COGrQxcLEj z4(~;zTv}ktjkb*7y*Cp+Zu~zXpVm{3qQm2mG<0FpZL}S9;oV38y#=0phY7zEy8g%H zryss>Cw{M@eBq3{%(+7FcZlRe2Q0ta<}-X8*@S!HjrWpvbYcJdXxHe%Zy*QIv*5s= za_wMjnFSx-NLdn}R#;l)S*y#a1UWWGo^W-H<2SD1_JMi)*+_MwO13y;tSFCaef zdykS{@~QzofJj|!fyey9=vnXuMCwU9eD^Wx-__(53_otlOZY=X`-MxNFnR;rWA#pW z(UauKTFwRULWU8Ju=XkXb9CXAND#dV{vDCJp`LcBB1H5k9M?)(BpjH%9rx$~c-(Ku zPy9yV&vsCz(nrDNFO!G3iNZDQj0x8fK3w?<^+fUz?nZPyguYiz{QYn>qWe$y95M;N z!kNG0`iL$JBW36f@K=b`v3B_0?3eD8Kf)dsBK{jvHSb5yLKi-cOh6C)*`;1bbXs8Ouf&bA7XJMMu0u`a z=RVSoY$W^!c>9OAA^c`|=0~LWI^4ro5giU}`5WQmMmVC=K$-^ z*U@9kEchKn;v9tEvw9d_YV~G#Tpveukj4P~9ddxY_4D1M*ZMkY!?nZ*-q+9QE%3B- zhY4E3ge{1^#=*Z^omb6O1d;Pb;U~xp!cl%lJ&cT!FyZWhj#@3{2=7KDEv@ivWGQZh zXJxQeJ-To$vJSl!UOSk4xS6tmzh`jqm3Ro!BKxeB)uK* zrzesw@e8M&~8sP9LM$dwOw0Z~J5H$A9FtdPk;WrDeKhx;V z@EhNCRNC#>!}W8lJsdKZbBjH^Wr5L~Vdi2R4%~)hOWwlImhj)b)V=RHYSB`ohv8q( zBcHMFgqNI;&b6ZfwuMRW-S~xHEF*94!EZ6&P>)b&IIka;l~IT9AV1;SYU(8RP4J}} z+QohNg>ThTc7)#n(^neZ4}W+upEkh03EsAfc8cB%hg|CD>s=T&UFN7Agd@BYnS?HU z2`NAqmR|0tFuE{?G@uLbMw-xtuOiLp9dJk^@u!Vs!AGvZjf_2D@m1t6{ZAAgeYMfE z;DlbhvBe? zOg?A9Tegt@HN*|Bc-ZJsxE4vHjR?=)iXU`g2$_H`%z1=5xsv(}zmLc`NB9~N{GU|K z_t58~cfu=vVbUwic+62du@^r7IPDR=9gg~?aU(28O0X9;Aob|NUm)wyTj6Vnb;8Y0+xiC2d&cNtcsmj%pM|Shxi+B-OSh3n z=)yXr8C`fe(t_RqtA0g4#(ASKhAgGs36Fl3c8xAP328zPz*nA=I*tBo>eUOR`7X)@ z{&0uUo8W7RjBh*O7r&)%#EohvUB7cwmV^U8-ATKqZ&AN@)U&S{y&djGB(H>pe;|$2 z2Vo-;MsI=}5NYqtuR1E(IU?;sc**;uoqQASMJAyO|AWjz7ase8vCo2kLUep!=RVR#{DtR! zgc)7<9+F1>bi&b{#DVw-@B7$MThWCr$PRR2=o3fnK^Lw>K4+{VdRiY`1Cc^+N36xod~yaw5aE^I;$pbPIr^mr0xeP(oF zvDKsSaYUX!s{f@ee@>cdgUxX57xY&W4xIW=%7gwb1fxg`ZiK@QP?yk!zd&}Ox5CVS z^B?ZB;PJdQ97Yeo*Ad;1!Tv5c-$vlR9)5=GLKg-cx7vp;JQY#IK{y@pqYImmEQuRj z>^Amc==Hc&Gw1Tdt5V#m{sG*;GrVrSJ|PIx`?%Gp`*8!;`uJ`wdJ`<~>sA}N7DwTt zRJSS-9bSbz7^g(!mSPvw-(rr zNdGL%9O+iuu@`;|*@Z65L-wJEU;`py3P&A>AM6A0UZjFJw7~O6xs?z5Fx-Sl{b_;2 zk0<=)#0@qf`-#8sQ$*&_)M)Y?DUou4t4=WX4e)n}*muC6W|PLvgb9y1iFh*Sp9Oz@ zGG+ZB_VC7Uxm6gw84d{8^TIVbZqG>_u#h!R-Q?@V;_YbGpS?5P58&};zr^RvuANG^f0^uk^0aA zUqGZRgvZS$&o?o*2A3g<@T2f*MBE7fgsj7jaO5271bPr&gvj%b2AF!bse67nG~`w- zxXFSSpF{kAh8x&_o?Dfn`{9*{ly4LK)dJ#*eLFmQp|Ov`c0}s4aKpLe?HckK{%$dO zi~COai&E-0dMkXY3_p*d!<)+8D(!LH!$%OA0~ZD^pzN_1PDVDM2jN^q=F@~N$R@%O zK7_PNm~hL5ZWR?B9$iUT=vi<>75V=Q&IR{gM7f}M!n|tR)?gTs?=TB@AtmU-H<5bu z4tP$DNpBb~ts@TN9-g|AawNQ#J3niS(iiw;;{v!cUMEbm3>#UfoPPx`n!p zeFNOv%z3wxKXA;QHcwy`BJCv#e{S^__;;(TyST31O&!K>2fW}O@?;C{;pg|#kC9$= zpIe=W=<5O;zL9>9^Jc-w{p1^IjKYPR-0D5j7>2nIkjOOT zG1>s`1MrQ_7b10|1J*o6n37)TeTi};&VKmH%k+2R7ykOUZZ(l} zwZl>Erf(0x+Y!l!W_bK7CQRXKQtqvs3l_gde~TW4C%#S} z_zdxf`AG07o^!z`khHc`&1cZF&|Be!Z;)QxM`7PTay>%#!)?1MU-Wjk_f6u2-U+XH zi~4}x@-}U;gS@3(H^YYzNsI7BWIOQ@eunHq7yc93hb~m_P)6v&;}97S2p1yT2~)TN z*@Yg3S0lO)hi@apNSAQ%+xirBxMA||-bp6Tbewb(V5L|{x{s@1H%s>}z zLYAVpz>#}Qm;v}2vgk?56o&Si^a@>nCQqIw-{AXyA>YtD;m_YAZ_!)eb?>{ChkR>- zze6Oi!XLO*9g_6~_bKoZB!Dh_6e&P&h3h_~-J&h@1L^cqxx+K^I;LpzRsGYQt7C2_I zN3BH;v!#MB>m2 zUq>X)!fzE&#|TGQiEKxY!a>tKDvS7M!F7n#=O*}DtGB}sXL(e|Hu4kxWVS~I@Y@Va z=1?boML4i}G2!5*0iIvzQBm?I40nWahu#j~LY~LHaA*_->YA-?UjBe)L9 zL~nxcuJrJHi#WiHi-{-hg|{LV=)#{NSE9GTvsZDh7sxlb;8MbTkvxGvxQ242jy1!j z*L&0isc*0yk$h7(c+|Kbd(C=Q;kxA{Tn$Mu~@lPdu4hf^T!}J>ohq^7y zL29uV&PUdwhhg4N2=lkZb3OI{R?{vT;8lpszX^YWq`j1?`4V~-x^Oo#0bMxeHjgSm z55T(-iGK_1v%%Wy08q{gD$K?(g?EwW^d$N^a)M(Q?@^&o>0Ca_?;HY zhi1eZh&qJEg!|*yp+z6*^AzXCfWk?9U0p5w|vVea>Hjr1H@SaB~ zN8;83|MsXywTeCb)-Q~k0KDZfkMau!Y?LnaLzAj3-=Od7<`KSU3kB> zZ-EbXdQ>O&E%1fUhy!{%{20;w!2fzwF|vucMd3-F6cu`%dI+!Sm!fuJ-vs}Th#Qrb zqE1CN{*LiKT!m~!7arF?MLmx$tVTM~8{m%g6xPFXUYL0_Zpi;EIGyj*Hlc@L@VFG_ z6vW>8*S2kdVKw3c|Od4(?QXnH~CGD=hwm^sg14D3#NCO!XLj*Oj7{|y7A473L1e^Bv zo;h-WruXByeR`kfn&YA*C-nw!95PEQFHJXJO?eI z{lbNZQ$JqVg4*!Ht56XyeAgUTGi%hBXK`MRyYNnj>%s@{UGcO{7#vljBE0Yov<)A_ zOOLKmQ|J?6-|QMS6ECbijxoYpaMIiw6;h`KKXw9jGIuOE`$Vo$`V+qJr5d#kUxg>0 zO1tsG_%!+-FFf>g&VhH}s(JJ?bH|6@`&teAYuW~L=MxXl5v%abzu;UO@o-^|K3PQ{ z!k=7NqY504pjt@3;e`tpQ3fw;Mz`Ya#k2=W9J;V!NsZdf@hrS)X%aI&ylgptrVSoE zZbglnCuQI&w4UR_!&lOWc;TgJ8$J(zgXCwAV>tL%v|$r-0j_D`dS9YWc-k6b;04+M zpGJ%DRrsqbYt%~d@R6$$AHlP)=Dh6js<3Wt(tZcJ#tRo*%eXvG|G*VU_8ZPO;0-k@ zL!Hr0HR?^I=itpX>hnl^7M_K!qHV$-pjNyvK)2(Czd%wxf(_p?pM}l0Fm_yH9`5yR z+KIQJkD9J!OyPuf+D02J_~%IP?O{VFeNO#ZcuRr0@ID;qW)9**_*f79T;;rQak)l~ z;`8vXUiyM_g>d_W)c+#m{t)qiHvES2aNEPg^A?VWHR_8$rcE4o;X#iQW1Hz8cp;KJ zVIEf3Q-X!__R&8_$bd<>6%CHZU?t~B0*-AH~$SGW-=$_uxlDR?znqrQY>-nsA& z;{*6JB>fh_HCwqB%6ss0zvCKSC7$8x*XYwXI1UeZo%&Rl<-*aBdSK%@5 zG2UBg8~n=dDHZYA9QLJUrs#DK$nt4vei7*F@jK zL#L!v3ve_cIvd?NL@-@&$+7b>O)d$59tSJ&!A4q3oowcvs_mmI)^273g0~{ zrIyehbu{flBh;ggNvZJIq>OOxXOhom;fbG1sT}8Z;TsLqFKvUP$5Rj25<@?Weox!J zkWx1y+57o$(@81)GjB0GxG|+RP{x59=cUxEQht6)H6VHJ5Wa^Tjtd_-Bc)El$8hd~ zl)C3#`WAj4`S{9T@VN_8Y5`@0=P#mv@s*2H>d{M6yz3%<;OR>f@4{=0ufQ{wb1mDs zE;#Y>6hEUzd*CTZ$3OIt^r7%YB+od)Nh>%n<%QExGd>F+M>=lddr0b0D^uz$B*$~G zz9pq*zDGa6Gm(xx_;*O&6$<|ey-FG3E2~p#0`&{GqdL6spf%Km7aoaD!aH!mt5Pb1cj2bBTn|2mZP%pqoC=`z4cdPx*A7Rnqy8Pl72N$s`kZmJ;8{qw9|pH1 zZ5Dp|yD2q~@(%nSl0L7(y>G*F+=iDUh47tS?acv3s#!f_Y=Ll<+3`c*eE){|0;IG%;~6*e4^!%I(V_`_KRvwoUd8~Qhc}>g zT$k|tAEneVUf7JPc;Rvs!d zP%G^eUW0DOd$1Qt`3l^Or2R4Mx<47;3cMG|JQ6;MR?-i`2@jm zv+#W+Yl~W!QYoZ=<_Atg+i8Pv0h&U83YVdJyzqL|fcN329!##$hKtcK<0!lfRq?`C z&^CMw&wB{ZwdCPYD0{9lv{qqR1iNrhb0^{@W)ko=PsRyoFPh1fL!YybWUU=9~ zh!4C2uR~Ig4-a@O>2u)%RFUg~kD~SX2wwKnq@O()Bl)aw`Ec@C58nAW>l85)!o&WN zbz9B_*ZiDz<30GZClc>InNr_GGIl=P`V?bB|HttA&(lAY58%mF#+c(Sym1r#%r*M3 z<7KXev8cfLn^_+ylZQ30ux|ei>j}JTlzOB+F!Ne+E( zyvJDLvoODdcw0t1z%}o4f0Q!t;E$zsUe|&9Pe>~#RjX`xek#p&r&i@)E}c%+H~6&hYQytIadH5LGp|c z!MDwEH7TvGKyuuJ&lw-X4SS~5t+YRer(4OnT;V5-htC-w!@f_Z)e^3~0{7o9t&X*7 zH5cI<@xpiZ=UjL-HLcz}Ag$`ePouBU^&hX*-0f3obrW9bpaNcarSZaR(K?R%aK}Mu zm63W5POHzNc^nrGPp9AU!Y2<+tCjc&zKMR07jBx7RwH=fb~J`p^=Wm;VQF>Mo}3rn zI5Vw^lQ|dsha(slj)$#!ZpXHRXxXr*PuE0>SxmGw9oSSJ(z=V{|3f)BJl=yh|kde&!^QgB(V{} z-DW4=f?qJ+g?+|X;NwWvdEvpwF&5M>yb!hFJ@^BpV+np@PU3C&ZQ}#jjbwcm{s^_u z9^q@~CcJPv3h=_y=B8Bz?+TIJgCh8yr+#6~2q4jPUFe)BHQ+TFt-1JNN)z{srbIpY`CYNajln z7kx4Dc{pf%1-@mxIw`I0KR2yzr=Af0^!&7%K+HsNpRaS?Nwu0Q@IS{3Z$eeP4}W-B znnxTy3lF{~t?sEMCZUVu-xUhG&_>2ccrV(958<)jD;SkStQ^+7y55y_ak@Yi>9&HKn+D9!uvWbA~8+>=(#92XvruEIO;%ShtT zh36xQH{s3V_hqiZM^PRxd>&no7rupV#XI+=)hZNGr*PU3eU2Aigtp^_HTThO$_w{H zHr|HMA_rfE-?%@CTOYoRq-`;bA4vK^IJ7SDAw1|o)&V{%^wBoF@Ikc4pVeyaz}tBB zP+Fag^!38653?RpUO4L!ViGT$k2c_4xb;!a&1dcP^cB+m4DT{Ng7%ZNU&_E`zrfdV z?}J;Bo@;P+L>#aO7Ut2dQU>0Hig+KkJ;fS}58zjSne;;r-ioB22(H<{^;5=!Q=d-C zxbW|hlnLN{D58w;xM%2x18Ox-#ZSk(@Qc4@jHcpY_$;v@`+4X*$DI5mV+wD6A*~kR zeRv;|eV1_W7m4ltYc+@Q+wj8Y(H_((tgX^Myl@I?z}xUlIZmCz`;mhe{^+H&Itd@b z#ha3A$-}#h58*G7tQEp3FB1d%)oPxL&*FvOGhXsqv;Z$W zXDj`W7oLYayzoNgR*V<^3Q3tN-2I)zTW~9q`$Y`xG1G5wqw!Uk+s?IcF5&JwST~6` z3+{_#Z4n-US~)IUgaW*9ExHFUycMm-2k_zdsTaQy&i+?oFF#2&!9FBE*DCxKlGxY) zKgoBpEx=EOb3c|*nQ4qQtlcf6rsDU2^%F8`19b{7L~^~0U`tI#9ZMNu5lNlG*_n)b zmGX1ocaZ%2=dJMei5a~=6s|*3zHU-Rxk&1~2@V?{!Pk(KiQ(zBc=jjr;6I{yoVN7D( zIM2$c0-qJ;k(^g}oAI~9XN(_#Zyx>WJlSs-~ zc19hK#OL4*#)t5Ahnm-1n@EABlx!Q?m-!KEs`=7_^k1{gQ*kg&%(!ykKp9# zN!x6AzVRM>0O@OiuOs=aeP~84L~IfudJa~`s*;yI249RgH z4k5Y5D%|skM&$31ul(rti`8y~@UjL&_RenV2m`5f_y#D{Q;@%e^~ zdIF8!#3*_ z4~yz3B=uxrGm?7p@LqE~gu9=Zl(FDB##dk!N%_hb=uaf)is9rhnrnpfjdx+*_z*rn ze*7fj3dv_Z_!yG*L~!pfCEkV$jSt}#B<1asGwKW^-i51;_fE;EhmnpYxC2R@sxhNZ zM&e!g9peM|yz&02!~l{yBN!WBJ&k#KdU8C52hKC+g{zIP!h`20^*gW$NgM1l=m#Wq z=HR!D58+nhV|d_~lQItcy775hSL_9^6*sSUAWeG z50;FN;pDF*;D72QW0=`WkIUQr>~{jd$TH<8zBM>SiQmeAsV%1Ya}W zx+tR@r0aq6jnBcWjrZUk#s~00<3sqo@m09PcYz81KUCjQ8O~#)oi=@%9qd0VJPw;Zoy6xW)JwesZa)AD(Kw3s)QO!MlwQ;p@i7 zux^=|`*0zWHOGTLHpe44d3kbNc`wjgR30S0u-6c(U;>Tw}ZkyN$2FXN|AIiK~*&T5z`US$L809xNMQ zfzKEp!~OosoEM&9ybtd)K7_9uAH!)araU~`_#FI}@iE+YwJ8HnHr|CEl2{7hljitF z_E(@cOZEOA$$ON>~%x zc^h~&IuGx`30_j(g0~tU!3EbQ$8&JA@!R3K-$>4-cK!D!+5`L^Fs=-FAHG0-{}%_G zKXQB`Ka$(X-{q>c>S`(Uk^knL(6V%i&9|+~mvPRWanupc44W_2SiXoas+>FHD+^AZ z)iA?ev63%^yI=|56F+yx>cuN&oN)Z)NpmhpzBF#NO$EzV%$;$?<;!NTSlGOH=>;oh zExm+q1z55CqLs52E?+wPf)z`TSasA4o3EC;tn1l4^_~eSk3$Ne{#8;a?bL4XQUJ$Xi`K7i}P%4%xrJ+(-8ZJepky5oZ zT8c|!B~{Lp zu92>4*JxMVHP)rNGu>8qLwB~jvD@u#>dtjHcjvoXy1nk!Zoj*&JLoQU|Dnf5KG0_$ z?5n1poaryGr?toLY3m7kianK{A=7^&J=LDk5A~v5tS>snhGMqZVEU-3R9|+=4draP zvFw(c%DHlLIbUumd*#-$Uv4W0 z=kzu7HTC8CyuQ}HVqc{%>Ko}B>r?%9e|>*rzuTYhZ|QIA5BkIY;r`M7xZfJ68)z8F z4&(-!2U-XGfy%(pz{o&#Kn-RF>j#}dcd%)&WzZW828)BkgVCTKqnN!5abySeL1W+s z`Jg3e3xdGzsPAw(8alEajU8@BuCuu_-`UdXb+&f;oo$^#XR))=In)_;4x6zY?TkCe zI>*N+VoYR2WIXD+?QVxLkr9#ckkOE_kdX+9Tp0z4TZvkmnEi14jeH~m>q>U1zT}kt z(9gM2b17eH*%_6pPx`K|&+e<&J(%rl>~rZynMD)jSNSU$O_>LZ8DKMRS>`}a$G=2> zg~*qgF?66vaJm2E~j%LwNfU5}9s7}c;Gm8<2rta`0p zyO$GM6BWOXP33~-pf&IV)o!)h?M{2P-EGgc=i9w@zddNLw1@3cd$m1oR~=S|P48!= z=R5KpUWeZibW}RRj;Q0`&!s%0;xi%@Mk8WY#hr?IWizL;%%>c4$zvV`g-RhTM1^W0 zE~qZ6%kFaY%*rvZJmyrudm=L)E3gA6$TF{T%q)+w4}wY%22oHA;{T#JaQ_eb zh&DSD)%Ak^%jo>WYHWAc>-qoDHTi=p@rUjniXVhfOPDWF`v~)4lo>I`oX9XM>X;Yx z%!gKHL>qIW$gIeG=q~cVf0vMT>5sSUqj!rxtT1xdlRKWYH|9=fmFx5>FDtyP?mjEK ztm;vDg!w;KwtDM&o!$oGw23%v(JOp~H9qPcAx_77Wu0$5 zRud~$3oBL|E7lMz)`%V-85_A@xE)QbSS@;dDjh?tSR>s1$2zReI_~}r-2I#Moy6xZ zQsE8~u@jIxhs937VHe=C1ITmt_X};TSVOE>Bdl0s1*@x$6{|t-1!RnUb^#T301-)ec^Gogobp!SKUeL%Kle<7K(cIg$0>YA6>aWx<1M-PUcx1yQz9TiyA-lR3S5Im>tzv@lSph z@uaw{f!uqzITgUYTr*cAuFK{!#3vG=q7llIx}uIH`) z7Ej)M$$;Wlxau5WvdfoTP*G=t#`pP>5z6S?;P_78WvAb)Glb)N{R(^iVVx%&-|bsE zC*q7}YT55g#;{fA499o;5j*}-orNFY^E>SM8+9&zeAh2I#G=k34(mLkWOP+QvMaXE z&}VgiKBu$up3coDPYGdRSmzZ-b!IW6bBpylyV%IndQNBVJ)O4?bk;u9Is59){IF&6 zFv(MfWQZl>*vb=puro&-nM}RX?>21xW+SWLYvgpM-qU&dKxgSgo!hPI41MyJBY7&x z>USOg{!K^tf%hCrzvW0W%*nfsB=?iN@d$Q4$wuZ~hvH3#MGjbU{aKyq&+UAg^-YdH z-1$5k^E{i;IpOgqTFK2x=HJ`-Oj{v~Ijr-T<4?7g$z&&aYo)>EInAQZY7XnX z=BUnWjz8NvJlo1Ug51uhTb~?fQD-^FpKoKHZ!S9>->PFM zBtuf=jgumJY_cQSfkquS9+{DVyhu1OOrCs{Jb6aPN|uaBZm?NLNkBFvAEwSid}0uYk2H zBrj6st*m0zvi~2)f#jj2?`&Ug`fO8Vi{X`2U4$d%Q@aH`a82*q0VoO=n;-} zj!W)+b?qN)iK}y6%{trVG3x(O%VORTF3-D&kT|nAuSZ;saAt@2i8ymT_rMmSWtc2=9TAeJ4Z~!lZQ9VrN-)|} aN5;984A}_t-Jvb5v}U9vUH3ox@819^JVEpT literal 0 HcmV?d00001 diff --git a/tools/pythonlib/Tales_Exe.py b/tools/pythonlib/Tales_Exe.py new file mode 100644 index 0000000..2bd1333 --- /dev/null +++ b/tools/pythonlib/Tales_Exe.py @@ -0,0 +1,261 @@ +import argparse +from pathlib import Path + +from ToolsTOH import ToolsTOH + +SCRIPT_VERSION = "0.0.3" + + +def get_arguments(argv=None): + # Init argument parser + parser = argparse.ArgumentParser() + + parser.add_argument( + "-g", + "--game", + choices=["TOR", "NDX", "TOH"], + required=True, + metavar="game", + help="Options: TOR, NDX, TOH", + ) + + parser.add_argument( + "-p", + "--project", + required=True, + type=Path, + metavar="project", + help="project.json file path", + ) + + sp = parser.add_subparsers(title="Available actions", required=False, dest="action") + + # Extract commands + sp_extract = sp.add_parser( + "extract", + description="Extract the content of the files", + help="Extract the content of the files", + formatter_class=argparse.RawTextHelpFormatter, + ) + + sp_extract.add_argument( + "-ft", + "--file_type", + choices=["Iso", "Main", "Menu", "Story", "Skits"], + required=True, + metavar="file_type", + help="(Required) - Options: Iso, Init, Main, Menu, Story, Skits", + ) + + sp_extract.add_argument( + "-i", + "--iso", + required=False, + default="../b-topndxj.iso", + metavar="iso", + help="(Optional) - Only for extract Iso command", + ) + + sp_extract.add_argument( + "-r", + "--replace", + required=False, + metavar="replace", + default=False, + help="(Optional) - Boolean to uses translations from the Repo to overwrite the one in the Data folder", + ) + + sp_extract.add_argument( + "--only-changed", + required=False, + action="store_true", + help="(Optional) - Insert only changed files not yet commited", + ) + + sp_insert = sp.add_parser( + "insert", + help="Take the new texts and recreate the files", + ) + + sp_insert.add_argument( + "-ft", + "--file_type", + choices=["Iso", "Main", "Menu", "Story", "Skits", "All", "Asm"], + required=True, + metavar="file_type", + help="(Required) - Options: Iso, Init, Main, Elf, Story, Skits, All, Asm", + ) + + sp_insert.add_argument( + "-i", + "--iso", + required=False, + default="", + metavar="iso", + help="(Deprecated) - No longer in use for insertion", + ) + + sp_insert.add_argument( + "-des", + "--des", + required=False, + default="", + metavar="des", + help="(Optional) - Specify Desmume location to use together with the saved file", + ) + + sp_insert.add_argument( + "-save", + "--save", + required=False, + default="", + metavar="save", + help="(Optional) - Specify the saved file to put in desmume folder", + ) + + sp_insert.add_argument( + "--with-proofreading", + required=False, + action="store_const", + const="Proofreading", + default="", + help="(Optional) - Insert lines in 'Proofreading' status", + ) + + sp_insert.add_argument( + "--with-editing", + required=False, + action="store_const", + const="Editing", + default="", + help="(Optional) - Insert lines in 'Editing' status", + ) + + sp_insert.add_argument( + "--with-problematic", + required=False, + action="store_const", + const="Problematic", + default="", + help="(Optional) - Insert lines in 'Problematic' status", + ) + + sp_insert.add_argument( + "--only-changed", + required=False, + action="store_true", + help="(Optional) - Insert only changed files not yet commited", + ) + + args = parser.parse_args() + + return args + + +def getTalesInstance(args, game_name): + + if args.action == "insert": + insert_mask = [ + args.with_proofreading, + args.with_editing, + args.with_problematic, + ] + else: + insert_mask = [] + + talesInstance = ToolsTOH( + args.project.resolve(), insert_mask, args.only_changed + ) + + return talesInstance + + +if __name__ == "__main__": + + args = get_arguments() + game_name = args.game + tales_instance = getTalesInstance(args, game_name) + + if args.action == "insert": + + if game_name == "TOH": + + if args.file_type == "Menu": + #tales_instance.decompress_arm9() + tales_instance.pack_all_menu() + tales_instance.make_iso(Path(args.iso)) + + if args.file_type == "Iso": + tales_instance.compress_arm9() + tales_instance.make_iso(Path(args.iso)) + + elif args.file_type == "Skits": + tales_instance.pack_all_skits() + + elif args.file_type == "Story": + tales_instance.pack_all_story() + + elif args.file_type == "All": + tales_instance.pack_all_skits() + tales_instance.pack_all_story() + tales_instance.pack_all_menu() + tales_instance.save_iso(Path(args.iso)) + tales_instance.update_save_file(Path(args.des), args.save) + + elif args.file_type == "Main": + tales_instance.pack_main_archive() + + elif args.file_type == "Story": + tales_instance.pack_all_story() + + elif args.file_type == "Skits": + tales_instance.pack_all_skits() + + elif args.file_type == "Menu": + tales_instance.pack_all_menu() + + elif args.file_type == "Asm": + tales_instance.patch_binaries() + + elif args.file_type == "All": + tales_instance.pack_all_story() + tales_instance.pack_all_skits() + tales_instance.pack_all_menu() + tales_instance.patch_binaries() + tales_instance.make_iso() + + + if args.action == "extract": + + if game_name == "TOH": + + if args.file_type == "Menu": + #tales_instance.unpack_menu_files() + tales_instance.extract_all_menu(keep_translations=True) + + if args.file_type == "Iso": + tales_instance.extract_Iso(Path(args.iso)) + tales_instance.decompress_arm9() + tales_instance.decompress_overlays() + + if args.file_type == "Skits": + tales_instance.extract_all_skits(args.replace) + + elif args.file_type == "Story": + tales_instance.extract_all_story(args.replace) + else: + if args.file_type == "Iso": + tales_instance.extract_Iso(Path(args.iso)) + tales_instance.extract_main_archive() + + if args.file_type == "Main": + tales_instance.extract_main_archive() + + if args.file_type == "Menu": + tales_instance.extract_all_menu() + + if args.file_type == "Story": + tales_instance.extract_all_story() + + if args.file_type == "Skits": + tales_instance.extract_all_skits(args.replace) diff --git a/tools/pythonlib/ToolsTOH.py b/tools/pythonlib/ToolsTOH.py new file mode 100644 index 0000000..982a90c --- /dev/null +++ b/tools/pythonlib/ToolsTOH.py @@ -0,0 +1,876 @@ +import os +import shutil +from os import stat_result + +import pandas as pd + +from pathlib import Path +import pyjson5 as json +import subprocess +import datetime +import lxml.etree as etree +from tools.pythonlib.formats.FileIO import FileIO +from tools.pythonlib.formats.fps4 import Fps4 +from tools.pythonlib.formats.tss import Tss +from tools.pythonlib.utils.dsv2sav import sav_to_dsv +from tools.pythonlib.formats.text_toh import text_to_bytes, bytes_to_text +import re +from itertools import chain +import io +from tqdm import tqdm +import struct +from ndspy import rom, codeCompression +from ndspy.code import loadOverlayTable, saveOverlayTable + + +class ToolsTOH(): + + + def __init__(self, project_file: Path, insert_mask: list[str], changed_only: bool = False) -> None: + os.environ["PATH"] += os.pathsep + os.path.join( os.getcwd(), 'pythonlib', 'utils') + base_path = project_file.parent + + if os.path.exists('programs_infos.json'): + json_data = json.load(open('programs_infos.json')) + self.desmume_path = Path(json_data['desmume_path']) + self.save_size = json_data['save_size'] + + + self.folder_name = 'TOH' + self.jsonTblTags = {} + self.ijsonTblTags = {} + with open(project_file, encoding="utf-8") as f: + json_raw = json.load(f) + + self.paths: dict[str, Path] = {k: base_path / v for k, v in json_raw["paths"].items()} + self.main_exe_name = json_raw["main_exe_name"] + self.asm_file = json_raw["asm_file"] + + # super().__init__("TOR", str(self.paths["encoding_table"]), "Tales-Of-Rebirth") + + with open(self.paths["encoding_table"], encoding="utf-8") as f: + json_raw = json.load(f) + + for k, v in json_raw.items(): + self.jsonTblTags[k] = {int(k2, 16): v2 for k2, v2 in v.items()} + + + for k, v in self.jsonTblTags.items(): + if k in ['TAGS', 'TBL']: + self.ijsonTblTags[k] = {v2:k2 for k2, v2 in v.items()} + else: + self.ijsonTblTags[k] = {v2: hex(k2).replace('0x', '').upper() for k2, v2 in v.items()} + self.iTags = {v2.upper(): k2 for k2, v2 in self.jsonTblTags['TAGS'].items()} + self.id = 1 + + # byteCode + self.story_byte_code = b"\xF8" + self.story_struct_byte_code = [b'\x0E\x10\x00\x0C\x04', b'\x00\x10\x00\x0C\x04'] + self.VALID_VOICEID = [r'(VSM_\w+)', r'(VCT_\w+)', r'(S\d+)', r'(C\d+)'] + self.list_status_insertion: list[str] = ['Done'] + self.list_status_insertion.extend(insert_mask) + self.COMMON_TAG = r"(<[\w/]+:?\w+>)" + self.changed_only = changed_only + self.repo_path = str(base_path) + self.file_dict = { + "skit": "data/fc/fcscr", + "story": "data/m" + } + + def extract_Iso(self, game_iso: Path) -> None: + + #Extract all the files + print("Extracting the Iso's files...") + extract_to = self.paths["original_files"] + #self.clean_folder(extract_to) + + path = self.folder_name / extract_to + args = ['ndstool', '-x', os.path.basename(game_iso), + '-9', path/'arm9.bin', + '-7', path/'arm7.bin', + '-y9', path/'y9.bin', + '-y7', path/'y7.bin', + '-d', path/'data', + '-y', path/'overlay', + '-t', path/'banner.bin', + '-h', path/'header.bin'] + + wrk_dir = os.path.normpath(os.getcwd() + os.sep + os.pardir) + subprocess.run(args, cwd=wrk_dir, stdout = subprocess.DEVNULL) + + #Update crappy arm9.bin to tinke's version + with open(self.folder_name / extract_to / 'arm9.bin', "rb+") as f: + data = f.read() + f.seek(len(data) - 12) + f.truncate() + + #Copy to patched folder + #shutil.copytree(os.path.join('..', self.folder_name, self.paths["original_files"]), os.path.join('..', self.folder_name, self.paths["final_files"]), dirs_exist_ok=True) + + def make_iso(self, game_iso) -> None: + #Clean old builds and create new one + self.clean_builds(self.paths["game_builds"]) + + # Set up new iso name and copy original iso in the folder + + n: datetime.datetime = datetime.datetime.now() + new_iso = f"TalesofHearts_{n.year:02d}{n.month:02d}{n.day:02d}{n.hour:02d}{n.minute:02d}.nds" + print(f'Making Iso {new_iso}...') + self.new_iso = new_iso + shutil.copy(game_iso, self.paths['game_builds'] / new_iso) + + path = self.folder_name / self.paths["final_files"] + + args = ['ndstool', '-c', new_iso, + '-9', path / 'arm9.bin', + '-7', path / 'arm7.bin', + '-y9', path / 'y9.bin', + '-y7', path / 'y7.bin', + '-d', path / 'data', + '-y', path / 'overlay', + '-t', path / 'banner.bin', + '-h', path / 'header.bin'] + + subprocess.run(args, cwd=self.paths["game_builds"], stdout = subprocess.DEVNULL) + + def update_arm9_size(self, game_iso:Path): + + with FileIO(game_iso, 'rb') as f: + f.seek(0x28) + load = f.read_uint32() + f.seek(0x70) + auto = f.read_uint32() - load + + compressed_arm9_path = self.paths['final_files'] / 'arm9.bin' + decompressed_arm9_path = self.paths['temp_files'] / 'arm9/arm9.bin' + arm9_comp_size = os.path.getsize(compressed_arm9_path) + arm9_decomp_size = os.path.getsize(decompressed_arm9_path) + with FileIO(compressed_arm9_path, 'r+b') as f: + f.seek(auto - 4) + offset = f.read_uint32() - load + + #1st value to update + f.seek(offset) + val1 = load + arm9_decomp_size - 0x18 + f.write_uint32(val1) + + #2nd value to update + f.seek(offset + 1*4) + val2 = load + arm9_decomp_size + f.write_uint32(val2) + + #3rd value to update + f.seek(offset + 5*4) + val3 = load + arm9_comp_size + f.write_uint32(val3) + + f.seek(0) + return f.read() + + def update_overlays(self, romnds: rom, overlays_id: list): + table = loadOverlayTable(romnds.arm9OverlayTable, lambda x, y: bytes()) + + for id in overlays_id: + ov3 = table[id] + ov3.compressed = True + + self.compress_overlays() + with open(self.paths['final_files'] / f'overlay/overlay_000{id}.bin', 'rb') as f: + data_compressed = f.read() + + ov3.compressedSize = len(data_compressed) + romnds.files[ov3.fileID] = data_compressed + + romnds.arm9OverlayTable = saveOverlayTable(table) + + + + def save_iso(self, game_iso:Path): + + self.clean_builds(self.paths["game_builds"]) + n: datetime.datetime = datetime.datetime.now() + new_iso = f"TalesofHearts_{n.year:02d}{n.month:02d}{n.day:02d}{n.hour:02d}{n.minute:02d}.nds" + print(f'Replacing files in new build: {new_iso}...') + self.new_iso = new_iso + + romnds = rom.NintendoDSRom.fromFile(game_iso) + path = Path(self.paths['final_files']) + for file in path.rglob("*"): + + if file.is_file() and 'patched_temp' not in str(file) and 'overlay' not in str(file) and file.stem != ".gitignore": + + with open(file, "rb") as f: + data = f.read() + if file.stem == "arm9": + self.compress_arm9() + data = self.update_arm9_size(game_iso) + romnds.arm9 = data + + else: + + i = file.parts.index('3_patched') + rem = file.parts[(i+1):] + path_file = '/'.join(rem) + path_file = path_file.replace('data/', '') + romnds.setFileByName(path_file, data) + + self.update_overlays(romnds, [0,3]) + romnds.saveToFile(self.paths['game_builds'] / self.new_iso) + + + def decompress_arm9(self): + + #Copy the original file in a ARM9 folder + new_arm9 = self.paths['extracted_files'] / 'arm9' / 'arm9.bin' + new_arm9.parent.mkdir(parents=True, exist_ok=True) + shutil.copy(self.paths['original_files'] / 'arm9.bin', new_arm9) + + #Decompress the file using blz + print('Decompressing Arm9...') + args = ['blz', '-d', new_arm9] + subprocess.run(args, cwd=self.paths['tools'] / 'pythonlib' / 'utils', stdout = subprocess.DEVNULL) + + def compress_arm9(self): + + shutil.copy(self.paths['temp_files'] / 'arm9' / 'arm9.bin', self.paths['final_files'] / 'arm9.bin') + + #Copy the original file in a ARM9 folder + + #Compress the file using blz + print('Compressing Arm9 and Overlays...') + args = ['blz', '-en9', self.paths['final_files'] / 'arm9.bin'] + subprocess.run(args, cwd=self.paths['tools'] / 'pythonlib' / 'utils', stdout = subprocess.DEVNULL) + + # Update crappy arm9.bin to tinke's version + #with open(self.paths['final_files'] / 'arm9.bin', "rb+") as f: + # data = f.read() + # f.seek(len(data) - 12) + #f.truncate() + + + def clean_folder(self, path: Path) -> None: + target_files = list(path.iterdir()) + if len(target_files) != 0: + print("Cleaning folder...") + for file in target_files: + if file.is_dir(): + shutil.rmtree(file) + elif file.name.lower() != ".gitignore": + file.unlink(missing_ok=False) + + def decompress_overlays(self): + # Copy the original file in a ARM9 folder + new_overlay = self.paths['extracted_files'] / 'overlay' + new_overlay.mkdir(parents=True, exist_ok=True) + shutil.copytree(src=self.paths['original_files'] / 'overlay', dst=new_overlay, dirs_exist_ok=True) + + # Decompress the file using blz + print('Decompressing Overlays...') + args = ['blz', '-d', new_overlay / 'overlay*'] + subprocess.run(args, cwd= self.paths['tools'] / 'pythonlib' / 'utils', stdout = subprocess.DEVNULL) + + def compress_overlays(self): + + overlay_folder = self.paths['final_files'] / 'overlay' + overlay_folder.mkdir(parents=True, exist_ok=True) + shutil.copy(self.paths['temp_files'] / 'overlay' / 'overlay_0003.bin', overlay_folder / 'overlay_0003.bin') + args = ['blz', '-en', overlay_folder / 'overlay_0003.bin'] + subprocess.run(args, cwd=self.paths['tools'] / 'pythonlib' / 'utils', stdout=subprocess.DEVNULL) + + def adjusted_y9(self, overlay_name): + + compressed_size = os.path.getsize(self.paths['final_files'] / 'overlay' / overlay_name) + + with FileIO(self.paths['final_files'] / 'y9.bin', 'rb') as f: + data = f.read() + data[0x1C:0x1E] = compressed_size.to_bytes(3, 'little') + return data + + + def clean_builds(self, path: Path) -> None: + target_files = sorted(list(path.glob("*.nds")), key=lambda x: x.name)[:-4] + if len(target_files) != 0: + print("Cleaning builds folder...") + for file in target_files: + print(f"Deleting {str(file.name)}...") + file.unlink() + + def update_save_file(self, desmume_path:Path, saved_file_name:str): + + if saved_file_name != '': + destination = desmume_path / 'Battery' / saved_file_name + shutil.copy(self.paths['saved_files'] / saved_file_name, destination) + + if saved_file_name.endswith('.sav'): + self.convert_sav_to_dsv(desmume_path, saved_file_name) + + else: + new_saved_name = f"{self.new_iso.split('.')[0]}.dsv" + os.rename(destination, destination.parent / new_saved_name) + + def convert_sav_to_dsv(self, desmume_path:Path, saved_file_name:str): + trimSize = 122 + footer = [124, 60, 45, 45, 83, 110, 105, 112, 32, 97, 98, 111, 118, 101, 32, 104, + 101, 114, 101, 32, 116, 111, 32, 99, 114, 101, 97, 116, 101, 32, 97, 32, + 114, 97, 119, 32, 115, 97, 118, 32, 98, 121, 32, 101, 120, 99, 108, 117, + 100, 105, 110, 103, 32, 116, 104, 105, 115, 32, 68, 101, 83, 109, 117, 77, + 69, 32, 115, 97, 118, 101, 100, 97, 116, 97, 32, 102, 111, 111, 116, 101, + 114, 58, 0, 0, 1 ,0 , 0, 0, 1, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 124, 45, 68, 69, 83, 77, 85, 77, 69, 32, 83, 65, 86, 69, 45, 124] + + sav_file = desmume_path / 'Battery' / saved_file_name + destination = desmume_path / 'Battery' / f"{self.new_iso.split('.')[0]}.dsv" + print(destination) + binary = bytearray(footer) + with open(sav_file, 'rb') as inFile: + with open(destination, 'wb') as outFile: + contents = inFile.read() + outFile.write(contents) + outFile.write(binary) + os.remove(sav_file) + + def get_style_pointers(self, file: FileIO, ptr_range: tuple[int, int], base_offset: int, style: str) -> tuple[ + list[int], list[int]]: + + file.seek(ptr_range[0]) + pointers_offset: list[int] = [] + pointers_value: list[int] = [] + split: list[str] = [ele for ele in re.split(r'([PT])|(\d+)', style) if ele] + + while file.tell() < ptr_range[1]: + for step in split: + if step == "P": + off = file.read_uint32() + if base_offset != 0 and off == 0: continue + + if file.tell() - 4 < ptr_range[1]: + pointers_offset.append(file.tell() - 4) + pointers_value.append(off - base_offset) + elif step == "T": + off = file.tell() + pointers_offset.append(off) + pointers_value.append(off) + else: + file.read(int(step)) + + return pointers_offset, pointers_value + + def create_Node_XML(self, root, list_informations, section, entry_type:str, max_len = 0, ) -> None: + strings_node = etree.SubElement(root, 'Strings') + etree.SubElement(strings_node, 'Section').text = section + + for text, pointer_offset, emb in list_informations: + self.create_entry(strings_node, pointer_offset, text, entry_type, -1, "") + #self.create_entry(strings_node, pointers_offset, text, emb, max_len) + def extract_all_menu(self, keep_translations=False) -> None: + #xml_path = self.paths["menu_xml"] + xml_path = self.paths["menu_original"] + xml_path.mkdir(exist_ok=True) + + # Read json descriptor file + with open(self.paths["menu_table"], encoding="utf-8") as f: + menu_json = json.load(f) + + for entry in tqdm(menu_json, desc='Extracting Menu Files'): + + if entry["friendly_name"] == "Arm9" or entry["friendly_name"].startswith("Overlay"): + file_path = self.paths["extracted_files"] / entry["file_path"] + else: + file_path = self.paths["original_files"] / entry["file_path"] + + with FileIO(file_path, "rb") as f: + xml_data = self.extract_menu_file(entry, f, keep_translations) + + with open(xml_path / (entry["friendly_name"] + ".xml"), "wb") as xmlFile: + xmlFile.write(xml_data) + + self.id = 1 + def extract_menu_file(self, file_def, f: FileIO, keep_translations=False) -> bytes: + + base_offset = file_def["base_offset"] + xml_root = etree.Element("MenuText") + + for section in file_def['sections']: + max_len = 0 + pointers_offset = [] + pointers_value = [] + if "pointers_start" in section.keys(): + pointers_start = int(section["pointers_start"]) + pointers_end = int(section["pointers_end"]) + + # Extract Pointers list out of the file + pointers_offset, pointers_value = self.get_style_pointers(f, (pointers_start, pointers_end), base_offset, + section['style']) + if 'pointers_alone' in section.keys(): + for ele in section['pointers_alone']: + f.seek(ele, 0) + pointers_offset.append(f.tell()) + off = f.read_uint32() - base_offset + pointers_value.append(off) + + #print([hex(pointer_off) for pointer_off in pointers_offset]) + # Make a list, we also merge the emb pointers with the + # other kind in the case they point to the same text + temp = dict() + for off, val in zip(pointers_offset, pointers_value): + text, buff = bytes_to_text(f, val) + temp.setdefault(text, dict()).setdefault("ptr", []).append(off) + + # Remove duplicates + list_informations = [(k, str(v['ptr'])[1:-1], v.setdefault('emb', None)) for k, v in temp.items()] + + # Build the XML Structure with the information + if 'style' in section.keys() and section['style'][0] == "T": max_len = int(section['style'][1:]) + self.create_Node_XML(xml_root, list_informations, section['section'], "String", max_len) + + if keep_translations: + self.copy_translations_menu(root_original=xml_root, translated_path=self.paths['menu_xml'] / f"{file_def['friendly_name']}.xml") + + # Write to XML file + return etree.tostring(xml_root, encoding="UTF-8", pretty_print=True) + + def parse_entry(self, xml_node): + + jap_text = xml_node.find('JapaneseText').text + eng_text = xml_node.find('EnglishText').text + status = xml_node.find('Status').text + notes = xml_node.find('Notes').text + + final_text = eng_text or jap_text or '' + return jap_text, eng_text, final_text, status, notes + + def copy_translations_menu(self, root_original, translated_path: Path): + + if translated_path.exists(): + + original_entries = {entry_node.find('JapaneseText').text: (section.find('Section').text,) + + self.parse_entry(entry_node) for section in + root_original.findall('Strings') for entry_node in section.findall('Entry')} + + tree = etree.parse(translated_path) + root_translated = tree.getroot() + translated_entries = {entry_node.find('JapaneseText').text: (section.find('Section').text,) + + self.parse_entry(entry_node) for section in + root_translated.findall('Strings') for entry_node in section.findall('Entry')} + + + for entry_node in root_original.iter('Entry'): + + jap_text = entry_node.find('JapaneseText').text + + if jap_text in translated_entries: + + translated = translated_entries[jap_text] + + if translated_entries[jap_text][2] is not None: + entry_node.find('EnglishText').text = translated_entries[jap_text][2] + entry_node.find('Status').text = translated_entries[jap_text][4] + entry_node.find('Notes').text = translated_entries[jap_text][5] + + else: + t = 2 + #print(f'String: {jap_text} was not found in translated XML') + + #[print(f'{entry} was not found in original') for entry, value in translated_entries.items() if entry not in original_entries and entry is not None] + + def unpack_menu_files(self): + base_path = self.paths['extracted_files'] / 'data/menu'/ 'monsterbook' + fps4 = Fps4(detail_path=self.paths['original_files'] / 'data/menu' / 'monsterbook' / 'EnemyIcon.dat', + header_path=self.paths['original_files'] / 'data/menu' / 'monsterbook' / 'EnemyIcon.b') + fps4.extract_files(base_path, decompressed=False) + + for file in fps4.files: + file_path = self.paths['extracted_files'] / 'data/menu/monsterbook/' / file.name + enemy_fps4 = Fps4(header_path=file_path) + print(file_path.with_suffix('')) + enemy_fps4.extract_files(file_path.with_suffix(''), decompressed=True) + + + def pack_all_menu(self) -> None: + xml_path = self.paths["menu_xml"] + + # Read json descriptor file + with open(self.paths["menu_table"], encoding="utf-8") as f: + menu_json = json.load(f) + + for entry in tqdm(menu_json, total=len(menu_json), desc='Inserting Menu Files'): + + + if entry["friendly_name"] in ['Arm9', 'Consumables', 'Sorma Skill', 'Outline', 'Overlay 0', 'Overlay 3', 'Soma Data', 'Strategy', 'Battle Memo']: + # Copy original files + + orig = self.paths["extracted_files"] / entry["file_path"] + if not orig.exists(): + orig = self.paths["original_files"] / entry["file_path"] + + dest = self.paths["temp_files"] / entry["file_path"] + dest.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(orig, dest) + + base_offset = entry["base_offset"] + pools: list[list[int]] = [[x[0], x[1] - x[0]] for x in entry["safe_areas"]] + pools.sort(key=lambda x: x[1]) + + with open(xml_path / (entry["friendly_name"] + ".xml"), "r", encoding='utf-8') as xmlFile: + root = etree.fromstring(xmlFile.read(), parser=etree.XMLParser(recover=True)) + + with open(dest, "rb") as f: + file_b = f.read() + + with FileIO(file_b, "wb") as f: + self.pack_menu_file(root, pools, base_offset, f,entry['pad']) + + f.seek(0) + dest.parent.mkdir(parents=True, exist_ok=True) + with open(dest, "wb") as g: + g.write(f.read()) + + #Copy in the patched folder + if entry['friendly_name'] != "Arm9": + (self.paths['final_files'] / entry['file_path']).parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(src=dest, + dst=self.paths['final_files'] / entry['file_path']) + else: + shutil.copyfile(src=dest, + dst=self.paths['final_files'] / 'arm9.bin') + + def pack_menu_file(self, root, pools: list[list[int]], base_offset: int, f: FileIO, pad=False) -> None: + + if root.find("Strings").find("Section").text == "Arm9": + min_seq = 400 + entries = [ele for ele in root.iter("Entry") if + ele.find('PointerOffset').text not in ['732676', '732692', '732708'] + and int(ele.find('Id').text) <= min_seq] + else: + entries = root.iter("Entry") + + for line in entries: + hi = [] + lo = [] + flat_ptrs = [] + + p = line.find("EmbedOffset") + if p is not None: + hi = [int(x) - base_offset for x in p.find("hi").text.split(",")] + lo = [int(x) - base_offset for x in p.find("lo").text.split(",")] + + poff = line.find("PointerOffset") + if poff.text is not None: + flat_ptrs = [int(x) for x in poff.text.split(",")] + + mlen = line.find("MaxLength") + if mlen is not None: + max_len = int(mlen.text) + f.seek(flat_ptrs[0]) + text_bytes = self.get_node_bytes(line,pad) + b"\x00" + if len(text_bytes) > max_len: + tqdm.write( + f"Line id {line.find('Id').text} ({line.find('JapaneseText').text}) too long, truncating...") + f.write(text_bytes[:max_len - 1] + b"\x00") + else: + f.write(text_bytes + (b"\x00" * (max_len - len(text_bytes)))) + continue + + text_bytes = self.get_node_bytes(line,pad) + b"\x00" + + l = len(text_bytes) + for pool in pools: + + if l <= pool[1]: + str_pos = pool[0] + #print(f'offset in pool: {hex(pool[0])}') + pool[0] += l; + pool[1] -= l + + break + else: + print("Ran out of space") + raise ValueError(f'Ran out of space in file: {root.find("Strings").find("Section").text}') + + f.seek(str_pos) + f.write(text_bytes) + virt_pos = str_pos + base_offset + for off in flat_ptrs: + f.write_uint32_at(off, virt_pos) + + for _h, _l in zip(hi, lo): + val_hi = (virt_pos >> 0x10) & 0xFFFF + val_lo = (virt_pos) & 0xFFFF + + # can't encode the lui+addiu directly + if val_lo >= 0x8000: val_hi += 1 + + f.write_uint16_at(_h, val_hi) + f.write_uint16_at(_l, val_lo) + + + def get_node_bytes(self, entry_node, pad=False) -> bytes: + + # Grab the fields from the Entry in the XML + #print(entry_node.find("JapaneseText").text) + status = entry_node.find("Status").text + japanese_text = entry_node.find("JapaneseText").text + english_text = entry_node.find("EnglishText").text + + # Use the values only for Status = Done and use English if non-empty + final_text = '' + if (status in self.list_status_insertion): + final_text = english_text or '' + else: + final_text = japanese_text or '' + + voiceid_node = entry_node.find("VoiceId") + + if voiceid_node is not None: + final_text = f'<{voiceid_node.text}>' + final_text + + # Convert the text values to bytes using TBL, TAGS, COLORS, ... + bytes_entry = text_to_bytes(final_text) + + #Pad with 00 + if pad: + rest = 4 - len(bytes_entry) % 4 - 1 + bytes_entry += (b'\x00' * rest) + + return bytes_entry + + def extract_all_skits(self, keep_translations=False): + type = 'skit' + base_path = self.paths['extracted_files'] / self.file_dict[type] + base_path.mkdir(parents=True, exist_ok=True) + fps4 = Fps4(detail_path=self.paths['original_files'] / 'data' / 'fc' / 'fcscr.dat', + header_path=self.paths['original_files'] / 'data' / 'fc' / 'fcscr.b') + fps4.extract_files(destination_path=base_path, copy_path=self.paths['temp_files'] / self.file_dict['skit'], decompressed=True) + + self.paths['skit_xml'].mkdir(parents=True, exist_ok=True) + self.paths['skit_original'].mkdir(parents=True, exist_ok=True) + for tss_file in tqdm(base_path.iterdir(), desc='Extracting Skits Files...'): + tss_obj = Tss(tss_file, list_status_insertion=self.list_status_insertion) + if len(tss_obj.struct_dict) > 0: + tss_obj.extract_to_xml(original_path=self.paths['skit_original'] / tss_file.with_suffix('.xml').name, + translated_path=self.paths['skit_xml'] / tss_file.with_suffix('.xml').name, + keep_translations=keep_translations) + + def pack_tss(self, destination_path:Path, xml_path:Path): + tss = Tss(path=destination_path, + list_status_insertion=self.list_status_insertion) + + tss.pack_tss_file(destination_path=destination_path, + xml_path=xml_path) + + def pack_all_skits(self): + type = 'skit' + + fps4 = Fps4(detail_path=self.paths['original_files'] / 'data' / 'fc' / 'fcscr.dat', + header_path=self.paths['original_files'] / 'data' / 'fc' / 'fcscr.b') + + xml_list, archive_list = self.find_changes('skit') + + #Repack TSS files + for archive in tqdm(archive_list, total=len(archive_list), desc="Inserting Skits Files..."): + end_name = f"{self.file_dict[type]}/{archive}.FCBIN" + src = self.paths['extracted_files'] / end_name + tss_path = self.paths['temp_files'] / end_name + shutil.copy(src=src, + dst=tss_path) + self.pack_tss(destination_path=tss_path, + xml_path=self.paths['skit_xml'] / f'{archive}.xml') + + args = ['lzss', '-evn', tss_path] + subprocess.run(args, stdout=subprocess.DEVNULL) + + #Repack FPS4 archive + final_path = self.paths['final_files'] / 'data' / 'fc' + final_path.mkdir(parents=True, exist_ok=True) + fps4.pack_file(updated_file_path=self.paths['temp_files'] / self.file_dict[type], + destination_folder=final_path) + + + def pack_mapbin_story(self, file_name, type): + mapbin_folder = self.paths['temp_files'] / self.file_dict[type] / file_name + + fps4_mapbin = Fps4(detail_path=self.paths['extracted_files'] / self.file_dict[type] / f'{file_name}.MAPBIN', + header_path=self.paths['extracted_files'] / self.file_dict[type] / f'{file_name}.B') + + fps4_mapbin.pack_fps4_type1(updated_file_path=mapbin_folder, + destination_folder=self.paths['temp_files'] / self.file_dict[type]) + def pack_all_story(self): + type = 'story' + # Copy original TSS files in the "updated" folder + dest = self.paths['temp_files'] / self.file_dict[type] + + #Repack all the TSS that need to be updated based on status changed + xml_list, archive_list = self.find_changes('story') + + if len(xml_list) > 0: + for xml_path in tqdm(xml_list, total=len(xml_list), desc='Inserting Story Files'): + + if os.path.exists(xml_path): + archive_name = xml_path.stem if not xml_path.stem.endswith('P') else xml_path.stem[0:-1] + end_name = f"{self.file_dict['story']}/{archive_name}/{xml_path.stem}.SCP" + src = self.paths['extracted_files'] / end_name + tss_path = self.paths['temp_files'] / end_name + shutil.copy(src=src, + dst=tss_path) + self.pack_tss(destination_path=tss_path, + xml_path=xml_path) + + args = ['lzss', '-evn', tss_path] + subprocess.run(args, stdout = subprocess.DEVNULL) + + # Find all the xmls that has changed recently + for archive in archive_list: + self.pack_mapbin_story(archive, type) + + folder = 'm' + base_path = self.paths['extracted_files'] / 'data' / folder + (self.paths['final_files'] / self.file_dict[type]).mkdir(parents=True, exist_ok=True) + fps4_m = Fps4(detail_path=self.paths['original_files'] / self.file_dict['story'] / f'{folder}.dat', + header_path=self.paths['original_files'] / self.file_dict['story'] / f'{folder}.b') + fps4_m.pack_fps4_type1(updated_file_path=self.paths['temp_files'] / self.file_dict[type], + destination_folder=self.paths['final_files'] / self.file_dict[type]) + + def find_changes(self, type): + + xml_list = [] + archive_list = [] + for xml_path in [path for path in self.paths[f'{type}_xml'].iterdir() if 'git' not in path.name]: + tree = etree.parse(xml_path) + root = tree.getroot() + entries_translated = [entry for entry in root.iter('Entry') if entry.find('Status').text in self.list_status_insertion] + + + if len(entries_translated) > 0: + archive_name = xml_path.stem if not xml_path.stem.endswith('P') else xml_path.stem[0:-1] + xml_list.append(xml_path) + archive_list.append(archive_name) + + archive_list = list(set(archive_list)) + + return xml_list, archive_list + + def extract_tss(self, tss_file:Path, file_type:str, keep_translations=False): + tss_obj = Tss(path=tss_file, list_status_insertion=self.list_status_insertion) + + if (len(tss_obj.struct_dict) > 0) or (len(tss_obj.string_list) > 0): + original_path = self.paths[f'{file_type}_original'] / tss_file.with_suffix('.xml').name + translated_path = self.paths[f'{file_type}_xml'] / tss_file.with_suffix('.xml').name + tss_obj.extract_to_xml(original_path= original_path, + translated_path=translated_path, + keep_translations=keep_translations) + + + def extract_all_story(self, extract_XML=False): + folder = 'm' + base_path = self.paths['extracted_files'] / 'data' / folder + + fps4 = Fps4(detail_path=self.paths['original_files'] / 'data' / folder / f'{folder}.dat', + header_path=self.paths['original_files'] / 'data' / folder / f'{folder}.b') + copy_path = self.paths['temp_files'] / self.file_dict['story'] + fps4.extract_files(destination_path=base_path, copy_path=copy_path) + + self.paths['story_xml'].mkdir(parents=True, exist_ok=True) + self.paths['story_original'].mkdir(parents=True, exist_ok=True) + scp_files = [file for file in base_path.iterdir() if file.suffix == '.MAPBIN'] + for file in tqdm(scp_files, total=len(scp_files), desc=f"Extracting Story Files"): + + + file_header = file.with_suffix('.B') + fps4_tss = Fps4(detail_path=file, header_path=file_header) + folder_path = file.with_suffix('') + folder_path.mkdir(parents=True, exist_ok=True) + fps4_tss.extract_files(destination_path=folder_path, copy_path=copy_path / file.stem, decompressed=True) + + #Load the tss file + for tss_file in [file_path for file_path in folder_path.iterdir() if file_path.suffix == '.SCP']: + self.extract_tss(tss_file, 'story') + + + + + def create_entry(self, strings_node, pointer_offset, text, entry_type, speaker_id, unknown_pointer): + + # Add it to the XML node + entry_node = etree.SubElement(strings_node, "Entry") + etree.SubElement(entry_node, "PointerOffset").text = str(pointer_offset).replace(' ', '') + text_split = re.split(self.COMMON_TAG, text) + + if len(text_split) > 1 and any(possible_value in text for possible_value in self.VALID_VOICEID): + etree.SubElement(entry_node, "VoiceId").text = text_split[1] + etree.SubElement(entry_node, "JapaneseText").text = ''.join(text_split[2:]) + else: + etree.SubElement(entry_node, "JapaneseText").text = text + + etree.SubElement(entry_node, "EnglishText") + etree.SubElement(entry_node, "Notes") + + if entry_type == "Struct": + etree.SubElement(entry_node, "StructId").text = str(self.struct_id) + etree.SubElement(entry_node, "SpeakerId").text = str(speaker_id) + + etree.SubElement(entry_node, "Id").text = str(self.id) + etree.SubElement(entry_node, "Status").text = "To Do" + self.id += 1 + def extract_from_string(self, f, strings_offset, pointer_offset, text_offset, root): + + f.seek(text_offset, 0) + japText, buff = bytes_to_text(f, text_offset) + self.create_entry(root, pointer_offset, japText, "Other Strings", -1, "") + + + + def text_to_bytes(self, text): + multi_regex = (self.HEX_TAG + "|" + self.COMMON_TAG + r"|(\n)") + tokens = [sh for sh in re.split(multi_regex, text) if sh] + + output = b'' + for t in tokens: + # Hex literals + if re.match(self.HEX_TAG, t): + output += struct.pack("B", int(t[1:3], 16)) + + # Tags + elif re.match(self.COMMON_TAG, t): + tag, param, *_ = t[1:-1].split(":") + [None] + + if tag == "icon": + output += struct.pack("B", self.ijsonTblTags["TAGS"].get(tag)) + output += b'\x28' + struct.pack('B', int(param)) + b'\x29' + + elif any(re.match(possible_value, tag) for possible_value in self.VALID_VOICEID): + output += b'\x09\x28' + tag.encode("cp932") + b'\x29' + + elif tag == "Bubble": + output += b'\x0C' + + else: + if tag in self.ijsonTblTags["TAGS"]: + output += struct.pack("B", self.ijsonTblTags["TAGS"][tag]) + continue + + for k, v in self.ijsonTblTags.items(): + if tag in v: + if k in ['NAME', 'COLOR']: + output += struct.pack('B',self.iTags[k]) + b'\x28' + bytes.fromhex(v[tag]) + b'\x29' + break + else: + output += b'\x81' + bytes.fromhex(v[tag]) + + # Actual text + elif t == "\n": + output += b"\x0A" + else: + for c in t: + if c in self.PRINTABLE_CHARS or c == "\u3000": + output += c.encode("cp932") + else: + + if c in self.ijsonTblTags["TBL"].keys(): + b = self.ijsonTblTags["TBL"][c].to_bytes(2, 'big') + output += b + else: + output += c.encode("cp932") + + + + return output diff --git a/tools/pythonlib/__init__.py b/tools/pythonlib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/pythonlib/formats/FileIO.py b/tools/pythonlib/formats/FileIO.py new file mode 100644 index 0000000..3eaff52 --- /dev/null +++ b/tools/pythonlib/formats/FileIO.py @@ -0,0 +1,279 @@ +import io +import struct +from io import BytesIO +from pathlib import Path +from typing import Union + + +class FileIO(object): + def __init__(self, path: Union[Path, str, BytesIO, bytes], mode="r+b", endian="little"): + self.mode: str = mode + self._isBitesIO = False + if type(path) is bytes: + self.path = None + self.f = path # type: ignore + self.is_memory_file = True + elif type(path) is BytesIO: + self.path = None + self.f = path + self._isBitesIO = True + self.is_memory_file = True + else: + self.path = path + self.is_memory_file = False + self.endian = "<" if endian == "little" or endian == "<" else ">" + + def __enter__(self): + if self.is_memory_file: + self.f: io.BufferedIOBase = self.f if self._isBitesIO else BytesIO(self.f) # type: ignore + else: + self.f:io.BufferedIOBase = open(self.path, self.mode) # type: ignore + self.f.seek(0) + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.f.close() + + def close(self): + self.f.close() + + def tell(self): + return self.f.tell() + + def truncate(self, size=None): + if size is None: + self.f.truncate(self.f.tell()) + else: + self.f.truncate(size) + + def seek(self, pos, whence=0): + self.f.seek(pos, whence) + + def read(self, n=-1): + return self.f.read(n) + + def read_at(self, pos, n=-1): + current = self.tell() + self.seek(pos) + ret = self.read(n) + self.seek(current) + return ret + + def write(self, data): + self.f.write(data) + + def write_at(self, pos, data): + current = self.tell() + self.seek(pos) + self.write(data) + self.seek(current) + + def peek(self, n): + pos = self.tell() + ret = self.read(n) + self.seek(pos) + return ret + + def write_line(self, data): + self.f.write(data + "\n") + + def set_endian(self, endian): + self.endian = "<" if endian == "little" or endian == "<" else ">" + + def read_int8(self): + return struct.unpack("b", self.read(1))[0] + + def read_int8_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_int8() + self.seek(current) + return ret + + def read_uint8(self): + return struct.unpack("B", self.read(1))[0] + + def read_uint8_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_uint8() + self.seek(current) + return ret + + def read_int16(self): + return struct.unpack(self.endian + "h", self.read(2))[0] + + def read_int16_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_int16() + self.seek(current) + return ret + + def read_uint16(self): + return struct.unpack(self.endian + "H", self.read(2))[0] + + def read_uint16_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_uint16() + self.seek(current) + return ret + + def read_int32(self): + return struct.unpack(self.endian + "i", self.read(4))[0] + + def read_int32_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_int32() + self.seek(current) + return ret + + def read_uint32(self): + return struct.unpack(self.endian + "I", self.read(4))[0] + + def read_uint32_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_uint32() + self.seek(current) + return ret + + def read_int64(self): + return struct.unpack(self.endian + "q", self.read(8))[0] + + def read_int64_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_int64() + self.seek(current) + return ret + + def read_uint64(self): + return struct.unpack(self.endian + "Q", self.read(8))[0] + + def read_uint64_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_uint64() + self.seek(current) + return ret + + def read_single(self): + return struct.unpack(self.endian + "f", self.read(4))[0] + + def read_single_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_single() + self.seek(current) + return ret + + def read_double(self): + return struct.unpack(self.endian + "d", self.read(8))[0] + + def read_double_at(self, pos): + current = self.tell() + self.seek(pos) + ret = self.read_double() + self.seek(current) + return ret + + def skip_padding(self, alignment): + while self.tell() % alignment != 0: + self.read_uint8() + + def write_int8(self, num): + self.f.write(struct.pack("b", num)) + + def write_int8_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_int8(num) + self.seek(current) + + def write_uint8(self, num): + self.f.write(struct.pack("B", num)) + + def write_uint8_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_uint8(num) + self.seek(current) + + def write_int16(self, num): + self.f.write(struct.pack(self.endian + "h", num)) + + def write_int16_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_int16(num) + self.seek(current) + + def write_uint16(self, num): + self.f.write(struct.pack(self.endian + "H", num)) + + def write_uint16_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_uint16(num) + self.seek(current) + + def write_int32(self, num): + self.f.write(struct.pack(self.endian + "i", num)) + + def write_int32_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_int32(num) + self.seek(current) + + def write_uint32(self, num): + self.f.write(struct.pack(self.endian + "I", num)) + + def write_uint32_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_uint32(num) + self.seek(current) + + def write_int64(self, num): + self.f.write(struct.pack(self.endian + "q", num)) + + def write_int64_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_int64(num) + self.seek(current) + + def write_uint64(self, num): + self.f.write(struct.pack(self.endian + "Q", num)) + + def write_uint64_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_uint64(num) + self.seek(current) + + def write_single(self, num): + self.f.write(struct.pack(self.endian + "f", num)) + + def write_single_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_single(num) + self.seek(current) + + def write_double(self, num): + self.f.write(struct.pack(self.endian + "d", num)) + + def write_double_at(self, pos, num): + current = self.tell() + self.seek(pos) + self.write_double(num) + self.seek(current) + + def write_padding(self, alignment, pad_byte=0x00): + while self.tell() % alignment != 0: + self.write_uint8(pad_byte) diff --git a/tools/pythonlib/formats/__init__.py b/tools/pythonlib/formats/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/pythonlib/formats/fps4.py b/tools/pythonlib/formats/fps4.py new file mode 100644 index 0000000..d57a474 --- /dev/null +++ b/tools/pythonlib/formats/fps4.py @@ -0,0 +1,217 @@ +import shutil +from dataclasses import dataclass +import struct +from typing import Optional +from .FileIO import FileIO +from .tss import Tss +import os +from pathlib import Path +import subprocess + + +@dataclass +class fps4_file(): + c_type:str + data:bytes + name:str + size:int + rank:int + offset:int + +dict_buffer = { + 0x2C:16, + 0x28:32 +} + +class Fps4(): + + def __init__(self, header_path:Path , detail_path:Path = None, size_adjusted = 0) -> None: + self.type = -1 + self.align = False + self.files = [] + self.header_path = header_path + self.file_size = os.path.getsize(header_path) + self.detail_path = detail_path or header_path + self.size_adjusted = size_adjusted + + self.extract_information() + + def extract_information(self): + with FileIO(self.header_path) as f_header: + self.header_data = f_header.read() + f_header.seek(4,0) + self.file_amount = f_header.read_uint32()-1 + self.header_size = f_header.read_uint32() + self.offset = f_header.read_uint32() + self.block_size = f_header.read_uint16() + + self.files = [] + + + if self.offset == 0x0: + self.pack_file = self.pack_fps4_type1 + + if self.block_size == 0x2C: + self.read_more = True + self.extract_type1_fps4(f_header=f_header) + + elif self.block_size == 0x28: + self.read_more = False + self.extract_type1_fps4(f_header=f_header) + + else: + self.pack_file = self.pack_fps4_type1 + self.extract_type2_fps4(f_header=f_header) + #Type 2 = Header with File offset + def extract_type2_fps4(self, f_header:FileIO): + + #Read all the files offsets + files_offset = [] + f_header.seek(self.header_size,0) + for _ in range(self.file_amount): + files_offset.append(f_header.read_uint32()) + files_offset.append(self.file_size) + + #Create each file + for i in range(len(files_offset)-1): + f_header.seek(files_offset[i], 0) + size = files_offset[i+1] - files_offset[i] + data = f_header.read(size) + c_type = 'None' + + if data[0] == 0x10: + c_type = 'LZ10' + elif data[0] == 0x11: + c_type = 'LZ11' + + self.files.append(fps4_file(c_type, data, f'{i}.bin', size, i, files_offset[i])) + + + #Type 1 = Header + Detail + def extract_type1_fps4(self, f_header:FileIO): + self.type = 1 + files_infos = [] + f_header.seek(self.header_size, 0) + + with FileIO(self.detail_path) as det: + for _ in range(self.file_amount): + offset = f_header.read_uint32() + size = f_header.read_uint32() + + if self.read_more: + f_header.read_uint32() + name = f_header.read(32).decode("ASCII").strip('\x00') + files_infos.append((offset, size, name)) + + i=0 + for offset, size, name in files_infos: + #print(f'name: {name} - size: {size}') + + det.seek(offset) + data = det.read(size) + + c_type = 'None' + if data[0] == 0x10: + c_type = 'LZ10' + elif data[0] == 0x11: + c_type = 'LZ11' + + self.files.append(fps4_file(c_type, data, name, size, i, offset)) + i+=1 + + def extract_files(self, destination_path:Path, copy_path:Path, decompressed=False): + + destination_path.mkdir(parents=True, exist_ok=True) + for file in self.files: + + copy_path.mkdir(parents=True, exist_ok=True) + with open(destination_path / file.name, "wb") as f: + f.write(file.data) + + shutil.copy(destination_path / file.name, copy_path / file.name) + + #Decompress using LZ10 or LZ11 + if decompressed: + args = ['lzss', '-d', destination_path / file.name] + subprocess.run(args, cwd=Path.cwd() / 'tools/pythonlib/utils', stdout = subprocess.DEVNULL) + + with open(destination_path / file.name, 'rb') as f: + head = f.read(4) + + if head == b'FPS4': + file.file_extension = 'FPS4' + elif head[:-1] == b'TSS': + file.file_extension = 'TSS' + + def compress_file(self, updated_file_path:Path, file_name:str, c_type:str): + args = [] + if c_type == 'LZ10': + args = ['lzss', '-evn', updated_file_path / file_name] + elif c_type == "LZ11": + args = ['lzx', '-evb', updated_file_path / file_name] + subprocess.run(args, cwd=Path.cwd() / 'tools/pythonlib/utils', stdout = subprocess.DEVNULL) + + def pack_fps4_type1(self, updated_file_path:Path, destination_folder:Path): + buffer = 0 + + #Update detail file + self.files.sort(key= lambda file: file.offset) + with FileIO(destination_folder / self.detail_path.name, "wb") as fps4_detail: + + #Writing new dat file and updating file attributes + for file in self.files: + #self.compress_file(updated_file_path, file_name=file.name, c_type=file.c) + + with FileIO(updated_file_path / file.name, 'rb') as sub_file: + file.data = sub_file.read() + file.offset = buffer + file.size = len(file.data) + buffer += file.size + fps4_detail.write(file.data) + + #Update header file + with FileIO(self.header_data, "r+b") as fps4_header: + + fps4_header.seek(self.header_size,0) + self.files.sort(key= lambda file: file.rank) + for file in self.files: + fps4_header.write(struct.pack(' 0: + print(f'header was found: {header_found[0]}') + return path.parent / header_found[0] + else: + return None + + + #def get_fps4_type(self): diff --git a/tools/pythonlib/formats/structnode.py b/tools/pythonlib/formats/structnode.py new file mode 100644 index 0000000..fa92ac0 --- /dev/null +++ b/tools/pythonlib/formats/structnode.py @@ -0,0 +1,303 @@ +from tools.pythonlib.formats.FileIO import FileIO +from tools.pythonlib.formats.text_toh import text_to_bytes, bytes_to_text +import struct +class Bubble: + + def __init__(self, id:int, jap_text:str, eng_text:str, status:str = 'To Do', bytes = b''): + self.eng_text = eng_text + self.jap_text = jap_text + self.id = id + self.status = status + self.bytes = bytes + +class StructEntry: + + def __init__(self, pointer_offset:int, text_offset:int): + self.pointer_offset = pointer_offset + self.text_offset = text_offset + self.pointer_offset_list = [] + self.sub_id = 1 + self.bubble_list = [] + + + +class StructNode: + def __init__(self, id: int, pointer_offset: int, text_offset: int, tss: FileIO, strings_offset:int, file_size:int, section:str): + self.id = id + self.pointer_offset = pointer_offset + self.pointer_offset_str = '' + self.text_offset = text_offset + self.strings_offset = strings_offset + self.file_size = file_size + self.section = section + self.nb_unknowns = 0 + self.unknowns = [] + self.texts_entry = [] + self.end_unknowns = [] + self.speaker = Speaker(0,0) + self.speaker.text = 'Variable' + + self.extract_struct_information(tss) + + def find_unknowns(self, tss:FileIO): + + first_entry = tss.read_uint32() + second_entry = tss.read_uint32() + third_entry = tss.read_uint32() + + if self.section == "Story": + self.nb_unknowns = 2 + else: + + if 0x0 <= first_entry <= 0x20 and 0x0 <= second_entry <= 0x20: + tss.seek(self.text_offset) + if 0x0 <= third_entry <= 0x20: + + if self.section == "Misc": + self.nb_unknowns = 10 + + else: + self.nb_unknowns = 6 + + def extract_struct_information(self, tss: FileIO): + + #Test if first entries are unknown values to be kept + tss.seek(self.text_offset) + if self.pointer_offset == 75404: + t = 2 + if tss.tell() <= (self.file_size - 12): + self.find_unknowns(tss) + + tss.seek(self.text_offset) + for _ in range(self.nb_unknowns): + self.unknowns.append(tss.read_uint32()) + + if self.section == "Story" or (self.section == "NPC" and self.nb_unknowns > 0): + + pointer_offset = tss.tell() + self.extract_speaker_information(tss, pointer_offset) + tss.seek(pointer_offset + 4) + + + self.extract_texts_information(tss) + + + def extract_speaker_information(self, tss:FileIO, pointer_offset:int): + offset = tss.read_uint32() + self.strings_offset + self.speaker = Speaker(pointer_offset, offset) + tss.seek(offset) + self.speaker.jap_text, self.speaker.bytes = bytes_to_text(tss, offset) + + def extract_bubbles(self, text, entry_bytes:bytes): + bubble_id = 1 + text_split = text.split('') + bytes_split = entry_bytes.split(b'\x0C') + bubble_list = [] + for text, bubble_bytes in zip(text_split, bytes_split): + bubble = Bubble(id=bubble_id, jap_text=text, eng_text='', bytes=bubble_bytes) + bubble_list.append(bubble) + bubble_id += 1 + + return bubble_list + def extract_texts_information(self, tss:FileIO): + offset = tss.tell() + + normal_text = False + sub_id = 1 + if offset <= self.file_size-4: + + + val = tss.read_uint32() + if val + self.strings_offset < self.file_size: + while val != 0 and val != 0x1 and val < self.file_size: + pointer_offset = tss.tell()-4 + text_offset = val + self.strings_offset + entry = StructEntry(pointer_offset, text_offset) + tss.seek(text_offset) + jap_text, bytes = bytes_to_text(tss, text_offset) + + + entry.bubble_list = self.extract_bubbles(jap_text, bytes) + entry.sub_id = sub_id + self.texts_entry.append(entry) + sub_id += 1 + + tss.seek(pointer_offset + 4) + + if tss.tell() < self.file_size - 4: + val = tss.read_uint32() + + if val == 0x1 or val == 0x0: + self.end_unknowns.append(val) + else: + break + else: + normal_text = True + else: + normal_text = True + + if normal_text: + entry = StructEntry(self.pointer_offset, self.text_offset) + jap_text, bytes = bytes_to_text(tss, self.text_offset) + entry.bubble_list = self.extract_bubbles(jap_text, bytes) + self.texts_entry.append(entry) + + def parse_xml_nodes(self, xml_nodes_list, list_status_insertion): + self.id = int(xml_nodes_list[0].find("Id").text) + + max_sub_id = max([int(entry.find("SubId").text) for entry in xml_nodes_list]) + + for sub_id in range(1, max_sub_id + 1): + + sub_nodes = [sub for sub in xml_nodes_list if int(sub.find('SubId').text) == sub_id] + max_bubble_id = max([int(entry.find('BubbleId').text) for entry in sub_nodes]) + for bubble_id in range(1, max_bubble_id + 1): + bubble = [bubble for bubble in sub_nodes if int(bubble.find('BubbleId').text) == bubble_id][0] + entry_bytes, japanese_text, final_text, status = self.get_node_bytes(bubble, list_status_insertion, pad=False) + + self.texts_entry[sub_id-1].bubble_list[bubble_id-1].jap_text = japanese_text + self.texts_entry[sub_id-1].bubble_list[bubble_id-1].eng_text = final_text + self.texts_entry[sub_id-1].bubble_list[bubble_id-1].status = status + self.texts_entry[sub_id-1].bubble_list[bubble_id-1].bytes = entry_bytes + def intersperse(self, my_list, item): + result = [item] * (len(my_list) * 2 - 1) + result[0::2] = my_list + return result + + def adjust_bubble(self, entry): + buffer = b'' + buffer_text = '' + nb_entries = len(entry.bubble_list) + + for entry_node in entry.bubble_list: + bytes_text, text = self.get_node_bytes(entry_node.eng_text) + buffer += bytes_text + buffer_text += text + + if nb_entries >= 2: + buffer += b'\x0C' + buffer_text += '' + return buffer, buffer_text + + def pad(self, offset:int, nb_bytes): + rest = nb_bytes - offset % nb_bytes + return (b'\x00' * rest) + + def add_speaker_entry(self, speaker_dict:dict, speaker_id:int): + + speaker_found = [speaker for id, speaker in speaker_dict.items() if speaker.jap_text == self.speaker.jap_text] + + if speaker_id == 16: + t =2 + + if len(speaker_found) > 0: + self.speaker = speaker_found[0] + + if str(self.speaker.pointer_offset) not in speaker_found[0].pointer_offset_list: + speaker_found[0].pointer_offset_list.append(str(self.speaker.pointer_offset)) + return speaker_id + else: + self.speaker.id = speaker_id + speaker_dict[speaker_id] = self.speaker + return speaker_id+1 + + + def get_node_bytes(self, entry_node, list_status_insertion, pad=False) -> (bytes, str): + + # Grab the fields from the Entry in the XML + #print(entry_node.find("JapaneseText").text) + status = entry_node.find("Status").text + japanese_text = entry_node.find("JapaneseText").text + english_text = entry_node.find("EnglishText").text + + # Use the values only for Status = Done and use English if non-empty + final_text = '' + if (status in list_status_insertion): + final_text = english_text or '' + else: + final_text = japanese_text or '' + + voiceid_node = entry_node.find("VoiceId") + + if voiceid_node is not None: + final_text = f'<{voiceid_node.text}>' + final_text + + # Convert the text values to bytes using TBL, TAGS, COLORS, ... + bytes_entry = text_to_bytes(final_text) + + #Pad with 00 + if pad: + rest = 4 - len(bytes_entry) % 4 - 1 + bytes_entry += (b'\x00' * rest) + + return bytes_entry, japanese_text, final_text, status + + def write_entries(self, tss): + + for entry in self.texts_entry: + bubble_bytes = [bubble.bytes for bubble in entry.bubble_list] + buffer = b''.join(self.intersperse(bubble_bytes, b'\x0C')) + entry.text_offset = tss.tell() + tss.write(buffer) + tss.write(b'\x00') + + def write_unknowns(self, tss): + for val in self.unknowns: + tss.write(struct.pack(' 0: + tss.write(self.pad(tss.tell(), 4)) + self.text_offset = tss.tell() + self.write_unknowns(tss) + self.write_speaker_pointer(tss, speaker_dict) + self.write_entry_pointers(tss) + self.write_end_unknowns(tss) + + offset = tss.tell() + tss.seek(self.pointer_offset) + tss.write(struct.pack(')" +HEX_TAG = r"(\{[0-9A-F]{2}\})" +PRINTABLE_CHARS = "".join( + (string.digits, string.ascii_letters, string.punctuation, " ") + ) +jsonTblTags = dict() +with open('../Tales-of-Hearts-DS/Project/tbl_all.json') as f: + jsonraw = json.loads(f.read(), encoding="utf-8") + for k, v in jsonraw.items(): + jsonTblTags[k] = {int(k2, 16): v2 for k2, v2 in v.items()} + +ijsonTblTags = dict() +for k, v in jsonTblTags.items(): + if k in ['TAGS', 'TBL']: + ijsonTblTags[k] = {v2: k2 for k2, v2 in v.items()} + else: + ijsonTblTags[k] = {v2: hex(k2).replace('0x', '').upper() for k2, v2 in v.items()} +iTags = {v2.upper(): k2 for k2, v2 in jsonTblTags['TAGS'].items()} +def bytes_to_text(src: FileIO, offset: int = -1) -> (str, bytes): + finalText = "" + chars = jsonTblTags['TBL'] + + if (offset > 0): + src.seek(offset, 0) + buffer = [] + while True: + b = src.read(1) + + if b == b"\x00": break + + + b = ord(b) + buffer.append(b) + + # Button + if b == 0x81: + next_b = src.read(1) + if ord(next_b) in jsonTblTags['BUTTON'].keys(): + finalText += f"<{jsonTblTags['BUTTON'].get(ord(next_b))}>" + buffer.append(ord(next_b)) + continue + else: + src.seek(src.tell( ) -1 ,0) + + + + # Custom Encoded Text + if (0x80 <= b <= 0x9F) or (0xE0 <= b <= 0xEA): + v = src.read_uint8() + c = (b << 8) | v + buffer.append(v) + finalText += chars.get(c, "{%02X}{%02X}" % (c >> 8, c & 0xFF)) + continue + + if b == 0xA: + finalText += ("\n") + continue + + # Voice Id + elif b in [0x9]: + + val = "" + while src.read(1) != b"\x29": + src.seek(src.tell() - 1) + val += src.read(1).decode("cp932") + + buffer.extend(list(val.encode("cp932"))) + buffer.append(0x29) + + val += ">" + val = val.replace('(', '<') + + finalText += val + continue + + # ASCII text + if chr(b) in PRINTABLE_CHARS: + finalText += chr(b) + continue + + # cp932 text + if 0xA0 < b < 0xE0: + finalText += struct.pack("B", b).decode("cp932") + continue + + + + if b in [0x3, 0x4, 0xB]: + b_value = b'' + + if ord(src.read(1) )== 0x28: + tag_name = jsonTblTags['TAGS'].get(b) + buffer.append(0x28) + + b_v = b'' + while b_v != b'\x29': + b_v = src.read(1) + b_value += b_v + b_value = b_value[:-1] + buffer.extend(list(b_value)) + buffer.append(0x29) + + parameter = int.from_bytes(b_value, "big") + tag_param = jsonTblTags.get(tag_name.upper(), {}).get(parameter, None) + + if tag_param is not None: + finalText += f"<{tag_param}>" + else: + finalText += f"<{tag_name}:{parameter}>" + + continue + + if b == 0xC: + + finalText += "" + continue + + finalText += "{%02X}" % b + + return finalText, bytes(buffer) + + +def text_to_bytes(text:str): + multi_regex = (HEX_TAG + "|" + COMMON_TAG + r"|(\n)") + tokens = [sh for sh in re.split(multi_regex, text) if sh] + output = b'' + for t in tokens: + # Hex literals + if re.match(HEX_TAG, t): + output += struct.pack("B", int(t[1:3], 16)) + + # Tags + + elif re.match(COMMON_TAG, t): + tag, param, *_ = t[1:-1].split(":") + [None] + + if tag == "icon": + output += struct.pack("B", ijsonTblTags["TAGS"].get(tag)) + output += b'\x28' + struct.pack('B', int(param)) + b'\x29' + + elif any(re.match(possible_value, tag) for possible_value in VALID_VOICEID): + output += b'\x09\x28' + tag.encode("cp932") + b'\x29' + + elif tag == "Bubble": + output += b'\x0C' + + else: + if tag in ijsonTblTags["TAGS"]: + output += struct.pack("B", ijsonTblTags["TAGS"][tag]) + continue + + for k, v in ijsonTblTags.items(): + if tag in v: + if k in ['NAME', 'COLOR']: + output += struct.pack('B',iTags[k]) + b'\x28' + bytes.fromhex(v[tag]) + b'\x29' + break + else: + output += b'\x81' + bytes.fromhex(v[tag]) + + # Actual text + elif t == "\n": + output += b"\x0A" + else: + for c in t: + if c in PRINTABLE_CHARS or c == "\u3000": + output += c.encode("cp932") + else: + + if c in ijsonTblTags["TBL"].keys(): + b = ijsonTblTags["TBL"][c].to_bytes(2, 'big') + output += b + else: + output += c.encode("cp932") + + + return output \ No newline at end of file diff --git a/tools/pythonlib/formats/tss.py b/tools/pythonlib/formats/tss.py new file mode 100644 index 0000000..4fcc8ad --- /dev/null +++ b/tools/pythonlib/formats/tss.py @@ -0,0 +1,297 @@ +from dataclasses import dataclass +import struct +from typing import Optional +from ..formats.FileIO import FileIO +from ..formats.structnode import StructNode, Speaker, Bubble +import os +from pathlib import Path +import re +import io +import lxml.etree as etree +import string +import subprocess +from itertools import groupby + +bytecode_dict = { + "Story": [b'\x0E\x10\x00\x0C\x04', b'\x00\x10\x00\x0C\x04'], + "NPC": [b'\x40\x00\x0C\x04', b'\x0E\x00\x00\x82\x02'], + "Misc": [b'\x00\x00\x00\x82\x02', b'\x01\x00\x00\x82\x02', b'\x00\xA3\x04'] +} + + +class Tss(): + def __init__(self, path:Path, list_status_insertion) -> None: + self.align = False + self.files = [] + self.file_size = os.path.getsize(path) + self.offsets_used = [] + self.struct_dict = {} + self.speaker_dict = {} + + self.id = 1 + self.struct_id = 1 + self.speaker_id = 1 + self.root = etree.Element('SceneText') + self.list_status_insertion = list_status_insertion + self.VALID_VOICEID = [r'()', r'()', r'()', r'()'] + self.COMMON_TAG = r"(<[\w/]+:?\w+>)" + self.HEX_TAG = r"(\{[0-9A-F]{2}\})" + self.PRINTABLE_CHARS = "".join( + (string.digits, string.ascii_letters, string.punctuation, " ") + ) + + with FileIO(path) as tss_f: + + tss_f.read(12) + self.strings_offset = struct.unpack(' 0: + text_offset = struct_found[0].speaker.text_offset + jap_text = self.bytes_to_text(f, text_offset) + return jap_text + else: + return 'Variable' + + + def add_offset_adjusted(self, start, end): + self.offsets_used.extend(list(range(start, end))) + + def create_first_nodes(self): + + story_count = len([node for node in self.struct_dict.values() if node.section == "Story"]) + npc_count = len([node for node in self.struct_dict.values() if node.section == "NPC"]) + string_count = len([node for node in self.struct_dict.values() if node.section == "Misc"]) + + if story_count >0 or npc_count > 0: + speakers_node = etree.SubElement(self.root, 'Speakers') + etree.SubElement(speakers_node, 'Section').text = "Speaker" + + if story_count > 0: + story_node = etree.SubElement(self.root, 'Strings') + etree.SubElement(story_node, 'Section').text = "Story" + + if npc_count > 0: + npc_node = etree.SubElement(self.root, 'Strings') + etree.SubElement(npc_node, 'Section').text = "NPC" + + #if string_count > 0: + # string_node = etree.SubElement(self.root, 'StringsMisc') + # etree.SubElement(string_node, 'Section').text = "Misc" + def extract_to_xml(self, original_path, translated_path, keep_translations=False): + + self.create_first_nodes() + + self.add_speaker_nodes() + + #Split with bubble the entries + for pointer_offset in sorted(self.struct_dict.keys()): + struct_obj = self.struct_dict[pointer_offset] + + if struct_obj.section != 'Misc': + for struct_text in struct_obj.texts_entry: + for bubble in struct_text.bubble_list: + self.create_entry(struct_node=struct_obj, bubble=bubble, subid=struct_text.sub_id) + + + + # Write the original data into XML + txt = etree.tostring(self.root, encoding="UTF-8", pretty_print=True) + with open(original_path, "wb") as xmlFile: + xmlFile.write(txt) + + if keep_translations: + self.copy_translations(original_path, translated_path) + + def add_speaker_nodes(self): + speakers = self.root.find('Speakers') + + for speaker_id, speaker_node in self.speaker_dict.items(): + entry_node = etree.SubElement(speakers, "Entry") + etree.SubElement(entry_node, "PointerOffset") + etree.SubElement(entry_node, "JapaneseText").text = speaker_node.jap_text + etree.SubElement(entry_node, "EnglishText") + etree.SubElement(entry_node, "Notes") + etree.SubElement(entry_node, "Id").text = str(speaker_id) + etree.SubElement(entry_node, "Status").text = 'To Do' + + def create_entry(self, struct_node:StructNode, bubble:Bubble, subid=None): + + # Add it to the XML node + if struct_node.section == 'Misc': + strings_node = self.root.find(f'StringsMisc[Section="Misc"]') + else: + strings_node = self.root.find(f'Strings[Section="{struct_node.section}"]') + + entry_node = etree.SubElement(strings_node, "Entry") + etree.SubElement(entry_node, "PointerOffset").text = str(struct_node.pointer_offset) + text_split = re.split(self.COMMON_TAG, bubble.jap_text) + + if len(text_split) > 1 and any(re.match(possible_value, bubble.jap_text) for possible_value in self.VALID_VOICEID): + etree.SubElement(entry_node, "VoiceId").text = text_split[1].replace('<','').replace('>','') + etree.SubElement(entry_node, "JapaneseText").text = ''.join(text_split[2:]) + else: + etree.SubElement(entry_node, "JapaneseText").text = bubble.jap_text + + etree.SubElement(entry_node, "EnglishText") + etree.SubElement(entry_node, "Notes") + + if int(struct_node.speaker.id) > 0: + etree.SubElement(entry_node, "SpeakerId").text = str(struct_node.speaker.id) + etree.SubElement(entry_node, "Id").text = str(struct_node.id) + + if struct_node.section in ["Story", "NPC"]: + etree.SubElement(entry_node, "BubbleId").text = str(bubble.id) + etree.SubElement(entry_node, "SubId").text = str(subid) + + etree.SubElement(entry_node, "Status").text = "To Do" + self.id += 1 + + def find_xml_nodes(self, pointer_offset:int): + node_found = [struct_node for key, struct_node in self.struct_dict.items() + if struct_node.pointer_offset == pointer_offset] + + if len(node_found) > 0: + return node_found + + def parse_write_speakers(self, tss:io.BytesIO): + + for speaker_node in self.root.findall("Speakers/Entry"): + + + + text_offset = tss.tell() + speaker = Speaker(pointer_offset=0, text_offset=text_offset) + speaker.set_node_attributes(speaker_node, self.list_status_insertion) + speaker.text_offset = tss.tell() + self.speaker_dict[speaker.id] = speaker + tss.write(speaker.bytes) + tss.write(b'\x00') + + def parse_xml_infos(self): + + struct_entries = self.root.findall('Strings/Entry') + pointers_list = list(set([int(entry.find("PointerOffset").text) for entry in struct_entries])) + + pointers_list.sort() + + for pointer_offset in pointers_list: + entries = [entry for entry in struct_entries if int(entry.find("PointerOffset").text) == pointer_offset] + self.struct_dict[pointer_offset].parse_xml_nodes(entries, self.list_status_insertion) + + def copy_translations(self, original_path:Path, translated_path:Path): + + #Open translated XMLs + tree = etree.parse(original_path) + root_original = tree.getroot() + + tree = etree.parse(translated_path) + root_translated = tree.getroot() + translated_speakers = {int(entry.find('Id').text):entry for entry in root_translated.findall('Speakers/Entry') + if entry.find("Status").text in ['Proofread', 'Edited', 'Done']} + translated_entries = {(int(entry.find('PointerOffset').text), + int(entry.find("SubId").text), + int(entry.find("BubbleId").text)):entry for entry in root_translated.findall('Strings/Entry') + if entry.find("Status").text in ['Proofread', 'Edited', 'Done']} + original_entries = {(int(entry.find('PointerOffset').text), + int(entry.find("SubId").text), + int(entry.find("BubbleId").text)): entry for entry in + root_original.findall('Strings/Entry')} + + #Speakers + for speaker_entry in [entry for entry in root_original.findall('SceneText/Speakers/Entry') + if int(entry.find('Id').text) in translated_speakers.keys()]: + + speaker_id = int(speaker_entry.find("Id").text) + speaker_entry.find("EnglishText").text = translated_speakers[speaker_id].find('EnglishText').text + speaker_entry.find("Status").text = translated_speakers[speaker_id].find('Status').text + notes = translated_speakers[speaker_id].find('Notes') + + if notes is not None: + speaker_entry.find("Notes").text = translated_speakers[speaker_id].find('Notes').text + + + #Main entries + original_entries_translated = {(pointer_offset, sub_id, bubble_id):node for (pointer_offset, sub_id, bubble_id), node in original_entries.items() + if (pointer_offset, sub_id, bubble_id) in translated_entries.keys()} + for (pointer_offset, sub_id, bubble_id), main_entry in original_entries_translated.items(): + translated_entry = translated_entries[(pointer_offset, sub_id, bubble_id)] + + main_entry.find("EnglishText").text = translated_entry.find('EnglishText').text + main_entry.find("Status").text = translated_entry.find('Status').text + notes = translated_entry.find('Notes').text + + if notes is not None: + main_entry.find("Notes").text = translated_entries[pointer_offset].find('Notes').text + + txt = etree.tostring(root_original, encoding="UTF-8", pretty_print=True) + with open(translated_path, "wb") as xmlFile: + xmlFile.write(txt) + + + def pack_tss_file(self, destination_path:Path, xml_path:Path): + + + + # Grab the Tss file inside the folder + with FileIO(destination_path, 'rb') as original_tss: + data = original_tss.read() + tss = io.BytesIO(data) + tree = etree.parse(xml_path) + self.root = tree.getroot() + + start_offset = self.get_starting_offset() + tss.seek(start_offset, 0) + self.parse_write_speakers(tss) + self.parse_xml_infos() + + #Insert all nodes + [node.pack_node(tss, self.speaker_dict) for pointer_offset, node in self.struct_dict.items()] + + #Update TSS + with FileIO(destination_path, 'wb') as f: + f.write(tss.getvalue()) + + def get_starting_offset(self): + speaker_offset = min([ele.speaker.text_offset for pointer_offset, ele in self.struct_dict.items() if ele.speaker.text_offset > 0], default=None) + + texts_offset = [text_entry.text_offset for key, struct_entry in self.struct_dict.items() for text_entry in struct_entry.texts_entry] + texts_offset.sort() + text_offset = min(texts_offset[1:], default=None) + return min(speaker_offset or 100000000, text_offset) \ No newline at end of file diff --git a/tools/pythonlib/utils/__init__.py b/tools/pythonlib/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/pythonlib/utils/blz.exe b/tools/pythonlib/utils/blz.exe new file mode 100644 index 0000000000000000000000000000000000000000..680c933e1a04b532b9251eb65564bc4a730cb818 GIT binary patch literal 8704 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 None: + self.type = type + self.data = data + + def __getitem__(self, item): + return self.data[item] + + def __len__(self): + return len(self.data) + + +def compress_data(input: bytes, raw: bool = False, version: int = 3) -> bytes: + input_size = len(input) + output_size = ((input_size * 9) // 8) + 10 + output = b"\x00" * output_size + output_size = ctypes.c_uint(output_size) + error = compto_encode(version, input, input_size, output, ctypes.byref(output_size)) + RaiseError(error) + + if not raw: + output = ( + struct.pack(" bytes: + if raw: + input_size = len(input) + output_size = input_size * 10 + else: + version = struct.unpack(" None: + error = compto_fencode(input.encode("utf-8"), output.encode("utf-8"), raw, version) + RaiseError(error) + + +def decompress_file( + input: str, output: str, raw: bool = False, version: int = 3 +) -> None: + error = compto_fdecode(input.encode("utf-8"), output.encode("utf-8"), raw, version) + RaiseError(error) + + +def is_compressed(data: bytes) -> bool: + if len(data) < 0x09: + return False + + if data[0] not in (0, 1, 3): + return False + + expected_size = struct.unpack("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. --*/ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +#include +#include +#include + +/*----------------------------------------------------------------------------*/ +#define CMD_DECODE 0x00 // decode +#define CMD_CODE_10 0x10 // LZSS magic number + +#define LZS_NORMAL 0x00 // normal mode, (0) +#define LZS_FAST 0x80 // fast mode, (1 << 7) +#define LZS_BEST 0x40 // best mode, (1 << 6) + +#define LZS_WRAM 0x00 // VRAM not compatible (LZS_WRAM | LZS_NORMAL) +#define LZS_VRAM 0x01 // VRAM compatible (LZS_VRAM | LZS_NORMAL) +#define LZS_WFAST 0x80 // LZS_WRAM fast (LZS_WRAM | LZS_FAST) +#define LZS_VFAST 0x81 // LZS_VRAM fast (LZS_VRAM | LZS_FAST) +#define LZS_WBEST 0x40 // LZS_WRAM best (LZS_WRAM | LZS_BEST) +#define LZS_VBEST 0x41 // LZS_VRAM best (LZS_VRAM | LZS_BEST) + +#define LZS_SHIFT 1 // bits to shift +#define LZS_MASK 0x80 // bits to check: + // ((((1 << LZS_SHIFT) - 1) << (8 - LZS_SHIFT) + +#define LZS_THRESHOLD 2 // max number of bytes to not encode +#define LZS_N 0x1000 // max offset (1 << 12) +#define LZS_F 0x12 // max coded ((1 << 4) + LZS_THRESHOLD) +#define LZS_NIL LZS_N // index for root of binary search trees + +#define RAW_MINIM 0x00000000 // empty file, 0 bytes +#define RAW_MAXIM 0x00FFFFFF // 3-bytes length, 16MB - 1 + +#define LZS_MINIM 0x00000004 // header only (empty RAW file) +#define LZS_MAXIM 0x01400000 // 0x01200003, padded to 20MB: + // * header, 4 + // * length, RAW_MAXIM + // * flags, (RAW_MAXIM + 7) / 8 + // 4 + 0x00FFFFFF + 0x00200000 + padding + +/*----------------------------------------------------------------------------*/ +unsigned char ring[LZS_N + LZS_F - 1]; +int dad[LZS_N + 1], lson[LZS_N + 1], rson[LZS_N + 1 + 256]; +int pos_ring, len_ring, lzs_vram; + +/*----------------------------------------------------------------------------*/ +#define BREAK(text) { printf(text); return; } +#define EXIT(text) { printf(text); exit(-1); } + +/*----------------------------------------------------------------------------*/ +void Title(void); +void Usage(void); + +char *Load(char *filename, int *length, int min, int max); +void Save(char *filename, char *buffer, int length); +char *Memory(int length, int size); + +void LZS_Decode(char *filename); +void LZS_Encode(char *filename, int mode); +char *LZS_Code(unsigned char *raw_buffer, int raw_len, int *new_len, int best); + +char *LZS_Fast(unsigned char *raw_buffer, int raw_len, int *new_len); +void LZS_InitTree(void); +void LZS_InsertNode(int r); +void LZS_DeleteNode(int p); + +/*----------------------------------------------------------------------------*/ +int main(int argc, char **argv) { + int cmd, mode; + int arg; + + Title(); + + if (argc < 2) Usage(); + if (!strcmpi(argv[1], "-d")) { cmd = CMD_DECODE; } + else if (!strcmpi(argv[1], "-evn")) { cmd = CMD_CODE_10; mode = LZS_VRAM; } + else if (!strcmpi(argv[1], "-ewn")) { cmd = CMD_CODE_10; mode = LZS_WRAM; } + else if (!strcmpi(argv[1], "-evf")) { cmd = CMD_CODE_10; mode = LZS_VFAST; } + else if (!strcmpi(argv[1], "-ewf")) { cmd = CMD_CODE_10; mode = LZS_WFAST; } + else if (!strcmpi(argv[1], "-evo")) { cmd = CMD_CODE_10; mode = LZS_VBEST; } + else if (!strcmpi(argv[1], "-ewo")) { cmd = CMD_CODE_10; mode = LZS_WBEST; } + else EXIT("Command not supported\n"); + if (argc < 3) EXIT("Filename not specified\n"); + + switch (cmd) { + case CMD_DECODE: + for (arg = 2; arg < argc; arg++) LZS_Decode(argv[arg]); + break; + case CMD_CODE_10: + for (arg = 2; arg < argc; arg++) LZS_Encode(argv[arg], mode); + break; + default: + break; + } + + printf("\nDone\n"); + + return(0); +} + +/*----------------------------------------------------------------------------*/ +void Title(void) { + printf( + "\n" + "LZSS - (c) CUE 2011\n" + "LZSS coding for Nintendo GBA/DS\n" + "\n" + ); +} + +/*----------------------------------------------------------------------------*/ +void Usage(void) { + EXIT( + "Usage: LZSS command filename [filename [...]]\n" + "\n" + "command:\n" + " -d ..... decode 'filename'\n" + " -evn ... encode 'filename', VRAM compatible, normal mode (LZ10)\n" + " -ewn ... encode 'filename', WRAM compatible, normal mode\n" + " -evf ... encode 'filename', VRAM compatible, fast mode\n" + " -ewf ... encode 'filename', WRAM compatible, fast mode\n" + " -evo ... encode 'filename', VRAM compatible, optimal mode (LZ-CUE)\n" + " -ewo ... encode 'filename', WRAM compatible, optimal mode (LZ-CUE)\n" + "\n" + "* multiple filenames and wildcards are permitted\n" + "* the original file is overwritten with the new file\n" + ); +} + +/*----------------------------------------------------------------------------*/ +char *Load(char *filename, int *length, int min, int max) { + FILE *fp; + int fs; + char *fb; + + if ((fp = fopen(filename, "rb")) == NULL) EXIT("\nFile open error\n"); + fs = filelength(fileno(fp)); + if ((fs < min) || (fs > max)) EXIT("\nFile size error\n"); + fb = Memory(fs + 3, sizeof(char)); + if (fread(fb, 1, fs, fp) != fs) EXIT("\nFile read error\n"); + if (fclose(fp) == EOF) EXIT("\nFile close error\n"); + + *length = fs; + + return(fb); +} + +/*----------------------------------------------------------------------------*/ +void Save(char *filename, char *buffer, int length) { + FILE *fp; + + if ((fp = fopen(filename, "wb")) == NULL) EXIT("\nFile create error\n"); + if (fwrite(buffer, 1, length, fp) != length) EXIT("\nFile write error\n"); + if (fclose(fp) == EOF) EXIT("\nFile close error\n"); +} + +/*----------------------------------------------------------------------------*/ +char *Memory(int length, int size) { + char *fb; + + fb = (char *) calloc(length, size); + if (fb == NULL) EXIT("\nMemory error\n"); + + return(fb); +} + +/*----------------------------------------------------------------------------*/ +void LZS_Decode(char *filename) { + unsigned char *pak_buffer, *raw_buffer, *pak, *raw, *pak_end, *raw_end; + unsigned int pak_len, raw_len, header, len, pos; + unsigned char flags, mask; + + printf("- decoding '%s'", filename); + + pak_buffer = Load(filename, &pak_len, LZS_MINIM, LZS_MAXIM); + + header = *pak_buffer; + if (header != CMD_CODE_10) { + free(pak_buffer); + BREAK(", WARNING: file is not LZSS encoded!\n"); + } + + raw_len = *(unsigned int *)pak_buffer >> 8; + raw_buffer = (unsigned char *) Memory(raw_len, sizeof(char)); + + pak = pak_buffer + 4; + raw = raw_buffer; + pak_end = pak_buffer + pak_len; + raw_end = raw_buffer + raw_len; + + mask = 0; + + while (raw < raw_end) { + if (!(mask >>= LZS_SHIFT)) { + if (pak == pak_end) break; + flags = *pak++; + mask = LZS_MASK; + } + + if (!(flags & mask)) { + if (pak == pak_end) break; + *raw++ = *pak++; + } else { + if (pak + 1 >= pak_end) break; + pos = *pak++; + pos = (pos << 8) | *pak++; + len = (pos >> 12) + LZS_THRESHOLD + 1; + if (raw + len > raw_end) { + printf(", WARNING: wrong decoded length!"); + len = raw_end - raw; + } + pos = (pos & 0xFFF) + 1; + while (len--) *raw++ = *(raw - pos); + } + } + + raw_len = raw - raw_buffer; + + if (raw != raw_end) printf(", WARNING: unexpected end of encoded file!"); + + Save(filename, raw_buffer, raw_len); + + free(raw_buffer); + free(pak_buffer); + + printf("\n"); +} + +/*----------------------------------------------------------------------------*/ +void LZS_Encode(char *filename, int mode) { + unsigned char *raw_buffer, *pak_buffer, *new_buffer; + unsigned int raw_len, pak_len, new_len; + + lzs_vram = mode & 0xF; + + printf("- encoding '%s'", filename); + + raw_buffer = Load(filename, &raw_len, RAW_MINIM, RAW_MAXIM); + + pak_buffer = NULL; + pak_len = LZS_MAXIM + 1; + + if (!(mode & LZS_FAST)) { + mode = mode & LZS_BEST ? 1 : 0; + new_buffer = LZS_Code(raw_buffer, raw_len, &new_len, mode); + } else { + new_buffer = LZS_Fast(raw_buffer, raw_len, &new_len); + } + if (new_len < pak_len) { + if (pak_buffer != NULL) free(pak_buffer); + pak_buffer = new_buffer; + pak_len = new_len; + } + + Save(filename, pak_buffer, pak_len); + + free(pak_buffer); + free(raw_buffer); + + printf("\n"); +} + +/*----------------------------------------------------------------------------*/ +char *LZS_Code(unsigned char *raw_buffer, int raw_len, int *new_len, int best) { + unsigned char *pak_buffer, *pak, *raw, *raw_end, *flg; + unsigned int pak_len, len, pos, len_best, pos_best; + unsigned int len_next, pos_next, len_post, pos_post; + unsigned char mask; + +#define SEARCH(l,p) { \ + l = LZS_THRESHOLD; \ + \ + pos = raw - raw_buffer >= LZS_N ? LZS_N : raw - raw_buffer; \ + for ( ; pos > lzs_vram; pos--) { \ + for (len = 0; len < LZS_F; len++) { \ + if (raw + len == raw_end) break; \ + if (*(raw + len) != *(raw + len - pos)) break; \ + } \ + \ + if (len > l) { \ + p = pos; \ + if ((l = len) == LZS_F) break; \ + } \ + } \ +} + + pak_len = 4 + raw_len + ((raw_len + 7) / 8); + pak_buffer = (unsigned char *) Memory(pak_len, sizeof(char)); + + *(unsigned int *)pak_buffer = CMD_CODE_10 | (raw_len << 8); + + pak = pak_buffer + 4; + raw = raw_buffer; + raw_end = raw_buffer + raw_len; + + mask = 0; + + while (raw < raw_end) { + if (!(mask >>= LZS_SHIFT)) { + *(flg = pak++) = 0; + mask = LZS_MASK; + } + + SEARCH(len_best, pos_best); + + // LZ-CUE optimization start + if (best) { + if (len_best > LZS_THRESHOLD) { + if (raw + len_best < raw_end) { + raw += len_best; + SEARCH(len_next, pos_next); + raw -= len_best - 1; + SEARCH(len_post, pos_post); + raw--; + + if (len_next <= LZS_THRESHOLD) len_next = 1; + if (len_post <= LZS_THRESHOLD) len_post = 1; + + if (len_best + len_next <= 1 + len_post) len_best = 1; + } + } + } + // LZ-CUE optimization end + + if (len_best > LZS_THRESHOLD) { + raw += len_best; + *flg |= mask; + *pak++ = ((len_best - (LZS_THRESHOLD + 1)) << 4) | ((pos_best - 1) >> 8); + *pak++ = (pos_best - 1) & 0xFF; + } else { + *pak++ = *raw++; + } + } + + *new_len = pak - pak_buffer; + + return(pak_buffer); +} + +/*----------------------------------------------------------------------------*/ +char *LZS_Fast(unsigned char *raw_buffer, int raw_len, int *new_len) { + unsigned char *pak_buffer, *pak, *raw, *raw_end, *flg; + unsigned int pak_len, len, r, s, len_tmp, i; + unsigned char mask; + + pak_len = 4 + raw_len + ((raw_len + 7) / 8); + pak_buffer = (unsigned char *) Memory(pak_len, sizeof(char)); + + *(unsigned int *)pak_buffer = CMD_CODE_10 | (raw_len << 8); + + pak = pak_buffer + 4; + raw = raw_buffer; + raw_end = raw_buffer + raw_len; + + LZS_InitTree(); + + r = s = 0; + + len = raw_len < LZS_F ? raw_len : LZS_F; + while (r < LZS_N - len) ring[r++] = 0; + + for (i = 0; i < len; i++) ring[r + i] = *raw++; + + LZS_InsertNode(r); + + mask = 0; + + while (len) { + if (!(mask >>= LZS_SHIFT)) { + *(flg = pak++) = 0; + mask = LZS_MASK; + } + + if (len_ring > len) len_ring = len; + + if (len_ring > LZS_THRESHOLD) { + *flg |= mask; + pos_ring = ((r - pos_ring) & (LZS_N - 1)) - 1; + *pak++ = ((len_ring - LZS_THRESHOLD - 1) << 4) | (pos_ring >> 8); + *pak++ = pos_ring & 0xFF; + } else { + len_ring = 1; + *pak++ = ring[r]; + } + + len_tmp = len_ring; + for (i = 0; i < len_tmp; i++) { + if (raw == raw_end) break; + LZS_DeleteNode(s); + ring[s] = *raw++; + if (s < LZS_F - 1) ring[s + LZS_N] = ring[s]; + s = (s + 1) & (LZS_N - 1); + r = (r + 1) & (LZS_N - 1); + LZS_InsertNode(r); + } + while (i++ < len_tmp) { + LZS_DeleteNode(s); + s = (s + 1) & (LZS_N - 1); + r = (r + 1) & (LZS_N - 1); + if (--len) LZS_InsertNode(r); + } + } + + *new_len = pak - pak_buffer; + + return(pak_buffer); +} + +/*----------------------------------------------------------------------------*/ +void LZS_InitTree(void) { + int i; + + for (i = LZS_N + 1; i <= LZS_N + 256; i++) + rson[i] = LZS_NIL; + + for (i = 0; i < LZS_N; i++) + dad[i] = LZS_NIL; +} + +/*----------------------------------------------------------------------------*/ +void LZS_InsertNode(int r) { + unsigned char *key; + int i, p, cmp, prev; + + prev = (r - 1) & (LZS_N - 1); + + cmp = 1; + len_ring = 0; + + key = &ring[r]; + p = LZS_N + 1 + key[0]; + + rson[r] = lson[r] = LZS_NIL; + + for ( ; ; ) { + if (cmp >= 0) { + if (rson[p] != LZS_NIL) p = rson[p]; + else { rson[p] = r; dad[r] = p; return; } + } else { + if (lson[p] != LZS_NIL) p = lson[p]; + else { lson[p] = r; dad[r] = p; return; } + } + + for (i = 1; i < LZS_F; i++) + if ((cmp = key[i] - ring[p + i])) break; + + if (i > len_ring) { + if (!lzs_vram || (p != prev)) { + pos_ring = p; + if ((len_ring = i) == LZS_F) break; + } + } + } + + dad[r] = dad[p]; lson[r] = lson[p]; rson[r] = rson[p]; + + dad[lson[p]] = r; dad[rson[p]] = r; + + if (rson[dad[p]] == p) rson[dad[p]] = r; + else lson[dad[p]] = r; + + dad[p] = LZS_NIL; +} + +/*----------------------------------------------------------------------------*/ +void LZS_DeleteNode(int p) { + int q; + + if (dad[p] == LZS_NIL) return; + + if (rson[p] == LZS_NIL) { + q = lson[p]; + } else if (lson[p] == LZS_NIL) { + q = rson[p]; + } else { + q = lson[p]; + if (rson[q] != LZS_NIL) { + do { + q = rson[q]; + } while (rson[q] != LZS_NIL); + + rson[dad[q]] = lson[q]; dad[lson[q]] = dad[q]; + lson[q] = lson[p]; dad[lson[p]] = q; + } + + rson[q] = rson[p]; dad[rson[p]] = q; + } + + dad[q] = dad[p]; + + if (rson[dad[p]] == p) rson[dad[p]] = q; + else lson[dad[p]] = q; + + dad[p] = LZS_NIL; +} + +/*----------------------------------------------------------------------------*/ +/*-- EOF Copyright (C) 2011 CUE --*/ +/*----------------------------------------------------------------------------*/ diff --git a/tools/pythonlib/utils/lzss.exe b/tools/pythonlib/utils/lzss.exe new file mode 100644 index 0000000000000000000000000000000000000000..ee7db3b7722e84077b4621e14835b2c155d583b0 GIT binary patch literal 8704 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 Zqt+N~t_di{>{8Hw$~G07+w>*A{WlCO8Mpud literal 0 HcmV?d00001 diff --git a/tools/pythonlib/utils/lzx.exe b/tools/pythonlib/utils/lzx.exe new file mode 100644 index 0000000000000000000000000000000000000000..b5c87fa749d05b86b9784108f61fd493c3a824e6 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/tools/pythonlib/utils/ndstool.exe b/tools/pythonlib/utils/ndstool.exe new file mode 100644 index 0000000000000000000000000000000000000000..df244784c4bb364407fe82bb25f1ebd12ba003fe GIT binary patch literal 48640 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 Tkd~d7{=e_^|F8eIEbzYo^&z`} literal 0 HcmV?d00001 From 3e348e77b76e91a6315cc8923d94b48d3e9777f9 Mon Sep 17 00:00:00 2001 From: Stewie Date: Thu, 10 Oct 2024 19:11:15 -0400 Subject: [PATCH 2/8] Add code to update the font --- project.json | 3 ++- tools/pythonlib/Tales_Exe.py | 16 +--------------- tools/pythonlib/ToolsTOH.py | 4 ++++ 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/project.json b/project.json index db561de..f30e206 100644 --- a/project.json +++ b/project.json @@ -10,7 +10,8 @@ "story_original": "./1.5_original_translated/story/", "menu_xml": "./2_translated/menu/", "story_xml": "./2_translated/story/", - "skit_xml": "./2_Translated/skits/", + "skit_xml": "./2_translated/skits/", + "new_font": "./2_translated/font/", "final_files": "./3_patched/", "temp_files": "./3_patched/patched_temp/", "game_builds": "./4_builds/", diff --git a/tools/pythonlib/Tales_Exe.py b/tools/pythonlib/Tales_Exe.py index 2bd1333..fd77358 100644 --- a/tools/pythonlib/Tales_Exe.py +++ b/tools/pythonlib/Tales_Exe.py @@ -199,24 +199,10 @@ def getTalesInstance(args, game_name): tales_instance.pack_all_skits() tales_instance.pack_all_story() tales_instance.pack_all_menu() + tales_instance.update_font() tales_instance.save_iso(Path(args.iso)) tales_instance.update_save_file(Path(args.des), args.save) - elif args.file_type == "Main": - tales_instance.pack_main_archive() - - elif args.file_type == "Story": - tales_instance.pack_all_story() - - elif args.file_type == "Skits": - tales_instance.pack_all_skits() - - elif args.file_type == "Menu": - tales_instance.pack_all_menu() - - elif args.file_type == "Asm": - tales_instance.patch_binaries() - elif args.file_type == "All": tales_instance.pack_all_story() tales_instance.pack_all_skits() diff --git a/tools/pythonlib/ToolsTOH.py b/tools/pythonlib/ToolsTOH.py index 982a90c..88fa147 100644 --- a/tools/pythonlib/ToolsTOH.py +++ b/tools/pythonlib/ToolsTOH.py @@ -133,6 +133,10 @@ def make_iso(self, game_iso) -> None: subprocess.run(args, cwd=self.paths["game_builds"], stdout = subprocess.DEVNULL) + def update_font(self): + shutil.copyfile(self.paths['new_font'] / 'trialFont10.NFTR', self.paths['final_files'] / 'data' / 'trialFont10.NFTR') + shutil.copyfile(self.paths['new_font'] / 'trialFont12.NFTR', self.paths['final_files'] / 'data' / 'trialFont12.NFTR') + def update_arm9_size(self, game_iso:Path): with FileIO(game_iso, 'rb') as f: From 1b1df0e2b61f7b63c3b20f1b4a567f9a3a3544e0 Mon Sep 17 00:00:00 2001 From: Stewie Date: Fri, 11 Oct 2024 11:13:11 -0400 Subject: [PATCH 3/8] Add All option to Pack and updates libraries import --- tools/pythonlib/Tales_Exe.py | 36 ++++++++------------------- tools/pythonlib/ToolsTOH.py | 10 ++++---- tools/pythonlib/formats/fps4.py | 1 - tools/pythonlib/formats/structnode.py | 4 +-- tools/pythonlib/formats/text_toh.py | 2 +- tools/pythonlib/formats/tss.py | 4 +-- 6 files changed, 20 insertions(+), 37 deletions(-) diff --git a/tools/pythonlib/Tales_Exe.py b/tools/pythonlib/Tales_Exe.py index fd77358..e741e8f 100644 --- a/tools/pythonlib/Tales_Exe.py +++ b/tools/pythonlib/Tales_Exe.py @@ -41,10 +41,10 @@ def get_arguments(argv=None): sp_extract.add_argument( "-ft", "--file_type", - choices=["Iso", "Main", "Menu", "Story", "Skits"], + choices=["Iso", "Menu", "Story", "Skits", "All"], required=True, metavar="file_type", - help="(Required) - Options: Iso, Init, Main, Menu, Story, Skits", + help="(Required) - Options: Iso, Menu, Story, Skits, All", ) sp_extract.add_argument( @@ -203,14 +203,6 @@ def getTalesInstance(args, game_name): tales_instance.save_iso(Path(args.iso)) tales_instance.update_save_file(Path(args.des), args.save) - elif args.file_type == "All": - tales_instance.pack_all_story() - tales_instance.pack_all_skits() - tales_instance.pack_all_menu() - tales_instance.patch_binaries() - tales_instance.make_iso() - - if args.action == "extract": if game_name == "TOH": @@ -219,29 +211,21 @@ def getTalesInstance(args, game_name): #tales_instance.unpack_menu_files() tales_instance.extract_all_menu(keep_translations=True) - if args.file_type == "Iso": + elif args.file_type == "Iso": tales_instance.extract_Iso(Path(args.iso)) tales_instance.decompress_arm9() tales_instance.decompress_overlays() - if args.file_type == "Skits": + elif args.file_type == "Skits": tales_instance.extract_all_skits(args.replace) elif args.file_type == "Story": tales_instance.extract_all_story(args.replace) - else: - if args.file_type == "Iso": - tales_instance.extract_Iso(Path(args.iso)) - tales_instance.extract_main_archive() - if args.file_type == "Main": - tales_instance.extract_main_archive() - - if args.file_type == "Menu": - tales_instance.extract_all_menu() - - if args.file_type == "Story": - tales_instance.extract_all_story() - - if args.file_type == "Skits": + elif args.file_type == "All": + tales_instance.extract_Iso(Path(args.iso)) + tales_instance.decompress_arm9() + tales_instance.decompress_overlays() + tales_instance.extract_all_menu(keep_translations=True) tales_instance.extract_all_skits(args.replace) + tales_instance.extract_all_story(args.replace) \ No newline at end of file diff --git a/tools/pythonlib/ToolsTOH.py b/tools/pythonlib/ToolsTOH.py index 88fa147..460ac48 100644 --- a/tools/pythonlib/ToolsTOH.py +++ b/tools/pythonlib/ToolsTOH.py @@ -9,11 +9,11 @@ import subprocess import datetime import lxml.etree as etree -from tools.pythonlib.formats.FileIO import FileIO -from tools.pythonlib.formats.fps4 import Fps4 -from tools.pythonlib.formats.tss import Tss -from tools.pythonlib.utils.dsv2sav import sav_to_dsv -from tools.pythonlib.formats.text_toh import text_to_bytes, bytes_to_text +from formats.FileIO import FileIO +from formats.fps4 import Fps4 +from formats.tss import Tss +from utils.dsv2sav import sav_to_dsv +from formats.text_toh import text_to_bytes, bytes_to_text import re from itertools import chain import io diff --git a/tools/pythonlib/formats/fps4.py b/tools/pythonlib/formats/fps4.py index d57a474..808c8ee 100644 --- a/tools/pythonlib/formats/fps4.py +++ b/tools/pythonlib/formats/fps4.py @@ -3,7 +3,6 @@ import struct from typing import Optional from .FileIO import FileIO -from .tss import Tss import os from pathlib import Path import subprocess diff --git a/tools/pythonlib/formats/structnode.py b/tools/pythonlib/formats/structnode.py index fa92ac0..41e5b9b 100644 --- a/tools/pythonlib/formats/structnode.py +++ b/tools/pythonlib/formats/structnode.py @@ -1,5 +1,5 @@ -from tools.pythonlib.formats.FileIO import FileIO -from tools.pythonlib.formats.text_toh import text_to_bytes, bytes_to_text +from .FileIO import FileIO +from .text_toh import text_to_bytes, bytes_to_text import struct class Bubble: diff --git a/tools/pythonlib/formats/text_toh.py b/tools/pythonlib/formats/text_toh.py index f850f70..3f78fcc 100644 --- a/tools/pythonlib/formats/text_toh.py +++ b/tools/pythonlib/formats/text_toh.py @@ -2,7 +2,7 @@ import struct import pyjson5 as json import string -from tools.pythonlib.formats.FileIO import FileIO +from .FileIO import FileIO VALID_VOICEID = [r'(VSM_\w+)', r'(VCT_\w+)', r'(S\d+)', r'(C\d+)'] COMMON_TAG = r"(<[\w/]+:?\w+>)" diff --git a/tools/pythonlib/formats/tss.py b/tools/pythonlib/formats/tss.py index 4fcc8ad..cf59722 100644 --- a/tools/pythonlib/formats/tss.py +++ b/tools/pythonlib/formats/tss.py @@ -1,8 +1,8 @@ from dataclasses import dataclass import struct from typing import Optional -from ..formats.FileIO import FileIO -from ..formats.structnode import StructNode, Speaker, Bubble +from .FileIO import FileIO +from .structnode import StructNode, Speaker, Bubble import os from pathlib import Path import re From 66802f76e74e69c0a251c23dbf461c777af68742 Mon Sep 17 00:00:00 2001 From: Stewie Date: Fri, 11 Oct 2024 11:32:58 -0400 Subject: [PATCH 4/8] Adding back tests --- tools/pythonlib/Tales_Exe.py | 1 + tools/pythonlib/tests/.gitignore | 173 +++++++++++++++++ tools/pythonlib/tests/TOH/__init__.py | 0 tools/pythonlib/tests/TOH/files/AMUI01P.SCP | Bin 0 -> 63727 bytes tools/pythonlib/tests/TOH/files/AMUT01P.SCP | Bin 0 -> 116222 bytes tools/pythonlib/tests/TOH/files/FSHT00.SCP | Bin 0 -> 139934 bytes tools/pythonlib/tests/TOH/files/LITD04P.SCP | Bin 0 -> 40218 bytes tools/pythonlib/tests/TOH/files/STRT00.SCP | Bin 0 -> 90019 bytes tools/pythonlib/tests/TOH/files/VOLD01P.SCP | Bin 0 -> 82280 bytes tools/pythonlib/tests/TOH/test_structs.py | 196 ++++++++++++++++++++ tools/pythonlib/tests/TOH/test_tags.json | 22 +++ tools/pythonlib/tests/TOH/test_tags.py | 128 +++++++++++++ tools/pythonlib/tests/__init__.py | 0 13 files changed, 520 insertions(+) create mode 100644 tools/pythonlib/tests/.gitignore create mode 100644 tools/pythonlib/tests/TOH/__init__.py create mode 100644 tools/pythonlib/tests/TOH/files/AMUI01P.SCP create mode 100644 tools/pythonlib/tests/TOH/files/AMUT01P.SCP create mode 100644 tools/pythonlib/tests/TOH/files/FSHT00.SCP create mode 100644 tools/pythonlib/tests/TOH/files/LITD04P.SCP create mode 100644 tools/pythonlib/tests/TOH/files/STRT00.SCP create mode 100644 tools/pythonlib/tests/TOH/files/VOLD01P.SCP create mode 100644 tools/pythonlib/tests/TOH/test_structs.py create mode 100644 tools/pythonlib/tests/TOH/test_tags.json create mode 100644 tools/pythonlib/tests/TOH/test_tags.py create mode 100644 tools/pythonlib/tests/__init__.py diff --git a/tools/pythonlib/Tales_Exe.py b/tools/pythonlib/Tales_Exe.py index e741e8f..b24c589 100644 --- a/tools/pythonlib/Tales_Exe.py +++ b/tools/pythonlib/Tales_Exe.py @@ -200,6 +200,7 @@ def getTalesInstance(args, game_name): tales_instance.pack_all_story() tales_instance.pack_all_menu() tales_instance.update_font() + tales_instance.patch_binaries() tales_instance.save_iso(Path(args.iso)) tales_instance.update_save_file(Path(args.des), args.save) diff --git a/tools/pythonlib/tests/.gitignore b/tools/pythonlib/tests/.gitignore new file mode 100644 index 0000000..bbb124e --- /dev/null +++ b/tools/pythonlib/tests/.gitignore @@ -0,0 +1,173 @@ +*.bin +.vscode/* + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST +*.idea + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ +TOR_Batch/Extract_Iso.bat +TOR_Batch/Insert_Iso - only changed.bat +TOR_Batch/Insert_Iso.bat diff --git a/tools/pythonlib/tests/TOH/__init__.py b/tools/pythonlib/tests/TOH/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/pythonlib/tests/TOH/files/AMUI01P.SCP b/tools/pythonlib/tests/TOH/files/AMUI01P.SCP new file mode 100644 index 0000000000000000000000000000000000000000..1d266f630be920ad1c18c6b5b5ccd9ea414d55b6 GIT binary patch literal 63727 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 E0S9>ny8r+H literal 0 HcmV?d00001 diff --git a/tools/pythonlib/tests/TOH/files/FSHT00.SCP b/tools/pythonlib/tests/TOH/files/FSHT00.SCP new file mode 100644 index 0000000000000000000000000000000000000000..ab9745452212b297f93e976a9b4533c7731a2297 GIT binary patch literal 139934 zcmeFa4}euwwLgC5&cGZd)bWLhNjfMh6ut%+kcx6pEG#lod-0MI6$=ZM5|vj}%o)lN zMnL&%Q4&o(@K2gzQi6^?q#*~TqN1XtzNV=3ZTv<(>XH0DYp=cUUVGoW&zw7RLHqu` zM-TU$yVqX-*V=3EeeRiyFS;nIi=t@RZz`g>zpIE^e_Ihv#pfyG@nwuNifZYfs;Igz zK8~ep9NZFU8^kb0`c>!N!)+CPqUh)-s?HHo92GfzUlF*kMtd%*1Xxr-*O9&kBPCsf zULKyWt8;|Z$17=Mz3x|WY@b6oz~TVltDT_GMi8kwH&I__mHSo=Pqb_PiRC`OM7amE zF_euf4wKx*$Fkbh_?i!&X7BfwD0i!{cjaM{`$+it`%0Ai(*H~3o>ZdTX9~Ihne*ED z98CFqZhQ=%D!-dpGxsvDxpK$3-0lDQ7}Qe1IX%uDJbBRB^1k9H?-cDk7RdZxj@*8z zNbFJEr^b3Obl}E%oQpbVwM&`*_EuL1uk2a&n$*GjO4I>^^H}ct!J#=X3K+E3PQajs&@ z7{Py`jVlJfGvB^2SLM`I3OVuw=)?^*-P3E$RXF{tR2S~w7VMwo>NH%l%4KnGduM0f zCU5AIb8sRL(V=*HR^Y@}RN|_-`Gv|z_EE57U#I#N(N`2tPidPMXsd{tE4x$;8dVVA zRZ(2IU*A)%OyhfX0Ov_MCsOSyuT5P<-;WhAap3y6K7FP9wF8ytth25FZOl8Ax$s$e zK*`aM^rm#TuD?PM@54xA;HcKV>#pO_Fu=g|8*~)GCAo15ob>|NaqMYip`t;?P)1p2vVCjG z>0nx;*FKCwf?b>Y+Cqd57c2iK^wRCVrqTA!-!DIy<_RW`nsfa_C5%-4zQ zDseqdT+8p}by|)fI>h(J68Wo#T!RGdH;QW$_msnW%OBCf5wFquo`!p=@2k9cn4#fY zJhb>{o>Y7MsupHjEJ zFV_MO<%SQ_2Xt0!3^zLHF6YnGH0wRye0z>nG^2Qm2j|*$frFUw0oJqfFIitvjBL?*$QmP)F!T%-`9NNq zxf$h#cM2H!y}VA#T||fYd!j`C_MxB5UGm!aZ#noQIymB0r0s6%cN)jq6dbQ}8oN>d z{fws|_NlGm4TL%h`W5+rsa45--Hfe@EcNln#df9>*JB~t<_Ma9*fDF@@v2Sv9F1o@ zrVT;OI5=N7&HzlEu={D^x{tV)zG3FFWRtAE(UC%@wv2Q(YQ5}d*_HlSZmX9r6y+us zLwcD9m{SB_XNc?9iEF7BsSA0X7BhQN==@6==@`BAKf(G7+tKPJeq;A~S%v;53%;c9 z$T?AO^>QGE&T)c%Z|NAl3}M-ozp(ABUg}QlUN85d{|SPx6UB8ob672S3DFrSXqHPa z<5+f`hur+4b5Cl1=|KNe1z(bP86%S4p5&LI$b%s|(iXj?WBg^Z&hwP)kxTOHA2j~` zjlR@1tg$_h_qje((GT!yytnHq)w#cmKAf-2d@9`Me?%Xnv+n2|6n%{TyX*50(Z|eV z()*ykf<15)jFD!nqWtTRY0KWE`ow!rQaVyTNBVsBr!?T&c#P3bb?;{sc<*Y&*uKqf#3MI zHXzj+ahK9xY5vf5vf?D3KUn&Mn}b%>sWzvk>Q`hw&v9sdXaf3?4?RU6y_`F>)Dem# z_Y3;yC9c(4<_&dLX1{*X`Y2iEvCt#&xraV_$>&^+>xDAlGBVF#*-Oe99g2@AZa>xP zi+uQ=oo>$P(r~q>xNzU`;HIOUbo779AXmGlIp3rCK96RHqFJ3AQK5)B&wiLZI~%$& zab?F1$gOGY^=O>$(dbe%qPW)6(|bL*>1ZeU&DheLoMU*K@6o*1qe-?Sn~fCm`(t2t z^0%@c4qIMZ1^h<;GOu+g-V5^@1d1DnkX(grcI>Opee6+6jK`DYboM)dK5r29lAME> zTB00tVWNX0o~n7Q!VUN;x)w}rIFw&@GhZ!O-1u! z*}b)@p)AjuVTzu1bGN=2s$nMM)8L|9RsYOD1T4XxjJUOR#S{%c$Ah0r6MX?UPs6S8 z;MzU7bsBDm2X_GUxfXZn@6zy*BU5#*<#(7J7U7pL=F$ju$>;ayR+b zDDl0SqtN$9iSN^Vj`@q?jvmcNF&d47Z+0ga^B2XtwGT}OztShj zhQ;D()0w2g>RhQd*(vnVTiy+>Qf+d#<~@r|vgt9KO|tqL^Ji_c3;Y_J@H1^T4-Z#` z0@Lr#zp}|<=$3BV`vfl`+h)~)!BwhlTaW|EFSFP-8!y>xn^m{WUy`fRxs2u=;WZIs zizr^l@mWw47{9=0!8+4HrHd$T8EO58bQ2oWhu4$tqIeQM4PJux$AybE+-wid9~b6o zxHbbjI2x2$Moh@_;_Dg;i$m))BDcNHu#$kN#tx;i5OzU(GXiFW1 z^5j0v$p!mWQ-eE0|sKlNz5m9Xt*wX8hm8CIUd}E(WI9ocY7~=8%W|cn&x!i zlr(p|(dBKXq8Y`l9$dqTF5E87+uE}6mgMd#8?Gpx$?_hy*qp<*8vxxZ8u%pc=$YOHIUao;)twkn*rPCbiAB)JV`(AO?adp>X)9?2JD_{9}PXz$Xr zH7_KE zyZCL2kNDu*UArIj;=Dt_CAnQ?(9+rDUwIOVq0w1e-hw_(_^4do36UXm#?Y-L@=k^%5aV}ir3B~gO z;iDY2La~$ za_{C{f$t?u+E}(Tg-&0AyLWV|bKfmh{t51L=z|3>#(yZE^p3A6-kCy2j^(|j(;oB< zs$uMS)Css^MxzWW{%k3p(`COsY~$7h zj>Up;D>|Qa%((@j2R3=Vxt#gqS*8(R`~lbBDaM$N8E5nl?U66L38lAC8nvS;wC_dK@@h>)Z1ce*ZTWn3rQrz@cheIsO>`!e>D} z+Avx5iDzHv`XS}SV&lnl4d04SgO}>j4S+AU53)zW<9E)zv@y7hhilsL2McKz%lA_O zN4f4ZWu!g72<>8dc9*98xiZo|;L#p9-W|6h*bqlN)UzeordYlto0ER#my<{BgNMua ztCSBE`u<#&y_O_`U*>Bs+{XI@ZN`6##l@tH2oq|_54pZ}@xPr=G%n_9_%?hRyc8D% z&%Zf#>$1Bw{7w(P>q94q=l$$D#?Xt2og{Zl8EiE{)1C~RKCirX@A5iD(Z)0E9{k-? zP5@7q$1R%26=mZw$=xAvrHvuK6>ug>P8g2g;MQ;*ydFZ+OcL*5yn|gVjR=X1&ijUp&p?NO0 zp2uU5^|1*bjw1OU7&*6)w0pbGM0AM1-_S=1{5^|)LxgT5f7Rmq-ttFuaKt+^_=SQj z$uI0W+8)k-1-`nE=@;?U>f9bCsQfUCO$YwFyGAMfFA_TI?R$QR4vu*G6!m%7;(HeG zBd-?dtd8lY(#;yf@_iyF2^~p&^>*KMRR(^QCVS{xZNOhlPZK}F_Mv~#?u_N_fi`+y z9{=_l@8VR)@pw0l{I1~~{0a?u_KlQl>FhWA5&}$e&zE8B=mM@ndILQkHWcu1K=aU5 z1|DWl^?4wAJ`dIB`g)j)ex!%Lm4Sx?1w0TvpNED59-@yj4>=BiUhVtN1uoAPMR>TZ zfQR{-hu4*Xhv;KI4@A$`!%YP|#OO!17*GZt<`?il^gJHseXW3pR?Wkk%D_W>siy}; z&*LH5P{2bi`jH+^F9Q#AHLkY`TxqrBECJWkT5`9}Q-sRoFusn}?@3qdcZ$MKF;1BG z4ssj1sCOw7k9&cqSdN^pWGY@OKAX}OO#}8KYXtZ%9yE=b3UT5M4t*NmkmsXD!A@2BD(V$v9?@C~(V>gqnSHL|+jV(Sof-)Z%t?zv-2|ba^{7{PK6|OZ-wBA_TB((l1t*M4(!wTaH0Ji zAFfXTAMrGud8_TOSY&@{uB9A?ibbB6uF<^A20g;WAXfo+tPPM;F#P%Pb7qkN6W2N8#4bD&c>_D=zQNWMN+71DFmXG$|M#_>vXeW?%r z?IqKBzJhV^SZ&vA5FVQs)CmU{0MH+?9UL%t^Y>L2y58I-U!J;eP1W~eznBD%p=ov>z?lE9wq3m6m*U3ar9=$PF`83bdY8f zk^?^ir$gyrRRCXA3HXi?_-+s2i!vjvGG}&hyhXObb2@E;kR`F<}Q_%(LL+(=Hs_Ag#_Bt7+{Mv{*-$#(oV` zD|q(DNotdP$h;q-FX6MqqKwO*1!E9-4LJvTQ+dtLId9OlO|d+4zs^BAU**@0Z_+-e zzprTV?n&pcs`7U~2c*$6zDRakSQ&a(f{R<`h&0^9hs+6Su#%6~%Hn@d!oaAw0dAQy z(s29vpgUL@>uIotAJW}|%0A9>N@RGlhqOy*d@%7vvFg89aNpGmPdxM*8;7qbTie*E zMH`OzS->7B@C*LFCu5M2kMtd?cP909Yi`mtC1@Pl7p?DPt!t#t()!48JZm3W*JSM@ z>zXWm)I7Sz#=p!NQm3K1M$!n?H4>+Ue>9MjB)sI|&H%i`85*O~{I+eD@_~5jXRO~c zPV2V=&?f1ab${}=&^)Y975f|K*6Q5b6&d!m;_vse^jbbmz}2~TblZpVNq+uV8LG*n zxJt>9g%_T8_mqd1g83QG@M?Y63w^WAt^8vZpZKklfbnw)*$aolM}Ay?8Qm7nb^ScG zO!s>>1@}e`(~3`7-_ZKkeoH4m<`EwROL@`!%^ZB!Z{l@s|Ipflq!Ak1i3Z^#8s^>R zL}Rx4&d+U8Oy5(VDy~Ng)?_TNl=lWwDx|aDfZ0SNeJv<77xw$5$uhkNosfP?!8@1b zE?9FRdC32 z2{^hpenb6kuLzCNQM>{Cc1M@+?e*~Ygq~05Yk`{2hx5l)=sfSUlrxuCgz7i^{vUpU zqo}_cnFvRBI;3_JC#2J_R1~k(hSbhK7uXQ!9)A{jF1q)O35bPBbYw@5|eV^h&ZBJ!498^xD99Pxdf&rG9Mzp9H=5 z;EjrE?GP4I(WYy{!SP1=IRUZB_dLg*cj(Vm_@w??78N5xFU~zbTV(5sI^Y(tc^wj6 z*+wuN-*$|ijJ^a%{L!bmZ`b^Up$3$$0_`WF8l#=aZ(pvFagWGvt&Hf?GCOnh)(_U}-A z;Ky-VeK|wRyY7otPOCG^`+aCPI%E4=owc*BV#0x=-$vY99BDeME6^G1C6Bvbz2=ML z_Wj1R9ci7d*7CAW@V?*AD!EOW;Edhf@g~P;-)@HvRrT4ZaI5)Rts$UP5vctny|g-1 z!jY{^U2XDcIr*X*ij;zbiaqr%#aWlDTa}l2yimC`Zl6cr7uL0egOUjjHFo_ius1_< z+zDzy)9ep%o+i2W2WlWWuVMdV8sYUE%om#!FUBN!oA-}e)tn`c-U4>HCSl!jZjkL} ztY=*pwwp2DtySS~nl_D}u$`iFj7g{%IU_IvbBa3AskzL?Ks;DkSmrjPYau&_a&)YbUFHja zjzW9%@f=b*=P{#CLx(S<#dx|+bmuvfSSce-$8{35STUq2;9p**(P`~*%QKGQ^D%bMlz8?K8=oYm$ z#lFIMi2q)t(J|>XZho+i3T+ z^iR_@1={lY*W??>98`Etu5LI$R@O|VAdg!2i1M2Za4Qk zocn6MZo{&5MB#PaHCncbTF**BDz8}m8T%L;$odNK@htSE&#~H$1n1jer-CW80oN$q z+hB&K(WUt$8omwcL7(jG+n`h$M2l=-*4T{=q(MpAs_h&|ftrxdY^Ax<;b!Ibq{B{c6)YUppx%vJvam)<~_eA&z+WVr!$9`qP@X zjjtVmku*;fxT)`ajboqihrJ$-0l+VDoFBkZFZlR_hhvI|Gs^9AQtTD#`;JQ|;AZ7uyd zN$bmQf99$C{w_UUv#0qvLC!L_0tPBnzDR`jqFvJ6-r4!iD0-c0_hZV! zu?_xDV6JO)lO`+C9;A7a^J&wUd^_~)l7UIb@A`rHJKN;X<~bg^{%9_=NAC7FF~GFL zF(TWG#fWV8W8^EhpYSf|MaA5wa-ka58^In>*2*&oSQ@)$-8+Zm1;|>nWuQ+%dp(`^-CjTRxvTmex zs4msdU57%qc=$@{&3lCC2lCOe;2E*SYn^QOd_3ptC%?w+WIS=>U8*mu7rBsxk~P$T zRp1)+8PT9QY`a%?Y|(fc00$oOcrX~@u(iij56=$+c;pVQqdU*OOL)dwR z@#m_qx^i)SYxOf6?b7Z?1@KJr@EqmwGuy*6Ab@9?hX;if4$IFb56_7KJi9$S$9QGbhc&2-JPVn%wdU!4i;JMqw^F|NPP7lwF0G|CGo)bMhgYIzU zx;B7k9N?tg2YGm=dw6aL;F<5?d6S3dZV%7r19&<;JSTa0_Ir5d2k;D7@J#ja)OmR3dw6aO;A!*l4EFGJdU$RR;MwQlImN>>;2W-7YXW#004ME!s)uK) zhvz>7c;kcpA_y?Y=31=VA}f86KXw z9-jXS;92eA8S3HL;^FyG0MD}?o?#xI{@--v`f&iyaKK5szuCicv4>|@0MBd>&s#h^ zt35o=1n_L~@C^6xJnP|kE`X=1&6Vp+56^J4OS}IufM=42=U+WMvpqcf19+Bsc;4#a z+2rB*p8%fS9-ev+Pt~_vxpJz&E*wvX08ZL{gokI6ho@fv&rA=`NDt344^M3X&jt_A zC=btW56|%dJO@2I4IZ8$-*)wLQUK2cz)Ag#_VCQ~@SGOF)9T?F!!tgB=WY+r+dVuxJv6-G+eDz(D`=-b{ z#M3f-&+%w=!hLA3#C}I`z6`+JXVZgLx6F&%hjAZA`c*n!2YBMARpTSPIMg2S3p$?B zu52aoQJ)q7`aHap(g&~#1@&PaGH*Z=x7|l%qj=Q=3a5f&zqM;!9UA6Yd>UN-vp2K9 z%knHy=#t!ep%v3R}O{t;P88R&Fd2I zV|aa?_Z(T>{VuQDyW#bj!^~?V_%Xb)?)yM)tN$Gyzklh5-)atS^HD< z`-(icQoxYBYD)5 z-RXXs-miu0pv~_8%IiM`-;EQ+M1$-)pGe`7#uVS4G{)>#zjv+xY4f{Ge#V>hm?pzC z$m+{r-uXm4cLko!MyHtjMzPVC8DEgh)Lt>$kjLS_ri@*blL_Cfd(~&~w;FD-69pw;3)6UN?Ssv{3Om}Pe-K+zL z$N9QVf7TM=s;D_%^Hbh2F>U5~uNmn!e3I}D*ih${7r@{DOp?FPkUU&lpY(ZbMq7mJ5~*Nn7$~? z@h6lm$0xZ7LZ?)tO&0f|-0t&~HD^zOyrkPzkc!3;t{2$TpqG)j5 zA17~S{qdZ>Fh{m3{ox%#9vsJzjj{O}t`na`kMXHUC0g-Z{XOwTwVH()f_BSKBj}KP z%h1WfWU23sE^MuQt+0c^3ADsd(ARytP(4siUs>w#L>7ieD z{>1FsI*x2YaY~=k$H*7g;Cuc}`svWI+b85-`!tX19+CF0&iVfJtcDxzz*+y=-3z}V zzOApFj^xY!hp$ueoXz%(C7hM9UDN3EiDN*aPE)6|H zU-}U6#Z1TbGtRjZ&(6Gsu=cV*hrq!+tJvIDr-x0x=*oWc%) z3}5DVlXM??2M_T>xQLeg-7ejm-)S0r=69Or-uzCJ?l}&b_P)UHVoTK}{l>mi>5A81 zxK`oZUJ9>&io*M3jck(wU#RqcH`-hM7+XT$+CHWE)uBUipGk^W)CSIfu7yB(d!AQR@1`|c6!Y56xbLZ)6eyDhe^{0BL8E~ptqf|@y>66!oeH_M@ z`FnuHb2}K{>>t^DK|bF{eQk5bYz?;wpF{)t!C`B)na=lS?aIze_iR)BxEt{63uUw7 zb6?A29s1&kcX>E|@@{u-Ji}|RyMWrQ4Af3|T0FQ56`bXDiH6(Z!F^W2*|Emw=cJFg z^r)TawQ1dH9Vq*o`ik}7&IxBaw%|H8%ewJ&-7i*T?R_zdn< z{vWRS)t{MS*!VPX^gE#Wkg>2LW&9xcw45v3h*yc%&(AycJ5vFt>TQ$TD3_+?>Lsj? z0$C+Jl5PK!tS>X3agH`|Wpa=k<7spmUtzA93pzN0<38~v$01)2Y0m}ted%7xLv_k( zr4M&~o@x}Md#dkb%|iEefwlKy??sWk`}FBv<_Gmo7^M$)yn=q>{+-?HNy=8Lo@8I* z%g9f559vvc*+h?m3WxsPuJsiR?#}ow`_p8l%INTi5@st9L>z}qTRo*o8pJ*^1P}z&35Kn;b1t6V*v0= zJ_bM%93)r2{)#r^=lSvJ6@{>tXM)EO*9)Hgz4ZAWy;?zUuAs-YfJ={IEj@xKdTRtd z?q}sA{Yjqt3wrwmJ@#Xl9>ZFC1W)v)K%bOH==U53cQb4_kkzLAg8X2h0?%GI*gm%A zCmhDN43GZbRPFy0%Ln<=I3Z&PHhhTJI*->n!7G~Lsvh*;4m^2@=Sk+ zlXYU+jE#MHb{F9VJSv}Dg|=e63@yTov5nD5ck&GJaJ2ojP#(*3p*$u=e0lB$9-kK@ z&kVE`lc&B2FFua$}89&3ny7mKY#UE*e_@GZ|TYRUK zWqGtYcFNBQ4c^DIOZ8Q7G>+!f*EX+r0*>$)8Z3{+vqt0D#BgTr2Q(IDm4=zDKld?g zo+c??KC9IDi*%X;(2gUnXSkv?`)e3ObDGAfdP2@hbz$Y)pxZ-owrG593|ExqJPl)L z?$kI9O%~YF+^yjcdT>0yws2Lj5sr9>XDc$k)Y~lG9+F{_#xsNAipnrS!;lQdr`X@w zp7uMAmss0We-=F7%>KynD&vOg8llHe_>`$0Ro_Lrh3J%W;KrCEZhW;wX5Zp6rLe>r}PncmlJ3 z=Pc`5oW$euZ{v!1`H1lOP~J8$Y4M##54xp8$!hXB={rQvz@*WWGKF%!gpoEN+F4>< z$|U=jYQuv)w4uwt&F`VVv+2Uex&QsAKF)aNk9X_aWL+5N*_Jdotwc9+2Y&Ugn03JlXH?#9vz@_O77noT-kNf;OXS5S6L@6 zKfTk5i!08J8Z|1DpNx5p>BQxycRF!#W!FiCqZ9m&Cqtd$jxkB@V;TBn8HeSXm>H9i zl=68k?K(967v>e#Gv|up*D@CyJ_tVaUU2%oOoez)^K>znll?=_ubT0ryKxYv%KN#| z74c>IV=jO6;=sG)O+N09#>)HWIb+6-32$-o0Q! z&cc7UvO4GH#^Sb=`Y+wC?ifw;sZV9_bw57-BSRk=YhDX=4*7Df7rv~=%>U=7II^PdvDJInJ%T-__YCe>*944En^!Kc3GwQr5J2i_4FV$uFe*jRUt&)>@qM>4f~V zAf?s@evE!2Q;hoKmVa;M%|2gEa^L9@ZJJlEX@t4eob{K1cWU&{uqNf}VpB$bT)SD> zrLV|q*B>o>TK!kqi!syGZ{5{quZ{YkI_J(ctbU{p<#p-$bp7>L!M$XE?>?KaWz%;y z9($r;v-v-wD0JYQC>+#ctAyYD%(mfm8J ze=b7Wy_B`uYrW@^{QalV$6l8Aw-8=8_qwrR=Jqrf%|4!#j>F|4$!*J+|NS+NpJ(c) z)wKH)%Wv28&+C=$yWT*5L(bZB=C>zv}ORQk$^}=|tA}<{taUbQJ8@nfI?s zo?Z^TYc-orWq!B1qB@`WVm7+pOKZdnXe3YBpSSR9f+Y8Brg-=JQT%hfk`6<4Ye?^< z%Db)?^7{Gh<&5&mexd!uV!kB%$=WWQ`-}U8@lEp(KIzQ(7`650xs*b_*O#MRFG8e1- z@mY#3|2GlEZB(is&sBdUsPtztNMEu}{7B$$BDytzE3=W4WDfbF+ds)2brR{qzH_D6 zGs0$ENFU4k;`j37^Yi>^CGG(X%`pEhSFYKS(MD2Nq5R;3Y%BV-5-;j)c%t@I;eF(Sor8GD>zWY3tu0xk@@9~vqoVqWg zO?+MZ{QLJ(KmV!ULt(~R^BxMn56uDk>_7T(8i!0RGUJp%&RntbjJG@OfX%m?T$!~t z$r5YDczocKH4YC4uAk=ozG?hV-RD>(k47)Vqp77R4i9DcjfBsO84t3@u{$=bOIc4$ z^L?Y|taP)?y?xop7v|mTt{b%e&oRzAQ2Xco-=fgp`)1!UJZAL;qA&A;&yRWjm}Cys zRDK`I`R8QF`Q;j?BK5>gsag0R{qd4@`Zhl zY!3A4hu&=`$5y|O$!S^h0rgLdHHj}2Ygz1;#&b_{r^|Dk>$kuitG;^s?an;5*Pc-Y#|h=Gh+ljFd6tFB0ZR*Sxak zl6K&Lc~f-F&-3l_w^3>DgYa|Op+g(0f9S@o zPM+Fus3Py%s{M0A8%b_c)5(4KP@ZyWSRW6qKb7jcq4)Hdyg~kHY=QA3czv>tD}o6< zJ0)?Z{r*XgQ>GpxA0%IydoMJo=P}Tux}kO1xpjQqtawav&Emc;__iq8rQ@6 zxpz6tl{w3}*BuPW8Om=3elhmA$D}`3-Z$DAPooQu7wuMeq4fy4zLhrK9Elt%?IN$G z-NQK}iYfLeKJQb1&L`qBUaw10Ll|e7-&6YVe+e5DuIE&Yn4WK!IVWTziU}ndL@>EO z{odMLu6wEa>gey~Y16&Go;B~9TSdD|H|;&3I%tFZx$R;8DlXh8=ojH{$jzeNjm0$n zOdVwONB)4LV0|?-7b&zsl8c5g4yvapuirgip;T)*h92oSYJE)bj2ieIxkfuq*70%=JSJtAytpogseaHhW?;aUS0Y# zUS;~NuQL5zJ*HosGx5gpjhLJIq!Uwqo{RqQ?@qgX?_Ox0NxmiNgyw}l9Nm*=;ZXU8 z|4sm3%UU}8d~139d)cYPLht7JRO21(<-KChP0KO6H!<1OL!RYWU;2K7JMM+{mPsyc zSY_8VIO#WPOc>wc_@7_L9s0r9`S#H7@=Ecu(70ym%d{HQpHusDZmDZ|Eqx%ZZkxz; zTfyJD3gaqsz4o?la>Xr|=WTJM>$PaxBYE0I>$OQOqTTh|w0cPTt&C4oAGz%||M>Of zy!QJ9{la=J`u0tt-Hn$Je|E3T&9}rSWiT8n-qQZYS$DA^eKQmrDo$&^FZeI4-J-95 z&}skwYwb2pjR~cXEz%Cs4@<2bclMaR8#83{rjE^yP5s)T;@OWn?OAJw3gNrq+QG(J zZ}d@n8WHP>J$!v6xoN``ZvrFHt53CI+4&+*SXg|)tr0tcJE7sb}B(wAbviGq%KFTYz)ukERn9QqNi$9xD zho(L&#=Dt2P@B0X`-kQc#eUD?``v3nHxo`LF1pWMS=TOQJ_zNTLfyFW>HBIQR#d@n z>R$`-IX9#JvdUcQSiJjHra$D2Z2nUyzn?3T+~+cmInqDEV~&eIkox>=>t9R-JbeUN11fhQ~E=P_B6LzU-4_2suIUi zzdv{9dQPrSn03~)nuzj-^qY{cyEKzr`w_JH%#1oGS<>n`S^xK>UX(fr=}FS?b28l< zTXBxCJ|X+j-hO9BnG45oiPMfVrRJoe%D&y#pi)N4$zi=%UQF&bx}baMw>`0q&j*dE z+cWv7%U5Vz_wk42ERX&tXVib8{i|~mbv_}z9vAox4#`6g9^z1IiE^zu^bDPZk+oK~ zXWv{sr|lKUe3S;47VCBmmE{YqaY~uwwT#EKwfh5O)JS56TBO=YP2WF>BuDMrpctX2~+rU`L+DX{T#LSd*<55NKWHF|8w@EkI4Jz(3K8AyVa@VD>LYaIS6PMqrSC+UXy!@kDTV?;mvp5z$!_hL_CvbCA z>2pHY$J}v>_$hT=*5`-S&c1DGa`Jnx&UyWoFDl6Vdo2wt)$iHYGwirQGz^X`^s=p8 z*xVs=X{q&P^k$N^`}(q2eWOO)e6GOn5#OTpmbyRV+9b)nH$xxkuf36VT#scfkFHx@ zW%?UmW%^w`q%VCYRPRd|%Awtj@3Q_Pc=;aj!Z;KGt}>k6;C^K_8l6u86#)D)^B|5qLS%I{e=8d!qB?Rhck@5W?qtB`}EEA z74JvtNv$dKBJnmo18;tw49R_DWGGLKFkH!9dOap%Q`WQD)`TSQ_WBi(FVfatHe8^r z*Xy;H?^p2qXsYN>w;~?MzN(_cHPy9Q*IuHZJl-zj$PwFkS_CkETi5b!J z;_94weR00_tc#gDZ8@9q{()DS{-ojL8l{g1 z<<}3K4|JV*IMt|q%Xxya5&PRwedf;r7y2C;4RnbcDO;$fHF%gt z;rMUHZYI~b?N;ZmK2f*-b(zDPpJNX#87u01 zmu}iz$EEL%?UIMIxsHp&%8)kK@%4~?Z*fZBq8xeX#&@Ud<6~y+}Bj6a3gn z(~FD4%8;fPe-GKk;lF3d;`H@WG4q|NdWp^){aBPATU@+pdP(Qc@{^_)7l-YWrk6@E zOZ=L+@%7@iTby#Qko=`$T30*aG0y_{aTFc(PDd{iZ<<~tobNA^hcvyoIIIk5dU2nD zaO0QwaN8|T|GAXh#Pibia*F$#Pl-28FA~nzi{v3qFD?!%Lz-UPy2O3g6!FmyPJpA} z*$l~(@|PK3f0W>Y{&MpI$6qAfG`&c;p6bQLkxefrDY1>*+1K9uI=s}iH%T{5FA~nz zi{v5AUtAp7^df5?IqrpOAM%ap*%j^5H~h7?ilJ8u-}t|8?akz1nir9+*tNRqYhGOVoRZC@GB=kR|8p|>!r`L7u}t(`8<+k}o!OtD^{enRALY^c?lQ^T z)A({mv zF1QXb?emYx_N?y@l5_Y_9d{)EmiVR~`m;Yz@W<&|D2Mce@%lCQT*kg0%j~bWVUE9X zVLQng^pg*LtOtJ5`+YhYFEoe3-(PX|TzfO8@^enekLhne_9^SLjjsMp>}SaX*~SPL zKRru1Yc#nr|DCANd*A(7FuEt-CtWEFIu=}5TkF&BrRzo#Wa;%=+SnrZt&G0X#+J14 zpqx2euDf=}SGF8(bt(O`R2$6hp$%NST0bh4{+2S+r`YiIVPb*WUJK93?d!43R?j3$ z=y?|@zpoFzx4vU)i*Srs*kX8VIM`p4rwNJz3imdA={#az{c*=tYSGn_!?~kwL+H-!7{jqr7DRq2V_bSuxdX?!9QV$B2 zUSs(=u%|WN{4&w^eg1VN=HPP4)6rvj3io|5Cn@6`rFV0vEbGP+#^@9EGeVMM)xSPj zd>{JTaS~^EkDxD5kEb+OL3w$a_^pwlO*uC7euAuHQ*UU<=Ni-GsO*Ith4oiy&xgtN zt+d}Sxv_>h|Hr=7PPz}y`TulHe$H>~N%lyikv8v=e5O4Ik+%Mp6^9wGxh{6=Yf~Fj zTN)q!`mo8B)X&WIy2ByY$$UF!z~2#+FljN;uNN`m)?-QT3mMik zWS`LQ3}l`m`?xVujoMiqWt|h4`Y~%QN__dgh?u3LtbF;pF#cX@Z8lBWrYE&Yb?&`d zE{dzr`_kn4jr6^8J$G*8CLYqBJD0gG4Nm5>G&pJFG&q^t(%@w7NrRI&xVJ(hteS>f(8X3u}Fm_H;XXT+>@TzTcEWf8ZG6v?p_l z^3Xp}Ci-qpC_OHF5+gme`IfVKrgJ&(re_a!zFm1)=64~4=IRn}c#pI^_Fgl#_p(cV z$=ClysUiEE-Hpe>oL(xv?s9sm_>QD6?&_gEd>!^Q7N)$dXZ}ETcgJGXxbGV)YLdd= zYge2h-#e{-NAfOES97HBdnx@f12yBH-|5it=NL_2Ji}?v^6Z~k2TmKueZMz4r?E?} z-%4D?#!Awi%$MQkv&s|mEj_kzdFb!TNZ-{j);1QoHSlTojXvA>i<)a*XXpQPzwd(^ z-)Y)I{v>IH^nSR0=Q2c%7q8w}KfQs5@3WGy`q3(N%!_2!&;e&av z&NUJ@(J6GR)*s_3)l`}7_2Zg9)-w)FX&>pyAhvPK`|TWN5HukPUFc$J1v=H?Kb z8xw`Os$e}(1I>9t?~jyYQD_fK+EZT3cuiZ+p1)do zP{DdO{e6@J%J*0(~|K;ev$Tf zto^={PkN?!^^Yu1W`9cRM&`s)=b!t=5pJu4Q!D#A`C=e7!y(efB;yApC-Gu zF4O#}?ZKY;Y)c6=;_n4%sFYO|-K64!{q1xB_oEJU#`kgGc;F)y5#-h>t~$40p&Ve~ z`ptd_y(6`4q4X-B+a}+g{WH=D=WpW|G0euSX-|KZX9u&hhyBk zkHOd0)&sDy=I1rC<+mL@B)NOUJ;lJpFB5vd{)pmbn(oEGOZG9mPgZn~Ct`H=yW4A@ zuG-(=v=`&+*Mbk?^Y`LD3tycc-D^C34EaHEeH>3-0N$HbK1^~aiTf;crvtClN8;&Y zgV(;o(+9N|)5qHcAEb{)ao;^()wx>(Lnh_tAMAL{o7jXwGY2kZ(7&2k{%Cap=%7eb%)ou~clR;Sl)n zO>FYVP8}Cat2+00r3V`qCPy0oO5<3__4P{!P%PK*x&|7KS}QM z;y%r$wVLh@e5UzY-DbDl_cdxS=4*EeKFE&ui~H{RD)hBqiT-5wHMxU%JJWr|jBh)> zR`KDF<=f?W5%L4#@pm4L#swFi1L5-i%=WkUhkkOyW2QX|jV!)4vlnCbbodaCc+D2J z8S`76`>Xoe`s)D&m*n<(@>Xm*wjF(f@>cBlUA|q$Z`$}ZRr56PQJ1IFbHttHX?8pN z(HZJ{lVhrL?!6r|$>x;@&db}F?xSljb9|ts&u{bgq4wr$-E}!1zV*FL4tx~NYXp-@ zAKRiDr_LBk?5jLcovTxqX0IpC{o;w^@_4>hnREIfH_`!N5zBm|o;6eQJij7SKh_=V zXlLNrLC}be?w3Kg6yu6A=(0|&?zg-%>rE^b6GY{?SS`#jkOd9wBYFP3f7 z8zE9&HtUze(JuXRtluAbjAZBU)BT-v*slIohN?4_4*TSkbgEvFc|T6k-(L&#*KrOp zPyR%HtS~zFvfai=7X1zP^7Pw0`6-W+{QQ0Q@-JB}^<15MUCHuW+thL1E?84(j9M%A zV@;(xdJBjthLwKh_f_#$4X^kCi_ z&+~C=hwoG>4%F`(cs@hlQCbbnZK>V#<@C#XB|W1X9ZH_G^%^`+Dsy^;@nJ(-&Z7@J zK{kovxxaCJ9WjQ(=7AwU5r$}b*!#pU5P<_x4cWGTs&~gwo*@f+7 zb+zk9t{esz<*n{?)dJi&;<+9UUspprTpGTvbi49D&MoYJq`!&k;dWPlAE(L$!n3c3 z^*2xRH^Zaf;mrXXx4HbyzkufIc1}#~q&t<7v`_adx(*Nn(5#7@=S1B#_^}--*2LNY zCv*_#SI>MD=z;R_#b*)^HXln~vgP9_Cj2;JqnCM}+^arHa$6st;n}tNdRH&h?(2o_ zt3<9O|GxW&R%Z6UVmdN$nq6Phn7^X>syfTnm*gp{z6ih37v&?44bpr+h1`Bec31J& zuLFIG`E6RvQXisYV)g*br9;uYPuIq5Rj2E(rNr#GCz;lMe9HXg$85XT?#C>(lbmhj z5@MZ}@>_ex_-qK^NYfSdk-8e9bwOW}@9{eUtgh;}yKe!rXZ)_DA%@!Uy3Z^r^^C*3J& zDc2EoZ=ba=$5-bDpwPjg>Y?!1VaI~Dr>r$0cxGYtp#4msfu0E^ZOA0 z$18TsJlodVp?xLlBW1{%Lzk36Uqt&jp}*o|iq+jJwqdurlQIy_!?`!;?=@xJ8+3WB z=reqg9ZO9vgDLw>(lSfmAibTc?M(F?$r#;BUli7wWGCNGByDOl^9aTj-t!~<l^H6wx*IkO!l9q_K@BD=I(76Tif|(Px70TLHd4pjU$R@{k-@3B7NflePw48r-e1M z&2Mu+)5KMp?xYNdJHPqQf0R4F4c9VD-yppWR%&Crr{y=YQ@Qfn*k7>CR|}hkd>-4L zYJG$MR;*bUp`2vx*$8}D>`Ae(rD!Zv=Oi!E?rFXo=~(|-kL5Vdkt62ZQjptxy^|dG zsb@C)n6A!AUb4zDNYLfHz_|pj5mR0?x|MDAJ3Duq4?M;4aM~C|eTa@3gElZPdT23q zmK}q3{#x;qUpFdc3_74`&GB&fW6-K!x-|STNVgZ*iDa);iPIf}?r$U!yB~wPG=IB1 z`u=*$++Vr;`C|~ZQ*7&K>857pdG}1lSs)Xwos64C_>`~V!o{1_#|S@;*vPoali|?g zG*7T=C(}I}efYQTJc8PNUg%!0iYu8ZpB0V+EbmmtUsT?qSG)2`oLS{1{6=0IE9o`d z7W66RLuv6teH0zNUb&y;%Eu4aoHl+Uz4prhX8y(bzq|FyvAZ=bd_tyt4Epi2$!quH zhuTTb)kW&H#~MkT?qj7sfFn&;)CWgC*VK9I;QV}{)fKIilTVrF4ym?q>!u|4lSV?x z{LoPT(J^|MoU)q1Hpq*iJn2b7i*Q z%NhDntar`>7dqC9@i*?btiu+3npi-GehvEjsrqxcXeYh>17nta_M81r#bSIh_W@XR zEXiQv#q67~&QAwnx5hQ?%!k`f`$GIXloNLmx>l8jlZcGonSXbdOWb@g$#C zr%^oRcgpWo&LDV_i~1WFx~H5o;OBOZY1#naZ;qm$$D>qWWbkDKe7vp*JlQsfM!8>8 zyNCHQaxh=~JS6}tZqj@We}qIVoV%{kbm|$8HjQ~7jg5yn8R;}C9}d%5<l0>3KR$lljM??| z#bK_xZszp*vo0MK>5Gx(Vgz4|HBDnL)lFkB9T9!%vQJE}Z@@SDVnkGP>A5p5yXF&D zUaG&j;IbR8djDm!-hI`~D=(dJ)pfJ3z3!^ZX4aiI=ZY(5&A#f|YwFIu?7A!KF1m8& zl~>FjJh-l=#$r+k#$MXM-w=KMji#2TFPcEV?$V2{oPFtMuADx-e&nS@{roGgy{3E8 zpsf3hG#4YHIwOogmsuEraQ2l~Pp_|szVyXNbD_T(1L0KD7^qTT30tq=eC=e!ggkuDj;i>Gfj( zqc291YwFn0UlmnEaXr92^9ZLSR+KmCi;*NZ&C8$D47yP|A9m}7v~poCOE%@vjyiuoQrVY zigOvx_g{I<^_QM^!4NJ6WGMyL!(r%SB!7(J54aP3IhsGl@W)yFF_u5xrang0^9N%Y!B|Ex zmJy6)1Y;S&SVl0G5sYO7V;RXjAbNuAIaTEa`%zkeI$1u$=yeB_fgz^6n7uR zOpIbIqZrF5#xjbrjAAUK7)t|VX<#f3jHQ9GG%%J1#?ru88W>9hV`*S4qZ!L+#xk0* zjAksO8OvzKGMcfBW-Ox_%V@?jhOvxcEMpkU816oXyN}`SW4QYm?mmXQpH&}SIcIuw z+I7+Ft7gxbVXS zf6#P(B)HvEqgd_AGxY+{Y)l?$I;RFKKL%;`Ccg)N&!JngZsGW3uTYCZ{D@Kr<ZY`JGY+di7V(9Zl2l^_Hgb;IuROKDdXdB*q`X z4*&O9(|&M}tW%P&cmPT@l=F5{Mq~{poy%^#?aK+|O19K^7V27bL$VgeL{KEp^#|9T zFv1?(t_AIFHELW~zj6Y7!APLS4#lU&y&Yft9%4V8?5z>H?7a0MNTsZl+<_9<6w4TP zq78Vy=$Q{56D|4aNzv~yfqEY2>+wgCr{R18=Rur<@SwsMaDJU1SRiSiB9|g>>}>uw zgvj;H3*m~L3%`m8U9xt;c`YwO3Cc92V}LH1nEZm&s2PQI_kho>jtQOzlXt-YB5h*#c;aj^~JQ1i|iT8gCS^ zV$^(5X@}`A06QPNhs--Z!G@L-x9(Hxp)R=#h{!~+=D<6MdJ$2k9ib2c_D z+i?CB=dt?5u8V$m^J?~u-J~3yHV`m~_oa72i4Q}nj$8i#gLc$3U)X%TV&fh#zGd*) zQS0)>vlgFw%XP_~=Fc|Ipc6efLv5`|E?j!&l21VY&qD*-YJlxdgy4%>?nmJ{Z3xTf zDBvj-y{rOq(R^6QCc(~R-SX!sme$?86Wuo_--es0^am@gU3EG7y^#Ddf+KY!KCIdHD8S^ z3>gm#X5Gqn-*yf-e*y}m zFnBV8OLUONo6ga2TWfB+Y2^>0rw6qoZvhl3gWMq5v*6rh>(YA>5sxHWk#JDJCC^0* z?@L|+{5`jPCV6q;_mZ|nUk9;e2kEON_d&;h1hE(BOKAIr{xBkNH;rF3KiPiU)g%{b z4V)5{#peT>VtMV#+h8Bk1OUjlkV@3y`&J8l=T@9saUO+LzYB0~$N6`hb$I0EZ1vn$ z6sZw#!Aq_8CLJphQW`}indg?T!@aZ}F^t{zP0bP_AzJv%Eo+*_Gdz;xX0W!kX5qJ1 zOubnN!BLKYI;UpktR)vgE|r8-`e{W4u7_Df^u#0M1GKih+P<#Ur^&?(niBk z(|FZWl_trZE587q*P@wF-gf)KJ#dbTlMf^xXnvoXF~D9bkKCyXm846#8flB%^bQJ_ z-SD6Fw=7TAwk|>%Y`(U6a&ywWG}*TNX_)c_Kw$`kiiiT#aHq|A;BLD}G&DLReeG!) z4=2OF(Apk_Lyi74+)?i9Z0%gQIe7qi4c?%Kl!AQoENuP)&J(bxJ{ji&IRAjNFIH>E z;hdpYZ5KYXcmX_k9sHR_B+78hpMgLKCS;c@Nc*~6Q1RSFaZE$B8oR)L=fc}pGy+N( z;?AYh(4EVm%{9=()k*`8a9BQ!h*=LgWfg>Id;v@-v-XG3cP_jDNy3a%+m~Y+2NY|m zmr@_{42|)o?x1}3IB@K#Q4NZ+9@D_zc;(FZBrhy}5u!pKchG%=qLGH%ducRV@$a}M zgPQ?wQ>3E46I`u_ZK0_3pv{yKwJ2-uB$X)JE}pvlPJE%q1>``bE#*DW<@s6u;*u+C zkeja}eJ7n%LxO8)MWM(y(8vl#DMDAaB%6^s!1?awE<^t(z|3wX;M!z! zf7XspV_nM+KrfUaDe<5;DQORvKZ~DQ@H~Q~^+lxS^=c49cVd*7=-+gss`7ZkOSHBx z`Tea=A?r6aF25PjIwdW6KeR-d>$#>mDs#c49h9Ijv=to#55VWD@lvl5IH%+MG0r!> zK8hybybR|}IO(|M;pH7m{sAPG<+d@W2DfdZa~sL1h^Yr8M%8E|Kp$vBL0PI>`uJM;h1W{GkoDU6tK5 zUPGyrR%p<8FyXHsft{XTa?!HS;v3Tc6Bv_p#_7}v=V~HIl{I=P!T$(245CDoM^wyG zkkvkq)I`HH)t8#|9;k_+AHgWr=Jt64J(hyPLK^456%NWf#cG^Z?Ch+>xdZ3RI8Qzf zYd1KT;@p7qzj4xm^6pb4-OEjl_FqhW_D9h9H=Cx>e`ws#(0F+WE{GnT{EQ~I%*3AD zr*VE6=W?7YaIVC;3g_)Ozk-vFMW052{V|n(NJY5$bo1p@;?c!9$j0G7|Rn{fHLWWTV_~5h2 zVb(T{zx5A`pIv@KvVQR3{sw;JFya)U{m7Eu)#yR zzZf_!QFv&&p2st07=o%z^-b<4+O03$+{K7!vZqH{)Uex=J0!|zHE?~ikgv1IHrnl= zUL@IDo@luX{&;@Pie%~c7hRof#UR{)fq7fas`0meH+f?5Waxp$2{p3knI@k10so&B zjfv-9WO*Jt4D+yGf@iRM^CvMmLJYTl1nV>y=(jC>GP!HzA|#lHR(y$S)Q6Fawl-a& zxG+T~ObN&jk^61%`8?zVuf{P))DOG0DY-|C_B0cxd5|jmpt7bL7o&2< zD#(TCuV4=3Lx4Z|i6Y3`zE_=!<8 z3a7_k!>|>fTe^ZW1jY{_cv2a0FUA}!93ge7gLs;UzBd*2A3cmTh1B+0B=1jvA@vEr z+D7rF!vxYkmpqASqdo{^#rm&p!Y-v~!kVyca!|N%STwe9 z4!$uCzOhomvt$$2@g-rbJ6nWK6E*{cmZV~^{2oN{Hqi-s7RV(f;MRU~+nnTE$tEiH zk&1a00iH%x7L9dOpqNAmYm#rw$KzHDaq97ovmXM6x>GLtiE;#9b7BvOqAh@bQuR^3 zn*1F3emvHy)+RfXmsfst<;7|S@FXHeO;)h%i^+jByz;{US zp)$haYcT1fi)@MWA@UJiXs>#$r>vvl9`|G|v)Mn!?r<~b+=HmZiCbHNlu zk68^di(H!&Ued#C;QXAzt71eXq4CRKr0E8Q7iTD%ULdn9`ZQKjA4s;Xcm^@I8H2{Q zn#DKcV~d*f&>kAf#Qs=tp-8$5oH+5`30gnJscfVy1Z^PKtu;Gm*3{TB5}qSn8+O0u z+SylKab-kX7#KBZ{=TI@YQ#Azb^U(HAD7;Z(FK*y(#LMwi+Mp;>tYO?E4~hfAHq0! zquTnI1Epb^39A_xmocfrRE;inqQFbBAILNW!Ky~IEtReY2t|d7ao)M+y1AZ zuEU9{mDjJSRZXzAVIba)h}C4B6*O8<&#(LDaSaEa(Kz+EN0`ii3Wmm_IcWc)f>AN5 zsHuWkPwKYf^CepAp_%P&nDpxlb|zi7{UUh?v+zf(Y&qas4Lsk(ndcoYMd@Vy^0~=c zgaOZdxvr&>3G?IaH$UFe2HZ4-TD}uLMZ+d)A>yM30{;PmZC!XSEj^=LTubZe{aFD` zyZ0wN}645d;&F>bmuO%r9xh4CJ;q-MHY7D}O{wU?6rEnHj~AC_KRX zUhw@gPHh*W-$IME&%sT!DS%96r%s(r)M5eHQ&Y+gEtZm)dMgd{KW(Q*(Oo!0*&80F z$tqN80->rA;{yWMi9_(~IGlzlHRIA6K{iLeY56au0V?3O*0j91croG~>l4Nq`@=s~ zNsWa@Bq8h?@!}1Pju@p16-a0c;7)u2O8|*jJ=>!=M2Ufh=LB2PB=GbhoZ8ozBT(MX zmgI%&ZRkgiim*0)$p@cBzn4^BF-~A1Zo9_PiTxU^M$kUs7PWUo3nHpmXDm5<)SZTT zE6%)LV0=t)X(ndeNNrotIwUz8KFCkZ5|r6Yqg_FK-H8EWdreCxPv)qD;g>$AgU;1B zwXB3{>0j7q6&T611MR6q`~)Z?OF?%clU!j|WuC$$0s&7m93nn(@M5LBpE zcvKvA*0kJ(Nx>fImiB3AY2FObWQSJZUaIh`@sW3OFrVmP*K#(Luy~Ka=9NC)!8M#> zjt3lnwtTXx!3Yi1dV*E6^yA50sVn<6&#xxUa znYPM_=<`L@Px)i>=V7eXQ<{_Nc=ah|+XLwiS{F=pgt!&Xwyj5wD z78{?aS^fe_?}y-LcP{*D>+N72O1_0+luGg^^GetS+`m(NaIJAZ_@Jo|P_am~*roQW zU<~8QmPLhU>`?4Y;AAd%c^K}T$8cv2Ta~h_hzA;%G5;nxXnXQ`8YCfrmMqU9)}Da7 z8K>2O+Hpo&`RXkbkZZTWT@+@NEGlbYO$8i#Ms!dDVZ+T#yg*|&@cu#ZuGTn| z{b)#66Ew{O*=y`D$cR(qS7*@1^CxbTy&Hk&E$v-B9*_}t4ib7uCtnlb5f~Tl)*mdH z8Bv{rea@#5Mt49;EU<3lJsmjd=H|=uTKhG4-GfuxgjV>m-M)>6SFDE6rjgpuqnLYy z!przHA*g*b=6^U9!Ntpwn$%Lf*u`A<)tkSAUUth^ucT1Y1VS;HoCG`{#A#q7MDrh$ zJLtcrOXxp$N*ApH>^E@gc;Xb}kXrB(*%(1G*a%DZ=|G>SZ9gUAGvo$_N4R~{_?6#O z%ODR>f9_3vqqkr^8>dh=J;ju_gku&wK_%dDr&lGNMaXl6hegq6fcrmiYFmJ%$C8H- zXXEieO%oNzNXNG>&>KV>)tbFoEG}4+TMazl#OYGaFR?~@(e@`xi~M=v3N@(lem&}o zmZg7heoyno80%8df)7nBY(Us01pU6+HM$1$^^g}U{WjwolSja8B^ z&jHp@K>sGogNkKJS!)pSp0@u0sqevX^tkf>O)jFUGqDzo)6ub7r_^Grm2K&PSl0mj zML31mrh_!Cok+3snXx(i$}_+q_~E);Co(-CuOYWJ^7l zLH+^r&_*LoOuA6v&sy{}m{$)$Ed4vJ`u+#_{|&yNs*%?<+~tXAANc&Um8bc7V@v23 ztLFI6#?Y#_M$sKOb=?Gwx6xLlVq*&wO}>oD36zH2>KbB(rW;K+Hh%(1x z1-8Ml3Vh?z_axi6;pW8)FF?|#>1~IyI@K0iKibgz>gHgNb#+AQEt^FWe_CbiYv#D{}7nc5a^W5g8OXgxLQdwq; z+9q+_1n=91pMb{V|F5(2f33QV;`jxP;=}$31p}ifG|RF;ECi)6D!)YThcq1tnl_dR z2I*%)ySwe)-P{+;mbe6UnhMhVQZlt|PP|6c2*WR1n$4}mD?@TLHnq`iHQ+sJ>b?f}nY@zQARDyH$nXK$ddz zw!&VD4WpL-@{5i2IacWkN3vfuFAqB###+~SbAEs|%Fw^hz)inZKhNbg`=~L-BT8@7;D{D)8ZDhbDS;w( zg_N%s|j^LEV{ZM(-mT7$Q8t>e(>N!CjIOr(u?MZU};-(jTXqC@Et4>EAUJ5PeZ ztZrUQx%7n~|BCyHlm65KO;I z1ieE{lmn|R%-@;ticKBFRapL55r8l8%#b~2e#iFeD6$;IuDX;Bww}gObIYd+*?y5C zV@G(lsShMGU71feE3n1!PIIf|Q!&b6XxSqMJaT29<3603Y<-BRJnW zT0@Kp%+YP3vPd+Hu6U}Jr#fh4T@J-kD&EX?(?WH(_zP7AwDASCLiLU}TNYt5)my8B zHf|g-3Z~!Hhyq_(LDV$us^+C|+i3`-a_(pXIx?5TK|2!m=>pT--PoXl@Hq|}SkZ>l zl#x}gZ438nN9@n^r}04yySwB*gHJ*H49yHRI&h`Ji^V13_3Yo--$`tCw|}o)#@0d$1mp=aqpXMJ?>$R_OcyM)#3PB^3iV&i%2Prj`b zWV>4jAwUYnA<_B0Viz$W-?uq!qZBE9xl8jSQ8EwB28+Omaf62_ z;6lI6|Abr$hh=LK^2F`%c>Z2^*lOyY*{z#E2c=3ts8i0_vQaKadYMLmAv$nh67Ei+ zeM2ycJ)3HNurJ7+0NSMbDN?nJV;0)HPQ?Eq*uJ!>Xwrl9;&T__7Y7;3Hi%r88SYZ6 zmF4#qrfqISMxm+kB)%MZCX@MwF~NSl;I8P{Z}G&AZdJ<8hMgX@eJMP6r0|8Hj`P;m^|I(Sjto5YN1sK z@iebtZnDCeB8?r^4@0W%MeoOW7Ok=t)zREJ?VwMjKf`@2n)%b2i`Y?H=I~Y&%sXQ0IdZ6)Mqsb*xy~%S%Dw|$A(;n z&>4OPt&~z}X7cmY1{mH3(224>*b36!#!5an@%%@O6rXN7OQ|n#1q-~&=K%gE-VN;q zJM7=;@d!4@$w6oxtEA^m0_MGu3#RhPBI62lU)rwZoHEptpgRSXaTgAF?jD9P=foI5os$idvcT^J8a4VMgouO z>CWBs4xWTFn#6YU@>BQ=`u!Tazo?g=O3mLPie7;72TctK8L6z~On5k&E6k5?B9?QT zQ1l5mfm)j1Kr^>4OK_QM0{d$~*(!lXpT}#~u3CpYzLObEP9oHQm*@Yi7%S4Nb@j%& zl{8e9V38pK#q;(=fpj=LkiBcF1vpGAFG_H@z)YQ6C54a_sBw;~OGlr6UzsWaZXrAB z#T^LVhEkB;Ekr#rk1d@=r_!@7Ty9-uxAW@(#}xOf01s0jYQtN+^k7-@zJ?nF>GCJN zv=8+bgp0aV|7HgWW xWe<5?mAg;;&HUQh^|e#xOj+}8-Rj!f4e!@Y*|4H^#k$q}H2vXKk31e^{sBuzB8LC~ literal 0 HcmV?d00001 diff --git a/tools/pythonlib/tests/TOH/files/LITD04P.SCP b/tools/pythonlib/tests/TOH/files/LITD04P.SCP new file mode 100644 index 0000000000000000000000000000000000000000..a4b6d541fdb11faaf42f285df366f2911550987b GIT binary patch literal 40218 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 literal 0 HcmV?d00001 diff --git a/tools/pythonlib/tests/TOH/files/STRT00.SCP b/tools/pythonlib/tests/TOH/files/STRT00.SCP new file mode 100644 index 0000000000000000000000000000000000000000..1e82a16dbcabf218bff93239391b2814b9fc1f85 GIT binary patch literal 90019 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 literal 0 HcmV?d00001 diff --git a/tools/pythonlib/tests/TOH/files/VOLD01P.SCP b/tools/pythonlib/tests/TOH/files/VOLD01P.SCP new file mode 100644 index 0000000000000000000000000000000000000000..a61aca6866879bb60ca0f896e9698e49e057be84 GIT binary patch literal 82280 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%0AC&QTlD975 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と", + "82 CD 03 28 33 29 83 4A 83 69": "はカナ", + "03 28 35 29 83 54 83 93 83 53 91 44 92 B7 03 28 30 29 82 CC": "サンゴ船長の", + "04 28 4B 4F 48 29 82 C9 82 E2 82 C1 82 C6 89 EF": "にやっと会", + "04 28 53 49 4E 29 82 C6 04 28 4B 4F 48 29 82 AA": "が", + "04 28 48 49 53 29 82 C6": "と", + "81 BE 82 C5 83 60": "でチ", + "0B 28 32 29 81 7B 81 BE 82 C5": "で", + "81 BA": "", + "09 28 56 53 4D 5F 32 34 5F 30 32 30 5F 30 30 35 29": "", + "09 28 56 43 54 5F 30 31 5F 30 30 31 5F 30 30 31 29 82 A4": "う", + "09 28 43 30 32 30 35 29 82 E0": "も", + "09 28 53 30 37 31 34 31 30 29 89 BB": "化", + "90 6C 0C 09 28 53 30 37 31 34 31 31 29 8E E5": "人主", + "0A 8E E5": "\n主", + "62 65 72 79 6C 30 30 5F 65 30 31 33": "beryl00_e013", + "25 73 20 25 64 20 83 4B 83 8B 83 68": "%s %d ガルド", + "28 65 39 39 66 30 30 29 92 B9": "(e99f00)鳥", + "2F 62 74 6C 2F 63 6F 6D 6D 6F 6E 2F 73 68 61 64 6F 77 2E 64 73 33": "/btl/common/shadow.ds3", + "0E 01 0F 01 14 01 15 01 16 01 17 01 18 01 19 01 1A 01 1B 01 1C 01 1D 01 1E 01 0E": "{0E}{01}{0F}{01}{14}{01}{15}{01}{16}{01}{17}{01}{18}{01}{19}{01}{1A}{01}{1B}{01}{1C}{01}{1D}{01}{1E}{01}{0E}" +} \ No newline at end of file diff --git a/tools/pythonlib/tests/TOH/test_tags.py b/tools/pythonlib/tests/TOH/test_tags.py new file mode 100644 index 0000000..17a7862 --- /dev/null +++ b/tools/pythonlib/tests/TOH/test_tags.py @@ -0,0 +1,128 @@ +import os +from pathlib import Path +from pythonlib.games import ToolsTOH +from pythonlib.formats.FileIO import FileIO +from pythonlib.formats.text_toh import bytes_to_text, text_to_bytes +import pytest +import pyjson5 as json +import pdb +from io import BytesIO +base_path = Path('pythonlib/tests/TOH') + + +@pytest.mark.parametrize("n", [0,1,2]) +def test_colors_to_text(config_bytes, n): + input = config_bytes[n]['byte'] + input_bytes = bytes.fromhex(input.replace(' ','')) + with FileIO(base_path / 'colors_to_text.bin', 'wb+') as f: + f.write(input_bytes) + f.write(b'\x00') + f.seek(0) + expected = config_bytes[n]['text'] + res, buffer = bytes_to_text(f,0) + assert res == expected + assert buffer == input_bytes + + +@pytest.mark.parametrize("n", [3,4,5]) +def test_names_to_text(config_bytes, n): + input = config_bytes[n]['byte'] + input_bytes = bytes.fromhex(input.replace(' ', '')) + with FileIO(base_path / 'names_to_text.bin', 'wb+') as f: + f.write(input_bytes) + f.write(b'\x00') + f.seek(0) + expected = config_bytes[n]['text'] + res, buffer = bytes_to_text(f, 0) + assert res == expected + assert buffer == input_bytes + + +@pytest.mark.parametrize("n", [6,7,8]) +def test_buttons_to_text(config_bytes, n): + input = config_bytes[n]['byte'] + input_bytes = bytes.fromhex(input.replace(' ', '')) + with FileIO(base_path / 'buttons_to_text.bin', 'wb+') as f: + f.write(input_bytes) + f.write(b'\x00') + f.seek(0) + expected = config_bytes[n]['text'] + res, buffer = bytes_to_text(f, 0) + assert res == expected + assert buffer == input_bytes + + +@pytest.mark.parametrize("n", [9,10,11,12,13,14]) +def test_voiceid_to_text(config_bytes, n): + input = config_bytes[n]['byte'] + input_bytes = bytes.fromhex(input.replace(' ', '')) + with FileIO(base_path / 'voice_to_text.bin', 'wb+') as f: + f.write(input_bytes) + f.write(b'\x00') + f.seek(0) + expected = config_bytes[n]['text'] + res, buffer = bytes_to_text(f, 0) + assert res == expected + assert buffer == input_bytes + + +@pytest.mark.parametrize("n", [0,1,2]) +def test_colors_to_bytes(config_text, n): + input = config_text[n]['text'] + expected = bytes.fromhex(config_text[n]['byte'].replace(' ','')) + res = text_to_bytes(input) + assert res.hex() == expected.hex() + + +@pytest.mark.parametrize("n", [3,4,5]) +def test_names_to_bytes(config_text, n): + input = config_text[n]['text'] + expected = bytes.fromhex(config_text[n]['byte'].replace(' ','')) + res = text_to_bytes(input) + assert res.hex() == expected.hex() + +@pytest.mark.parametrize("n", [6,7,8]) +def test_buttons_to_bytes(config_text, n): + input = config_text[n]['text'] + expected = bytes.fromhex(config_text[n]['byte'].replace(' ','')) + res = text_to_bytes(input) + assert res.hex() == expected.hex() + +@pytest.mark.parametrize("n", [9,10,11,12,13,14]) +def test_voiceid_to_bytes(config_text, n): + input = config_text[n]['text'] + expected = bytes.fromhex(config_text[n]['byte'].replace(' ','')) + res = text_to_bytes(input) + assert res.hex() == expected.hex() + +@pytest.mark.parametrize("n", [15,16,17,18,19]) +def test_misc(config_text, n): + input = config_text[n]['text'] + expected = bytes.fromhex(config_text[n]['byte'].replace(' ','')) + res = text_to_bytes(input) + assert res.hex() == expected.hex() + + + +@pytest.fixture +def tales_instance(): + insert_mask = [ + '--with-editing', '--with-proofreading' + ] + tales_instance = ToolsTOH.ToolsTOH( + project_file=Path(os.path.join(os.getcwd(), '..','TOH', 'project.json')), + insert_mask=insert_mask, + changed_only=False) + return tales_instance + +@pytest.fixture +def config_bytes(): + with open(base_path / 'test_tags.json', encoding='utf-8') as f: + json_data = json.load(f) + return [{"byte":k, "text":json_data[k]} for k in json_data.keys()] + +@pytest.fixture +def config_text(): + with open(base_path / 'test_tags.json', encoding='utf-8') as f: + json_data = json.load(f) + return [{"text":json_data[k], "byte":k} for k in json_data.keys()] diff --git a/tools/pythonlib/tests/__init__.py b/tools/pythonlib/tests/__init__.py new file mode 100644 index 0000000..e69de29 From 04eebf6363fa5a1c1fde7cca060b3c05f19c11e1 Mon Sep 17 00:00:00 2001 From: Stewie Date: Fri, 11 Oct 2024 11:33:11 -0400 Subject: [PATCH 5/8] Adjust ASM for textbox hack --- project.json | 2 +- tools/asm/adjust_textbox.asm | 6 ++++++ tools/pythonlib/ToolsTOH.py | 20 +++++++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 tools/asm/adjust_textbox.asm diff --git a/project.json b/project.json index f30e206..223ca13 100644 --- a/project.json +++ b/project.json @@ -18,6 +18,6 @@ "saved_files": "./tools/saved_files/", "tools": "./tools/" }, - "asm_file": "main.asm", + "asm_file": "adjust_textbox.asm", "main_exe_name": "arm9.bin" } \ No newline at end of file diff --git a/tools/asm/adjust_textbox.asm b/tools/asm/adjust_textbox.asm new file mode 100644 index 0000000..7631fb5 --- /dev/null +++ b/tools/asm/adjust_textbox.asm @@ -0,0 +1,6 @@ +.ps2 +.open __OVERLAY3_PATH__, 0x213A4E0 + +.org 0x217D650 + + .byte 00 \ No newline at end of file diff --git a/tools/pythonlib/ToolsTOH.py b/tools/pythonlib/ToolsTOH.py index 460ac48..a604a03 100644 --- a/tools/pythonlib/ToolsTOH.py +++ b/tools/pythonlib/ToolsTOH.py @@ -136,7 +136,25 @@ def make_iso(self, game_iso) -> None: def update_font(self): shutil.copyfile(self.paths['new_font'] / 'trialFont10.NFTR', self.paths['final_files'] / 'data' / 'trialFont10.NFTR') shutil.copyfile(self.paths['new_font'] / 'trialFont12.NFTR', self.paths['final_files'] / 'data' / 'trialFont12.NFTR') - + + def patch_binaries(self): + asm_path = self.paths["tools"] / "asm" + + env = os.environ.copy() + env["PATH"] = f"{asm_path.as_posix()};{env['PATH']}" + + r = subprocess.run( + [ + str(self.paths["tools"] / "asm" / "armips.exe"), + str(self.paths["tools"] / "asm" / self.asm_file), + "-strequ", + "__OVERLAY3_PATH__", + str(self.paths["temp_files"] / 'overlay' / 'overlay_0003.bin') + ]) + if r.returncode != 0: + raise ValueError("Error building code") + + def update_arm9_size(self, game_iso:Path): with FileIO(game_iso, 'rb') as f: From d869d989a5602a5bca275dfc26a0661acc3be743 Mon Sep 17 00:00:00 2001 From: Stewie Date: Fri, 11 Oct 2024 11:35:22 -0400 Subject: [PATCH 6/8] Update Batch_Files.zip --- tools/batchs/Batch_Files.zip | Bin 1147 -> 1104 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/batchs/Batch_Files.zip b/tools/batchs/Batch_Files.zip index 9a6b8812661ef690237898f5b1be8d26b4e5ca86..85716c9f676aa66bfae927ad5b5735a5ff321e64 100644 GIT binary patch delta 791 zcmey(ae<>gz?+#xgn@y9gTW-yJ5nLv#C#r*cNvHUfY`YxHL)Z$-l;S*Cq*wQvBb3R zAXl@2fXn;Vf6gatKT20=e0jD|jeLA>Z?azBFAwE9e88qHkxjhm(zR{V%{rog z%W51HtPW8F_zP`b3C_UaCXE4KR+KChd4((Cyo zF^L;`Qx;9|H2vzGsG_lkXWn9`UArE%Tx6BD^~_EAI-&Yl&4hGjImyRg`i*8DV>-t@ zSzEKZaJ$eS283tafu1RRy7I;=peNiWzEr9=?f1<-Y{1h7bUAzCiHql$k~bXWv+enM z&H1!nspPWso$J+oF_vKNV)cYSV-dZfj- z61m#XuJ!kB^UXfB!{%)MyF14jx{|-_tO=QS?rG7UpFdnDzvC)ln%Y)zblO?d;|gBv z%MZ(Gq{v8^=q_1g(%xvrb#3;8O+B#^Wsf4c1;0zlZoKesdXZ5a+m^hGN0>xb_cMLz z;XOL1`>mTpa?zx>Gd}VoLg8hYcVv15-?tuydIp9~z@QKVV%Lh2qQvBqc-OMjqRNtt z%)E3^%&G!ow#9(Q_t zZ}W0Rw!eGbb^eg7)kkTrn~Xf%L7o0Dsq4dqcHn2~`&8t5|+U}R7Ll4mBLW!92Mcpu?=gqru0#aPrB{U_V9 R$S|&-9K|BdX2}ea1pwlSN8bPd delta 862 zcmcb>@tdPQz?+#xgn@y9gMlklFJjUK28Ja--V-1e0AlB&)Wnk1c&F0LoD{vJ#1dP- zi(JhHJT>xfw;d3jsqD^1lE?;uffkWrz|F0)`t=K!SUDZwd zR2*uyn0KOf&Z4=7lk5_GzU?+B%%67iaJ@|TpT|nmY*O6kBVOfqZ~iJ}t4A`k z^jkImwe?;1Z_Bwv_tIs&=TD!zDjT-`*W31z9Zg)? zN1}qAR~H>J+*GB@pD1(gic4*pBGc8z4~<`al37yoS1GOUzF2l`@#T9PdbSG2JrSM~ za5Qe>#=wsM^O7vLC@+l6E@E49TUT=htL!D!<-g}1;5+DXtn;NfB8-d#-Sr}#RH$gK z00zzxU?7PxOn$>GQNOm=5g641uHRelB^J#8BBXo6b>jkW$4eGjIUY`FB718WJNYZr zv?V_K|9$HwF(b{_&c?fT>Xn)_t_+)Xc8$bS_rkKhEuC#;pYQ!!)%9oZrw4bx-4kCi z#WhQg`_zUej@|Y9Iq!GMgr*36|0K3ZK5(;)W~<|u2>}h<$3wUd$!s)L%J0gkdOT(7 zx}{HEOU!%n@Xj_C-J8e1*1WoIFxRhk;cTHR?Pk8Fg8vv0UU71tyql?u7bPK24q`Tx z$CeI&zGYx!PymvbCO(&&e1Mrp-UuTkK#E|>{!M<(tR@FkveEy| Date: Wed, 18 Dec 2024 20:53:11 -0600 Subject: [PATCH 7/8] Fixing linespacing issues (#54) * Fixing linespacing issues Beginning convo with Zex Meeting Kohaku and Hisui at the beach Inside Gramps house * Update FSHI00.xml Fixing line breaks and shortening wording in Zex's home. * Update FSHT00P.xml --- 2_translated/story/FSHI00.xml | 72 +++++++++++++------------ 2_translated/story/FSHT00.xml | 6 +-- 2_translated/story/FSHT00P.xml | 98 +++++++++++++++++----------------- 3 files changed, 90 insertions(+), 86 deletions(-) diff --git a/2_translated/story/FSHI00.xml b/2_translated/story/FSHI00.xml index 3a4e952..24a1907 100644 --- a/2_translated/story/FSHI00.xml +++ b/2_translated/story/FSHI00.xml @@ -75,7 +75,8 @@ belly is really the best! グミ焼酎をいれて煮こむのが 秘訣なんだぞ See? -The secret is to cook it in some liquer gel. +The secret is to cook it in some liquer +gel. Maybe "That's right" for the first phrase 2 2 @@ -89,9 +90,9 @@ The secret is to cook it in some liquer gel. ゼクスさん……となり街の 兄の娘が、もう何日も口もきかず 部屋からも出てこないらしい - Mr. Zeks... My brother says his daughter -hasn't spoken or come out of her room for -days now. They're in the next city over. + Mr. Zex... My niece hasn't spoken or +come out of her room for days +now. She's in the next city over. 3 3 @@ -105,9 +106,9 @@ days now. They're in the next city over. 兄は、例の『デスピル病』じゃ ないかって心配してるんだ…… ソーマで診てはもらえんかねぇ? - He's worried that she might have contracted -that disease called "Despir." Could you -check up on her with your Soma? + My brother's worried that she caught +that disease called "Despir." Could +you check up on her with your Soma? 3 3 @@ -121,9 +122,9 @@ check up on her with your Soma? デスピル病! 最近、流行って るんだってね。スピリアが 暴走する原因不明の奇病なんだろ? - Despir! It seems to be rampant these days. -It's that strange disease which causes people's -Spiria to go out of control, right? + Despir! It seems to be rampant nowadays. +It's that strange disease which causes +people's Spiria to go out of control, right? 1 4 @@ -137,7 +138,8 @@ Spiria to go out of control, right? その上、普通の医者や薬では どうにもできないときている On top of that, ordinary doctors and -medicines can't do anything to treat it. +medicines can't do anything to treat +it. 3 5 @@ -151,15 +153,15 @@ medicines can't do anything to treat it. う〜ん、『スピリア』ってのは 難しく言うと精神と意思を生み出す 『生命の根源』だからねぇ - Let's see, to put it simply, "Spiria" is the -"root of life" that gives birth to our spirit -and will. + Let's see, to put it simply, "Spiria" is +the "root of life" that gives birth to +our spirit and will. 1 6 1 1 - Problematic + Editing 59884 @@ -167,15 +169,15 @@ and will. それを癒せるのは、人の スピリアの中に『リンク』できる 神秘の武具『ソーマ』だけさ! - Only Somas, which are a type of magical -weapon, can "link" with a person's Spiria -and heal them. + Only Somas, which are a type of +magical weapon, can "link" with a +person's Spiria and heal them. 1 6 2 1 - Problematic + Editing 60092 @@ -184,8 +186,8 @@ and heal them. ……スマンが、ワシはソーマを 気軽に使う訳にはいかんのだ Stay quiet you fool! -...Look, I'm sorry, but I can't just go using -my Soma willy-nilly. +...Look, I'm sorry, but I can't just go +using my Soma willy-nilly. 2 7 @@ -200,9 +202,9 @@ my Soma willy-nilly. たら助けろ。美人が困ってたら 絶対助けろ』って言ってるクセに Why not? You always say to "help out -someone in need." And "if it's a beautiful -lady, then definitely help her out." - +those in need, especially if it's a +gorgeous lady." + May need to rewrite this phrase since Shing uses it again when meeting Ines. 1 8 1 @@ -243,9 +245,9 @@ lady, then definitely help her out." この前は、村の広場で 突然暴れだした奴にリンクして すぐにおとなしくさせたじゃないか - But the other day, when that guy started -acting up in the village square, you linked -with him and got him to calm down. + But the other day, when that guy was +raging in the village square, you +linked and calmed him down. 1 11 @@ -289,7 +291,7 @@ too up until then, Gramps. 憑いておったからな…… I hadn't intended to reveal it, but the man who was acting up had been -possessed by a "Xerom...." +possessed by a "Xerom..." 2 12 @@ -303,7 +305,7 @@ possessed by a "Xerom...." まさか、『彼女』の身に何かが? ソーマリンクの感触では、かなり 力が衰えているようだったが…… - Could it be that something happened to "her?" + Could something have happened to "her?" From the Soma Link, it seems that her strength has diminished greatly... @@ -319,9 +321,9 @@ strength has diminished greatly... ……無理は言いたくないが 教会もないこんな辺境では ゼクスさんを頼るしかないんだよ - ...I don't want to impose on you, but in -such a remote place that has no church, we -have no choice but to rely on you Mr. Zeks. + ...I hate to impose on you, but in such +a remote place that has no church, +we only have you to rely on Mr. Zex. 3 13 @@ -689,9 +691,9 @@ hidden under the nukazuke! そうさ! 思念術を操り人間のスピリアに リンクできる神秘の武具なんだ! - Yup! It's a magical weapon that can manipulate -the power of Will and link to human -Spirias! + Yup! It's a magical weapon that can +manipulate the power of Will and +link to human Spirias! 1 37 diff --git a/2_translated/story/FSHT00.xml b/2_translated/story/FSHT00.xml index b8ec1aa..cb8e27a 100644 --- a/2_translated/story/FSHT00.xml +++ b/2_translated/story/FSHT00.xml @@ -237,9 +237,9 @@ then I get assaulted by some pervert! ごほッ……泳げない兄を 海に突き落とす妹も そーとー最悪だと思うけどな? - Gah... I think the sister who decided to -push her brother into the sea knowing he -can't swim is just as bad, don'tcha think? + Gah... I think the sister who pushed +her aquatically challenged brother +in the sea just as bad, don'tcha think? 3 7 diff --git a/2_translated/story/FSHT00P.xml b/2_translated/story/FSHT00P.xml index 259feeb..b147fbc 100644 --- a/2_translated/story/FSHT00P.xml +++ b/2_translated/story/FSHT00P.xml @@ -20,10 +20,10 @@ ゼクス - + Zex 3 - To Do + Editing @@ -52,26 +52,26 @@ インカローズ - + Incarose 7 - To Do + Editing おばさん - + Old Lady 8 - To Do + Editing リチア - + Lithia 9 - To Do + Editing @@ -84,18 +84,18 @@ 砂浜の少女 - + Beach Girl 11 - To Do + Editing 近所のおじさん - + Old Man 12 - To Do + Editing @@ -320,7 +320,8 @@ knocked out again. 誰かが『探し出せ』って 叫んでて…… Hmm... but that strange dream I had. -Someone was shouting to at me to "find it"... +Someone was shouting at me to +"find it"... 4 15 @@ -334,9 +335,9 @@ Someone was shouting to at me to "find it"... ま、今は夢なんかより『ソーマ』 だ! ジィちゃんから一本とって 『ソーマ』を譲ってもらうんだ!! - Oh well, who cares about some dream, it's -a Soma I want! I'll land a hit on you and -get you to give me your Soma! + Oh well, who cares about some dream, +it's a Soma I want! I'll land a hit on you +and get you to give me your Soma! 4 16 @@ -398,9 +399,9 @@ I managed to win against you then... ばかもん! ワシは長寿 世界一の座を狙っとるんだ!! あと十年や二十年くらい…… - You fool! I'll be taking the title for the -longest living person in the world! -I've still got a good 10 or 20 years left... + You fool! I'll be taking the title as +the oldest person alive! I've still +got a good 10 or 20 years... 3 19 @@ -429,7 +430,8 @@ two feet, I won't be retiring anytime soon. いいか、<Shing>。 真に鍛えるべきは『ここ』だ Listen up, <Shing>. -What you really need to work on is "here!" +What you really need to work on is +"here!" 3 20 @@ -455,23 +457,24 @@ What you really need to work on is "here!" 違う。 人の精神と意思を司る 生命の根源……『スピリア』だ - Wrong. I'm talking about the root of life... -our "Spiria" that controls the spirit and -will of man! + Wrong. I'm talking about the root +of life...our "Spiria" that controls +the spirit and will of man! Need to check "thoughts" or "will" 3 22 1 1 - Problematic + Editing 56904 S010116 スピリアは、この世界で一番強く ……そして一番脆いものだ - A Spiria is extremely powerful... yet is also -the most fragile thing in this world. + A Spiria is extremely powerful... +yet is also the most fragile thing +in this world. 3 22 @@ -485,9 +488,9 @@ the most fragile thing in this world. 激しい感情—— 怒りや憎しみ、恐怖……また時には 愛や夢ゆえに乱れ、壊れてしまう - Strong emotions - like anger, hatred, fear, -and even love or hope can disrupt -and break it. + Strong emotions - like anger, +hatred, fear, and even love or +hope can disrupt and break it. 3 22 @@ -501,10 +504,9 @@ and break it. ソーマには、それを癒す力がある。 だからこそソーマ使いは誰よりも 己のスピリアを鍛えねばならん - A Soma has the power to heal it. That's -why, more any anyone, a Soma user -must train his Spiria - + A Soma has the power to heal it. +That's why, more any anyone, +a Somatic must train his Spiria. 3 22 @@ -518,9 +520,9 @@ must train his Spiria <Shing>よ、一時の感情に 流されない、本当に強い スピリアを見極め、育てるんだ - <Shing>, don't let fleeting emotions get the -better of you, nurture a Spiria that is -discerning and firm. + <Shing>, don't let fleeting emotions +get the better of you, nurture a +Spiria that is discerning and firm. 3 22 @@ -535,8 +537,8 @@ discerning and firm. 強いスピリアも 腹ペコにはかなわないよ Gramps, let's have dinner already! -Even the mightiest Spiria is no match -for a hungry belly. +Even the mightiest Spiria is no +match for a hungry belly. 4 23 @@ -563,8 +565,8 @@ for a hungry belly. ………………遅れて家に 入った方が後片付けだぞッ! But all right, let's eat. -...Last one to get home has to clean up -after! +...Last one to get home has to +clean up after! 3 25 @@ -592,8 +594,8 @@ That so unfair, Gramps! なんだ!? 十六にもなって外の世界 を知らないなんてオレだけだよ Damn it, why can't I leave the village!? -I'm the only 16 year old who doesn't know -anything about the outside world. +I'm the only 16 year old who doesn't +know anything about the outside world. 4 27 @@ -606,9 +608,9 @@ anything about the outside world. ……けど、約束を破ったら 『スピリアが弱い』って ジィちゃんに笑われるしな…… - ...But if I break my promise now, Gramps -is gonna totally mock me again and say -that my "Spiria is weak..." + ...But if I break my promise now, +Gramps is gonna totally mock me +again and say that my "Spiria is weak..." 4 28 @@ -636,15 +638,15 @@ my Spiria-" 『大いなる海の眺め だけなのであった』 〒〒〒〒〒BY<Shing> - "is the only thing I have: a singular view -of the great Sea." + "is the only thing I have: a singular +view of the great Sea." By <Shing> 4 29 2 1 - Problematic + Editing 62248 From 4c10c6911842d43ee6069f547a52d40869123109 Mon Sep 17 00:00:00 2001 From: maxle <78056328+xsonicdragon@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:55:35 -0600 Subject: [PATCH 8/8] Finished story translation at Mount Grimm (#53) --- 2_translated/story/MOUD03.xml | 183 ++++++++++++++---------- 2_translated/story/MOUD03P.xml | 254 ++++++++++++++++++++------------- 2 files changed, 263 insertions(+), 174 deletions(-) diff --git a/2_translated/story/MOUD03.xml b/2_translated/story/MOUD03.xml index b37869a..94062ff 100644 --- a/2_translated/story/MOUD03.xml +++ b/2_translated/story/MOUD03.xml @@ -36,18 +36,18 @@ ペリドット - + Peridot 5 - To Do + Editing 青年画家 - + Young Painter 6 - To Do + Editing @@ -64,25 +64,25 @@ 71528 S031401 いた! - + There they are! 1 1 1 1 - To Do + Editing 71656 S031402 あの子……なんで逃げないのさ? - + Why doesn't she just run away? 2 2 1 1 - To Do + Editing 71784 @@ -90,26 +90,30 @@ 無理言うな。<Kohaku>は 高所恐怖症で、今はその 『恐怖』を抑える感情もないんだ - + She can't. <Kohaku> was already afraid +of heights, and right now she lacks the +emotions to rein in her fear. + 3 3 1 1 - To Do + Editing 72180 S031404 うぅ、高いの……やぁ…… 助けて……お兄ちゃん…… - + Ugh... I hate heights... +<Hisui>... save me... 4 4 1 1 - To Do + Editing 72348 @@ -117,50 +121,53 @@ あ〜あ、メソメソメソメソ…… うざいっての! あたし そーゆーの大っ嫌いなんだよ!! - + Augh, boohoo. +Shut up already! I hate watching +you cry! 5 5 1 1 - To Do + Editing 73704 S031406 あいつ! - + How dare she! 1 6 1 1 - To Do + Editing 74112 S031407 ちょ……待てって! - + Hey... Stop! 3 7 1 1 - To Do + Editing 74804 S031408 うう…… 痛い……よぉ…… - + Ugh... +Ow... 4 8 1 1 - To Do + Editing 75048 @@ -168,13 +175,14 @@ あんたねぇ…… 誘拐したあたしが 言うのもなんだけどさ - + It's you guys... +Well, I'm the kidnapper. 5 9 1 1 - To Do + Problematic 75048 @@ -182,62 +190,66 @@ 泣いたって状況は変わらないん だよ。女だからこそ涙をこらえて 強く生きなきゃダメなんだ! - + Crying won't change your situation. +Since you're a woman, you have +to hold back your tears and live strongly! 5 9 2 1 - To Do + Problematic 75048 S031411 ほら、涙をふいてしゃんとしな! - + Here, wipe those tears of yours +and hold your head up high! 5 9 3 1 - To Do + Editing 77256 S031412 <Kohaku>、早く逃げて!! - + <Kohaku>, hurry and get out of there! 1 10 1 1 - To Do + Editing 77632 S031413 あ……ああ…… - + Ah.. Ahhh... 4 11 1 1 - To Do + Editing 77760 S031414 だから、逃げられないって 言ってんだろ、ドアホ!! - + I already told you that +she can't run, you idiot! 3 12 1 1 - To Do + Editing 77888 @@ -245,25 +257,27 @@ ちょっとぉ……脅迫されてる 自覚あんの? 不意打ちの挙句 人数まで増えてるしぃ〜!? - + Hey... do you even realize I'm +blackmailing you? Why are there +even more people with you!? 5 13 1 1 - To Do + Editing 79288 S031416 うあッ! - + Augh! 1 14 1 1 - To Do + Editing 81084 @@ -271,25 +285,27 @@ は〜い、そこまで! おとなしくスピルーンを渡さないと お人形さんに傷がつくよ - + All right, that's enough of that! +Just hand over the Spiria Core shard +and I won't hurt your little doll. 5 15 1 1 - To Do + Editing 81668 S031420 くっ…… - + Urgh... 1 16 1 1 - To Do + Editing 82944 @@ -310,88 +326,93 @@ S031422 ねぇ、そのスピルーンって あの子のなんだよね? - + Hey, this Spiria Core shard is that +girl's, right? 2 18 1 1 - To Do + Editing 84848 S031423 ……なら、ここは そのパワーを使うしかないよ - + ...Then it looks like we'll have +to make use of its power. 2 19 1 1 - To Do + Editing 85484 S031424 わぁ、つまづいた! - + Aaah! Oh no, I fell! 2 20 1 1 - To Do + Editing 87576 S031425 あっ…………!! - + Ah...! 4 21 1 1 - To Do + Editing 87704 S031426 ちょっとぉ! 今、何したッ!? - + Hey! +What'd you just do!? 5 22 1 1 - To Do + Editing 87888 S031427 <Kohaku>、安心して。 その人は、ひどい事しないから - + <Kohaku>, don't worry. +That woman won't do anything +bad to you. 2 23 1 1 - To Do + Editing 88016 S031428 …………うそ - + ...You're lying. 4 24 1 1 - To Do + Editing 88144 @@ -399,13 +420,15 @@ 本当だよ! その人の側で おとなしくしてれば、安全なんだ!! - + It's true! +If you just listen to what she +says, you'll be okay! 2 25 1 1 - To Do + Editing 88272 @@ -413,64 +436,70 @@ うそ…… うそッ! うそッッ!! - + No, you're lying... +You're lying! +You're lying!! 4 26 1 1 - To Do + Editing 88272 S031431 うそだぁぁぁーーーーーッッ!!! - + Liaaaaaaarrrrr!!! 4 26 2 1 - To Do + Editing 89528 S031432 な……ッ?? こいつもソーマを!? - + Wha...!? +She can use a Soma too!? 5 27 1 1 - To Do + Editing 90484 S031433 形勢逆転だな。 逃げんなら、追わないぜ? - + Looks like the tables have turned. +If you run now, we won't chase +after you. 3 28 1 1 - To Do + Editing 90692 S031434 あーあ、しょーがないかぁ。 超めんどいけど…… - + Aww well, guess it can't be helped. +It may be a bit annoying, but... 5 29 1 1 - To Do + Editing 90692 @@ -478,39 +507,44 @@ あんたらをボコって あの子ごと教会に 連れ帰る事にするよ - + I'll beat you to a pulp and drag +you all and that girl with me +to the church. 5 29 2 1 - To Do + Editing 91348 崩落があったって 聞いたけど、相変わらず グリム山は美しいなぁ! - + I heard there was a rockslide, but +Mount Grimm is still as beautiful +as ever! 6 30 1 1 - To Do + Editing 91348 だが、問題は この素晴らしい景色を どう描くかだ…… - + However, the question is how to +paint this amazing view... 6 30 2 1 - To Do + Editing @@ -1289,13 +1323,14 @@ 94604 う〜ん、この素晴らしい景色を どう描こう…… - + Hmmm... how to paint this +amazing view... 7 101 1 1 - To Do + Editing 94856 diff --git a/2_translated/story/MOUD03P.xml b/2_translated/story/MOUD03P.xml index d8ae605..f84d0c5 100644 --- a/2_translated/story/MOUD03P.xml +++ b/2_translated/story/MOUD03P.xml @@ -4,10 +4,10 @@ ペリドット - + Peridot 1 - To Do + Editing @@ -44,10 +44,10 @@ 青年画家 - + Young Painter 6 - To Do + Editing @@ -66,13 +66,15 @@ や、やばい……こんな奴らに 負けたって隊長に知れたら 出世どころか降格が大決定…… - + Oh crap... if the captain finds out +I lost to these jokers, I'll be +seriously demoted... 1 1 1 1 - To Do + Editing 70432 @@ -80,87 +82,92 @@ ……よっし! 今回の件はなかった事にして やるから感謝しなっ! じゃね!! - + Okay! Let's just pretend this little +excursion never happened. Feel +free to thank me! Later!! + 1 2 1 1 - To Do + Editing 71244 S031503 なんなんだ、あいつ? - + What the heck is her problem? 2 3 1 1 - To Do + Editing 71372 S031504 まったく、あんな性格悪い奴 見た事ないよねっ! - + Jeez, I've never seen anyone with +such a bad attitude before! 3 4 1 1 - To Do + Editing 71616 S031505 …………そーか? - + ...Oh really? 2 5 1 1 - To Do + Editing 71820 S031506 <Kohaku>、もう大丈夫だよ - + <Kohaku>, everything's okay now. 4 6 1 1 - To Do + Editing 73492 S031507 きゃぁぁぁーーーッ!!! - + Ahhhhh!!! 5 7 1 1 - To Do + Editing 73836 S031508 やべぇッ! 今の戦闘が地盤に影響したんだ! - + This is bad! Our fight just now +must've affected the ground! 2 8 1 1 - To Do + Editing 74384 @@ -168,26 +175,28 @@ 待ったぁっ! <Shing>のいるトコも ヤバイよっ!! - + Wait! The ground where <Shing>'s +standing is also unstable!! 3 9 1 1 - To Do + Editing 74972 S031510 ああぁ……ッ! 大丈夫なんて、うそ…… - + Ahhh...! +You're lying, it's not okay... 5 10 1 1 - To Do + Editing 75100 @@ -195,13 +204,14 @@ <Kohaku>! オレが受けとめるから こっちに飛んで!! - + <Kohaku>! +Jump over here, I'll catch you!! 4 11 1 1 - To Do + Editing 75228 @@ -209,154 +219,164 @@ うそ! そこも崩れるよ…… きみも…………逃げるッ! - + You're lying! +It'll collapse there too... +You should... run, too! 5 12 1 1 - To Do + Editing 75508 S031513 くそッ、スピルーンを 戻したのが裏目に出やがった! - + Dammit, giving back her Spiria +Core shard fired back on us! 2 13 1 1 - To Do + Editing 75636 S031514 ボ、ボクのせいじゃないよぉ!? - + I-It's not my fault! 3 14 1 1 - To Do + Editing 75936 S031515 いやぁぁぁッ! 怖いッ! 怖いよぉッ!!! - + Noooo! +I'm scared! I'm scared!!! 5 15 1 1 - To Do + Editing 76408 S031516 <Kohaku>ッ! <Kohaku>ーーーーーッ!! - + <Kohaku>! +<Kohaku>!!! 2 16 1 1 - To Do + Editing 76616 S031517 <Shing>〜〜〜っ! あんただけでも下がれぇっ!! - + <Shing>!!! +You should at least get back here! 3 17 1 1 - To Do + Editing 76744 S031518 嫌だ!! ここで逃げたら…… - + No!! +If I stop now... 4 18 1 1 - To Do + Editing 77120 S031519 二度と<Kohaku>に 信じてもらえない!! - + <Kohaku> will never believe in me +again!! 4 19 1 1 - To Do + Editing 78568 S031520 バ、バカ野郎! どういうつもりだ!! - + Y-You idiot! What the heck +are you doing!! 2 20 1 1 - To Do + Editing 78696 S031521 ここは………… <Shing>に任せよう - + Just... leave this to <Shing>. 3 21 1 1 - To Do + Editing 79048 S031522 <Kohaku>、オレの手を握って。 ね……オレは逃げないよ - + Here <Kohaku>, take my hand. +...I won't run away. 4 22 1 1 - To Do + Editing 79488 S031523 なんで……こんな事……? - + Why are... you doing this...? 5 23 1 1 - To Do + Editing 79616 @@ -364,13 +384,15 @@ オレ、<Beryl>にリンクして 『疑い』は『信じたい』気持ちの 裏返しなんだってわかったんだ - + When I linked with <Beryl>, I understood +that the feeling of wanting to +believe is the other side of doubt. 4 24 1 1 - To Do + Editing 79616 @@ -378,39 +400,43 @@ でも、オレはバカだからさ。 命をかけるしか信用してもらう 方法が思いつかないんだ - + But I'm an idiot, and the only +way I think you'll believe me +is if I risk my life. 4 24 2 1 - To Do + Editing 79836 S031526 ああ、わたし……わかんないっ! 怖い……怖いよぉ…… - + I... don't know! +I'm scared... I'm scared... 5 25 1 1 - To Do + Editing 80072 S031527 ……ごめん、きみをそんな風に しちゃったのはオレなんだ - + ...I'm sorry, I'm the one who +made you like this. 4 26 1 1 - To Do + Editing 80072 @@ -418,25 +444,27 @@ だから、オレは逃げない。 命をかけて、きみを守るから ……一緒に飛ぼう! - + That's why I won't run. +I'll protect you with my life. +...Let's jump together! 4 26 2 1 - To Do + Editing 80200 S031529 ……<Shing>………… - + <Shing>... 5 27 1 1 - To Do + Editing 80448 @@ -444,26 +472,29 @@ きゃぁぁぁ〜ッ!! いやぁ! ダメッ……怖いよぉッ! わたしもきみも……死んじゃうッ!! - + Aaaaah!! No, I can't! I'm scared! +You and me, we're both... +going to die! 5 28 1 1 - To Do + Editing 80848 S031531 オレも<Kohaku>も死なないよ。 オレは知ってるんだ - + We're not going to die. +I know it. 4 29 1 1 - To Do + Editing 80848 @@ -471,13 +502,15 @@ <Kohaku>は、オレを…… みんなを信じてくれる 強くて優しい女の子だって - + I believe in you <Kohaku>... +that you're the strong, kind girl +who believe in m... us! 4 29 2 1 - To Do + Editing 81040 @@ -485,26 +518,29 @@ みんなを信じる……わたし? <Shing>……は……わたしを ……信じてくれる……の? - + Believe in everyone... in me? +<Shing>, you'll... believe... +in me? 5 30 1 1 - To Do + Editing 81292 S031534 信じるよ。 この命とスピリアをかけて - + I believe in you. +I'd put my life and my Spiria on it. 4 31 1 1 - To Do + Editing 82140 @@ -512,38 +548,40 @@ あぁ……わたし……も…… <Shing>……を………… <Shing>を……………… - + Then... I too... <Shing>, I... + 5 32 1 1 - To Do + Editing 82564 S031536 …………信じる - + ...Believe in you 5 33 1 1 - To Do + Editing 86292 S031537 あはは……ヤバかったぁ…… <Kohaku>、怪我はない? - + Phew... that was dangerous... +<Kohaku>, are you hurt? 4 34 1 1 - To Do + Editing 87548 @@ -551,26 +589,29 @@ 白と黒のスピルーン……そうか 『疑い』と『信頼』は裏表—— ふたつでひとつの想いなんだね - + A black and white Spiria Core shard... +That's right, doubt and trust are +opposites - two sides of the same coin. 4 35 1 1 - To Do + Editing 89332 S031539 このバカ<Shing>ッ! てめぇ、無茶ばっかしやがって!! - + <Shing>, you moron! +Everything you did was stupid!! 2 36 1 1 - To Do + Editing 89536 @@ -578,26 +619,29 @@ あっ、<Hisui>! 今、初めてオレを 名前で呼んでくれたね? - + Oh, <Hisui>! +That's the first time you've ever +used my name! 4 37 1 1 - To Do + Editing 90020 S031541 そ、そんな事は どーでもいーだろうが! - + T-That's got nothin' to do with +anything! 2 38 1 1 - To Do + Editing 90020 @@ -605,88 +649,98 @@ ……けど、てめぇが<Kohaku>を 助けたのは事実だし、一応言うぞ。 あ、ありがと………… - + ...But you did save <Kohaku>, +so I'll say it just this once. +Th-Thanks... 2 38 2 1 - To Do + Editing 90432 S031543 お腹が鳴くのは……生きてる証拠 - + A stomach growling... +Proof you're alive 5 39 1 1 - To Do + Editing 90672 S031544 うん……オレも<Kohaku>も 元気に生きてる! - + Yup... You and me, we're both +alive and well! 4 40 1 1 - To Do + Editing 90672 S031545 さぁ、宿に帰って 一緒に女将さんのご飯を食べよう - + All right, let's head back to the inn +and dig in to that landlady's meal. 4 40 2 1 - To Do + Editing 96856 ありがとう! きみたちのおかげで 迷いがふっきれたよ! - + Thanks so much! +You guys have really helped me +overcome my doubts! 6 41 1 1 - To Do + Editing 96856 よ〜し、最高の絵を描くぞぉ! - + All right, I'm going to paint the +best picture ever! 6 41 2 1 - To Do + Editing 96856 お礼にこれをあげる。 ここに来る途中で拾った 芸術的に美しい石だよ - + Let me give this to you as thanks. +It's an artistically beautiful stone I +picked up on the way here. 6 41 3 1 - To Do + Editing