From 9511c2303d7be8dbaab2d99039b90841622c771b Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 12 Apr 2023 15:03:44 +0200 Subject: [PATCH] added TODOs to report wip --- .../commons/lang3/reflect/FieldUtils.java | 7 +- .../commons/lang3/reflect/MethodUtils.java | 2 +- report.pdf | Bin 280160 -> 281417 bytes report.tex | 69 +++++++++++++----- 4 files changed, 52 insertions(+), 26 deletions(-) diff --git a/after/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java b/after/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java index 16817f5..60fc6e4 100644 --- a/after/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java +++ b/after/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java @@ -120,16 +120,11 @@ public static Field getField(final Class cls, final String fieldName, final b } } - final List> interfaces = ClassUtils.getAllInterfaces(cls); - if (interfaces == null) { - return null; - } - // check the public interface case. This must be manually searched for // incase there is a public supersuperclass field hidden by a private/package // superclass field. Field match = null; - for (final Class class1 : interfaces) { + for (final Class class1 : ClassUtils.getAllInterfaces(cls)) { try { final Field test = class1.getField(fieldName); Validate.isTrue(match == null, "Reference to field %s is ambiguous relative to %s" diff --git a/after/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java b/after/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java index c289f44..ce62340 100644 --- a/after/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java +++ b/after/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java @@ -476,7 +476,7 @@ static Object[] getVarArgs(final Object[] args, final Class[] methodParameter final int varArgLength = args.length - methodParameterTypes.length + 1; if (varArgComponentType == null) { - throw new NullPointerException("last method parameter type is not an array"); + throw new IllegalArgumentException("last method parameter type is not an array"); } Object varArgsArray = Array.newInstance(ClassUtils.primitiveToWrapper(varArgComponentType), varArgLength); diff --git a/report.pdf b/report.pdf index 6ba562730ac5208ab5cb5af423aa927399c7d3f1..4df4612cb24229fb263620ab649fbb3d7f668dd3 100644 GIT binary patch delta 74951 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

ae0HzSd_V57d%|vA_nH zb`7fh%`&)MZ{V)>K+aV8VwaS_-$XS|M7y`F(oj~u177vN&m4Sf&a3NL0FRMb0DOzPcs#_b+5F#duWgkdHu zq{ZXdYW-HPM3J_{+c$DU1`ZxJ@_w0aXR&h(4H}i%pu_lMdKCM4S7*t8`x>tMTc5Ib=F49&%xgL7P~ zzYhM}JblV)W&j0V`Iuqz(g!X6%~9Vx&rYGWOK0xUqv63Jqk=HLzJ+thll*r1;?(VD z$jBs^RQT=qhBKS@E@jJqpUMCOM$|0Y%D+C(J+dk(H6{Ijq8dnf&s+q{%J@v^ z>|I;n3MlNlL(&A)t`}8+{p=PGbP~F?6^g}Xe~CfWB(y~rYR23iFL5hITSmIr6-Xt? zvYgJ;FS?8yTxr~yLEf_Ay-CLwQYSDHdT0>E6;@?O|ze=)2-U%}xZ1bLX4ta+oA2<*bczD=&oLgOqWw z(Aguoi^j7b)NxC;(J9GyBk(8rc^GIEXm&T5dyvEv*IazQic=|SxCdZG;qR<}sml>! zjp%p?Ntu*)ZwX&R96qq%SB zpf%(rCFa2Xe}oSfJuimOQAr)0V=xNc50c*L4tiL^q#8B3olc}eRk-zl!h|F^I-eVu<^$(@7eliK)pMh3)M^r1(g?n#MVAB%{@LWsw z)VZrwq=L97c5w}|T-1!3DvoM7Ux6zBUC0zW`s{~zG2q@SPk zY|C-+jt$?J9UcLb3wu4F^%;F#QZ#Vx{vr|IVA&D*6G8)YEuz(Yq`57vO)qQsf9 z&cU63yRgzP)#m7N@Dl#4s}u(@0WG1s>GyVNWcYJ4G^R-=Rk^a83`eL!m9ZsC_>jF= zg^XDJytoP;?H)48)+NRh0h{1J=ct$@dzH^Ai29(CDoR zxq~|{4(b`?U=6OuuU^Jl$L^!>p-rO^dOGzzgMJ^fcHRFgovRe25(dLH3!VHO>>QFy2>nbC4)rAY79g0-%$> z9u~^9Q<~TvajJfX9i@UcH{4*_<{5&2sq*G!hahSaEykzL<%M7aq{)(Ntvw^(@93MA zF)^njf%Hnetm^E-H{xv$2djgf;m}WNG2t&a70dE3ZQm#y4ATxnei4~aCw_Rj61f1K z!TXp{kjfTK@T%qCnSEkuC=;CwL^S|~;6jS3!OGx)Bju+3m5lWd5dn+i6qePbYJXJvtbD?QEL9P)T@%!4Zp?_n%dh~0+@>HF;4mF|=HtrBx z^=ITQP|q$~gh?dSIQEvr>sjW1JM4_FO9sAmgYn5K69l?K<=;I5A!yC<$`c<`IN)(6 z1s*O9OJq7Wq(ilJ&}ajjWR@KIlPyirMXv#dc(PpQ{8#mq@o3$0gAyKMCz7htoL9X;jOiOQsC9_Hkh*6RLN3)?E-e6Do#lkHRDgY?;DEAuI^uBr?h-Y zjdnvdGj8g?29+Iu9@I8UoX%IlcoKDhW8zp{*BBb$pU5P>%+`%T(8|+fTJO~sD(6NJ zAfbY)0mwuEO!xL9V(tc6QfN&d6k308i2k&LgxD1&iEN>)W`ySgmlV{e=JNjZ9!zB; zp9qs=+dw`CDkS8E02~m&{2p!nZs1PRVZl-da{q^0=njQ{DY0G8;EOeM!8k(>+H@e5 zH>{Z9W^8tjkYp#&rug?0C&AlAu^qXJ@|jb#3V<(SzQ_#H?*OFco&C=w?Pbt(Z&M;< z92qs?^7wk=j`n@8 zmVM%Hlk0pC8MvX1K{c+=^uVObV)+G_mE@6B1rA~T&OMKo-$~aQ9!3H6h9@y*9Qa-X zw2XW@{S4f3Vq>!ozWRJA%W9+F^8kvTRFSwUY^Pso!QmN|AUJeZ* z&1>p^MvjrR?HgJHx2G54ROut~z;5-I)Tqps|A{rj$Zr|oIFb=$AjKUcAed3Tv%Kdm ze{Xb&DESp(0Iwl)58oGd6kES53=GQKS$<@HkTFcgiy6BR=>g+-JU*QD3s&xYp$L*u zxFgbGG(pbV`pOL2_VvD>B0(qi39JiW*hqa^EYs_(m-A~Rxq*;WVY5m-`$Z0vwZ6VN zjr)YwoXHIQe{{4c1~gg?&D%IMn0SIw16+lXlEPv%V61N785Z07lw#=v&Za~7Y>%9O z+df9nK^bnFqUVS__7o=$;#PLkXnd{1{tvPpzIf1W4S9$`{uZ$CGRfGjv9LOjwD!qG z_a&x*>wqAzz0IVPv9AJbHiCs0=o-~Dh`lIiNkd;dTsu`IE20k*$W#OyYI*<_ObR=8 z8;j(i?DK)*L=#KH?h=`p#US^3r2`g!X`zqUVdM21Wv^bdT3;MtkN8UJTOq28C=4aD+G zfJ`}1kRcT^wKVEUIplwXLDozJsv5RJ>pkKuV4c!(4vVlG4=w#;Pi12c;5LDOrX>2+ z5Yl|totTij%v}~19zE5>3d$zSUB-U(=HKe{k|pCc%oQ4@Es{C^sRt6T5rt|(nHAVE z9!b5iydcPj;+47;0>Ur`#hN_%UAw*Ez(Ro-wX{N6lHLZl5^FVdvHMx5xb zsnK^NzeaglS9rrmC&f0uT$yo$)z`&R74EuDMEfQ{3>9>DQy71jz1y&VE0j^+!q{>O z5!o)F5BJE(e)Qyx(j4oaHWuHztwOdx&>?1dMy`RX5LwFmwWK;y4#t;~jeN%5PR%~3 z`_wIkPTigu{ZT*RlO;OW5`+^gxal&6$P;CB(^sr4t6geCGg%x=Mr<#m<`>^4bAO?FNRMEZZC*R^G9-QV=EosO)KRyf4 zhnqR}F+9LnG#wBAf51;vW83FUa4*zZ`)lA)LOaHwf^v02D&_uvx5=FV{o_bTq>|+$%Ew@NuHl0UIUBAr1A_Kvh%NWMn_fAl|T?ny49xvqtf$$Ahv)XdDGWQ(8I!1Y9Xc zVpt6MU2eMwG{8_DqFSQ3a<^7fXEyYwovOwE2Ln+3Pl~P0bIS;$cFT^HASa7m&iW+yQ}-#TkAP;{RxNJ^N1tmG=7>(^9cgD81mAffnw4aq+(3uCSC(Lcv#iLH>U;F69zgiJ~!{{qY^4iWHgL zcTPVkdJimr8p1zlz{vQ-{Jh{#JZ0*Uh?PM`eMK5xtp`}H8OVv0IUz!1GipvjwM1u% zn?^fJF@;l2!LwM-Vfss&iY>vr)Hj0;@)cqNG!a}7wavwn2AM;9dKxhaZ!{GEneY!U zDwXXk1;86JA4f&k%vdMxw@3^+n+0<4+3Q5p`Rzu9PA885^%z)~?tg26(h z7ES;&KUIcbYQsyjU2d)pFUwhd{jBI|3C;aN{u;}aZO%FHdw1V7;&rlAZrvo}$fz#7FzVhj%kMzs+3u9NN%^_1EQm26@JqgEdUH`HG01I*be{;#8#s5h z=hT>m5$NT z*L}`*S1;s1*X_pZ%_{KKZCtb23h0?xL_VS1+vkmVnSX5$+3_ES+R9fHP(y)tzDP}< zKlk@uA|QH{HqC)3y@wjCR3i@uDZ(TIA$|HYMI*YlI$C|Y%kJ^*N&mb3v?NO z^(&N{K>&EPEd4Ybhs%SeRdK7s6Tp>Ng>ATm@6Bn%q?&J_99;m!+TUN0{sh6 z7^Rnk&90Z)kK$oY%1YiO(2_Jvl1MD9J|MQ?c_z9tfnEhUWimK~PhB52;!xbrb)}A# z_jLD-lSR49W7ApJvjPld+ln|$GEMS-4Pyd7id@*n3L|9xDxHhYwi4gq^SBSW;hCe8Bl?a z^YiI1Xm!3Tw=nL-G|Y+wwSp2ng>c_NYNOsSvJo0})YRnQG`pc~ekf`G;5XS4Yp%SA zJLKn$eN=iJSE|d9sQp|(`yzxd=0{Z@i!{UYp_>)g{6Q9|*AN!ic+^C$Zn#b}cT>an zvh}?UreW##z+fD<3EZ~yRbzU8vA74UcKRbrJ*$p8q;@#fYGi8Z=yc~aFo6y3pUzfu z%s#ROS?(MF8T%zqee6T@{!M`cnP(;Ae)1?|S4zZM!QMwCkYYoZp{U&SQwoXSGnR@C zo9AHV9kI%{4-PP0e%^leKZ06}m1=_i`!Z+*drSkPdT0$FfMS-r`9eZ}j6H6kCXNb= zlL7K6sW9Ouu;xu>qXwWIqd{9+`OJ6?f4?EZ4PJ}b?b87nGO-yV%3uOhbwkGEo`R|~ z7}7Bu=o3&+7*{@N3u-Hzkse{EU`P5{JFuWu%}f*-G#armFlC|33 zG;`>(spv4kWrT&wWHfVsNfzej+piKUvwH5^iv{B~y6s=^-_yi1R#CT(u_9i87osu} z1Y@o)bjeD~G>97jV<`KPG+>x8oMsJB1Xx?9Y>U$$*D=uEow&V4OsmsQ>inaVtA@gT z7Rt8LWM7V=eHeDS+CZmCE{J~c&+NLbr49ML7d5$Q!u#uEC3l5Z~3!4 zkK8BLe*7ZI-M>kZ<{gIL42`p57ar!6Uwb<^JJ~T2*A*LNKY#IJ_DRSb>?OWUfD!3Pk!XM&%Sbz;>&=>fvgM4qV{*(KylD$V*)i%) zN#Z~FMbA=Qaf9&;tb`wR2BpSu;sq@=tMQhsRvz6dOWh*)F3D5Lo(ril z`zkV|z&3w>y!WS6R^UD+Cdm4;jQw-x8|%)_Gx|7&@kSS>wr6B^HTNIjFAv9MaB=|u zYQ??t{Xe$q5C9gv`bu*EO+d20a4U2VLQra~XJ=5{?$DX$Z9<7Ks7OlIxPngp^{J6i zWasW_HC@4Ih~Cr}4|sJENSizC8dCA)Icz|W+ohaU!EnoEf51>u@`z5bHvpU>{a^TW zs8n-&FCFmS{3nfSMdv&BxlBe3HS2fHqO?ec{o>B(N;D!UT^|%XZT*kwmZolWdm8A; zrt?{Mu{XHN8|%Q0{2o_jtvWLcvQKg}n|WSJh@AfUb%N*@0jG)vKIz7K1k0XuNCuBl zOPz>6{tgXYe@^w}y^33jO)O44CnCEjy^=rnmQ+MnV9TM?6WoKf=_I{1vwWkPuun$9 zr(@dxWY8UQZ8pb&?lP)b|2 zd_b6Ne{nkAmTOO#2kJN82g&~F)3DyQY!p$LA_^s10 zCt4qN=qEr%)UQA2 zc$pw@fygtEGG&}Wi05>A0sPO3^r@8n z1>FrPRI@LD!*Q+=fNZN?|qmW zP1KeUw=mt}(v$eDpATjPt>k#gf4{7jVh}TdIAh5HH-1~S%4v@R7{&W($z63lXk+Jx zDLrcJP&qLU@${_f8bAR{qI=bZkkUk)Ovxl>nUI>mVBExDWK@t(x#zr}&oTAFO^9VR ziL^2Mgyh|}P{Q|vSxw-4*3-YSeKf$3zO5?KnKtRp$2p-uBx`Lzt!bdOfA1$~N@Lgi zmg+^=m7HB~9|j4NlQU_Aph;U={rVJmHU10F#aaeTb_}5_ETPEtp)drJN9>Z#UNw}T zPYO3r8@1e)wYewulk-q*cF7n|jjHr?!M~-c1aY_2al^g1Z&99EpvMuAbHcQ!KSzd5 z79@0VRLnkSMS-~JiDDl6e@uMC?u(|7GO1JXA;c8r)QHeU?z2lck>g?kv;+qMnkYmN z+f%2h+eL#-FCrV4f=68P?%>o3nil0Y@}f*(VouA5a``wW@W1ICR;vXjJ&&Gjz|8Me zEz`}IF}@9TD%uv+l2P>b%K3LN9idN3Pc=8cYWl(X{%oOrQClWSe{o21ULJRS9MR$? z1DXC7vbvEg682l@m75?w1~E0_{3hlFR<|L9ZDeviGWII<;u+$KUxu} z)cI)XU*2qtYoL-mjb!E>vM@4pYa&XU3`Jr9l$rr^3RyR+e<%Ba>lVSA6V!eR#tegG z9LyR30spBLSqzL?6n-=`9u`0q6Q&;_U4E0; zIkMR=# zoQ>d$dqHjba(M^dN|MkBsPxBdU0Hniv-7+D!}u#XA>@p`5Jp*(a$%Z;7)57(5+)IO z72h*{6n)^BN9WCb2~F^qqJ@!^os7}B#3XQdeiiz?e-wf&j>+xM0xlG9UMJ0Hm8>xq z)?b|cIm1NLV2CTr>I?p)r zJ$L0b8=(bEvdFa5TW?)EINi%H_&S_%On^@Ff@hm&oLNTtS%C~H!0QGzi*j;{3w3%Oqo^#Uf5zP2!k>G`)IXL^j3Bm~WcLCP3h zFFY@=7)F#tDy`eJ-mhUn)L_y6OY_3E&QR_TO#dJwZYxgqM?EZA6oy>awPDw(~v2~oQuDV?d@U<~<* zutK)5gH`tGbH$)*9ir9P{LwOCd1U2{8Q3v=#tw>yKn)FOk~C;`MHzBj3R)`KZVmT#SQnE)9w=VC5(TgvvU zk6V?GdyzO^Q4HF`hwj>e|6GBdt}Zh3f5k3Pf*YbUx7iIl#@xiHkNI=~>c|eMr<1#B zs1udJuI+C3bX%jBKaspSg$EAVHT03=9LoNo3Mh_Z=BYsZ%mDGy@N+BZcOK3%c*!ji z+n=t^d3oJ>p!C{0t1P*ut2KD~z#Gz>O0%`mgwq$LbWBo6hbe)(;R!XyF#@z7rHZbm;T}a#|k9e_J0e3@=EFpbd7ec^q~7VKZ12mGojJwAz92n*JwU z5zAdQGPc_U5A+==>VjhCiNz%_%R`c8h5t}1xF@}4z|~Kae*m$ivSFc< z)=oO?iOz)6R%x4yUwjRQ{t|1SYz=rFwxIkHTX~juB&WlNUU5;z#r}AJ6HjqSrkd)6@HQnextl^HAq$r|S+IoAu2^z7b?&i*1!9m-n&X0h&yq zcjSX*-`vC&eyz`5r#e=@f3!*ph?klTkaosvOFj=PMc<%Eyb9?>qU~&Vb}=Wga#;Y~ zlK!g|7ab&#I1PhZcr`cDwS4d5x=QQYna$CPm;Xlk;ZY1tLcE4uhPhF_N(L}=Fdhq} z7~Zn$D;7`4k>Z2xmkSdN3ItFsgDT}P0Nbz$b>XJhU?v6$OAL|Rf1x7qyFE{%sty_m zZeZ{s6{pf#=09h-u@S&7$!Jlr+et%kRdR7zXH=hNUd`PUY??Gb`==Q>C4J!k%9lnJ zp+m>-CGv^l891>k0#$r|E#ETikL|NBe;&IK2-v)xuP;O7+F2i0l7Vh zS#y(Ik;oJ{c8GZurP5&qxL<3xfk2FryxRZ>li*P)LjvV!f8WV6Ye{4{ds@IvaiE!r z%@yA9tBEz1m@-$Dc&A{7`Z(C&agkA$xXOIJFP~_7Blxr9Qj|k{I(tWY!k8ZiAXnVe zEDCH3x*PH9(2Gol-S-%w^8zwZl^@yR+_#`18>)zr$Jx-LaX28>6}pP#ZOzS-zZfqK zbtqWLMu`?Kf3&AT4|KRWWk?ZLI>cS= z+o`#IbfS?7Vf3GVz)4EyXbZ!Mq1TLVE^ikr_En(&RPr?18E6tN>WyWqWDye>s zhlgCRye6qL58khpX2|d(?i5V&h?cMqW#-sDS|TvCXEu_fqv={wSsi&tG#g{ZrUN|o z1~Nmaf5DQ_b~?@buEh^<&Q@Xs0_TZeJdIu$+h`{rnhQI+H|8vyhHS4@p3Mp=JwPI6 zHqVS+b(ACIaHarhF-QK9Vs04bn*sL3gN_^_}R?aKHI zl}3H7f(DPdq)eDVT+dYAgNy$rN<5aGWp7Sde}mK&?(R1YBnv6xP(r!(BxT`KK%lu+ zxygrNfyKW&tdv+5;u0hC+_|ncUz0+cPJ> ze`z;DoXF%BEi`WJ$0h&(yY{C$&X~FM4nwrdWm`-2KVzhftVv#Fs+*C#{t9Pyu=T+j z>fw88$D3Lnd+eBx2KFoRyB+=u<01s?y*Pq}R`&5cN(>-Xl{`=EUL*`kZ#1yb7Np5P ztZr-n02S&qbRW1cE{H(*(yqu88UO6>fAF=&^hI|B#bdI*8xTRo#*9U`8gYApgGwXy zPKzICeDluy;Fo)7yYIBT#B*~t7!K;(I<116zhn1?fl>Zp0;eWadF(K>UQBrjI-Cf3 zjwv^ZWeptLP!ZmLlG*sQ&J@j5UD;=Zx+dLrP_l|LpQoq~Eh-_bEMt+lEeb>~e??F) zLrXNA%{bW$CT&CffqWyzB*GT=Bu23i%~poxIWdqs+in3#N*-=vf=Yvr&SyQ8-AWRX zKF^<>?GnlgJ2;%^E)`{n-(MzE#t81i*hR4~Id#SA`=6#AIPP;<@^BS+d!>`S3~Qmh zI4vT8VE_b6zrzR@3I{`m}~ z%JNPkt_vt=>4MD89zh+6l%;TambUoZ{r2If1@2s``Z); zLDI;oO7Wi}StW;{U+|+ZK`>)Y`CS0kvjcH7o^A2UDz8m3XC-bCUb^U??`?S*(-S7) zGe;4ZoS*7h>w^Qil#y*-@~M~O*%0Scv24*~jRUNp&yC@e&0a!wogaqzC%JVhm@bY; z>nQh7<>mdqyH6ST1#N(fe{3=-tCtfQd}LwLzwY?I)f2Ed36r?hDrH92oh!DWM-)`C z-+6*MPz@i0va@&4xYC*jS3x8tQB|y&kB>0MO?!@SBM7lUPc<0AZ#C`c024h|+_9DM zAZDT{=zyIC*L49MAU#T~9=x>>y{HSyKMVGyjf@N*Eqt(LdzKkef1XXx8gEOPLji_K zLb*F$+X1#$`eR-kyOkepLf$f2Ky4WA=r-H9MdW~5&sjX!Z&3_crMfCrqClvNynvEi zCD&!(3AT7?zHO}8`q@e&y15l$&~t47p-d#C2h<366G4HDf4!0ttXVPG?N=^zq3va$ z1ca=WY-`vsz48<%Mo`0y@DjQn?%OZ!ObX(CQ=A(CG95*f35|CS)~7<&`xo4<0Cpny zGjSiPQrw>?C%VDj-X~35wDgWqlND4p#-gX~GA_7~(N8K=&r>pSZ=zf%qP+ap;Y_7D zk5g*x7|o2Ee=8r5mfq+{(yW}JANh!@x0be9SR-(K8aK@hih;zZrt$320)(j1CZ>RglRZ9c+bvk0@umh+wleM~pS*5EV#; zd$^z!YOsnu{+N{+C;7vuG6E$BmdGS$bj$C?Dku7@e>k-yW$xgf62wR;E4hY6>&D-5 zxYc03_ei!R{ul5T-hw=b7UqV$4m&2yVt?z}wEj2PX(|W~qb1Hg%C1{%>nkceDo};H z4u{{+xeCh%32C*5o4v#2F{58~s-G^hsB!g(**2WC0N|XjRq%~vqL0dD1}<>)a69mY z21lote?U{(xs!fh+h-0bRV0UO&P&o+?DR{W22?Abm@}c{Y!xsc{kpEh(2Z%6Nfwfq zKDJl4e?YZsNFHxCR!A?d+u1Cgi!~Q-F;wV~m<^1f$X#dr@zH`ceeoqremcMUXB(Ff z?+38qZk`!JAORhRs$UHS8{*7uf>+srMggzue}1i5T58viqX)tW045Q@=Z4&Q0~WCf zlI8yJP*x0&XgbJ;7aLOYhPW+1>CSe6hh{(Mwj<%{bAyo1`^Xsa_i*9}mKM+$P{`2b$J59vs@EMe+%tj+&7P$r6o>W6iS*4(y4M=1b-m}5^rQo8kdR^43Er z;qtA-hB#XUh(idj$KxmbV7_?}KIfqX53eoZ{b~X1bY&~5YwA-{L%7h2cXJB^NhrybE&PP?yHUj z`QOlvae%DeW%%@1Mw6eG{UbTOtRHh%hm+gIXG?0ud4@cmP|*me0_hx7 zS@q8Rx^@M!Lg;Z7Lu&X+X%AMQn$sJDc=sse{^6Fr8*aKu*4eVkrB3}gfA%7aN>@ur z^SLlX^X+*o{PnD1eZMcb$D{9AY2Ad)fR*1hUE^g zBsfHTv&5U6JcZ#IfB2l+pQjP#NWR<*ns?xY3^o5MmP+k+`8|Ruf8nAnfb~H~Y@m<` zC83Hv$W?NRba`6$yMEk*rZ08&%*t~{@xn21&{h9Y|I}5S!CCIP7R9%`roL-4&&soP zSrbNc9?~%sSrgC2Dwugi9HQQW?VzMRMUT5bh!T^j4cJwqpzS8suW$L#DZa@e}pGU4*Y#lnRd~`s)6Ws+!{hvIk9#sAtSIw8jhQ&MtNfk{iaG) zfkR2qPP`8h2KI)QV3BN%iXlPKVTy98@k*hi1DBOA~2~iTl6y8B<4|BKojT&Mq21|qa7kAoiPGJc2>$>=;sLX3n>RXJ=L zpx7+rn4QFsj~}Xf4?bJ{f=od<2$fLEomfVDuh#U4e;VR9B_KmixHB=rIHRC{-d@r} zRjM%rJ#CmxA>f1WwfTg`f$l_Itd5n_ymT5@5f!ae$#syVh4~Uoj-m`!axYK|7OIJ7 zr`Oa%NRtPSFvSII-+PXf$YS<6eSFb6rh!mRjM>WIS4kZf{lz%(rdC}vx#mMdle&@+ zK)b+Le@(MLyx_SnlpP^qH%YAieA-X`WZY0iNKvdEv|4ZdeBczgZHqJ>#G{@xY6kPv zvXjZuz&PKBjERfH_2bvq_Ti7YMiuV1A1vt+;HG6Iz$Y*s;ilQ!~_y3FmF;;B0_)Vg9wkBe}-1!uB=RHc4YYRAQ|#JEuI(hE>9&3 z8g+uDURrcNMUQT!g^o)Zje@H($%38*>%SU$omZ~$;oM^(WqZi~O+VrfOxz^wDM=jd zEsT{|XY-3yE`swT61e#l2J^T(hYvf5jN7qfJ=gy=kHNibOWR_^HkslPqmJ&!k&!JU zf2r)8^+45pq2K9O>vxv~B5wz?*rsq5_)gRxEx0_M2B-(zwUexe9iXCwwH&ez$kw}? z8?Ytvs5VDGlBEh>(EGXg(SK31q9n@XoPo*3S5T*ms14T{{frqld2~vkBmJD80AlF7ht5kc3cF{J2%Lp2A0^!e?hCzA)--H^ZPvqe;4UO z+UlIz_fw9n)TUZ3?)s|n6VBF%BXa2EmGTT4BS!W~f50avt%mg^J{U@ZVh756v!GdT zS?;UVD^Lz{?{1?d0STf3E2Ppc1U%cFYsXB6E<^WZ?Swz*)0HNFJu|TUb~5 zQkX)81e?9umW|q5?GybV4$DbUZH>=9v6-<=UW8Ev?DAJr!d9Z5F%UlN{DL z%@V5Ojmj$^6K0st+oh8@Xn0ctwAl&RwqL2JP(8@Z!sb>ikCfTTe>qh(A_#DUUVajC z3Hk4rRjpY!YxKJvLc9wEKfGgz5End#z%w8>h=z?WTe&`U)!oCYCIzy}JV@{Vp%o>G zTvUyIi;WLwA;i+{x~@F9?(n*4U?0f)Mrq;Ok(NY;np%OUB}GA_{znqAcO2Y(jTDNI zU2nhFhCI)Fyt`!uyTX9*+85Jrp$phCK;yICya{}5*m(!xeo zr{S7&4kj!72qQWAmijYiG@eF+Ayh89lD4Q4+F?G=fQ&#Le<>wvWsM#1wW0%tj{e&F zuW6P>j^B;@W(6#O?`Qinz98z?GXk>z)rYnk*ZTLi0cIO6D?a00pO6YCL-g0`wjHy$ zwa~TPQ}q*ATC?iNgc1oLO^Hwx-Dhj9H2h3H_z&xGxDFJW8H}^%%|6HwynI8pveADWoGvPrr&1eG%e<@_l_KrgmmuVNCC27f8`8=>a*AUB3$<0qcR0gEJBdc z!h?%gGZ}bxmD3r<+})eNE%cf)=5+%d@hI|c)6FDM0Yg=Z`W{`vs!c{J1qz}tZN)#M z+UQHpIc>V2_L)90rLbM6CTbg4!%VPgWQ9G6 zUbCz;e{S=)m|qaj$V`qX?^*KLR>-k37PB+Kw45CL$sTnJUrt2A&ot7l%$JQn!gGDa zsW-?DF?PGMNfix!Oc+<0rR|V6*h;x!icF__C}>}q0k%^Gx~lB0F?yP&qd)`<98kJR zQfg;lwbd~gQP3Oy$q879Qh>@a$jx!C0>IV!e*nJjZvZ=o+56n1CfxfOBytE)Pk1V) zTCpGyDqgNL&`^v3R;!`9_6~Fe9ftyT82qolu|!MLsCP0#%$OnTABUARD`?9KLPmnD# zvH^$=m)fgDCZ#PXSW5bkL1fF$T0STKe-e8Z+1GKX15Y(cOLCyt4xFp1lNj{-{+}${ zr!t(GAbHgiYnmjN1Zg>3*?X>^7h9f2C$;_rF&iKEI%2! z(PfJ*I~)or4h67sq4D(bVD;eOE8eBouE>`WNcq8*BRMct|22N!f7QOVm6NTVrfQ~vrc^Q!K=}N-5vCn`<5Sy6Hv2zW zzTsYws(C4{T&*~rPN<{IDDGSyi&tFKls<^4+;=}_xZR5c9=QmT^bkr;U#6b&XUhJX zqIv%p z&k%DV@<%jAA$J^uEF-AVm5BGUNlmXNH71B?Lqt{DQ-ypFa&KHYtQmcZZq_Hn4menB zG%Xat>O{~IJD|T(Cy4qqe^0vGB2TnZo~**z+&mOi+( z^%-{99m%Ad5|h53o$r9JV=%(1jl)V~IfHEBjFYx7VGINmjavsnc2I zx=)R=cF6At0mPZ0K_2#=t$Nzfk}MnQ3|D}Y(?T@$`mf6L+(445e@So*NZB$&sNzKK zi_P^2#zZs9^GdC={4HnzQ5xsM1q_$^L%?qyZlHW&h`9wBTd`~rIK(Y7Ha))_bJT(3 zQS1$?UC%qJK?je%6=4-(0Myzgzjy(3FU`XE0GYm31tAWNVRM(J%PBb4dHv-~Qa$yd zV)Y@A%eo`BVI&|me>TgZL|^8vY2DYh)E!#dCBb!WWN7_kX}_m#euS5Z4OLE$kp59n z>bDj&Fo0VP^1rYHovsmZ+uEALvm59#)|LL|NvqAhjq#@8lY$dLbr;(H0_ETA4TG}B zBzO75mNRY@=SlpEfIQ?61h* zJeh+#keS^8Dm#Dy$6NKc{Ht8{CSF<|5J2nVjh>UIA?H{XH9HE4Whjp*^wW*2-e{{{fr|FLtue1Vdn@%|h#2i;b6l}Ak$gSAnXQ(m26OHOS_&bWRE77n_6|$UAj1oZ zbz7*vf8bWC1!?+-aT3KgY;pNvWvV{=IRRzLz-lbT4jUJa_?QJlmOCQq;2p(NRzk7f z{UkWeU?^IxtVV6quT0{;hj2jYOt$)LdtJ0yjnM+(Sly}ql}(jH^yeQ)j%HQjSzUQ5 zE^wpT3JNp$hFdowGbZX(G-0c}3QCODbeGR;Fc1k{69K@#>L<95V;v@Dlsj1g9 ze+{vC{)tfE)d1VPgksIND_Q8cSY<$9bBu(@yshb$m`zOgx4Bo(PocI6_NgVGlG1NV zqOD^gExKvT)*7KH#nvP%Y1~z@=N*Q{YT<#A_E6P_0ak5H;-O-)Vwk>%l(|Go%-1fl zsAm~208^p_XuhFG0}-XzU0SK-N(1cJf9oHH?oH#KNM|%sYY_?Sr7W0QX1+=Ckza?I z9H4;5eYULdaW}dkqUjH^xCs4L3MMLa2-zge>h_ub3YW4<{x4E z11oe7`qX!!?#^PJR|zuVMQevSq)Enb39DHgF>uZPKIAV((96F;GvZ(}46_2Cf0UPu z+a2UJc$qCMFC0cIc~#^;EX4eFj~i9%WD_7So|qz6d;a|%Vd0X{1kT{KZZ2LxMY%18 zwCDgkWz}X`k0p(kPolg1G*Zy=<=xIbX5~yrfBDjyottm&TF%o26OdQoG}i>o{dBsSrZl zVX#PF4bQw^EOoxa(8ieN2%5dEhlv#^XRMS!aneA;4zSiPWvVlKFgB9ve?}5G|M*or z+&*b}_a*Tfcdyu2U~kOys4S?(F6^rL^N)kMVg89=8)0if>)yVvj40cOtsUySOQCN7 z`f$wUj80pm+njmpy$5EVfmS62p&XL~q&kmOiuS5>Nb@(2?|U{#2@;K{WC`UH^3rhR z!e6t}0`=zX#gA*N@M1KCf1B>zVPGMO)UAFr_jxcoxP`<0%-y5VOh+`?-VW|pyZ|E! z&*)L+d;j)F$(pfl=VbJ1KCpZ1&rxM_51VOW38oz=M_*A}4UxHW0*Q3=wlp|v zK7O=aC)KveQ(x^;!AvbZMM7r07VH<8oDjGXg0-T6Bp-ro1~9LPTT)<^rEa9lTSRi# zzcN>yl2mt+?M6%sKsGzu?FWo~D5Xfhx&GdMLfmw;CS6$CXg zFff;qG6W}=z*hnUe_YG9H3SLnu8q69yGw8lPUG(G?h@SH-66O;!6CQ>5AO1jbKkq? z+&kXiZ}jNiJ(tc}wW@Y^Z89PSWjY~aTSK6@t&I~M6Fnn0KvquKz{Zh@kxtmw${4^* z&&bFMLq;az05otix3v*9Z~}4zIGoG?UyPhS{2TzxjEr0`e`Ej&pbgOBLum{!bO*=* zoeWgm?SM=GN`t?Ef~}(youPr_hZ<;OYHkCh`fw4kwR3kcH#Kwm6N810?oXsY-oo?% zX#*omTUSR*bAW-3F+iGLjvgRy>-r%y2T zo)5!6?s8%(LMoaHVoVHw#sFXfxBwj-&HtqRFK*-?%m9B=`*1aJu(kdx0f5rX$;pnJ zfx*?)mEP3Z(TU#H!Ia+4>MwpOX6B9nS6c^5z{k}Ae`p2#t1!+s#vkQ$G6ViAz@Hfb z$eJ4gZ5)AroWyParL_Ji<%iRU-09!MJ__OVC#KcE%mI!-;D4ksGjRONS5`qm7GP~) zZsP>BF|aZEFmy6-a&`ph|0Vl)1C1&EMGy!OadvR{lSA%*RSy47^S{)EZ9hi#)ymV` z!1cdpf6Tzf+0o-4wfWCs8`;`8nmal<{wpF7U}A0s{KMYy&zzat{3VkUl9v(}Q&ypq z{b)QJIyu{q>e$dbxjFr1{U@G~s4O>tlaU?3#Kj6={Af}!8)Fe$YwHizjxc}9Cu;st zCnsA6cZUCLYD*hiR~yg&5}KIX7@Pd5xv{eye}k%xxxF(`O7wqBKSVHp%S?ez07d}N z9sqPRGGq9Y=&wHcBWC&|{wRRAr=6`Gz{J4H5$J7h0{pnZcsd%m00B-8&OmR^e=7bH z!7ydD0 zf9v$o3Y7nUR@i^#5_h(;k~gphQvOFh|J%sG+T6C6{tC_-J?`8&fOb$9()HQvI`rtUj9cW5Y53vtI$|m{{5WOZU--MwT`} zM@IlB%U>$sM+N?i?nl}GkOeTPi;1WSe~HliXRrKaBW7b{Yiw>~3Seeq2N*aw7`VeQ zel!3x8ymor>7$E{fo^|w2!Mg!#@6Y>1z_jw%-n|BX05EEWDn%m4K1yWZX!Z}2k4z^2hHQV3t+T^F^dGrR{{cUe|I_@O2U|;^y1DVkjrboXat2Ng=5E@IA3Flmhy3I9zu$EJ zBLUgpo7q3Sg@tY1Jn2~383A<6AN|3^!Orx-n1$8*KYWe;bzk^vH~Q#`fB(gQHe~=1 z=ms=`Sy{9-;t8@yX$~p#5i6J}halskKdr>z*N~0}UrC?&j*BIlyF&~VDD-dj%OEeb zm6hby@k#QxDb^qhLbrO`X!}+*ePgUBxNG1e=YxwNCN!R-Mz0!>A-C*T-bGAxB%PD5 zS;9J-(H`GU08kx27UBBdfBhKEJoS!zl}!A#ynQVX!nJ6gsRhl!3dL<138xcxd8QN8 z>HQHcHp-w+XoY%CKR*OxTpH4@w;Od2G^$A8iL7CE2ivY0_qXM|P){&V=>;Un5z7c1 zGzKO#S&;GAOe~%E@;PD0m_1=dv~gXX>xM^1p4WSIp$bylW@OBkDHe<$rHFA&TB|ULFbo zb3TO!1K)TEQNM={+6(MGb8s4S>MB^{!8U90wr<0?^&x2Q0#Y;j4@VAn(_TooI)&|j zAw+w`x&#(FTa<+jfBuR-Cr{JE_9f9bgj9Pwc1$I|l}D4r6}83pHA5zRiVBYBs344q z)8I+%uK8+2r8zMmG?O$hW><^!_S&;r2&~%VZEwJh&~z zP7aRHOS-|Od~;TLxmp~fKc4Qlt0b?ui7CS$8PKaUe_2W!c12vj6ebULFRt`5$6(w` z${EE?uEykLL0R|hW!3a5E2Y&S3g_8`*Uu%@1wse1Qre2Unb56=zS*yiXyYCyiBArP zy&3W%^hMgDKwaRb zuM?(jNz0QjCSktUgGN|thUYt|ry=%4gpQaquv>EoEuEr9_eH{^B^=OP}cZ9ZK< zKV_12N<2)Efco8H`trT@K54?5!xuWwx4!>In?AMQr}s`$^4jX2Mn_;--th`RG9>Vu ztF>LWBU(W?BUO*&BzN?4^F(8jN6%E*e?5E>F{wZ9)Kn8~$gYVo>l zNxR73TcAY!G(g^lHihnNULIA1@22o%YVD>8aaI@ayzh?=@+-l~nNGcVRKTA$e_6Iu z)3R47SQz&SaiJ zOltyP$N2O-0iYcLw`}~at4kQnsFVT@wcTclHe5IV0QnH}oK^$xTeymf(LYF$Vv0tG z%3ydxWQP~805%f5?|KC7wTET7gPDK5E*1Mjsb_k|gpMgRv=?gHoOsk?ae1Z>g5jpb z+8n1U#SS%K^$~`$C)}bhe^HigTU|d5iURayJIx<|_S=N`G$Ewnj~_>)oA@Om7OwPc zQ5$8?g~#**!rCxW5>vd={6`@M#!_$4(t7c5iA616?t}v`b;}huWu3;G4Jr8xD=R}_ z)tpR75x6yD;F%gbN(9H|?Uvh@T%b^`_lNKf>XNwQ;GrZ21*k(Ce~4{$3B~jadkofD z6@{0tZc4u{{WSB`p?Nukn_*@v(_L?t*+n?*9x{lID@Yq(N_gW`y~bE$!E!Nd!hX@J zdw+wmU~#l6$}K5TAnD9_of(x-hK|;ojS-iGglj%$}(C$2Vgt=-QqAbS@e_KiOWiEtr(*(YAXPlow zowSbvXKx)k)CNi42KyIK58D{6+AiVo1MM-g<~>+Ba_Mi?R<3Cv3ET!{T_PM-Gz?HX zHl}_GB~+)yOL-(vecmZ|FaC_#A4#$_rqU^5kS@OP_By{Hd6U;P(CrqkD>Y$zmr3bO z%7;Y)e(Ykde?HIv{p9kU9ZDEPlbS4JRAG9!V+usI22Ff!G|z|xPKR6io0!%w@Z59( zKC?j@VuR$1J(Hi2`#sgCu&Eq&)481eKSR5?%q5-=&1qbZitjAcoq``*|?f`nZP+$`XErW>{4-| z;nd_eK1aM!>T}eQ>NZ_Oc-0B|8!XpVf7m6KpKbL8JAoGCs+)~w1{b5bCxU-cw0EG$ zh~T8{@?_>i^+|@HrH6I0BD^boeb*BC!X=GpXpNv!WimB(f2b+791;QU^XKWuTUQNu z`_=|?Aa3p+h z{(cMb>F7nKM6bS@8cRY7?dKI(i6O8C0APOOYi0WAa{;t>bRnD+%t!~HYsF03G6Yuz`}9g6mEL|o{;n|` zf2xtW-8pE1c}@UyuIeVaQh%4UvG+R4n|YDADp_HJMcEDF(d%>^>jct3qQiN41n59D z6O?DZa~ZfU^H}Ui%+zd;ScG%)Ut`P4M{7pl_8~{( zQE0oou>bQ+uPt@g#0#cg^T6yg+fBV3_mSDq&#JR|fMNCO!yRH*T4P8!ROW%C- zB*9*v>99PrJq_tWFSV1H7Bo-Xzek1~Zwz;W(g$$!2oDa~s)b1^P5o8oG+~{=%|)@v3|6HPbRx*d{f;ceu`<_$f&aeyg_UR;yq3e-w)X zn*lRH(%;3YVBrLA-H%$20`6*Iud~$`Yfv{>*F5=a>Xsx_$_>F{nMHsyYt2I{5qxc> zsO_mz^r0Q6<)vu1Eq6$us{IL(gUiAFs-R2V_V-^~lVm>03qaX2b+e~Zqqz&uh=-6!VeT0*k%#1Cz^2X7`0q`A_KHF1giG z;WgL6dR#l5xs~tlNszH+9|{T4kIW2U*a(xFv#x{m#9U$3GOJvx;V9Pkf8&exSWajx zaoo>xo$Q`(7e4wosJp{ZFR1~Qbo+k3xyM+TX&}yzx_fdqLj=2WFoO`Gx*`EmA(#4p zIp$mdl@jDUgaLF@=?%u2pou2>bK{2d&xWSa=7w&%vf~y2uJ7nA@b|gr8#dIUv#Y>y z$ntBJM?5+zq&Hn*Z!whyf1zDCEXRYkGYuMl!c$d6u~Ac{1rhU9mLGv~Hn>JBd11*o z+|G4Iv9c)V0ma~z8|*cb4D^!aY9d-PFY0l!KZ`pUS`xphPfJ`&{z$~k)hI;tF#tV4 z!oR!IV_)jMTf>`#iaV;Ux>@)ggfD5SMswAQRndOgjnKe)u6QwwD}MUZPk&5hmKW*4 zP5g|I{2p9E_0ljGdK^5A5-Pq-J!8=e7-(r*6o-eJL&H;hUPh8I_va%wi&g@q)=DB6XoL-Mrr3Bn zYoI45jI0(1%HERvV4pZ_qK|Nl*v!zXcFdJW{x*5C=-5e1b_6MEEq}mI9_;w=u1R-- zI0=8kK~owKo^bpAcwM|DC)jaZ$!Ju2pahy#I$9DK8@>N#R$vw}%9kL+$9oIH5Z_Ox zw?YdNR7tma<9-2N<3Dn()*&!;!4m>gaQIC;J_4)PAU{frS&pggM0TKT0l(|inM7W? zGccRRb1O068&zFGJAd9#01-|6kW=tcHSDY9ER7g6xir1%>9~rSHlJpt;E&$sW+$V% zXv-6~2MRrGs9G_e&yrJ~x)hykuQ3poSdkn6qDo+0h8WR@oM#t1=PhEcaAYtIvc1u(XUx)N(7t_*?0&ZKe>hoW>kmBl5FxyEcQI#=nQ`8>FnG`^lJc9Bxu($%DZp?z1jq(;;gMTxnz^S3YV`AAxhckBDIX4qo}b;Ut}^FxC}59MWkz^N!BFgN+C! z3@xukXTkn%s^yo{o8N++Fcc>V>aY~Ui3I4cQxw&=gz3mvB?OXw@u-XoR~=)tn23zRS9B-Q z=y>*Q74fSyNDt?20(fYw;p{AoZFN%J+NRx>Gu;8^R| z%*GMHH28Y@NVyHvF6F4}e7FZqi@#AF^AY$?TV&eS7WPh`Zt9P;Sv=x@^gGqgE2zp{wDzC=51V-4i2txG+983hl1(Jfp&2=;ZZGtm5V{ClDq}hh z^9NpfiNW>IUB*oE88DcAEPd)8(N#?_gN+zn)2yIv*cU+S4Psywuo*tR2wD=YF@H_- zJW#jbp4f1=?A2G$FKGM-s~cg=89 z5!;Syt%owp**&Zub_(bW%4TQqR`O|8_w|K(GyTp0T zULCQAJO!;iPeC(sA^kzLH)unStai(5C(7y; z-;Fv4VNvljKW`+AmLh3o!U7ZOs4Jfh#e;s#_RFU<+m%O8LqbgHI+q2gHs5(2yg2f;Naco~ zU+(&FS)*F)VbiGGd*O6wex#rz*pR@_P#+(N6RZbTChFie;f)_Cv*yBQzz`5}Ias9i zUv31oV+7rX+*M?4OJl&{PI3ttB(b~5{GTAZz+L3eiG3XXJ3;8QmUynA#bzoussMj(QzKCOh zn$jGculPO^^sfHXD6sWCe9<{M~a zIPlzGsMp0)D7c!D`E8JUeOc?4m#GyFH;FFmbv}g1jBm^mp3KEmw;Yk^1&xewk`2cB7j$L6i9B!z~!=*wy-OOPRc5PN}K;wA6l!EkXdf zE@a=%;bszZ5TZIqVD!;vM~EmWfQ50cx<@AfXmgaEb1MPIrn`y>+~G@$Ht&79|HH8xaYGw{YEV|=m3L;Q+k$(*iWgYUHb=}OSQ=$m7!#`us z#brLtaf)0m)-4rR645L~yl7<5sP(Dxx(nbq0cM%E7VVZ1LTtlX`;+?>D*@vdC6a{6 zYC8<8+`v9l4j2S>j&2)hpTCC05CB{Ueqwt1s$bqt69)%v#llFDW^yE3(6+$(RE%X3 zM&URphkySi&Cynwke>mK^PM(zx@+Y}t4H)O{-R%N>&b}WUVt&*ltoPAR@!`?wthCF z@u~ng)v_IU^0mB*i`I1l#KT=WuTx5>4~Z}e1p063mPtJL6ptm3g1Ypok}4tk9t< z3esb$&$qVQ_j=CgzB-AEj;|L(u2j-RKc;U8H%6pLmvWwRW}xG}H>rs=m0Xl0I-xtB zy<6b9$7ysjkV_XvL##&i@Re*}o~Q8+q=Fxh?7{0c6|p+&R-hF`?Hzc|{88^xFbj)( z1b?+Mgsl_JpRw_5!Uy)Xy}|SL%L)__QRQs+*;yLSUF-D84F#$!`#vDS6i*2Y*?IjNbRYJN$A+5+g(G7hu#fZ_!D{XoN_F zCYsy4Tb5@h7&z;#7FQQ0ayk$2nrVmD!nL_H!I3NRbl^X)j(IfLovg#a`ZWgo}R6Sy&k)tJ{&VR^o9zWj;5%=W*P zi`!#gZmXJFBb63tsd5eb%@JP>+pnbjIikchdgOhA@>4|XH@b1L zv=W^NX$I}(LOfaH&)X!dOv)_DT`9WA}Dx<;kL(NS zNx;GGiCV1q_~GNwg~`C;wqj*bE77pbUS4(xamGvQLdN6!GBj+-+-04$Q*05F7_H~3 zJas1Neks!8<9)2?0i`5nzJKI*36qk(Jq79>^EE6PgFV67@!B>gF>)Q8h%rXQcvn1UmTE5f~EeE`{)#iF5{-+kKpd&rR0G8&-WkD=d$O7UpQ zosRU}6}*9g!P&nIj(<3szg?L_&lbqM+i^tV#AD2baldq2=-*)Uv`Cz47fF|hpbG{~ zv^HdNSM}(B`Qb^;AOcyLi9l=Sjh{Z*a4xO!Nt;k&pC1-QT5{aX_Z0QJk7T$3-S%!J zj0qJ-sF3n%!tt%Qb!Pd{4>MJ>mBL)=k_=7fUcvHqTzy$`8-FX(3{+`K=1H#+?QH0h zy@G>-{E|pWXD})2gjVDw$42KKZVsZrL3SYSB$<>gG}ECJ7;5*hX3m-i?`?Ap`LC=C z)BK#*@4scPqE}?oPz{ruWK5WSbwA)SDCYRk3%19KT71pX;$i^GXJ@ z2lzLPew`vC>}Cj{{$#Dbzg76G6%Ey9gghd4TGF*=mG3);r~*TP>1q3lK)mjOoZ?2p z*DTguMEE{cosE-Xf+N9fX#_Qo%W>p9WO6-FMJ1*Cfq0%%U^;zMt`5i3^u!(n!el@OQ@#qHeiWS-0795 z%D4Yq?<9L=Y-L@hwc4944P%|s7A8OFj4M9ztaIh!E=i&JPPtnrI7V`sWS3=keUd`z zzQA!eV*d)|c|Dq<`*q*N6VPOx*Hu9yS~2VR^`IXbQLDH{3P3UWLoz;P+avrN)2jP# zWq;SmT6p=u4s zLSB;3UepN=oZWR8_2Y-c>+I-iuHElOK60b;fCP|gtIL8Iq0~Mc0&J(N@1k;XPk)Pm zm^CnyubHq8Z~G$u$K%0(o0hbnXUYs=V^Jc^K?dCDuxF0vo;RGn?`1Ob4(F7zqGf&G z>g%G@=@nL>;T-7gjJi-n(&i#lTBZA`Q!~HxEcjvC+fqWl4%8(~0~uT2bEnH`#$(I9 zVZ*LyC4TNhcm#%8fLZtu&Cna>b$^HI8&l+k9B=CxdHW#w)-)PqKdR4{KuZANEjSD# zhLIKH#z}{I<}-?o5S&6-8@g9&(tPcIiF#XQsC277zxAXT&vdBSoBvuP(@FYV-03&~ z0~QkJfmR9*G2k#=DzhnJUr~?3c4aYbnfh5#U=!|PA^J9)I*t=|bUq zZ>DZpHM8JRr=%hHKU;sAb6QhKZ^f3v*Dh_#grAz-Fo$E*g7Kqk)kwx=vZU|#_*UVm zHhnIxV?58J`JU#+d|dMIl{z_#_;cr4dE@k43STkJ5%Nnqk}{|9|vpb5=wXL30r6_zFG7=ECf3um%<9|G*j)= zP-T*@%^Q8Dz6>hte@D>*tzg@69nQG>-fk}Wejo%p{OgOr9!I~-SAQ-FCMUsNIbjWj zn(X%`0Q~e+F@}<$y>ggaqY@p?IhEgwFfNsAjV#p47lOkzC>Ir(FzbV0oVcL9*86P7 z3YA9ODxjKtQEgh!w^dWxEO3D0vo0hT!sa`^M9Z=AD<5}z4)60t&jzEe$K1=>QrwuW z97kCj>hGY$TJJKQbANHI-Rvq|Gj|st6wyI4Tp5Aoia3$LsR34C{r_>=Ysw~)w57|* z`zsjt7aC)u155n78_sbnhMf7b`TjgYgXsQjFM*OC)U<@s8FBJrdo4QXjEl;E-7B#z zL28f36lfiK5iPuBt0z%NbH#edg{+J=$Mpm{JjQT1T8#kvrhnejE-)n-NkAKvFMQ3i zj&ao#RGlsa&x6hw{Nxq;WyYxO%Dj{+ML(v3KwRv^8^!*(N3e{7T3IC&xRFU1+RQmv z7k`r6iC2hk&3?F~{%Iq6z!)YJ@zZR;3KB&stX=O7)ds3n%T;N!D$p&`(N4+9cu?K& zRGiTaq(ueC^na0WSFf3Hv#4-5M%dccY;%vnr4}-3g{s+%-tu!+H(30lEQP6mNuMWe zqV_t^BI=tyc*gh9#z1gtIvKKI&zDBKIm@T4;L&k#v?ovW(@%#zQ4wD}99;HON%t9J zgVnfG*F}FujhfIL3%Au?CAc5rXKu-UWrufheS3lJCx6oe{glzm(lbbvV%{CWD{<^s zpxiL`x)Dpc zA&)1URK0-wsA$x~Oylx0brSl(Cqm=bH8jLndE@&J^dQT}sKxcDUIY|&^E^9Nk&y}IFoj%9T;BCC#B8(O8hD!x;H zUD~d`nm{QsZ}%+9`~>z3;m6w<;iO$-aj-5CbgA2vI1w2R^$${$H(cM)38Am%p>A^c2!c?8b&w&gP=ET<}X#^3$)^6Ui*Hw@<50ZNv zO^{)FiCbWbO?p*t{w~EmV6}K{#Ok;)x_{oQT&Q+Ba)%n>6Eu7QVFd$g=TC%;E*;-+ zv6y#XyNlvwq(=iJdlq8hjzV{rtsU56l?S&;L<;AG?}5W)RZF#VE}2DNwYxQs9U!J| z(wG}!$V>u;V);t`_i+dzgUNLSISw1?F*k@{LQSV;o&($4ayhnD9u{?=->)yxa(`cH zcEsQAtbmr~`iLf|;h&$*zmQhwVpCC?JT$SAX24Gw4;sd12X@wVmdvq+sDn#M1uGRL zQ?z$Mh3ZQx5hi+wMHq2esKwYxhy`lDWf{HR6RfLL+J8hgs|{sgsU0oQJQwf2z&qr_?m%F1QL}PV;pl4Pbvo&y;xZR`q~vQCimDR! ze*GzBt!`-`z3-Cn9Fpe_VIXFyfUrQPb8%v6>4~YUUx6*!u%#9~7k}F{12)Eq>Qnif z!tCBn7P}cvaUow1?%~v93Q`S2Hkto)MDf(5gb9-Z3bN}Jg(UHrOAfaRBV}qdCbzqu0M13JJ_&!pgci$3Tk z_W6Dll{EO=A~@!~Y^mij#dy~~>b87ohr$>=!bZmE;iw(hEg};0cuW0|*s)5a*zZ^V zsWqkOOn(BpdF@w+P$>@4L*B_{b5mYBbT-=)XCJhVHLtc|C$W$bt4Nka9nz#)$UYZS z9M4Z1P$_8w8^Zu`+5RjfTb`cm`Q*-Y_fJ~Mffakh2eUuGpR_|DiNXCb^}3aU20Qn4 zoZZ1`-c_gC!=G28ny|)=E<-%LZA4f0usjURD}O6r;m;g+}oexPY#Ssx;GA^6sQDbcVy=n;7?gGw2TMr{6xL1_o(qPI%#>xsgx4cqB{Z znm~RQ?SaRJ+g;W$x%{Wb~;g{Y849Iw(bDg zw;qqG(rI&E0nyt=%8fr~RAVklrqR&_E5M8rrA~=BZR_79CZ6N2DUG@yy$!g`=-guX5`i%A)SzwooXjMmmUNmSq z>bKw&6K|+Wt6tLrW43!Y=PvnSmT+c_Tz;!e6NF=TH5R_ zZS2LXto8ere0l%pSba?}W0tc37M^*&>e)p>m=&`c@qqtZwQpuFu1;+II@3^YH# zPDI%grFVAtT#-K*j-Cc4RAhEy$`yTt{NJxdj|va@U-9w9w8tFQ772LHz>1@bw(1!_SsO40(hXznn13Y4C5E$r$V$!SDA@am z+i}}K6C$&_F>vt}7nY>6Zg6Z5>9&)8jvLM|(^~&&=`WvRtB{=s$uL=U>Sh(E31zd( zKdqI3m{Q8dK~n~*q;#*xAp6(q7^=(B~m^U<;X;Vj8qC4}`7d4`C$$72oJ!O6VV zXGA=5YB>GBI4Fx0xb{kpjV9OX`^p*SDR=HV_oHtmXIeHUz_-z357~X=V5yaKtWaU? z6wbvYpXQgLVv~LMZBB=YS$GF(*Fk+luynkv`+uLJb&rf9M2M{EKUcHgS>$)-DrdNG z-*Hx4${18G#a9Z3J>e|QFy_GGqG33$Q^otl2rt9?!SK3J?@1iGMx#dvGQxsfC+l2# zhfzMg^QR(_C4S1fEs=t2Z&3)U8;5Hx^{za^I?jBtK|rhKbS-;vW*oe~PE$~RX}oFcv6M{ zpEq;b88T#fi6lcipe91#C}s9`<(FMF%I}0Ja||AqQ4@EibbgX1TlZ zOV#-it(f(NSm~?5R)uTr#3`qof>D}NgyL15^u@1Uy{T6)t3x49J2@ExyWl~GAOvoU zpSrpQyjv&(l|5nN$k?76@XPCuZx7~!MWY>IKJ_UUe;Y@TAeCC_VoSTSwnx3m#moqjhy)s& zcXUKgd&iVak$p2jeapsk!{hBT)$<>f6iJZViSUEew zM~^XN3>zt*64ua5rPtt1g~Pu4ynjUdq~~y!>!En=eSLB-@6H^A*U6m~tw4CCZ--Oj zxs7acN^EHwFeZJ3TlGF10#u9_WY<_7d9J6QM1 zG!Zqf2Ba(0BsIm24wDb>Ui6iIQsQ5+#zx#m$p4?kJr;jgr$%)?-z6m3fAsYFV^=dUTHo5L{IPMBNiOFB>f_*T!|KKm*DYg{yT zwQ?2ZJTvezt)I>i@G4*Uf&z0vIWH9=q&I8Wa>&wO(b zShWjsjX}bxn-i^!bvXJ3?*Q60@qWl{H3v>~N?C8)o*BnV;VW&D2SQGyOg@MbB8_wv ztXe?8^{3y$QE%aJUEJ7aci$%*g{u`B{i2caPx$qI@FIN)fRH)KEq^>8nitFj>o){+ zqR4!YT}tvwwak<40M}SlN*{}x?EQSHuegJoX9)BGr%RteVd+TYRmG$73D{&Ea@qgH z6KH0G5NrYNZ51FAO9f7zDM+S@=9K*jhhfXyId+1FZo4k^YSV26(w*H4DMJD~1)N@7 z5DF&iL6s%dsAznd>{Et_-yF5i z*eB7SRHdz;%-H6W5DbfGiLd#{YQmW}MA~i=5$}fmyQ~a-7UdfAmZ$G3Sd?^t#m*g1 z;3FnbW4T$`@Q!fVI~$4J>C;1_)F{IdtldLtxD&JoB0uAm>3@92P!vynG|1BY0yMK%S!aiibAfZZSvXcxtPhPg`LE(yTwKd#DeW!Cxeh24z%FqpYC8SG7 z%Q>6h5LU1M7i4--J?5SiD9rDIYK=wRE}OMila%N~g?(gLMRQ5aYK<9VR#Qv7QLdXq`abNxs+k;X4m7QP+`v?YZKdbB78G%(TsRB-v7bbykBd4!(l0U{3wCTahf z>2iINPI#^o8f_bQ{_?d+C{o8$6r1=cRSS_r*<0kHN`Kd8#3X*K46AI6OLIZFg{^f5 ze?3Top=QgMwIeh*V#D=UDG7M~=0*m)h~}JNRA1}W0Br{dnu#We@^1#-X1sSpp_&S` zVgK!sQz1>;)A30jZmAfp)WAMCv&ul88X00?->uF4>I<_&Bkie4&g2C&M>2QI0Bn}A zFRJj<6n{3bBt#Mgv{&r5;yYifdvwMkTuHN5>jF*0u_9Hg>ni%Z5mOp0HBV7Dy@hg#FN*~!69)EmuA|{}%6+pMyGIt=<20Q{Qd!1`; z#tfZh#C1_PNp&f?9Q5V+G^|2FN`t(PtJvcPmjwElSv{pWm2Rj%dwYYW1z#EJ<~B9| zRJX+RFqh;Za@h*$*&JPAzOr+Rq6cONdOR}72b1o(jgiex_~zSO^k_mOwsEUVoE5o+ zZ+|E6L>&K)^;XFyDr903nh5b;NJaRuezVqsCS}nQ{n7>_qkA36lzluI3~`%x;W^{^st`@4 z1{(ZJEq>jhO;fmneny1KcZf11rfg*m^h)wM7{0{INL|Fg$FHM9ic}|e7_N!&}J~PBptz@gXM1qV+ zoAT_bTBreeS;I{@-S`IqQ!EwkhKHzW?i5BVCNE7oN_O z65)nqW`pUQgxyagM6A=V(%jgZKs^%e8MPluHnXKhuZ~g+4nmobiYy?x_MbJI7m=cn z`#!BDA+L<{07!6f} z%GI0D3axS#26K$gLVx>z0e>KX-$@zigCG!UNH{Fb|Lx*H)Pq6{fQjfG`#b4g`9#oL z-R*goUBO$y+f8S)6~t9;rhMI9JED|xuzQ2<%4C!u`DisX~^!~?~t8sZNcBD=gB5oT0- zFljkY?r~e>UQM0Ms;n`?$X;h1M>= zNWu-vnf)uSXj6xIkp-TlHL%(oOUdt}zTnnA4aDa1Q>F_m7<#KM_s!P301j4u0T8|E z?fKV2?*A-xT=onXsJsQ;fgZA!4tAp8yuftiH~ z>e3kdI+aC>dgmHHL+M}vtLn65G6keFI3&kc$92n|uUV2A0@k_+hw1Db_d*_+CQASY zqUF+LXn(C-GWOTLV7LZpeWGVbK6KSfol0mF*$r!>7f`!JswCn~D*m$lLwo@#IjJcY z5*+mK>ZaR;&Di*^H3Pm;%=bv_&LMxo1OqbzTp!i5&5Gi)8o$X65b3(wTAziJKc1@a zVi-<^Rj_pti?d17T?7~LjKbGc(zmO`!*K+(D}U}F(aer=O$5bc41UCftJxvUsB~N$CcsYboI}V@e)0uuYX$6kLKtma&B~d53UX+jW-E;%I`0SFgdIMZ?KU z8aSLF4wXwvZKh#?8an4W5k41{tGMm?Yl_Kdk~>EwWOf z)CB*uPv)s|iOba{Oeto!6_@Bi$$$Io=PS(I@3-tXtUt3VDCO5or5i|}-)OnfX3F<2M(dF!wx^3H|liT`?Jd@k# zMSK{+re`&Z9Ss-eZBL{Jr$ z6I{jcuz)`pSKB&aUNP#nn`Cn^$OVF%v|25z257G?ZoHlV-$tr%@AyvH*+m&IZN?>@ zNI?Hf|0JPehD$Hv-*`}wT7Ov+)dm3if@-JiqX-FkG32hh4~fiRiR^H36hBdOEGoqE z)bn~fCOL{7TGIGW4ih;5ia7Nfae5YM)<*Ekcm-5&7=+>VL0uzw*a{g|?g7 zF0mj%{(I^!;I|aw!4J6K-5ynmB~_(oZ@nt))BsLxT!siyE*_qAzf`7DVI=D-1L%go|S>3y9%O7ZjeCZX}57*f7knqfo|`f9?`_Mq&ugjUrYYDnTRIm8ZwBi9T<$z~3 zr5LXS__sh9 zbV0Dxbe`M$HH1%$_a~!+pRH$E&jq5AqGuJfg2F8T`t#TIrcqX0W{T_Y|e_|xZVSLX^ZS>T@EEq zA5w(kCWY_S6A2%JwXt)7=QLF+xHB82~l8I??@`V#wD<~M&O<7fG4V19R z-Z!h;_vqcP|HIG#KF~S-o%ArLN!ZrZ#%Z!*gHXAnS~ZdtB3YN=qX86u;dNDEmTAq_ zdX^~y=80sUQt(yJ;aPo5euXvd0yLO}-Y!-D@(9+~F~ogi*Wj=of`5w0dcfZ~O*meG z-24K!!D$1o&Uhm#HV|O5sy$O61?%Et04+Iy^Kj-au3c+2iY(WyI1c*3a?&OHAaDR` z{=Rdh9rkpMNOB4fW9`0w)h>EPz;)zU4-&&Ku6WmEiw-dOgcXVY6m111-(RyF zmrujBd(Mxmem-HR@dBTv>Hd4FY8QQ^%qv+_$tjT6-ZG?@RUf>6W?)0t0jnQoRm1eP zO|SiaWdt}VfN9n!*2Y6CJ+m{S<*6=hG_z@4)B-3|*A}+#*NL(t5wR$IN#slvmH@N_ zDb}Wg8Eh1tuEbz2uqS0#A~m?qto?U0&fKb*5)%A86{D6?0}}_AAUqT!Bi|2(X4asw zPmD8VwVA>rxp>fj(ndBjMwB1goF6{e+hwyO169+%LaL>cD>nx1|cIkOgvZJ~c$ zVy&F1BTbDLcdlV^i14~b%zZn3HP|V6?tT=2I&$3D7kGbv4M_&o6R+NzBkR!Nxy=EF zWc?47#JGv`;{m<*&;IY$-a0SX7CDLtMnz*DW`pnUePM;Md)|;GxnpY8qc)m>6evgZR6;0U9iwH=Y+y8 z?iQB^NC&dK53V7qq_ECxB%yscn-k;(DxGAt3rLB7Mecn$G=8dUBh*ETu7TB{x=nKr z_nZ>e0@S#9E8mhXLY&OwG~n&Ub>8X>b7pN4^3f8xKKJ6aP!J88+EETVpD~9Sz@>XEU*4pPuEg4BQ%b_!ikjh*M7OA&S$FY|r_??P**p zR=VHANuRaRI$oI{+STo2kgMU#wvVU{JLE$SoS*+!N7Hl$Zka57tk?o=e@t4z<=2+L z<)@rwi!7~k0oqwPSz8ncR zu7awY5lBs)Z;NKpP+1-T{Gx1Zqd$WhxI5Wk9zd^j=HC_*syHMV|<9f*s%8#g=X;t1OCtTJg(mzY79--5ewdIX7C|B*>!2=B$ zl8-JX1T@}yH5mAnX80Ncz4J->+s6N{l9T69x(2uX>7u7fjcdv{RSeN>__lSQ^JCgC z6xPM#o_{&wY6iNv{IxSB4DLAdUs~l1L8W%^ixw(9+Ba=UT-bxklfApRC%g zZdNmaaQ{Z*Snvco)z?G@`?3Y%L&;NMhE}HPk&*jUYqLW?xRD;*gO8nlH47c3oG&T- zKZcWT=N39+o`jd15DSDAEcW2xe!3%4-YH9j2R@N`={e}-4}0Vhj?65?4`~|dbc&L$ zU8HswqIYAiB86F1hnW9^s2lWu4=j&YJOJY`lR`8K{nX!Ebn2K%s_?_~D zk9f8iv{%;c|3>S5 z=WF280&f|j@xwrEHkz7VQ_;b}jz&VDKCf2v>%V3SBE!$1)R)AL2A#|EPdB7!3M5jE5CsBy$W`?0mUQKUa8|t`f(wf#jSQnq?~pk&l=j{Ul=YS-Xq6a^)S1v^r)W? z_T*pS2{Qwa8{}7JBy~l*e!UI}AoUxkUvg4O#r<#5X2><+&Uxf}Ea#%YvGKf;($>&% z6Ef>q9O1^`@7W_cbrv)ora+U!JmDTNU_Pw?g&fFVw>52lmHK(}RJ2DF9M^o&t!s@J zuif8<@tO5F`M!PdeW;s-eN|8#P_rh1!QI{6WpD_=-Q5%1-E{~O+=2}5!6CT226q@B zSb(5G2e-?=d-qmt)mH6Wf8FPtha>&ar~7NMbedT0;F)M0@pCJO#CGEI6I6nM21zw* z>5vccm3cJl(;*DCRYRzjC0u=#-y#k6`ig9GL!(c2ilnQ_*~FMyplh#SH;#mYUK$`( zcZKq~V|5aL{vC-}z4PM`In5lXSBZ3YoDHE1iIfs%zMu!f4VHz(or^}hdMiUpxy}lM8X(@yCMmoB7VqtdX0** zuOR=}ab-lto2g@I8aF)@JV=r>3U(VKADSo3I141R>lzw49uzjYxtm-v`|aN)m?$G8 zDJe8Ubh*_ZY6WRe%gWGc2g{fAPL#3oBH;6I#VQAX<^KEpgQDbhpyasrtYK&DM|(6S z%X>O+v-jSZi)Zi|M6?c+LdMqmj0esZ#x(J8lMJZ-+DH=ey&RPw|H@frk&EJ!ut67Y zRQ1i{$tWE?+MgApw*os~8XX|@y##OwZG;ln_4jM3Bo`_9Wx}w2`_&0Npy(ckl@#|+ zNxD})lu-WUUrgOL;`U)YBJR{;K#H$~%&=jV%7=m513Kv@S=R&J%;R&gy-fTMR! zk5LB<{(i&@2Tw%2_U8MX+7zg7NP)vI4{3p6EvzF+{6I#<^^q0Hy5R2-4zK(W9LziM zYMVAYx&i5oE3F%FL#y!H+P=ued_yeg&G9}xn#8H)u^4BI`mpl&((@&jUC$OsK3s^t z1btc{5|_KbVMPQ*o+!DtPumvIL+G&2-cq6?mU`_<^E#^K$X7|j!MT768}m(%AWAJ+bm&xdfrk)$W;ctSIcFcP9Fe^w)S~NTNbWl zcE54!ha((Ab`)xinDi2K)PmL-R{X*%>V2Scw--)G=m8yF!w$*=;@H&64bG%&XCXv8 z&ePlyrc_uwB6sb|vS@rK-jvz-rI4}KmpZlu4cxmI+pXQijr5F?H-lNM_EWEw2D{uwY8zu4k(}f zJ?lcgiyFRUOO`K*41yn096P+2OFEX~Eyg&}gw$y`OT^y1YKtG?!&B?J&OWobFD>q+ zTl^UJ80QUU>{1wApO0S`E$Ny}T(b)N+}eMxU;hiVHrm4kCqZsiJhWnVeEUw#QpOlo zs0O6-bD8D(J;&COaFny)u8pDqnW5+%4)`#Q^QB8r5SO2F+l1}|i<8j!uylIWd@EHa zn;}`c$7W|xe?g(ilmaPh39?YB+%{P$o{$!At?t5vxOo9C#UZgZ%o=q4btp$^A*tj) z&H(g(d4qRnuouygWzbOO8*-WW@3+7wt<13L0lF}>;Y?HQ$%oeyO+s2D<%-u#S%Im! zG^p5Z;1e@8iCfpp8Woz`KmXlX;-4G*7Al9Ls|CAtQAv`wzj*kwg@egh5a%1bo{o-E znU<0cq1o}aQUZFHVzt5j%cXC%JBAO=F$%!qKV#h_USSq&ojCz#E{Y%Z1S^D1>&^@QqGg&JNCh4zw zbxB-(NexeBwIz8oYpEYL2DfnbnJ_+5B4L|xWdV0q>`o((BrE9%loL%vwF@+Gw+-*8kqZYHWl zJL899n^hETz9x&u)6Bm%^GvEGVFpJ=$iaWfDshg^bby|;hO;K>Pqk`N9}Zj%S!Sd- znSNU3-rxSHfTas+J!jje!H(7Gs_$@qsP3rLF00tzybxWt0bQu|(mWhA=8b7?r6UvZ zLYn*aA~G2(Y_^@!WDDWG#GUYE*8Un>Bdp>s=XHh8%jb-dhn5` z>$>+#E6_qZ>{|Q}#;435olTdVtNF8%`mq`LgW=q2(D~xtZZgxuh?^L>j@NYk-|Uv; z>^(_~jLtdrbk^s6Z72=}t0aZIPF6jTVS(MyW`!g^-uK#?o?Ol@&5Z%^2E~Cs#4*To zSXaX_Jg8!5Hap8cgAWNgzTdXiqMjVTB->dQa%zr4Ut~}mxtedoI;BEgdfZWQC zB7aIp!k#^moJuU0&^qy|R^%o4#~1T3eVfclfMTnc?7?)}a`*Te8eDE|?^QpN4PdIm zUfW;)dT6h+9RRBm8_IS{ZzQW?3OIu|I=K~N2Dv07+eAMsTwJi1A=2|s@`Y>V)j|jE zTFw3OlWcWBo|ecLzD8%HC{diU|$otCWiwk(f{fW*H32h!2Xdk~GYfDr3|2d6l~6t6WDZa42uYbsD`=M41DtZi&0A=1uY>uDZW zzdlgz^R~;V)nN^VWt{9i{vgjJR+HvyAW0}}XU1OoQA@iyJXES&T536{WhESYF14Jy z8#c)kdgoQtW5Lz20zs>b zzejQi&xQ4VeJcE#`Iq30Yte*a&*U^vXMD%*W0OPbv)xT)k!wRi6hUwwi6pAZ=ON5i zzt!4FimAj%Ux5X|)ba|FtZ-wxiV{mYII@yg`SH-p4(;p&hb1-9r3wmlj-tm$9_UB2 z`TOkSjCof^*I=8qpU4`OzesanV#z>h9Mk&g0PvDlWcGesp_zGA!xu3ATXy&66l9g% z*?OeXo<9#qjDF$ECp4XvGH!GDTQPyY{^m;_nMV>zWU3_-j5s4q*-%)06b@X8nD{#K zhW;oiL#ln)p7KNLWgqhbl_1+;C9r6puo^ITZ3i$9q%(S4Fu4f zVJfwQq4z|1Pd#h%hFa~AaXt&oN2=eEWos#c#3~UTGBn_BhxVzDL95VA&#*JRLL??hmoZQCS>Tu4Y)gJxgxmXx+iV<5>-JYj6E6+E9@2E;gs>4nO0>3TWUC2K;Vl$DvT<(}e=M}>pSL zX(qs%$dab=1a#!7$^GP~V*(fS=l5;VkrM4ySUQn$-n^wX)z|R1c-@mVCx&8IiIv}M z_O^Z-8=xu88Dw@1Zkoy4sKWs7(;}cFfvc3c&uTcMKTinhoO#&Jhk?}zPEVg@vD_c* z+E9B7=d-`1tiR#=fO?UhsCJ@k+k;qK~3ID0STQX2`lyKU~|_X&iAq22U2S zp|Bs1WzQiz-VNrdHvPD_V98xkfU%pr;9YdIq8QVvQFK5 zi+COBo?g&pO9Hzs3rHyB?#heJCDFC2BvP!>q2%+WG{$-?1Jm{%8))42s9=;_TlaZt z`riPQnK0JBx|Up^Bgv-~A@hpA!T#V1{YdRq_G7H?E3>UfQ(#7gNe&S6&>~RqRWc_V ztpz1&MO7-cucx{Osz7p|UmeIqK<*txJ;g~Q$O(Ie+Z~CeO3;^}ejC<( z?iwCX=$27q3zcG7j4*_5c4qU+Ujxi7b?5&$5fNeN%0LS~P3lsn> z04xtTxbWTD`alEt1qaK+^S==I9jUa^F#-bKRlwHw0qbxdc>iOeK0VXB4~ zLGGcj@!X%kNgZ9iR5nBUs+zUys9efB-EVWql9rsQnYlP^WoSJwY3bBIAFgacHbcKR zYLJ~L0Xm<G{F%4?SEVv?EFOuQ~6 zf-3ajom)fdL;LnD{CFgcCKab(96C`z9aoeqy`aAzNTqhCoVX4}HJl}BCmM#<#*(`& z0^raVlk}k@DNMgDy2KiD?rTTV?_U&tS*aIX$Tr_mhPdLA5VCd|ej}<<|4M|_PgcQW zv=lF<^VdzsPG7v)jNhhF9u{$86{*@Plwh~4lLr9f5!&jww zaiumgXHe0fF)($OZr#YFq9i-Ex zRc2%p8Yz=V4o<1e&;~*o1}FlICdVH<)hBH=heUqHOlZ8hJ@APf5OWK(hqL;!yHj%b z6TN>1%6G~K@n)tHosns!6GiHyR|riw})V7h#V51w@x}f1ixL7 z%8?(rAsTp^5lwHi;}IrgE;`d)l*#NdgaY%!y=+mYSa~sm`~|AD*O!2>RGw1@ynX!# z@(`vl(Odd=`bJEeP`}8EJ{ia;Fz#8I2o&F#OG86Kvf(Qp^GDw+Xtr>^Ve;fJ z`C;J&_Mvvw{1Teduk~>F_d3$~D4J!A4_dJ84vR#A7tbk7we*M(SH&3Kc;%tz9G^I< zW1r{Y4}6A-@TfX7Unr(I>_v?QiuOPx?Pz}t0&vX;6;T!GqR5%BjXV;e9-ruOj1mL` z2!HVTZKvWmQk*T9mr8#@{k7vXfOhF-tU3epCAng8SEaWy=7>(IKJMkY+23FH22@3( zbXh&BiltdRm{)?9{D+gCqqp2a5m=#GA-U*fY0FG_lVPoyn~oeSnBd5vx zhL!|!j#9iEj8c5PdWh9q*(XY*0{V7p?QOutcDP54GHkuCbHkV_a;o;Y>(V$Ew*ifm ziW4?}S#{*i`7M4f^)N{Dvo*s)o@o9r*GFrwZ9H%C`N%EmH7`j{QR3KTlQOqR=$T*F zS3CobQ5-8m#e|$FuE+c=rJ9F@JjUDy+!b@o492zUY224O_+&*zhX<*Zk07MXCX4n_ZrE>1A#GZ={HSA<xPRP|Ol6lU~2Rv-HpNUP#2{zJYNVJXhfR z1a<2cI8lu^;I?IVp?vu|MT>EVc<_vluf?Ls@~SE$F&q*T6Z5I;SuZ~k_?&+Ad(g<)Ezhoa6w|`!dhvuTv6F+}7MkZH)ZBGZ;FIv;cDr)9F*^K) z7fJ|v82lXd=2Ix81`?IIHKF%+I9)t^_>{)bB6!L~M&MG<3rStRS$s@tplH-#Fm=lE zWURg68LbD8<#4r+9SUW5QTWs(CyklqTQ~^I%=pvNOn;})?Z`3ZY?6&BE`8-gBzBLF zC<0hbQEQCw07%M$Mq_?4E7kqZnL>BBPWUWy;cBBvO&eArlWl0Ws-f+8j<5)*9u;d2rnpo?seI~WjUKwY$CXIj0mc2|~VI!5R z2ufq{%5`97T&%%U&MKEd>@F%mn&LFXoI6aOOEKrqNN}!l&!V92KHDnT2RCj72e?5& zWj{C51zw`JBNHbs>5)cWcGwo8uiOGFz013&Fs#Hoeju?)2gV2TlFnN2oj4_u-?`-D z7w>olDWFySQwN|yyN(m(!ivXSjV-%ILDQ9g{=x+zE?7{WsAkv^?RI?nfvA@VK@J#G zT_wFu@3siy{{pW5qIYUP`Rz2z1k~Bh!QePFa{5h0e{5W#-+9%En>-EdIBxC8e>PKV zF#Puv^(iIDY765#4;9nnPJ(1VlP>72EEIiN%HN-lI{ke5dAR8mqIqsHq2?0& z_Od%Vl72;Dq=;~o^<*|y)NexP3XvD&Y0#=lu-=1_0!t1DYgm$gA};y`bYm{9OzU}0VFXdQ@Qgy+$h z`I#yrccao(`+6q9S^nyY>F#x*46K%5M9makry}%Oj%x25k=aN7QmDeFrRomgc3>4J z>~ie8kig6A?1D^tCzG^f+rv#)-G-i?`y~FfJ~K+0fV9^5YU%9*+r-_l5KHiwqs6q5 zfY3pT4s}LWZ#LuWAze$vUIyi_C|p#lh9N;xlwf!5iSv=?YNB1qn_NtqZe#K}KXv=w zO&}KBROY0XEp7M`=aRFWo#@n{u(#2j_sM|KjWyd|!p7bHd5*0Te1Num`?9Iy_f!7y z>@H>HJkdVweCkzJ+(rV`_wkDo(b9W?zD{=E`_bO;^yhfyp{vq4U}!d+ztCCdb~euv3~D;z8S1q zvEkb`W9%XnTOL`zs!eq3!QE7K8SW%sCXjGy0ywi9dvRd}z&|&xaGH|ka^#*(`%>EH zU!M>mZS{w6v|7xf-1&ffHzKWt@}NI$))-n1jG}z7SFy@Kd1&JkbCyWla(a63vPC}6 z2a-cKM@$?_KV>0dUV2FoDt3Y#2&EGq!c*+p`H86ZI_sF6f@N~qNeJ9D(Tr?fzyyK_BYbflpf1=Q|Gp692gCQz-| zHfMals~e~qrA~+xj@1sWE~SBsWC6Q)p*)Nbtx1VnvXg=z$C+RSA4liHK&~39dKnuO zg7xOo#7(e7d{3YYd`s-j*wUkEl=DC$<(-YpbEx^rax0MWXz=acZ*0s~xXKoX%H|GY z2Xdq4{_9da0Xp_i_XEolA{1~w?#BDj?$+M-_j9 zCEiorW^1a>bToYOwS#rE372K?pJF?Ln!8v|)~Yo-;HnJ9S$vXof)T6N39?v=P~2J( zkvj2o{!vw~eO|0N>DSRX&(xt|li3%E>Yz56Bg_Oo(s`)H)=&fpb>y(WcBq5AO+W=% zJ)y=Rg^AwDD(+>qMnl=hUHv^pp7(AYe}>I3WM(uX;ESuIma$(>IG2wTg^zk2j{FS+ z3qMsfTdA6;Ea-T3EDu$b;gb4~mojcauK9utkD&f)qy!&pI+ctUD9S#5CA?akJ>=(& zbdSh%$~Y3qVDC$qw5Wm$zzrMcQWGrXkUJr_(bxo&Scfg9$8} zmYd)#yM%H8zcgIwdD$ae0Gj8JTR?=Wt@>^}>gtA{vHv;hY~@NaEG(*DrZaMN(vTS= zeMPSe5>iL8a<=sFbhk2d`j6ydZjZtZ1cLV@0b%fbTs(aIU`Htc#ea*5Qh-9R0}lX& z@V)n^tev}uCl!$EeUolnZO~iPd>g;t|%2i%wP`|B{(UOQoXIS) z^Oznmp6iq8L?^rqVAx8&W+DBT+tCTK^KjBQJ(2Q3q{wSV5Y|$~*HJyx-PhkXk`%zy z%fR`txw(OVTIG^w+EZDZMNxA$WLxDWQNbSQvs>C-<6s!E}rj7p7%+bD4Yt;)-LY|_}@sH z%1D%3hL2Z9mREpFKuSQ0OF%$|o10gbOIm`9Pnt(S04Oa+_5UAYg8Dzl@_w4!C;%1^ z`FuN1mVg4B>lq$;P^r=S)OEPRcjx=iSNXK3=o>--J0KN?^0`}nJ z6!3iVVLC@EP?7n@hI!vH0xMi1n%1<6=>zIj9|GcD7_Opp1rE>{h656z;yQ@nI4F!a zfPvRf;JXbIvx78VKvr3ZqbSp!H|YQ}y^w&vH=~4A$J8kbT(K5J;!{TrP)CfMg+(tS z$)9qi<&^+7^$Rsg0j3M!gsIU@up+b$zflN&HI3@$hDv-Y`2w>{g%QRD7_38~-4zELNJUbl4XIwj{Lh&Nx;?tK-6f#x`Any{E9`q3DXbF6*B5 zl9fnaNki)z#L!r~rGM`)6oNlRSJLSF5>KN|MYEy78?YEG+LU!&H9MM&VnFbKH^!TP z3B`;KChE&W*$-v6gk{2|{eu@#uB%_T&}&fl8TWgTh;&zUaFj?ZXgAo{(PSTxfb9a2 z@K10$4C4|n7=S>t>xInHJ?fdIZC}#h(8jH}p{QXiNCZPf zPZJe3)T^4gdwaPGC81%UB_e8J?5CT5_tfyF#l~&h6y49qd$JCV9Z`qgTN=A3s9%48 zLo$|U+(Su91u^3i#d34PC56}oa*lDHL4=)`pIp$BJ~@c2PO{uLyEw2aXKd zfT7z1z^&@ruqbGLhEiFEnczIM(Ml@8gfLT673bJi1maD#J9vMvlW8q;QquZ=J8xQC z+7Tc_@WIF@{L|4vG!_MeN4gR&SCVn;#5lrA=CT})B9$JB^+L&XUtYsS4{g)0>H@Al zV^$#r)5gV}Y=%YznA{MJNC%vvG9tPx5FOZrh=gv2bO+~C+otbG0h;(+cn3f$lFol( z83n|hjSZ)r7mq%Q{qqqzOSi>;p~9%d35;(1udDkGyj}Lxttj}g=|M6h@+Ga{=!b;^ z<~cT-A~NI!n3Xk*OOItoO3QgH8)*s4VOby+xCMB4L#M4bZ%)5nD|khdVT^YOK{;6Qvxiaze4N34?jNT^Fs%o!1L9#}=;nWZozF;N?DHDEZFOMOAyfIx_;{&>HdxJT=pu&pD1ny@um0wB*^j%=X) zNwhE`9z~uqk`63{|My+_Sb0`?MjpY;pJlN`!V|g@5%~x8;%IxQ2&359cI|;$O^fmR z6xKBK|Fkb>vw1ALuuk*@3`qu$s$(W9hJ8pgl+t1T?0rl^4Gj)+xoZ}2zSb})1wO3} z1&s;RV`d5(8{)Hn>pkV+BB%}|F){0ld{V(6#QYEUK? zfYb#ZFT3-SIdB@wlszTKT{X;NFJl5CGAtU3-JB?qGjnDRkMgp<9%0*O=v4^vTrr+s z1bHyTi~{gR&}S{-@`9WcikfwC>|-%8kRL}y1vSp)BlaeLP9Rjok`Z@rj$MG!NW$&= zn-OqWxCm)Bt$%zHrPL4(s=Z0K*@)G*>-UYk=P z@rvpSa-Vvky3yu;QeA3qh?!y#ihQk70Cvz=m}QoOYo)O+wS1|pf*F$=?{s6wUI{q- z^WDvVXILYQbE%YJwODdtFw<&~iCBSAXsIQaZqBnl^vgd6)X2gsOr5qYopFF(6m%Ms zOAXRz#Qfc>0*^7CD%d5V8cwy+K@p?ini8+6mrmq!0&Yg7Am$(`g~G2P(t(>5G(Z|; zo-B;yn$JlY+xT|fRS$SCZh%FM->6baqHLOfxgg5sZpOGbMfY`c3U9%+g_}in$Swx$ z;s+#`bK1PSy+v$F@TiVkZ8+ZAppclq$=|$RYC`Qg)+nCM@36=z;fYWTC5@b;LRx(` zn^e(kKKr2AX3zQPhl*8&zw=?Tsc6A1ZK(r(ndHR z!w`Gmand{L{wND&l&r7Dz0gGcoDmWANAJhR_j7HS4`G%5>uCpPGayJoPAO4tsZxo9 zo=5leyL;lrZV@m3aur|vzP-Czzmw^LD<)MU7I)i)PFRx5MVcxmWVX25EIvkJxzak0 zJ}f1VhPp26-Et+9H0t-327mACt!+JQ$)g5_@V{FAdiUdq3lOOVk69k)91+Efl}K44 zG~u|zvxF2;Yb*P8sguamOM&M(Xx9vF;a3!JzR04D|Lhz3HMOZ8fA_$>>1c58)>>PK zy~omSrW++)0|A?|wME~wk4X6XU6M@cl{{x$0NIY*`=#cQ-8QZJrGNG3_meS`nF{Mm zkAK8vx~|;S2RprFYmbiFrYi##PegV}7OYR0&(zU2m00CRFCpdLcIT9Ot-ZX{G}w zc4c3gdsZOg<}i1(0)MqgM^3ZlD&aZlhs=4@6>WL!=kNeUSt7%}O@kPUFScEksGh9b z&mjXn&v@8VfX+E2UTg3}zz>hU*<$EXaS(utgR9KYHwV*~g{i7X0=2_(#Up=8A7~Et z;rD{X!8qI}2nwtT=vtsufRl?AmrQ$pZtT_!6=;V9HEoVPNPnio4+TfJ&9K|k4B-K2 z0ansk4O z@F?UQe>oR0PEXQwca^CGodBif3Co0-xB!`ELBuo$cTn^lef((9TF5&Pgs1fDL;}A> zb2yfjKd0ZLFn|2Vu_exbhT{;DN2UwQN7LK{0>i;4hpe(GpF8d$Pq-YPBw@iqfWutyI7#hPol_R zpd+*GoqoC9e)0jC1JTO)RvwMV?}l>Y;(3nu*?$@g-+mIPth>SK{n=4qm+Biqb@ZNK zpvOQ=-+DD23cuDlO<0DeKXcQ$ZD?by-2vVX-SzWEh6_X7B|~k7{y6mBPE9c1iu_h# zDE>%C?Od2m1%r+A8Oqwlz!hLv0{~*$(OFa5v;Nzx4RC??)MtKsn#-LfjmRU26B(KT zi+@u|d!$brZ3i)|dr>lomI2lU98j^q{8Pm;>h_H@k&Zr{KykYD2pqK8p3P2Kj9-*s z*%tV6Kz1VR9)2l)~3PBKET*d}659n%-t{prz#wqBAKDGw!&u562 z+H*?wO7fgR^7SSJ`Jg7n82SN~k3O|`^?%N=VPMg{q|rX8ATs4#Y=6GH`t1snop`}R zqOUT|be1iO!_~)MmB4>Fbl1b5^Fsggu zzjKa~XEM&Bzm_$QMI1*zmCnjJ*C6CPiI8o`8j%4`(1{i2ED!0=FH1;@8*f4`pMPFV zr$2!Aa{LF+^{~gaD8w{H3)hgxI{Bs;ZI0d=X>Hk!(wLlv2?b~!N({N4DU^@H5Ap%O z^A)QfN9;Tw;Wq}WxZoq2(0BPL=lH15v^*oPYj8dW<^T7-tUC7DCl8bZan9pBN(B}W zaMhoOszPs}W%LiUAxl@4a8bdLyMHOmr9b$eK5+Rt&GIz$4%{LKAx~Q0*nUs$XLEsF zBlcVi5veReK|hcEg3+hb-<7rs=K_b%k~A$3-3 zWFA8vtX@THAf;t-9ujp(CvCe1M+#x(w#S(GmS7hmOf}Re0&;h}ayDi2&mef7=J{B? zaP2J%9T5-i382KjY6w|eHX%;tFqUIpR^$00+?-Yk#bT&o{i27xb8diQ=v>SL9ERk* z!g>M&jpK51GF@D1v6Pbz`I@CiNw%Th4SynT>eYCbgODEk zeKIPy{x_siN3)uBLI$ox3ACiLPo1Csh7w(h#V}`{E+NPzg5(l`^a$X0hk@RO?q}5@ z&cKMXS5XI%CrrhP==tN`w70gOjUhq{(1eUXqY3B(u95Ddz~){{`H-3n1el}kXs|?ji7k`8*!7`pqIySCDF`B1S-8bIuW5F~??@Wr6&NvWRoIwy0RMEGmcN2tN8(nqj) zZy7Y#J7V8g!kHb~r)ejt>J0n9Nm>XVwmwxxKI_F&ZY*d{&3_H!vs(MDu&&=VXIt3( zLZTne{r5Dvc@gt6{VenTi`+%$`TyeBM5z}A7y%`R(y!!EV$RY;{wG;to~8c}G_M+H zE)fW+9ReYfC+-hnyYkeZgQcb@f-A>adJNHLy||P7FK~X>r&DM5yFMLcrF}~Z2js?K zP}a5Yn66Z45Pwh5*0$?|8=5N0bE?lJ)MQ!mlG--@?n~KO&mth<2@|n=(zrk(#q1Lf ztoz|?V)4Vgt=g}`s*mS`h#S}li#eZ0+VSUAh?Gg~_**ga${BTca zBpDe%>KhmYBD+axD)Y@293AN~#r0T1nT`n-8kOe0T|3t+%Tt!{u@U?eHp9x$GQMaA zr%ZEwc@u}-F>~%AO2Ogd7VvjaW~EUzdpZPsk^j4{HIxXa);3h7^yr9Bd+v#XQziO1 z`@RLPK2shaxPYm?16HhpG(e42deOJ`uEM=)jg?jKginIHZ(3v1H+a!HWD8V6J79Mz zm&v1+O=V7c_pI$bu^$eJZJYzmnlqK9;gNdo3~&qo0vWvGGLu*oCj&DvGnc<61So&C z8d;CqHu`;jg;8Ju8<=54>Y$W;%BD%1B2C)V+n2ToIJU-SBTG{qlVpqh_x%o1mOOG2 zJL!WhilWHxJ{8P1vtah!Mc}UgSzbJN8b&i2h%CtDY|WLg~4wOIvQ5OPtbksrXTK z!%N?8?P>upZ~4~1e)PP=$*w4PdY#uf9GRD^yx%$XJG(c_wL6?wSU=CV?Y7R1ThW-C zyu}UPFaB8m0JON0p@^f5@x8NEVOm?2VsRB~HGhea>SS&R7#Qr&UR=pJW0rp=^T;hD z3}DdKof|pwG`6*O_-@{~r35kzvV&J|Owk;DmyXjw_@*mbz@OJ4Fto?y4!Yk#&+{py zYs47Vhaqz&1P0K1%>barn!!-&A(T={RJsYCFTHmZsWnNWJjBUU7U>b^1nbcsp=P`&|zF~9p1-*tL$^ko@D zpnk_u1GqyV*a^}X9GKaUm|Lkb;OQ)ZOO(U|j0Y+*(hz@zbq_}mX1~$upF2|`7hBsJ zk0$TK=As#^c)RtwipzgjPJv5Pyl>F7SupJluVmuo^-Wdpyh2~I38m-c5yT{{hgTqi zo=GXPI95o6D-EQM_3SE4gpv_c0j9wE#sM%flyg*31Vs`yiJt$o2m{ATusg$34@nFn z0jx|D&HFxTc!QNGd2r2$@y$A4cPm0K0TYU6)^KLE!aW6XS4I-n0PceVO0o?Y1H~ z5Q{(pqD9g0u&Vh=ZmTM<+S=Y(vVJhRHm%{&?}3cT_P@n@HNQ3Own4iOEMIQPt-`Ez zn>H03X?JtdRva&g0*z%G$C7)E}>rL*Uyx}WSWWs29`j~55 z*mfX+tBN@g@*Iu@RRoL;(!Xpmx{p`dZj%I7SFb(X?<(*c?k)lJK@rrvbBz1_m~O&>Gr zc^`{$JP(6*OE!en!^g!_att<5Bw^1$WW-OEEx|iH=@n=Kb173HQ{`W?EOb01QKF3*EkT@Q6NH0m|qDDhZYuG1})i!N!zirK%@9hTN+Gfgrn1VxfvTO(e zyip{3A?Rw{!mz3SE&;d6_8Gpu4@Cpu>IeZFl9k?H-O3x6cc05{b=UTyWG1-5HFFKqLyY|*-X+wEy|%)~%;0LH05 zlU)WxkA-QP$x{;mQ4QH7hQ|;qrq0QfPBX6a|K5S)KpEHbSVLNpXwXR`=W+(^0DT87!#ZW3Mf-l5-i z*Tolj$keNRk%`M#)5w=9_3*& z3Qj)bUT_zK^X}2-aHu&cwyX2MI$P&2s`6Nf=ZSK9l;$R7H~?WZvlsnu{3+i|fFS=p zMN^0S$fe0ho&lwbkSr-7#)1=g^7lEn67)Vl(Ze{p;TeCQCum>i(ZlRb z-^<>piZ+F|j3K58|8apl8f(U>2xT8U?o40Y8dfR8eTfhY8jy2*?}~M}z_n{GT`fsR zB1q#g(_N)8^Xg3FzKO%P(*(-E9rx9%uc=yYn@@*QhxQ5Zi{f5Vi;Bx`M=j2{9(0Tk znb7+^DbWXt>{Ck3DJ6f*9i)_4O0wLBaWx|vj4QIVXm^X5E*2Y+y*hCHCYMRO-LVvL zE?rctMJzu?n1f161hSW{w&T=Ul0erM63vL zSA2xAQ*s=-Iwltu;hqbeFz6aLpiIm?nXIdTE~THW4}yE!v-*Dx>CStCys905#zW7S zaS@cT8W}Gg{I*T&RC9L65m1Yd2kA?Z;_9_1 zZcWQczhzeesucwZ3gVQ{O4QJ29Tjv94mup!Gz69}uB3lv*L*u{8sI%OQE)XGIhrlrJv6pPT14Uz8+&IQ`9F0tL=^&xNA;aufh2 zNdd+Pwhw<(8g?LGkFd)Xd+QQYEq$tur9`azfaLK>@zn0CmT|_RQF&M`I4_dI&R1U= z8hSUXzPpGPZ_vo6WaO)^aZ{7_PU1L>KEtsmX*#rb`y(rCUm!~+8!}M{`qT%xdnGzN zAq0!MFZ5F5M{%=YDjJD|R_VBqGr1`%vs-uRBOHJ7$et_=`^sQ;gA?S)usva^H_RbO ziY4L0xPNG+(QpSnOPup^Up?_NS2}V|fm%T@yEAVV`}dvOL!ZeZO@B)+l>A$Kn4fTa zxF)w2@3%PkppPIJcT6%07x@dNtPdA)xOUKC31-4sqd(jGL#d;r zJL7;B=Zx3D0|NoBEzZ;@6?ODQ#4vhlc>8~KwU3;lz_$)F01Sh^&Nf?qz;YCgV?&l@$t03wYwmiT}0(Es`{gk}9!vK4{k)4?i!Y;0-p`oxrwkFlGS#s3*u0_JpPlvfkRd22fO9T|D< z9wHM36SR^oO#8mZVeRZ1TF3~$OgGX1UemkWrcxu8w0p!9v7IgHi=W^ej`{M>_ZGvNw<WN%_>3OG2ksV16a zComu|Aa7!73OqatFHB`_XLM*WATl>KGzu?FWo~D5Xfhx(GchtXmyu)v6a_OhHaIz# zz$OGImyovs1bRDqVR zb|%gMc4k&qPGl-7ac7_j*xCUkVFCv719-qz03|apB!3qY!OF^qOa+hzf`HBtr#ZmX z6QBSDo2Yv_0@(nxCVv5C2Ny7tsfi234Fp+QgMf696mbVfPiJdOEAa0c9865VEB($E zV+P2XnAtkGyVzO-OhD!UIc5cBfTDvt#ApqmbpQcOfmSAV761nefI3hcprIzIss@l& zRnkyaqkm(D6jpO}baZh37Z-6gbq#4ofP|=`x+DOo$q10vP*eZ?QymC`@V8_HD5^vJ zzxzM}f2S)*s*9@YC`+=j{9Xfq4d4cJcCr55_J6ohLzn^nP=lmeI6K(?)c`WPJ4)ykR*s5{2yWvA;7Rti?s{bfQ7Xk@Hcyx-+N{a`pc#uswgWZsiw{(4;efV zlY#?89S}3v1N>L??|PyV^85f^R&D?rA18nnGNh6qb8!cIdkAY6Krnz60CWNXJ|B7p))qj>2eP+|i5n0Ac6J5&djHe$-w2tF2Vib( z28N6}B*@Ic+!|yFVCUinm^eF|cp|exW`UiH z3*gNL8EkW)$6vz&U||M1fFUUWM^~^fz{0^9`S*r$b3q#XHvNsb0W4yF5D$Pw{14&< zut@v|@vs6|r2Zf_0E_e=#13GQ`GYtBEV6$PCxAun4}$cQ|AQd?6#gJcKYztPh!4P` z^dH0v>8|_-LAtB_L6GjMe-Na*+8+ezuKou>)~@jfLAYrCL6Gj+e-Na*&VLXegr~_L z1c@~LgCLP+|3O?3pP7RlWC;Fk;pF^nvA6$|&&CQ_jQKwxWHrD)6(Fqs8q7ZdT#$Ik zyqLIH{UZsoXp29P9m2xG`hQOmj^EJjPgOP!NDT|SKLNkf9bBFNQ4o@1`40%8{ihu# zL^vx?M=K!c9}y6n^*_J1H7gxsIXT#!@{il2YazJ`H0-gW5=zsnb%Kewk+TkC2 z#0F8v=?~s##>xA~^WUx5*dUVrLvS{TelC9&{Tl(@{vj|IB;3W? z;}0!JPZzuY8Ui*5(?1QkAWH;WIRpPOOAsl*?hgM*fYfmP2ZWGy`v-&w>;8|Kf@FLA z147Ds{sTfp_xeK)Qh&({==^u9|9-A1|GwM*y0lpTJm~)Q((@Nq13Np|0=2BoAuoLY z2vINrJ6n6`u|jSfHi#Ya_3z&d{;L7ipUd(e*SIU!4j3<{6$ zf90C}{r>USZ3j7F|Hi*Be*h5Z0W?FNpK&k~2(d}|7FOyfS${BA21mumeE0?Lowi*3 ztNHY?7GeU4+;s||aADy0fDGzF2YDHO1HVs!pki&R5L~55z8gQKLuzx(}Fo;@-=f+y0!7q0>AEQmWMCa)zjq}6s2Ib%#JKM20p`(k0AERhD zGx%?@C28-RmKQYk5cDElT2V-#Nc|~E$}FV;G>Q7ic<$-l3izL3BSz7o;|pEdTm$oE z$HZx}gZByRF~{fb`8Y0obVSq_gHj|97rS;-Y$^HE?0==bR5QXXn}r)ZgizcCKG918 z;xh6MuUv0epK5k>?R5r`pVtv@>*tLTKP0^YWgN6K!weRLJsq>iAxrWn zqXqOsi`6Qv65p^`Vi>|=DiDy`@WsLEa-V%Uk=hL@Az%fFMZOn<&zg?VOR18cRBCsY zT)si9-+zMIA^TE%rNi6Vzse1LhSAsvYJ7uEqCK5dMej})5+LR93(PAng~Icn1t=absy>?78g6J07VFdH&>#@d{MNlN}$AdqTXE9 zne8eS%_W|5eXgJl6OkcZ)+}~<=vE=}+&U4)eMfCHCnEjc;yderE|R2vUS(S~Q?3s$+6(Mwue>D?fmt}B#o1`#)_k_BBb7@)lW`DNu z^?q3MG>W-iiJwqLY5@`qhs%qrEWWt81a{X^7NShyJqMFEQ`F1F*!a8E&3Kr@^%=_C zqT?GVI30Pz*9Zz%hOioC96cT9(^p(y6Rns-^@x}3_B2eLLt4_~)6OEE80*_o`Ih+X zw?xMSq3vf*HTkJSiKaJJQD#g)xqpRtaZLR6hbg`f>4rmx8^({5)wxP|K@P;!p(jDB z2~oVJ9bAE5{q-L}v}@yi_L&w((BCyU={FZ&2QXsN*`Ty`b8;8xe5ywk+n{C1%hsI7x=Wl{qa8YBLz3#m7 ziM7C}2S=5?+jCm&lQ21}P{FWMsj_3~vv|e8gpEAB6OspVNQCl3h5$@x@BJceffETl zjezIFq~@O4m6o|9`W6A$DH4AUr$F@+I18P`yN5r4!A*z23*GTo;v8KQ*fT z7`o6(?;MDj9_(}!iS01j&VQ)~`J{6P!+W5xc?xxFf51oA1=OJU_<4h;z236h&8>4#xLr^L zkG^)YK2~jY^Wba{3Qg#z_)aTtXRfLzUwcsDIjTQJl&!iUJTB$f9S-Nu5aHh)qSN%1)KBj|{9~u!(CV)co0ZR)f^0kXzu2iJD zYUR$XP>QanfU2nbhj^I*8=2me3;Be>sa;q$-!7KP{y8$Tr=cZ$WIJnQ*F4}u7HYz> zDR`%mlbBz<#6$zv9+#|4dPaAe3&w5umB$di*MGCtxE=|mpMQ_Q@JqOytCP|s<nvESoI@9v4wYd+HLRAMG_Hr;0v>JyJz6AGAL1~F+3gsSwI+=b zF;Tn`G9Qx};nYNFhyG!*Uf9gvV4mQv?)rYtNB z$C=!Bm#lqvx3hju1Nb%CFxye29E53ZWe3fDpPTRA?HUi+2HHK_(-T?sMtgbY!+$jE zzQT1*o@KpzW)VoldlYpyxIB;OC06ks4x(+(uGB&#(^|ZnRrF!SHzzPl7Az= zd*L;ubJUrUN8fJwz(JK!IG31GFMqgxKbIv7 zRC1iSOM;v@()!qVmGY?5v5kQI)FF(i?Cy-X2SK}*oG+Qw@!n_S_tyz`qlM8$WcYQ5 z+%T@hB}n%pa6`hNU}|OL}?Q(s0`mi@2Yz;lICO zwaLBtnB5;N7n7O6W1pdxarCg+o_66Q$61`EN%OjSm;(XF=?ivd+<%CF3<7_&^pwXl zenh3)$GvBMFz1#qZHK5I%0#=)4`<;fmd?D&Qub;YUEFZ)M?-#4;gOsIj~!Yb z`v*?A3v;A8cfquM%6uZx{M9VsV556m^Uo()a`0md)rMcdyMNvdo6*WCPltYPN!XM- zyTU-R-l=T(*Tjk4{oTLh_25{9#R#>TB$G0t`8^RnQ`I&Eni>E4^1PIODv z61eYq-+|h3rEm))PkT*7fAZt0+eMCdGu0Zu+qL?(_@Q!DC@&5xIR=q3X|T^?69c&1 z4yAI;`2OJS5r6i${yGaGV5PV0>B+IYW{a!5(|Grz3{G&-!zpfkyVAT{LbffX(J5SN zC769nh)@}{xUw^XN=ON#Z?EyE(8gMRmU}UxHQ)O6&VOKIxHVDjMaRUca3>-uO?(pa zp)bul=v+`U=rB4n+#ypJFLCP>q0d{Ed`t;BZi4IZfyG;Xph^G91nOsVveSt#v^(D{ zflF$BKdBj`bGa`#*Kn!G|p<)?rQM+}8&m%Fg@;s9-)>F-{C!ifyF8mnb(Oe01E?P@Bd)X%9sAp9Sh zHb1`~^mRF5eRHez2SnVbaP>=cypPZD{#J}OwSV*|A)RmOkV=jlqZvVCy;13H_xfX~ zO|>Bpg_G2ntbYA9E2H;yWJ@}B6QEpa9!b1D)-A6%J=ma$F#(T$aSdju0k%h6Nnw`G zI(i@$PyUXmBl+Zjxr!62=5_e3n~w8oDYX~v=KE%va3{u%Ve6i;WyEiVq}!EZ=Ya42 z6o2vj;?jkxZ*>SI88qtkIK!r#^5*(E;NqueuQq(bq{f0>#an((+@=43WR-p|VA=*>q?UX^COq|J1fHuB&{iBKx%hMZcl11+8 z07Z|5{m1hgyKl*?DN7b21H~6kS2ExQgMUj}qBGPg4V>@lS(4dJ$6cCdXcjFVi`rQ6 z$K1UlsUfGTzQ0lbe|n|wz6bu6wYdTp?uV zc#z_Ft_O7$J?beO4?JPw;ZS>fNmvOXZ1`_0cza-ATg7* z-;K9J?Ly|A4ZT#_=KhwVc0vzobtxn1ZWE{0GbM7W*PWJ;Uh9NwsLnpiw|{ndPZSL- z4s_l$C+tHl0UrGugPc)*n{4r1HdwryAk2y~qS8Yow za{y;D*=g-0-dBo7B`d;~1+5MsmW?q%ES7K%tu6jPX)zU&+i2JBM&Jz3uBUm;{EvYFa`Tt| z(_=YXDraJ!^rG|$jkg{!pC<4X$r7wrK7{1$)S`gQ5m2VVA<>~N4HvUYt4-wv$ZUHP z0*}@-<9+0B_*tQLh)(-b%&bYV0!%s`Yv&e;a6ws=rU0x`{BYztZ+{(E{T{K(h^0yE z7NG3h7*+Cek|4a7>e{+&ERC{`vm4K6zMLM?dFda=fV$N)DbDyRDmOGP=lYen3pcU`1?AyY6aR_4n z9TY}B!q&TlRi@OpzGeXfpF;NQ2xdghLnSB+r~2A(aXbC$JU@_lJaLlDh>U{_eLF%P zkI2;y@1Yxm0UCJ$(z>`P6L^5sIMp0kJ94JI^?*QYbnn1O@JOI5!c*XqT!FxB3bfc) z49Vg~KOVgwZ+}zc`8;iA9msPS_d`j@?Wm*xp7&FM6Q{8k11vF`c>bON9)A zJv4Z};%1%~!2X&O=~xU}*%v>`U_YJF+by6rMl>`Rx@RbM#7LUTWr*A;Ow7ck9|_*W z8uXe7I894wRJ)&hXJF7h@JXN!cPCFc$kqyNIKht{>wgLsGplo+^amU)S|Yb@5~+$a zy8a@C1zDD*t7;=r=8Y0Pq2br#1-$-HN>PWp%dUg{O+HpDic2~DFEva9-j6G3sW5Y1 z&-hoA?Z-3E+yXy$+-G4YGdAZq@-}~bX>w1jzNh4}>R!R$JXhxz?c!cM=nVWc)g;W6 zNnDyU+JDB@R`HTB#(wxhrwgWhz#B zgj@Efp40XNVZ9E&`m7&Yjjznb65`mO(12ElVUmR7yj>j6Q0fNO{19n29cS~@{f7L@I$LilN*uYizMT)P9Eh+&&5}T6a`{k`e5s7GPUzcu zx$@lA0bYp&Le=3l0=};1F(7`MnvrOS?U}OIP|Is2dZGk#G96c!JFetZJYO0DQt-(a zmVacJf!vAwZ-zTQw-wdGRk!3{bIFrf;&_45tah)0%SWMay)Rk^;P;jKSI!q|O{hKE zDf1;?gVL5G9sJ)(55qRAt(6o#OyJ6=|9YJlNWZ-(XNqG%K!UbNmv#<1%3|+!F%f3= zh}Jwn>*25y$_hTDghyVVwfnT*^(;E@!GDq`kzYmLj4k2Q2}PEn3)LNhi)=qoHQPpc zgJrO@in-WU_lukrhq1*b^V+liIJP^1!8zPmum z=u^s6y4O5p#Z^TG87S*~>p$HC?gG^fLsgCTOefX`;R2zK z6Nz-X8F}nN%P5Oji1y>OCJSrUKZ_R)r8shW_>&TJx?Dx|fokPalrqYfd%c6?o7U`4=XCle~W-UescId)7FmyyQkTpfb;<_+{T<26vii%G1Sg8C5?U2IhlXoFU`PQ z@DX2#B_bqntPbN{b3(x_G`{z8#*)c;#9qhD5}M}(R@r&~&!i|}FGIVQ8ZiFh+w;!} z6|5c1t3&=6&EzyU9q?-+Lgh6{VBhtMMKJ-($^v(W_ldC8brS7kdF*eGH_KlgN9Gb9 zfZ~=6(_EVR`Ev}mKG>_Mg`VkB8T{AD*ywbOp5-oVP@z8pmV5C4tjqe9M2x6bKdvfwFzG;dgU#ouziP<(qK6^$X z>(Jh?A8c6Z0E6>i)077+!X()UbJ)dNY3tTs6>&))Z5Y5_4l~ZDZ&9Ou+I=tK=QzH; zsYB0(qO5l8t{`}Khj)j|r}9<^U?9Za-4!Np)@#L&H+$M4K3vUwq)q&@6xK@t%cOOA zJZe|*P-+#o?OWeB7X^P2c+a(_(qlQ=;E-&e0mu0~EtTOMgjVt3AnV{;o%{D&jFeq= zEbGXFRiA`bj)*(+|qOr)#`$vGUj7(6LMw5UaVe6#%Q9w<$w$B ztZxbZI>QZxx|x@Z-rdm6a--Wx$n+lon02IEPbmkl6|Ew=zN3GfK6ZoATU~!xZNTk! znjyVri%erAL$D;1;`wSqX&;q#SktLtc4%81g8BjfCVUy<*{4@y2_arv zKB1QSr|+L|FzP`j4p!Z1i(v%e&DdkV2w`eTNxMcfv(Br$+sw63Io!~r$_3L}isDV5 z5)}kG%lj6PF$aGXPR&FgBS~oc#p@kE7ewnAA~<^5`LoRy*zzuaVgc+C=a9XCF*K`I zP3l%l0?61W@F_ru(BdTTdXJqi*7+)M7J;_`*44s2-hXJ@l&rSg-5Y(7tsMG z4rcXQc-^*IOiT?otx|*c{p@>TbjD+NjyAq8p|plf|ihJvzUQM}2Z( zQA?CYn-Oi^eC|9EuHO8x^+tt?E&hk;MTXDkbE<42tef~z^HJ~FUBUg(6M92)!w)Qxb3G*>apY zz-n&V3!6=Z9S{-ld)xmr(+GMki1a`OkG)%C;lstd43(d>2M1K9p$zC1^bRPpSa%!F zu`5IRw;buyC1`!6Mdh9Z_f?K-A@FS-NLBTfI8A@-yvG#r_K)U!xVF*feXnyvUe^-1 z3cmmTeH-h|fy&QI>+Rg2m3sNor1ww+eJjqk1k=;(P}Az4bxL`=ie=%s>MyWT4Q3F6 zSw2{oh8D?w=D+eyfsx+fReZ%AT2u_uSG%uS%6iWBV;+^Bl4aYoR^ELl8l{>Y*TJ3( zW8(Wxq~Fq4B_i#Gj;oUQ1VN8WoCm+Srh3yU!B=MmT@W);P)x(ccBB_4P$LZM%uk;B1=+AU zTaxO+pr?CaF2!Nh>7TB^OVn(e`y$AC68Zf}GF=ik_Hg9wvQRh;W9!>nxGfkkBNP9T2J$V&MN;pV*%P2Op9NjXE z8!siV3c#Cn5Ft9qxs_poTB*!K>QMffPnP7b(YJ*7skL>y7O>@&3R2;(#z1bXI%zN*fi1E%* zITPUb;})~MT`elx)6XsCUu0VpCq&v1_!RoeCO5Y!;M78N@Q#vI%G}yOS>J<&(60VwI}>=L~mLcc~wsf z%Wn+P+C5NcCjTE-F-2#?G4S;;!wF1Q?%d5@jWyK$@K*ezTL&`hJ)$rp`qzq|_?zV5 zkmeK(k5T5P{M1Io_bq>@)mzJ-6t|8-+Y_?mh~NW!P@~S&jE+GEJ^mQMqQegR!DRVe zh4r+v+A>Qk(1c2|b2#HnoZ{bOgPfXl(`nh#m85rLzt#(O<(rI0Rp*1`-?Hxzp#?IP z$3Dv>HdbC;Z=*VjRt@p_6FTm#2cgaPLS*=TgM7b z>iOye4(4E2Nw}01X~J{AO=0v+`g#BA>Udew$2@YkMcz$Blqs5?eP|KX7)Q{v1?Sdu zZ`tq{QiTwZF694^*Yy)TbDM7&o_;<^pAJdX)wZ;DTblT`M({)`aS++4`qdTn2@&du zxs3F3Y-4tsvKN0pMlhXdB~;h;q@TPl(*D&palC+?D44jZ<779$?}uGVO4c~8@f+tS z^=!o|l(&dAq#5?Q+}4T2CqqsSru50GRDQ7SCvT0ds<<_J3CdNLOT-9golrNL2)|t4 zmO12qU@&R~3QVTb`iZBb2X#DBp&WgPJ|D|Str=YTjG2GDwE;ekYQhlyc>3$Tn)e0( z=1nICJ)!Nou_roh(TXRetqi zX(&!wuAQuG;CUD-tSYaep|Qt^f%~-JWQIJ0o873QugXLR3NxN^^$m`B@~MS9NjJdm zUmjqKz0xOS3B-9(@j{cNu<12VG!1r7n^@Lr(n4V0zhfl{I(^5|*e6+P~ zsjx%`+mUh;sE*#}0}}9qvBt!ldeO-!$TbeJ%=9h65jKy1V6ouh&>HfmOoMGz3p3 zOITmA3;J|FnRUVMyi!mTr=Au{YBo_Q`MJ!kHBReBzbtudrqMx>G&~*&ddIjR!1E5r zh!cMq1$x76s^l+k=A<*AQNg6r&h3vBpkf9;z&LI=y)Qt8J5c>8i zae)9g+CK{A^rD8T*w62$Q$=qVHqeJjsgl${R7b?-oIPJp&71{e29dKbN`iuvaMFLO zca+vAEH(Z3RoKm(WSy@bDOCj#^r1XkU=~wvt^WD^>19H}$i**xuhFD^vLXFUZ0g7?O{S=f zMrUWilx10;vKCw_N^nrH5Rdcm#n^u;*q7rQ8v63!OwlXXNyGV8849?{sM5qMgicc7 zBBqX0FN(K;G5OJF=gLkgTTMe72b3F=+oRgDN|aMrdb7)$dx*&LBPlz}hm>$M#U3tj zzwAKNWn(Du`c0OF3NlgHEdt@iOo%vWnXAIws$Kt4U{^^tf@}`CyFWf} zeek)&>i5uTVzSP#5Tk0!uTT;L>B!d_ve95neVDZ45tSJ;+uT2Ov^W=SA(nipl^!YyJ zGkLmhQ(i8ucraPl#Jn)fWlOtQcza+1ue^4^vjOxl0<5;XvHEfA2c zESwuj+-Gx#nD$zF{_@})duU7mll$YM_O@N5uY)b5Ji z_#jWS%FWH>>%4!&R~>CDE6>N4#d_J@=hX@V*v(%Ri+SXGpk95`mG!=3agBU@SSn0; zozUa4y3=q!YwpOUBL-bIYsD+tu@HHX zj=D^wE|A8#=QFU;1^`f)&%AJ&oz7DVUbUCQ4Gxuln?uJZU> z+xg9$vV#4-(VDu8ckU3_J^D0nbTWleu00mLuXn$MuA5*lX|jJo211uQJDGicTe?H0 ztWY#1UAa5DI2RCkyOn1;`52+d9`eR^jTS$T8Q28u9Wj35fNN7^U86so3X2Gf&RyxL zd*;ksEf*lej5rc3KOb_869)^zZYPfzFH(j!MtU@Eu)kN}3?)ZY})cdUwS* zG@_e!)Wv>El3nug)+0krYw3((Ou&VejJodO3a6*qH(-<)`kMvr5WyO1Wn*YVl({FY z!RMhh5)OipU3oamKU~ z5l!gFvB?u&4Tz^ncBUC98~0ZW=00PQ;@7)UUeB$f|FB%tV$#3}Z^2~_V`Au(l&MPe z!o;2bNb`SATBRf+@X5f?rwNQ=Bd0Fv`Lm{ua%LeT_odciJS*DTk<>4Ca6dvb@s3qRJit`tVl z-~0X%WQ|b!l^KOhzkFR{?(BLZt2WII(9GbXMUt4)YdZj?ctaOq8>R4;;)CZ+bcGYU zNxjE}mUzU}NBpPukh*hN{?MwTDBADl*O)}gm;pcS&s6j_rVhdr3oGJyDm~@cf;HOsFg_Y= zIm#TvgebFap&Ywxj}=Cys``J;<*0^}X|4QDlF8^xX=mHq>v{X${$X|7#aMy70>9Co zXBnw6<`OF>8^xob(dhk8^0DX+xHosmXXt;VZ`v@4d&W5vVZ>a}p0Ji}U^ssqM*LjV zq`f2^)ZGmN+4&0>KLJvWhtpx!)M>+f3f~L~ZwN&vPDt?95s8uAXnh;702)t15Ai)= z2!!d3B4Ud=m5%TcU(czFZzLf)kZyx>E;$4hP4*w%C%&j5dw zGBZYJy}P%!1yY!Y=a0@~@_d|gBY3|el$T9I+6hI@Mf2&A&R{Hu9mbpuZn-;qSbUIj z%LDs%r=+J}{BlPadsf1LaSVHZsm$>k#y6aWf{}lz+Q|^OWbIK22-sFj3J?exS$v7RC}%u+fTay6 zUAEq-OY5@zdfrrOIMEy_A%%VTnFrA)VflLHT4UuRQ!k-6mFqfJqANES2ctw)+)))SS0R?+hd+4r$e+iR&iM{@~`h{}DcmG|?81f0=LtHOV`)Y(Is zf-N4k%-UflJGCkjbT7E^o8wV;wHK=)EX$+>s6Lv4T@%MN4DjGrXx>2$b?B8Id1L`Y zjqXPVA9)%nRJ65cQVL}x&O5!`XGUsGp}c5&pHys#GSM5tfBW$>pDR2qhdcbtWdD^>(6l=xTxR9`NB$w*DtD1V>Q^Ne_tZ@(;=mOR zt~;if{FI=)aDBU2a8;ijnlR`-zKJ+@+~LN2U@RxC_(ss_7YQ1! z?!`Edg^&EvPEbot_aT0EKk{}^dxtp%JrO9oQ|W$vpl^NDe&5_z9?3rV^pMj?Y~=Bl zlk&ZrUjvZrv;jVFw{m|_8)$TXZ_RyVgqzId+t$`1L~U9AJRO^S${)1s9GPVmHgCv)hD}ReH?}si< z_d=_g(>C*016!^SjI$NI==Yt@6I2fX=Pl^N0iAox!tu|@#*2T|hJ?v67I^f{?~{A| zw<=jaC?z5oacz*jHnzxdxkLFGx~s!!HB%NB)EdgZLNf$l*j%gL1=p-ISF^E0e+bG? z=JT0B>0*seu01-t3In`K#a$ve9Q9-l$*+&&xFGgLB(}fQ$R4B;3+){fc7E{x2G6<{g?u-JBRPC!^KVv-V z7afZ0%4(U%^~aU6I>j!w5sj~>en||;Ozr(Pw!RI+F}!~%$jVvY3Ugn+YUQ8_#v7I7m_Y{j{+D^Zc>55>TV~^> z>j6{RSVfQ5VK}|u%p`br{czyvD5C;%qgb<0yh_+Q#fjQaj!FS)w>8bY6m*ThElXat)!@`3y2!$!?g@vbtr-tjv$e6H}BaZYKICcyll-kuY>pEOq= z!U=!u*Xojg^wYi~CHef8ASOJbV}4!OdE*KiIbO8v-~V;W@fyynJx(`ly{8iuFX=+n z0i`Wg$$;*i3hV_&eF=Olo;L_HC_06_bZ^NVa}Yl02sXDb1O57a?E>(Ma7mU@+Cbvl zX9sAw(I65O!Nmu{XC_$Lhfm4n8fb?TQk8!fx@BUimzZ02ssfq>aonH8ZlEv%3;_ad3G*K7Du}yxFHI-3O-b@Oucb~&F+Eo2ahgy+fiUkP|t%`pZ9GPO{D#Jyy zW_(u&=bkweFvodJ`Hkhi%F!3W+YNQFsX)-yw#Zljk#QYy?rp~y(=Z^rgN*jjo1}m0 zNqkow8l!3Tjb-tL?&7=-M`J=(-NH2h~CV!>TC5jsh(sm|A;xtLezFZPE5xbUbNT-=p; z{D%(X1PbrwuS%Bgdjan2RlrUUztt4)ph!Z@g+;YY1yKU&BRrYa8 zJlcTD$?WCZdZkq*smaz=jSzpndB>zMMOE1NNuJ_;@Z@ z6%t9V+`&6YNQ3z$LuFi~t^_P-Lvu!A3|DCeaVZBT%E;j?YR9kRUw#`>!^d zOgMtJKIIMy3-Ip|Ic{jW(emTV?Zz z@?x7jZ0yGKjWnXrmNsnoIHd;_3iGAL-qdX&-Nxcz_>$%&_#=NEdBR9zfPZPRBm-RO zYT?wE&|ej#!`y=krV+{-K>v@LZ3YwMm#YTRVMJDZvwtHR}|mo`rDynhcBsL z^|d09C}zvbeO{F>qykk44PppnvvD$bNgrqCp|sCdg{OavG_W=QsI8;Gz7`)ru^~Q1 zIQqh1Z(f{;etLGFF-g0?u!AHzs-0Q6Y`7tyWY|<5b79;8bukUmCG&i9xIQ` zR5d;T9>%%hs9%X!;Xi1l3Xf=v)+^BnF8$3?VU_{ z<3~E4B~X9l_MkqX+xk;^AulX7Wh5zQ!1&U*^JSrFg}JOvNIO0bx@MzTw+G5}`W;N_ z(_WLA7Uo-SJeJ4vi@E{7{X|;EAP;w%n$MGkmZ?{FuK6C)_$}L;W8bXQEqm8F+O?L8 zp1jZxjlpLP9ExvaGQ%dudF-UHV1E^lyQaQgWYmB35et|KvVO!rMg6p>G6F}{9Xh*{ zG!WW3c<=ihz*stJ#G0tptM9-EL;T5KKVPosl^_BkFd?1d4zEvO0a`1T34&;J zlhl9J#!aA>JmyHm>W9OReiWok!EkZ8Zw5N$U+evxpC8B7Mx8;3ud)pIf#KS66m~%= zALk;F=O-3-0p(^lf!(fVVJ&lHANJM{+)p;40^TO7*2lR?#?&$ip${R8PPOf|QR3zH zzbE+;ZLwPjRc92c$VbMb_}XK6T#swqyeEH|dPm}OCe8|tBpwScTrmdWbN>-f{M1sy z^N{$*I_LQ&Auvy{qeMiNP&ulnp)--vHk-DAp@KXix$xqyrx{C_PVYtD3l zxD%?mRt8*ej&REf)9yQD=^ynPI=5TYhw*w2$l(Nd^~~9hzNH&u?{|1CJ&W-}jm&?9 zz?HDz!sZ~SZ9meaFuD3(%0myzq%abKP~+4Vttfub&T45k3HEA}$?Vlqpl>Leb;}vC z6&mCFV|sREc*Y`&w#in@)VgUie-1`g`M4vtP(wp=dPVd-Klw`seZu3_Csj%99DWP# zp5{UZmN`5p$$)rI1H@PkHk2{Rjd_z zYqjfmT3pFu<1gTZ0#jhbCaEC)JH0?N4|kz<@Xfnm0(u#P`{|H7V6z2iW_fO#zWXgk zV^*k<+7sgYrXIwSg2WAXip{f2Q@=TeW@XI?TO~MdJ`5c1W27rw@;+_#U>$#>#j2-x zC*>-u_3d^vqVfRu_0VmF3I&s2@bWk)!7Mu3t(iuQ#xbOeX@qXAQpL4zV%$Z-_k0sN zGmNQB^FMx$dMK`pV77R@M|Yoxq$8psQ(BX@y{mTPy6d$(rV8hV++Zp0tS8RxN49BF z5q`HL{10RDrLZ9nP>3B^8`G73P&5ehfU3HKUg2&6{&E71yG8_l~ED>~%3qDMmusF!NZa6z5b88~Y5V1+vKmDuX)&TfB+m}O;o{#{*( z4+ZPsv;p`N;Xs58|3Sy%`U>NcwlK%EG5XbAMyhk- zw_yrlr46A!7*TZypW|e?fV4fc5tm)nwI=<9+n6^x$qD3_odR((G}nr#dnAbp;#kOb z>?{==ugvDJCG=d@*}i|UZcklAy=294xmr)|UgI$Lj$9)B#x|l#QhkHSBfP8+pNznLFv;OD4A)fh9_Ieyg1#}>L-1pCIJ zCI9iL(pPt1DW;7Jo;M-PmRm#VVNx9yn`zO&dXbKK6i{5~>c_ER=W{ zhoaZ>0hhZqs5yUCmPa3bNu(t@N{V7$84hkNHI%G9o+ha9{`l~GiKaa6syS84SL}K< z)m8kR%>5M0}~ zZQHhO+qP}nwr!iQZQHiHcMdyy+HXkZ5LAN5(0`k)WYvFhx4K*86~WTU6r|V$8NPC5 zm!~nX(3IYS(=G8FN2qo=*;~#t?HASwkrfIwm4=|#7=GVmmBl%pOW-p8H0Dc_uK{av zQ`X5PnN3vNdO#BjJ=vn-s&Nxx7W8O4739H1e*Xr==e9_lZdVYF!a80SRZh=vAheWY z&uHe3Y#V>}DW?!?W{<31bF&dq6~jvJAlIeH38+*+gOIhPh5Q|kk4v{4#D_n^>J#>S37LCE>{4Yk^MclVaOiNZHXI*I{p;8Dc<*LoV;@ot zTgx>+bV*@!z}mpj{UfsC@Djs`dzFh1p;ku2rWue<$~XHsbB``f(A{-dthaoJEr(YI<&1izdV);Iu`;RajvJ;T(Y zYrkLjDln_^VU(USu$QqRlyTe3cM}B{iDZALbcv=O=HpZ)u43?WWBe+q=yTPk)#p63= zWd;DM_mN@vvENLU=i(AO90JdynE_Hnp;V?HrKlA-c` z^B%^W{YGaxoj+H$bxCFPG)0)-N)3WFd7_FYo|-04+ot0QF%Gf7s`&zDGswH&)xR#< zMo$F&cV0}fD4j`G_}VjRCF1+S`2wXS0ZkJMaKK9XQ-meqIi~|MJ@qbgeyyv$4@Gg^ zCAK)%jqGASXUL5HjoCsX{%2oF)Vr79)dOt@v%e;Y$n zCcOn9oEeL+b+Nmsb7N>}f8Kp4I3ouV?R=Jf>6Af2aZ(fOL`@&EADrUYFuy_E89mmF zzw9X8wm>=QPJB=P;fY~^V&TS~>76iwyr$#R7o|*T)d6lGdT>|cUpaq`XcT+y0U?>0 zT3w)S9Ui3@@{z3vZJfs8=3$-lxW~B7XZSrgO2xaiesuxRX^EBaP~2&MUch=xN_sl* z>mLG-#!DYIrznY=Ys>((1D~{e0q3PLRD#9YnJZT!q}uTkFcd<tHVA5U0-25*5}WJz$i6VWOg$b~nr8 zw888R_Qbnvt>f*Bv}=ri_5xqp=*I-PmmjF+F0Mko5bABOV6cP?b+04+dVH;P#hm$%|A)U{Q<9(mY~wBKME<5U zI(g;#=nj%dTW5bFe7T>o?LJC76kL9BdOEXJiiT}Ua6KR_t_8muuv0XW*)%(t+ug88 zzjAu+c#rg3Q;h=72uNGleevdIY4YyO%u*&vrrOz*4I^G5l-fut^`6kH5gMcM)6)Tk z_aB;1u9A)+17`0FoK<9yc&E-$Mtl||QOT<>0n%M1(zAaYR@(o@HN9x7ARG}X>Pqs$ zDo}k~O5YO#qSPRi1k*TpXK5Nwma^@NhAOalKxJd4+7Aal^X!L7qE{5YsyR2M>ALCSl`zHxs&F1nTI(Jd&7w8sf?PCAPV+}DEE>Z?^I8dlIr zHry$dQGvkop&E&cLoA;fMTC*BP)U|k2K9_l5D4Gz2?bOv+N!Chh= z8^G3$)$5IEjo%jE7s?hRdU3t*2K(VRx$XQ>=T@VXAb}0DLg#+tUgMNHg7P%q0l@#) z*md8)l|yw1JIBFg{K`;Bm_n1iuR7Vw z^fiC7q(IJv5n%-g-4}|g8l2h>Bt9woNsW1dKVdqBEkZ+(Z5z| zHiV>8wEAscu1;Ek?H@zT+D+f(sHWwp6Q6X)#x-(YDFgm3)4+?y2+`Y-Ux*zJ@823o zUg>#3CHruQkl-PL8~S+xCq;`LzV6xadbWQacvQ*lfMYF!XS+qvelb6$RhXmG4v{2T z=6FpTxzar4zK*Gv2J3STewd^}2I&$y+2aKww3vCALdI9-*mooY#iN6jHsN9`5pH#z zw*byIosYVh8kN3d}ae*y~EIIV43>#t_>Ar<*Nb@@~<0@Rzas?4y_OJ5f+mTNz7K03cAX znBr+$Fe@L!X5Yoh6P}&U9#Q6>Ivt1W@6hDyH?egWi8~)VAZ(8pPxl&s(1dn&u zH7G)N#nZeXUMp&Y9xl&0?OudKN{oN}!a{}&omw0X#?0`Mjg*i(i2rwL5n%#UXqIVr zIt8RSvH=4PL^H=lC&QppB#z=m_1D+ts6cn=?vBg`NH>zYIK-DGS7&Um&fcBWw-$3$ z{;8u7&PenK-9L+M$Q0?!Mhk7s`>sW@&52Ja*302%N|s*w3LF*$*ji9A0QG;e8C368 zc#{+Wy#a~`1fhgqPAbM4oJdVn^q{(hk68v+x-mr5=9ZcCA21Yc=#xzYBKGPQV!Ivf z13FOd+0cXN^W4{KkU6_($uSw$$!jMr{Gee76{|%0kiZ%Qn`IFlfsd(R6uGO%r;Jt) zYFmAk_E+xNGMYA2CYAhdfZTubspKTlS&!s9@35mL>u&Xp%UgUTW8H*Vne8t7!BTPY zmf56oX4MBhkX!?d4>fexFtGOXCrJAKt;Pz@Pc4~f-L0Teorxh36b4lRPKW@=yuA_| z-GXT+iwn9jS{D-)UEV6q-OzIz?Tz5193 zm^$UjO9L>ED@opNq*Q-+Yk4LAMb%BNF}nn6Ru3VIxq>phq5qRSCT;4CRt1Z*J**lv zoW|@TX(!lq=A++=V_`S&y@4DSR7Swm+3R{POH7^+at8b>hu0`h^F6drzVbo9>?n*C zWUZTf9w?bI`T)&HJx){sg){t_<&96-+SfoVF_7djg2cQ%UTgI>!H=h}E(g!IMlWySVsMOoFJQH1da2Y0G^wTT4>jpa*C9 zv6I-M(}-ypMg?t1U?09L9s#--ixYW1C#;ECcgYRZ2BcRg2)jdG(SS~Dq3As_Um)m$ zZX|LAOqu6o6BUL=+Kq;Ke0%|!PWw9 zFGoLAxgdTVuzN{guK1Vs7s)z2VUM}bk%VYMFp5h|kfGSyJk-HfTmB7N%4Vd2vASx z48Mo&hN9h14FfZ^rRisqz$h~ojoFQG0eIxW!Vo+nZkBPSRm11-OJX=P_>!>lq>Vi`H<@G`U{e*ua(0@;WK{Mp_nl6+qC?J5!R} zSPx{w78Htpjvk6T?CIjp#pz`ZRG`kDg(vsh8=xeaQzf`D1t0K ze2bKsF-q{}RSJw|Ss1@=c=Up8TCdlvrH^A6|1M2nZIIBF_!ANwrMrDV9HlRt$fzdr zKzy2C?JqWCn@omn#?OiLMF7l1#M1hFM?t6u@$orYxSPHWJMt(UAj7GUK#0oJ%5o{m zdF+25EVwEIQiatfbj5o}W01S(1Q*?a4Nv=HEN^NIx6c+>M)J9Wu;{avn~~7{PZtdh zk9TDRYKm-Hcg*kQbno&xiS&r|A1YQEZ4&2SB{)(&VyKl+Ch9sPo@8%h55Yun_iq@o zfTryqiX!5IpnAC3iJPy5Za9vxy)*j$kmY}u{{+Ltb4;Gi^rA#*Y@mX>F^pX{7}aho9#&2xrRsF@2PUEjBq+Hx5Mkk7koR;MM@>TsEVfBkTL4?q}S<;aGL%_b!i|PzkIS{bEVKSk8G}<$^m&znG_%y2pR8 zIQb}BzfPuO@XFe#66$T2oX8iM01T>&yE2APb&BHN(7F>8;s#v-{M*EY-}72tk2l4+zemE*D`IW+)f_Gk0Sp; zGAY*@QV242#|2Z^1hT2il6nnIwXT1aFta9(jF=65@hSQqnd@wR1sjK*np0jnI+1Y! zPECLqn`};8lphFHvE#nsu*H%3iT`6&YvsXxVpEH!xYF8f-ATDDblH>ac5_j3nI&ZY zP?U{@{6bZ0L!Gi*gp0!t0hl*|%0ll2`Q9NJUe2j9t>pw4KOgjbcsA!NBhP<;1`96y zum6C&it*N&j063$=9l%pq7e63L6DQH5Y@?V`(!S_&yj>gN#e4(dt|8u28{GLs^ zWbg@=WL`e89&q${$s-JQ(^G%Fi*`^y1bNbo>m0j zi!xxhK(t$5$A`ZCx`uxgd7(jdZ^2)GX1Wt3&B!9gyq^c$!YGu?ZFf0-N-uaCtRa4j zfrRWG zx^{JN^wXNYKQ-r;kTX9*za218cre~Ybbq|IU5(~Tq?A-7G>W2qqj4HRfCNevcM}W1 zN60u@Q~zkEK=^+TaLWo|*qYfD(+99d#f@O#!Ngh-Uh6WwV*Q;T{pWkl{&6(q|5HEX zc_99GYn&nVMFf*WPCLUm$}=C;i^d;&3MJ|(dYzGn$Wz&TB#vW{{a4YJuODMTi`!}r z^fJ+jTQO}-CM7n3Ecww{M-#zFa4+3w;pMDI&NyKk;gWw3F@w$F-g>s25qg}3Puy!+c zHA8j3Vyn}<0d=0KDZ*E{y>%Ark?C&>zwv+{wmGGaq97dT-X|fO&;RzOM?~P2!Zs5~ z(Ho9cqe6cSj}bTHH(J*S?mw}D4F?+pfiI#E`crXL{AiZpr^0O1wQoVRiZy=(v~`bVkvh8$Ic9g|;kTxjUf43ji?;y- zoHoeqwr5piuf`7W8n;hkY2NBM?h-eS6)O{~i*uJV7KT9B+x%HI=YM=npqjTh0GMB- z^1j!?&%d&Pz?tTxM}ChK#_CcdT7$ddBnd{s>4g>B&&p7dd(3H3u-Rt@C%BDM?eKqa z47z^1ey{vNS~00sLBC&279id-z{Oq`u=oK+Y26<}LNUB{1!Qqh(aC_1l$8tz*vtYxO+_Vvu4naq?&+C&~H}_ba&zmaG83s&4 zLZ?hvoF&mtPq*rksGGfRx1vFhSi5fY@AsBQnAH^9;~I(d0?>MP;g&m7>cVDSjb%DbgQk{U-Evrde-9AAFKg^7trQ<6@xHBR>;m* zQTZ5<$lLINav?T~0+nE-xCO}v%mwdX^{_;W?OTS++;AoO(61|$-s^2h1Q`ICYW;Xc zrPy?F1;~m6ZNCTAX*SDfwqbuJw*NfisrpBrl#`P(bYz-I8UTFgeF5l*@Hjk-qyY8L zl!?j_8qU>~=`)*XffT~VM?z6)-F4jGUQ$aJB9s|AzGwh2QSCpPdE&RpSN*<;CU^QJ z6Hjr&_F!V0jnMHIVacgtW*Pg_ z7-$SI^$V{_`(y(UFC-Ez0&u4#xQnl5vYJj}I*pzF;q+KS3vV!9%1Ivbzl+W(={g2K zz|@4`yMmRD1qzO7EaxjrgI8;&IVR6M);gguC%m$jLjxUs(B@6*GNn>siF{8^3mKK<~wT_OOW z^?ph@J5am83n^IDn42qX-_B>A+6qN7R7gmzb_B`&zEmbEn4EvzTC(a6T14zFqr-c+ zB1&X)Ut=jfoN(F*#BY`6s17(6tzf%{T$AoOR*49=;EVr+y2B~q?OsZcw?PUmOW{@H?nt3VP6fze&eZ| z)^agJH_1D(WP5+=Nk!!Rez*pmqXU*lf$?38d4Wvlxk!M;D@x}^@c+WW>dL(w_eN<) z%F@X3kP~%N^d|AYrm2Xi8%!52A#Vq_UXb*%Hv1H3HOPw%l^bvVnF-Yn);3tK^|g@V zGY@|Ks-bWVaKSGGBms%Y_*RYy4=Z=_!PKZ;@IV-7B;|kpk)M(#F)igOqli#AZ~q%4 zL|P;Nh~%)_ci`YHCmf+{6jSi`;@+|+;7m)E{uU|C*bn0s#58Yxl6g=4vp19ec zJ3OkTJC}bB>5sW-UBmJWY(cu2+0jfbJHP^<>n}hEFI14yZu1eyuyN$tO|zEI0Ka74 z1)u!ASZdg9vq4eJAc7**I*JtyF?-&FS%R3cKit{E{;ew3MN1kCLyW2-{mu+m+98@Y ziY*@~Hw-491DS2KR+(R zcWO0uN9Bc%gmkPR-ao=T5S6vfLX>RmOPjjI;7V|XoSpO9_Q)h~2%KO}U^2}Sj5u@g z0{q@PHn@hbh^pWSuzAAQ=&NIos%$}N$udrfC322u@3+lq%G>E{f$Irzv#v-t7?a|2 zXcK=sx4_z&n$UZbp&|ToH%KM$J?i&jlVI^TE^xB24Fe}Vjurb=2cFY#C(vXpUV3RN z`fzfXqpG-8#$l7}>Ni3C>MDA!;-}zY&Ky&b16hHkEEbZj$M$(y*w9xZEJtUx0pSub zuhoG5g7L+L*-R~@j>}WMm;gsWxW5GN5Q|ZUQvAn%9B5|+Ft+eqneqd=152sWOdl}p zSce$kaQH_$<|=7?urnhiq6Kl?=-RJO5|UeP`nO%RZa`LN{e(30OuTwivsEZBpYSI< z)iVon=*OE|{h@O}I3*{cYVp+i{QV_2kKiH$>&l##f|bCPcTq0KVYkUvtnQ9*(C;7% zEpAVLM%^?%0NfN3!mMDC+9nOkxP)sNx3TUm!?p?5#N#<=J+Nh9(Cf>#joelF;co=w z#G4y1G5JVypGEYE`GzqjevxS*3Y5<%Bn0Lxfa+vW3df!uz?tsY(3D6My)P6sj^(yi z1{OZW3=~NDTo78DJFmkf3jpZspL&S<&;M0_w|pY2G;8Ce3%lXYHv>y{ISrwmVdro$ z`MowD-VCJn*kiK4Cd~+eIgrD65|G_byLHMk9tdOf%W_iJmDj@fES!?p>RN%55$@r+ z<`PQ)P`b!_B_v@{Bu8eF#4Ix*YrtT8#K1%)LB8{>Cx4FdWk@!{lr^%2@hjwbr%hph z=q*@NcHd`pslU;eWgwximTEDR?P7MEvrvG<+E$>}vY_>j+(OED?JMn4bUigk*B&1X zGC7&qGNeFKTkGc&#e?-1dTvw;OvVkSkea4&;-!!QBuV@_X-1DVC0`zjT^_r2JFT^o z{5APW!PadOLq4|Z*=4Z5v=YRzec5q;xVOVzF;BB#95KOpsHK8mJWLji#Kl47AD_8s zV8?l+5#E=K&+u(@Sprj~@&n-r%E@xXyy$JSG)Ll*5nu}lIA9iq2*Q?fdF7U9uq-_h zc6yMw&g1R=GGrFo3EN|ljG>X-bcE9f2ibl91&&%ZC>d{jp3T6&J5}1HnGD8%K3G?( zO|+FH#ply%Ll9W=5F|X@~JSN6Sgw?63Yt#Co*Z!RR-NMiPMLk<-+8_1;AV4ji%DAmq!t?Ff zD`PyQfmXG^W9Zwu(;HL93m8hC9 zFJc$8B^qecqd&x_^h?sW}OcV|o$9G?SeSvqCUL&Ha#n$PhhI_n7@qeD^cN z&t`lfW$)9ALK9PRV-`9`NE|%;P(OQ7f@tC!C>p}^s5{{}%GgdDr{@z~1)&Ic;}XDX2G+RdI39W3Pgt=FL1mgI zT9&o#b-6iqrs>~*xpEw30_2{8toG@fk4%`?ETybJwV}G;rPI6tC{9%*1L$n<7~woh z7Nd3=89xbrDaUCI!RB2#FpgGX4DwkaZ&i)66TR3com&@8yKyhX1ktiG!%o7JZDS-# z$6_d~mFyLR7zN_$UcjL{_2FKC$P)Y77$Pn{+6m3QVp2$dKxRS(r!aKrdFbmg#8O14 zYPVW;>kS2$4HkZ7wQDy9By9qOb}(%ZfTS7fQ*H>D<5=dh@HUyVH~8aAWZZez(65T$ z@sM6F8zR&$LcF{XnmIcOFSlscHT-)WpQWfWd)pxuyNM`sE4K|`J|Y{0+8TmYUoV|U z3#@UAR@T3N7nlq@O-^Dl*BQOtx0_rYryDG%PJ8qbJxuGFBR`s?a0x4CF*X{_*L|li z=_2`X6HfDj;(7d}d81?h<(};X$LIR7LgSVqYK6x0T@!wz-V(`*jxcx84~0L8oG>5X z$%>N#43xEV2X`$K1#eIQju7{;S9-4oQ;Mb8=elKo0$?(o8PU0FPrX*hYp2G0Cvxa1 z!fXzO-);u}=>+E0(J?)Z(kTRC7csYQz;cgmk5t5exBy;Gz*UwfcUx8rWCm!KU{T4z|#2KAd3Vi=S z-sGx(rs*uJT@t4k?%fHhBO5HWevTpT+kh}3*hOe(9Z)#Br%Gcx&wERCmJ&{paw3*2 za<>n+?@s}H`Mn+~w0Hut{6=pxvCT35q3=-Nb9|Qd3b3Jl!seIv7?&PyM6?B90D z&5%%&YBn9)zJFn3xXsm-*d{$*veoC;PD9{-h#m?2MN7kW?JN(0T0x(_B@@isF-xxa z)kY|#+BXlPy1f9?#;1d!mxwNab*uBlas4u6)<8{tHX>`;47|_!CD%oq)-}=BiVgX~ zLHD{*pw9=DwU|!aH5l!t`FYS>pFpMS>NU!#IHGAluC++tX~y)CPcm z(>k1GYTE*Vf5xS}3^F>693^F#7EUq?{ZpXsAn!FBSdmW#Xe@0qEKFXN#ewh*JLo_jtwoN5Xe{0+W%#tZ|KMpqC+a5vl ztDVy;=Thr$k%Edy&w@>G8?%gD%0?ZMvd=Mw6dN zJPf``hen2h0#Tq1raEB&*lK`uJt$i!-B9gxFkF^YlHq1fo%PFqdZB@5!yF*9TmeM-u{T)KzWKGLp zQcv|LHwgRWSl@R{R7~rb^690|x9}oQ=!zg?LVp2%O-#FNRZZ9Cju8K$;-#1OZD8W*qu!vMM;Ujl!*xzUw zN|NX$DuL!yE(xbb^X>=CGe)H%R=2!*;d47pj4G>EJY#Kvd%z(Y@KK?DTahN`y3g z&i5OTlsdD39*!(ri?O4#N2h*OE%;M;WZA^DK%%>hHLW&5@+Y`TEVKy^*QxIzt7L}X ztxq+ZxF^0vk$H@NNNa#MJzeM3B4TJUXGF_7V;%)D!j`i*M z@l~*n??_XMg*N~Ilm*@ula$`?4Gm~FQ}58JV!pLOVDX)QB{CTTI&&(!!O?$YQaow7 zruK50!ON((x9qSa(3FP?LY=Q9rU%Lb1)XZ0li`Meqy5~qbAQT1+%T*ImXb1-J>vAL zu8nLq!PE_m1!%s>?Nr-gzp0oi_gE89B2-qP2N*IG?3OqsKTgFfzcN~Nf@bX`rnpOH z!tA)v)tFp=D@dkSo4};yVM1}AncI86Tg>GBmh3_~6US(@EOs~JWB>r&ujSmc8J*8? z!Y$LL+R`ul#w9T|l6t09*@->BQ08t8FN0W@2i{iW*;;ts*BS9(uhfs-xWCXxL?G9_ z96_OKuMa#@Fa)ZpJo49iBrsC;EDiH$C6oL$cGiD?0H~KNF8CevbP)pYi**yon19!I z_pM{kqV6E0#!Y?L2!f+yF{15Qj^2U6Qp7KE(fAfVPqW|q>E0IIcP%|5&dzKYaF^R$ zwL#ha#&2PPiob?HlXQo-@F=DaC8Qb>t>bNRV9NK;VU969H7sHPEn`ee#u5VynY zqK)*NuA`S<`DM5qx6Yc64yYd9rO7=o)`dNP9JE9Mh5#Va10Gk=&qz}YtamvyobCdT zVxSSU2@u)V;q@TyY7-EOkP7J#yYy`p*X+T|n z&VP#5G5Ll6P^|uuJ5D5b+8=>-7UN2PZJ~e*E>2WQJ>(NuD1p{}cB--jdR;C|qAe^Z* z+ANsF0@oDG#U3Qj=n1*y;)i{Zce+x4WzfY*Tv5C!oSgjhcgthGgW3i}+b~g9rz2zf zm>4eh-@f;+AUAM8CU>k*nToCEQnwX|qo_3Qc?NMQz~TotHM`GuEM|eL3zCp3s@7!2 z$1{w{ddJxlLo^D?vtkU{v)-HoAoHqkH>N%im=#f+2jqgTxdP%6@JiL-^|T^?^j1Jm z@k76s#>T+l)A}@+dZ%G3<;l)r*-K{%1BOWob#m)%0k)}s8tdV7r{dcR?J{W!*katC zvu$;V9tUX6Y4WVwE5c}&c2TJo3A@b`p?{h55+{ZBFxm1Hvn>O7u$Ux6Kv=w3X+fWX zUThxG@-PHW<#THmZi1A%w=~zpcbIvN6&dMj| z1j2H0hQvr+KZB}H=B@HMRPwR~;p&ho`Pz;rU(Wkm_n=k;|2z*!;k{bh>qK6G|2bT4 z>9WBUP=q@)TFIm{)YOq-U3&&H+OJ9W1SIK@u9@ybws~0g+16})Zb%V-cXgr~&O6%z z6v~j4fGNj#xDmZGJK|R}qpGlt z6_wvG(RCy&$Wy7zDKj~L+860i6!m|n(#w%OhV9dm1Q{yM3?Vd|4*5nl8e?(Nb zr?qKn5Igu{vCqIn1&)-LJzOsUg;Xq%mBmk-2g1y0eT%-v<Pi zh!4uBCQRbt+JySYQ#cNCylHAM0LW~5?&l79?WFaeQ*r%jNU zyG-AWQIUUEbF`9}-tOlijYv>ZcZP{xjqN#gtQhpYNwkstqTi$K2JwWWord+mag+Ts z^1s?_`DI_Xq=JAeCY|M-s?)Z)qNd`ZQV8va3*VdXgqjA2v}_H}?j1g6EY^3e%BO3p zaD0i_V9RL%*w3kdSG|ulEsCEq1*3C#cHq7b1rsk%7f{~pO!m{?GKZs7B?-5gm0r}m zewNM!Q=!h!U@kneL1n=I>8cx^kF`veL`zENYg2Fc7ihJXz_Vvllc2BL+MvmeW<|GW zR5?$`fQ>1f&^7;lSO{YEeIS+gGGw zCZpMG!MtpGT9Go!w zHG%Q)=5Ppqk%l&pp)i5RxGf|H5X&Yp#4xdWdW>+FL$=Z7>IpQ|tb;7!4}GJ*%^sgq zN-C#=B9#TbSm~q<;!g;IWN%{3w=H;2|3W-Qgo}?T^*YunG;VY-ZeZ{Y-(v$GfP%bKJ)`nIuMO0Rc_ zsDSL3Mb%q})N;g0#J6O3ZiKdxT=R;`~sg_o~vp_*DYkiMeJp@N>Ln2|!~%G%=N zy7@D#pOj($#%`5OW;ST^?PoVPtbN`n$ZAugl)^^GK*+}tM0VAsc<9vJCE1LEc>$~? zRD)?S{k(VPlEzj%H88FII|R1d>Nt>(z4mF4<)jmqZh=k zV)9--pV~#!!}8O(!J`K6Db%pVfKkLO&YZ++uagXCBcp-0T-B=2D1{soa<8l(V$R+g zd}sCWtosgLzej(PB zL5%W)BQ@Tk{yzC1S=WcrY%woUO3$-!&27tAwpc;AYl0x@b)3KD`V~x?3QA43!syCj zNcVc@f;;Wcidx7u$qr83VlBNgB91nC=k{pWkVb7`^hz~dvC1p^R?);fEN|C9H+so9^iKakfZG< zdsP-w>k)DmgcuQe9Zsm)LnGs`6SxZh{Wc726v;MlBv#|O5o{iii(?eZkLA zdb5K=5GlK3y8=T%j>%FN9;`3iQ-M%2^{Xvy{5=Gkh5TD1Tm3#8*HBScsUK<^OLo0H z=cy$AJlf16zf~|B(6_V$T(`sgg~XI|O9g-#hcy}N z?m0o6`lckXI461HJ-h4>tqsSsdy+s(yvSv@plST^jmmVK#~$k_PBK12E`-C0gIgr= zADw>{VoJoI(Xap90HLSjG}Up&Wnnmqwsvp*yL}FHnn-dc)a{gS!9iMoev)V)A;~Qt zeGV6QdpO)5#2h!UCC-|dJO#aPyq3HTa#2}O70TVWZ*0=MOhCov6t6^Pr$=>@R<)mS zF~dCP$;CF?t;_({nxqt@#W#dRAUdf2KZQXw4O?!OTcI3YOL)=E)fx;lLiqT5$5 zWHjFN2KKgt5#o|ZTy$37sf&EMeTT3GqEj8T)f5l`SbFMQQPTG?9*F%VK0cmZmE*&{l2zjbvXZI& zkEK(d!H%lS>$JJDj_2OlG{SUkl7X8??OD~Y9{ZVeFSM_hf4_LQbMk@+*K$T+m zn%rZL@*#YG{8}{D6zvh`;Keioh~poYNBJ<*{n;fpSOD@Vvaf&pgTfByPi z^p5P96T;Y@zf3GPZs*l}Bb9*LMIFjfE>5wxBECQSCgaNFJdvd-m=Wfkc$`dWLF^-^ z!E7%b?Ch9ofY(xmoJK9*G(}`8V?@qToth#8jyKJJLA&iGRl->#;yuQ_$rEs=@+(oH zLYgL5s#_a^B-V2?=g_oL`1=3LngmH~B&7th(gWmk)45-?{qUq1~ zxO-Gb!HsALOP%t)eZR5yts{^)A;sB+Q_nb5o0ou&i{Aoagv0ZTSGw z!r}@|Ydn)EO2vxu?{R57FYns;kfFLR3r4Y{m%XC@&H@YtR0wC zZ!$J?PtBzyF<4E^$hb&BRTH%BI}mKMV1B{`AKNwY39Y{_Jp+9YmHH)eMT-o8|N66k zS%n6?&Q)4SySPi*66p|=y*|JFd~ChZRB5g|{n!bcO{d zBl;Hbtm9=xh_(D>B!?<0 zF5*;}i3Y>A8sQ6Z*rcyF>>Y^^HGdEDss>C0Q^&jYsyS$_u1ioD>>NGc42Ge9-m;nr zS|>ZeASq=4$CLb2c$t!NCRW4`ZDUeHw5+E?;KxOGuVqid=ixjFV9tjk*A3SZZ&fN2 z*cB)v3R}Vl=wdmr1g2*TkVP5M0|JMi%UPpYU)^O6Sw65U^cJn|5DDE1N4cp65uysT zpm2TFM*>#Zb>wj_?N75TG}Wnp?V7%FEK}=)%f1O8jIPk5*iG0q_}mJjuTZ=aDBsg( zSJTy$@SVCaOcnW!!J21S;Gq{(auI+qVe<4Rw!x!-%L$Y5{8*w@RbfES5>c!(Nn3$>}z z2V~pr-S7bXvY&q+gVK#~0l^{eHT4EC4mlSL{~5r0$YGf*WB+IL=ucmtg1ryt%q?VC zJbMO6$<9Ve<)q4JZL4$V2Qh<jHqgNn5Mt@%|q5R|=nvOi@VeQhi@Pk zwo?dUDE3qQvY956MXp?#S|R>1Q`g41o&2{r%>Ldl}3)D8xsM%OK9)|M6%9{4JO@s_Gm?;4yk4%^Vc839RXBjmh(0nTFds|P|N0_ zMyR~21$km&Uvj;2SMIU5C|sxHzJ{dhXBPvwB_+)OivO~IwJ*`(fJTIlr3iMgAJzXc zn%k+Lnbz2}m=a$~EML8D@O!nqSxcahnw|Q)$jGxDckPAT0TDpXgjO!E;Q=Gi?^^*B zKugQeL4*gMEu!WM7i~(k4%AqxQ+H(YWah8$f+S_g5WQPNS#PT_8LLjd#nD`HQwI4! zvL0CMf=)|+znA|~m{Y;h;){|3i`gX^e+_$-%V?Fj&`J1z{x>baBg%)p@0726@2fRQ zuc)$Oj*h_T+2_qX9r_$+j~rpUGiAb0)=@y;W_Sty0hgmIh(+PH=`2=@L~VR^agSH3ki>f@*gpmcj&}^-Jl)XK z0Ex3%t;;Wqt|a>HT>y%Rm8wYvYODZz)Y^vgaLv{$Y~EZwSG z*}mw|TTI=`+y*0#o@4>3EBrFL1Hr@Q=|o+Bus^iOlCaP^T93Zze=wzkA@35modY)H zj}e4BugqYpvD;tMw4&TZ;}J;Y%hAVt*s3TMTe;AmN0Qq~Rnrj&;YbAMYkfeUtFL^9 z*jnI(7RVqhi=@FH?7gESeO9*~SZ*6=(%QOH!&t8-3yTTd(uL@_AMi$-oR79C9HA|L zvWU80qtU>!Oxega7k23L_Kq)%9Bj?oZQY$#uZ;lt`j_sH@`u)u+Lt-qNr9bfVM2^AD93l(9Ma(RN+df((sS zZ%}W#)IJ995dFJN7~Iqn7DYBc-}IvJ%8f?bLEp7A&|iWdr*BGj+wnv#Ev$WivBfw! zodk(`)}S@a_td+~QdD}GX3xnRWT*e+FZv~TUm<14*H9HkPHfrc*0|3WLUWjDhpEy( z@`tpewjgpD`>u(wqoKg8dIx&k`dgs}E9biDRf!fd35zo+nA)REeBbuAyLrim`etab zq1U9#bJV@KL_Y~KkUYImN4iRX;_w<9QdVIv1KGvcpZhRlnatC}%-05j`1ILG4hd=5 z!ujEGr9)5Pu-%G+!LD%xpo^56E3cA}UOSSHgh>X;yuBkp6T}dHiU$5kSq1G-2m!-( zEh9mREWNK>R)ZK?cF$y@xZ-h&l8V`#S{-orUL9kq^-+ZrA42OSb#u3Wb@(N?#OFzq z13F}Ds|q0$whO$2sQ@`-Veu9n?&+F|Oh*vL@e*-L`lWv*XY8Nv4GHM2Bv6XDAd#bw z3YkX}4*+4`TuGT8ROkL&8=-1yzo;q5>ck3LhiOFK#m^^VY4pwofkfL-14V0~e31r# zs51`4fMCI4c8xkPn&ZoVy}q6s9#x-_m!tu-`IjhCjeHNz{{&+NocfdxaXaDT87N7_ zIeJD^`o-$*7${Y%7#G5(aMwy1nSKa&z_Tg=6qYx<66u)R^KN&4o(L)5e%npLYTu_C z!WbgB6KwKV8n=$q)UVJGt5qjv(k-8VJA(+dUM2kAD$(7U@ZlZ=Rud3TeI`WUfp$d+zf+xw*Ps9 z(%hfkg@zSvi^NdVuMa#mOVOenN5+08%2+ulaZf*^cY0=jK2SpCx>LwJ$IPMRQ$iLo z3!%Vm(kjY*fJs+Peecl{AU+P`Wex!S5>{JCB9=%CA1marHx{B3%}S5R;1lc+%;9K@ zE3wA)btks64?U7xdrJYqU%l7WEN}M~taahhiKju5Wq+Pe*(wDOFKFGLRyPcpK((;AUM5>J}v0vYnUyOKTlXd1{0nvR`TG!1O zT|t@_*wVMd_=9O$u5mka^1d*4%^HN*sC~YUrVM5OGF` zKW%rd;IUtLy|f(|HH#`PJ64-;=nT;`FZ-+&W>1J8JykgpQB2D^A$$&42)BO?igy9` z1;&!?&i+>}%tI^!30_sX?#d=55l6&&lk7LU+{87G#`}2f@J@C{e@Ram%t@wP$wxDk z+6bQ0d)}IOh$2fwM8cbtCT~km^7;b5A=g+}u52je>HGQuEPktL8Fd3lh-*I4=k7;; z9s}Y9KtRD*FIO3*iDj;JVxDydBVv%%)$HIJCuxm-p~r>0Z63r#M3TjOO}|7mModTe z-%TT7re|CEnLp3a8GHrs92}pY=-xmTfR_b%qm56PHqySuJH!axc26|p>^WTx&-FXI zOr&if%a0Wml-q_lFFE^nP?J8h(rL1Pq0&w{);+4R)s$75x?ucHzi+k3!Lkh+cZ{kD zGmNA@)Ha6frR6u?`PNGVQN;irlB;-R9_V@1>Zg(J?rY&GFp#T&MFGj2Bm z7k9XwVOpZ%HIWdtq(I+AOMYXj3B*I$oL|~Ns*L)ZUok8 zrNI0-Ph4X`Yq)2=m~O3o^vW&Q^L`7okl?#alApcb?!jf4as2Qeswb5k0n#nmRa`2+ z>|<>J#Vmu{&VhsYQ{W?{v;$cEqnAmK89b5$kP&G521tzx2j*&K<`8*^Zi!~?#&xO9 zt$;P?+?a8eBwy8OcC)IE47~gdyjftnFip4`?>WMOla(eXw;U4zPEnIXixjthWC5vC zmj@F87PmgP0d`ZDX=DKvx5^3vsZW zp1sc*_wO4FXy%fdvsSHIUpJ5vDk#$mn%Efu#q4aIX&LDlxBxP;%7(U1j106wcGe~U zCOQTN7FbeJVMm~$vxS|lh@mr(3&8Gd4v;r?{>XC#Ffo5HaKe%T#DTUz#}B6oz{mq2 z3v@PA@vsLn0w@gs0t$9c&a_5`P9JWdt(k=_kn$r%*v{U=(ZbB!`Og~6w6uR#`jah0 z2aqx}wz6|`va$de+L{2Q=w#^ta&~SXMhgIioh`r!Xl`h23a~Q;r~owps>-5D$^daC zc~u2vO1giKg_T|G?d=@@M~kqsimEsbKtxbZMHB#3qXCGkDy#hYsRFe9&~HWqkW=~a z|Ka%v{F5##sv@YOsUXTo|7Q;XMu02O(aGWu?SE+_`%nh>TiQpesiU3EUjzUOb7yCJ zE_!-5H#a&n7bj;rJ4Z7*d+WdSshC?h0o?2ytpI-?uZ}=#;9rGtu{HT9r?WZmUkm&> z5rB+^G0@ft_$Nus?q5!uk5Yaleb}AZrj+-*2%)j+38;^0s*EL*1$jNo&KDeh3#K9SwT5TF;Qg| zTA7c=v!#`_`>2jBowK|1U(tWo6BLo*0&p;}0T?-101O{ZDr##YY-eNhq1p-dPx(YF zKI-Ib=jcKIpG|FLYv*R`^6r0 z06GAG?#AZye~A9-lRsw0Kjx1DeD$)ovj>xxo-+)oobTWb%13DAEO zmR`=z`J)vm{{P&t|KbvJv9^{ov;k85M?L>L$k4{Z+T%aM{wqQq_(v$k|B-9qBxd0b zG*Pf{Ha7oPP5)(=bT<5GctKk;Yv9Lu{AE)8bBC-yn)PGgSp1n+09r;Cw*T^d^r5kp zEzrpcz`^{N3;0oi|C0Mr_CI0)^zwhol49~A)c@Hlf5nK}8rzvz*qQ;DSlIxEj*f;N zunZp!z{JW5@M8SvViTbIUmXIVr?a(l{zw7XyEuOZnA$nQ{y9Z9Rsg-=AJe}OJAhvJ z--w+7Kri+;Vg}Gl{*BlG^fLcO93PPiex8*u{Y zjsJ}p85jZdz`r5u2ggT=44usX5%R%g`VaU)W%dvF!S&DJkF8q#1Agql@*j``KyUpI z_@Tw-Z^-yTZu<}TAhY z4CjAC)(}G%WkA#mpy8Huv?8WsT@I#;5-;n8JJ&(WOe|DR~pAq}l z3}N`Y{r>0K^A}cjcC@nss#};?nTSO#sHvY`e+A6b~eTj#mp>U|0CD*(Xv?y3+~_J`Jfjh~>1YpEy_|IXgr^{sRAIzjU$!I~fTsU7sX> z+ae9pZ|K%<8!d^IleZ>{0=tGjvOYM7qJpE@YILdr>9R|HWgSG6M^f2&n#C+L>8)|C z_yE<>V`0vpolj9r6Yqa0*WZbB%39ZQKe-joF*bd6v_^GbLdI^#S(<7Gb$);P9205S zBe+a8YmgU=F)9UV-`$C}2O3$(|C_XKX6K82BhH1@oM2ZFcgZCr$Px1pJPZaV3~Av} zY8AgIu?TKQ0L)nuWfX;b@+;>)By$}LffxR6nsd|S2z#0}aqNFVkEL`*q^ce1_flx{ zdW!LP4QK>GsprxbL>DR@U%3n0s%3N8k*_slWZ|`&adH=%&PXD699M^ez-+LvAmAG} z0ou=yeh2=&XLb$~4m|}MT)0Lpp5|>>_Z~#;T|i2D@8QtlZt4rkR=beH0b-PAjB8+l zi)CqO|3TC_S*m~j7hhrnBS^KkW2Y3dJGsviI3jjP%_I;(Yz zDK*FX1gDbbMD1&k-(I^`3V@ZHJgs#&;d-u)!{=4SP5GkL&7qk*%3Du{=`rvqFTec) z(?2;c9&Baea?@rW3u8sq4 zF}U~rAMVW2BMGJ3G$yIfB1-GQ5uov0bOmc3H>9SvZ@6&xccVKFCk6mKB+iabFpGLY zCA_oNxj9}6JWD=Vc|BMIf&hW(gLsttq*WTCJVb2p`34|#J~8Pdi%P7)g*41F`=LF|dJ zLxsM?k!&j;37`v;^B#+t~c~!@9VzgA1imxk;6tptO;Auccu-x(kp>04!p|T{iW~|9_qAxur=;G6gQ!U*Zl-K zcSad~*zay2AOu4khu`?MX?5*>;wQksEEj*}N7QBHQ2o%1plbs!LR$6E;(i@7b5B|t ze=!a9z3Df`QZqW=K|2k0AS7_YoPyh$MQmypF@7i%8ZKt%;S%T&w|q7a)VNA&A3rH~ zFrtNpIt-H*w2mTqLBG}0G@R?kp6j<5rMMrMMs=kQA|Ku5_@Z1B8;qG3MQdB8*^Ylq zUG`QTB!eSS!}f`a*U|eEG$eHeaZj*?=$?iDlYo`2ydegRX&EO`UrpobJo+i4jB~@59X=-d-78Kymsx+EV(ydW z(?zq-oq_6eYoEw_HtDQ6XdYDv9(IJwd@=4=Mx*6U)mSsGAS2Jc^e8Fzc%@wB9xPEK zR}E3NVa#CK8<&O^5jx4e7@Iq(gI(0c+8=tOzWEhnXHTZwJ}KZ$TD&aTt7$o?6!2F&P@hXs6N1qVWPXl{w;zEWA_B-c{{cS#K59n8F&b;+1%rLM^-Q(DH5kZ$Nn3!-7mg{7&UPxQCNHWt{G$@XXg zD^IW#U163z2{NqP>IQ$Q(Bz;m+o}F|Gl^qjlLU}P)6+-8n|Q^+mTq*cksGDY1;=!K zLfWvB;uAbld`H2CCX#P3Qu=Z5358Aa_dNQ5unBU`Kdzci0t$TL=Armx(wG@6orWuJt&5=5yhMs@2>5+JCFePO=!(Lt~-=Gf-FGJRArjnG_cN zJ{&X!RV89Z%3y>@b{H|3u;ODJ7;2c++A=`XKu}EFe@(CbD}>i%kZd@xj$N(d=8bDf z$5NeuhH2FZ8X7%lJdKeW#)BJ|AV-Z|g!!0$D`~FOl|X-X65n_Bi~|bPS^Fq(=FYKA zt)Jwrzjq$(u!X_8zA80N z(leeCYNyPj2nw?|f_QO6rCr!CO>F+{b#7kbHn*X#(>+X2a?I{NgW@X*FBUPxv8#o8 zUmeVE*PnlE&_W=ZRHW&{3X_9v6CkS9pT%Z}bB&4Nb-APxMYRqfa?<#D&HJf|48LFQ znXX3s>Z&@0OJTR4%;D%=4e8*t5Pv?jpmsYdy0=t&2Fd-QPu)#8nJuptGQr>Bm`Zd@ zGu`h`5Ud^}@~fliDcL1}sp(=j@s3P6ev8SZifDfc-z7(CKTxFfN^!pK)bs+6JIYG@&x@2j`O-V^a{(*uIiEvUyEVI-BvT5lfl9Z(LX8bYoPFuz_{Jgc*bMZ zNxFcQr_Fao1UI@L9gAf1SJWaQ)dETt->JUzhL};wBIDycLrp&2xoIGn95<0b)$rCX zxCMWu?@&-;A@sfNTqgNK;$-K+UtiP_f!OoiMG9%BeI>*X4VBeqKO5S(J|55D3~Egq z8OYkTcRHheQ>FWUe8A_qgvcy-LA)&6ABacrHGoQet5xaMoQOq^EZ~7+Ea71aQm(Uy z6T0s__+vjKa#p54n`1MsHMhdFMea}}v>AU =Lo|j`K1j7vo*PnM$U+z+60~6y&#fAzdLj9xK4`{&=qC;gF_0{y?VGN|| zKe6rs!2L$oN)6Cw18DAPgE`2VkoTc#L`_@L1y%%l^ot>t-Y%Xls*MJ!rSEq3n_z#R z;{oj}dP#0nKP7A(ypM9HUc|49ms#OZcfWD#w>yor1F0d=;k`WrbfFvZ%QD_M4c(Tw zEqBDHemP8Zt}IoJl?IViVTD-bKXFy*^O<{EhH>%Te36lh(hSGxL5ad8*LHnl1_W3z z!;=)8sLK`xq%`6;^Eh1fKzJ|0g$;j*agv${n~}tH+{Bj{xt_$7y!q%$fWJP|VtHkG z8PS1WX(utxYo2)gj0is77;Fcn3*h1w>Nm`#r9P>ba(FP3_=fk3Q@ZWVkhi^)%h(|^ z(5I2Y$W6HW0L%KtyY{u)T+2*ho5bY7@g{F==J>ZwH5h zr89(0FWL`O2scXy-L0M&!`lAZ#_@xRJK_*YcSOr2W`2syHBZR|h_&Uymfsa3kFD5E zFNM1;IRpHat-q1jIUPN&^GkJc*2dltEBgih(UcrACRp($S{V9PPIyOE{tJ%}o4vU-9k{m1m~7Ts$oaT{ylJa3%O z+{=FLiIcKs9SRE44Ndi7*b0$Yu&jf0MPFmpFsaGiC>c|=>9Yaq=Hdw6j)ehPA9X96Kab3+ECKrZ$kIAvb~mEvVR zg#fe@X>}$Upb4f1v!h0H&qiiZ7Dn!RGNYCN&Y$Q_2oE{u8@5y;Gb_MR$g&&eCtO-e z%+rCgwm8PixuM^&xm;?EV`Naz z1BxIjHrT2q=;%#-3Nq?yGbPaJL+mAD%SX^h||@7m%44w|uzBH(t)_=*S2ns>FaYcf`|d zV}}iN;ZEV3=~`7zIdUk8<0lJF?KGrEkRmqxd}KjRkMDn)v?oa82q)~+B>`dackfR( zMO(50ZO0W1#x?s&pqVAZ#ep$VzuwIA&BKRznUk`-HTGN#~>l+I3&U6v|`i$wZuAXo~ zOOKb^xI}-E5^NxC-*TO&^;O+2cM)Njb$s>^_j|16cx()IplZ7SIaf>YBccJ}E=EiV z?@_}}GL>vGmDS{_oOpGgUkCg6^EUL0D>%}7xUE_8^1|GLhoop-COMj>qs+{W7pCuw zT#p@0a6cOL9xEn)`B6^(wl=1Q~mfw-$i5%hnkOAMLoMXIuO73G)tw-G1~?uY8A zgihalpfIYcY;B7azGX`=`r>5Xu?h_vy=u63vfF39G#}bgXY{OsPyIR&0HhW{JoeJ7 zs!i{B75Ay(Libe5>Ljo4Jm^^~GquvKDTxrn^9C}_Mosj;eZ17HM#|2_;pAux;-h-i z@8N$C^d7+M>k;H$%Y+C7H2a)y!p#NpE~6ZM^QvAtq=sm#&mV0Y9ZQvZEQl~QZ?8}V z>^~F8Onv#>h1WLwBgJWcZtuHs;fT`+ix2rv$-&i`s8z1685Y7%rf!P_od8EbxW926 zl#Xy#`JHp(!29x24xSh>YnYRkpM5c?$CFVH?;c@)I~WD*{X8os2wxn`Gmu#0NsOF{ zFPm;~39$WOXwo{A`$aauRyx-Ju_@x-#BPDgm7F$S8^HyL^Q$hSt9X9N!+yl~iLEYX z2tayIuKhOSj1oP#j5f}?A{ep=OG1u}$u<4nYW&P?$lWo|`!ZO4JuiG`!VrRBiSCeJ zLIpa1%bTbupc~S+MZ^PKVfy>FpH04K0`-Ztr_|?o*RSlkKL&g@f1m7Brgn%dO>M=}I}LP1Zfg9$!g%jHH@`4<=(FUvK9aGYZF% zdAguEU7%p$;l+i{#C3dt{4dO<)kX^)<+MmXyn5^daI z%?if#a-y8<7FuREmAhT2oTKSp@cjN&6IG>fH_wFb@R$jQlZgkUy`scZ4~x%CXQY-q z3ukL7a=fjv9G4d4B_l-eW?ogJ@&(r)yz9zv{S+BMC_t$aJqmu^E`BW`x}|Q*H>bCM zF%cdwyjx`9c|4@5+hPyEZhR}1v6L$)wYIRC+NZ^KX5^8BYfh_baBMr%XU*#WDL^9B zmd{OQJZ~a~T36m|f4QjYHOt&$LVfQt?EX>$>jOC~IL|z^5C!?&2+#Yohgjz5M($;$ zPrl~4+Km#k)Hv*|0h)z7SKv7T1R~yljfz^G@-YJaDEMpet0gwJdEXbDpSKllKcodj zz{TU57C~5(`hw}1s7wowV`r^RyZXBSO3!G|U)w~Eb?6aG z7v2+$XsX06 zdS8Z&e6n=lHP`g}%*&8pB3P;8loM6nA7#Al8KSI=aBw9fvIKW_n&@|(O68rqE|p8GRuUC`^1jP$c%Qr_%|ONy&YuvqESYU-b783)ky^m$8kU$hGVG zs&QY*S||Dwca;@rFytMQ%b!*AxyWL31G=Qo2i<5#P<3E;SdCa|jcefd<OL-l!n&!ro;*c2k`oMPT?fK#WkH8jPdG+XbmEiU7Bv&O6QGo9KH z31!#$FQNihf3a&rzK=`7p%`OAH;Q5+X6IPm!$`+P(^>o{NyO5h))z(CnjJci)|8+}40s~C0n#?G5d zCZ7ZB`Z2-lWKKFt9@RmiXT}usy+hr*7tVU?VU*BO^|>wg(1w-%vGk{lZ|1C;*6_%q zIPIN~uWIJJeDiHRs4t-yNRjk-W2QF)TXWsHY=;$~|1U5jD9C4dUUpKVNz? z&2%tM{OxP@CYju0k#EEFl=l}{hDCbW?jS>M#!cM~ay0G*l>Ro|`VHJtNMZ9Fgs?3c zsAh2R?b<$47>ujkNFihQPo7`lnzEGO&mUIGf2V8~a*h`BSM*N_3T;sO2<65rN=4tX z6=k&gf3dQEt>PI>7gM05iD5X+HjQ{RKb!5e*}$@9b{5nJcQsUFwDJ#fY9AY-F<>`h z>p?Y)FJ>~u7#CT6G^suL#&YF_PA(zP(JZ9l%bj-isl}VHScN5g-Cr$ay(M!c^lGO+ z)D3D}o|U2Y=X&uY+NflC+n{w0 z2DxN^v*bn>J1eQJWrUJRmrlSpiw^O?6H6%0ieptaH$1)u4qf7vb6GjE?4#M-u(JM6 zJ{Y&Ilz(qb14SMbW7Oy89Qt{_zpX@sM3Osl5E|7kCNFoxx{R5-TP2|I<&;X?;r#fJfHij zxGCJ2ip7{2((lePgPHo;(X7KTGDRK2LtERuBkPFsajpX4@MqiN<#s0dbzCS8@)Pua z7XK1mV=aQqNSH2N-2|~mnhs-J^ZGQPGwD9KK9g`_Jb%z<`io+$nsr^ZV(>hh$hNe9 zLV{cTt$}GwJ{HL*Agh$2kSc$lu}RRE&YIdYmGZ9sF; zXw@)PD80zui~#k8N>ow3wo_9te_N6gTDLuabPOylhuWO2!nLcsz;<0prjA9Ec*2X* zZjnshJI6Spr#%1ZbfxCL_02MWfKjx6Mvw1z|LpDwh?IE-rEU`$==66uL6aV3ChPId zo|rnSfqV;dFy@9=t~Uoc^`ZN+1f#=}fvnF?D6B~~>m%qc-y)$3Nl*w|$_NdE<}QA0 zV;f2INx#^hG2myy>XnKxAbLnwyKAaOdIak@=4ajJ&XbXDYA|N8^o@~O6#Ytn`7-2p zO^K35u2e>~KwVUxtmi<4pvMc)r;KJq4UNFRC`{fqVx@d^l0k&A!z-;H9VEysYOt>t zMRRF6K08K1|7MFA%g~X45IKBmnt-Uv{LbY>acQQEdOAQ->F8Ira?^LA*72HA8~{h6=q>i`|2KKorQv1^s}a;i9r zyk_W)Xe_}lkH&W+g{N9rQAp`kKB#EgMl205!3zOeTnoG-$I;NeYc@aif31I7hSA?i zaGu^2r!4^5cZ{SyWqXEyF8+pUQ0E(NihUn!W`my3O3dQ4& zVpNOoA=&S9eY@Qbb2;u^?lXsrIhdH~Yzi-$HU61za_lu*c*@^@X_;Hwmw5cUrnfGU zwu~qLvOq)A%4~n{&?8EP{$*jTIA7{!>DO5Fuzp7Wajut^mQO4TIbc^5`A#LPxT@)N zQKqjaXA{T;+Y?7s%TLM~KNb1;kUXV+^ml%BHGAgJF?^p|_z7qm?K=ESDn z>P-j%!n5r@HeDVv|4kj50P*^&p(J3O)n{i5`LlIntf9b~yG<;*M_+R9sZGky{TfLh zDVb{{U9`4~B;-JrWFOx{p*-|#>Wm;I1es!F!^(wIV-|RS!+uTLDWBcA%# zLA?5Do)E-;b*4fepy=t%`p;%TZ3)pQI}H>8SU+jY5T+!2qPhDrL9v zk^nJG4yEnSO^Je!uNVUKx!zn2f|DkXJnIIkhwdkTTQB#wlSWtiGk}`pGH29Ch5=xb zH4te!TU$?CX;o11Nm2wfuw?SG`RM zg5!`!fyEQCFvZliUHD!a6~HMlQ^$u@CjTrLkb@`KBQAt+4M+MLgWxZhMHXun;Sd%& z-l=qdVSvs)dZ~N4VTN7h98vE8sy&T1EA*SdDxF8%J5n2a zrSZB?rn3zG+*?Rky3sw<_ZhxCUQDdd6u3>5sPdJe-#(|@weee@RbI+(k9Wf(2Idd8 zyNbOu_JjtX62cOETP1GrUtAn_{DgAkBG1czmv}Z!G+_xnTWRp^Q(_5mxWi$W6O$69 ztkPBL6U$8t0+S&TrxX5l=X#b)HBzD$sqvZid4(c>%B9JxhQX*)Qd(NPxm|^7QF<6% zRm8|6Ug!D@8r(Pj&~Jt>zG>$6_TP^5MCRchFq3`%=YLQo`hvo4d!``ZmY z4d$yh!fdaF;|}#g5~wq z)_$sef_KI``lPgJyY*nB4npqJWjBm}E6RpehESOgqvN6{pXjzBOdOVB>^)?IekCIf z{gPHK1V8KpDSV(BUPjm@wmMWLqq?qm5<{J$+X>G=71(0XNHRzp9LL2(Se3DTkjExC zdqtSGgup55^T57EZj~B+o65!S4T0a?aGzGb^JFqw&~>JQk%xp#6VM!Gbe$o8cDcMk z#rDZsuLW7PzBhKMh`vWX(6}w*>q#&eJ5Rw6zqtGIeA(4oKb!Vl!Id_ z>nZIlTpB#xC`zw(>0+ZvN3lq_6{PRc&oXW@ksS`fVlR1PtDdo505a0*8kVO70%6Wl z-Ht8rwjXo{I_RZoLE`sMTrW6(N#Sb~>>K7{lrLR!-e!p45;R@LO^QO(^s$IqGkO)n zRp7X?r>5pGvIHf{#xx_~nKAc_ifu-1eDU?)-a_`ZX*XW;S@o;2Dx#}SQtM>dU1dfn z3QV1F_i!jwc2CIaRG2xYU*idX+1%C+0wEb6exG@quiMQw8uA9|>R~Q_fFY2tF)YQ# zt5|4{(HC38tPvKy9|jZ3-g=?+uuD(>gsP7R*3bOB3s7n5Pxgf|M!fA?$Z?U&NuRpB z#MZHx6q2}(5{;wni9-2F!?QSk5q0BkYV7)8>r?6j5d1X-7xyIYg2xhtcN)?URu>t( zG!IpQT2ttYe8~{l7IuSwa`QD9>dsTei9n172|*W?WoI=Fqa7!7E6zs*hsJd%1Hwnl zSyic@i4H8wL)BcS4p#Baa3gWSnt9UeC1z9yfV__sgB&C)>GcgFvNuUuWL87T3$X0V zbOYO+g`9feHe~xHl2sO4QD6&-KQNqG9i89YbG@Tud_q@I#E?CIW%NGeeixfpm2+Fg z@4e6y6A!JI7pECdCPEuOgSNyfVmGZKVtxJ2NXIalmi26%*6&nHwW3IOjMjd^oOUe= zQd8@acDuxPbUbnXQ;{UHIB0At8aX0}!5i`RI?;8mj}n^#D0i@&f5zdL>p90GF9 zBeP#o%6Ou&l!-bN^yf=Vy)qLix?c8rl>}(U)$}^P_TDkZyEPUo-`Hd#t_AQmGDtH4z1`)w4H!YhljZxpVmloql=BrEFalD|9ccZV;2E28{LnbrBbD%o{7=7J; zx6}NmMl}%p3YP65qq=F{8Tqb?9z15Y_79jk6GRq+dwscJp^%lyZg89EG)&uU2Q8dLOTDz<&Xbt@F_TwFrJ+D}~r*)zw zk*)v(t5q($W!h1Yh2*WlaCb6)8`wBYpcmx|J?2SCe3Cr#yNc<#<3Z68XyxMvOvJ=> zc{x;YH=&2=5>dp~+6r|T3ZwLU#Lk&GrLqC9hX$laQF)>1H5>SJ2#{j=qlju0oz_vB znU^qiuo(^|J$!lFC*WW`pAQxu_GwTSZCg_&V`IjZ>60hsd}gj?#Sj{Q_xMm$I2@HT z>#Z@bR^f%>r&!;(yn72=)9~oyVXblRH2cvnf(D(vUkxvo)s23nOI2RMvW|r0nZ}>dwTugqFN?9Fdoi zCaEcay*bxV^TJ!D18}*2`o|eDf5bt6mb52q_$_VR5CK+t=Ugg)@$dPV4- z42XhB=r>7to(&P9vL3cwv)JtZ`u5hA!yHHF;9B;3C*ak&+UOwrN zsvco+HB?!{Gv!;B&$zjH z&fK~wTA8}$0;@EBSY@8_kc-BRLXSrkQGP4z(m&kgS`X{&=48qG^*OPKbKRW)H^Qii zX_#wao|G6h_Wl2V`1C#&v$bl>-~xnNYOi~8G~Lff7N|lC55n&W>^w%>c7{3Gw^Y*z zXM&gD^+nM$*bqmn)$z-7m1|odatjkC^hX^JV$mJ6s+!wel=kiY1y>tQy{3ffhr0w0 z;@8c*{{r!4S50OP{Gx3Cxlwn%qo$m^@V6O7X4xY=l3wwD^1cV^gEn?f?Hr;y7Ur!Wa8uiPY2<%4U#0{DAH#Lz5nA)yBiBvn{j7Q=ib`o(1CWzF|(mBe)!lANF)7p|F&#{l{Zw4OjmCy z9kE;?U2zD15p&F1_{8axrxAhgQAA9#^q4RJ<60g|C`H&`r4d9l zw-Q}VQo5k zX}f@)t!rTG+5Ac77?5+GIqbOprmoNek{u!l`5D-MBU?Qer$%}8t^39Ra&O%rM;~>! zJJ_hVo2hp<>j%hkmy&Oi>+p!|2z}GwNr!)V<5|0$Vce0cj!bQ^1A_;1qW&jx^%=?* zzEwYSWyb#g)O4*=zh47NvdNO)65v?v@u`uFAIa=@pKz`-;IoM#nABYyK}4jFL=VY+ z*zD_nF}OS%D#nP22|Vleb>{t!&|U|;kH`FQNFO=`!*1zAw&YYYf5`bSyzXN`_AV%7a zWd+@;_jZT|Y3)&O$|p83fkdT2{oE@PhkqA;WTC7Z-5{f=&j;E5N;CKi-l>k2s1R3)k0uItB!v+c5JDOoi=^iog>vn8jAgK+7TAdz@5DNw#$4#R z6~1;W$`iS5YnE&cyROo3W6mU?ny^)Weh1?yW*qKPck6$8IfB-?)7er9L4K6J>|!Cd zLjU;_p@F}rUm_G?kF1jH^1RDu- z=nIs_(HmjTxF+Rz?<DC_KQXo5oVf_HukI2Y-i>hPNM6|`dce%20>>YT2pk;GI;*`i;gYPMD}WN zhB}G&J?N0WX;yEG>K&;sJzF&PXxOSvK0GxesGtZZ+GzB1{iFT`PMu$j8`GaMf@2G! zB{aNz<*gctzt=z1V2=pd)c-`?C`Tr8G&moAd)MGla}KP3*1DJWX`J`oNKL5lN_llv zl3A<`u#L9Fj*K{XyCgw07n{K|>a$_jy-_@|v}9QsGa!eDLd}Ab5IbMV z)N^g-wjqQ2A;g@H6jWA&rLl!O{|kLe9OaV}O))?{m^Un6o-)>{SJ`MK(t!$WE30M6 zCYjuI=wyt4pBJ(#IkRVorem|6tz3*>9>@C|B_<)}({39+bJrp{(RbWC)_}K|RAU$d zT&dOl=+EXLRm9B6QwXJ+6;9!e#|N>{#Ws$pbim=PntNaoOMsH;%o^&&kcYb^iipG2{LC5zZB|z1 z;SIZgYtM_4t>J+DvR=MEd7a~3poNd zQ=U)UZx+j=K6T!sJSb$G`7HTl&V%aSSqy8=wMOB7XM}*d`hoMx?dEDb!rWsg^898` zK)@hAX8!IldGT`$Hef$qci=loVBBnK3qU-7tsENL)JxQNQ9;oeBQR71QQ!S;b|d-X z$FKBrFD`4}&yNcm953;;DJ;3cb;%;dNVHkl?=MjCqlRbW~siCjl(_E)3{@ zDDTy+Mj?gWMlM zisx})tMr-A2GzpUP+rAu^9y-O!5JZ5;(MFVWxMAfH#+n8y3y&vfFVReU_I=UWD|f0 z99DLH+voDuV<1mYH9((iPCjH=LiTundx9SvXuPaU*zYE!-fxbM4m7DAWgwUwZ=x}^ z{(3v=6`5-Ad+LqVVvQKgDhSWi&%kjUo4!S?>cw0+NXw@kd=A~Rw=l^zQYcz^5@SDT z@$%;Nv$nAt|8fSio0pW#A#u(^f2s#Dxm9=miSQ;wI|eTz@p+ag2%YUZw%<^H-byh0 zy{@e?XNrPkpvx=9dlL%G?#OD!QFOSOP%s~^k~TV|a&yv}{$6v1)jMR}W(Cc(i~Nub zTzk(d>0J#n8cus0hu6tA`P=N)$^yFEUSI?F&4K9PuwA-6GCO|ybeaQ+WRL%z!V+nl zkb;+zv=RNO&zK!Sy1arHZBd1P=C^u$HZ4_ezXXz;EOf%og2BLV6)l$GT=un^Lugig z3$6WA;oJ^2G0EOa2{0sL7mKkE)tmW<`EC^wy$ga_w#^>$v+;UBY6WH4VPZo;` zjk3*fEc@$WJwgvacH{vOC5p5J6$Nxv@VeJJ{CO>HS+SOAI9F`qI~-|$s@Boi5+~PR zVn5M7ef6Vh0MH|LIfUq!mIt32ZP0M(9^7e;s1zJWxFd8p?0tXBDMjM0=1`)aZqn%**Yl%QTl zbF$Sti_8#Jgvy&47D)l3MX480IUM&GQ+hIs$**cgHB_XVH(UC`mrcDxt6j5sQX{6W zsaZ-V&A_~hg|8*T7f+vl2X~?)WhXo^AT|X2Jm=ItpB&AbY*3GXM`SSBBN=@Pls~-S zA@T=Vet#wrWGNmE`WQ1ZEZJk|?nxpF z8zG#`yy$?&#nwd8PkoBJeFISmh&WzLDW>f9_jF2CwkC)8VZ}+|cFq6&6aP83I~0Cl zI0AC@r7wDMs&fW^sSf$c4K~;FgstFyU)A-5Bl^>G=v4OJ^h;NriQ4l_sh2EGZOxY# zxk6M%8fZ=rH1>B?#oi@*nd3s&(cMdp?R zLpi$VE#Qqvrj&0lGIG?gez=kJu%R&3x7Y;BF}NKKC>}U}yV@%a}d3tE()w>*&vk3F*UMU{bE(nU{p z`@Z|&Hyd#Mj6L1#>H+48PvMqTkt2`pmgjuPj;)9&q_>xX0rX9tttX5_RDMq9W}?U! zY;kkeR(39b*{h;-zd6EMul!0*3CmGZ|*B=ZS~Mv zM7FbYo-qqDGgx4{1hcFk3p731o!5sZ(5O#w0HCl(D8RxN3+*KFW(ol4cg|X8cE}~H zpI^5Nkk~rsw!AQ=sUpC{tjS3%LJFc=LRY>aNtPRTs2bYeyQF2SvXtOk~ydga;;f7r^o6`yXg!Ieh^X z;00jLjk>8@UW+VEAjpM|4QWXlo<-J>u>X3E`gQ(vvkQCzYQj4kynx z4F+|8Q#%GjgG4OU2k#)a8K_P263PI1s|IO;y{!ES4zgqa8da{sr$ZZcHU?MY{rcCG zAl_ya#ysivIfX@2({us@ncOb%?d=Q-5mN?!$pXh15B6Miu>(suZv5p)W4Ii84cijQ z%34>>90bbY4Fha=%tfCtAx^qo9C9Uj(t_E4>|TLO zWH+T>&k1*X?sQ+C7H<}i_)&?Ti5fNieB~8Cu~j}KXoB) z(jvilM5A^6@VI(%PXfsSAJXe_Jl;?3(%%V-a({h&Iq2U!K6_31^mYB>;VelRV^BDM zO4ziy6N>ex6X8a`=#y3i)gbHtB+yI`em#>@JC-BUDk@D`LZkc7yBF;|hr{F(Q4Pf1sZ0J46Q z*_xelPE;kc0qtiydgVCBbj5Ld?wAArV@#0_F*ZIzhOT3T zTZ4Xay004DA!3o5p@^ogK}ANL9I7}9oARjV){d-%juc<`L`EYyGWH`o(baK(!p3a5 zisu6%x0zninZWalfUPMMUSt3ez4~axq5J%f)^G5AW*Y`+GSIq3Vi2aTXb?U)ggp7` zY`iKec?{LWTH!+X@j}^QHrY^4km2^q*n5N0_`Y)sBp}0_EK0wN;BUe+0@|Sn{Kccj zBwqqy@<$n1c{^OUHMDA^{G*wF1wPkTqCGxowbUCu6efX)4fmCd76v_9-4Kc$#hlMv zd6KuXe2++q$aj7yZKXzgNTlWJV7SK{`V!$Paaih1lw^0hnw&37aTm&`^s|Th6W8a# z;m^GO0^c`?(<2Qr68L43RWmlbW){kw-C)d#q2D4ATRKafA3BJ}n)70Rvh@dzmQceJ z7Lb>@P#utD%JcdHc3LG@XuG)MK{ie3(Pm>!Yp4??o=}O` zIhkVQJFQb$Q*CB)Ft#^4HI`HN!YbveBG(CoN83tSO_0!Qa z2AecQHwkjZW?HH|ET_LMZ^T98RRgtnp)q=BivQg7AlYa-qGDRsEwXXbeD(d1Cyu!lkpEItug z&1iU$pBVQT2yUGPrGWzU?aB4B?()Uws<4*5asDsk7)x-tOs<~HiabKMWi^|gJ$UJ% zqE47+NY+p9T9ip867LgoqpTxv{M+Otu%<`-R3P za+(dDO8+n5A0Oa<4|bkPY4242@Pa|dy#kS;_zLPDh)F)pE9>YWUnWz=2=2q!MX@hA zb;auYk}ZpxAP=xnLk-l57O{3WP~=WnUrddv?H?m7tn!9_Z$>NxOTrDPh3(Bq2P#Qb zf<3p<(Jmx4V@&p#kkLvX_iW#fQ7yP*xy4Wq^71sdHWLzmuSP`I``(S|oq{6OFH)`o*v+G}JFoCmJ&m1rb$LwdOAF^J=;6e1#+GGUcF{c_QG?tR08~G$CrJ9!R_YMzj%Fb+~rQaIweO zsZa6$Z|^~WL*@FrC?20*cdy%t6rbB{cSvs6Z_Dn$H^MEj;mSKH&?jCH`Bi5Yil>GC zGeQ1B{4-9u?ZIBg?7MIgyuMvr2*^@orL@(D_UuD44J3wkBw`I?Yt`3FLa;cF?ePp7 zT)q9h`v?FSGk+2ZW*6bGG}x)x_Y*6=``Q*XRnQZEACJI(o0oMaTb#xdEp8kIsB(B7 zN*c&SUv2>DU1IQ9?&hRZrfZ0aZjIdc|J*dE4nFfm*3s?oxQzkhDT)`x;>MA5 zIb3E{GW$IOY=HoH%e;osVF}HV)**#?h$~3L;r=I1*;~~uX6(8sariy zk?OpEn6RKX8A+#XZ>LKyQAasg=-OgklrN*WWu3io9?&~RAZi&NcmQMVFwBUw1W)Nz z;OtiQ3x}SE3}w-iY*-q`tq{73el2yJqQuwP%@OAIuFhL?LbvRl1XKSA@;-TWWRtwH zU08}6U;1wJ@X6qz�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 diff --git a/report.tex b/report.tex index 3fb30cd..44d0111 100644 --- a/report.tex +++ b/report.tex @@ -56,7 +56,7 @@ \geometry{left=2cm,right=2cm,top=2cm,bottom=3cm} \title{ \vspace{-5ex} -Assignment 1 -- Software Analysis \\\vspace{0.5cm} +Assignment 2 -- Software Analysis \\\vspace{0.5cm} \Large Static Analysis with Infer \vspace{-1ex} } @@ -136,15 +136,12 @@ on \textit{gitlab.com}. The script \textit{docker-infer.sh} can be executed to automatically run the Infer tool using default options through the course tools docker image \textit{bugcounting/satools:y23}. -The script selects Java 17 to compile the project as this is required to not -make the Animal Sniffer Maven build plugin fail with the message ``This feature -requires ASM7''. - The script executes Infer in Maven capture mode executing the \textit{compile} and \textit{test} targets while disabling the Apache RAT software license -checker (which fails for this release). Since unit tests are executed, running -the script before and after the warning guided refactoring ensures the fixes I -introduce do not introduce regressions. +checker (which fails for this release) and the Animal Sniffer Maven plugin do to +the failure message ``This feature requires ASM7'' it produces if ran. Since +unit tests are executed, running the script before and after the warning guided +refactoring ensures the fixes I introduce do not introduce regressions. The analysis outputs are located in \textit{before/infer-out/report.txt}. @@ -161,8 +158,7 @@ result. \toprule \textbf{File} & \textbf{Line} & \textbf{Kind} & \textbf{True Pos.} & \textbf{Reason why flagged expression is a false positive} \\ \midrule -AnnotationUtils.java & 72 & Null & Yes & \multirow{4}{6cm}{--} \\ -reflect/MethodUtils.java & 486 & Null & Yes & \\ +AnnotationUtils.java & 72 & Null & Yes & \\ reflect/FieldUtils.java & 126 & Null & Yes & \\ concurrent/MultiBackgroundInitializer.java & 160 & Thread Safety & Yes & \\ \midrule @@ -170,9 +166,11 @@ builder/ToStringBuilder.java & 223 & Null & No & \multirow{2}{6cm}{Infer flags the value \texttt{null} when used as a nullable method argument} \\ builder/ReflectionToStringBuilder.java & 131 & Null & No & \\ \midrule -time/DurationUtils.java & 142 & Null & No & The method which may return a null -value returns a non-null value if its parameter is non-null, and a -non-null parameter is given \\ +time/DurationUtils.java & 142 & Null & No & \multirow{3}{6.2cm}{The method which + may return a null value returns a non-null value if its parameter is + non-null, and a non-null parameter is given} \\ +reflect/MethodUtils.java & 486 & Null & No & \\ + \\ \hspace{1cm} \\ \midrule CharSetUtils.java & 181 & Null & No & According to \textit{java.lang} documentation, the method always returns a non-null value \\ @@ -197,9 +195,9 @@ documentation for the inner nested method \\ \bottomrule \end{table} In total Infer reports 13 warnings, 12 of which are null dereference warnings -and 1 is a thread safety violation. Of all warnings, 4 are true positives and 9 -are false positives, resulting in a false positive ratio of over 69\%. These -values are summarized in table \ref{tab:num}. +and 1 is a thread safety violation. Of all warnings, 3 are true positives and 10 +are false positives, resulting in a precision of 23\%. +These values are summarized in table \ref{tab:num}. \begin{table}[H] \centering @@ -208,8 +206,8 @@ values are summarized in table \ref{tab:num}. Total number of warnings: & 13 \\ \midrule Null dereference warnings: & 12 \\ Thread safety violations: & 1 \\ \midrule -True positives: & 4 \\ -False positives: & 9 \\ \bottomrule +True positives: & 3 \\ +False positives: & 10 \\ \bottomrule \end{tabular} \caption{Quantitative results of the static analysis performed by Infer.} \label{tab:num} @@ -226,7 +224,8 @@ In other cases, the flagged expression is guarded by an utility method throwing an exception if its value is indeed \texttt{null}. One of such guards is the \mintinline{java}{static Validate.notNull(Object, String, Object...)} method, which checks if its first argument is null and throws a -\texttt{NullPointerException} if so. +\texttt{NullPointerException} with a ``pretty'' message composed from a format +string and variadic arguments if so. Additionally, Infer seems to struggle with boxed primitives and not understanding that their value is always non-null by construction. As an example @@ -280,5 +279,37 @@ causing null dereferences. In this section I now cover the warnings that are true positives and thus are causes for refactoring. +\begin{center} +\color{red} +- field utils violation of contract + +- missing synchronized in multibackground + +- Annotation utils protected method no contract on field fixed by returning +"empty" value + +- no additional warnings appear after fix + +- cool that a contract violation has been found + +- tests pass after fixes so no regression +\end{center} + +\section{Conclusions} + +\begin{center} +\color{red} +- project is mature, few detections but still a couple for null values which + shows how insidious they are. (Null and thread safety are popular and + relevant to the project) + +- infer compared to pmd gives warnings about potential execution paths (data +flow analysis) while pmd is style only and bound to the language + +- sonarqube kind of covers some ground infer does. it combines the powers of +pmd (patterns common to the language to avoid/pursue) with some data flow +analysis (some nullability check). No overlap with Infer results +\end{center} + \end{document}