From cc43bfdd364a172c8accc47fab9678269bafb523 Mon Sep 17 00:00:00 2001
From: retropikzel Foreign-c c-bytevector interface is copied from R6RS
+ bytevectors, with some added functionality for C null
+ pointers. (make-c-null) Returns a null C pointer. (c-null? obj)
+
+
-
c-bytevector
- Creation and deletion
+
(c-free c-bytevector)
Frees c-bytevector from memory.
-(make-c-bytevector k) +
(call-with-address-of)
+Since the support for calling C functions taking pointer + address arguments, the ones you would prefix with &, varies, + some additional ceremony is needed on the Scheme side.
+Example:
+Calling from C:
+//void func(int** i);
+func(&i);
+ Calling from Scheme:
+(define cbv (make-bytevector (c-type-size 'int)))
+(call-with-address-of
+ cbv
+ (lambda (address)
+ (func address)))
+; Use cbv here
+ The passed c-bytevector, in example named cbv, should only be + used after call to call-with-addres-of + ends.
+(native-endianness)
+Returns the endianness symbol associated implementation’s + preferred endianness (usually that of the underlying machine + architecture). This may be any <endianness symbol>, + including a symbol other than big and little.
+(make-c-bytevector k) (make-c-bytevector k fill)
Returns a newly allocated c-bytevector of k @@ -490,32 +573,76 @@ make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME
If the fill argument is present, it’s value must confine to C uint8_t values , it specifies the initial value for the bytes of the c-bytevector
-(native-endianness)
-c-bytevector-s8-set! c-bytevector-s8-ref - c-bytevector-s16-set! c-bytevector-s16-ref - c-bytevector-s16-native-set! c-bytevector-s16-native-ref - c-bytevector-u16-set! c-bytevector-u16-ref - c-bytevector-u16-native-set! c-bytevector-u16-native-ref - c-bytevector-s32-set! c-bytevector-s32-ref - c-bytevector-s32-native-set! c-bytevector-s32-native-ref - c-bytevector-u32-set! c-bytevector-u32-ref - c-bytevector-u32-native-set! c-bytevector-u32-native-ref - c-bytevector-s64-set! c-bytevector-s64-ref - c-bytevector-s64-native-set! c-bytevector-s64-native-ref - c-bytevector-u64-set! c-bytevector-u64-ref - c-bytevector-u64-native-set! c-bytevector-u64-native-ref - c-bytevector-sint-set! c-bytevector-sint-ref - c-bytevector-uint-set! c-bytevector-uint-ref - c-bytevector-ieee-single-set! - c-bytevector-ieee-single-native-set! - c-bytevector-ieee-single-ref c-bytevector-ieee-single-native-ref - c-bytevector-ieee-double-set! - c-bytevector-ieee-double-native-set! - c-bytevector-ieee-double-ref c-bytevector-ieee-double-native-ref - bytevector->c-bytevector c-bytevector->bytevector - call-with-address-of
-string->c-utf8 c-utf8->string
+(c-bytevector-s8-set! c-bytevector + k byte)
+If K is not a valid index of c-bytevector the behaviour is + undefined.
+Stores the byte in element k of c-bytevector.
+(c-bytevector-s8-ref c-bytevector + k byte)
+If K is not a valid index of c-bytevector the behaviour is + undefined.
+Returns the byte at index k of c-bytevector.
+(c-bytevector-sint-set! bytevector + k endianness size) + (c-bytevector-sint-ref bytevector + k endianness size) + (c-bytevector-uint-set! bytevector + k endianness size) + (c-bytevector-uint-ref bytevector + k endianness size)
+Size must be a positive exact integer object. If K , . . . , + k + size − 1 is not valid indices of bytevector the behavior is + unspecified.
+The c-bytevector-uint-ref procedure retrieves the exact + integer object corresponding to the unsigned representation of + size size and specified by endianness at + indices k,…,k + size − 1.
+The c-bytevector-sint-ref procedure retrieves the exact + integer object corresponding to the two’s-complement + representation of size size and specified by endianness at + indices k , . . . , k + size − 1. For c-bytevector-uint-set!, n + must be an exact integer object in the interval {0, . . . , + 256size − 1}.
+The c-bytevector-uint-set! procedure stores the unsigned + representation of size size and specified by endianness into + bytevector at indices k , . . . , k + size − 1.
+(c-bytevector-s16-set!) + (c-bytevector-s16-ref) + (c-bytevector-s16-native-set!) + (c-bytevector-s16-native-ref) + (c-bytevector-u16-set!) + (c-bytevector-u16-ref) + (c-bytevector-u16-native-set!) + (c-bytevector-u16-native-ref) + (c-bytevector-s32-set!) + (c-bytevector-s32-ref) + (c-bytevector-s32-native-set!) + (c-bytevector-s32-native-ref) + (c-bytevector-u32-set!) + (c-bytevector-u32-ref) + (c-bytevector-u32-native-set!) + (c-bytevector-u32-native-ref) + (c-bytevector-s64-set!) + (c-bytevector-s64-ref) + (c-bytevector-s64-native-set!) + (c-bytevector-s64-native-ref) + (c-bytevector-u64-set!) + (c-bytevector-u64-ref) + (c-bytevector-u64-native-set!) + (c-bytevector-u64-native-ref) + (c-bytevector-ieee-single-set!) + (c-bytevector-ieee-single-native-set!) + (c-bytevector-ieee-single-ref) + (c-bytevector-ieee-single-native-ref) + (c-bytevector-ieee-double-set!) + (c-bytevector-ieee-double-native-set!) + (c-bytevector-ieee-double-ref) + (c-bytevector-ieee-double-native-ref) + (bytevector->c-bytevector) + (c-bytevector->bytevector) + (string->c-utf8) + (c-utf8->string)
Setting environment variables like this on Windows works for this library:
diff --git a/documentation/foreign-c.pdf b/documentation/foreign-c.pdf index 5aa5ee90abff34edb8d03ddd08295d68a7ecc564..73dfb0d1d5fe0d6de7943a79c191e11d20d00bce 100644 GIT binary patch delta 31397 zcmbTdb9AK5yEd9kY}>YN+nCt4t&Z)EGqG(M7Ht!(Z9Y%In6(GGwql7ebxEaCt*be45^!p_w z4)6$7-KW6v&t1D1QG#T^0(_jfYji1@wDd)k5X-u}ox7{^slICelIIGA^=V3Bl;;eH zbuY(Md4kn(`y|?+#MR`RMyPFev`1=*Y*jY4XV!*%XC#zXt124Ml_fcb#pNz`v4_>D z$SmF257q-YEE-nNMaCjkk}Gi6nx(w(f$4@92!FpY{zZ!1H<;HBP)l?~rj`rbW^?!M z6wCMTun$KkL}R(;%Z!w3`)Zv`pf?wlcY7n|t9VYQbdi49+37gPIh=vR;6aME((3`a z8{*B3czgK~zfL|!{rqV7Ik;O}iVdnM>!|pmjqt%gv?b&L+CN&Cod_?i@iDXL4_291 zCuG#oA72Gu?^-K749>ODChQZo^UA1X`&_(k`cW^)M-_9F(2MGT?`3yrt*`7}X`r zAzY#7)nr?n--*$Qou}r!nmpZlPTo?ZA`Os{p{WydCv$R!daPwW)QR8YWrqtO1c<(3 z>~r*y7c`Rwwqd3lNoCA8$+~*Xozvu`vj;JY6w8E_@x(#`kaeshI{J^Bb0eT=VU$rP zOdfMo^1n+%7R#~!%6t|7)%9+FNg;3beg)4!DonEuf<$+dyq) z!PqGs;_|s(y47#KSIHm4^^a;vZeAk42<|6!C9qOC8110vRSg2grIybrUnKqpW7f)F zhBJG8drR&QzzbEAm&;Qz5aGVvpzzzuLNPGPMf=+lc~KM}7<4=o+m_oxg-SDXN_U0d z@l>WpOTE~^b|){nS0_Bv&-`sAJ%YRy|2C1|;;q174b*y%k!Uj|UC?pQ-dL;X5|a1z z1K7gMOUBukrP$*yx8MG@;DxATqfh{=^G=KCoonUqf)1|FS;5SxcFyLoQ|_jRgY5ec zeyYEX*nM5i45eAkR>yvh*H-Ik;*BlY6d$QsvZpZl`z7HR#1hXK#Uai=R)ID~$yg;) zd(za0blL2kr!o0NFl*1OC{lC%8#n2&r!)3amu(ns!u4+hz^PIV*PyDmRwZBzQ#KOK zCt=ncQPrI!S)QEG^g@S%K^|~?nez8!>hIy`goZeLlAvauW)c @vaj4gvw_=A(FpX;Ge8@ z;m^d#|AG+lA;E*z0%^eMtq8ngKk{=ya}7Vh%#HC{Va*-P{#kVc;nDDbLbMWJSU7;j ztXR+@4i1iPuEe@PMFi8&g?j@66L1m@j*yL$laYgq>#rGum6Mr~jg6I=jpcK{z{<$U z{JG};oH3eE&`$^ftnBRnF @4gHdnzKR=*q zzr8XV5rP=Snm{kP3hg$(Fc^fSm2AJfA+pYK%P_;Tv#vONczfOke7s+8DCvKkHox3* z77qRnn9K6(QqpN6*c|bo@+a9GSwR}Oe4H^m@Wy?nRvo>j#Le|X=ZO$WI}{P*O9JTn zL3Qil6y19APb96;@|fy=*i-l5U3T_%yzRwe3TrGqgkN}{WCo^-L~Dy=KA&Bky{yO? zO3o&5i0KMZwg|w0)mp{$o|q?&X%mjk%YMi>7&Eu@vMblC?SFv)s_5BJNjAiwoCG{F z7VN^X09VFFy+l;kY*W6QOxx9QXag#kA{j?^Ugm~nG}(-e`$kAR?Uq-J#vsh`6U!#% zUSk+Gm%B#?F-|ha!k4{N`VD`7$X4NznvW%g&Hbhi$h4GS+Pn&F%8+O(uJMvLnB2$H z(XN69V~N*UY&g)}h?omTQ0UTx42s+m1 Kc5krd?2a z35v&B#?at*7G1e}*<}x0J1r~ToZbkEA|P`fW4774U+RLT;Fk>x7#Lmk!cE%HKRA*B zu{;t<5}-Bt1sQj|!yq4>WdL+)G+cj3gxdV5Om^Lf_h-IYy4fEm@VGhWYFl!l)iqxr zn;nuoS7-p^nMWC(qZiW=GH{HyZnNYymBgmeslcYiI|oYeqF35BJeQy0_t!IM&`ARn z+NV4UYV@-{X=>AoWG*+@recXaXQ9C{?ZtUVw)B=QGI>Wb0b?_yJpeP`H3U3WWkyIh zPF?L^8pY#B&Fp;k%&n2(n!@oMa0qvZ>UUt|&lfXl*FDMCPW+2x;NmYE1-(XX4OU-g zA|;uYK2!>!F||*w;VaYJ?tel`X4F-Y-XAobU>obGc4_Pr*f5gWZR)Dgw?XW(S>=$F z5McLmlbP(%^J^ezkO2%$Ax#b#aD{}BYIA;Rc9HEpVH(s2IOy$+LP_lJqTJvT?tt!k zGh^Qy?xC=(s`2_@oPJHn|4F7{lIJ-~mR~1WlJ)EIfd~-bcWfehqS^|SbFEt+Oq&O1 zru{9#NCCr@Kos!yINn)!XW36Mf4)yFV__J;124WG$BuW`f(NjnGb@=%i-GUKwxk )o; zmH+NUKM)C76cWKx^!+tME0vVN9NdyKnh-`9EXZ8KA~$%UD45mk$BWI?aZ3?j&iKF~ ztfrc9{ZDv|2OB_q*f=NM_Xh2uRXFs~`O*wHdzrAxUu(P0`(CNjd^0<(3e T?Rcs365KnKJnCX_LMi83bA9svDM&5eZ8*!Gf1eQg2 z1ENA1B}eQL2BU>8<^jgVr$T3L{F47Ymcp6?Q@Nf1-0c5*$*i5Q&WRlGP cYxoUpO-skERoPhQ;1p0Fhpt|90>&*sg~nz^!kqGV}7I#RH<7%zp{_0M7KEe zZyr{MlJ63uI9flqCr^kQoddPEW93Rxg>rlF4Fvoj5B8=n Lg)3od znUhJa68pVL@K_zUasvRaq-L?;s49I*2rx8-5a{iP8Zs9A+l~SslCdC6{@Hb2N~Ii< z6iaG4N2tSxE!!lh3V6GueqLj6+q_ue*Mzm}rsQM-;(-ac_RPru#B+~x9MUG(IOIu< zD^3y)ZUIdryp<4n#`DS_#cBO77S2q0kWa#Lcfs&M_cdI?_cDr$Gk7bF>$aIUtUjtu zZLTE}Y0z)tcDTuUoS9OEIe4D)@j(ZRm^fvi<&?}d2%ujzB7enblwcS0@9U^MF0Ii_ z>Zwn+`3=vem`UjX_<6XMUcC-c4!jsrx{fRp!IH7;ubOPGSEfz$j 5Vh`(PpD; zfB7+xSRcuek9B$_FR{?nG&H7~0?#SLo7&>3EA7VUvnXMbrLQ^_#)8er2NzNJihUou zMT~cxYn$*cZo`Cba!_k1Xi8p^He1Tvg~Zb6eUVOH@h|fLK>AexDubRUUOr4vIhcDk zVoR|^R3$o!%VFr&^Z_5~L8L}g^E|`5Kh0?c(~vKJA}eyFB-)NYSz3z3IA%c@XM# zzKOO{;=Z~5Ld`-usL2v5N%@Dl+m*`!mxSYf!f{&~I$vR&j9|`5oG4)$i)L8Y9ouju zLEg2LuQ)8gek=h!#kew>;`{Dxksihad<7rOY)t{7v0JZDH^AqCj3M2nN1nQ;ZiBn@ zu_PYhoko956`#?WU=#!gGBA81j{{#NzULt_IxPstGOQCglozrlaGH>~u wm$wn5};34zs!g=Fcsb7#(MJ||~+)Dw_Sq+&iBZU&WU5i%hf#mf?+B79z zkQI4JphI(l82e#pa&6GA@rd9-&3!gT++NJ5yrdf?Zr7pqZkQ|d^8`#hR%JpKSwZs~ zYs*sIa^*1CSsa`E!1eh0gp3|=nG*JaKZf%{-x4;Z1{wYrH(|zbSzYV%{+b2c7KPN= z>FjR+P|`yzSMT0nZ9*!0C@~IXj3M;u4jZ`ZqlM-w(2=BL3eC1 JlAw~_%tb24j%pg&JQYuu*W$Fj=rySA=y5tEARXiG zI)E%KO5SheJxAl66kcwNT8uKWW887jUC{?VSE+nTy>RwpJyKHlvS@WqN}Cj)K) C`!x7`&@KF@OB)rTyOo|BoTilHI}-j-E}?TQaj zmOqxbaA~EZqby$@X}5> #py|*XG7} zKF#oln1hE3J9w0 3S~bU-kqE-kCA*x}eLPfHO_%2y z8IoccSSy6~_by(m)302l7!#CHw6uJ$UksxsOmD)6wW?BQzrOT?<|&nQs4wmSIOme8 zNkR%dh@0U9^(Fy3FXe|@*S|JTA(vd@pM>{}5)2uSIX0jQi+&2uU`sh^7bb0iqZpQT zFF4xJPTyvS54T<8*-))lmk>nScFZaJ4S5B#AC-8z f-AiS!E~+{#JH~Gh7*K zKdZjUlDp|~d5A~8=UUbJv#r0F?m1qDtE`d(NAi+shcjli#*1{a`G$A&t3fc6WmY8? z>9r=pjO#B8puzK_j|LHYq^Vx^w7T~zy&T1vTZPi-*U~P{Z19BcTpG>- zh}kc}w9W=hLVno(Pz;2zBOeu0nr_a+C%*rH(i;*ZrKzNFS?m_($M#GZESjpTET3y+ z3(M 48Ei+kvPlEN(^?Q0-p7+F(Jbqdh;!P8`iA6gRH2sD)WR%s9(l#%&O*Qka z?&IWO5Ou2^iy{S%=IrU9ZQj!`;QfV3=*`LE`PGH*?FH=W_4!)pD4l5)U8;Q_UYgGG z{dS&d3-I)9G9^nD5>6U9r=uUhlt{zi*Krl~aGkY#Rn@N*=4!C#i81m$`b#Z63bVgR zf3lZ~(qb^Q6o=;G!gQYD`=1l@jAt9X0t({^`mkmNlJXoU+7(3Dt<#EO)KhxJ EYnYpj;%%MmRBkrLs5H*0K9$$#-%>t1FTRf{%SM!dNBxF!5VXrN zuZ^(F8_Z!j;H3GEW8K6uckcAdT~ kwvkl!eapeE zWAU4~Mit2PaY#4W?CdkiO;KU?R5VaRGcp>ctvfIkv^pN#ku2f>YDekCUm^J5$zQZk z3F@;s3rG&b^~`{+8eR9+2ctd6^{EgAXDgngBC(<0mWlJ-=PBdJ1k<&y7Eg)ky@x0f z7@$xBNl0*3cZi3!L+}SZq) DV?eD1|j #{jPAq)K0x)s)0 zqXXkZr{!NBAha+5{Ma)~J*Fz)q;0mV(}+|-;Hxjo!F7sML6yv)GnfbrR4VAnNWTYb zsa4?v@`2S-D4De1qSFLa21`)OvV7IiXT`-APD>Ef*vI^7>t)vGM6f~WZd8hW4W(zf zZ_zj(2x3SnONKU@jiWK=cNx|=3nQf~_Wvq2C{Y>7Oep}hYK0+9WHvc e0&)m{?o-dXTWaqli@;2?$wWes ^XT z2b!8j-jq>rFvN+)Q+H$$T&UaVc)<$UM);vNitH#g4|^veCf_k%({$Ctg75y)@S0C7 zA07$#?p pA;ob zskTeeoB-LK?-;pVtB0jFke}sZ-*1{w79C)#b{QhHYoz4x|7wdLp}<=@qMJ3zVwIAI zAClWQo#l{{nS~qf-8VB<190%=XF{j~g!U_8*c-w*NcpFUp_{WrV|Lzc1Chl?sC8^aZOec!TG)4v=x&ms}i_8LMEbj&%#D9&AIg_|^%*PVcb DjL#t-$>OuKu@!}^*)qKG|t>^J9fOjA1 z8oyg-k6Wvsz0jMp>G)%*g2W<&2xdt3F0|~bsT6OLe5U}+Ap?t{bZOnci=95<_L=5r z*@^FW(--zCQ5OT%1t4yLg; QNW|D#vSq 473 U&M{D5)e35=mmN-QI(&J9mN+>NY4xy zUo!XBznckkKH6Jta+CUT4MZMxQn2EGr>FAj2+m@lz8I4c*7^3rmIbhhb2KHW;)(fY zQ*3O&(bI{&*T-mpm$qXkd)3=wUQNU`e)prexb?I=q6~_15f`ZmHgkBTe#v2CMz;83 z-#DP9;KaP%|CNzpKos}n6?8}?%~_LlFJng)Qd9L;7*1*KtNnxt20h3_(GwzDMV!o} z)r*&XMyT>&C|ZW2Ju0Be$XMGa;WGy~`l|ywq^d<+IT`n>Y3(`;hB;|Oh=h?x z+&bY+7=Hl{9+0sSvEl-=^%}3!R~Mbmt%bM@4cBc8Wrm)TklfVnmlA8j>ur&(yX^pe zPuJr}fU1|Ma~pa*^o*;V$ZM>JFIn7YbXREidz5;&duGSld%{$>h*I+bA+~K!fZt4= zW_PN%odje|slRBd!@5H@DfFCphS{F39zBPJ;+XH2u|AZVAM=Dj$*D@@|K}l!gPEg= z4J;d55;6vmkX7Uh8|&xEwBx5_B$kXCz{dKYhbyV73Q7aa@ZCq6`$#hf1J z z_CTa1 MxqXu0ANv21y8F!QxbxnOgJSR2eX8>Eh}@I^am23C(z;JPUX)(FJ*S zC&ot1F}C-pHGmf>`~lIE)NTy8)v=Xo!@&qH{85YZ7M`8mX@HLOJ$i#BS?#Kns4k$Y z(acmN5aL&l(GucjH4GlUGU2X;P}fgqU&%6svqG3u$Cuao&R*S{r#|0iL|fW@$bAq) z&L?*A9G=&}AJ`*2(d$L$I1e@P**|d(UPl$!hJ{UfGEdPwtXhaUH*uwSw%ZBo6(&@C zk5`Z0KME`tdhPG@rrbqzp>tgSFv?5{rB>*#N*r-8vbWs2RmTcCF;?VbRhI68RVip4 zX09VF-Rd2kixSNHRCC?Mtq;{K64D(l92N*R9pK#L1@|mTRAj60Fa3cC#H%y^|7Zb@ z|7rpDzght3EQ+2~BnJE{%!kbNmrw|nN!i%N{8J~y!3w+;B?Ar!3t_W=f-dGB#B7}Z zFeI&AT-}J-xPkE!xL-bbL1N@U9TCd^r5VZ*!6xAOCxX23C!d}5KhkI80+LAL0};j1 zfnP-N|5Hx{ EPP6iy6ga;;xO5psP?7t;t`)?+&KoT8DB7p|P z6jLB%Xa3I&|C{z#VSsHCWWZuESrm4b|3w2bN|FId#l_gU|6jlVjrot??Ck&W|8|Pw zf91giEcuMwEiUneoefAP#SCPZkOSsQ(fsu~_W8OdAqiBHX8C*~1C1rwfuquFpI*t~ z|1Hw`uexXdTe=0y^pEdAZy9o+nv^JTQWTny{ok_u>-&E&IhcXxGWftdX{x^zT{8cz z==v=1f9t>gb&CDpO8mzuj(;oRAE*AaM%aN=vIIZ|320!h4EBG?z%W6Xfpj9cpVvj7 zssHuk=I8$}i5Vv>)4zS>-yZXKvTXl!FhM~erVAlB2Nx$dP(_vq@TpVykL#s#eP2EG z#e2h3en`LK8|=J-Sh7Tv5=1a>1`hQ`a&ZdPxqrPzXqrYbyisI+Vi9I$<@^y6ahS zirZ8Vk-8_^rqM@|9lGy#>_l(X@Z8y*_nA2OlfFW|LV&y%9$WvZ)t7Hg51w@`_iMK2 zU~B*oXb_}66J!!fR@VEl
_VTQ@9$e`Go~`Pc;K5eWwqk7bt6EvGar+z7oAYo#tBt{4@w2=lOC*Vp#$ z&b|;B%eWQoLFB3T@9q7Ok QG8$8UG&PYJ1$-*EP@87T`0GSH(B zq NgE;P6YV62k=#t|PjiVzZfwla5_%g+dx0#^4F0 znRFv;*Nk(#R@~7{IJKZFqHU_~LmREYK>!kWK*{67+ +I-EP gre#l7Wk!LHV(Bj<$q#LMfJFG@()K1~*3{bIV9}IYu zb 82KKHF`~hy^g)h1zWAg^j55 Jl_ms7?crTRE0;3R5$RDAHZkmnMZ AO2I8k)pvpe&?8@`CJ%4E=2CSKox)0 zns7ED?`d_@)c 5nmdHtA;V?<=w;TV)Wf0u?Wy}= zcjb5je=wP$ZtvS9!@;fL wh|(b?x2C*~GTX{H^Cx;t+E%nZ@XNLzqb!eTHel!OyWFi0AFtUgd+w4mFmQi5 zd|ctZ7*71a(Ta5Zb2fG{A>Ff~-tzMLwDC%e=TLz2oc6j390o|TWyM-B0q<&b?xL6t z&QqD<5^b`cWg`TKA#c8+mlf;(nD_`F;*~$&8o|ZIB*eBtI5(Xu6?Th~k$iBjih+9Y z`=QvxyQ>zlx!wgsG#t;45|G^+mBsG8P(B8ff>6i>@>t(|i={C^>Seq9*6p-%KBZ zY-gzI{9An}`5b_){w+tpi-%6GMzG%RDF{iUmi)< #^eROc0ZJ1 c*=$npD+fCFgt 1=$M&= z@@Pa2dcsvy2jnqqT*EqA!c*H5mr#?h`=l|+MjG}3RTAxqPHAsmOh0*ttR+Iis#k!F zzs^fZu*q-rn|^*LF;oxGe0d66S%x~t=x{W>Jg01F|B97vv|<6H*fkR0lvDkU01kdI z?sn01Rz)jTCL?y}SF2)_06n>Lf=1L+v`bnRmKV WI2zqzKC?(0{T ztXFgifV4UnjiUH$sX0EEI96~GR*NT5XO*wq0_;9vq$iYyY-l3zx2Nd2j)k%%ukylp za1?nx`$xXA-C8C0d7exp(ne97={vW)damhfqHVQs6Gz}tzc0CPR~7dVR^`xFb!eGK z#xxi>NQB1;0J5yHO#BOYK02S68N&G1&rPKQI>BRUBCgv2mXz5>} z?dh~lT`M6M+_Zm{Qpf3*TpdD(`SLsjq1yieDnW98({l}Fj9*=z+U@@-7C}pgNK|X& zO^@lRx~)+k8Jl@-fN^mM&OG?A1g6}z25r)B* z2XL58jcnf-evc2TzDMi~I8E~(%f?Gz`#vg^!|xvAt{(cFQ)RfdqnGZ>F7&%dVvSMI zOf2bj*<8Md-@6&XNkmSJk{ B)Y#JLoRGBg0g$i z4wg{&I@m{LXF!8swRu{-+2sK5*PJ)HBcO0p*58`QiOUxfg2%+yc6(>1OAgC2_gwAU zo@dX^B!jiN=I?tW _!32dzE{> ur3In_DUQ zX(}RdNXO^iTRUY0nvI-gEtX>|ECH-m+4JETOmfoR#&;{?#w9)qV=-~7Z*30`@MHRq zs-j|-n}(I?m6l3*x!l>l7ijD*#eM0`Y}eX5OEay|`*rLA$S}b@Il7))!$64@Y*n+m zvThNz?r!Q(oO)*)+25fs6*OuXtNe!gEDrEh77Bxg@i^&a+p%IL2M7qAasZ^H_u`V~ zl;(w-xIVuR#K8jf_Gb30k%U#DRT_AS%eyM=dqqHIlf!KAL6Zxg(Zc%!3-WpamEg^B zQ8lOINyV0ff2&u|e6UQhly5DR&PFRl<9L=IcMRvZMe@@1 }ESlN|YJ -Xk*2tUmU~(EXh0=4!4b5`9MJr9P|? zLA%2lyS6R#(7|{y3ekWyaZ&4&E2C1(*L8C@6sC0nsklg-sPh%3JU}IYmY%Uk=V3R^ z>bt$0x`ji}+-p=}q=xybFO;8O` ra z8bfmnH~P_ytRn~3*BtNmGnxyVR{f_TGm|kk&OG&Bap`6Caf(fZF2_`kByX=5hnvjy z>-!5cES&n{n3! YfP0!k!r4^Xy2e%GZSWZsd*lK9x*f3?JxNjKyPY!?i zx?bbk8h8*FM5Ie_*B;)yx3fXv#W$ULk*hHn4BDU>?0n($902G^Jbe|AU9Sz>Ta|#S zq}0dj!EzZRgLjTDpzgxsUh|GG*8Y9;tKnmo8qmJoXsuAvaWu|~bVjFo>yk^zML{FQ zFowhLL7Q54!vdLJ%& rWjtZ#JTljuvKnB*u!o%1{6VW9RBUkhEv^9xh zyu~Gjf0UrMuLr0?E#Pf3&(NgOT<{!E6U}^^Mq^{8RQPGM)mX$GY5>}~XXL?t51nk3 zDuweR1qlhX^fofo7znV8tIir>!=#cz_3-tH$frKV?EIoP*J+Y1231f;7tpZ#61=YA zu9L*fx{A}+tn9?q+K>eMfVL(rr^0Ta*^~8c{0@l?H5FhS8I|?&Q-!0^DTX-g!t47o z_*j2@H}}PaAg2u5 Emv;7Rb9~UDtTZkX8qW^C-hp B!7TASP@SKvdd8vtX5F82akFm(r z<+e%_w2TA1xgn>IzJfdM`HNnTUxw%DndCCk cDDnijbz;=16=ypT w`m>A6Anz*};Uc^%B0)Tf@N6V7hrvSUVW?IVj{_jlA#XoKTdWuQiAc*Q z^+t 0+pJ=St1*Nj?-B!I zbjX$0y+kuBTJFktM;@qB*m>70CfWNHN r)s=5HN(6PE(EUxhGcTylHI_!A#vp&1x- @jy}@3A;8udIO-mhnjwBbmd}E+*HI1L8#zoQ9V-%|qAs}02n`;GH2WCyg_L?1 zsw*Ip6jxpRH8kJkl|m&?Wsf5q*%TgkuxglmaJzB7>-Va@p0vxQ|4~ Y60Xw9`$DnuRD=@Wth-ey504%0Bod#Hp9lZ1fR@ z4~>aQlG++vwB7iuD!^aEU{)y91-}a^K{g`|ou}3ZLv*dh>0>e0nnp$%CK6S%zk4tC zabd;rO_hrb{T@;@CuYy2RN}!+XBl*JBV<4bkr2S`f9?l!42o2)tJi<_QTd|oiGCp@ zE`6)*XR^>7d?iZ#LPfH0V$k3GA?xB7`(<0;D&&`?f?TBc;kPBk0&RZ&7zJ7R%niK| z() GqlHVa6&XGkd0zH0$ zui*d)A=sffnVROMQ|x{;1PM65;`{*<(9vlIoe+xCBm*T8Aw&ORk9C{c8Ez8AR$rp* z6f8;{Y6#8*MfT9Q6mHxwP>8~BMGC9=JDQ6Y&FNe{v~{z6c=HBJxw?gN?28ZY*;1>m zxn{~pt)6BxLcE@a2EO>BG601Es%+sLc5+7yEe&xoE7-~#- za-9a)66pEKOLSPTbjY_bGR-P@571E&YN`1C$irvDleCjQAAt~)uv+RwC17pCtI7=E zl8ik%6~Zvl69eCRGRThuHq<5GMW8F>=+)enPa~o8%foa&x+2s=kMszWEhlYd5>zj` zyNS6$#4wD*A&G@%6`@(82qez`Ie5 hdT0ofr= Pk_ti*~Q7l-pQH%?wdZEwS(l@Iu+3Z!5?v^f*@r8HE!H+0gN&LR|n)z zUQ0znR(7^6fanx;@=<@WCQ+B9k_fOTR|dfNrF+Hj!~Ga!8&HIIOi0-dMi@)A4gZSL zBgYGrA rd*vyuhX$4_4|p(DLCB79nDHSYQ-mPO)&;l(29~&zN(# zGFJ>gH|Vw)U;D+(65M78>CkPK0r6Ra@4*puqB{ri&Hiuhf`U3xwb?(%M@Ghhi%tXY z@4QSk5o>Y<${p5^&L#(;Fk9zQ0^*1>gA RWVf;z+m8l*>!e3 zk_9fjTu;uk;LFhG FJ4RM-Jv}n9mX~mJSnho5$=kUllL1p}myH*hWTfPeVaNQf@}=NX#{!7pp;aUaqkJ z31vs-b7SiwGz`ZVBppdDz(K*ivUdf4Ga+qlXcx5sJvvh|7KA}pdmKh<5|(z1N;6@e zNXwZT5*GkaqX8C;%VEBY)A@^o2#K$8!uMesMVao4AsGsJ*c-(h#Hb{)IEu_FxT7Nb z^6u?1=&6b&TP0QXfHi^4Njh?Nh&0a%h;kq9nZ!4^A*ita#Ss{0K+nl!%PTGRmd7Z< za2pbEd0b63i%Qj9I7{$Mz7h837H;Jl?TxT1z~%?R@xTr@d~fu~9 THUlEDbk zbIYA!xdSAZYa7jKfU*e^1N(gNSL+v6w1H@HF?T%ykHS2`1L=90UHo|vKa01*NjeSt zU0{Ql@Q0()(oBrQRc$aP#rFJZwuT+`SP&s+P#0W5#F22(J7zZxUw`Jq)!p@1YhKn< ziySX&1_-6FxzjzK< r~%lgyM zu+Dy4)mKE<0JS?0wybLjm&UjIE(VHA`?%4Ca5&AF<41=LtAU)CJFH>nsb{$|MFV{P z6n+pwwu1CO$>v^c RZB+z lOf)lU~JxqPD*lI*Dx%)D?Fq5*lD{Mh!+umy6k+&sZu*aGp1>W zRuVYKysBRvK7TYk?zC8h80hHi-=iOsX`jolv7TKQFAy#{H8i<;Vs7CcE}8s1KLRdl zVqafl0TZvUO%7PC0UEk5t4nYW(`Vz{Ue~*QvHo_kb-{+4+p3fAW~Z67**A-c0dJzi z;NY<^Cs@oD^1{8yW4bS4p^5WpN5WAOkvjQiBLN{z6q4;Li4B7>BC)u9)j=VS%S`0z zP}9Yu>=NZWF-c!Yd<%zl=oi@EM)`0mgt^i50h04_R|h73-`y3k7%aY4L6{VGp;^)v z1Pm?IftRtuG-cU-=at#Yt+7O(+O2~v$$F|?gml)6 iKRoAh zU7XiB%%<)&$Rn!lDl703pLWe=ZKGEZ3w?{H5nrsDDPxPRf*RIA7-WjW{S|(@&2H0` z1aK=t8bpzcI%O=JLUY7qLe^xYCe0a>Qpoue+}EyHH$r9=Mp!IoU5gPNcseC418T9o zcPiFA;pIKvJY+(c5v52CTWCpC&7vqL`@{BX)O*F 5hIrw6u1Axt?`VrBxh?|J L51n(*ZB*K~5EA@n0u;HA3!AGNpzNt_CPoK59PlRX1zuayJa >7o_BmiTaAmtY{rpX z-EouD2RC*NRz1gY^T`i1!^dJ$@1s<~AMP7aP4!PJ>csdg+s)A30v6`LTGTfe@ep`x z82yAU2AQ7KUs1_ZBh--EvS)VhTuE6*N1XQ4ZLIatw01@kward4(?Sr%AvQq_3XN0n z^wQ|9dv@R{f?^J>Stpst0HG7YhXbuXBXUuRd@*7^QAq#mDng`+r}W=ySD&oWW(R qD1yZmImNM& 7*7gu7`t={jcq)WL!riQ*sd}= z5wTgJ?L4viOn+4@MjL+#Bn&IOTgV^sD0eQ06*r^DuCE&+dvUqDR~!)aq;^?478!wS z)hy>^OHyJj=g!ow^nLD5ez+T _Mj3K^VY0-fPLlkqh+_}cK4TNlL;+2e0Fmk2nh2lqIY3Cg1E z1;3PQvlnOb*YyEE{CLo{C%;%I_c%w?l(T7)C6)}{u^;-N-Wd=hpu^j0-}deE`JQ9$ zTXfUXxy&|lHsw$A#W;0ktSM=YHBz4zig~0}KiI9iT}Q8Xm Dii(S~`X(QlQG!D1@T2APH{ES11)DxyaH?tIlpfde^yF^YjnENW z(Nkf{6Fm*nZY9i*l7NLgiUR7f_qrBN>-GXmZz2o)W91?S9jGF!jO?FkifX_OR5ikI zCg7%hFn`8OpIvAfDoHcBax!NJk3JnBb9(hTpHdh@ttF$(3VC_y$yR$WR{gZeg_RZh z!L;;`&;SciE;w;BEpu2XD1!clfr%R%`88GPlK9rLWuW0(p0{)lWX*hm#w4iKjIGZe zTtrB7ks@ZwR8g?-BWTPj@`m5*c%;5li%HLOLrt+smd_MpA5tWVB-fB0ps8C`+Kd(yU)Q z?j1MzK2~ `h>_eKkyjV+m;2V?Y;!KyH z+fm?JPI3n`RyjIWsc-HCe)RxQ@y4VBiFamtw+#i-PgiDa+ZrE+8rGN|gkGfyw-(Io zKO6nhh*87&2LJwgxK%G0j!To${!AWL}Lvhy7m3Z6Y*-F2- z^OCo#*#qpy#djrlo?6ab&x4a1Cj-W2*X^3~!#06n7;>(37#L}LEAhqt)cJW*Od&l| zvQTFU>Wj#*mjY*UTV~|1E{D#`S_M8b-M@!>ER9KX*SMPC$3mc|5svk$FSMD9A8&Kf zxxKr`IX~k(ygI;0ypxMgsj!nn^4~9=VA3uxLp27hw4TjA^c$&Cye{I=*mw~@I@;J( zj9n889@7#D?yeNsj44=A?-?eH^c=Cg>=ZCDF`*zOY~+8v&A|(0uo%;4nAmHu4>H*Z z&e-j&&xi41wp+jx_%?~66thuOV|-P@flzCea{10ZywGPe7^i@jRj=H-11E5WJK0v1 z&~=<+=fa30gT!8W=~c^a=-~%6r#x{-ie#EKFomyiT81&orU^ux)3MAB*jkU;V^Q0a zfJdO{W4YceK7c}#gB+RReCT*WZ71*aPSu3RJ6T*SQ#v2HhRsn3-!Nsgu^N6ZGWh14 zn0S4Q>+C3Rb%8yT`NbtN`r!rv?)bRQD3s*~Jr|~4J9{h-jjY?;GEhe!KKSf{ Kxs7 z6;z+VS4>~HFviB*to^2=6cje`fhTeY$EG2#_52=pPqLhDh}g$y)_hA_tPlM@N_XAd z3x&{-2b|* NR@Kz$OoPBb9(up|!_yJ8;&V=&`wew&%yaUw? z98URFF8L=-7xMIC)`eohXEL(bbuJx2HI`iKTNU-Ag{|bS+0GqDi;b#!;JwKOI QCe(*Sid><@Qf&9IV5`O&9H>L9lAoAHuDedP9=pG2MFK+`Zr! zHPcY*Z3b%p7>-cV!&kjCDqzAnihoGw;(Ue(*Loj$7u5vYBG7eH`987MXjtbvN>&cg zq3i>}w9r+;peNObBVmegGyzRhvQe;D0E7p;)$d0 lj~E#!EIOVr$?Qo^ga&_d_dDk z60WnjE#2b*`T6oochl>Uva+Z_2~vKQ9QGrxX)z;;gLCUS!7o_V^+(58!Y{xBEVQnB zeDjKM 5((n~;Y}qhr`K<(HNRt# zLr6!><|+gb%6<(aNo>Pa9hn5jZ2(v{)f9eE6AbEfkdfPTeq72fK=~9cIGkg)xtiih zu5YHl^`fDD+wNPUjf|7tG9r62C6QZ58HZWJbT?T<)lh8j6-kkuFlR}ZQROGzmcwCW z;*9W?or=7AQ>wmB;-^B6h3K#&LLS(|miBSgr52p+ckS!m@g+~SP>RdJXleBh+;SE) zJ_UlO*!S5tvWoC$Q)mJ;8Mot~!}3o~X`QbIu9v^Se0k(9pYasZ)7(hpvL7E!pMpLG zx)c7^^`YWLFXnKUntqv`^4Dh`ar7A99Tw5Dsn=KhHHk;!7r1MKvlV6XZ5L~d)&`r< zyzX?phJ9gpPL2e~2~)|)!7b})J1aAFW~D6=eK#{ev$CFb58ZhvtB#|L1i`nBl%1jd zQ0totOtV{&$;H7=EsxV5?dDhgQ~9hq*ypqTD*@z3Vc&?j*=T*X)`aV5*OyCE5 8(3kv1IEBc+y3aOyenfemg1UXbFvHw6Z4R{Gzf5!$<=U(WOW>H!?1{) zH_h)(Zn6Eg)MED4U!ap4e0g|{a exI(rDb*L}M}Hu|mknmOpP z(RktA?$l<#L`XB;cogHLj*G?IN9`Fz+kP<|f_!c2ll{DdW$@~LwlJyUO005VTvy;Y zZp9mpg$>SSTPfSY&{y9#R^i6H9r;qT2V?0(d|CLMrIW7d0 zb6{8!iXobFzT~mqiNGB>Qmt>F%SkDlViM(jT9?d(IuZ&=O>luy*5*s~m-%Xj1eydm zq?C)Q!wu0*c}y-MFlRL=SBb^iEJJ$w#|+DP0cDX~?+L-KX>G_a{n4cn-rkNn0^+J9 z#`0m{*a+B**z@^#Rs<;{(eaKjCGULJG07>2@Vi`iI{BQ$e8Al(&Ir2kGR>c~zd{HZ zTbH}%*L{}>d+`s|b7>e7xJnlY$+c=tCge=2-})mio90!=1Rw|=>(FyfZ^?Kq26CCs zsCa)>5YPuN93g)7wL *YxXhX z#T4^`Sz5uaQ7rI|aEK%M-zgUy*WXJ%dT9%%W0RP_9xta(q`;Pv{D8Jj@5K};KBB`W z0%0DtP$`uT?2H)Jlc|LwqdIb1k7G{UIp^evXU+@uqOL9!BfEB3OzO)I!1Jb=nvMo0 zxru4=kNBA^l(Sh~^Z8ALejza{xiS_vRgqQ8T#u8m>)*y>%+6s4<`fS zv zfRfk&etUBCdK{R+e;<~YAip_*X_IxM^-;iq% 1?x;4r}| zqPFxrKV5*?`(uF^*1n7=`6T=&>6?qFIDiINB`y!ONa3s@Z*Ycx%eo&nwyic6FDgk; zL{#y)v`FE$90$&jki9vlgXDrDuCdSICyZhy4{Eg7d{H!4TzF^G99-^2F@QO-w6Ajk zA91Luu=mBn8YV8rHu`B}oZ1H`0=Owc^HcoPoUD8} W)X<>45Bxygs% zH>PI`e*H|`w8CjSLar~z9fL1IM~*mlbhLQOq+15XD!y1e&xA>@qNP7(Qp}z}@|dF3 zDRNQJq#Afc3r=p+f23Wog&kwRHH1vWwiY+rKVFc!)I3l)kH)pwTUmU^dUtv}NM3kWQoj#0Npm~1)u6RT+KnjN&vA_FX0aLHf&y#68LWUc316|MV9NIt= zC3@pOp$h^I^w;XQm_33sReTOIz?>hbUcI!vKlPC9DK5>mw44c&DB8l}yi`;G_vccG z$Q5PIx8+&5_Es#=c;9BeDQ|G-#b#TjX;FY#Fpx@_e2j>wI_jC7?jW4q%d~doJe|3% z^5(rge>yXcVpVvlB-7%nH-WPskmq6Berlj3kO fPN;pyx5_o!dPia% z{P>v}CMmPTiBZuM=jQRr%v~r3BqxFf5kScf jI~jm~Qi(a|-W4Yf z(jD^v!$l>AA6%P=*MKrb{JUUl1qK+1WfXWTAutXMPlCKvbd`+B@aoQi&92X0Z941| zvfTLi?uAZAFqIWsnm1>LfO}l{d@anxo$bHJZ=_tT-FQCn_tASh{$|Y`N7fC@A2Fqd zry4KTDX)Q1P6v0Z`?;{R#PI L0 zyLe*c`SoYA5&wJUb{?=h|GClfW5@yK(`Dv20hgS}mInDho{#tMl{u4RF%4@y>M#=# z{(o*hsJQOKrcB$f{M_zB+-Mx=g^1(Rf4uq#AL2)>fzId=G8Wnbcmp3PN^K41DQoP# zoE3eLJS$r{r^uFdBaXnKq|fzBeZJ(Vs13Mex@32SU~F!kXhk<7$g@3DGblOc9c32h zpq2 RPVEuLQ{gH>qx0S{QvEj>1z2*&HG_MGr!5XDDY^e*z{W;y3yK3SKV_yof zCt~#HVBQ=mz}HnXK*}nd8-&3>B;Tz{oGc-8sxY=Wrm5mW {1-}2POch9xO|}x+h=p@($f(HxwfNGb0X`tlJx$F z650A5GVr$fVRxWx>1Q5kUq6lF ppU?3h((`Rv+u!bZ6}a30RJbR&B3`7L&*r<5j&F C1cEmxlZyLb4R~8Q`aTPOzys2v^PGqt~}i5ksO*RXo`8wJ7Y1zELS*MF#Pu1 zT)N1}wR=!7hH`;dS=+(lM?c(=jGiYo(5xz!RxJBreDMZGKy^EaU$b4LO9&^ioDDqS zIimFfe%GOYKa0vZR-(~P30&AQW-5)!H&beXF{!TVENdaJ2yZcNBpN=Du64A%fllFV zb(g#4-d9m;r0AoMIl-kRjlGD&E{tN|8z;$JXqnZ>Qgd7P#XQr-22g~`GKGHZYTY32 zb~HF`U8Y;>JRHihzL!4VWE@K6qzP8{zRg*S^H<+Yb6oPC6=7JMX`I++ekyEV^!-%q z>$Kx-$}BBf(7;CEM}jo-3Vfyv#q`wh9(@9;J?HWJtrrDh>8>}{Bscm1-({hc_b`cw z6tEtv<8W%LAEoS?UiWA89~PS{fNs=|aPl%hA%a+pY7`?AO0M6EJ~2qKq{V>eTt|mz z2G}9gl}+fEHOeHhYbLR)3|B&wv&)P0%KgK%r^3U={Ub9KMxq>dBdK{*tH%M^)q5IE zL9vYS;X@+`mIC~Sw36@^0v@<7t#dG>-nKLekwrKD_Q#)DGByj@rR!=I%tH79#^~%= z4F xS_>+g=xl~o_61}1X|@aiH7wZwO_&-(mQ<*~h9zo^AYwJmzx9Wp=Mdg@}+$y-P& zH@PRQ>%{$~hMWs)O4(pOXF$ D&Q#a>N{LCb543?S)S`#WWrGK9e^tIO2@p z1Nlzrjkt8If^!PpfzHN3L6OZ(Lu+l-%z(ntXXo$t;i(>-jSj%Javyhh>ArP$C!m&T zxI*Y)Zc5)lqJjK(vk?aH{6&6Cejg2_9LFS^oa4)(fxopqAQL^-l+cb+XKnZXMst3Y zi{hBV`+|gw UIB07G85t#qfo!z52c)<#g8NIk8dp835lPw8)|}jJjdn z>zsPge$=m+wJh!%y=+OFdx@8eqNaBRDLW1J(z}8@r+5eLkmyxbhnLyWO6LI_`lPu9 zj5?V}UY|}}OkkWtEXKM^4>(lKEk0|+td3 ~M6ha5u2Y-$Zzz}+$ z-c4LXB+4D1D&2=r#y3ZYeI7lVRQ94|1k-sV2r;&{ZlLi4YQsTPv0iFB-aDAswst(W zml9cKg{t*c9^llHQ6t=yioBOER}w5ciWpohLxO{1@oSo=HR 7jK5}kNDcZkh&Jd|uz#8Olvb(plvg0oxCPikpN%~ISUb-4ETy caNu2W~r*i+V=JSoS`9= zCUIM8UFs2vg-9!D=o<4&JmIZpQ8ScUaOdXCPh<*H%KjQv`n)Y~mcQ%SUr6~grWD#0zKJdajkE+e1# z8`|*I_9ob;++xSz u^UjJX=U!u>H FPNDJ;=0{ 3H0pc;~mZ#w1Gxq x3!B`cXL%wpXsOF&JU`1Db-zFfXZF5 z8jTQjLn4-ez6wwFMw6~LS}r4t_zdnvw n{)a2kGV%$$k7qWt>l zNS&R=Yz#HIIOja7E%5yg7&gl{8(zvo9qeb$;hW-nOA^EXw74EMV*c@=?THF`O}o^~ zC)zodnDDG;-!flCeRwwca$8Td?a96Ub^yJnnOkDZ$im3l$o)tMz1jTT_L`)_gSCI~ ztCSB4Un7U^772Im_$qZ@^EAOPbhp*zr&6;CKm`er5ABi1sSKXT;BZ2Wqji&an_KJN zVXwFb%B=6UWr }a@=$>h+ ISEhI%~#htTla0(N9i|Y zOA#<-;K+2zBZmX(GcYJ#pOw6uYc1h*j?fbZL~9IZ)^oyhQs-#P45f_G>*|k(nY5V) zISTd%J~sqs!LUibew>u`%EzDd#g7%GZ&NLw35#g3&a?1SYhyjU&Be3EBEu6vI6(W3 zWLPszla8B#RTk3rx=3nIW-h_SY&OLrBX_Gn{nYyX*p*q4-U^r}1cBIuT15g_tzla| z#Y31PU5II*IP4Wsm|0!@ E zpv<(C^ZI4@>(GmcM7XzCV7qmRMhj7n9$>(0f=3=7TJOOWsNoMb-+tWYEXPH{4buDe zNxTr%)P3%TXpa $j1DGkg43E>RXc}Qmp4b+uRUhNW7L#B=>U-Lx zr2F&{kGdMbE&I@wr~dlR0VN+k>G_2*9NUslCC7#6tas8mkZAOX71?e0>42(QxR@pe zy{YiQnv>H+tp!D*Cq3+auLK(I-Ym%|Fbj-E5-=YSd!?MbnDhA&k!0#($^2cIG?fm` z&6l@lI*omVhLFPPYwvi!sF~0y0>VPRx~OXdjhk&3IF>~~S#u{vTAS4#u9!mK`HPVt zQqv}#;TUm-VTDq`SsUiz1>ff;8S9NX=qlNk1G5vcb&3v8t>oSCE?v=s$%^5%6+Q$p zSA(dx$XES5?s6`8C*1zy`dhRl<%~Q!`UV@hU6nPBtelf1=yk5vKiC9l)Ye4y2CdWw zBDDvw!AYMb^U#~T(JJ% 6%=-`HG!3g{e3F8!!TQ)a=6z%edO{bn$` zbC6hSjF_NvPNm*vYNdTyZVcHoqF9=Y)OlU;xwz}t`XSsLmuny_h^mT;^7<>>f$Kin z)Ax$ey|aJ?{c7fK%;Z* FH2~`c_s<`HRAs%;veJZbTD!1@2 zK@HC(j5;Ugbv`*DTBfzsTm>^I=r9{q#m$`UAC$P c#n|ulIH+6ijvNvANbV1GNOYU2$%% zrw8XrXgv# qlw^getXVJpmm(j+`@1M;f!U;n%1;*}Su35dp0_gMd-{DG z18HD|E>*HOz2OPD-*>!%{>||={qTyF >2P zN74)L!=|?DE>nY2jaZqMbp1uoNRb4VzGmX^1Tl4>#^lp@=Jn!6Q-zx8-jpa~6`HH# zyZxcXFVSubQHo`u@z!Y>(^-+pgH(On)N`(a?3qgMjT>A^Upc9}$Sb(0DM^T_ij3!j zbF`ObyKh7ME)@a>AJ?ZtFHSG>DCS)kYB6iDo6L5SGF(!5efF|CwZ7oZE6@>V0-qMk zH%xXPckC;aL%h*~Vb+(7LN)ql&SI-7&mne)dxW?687K}@cI{Hzh;BDX_KVAuo=KVp zOWl+2;p(asIxOl1RurzrqMT**sQ@p)se#G`$L9qKo_Q*1<9l&0S)_TGSx)$$y3hCL z3Ge&zyBDYIV=EIGsCOOs$2~RaHA18dL<}KLI_MTSOHc85Z}@d+AsAi+E7MT&SoF)_ zB{9bIjOm@By=z;vK-BZVu#P|?HX t?vi%VFl^}$X^xIM-qIK%D@ zN~t(O6Ux3Jf~UIDkx<->xjl<=i5UiVX&l@~m)l`KzciPg;nuJEcKURr@u;tO+m5$; zkEv1k$jKto1RTx|9fKoNX)egu*bk)HO}RaB-s_uRCwKL*kk9Kh0R=%EBNPWg1D$uq zYxAZT%A}X#9l95y U0V9 @% z6Yc&7;-h!g&p0ae{L(#y 2IS1Xg@g!PRPGaCEK$v|p`VoEazDZg7-#;=X_;!00iUp+>#MOzZ6; z#+pr$JZU5-X{a&iTYTtEI)iyPW!WciO$q+#{pbPR+^b2+7}D^Kx*tJGAi>2M%AJsl z^U-Psb9H*JAK6*<7gqJz&vPve-kHyu6fw{`8D-LtIU`i(%4m*If;oE$l}uZ8_Co4{ zi1{Y6tMw`J5&9EpTg{G!qrMT?SfjlD3=-V!uM&@VZaoxgRF{f6Bqu*O)Ll@Um7B2q z2(yE%bi}$O@1xTcS-l^sQn!avW7A=$ZX21GQ=hBnux33r#kbKw_4Z m5ao2yWBb7LRlJ%wP@rMY~(2U1_>>dmc%VFh1Mn91C@07Ya`@ z)w#9GGc`3dq@Bt9_(RmbON?_0bDqYg`6ZKH v?l7Eniy} z84X #w16CyoT+9J-NI^#wGmP0&I>rFY$Po;>v|q6 zTUc+x(szAQBEIsw!CWQnM66ujG=u#Uv2kl=wp{d@Ca_rWO%Ywc)rj$WVS%@0@|g0~ zF5hn?F*rAD)`C-7UAx~brn =^8<6u;iTV@!FH)Y(5HOeNlj z_5(cavlEb%aiOd}J(f%^>eH}$9y!C+dgzXN;(%o{I%SDB5_x}zka`)*my#UifwM4U z(~6$-1sO3ShL^tCBL`i{$>3Bv@B^`20|*iiz+0S6EM~%1PDlc&=;ky`8#4hT<@_|W zQ|<_+Ux8Q5mG>?TE)>jlzIn7_e`+gP&s6zD{=> c*Q?fnZPX6jO;A zg=@l5n4mV@yy6G46fWkg`;RFp_^@Qr7ZDK`=%HI*wtIadw;C&=_xQ8OjEqiCjg0tW z-qHkj6j8nv_m1O2uos5F_)E4%ke2tf6Tvz+c^X20!w&66ufI&QI<2V=*5n6gj)}Y+ z2sP@lDfyn*|EhChtZGcF8xdFN{c(E7b>oMRk19xdmv(U0GABo;xcREqhgT0b%yQw@ z41OHkc0bnhHF~F#vp&7qwUj3(YxPkM7rZ*h)4nf$F8GQI)C^aRN`TRi=JaE#xYg#n z@q2%G@VmUrthuEDT-+M&a~D dOeI!dg?y!QRorr4)!LDj*9f%Z6h#5dcWP{N`WKZm(xb% z2G<8GQ~5H=w8y=9*Dd46^v(y75Ov+fhLWN}%d-p+`d;KiKCp6ZuXcLWF_(=XL<~>o ze$Mg*!>5(qFwM-9B@?tmha}oJKL&v`CFBha6<^ OENPju#dtfO(uRNQb+!r*w@T2f;orJJ^1{sj`&F4UNNdb35~tR`|{;27~?M z8!9unU2O-i=!OzTh}>glR+jop{8$5>7-`DcsXiy(2fj3 I`sJM7ccoUtWw# z7?jdLQb#Thz(|z1z!v=4>bECwC2Q&1!XmPd*G awJLELE4Rh6HF_Ve=))B>_vUt6mY5TI1#Pa93`);NUsyj^yIK8c;6IS-#-TI~FS z5?=m ^smv+;k|o~< z7T#Ig)PoIfZP?+yRu?!EX8pGkS}XH4q^(5UHD7i*QQ0Tjr3jo5D?j49Q4)jg?5lK+ ztKrbuF^-94OE221@F(mYDfpjZ43O$Dj(m3@WwD#BX^+4^fFE{oDDrXJ&AJCW3(-El zZt`F)i~_H)HW3=sbD4F#=BK%K?9dLA&N48DFJ${H)_GJUEP;wW(J_Xk*7K$7^$##z zeVb~5OXeAv0_*kSe<;qN6;P~WV)0OZKbN5d0N6PpLlHNSg@m*! ?BD@vFfBfRx3&gRsZrLs%hw5RY6;$Ur C+NM&L{--iZ<3nH7( z!U+0Bx& ua`mTUP*o5lH)Z0jHXtbf!8{ZjuLmK#*Hn7|2305bliE0=*FGE{$d z_TOfhLbRf(Ac#fi&p-yh&vQXMQz#)a$&3U5uHSt)evkOC;f%?YkgjMlNM `XS2oldvBzf2% zfOH&Ij^C(K0s-96DreCB*DDt#wC>seYlk?eGs1y@oREz4WAvYWbSR+?gZc_8ipvmw z#t!<~g1QMZnj!x5HxnJyOA$H$c!>>`699D)E7I?(nK}?~E+O)N+`-Ai4h^PjSa!~; z;VfGiRH!xobqJ&-MhkM1NASz2jvP6302?JUG)zE1c1jQj2ZSP*3l_uy5lVZG{hQKre)^j$4XRaG(LY*YL0;t3LMhjviZT3RPy2W1{EVhQLx-L7 zx3ZjERhb1&a0G1saw+h)Yd|0fMo}PSvh=s!UyCZS|C#-txa0yr!g9GGEyWRVP`^Oz zOYtE3B~=ig(x(ve(gGZ=-^6$SvxbWu+Mn`Qytfn+Kq$*lV0eDUyc*XpHo1Q(&h-=I ze-u|0(U6iBqvZS#lb*Et8w~{+N@!7{Uu=Y8Vk(* ;S0q|J{#^=Wi6a0Y4f1{@sro$N{zgPa)_hr{cdm^6>oR zP5hS(zy{#>4dMUL0zgR%|8x_89ctd6V}abD|H#1qg&M%Y2Ks9f5b!U*13;j^+yvm_ zfF_JT6y)OM`O{){Hg?dzm4@OERS=qA{ymr-T0`s4z+?xo{k#MG3k7IGg{G@NWkBw~ zWuU+30B~}1gZ~=L{j>D%ACvI>CtCjpH8hp8{plul_CKxrdA9-n75&g|KiM^Z%>n-B zvV+#1{M$NqF0Q{&VCMn+1uKy4Z|i{U(4_x|A<*)|e;5a5V+R6x{tOyu2KdXzKn@ ff&froBGb@_D@Y*!A0J0O$p8QV delta 25534 zcmbTcb980Tx9A(QlXPs`ww;b`JDrZr9osv$ZFX$icG9t(4sL((JLjHz-*{uZxBjTT zYOkrPHTSNXpS8*|!K=@};yB{@sp0hC7)9+|Y@LZX;{ju!Oh9Q+QY0f26Ei0#J4YvK zA{`=DW+1aB8X`L EBr!^F|d$l1!ymfpzLl-|_rhuL2pYG9=n z4lD;J12Ypl7Yi3K3seL2ZwqiNoZJjtY@D2|tUy#SEg%pA9fp;Yi-DP$g9#V`R`*A$ zP74EunSqIoiHnU3s12_Cj|>|N1JfV34P)T>pnrsHAh`e>?5uDC0&q^we V#nLYyx~6Ta$V 5}jq%4mvoV2DPX4%>^ zd;5z;i1R?t?u|qbV-4h;09Qrm&EfswKpHEaFN*jbg%2NpaWFt2hhQq;X7{eU -BjOinNU=jToCUPiV)z?C(Un3%l18dIU4g+JTwbFIY|g zrhHvqqETS(xnJyp@4<))$lpwSxt!j;5w*@)jPkNItFO^MpoGtVEHs-y5np1G2b4^E zFQL`5yKW{t>-Sc0Db$SV>yWk@E?FIxvyYjFD*&`mr)#V?F!}~MHJ|GvFPqQ?*;&_c zXjKLT-ahV1a(p2&5hdx28^f|2J7Mysuh75|M@HjvdisYa0HdCAzZSVGB&5%8*UX*$ zIM%UUa9RQyRAss19ppzy2BbU$rYy 8H_EX)x(T7#vI@8-~{=^@ktG&<}OTYVJS>9DG++ zzh}~pju-tX+(r}FlAt9%bP|a6?l8r-rV7^`?efZ`VS=am7!c_w?H&_;PcnAm9M5zj zzvNOFtCmvdOVLwj2Uxj$-oBsgW^6zt7z3b#7YF)Y9Z>{ozZPB-)O_N5ebK1Xe|LL* zxW5@osVdHgth`Dr{dor5O*vCsVAn}VKUP#dg_uV4#}sH1>+sDG6$!An$-Q>#BQvk4 za7$@|$a812YLYF(Bb7qI=nP|+Jgc#X<*E3xE}Y<@aIEamw&;J3VTs5gDgAvoC=)=! zUQ^TFbTTb6lC7f~-&|a4Sdv0_elB-d{9T0xoL-G`Gy>ZId^}AJ LzL5NU9NQYL~?)nzMqFxT+` zmy#$c=V%ty;GsKCUlpTdWGh-^GYg3LC}d~SYsprd7&Qgc7HoT{jq^zf(@}7&o&WjX zY&mP+Hs@!}Is4*+UBnXMa=@+ILvi-D!Ha$`Z_OSHGI7>IE`frG+N*z;ShT;+U2`^J zT&h-TS&pwFa&kj4P=KHf5ch@d+-8=ch2;i=LP(2L2SQ~t5rWRu88Uy&MgnSJ%`eMo zToDCY`D+L_z?po6z-qrnMh+fXmSuqMhIq7d-Yv8CL*Ye76HLtwS<%);gK<>Jx K3=5ZHVe=_U7s@m?W)i1Y%-U-C^YxRXuW@V*~ro7oL-b+SMH}G zFJ!$%-1^pvRzpnQxT9Saapi8bpvxjn9>rI@!A6HVBkE{LHBEw`trbb<29Ax?IUuy! z^JT)LXD?S7Ld$Nf+9Iw5vc@3}Z Fa*Fv=7`M)L@c$M zLm*4#kVch*w#1JT;{#cJ&9?O$8eTk1B80*-<$+B~+Xiv(Ux(~a*aVR$8umjSVcvn5 z2ffb4ny@bF)Cc#S;%(p1 `c7ULJHWtcI~}X;WYdsy8_|(g`?M*_j#lz zY3o!I`G-pNH;wk~F97GnBC(EiE=1??b?|hdX#e6k(p>5T7|Vzg5H>u~++5naq{V6O z3KiEYzb}qKR8RNN!nW@1L{DY7aj*wireNGqX@)$0KOo_I!>hEbZZnf8a>xatxW|xh z)()ZKaJLvnd`_YM788mQrbtC3>aV;I;X$ts{IS&;e@YMN?&{I=MfXRJ6* 3@Y;;DSMOM1z3ih65XPh6&h{^*CyQ`$_Y(Kdn-dc{+i(qC|kniLgm;hj}jG0?y%& z7br(GYzRP=g|3Y@?mL^z(>ZKEag3|>yZW-JM1k~CoY#JM0k&0Q3ql!Z((@;tYq?wJ z9JU*nojE3kKBD8$w{1E^UnPhk_NQFJ-8xF&mxl_NgrN$8L1);j@Bvnse`*8+5cw z!20!{)*$l<4JQm5uQMDDcKK{~@3PANQ@Oq5>ot_rQ%%k?QB~|GXoOpD2=ExL8-e++ zl~I|9nd7eypdzM81K5`va6C2+76vYEZcYw1B4%!O1{Mxh4o(Ha0E>ZdM@DS9`*L zPMMjQ{}SM2;N)iGX89w)%ErLW!NS4;1VzFD{`^V~ A{OpH z-?DKrv2hZyu`n@kbF;Dok-y?%|39zKe-=*QGzKnE5Q%`|e>3;5;-4T`nEwixjh&U5 zh>eN!&)N$lLcshgX6EEfMD^c017Inp1pYtQ+5Q?E3kMSeD=Q1rA1zjHRt6?^4&c|X zcny?TCj @=i>-R>-~+v@Dju@ z${1$JX?wrpw_LXHxbpS8FEn MjM#o zxRicz&A-&XfKixPh##_jJ7+roo3AlmaYQ*Rgfk~0v!6)jjwnYjK_?0jsBe2(aK}aP zE6gP+v#y#DH^RZh Dljr zHWT9>beG$VZ0NMiLnY7k1z&k`W~{RuT&fjnNB@9Ps_G_GllsVSbMH(H`FpU;D)qo` z@2ClL`UMl{Uglm^qY*X$;uA-lp%jjowscr{O7Be5lm{GKy4Kt%@Y_VK^w^a>pUudq zN~vjCj*fvyk`LuiOzq9D)G{%2iRwoODIP +5n&b$88muoN>Ps|zLQw_k zE 4;8g*^TMCTh`!!fTRKLE>i@8NMh{S5Bg*UM4lt<~Kv0hX= jy5DKKVBm g=FfYa95miTA$bB9Z5c#t(=a)5|MUzra$v5B88ImqjfY%xVuCk&$7*9qOoh|L$ zp_6uI76+D&SU)b&aC$J5C$#h%NO%|Ty{dPODIZ;lXON#|H}Ad1IR{1+9M0_V;HzK} zRe-p m~uX2@<$I!0?_vhl@8$V_mBPQSfnhnL {3xi}Adl0T3tA$-k!n-||^ViJ_ribb2eZwm+Bq)G`llgxX6NB38F@K5)pC^rH z=&`td-r8%?xcp-%DV-ki05qR#nzMiYn|SaL$RqNXlj-e@sjOuVbf@qTCCL`m_l_uo zKOqamU}kw6F1l`qG4N7>U =iepUTXsq7m$4b$1ceL7KVg-%RgLEj-fYnI5pQPNyIXz_D`nPO z`jHhD8-IHLK3N`i3)VbI7y-1kFN4i^+f8ecvuiKzqU)%O1*$*i=AztPZhqXY`w$O- zMMxp~mWlaAfVCSfFg6tqgLh|qFd7B9r | zk6%t%Sz#AyQo=HUS2PM3DVr^C3hRwq3J+@PoKKxh@XA}7Cy@KWJDMPCKl*CA6o0-# zjZoqq!tJN!3_48_eFWemz2K^zbh3jac0eV;U{x)=S3VJ#{w4&IB`Gp}o-KLNdU?iF zHLL2XZ?{Y;7>E#nT8Fe-v2SkgJ8I%VZ9DX8M8`Nd$;D_X(kf8{otGJZS-Ew&`s*b> z*&o<(U+@1S{sPLh4}BEbdwp9ekTqDknb$Jmx_`&lFf04()eFF#KIGIcK1)E^`K!aW zC*pux0&qG@j=Z2wC5~U-b%Ce4ezs->m5D)-Yy}lkZp!1rSzm(^L!U0C)dOGN@{0X4 zVfJzCy3&59^r&)-T}p3!#_2=u5NesW>{Bsc)|+n4^u8^gJ`EY|qW*ICDo~#*c=trv zVyaD|5zG|Dz7ddo?I^^klR)q0BcAd*Z+KHF7Ng0%APIGAV=SXA@yuOiR5O&*EK_&! zQM2(WRaJDBF-Es8Pe{97U*j0pL(I|w(e!Pu;oBsB@k6upb01Yr5$`&CQ!BEZEQ4o) zfx+Iu&P89m6C8ed%GjIMxXnSmQ^9$$77y_rvl?#teL5fs6l-WOnnR28)o4? zM)?7%EWh54n%+@x1Wj>`t+NWc7^k>Ym{>WRk9y&5J5Q%jHfKAt5$XAJgn8@qEm()0 z3~*`wnZHENsyZXng5?fgqC<&btza+RmE)_6usb8Xm__>4?j(GNHakhmX~*g?R6Xd~ zsiq@4c?sabWG${;V&HpP4RT%h6nDNl53y0-V*5}ccOpZ3eM!@X*NP`f22{OaP{zSx zyNBmhSTL`6W%7DslYiwb7{$v2MO6(uoB^wGjAV!1%dF4>HS!(}yHME!L3YOyom<&d z?=V!kFvjA_VrfWV^ zx;}t*bDhCs2I*0++Jm{iEjjhzNOgSu#OOe5BZn%9vf#MSdOfZ>H)XyP#=Yqw15D16 z+hJ`smM1cVA?5J =(+5@|GV_Jk8Y-n(#4h(tGBL2N)`%Tf z>oPv)j^WIdzeP96Lhqzq;5-pP^<%=67Y%TML<$N#7v3&=_*HELJp4G9Bxx^4S||H4 ze?prT!;IWa_(({w{i)0_lU&AFHBvxV_1g*2nOx5jHCG?u{gvhUgP^H@8wUWsmKFwd zg _}cYzXO$MN;jz;tC^NY=lr3wRwIus ImF2H1aEuaGj(>LQ ztZe`EWR3pnaQ{aMc&vZ`Oi^I~;;NwQ{D;2%+4KKFdjH{oZ2x8A?|KG~@gEah|JYMB zay0t`3t9gT1CCMN%>6&+|5`)MY)$Qqzr+2hKi)L)fhwxVfBAuB{g>de0GTx~QU4R! zKdS!}OI*r?Kt!!Cz!g<-{C~av$I-vz_(z%(c&JPY)KilqVEtS1&(Qyk=YNQC0lien zfahx8kXbqZXV`2&a#d2GmAWW9Gt+ RG&|vw?@3jUKy6C^;mFN$7CHfC} z1r})$!~6%l0_8Qop$q>P$Ax43yMFr*&4v4KnhPXWM+dHJvI5DpiT=d)2lamYZ&3Tc z=LPe>^Tqb>4f=Pmf2Y>JNy7GT=RY?E=%Pgi9MZ=AWA_i*h5i@q{s|2WlnV%|jVJXF zd1mJNuax_DD*j2ie{$@<(~6z>PdtC+7a!jrhi0}G&X&wXEbMGdY`_~10stE`H^=|j z$X)1pX{s$Y6PoaIJWGiSd5hJr^0DM6T!ipt7nq9_hcS{I=Gqd_ O{H32MX%R8eRgiYFJWzKJ54qH zdYfb(!gGoOGzmOzfq?b!*Mf %LUF-;dq1Gwg^y(!s^WBXIYywf)0=SpGxPvpN}^Isob7vdT`abOsK|?DtyT~eDXh|nBbntem?|v z`u%Z3iFFE_$-q~CXr=$*q$;bX0e| nkFfYDY z_od`=^KAT!7uTGvX4$0mNn3f66H%`{dS!?(z%Xe$w;maVZz({n61u|m6H2cJs=@+Z zF9$9>L}$UkajPQFOEOQj3)Hte-o#)zseS6I?UQL>Jn6dDS)X>_OfU@7$uLS?5W!?1 z`)k1iZ77!h(?lp%8v!XL*N~N_5|cDdK-wMwmi!Yz^7l6FFI6!fWm^xrWR&T68 3uHpyGs2h% z{!%L{faYwdfq895okoNgBAU2#=8y_84`|XKt^JA-*yrWa^x^f`W}k9J`0fQqB;N*a z(FYezyAx E1k8%UI$L}s7)JsMNM=nBsW0a?bHfYE!{04smdXs#xIT_pLz~)fr zEYwD}O{)+Oe*pEuD@wQ*A2J%^65@ui?E!%zc%pP#H(oHi58w;^s&JoK(lEty1|&DY z1n``_eI|0=bo1pcEYhHjMbE%@fCNa2rISKEzhcSy6K_e(E}IIEVqjXd3=ghCOiVLw z51px;ySDyxGVtO599QG^GfLG(BKZO-RA7lFUeKb&_KMTge^7;wQQ#`oV>_5@k&4a_ zoTeyXT*r)ls^45{PwqI=cqPh|n1aN1sch()Nk?vKf6!(Cu|6 zSoG86sg)iAIPW+-v2FTLT$&WetM9zn3xTjzg{We!R;mTz0_0Pda{*5_&~aNSH6jWi z2{SUy5UA;lh<*O&T)+0I@Cv1%5j(u=I%V^=%of_yJdyJ9C~8KeoczRA2rL^@0i99F zrMVx;$i&4$;E!6`*CwE^`>C5PscKxxOLf2L5Ix*%R#_RPthgAsp4SyPyg%W7J8)*W zo6IAhcLSEUnu5BbXS$1 -pKh(S zL0%1Ztw6uG=tsz<^IOfGuL4CZ7^mdYJGm@kxCTB8G!(MAoo*Ln-vV7RmI-;)4LVRo zD{k*9ntvUZMgP{QTKjxrw;sV%cWsisAyZ+5>6lLut5<~xC-r!Ctl*A102uW_EJtMe zK8i?CJ{sW*Ce<)7j7(2m yEqJZmDf8lSv8=n>w zyt@_byKbss+@a+{I@+f-Av8JL;vd0TSsw`f?t0B{Os>UgeReA2$}D;RbV`{jD nGPCdzU5+mE^a=2FLT6e`!xSdC*^lYN2Gyu zRN6(6XQc<+yccqFMNBTmg}Z=wGA1|Q5}4>y*FmdKU6GC>M1T$6*|3qZ4E|lHf%##2 z6)0cICNb!q%^ zODf}ZPWr<3Z50X1WxOmH9o4`#9xp}`1GQ!S-he5HecM>0TCV}~)5R$~EAp*>) zy06qnJiHi9UO`Kvo&q!ZM8-c^2}hvCuf<<+ZKXiCR==#-YCb7pd!ih{S!Y^gl$g;m z0S?6#Cn}21+|GM_&2({e1as;ytQP!X!1m^%<9ZRC%#RhpFJmudmiOu9#i?4D^YeOC z*flCkA27`z+mndTK20Yt3m@ruf9&rhDELgY-r{i)@X`R36pQ9^dft0NW)rN6_STQg z$h|;ao+6HBegbdKl@(AQn~R~Dvq)i%O)|KIp(H%)Hl!geQ4)wzVgR_Id6zzL;TlkR zs|KntUz%0Yn^F&>cTnh3#tPCz72a_*iQlmq0zU51X8P_p5~9hE3o-bmVZJIPgIe)D z_rE(U=zxMN5G2k{m}`vHT5@C3Z-&cC*O-Q+uAO&xuI4SFSB^~ldBFEnfG6F_uemt3 zFfpo9TmoyoFfMKNw!r!M_?XQsKAtUa1OMesmw)-E eD;n0M#z zANB72w*hMKk*|j5T`kNIUU`&TpFQA}t$@aZmFZ>qD$UbIL!Oh_j5B|X7H7ux%Fz;5 z>v^rH{K@oqep+VQ{s?OH2~uz1JBf-?hvhb!JkH)rR9iad`kL$V0! `Fq4Ppr_nNDn{F4|L)cp#4 zc2AjT{4QXR#)3YTA9?xZr^e$d>w5>;4t1^KX3|Hn;>h%4V=a$fUQVm4Qrualgm6fX z3i~>AWD9#6QEsW>Z@8Nimhtip{ebfyzfxMcea0i3Q`$1V0E`G2ydvzJwHe<`+3KTS zbYf{PhiKJS%uBS+@LosPr363MTRD}zemH(VPR+n!Mppxi+U$C}cuzVV%Rer`C`Pxg zZuYi)vmmU9P8_2v!qzdcpa{N?BrdTfS =TBRg-D$#Ih@Q;d1&J`yqPl6`93=U6Y(EgcfxQ2GjEWfuFb`w#%-0ITm(?g|Rc zY|~hyR>o7~hto097pFl+^@oa`W<9wwGzwEL(o_sM+hGn4;ay)5q&a1}NzS+{iX)Eq z$%uhpSj9sO9+$N^Ds^&k5*;7sGg=90_#WSfB)zl}%&!3}7>`7aX=qw~uot%2EOXwH zrRP&|#7mh1xRDr#0%?G{k3|HH^&>Wn!+R>7x)Bc7p|<(O%1AvKeonN|L&h95Rt|If z>sq xKLhx0d@6R@xjqbsnt6 zhE&$R*GMLk@QhC@o~34y&mjS*s{-Paw1hcvntH0uIkoQU)F}XwmrI9f^EC!XI#{(L zT=WShi975cgq%)B-{aBNxHorMMN;#-?tA;nwSVk#{|xT-LeVE&i*} JD(IAzQkBTYd<*K6 z%$~;Yx(~;@xfv$R@B|2Q@M)xKg!%9+@2urlcu<3TPwyUtD-=S>V1O}V-m(GGh0=$< zwmpiSyCXa<>eo@iP){T e#>{7YCBL*F(PUk!XW~I?%Ov6=cTH}Vlf0Q>_>sg zwa8Olg9QbA6?V8rW>TRK_Jru+I&FY(Jkk7eM}%EZl>*rVjFWpO%wIF94dVhSb~8Er zUge=WRlqzw!yWDU7<8jLP8I|)Qb16)z?r6qVaX3(I&}jML!L3^dI}WziM_z+H?(fK zWqPqy<6v&tVA|uIupmJ?=lkR< $+w0wE^I+$ @c zT<8``#1k6#t^~yF6=5NLi^uvl =h{c~L{7ion3wAEH|M}?Yf*)QLO|n^Sag)`r(!tL^H$Mu- zGT#_4)ZZ{azy5pB*CoRMLZPn?5)c@Ik(Sq}kYcK0kb0z+aX(98p0xrZKC$jo2eA6< zEoB1)b=fH@7_iMFIu}{N14n(gJdVhZI_96UFRRO|+gz@yyzBs*w(>|Yq(N;3W?`bt z#Kb^R8U3qyLSlZl{H<<$UIx?qz}e;8E!@)#5lIDtPaW|w;ZhBfprh^&-fkmnc<0#M zOqeIq{RCr`kDX3(7~)BaQiBZqjO2g=KdC3I)0l>%VoE&xWm2%bYb%)6C#g(y+)v}D zCQ$n;0lbg!nHj)4ZOODB!L{EjCB@`te@NEW_tG3OsrQ$SgP$vm1e~j)%V<~tLFz{& z>KH*1`VB&)cmAV6ipf(KVUy6A%+{IYxP(lO?oL?o-Zz8V-(jQD<_o#xfv5#JxHk|F zO(u@{HKDdSebt p-UTvNJ(P%8PqG0e;xx8zLNfL1fEK}vSXeTE-=jR-iSR<^N4-G~E? z(dBCHXPyJhC4&zOxS|iM6;#;ECgO`kSK4+)_)ND5VywUBv!x*x!6Dcm `YK}dDV1-^P=S6S({Cmyf@Ph2GG+Oh0(vJ-f=R2_E_6VoN-AmO?KM6CngL~L`<;r_nMh9;D|MO|4FNO6+Fj9 zzu*&}Y_Mn>$4-LYjndk{QX`Js?6f|{=nsJ+MfCsLTmvA geQa=EX9T#2m1Rq%;(zym<64_$33%dD3Jn{izE%(*O$CqDv)TQn*3QyFgQuz z>^c<=y~LG!o0q5i ToFILXk7KjCKfe&12qBeRK;=p|z)cdc zu(h@Ic6BXZk8KyS^+oONn$>{ky=7+=QZoO9q&T;z6yyS;QkZ@Pvl}WkF!IL6JHwe& zbOfu1nuGzel4O~?@8PJ}q2i|?SoUG{4a-(a&gc -=4@U >g1}(s3!pR6ro_G!LCvBHIO #lX|Y$nKgj5lloipdAwj> zXxJ)dHO#Q((L5ieI^R~xKkmsM@W7-|6gg3m6Wb60Q1P^?T`v@}(M;vAM~NL>i5l>$ ztp%~sEUjI4pS3jY&Tom#Ch=gwyvHql{wj_{S*1M0U`uv&RaFJpZuWfO@T7s|+~dNF z#RZz5T2lDrB+tp><7Ochq@+voTEAtX@rTt6CF$L^n3>slZLCQvOfKvmy5nTWq@0;k zC>gW?vbrRFR#(CsA#+40&rM)B0f1-;df+JKl>1qx-pA10eoXc4)^9R6Pw`zS6!E#0 z?bA#(X*D!qwD`sg`y*8^)~+yufCDLO(kJSQ9(Aq3ZMYvu6pOj!xdDqSkz7fs1j#TO z0NDU9sGy(2eWV9|anc3KFgSKiB1HrGsU;eK>kanQ $Iq_sB~+@IM)>#D{5Ti-SSCIx}n9KFYQaYpbnCm|iZG*!AZdb->c$jWU* zHNH}_;AJ7LZPcCKI~2scw-FJyOLo++_UB!#oJ^8B+Oqe^h(lX78nSXOy3AM3dLtzz z3V_#}n>&L9$r`!B*ej0tD|?=7{{{!~903K3lVgKbxC?M>^*-%DJtIx=q&XQt-kwJK zcMf20aV?~7VBC)pO#SlS`5qjs91oHl+YzK!omGfIM-H=w*Us06 {b*fV*IU>O%HyV(`m7`bi@eQyhHmax3t(>Seuxf$?K{rtEtsDlt<{K>ZvAXsi>-6 zxt2ZO{rWW>$=Le96X$b0uYhC*AT(U-hQsg)l)-F0F`kFZxLus_^PBnR?++9K2cwjO z`vQZ0!AHcFnAy|_PX0@0QfM^hy~`xjje9+=&V5ZvA{t*kWxpLVD8wocfo(O+97fI? zJAv3#AyG3hxVV|{`4Woe>y(tnY^9@j>lcH|wRx>Ttz`*+EUN7+)?}4#0L!UH%)GG3 z<9Lz?Y9)fOe69`p5Dxoufi|r9P#ISfiXG|uiRk=u(tsI~5=Lqlwa$0#_Qpi_xY#v5 z=YXwRt&;wIt7ybuvetGO(nc42ehFVNhKH9!EmObU*uph@6UGW0oQEswZT#4k5d9&I zvK2;2H^eYlw#9kc?e%)!4nX=~K|9j74U3iQB?u*wzQAWszvNbzdzu%V$7$`~Mk1UldL+$wdQb@DXipJtXAo|su zdawwCggcges8@(M!T`5akK{v;=}sPZbKmc+5m0%x_VT_u!=o#$Q};$$vx>t%mouV* zme1DX JIGrcrmI{U2()z$h{Nx4QX8R_BqXBAfJ;TgQXucI# z9E=>V>+Qoob-*G>5%X{|RQEuV1+k@2!&!Luw6- (+nS(kj?=R1;NH(i6|~EFE%t`v8%U5FdV=gJ zG@V)bwA;TzYG#fXU3f)UxJ@=4C5nOMgvmdVB@TJ#npf|RwQk_SXb!*Pcfnz|-IdlH zA>jIIT`SbTeE)_&*VbTZ9lqM1u8`GX)mF`_l4K E@n8kZC{nH$aoaeLFr_JsD9dpWD$j=ld<-b{I$qkL z$d<|Q-q)y*TBu|T7w{hpqZ=|--1Lk^CmCVo7}kKB13fM{=*xa|NN+uz+FbC8>OJdq zuotTxT`X=eOs|RT=*c{Moo}u@sS L+blsp7$<#I3K{` zJ5U1L{3NJB8RP K@XP!fEcsZP zgX`IZ%qF|pjLU~!_(!y|_yy@}iW8H&l=Ev|&y7eaAS-@V9V6pAaoxV+<2_FH4UW<- z?V1!%yI7%$#w48!un_yGy-kGpgJ+~NLi7SU*yEJiiO?H}n?0lIfpfvN^oYNP7^?9- za&CRmv-dxRhgO%C8n6kU=SBER3~ls%eYe)YvY4bTq$6UBF~2}*6XF{b_ruFC0lY3= zmoepQpTY0k{k-{CFJb41ChZp%g|zOE_`SQ!J7nzkv)wFw_+)A(bXr?W?Z@+7_-_Cs zx8Ey^FP_P}^X_NY%-n3ZyV_05#O)^4KRT=0jN|)d^$PabIMUE-std(s{RnlY{Xx*V z@`?>F+TPw=i2SPQ1aPbopw0>L6`)Sn7^b)#cF)e1yQ(CUJxKfkn6p!=7`}^H`9!T$ zVVSXPTdPf^@3B6d2%h%k!CQUR+rEI X`8BHxlM3AEX4{4aH5!ec)R+PT#ns4SBX1OPA1$S3A4mb{pfv5HHx3) zqgACyQQH%H`0YeHE=_HK*Xh1`iZWYDax~R`U35ZfFYj#bW5a$inoqAt&Md-uju#ia zLXkd&-~0H6)lF;?@cuURR@Db^u0gScFB2V#!QaEg+u#sdKpFoUXh~F!adPhwf@soM z(Z|3XP!ReWjs3;d$^7a$sYYUaJ1Ui@D3C#~(oTk+zg(GpP|S=DdNok!k(Y?~oR!Af zbAg=3h@0 N$h-o^Gpg@&0F6_7tPZ9&Y>Y6A_6X_~#;Ew_oet$+TF8 z#IL&3=F(q=R+e5(D2$w-z!{?=VcPG35H2Z4<5htsinosTs%n-0DsYZPTG}{)H919* zcRVTVtdZ3B8}`#ufOw8RM#|9dclN!x@w@JPMp(1aJ zJHzb6;{CfNIxXZ*7d82zlwr!{p_Aux$U97NGaEWxm!rM&2H~nm40!-A*= I|TH1l| t|tS>5fXGf_P8@sQ9c zB#Ktov)jn+! X<04}h_H8RT!PJ)cRf+(`l2wlb}KI7UbGZZ+YS zGPjco0jmC4W6eFEXcOmQ=g|iQGDW*JZ_oa^z@OM*jkrC4DOP`Dx9ca1gs !%=+D7#o!8_Ku)W -=5PnR pZ-+qK9RD zCfr)oQXBJTGn8KbF%p+U6oX5I_m?dCQ@9$o4KPLa;$~y8PPhi-6WOrg$-nD4(ZshY zA8i|1JkF;0%0)MT+8^SKv^5Cl9NlWeGeX}?nR5?tCW2~_tUdY+(r}N?X~Ap_=H+Z6 z3oCaMT0E@Eeo{5s%V$T(McimPhO1cb cFC*Zw#UTyWgHI#~sgb`sxl;PfIj$^<2MZ{eQMB;qLt{5+ z6O2chx+bdj)Xrhi*Ux`wc7A4&dp*(XwZ&p3pKrFCo^<(~uLq4^OgakQycgp}N;Y4) zeyVBx!pAZ6eX)vovl@LBVcSWgJ+7NGJ?J|G;EGRmu<>VRWiE!1!ezP^7dBT0;S{jQ z4SDGje PTn<8N`dvPe8sW5mF4C zXMtx(_HND-%XXUnnIWIY;Ech?B0wgvQR{V#Ezic!6|g8jB@ahFIv$ljlu*BhG8D!N zaOgWJ -y&nJ)20NS1afogf~8P^IplWG$+$WZ8mNwdVO7 z#Hj2gS?r+!8qmXWVb?*UK`W})Ag`E9fxHnmz*%@>-&b1;C0RB4R{tG%zK6hw8W({K z4Hi9*gLiZLNY>_R(xX)<>sNi*3!1CVbjJf5;Skbo-4=ENV^&$~G`?RO!~9+VEprD> zi@cwKr_B%X01yt>a2>8Q38KCKl~;w^XmpR~h_Y? RO~h5G^zljFIw$APVvKjHPw>D8f|ogw$)@$pV%D zPXntBp9CB|1WQx;@Fq~TVc)N&w<1>Tghz@E6eYV;cwZqu3JF2iux1o0p&Huh3_npJ z(x34EdVBOAd=AvqA%I|IXJ+}ElCyAe{~wfG7hX|y8T(_p)6FfKq^6TLz;B%4oCXdC zzWsS84=i6o$)l`PXyveOd>jNhKs|LpGa4C{5Scw)Q-+nNiE4<1c!+~|7ANC7C3AB# zg#gNAg*gSYm0$b&v>wLb%9Jz9yerSqZ;LCB4X3G3F2Lu@XVz*vCJaba5XFv>u(tM6 z2PSKPDCjMRk=;&Z;sTpOY`k0TJ4-VuD@%d#n87m}h9BLKtGtr9QImz|wjIdcTwRu$ zvZe|G4cUlwU$f*l4^aox(`ydDC`Z3tt)ga;v*+XJ?Y++NXXX^+VX4_8Jza$XS4%5# z8=p;qK>*#47VuQpWDRt5U$@`#%+=k{J)ckL!4HcBEj>X``wkt=^|gH%DC}n7Jqao+ zEiG;3#Y->Hnh|gC$3D4j4zxTe9v@b^UCWJjM3z{J-dt7+4D>Y$a_h7 OK4=U5e!8TD%l8iCZM4 1h7rZjoY4mv59e~et0#a_UkDs469tW07)S%O|UoFl^Gs@ow+Cv9fn9^v&XXAgcL zx1jmQCr%K7lu}f%ZXU8@Egq$_D1+PZYSe>sFfzfec5aY$A_rUw5&W4}IsQz*JAI#r z2Y~OvWal&Nf_Z0HCl}|+24$(2?~uGSe%auN?{RxE&j0`8u{$ghzyD(>-~%;mI5td! zBn6DjG?MkZ7KJlaphePPj2-zk3j0Ra6Ldu-5uCn#2Sjh0C!gz}A_ zTdwP 82b6?jy6I z>ljbF|NZz%?DVUe6gG4(iaop6agAizlyx5)F{C#!1d(jnGB$!k9fkoQauscVI75|K zjBPNL{`6S0Q@-dRX=Bm_b3KJDMyl1R>vJcux-)-)p1kunP&DKaUfyOKgR}l3T21Sr zc(m~P`7*aF&6VZmowa0SF&BSY#(;vfWpKnMRv7{zO0@Sr`RkS}cJy2r4f(MPRDrZY zBF?NGn%Vc5NOqiio}vgqC0{ 36j~Qxr9mZ0Ra_eUvbulZ{3O}yGzk=@rTr0n`#uo-k>fpC4 zAMt*3ULZSZE|GjsJWvo|&{2(3ZTCd@&WHGtg}Z>IrcM*eq;^LCrYE=Q9qcq0EPs)S zT56x5z!rXCwNdPbw{$GdXtPl~X&ariw=HNV8Z6U1G5V36dRMjK?sc_V|5Dm;(ciuD zi%~(-Bjl2Ku@%GxfEdJ7-V_-+_=A~Pv`Pn~3h5Fw3F2@^bW}{3)5Y%MU~l$p*oHBw zQthrYe>DGpm37u(QM6wl7m!vE5Rj4 GdG|CdP zm>FdaDF~n7`0-0Ne{W=jX>5TikGO%^YbM}xa*t~Gt 2_>AUl~^z?aY(>sClSxq{*{}(cVQ%?>NdW3pt(etLJBtur=d?o%Mv}0qOPg z<$HSqDu9E@vr^Nr7W=GngOP7 S_P|>XQ6tt4;bp?uVB+usHI&s0b}p+qi$uTB JiV3q| z0hl!-h@@ub$302xP{SZeRZorQKa_v19^wD2Z?Z+IJTYnZx{;+Tz14+P6zG34qK~>m z+Bf`4vs)_fai3-59&O*Jx3l}D`^%E;bPOLgRccvI_m!pC@DWT=rFXw%Yp{?>*qWVV zKY+V5sE6KLqY-^#k7%yA3nw2^GaS$CR(a;HOjvC?wt+|tAHz(e4$Nj-eG;}c#(o;f z9}^Ugq-DJ=G_LpaWgB2C7p5}WG}x`B_5J9Xm!er&cG0B9TE;OA|608BzUd2xiQI1z zW3Loy6S#lOk%_CVm^waKOeEXqDDO(;dfxM7VmV57I0U3ZOl^F~&{A1_M;TWRc7s2% zFnuMh5vOXe;`l^5^~^G;8)^R8T!d)S@rk|kQ{;w7@b0r9z=p{BqCnNYLR&n$m$#&{ zE?HQ7A4`(%dyipGZT{$kmHlr4*s{)5g>gLW3Wc0e;_oDkv^UD5zo>-21gf4WevyEv z=Dvu;c_qH*ltsAbeF%9{$dz{YsfVfBkW1qIa)<_((%xMe@`@B)kC8})?a<7PNeQ3( zb=FAgh?7(E&%MHK!gEhIPL@laAw6`LCTnYogzu^_yo%cl7Ag__xal&)qroTOASt{A zJrj&udcWe3*2l&(XaJ!$o>S3KkA6+-4Vh&ZruKbrt3Ah6x4q$-?kU%u_)bBxHziZL zmTBF$U=v&b@Y)FMaWLc+=7@2 Q4lbP-snaDE zGbAcyMj5>7^E~gK=!TUlsN}!B>-WZ1HOY ?`wSs(`Ym+H*H^jJ9ow-7ACQCIt z%PdqWsPSaI5wRiTL ~WhROsgjQd|apC6r3=3#px%P|uD< z&V4X=*zj#c^6O*sUqy7%QDH(cHq=pDL{`2eO)#giJnMcrQ`2WCy3;XvRZ^#w3A#^) zcQ=*E9k+4t`uZPb!k*%FM5%Gqc<(P!OJoRXg16c`BdmgJjh+h1jSZRT$p=oj$P6ky zoFjl<>(ZYgxI@<3TQ+ci{ITE{%@trM`k5b9GSqgrb4$!Z9n{!A@HS;-eXllpF|a8d zx;16_t HtE}u#6 z*tTqc-O7k<<)X`oyJ{~%63*SGAvgb8`)2|NO{~dqw&cocB$BT(wAe(_ofBz)y}|XI zKLHd6VwXy=EE$3>rH1tpQN=JH4jDAaEmHeACN_hN4<>3z#234i{P~(%zT)mR3=sRD zELvo%y>L-@akkb)312l|d7)IHOZrn5ba(^%jey;{yyzDQlBazQ#4_v9I)~#$x #b(g7>pjZ2M1cG5(GCMPFnI%gAGUdY2nUVjp?nq`Iz6`kHGlC+Q8 zoOt97*XzV5yqpgbGAD^|ePDbPVUwWv DR0b}jmL8NekZhTP5wdqtppp|1sqs^A! zu_lFB20g=D1RVN$+%jHR7;9_Ndo$VhW+#a!!E%U!9uQhr?X(z_NNjlOwJhzrJ|1 7C=GGZw`co)#wW#4dtR|_z5#|9->mB@?5DVHOf-i)3_t9*+srqn z5KZ9lWP@yh_#!W*L8jGPLOyNYUSOpxu;8qUaR+jvIEncSMTq2WR=FQ_CzR`(M6 >4i0V03fuD!9uqOY z@Q&q?3AJY1!GuRVqS-En4-e)r$IFW=2{SpL?h$MyrMVK6lH+A^tLghtl#qu|Q`Zu_ ziKmyWr@tSZnntApZF@@wW#k>b)<=UQTPTKQe!cvS)N!A4cXz!~Pa4$65`&$dAf0`c zJT1!nfsgjt^w=nTc5m#gOJ&aTM|zJrDc$TC(q@^