From 8f858a7b730acee6e8af49746fa15f9b32d6de20 Mon Sep 17 00:00:00 2001 From: m1ser4ble Date: Thu, 31 Oct 2024 21:59:58 +0900 Subject: [PATCH] vmadventure write up --- .../2024-10-31-crackmes-VmAdventure1.markdown | 51 ++++++++++++++++++ assets/main_vmadventure1.png | Bin 0 -> 24880 bytes assets/sub_71170.png | Bin 0 -> 26948 bytes 3 files changed, 51 insertions(+) create mode 100644 _posts/2024-10-31-crackmes-VmAdventure1.markdown create mode 100644 assets/main_vmadventure1.png create mode 100644 assets/sub_71170.png diff --git a/_posts/2024-10-31-crackmes-VmAdventure1.markdown b/_posts/2024-10-31-crackmes-VmAdventure1.markdown new file mode 100644 index 0000000..2620df9 --- /dev/null +++ b/_posts/2024-10-31-crackmes-VmAdventure1.markdown @@ -0,0 +1,51 @@ +--- +layout: single +title: "Crackmes VmAdventures1" +date: 2024-10-30 11:56:13 +0900 +categories: reversing +toc: true +toc_sticky: true +tags: reversing +comments: true +--- + + +# Problem + + +[VmAdventures](https://crackmes.one/crackme/63bd7f5733c5d43ab4ecf3ad) +전형적인 password finding 문제 + +### asm + +`cmovz` +는 conditional move 의 약자며 마지막의 z는 zero 인 경우가 조건으로 붙는 명령어다. +[참고](https://nightohl.tistory.com/entry/CMOV-assembly-CMOV-%EA%B4%80%EB%A0%A8-%EB%AA%A8%EB%93%A0-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC) + +`rol` `ror` 은 rotate left 와 rotate right 이다. + +# Analysis + +딱히 protector 가 걸려있지 않아서 string table 도 그대로 드러나있다. Correct answer 등의 string 을 사용하는 곳으로 바로 들어가서 확인해보면 input 을 가져와서 어떤 함수를 하나 호출하는 것을 확인함. + + + + + +분석을 다 끝내고 보니 느낄 수 있는 것은 `sub_71170` 에서 암호화 과정을 거치고 그 값을 암호화된 정답과 비교하는 형태일 것만 같다. +실제로 v1 은 입력한 string 의 길이이며 `byte_732e0` 메모리에 정답이 들어있다. 길이가 0X20 일때만 정답 로직으로 갈 수 있다는 것을 유념하고 `sub_71170` 을 확인해보자 + + + +vm 의 동작 방식을 굉장히 단순한 형태로 모사했다. state 를 남길 필요가 없는 연산들로만 구성했기 때문에 register save/load 가 없고 그래서인지 decompile 이 문제없이 수행되었다. +정답이 0X20 의 길이를 지닌다는 것을 생각하면 난독화를 위한 쓸데없는 코드들이 보일 것이다. +OP 는 byte_732d0 메모리에 순차적으로 존재하며, op 의 종류는 총 4개가 있다. 메모리에 가서 보면 0은 사용되지 않을 것이기 때문에 무시하면 된다. + +# Solution + +각 op 들이 하는 연산들은 명확한 역연산이 존재한다. 따라서 각 op 에 대한 역연산을 수행하는 vm 을 만들어서 encrypt 된 정답을 복호화했다. +그러면 다음과 같은 flag 를 얻을 수 있다. +```ps +PS C:\Users\Sampling\workspace\playground> .\a.exe +flag{Welcome to VMAdventures :)} +``` diff --git a/assets/main_vmadventure1.png b/assets/main_vmadventure1.png new file mode 100644 index 0000000000000000000000000000000000000000..2ccf1071375712f7c8625768fc9be4621b8b9711 GIT binary patch literal 24880 zcmbrm2|QH$|35x$w?(w5D5R*gSt~*)L?ug>6viHfF=Z^*Fle!qY$|~iRW5`g5 zvad4?rm_siP?*7t;eQTwt6TT;{XHK4`*_@k&Y82k&w0Pzuh;YWe7#=hp`MN=_oh9Y zAP@-m#S7~C5Xc$?1hV@6hQEM41uqSVz@JqJeN9zJUX$P`u(8(uoc1{g1QW)!V6_g| z-gx`Mb>NKcuHgTx`t5}OhCnQ9E~=k1{M($~R}s2{jHR+8v~SUl&KqnOTtl}xUU_r# zWE?JFab6C`{>hH72d?PROINPEBZY>88`m;nPv4>`Ql zC=33Dyn|b54x2v@dOde|iisBS;))<^MbyfjpD=GNf7?ZKgLxL4bVeO)wdWH>Oxzw% zj;lIjEd18`ib_zU-TL*bfGb$KI*1~g`yZZBQs8nC5y=pUkfW$4F6^J0ikujws`fY( zXRnUqc9us4?C2@x`CFpepT(?Mhi|kq@;@yw0gl1!vQdl|=hR+OqHwUFFD|!lX7}eV z8glNEco_6>wfHXD7R%dk$f+&_e0gI%5xkH+`rMlf5i-t5~>1|MHa$tb4GJInmbb-S5}hJ8e; zc+|n-jV}6s+vd@c!0(XZoK1-JY{tFj`;V37&p99M`AdG(%9aQGspx2f(rXD9`|FYp z>xt?U(BfP-?R#cAXo(p)J?zFCu&z<9<7?f87;AuIrL>DZhY1|5!O5l5@s2uPu4;pD z-<|VX){nln+W?p$Fr0G_j-c}B%<)&Q^LSu26kZXC^To@%7iSm1J#Xj?16i?du4O9>8nmp*mrR@uK^xBV-q63;@ukZ zv`xgoB(^w~fmFH~ZhE{)#Yw!#iHs^XQ!pIGN|2vcx~rMc9Y1-F#O0%RIS};r&KsH;ZMVkc z?FH=ICtJ#64sTxIUE^h5b5>>DYCqf{(T zdQ0tMUl*N~HjmA3K9`;N1nDEx9U)tmpp~Do=02QUY&wHQsnHyhnSvNPdEnKj_soYv z6}gV?6{X@uzKz5Q(~1LS&@!{)6AJ4gmHt=#@v|yp>(E5Fi=3&y- zq1W$5z1upNpl_9#o0sCENYyBFEvR}qQgGV#_MK11uohlsvIS{lfMp?!{qcds^ApEu z=jk8g>dJGl#m<+{IqQ@Lyv5SEMNUmcXDiC1kd=IwA4l^19p9P0Yj0r3Y@OAnNnK#^ z0c#lWLzKy&g|XczaM9o_oE&4=T_2Jw%JtiE#;mvD<=iI@6!}oBYxAPZW*+)@-s8D4 zu|T3uM!{4pa!*p2jIYI6rdZufi!fLIn|n66CSho`4hKhJw0$>b;q!?&a}^`quk;EU zt86Q0yC|?Uyr_q``L@Z+@09P++2i9FJL_4h|4!!C-1#>(mL3UJ(>-esoQ$6CuO9{8 zWqOwEt&+kYORp+8v}ylCt{dZ*n!F@4fEN}cF1U=;cl8t`!l~aJE$|xp)@z06MqS&VkCTN z;?5w`F_|G3B`cqP2&L82>BHqP%}ULSG=t*ESdy%h_I9_jrR^@wTFw=SxYr(WGvc?5 z*^S`}lUc|k7!C<;MMPQC8n3`?C%P3QGBoYa>8KC7icSs3*F~zRoBOmWab_fWDUweO zQ8%55Ii2YJ&VhjlX&7?xeAg`VMsG#9^c_A1hZb5R6#p!H%Z(tSm^G8{xT10e)D4B| zF&7&$cO2?aE6#ICKRtDQLvyPq6EX@{G5Mjrb?PjQ0setB9ti-gP!TkEqwqwATv5|#iftd}2W(wW|z zBE7PxG2R?nT)xCZq!Ws47j588WA&)km*(DT>|{_-oN-yFK1M_Y!PnrfxKVW7;&VNv z&U9iSC*hDAxwgwmDG+J_uLAsl4c#PL_hp_Vc5lx77(sdWu3$G>uu{2mG(B}@ccx2G z-x9JsudCHp@*QE3rDVC}OvAW~cZyvlo-z&V^memAZ%*rvPQym#j4sB_boTo6|(VBN$z z_C_kGnA~K$EA>fYmEMyolzg$y>}&3*zVwc% zwxh2?uKx;G8OlqLIf->9N;cw9oCTLz0TW*c(|3_h+v*^h`}c*T)d6QI#b~8KlbMC? z*)UWEse)VztpL`s7;~{{n-{0_b_%SYNVrP~g+I=gnqAZ^|2VxrC5)H7D(W$-C2ntk zPvJA<0ORd!@MW#eT5G4;OyBF&5!xJ|s4urcZ4~HidPdj_jB*Y(eP+>(o*W!|P05~& zQTVJ+l{E5jVePP8n(maym}9Yf-syzJJbS%sI;48OM?;dasNMNIL3v&G> zLU4y?ZbC#$c5*4#KURLStwW!YTs+VD>~nftG@kv&JhQf=Iute5Ea|pT+8^CQD8??G zO--Z-4xYhbsglM{Z24N^)iK8NHa0O=cq~3U?E2V3(K94R^0e0~d%(OnD3}eAcq(R6 z;<$yWBdbI$36I&z;N*RqOz0+yvXYs z;EY%vfs?ZrA}fs(77u>(siXVfBP116Y<9|(Odimpt1uSEk?!3%l$Ve7ICI>^ft@u# zoWXj-vKT0DTJ+QDg>mWBM2m|AATS4i&9#W@(~RVh+{DSw(KUtK7QTIZ6?|>Hm(rQB z*|Uwxl4S|VMeGDEa;wm`HZu3~9FjE2gp=8`P>c7Y zqS$e&NZhoXxqQBb4w^7Hu9(qm__yY;`@;zN18L5h{GEz>BCFV3XLa?3#YbsT8j$Jp zF(7dD+c?#4w-F3S{Bqy0;#Mo3=QB#>Yb8n^`rJ4HfmCj7LfK7pKCBB46M^Flczews zogo}?nSC^|(@t`n9_VSnz6c4`bKmh*ZdU3U$ttLw;# zzzGk}%&QF!iS@PXS|rde9z)O&uev*g_scrTD}2N=U=%~NA;(GH=S^%jjrgjFMBGju zm}0!y?DS4}@M?~VTEe2+J1<@cWCp+*KVeC?-d(}dTTHpc$?g{7(L6?_x%INS9aw!v zdN2K1GWj^HkBQk&A!e+_U8JNFX)MvJ^`iqh#ZU?BpMnd3G7A~k8jWWeqm_ic?%j_% ztpR7x0G{J!_9jFinzoKc)foH|49nFDX-geDI0|`oLUq?S{P@gT6Zi6((roeOkhf!Q zP++3Zk^q(lo8S8S-C4J}~wda|}@qu0dSu@Y1)>=?4<7e_eM@99)f$ zuaSve<-WBGdjYOAVC0Xlj|O1p4GrOoYvmt4?s}T4*?x)Ac6zPXf;5z7kO4PxR9O9_ z6qT1#8FqGQ=BCjW-2TtHD1tBWz}5g{F0hcCJ5x8p%jJSXNgS>2|8Uwhb5!A|J-o`P z>^Z(YWe;H+PqQiJg=V8Q=g|AmN8AgG01!G`@w>;VxhL53e&Yj7oNb4+IZRVNjJ|RTO8Fx!zyvBVgU-15qk-T|{(9`wRx)pd%O- zDcG$!?-&7>3AMltjg2;MEK{?xw!dxn zCKur0&u;#PD(k%B4+7f|%ie!+z$64Z*2_&~>T^mRnclG$7cCM7f7Dz4!ppxK|91S0 zOV<35``1`}huo$KlkvGZ8E)VrAFZ=P8kD@mre;Qt*F6kMa8~d4=JlKktgF{8%|P=w zAXP`C1?E4U57P}iqjXmqIKyxLS3E|yD>t9r#RS-W!A0>cjT0)x3ERiYuD#3wv9I6! zzZrf|FA3lJ5*wJKrZ0Rqi}n?y_%XPn4dqK$Bs8 z0Qo<{^Y)D{$;>0KL|xJ}hvPQ%S%W^!lJLVSBY8>V_CqXIuNitgNHE0$_!$xateJn2 z7m1yNz4l|{_B2&aSqo)iUu(L^jLiMOIetEdR?hJKQ*5CK3#Alzm~+qq zGZ@B=5QV$1b-t-ESiQPA&sB-=4ck zIu0H7OzkiEr<&oQUmgb8y|A}5U{(+*-G8xpz(WJOA^#8wS7(QN|HT$`bT>FVhEALq z>{!dZ9gvu!tvd*-NUfHGC**?@U0GxJKiE27*VP=Ooh{z0nmXMol1D95#VC6pJ(oGV zUJ<clVTlb>sLV@;K(%v}M|l@x>zh`1H3aejIOAtw$6day>*?MIN43DG zvUh7j>$=IupLdQOKhSOC_U6c`S0fHs-3iwATcF7lC<4;aQi}PP`S8}-R-Bm$jZunx ze3wTS-)q~;jL-@!IYi@bT=yRP3D<}RjUybO(ck^q!?p4h`yqFsk)E~kN2Fvj+`2VJ znD6xC68XUAr~-`fJI*>>7jlKXPi&pW@X7K-xBzCLJ;e^=10FS;wh6H%Ke+dLS8&gp zQxRUqFh^+QK4L0dz_}1PcxmzjF<`1E^fcg#AwfBfCuZpuBECzt-DZfM6af)mc21qe zc7w-(&as>O^hdc|(x|aq{@BXoL>f^{=(cRU5gp-57{J1q^3^O>Ph1|nrpsd-u@<

MA*uyz`i*{MpC9qNK_?|PY6+j^r<7H~CRE{SJ6U`c$_5ief^ z)C?6OS66dL-6uY>NrvX2_srowWO-<4k6YRry`yXA?>&N}EL1iYvAcvL31M1+smiM( z1z^Fi`+%qLyAF6XwlJU#20m8Saat=eE8B47+VP&g;h1BmjuPEwbn^vz0uMMSFMFk( z&1Ai5K{4Pwse?ahj_Tp@@#*_Bb_nf5i3ZBA(pGqUCY`hm-zJLCzPzvmu5L*F(FUP$ zBA4@FKkdM^d$b<15nv{e!~Bb zFm9iN)Y$2eGozL-)WRjVb~8}L*IF<%trrzL$$@>?{IFs2)h1a0y&n;)t6`CFsq_>z zLD4|q+A&WMkpaO$2?>t`VPf1B#SQE;&?5({1jDP=DJ;Xu^y*)z;$W%K|qM2e9V!vG->a4q}4+3I&)(@uCeMr||jOC51V$Daf7jKS07 zyI5A|yATh{MOZcZpD1&hA4{t;yZkVCemgm+b)M+4$AA$-28uRRN_R)x< z>!4TSzdt5hPqe54#gBPR-B%BCPoiYqvm#Qz`RHDoLUZE%YYyF)IuWF;9b#o$*rlma z25~cB#$Y(Dm>U$2mJ2$2X45n zV+wDOT2W^^(!Ohx3n+lj(#K$Hp2OL|36;G@e~Oi+`NZN{2@-iV-DM+GEr*zCeu zn88$RC&SAC{S{K+_y>(HAi+Lw?c2(tuPnehSY~HO$iw~tO}#tZgq~MTYz2jJsT=)L zfp#-gf|Sr}XJ9)<<_E69Nq{%;q(2@8HY;BcX)am3{LFqJJ!&2 z%wBA(ZfC~HQ+J=M!t3y#y?H~}J>W$e4E~4iWu^zrrqPA=PvS=C?LrA=f5(j&fSy>0)zYRV;Kbm&av-4Wf2j(cN@~WVnB05s+{I;QUM@+C`nE4TJ!k8e}G*Q0=<$ zWKQSx3$JQF>)de|Z0U4D_c9K)f$J+tp}47Y$qtmL|U=`Jun?M{et$3v(LH7;;oYph7Q!0TOXF-hP5yp}x2nR)`-i(v(wQ zWEw|Q97yNi(kHXKEVu2i3QXe(zD=;Z8OS^f3-8(+)C*aDPkZ|&ZVHY{wQ*KHWvS9uvK1wovuq8L!kgNe433gMsIa0^(9hV zXc=QqFuG;jWXa-1J!{I}-8WvaI!ZB|;ey>K3IxELKl>l?ax~b+R0Vf@U~&B+%@VAPZV=78mRra(z$m;9o$X)O#hH*GcF z1B*9T!R7BV!5zW*L>Ab&DTU_IqKBRHH}~1yqG7{0x_?=qV*mxUY1}2R#u};wjLPrO zuW67{WzCCmZL1FNyyv~Y21m$8ukAt6!Y)#3)6_1JE4K?gt4HPgYusg&=7qt%V4BpK zATamT68IB{A2B^jb;8V@;Ad&hAljsz`8q5Fx+q9ylZ<;OBma{RzE3sJ4_V@!GK;i;fX&WpUm4E)=$#qhxpRPG!dbi$=5oGy;)XM0%ylNB|_^5f+JFvzjcC0R}3_ zRv?u`v>3Qc{}xEKDf@wSv{X>s@(MQF=`yO9Mz$tj?mR_d=Jvu)6@RCapA4-gz97mi zIlV!GKA2oLWD$($T6rGewuEF~01;o>S~IPLz)5q`|I(ZJ^&h z>-h&Sc*$RW@IALd>Y(dUa{w*qW2g(nh1yO^PCY1mg`VT;+ri0)(mCx`cr4nGRf0gT1 z#B?Z^x@4TZebghne!l*?T!!uiNN$UL zcBXw*qyI^P2~`-X+v)0?U{4fAn8w%cVafl+@RVIM+F9#8c%{qnZoq~7vH&{wQ(_1P z2oYO$4elb7kM-F&0VF|BOFZnkQZ4f}c__W~C3x?KE58#3Go`MKr&v*#_DDnuV7@BC zFp`vG)l(RbLE!$%+K>X~*<&z2S(Dvb=b(>W8iz>@{#;tj2vhinyd1Tsiuu^E$ZV|_ zU@?N3`cK5*adSh+Iq+biJB3!ASTd3~nK3TUd=JPN%V3P}`u9}qLuECeLp*ofs~ZE1 z$j-Ebq%Svz)-I>_eSj$cH*~P+m3aqG-oxH92h-N5GPa>_>-!6n7qqARrG+}o`uHZi zX(saEEcykf{~_N>^JH~>fcn}s^~>Ij*81ZA^w3OJck8V&b(N(_;0WD+JM*f({MCm{0t%sDQv*|B{u*#4l45Qv}E4sHapx>3vsTo{nSBYTDu7)WSYS{sn#zH54X*|d!$ ztt1$+r^#MR(r!{|1A`2KqdnOmuRKj3k5s z?`wr^o?ovF(pAm_NseFCxxw+ZpR$mnSsPil8I1xrC1&=p#h-h(f+l-gy5ql<^5%8L zoeoC+Cx!a;8At8}mYZ;Pe-7|DisVsBw*-eF5e3-o;+`!|&0*(5E682*Ci%2a4H9A6 zKWcC+m46NX3QC`cBeQiME{iqCSA)8VUpfFaz9;CM;Lkg7h9+68rz6|S4(ZnP?YSik z^Y0SJz`z?082r#;-p^e&%T_)JQ#oO;IavC*p%@Cs2rs%yeM})voxb^-5S|%6){qAJ{QFoC^=f{b{nJ4aKu}H(Q z!RzD|WvH}vIe|8(f_694<%xp+!Gi)ga=7vvjg=Da$6z^15o|K~Xy9g-!(sbC`)Y`k zYp_zDv)&2(+cNQA9`bwX&3CbGq_<=3pT(7qGcI|~9R5)d2LTA+$SdDQo7A^T6^%lu!y9}Xrhlo zCceO~N+=-temd8k*E@WBoW{0jt-okYd~?jm!NWW&&yXw}FTRo<>FV*RCtu z8$nLPrsybKo7cd)LL3V@JIYj!EiXvcPo*u@k4v^qEcDv;Gh5fA>TgI0$Y=#NVlISy z7`;+)O?YDmLX!tYd*q1*ZUr&ifwbXDG0Q_`Jo;`S$E9ocG4}Q1-VAF%WVXtJg~x9fin6}@UTjyj zi>kE~=pvKgogHg|!nUQ^CH8du@!b24B1?cOms<$PyWLZrwEz?3w!53L|5eJz9f|~~ zV3^%~o%SKUc;1|$N3g0c{raof5{b(0^DpVme0Wz9U?i1AMxwtLxzIcns^{D!(Fj{o>GfP}P`DD2-MY?(n4-#sKca!!W2@w~U zqb^0yPcC%HOisI|J-%hjQ?;+I8s93f0eYFF&O_WDAmgzB(zkA;eSyJ&`}mes<+DL@ z4XaSEa6(Z$F3c_scFYrH0zYWT(`RF?8ZJ8+kF==J3HH4(S2$AYmc3 zT2@un;^~VYc8v{jo=onjo`T{ia%@_)a##!7W%H%i9$HSK)r83ek{4;O=1XTsokEza zm+vsaHzA!YJk8z$krMu2uz}Z~wy|2=n8+DEIsNYNnbQ@>o{lQ z0nT~|zv|9mbKj8lSZb|EEd@sN7C(d2eAi=5$42E;%a*pV=`{XbcaN-biidZ1sgl2R z#@(j%1UK$KrL@Q>^||8^ooiU0i=7nkI^*ssp*pEc9yY}mx5#=IAL=bd_$;jfB(Yzs zKKjfwd#w3VSiW$#ioB&98g^%o4^MfB?6?ozU6o!c-lZwCNK{g{xW-zvx3KWTcKbZ) zLqE$-5m0)u-G&l~H``Dg){D%;PU`kA^$ikyOC8vYYasiKcMkV2W%79|+s;JLbDy!I zwCX!iI7@3mZ@vryb}KR8F|)6@BlE#tMi3+7tdhrIHEtrNd-f4j;(S=i-#(p1!~Hk_ z?x2H7UdDD`7AI+(HIPcZp9x%Z!@Tk_&7@!&P2_Zq$DJ|9`c}7@7r_Z!H4^%w!WgdW zS7?D_+eyyGD2vJ-@WKa~u^AHMUR?waSXpk^y2+&yLO-B(HWRPn|3b=BURt+1d> z08c1uN>)>C(XApr;oj8aNMJuk%6t1pgGqb_@?EO$I+C;3RkRJ>%=#N;UthS64XQdz@#| zw<6h`EWsXqB>{oRzqWy~y+melI3u3jgL;W&K`kk^2N~rk3ES2#L5Wn)C0(Lmzb`;+ zrb8R(+eHyUeI`ct`UplyUle9l>CAZ>3ONvs@{RIQ>7kpZ%@U&t6f{uU2JzeeJu>!_ zmjM`LK;vJ|W#>|ZS(BMdX;^O9*AocuW6L2Qb3{RArK(spj@u)S+r>tGIW;DwalXoo zM`#Z4Ll6iZ#Cz&Znqh6ZMA}H^GJM&E4#N@NmSVtS}&IiS7!bP#M}4Qta(@PDT_o<_)04IAAqlBIHK^B=Im~A$69Dw zx@^HW0UL^u#Kr1MIb>2hh8CzV1#Meg#Nl;%c2!>%O}+`EZ(-z985HMjU7TK*>hNldMj z(!rYf28V4i<>hTk?~b~8C$o@HVb8+)gWp8#*K`+y6>Zu3R|rtr>2QjCyQ{;_4?p_u zj6tGy;{_gn;qefDR6lWFQSD1No5Gpbb|(AeSbbfazg7tMEdw* zoCLK^)D=eAL?}pIQ{Ypy&7@h`SD1pizQU-WfKc!c!W>lPe^$nS2^Ao*Bgz%h752n+ z!}PjWEz46#Lu*h10USrK^rW$ljw@3%GQ-oxf*Z6}Y2>>3=eOUT!) z(`&9L=*X6&MTvX8#-ejGNF2~on*NaW!#}_$-^QrGUlV`>Hhc{&rvFn6q=v|f5V_2^ z%!Z@^0sL0?T4iFutpPVcTKT6$;78%wjHwUSXhz_cc66Ht{Z!5r6{jg-ga(!$N;(5$tz!@0Me`2|a=K~{ z7cP5A7KFyHrXW6a-sn4|%Er*$K_}JzKV`2DFnhlI{#tt-jC>#a^K6mTOWKT5md63- z@&Sd~KLLnitXJklP0IL`;Bg?sTxIMC+|s+)unz|#XKbXfvN-I}^FGXVL;IdzwE9g-LINOrF^)&;74XO(cIX~(0*OL^m8du{-?zHIUHBFv3s zMO~Vy4I!NpDn{_el50u82yVszX)8CVipF}}6Q^sAHVyeoz=@xKiR;y)vdYJZA(MqJ z+B#W65snHna!(B}TWm<)qht$ZtN7Ps($&)Vgyw z6chlY#DAfNkg??i!-lT`@{qCt<@H35@JLvYD43GJ%xlHNAFEvpF9EE%vgUV$4ZJNt zB53+ypyaHL&XVW%Qg-0I&d+YDkKKAkmQTol_h~y-Zs)MGVn?&w#o~#9oZvCu9%o*6 zVJH?9Qa9)RH#?+{7Eo0axIJRl3q?8IcA3E)VX;b(qi|@4l@!(&y#32x^9KV!XVA&a z8i&(de9Ub*WT3x-&YSHvgq33ybP(sk;8+UioIllcwDMW-U+Q%G*g~7r!0OY$HOT){ z9Z$RZIKr)jeF}AsNTCv1jO@ z+`wPsuf2sOSD7Cc3^h-qN`5wRI8t1Q1xAhK# zD$RqA;aE0PGNNK>z$s6j-pU;qwz{&;C< z`3;%kmo=e{4|64j64h>&Cx9YvrNkeE`~3~`-BJ%e-JSrROiJSy zwiAyhWmQ)L^NVjk9R^%3X3dIoyZoml6!1HcL9D6jMV2eeg(c`ZR~#{w>OKkV^-J8b z1tCAY_j5wWS|WH@%hi0VrcgpRxYQwM70UzU9g9s?bnUZV_XF_3K`Q`eCK&)qI6axE ztC~sRMCqBdN>NG8@1Qfy@A2QoFjpf$AZxB3ZN&$l(O)S}Y6*O?0*0g>*Vq+yliopD z`C?1Pi?d5CG}iOgiul#CUSk-!g4kO4-kOEU#_wE?PG=>*!$GjBXaJjapjYiN z|H?K0scJIxcDTo2jSC2>@%opQ+OR`zIjkmxY=_*wQet|X%VHOh$T)&xb9_bgjgbx zyJNNPhoEf)*Ove30t~;{5&j$YiuYBbJcm}f1 z@!E383(h7=*^h1m-YzivzZOiW@? zhrM$S0%!T*f%niG6wh%ob4bn8T~V76h9?`+Mof<(;P1iL0!c9TZu^pVNoSA5O5}~n zI;S}tps|9{jSG1Y@r{pGz;=|K(2D$-_w&>P_WoTX`>8$cx7I}c>Dsihw2VU=y7#`5 zzguBgz&ko?@w=Bh zwVfK7?SWZ|!5!jV!AB3zMY);kGBpkDnKIW9kmP0Kn^!jiz@iagui<4YVwf)V9jbp5o6?xIt5vB9rh&o=F6Gs zFRh}c242p<36&DRh1^`AhM_pnxj8F3Rg-LXbu;~tk)~YMS)#u{Hy5nTQ7MhaI#MRc z0LE5X@~0{fAr+w}C%r=SvqDBz`>O25%tScn3D9bz>;%PWpGWTpmM`S=?~RW#9jTvg z+C|@Wh-Ob@S7XYq;Gf{W0?%a0a)=C2{J~ElIqLj9X?ZD#W!rqPQtFPs^Tj_bdG)it zSv@u|Fi84?6@{L6u)GmOiV!Jh(C7SQczR!(8**{HxcNh?Jx*!Ox}jt1IlC(KR451P zOT+RdvUP8kX_HW{-QZ{;Hx+lsf^S9BRN;8{$3Z9A9K@?;4<7&C&kDgKzhx(U#t$^$x0Mkz=qHuNhRQ-*h@v*A-p|XKgGGRmlA_TUJ{Gz_ z*FcX3r8!rPAGXQj zX4OA}oMjwv!5!@D_=J5KRXXvNDa7e@*&R%vlqsD9#_fH^UoTdbxkLtlJ_GXhFQMg> z1?1_QIy0^;vKR`7055;`;`cY^yj(Q+dzR*>=76OmuW(!OKMH7$+w;g1HP3JY0Q9f0 zNL!N(*Mss$hd zx7=HO*!d_}qjSm{_Ox}h*7a|yc;m0x=*AICDi>0144IrQsY*5rAN#*MNa1U)y#zZ* zMc<47)atD7k0gt3D3H|&X`surJS^3|EP`G$1!P0}YdcQvR+_#TvUxb55zC&09zC1} zHqvZ#S=!b%Xs;PR)eKOo$~<6!Po*K>*vF2X=n#KuW2re97uqoD$IGQ=GbC`ui7jZ7 zOTE{sswBk^RLb`J1xAJ<08xFb2NV9U8f~bQP6rFV z&-&xb{p%(@)O{F_2}-5=r^u4nVtI}{e!uhkj(BX@Ef-ABdX!h1@)W#CL0ss$q4!~>7#}hR^mhWyHTVf@+>J*G6@A-)Ygf(yZb%9? zAt0l+3<%m+3XpzYGQ)X+`7hV&ZBPNy8cFvN7JgITsOYaqKe$nt>JT-dIKr1SH$1!P zR-2sWDBXW^Fj8(5DoU!0&#B;nxZauxLc(EZr3Yq?qJWQU%LEO3bjTh<}M zdyG^2hXigh4&J3cv9kA`PL$oo+Ac$3db2-Vr!XJF$XWT6MYlCl6928BJJ|!@1lY@8 z`EF^8)Se)-I>__QU#I2Y&E_jcRi1Zz73!it8Fr!Ea9<30=w_~ndiBT<*D*fC2PI#wEGKt!q1O?1#P9V~1fn^eIb z!`$c_&Pf}?4$}r$50_LA;qwlRVHmJ@Xp>C(m!2e;0lm`m2K zJTX7jWkuSAU%@BOEhcyBGcf!#X$f~%9$r2f>WrIr8FCS?|Hr<{q2<0xB*i7s7p=OTRvcnREkxxLfV0-xt* zlxI9Y$on2a?e%y#poO8Pg;6ob)DkKr0!|Y;XaWwB$sN<}Q%6|3vLgoW!{zT4GltI-D>jwJY6?)g)# zS!lwd<{8&3NlVGEmOheAEL3Zwf%h@r%@}_LXEPV7Q@eD9(B@c$Wv3JC8?(6d^eOLb@0({@Ty_wKrVW3(*ok5(+ht5nlWzcuAc&W2{#y`ic6V(- z>~9JvYXjOnzF0#o8fsZJGeR5mGsKLx+^Kb}(!0o97{i)j7J($F9Y{wlkN-|nCauK3 zN%MB)dFwG9ubyR7`DGeNC=&5taY9?FBygV8`d{TiMYXlBS4x?ZmrI$HvygduNrhG= zw@Svc>u=uTO$I;y0C^1kK}jCAqQkUM*gQDlN>VWL+$7gYh0D)2Ty=+*H*ZfasV@Z% zuiWtiQ$%jMNnmYFaaCr0u28=gD`OD@bYel@I^R@c?;x3t><*mXl16cHG5fagt*gtQ$LA_h-HXqk}p=l#ix~ZjW3N} ztYT~M$Hi1Cu5g)=+Lu*=xNFPMKL=1R7(-$#gbRw|b8&@u+n=v!l-bqdRLQlj z;t9p>;mLD7+{D?*8MJL83 zN#4ykn&{c$^@*83OLYWUh?MSsLy^bJe02C;LLMOYtOKb$Z~{c_*B&9dUBiCo^1LuW z`hrD^T02wz-|FhmoBk-KKi9TSOvz=0%OKB=J(wpM;SS!015|^4?*tMN0XxsCNv2X6 z7XlLx^{NjurB6v*z?S#9erN_)Eh+6sv;#;w*SbwK5PrH z+P;5lMdArI<^L|G4;Y2#&TK3W^IuH37Tpq1qO5rkcnN;;fHd%1|0^<)^D;rQV3aIr z!+CdBxa-0e>AHYcQf?H`l?Olv`O-Xa#qXQ=-SR&e9^%#{7{(w{Tww4MAdQxI@oS4> z!b8|9CUSN77fKfElk-3BVTj=vs2Z+7x*NV(o4M& zfs{tOov%rqd{r19X_SRthK^fyznp-E3x2xOog>I(bi(k~90T&CiSDgJFaz~2<(F>p zK z=U6lF37>vB51%sSS-m8L)d%GO{jqt5xGPAdq`<1qZ;g(c9UFQLH9qxx33+Rl%4N;= zrcZ@?-&GIH+WrQpE}b1^INyYmWlg+YB_!|Eu5e+Rd?5 zPe1A80A3iHFs7`kpQjfNHba-gjo|_#-eh8F7cj$8x<)Z%)1U<(%|YYl5i-#ISi!M2 zZ3d*Ec$e@(+)($>_R;_d3MuBDZMs{eZj_i2#!16ciW5_oKgmTZ{{us_i9h)oZg$xw z`tK#+4wsF8b;svB++2BX27_Xw6bwjyTEX1s@F&d7UQYtgksk8RCjToT2$Y!?4Gl*Z z&UhoRVb6n|AA^;qU@ipmE z6rDRot385;NT9F_m?q{ZD^~v44w5Qe=0$VE@@KmskFQILBBU|Gp$8Hw)bY0ihZAFDdqg70~^(oNG;GxW^Bf-ChxDr9~QU{FD3S-}w#N zeD}rw)|7v0by_sAh3|Ly=fgtL7ENbdmLK2AfOqEL?QC1V=`38V&l^JM_P?J)O>cI8 z$c=6p_GG7GBeU5gDjbbdLKA*`C&-#wLpPu7A_jc%+*}NNx@$i3|5%lRD9rBCkFO5{ z5{->;lsMh1N`lPPD-Yh@u9Mnik)7B!+~oT!A$C%9W@^kP{Gr0C`Dujk*-k`Szt(<&n>TDf;r6&=d}&_3ZqTF|@VOf2 za_%PzGtVrScJGeOenoEnHS=SniD&FpNLh+x?@r z`qMLhrMT?ve3-21=xhtygH20$;Igii_$CMSY4tUch~gf6>!=<*-3Y>I$t0 z?qFLThJ^th^a;j!g7#!AI-5P`6J?`Pn|$LK&Rliev#gKSH{bJ-@9+7)lsqs*W0^5& zXjdnT#c{^bPIeQ3idnzWtp8)pO1uKX=t8ajlFc5V{emGpm`C$C#hAT-uAMZGZ1In` zeeIKleB|Sk3>mg*4u)ds$w)qV>K6LTtBhKHH&0I4OB#tXSt@RvU9pHu8EyWXY_l5j zSnHI`EGwsO$JMYX_U9yS0}L<)@dkhe=vjxT*Vsi<7$ zwB{MKYet&12z%DU1F`hTj=)znGwv}EqAqhaSP|Ry&%T%9$5>nL5E(bTzB);cFep&y zY$0u)#87jYMH|3HJjz=ZQPj7%a#9U+jG@(;(UeF`r|M!?*_JB{tGk}PbBZx#WY)-h z548}Xk4P|B8NhUk&rWJmRLaVbJ`g{b9|CZglVo1+8XuN$a}85Ve{TIwn-t$r7$l?< zQOtpUGOZ=bx=UObYcamJ_`Hoe$tPqIUr^gg{Q68!o6+TR__fkJI3T_}jHtn2QlD3thu3Q3pwuCIXCFrQU) zxjJ|I7|Y`Wzi$O;zyawEU9D#To!z;~1nC9C^$qu~TK-tVKcCecUxzKfP<@8P#elwU zV)0+H7_q^P`|=c{d~5o5nyfzey_r-CW|c z9u)smeBF?^whGPh$sMi(I%#`j1=~ltLq?u$hNj(1fTPM`#$qk2AU!})!5?sOdD?`C zh1vXKZOM#E7gTb!HI3F9Dl58|RsPXSg+%We%46ebWEcr);I34bP__3yoI_f7W1JEB z7|DY&LoJ-4Q760>p*2kwkGW4^)TW>BDkC@p6|J1@Gm8QJ9!FpnOIX@17B#<`$&%_C zSPdCe{6m^6I%{J<8$);?kG3VP`K+{E7BRySH8K2U!DHv}uq98vFZ#3!!7Gy7xBKy9^ zKnX4^LVy$qYuFsNK!`{ofh3KY`x0ou;+!*oCg;AFy!Yy1xgj9OgW&5r4-Sxbn}%_kxrrbV3DwyFB1{+MrzGGpnovmx#l8;y53#d8Zv%T z`0E>xdW|^nKkNk_Vu`Jo6UYoSo?Zi-GHp2dw6(2qe;WVj-k8XIN zB1nwq$r{&)N2h3<(;E2TZfBDDYoT{+eO889JyFYTL0J#bZ-#KL+%qO)Z37JubtCW5 zClb&Tzi|8+pB}EjPYACr4JxEOy%eO{8E;!CH*krW_CwryW-Y};{Lw#~%I;W*#pz3f zfkopA!k-rd3xKm3xNn2{G0Ejk(cb{dgp?6_xbX&=Oo_P;BvMeWt?zPxqG6X4Dw%5- zb$c=fczk9Ufr6p*x1j~U!$6gb+kC0@<+fj?a5?owu$P;6QNmqFo)Qj8B z``rt#Yh9*;&>=m(;^8H=0?HJdttbOyf!F#L#6;}4zpl8=Wz8@6nL{blQ^Z)NU~&by z&G!*&>*gFoc0)R6DwKGeAj;$rk9iPIGP2ZbM2xqb<>+q*Y|n8_9K1!xnQOKA1A}v| z+;&43W2y+1EwUo(R9_YGfto0+8!q{YZWUARs93EY3RHvhTUQmFq}Q*22-@=bJ}3XB zUUb65Zml)N3}@1W^HP%r(sg*o>Gm0yCw?6$5VHuFXK&aY2cF@rZe6O4j2A zMSx+b!cQLwUz9cU5+zXw6X4?1`6(5=<2kt90(Tzx$iAzRY1f`xP#OSxoh`N;SGCby z3yz2?yLy%IK`tDQ9`Vm-3s?%}bekG@`vrMlLxU8^( zSslne$eKdQlQM%m2<~*IPd%VLvW2|E>_od2j9!fMgf<(gVUIUsR@1VPU9Z&{^foLL zeAng>$I+{!9%6g={b2BQ*8r!=?|xX8HG?6W$%zk>18ocXGKH8DO3hcIp7*4Gn+h`cD2MLHhdue-ppm?659+cnxLid);I@Y8Q zd9TxACbLO1L%0G~1t*$Ox_efA6N6dC2J|e1Fx5yHwg`y`Y8xWV@pl&f1)y>?6f%7T zMaq2b<>w)g{g^s0p=UU9b#=*COMMdnFZr+QBRFslm`A@=YTS*SK#%=UG#;ko2`nRo z(3#tf^5e;p-N#+_KRPLoKH29d;L$FSDktr&B!>Y%2r%}a=2awrBbAi=LB*N!pAB>L zd7K*-h}mWvp6$kNy*atSLSUisvXLrCmPOvFT6d&tBcH}GPs2Tbkrd}WEK=jZmPYy^ z=Y6}jO()4_5Cy=k!ebXtp8dlw_iHu&r6E?Ef_Anv&^NsXfom`t!~pg+Dkq9}9TbOv z=YFKDfA*Tm2e@55ee!j~+TgMRE;61&>>7kgKgvMNUs4k<Y?2s5t~WXe{sH zh<%?3DmtHTD2a-6y1$vYk9)kWvh*VY{%AEvv+?UhouuB?)b!OZ{pNx+CejTGffa0_ z(^SEO@cT)c_d4REaOkrA1f0oZT0y4&3zftM&`T!OfJ(Mu9+4FE4)S{wEBkVM&f~tw zRGPpme|8p<6TJa#dGnpEX{YqCnyf1@vn74CyQuCCqioPqSrwFgLA!{!l0PW}LrG># zi#fSCqn8Wy<>d*X!(0W@>azW$+y!tzz{Q;x_C$MZhbcs7Q&z1eyMZZiDPw7U@hx7^ z{Fs_~w&^$ERnWcrR2!HiK9nG zS!y;gZ&Z=K>!TSlxcoH380k2&xfz&|8*Di(*pPxxH%1wvJ|k;MhXfwIili~-ULDJ^ zoo9Z&SCV_3EqG@v?cQjs&(BjcS1 zFxkLkiec9;GH)tpbFDDYlYRPRyQ`vaQckz*}~cKjUmy$SVg5$ai-Rs zrf-cCB)@3@cGl9kK#xWXQ8QMAq-D>4U#uDlRxg0L_2-SQbvQovaB()p@xvKOw~q(` z!)}KKC?w35{4FT-daT@+l@-uyreP8l?N}k{J4biu=&h%G)}0Qlf?ti`7j7$$nTJRo zvuoDRZt^S76dIs^w(@_>nA>oGE%TJ=KoDLa0De-~A!vNS)B7ZDOE%W z9YP5bB%nx_-V-1qHH3ha1V|wK?hWHR>WuIE`Tp1X&swvtB)R9Fd+$DbKl|CwK96*@ z)w#CvZ-qc0To*5>U4cM0U?7n7k(+-9J~`DJZvh%+O?6DcA+<=C*d|7j( z`MZ0fzfsTL+n1&P>ZZ`W45q$YIilr)8(ZJa(6F-uqvO^+JU(tCZ0)l| zb6;Y_=JvgroSI5l^$qgDvkI0ME8TJXfayYHPOiS+3;qL==lD<$Jf3y?b_{<$9S1wJ zcWFo`4C8bTbws2)RRrN9GP|UXvnp8fmJ$&u=>23e)x&i28S7BqGq?Nsi|DY^p~5dO zX|I~bIVn&(QA;^xBg~o!(Hk#O2MH)~Brv`oGE&*ubNXd%?k3E8eYN46!n2FPwf$lu zJZ8kM8&E$*#XP(&znzk6LGR)Q$_vT84WZ9EP*L1DNfohe;A`l)b!~9Il{yOXT-6=^ zDs6&yfF<%Ab7&gNC2Zse%vI(Y z6|`9R($WTSEa$QHl!tJ(c0<&J=H0C8G;>_NeYZ_?r5@lz8 zYa^V$Ot-mNXH}4LukdEC)?|<^DXiUXi$9J)IXfxPtF=>%kt>E$7kCu!&cc&BCA8ILCej)d`so4&A7+y z3n%H3ffKCfF1f97u%Zq&_7$$7818(NMRGRDB|Vg-chbQ@nPGz3)5^R{^s~bhQadHw zzjjDY#62*F0On_mMbS9n_ax2xyI zZWv!t4XZ47pya!S22{TdYi`kNqvL`T9PM~BOagJq_i=rksQ+@60+`ew#3jxe`;6TXdd$beF3q&)`4j29zQ)MxV-rjig zx%)L_Mo*e8Wjt$2!1#Q)aJd{f_ZDF8Pxt^^w^fNf!t_d2eY;#d|Ge)x8}+e}R!hMT zZ^TQDb8M9>E@cILE5m>#d6nXBc4j|>o?zsYjiVu$>kQJH!g9eA{nf1{QtMv}UUge7 z9udZwY6t-*Ky3eMsvh&XjMqXxnQQ7ryVbwURW*8#w)+tgGJ0XlXi}k>eOOGqXbyX10sa{X(plsbe zz(*~6K8R=J!=X1h_loy+kl>9)Kbc<8n_bxv}D#>Q{b7Ese8 zW<4+&c3=oc#?JAFf=Rdt_AdjBMEBFn-cPlJ6L`6|fMKp~y+-TS4(K;HT z{g?Sco?bMN@AtLRj4DF}O$zn4S$WF3j?V|#atrcrc?OP?cT6G<=4-8KP6PO(NzWD_SI8e(k8>NJh+L08_lej4)N&@xBD zW*XoA?WZjEya(M+h0&fsz3rReg&ToC%(FHFpaPi2#IKHz9YyE98V!fS&m|=EYm5^0 zhZ}U%V5_ybd3$_d`Y5rNsZ|pBv@A5k>GZ>?_jqkAD+{!;vpJJt?Ox4lKFac3sUjj` z+rny`)TUrNJ-)W#%u+UBw#7rU0_vfS4hC|rsV&9ncak~+u7WeEjohOxROZP2YJuk* z_iBC$?bFy?(QoZb-X8O9+SHSX_*{am4@$ARyI5;A$6tkV^Ca9CJnyW)PvMiYQ%}f{ z+>y#dXc?=Y-;CjUiYHLRbd_`CmZ&Wk{J^`HQ3Kx8l9EaO#5olKvHAEmx7g;n59F2- z%{#P1hG|ZGbD+1+iw72e)i%Ig$R-7EKl(!BLnxQO6s9vdJqdcccW3+au=YM5a0)Gl zCB6%Rr{0*yyr$%vn!w)p*{NUJ-_NOTp0IM?W3$BeYj0e2PzUNuD@vHSw$GysT z^uqH~8s>x2bh3Qn`+{u7DYBg@ElFXJE#P1RK>YZIl@6e{UD<6%fW>3a*nysG=wSp-eb!c$}UeZsa|i&B#F!K<}I|I!Tl_Z~r!_6Zu4 z5}Iu_WVnj3I^A8l559l(r>z3@#un9vKWEoAsSQua(pYJx6va5l4c}gUz~PgG{l%q+ zoaZJ_4!HfUSE$Z;^)mWZgS&^`^GJeEdEc=Q;^0hPDgNS!|6)=Xk+*QNb3rEZA(P-J zTA51(*M5cPRRIOJ_n=n~)D}E%$-yUnjh7|kxEsOcx;W0%QA@zJZK}Z`M8#0`}SG%;uisK_89eT8U z5HUj_2YzvvKi@q*W6%|rD6O2O>ydaQe5qbpi*wzTjJ?{X<8dI!YK*G4yOZRKl}B@6 zpC3JKuQn;;#A7g(gBXQ^_q;Z595C+;il(>y;B(F#(lDO#T)(yJdI)V!1%In+*m*l< z*IAmo7He@JeOt=1hBWwb2k<1T@29i0Ggch!($M1TIWe+BPclx?@n%QJGtOP&YQUsx z@W{8Mt4YG$-Mx7gt_JU4x#qJxsALisJe|OK*n*wv+JO%>y}X0q#XqVoO0SJh4Dx1&At~0=_KLCS zMPU(>v2my=StC_{(m)paHh_5gk)&nNq)Ga~2bY}ST&b#k-P?e%{CM)!*Kq7-*%yz4 z;*P5wEZagJp&7_)msonNBf@@gXyGWIMQUD;5D4uwsb2*~{{;Wrs9HwTnfEStVpAl9^BG7ckCrR8FZf&cYp93k8)2ZHa81drc_>O z+}XAC?)WnJIL{)!iyg8X^~mm8HT=4C8*9LjHLKR!jyoGG$MAE~8;B_IQ?t3y#m7Ol z04_~3f2=s4mVwrEP*?|Iw6oE`*FR-T4aAM@P$b9vhQiT_?Q*NTmTKTS({364B_gv6 zI_KDXAC)C(x~fKhW!|UgPPy7p4 zar9$+iq-|a9^-{Kt`=|r4IFuH;0z7q%kI99%8EHs7=H@S=>HahvK5RBM4t@sG!-H+Z<6>SKlT# z^M6b)JR^7$!1Mk%Vn3`;>fc%7f!aT<_&~fXlyeuaq=ENNI>dOe<`$mZ=G)%t4#e!6F+Nd~O-LJU2eGdv&4cNuw%1GpFI^?BJk;Qw+{6$zySXcpHrt zF50H`zTGxs?qzdyWokSKH>>{uP-J<&Xv2WC8Y2`)#kKf%y4`3FhMf*pS-O8i&+EjY zNWv0ngnClafUG8c$k0JwMs3qM@@5Qogu+}XwxPg+UPRg14jXYa0fzG%4)_nciAxP@ zO;ud%{rXrIds$EU7^&kt|Abz|d~j>@BDhRdfvo#m-g8s+1Loj~43FMPoJ83hxg*e% zq;oR##$t($V3M=_8jxw(vv(qP?ktIHIkNYXC0*4*x>)p8P9kBr7aMQUQ`nU>SMI5n7>|lpxLxpCw`XbaNn~AYD3=-buCXJ|B7$+UfSb2@!4UxkMOi z>5y~VFRXYsKqYNkuHr{jdM*-NzoZ+S414SUl?U?75BVC#`w916v8!yi6y^;Wk)NG* z&iD>TQ@g9iZF%og?(PI{UN=KN&Z6|VB0(#-Y&(u>ZYNz-6pF=0ySk^i5=@==fb)A` z5B2nmjxPH5??$m1C-zD$)Ay`rCBT8NcBro56n*udj)vY6FLyBrsi#~XR2!}Aa00+r z6epT{b)MHY{R#k)u_V2~R^ThnEFgdA6s;{oKL968>})-vDkKRmK}baAUhUHW>`h*s z&J^O8qHuhPcW0&T(Ywt0K*h%z9AxNs@@i$ev>yP~>|K&N{Pn>z&nk6(u(gvB+_nZl zhJk_Nm%It{x94e=P{~>ja){Cj2?^Qj_$8X`6YW&KH1W>a-F;zsRdv3-KXIf+h)__~ z`L&;uHrMK*hh4*O+j1bzuy7p80sG>FGslBS?&P38NawGPSIZ)w5^~e;PFeD23IWan z8o#o~!e?cZa*KQM}hx^B8rQD@Su8cGp zg+TCmFC;g=f%v&}eh`n+Ix?3M*ohm!*=E>Fbd+Z`YEdg1(;6i~xdKA>X#A;Q^Xv zrlx5Geezs%Ep-FLAtYl^cK0PgFN#xIf9jlRlzs1IO+-)!Qe|$PANEo3q zUXk~|VaMmfKV?(6CSn^W0-JVAabW(wgsj`laW@x8neS2O#b`-M)uUXo&C%-8z^%@8 zE=|OaT4OA|(WH6l(=R`T-%q!XZUf68XN!MEBFRbPA=2|DCzU_gZb;6V_B^cLEMd)7 zlpWnzTV;V_gG*B8(szu8g22ws=;;92&cP1v1U`0vc3=bS!L39NsnK%$Z<_zYmxYU} zBSw3-y-8}YrQ6u0X=!n&QxMAe4T4 zxw zz&COQ%q7jezJsM7pFZ2AMr}Kkg&f!_D8B;PKk<@_#!%VT=o zN>jSv38d1R+XZ58?vlFqIkjPfH(X?K!H~A;H^iNK=jFhsT?p`WPQJ&T(RP~fp3>va zL(e78A?9tYo2*JK-=`f1evwxKOc|gbSX2?j-Sg_x*LN;4PnqB~5cLi2+6|Pe-Kf)! zns32yBXd1GIXT%sc5$SbJVJ6JDCYL{)8FU}feZ%C*1Swniv_bY{JUBx@F_UPxmO0f z#Hca%=?pC!0Iv*M*9!ZsUeMdjiBk4egrKASaWDn#`TfV7^)U>HI+5ynW!ZB@1xOXQl)hz)L8nQk zG2rVV6-R2fVpzEjb@>b1!d4EM;4g7Vl$m?deN_`~XWP);hkUW@*rps#g3=GH;AV2~ z^Q+Rkh_$^bc;+s%L?dO~gM)7K{#9;IFGU?E^Kp{ZH~`A>N%uUz+Wrvw{A>J``xJ)F zR@8GDXOjEkw%_#1`clWh6zLDZb$qMzJuYlLlq$Tjoz`ZZcYM!Q4r_rA`-f#91I-^N z+3;S9C00wZz&DP&#z1S6mo_69*E54!qmb`!eWy zd@5R~NaCR$TwqG(z&nuD_d|SGyjAcw9lqXjjqdyaxQB_@wCR(({D@d;6AWLt?<)@s zH1VQ6h%OV}Xif%Oam#%87sb2I={Ta-%L%U+8Y;?U1yi`sZIJ6bE0hr&hyM(w7OEKT zWUOZvqPyG-T*?sbqT7$HuqH1Gvx|{26Bbuk!%d(GK!8B6EHc5HNj@y~iNZ1``i)I^ z({bfxiK*G$R^r}sAc5>Bb#)u2$s2~iKkRGT@=`=2V{V)MHWAht=R6f6_j>ROj| zkc+D*Y;W`!h`}oGz$u<;9byLMTHetk#;A@qJ{7mv7H{A?$SVM%?7m?sIQTTUj{_e! zFDM9Z78swbP0i+WQOMmxb)xD~E??J_t~BIWlkn9_+jOn190ED7@og4}U;kOr{Fx^H z_V<6ObZ!MvJ&%Nb2xD}vU0o}@&YJ?h1c)|DzHH&raQ6nF@~?x@`H?I3Z|Ze8Qqb#= zzCE_azqQKZ$df7xOY1CXVxNCv z?_{2Kze@bBDgZSBQYBK6Xr|*i;v1j94xA=s1Ds{r-f`9TTUDT?=$`>p$x*G-M=mm~ z~1nJrR zU+NDUi4G;aQiwm?=y<{97$2HJ;yc+Q`?k@IHu1L#=!rY*9nn4E4bVwea)ZSr%Yp^W zq<1Nc)DyZ64O?wnz3c$yW&OBqX>9(z{PA1c){FaPKR@lv951R}^#Q`=A`fp^ zBKt`#X0^4;+gyFUMLXGOT#}%>SllrNl+i>AYCuS?Xh-GJET)=YE6ELx6J;nsf&Ud?oAbB(SbYgdqx)}v@ z3xL+EI+fVMIuwTNGZaf;wiNOn<7+$xQ~-${a=AS@ZD zC%Yzj3Mu7_C9rY9ImK=v@#;b7CX{is0%|~%j??xWm%i6+MLmEJfb4sc74{=@O1-oD z2I=@obrsSDg_$j_V%f~Wo>h`(qq~TJWpr*sp%MD2vVtjJ>2=mY;K@bIyUoLLH$-z6 zFbAn)maM=xQt%W)aEDLQ2&>EA$%lbPO)_$eT?}(pov1}|D<7nQY#z&e(Lzm(L-Ubg zP_1!#Zi7njS4!R+)yQ14P2$~0JkZ>#C+BP1TRY;(`&au=PC_LPh_Xv% zxg*CYq&K$1TDyM8zIssK0V$E>-%t^LelhBaldgB1yP^(q-2ucFVjo2tw6A(P8}G8K z@?QKLYnVm&z09|J`Hzgzd{!ZimDoS3iCfWydp+&+ZWcc*>-({4{m@O=mXM=(ye>MO zFeV+=4a^@PXcm?c=S-a?+HUFTY#g*!zi#)A&Qyp+C-Hkmt3x zP!Mu!X}_USStkR&axc!u^X9BE0;V7g6o57bbnz1Z60^mP?I z|Ey5Woi=4`+y3YH$G6#S>Muaq}llpo8)+&O>QoYRar@HIUmgoCq8>$UA zmaDO6n%lkN?EngLc||X*T=b)vlH%)1YrXi&TzbM*^!i*KSG>GOLwul9MD-jhr?4RT z3<36qGB(b@0hItZ4}&RB>?Et_mJj1*4-8|3ew+$J`R*xdCh|n9v>Uf$D;^bL=XkV$ z^zopRL)l&8!$qb>BtA5orwmT0VkO{_W5l=42%(vI7gsM*wP7^=jKn;?bT1JO zrkHy&cpBkXZxh0Rr+|J+12gv_69WwaA@Xci&pTvU;axUr2{3qDTv@L6dipL~ON0=h zF8H_fgW~D0?UN^1Jv!dw9PZokY9$4L z0-gXFfOP=MG4>gNkAZ}wWEI7cS(JOiY7;!y=B*>?+6bYsn5X-BQ zaj#7_a=0K%VDt%14>VaJn3JnPp#QV}^sZ=eij!huGoa3or|xi=A3v-}oa2isi)!Fe z0P(q1_?N+jLoa1~7f_g-Iydsz?1-31qVG);W(g}=kqJx1HMN2%z30Y(t?6#0YYX1Q z<8Vwfz87)Lajw!p9IeOEgBAVP+#Uv&6h3#{>xiU!cASotgtrKyLy5TJjT)3SC14tW z1Yn;12hL6lJwCv;(ww9G@nouTtRXoW<+-`fWvjBZsS|0@EH+mwO{(+e$?3yidp&xV zh!mU(y5CzBtdO2f{3*k;RCDzjZwcr1yKdybk1aZc|4Te|M($NtMHyK3$=d>)GUpB` z6P`STIzx{UWls|I1L^gG*IWndU{HT95(+O_>Ns!p){%e<=FN-_z-xIs0oRf__?^Sz z2Qt6GmgL6@hn@gwzwEoE;oq$>Z_2q`QTX5%Pwd{N zs`gamDxp``=7Eg^G5^mFoP9>I8~9Mk|006ep?%M>_cI8^vowEPpXa%O%SkjOw{ zlb%d}0uXs zf1~}e{|?I zczr(_;3gF3mb@vu%sSqSmVuwyWgOI2C5v}jd3P5gIK>4>5#VXWliJOg4YhXg>qp&$ zK@1D&$~KnQsuC@y{>j1j0N;3fqST@L_m-a8W8nAZr!M_3uDSN3yAF8I9aoUUyDKYG z)+QhvXHjQy!jhBURS%afLCz<3#0+X=qTHmQ&ibViX>UVW3X;)vp#)L~$T%X3R z>+>ePU!x4KvQUai=-0OJXAeDXU%2yK={B)bl8nH3-Q6ENnQK(+!6lB4B@Sl+X{sN# z?w|rE-+9n(eoVwUe}~8N`Qa(vuualP>KW!uV!SRX{Pxpkyz03O;<`Tyku{75MrFy= z(kN$v*KKqqz%_MUgfB#NXQa#r7tKThck2-IBmaopTRNPV&g}+zCleGg@?w>_;>%CX zI+OI(?)OL%;|7(r%h*u>?^NgQJ;|`Z1XepLp}g|jks}PZhDI7-$GTuj^S93KibH1G z=Oi7xi%tctHe9f5TcmqkuraY!OYZf4{!WLCc9nZ4ihOy=F1Sg>t}d)kAm9U{Y>dl+ zCm9PAyS@qX+5@IL z)!?>;0Y@)I*=m)$S!N<`TFwk$E%^xpMbb3}<3cP{td$DeQk~bM+X}tDsNI9MQspCB zdykk-og#!8BCa9&0{M$zeJv`a_ymN_fcSe^S%6#dLjo$FzomUUn>SyI7VGTU4%Hui zxJ_Vt_1^W~>wru;u|X69_zTpq?KA6;?0= z?R`5aX8cEfH#dGcMmX-(p-bhG3`sj)nB9#3V_1Ykxg$K!P~anjmo%X5o+AFRs>`XJ zF@%eaA%*y`wQ>s{afhOm-+Y4W1Jc1f@&C7??=%1K)st8{U#5CN1U(wmy#xBIAM(QW zrcZ*WgpZ5v#`?^qWRWAF!1PrO&Nv(M9>R>9P)2e^qh~-zN_zNLB{*mCFVT(0->YlQ z7wz$H2begx^4_KC)g!ZTc4+PDvU}JnYtAFKtdS+JqJefjN4#Er3Lq9~NN5zOUKdLb-NmTfY5^9T2AS z-zjX!Yba_r&?pO~@@0Ue7Zfab{%!JYs9OcSOB-xns|v0I9s52Eu*R0-C9ly%lDM9I z2+&fZNkszUFS&fi*z+2xax~RAQ{ciJ`araBXS2KJQUYZ(pM07&k==DD1RV?`hM5QnJXWOv zLqoD+{+Z>&ZzLR7V|SPPE~c2-Pv_SbcRSb?q=t3q_UpL&MhW>YI;L-T>v=`-5NM7J zdBb=g;xj=>RTM&$NfrRoh$xVEC;eeR{GTdpFC7ph=E4h7dR!H4xW!#l+mc%O4rtQB zA{4}Y5;Tk<-mnM7n0xd!-Pw)d-LV0mfk**#Tby32lfDD!;x^9*;(4|lom0;(KsInz zj=3ldB31L_-@@vzj=z?q#y0Et#=Gu)dm=T{-9gDw^c43f@(kZyQs$lVC~D!-o!1cv zqU1|BaFsmDuQ_|Xvfy>oqeVCN44nkrX@FXwCLcfY#qri(7!N?&e^t0Lw=_GR7C%)F zC_gk`75q>00SYNCYJrOD4+3+M(FV}iUozBKee86q#eu#cJJRK=0#I6EseTvCxtG8^ zdA;~LDK%J^ER~=Ho@4M0!SUOM^ULdzZoKs-pGNZPBFzihQ6D=3x}hp7le0z8d#6FS z1~DgnhuyXyKhBxzkyp2*+Pqdjz~V<29x8@GcLx%|HE0y+Ch-zbXsuu_SG5!%CsBg!RJiNKZ&%sQ14`yWY^{**<1@;ok)OVktBtW+KCPD{ z6#52n><3ol8wM?Gtilx;mC1f8-Ih+3EQ;T&NTv>2$vQXp+s^TSoL`_LV|<%DD?Llh z@$#!rijH+u2M}>|?K;%!g#rR2`}tV6f6ECO)bi6#&B}LHkX)~L71G_Hew<)G8Hb$< z0pumk*|rBs^Xzp&4ZjZljCmoEg_>ISy2`g5>jgO)k@&T|I(wL%Z}b zrht`YToiZ)t*Z3X3 zbTJ7oskOAhpFS7=lvQ6{QJhU#Wld-EzKb0<_Jd$nCnE z5vs`t$!=J+N}>#vcMx|Zd`erN^~DR#TqQ7bK6Q-DA{Ve)gGvA`=1sF>O_`8cI+H~; zT{>B?tB&Lo2Tj%ue+Pg%;3`bLcDKZ=L&4KL0l5z2Dx^2L?;4P;awk7aP@gE-HYt1H zlCp-&c>Fb#%lkYuE0;BUbj|pi>^J)tK{Z$<;RyHjeMK#gigMrOj^#Ca*R<+-MAsNn zY=A4%#!^(VPOQ*QOf7Abc`3jeeM<}h=WGkQ z9h$^}t`1j=0e>jVFdQ3#ujzmh7-eXxht%E`CnrmTd~K-PDuClyFpLvhbT-sCVSuV% z3UrxGCq7=zwwk1`tSd-XXM_p>1rk0bJTWpAS>t$$;9MH7paqn14wOz_0YMT^ygUix z1W14qTzmfD2kbY*N$?|aaa3s|A>7n-Z)PYK3Do^vyxqhbX0dZo70Z(3S?^}ilyc-y zqWc_UC$aqS9ieuTwatDli)LxV_7m*~hrCC`Yt%`p=}p)M?lPZJt&ge5Ygq%@Bt_Hd z#R+dxoFz;1P1zokfcSDGU#5FZ6mP8h_==0h0uN*e=n9MH#A7f^$!ss2PDc6PR+PfR zVK#eBe6gOgmMckhin!3{RuS|48%bi(d>y;jBC5^Vv zoL;KwFk|C}7V*73M=q!08Pn%(yjT0!ocX(T6Vq7gni!10TLP4 zPFJ9EQ9E6E&WZiyvMH!5#B%-deS4G$RTC*U223xQI;GQOLwr4`k~R1!-d)7=mL&Hq zGyYM@4R`ygyA^*A?6J&EW|5$%0nm|_oNly?9Vkz#{iPeXf5ql@T&<92hCXIhz9v;q z2%3^l7dK6A2{6F>SQm`cC{o4}W{uI;5z0JbP+!FU04wa*M16V2@P}5h!#U-S0-5d_ z3%PCV6z`hj7v+Iz3WoSDS=3;5tHRll1bB)!DeJHU8JLVM3jugL3HLrOL9%7dm{Hk~ zgp0-8=M|IkpVC2S==EJYGu2H2&+c8*xr*3SjO+n=Ni=OrkmCf=xtW*EIzma5BrGYU zKVj0wFaXk4-;kb+q~5DX`Y<=!{-{j6eJ98-~*tucj!|8lqy?bgI2^xz@Z; z3T*Xk3A~4(gL3mogGIw`1T`w@4}5GwNUKK&E;4Pj+>F~@LTLyT2}@HMG5xaGJlPGN@fk&3%4>b{>QUMF;WtvG?&6Ohu4|7Sv`o^uF#qVh zN%%!~vGwSgG8jPapr1O$&P4{_n_jG*$$hCj6-iiN^qiOk#u7w$8 z2GNoVq@Tx%r}wQgcz~qjTQ2btHEX0CP+6?XtPhYXY+R}@J#%LkJv$*mZTK{2nhBL| z4#z6MQPICvmNu@x@ z@UAJ*Rj4WFnVi7@aY9fozj<_D{`YJ-0ttQFC|j-H7(}^R}RuOwRT;MN??DHl!$Jh2she+2>X-=ge#(#v4T> zTz|N@9_Z77Jsd*pFZB-bZ2&L15yj#J2J~`vHf8YutKy_V=p8_<@UtM=CGjay=R*Ig zC4Jvsv$+#KsFu}g8`ERK?mS*9r zUwUPBQ+03~snt_X$22F}l0>59$j0CO*p+K0iP}>Vj*Ahy#axmr(-vZ>zwef|VkgZC zKU$f2+Bw!DCWnsedAk%a>IC0k+@9{;5caW~k5q1NgXwVRW&1BwvM70(J_pnUFT7Oen-*#VWtUCl`v@PFDPd(abFRMMREH_c z5lL_4=wu8eA4EAMekVHw)4BBSzs z^Zz0Qv~Wu+;->Ct5@2w7;97MEbNYm{q7R_~K|EUWbW@rnYJWsoVOlm}Oi0gbNwsE% zhxC-@TX1JtUFyF^iCxSs9*_|x{^~mXd(JsRaxuJfegd(qr*8 zs*vLP2Z&t&C@+16AGkuYy=RJ~EwBp8zx0fre)DcBbqO=CZkohuwoQUUJ8;?V8pYv& z<5j6i>zR=>kmj13Qkn47L}KnNYf{PnZjxe$3xlh1(_p4x^7~hOx47$eZfuR2`a&^s z@|`7JyWPb;rUqK(tGd>z4YWc=B`}>j_Mh6#8_I;kY(}QkvGoF*ZEI>td1;-M`;v?0`rn*FWp(5E2bEe z=R(uVR=RywsJj$>Qu9|dG4U9V&uVaBLUdtvx5Krx+?;Jd5zk~Git1Ep z`3TpXsb$hgbC1ROc7k=zzhxP_W3wo{y{WTOB|0b3iMR2AI(qSYnU&$h@<-DOCMZFB zs!@4tj_nGx)i;82Qxz>DMN4miSLO3y8fo5dUJG1Z7X$9Y5xM~ zwTCaPk_{2{#b{PN6ABl&Y*T6^SUZ0xTKQh9?{2(&oj8SBVD#x-D7HoHFjFl#yY5XX z?>)kzSt8IO0IM!80}}*y@1e!+PX`w?$X;HP`~^hip~>DNfE=Ge)z#yAZ4Ym&R^;MxbgVMD#L+Mg+-h@qPJx! z#3ji?i$gIvwNYQco(qgf=H_0RIT>}lFsK{nyGv?ZodfdH3z)T=;3S=3+P9Kgh zjchsJgmNxRb}wtURGt*7#jfm}Us*Q`!2A3LYq(KrF{TAb1a736c28ckt*f(@WQIBi z!&|04zMdZz`N($`4Qz37V70zy#AVqe%K3Vx+y846Kr8u9+}l7O=bgpI$MM`?wXyE? zi)s8E1|aC>Hvy~U|~q-@vKW3=+dD-0b@W)Rz! zS_dtMr%<`wQr-c>J4TRC9U~ zCrDNhOeB`u>?Mv)3Ps}RZ8FnRZ*qz|P{!lawmj0wVJmxTpt-^+PI|F%^Z@$SeqZfv zMc5=9vP=&jAHk5`qjX(2m*ywj|Pa@f}(%OdtpWo zbsW&m#Jgt=*m^o@&Gn=%I34{jWMiCDV9nc(f%i0_ed?>1?~q=C5Z@Ku-KSU}w$GTt zjBkt*qP|J=s<-dF!mK7P0&0sV{;O|3V8!@CV8VA++(<^iJbfb>(j!W@E`9(a)Aa4- z20kU&>5CKr`ymOcF@>d9U)-qi0hp+J3~tpei;Q)y>2H})Mggl<-|Ctka zX%^kdeC2l|7HFte%K2Y}59t`iq;h!D*?@H+I}}R;Qe69tZCaSTxrN5&C=xS9o}DdK z%mq3UAZyk^;j^C;RBsl;OILcPY%QBSwvBjTsZS4JTBa>p9jCPQj=nLG(XxCbJbZcBSBvnzekSq23)IgWg>bDDk z_>b7h9b-aA7dDX=>T;xbI>*|?wqrd4>tlPCs3YUEI}k$I>Du<5Q`nUTM z4-rz7e@{ z3jhBTD40EUmjj&w=OejHZDQvm-95exvxYkjyP{u?l^P(;61c2Hr_tkYw40@6oyz)J zyj4a-0q0Dqv*k+4>pE`>cXuAtmcj2;yfYJ7?7>Z-^&3K62}9S@;)ckZ7;g<{2LeL` zRAFr7Rx;|~v1w;kbO;c-GFRTY9%Tq7TGGXxSxH{siON+3X1rC1bnQ@jUSdxOE%eni z&ocn|N1MV}?@yK~_aZY<`wGQUM8z;g_9;1k2(VZsBRhEJmb{+ zEYvr)!qHb4%e-C`T3&P-xRj7l^~4E~RsVS#j;Zj=tSz<(CHObuh#8o!;|b4WsfjD| ze{Nb*DG2RcXe{m@=Ur_J_vH{rC&oF%(Uu5WJg@-WKu@i$^v@1 zbME@_E|)V0GM~HUr?b>0dlwYYbJAhH%X9N)7$P9d^j*~-c9OKrorc_iD;I6znQ~E- zLb)bMXaOnpE$QBeRm+iuzs6r0 z&j$ocNPAGQl&N_wDm1=$o)_zF^B^<4uFfP%tWHL_mYXCpBO${k`;6>FqQ z^+9K^z&>3((`eYfqKb_9IGUJg8;c{o$~|MnDq7>OTByY}Sv`f4PdZ7qCK#$9B7XYC zcn^D*ty5LhjWH)u)kJ*i$j8y0o~vu$ zCiBNLca*Z&54YIt2=%S(h|GF>0^tVl32pswRcU$|+Em7(W#!)A7 z2C%emEf|_s<7N}mO98~*a61!nN{h?U5olFKDp5nI89Ti6vj4dKK~=dfdUA1O8}0mb zAnKrLqf#+YcJqsP`m4TeH!sDvcyPa;0MYp;(S!Gjw;f|~C@O`JaS#|q~NvF_;z zpdGv%6GWQ<=? zA7FdF+Zv!z)!Z~Ul~-MPeFiBq<+?z)X^Sw>z*7O7w6;|nkOSOnH*7vSaVv9= zhQ)lXQApd_SL&p`L+Vp=?ix}3YJpL4kOB%-U2$`&7BddenQ*qt`PSW|BA~D>PSKUQ z-sWh9MZs`DxEpq`vLO9;x1GB5AhTF2_jB;TB-(R^2eOUXI*4r!vr;0%qJUx{xZ}+~ zR1Yg#bJ?fO3`6K`@9W|r)LAXehTv_dJx^`-55dLS*`BRp%+jJwk?Ki2{`i4a*7h#I zwod_18Q3>sq5B-+>(h_{VD|#LHLg$@&Duv6CG6w&`p}CqPIMsQ^;5(qMUx7GY%1Ba59ssNB-gVz-@7A%sP{@jwqF&+jxN$mr3vct5FEdKLS&fEck)@>x^R}EG z5oNBdwH=e{|EhvF?X}drjHPRR^a`UK)Gz=&R6h_Mzh%W;zG!~QJDSY>r^fgt zTc9?MGr1%GTfogAv8jqw&E9EnYdJsK`Tx~!bUF^`7Gb_+8YyKBC~?$U)o<+NkzYQH zJ3zyGdrhadq}}K{4>mDWya2q)NkvX2lVmTm=D+gFHe&?-+OOm3RbUH|a=nRUp!0Kt zK-tXEgjJ^*%ey%&cC2>81BO#uKlxwby8@PW&9?(uF}^dF>tvxH9`mg2F;blYsH)zN zfV-|i@&x~>3@POpR4`#m3EgLb_AHcgTOsMWX4v!d&@PgAe zodIs%DDg*L9B9*&1e|B|K?1&I9{(@_@yVNT#?uCqZG^sXQO2#IZ(ivIBIEirLSJ#ZU<^ff z1)(=|Cv!v-+ znj9kDaB9l44RZ(F`-&l(XSUW0_Md%ko@(IbOQtOjjyE4EhsQ31>fdTW;qv`{76D?` z`j-zK*iQQU7q5X$v5d#P9*Ao&U;D-`vmIvbf%U&{+do6EU$CxoEZAS!0rVNlcq&Hh z(gp6gI{mv%a(c6G=4hQGEUOLAg*r4`og$<}O~X=?yyBcCUeX(uuIiD!vdNk(c0g)& z2UF?|VJZSOMZtM^Dxd=nGnVzbOoC|km{JQ>r-@}GTzz4hs^FAd=Pe>4@}zeu5hn@| zhTYA!q;hHO*q%%$3G0=S`E?Kn%&$8Xxnmn|0lind&*b@}h_x`49p?x{WTiG~Ru{cR zz}s7+yBP}by26ZT6wQ@y-Yb@M-INSV5MriOMtW^OH@Woj|7+~rZgo_+zO%pPL;lmLWWdzvq^r7AOPi2(Q&jjs7E?o zz+fLb1E~fw2dbrro`)}?0k=irrm-RKr^!a+HQ?cC2ASd#SMJRVo}dOT zCaV8lE0>#^>KjVHx|XR_YUh3APNZ@hQJl<5iJMd8v9jB${dd~8+6}H#5I-gA_8V_=%^TuC0}P~0FWNIoH?1CNcQAjp!%di4Y4AhQkP#_ z9KpX*m6XEEZCA`2+ICRk_a0tv;T{DYE+;6rJ9=<`ksFiW1|R-Yr-uj^fd+(pJ{O5hm!Ao)d`*&28e!H z^90uaX@p}LjW%*|u~iH9+L^?KCiHtv%x^z!SOX!=Tn>LJf^-vP8m>NsYBE|x5OS#8 zh#l0J(%0m##sJdId(H5{4Y0d){tD~yYBvsy-9*@$!3*zKuN)FYVHI`&se#B+(f(1+ zB)D7>4+i&V*F~>OrlDz$6EwCeD>(hHo(yxrJ_M3?ScQy4ERlcx8lRH45V@yIsl&XB zfe5WAFn!?fH#|uuKnuEbIP5jyS+uoQvN*_HLNr>V85ZS*lhn8^-1X~UW8e%`n^6g8 z)8Jj0-JM_>3+w&)5u>w{5MG3U)>|j!_f++z+ z2`2!!b>UUoqtF{*JwTNjEDc8??V-5JPVbj4%o-L$LRRA|b8WqzSD%G5}}0sgLs^=cEQXSL4RkC35bJH*)%5F5A!Dgqavc1<`% z(ui*kIfVR#$r92$zors2MRaxiV2xD{cp#a^{!f=itq)t5Es;cm^qH^<#1TzRhbPzm z-_=x?BYjZHUNg|V^$2x&bz_OZyGB_mU-uzRdJoh>G^dp}d*yZ=Ik~Za6y?hfyY*r; zpsCQKv;HmfCL95&9$)8i6!U@qnf+T|8#(F|M0K~Nb~Y{(Do=EpszWiXEh7}@hl=)M zTZNCsz*f`4y&kGB4kKpns%_4UywsDr*s&VP$PKrZ2lJWc-f3iZO7B2T0W z7QkS{T9mFV)hWy`ugRxaS}_|QqDu;lk%ueOwwgcy8Sp0qY992lOn-gWT4H)X=dnc< zPT$oyl6ll>MyNrCp)$VGHjj?ZF2=AvEn-8h2~)HN&JO4w*x#e;*YvSZx=?7h2Sv-` zvK8>c@}^#9M<7otfhs{xHriyL`gqi_nI3kJ6Gns@pXT4)2T{d_GT_I5r@CVS!M(A;$6t7oEC72Sy&9>+?g7L>`1VpflUDY?jwevFGL*jz#u3uO?oV?9Dsh(h5|`Fb?d!N3d=+AqvVZ8?mP_;C zcUrk?OhYKx*W`a>y4YPcdowIB3D$C~FZ4*Oix}zrq06H3C!*(vz<{7v+72VQn?EP5 zLlveZ^N>6)7sx9(oU(z7xRvcrH6B>wpS$V8DRtrg4; z3h0G87kvP@@_~|WNjKj-_8?hjxY1L7TF~aXe;P{^xN!@H!#h<%;x||5fB-Da(QW;7 zbw;w_X9M5b;{J}kn}kBpye)$Sm6kO(7QLv^JS)HpAlTpn^K;|am+C^y$f$wu{#CksI` z6Pb+l2^Hjp&t1PwT19NpVd2SWxA4jDVJ?0kR9d#4U#fuBLkw0rBy73`7@IerjjUt~O-QzbyPKPJ)v0z-kYFiu7gj+#(3=;4A~3ombV!jWIUlV#jFTgB4wL}Y z%zziutKNSxRO>=Nf05+W+^se&EVCtvRV_4jUziwiZ@=OM9(Tw*{kh+y6ywIXXu9fa zVjmwENGX{;8u9V0qnuJKTJ)||B85T>-Ck$UJ4WthAXOQ5YSv@t%8mIVF!fJP@2x)f zkgzp5f;UQ9sO;>rJfuFTwz0*2ZG3EE?qG4giKG)qR` zB2dzHgj@8_)%aP{MkuwMLee5z`oq+{Q<^r>A~?yq+z>EglziQ1GZxI`)D3gjzbAow zfbjq?PMxROrX-;U zyv(CVf_|swdvn}*r!D93f^lVyLN>P7PE8CwJP#o^iS=6@p=XLhc{3h9TSxYNXtF*sGL{;iITxYgO6!^wn%Y$ zWz(j_OfU@jiTpLfd{dqZjWsrQBU&#He?J;j z5x)fZ-Hi7IKCEr&)4~hcTg#3g zg^a4aD`cfnkZ6XZNZynwRB44laP8%Ggv}3U!;kpU**ng+Do;HHHHG(KXbK{?!X~Bh zX-bXPpzGkde1P=98nAmYtVS_i|MJieoq@rW8>rrTl0@nt zrE}{OvI;mS;`s9LwKhM@JNHyLF(R~V=x#>SRi!!F2817jO&YFfOYf_gr6bIMG?)Y2 z7hwJsE*vbqmg0VbFlYkQV##8AY3J?eNn4t1`rf+qqeuYT!N})w-3G@})|o7s zzM#zbZ|K@O`hB-QF^2=+ifixes%K?OwH|3DlrC!0Zk*W*rAbR~BUpjrlAKIPcEe8b z_F?bcKiO`;n&x&rYp2fDJ|qyR9XNs|8hmZL!M7Pq|C*+s!eF0ibVko*hv1bn=*=iB zn(vXWCYHX1G3d=G9bq1l7e~t^m^vb2=^>^|?;~J2ev6Kv{8~jm9JEGM@U<^s!5ehR z!t(Qj0#H_?twn`