From fc8134eefedacaf45c764fabf4911b4d301a6bcd Mon Sep 17 00:00:00 2001 From: Kazik Pogoda Date: Thu, 15 Aug 2024 15:47:48 +0200 Subject: [PATCH] fix: preferred sizes and demo image --- .../src/main/kotlin/MvpBrowserApp.kt | 4 +++- .../src/main/kotlin/MvpBrowserView.kt | 7 ++----- .../src/main/kotlin/MyBrowserKotlin.kt | 8 ++++---- docs/xemantic-kotlin-swing-dsl-example.png | Bin 7087 -> 19646 bytes 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/demo/mvp-implementation/src/main/kotlin/MvpBrowserApp.kt b/demo/mvp-implementation/src/main/kotlin/MvpBrowserApp.kt index 462128a..4476150 100644 --- a/demo/mvp-implementation/src/main/kotlin/MvpBrowserApp.kt +++ b/demo/mvp-implementation/src/main/kotlin/MvpBrowserApp.kt @@ -21,8 +21,10 @@ package com.xemantic.kotlin.swing.demo.mvp import com.xemantic.kotlin.swing.* import kotlinx.coroutines.launch +import java.awt.Dimension -fun main(vararg args: String) = MainWindow("My Browser") { +fun main(vararg args: String) = MainWindow("My Browser") { window -> + window.preferredSize = Dimension(300, 300) val internet = DefaultInternet() val view = SwingBrowserView() val presenter = BrowserPresenter(view, scope, internet) diff --git a/demo/mvp-implementation/src/main/kotlin/MvpBrowserView.kt b/demo/mvp-implementation/src/main/kotlin/MvpBrowserView.kt index c817b24..d877fe0 100644 --- a/demo/mvp-implementation/src/main/kotlin/MvpBrowserView.kt +++ b/demo/mvp-implementation/src/main/kotlin/MvpBrowserView.kt @@ -21,7 +21,6 @@ package com.xemantic.kotlin.swing.demo.mvp import com.xemantic.kotlin.swing.* -import java.awt.Dimension /** * Swing implementation of the [BrowserView], could be also JavaFX, or HTML + JS or native iOS. @@ -31,9 +30,7 @@ class SwingBrowserView : BrowserView { private val goAction = Button("Go!") { isEnabled = false } - private val contentBox = TextArea { - preferredSize = Dimension(300, 300) - } + private val contentBox = TextArea() override val urlEdits = urlField.textChanges override val goActions = goAction.actionEvents.asActions @@ -66,7 +63,7 @@ class SwingBrowserView : BrowserView { } } center { - contentBox + ScrollPane { contentBox } } } } diff --git a/demo/simple-kotlin-dsl/src/main/kotlin/MyBrowserKotlin.kt b/demo/simple-kotlin-dsl/src/main/kotlin/MyBrowserKotlin.kt index 1be9878..1ea902f 100644 --- a/demo/simple-kotlin-dsl/src/main/kotlin/MyBrowserKotlin.kt +++ b/demo/simple-kotlin-dsl/src/main/kotlin/MyBrowserKotlin.kt @@ -25,12 +25,10 @@ import kotlinx.coroutines.flow.* import java.awt.Dimension import java.net.URI -fun main() = MainWindow("My Browser") { +fun main() = MainWindow("My Browser") { window -> val urlBox = TextField() val goButton = Button("Go!") { isEnabled = false } - val contentBox = TextArea { - preferredSize = Dimension(300, 300) - } + val contentBox = TextArea() urlBox.textChanges.listen { url -> goButton.isEnabled = url.isNotBlank() @@ -57,6 +55,8 @@ fun main() = MainWindow("My Browser") { goButton.isEnabled = true } + window.preferredSize = Dimension(300, 300) + Border.empty(4) { BorderPanel { layout { diff --git a/docs/xemantic-kotlin-swing-dsl-example.png b/docs/xemantic-kotlin-swing-dsl-example.png index f7f3f9d2170ce867a73bb66896cc7299745737ec..11ca9802bb2189fe64825e381415691a85782067 100644 GIT binary patch literal 19646 zcmbTe1yp3gk}ZlfuH9(kG>ucZySuwfU-xVyW%ySuwPjk`O%>U(G2%)58~`+t4b zs)9Nsc_K0+cSP)nLx`-j2m&k?EC>h)f|#hFJO~J=DDWi)4GFyRELxuk{PxA3UrZ4i z_~ij@5DfhM-9bpzLBZO{!CBAF5X9KZ+R_kUuWx5)Xk~9=?QjX+#SI)p@pq7bouQtC zskIe>qN$}Jh@dqA9TNecqcH(JEj=UfXLd#=b|yvw0U-s&vx=HB5D)?oF+n~>m-Mp@ zXBUP2*P&}?VW^EbfWnSOA=wWCb2Sy?{W@3n%7u(dU!NnmIR z#00F#JYNl*FG<+Cc-W6bXY-{n)~ilOA;czKCgbccG81HYp$P+!`Ty%pkzENPs}q@@ z42?-o1A|s!E{>l(pqfb`aK;E?4n45!iBS=~lQaO?P_7+>0=?6?;RcmTKTy{2;IlEg z2zmFxs2r2R=)>BAGc2J%HH9+#g#VM~gY5Jz06DjMccA*I&nE)5U~x1EjV5vcF0XYt z&t-;+8-XyOTKIa`gzV1xLqO@Qqj#^QI#*O(p*$3$c~?kI;m8*13dDwG8{r8AQF&4Z znlN0>hiaSM2Amb_4gL-82#)Ip&d94~9KY$R%Sf#iO6^USy^9u|I#hkzyBlS4a?;t| z)s;!HY@w4PK|D{ntbi7l&|*}VmMk>)=-%zUAs`?C&eYUY#3!M9%O^5-;9DrVNZ7+q z0J-L1XkO4dSjmL@JlG&R2gh$WSJ#G`x;pzt-Bx~RJqAdB!q>qF?5?8xd<*bI(C>fH z#c^BQquoL?%L3#>^9TK&(RuPGxAg15&p>Im?_cguA03^Yt&3(%&MMR?fLenlh!@z} z*_B>yZ%@+#02Smmn8W1E$x6SM3($sp-J=4hm{#|>(tVaLoA)Arx;fzw6cV#&0%wKc_Xi4Y1p>Khv$ zW@KcX$H&Fle+eFX;)*jWk#OBwMmv22V_RQa(+JH&&Q+H$QG9xNX@nGx)~GvcRvQZ4 z%Cd|vS@Q_pLeBL5pz}tm4FN8hdxf$_nWh9mzole_vc9!-l)pc?Sp!xC$)k^S)l%Nl z>B!_H2?qzZe~;{Fd_HcW2_qIM@b(YDjfwEFUvEDbk($9CiP(HlSoMq^us$Ez@^9Z7 z8!O8ks6gdMl`T=6FI9pgB_$2V^)+o!uU7{E)g}w&S69bMNl76KwN&V^N^)v$Yg>|$ zkT`|cBzP=s3|jw@qO&F`J-klnw9|Lmdq~j0tC1kSuP=8RfDAEj#&mIU!3q=!069>i zNTI2zY2)lnvz!;}q`HL2!NFmj4PZG{`5<&E`Mpw*;s0e1!_;Hmtl`{EEO^aFIIpL# z4;(nEY^b5Gu1?Libz?P0zNG$-*Tza@E=28osKta(YOm0&0I`a3Ky|WsLGQvsgJz&m z-puyNiP=nMVtw9lyP^-N@&%XQvwify-YBfjh*SKFs$+UaMu|=rH*niETkHz@U$wQh zUEJO6pKlE1<>kvWJHx`@5U`p1CngXQ#D)0z!HlOeg^K1@a-W+D)EmqaOl3-dN^#)e z;*JatM?0x5N4Bf)2VYYz8%+tQe^Zv@9F+9Wzfmm7&L-G&zvQx7Z|0lI>N|k@ie@@>w4OS15T>+ry)KbwG;S(`}6JAuIbYWc+7x?UAuAzly+ov zwDzUcPRiuBdId8Zm%^pma%AuKZ-I{l6ZFaiQij~<)ba8JWwINsj-Xc$4@OtpJs!{d zNf4LMudjQDhfus3?2e;MS+2JSw#T!?Sd1p!C^DQq{UIpNua{lV*F*SYOdD$v9UY!6 zh$3NQuk5(M9cMNdG0ifK!sDW7$2Dt6MdEpjUS3x1e7$J|)%WGgm#dpGnk2FS z^u|1wcM80N3?9iCE;0K@zEsNiT-fKQKbySSWUxdckp}0h4G_P(^oJsaGB_ zAh(Z;vI?crn5neelTk>eL69*qML$2@S8DX3+MLem*|U<9F()&*;QmwwO!0hjdU<(4 zV9(`6agTx{aq@P!-P_pMYYCVjPSRBbrxf;W!_ot_ahetB49vDy=ZFpRER2>~1=`3z7+Kt&&RW%$O91HG=TGYbXRlRa(zvo@kF(*uT$X~yH zxf~ZHO`A1XY_y{JR9Dj$N~ZL_J>N=Q5UVdE+6UH1KJpzzX?pDD!n(S}D3HD?RX>z1>dn967MBZ)|{K(*62U)%ikke0==(D(BO-|KFEn zGOcfOGwYoj7bqww4v$xQ*T+kka)tU=RMddBHjXrAOa8nWT8AT9J3Bj32?_nv#fs&% zHT$D!!g({t9(-t@qD;5YByG2lKYt7+GdM(mOL@HB!T=5lzug-MN3y1xV&SSG=~}3U zvikMwSI}+=nvO5L($a`D9e3Yu52t9zlJ`x1FYtisOX*gg2`Qrhj~xh=T5Uk3R@+TK zicGcT8gr)0E)4MQs`Vyc`S|!C`Ud*@X&p}#-`?L-IGm}mB7%VC7uDY{7>UPaX2%T_ zkn)C;nK|+O^)U&Pnu@A?`%_w4S~8tAro5aAXcD6(3PsR}h(??3u97MAfk5RSE;h!( zXgWoIBjSQIe}24znk-e~0)cMbaY>7njSVO_UtbUc@Zjxk_xOinF_jK`0P)-PVZ~TX zTDnjsi(9kHD}zuV=xPw#n%3n?_h2%^ygnj9s-p3a75iy?0qsJ(lc1nrwtPu4y&)_J z(BjB#hqZ#7;!A?mZltgzv{4dT>-+_#>2^sy_@|phqL7v>#q02g))^o{UJo4tpHCR&@qJN=l{&~dO7~#IoIxbYxhvw z456kqRsJ6LW1t3Wm<9~!WXjd*Acf?hk&s04X0G;=baLm8hbJegF%fm&U+zKfj^}=N zck^x^?1YnVdA$P05&?UCNIX=_?%1q0*(-2}&xc8&TTU^boS%!4K%fDlp6gN0@1yA) zaEU}JLUQsDtBux~26L6#+S=tdXBwbw0}p5XL>i0zVTSV!5NK=M?oa&II0zmSzw+?# zyuH1dOlO03y+2?Bx4FtNLk;H6&GQ&ssh81QoC7w?{_Q9)>hB%_g{xEIC@gMb7QZptc2L}_`94) z!?zPuwD~HOZ}*~jW=j-E`T6;awc42J=;-o`iok95N70PNlY2$sctX zOQb-4=j==pc&>WPfy+)rO8UF1>!WqMAv_$OlatfN&h7^nSH}3b1kM37Y_)B(-|$tgC}au6wn?94_>9 zCQqcrW(O<+o8{nYr|;*_pU7xvO0;JW=WC$A=!+wn)%FLebUFbMQJ!v=pvof3lt;-crPQ{Jhi+NvH5c{G!x*RGhdvT~34-+c$ZG-7sctX*v!9RbTI8Xay- z`h($r*L;FyD>;1#D5orHLAEO2h4%W%LYZ2PVosre|PS>2PNO0nS76^Jo6{k1*{j{+woH|F2kZxX*Uc!U(a;DI zIMDIr7ZfCvEW5b4Y@eQv6-XqBN=X6CZ-Gdb3pCQ=1v4N5h^nirhv)%~5(tZkB_$<5 zEbHj4gR4*~Qw9KoGYk5P`T2P}&w)!Pi=mY|<0#NQ-}rVB_GmGyH?@x{yhPFONnFEg z-9WH6U26mYea=r((pzBkki-r|UBsm-9hxN%6ciM=Nw!20H#fJQ1XqRG*;!aCv#Lno zTG`szkUc&|+1uHbchYIB$~nmsSc4Bm;gfQ3q@6BR)w$i9QERm-E=aYW1H(>naq*Vi zUZ9BsqqKe4@&qSU5!gSL+jBBJ6(=Onb}UCgFR;G8UcPBRIx<2?OgunRgqV+;7zai! zNKB6j|C5+_=jg~pF0`>nm#i7CC(&Je7I93}7d1DQJd|Hp7*b754d~qdhS9=#C3pB^ zu}<;Qu=&VJ{kpW#DJg0>7~k`8_w`?`tKbOx0sO$<@Fx>M$U_rKMuU+DAd>)R;)h1b z=Y=H7tm0XM!upkVe<@;|F6xVDGe3+~R zm0I~BGfhh9LngSKE3YSp1B}(?m%(6YZ})ALHog#=g#+<|lZ#7CRFv#`lOZoig)fX^ zFc;0-g1G`qiy#m=@zrDnGL8ey35#vbC>&Lk@QZqcrI+osG7(TtU*!jah*&W4(!fYu z4m)5xSZXzBDFM6&T%dqx`{;itFpQTE!}K{N{D35hl-xaNj`j&>+ysBjKuGng4J_pr z)Mim-p+yMc1xsOCdt{)jnXI-UJxZIcT znMCOJ{KjFz-r%?q zW>h~1W4?ZO9;37L;j9j+9GiR25;iRhRE7Y+EayjG&)0??UTHQBeM%)o0*$ZicJLLh zAiw3}Rvd1SCQn}Ei^iEGc7Dybg>NDcwfsataOWK3P~fmNdl2O2xuJQX>nSgD#P_`5 zm^kn|M5237yXfb}lNuvE57uso@}A2uW!g5}^eBYuTp?XyJmpfp;E*Yu1l?*AxmrBS zsh5l}7z`$UYJW$IyQl%Lede-5y70Xgnb1@vB4Pg3J~JEV)AuV@6}M@csI^{AnQ}+q7z~ zicca_9bHJWpGw=K!7g1}oh$V3-x(4-EUj$!OXbDL z>KO+oe^+AUQ3QM(3jWyJ5;w^Wz6$$;dpwk9)z#i%)z!yC*b#2JjiP^Eo^06ygFKK(sM8)1B z?Tp#i$D{g4OFPptL$V8P;8nNo%dL-$EGQQaY)DLpX4BIHf1c%F6T__Q+TC=6~l(xr=8dj)QwC>&|2AQWHS zoeHL{MiwhkKW!|*{(dsg|3edANbZZY715?1s4zBJe_JV)w5fHq;OE&V?OD`AtydcReg@R=92>u0ISx;Iu_R%Unq zcbQq?xY3wP??1U(035lU?W5q%bjupzG`wGBirHk4@qWw{uAek+XXSR+L_f!qx|+_2 zduRfp7pdbX)dgHE`+|PSPF7C7QSX{^$zVv7&61)LC{VP#v@rH$u); zTf(@#)+;#^|Mf2A7l|{i7rHTL+&z9f#87Jg@I(~ri~EvwTj#M$0D^i2T;=5RSfx;z z5-lcb-B@CvLeDo$anrqton5gTlW^x6q|xYPUb~p32AAj7I1d2bBT_sQ@NgHl9}?V4 zQ?r(!#(w)Ix>Q#3IW3A;_KM-oJZLLL7oE2h<3!|(BNX9mnYC^oTj_XZ3nH+KU}fTA zBU=LdKu|W8CAo$sn!u51MFFq!8Rb2Tn%YuAu=mOOnuVtXa9+o?vQnc+QV!t0|Jeb5 z=;As@pLo%dwAAXJP$ruAerNdOIs|qeQnuM?pB>T4iZy%SKC?$s>xpbHvO@P{jA7-h zDVXpc?%bj1qqnlp`P-YH%*9(6mr9%auIHgBw>DGIf$+mZolK?vN>5@yBirbWqqqHM zGP=RwI1%S!7z>8QLC;IW^f^M&;|V==*@$7AYfw==Gy3@41b9+Ec0VO*OLF1ET`ypV zVhK)r$@X0x?1CGwSgfwHBX{&@^i`x(&-}tc`Fbu!)T?zh0uL#2JLZ9dt%WVp9QFvF z!pzl8uZZ5}d={-1p|Ti-+Ll;>Z(|rvMZ~+%;vTA7SGH8jw|;}Lv5}bT4LeUNO#dVQ zy9cW^;!YgTPYOPP4jahriP;GxQ8BjB!YPben;m|1>bLaZ zuDa1hk_JjV>LpftW^!kw@+W(cceY&S_fZ6{qsour)!wx%w_ zYh(W4Ol}Bsr2C9Pz?7%4XA-r(W4+U%t&rC3r zwV9Pi4iW@t!avtCEqLE1|A08hOSGkMRI+fneVIKCp_xW-_5DCth>q*uzddY8P36`6 zW4j9J+#>}+79x}d&g!Jw3#D(f#vKAm$oJ(Qr#~OZ+}@uN)NfCzQoUV#o%t;Kf_psO~Bnl!*}X(=~_v^nX&y+jh|u;T3S z2ZQ!H1N@-*-kpOhGldm3)EIIH18dYx>26AINRK*#2U(Dg#DRt6l~tn8Z(7MU zHl?vt!*yc~@4P2yW#CW^n7VJZ{v2hH+)f zgA2=G&$G#VE^cm#pW494nvSDM$q}Wr084|w_Zv$)EMd9ITcMe)!o;T(7O*TpAP)Uw6#Dl(|DxVP7Tw-n+)(&c6J;iur@at2?|pC{~P25Fsv$ zU2)Nti;K(B3A9OAXMmdTmS?as+{i+yNdQ{T%8=ZyvGWJbA#m;{c#W)+zoGkoW*()L zyhfkhcRnx{?aDD*pi(<+BV5U~b>lql!~w;^e*XTHj$R2m1oz%oE73btY=C1ze(14% zjGuMutr7pM`?_a82I+KF8*EQ;Mnfy39q1pgGZs zo-!d!6pVIpN*&xG9^9dPG}}8j8jzxTR&Gyy>`9u+Un-)Ovxwe<_EUy(q>6#&O-riB z&fyt4fP=uQ^P{(A6Fj6=IF=SkV!;MVd)?D==v0;EelW zOBMtz(<{S7VeMt=U?jt}QsYo82jju+|l zz8lv(Q?D14L3kw6UB5GFSiH1@k6z9IT=x{{!eJVu{p;5G9{<;jPw4=?H!XXJ`5+*YDDXgu+gB7hxXP zr_6AH!(cb~1pIcJW4Go}-JgxX*n-`8dD8>t)`oBD#(wUL0{*Z?%Af)D4}+6$>4C_( zJ~eg)qwd8cTwj{NaX?ACnJ#Nsxw$*Fc4D~I8*@(fCIgU}Ht&#90VH_zFHGjRF=a~$}9rL>=AU>Y|~Od4%Q_UQrCtts@DpMz~OkFfc9r+G6qs-w&yK?3jM(p-%db@=`Kj_;4^ z#=}~8nOiQ2aWn`2@DY9qxYK*O1EepMblYUoWStD0^5mn9%YQ!pz=L!Dz43~1dl#qh z%z1-4B2N~GY-sQbmZE~0g?-DuHg|bgK%7OF8%XlVwL$0Afj2mmMiip{Ngv_VHIRNJ z7!OPWT^xzk{4r{X*kh&Y+H9>Z7?rbT`P6Z;I%^OPYs!|1e`Tm0$~yb0sa*3Fe~8b$h4DEoNRBERVnS zW}WddB=OfxGZGhXdAgYL?m6=K_np|eY+V|p|BuNM{pVB2`(zI%o+<{%yvsUQwD#v5 znAr(L(Cn`0&(~PA>8zdK9Vrf{t}MW$>wiEbMKQvFeV`n;*p5Huy9hCelxr<4QN0Hb zQE_?qgWAk{P&nJyN5rK`i0FI`knr2#q^ZrWZyZV4xW9VZeJjy+wCXH+=pSQfTA{eS z00!=Se`G?ACi`ni%Qy%v&u<|WMY~*l0F+6!7Z~8qzaeJ_#~?|0fld>l0zg{$U?z}d zY&_$B=ZzDtIyH-t7_-h8Z;K)_JAxqlO-xiVo7soI_g)ZZeZ6@9I8dWksghC_3Iunl zig^2C&v$SE;V>Wj=btWPQDAZKGB;|}A4=fTaOZ&wr}GNM?Q_Y*5=zb3xpup*;VspT zlnW|K@1hQHHN9*n1{A;_wna40u6)W9T*u&|l*Waq95HCTo#pN@c(pdmh3ja~+pzCZ zrMbzR!>r*#ESn;fiQ|(PF7R#+TMgq-fH&%Zwf>~HLrktbsx1@|e1w#_?zVq|OCbr0 z|M+bR9sQDd8-Mm20_=+<)M|LX%THglezg-qzoiJv~Fh|hbtwIN(zv=K5sm#&;3@)@=YeVi0GV>4{;k*SqkTp!GDEnt07VhL#g%!YfXkpb4$i zYS)PW1(cLj3E&{MjBt17uB}nfbT(E> zXk<-7LBq2CZcUV)CY#$wv&wX%l`GoK$T70y@QTA^mxc=>GtkrT>h!R+lNA-B*irT4N4PCmYk<-qfPvedZW zIUrg6=KAJG8Bna5fSz2I4ATji%?<+nviO;>Eb#s4BhnD*BcOhiCjTE}IDuoeSU9&KMkMt+>GIJxxYi z*Xl6HOp$uS<+=j7atdEqR8(iM%8{hmm@EAJOR1+jvf?Ef)cnU6rX`Tlb!1KQNd91P z#SoUzG`P-tW25rViKK;w@67~}z6ndLgaKrHonim4&LZapefTXP%e;v%*h)%!F%+7k za^#)RihQAoH&J|QA&Xm2QI_oTJyqdl8{{R93hxF)s}<@SX7VdE-V@;~0H;HpyqyXZ z^a+Z4yjskD`9*|2L0uW=V*h!-8rdT3vj6mRyN<9=&91c`B$nRefj^$_UKEvviX-Mr z21n+BdSSke$HZwn+PP%hst}8$mK|6Mb!Kxi#k(2)%fw3md}LF%vmGoTEY>k$t4m|J zjfQh5!BqltX|<+QL#6d?YL)zvVVv#jNK^yZb9G9pVc{V8lrc>}Lg`eg;tyR6-ha@< zc++t{KD5G}@3^0TKq#QhnB0<^cswH`tpZuT1%?wD!Yne`oWGXb;a#(N8-f3^F&j|0 zb7k`@gTys%3}UdF?)&okI%j_b&zvziX?}||e#GFfbh@Q$utnhZ1!;HRQRKk@^ zuCUD;e~{)a;R~_#^5&e{yCtj49ReYN3CI*+d5DR~a-6d*<5BpYn2a{SE6=#*HtS42 ziFaQ%%?aF?*1p=eDoNN*VB|dN-<@7#gXNG1J}M5P@n?5pnO#AS@T4HA5Q4SUmh!tDy2p85iYr~+skNNZld7PRg|kd~meYudxmVcqVb zWOwGlhX1v_Tn;K*rsB?O1yxV0nTJ5(m1G94$K8Tj?WDEA1-i_j^s$g-17sDto}^}V zj8@IsbM>tndU-Grm$fAE|D9NE&xR%&;X$_L4v%6H`F4MAa55CcK+0ZoL}>d!m)PDK zAMXnn9K6|6q^I(9mT{lnWa7UxTW)ULE`xJ0g+p*l3#Y9mwzw^H7943XcV?BI#u2el znQ-y2VhR1 z(~N{Byv82&*-qv%OAqRmn&P?jj+++Ml{@SjMRydeP%Gvq&Mod@C#wO{-~HDHZAdzv z(VS!?bDXu9vU}&MP%OwbH0N+P2Fe zUV}1@mbW33ZkCZJEYzS1C=c(mRu_c^lO&C$VL>K;dmeA9>irFw+BTy|!PiY1&@ z_qy!eSIZDaq2jDrJ1e&2e<29(-arVCVCBO_k)DdAtGeWpt3R3BRC-=;$ETNC_yu7+ zLwIM3ssX6)-Zb^Y0uo7fW$P}tJ7KwE!6AV?xRXpR+b`lV`dG~QE+{YUz)6Hs&a0c| zmaioXX7G?55DLmbCmnssVx>FO^Q))TXp*n=H1Nt~C{Qx;v{xht!S2)Th^EH*c!+At zF&u7$jjR=(UR}DqWvR$+sAF4J#$Wl=ugu;nt-+)L7E)kynnGn=6IQr?Y%T6=kKABK zaT-#f7ok$;DI|nYI^CF|o0uo|{Z^-#2M!!s)=<=z!{2g7(P5IXZ;6l3){> zMJ^acp&FyZE`ywCFE^soT@UD^nROGyBJ##F|JbYs{+mwG$mhW6i8@YqxBaKHK-wI) zje|Ih>NV)>JGiDnl4$I5bF1if`{)=~iAtx-fpKe+o!fhhPDk8<*y>f2c_1J5;yyV3 z5oA@D_3KX*!}pC_I7aUC?{5ay>X&2^Yao^!?5|!!`Jg+RqV|OgL^}ac&3UtESc5g- zDBPHRMfj4xx`)J$6dQ_PyXVH;>bR)~PDMUyO;AxekWx3Xdv7H&397}kM;uLt=IRC+ zycY#u#wGan7yUBhjOc3v2SY!UcD|eRag!xmY#LYmM5eoBwRD&6tI!nbMF;vB)sbb2 zlE29rAp8Gd!YDasMaG!_)^^d>R#T~7p$Z>YySYv=u7ab|QBZp0kMXHzX>X^&xlJ3##v)2rMw(1d>t1nox{QuDBR<}| z?YdJ|lAJP4(9#_NXqmc8n?xEK@Qj^5#3 z{n}fqzrR6Ocwc-x6Z|$i@ku=MH*I4S8;r8m5e7EP2>kIQWVB)okZ~SBMnM@VEz(fC zzi+K=zPI|E+!-x!!D@QwQ!C&r>$p#xKKN%XxDUo~9h>6vskg9H#+M2&*Nk4bvAw65 z#7`CO^1wLLK;bFw4grRMfFPbQZs}Sj#K1c+z<(^6lPtg|nj1c=Gq8?bsmFbRp?ERW zka1o2G2J+&i6%qG_>r{u(fuu6Yt-)EI|-M^qxb29@GiYI?hpT3b8LGChFd$ofiRzb za0YsJe+3Mg(dsWb7aP~t-ucvDmT7gBU*9kOmWfGq!eK~gsnVBG_1}N(+B0F|d%Jai zVb*4wsNK zBzG?LNS;MkQ-^}o-k5QOJ9lJ8X4vvASG932NzA;{c>iAJHK$TB_}F>kcF2t#FzmN>4S11#?o=`T$!}OXA-xbv{?HyslA)Dmga&Htbfhh)P zUHZnzy4{z&L~Y@Qr%i_B5;%Or^%^uuPgjz(cXYb^kBJ1${gWX3S%hyleI^Jc`3Hf_ z%0=0$H&ptz`)bq);t^O}FK++|u^-%YJcko58hGR)F4X{P(u9Hu0kfnwrsfI zX6smt1(E)dXTLZIR+Y7yS;#~0ZB=IU2%h_moHB>GREs0|8VuD2cSjpEBOOZ)-D0!6 zTYN#mM~0ZI-;*aTG)A%TEEo(;7|c{SH7jioEMiBv`0KLDR<8e<*__TgY3r7jH^*9Uq+S|Tzf?#?k!tAY#(BQ-O|Wm zinmu7K(LduS>HIr-9C!c+1-S0?{0n85 zphPe>YvhQ+|J!-LcgP=@MnT4q50I*l9;%N%nQh^HS>PB2ZQ$XXxP94}^`d7>kF0a` zor&u+%e#iz4V=NVNPS1R-mqv!#M;Q*2)poQcOu*Crxdv>P zqa3Uug0PlZ<_+ZFf+^%ZyTSmVb^Pn>W=9WH?*Aw;{5QT$b^`WK#dmg%pKJ$C(7b@j zb$XS(YQ^jzZ|%UwqEOXHtPPgLl1>a$3W0)v$yDsF_MOrL#Xt2Gil$@fQ$e@QN?_)e zwKz>W$<|D3{_SW2#uLTEHuEP~?dsppODo5;AuL+CHiF*O2Ow&Leov~iN7h_dX#>7T zrkavG&6^NZ?Dv$>sZ0cPr9!s>m;x4T5)e@QT$w0Xiv8|X3!xnJ&Qw143tx{AZ{Z;Tb0St;iuyZ4RodYy@P5khNX7mTHGrGRKAPKUDEddRr5dd0&9 z;e0&pLnAeuh)Sv(K###_d(9SP8&Z#rR8~Re` zTX?Zd<+4!xYmOSA$&{6$BciUeIe2;fXup$WI6=)#bDB8e@nn8&nuJ%Wo~^9GzR8qCRKsJhy_TYa?Y8aa z?b*5BgwoXI(PA8sB=oLtfoXs0BkWi)zfV^Zzpbor4p7mpPJ^NjVF{+eY`QZwt4Pmk zIUg}e6L*3qr@I|PJunYDXY$6{mK}`--W{pt?~=Em!HG056D*c)D>3X;4XUoAC$Km> zU+q2>lFeS8@+&l8ZAm}wyqyX=88;qg3J)mL!GRgVt?F9g(l&7xO!WC}E0?V)j5a%2 zzPZwxW1Rl_Ai}22*FG={{pFMjd}wNF{lTCloj&M!^_TlZmawCI0Yq)#@5w}sYn%DA zwhHLr26`8!J*&8#Dq%Go<+4J#-%bW^I#{@^jlAH+m(5v`ZxZ}#?xt$(RT2pCfc|xM zU6S#}e$G%G>BgVU3#$+DgC!_aT|Dsjt=D&mumn#vO~LI3v^-LjhsI9swW4gj9+ov7 z2U2WMJA#MsQ-*4Q#~Oljs8C)-6I|s{n?9Ym=x#7eh55I;tJgL5 z7Zpcj8#N`z&;2?j9_6I{5|D)|UL(@jXe%%9rN3d`gjF)cTsbS7W(%s!-l7+48KX%< zp^9)q8WbL0X0tix)!jpPUqL)tlZ%fj1VrjVdhnkib>A;6OPHS2<@%MMX1_+d5|)0S zC=k?D*_garkZ`gAScYZ{s!R9>V+J_i|0r@taSGM8@T+;G9`xEv(0<)DlWH#CfowbE z9BcPHeq(Rr;p^DacRu3?fPnahse1I4K9Ob$OBUELva{oxHi&!4(Qc!XW-6h44Kk;a z@~Aw*s}Q$SokF^T`tj3K01WtyhT-rZ$F~GPz;w{&wl5l zoX~fMWD!mO^!IhNA^1{fmiXn@tXpGdUc@40PNA$MqGmI)mClpOt0j2ck$1BknrTcE za83}Mh^QzPSe`=9s}^|@wWI|9t#SEGTsmdf+c5li2J)BoCH(|bB(7{u=0lbJAZa;= zr3W$wC`d{LXJRs7^L}j=o>JpvRypVMyrSWCWt@2Irk^PVB=JX-PQq4|0hyaXsGY;d zo_M!8ow#}k^Zum!^cm~EdSvcV93mM$0<7}paz@Onc9WHOSJD!>H(LFDF}=4e{{F)G zVFHyv;>}bO4TWBw3gzb!nvmRVe1<|RWgLrTTb%v* z*c|aKBt-I+&|HI$yGr`)8Ic6gxJC*VU_(An8~^teSAaI+Yhr}7pVPSgf zc?7zD{ro##u!B#Gqm%dhVnG?b$${0rS!Axk`)$IFWVga->FvwxD`^-0#GO)Vh+{$j zP4XJzok~2ef*WO?a;6;p=d<|tE#uhQ``GITsn>1${nssOiUIR*;;1)v#W%-o6YX=e zIF&JvTeCEM?Ft2b1E@~%$N!-KRM)GQXXGb!?y)xGyo-}Kg)MbEmqlyj!uk~hzCdy= z^-6P(u(D;v$q*(90A+7U?x?xvSzPK2rG5BV?RaS_KcC5HzJg4OR;s7naGM8^bF-dk^J zhXcl|ht&CFAWP$0qIsEKI8C}xPR~9}Py;ix^8QJr#O{4sPJ=jBi78~>yP7>%Uc(cX zhRS*PJ?D&>k1}%KnHAwBG@>zmD~@5diB>g@D?AqerJ{(U z&4-n8wgk(1&jqmtvS5Po&{q*M?sht$+ixTywK&Beh` zsN_Os>hC6IKX8;=>eE{G+~)E`2s$#Kz&4^Wj<#eG*u*rsy)(;7VETpdiY#rC)^!dQ zzJ+m5S^7ZewJ>9mbZMCe%48-mA-BX|!%mH@5~vnca^m9&zxlOKuP$J%Ha370mk53? z#CMzc*EkmN*^S)y{Bg?OJ6o!IUUWqL*Q7$cvFaaj!8Z$aui4*9G9kvd{UU6%+wPli z)ijPASAXhYSeT= z1_lLZ9|#CM*x&yP0RFG#^4+1Z7_{~~E2_;XNrTndl6hyc7cZ~o0|m#0KRBZZ zaPI`b9-L?l^cO%E+IIn|zm>kosD0T%e@>Hs*7~w$s9Bn5X&9TFZ^(ZwdGsbHY;r#L zU{Q&OS#mO}K+Dx3oXq7)0=qNVP3N4J>v>ZVx*h8|sp^jePxtWWqpQ4GyDv9wP2T%V zO9IR5IMj40{{GcoLuVhju?S!ivBi)AAR(e&7#VKC#pVXi#tsgAUvd3BII{4Ltl*Cn zk_cK*$3Rza4{>}4Z`o_IR=tkHtDS;VYZ})SR zltV0jhcT-JRb*8|`MaftvTUZ@6f(Wst9+_67}x);`U@sY6)3Eg<_oursR|>7#vklq z*P`-2K2P)CT1EI5(1zdoGtKuA1^}q_!1SF}nZ1HgtSPSY=8-94m6WenB#YkedD*;r4FoJ$k_`q4BF$oq*YcIt)GC zyJ6y6NB%T>A7fm7N4L*Kk^6t>%ZDoTb6P-vxmXDBm*a`c1vz5FZTo%q+wDd-I^Y!8 zF=#vomf~dqff6LG7q*#YDv^ZzVStp{vYsyFrEA5z(Z0ke1#{wzuZ=bBvN5$?-HNmM z$nl-@*K!$xo{0_kncU922S{J*APTO1;y90;zY{)Ec^K|Vd$txJyHHz~3=k<;OQQz* z{@rUiO{^)?c@JcHKk$?~izW4-h(~Yy%H{{PXaXvKvJp@W?BuoRu&s5u)skrvf>Z3ji0rNPr38!ae*73y^iL@p?+?bZZ|7yR}Otr#IY+J@^Z z6blQm3wkHfCgJp1ul1s+9hnx@pl*Er2_ji zfYSX}p&NGOw>`MM&NWs2QX#Nbk@(KZz7M({=kxR9y^s|A{$1d4?-c=Wv zYwyq7U+0G6J~q7MD2~m-n7Sm4sU;_7CTJHxL8n*KG9-wm@FDQJ`(JJRU;KbRwWT}?aVwBLNL$eSkFhJG8C%uu z5JK3L>_G}4gc;d7L#e-uT@mCsR0ttVkOC=$5GLFLfw`45T_MD6r{IR4qa_1yEkyu1F~0~L)(5lMScmndCj?t@6FhG$D#6U)%)E; zI{xf2E!h;;(Qkg%Un6b0e{-*%Z#tk4zxqjMFDJFE`z`H!@d33>Odzk3Q+u_w?>}{I z?9nsp?$#~baRpF;fE(uis*~r|YFGbZ9X;@#R-XApU;fgfb#K0{C+08J=DxI!9eP)5 zXG{6vllt^PT8BP9&Lvzh$M?tW4c08^ z>cXYzN75)4fL{SO%xzVB>*N&T@wjritozAh^E7Xw6;Oi`iMeWNHpeEENaU5vx!tp* zQ7!;~f^C?q%D&XF(paNWE`XT`wqdT9c#B%+UeX_Dhn2sp&F446=9Q&UE`S-R?Q>nL zVeYE=mv!>U8QqgwJ*8o;_pBD{v5jkV?xSv{HoT)FSA4yBp;0d32*4+|xQbaLu0n-5 zOHxwO97!$K*gH5lxWazWp1ywV*tVs%vjuR&>)HOJx;HG*@`bHxPA1emyKtdfs#!&5 zJf|NHAJmR*TQoE@H07M_?d_)}ZIyJz8rLL^O3FwYmz0x~x5flk1_FQw0ulf`5Rd@i zfq(=64|Eg<5IX$_2h{K5xQ=9X=RrUM2$hcHfbSJCy}JjhIu`;GKqxtv>I8v%kO1I; zfCK;!1S9}>;2tD^&`PCJC0~aG8`oW5k*C;_aFg8M7=`MjtUY0JP?oo;DLYy01pHt0C?ab4S>)Y8XD4`K0gi5s;jC2*}MA- z-^X4YT~fuFz)eT8x~-sqT6nFed&;&F)ehCF2INe>)zEyC8ET{d;DEYP>w}&KZUUW) zn$*_T=Ihunv^cY?`X%;E|AEUFwpM8-urq&GI~O$tIuG3V%vV7B$$~w7{k|&4S_$1f z$mV3|rUc+7Ro661rBWqV!<#P&5384Up3vuSbWPg=D6X9U|6xnfFB^K3r1N9W8aFptN53-zJ&R9e%v8c`)sF$dPqZGo2G-0pAHa)$}bsP41 z1E^g10x|-X*wNGHUAF*kEL9E2ne=e$NJ=NtwBxE3^ZPv!^h9t|m`UryF!X^mVjlZq zDtrtvA!(MRq@+2LTCA~maBy&i^FY5XjsT#VoSlT)+uKh|+A8UaHLgh-m6VY*E-5D| zZ;c6+R*=(9P;62F5F$nM%T1{+3wg)ZxgP+cz$?RwW?4CHXzVA-Spxu~#^hI7;V6~g z?#v#J*>X+{03niBA-kL*S(Mj3$h^y#5|GwS&$w;GYy$v-;Feh?5S;<(9MgC`#g+=8 z*Pud(HmdL>yGezo+0E9r$=cs&y{~w4XV+s!?lemh_lFbXJbj zs>ou?eB3UrO%R#@H2Y?0vU(&S0R+KW&}CGp5=|vJX6pE$ywLMQMq)<|?U~R!ymSY78YsiJ_qqa}DivRcXl;Dn$)NBgSY= zB}m;Ot+5EMxiyD|#w?Nej&4z#__e+z$+-!4dn?! z_y-_870@0iPfvfecRa7&0xfZYgezS z0@s??)HER)7j7Ba+M&mo)gX{4FVx_sUD#{-#G|0J&1?#zR|R%0l^1&48+2L#dE-Wz znvl{dZu`4$M}6zcI!2{RYlADj#ngC#7|x4Awt(nUHQ(zk;hEvM5JGcAryIX7Mc z-IsGw_c$M!yAtlWZ1I<7B0-MEqL!10$3PP=MS7?TvIT^Q2K7qnA9y3`%lB`OUJsT4 zJ!~v|s+ze0Y1WY0me%XF7XEGYW#!xUtB|~vLL{N^7p!8MoxIOuaEvgV9~2>bsTkUS z6B-XjVmE3FC$N%GXYC3`WqWScUd^qM9y441g_+ald<5hE1#mad(O6+2LBW%O^>?L{ zXFj+n3ZFjmu-~Ad&p}@3xq)O#Z%JwC_V4;{%&{Doeiqh=s#|8m`ojxytNRj)roVK@ z&rApDoLo54a_{G8ettf0qiev`=WOne(9=mqS^VcUH*gIN4KQhibZXuZp_UNrC1TA& zm)cwgV$5hLj^AWt5MWqKo0P&;TzdMXm6g@iA$ka_VWX7$@tLkbvCs>ru57Z{xAfn9 zeF$BJ@)T*8na1yCx2cBT$&B=;j@2FkN5w3DeKWkv=2VHr7lebNVrSIXb|c&B>+9dv z)YQa+*>%Y}@X-~S^K@dtE4=fTfL_^l4Kfs1j#EChs#nTOJ_=fdjQfXH^e%Mr#_8)q zMaTSmROPzQQXhDTorUcsA*j#h!NBYvUV8&UvhC90DW~K!;!V8pMTss1fI2PLy zD2};YWK8A;IRfqnj9z20QT2CGBxinEsg!4uDbF&qvIfV;%e+-bzvP@XzT{u0b?U@X zN}T?iDzN?1qKyo0RB6eQWLHuZj4$qdGp#bvnV6W^(-n~hYG?}-o12}za_ab%3F|z{ zObT#Lt-|DmY_AB|cz6`JE00-bYPqyq11=ZgiBrT?8<)ejCwx!(HpZR{rS`c+uU(8@ z)3C)9DksmJ`0N`5%s7WC&da;ea_=fq-9{t1V0`?ppnw3_%lAcr-^|a5rZ#N*qWAJN z5FYWR(2yRx+c8|ek2~kyvs}2pCXdnY>~q+2n-QeFyToBXq4xtwvE-RBDswB8I7+D= zhzOnIwnJI5wC;v;C-YJQ({Q-qg5&iQ{&RD4o{(4%F}iDKiXB0*=l0v=-VA*7@2+ct z?C9$1fa6DFWfc_ck;rmBG4+RCY(qmsSw+Pm4x42UgALEI7v|@EKmT#Dqqi3~qh3-` zG1QZ-HQ3+puDmy3V_{)Y=XI~R(Ur*DTrPV0^k{p^ocd_PkR^>c8yYsLn#HdPWqa$? z?Q9h37Ubva^Xu(Z@}1W#REqr0OXpkwd|>!osJN`mOpn=z*%(Ln28ZwW>axm=l0*hq zY8x6fbyz>DBIYv?5!#%Aq|P~;3#YD*!LOdRv$eIw5i7Ri0zcfXc){unf~U`zaQ0GW zGkoIv+f)Y->6eUOzS=sCcpdl@T>RmKL)|#)dAhtK_Cvth>=#)%xm55;5mkaQalQ47 zrT0{Gl!$g%rB`?6TMhL5B71vk*g2qSuz;Q8AE^t+@Fm#RG6k246I?8Tl87-Qo%1zbHq%O! zWj^CNaIKy&7wOsM}|+Iiro4!lGx^s5;Hz@j4us55j^bD@a;F=>WAO;krNH} zSXIvsfhfjvIJLySbb~duuS;JpbF4Db3SCK~GLLO#P3_@3Iy!!hVKnc}Df#{R`!Aa7 zT`F_itWAm@$69aqizOI3fHxoL%20uLf4yLT=gyKac_(f%YTE_cKM^`r-dA9}yr8#V zUyB^OgrO8r#2=Y050wv?Dm8(j4cn8CAnvWl**g@yp~qZ@f_infy?1_o*F?=et9>w% zFTwd4pAhJZ?uKM)pz*hF->&wcB)3LuiOwWUZ?n3$N3x##jpHt88BMg-} z7KE?Qf0N@Q+S;&A9x!X` zH?)DGCbRUd5}+Dm=VCdbbnq z6`9@Gs4XZg?Dz9qOQvRU3D^hlLjsG;rUw8#bb}N^w=p$+&cnk4hSp7lWQm7;;~E?u z_8YEnX_!uw3u+UDE#^F0>3e!oR3O2?&egR-!MWCZtQIK(@lBJJm9?|7%EP%vK>h2S zRS-RP>SA}U2=vPl8zpmli$bTOV2U_71||VK5lA_osTPpq>*r_h=vZ7zY<9xIqwD<} z8AkMxs>?HHEy0~{4Rl5j@UxVq!BT1H`h0gPIPQ~Mcb1x^rS9&1$qJpb#<-YS8QwEWa>?Q~!LiDVcHkEP5dwViHTPP$?Sa3=>%6)}x^wm5sh2H>W-xk+ zbz|kGiuDE%2xPP|9Nj*=J4lQkTpR{rC1k`Cdk~F|)os7o&nY~Ixt*FKYM!1r zmw)3zo*tWK$s8SS9$E>GZOLn9Bn1#^YwrxhW19HHwF$(?IXPwve{`O+f4w0_j}tbk zoa3zsyIv|t!fTygmYZ<^W)h?Hjn|{4p%|U5zm((I6K9RVWdGG5_HrYi-H-mk) zS0u4+#bElQCxmOXnyR!Sxcg!y-krfmY@?D}90|**E#IKzfFCKAa1`V*!%V$$t^f75@KqKSn($Z28 z;3gS0H5d^8fyt&v!F`6pU+5uz)2#{2of%BGr=i9B-DdKab zW(TFlpTDImx&Y~WN9NZA0>E_|8XB6BJC!R9%M~GHwT0Jc3;q~fAkPwt)xhlKzex9( zZaE&O?^OFB!~NYW@yMSy0TNemd~cwjpy2E8Z=r30jb6{1GQn1mIT7X=*9`mnZk3q1 zhJ8Px;M(Yb(OxrgzY{iKt`;1oEFG;YA6$HUk37@qHUvcb-c_IqPQ}Y1slc>pdCBs!p+qVU zSJd8aWGHz$YNOBCsm?$9l6ht!fIef1$e&NZ#m&vG;o;#43wtY}7&m%&^4R%lozcJ(-KxkOtj{0Qr}cl-NL_370H$#ShCJDnZx9s9g%px^EUEAroWr}W}jDdX|UrJl3xsZF~wd96-+X+2PmE~ zLy;5X^BZ~Z36PsLiBj(HP9G>g0q#CS!2a!Eumkv%JJ(rYRUiCy)jaFELLe8APu{?Q z1YX4YLho=azb>KJw#XOYB5a|QaWbK>un^X!+I+WLUsZ%2(t0haK+C#L+*nn_oRn;b zb$vvKG;x^AKC8hDu%V81nt45MU|ZqEe`M~?k@TFU5!j-u3`(76zjV1hwVH)I&h z86*S1(u%a$iv??oWAxux)%{5&$Hcr$OFIw|KwUHmjVA*1*WYgg?43SAg1xa?d__4N zdlQfwCdSEPeJ!!aFf2qsh`ohHG7610-wFoo6>myf4-%sQ!fIch<_`@)kK5g zdqp_$bsDS7tgmOlQmAW$cqAWtH9zRKpKdMiei?J2(>$$-vYz=Q5Re#QNm>!6{b zNwq|cTz3v+QSDEuE-C3iiGjY#wZ@1$!2)0L|9e1QZ?oEdUz;3Y^kdu6My&wd`C36a zizafY+EnBZVwD#2ftfVz4U5CL&(EbU4G7)R%1W!j!9mJ6LNIsoj26yv?s@qYMb{{wqWP2 zs~VStyM{le2-Bv&?=CIIs~ht-mfA0e%0{+JH*gZG=Cs^AR{nx!WN6lVW^RSThp5)# zQH{|VoXwQspl>_-4t}5}eX~sx2j-`?=SV8aU((ySn}U^ppMAE|NvsU3Ef@mcE2 z9OH8ow^3Gk>a}e&%9u7fwo3Ij|6|{8YRFV#&tA*f|7)H_j4;JIi)G*^h@wMqdV}d>e8N4l^zXPEPAPirLb9Lh=SGuS2*0?cEqu~L?O>Jyp^rXt_dsiZ z4%^UsB#8wN=k+c(lp1|z(kf(F1VzyaxbJa7^rlf1v(FWhRx3XLsIlm07d5cZ zLB7OcdJj=XXKj)1U#>HQf0&carlg4{9D z(o6XKMaJsMzPDobxOKx;GHb(9?S%Cry^UF?XP2;S`H|N05?&@rEcjeRsxG?OA>oAY z%M~qaG>{bAWp1XLDi6jl38o78@yJjmHQ3DJTm*qLk5?+*+na>^Qe{e7h&0dCHY4hi zZ(2^Wbl5&-Df(lRLt}&f*%}@t?aVaP*(u8cazxQ3@@B8odY6*w?w{eAryew2zEkI@ zq_bWwe0+M0AQxM6u#Jpz9|t$Na|mzV&=_%W{f3u&?XrvEp;yLcaP|%nlv6vry98 zUQLjB*zvHm^2co#8vA)|^iIOogMG8pl+x&3X%UpsO~16rw<3CsbrflY++B38t>4mS$1ks^K3!ff4i!kYX%jX+-`f|=%Zmkl1SuZ@ z9cmQ-oj7F+x_ZNm>+go9WwwKhor_C1rtrvDxs8!mJ*0InKyxnrO+81{%gY>E4qwXF z6}2r6_Tu^0TE9D=Ww~`KLZK()UzB%1Iajq19rnSXsP0BBdJk8Y>*MJT&Bx8tB#gX` zo7oOZ$J1K^|FwVkT^Mo`(vP$i_63c z`FUa@=ih=G>IPN7=40KF&iXI}p7JBF;3n4%i9xsJe%g=MKJs&ZOLWk~k}p&e9|_le zgfM&FaO^rr{bido&feth590jgcvWn7GFKiZvA70Ze3Nd4N8{hAI+I@2W)}uaBQ5%m zf|^_!n%ibFL3OZ%ZY9^ zJ-Rb0)cM-6{_`tEFS|7dc6e(Eko0b79R*RsaP-l}gT9VQQ&h#Nv%q@@wj`S`SZH9j zxN=}i--ea>sMYWaD9W_qxg{g)X=-!(tudM;r-yI-ZNX({DPRit1zk~T;IV$DS?SB^ zh1)Y(G`DE&yyAs($7LQj%MYv(!e%s+yzd$_(EX9-e29i;zuJPLple#Mu?3mTs3i|f zpX1)^v{l`xVknR zBzeBs{UMX?*rY}#T?FTWEIcD$o%z=bsEv>Nhw9Iy@qYJ