From 32dbc7faa6d670d9ad89890c3dbed38089724e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Wed, 9 Apr 2025 21:31:50 +0300 Subject: [PATCH] docs: optimistic offline lock diagram --- optimistic-offline-lock/README.md | 4 ++++ ...optimistic-offline-lock-sequence-diagram.png | Bin 0 -> 56106 bytes 2 files changed, 4 insertions(+) create mode 100644 optimistic-offline-lock/etc/optimistic-offline-lock-sequence-diagram.png diff --git a/optimistic-offline-lock/README.md b/optimistic-offline-lock/README.md index 98bf4140b..c14e102ba 100644 --- a/optimistic-offline-lock/README.md +++ b/optimistic-offline-lock/README.md @@ -35,6 +35,10 @@ Wikipedia says > Optimistic concurrency control (OCC), also known as optimistic locking, is a concurrency control method applied to transactional systems such as relational database management systems and software transactional memory. +Sequence diagram + +![Optimistic Offline Lock sequence diagram](./etc/optimistic-offline-lock-sequence-diagram.png) + ## Programmatic Example of Optimistic Offline Lock Pattern in Java In this section, we delve into the practical implementation of the Optimistic Offline Lock in Java. By following these steps, you can ensure that your application handles data conflicts and concurrency with minimal overhead. diff --git a/optimistic-offline-lock/etc/optimistic-offline-lock-sequence-diagram.png b/optimistic-offline-lock/etc/optimistic-offline-lock-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..7870596ca211cddf9965010b4b3f0a34a8a0a0a6 GIT binary patch literal 56106 zcmeFZ8cPVg|eJMXafvw!uV+#FW9nAUr|8qp;ARoTE}*C(s{Ab747Q zFtEBfgcn07(03AJDP=h@Fi$ElF#ljMuqRNK{}C7%fCUWf*Z>TSCk+e?$KhwY5+CS> zqN#?onVcLL9q1Ys3<4Y->=Wn;9P|SgW(fxQuWK+ckR;IOQ!e;_@8&}M=Prb2?x%mQ zM?VUtEYntiglJl-Xt-#|$?_Q6+cFuN*c+KLx!XE?6aeFM=K)>Xnz|U0xZB#;IrF&l zll`j%59sWXmiBfeA94+i>;W$PWMm%|{qy;EJ6$Zz{#%os^Z&dS=mnWS?l6C0VqyMAHt12l zk6a!FCreXM%^&gwzVQ943eguwJfCe(0^ z`fnMU8+YV?gv9%c!YLkcyBMr6qLYCCPs*Ly<^D&65Ck%%P~PE8fN9G=)kyh^#2x~vGis6+5i)+Lr0U$+y2AY3QVbz9p|D)OCP&ND@#DS;>ukz6(%1 zTohuVc>~M7J-@rJdga>EqIj@Thv3PCf0OLPIM7ZtBc%Wj`flERdZ*6LF#D55iGUNe64S()Z7$Yr{SH3-naRl z_z-xiK51x8iy{m0i9CMCDk=YlBVG3-k)FzYbbU5GG3iWgHq2Rz*!C$L)#nrMx0jP- zmARR9Ln?w$SM8*j+s_wJg->EpolmdiPEX|TEREq|6amW^Qj?BjFVFS+SN1W$T4N0o^r=>(2=O)(;nNz1IF1!)`2#b$1S6;$GK1t--~0?ygTg``dP44Eiz7F z(^yu+_x)Ipw#4KExQMR885EmbhbwRED8NmneySdTxbwY1IkFS-8G_2n?bS+Fu&!FQ zxyxa3P_pUokoqUd{<`vrUm>rtq~OlJmg^1K){=DE`^o$ypSC(BPobIU2E1-Oor z8L0_k*a=9D7UPJY8(BFR@i_9#!JD%`;Zr-ADFpr0I*gK2(4>c3ju(=VQ@rc>O~QC9 z0JlRH{k}Rxl&vX6f)7bHO{=qwKcCTZU#X6~fVf6Ug1=!zNHN0<5mvEg0{rVA%J2Zl zMv{0bMV{<MoNqgrOqam-4f2sQ8gMeCLJrtL2LFUx(FLf#l`30Cd=6o&-58 zVdE8KA7Yh5OH=nr5r`m4gDLWGzN*m-dw_?s<;53p<64_GzZbL_6|l1VP`-#f+QrA~ zlUmrW(eDEp?t$%!B|Y3%7~NC>gCt=0wn8y0i*9+k2kBFpQ7%RX2F%8?y+378y`N^J z@T!w=j5jMcvmw6{3gJMXr`eOop@4=Q&9gHX$&RGW%^M@U6E@7(blA;r z+0zTH)&`qvx-u%GOKWs7zIO(-mSOEl+~S=HandpDnr49NhKK6&sX&d*fCuu$G6!ky zoV=tAnVxIsm^#IbA4Ezmn{)Nq)ZgZJ#I~>oSll{u04;boD(EqW;YDW)*7~;{HaH3r z@GPH7Vj+n`%3jDH{slHcOw_TI1JJcAkR9kVk4?KHD0*v6c|rE6jKM_Wo7*sn?1Q}E z%h#Xz<_4cHxJqB;yK}iM(w39c(4{I@T$e+#DX%II(_$IvsX>}A0Fnwd!~8LbEI9sfB5CISgucX>1E zC&igcDg`B_bT0vBk3cOLb7VIqk@tZ-y1nrcRe!?yV+KU*)K_?=?H-WAjraz3ty@no zod`f~geSxN9I)q9A+s;*2Jwt3Sp-?OH17kKG<9>QicgXhqPsSJQ;0;$ob{8X!2?^Kw`zM zSvAAakB2b@H<;vB8T<~0t>sk2U!(>h-u(e1NxU!k>*L)T0wwttqd=E1ccuF-w)uGS z)@O41H>aKxkA`oFY&!Kf*W?R3sTB0@;^J9L%wvC<+P2v!4;t8eXk*%E#u;Q&y!`le zf8BA6(F<~+qj0TAfDEEAbegG~(wXr@)2E9vmg@?GK&;b)m6g?9GAwnZD|`FY@s-f- z_w6ipGSxHfMCy_9&a1U1)mJS{xYNg{nao>S?pB z79yeR4K(VTyvsDqHZ_1F*g9=dVSf>O8XCz*T+241wpZ$;g~-Dcw&x7f4bhUKKa~nh zFYB=BzJToY$DHqb^GHa;flIeDdVr`$=s3^r?`0TU)d^tqRY|66IKD@EZz2 zMuSD=Xm;D(DMOy?3e3MS8qFvFNO*YZ2RYK~v+>JN;T->5{|sLz>_e$(*CreHy;yAo z=gAWcWI$}7=FR}2BeS+xi{E!l(tV5r<||sC2Yfn;b{wKCuL2g>o$meQuu_K$AiW*} z;DKAkCBLAU)adO{cstk^QJ9t}VhH-aY(I%3=IC#9Ego9(^!4cm_+xTOT^o@S! z{RWWO4TDqP&1ySJbAfA39y=!TVek%!=Sm+ooR(C2AMT9`>Zy}8EQr9& zwmh0NIHnc@bzoa)4}^dC%j+}xW*yGUMQQZhm`HU}NYC;(-G(vh^e}1(-u<=Je_i&@ zE~{Q!x}P6^_qeY7Y9-753+M%$Y`9g3B%&5=5yhBU{LC-Uc3{#ZwZmn(D$xj)Gf=S> zdH44)t?G}K{G3lM;ijXtWx~&dvBa{=0921P zJ(^T?KX);F`q#t?wa%IzJ_YgYH~g$@Qojzfy2`g9X^;1%BHhfs9%+zEVXzD<)JRx% z^Q+IPX0IZ|-bgqS>BK=$F2}Duc6RQJDce`?+k_R;x5yj1F(sC3hu!}QVGHE>p3P~nKbiN5j(vr&QsT`ktZdCR240F3Y zpZNE=y%b^vUZhU`Zm1# z^*WbLko)t^&}CfM^&EE{dFufm9+;6774V zgS0}j3yg+(Q$LT2`Eu*qU|$XnX3b-l*fr;3arwok=pn>vwUel6((Z|Fx_Y~L9~2df ztC0k%vf0=1V{fOiLBz)u!UDPIZD=gbFuKm+_AoI-_iwcuv{mNi@SRpz_RrJJQl_Fp z@A3)HOrto1=c<37EsXPqUpG3qmIjI5rZeD;9VeE=_!`mF1X_a(lf}FY7qqMGc3_xj zze*E_HR{$Xl4(MX@E7!BoSHjggLE0!XNA;^eWgIcKc7FHiEG75RzGiYIa+6}=~c#? z_c$vm&xd#oElG~mpGPNUzMCfUJ(Okrd9qgU+V81Zql(!VNOx7u_I~`k!fK|M^4KZ7 zrG0t(dKIUgTDo7ON!0D;<}TR%FTa!*%^v{+4qqeV7reNpbE`B5zmu$$7R2yA_xFu< z{hmt2Vw@8ES*VJo>ou!+&r~`f`@wn6n+|sDte5`%hI^;+)(Sa5zv)eG)~BR&J7^|o z=p-SoJVxA3)~??B&yM$Fz1Eh2hjv?uJdyG^Nu@u~Wlgf7d_RmcI^OM$b5vndzt}tf11u=M4(3cv!G86-@L*rSX~5X*+p=?_sOo6 zho?+T9auh+j4Iz|KH$~Uwn!B!hY+N>n2}-Xjk7xMz@mh2z#;7SDrGUeVAM}c^$BdP zWSrU{16kc%B$dS#sbe!Rs+867>nT!BEq~+k>DE&=Y>a#fcXd$z@Yiv_LDX)yU7$d$ zUCbD*SJ+Cks$!6vRS@79Azs=LW$mESFKG))*ekY#VA;h+cFwjl?>vY+haQZ2W*H}F zA|$}dY(W5eVrTc-$(ks9wHoXi=EtvkwzvxDDH=IxcKpLn>3K$0r>5Z4VPlkebJeWFEX@rRM{FQ%ww_^F*@SNn zkh$qtR^KR2cqSWYw&pIEY0yYvJBb>MKWAj-s0)l5F~g10T>@>*iTsUazsvJ~(}i=2 zDNE)xb1O&pt7>nWuHaHwxi@ClX^vfuJ+_%e;8bLLHW_&;aYyaKDuVWn`2O-x_G46S z7;A#T>?W2kMrRV!<6ouG&F5Da%YgpWvlp5`V zYMfz*+8>w*%N}IBh2hXHDKv5*?AZ$M;b9u$5|WkUb3?oGALTAziRR&2)8I7=X@-e} z#YUbkiUrt`&sl7SRoZPGQ{goPW@h8cF(aaVm9Pl<^r^7&Ja*bLsrq;0-*$4@b7wUHyVg!Y;uy?MOIp; zdkZYTl(&8%iModUX^rlrM@+at4%^j0cXRwzn?q6;Vd-U(t4ma(-h+hTp1?1g8ikKn zQepyLjtTtrYT#EYC)E&aOEpVv^tZoL60Z!>RMzNF^;Yy>cboJ2sgszO^t}(?a8I>{ zxcyqnJZ0sbfkso=c5xn4$lgK!-WW;tGF(6cbD+r3`ZV2He;tKqEAB>_fC8E`+Ql&XGIVv$?~! zgIw>kJUpjKw~=3z`uJtoZMl2Eswr5+JMtq(HNei~zYkM8BG zTS<|`kX{PYCpIhBuS{p>0ij)<| z9BIWrXZE05bx=wT21G^?Mher#!%$S4Gj9LlFT_LziiLBkFeLwtGtt{2gTAfsb&{ZHEH@@rBxoJN5& zkKI@(&rB*cC(ygb8ls*nPDoiUs8|l!F~FL+lnxxFXR8Jd?1{4Se$1YUk8hAM;(dTr zjrqH7p=LXxPE^%8 z?f&p!6D{uE?(6h|dJB}XZn-cH%f6_J8WXseE+gy(SapsY$uqjFi8s!2%HJ=;(KpqB z{xXdvK6Q-ibq;wP9-qwqn6w6W&^uHVmo1=N1}^sh;^L?`o0ZUbti117>nXVx8M((r z^VI4Rg8_-TZj@ zoC38MO(Zld`P;2Nmd1ljhnyB`e}vf10}$oyXj z9#jmTe+>nVK|7mx)>%X9W?;T{Q?oqmGDd3MEaOG}rSqMEG4}24x+{{9= zjuchvR#4iZ_|j%qIw2eq{j!tTH7^WfQkJ)xLwZVfa4yzI-UXsnJd2*)J*{W^K1JBs^tW#m@lufWNoy3$s(yRH zhgyfzZ6Ej$lf`NLE!E_1jg(B`b&L-sxF`wx8l`b+aTvpzi3o%e^$gS1Dzi;%?|u>G zSR=$+Z7h$KnuRq4*RJGYtBFxJZ=MKFsN9iwHWI22lS1M|H)Gt{niPxosXIiqNy7S= zUAntcEJa(Teo9)bJDTguHi{?=pqw3hH<6)5hlNU9`ENI2sM0oRSd>tEiCi((vA1@- zRX5BG5h3N*ch{HGpXvilHw@$1Yp03*V}Ds64=|;#xL{bkL?HOldOs&|_fxXjO=Bu# zNKzA}rh8YORz=m{a^^@I^g`a4)E{UCj}=y&yGqna9^k;R+nDt>IZ2|26F_iHn`4GE z%yVjUwB z+Km@CC{dtdLEz(2?KT9}+c?!v;3aQbcE|hzx6zXZ@l@Bfg?dd*O>jhg28w|J{*ZxB zu#iLN*D^jHQJwGS=7l!KLf(wF=oSm7FW;Orw5+btOs;oAg%Y8AJLa`cXCF$V$y#K4 z$W>Fk4TIg+?Hs*s{@fi6R3$0yy!?*N?2Eb%4L#ImTY?5u4|xMq)oS!X2I(kUN2gQk zB4yPZ$E9VgL@i^)obAsz4>C?-39D4I6lx$!nhFvELCzdii~Rj4B?jBXXP{+{{g)*z zlnd5SYM4L**Sw{w;nfNtHnO11O2xmNc8uP?YBff_diUtNRHNjFSd8D7fe-pM6D&A`v zLyr;9Qc5)I$C}Vtix~x8TH@mQ}$Pq89+C?bLCXqq7H#YPSD!TiVZ?$_M_lcs(~Q#s2nebVl<=G7h4OYwEHj2 zg=N!xY{`M`Y^4G3SnzTz4ONc`pEJxwFWnQI8TH5|rk_4bx?IIsX&3T?vG}|Fm=XWt zfB$EviHfK*)`g~VS}$4xK$SwV8)>@f$oHAp zQNhT97p#y8NeLYej$anF^~|xGaDpq?d@cO3*_fzl3LrD{hg*5?k25CFgN3o~x_iJ= z{2U%92<*gt%hRAgK$ZFH-=i?ID@(~pd*pF{I9yMbztYyN$lkVz{Ot!YQ1cfNlexInxv@iV(Wfv_IWw7TY3v*5Svnu;B{1CL4^uq? zALow$0?X63{W>#<@dU7JBdm>kY>L2P2%?UM%)?Q-$=s1Ho{1u1JxX2Vjy)WebOW(T zkGUwn;H7d2AQsy!d@wzb@s*Z}jTDv^2kb4ZvzxN3d>;5%AW%K+OxndT!;z<2(1f5L z(IFI6L%!htH6h5huOePre8GR@8x0$;4~mBuTlMW*$wGW10>&Vnd^L9Y5uXkaAVMi*$*R2|X~r!OS*aznOfTR#wp6jt=| znoD+nF@Q+3LLJvYOP<%4ksnR0}Fbhh3cJ9Enh^btrBVt{kuKj+#SPHd(!vbfbv2NL|WH}>aG zbXKS_cFW-OykPVviTp+o9+F4gG%{{QsY#65KzpGJgbeZ1X{a82_mTC_$oc5Yp1pq8?mC zpllLhkl{x;D%6lkK|*(us3RTtE}K_dyCFSG^+bHzaylG>L>AyqC6tFVT`q|`|K60?&X^hEGp|<+jJ7DmB`6SunMg9mmI@qQiUtDH z8;*VbgaJ-08HB2q>E9ZlO68h2RF^R+cf)Rt{u$ zFAiV~3|szm8^Fuq^OzR4EJF@P*;C7Nd&p3Gyb=9AaDFN7jnPZi$#5wHrlwh4g444b zmI6!+zxq>${rI<>$MQ~U0^%$K`VVBD1R3^0^)I`75Zx8e`;pcBeR(F2uf>S4`tl$b1!#D~f`+M* z{_zKd^kHWJYdGK5LqBkqDbe1V7A9*eyM+09Ov~>GvD4>CCzX}gCqr@n65R~yaij6n zrX-vV%`#GQa{l7i%SV!w3`$1!1=!+j+q>@C$gg~Ci z8XTF6@y;2nftuD22@#O1qPjHtCMvl%Gi%J6->PBPdJuVW*wy9FRas#l|KkVd*sqBr z+qnyKa4Z?>Z!-H`D2wBXA=f5->zaS2$@GO(vgjC-QuY0`&!GsOAn(H`$EH%slBh>p zXA4aB!i}V*% zq6yiQt2_7dnY6E`-KoG5mgaYo57cT*ih(GJKTI4i7uhcP3S;egL$Y_n(g-O60?e6W; z+wMGlKd=RkuhOb=T_&YaZKWh5umT#Lno_;7pkY7ZqO-w(TlN>S)$OW$caK8z5PW)b zGxsnsD& zEr(Zkqxch0DN1PO9q z<#EOD0wD8cdx1d?bl;b3tA1eOd=vJqez@hwY~?ltuc$6#pAL^0Uz)yls)urPs?w|Z z$wZISYHw`~+#4*LqiemQAm`ULXbSSLR8=>Zk%=lSDU#N+i}ldZ?G0&cE7FWD10bEv zn*d_4Dja@IO&w#R?9c9E<6!-&{QG^f+TnI8lm9z@qiuMccFm;|r+&{wV}Zn4z;3>+ zMiR0u?dUX{otEILN`>uj+s>!QvN>}K{WX<*HU68t79Yp$j8&}_Q1sTG)w5YS6b97U zmSqw({{8JDVF&FEB9{5vT=`a1gKAUYxvZgGb10(wlZ~`1724e|yN|)*Amgw_*=h3j z6#m*{X1glEQNb1vzfX$El3k9I^Y)`*Kly5~fqDEdn|XBnqoCkx5rgJe{qDO*ub2m~ z)2s!2nHKrj&w`d>bM@n?zp8Rt)y!nGD2nKQyw&b#l2;07^e6>dJwHS#Y>-~hmjgtq z?54Y3+AFsjRe$}O`n5buzHha0f3{|)Oqyz$0gH1oJh^6?Jlsjh@B1sf_}S%MTcxp2 zZcUq(ZX%UFg(-n?&Gnn*3SI;4`e+>gYkuWgt+auqONTD2=N@bljpL!*Qsy2?BgQ3w z(JJq8l3XFJwcVcIq30)U4a>7{X-fa7&w1ygXWQ#AP_`cyUA0y>BXUs(tAhqLDIGsE zTryqj=}8;)XzTda`oPX2hP}anwczbJ>I>D{GeGuYx0en##b19{)0#l_1gelrQ1UnX zHNIm31BC$$#B1j3>5Ngc;V4{h;P*1@xL+Be@)+y!oWU@kQNbaj6o|gtFbVinfu-k% zbFS6?Ypt03?m8POw(xbdf8WS<|)Wp`mRk^&l&g2P5Rk3*XgkgD4$)_l6o z7*|TqA^r?nR(5Ai2(?$Fw4YK$TUGv;RxG*GX4KVNKBbl>7SFxv)?n{bP-mm{tfrzm-qC&@iKCai!d8qYF=>@9_WPGg(>5u> z9GxY8YHE5yp3!6FW59e)hjydYonu)$BoIHd>iEG%8-i3gj9BfKM-TOI=y4@6E8UKD z!FJ7tgTe5_(3ns}=`0Y|#i%S#A+z6x+_hKGn5x!yZR>oyqZ78-e7*Pn?XuI#M0%BI z){%mV{cG!eL0#^%j<{(P-_65ZMs%%e^U1PlrJ+=>`|afYd@_%y0N`29Y%9y_Zv5KM zSM;D%=;@yLH3;+Qivi_YlUt8Yt$`jc`g%{)!DNd5%UaxEL5h^d&fDe4dtRXZv_}Zh zASQ!rcuqeGCWWYc)>pl^b3wmphLu25&FxruIq78eMq+A(>3LcVz}7jio7NM2$*01KLbbs|y}RkxAfyQ50EA{qU@c3JGapH?WePlhYjmBx zU%meT%R_$(HYR&HGgT!h}8Euj)Sy8L0{Hm@Vq*PJVD z;s4P6owWo8<>b6cxBN|C$x?HjOH%x;0P3 zgr%q9g13VZf!E`)r{JWKY9hP?E2de{zC7hd8j5ANwE5|3O^~mwE}Zb0<49zZ2+LkA zfJD3=e&@!2gY`@Zb7_G+t?BitBb;rJJn#t(h{dEf^oR4ohzoXmBv{}0O2pCgH0Za$ z1y@f4+wZRkoRX<}5x5o1ZIjlMV!UmK)nr&Z-!IaJ^Cop&tFz8Jt4U~&t2Xrsjt3Y-gY?Q-08B!Ybya%U za@W(a1RlSYnEP6Hx6su@TB5hH_=vy*@*VYXP0h$3*H`Lo)rzk=4dL3zSl%N#p1vJ` zh-6tT4^17jqIZopNkljoG31d8lFAH7sa`xt)~^RP?PiN)Q%E~-M#y%u6eczcxa}NG z4|%P+cE{aM2lS zF%i~B?W?q`(M5-2@NDb7Nf`+6@kQatj#-CAMysqWd42O62yj!6-NYR zZo$1*bQ&^Dl0&l)y7H#LSpKVLN%geg=vi`^y=-2)1nO)r>9>2omwuBDB5v39aQas3 zn%PQi4PvFr!x{a;ko_zovdz8;Mm&qdv|Pa$3Ib778<3u@x(* zRcwZ}hhNQ^W$}mqW^8ZHY9nbOh8@q9T^fu!)c4sic@QZyL=w0$ygSaCBb2~=F;wg|!4kifpTGFdEsP;Yt>i<~!O78ZaS75f1 z6k^5Lah*cYj{r@+vNM%wKO+W}D(&B!NIO>|o2YHCW2e((?Gk|vORDi`_d4jL>H0`X zRR$h`i>fZwT?@Zn`<+Ve$l;T97I%AAlOn6pfg+V0E`3y!t;H6|?w<70*xYl{&EGH7 zdR??zX0Udt>fFhPXnQ*z-~UnFU|uyIW=tZzmqJkeC5m{UJk0Axuh{xZcwKlfZ*r8Q zTmF71kye8OA8Ms>&c!l0eU2)VH)6f@h0eHYknjtWPN(9z8}Bch5x<|pVA29aapQxE zAog17JTk!j8#a0^eL!JG=z*e8q^|a;>rgNlpUwVr=6=h#8=zdj21NF;iFQ9Np2(kH z$32kGuuCwn;*hseqm86gW5pSn2 zmc_eScM0D5n`RTu-wBgzx?L8Tn&;I6Y}SbqQ!UI-?qeZQ6RZBH3A-+r`^=keEp;~l zx6j=;J&>rn@x|5@JAEP$mqH(|vqXd~1vom0Y-$ZiEnjYcU!P?77ty&6nFiopC-2?; zUw<NBje<4WCK{y+Qc+T!K;r#{gho8u+5ecN6jy=qIj58_70>jU8Ot?jK=UfOp=(pWi%WDin}E3lg50YLzo#eaRjd z4h|T+jM6aQ82*C4#+jwr(oCH1%Za)*QoagJ%ZOsS+3%$spGjE|mF~D^pSGT-4{FmX z4wIeie+V%lh)YpWm-r4xGE)9?iY34o4HV4ypJJjiLj2zU?jVB?_Do`gP?|&lR&29^ zLqKanEzm#Ir3r_QKMFDj+xIL@!0+3u@HR`EuR< zM?8GWcEcbflILqb&Rk5@m%r}Ae`v0Z;IopGgaScfo-*+PW}FyFLWQlO-r1BCWct)p zcwV=w_&AN_6_m_ZY+g+nRixnP;V_`yx@7rgLk@=+C{(yC%8uy~qHYb5%?sF^Lx0UIG zAo2G%I${-mRG0%mvj^@QXz+w#vNx!};Sv6Q@@U%|LWgDL(RhOBA9j?2=A#lqch}4h zFytfkK7zcdpMt|Dr2pY#g#yt*Z#ENP-tvKn{44$ZpjrQ)p#M94bU|U!vto;miyF|} z+zfs?k|jlw01JwCr&M-ZQAe+32WdNP6chq;7zm~=3xH0GJ9xuDS}oG0FbS>=#@pA( zxH=>HEE&)MwHc3RBV`C>Qh2Q=9$$v9P11x3@0vitiGz_%1Mh+4B<^zb`XWezyw>Cp zot`TeEX$bBsQyulyH3)cR`BB4KA|Cu5#$g|>WPI^UK1#k8iROusFFb=#XOOq<81|@ zNm&ul;5zXJKK@v7v8xuSri7pk`i1{E+($|U^Mn%)kpMKg3`M6ut!4U0@_TW{SCI!i zkj@a5N>=E-AmV8se+DgsDLk1w3V6s$1hgdU0*Ub?e_IM+F%7J??EPQw3cN8QIUPe%(0Q!fnJBCkuF|D7-1shL_3<%d#^R6S=|%@82)fM3`56lWz;&uaV=>QG&mBmy2dGH;?I}ARx(^6c($+?pa#z` z$D$K|hz<4&prC!U7Q(h=pf_X5VVK(f_2LKQr_+Srt5T`d(sbC*7+Oc^bw=^o8}gdX zVURm1LPAv@Yu~i@-3SQ8k=##<oW z0Ax;yR3W9%b0R;X4N!$1?&1;!sU``Lp-Ig@bmqP}-27c%CA|_UI9noKsq&rr8gWC2 z8{4gXgaiX1O8U6PV*+zYuIJv=1Gn^ zb6H(omK<4r+}hrRr4z=;Smo55uZ*9W;RVcp@D?a5txQ~Pf6{Ad*bO@}cXp2YYd+`k zWI1xzAP4IGSx|fi4u1-qdQzK3vu9CzwNm*pesBU+kRViGU+(<;qBIBsx%6CHGQ{<6 zQmVFBmz4xDj7Epf(;Y0yzVn~8D>47 zWZT?T*ERQT#FP2%e*x=V2SygP9j{OBVNBlh$gggq{8IRzQHJF@RunP3oi-dQf(`B=S%RUV&k&XXt+4hf7V z85!%Hr+q#AHYAnRiT&(W&qDdRxit@_vuX8TU%Ki+mh&0MAFmIUAmR`FAVee!GFutE zx_rs6=*oc`*0&E2Mq(Wtj*TWzCgx<4JGAswd9QFI*XkXd$ctS+u>rwOT2P*d-ekak(SW8>!00 zID#Ad&Bq1067f1J*R!%gO(tr{En&_D3l)nQIzZJHYDkiE%2YNJV3C^BHN4r=ms(a}A1nupaj14*(CtDYn zVVpw4Tue-kVK*Y|#?;BrzL}a9XZmWLigAJMU>H`3Wh$cJ;?M~;V%=_EgOF3{rR(zY zS3brWXS2P8(`y>u1^l2OKfUk}{T|iU>*9^= zSJOzKwJIyfXV)bK9I6*A$}j)+cAeV8iDRWhb5G32Ab{nd-+Ir~c7C>I`h3=PRdT48 zVmzYoH>7zsyr+VxL*opDMUqE1+iXz+7XVRFPv4neG(%S49v9WmQYW9@$o)Lkx;@{! zoEA)R(y2h8;2|^d54<_5@%x@v_5f3>+f}6coe*`?<3YH3$q+JhID@{Yk@J_Ll|w<_ zORwvn*(p{=tr@Bedd@?XSATi!Qal>WUDi~?n-{E?GVgxU@Y@c4i-1R`pcBf~DC(@& z`d}OCE!X79$u4~5T~oYwRx9=zayl0}?>940_8%g?A54*>@V_;#*Pg()-C~T#kPLS_ zl!^G~?v-!_OT<(^+q{9XYVnfD;nhW7qQAeC9yXf=vM6tl+tO_dw)6z#n$ zlfxDkNV4X4RQqzGj`Ax&R5GTu>#lr!4+I|n(EQb8&0S!0dmkrY8vE?Sj~&c+yj*nY z|9-t~T<C4z)i?^~UeHA}4hWV|ZMLYsGXDCX{{`?CN@M@~8gc6rX2})+`c>wx6>xmP)m_sS!zck!(4)`?9=VT-tp15Tl5wj!hKmOh8E7@!8{>zxZCb zmYtO~(DYB|ibSc94HnKpCS+7tj=Mx`sr$eX7B=qS?yKXFGep$b?UD{D#=KTg6c^+; zB@R=H`1N6$c%|WN-%xiQEk)oAa;t}-DLu_7+a&xkZtn(yu(JLZjSTiA+oGVxQ@yH# zYB|*T=p}}74S?|{uMCOC%%a=ZMP#)azvshq0vUZ1VzjwX+ZnqPw@Iv2{E8__Iz?n6 zf#Q46NbF|QvXP1$tkfHc` zqitAZRzS}{KZkDw+D5on0>-%;3^jt#N_WN2MxnA~@NI_PYB2n>;c-Eotuj@{2AAKA+r$!6X4T8ml27X}xO z^c7Aksc;y4lREB0fyWG=Dbd%VMO`~OR87@m=uq|VZoQHN6u|5UJfDAgEibQ5=6^;G zox<3UJ%1n3cEz2ArT_cF%_isL^IC$HvKfhQIg_?2MpK(|Xi_AjM?;zqd-AM}r>I1mf+AYSD z`R=!xP*&Ydun>8-r2ib~$P5kO_H9)nz1jXfF!TiDch9&B5j=E3{Jy^xV-b{Fx8A>a zIb#P48=kAM=^6BL%1J!aQ3h%HI-r%2Eo=$_$eEO%EPUBKV2%51` zGQ~c0z*A7qb8++>$Jwfv(A!ea+d8ZOY%3q2O%nS;o6oOWYiKhS=@;zcDm-AzuM^Or zHTun@Zg||#W=pGUu~oLm>D}CJdLK>R9y2w{&}@P*fyf2b`u z&|Rc8q7Or@+2%B79FT=(YJnl$#&g;M*k`f|oG-SZ zqa{p@9T38wtcfd4Q2`*}kfqvAqlb%yHu^BB zd{--x?~gJC1*^gUG)i9o`FWQtGz1ySR*064VMe1*sorkath3_MxgaKf5CtmQZwUfT zvtUt=Ui#A^HT+b_qtymdTYSZhWG~INK=9^gerD8`)PlOiqH&?(UXA@IY{PcPF^p;O_2{yE*6NocH_jRo%b0 z>aE%}KVW8QcduUkJl&h73B47YX#e>VIuK=i4j68(FrUGBFGN#e?Nrn^RTq*b);kbW znhCqAb%77L*b`W+N0NkzIa4T+NW_tbTIeiHToOpgTy+;(f!@d%bRv3_#LYugx*t$s z`#{}+#!a(>%+QqF4yw{aEu8RT_?{!GnL=~$dHILML9|!bTyoDZWv$ZIio4zkMIx3V zgeE9x?fCFl!M%f4mpVM$u26g)z=0zb{t~X@JEXMi6F|1d7I~j{)|?nNqAC#6e*Ql8 zv*uL37L%I-O$TkW(B6FEp-SaW>&nk^`7T1?*M6p+NJGy_8z7C`yJJ1pjF@ruMW*gu zBJkZTA&}Y{r6NYyH<&g3bQ(Il#&T?Vs3W)}f!Gbbu%^oEGep{O!JO*-ohQ2Mp;rsE z^evawsN-A{`mbvqVKLU0u1~k%Fvog*bbV0#@Sux|ZA&0e(3*D;q4hRJVG5-M1}(N} zGCt46tl3Nl-*-Nyi7!Uji92mDw!$dxUGv+PiXZcLZ0VCuNYJpEfV;9#0B19bUtd8j z&t_&uy+-1Nj|sW^z$2&S8rFWTtcdk*YE1X`=kXbp6A{Qdo*z-LJ|Lv`!g|!s2$8lH zxl9+a?fOf15kk2W;k?!n+%}6YszPDZoP_qq(~IRLUA)-YRZ-D`YK=Ow0^ocOKUJQy z(wzoj`C<#Pk|SL&*D9FoR0uy`U6{%@^3J{8U#RJ`3Ez;Al#q425Iqg*zVb(&+3rAV zUiNV>gZ>f-=epZhufb6w72a?)o$CKdor-cacL7h6BZee^hN$+_in&Ao%`|Dm$)@X3 ze}74fx$r<279G=(ebIAI-OOVzCtrB$QutzBQhDx&u}{tbME?;SsenvLqelr+tlRxU z*E<~lJImT*7I!*FY%uZ}>E~9TnLH!S`nZX&@^$jM>?f^}FGy>_4xl(mzn69xE}(O< z{QZN%kEPNjs zDU2G#cH)+~o?Vk(%6K!rnRF$_{F^Pk*c3(ZV{#!D7bzwGhhgT(nTNAhutILmF+EVmtb&~QlNnahwRl4sP$ne- zh>Qq5$6v%RGL;>Nmj({aPf^7r1Qo}MQ0HXDeJ-#U7FpTBA^U^LSewP`>p)0XbI^O{ zyZk){Irx{*j9v(@ruW{tkH76;8338N>h;rg=>iBsX-?eo1c^;~mj3Fbi5c*kIsw?zQCYX)LZL`66; zFl(H+@6Ga7+K6W9GrlV+L`$+sre&Ciw=l0^f+ZXdF_~hUuXD*`usVR6E15>S)_$K) z)_*yLO`U$&sG2@*7ANmO@D-8Y1x0b)r&v{_u$@nn_+X5uh$ zWaMY1+M8_Yl(!m!aCF>IRV>AhEG$|i)s(`ARv6+ph%Z3cLC<}=Oj7H~i9VHLGtI&5 z;mpDIqjoA((bXpXocbvdN5hI)*kxjmm(%y0fJa(O0f|i6Nm3AoDHJt6fLHV|lx2%1 z6rVraRX2FbM~F!>fUd!IboGW@JgdQh%rz!l70+S^-r#*wzYwO?0=Bs? z$PfNCY|$s>mB3bblZ%d9H<0NzC{DDEc&JzL<7udZ6+zpt5aHL!qAYU+5aFENFD#DR zE@47;deE@DHtb z?88#}(6l8<1nZ09(W!6bOgzu}_ zG2voNa1(`=njsTIoaPezx)oV&o)z~FH^oxs6aK%m^b7*rE{cZs;_T-rS5ZDM(uxg@ zR3OAPJJD~W5P;Z&Mnk(!5poGL5CvgjU+UDE0%>vEfugoPN>;na=Bn@Ld+)|__;FnJ3sl@@KAGlb=vz8hgPmKu5-ErW)^6crq`u&kpE#F$5M78A z%qxS^n3YkvHdYXS971`uZ&x8CehNDR)|7-MxCsM7Jv_~}ANklu`%d|`-g2FH)XkhR zo+ue(<*|E#`Gv}I{opVc8+A?1t)L)}P?w9P>IpMo_;Nr&2htolGCF+!g;~LGp0K2q zA7y<&IPRZk1PfMZJ9AsYwstTIbp-rDI{(FEq!^~9ZBIr6T_jyPQ$9(OP48UC^JpLj z4pgTz686<2Zy@DUNB1~?Bc#~(X|iEEb97PXWZBm236TsaI53?Az3-#B?2VzvlGr(! zvvQUDvcR-AmT|n~Ch%9c4D7H33NGWJu^Uqfc{bJ6v+@CcC9BDA>x|rn%j$i(sIJJp zK`;gjd!z&3gU9XWt|PMEwG)!|BI{|adW*9wD%T+T#4M1)2ze>jq@%-} zeNr&@{Tdg@WEp)g7nP)s`C}_j5VnkzKgpVA2Vm&`TTl=CBjC++AfyEXJY}%AF!3{L zOdvMeIs(K-@l+PMRT@Dfd#Lo{Crl7CioakeerW)eav|=xLQm#Lv$zECT2clh*lY5W z`42{6g&u#r7B(P_zaBX`%ACD8Y~#K zumMh&gJGB^2usbb|ED5!q6UH@*GpW+>TV4`RUUM8 zn{5z4EA>m$C=*n!opAOg{k4EE&EG;z`PMOl(Aa@N>S>ev_{$Q6L|f4uqlek+gC|W} zf?lheI+3CU0SINQP=Tupz9x^3sW`a#N#3rm%Pts+M^bu28;!cQOAF)R-UGXh$W5^VHRywkz+c}Z9)VxTHw=BS>gj+7Tx*>{pnn7`#dL(B`ATojeO z;D6*_asl8=#kf%^?SE7gO7d6Sx0=>6G2=IQ;8*_i|40*9>PZoHT19@&7F`I; z-U?@ZO))`IijUci&O|oV8#;hrxw`iGBP?Lvr*Ci7zOJ7%Hzx*)vfL~i=48>1$foqC zkXCW|ymi4ByZ$3ut8vdBY^}NMe9dZ+n!H+yVta+c&GVl%N#Ykn1ql2b{$-53B6)&C z{f349{Yw;(K?QUaL$~*22mgM&wE@v(3p;i;`tuinFF*$T5;CU0@SnOcgaNt{fXa&^ z`R5$re=@Y`SQ7Px|6=)o#RJr3k)eGn{a@%_3>*hnt7Sv8!k8#D>-!Jx5AXq6k&%fw(}kP&`J$mtVgGs%4dJr!d%0?tdPon+ z`@VEh#gB=4**TxSeEE`$u66cLcmFP=ae;3eD*$t;ucr%m^UEYY*D$uYz_p$pffD=I z&BC_Df8JY+ioikn_|I&>t=K%NFSp2^g{rxjgtW5EPy49mvD7$i*ojohPfdjm6Iu%` zG%L0r{A(>U2!XRtYBSXXPY_TH^cmnqJ&yqzG zi-JXA=gqMX!AxWOf1Sv}k$^}zLv&tqDEUD+hBr^n%61!|tMbaX{?RG(g$A|z(eG1e ztW(&wmo(|ZC-L%dY83@+K4yL!2GT*@Nwqr5>6FpQh!%T(+B`W+PvvaLqJa9JZpGph zQe5Z@1~ohGstRAXn^dh)l>Ul3L4?ZW!q%_XP@B12~96ACmUlYQpz0<w4f3W@ZgVtn~l9vo_^Sp3QF>{7AGiXoq zEqxChT1jtSC5il}zrIhj20FMMq&-+a&wnX8owQFA!Q-s&tpC~mM_vJB52%r#k^CAv zN#ef-+=0Tx(@I~U5r1~~|L<$9dST5mdX5ATS)tD&zz; zs@-7(I2Ih$=4K{wzw%A`hK6E%8llIAzRupN*58yAKS@Xwgb}iRw3>dwg=J-Ae(}lQ z<{62VP}@N#E?!b*eYT>_S7}9q>}1-KD1HX;T6Y-h{I#3Mds;4%zP>&t7rkKT$lw16 zsh2t;z+s(^-qCHichS8&Xt?_I1Q|-jr?9xP)KvEVl;)wQzrPu@q6JYBnlF+^7CUJW zJdQJ$8}CH`BXS=do1?O9zVhZi8IV}Ly1P@upYu5H6rXiG7E8Or*$*&U^59uqlWw6z z;XA2pd_26%{uDG}kH^|asKlKUxup+8pvOigNael+@(Sdt>3h?b+}Q33 zH2)i=%=WCk-t7z>Bq`z@4-r7~{TWw}TcN}-lZ{zzl2=^xdU|YRhO*`U;pfNY53H=B z7rf29Y0|9bvqVQ8$LT8QzAL(^NAPev1(uBk<}Lz0ZOuoH%`UEYjRLd|!!5V<_qWj$ z6DmqLi%<5v^|Iffi?73c%JfGGc zbA~3l&t~Uj8v@Bl&#yc`ev$h!K;Eri0Bd+x+*E$v-gWwfV!Xw|Jg>ZqYC`d@wY~D- zaNDo_5iTSPrmHywB1ctAk8@c1U+c|@m&J5&iof;P@97lE(q_~7r0#Ay`JnVgjr0PSO$mVDzkG?& zAG@|@(%sdYEi+6@=5+rEX3dsNrK~Xg{4MPK+zNSFW5IPfDtYX>o+=!j`aRv(9Xay8 z>$3D~2D2b@hl6=~3aM1q;w}K|&zsa0!GxTf$k%4(VGA_u;^BsONl#|oxJD8@FLU8- z8HQBRseM@L%uKkQtg3Te578+%|6#(JXn61~s}4{K9dCd)7T`R=38Ff#kOo6LX@;@j;&spC-i8a9}jPtqYPGHr~*oj?O!zIBvX8HTNbPpU1p<|FX z0tF3Ovfn5DOZ|Rjx?#0>N&@mZbj>%m2EWKm#8s;tn#2=ZMF?OI12&X?86MRSRzCC5 z9$?(YE##gYB?% zyRrR}3!7)!=75n1It`>q8+UO`;1x2HQX;ZHv+rLgclYX_i)2kG6Zow$dEKBqp7SX? zq#0$(azdAXoq#DAbA~{$(bRk6sI5mammQBHbaOab(fqEPcK*ZSkuu4QR5GV|M0n=+ zd5gxWFnTz;?yFXSd=$vXL(wCZI(BlgYt8)^SpW!_;|R=MK<@vzXDcwtm9|M)hWjs_rx=2qXOP_{dy?sQOr z3T?W#yq_Kwf{ZnsMtxNB&Kj^!Q7VIelvt0cKPQW1N@|b z6E21;>ttSs+>(Q3(b=nB)PB?vo-~QS6I%-Z!FldSfBdDS-*J)zVwm;YuC z>kz$WKFdcx8r86*sp->F!*s0?5!fLA?rdK3!G|t7=KW-SA(EPR5Z7LDtA2>SV6hC* z6(0%@og9T^)P|CV0c%lyF-sgN1Z~A2z)0v61`fF}Tzw58n#@&f9$9IFLLrRz$AfpH z8oOnj*%T+SgoRYx<&}nRoo@kFoFI4g!JKX!g|~$3<30{kdFBj4-3Bh+*3??Y`i23X zV(BeQZjg^Z%3XV6aF%2}wHT|nQ-IOq)blj9hfdeh#0S|TH{isjOKV;uud^EE?o)t4 zzTysf{xcsKswMYK(@0^7p>pEb5R3|8r|RRBt~`Q~th zHM}K>)7eMmE7Krr5RWQ@qhh4su-QZhUjmNt?pULW$1NWUZag`(?#QE5YN3-vFFItn znC!=aumQdB95;rsMYy-nd)Yk_xbnA zyuDe^-p&vFeBhOia0~H;rj;= z;CFwT=*o__oV;SxT9o60P$CME+<~AuC_$8v9-3&w>T$NPJB2RPLMf2*4CU+sqnY?^ zfIeae@5B2(6YE!GI(q$kmL+krWMsRXyhK+^wmJ2zTn*+z7Xhmq$8+ejFAkD6$h!@L zM1=%SMN(L*5E;uwmIh)DJ9XC9Kg zUUv?4-FI20FOCBV%~=(BO}V&#T5cCeFSLUS#V%)Z?+Ccv25JLJCaW`dn}OVjIczTZ$71Fv6M?6kctB{VXif!^RyT@pP4`O)+E?t*Tba&n>99}X=W zyNS#HaT56}pY|gRef88~}-cR$kJ|;4g zDKtE*?_Y94Ih-EJCSrsm@>+h7Ub3z*Fli>|`#ng)B)GOH756OxyQ$>9%kZ;-L7a*| zujdiPhEk&ZN&ibimc3D;-lZ%>Mmh7liks(w#+E2=jG8K|tE#<0zNNySaaQ3hCup=F zNDb5=gIMygZ+I-lC<*nyvkqu_hgpb+evODoXw?b&AeLLDxvVJYb`^|6K0tM+zg~8O z;|>HReP(il(R$gN?|^K?OT3a;|1-mWJQve)jNuk4)enj&rVGk<4(EBc$YqO!Oy3<3 zcz);{vBWNW&G2@z=s16?tH=p-8A|bN!OYX+CIsMvl$=(){se@oXydur>>4!oP07^4yvzO zP19FhuXnLX8H^?pf)+aC3L}tlb+cq&+x8sv3{Ve)`Xp8Sb7%;SrC=@wD=z#Rud&?gRi zD#-gYIO@#M^Kq%=8{+eWJ#1Y@h0Y%vwJcO|Z%5N?XA2@~Ye>8=%o@htRWlQXvQoVh zRiv9ug=P_xXOIVmdvgSQXRRizy9|+N*Klg=VFb1Sh0!ak*-<@Rb*dCiz5IM%hR;6Q z9yb);v>g7-;I5jO(c9PcD=XGrv&;A!OI^W~uPe-U<>Q`@<6Z-0;Ah)9&$&Wx@!Q04v!bw!^+tCYm^+1NYlA*46I?zA*UtO zNN~3$V%C1wDdvK2NW;ld+2MLzeC+Y{cC&XME2xWcQ^)ePS)MOKBkNYcMx^`86=|Zj zfGgAxE204FWW(DC0+#lLT9LySAEA*bpLy*UFuZly%OZaZA6lsW!q2FP+}dRTmN}hB z<|zIBBtfyj%2jnP!&1P_k_`r`7^!z*exl11)wd2f$PYwZphly7*>AMeZ6DCe5Dt_B zc64Ncc*t+%4VfuA%=iMM`;H^cykkkz+TEshiY|SVX8$-6SkR+t|yBJG){C>6@oOhgmo@C(nQk6*vd z`HhMSYDBbPOoCxW(XnT!Z0&el45JW^`y=^x#JNXb4e`SboP=Qet^RC|C$#vY7HY-> zRT{;<-HFRvMCw^i-N>nFw^m>1Dzinthdx>ohp}8b#nP|d;oaI?H@BS}p`3H9Ms%WL z{3WF@sA3;r5SxV2r8aLDJ_PwAVV$gsAh$0%^+DAyB;kM|K0QA?;YiPKd#H;d$k*cL zzi%{Dh3LKb(*Vf(oEV%QuW>e8G76ekkkyzfv9&8j2=e;t;ok*qyZX8AhKciF09x_q zv4TZ&sekoP^FR+^Nkp;jtes912r(G;&y${G`gi|-eU5$g^3!lc-&2jq{iki92mXBY zsF6J;-!Uh3uWkJ?v=LhK7zdLH#;2adaDh%lB}E1jdk)%a^}|CDNJ(H0t^3VK#OF273?NjSc=4Fn!GA1Di3pJtevSL|4illBR?LwqtMGMT2mt- z-HIxQdSf?S+Ctv1_0MUmPnGVt(2vWoB73W1EpcXV9$=bH%*|_jS?uu*x7PJkmGchU zM`1FDr88<}v0OYPPlZ-^8>#-8=mZKH`D#CU+GjHvp?UA~%5pn2LMBz>W3a&4XbT1JQ4f$*B z^>Be^2@JT)cSS;}GRTU;D2nxemf?qk3*v_(c`^M6IOS5t_Hh4_T zb^Cne;OYGnJ<(5b8yg#!b%!KdJIcaf2T6j2ism6XyJiBBzjl!+6xc(JiD`|wIjy;GjWB&YGbuqnrKBDx0Hy;6rqT}0`8N5+qT;(elcAAZ)LmK>5ea&fU zPL!&ws>%F()1p%?$XQk4o;trypb;GVl}Eug;#gf71`EF=URq6 zk}+5B75q5YWnx^Txa3-zl{JW)nCK%>Q(xWeYf)`k@P)CFG^iC(>YVbA znngJQ+Z=3|d`b&Gy(BDrbKhPmZ<2Gp^jOc(u8#-P?<3SduG6LQo-p@TYl&UqWxBv(a6Cru}As>Xyps4#({4t8Bu z9X42<8X6IV^h)NxB&#`T{+e`@BCuv-CYf+WAaadAiCH7PO2Qw=K z@A0jj7WDVXiUybVpHgOB{_m*xZP21DX*ssY zj9o=)@f~ZhnKNi=O+t}YS@{)dG{%OKILZGWK?0oKX#apS-=S=*lK@mBwP#g(w*O>W zl=w2D!A0R;6Ucx7jPwPJPPU>qwWE``Z0YfPR(iP-*l^XqMg>j)tR~snekT7C$Z3v* z9-jP@`rE&Bw^s}{WVFB6c>2fRdI4+{lQ*zS!z@Wctm)z zf{}e-A{XWQy20%CI)D6<{~>4gPX_uBimx<0i!RmPO zeJx*=BJ^*w?}b4660kn&-vfzuL^Ncp2b-#)Hq{f3m70(!L%Hm)4vkaje@+AM39=v9 zO%o|x7ixdjnjg*uP`PQ~-udrf!LWG}{DSoMTT(n&e@+pQw+1k(ix5%5ePGApkS~!}04+-05?4;>(#x9T@y&FO<-zc zQ%|)SnFsLLygSkPXHK}L7gKeMEGCg#0&O;c%D5`M5ZF^W{rw5kWp6KP9_14|TEM`P zdCl}+G9d0Wp!cg6>5~JBFpzu|M#!S*Cvz__G#A$L4o)ih2IlYV5f2$iy#aGVtCxn~izX#8Dw|xTA`GmZ-!<;*sJu20MNzWPMyQ`^yxf{9I zq%_?N!;M)EO+2m{T5@A|n?>@S&RkXEC|0-`rsK7y!OP_k7cT5O+r75714Y>}J*=7! zGw{qIV+Mt|VyCFU^qM(1hmK<-i|!S&s%r3!nYbwW6R+eAB1UZA#JGrVY7PVD z_C*?h!SA*O`B}4JOQZ7xy@&~*Jc=2K1lf56XtY8YBon4VoSQ9{VqVl7sF2+IbH0{Y z6?g3sEvpyuVs4OOYyjtwpK*s9RgBWxE^=51N_4p@Lcs6dV$>obCODdJgUW!&qYn2! z3|jWnp=PJULW3&y5;ia@hI@#Gd0ylqm>_1Df{25DyswT&TaNO(N7u@_PHlo)&W6}ho1dh)Ti{`O;m9` zuNj_weExEO`1khJy+)(6JFz$9PHzp<)Y!O81bORXCwcqF!#9P?SXWPT*DHnY#nTV_ zjZif_j*NDI(z>s+XO_fh{>ko|k#K%)?p48XcG0}~uTDfdY*B)<b&_UGM$k*^Q0 zVD5jW@o7nHG67{fn8tQHNqUZG6krPKJvS?pxKZy}G)pWuOUOVP$UX zFE!z<&FtR}@MUL&X6B=Mw~>009sR7@J9tna#PP{1fj>FzjUAqIN8wp4 zIm>OKLnu(FHh6fEwA*g@D-*HpQvmku3eVO2Frm{-{u_c_Q>DV$uFW2eX=#re(>tRD z3U^+5POIVOhs)ihBRFeuO&6-5RmVkDV?0*#ot-F)rKLL8$b|#gXx6c+_04sNxOFrJ zCg!VKP)|6{!PKU4^=e0?`2t1Ki>61tqS8TT%3Zvq0~yJbgM$1we6Ot)kM#~}Zokz% z`7hAA>E7`uemS{{qNQ36g!09hVApvXmx)}|%Ww2h3-d!xk$d1jeI7SSJ^NkLiHUnSqOBQDt{@ zuyV8}@G)v>VAs^VEH+=PC#m)RDF0RUXK2dxm!%OcLbuv(MfXbbiP+c_^R@1XYGx^( z+0CIuV-|~9mkuoG0hgn*ms{+@-JYl*S57K7U!`}_!2*h6o!8uM@q!{(*MfNt&G)V1 z+0$zSsCts2Zco^*Q{*FYWAjDLQuXwr3V|QND+i~rDXv46g-vU_i;KhVQ-9APab~l= zRXJaHBjp_KhANe&(i*EBa(0aSP9$SpJ>v$*XmRv0dTn;#Et7_d=Q#+y15Xd{& z`x>)(3$s=CvGY89cVnCEq#84nEuCn*y%S&M70l=OfqrENGgVyYwE3P89$jh zg2L?Lp&?D1fN$}yQF63i>kmLU>v)k;o?C2fQ1hKTFA+p&^IBD)q0jEd{Tv)x#^*Df z2tuv49Zqcxhjg6{^LBJc;+r;H9aelRn7&T7IB8}LVDFZb*3e?kk-XfaoGy}L@pvdI zLtN{&8+Z?kWy;8BrByu4e(^SmMOUTv^80)^K|$TUFN(R})${({Lmt-$P8{v6l&YC* z*M-h3>j&$DSGMGP(A|D4-_K!6zSHT6E@{(>Li?}jX_3q#>{GUFQQ2hyi!1eZ=dDGc z<--NtJCj}9_SM*Sp`8i)rAexL0RlNjDAq!ASF0=xvGGH|;AN;L&nmLEbKnSH- z?Wxr`pM0Uf!htkVf9!hA``Z;Te@IA(PZYO|J%b*v$6A4-vW1id=oJFerdd{KJ1Pdo zCMN?zhbw_o@1on5JC+THfN=BW6qkcHas<8SAuBZ%O;{qwZdvbw2eX^?@Y#17xVP}K z-at6Xz2(He=z|%j`^a4=-diH;3wh~Q9#m=G9!zOuG7wJKuGEZyxi2|&RgwBV&ZGJM!w_ZF_y zw|RHP5y-r|+IDxrnZb7rhasW92py;5t9^$&cRt$*d&C$5y>$=WaA~qL=6WUx?QomuJYBrCZ1jow3ux?$Tk)F0&l+D{CiRQu&P{}vDps|j=G?s zhtKxxg6@~0-wD>Oz1*fd*R~>UVN1|cZ!j< zb;L3?q2fMcsEUT1HZOB}WIYaPfq(Xwo;fTp?}>L=|ZBDMT(&_pQHhkOOu zx11>p#}l4ix?Z++NZX;gbcy&oT&|9r)vA6MGvj~9b2)KVZFYmC+TfuJ=~W)kM9Iip zw5VIj2Q#4ZLSjQ5eTm+c@Rd4@7;Cv>DA$g&TGf z`+d7!Pw(!s?Crm#GeI0`ISi42l5s8$sg}=N9xhpK)st=SO3;7k_JX&aTNn2@#PB%$ zx*VszA-E<=@bWrLb=GIZ)TDC3;vi!&XY;I_eyBSX49qOm&9)7-RdQdam ztT$hMw7bpgp0v_O!lv$8r&^u;qJQewB;owR)#I;J&zman`NsxGeQy`$6oW9^1OAaB zeJ2efMOyu3$gx<|!%G6+kI5@%C5?*|>1+cPo~X7hZpWiqeVw;c%f!!4{4h>qvbOx_ zku7iEk%SFfNvw!$(ITGRe64U@O~5jHOpbLc#=Lfx6qsSo=2FuNf2WLE+#gJfR=y7J>rXK{4K20J$SVS(`upC)ml<9;>7 z-+979+rvZ5uPvqz%Qqe>7%EaCw0(0Cc7aOG7|iy7>Vojgmtad#)l)b#P%3+sulUQu zG>@BiJ~sqk4ODygrxrlx84%B)KBlLlB4(HX%u|5Ni!VRi{a!CAj!UkmP@dCxC~1^W zSTx?2w}RN_Bubhv;DGe~($~#mI+H>l7Pk2y%H-FA5%%QGr9T#J9=k;RHtr`*SMbE;YQ%q*mUl)l*aPmUYuf$+HHGK zSI`;!GxT0b!{0wX2{8VX1pd20~S;tL!jECwA! zBoEINzgTCto5lT?Pu=K_Lw%a74YV%k;oG}^7E_eo%a1C8G8B)mqX`ei7=YE@;ej3B)n zT@Wc@j-N)1v<#D7BsS%v5o%!j6zq=T>hI4KI%e>6+y;Z+2|AS`mL#wRd{tkwk%f{7 z!dWwo>y8SB#S;30zkjfHEA19`=Uk6#SAu4gcdw;ix|m_C!fX414AT$tKS zp0_|f$R^Y`SqlbOo(OHa-$nu&GC^yzqWlz_7AYFMTp(YOsujNK9JAW+@D%RNq zS@C%tsw1uQTIrB;$o@oPi9P-i-)8zKS4(p3_DFqu6lHa>REKvxZq8A$(5`>>JBYfb z7oKeDr7+h@%e~-?Mjxbg1acWlGq=y+5T(?$ zH+YlLUZrs4^X_pWxPQCW&Xt=Rp0}{rlczjcB%+5FQ+z#ZJ~QXoDdOJ#^NK+39&jtZ z#@?_t>uS!`Ne~NNUDG1v;H`e_-0F(N$Ltglfrml;&FPYs1qR-x+vHi;b8QQ-}-2?J*S+uLa)jv{+&f_v)z$Y78(#n!hY&BW z%Rs)CCEa;mL~%06dsIEyF9J0f_#U>AJ&R@P{XG^q#6*6!!F(hqU@8cVI8dSyQ^0Qo znQU)+52YDlG&hQ!|ADlOGjf;OF z+v#lg)3(Qn5aP=FK$#4T-x25&kpRTHGOu&q)$vTUI0GL+Dk=qKX$xtsCl z#}^U=anv;8dYoTCVWg~D;USn#!V@711wzjrQfd}KG^~YT!%oTgunf(5cRn36y|;rW z@a#0X%?K6P^cr?Hy))}hbI`p9_Nhx^$bC=>iB#mi+-~=(Fb!B|)6{VRhlWRwShpzz zX_aYyVE{pghVSiASA7t;P5oA3h!$_taed}6iKHY%>h&RiVJbtm`{n4*hn3WKrF~t5 zQ>?<&g3ql#`h1q>voMR1vU2yhDCQDeVl{)#Uuorh{bx?U+jNHF8R*zjC<;k_NbqA*pEC94vU6t37+6kOJ`|_cdb&( zf6X0^Ua_hf+6CLcwH-}zP*Jn+mZ`WdJN2|kir@;HkIAF~sc9zFMehS!oz())%os{x zcGAP#nzP#}$^(buN`2>CumZ-Oi6;_lH5A@$ooxB&^L>2MVXpp8xM^ zs7M@Xn8{?1>c16=^<24C0Mm*kyPD03`a9g`T0151KM!`#Jb=<1E{SA{d_o?wxU);8bEWnF1_?|^Ns4n3$Z z1XX6i4P8`}&!ItN$6OkT2*(R9$STa1>Pi@?`&TtRGgLjuKm3*45SawC!y)f5 zoH}YJ$Xw>yEuX?n@1{2RJ=cP=_GA*5!KiH&f^$0dF%+p*j2G@pkFYQTIxvT_G|DIN(I3@tYcd4E+Rhvg>+nP;K9CQc&~Sk6hr)AG z={{Xk$v*;W!7`^7R7VgH#$$A8@i@-|hm|^r#Fh7ADDC2{trEB`6?wKCyPtznYZk5S zLEn^|r}n5VX)1o#-fanJ>4dNF)<@4rS*&@q1Jzkd)kZC22*qUh*9T99-*iVhHQu+M z9rSH!Af0H}f>A4@Rlh$nu$Bu+tF!ZwO03^p(vRmz**K6Klp_xz;~hLE^~4cb%{-4P z5~D1$we`iby&NzW_zHD8H-+d42?q28MP~{wf#me6b^PyZ2=52> zhA-F~>fc<^U&z&7;NX<)yI)Hzh4|Bo_X;*S?ab1JXrgSPxqe*w9&4mn<`?t!R28WH zV%ePPN1&6qFRyc2zJSztzR&F2n`KT@Wmtzms_c6pg^m0!h`#fa$||GA*Ab=PIR*Yf z)6UM#C~2YXHA|W}g&jd6en%XJsfWsajQ!fVBopWr43Y^SMq?R@t6lHuD9ma)pylST z9va(X{jn+5&icWnVU}3c3=v3i#?YgnPjdrb(UM|kjI8yQUeTYJ*32N?tH`2y>yiGT zX2vlTasT83i-22>Y3SrO|6-{yuBnr};SQ;W)cfkhU$>-XH>R{V7Su{!dA2$5DkFI9 zmpbW}>9SepSH5&M@g5f%;0!U$x2;sfm0*{0Oy*9rSAK|SH_YGNFud}5)MhoZV zQdUT-JL;EOtwfL{z)-*2()spki*s0(mu{#_zU0eI!yf*oKth#Sc0=KO{t0C)LvFf2>ht9KAUbnpOrd5E4l9C z(ou!8en)KU8%TN#?>E!_`Tc;LwRUq=T`RSHn^cC%AtO^6vwwJZLNZ)=zR4~kvrHcY zEJ324>-5yTBmG0^c<)U+uYpCG`$ob|%A#})76PRQrAV_E3OiB9+Rlt0*0i~(;<`4Z zcACKH+8T>0a_;wiC|@-*^dZRgHI|v9a@zSzm_P*nSN2Nm0Z#m@9i^ut8CiQ}??m^} z6)A;v4K$BMsrea9Vq5wn57Q3>9*QK zSl4={t-bhyCzsy(NdRwzz^6%@Krc^yP}ArLW@n-?Kk;7&75dLZCBreIB>f|ET3-YV zxLV>VT}^z{vUZX}z2#9yKiOh7&_PFpN0^STSx8&W31n~Ga?=zn%rW~mzSO?iZr?1e zmEX0^C{>KIdLDG7zZjvAs4{;rI>~Y=O<#5~5*>4dbIC?SS;f}~u6}^kdg{%@0m%;P~mexhK!7zf+mk&CrXxzG~pj!KaBofp@60DB3ArjuEk= zvo5o3B#yjYu_-LGn~vOWYRw32{@7#Zt~U^*`P+l($7;^YP|}kW^o6-3V=^_ug?kTu z+?U~OEC_awdvUn#iu592G6Zn;pVKk9Tvm@weRCOV2o^>(L& z50S0&PWosm>fNg-V2MYbFlzU;%%8$Pmf%3|J0%8B;R2c=54Q_mQcsK+9M~R*i?dZ;6(v7WHAp%TD++0Ood+I#PysFvtmRB%ubfg#99 z&Z3e8B z#1r2+dMlS9M;DHI(RMjf2g}tDN|(}bFJ8$2)FBt#$cNubI!IsJcg=`CWWQkg{@PCZ zL&8jN&8-m2&kAl$)X4|KdH-R$VUhv30Bnw1koS}TdqZqn@7ia1qhV!YMJ;UYsw-*` zi41^KaqDZ?=7G2N<&;(OR1!`e{DwdWjj(SKE^%?wWblI+*#aC0;`m?W`F|$EY7&XM z%wYuXN*lX$i6x=vm6{heEdNncJaJXfb7CxFL2l5IFXj+Y__WELHKbbin>k>p52B}( z-qp^chvRm3ua>J9vx@;@6La*n!vp)BQ$B$cHJ@m924)2Q#CI^;ROkfpwa3fbV9cgVHguua$7IcoSM+vK8z_Jpc{o~Hua z={IU0Yb69h+OLy!qt~>#v^J)lG&mT+YV;&fF|kg%{6)YhfxwMBItk__02eVO)!ENd z2qC@{#R>hw86o+TBn(7L6A4c*r_t<^r6&M}@JkExE8Od>V6KB)Ip8c7c4#*4Ua+K= zKXM;xv@*yIH0TSEG?4C^!aPs$Wbvb94U<)iL*n0qvZm@jucZpJVB5$7BOP_`g^Z9m z_BK9ImYN($*4PQJ{W6-sp)U{MpM7Kn#!2kmk5h`LlK9W%)tYW_T^YhgM)Gv&OW(^^ z^jEI*=Qa2NxJxTqFP4Aa`296$F8l1~*8vOsrJnis16dK_-9fg0-T-C=6>tq3-gwHe z|9r&tilXx&)G+)XIzyP`*wxlHc?)sMlyRt<77hnDV7s8tr z(AhN4rTG8)`k4UeMfry(1pktPBtgPgw76cGqW}6zZ+~U6{~5C12L1m$WOLblijV&> zlHzl00*>{{oXQEe;ZEVCc#Dx_w8NeGbQ^Q1m3%3-jnU7O zkftx>A1f_E!9U{u0>*i&e;r0pr5S1n_TC0Ge8$Gkd@q50p6pe$WHtbR_J18sMiH3M zxHI`S|GAkWGvF<1>ozs1D+c32yVj>g#z84y3S19P|Lg96P>Hp*U1ftt zXhF%>jxldyFO&`{Ar2#fLWK;nv2j$IummRr-+D>xF9=Ku=SO=l|IWjZ*lXks*$e4% zw7wA&HlO-7^N8yTM8K_2=7{g4q%%g z$A8YwB2X&^(T79i+e`NRX2Yxu^_ zCjRjRY#XDd!S*`IqTJV40fMXI(lX^g@saG_;LHX`@8(@OW!n_1nNHI~;mKcdk<7rw z-wh$8{&f8_slWczqnc)3w@)OMHrowHz_Q8hReR%4xFG?~n(c#=PCAi126w972!dyX4~MB7Jk4X-Bk{$_gpSqZ1qb0OYzmow_UoM>5EU^EqL^L|s|c;5NtLuNa7&Ik#{ zv)G1|-{m8eEf+^Wzv)M(2{NWU5=B0lHC?^&{gz4M;$aibMwL{=E%$EYeDe5qQa`v| z57mZtYyR8=60dK(kd^SO2?>lZ#IxkIsB~Syjg{@i3X#J!Q<6AOS9T2hT@M^zLEb6M z-VMrA>D=PJMs~p}xbhldYR-bh3gzV=Y6R!u@HcyQQ zOTXUqj}4lnmwb8Wj~h6HVr}9hRuj_SNZz|5V7BWZldgVDj|GZlITFQ^c@fX}wiE~n z&)rsjIbRt?Q5ySOMX)vr_VYy9>2}~ZA|>_1$-hTQ2l*wvvmR7@S+hrMPva=fe<;U=|9W(F zVfr+@ms-d%{Gxi3rnA0JmEHrBK}66iJhshy13<++L}u(+Y_DHo`l~&Y6+{w-DFp^= zOIk8!aSb~QA_s9s7oC8d@Zff1`Vj{TB=tAO#HLBQD7%0?v{67&H0k8TN-`xtPO(JS zIl^1fPeyK3+E3XWO6&z))r5{D%%vCuG;nlv$tU{*rJ=%lJC9OEnpoI3s0j1uaPIE~ zKr#zYmP*iyWr${hRBWmGN`3%mWhUacz5THTmOd~6!7F%5pZ@EU7N*95EXUMk{7dH=sr~y zylaW>P#y>uU)j@sq1>=4-GCOejMOf184#Z67xh)obstu+U9YH`EGawNx5;70U3@*> zQ^ZyF^QURuNohntt`~g%mG>cl(wocG*pJr_yRA){0Rr6R`J6hhqN4gXvh^+Hf`dcu zo_b8&0C+#+0}X@Z97$Gs2B{4T4!to*UsDd+I=7WpPqzb#9F%#C!6&=J0VCM1eNoQ0 zCvPI`I`U%l+bn`%=~Z))^zZp==J&oJCri^NIY)k7A@U-~#aVMYZyz0u!%xV0H3hAJ zXE-mQtAIz>Hf@oioMhy*q2t!g@i||!2nySzz|crIL>f5t>-e)^tQ{Om+z^rxq$LijNfTbU;pJ}Gjd|fmmoL%VGbHLSP zVb@Bjv@6>->k4wqf`>iT!z7e=>$?vB8bK#+)Q>FmCKLOPFTYEw%+b%~uRc0nD-;NU zZH!i+J0=KY=pu$Ax@B=0U|G_g_ZbO)%=O{;%Or3IIF!^eZPsGQ2Y5K~X5Gi$hqrup zYYxVE#3W&0IZIQDd)hM6u6yg@DY#qt;t9x~rnQyE|(? z@dw-!7h8?*ob{PCRUB#-Rv4-?x?u|u9#O?X5_?VQvl;E5w1#IcU0I5t`3 zPf&&qn)R|7JZ^)H?AdUx@S`0wyiu>mlTVIC9P!T$=J9A_M2`z1b_4<>Wsi6)O&Lr4 zT8p}I7&I#Z#!*PkX?HO72$~Af_&CxeF+!sH_U>w+XREZ%;z%_)B}uX(!MDCmL5hLfmGIYy9&1-JtS3>c!OW zm6`x|I(wqj-U=)P;Sxh9u#5AB(Xh)tZ9F1%xr5i>Y$ksbAG{$no=`pBT`v1MZGCYj z!JI0Ajnj~F+*dmUI7-iPzVYcT%|hQ(B2WbRhYz@)SBq*Nj-57e0xcbftSScM#pb=p0m6Z=xW-cMGx#NpEWBug<4nTfyOM%z2td zR^Yi>zv1bkdaL)VOX5%BT-+NebSt>OMjdB4Pk`uLDI2vtBpofP8!dQBOWEq>*M(`_maI$EQPaW@pJEHyj>utvCe*obdyrzxt^-_M8z_9YkNo(C0m8|A?1Ea(`Y z>+`H){f?Dg1yD#;aD0^WAh{_?1l2ytR!nf1ml?Fm+j6b{t)E{rJu%J%auw35#eOtdEqHGMOTJY9<=y^kKRa&!3das%4Sl zkJh7j*J~1us;rEBIJDcH!kL=y`xuJ*cob8{+KY}%DcBJQDjGRc#eqrU5t!L?;TR)! zD#I0>E=Y9;H+j=h&y?r_s&6wGl!lOwX^hQn<*TqjN7FYuZ?}5o*G1UG)x4QK&Z->R zR+r|YvC=TRN{9KAG5QIntV;W9^OD>vzF%@b?l=q>vGkYzUlz4-*m@&v;>6r+8yhfq zcO{PJi|j{wZ5aAr)zqCWct?(EHF@N)-d5QXY?e!(InDDuWNpILiv^d--9~>&$MV{R zYK3GMvpyuj$rM=9e;FID2 zlA(ho#|(VEa+MW%SEd``yKOuQ0XSXkx`I_^{g$nI#7KiJEv9M z4WFoqv+)fcxGA05{?3)F>!MG|9h)-a_hUx$TN26kG*L&@?ltq(_jH%D{@@qE`>SJY zoP?T!>}EPTjW^S|Mynk$_?3m-1fg|1Ljne?dY+=zF?DR*mmT%SH0=!@-vc}uT%eI% z)+I(X=*Z&rF5AXCc;vDL(#-c|aZ3C~Wh5CDIo*jBpSLJC-uVtx6ie&ty0XV;-zeJl zLhS_V<){k)XW08bSG1hITX{kM71MZ=4&ObEp7gz&U?O+5Whp-$ky&KJhN$MsM?b%H z=~;YgwZn#Ea30Z#cp&pvV^r3q-91sOg*_)hD;#fnsO+6B(X%7g(AAE9N_X1o3KXTpgCJKx$ z@pJdd_i6Vwm|XKwd{X~CFYl|wY`tnYXMS9u(#Oma)QCL_rEXy&mEM=k(}=0~o!gQ$ z!YkImq0AgCbjAVX1X^ow{r4LkX?4oT0(QQIwC_l_-tb;}XWc?;(hQwB5P zEqlk&az67?5=Z{=i6#SlJZce9-uDH459x^ZP49fRmz96q4|SMl`a}xZRjjHdzOE<@ z(&Q$$;4yOMmB++5hH@x&)5}vc+F|hb>2ih13JgTjm>ld1Ubpu$XoklJ@}@k39F4G) z8JxZQ@y0eGQg6IJ>|rc<7!9)xRuxZ4=#W@o!tI6hTj;drNLXJgKOb)Xk~RrXak~AE zXQprLtI_0OSjTvuy||G`+YMwpNi?MnaT;Yij}oW3Wt>Le1uP8XoNmrN!BHI<1?;nj7Rdgx^Q^=?#r+y#%=%G&&c;T zZhfewR`8*lH7S0Qi`<-){3+|c&zNNmc{dEHa)qA;v%IsLyW3TdA))?tCp@8BcVy~9 zwu_f8GKE_~iSLJ%ucz!=h9_kcwLPi(a*8i1xWs7U?4;EY=yb~`n|~5% zsZQ9qc(c1VK7qJr0uT1XwcaCGa?nEKJIKLJ5C@wEvG@B zTu0jfV{t<426p)`1qM6w??BB%B2PGhJ&AVvu>EC>D z_cb8XL-FVvW!6=UNfpHY3h&7!?RvryE;$Q;A1vu5y1xO9NczFVIx=$*E&cq8Br6p8F#4!zr$mAQtA{^W?> z(>I@tjQ?CXq_;ot?mh7}^ser*dvaSojm#egmYn80J`YYw);o39oFxLxE^1csI{``| zbM260B(gJ`9O6?b-)^`w${%7$sS7+77IF|AY~>}Z(sV;J#$q4HxnWv=s%{d^;Us(> zJCPT0%H>S$FSJp9bF0AAx1tj~(x=LCwmzx~SmGd#Xb&8EnoV{S*r zrU@r*hQhSNzs4NUd6etJ1ZlyBFx7-8_V2Hy^j*i>b_0tr5`$^Y1z2edf$E3vE>?8ZK(j(!5}V6Mq{odxli{BWD}SfN`tXXo zGh&Kycmlw9hxt-2frfdv8gCUCVTq69hfIk<24X6vTi83o@Z2(dpjyg7rBd{{K?}R z`+;U5qU~>Lq`>YFecf|4R6DwuvK2Z)?b>hnOB={2ZuF{ zsHsHwI?8EDP3bHv{&5v762*mJCqJ2$T^sAtM;FG!5h8s?yD&97UHxVa4W!O|CZ(;N zL$tC{bhu?dCP{`5>NW_^x+_*${@^vzLCVlD2HLeRtu}N8q9&^qhX649RbJN%Gvo)x#Z3Fy4(v6)hsJyG$gds!qH6FGO#9Z_U|U&7KvC`g8AKKKa>RD zqNrpx=+;PKCQS;O0MM*fCH2HV$zz_xYuFCjO7G@tM@6Rf@~QVYG<{C%quce`jo;~A zyp;XO1&r*8v{KjAQ~_Sic+7tBgaQr@{aa3KydXL%rmkCg0K9x6PhaO4x_tlN7)Yvg z&E3wwYbuJJs{%lCEILHqZ4Kpe=8|Rt?)CTg2;P0G)gbn71XAUzY!7JuxC}kEjN&yd2Zw0cNwBKa z6aK=x4ewL=q5no&Kn~`qr1a)!q-)UcTkylZopg=AdSkrM!+1WJ=8xui38&I zgrq?9z6#*};O_mx=L?bjWwwjtV;3?6B@gxIq8|2DmF18Te14L~gzb9;WLv!ye)cz> zpQv5SpV%Yzbn7{jMwf8i+Y76r(n+x5?SkwzNvAPjp94z*l1N+lA1LjH^v6fYU<2m_ zK3e{1h6{Nz3mx@z2>@*bkpLB}*fV+mt|q_;JONgLe}IfXW&ln@1p+)6k@xRX0VwtW zSdzf|z2VBgcL|t_`7JP(|I^t2jM@Ko*N}9;Uez3Ce3T0sL!)n2h-(0X9B*Nu($dnO zj?XCH;Zk48R$%;cUXZFu&T?)?4hP@@U?&33%Y63J#*Ht*A7Ft{;qs-$IbolbED*WE z9HQrs)!Zr@zpzr*QiA;-Gx}Zs_~pxR@|i-T-{WL$f-h57fhkIbl{r~bW$r^ny&YTk zK$%^QDM^(6euShhN%uBan2(a3^{aQI$~_b#A5WwuzuooC{A{Kw=+E90+buHlYxpDX zX9!k3wvZ6&BF@6Vpmv$>d6YcJ>uPTEQu*?LKv@!Vi(`Ci2?Bfnn2KH6 zR8A&PZzKM{sbm1irq14TI3ZtvKMCy=|ci{_VZk z=)=9=WR&L#ew&3PzTtDuxd+2&gP~WB4i1$xr$lkRuc}Hyb=P{w$y1(Zei5`NDk58| zMj*(NKFhk6H1rj`vW*kF)DkK9T2k>TJawEs-zUFs<7m0y--gqgpS`Ki9&yuaEc^jG zb4cT(J9e?{@QiZH{W8+%s;QHQ(YTCD0-_3unrc?v$jDEJVUZLOzPS1RGsGrTSd#1a zKBxolcJNZZqfOa4^nySH@%U(JI&eehH<#k7K7aY1_e3p9wshd_$v+{yOAZLp)mzKv z|12N?I%)`ny>B7{DZu=RXCd|=%rlt zua7k#M;yoPhO$*lACR)P4}Z+L+QWbW4qy(ONi#^>`anxVZ$48O*prpaD&f#nQBpd6 zQG(3^aMNkx=6O405_L}E6`E(e)}b|34&?bqKjdV@&V5oz+ptHM^jz$2WT5Ldi+I|p zvvNn9oO+YF`(T^yO~wFLhZ`v5wDnQ!=xFHRr>$cr0cX!^7ZrUaHU%kLFix=DKjyw1w;sETnzSf{7jVi`q zUQ+Ro#J>&QtpaKy0An;OowL z9(y0DsIH!#{bu92<~+U={5yag9{~7A)o#BodnS_3sexJ#y7l(_pe9kjo};XWwXc{B z02^^|jt@FZ57(9bh8wGM`id zoh>iQtO8mvVB_*AIx`x`W{yp8YRkt^+FZ`B8oA{oW!;-B(bN#%^+xr%IyxWgfyTY$ z37?608X37>gXvbA?{j#t^~zJ9RQob3)vBgb-`_6Y(1>Ify5acTlJT|C7y)@uS1s(AcomPesrn zm^)_1_e!fI9oReU_sVCuGWhAO0ZL2jUq#JbLQzLz;o=GRC4l>ZQ4s& z6REQ;4D{e_-I+%!k4*qjl<0NDev;F{kpk2=m4v4IbZVY*hvwxM+8sHGoJPJ_AE82& zykq)qf0*vOvC)8Dnz}-(o6hRsC3=Xu@8ta{_5eJ7@SVyL-E&d45f_yS*Q)(8-|8}O zYa}N(?MPv4ywo>T>~d#yBjB|8;517NKt}3Te&VlFJ3>l!TSDp3qyr7s0*25J9J+#B zsj8w^st&7rS9XiMC+237v$!qu?BITBxKv&x_H z$f3aCbxRF^Rw_%UQX_{JIMC~WhH2G2tQV`Qu`ii>qRZ7kt-?dS*t&z)`t{*LzkzoF z$~{ADwOr1`u-HjG`{@U=72k_^0sD%W2Zl?;iJ@O&JafouQXu)-Dflw_$w5p`DoE)| zpv;LR33l{jY-<|@YoNakh)&SJAa0uzR%+tASsa(f8cA_-_zPnii3aAP&kv3kW5mwu z*Y`Z9b-nic+ym;4TX*|QsfubC+wnF~byKvk9UZ-c$v4jyCC<=?_L+5B&V6niKAzgg zKa!1y>(^R$uVfI~81$#~Ule(qqbDlFPCwgpE-rEi4PnRxPWZN{(3>s??PXji3k`*C zZ5oL;O3)QB#3eMt?$*9b)bv8*Ucm0!?Ct;|0z+<9I^MD8m;p!Ki>89CT(o0w!rz@m z9#+-cC5c_^;rC~K@2s}=9X@TZ@C1tGYxB=$=^rm+@*Nv#5ZtCjMTd<*z43>PL@Jn( z;m(vE?9liu+6Zz+nAT+OoHPVL_R#fGL*Sv#6=2~OQQh}iwZ<;oNS`q993&k1MG*m4 z5GvSlin1TAjVL;!q1!)IN>wT@rXL{hPyJQ&FwEWy9Xucf!FxAoYXilak)GeT=vg1@ z;Ue50_HGu($JLCQ&B_Aj2Pv;DHhHyIZjReup2xta%m`iVS1Z#Fke5fBmA*)a6hT9e*X-*2U*Wv0>{IBLwCF8V6; ziaKvEFGM7YV`EKI9-E}Hk`)jsUB{&e(sQ>soNPD{xICj{cyy&p(dLOuIXisMQ-U>` z&Pt?y!0{+)KwPZy=!IH^9;uEt(@d8r;=-fBcNGptzw$LydNR6-btzH5C=OxrmY%9w zAGZjLiWz~KV!ER6CXPRJ1u?w3L>iryyu)=KxK4z|sEIAk+N(Ilm2SbSEep@5;73pq zo6cYKAo$8GwmWdr`Q0RdQe=;+Y=gO725Rc-n``O2Hrk^bhb|V-mo|Fm&e0JzV<*P@ zU72*ntTl{{P7Uu0o-HL5Y-8j@@BUbFnO&3jdM#&O^Ja4ML=l@f)esQ=0N4~`vWpqR zQQb1R4ggQ(VtWd1y~^)!3mfuo|4J#wcEqvxayw_LSeMA8dhsGOfS!|1ytl(VQ*0$` zgY=SQtFH+54IuT*XEjc07M$E~pNe-@k@Bb6;eIv%kVn?_;0K{CrXe4t%Nd1)Dagf0R?37W93 z*RM-uZqJ};iEv3}`7~c9{W{t|cyGiSNi)+2iL5%qM~={ltm9W9kNHX-pTV}~7Xcc^ zEu@mVi8|QNw%+LcSR^p4C=XFVvk|;>ziZnn?^85wdb5j%O^L>BHoV(jf+~&?&3M2@ z#J%-dj)P2CePP|99!JYY;}LbkN_pKrL(fWzZmnL-jmKMSSh(`!IoX{H)6b(R_p2i1 zD0&PFHn|Up81bcm@td%)O7(gYRtKy_myfj%iw)`d4Pj;<7+l4n>v!C`IFO;iCqU;8 zJP=)xAE$<*D|NcY`H#2529a?+- zZ4=Idt3>WmK*K&)2vd1%*)I8VdT5Efejy==3fwawqb5p2{!8NMJ7nUPXEM_HzP1e@ z3`0TgR`4iHl>JfFl#hXNgdF~Ma$<_rW}&`)46r8wyB~QQU8D-c-!YwRJa4F5pPUjU zF`ZjNrZ{MDa6G^(8hwu@x_0gEppvZA%ZLbk-^?NcO%V|FZa}kaf#GyQFMYJ{g%FXH zpVPYT7*Py2x2!G+j+crA^1{xlcLUXyMjC>4!x`5PQ>ezVq^wg*2 z)d2v<){8hc{NOb7s^oSIGlnTFu^JIxEFHp-q^A0BYX{qYUZAavZfTkzkd})$Q_2bH ztI%;UNXV%5C~d`d#_^iZD9yAi*@f#5chLUU&n(g(pU1$!^Oox_@)HuXZ*qggi2@RU zBBoe=?lcfZCBg$LHRF?dR?>ViZFLyjL2^jva9_M`oI^G4UbWv&$Lte#mQH-J6%*U& zH>IW1Asu3GI*203xS!#2k}tp6DK!?#6fb!CtHbn--11r3fGe@F2}AHEP-`~+yqsHG zx%O6rT|uCOP^LkFv-UkJ&q!3#4<`GS&*3el&ldygxq_!JDpm!8f|Htk3f^cl=RAvv z0G@Y3EJcV)wVgX!{cNw{>uCo~K)V*h9`Fd36qn>C)bd@&CopTy3#o|QE@~qn+?1cm>lK)WS3m0Q4-*$)jGU%IcSOexiMSPAt$XR zz`h|5awv?re^Tdu33KNjsJL7~Tm-vVxfkB64~~qP32}~b z+&&nw@n%0ITr?T>>Nf)k)F@M$P{o&U25|0r8Q<9Lh)}JxGW6lAMp&t)P=dH;<5$Bz z69Z>uiE5gtD$Ys1omdJuCWEAD-wfY3WBW)_mEIcYOrP!{*1Gtmt`!oxpTe(~US>rL zZi}SA($dkmvp|xmkO|M>(p@q=`20*_h?pyhI0cy9y4B)BwA+9>$|*z59I%}~fb|oQ ztH87-#XVugpEsSVM4Pn8?xxOvSm8ZaZYePZwc*K}5h0n3DvO!(!X$aF3P(b86nDgp zza$IRwz_#G*xMVhV~Si7&EO+t(!%m*8AtsJEJOLl(>428GjdXqk-Ioi9k+?Ww7$-A zpXEvNh=0-^_Q<&^sR8y=~GK0R6Z!Xd?CNJXZ$<#tth59(WFCx@_D0 zwWsrZ-?7+y%xNc(r6KRE+dQvuY}w|mvYtm5|9lRKv>F9?S$w!H8+z+!oX%G4(`!v3 z(;pvocDDvTGga^E5U_m7PJ1hpf}1HKzF_rX753znKovU^G{`GZul|wtbDiAqhLb9~ zNwaDv`1~wkJ|XuTqvO`~77me?4osndfxU#gz*f`A0UvG}4}=+#TG!sV^&v%H#g&{{ zo9qMC0v?+MQd;x@P9~|*-PMem`S1gA!^80Nin?avU^9crJ?8r#UUWXm0G>#Q^Drmj zg7izaXQ7_-+{`3QK{&>q(jLRd`U+n@K9UH77(#^6>a<;`h1LwW=$vL6Hu{8K?tW29 z@AL>a*vSj9*%_@d!QYV-thRK+MZH%>?q( z6NFV1h#nYdt8Gu}p0rzet$!AvVmBpm(M2TFEQCimG)}2yG-VAa(v;ATW}VcDhq&qI z(o>eWO%q0PX;&}wMy_K)F2x5>oO4(FfR=r$Y9Onvmr@xl$YGjp>2Zd>Nv;r)aBQk1GanBNh0EHhxu7lW!&R={~kr-7vPh zGa=oPTw$8Bv?Gu28hLKxFl4VEYfTjoz)xOmhthh&j!JKv7U&Uj-ZwaMCXjP*R*h~r zaJoSUXMXRIVVf^Qc5GF$7)mwchhdje>@X<1{xw>hyGr}z@s6Jy|3h56Ml!izGtZ(N zlGC%WY5C8)v`AL+kz8Yr1+U0$VG;q4f|F0X-d?@i2VserO{_Jd%gq=A78^Cby-nX& za%)h?>1b23YdP+1LjQEQ$juzsaO^$MQHu67{^HV`nVENDdrlI%C8{+wxkza!GT*kVWcR{@_Z*YG8AF z#hY%-I}UU4*F8k;w33eyI#mqq6zX*6vdjQ;xeqh1S~lP@erGlyDB$`A?ON?oNwHi) z8n}2pAWAL@29^j;NsvoMwu{Mas~Vg}zeQDeXK*-aQBYx*sc)&cLobG>&hzWgm7^7n z9~qpSgb;>h;^y~FrBF-G>RVyAeCG-AtCyX`W)ayArP2y7-{Vx#khAl6D3M4}mw+)R z?Os7>$4Gdz1}Q!fsyY&1wfZv!QN&|YmzYg4!Ea{kmMR~p*|m1-H{lmraJpFG>F> zy#`B4_`Ou*H2U4}%e2i<4@B<352gtI4|V2zyiI4a(k`b61BL@|;%pX9NhD^e{z$=; z@!N^-N^l}z`$=5R6OW!3uIz{%bqCK`LNZ%1A-~mNE|O}c4_qW*d7;pUQ|~?JLv33P z!+ZAu0X7*QjEeg_V}JNQm38>JW=-F?4)@K8I|zYxK9{EwGttBEj#*L?kE05Fq;9)0 z>3;GeZqb*~JJXe?CT&t`DOEanLcs(+E8 zysYqA=3e55zP*n!W zSn%Id8*92;O5gG{dr?NWtFOSvPF61D^-@lI5QPW`j%QabP#My{D;JD*HnEp^JHFd2 zV*-dor;TRM5l^XN;1?KoAHDDw(pfkoEVFSJGes8}#q{#ft*~O|rHo!J&<~P%) zXHoeJb3=()XsR$oO>{TQN^f$NJFqUG*#u1jn!G%Tkl+SUoeqj&O00kN-96LX z<_^m@O_Po#{W4(RTbD3firA#4)b0YPMfmCZX2@-;R&21>l^%gfN<7b{!QDl~tI|^V z`I2K`4;>QfGczVTZUSY=1SzxoYB%o447@5Lgc1)4zYRFDnk+GIyT6)IrvFO~S4pzH z8utBAY)%=AyWmQJyx0a&F_;{jAnUyHCHR+0y%nlRw!UuL*l{{EYnWm3y8qT+@P19eUIa^ zh7fV6IEC$6kKVxkAr%Qppt$=CYz_!sYM%BV!bwbfiem|O3!Z?8G--E~0#36pvFJ?_%iiO-SFdPpJgZR)Effcf?`3?x zUD=#T2P_$>zPFS{GU@cGs*df46&Er)Mu}*)E&ZY^MJN~blM#<$=VztyywPtyyb zi+#vrC}u>!vALwV#nbf~e&`Avkm7`ay8*@+UH$Z1*y943(1dGvCjW>!yigdtX0||% z)=FQdb{t;*SPiKz&Rcc5X^9Fe9UZylOn12Yz~RBIn3f7166N25DY;020dymJ-mr#R!nt+y8Qr;sjLzg#)up6h zB0uh+0=ui0V5na4%t~u~2ou9R#hblx3yN7lyk;XsyetS}&M%Hvo)caWMGT$a zBn(nO1ky7TYAM2tH+T%iBgRv<*E`0(5^-90epsC4a&kK4LgG^!M?_FY_X6eOnfw-qCCj`W{Py3Y;rzo8Y)5`wT5@jlS>idD4l zem`G}5cIKsv}lgyGC|DL1-aIk>dNsWiGmABxf>LbeA|URfea=w-7gvoCNpwcb}`^} zIYYSK30!NbE-K~G*DA);&LltBg)y#G-@D7!0bI8g@AUBnd9GF9G00948b8)Hb4gRH#VBlAQQJ4=mlTF161968q+^nR8g@(!`SHql2o3jp!T#*o$b3 z`GA`)KhZwVw2-zXwkajtT?IpdeF@Ix$D8E#b4Qyi+vhmTW4oiacnuphOB1~ePJ0iN zgv^kNH^ZARZ8kT&D8IG}`Vj?J`YHM-$rh>9kGHECM`pCD%>+XxkL??DqT~Z>ojplY zhc?(d5-Qaam$y{ladv*My%vO;tXz&>2(M?+jjBD~?;Lthr`UrTIsetibnmcA^sL~F zo;~J(U1Wq}XdJFS{ZOL(=KO$$znNG6d_KFGC0&D;-H8TfM90Wk-%@8GY0pCG+t4mM z#nveH3K~+wNzwSDN>k{u?YQ+0-{#By5>@(#v^^^Kc7M4P3TN9+7O=7{B5sO8J@lcf zQ>?|d*d-b4b=hVO4P-~T7o?~d2_J#OoNPnRkt|#=y`*st4yeJv9)2Ei_7Mi_K2w*_ z9qi}Y+|5~8N_Z_LQ6#u3=`3uAG3AvuW7KHwGB zLg}mahYV{?WoU50Pgd@Y zCtme?MZatQQ8*#cBoT^u_|SvzTqB#qM);moakZFa>_dqeWPP9s=xPl8fcp{xff}fN zpR-_L|9*>}oqj3!+qggQ35W;({bH98?%Er_k5z1Gs+IiC(Wtymv5bSqbT zyG5xFCIAg^NQv~l@<&Bg+w~>xd&7i*#cUP|-( zh^$LEu#%d$*ymh%T5I>KkK0$|aDj~u54g}XzC{~Iwi7m}^5LU8t6o^+ zFk@<@WEXaTVHbhZNe6ac_St1~l}EYWRp+WD%Q8g8TitQ@v?K>t9UZ+(N>K#0c)ktV zNpfKN!Q|$(#vfx!Dk}8hejgJ*tAF34)V?74Z5sbvKZr{78w#~6D*?6v%2$_IY~J$# zt^PKgI+hgILrc+r?DqHf%)dVa;mQKDBR6ULubKUsf!@W+KZyI&6g~J3crVMelk`tZ zpjcd7FD1$^Dt}zSPx7VYV8s7i_@+2SkX9kow;7_v4gEr zv&)`t03XNSdGpa02mq^uf)fAy%>w+*qCG_NcWTs