{%X9b}jFAyLy~}I--r`r#X0LLr7NzgNILgt_|!)8O5N% zP4*S1vfQvV$u)yjRn>2!aK6m~YIM944Kq;bo~sJ_?NjZyso>~To=ykub_IUt>_JNT(m^$VC64?h9_f+Bi)~0}l zPSv!=94@tdo0J=>*wamObHo>H_m;Lb=(DrgF)F?6-YWN1CHz+OV0(c~So$&ImIn5g z+$^2l<6|k=3vA4ys@6dVx6^2k%=`(qSTVWPVnuK0Voz&CK5mK~?0};`6`#!JiltP7 zjR-L%m?-fKkpqr~9J*ru`UizTjjbv+dk4bm{Mn+;*P*IHe(hGUjie@WHP=RR {SxjILW+!qi2i*oaXz=Mu`YW6PO` 4GmqFFWW4Ovvx{MNm1g{+mzQA}TMFQm{nWeRRgVQLez z8LV_>8f0J-{#Iyh&xDTVa%o;h8<|jswnCv`XKGZ-$ns9Ho^qz92~R7Ovu9JNa#$?E zisU(siX_KXrTp5IuLoN1XoqT$E1(MNw~HR^u&BQf-y>694vWM+Kf;?YVvB*Mv=rW$ zT^N(4N9b0ARh8KLrfGD^O_lP&sx+02XE4dUm9KPRwc#wOkB+Iz_-%rMwO#Aexp6wN z%qI_G@idkP#l?FlX}g;6v_iRHXGV0vX{DDlBO1~QMWzBRa+ +(h$e}7W-FC(t1_wJaZir1wpqv=jp;o98>};_v zZ-kDGM7g6{$=TwjT&jY8o7rF|kqptln#xlhSt*p`jK(awYSVj5Y8JyppymT|(@feZ zGHh_OD)Mw|j@iftYq}w_QN*O_)(};ZPi6zFi5uxJU}aNv(m^(`O?X #jfx6%%`4uk3L1 zdh%6KxJ IB =I?_YE--Pol- {3>K>tEJ@VzA=lcn%}w;d|?}wF9_7aMsKR( z`^}kP8$Fur#>i1NdOFk!RWgCM99!L8Ww$66yPQ#LLa;%X1OI=hG2&tuN2)Z%D!!_Q z1X`g+u)SPbdPdyB?o`4Z&S7&mQ$=l4R8UpNZ<`YAN aRt7dA*uDXV(iulcqVBebwaZh*SNw-kj+{9Fp(|S#KROS4d Z~g?|WFi}+V(M!pU87d05^(3G zoS{3mxJj#aUc^mR{OJz6%r`3mw=q)uGqAZoC*GS^+ZY2>)rm%yPiwWYIf@LnjoCa- z9is3(S+rEiHb%LxE8%Y|ZLo8WaGO9~EznU*f2x?Lv-UMhCSOW4V^Y=Y@R>)!Zgy5A zr&%O7JJ)WjD){XM1iON!CTnB>oBdg%DOb=Kn5v9lV;t-PYD3`2;6}C!wKl$#3#dPe zQCD+%8xc&?5bOeKQ~Hgm$sMIVF8yTrCszY}1YawZ47SIh3a{@Ykv)cn9J*ruY+|sh zI2Eyn+)_MAcl}W7Ay;uWz-vlHF }D-;a2+e9Z8=?0S`W<}@#ij_s#Z8E`Ds1tO4)zsm!A@<6X>s8CICS0vh z&{lr&9STkIi-WCD=b~WuUC5=obk!ji3KYalP%*MCTZ~We#SkemclR;8s z}6uU@3^hRv6+Uh3gis1$H- zU#ycq9sZ@{qMT}PU&mBs{1&cY=lx^`3{ua7xqQ`d(84C?{hIKo%K0sPSJ<%>rglOj z^UYbwuo)l!H8l zb_n&P!TC65Ro|}Zxf`wX6BTUfY^*`7$QM7#(%F z`)Jlys5&EMw`MFg%i37m8gnc34S0CbScNltI#$Ktm@YMuN?=zGH%M}LF}<&-y8CTa zf_>Lt)q{3i<-2})Qx$)@{W`P%9qi~xN=jEN;sA|&oVSK@bW{(kD)}`u!S=zcGP8(_ zy*bjp$Ub;Oj#elZ>{tn1FS_oJuVlbd8D>S~Sjhxcb*5SLEIU{g601I) GHLHCfMbTy5Q8z$>oh2qATLBOBw7M z8cp104kwy1wL-mMO}Qp{k*-K(211(hdRSG-uY J})A542H&HVT^*pL_e!D&a7q}hR^~yT$u^sVj))h|Ass*kNR#o!5x;EefSCyIC zxoUxvcU1-ac7B50F+M6qjckTb=rr3l&dh+^G2V!w6>0@+x~po9#)~_P5$Z5@BAwgA zRFlgeYpUr?s(Q;mkux`@ jW2$#sp+K;El&Yc{wMFhxYJj&wsenAhi6)z#9mg_clX629dzv<@ z?uFAyjZPHbTrTNHiXShyM*25kyO4{M(Xr`9Idc3n0$*2vyC3Qtr^e+R*oUbV$ D-x;x*;Vi^P|QaVQ7g;q>SBWYbt?S#*vQKnw;CUfBdLj$A1^aQ4g&Luc-VcDqTw z3xloyt36(M&gTvOX389+%TxQU#>cPI^WxRx*V~$%Ltj1g{-Zha$#JJ`9LLVHbAgQW z)!A=Qj^l;aP`W0dqHI{;c-KewVmIVjDE6%=Uz^*W%_Va5xHo4`dztNGS?0`bhr?2M z3`s6?+JNtg7qY$46&=x~_~@h`BG%c_vC=uDeWILBW4rW@BI5M$rX)_VUg8|t?iLEU zLcz`F3Z>qB0b6ED&g^#fW8Kcu_M|(J%DTOyTl-=ItNRDmZd<>4)4*tK^VWgB;bA4( zb#ByI$bSny=F=GP(Jk7}r`q9$5GAwVCXpZU>}2oxJC?;ZISbl%U~efcK)L+X?)VaC zPdnqICAc>nj2oZYS>v&h9q|HNPZV}84%vLNc@8}_9%1K#nG%6L-EIoNP}ZFTA9ixV zr+_@CohNxA_y=b7Q`f`J-r%1pUJU9-riY!fwI?elorj%oS*Tk=W6?Ok=9q_+hn*>F z+N)Bqx^>CSq(JqIZ(i7EC?9I)adR;)oteZ?j?U(Ce8;97&5pR{qI_@0M4>MZjT5V_ zG(^? F*N0Xp>)aOX`h}y7oxjplz3PTT>Fb l?^p zFWF-+vRDo3&eP<*qW#tqx?ev5lRw^Knb%K2)DE-^JN9~}x)`h&eA`|z(4VgRk_kH& zryOvS6rHOs)Sc{Tb0ld9!7{_*(9L+fa$Xpd#NyP8A&GLtVc5xAvk;JiDQ>Sa;)!Oe zTeL{})3p--!;VFxpvz&-AlNkuN_Hs6>V+MPO(l|}!5MgA=bQG-G(@O7l8)Dn-8O4u z^?*6s#j)Y3Z#)6)&8NtfUt#AP))JjP)7a!>vv pQH%!I!?jb+!cNIr z($@|q3p=~4J(arUXN{h{icKFWPXx1Bw&ioxqrAe7UA^VmTUHwss(AgWSym@wm Y897fJn_12_t{lX4b0BiYs+Y=OD6>Km?fL 5^o`AWubfH4&8@|uG*)FcJz~b@DlSD1R_g3c^D0l4N4QvhCulz3JaxtDJ3&(z z<7^bG7EzT&JHo{3n@L3q^}LapN(r-9XmR#eNs0QiJZ#!)x~|+jb0h3nO^KQSJf@tI zF*7Mq+b|b)uCzDrCtcx+W&Dkfp9nkO{{+aR91vl1iLgu`)}~pU5|+<3Uzk~JR)tGl z<*Wp&V+xr9rYC=v6F;(FB277je8xcpVdsZ4FPhljB~x&w%5Kd$zwLQlsd>%SzEz_x zYL4n1-)?uKp*L(+3}(QT%YCiftG@1gKI~Xr-!4mqE|7FoHzUoQF3L>y4I362y3dsr z8+*-8b?&g{4&7?b)Slnmfw|SbYGZ+fi}A2yaUVisNvaN1ZQGZ|;+S>FVsqSBpho_* zZN37jN@cqnP<=46q~@gBYC~8RfkhOj(l)yT;*Esn0NUoeDDix4Rkp=7N16v)EWuN} zEZclRqKm=mg2h={{pseQ&f>UI6Qt^HIBa7}yI6C1t`Zc$Ya zyjJs|Dgmnq7T1~8+#l+mZmq8OstKXHoVDH8HRWKLVR1lYKHs!UHVtI8MDi@rSA^MH zLZBo`)rqRrg_x!Q((P&3u{Q=&WRN~eZNA3Gz8uY~sMV!Y+QX~9KyAKBt@-HW_Q>AS zK YYJUFWd&3G5t?r&E*J-kxYD+^yyErBo($zPrphxjk1d^?s}?I=Xwe zjMLQJQg67wcdY8Utc}02Z5t_-ld0TTXGe6^*Z@7NJYPr^-LX+Oo@ry7k;g_#csGz} zV~+ibsiL?$wiUnH23HG3{AM OH#aOy@8?wER4Mmn7NYg5^HVT!rQ zOB9{in=oY&LF5q3px`{q42`dAmMRhIa4uJH;nZrW*pI(vH$4uauUK?5 7T7 zFVlnd@H =LRROQ5D%Ido4|7H%A!xz! )q9zXYGmgWt z`i48bq%8PZXW>9*+)awt%5*_aktZCDI&)4>WlJno7txj6NUbE#gz9shd4t8;&mV#V z^K#iqCfi}+MVFLfcC4H(l?$%3fO(g~xsFw&FP%a?DLMynr9>Lga#t!kN5tUoa9e&f z2ahA}P`t3yEjWkDGRE^>UO5M%o;oKC^p3r8%LA|9_~S8Jerq2nym{o}9EblMjNq69 z9Ou)Z&w!2veHL^a=rCZ%BRm1r2KpQ*3_1~X66j>m=Rv1{z5rSb`XXov=x}^@DMI>P z`Wy83|F6Gs41Qx7z83+tgE~O;ccP$9P#35h)B{=$S^-)KqB^Vs^@3J|sC-`ntpR-* zM0GnAbQ&mxXY?UF5aC*cls5*#f2SWG10c$?j^4oEoyR&3alT1H ^eIDQ7%rsLZLzMbP|lI=RaUEpVN{Hx?F9Y0IpXLEdvoUP+$3;Z08e~p}@ z {w;Eej$b11OF8~+a;c7AD)7rV{vC3ej$bD5%Q^mCa=DIQF7PWj z{ylPqj$a}0D>?psa;1)6De$W}{sVHAj$bA4t2urRxmw4s7WlOs{~@_n$FCLmbsYaW za-EJ}C-Cbz{v&d|j$beE8#w;+ -fzAzlGz!Om5NfTLgY9$A5*~s^hl`{5FpND!EO^Zxi_K9RD?PyN=&3@H;sE>*Nj{ zzeC`6a{M>QojQJ}!0+PtkI7v+ewV=S=J;=tyLJ3-f#1XN-y-+u_&ox@m*YPn_v-k) z0>6*rzfJDb@%sdRKgWNE+^^&J3;Y3&|1Nnz#~%>*gB<@o@}Q1CDDa0k{`=%19e+sR z4|Dtv$iq7Ru)rVT_#cu-bo>#4Kg#hxB9H3$qXK`7<9|#Z)A7dy{y4|~ggma}j|=<> zj{hlnLdTyF_>&y}GxDU4KPm91IR5A4DII@G;7@b>FUZq6{ &66@kCX@qZ$(>iDYye~sh+OkUIR*987L$Nz=A zuH&x@{0)x(D|ti5-w^nl9RD}+rjEZU@V7Yr@8m5Ve@ozRbDWU3b^L9CS2+G3q@v>$ zfqNYPPvYq~hduHR$N!7GqvP+0@4w6OpOSZV{9S>+$MOFr@9Fq^0)L<5KO^t!`1=C? zfaCu|KG5+G1pXnzD^7@fs55-X87iR==QtpQsK!FC*>St~t-qg6C7A%FzZ7t~t*l!E;Qg zvdG}UHRt)X;Q36b@@azy*PQ2A!SmTr cyP^mRtcWoP-T_DgKN&STJU@+ zR9S8C;F|NS5j 1Y$W=z!=Qey|;%}gGMyRr#-8qwe zp2a@DicdOgx6Y#zcBddX#UqOmEcVC}1WP=!48bywv?FNuNEAWTBV7o(Jko=p$0I8c ztnkPx1gku<8o_FhtU<8GBc~!b)gyff`aBXt5c9|Yf&q`LN3h-_g9rvavH`&cj|?Fg z^2lZcn?14x!4{8 z@Q91R^~fZGNspuuq&%_{!A_545M(@(Ly+^xE(E(gQbbVnNEt!dBYP0+@yHZ{DUa+! zu+Jm=5$yNKg$OS6$i)aQ_Q)j&F7e2v2rl)=We6_w$mIww_sA6puJFi}2(I+VRS2%~ z$khn0_Q j+-=$QuaW@W`78-t@>@2;TC@+X&wFNCiQ~BOU?|y)gvuc;sCK?|S4t z1n+s|eFX1& 7>8|^eAXq?d)BZ3wfEiNKxX3?x7g0>WG zCn9Jt(Lf@CRuQcrB53;1)FFcQ4ec2sXvENHA%d0)EfXSWj?nxdf;I DLj*PqHVY9Ls><2S{*1BDbMW~?a?E 1JEO&KLkAr`XkU|pg#sZ4*C<&6QDl@Jqh|V&{Lp42R#k?3(zy5zXUxC`YX_L zpuYw^5BeL>3!uLRy$Jd{&`Y4d2fYmX2hb~^e+0b>`X|t9pnnFv4*D0+8=!v$y$Sj^ z&|9E?2fYm FNzZ@?d8s0>v#QD%S5 <0W(}IG)P=p7CtgP z<|9@(tN&SW95Ov7$Rbdwlldq=VXlR834EHY5u?~iKL`G-PN(#1nNB o zUpt=0zv| $AzZvL% z+|QB!OQ!#qqi5IYBi-oZ#yG1*kDm+QCY`eJC4#W&Ob31LNhynRN}oLIVhXNcCP)>e z4`ra%)MkuN5w8)*=64|E58NMfJMEM{`Q#~Pn#CwRXTWCo%tvi6X_E^xU<`!$FF5v{ z(znh(cJc?#jX5#sDsRrelm(DBjq XABX_lqd28M0%4ufr#!*V zB(wgELV~l+MB|m8vJE?vO#6>Ug5_qS !%^*0&%6-a4G z)YOvmWVw||E`=kDrDzi;n$lSG?Q%%Imx&v4)EvlAv(Vm|kkfe3|4Z>}KLca@X x5JKEW4ubr2pG-Asqi4pA6%a{zQbW2GA&3 zjuXs0I| DsUxWI^YVx3;@5+1fB)p`acKY2hcwf=E9%r>vfjz zb+Fe18UT%eg@CI7O#qID7QiCFVgTp2rGRCC?*o -z)U_ zbfQj!vJTQGCq#aTywGBd@JxO5s~F+ -gquf0ARtL?>hk_O>ut4 zsuRjXF6eVEB0uYtK4Yu(FA@H`5iM1t?++L0QYfZ_^-rfu+BEcwXNnPk^+huoDe=^s zDF*=IQm@F;8gZ<@-2WPsjbH1xSaxgs$Dd~l%{80Z|PdHT@gucYKS<9c||EP6g$Xo6BPc=83 zX#5}dpX9VBVkS^!%s?NcRBA5zUj}AiI~fG|Ps)=M>3<6lo-!jEJN}nrpL4sNNk;y1 zB@(>C6hIVWZl~VQe5^R3{XMmjxEjsHs@P&X3X|D?YM@Wvm}Ux6SM^?nk-rqP0M}c} zVz>szGaUcq%T5D0o&U)DtNPFIfjzF2Wg8DIu0%$t{1kvYWE+o6acRgvcA8~u-x)g| z+rIJHqTRpW+A1yUnLX9?3e(TAX$k}~s+$)!H7-~Y7+(3o=IsaWdc3j)zQ#}0{04v1 zGP)6J#fs&Hp5px6+(NHAvoyERo$D)ZZ&KPYdu7LKCO!CJ=J3qn%Zm$qJ_N{i7ki6J z-MOVDIqpJlPPW@q;>*qR`n-9?C0Q$1RFF!&zquvQbXT2 @BZy+L$fcetP50U=DGEv zmigy5WGwJ6_ODo;X&N_i#E<&6az(Z$J NSl@ncL*AM?0qb z1KIh0PgSNnkdqsazQK@CJkM>v(F+$8*Nym#|L(27e7Mj0tEcz A|GCTi zQNH%~dGEg!Ef@OeCZAWS^OZbvY(du^9*=$z1|p9J4F=H|A4V>ooO92{pH 2ZBYpAUOrNMEb*Q5TEV2H39&vS#8*InSLsdeY2`2Ule|F@g^ zqYXVn%X=+21}+=wgs>U*LM#*Y`d~43amLwQ+Yz@AVYdXnnYAYH<@kc>X^`?{L&{T$ zHJDQHOi0q)7@2Aziaz|*=rPu@OTe$#FJjSC;esa6U#27}-ZT)t3>y2VOX9||qkAgn z2l>&a&Cjg5F|_{Zp2zU#`^TywLlvkRZ}65?FK&DNn|bv!*8lj5$GqEFYBfJ99JeNp zS^l{>;7X7YoVqWVRW&R7e-1w5>3VnTy#u!NNGkuslkd8py>d_E?3PRCJijUT@U@G2 z>w9%oZwkk)Kam~ih*bzT4kCe8h$R++mFxo+_2*zKF9ROhRpc?Si+?*) -13~cY>Dp zGLe~ZpECic=SXMfB$184K8Rv>BmJcinLdEQd6Qq{LAY YNDoGKe|<7xbTkm~$T7t5!if0eJs4BHQ5q=5-=>!2PGSBDVnl@g^hQ zh7BU4;qLcuBJU%d?-t|<_|UD8Jj1`~4%8FyDR<)Z3i#u@!TAAuHi^sy{jctYrX=uZ z4~l#PT=g^59dM_gqdpL>{1-UwLpchzi9F8o{R)z8;K9$rjc~J{7x^pbZGRD3Ilv=d z7WoKx#%`nud@U-o9(eQ~kv+iGuc4g~|8M(5E&+bw4a7seJoq-sj`Ti!SELL4=YJsb z65N|VhL$Jl@26it`VRl}uSI^{E&-;qAU)e)IhUYSlVUk7TuUO{ZmuUi+az5E(!MDC zkj~6vhv1NZE=bSHGRnfUkZ1{pxK*cV=47R38fi|Bk*1~i&a;|TkeQy9ZzPP7A`#r+ zKzMZnU~o!X&TuF6a=4)@&{x(>taBd7Q~g+NbFj0nhTU%eojU(Tr8+QbvL$v9{HO;x z68c5x4b|8Saf8M4Rm#Gs?Lc|3o!*x!1oba4>FDwdr{$--GRsULQr52YESZ}+^v>9l zcOwDlpM^0EX0o=3D>d^#6DjXjWv2uvGH=Wc&nB$K1Nlo|cnk$NEkDO9CScu!)2G V;;@xFs~;=T5oz795b z)TBGstv#JJnSk|X?CF|(2<-2wNduZZyQd~g;of(aCT{}&v9~5u5r5OUns|W+_t*4v zyQFE-5$TK>sL5f3yK0aonfQL_0!@Agy8ky+lj-pP(M6iv5BHp5n%oEXNVg`>!F^$d zCU+qG>Diie0NsXsP5NLRJ2X<0+fa=!W3gO|@9TV;oDVv0jM3z6;8VtF@+thi6E!&q z_w;h4gLL~$*5obt=Yi;Th~I9OCadxNi8-3ihkRa*@*&*y0Zj(M|FgN8Oak3?SbWb$ z_;;?-%^YIJ29ncwKDTB3aV5Y^YNfI+*IX7^x=6<_FW`ED|Zg zHN+4Be{D`dZXl53Dae3)JwL~b?PIt(TXYS#a8KP;a;;W^^M=Gu99TVeM;;4S_9%{7y-HiIA_yD(&wDdbGLYWrxBa;e&YNm_iGS<=q4I{ zLj$G;xu}7J(LO)mKZ9j=I{!nU6QrM#|B@RydF8)}=pV(<|JNYclQe+S{#SyqVBmFg zH1z+;qa`x_OA($DJDQ`Q|F3aB$MQHWKgBo$0W`<6{y*m)@~U=*{3qwLMC#v*@DQ5n zCLaGwUe(T!KI`% rZO^w_k4~`@(m9{f}&a z-hZYHkg_k{zl^7YME%QNs1zIqIUaxH*JAO1A^OW8`JzTtU1XJqxs$1XtNbgn{8oKn zt85|`FPx12=V>TGg;|P7`qBAcYfi$75BY>k>jAGs<{#eGkHvq6>Oa-~)>=PN+y7|k z|0L4?tmE%Q(f`LGx8wPbBNzf(-6X<)+v)!+8LXMCEh@&>SmWR5^Sp(@vxk5f`mwwj z!uRP6Uu)t#|L6^megLQZ7lh%#^A8^=lw$vti{E0L3c0~?W&- l_oQe?C!PiyL$~ zfDf%SPZqkSUscpWlt%``6y)g z#pP6m37TkOqxmsHG=Halp?V9FPT1m MUM~}pYoCLJ`ze-GkZ>SH9#Yr z^*TnRMyXmyLMa+|fOD-Lu*arv=x#*Ue>D=} drwDx;Vd2*q7 zr{&vwi?{7P +^aBy}jq5f{ zDcojUF<1zHzK+bS504kMN@o|0V=k4Tkqi~mn8X-rfLZ_CL6^PF8i#h8PYTA#-W}yK z=(NLy!`44LX6qY|?CJ5q)Nb_s%e1uvx0gOTd|&m(zb=J-C{4L|YkThcc2~b~_uo_V z_#OR>_|Zc0COcnxP`WX^wQq=PN9gDA%fX2ifFtuECp=3kLulh=27^DO&VtkUrARRw zyk;?8P$&Wq>ee|?a-D8)re0uv^?(oc;Y%KTe1JTJF9CPD5+kDqckRRJ8d^)%T(gIS zhf!rSUYBFoj=BzkwQNV4w-G1-Z~ljB>qt|~(C>zGF5p=}051v@VqdUK(m;bZ2s5Cw zM2#}z1hELMQiB|XTJO@Mo}ZBXB+ vNuIdsq+9hY4LjO6X8~ z5ZXKZ1<7XghAH~Il7;@jy&O%fLv2#$OEaNawIVndhHS=Y3BLqpyd%B>?RIQ#qO`pL zV4V77Vn(pfy;?7g$=KkRj$OV()YZicgWLD$`DWX&4|0CB^4wNl+>U=|d>VtdVoG{) zVQJaLxAMPMn%2BHjZfl<^8e(MRQabL_`K#12frF}-+^I811IcQ(&Nk<(rEwkz`+&w z-MqUa?K%m|Pm2FnZEvX*SdIP=-%sx`;lUDiIi=+^Txi}&I4gRD$oMJ#|D@*saX(3) zV%XI^@tF7)bM |7XOD+JJ?)28_%$)q26yw^ftzkzW+o$V(#x!??0v9e@f>4r+@bQGpYN3afG+gmwi4R zl)C?i=jX;@?z7<|6TbOZ9wWWv-p >MfRAZG}_Z9B{!+r2?n&67P%*18>mw+o;H7UXO_U&Byef07U zF8LDSmUnW={qUdJ#U%?7?(?oL831?1nJ#$ levj_ z&Qo{(v(G qWV|sT#3p5 zjQb4gWvfd4tt-C#U57W(Dj?CThu&EwG|G(sg{wx_W%5H$s5$ILTqO?L@OCfmr&U2i zEFZsKXru+8>yisw6?~Mt8a|X1#(sg#0}ZoUgg4$}^CEl|v}W=UqY5;#@mmXO^a&tT z7Jf4Ue8Y_zW&EEx8lbmi9Qr--+6NVvuil?K>V=zzW*z=|3p<6HtZ3g0z%zle2&Wcx w(9YZndy4-%68?{G2gDQMhBR;tZV}8UH0KiQx8(cOo7IWEpc|qdP5 : IEnumerable + { + public Node root; + + public BinaryTree() + { + root = null; + } + + void insert(T val) { } + + /* + * 10 + * 5 15 + * 3 7 12 20 + * preOrder: 10 5 3 7 15 12 20 + */ + /// + /// 前序遍历 + /// + public void preOrder() + { + preOrderTraversal(root); + Console.WriteLine(); + } + ///+ /// 中序遍历 + /// + public void inOrder() + { + inOrder(root); + } + ///+ /// 后序遍历 + /// + public void postOrder() + { + postOrder(); + } + private void preOrderTraversal(Nodetree) + { + if (tree != null) + { + // root.value // 10 打印自身 + Console.Write(tree.value + "==>"); + + // 打印10左子树 + preOrderTraversal(tree.left); + // root.left.value // 5 + // root.left.left.value // 3 + // root.left.right.value // 7 + + // 打印右子树 + preOrderTraversal(tree.right); + // root.right.value // 15 + // root.right.left.value // 12 + // root.right.right.value // 20 + } + } + + + private void inOrder(Node tree) + { + if (tree != null) + { + + + // 打印10左子树 + preOrderTraversal(tree.left); + // root.left.value // 5 + // root.left.left.value // 3 + // root.left.right.value // 7 + // root.value // 10 打印自身 + Console.Write(tree.value + "==>"); + // 打印右子树 + preOrderTraversal(tree.right); + // root.right.value // 15 + // root.right.left.value // 12 + // root.right.right.value // 20 + } + } + + private void postOrder(Node tree) + { + if (tree != null) + { + + + // 打印10左子树 + preOrderTraversal(tree.left); + // root.left.value // 5 + // root.left.left.value // 3 + // root.left.right.value // 7 + + // 打印右子树 + preOrderTraversal(tree.right); + // root.right.value // 15 + // root.right.left.value // 12 + // root.right.right.value // 20 + + // root.value // 10 打印自身 + Console.Write(tree.value + "==>"); + } + } + public void level(Node tree) + { + Queue > queue = new Queue >(); + if (tree == null) return; + queue.Enqueue(tree); + while (queue.Any()) + { + Node item = queue.Dequeue(); + Console.WriteLine(item.value + " "); + if (item.left != null) + { + queue.Enqueue(item.left); + } + if (item.right != null) + { + queue.Enqueue(item.right); + } + } + + } + + #region 二叉查找树 + /// + /// 对于树中的每⼀个节点x: + //左⼦树的所有节点的数据都比x小 + ///右⼦树的所有节点的数据都比x⼤ + /// + // 判断是否为空 + public bool IsEmpty + { + get + { + if (root.left == null && root.right == null) + { + return false; + } + else + { + return true; + } + } + } + //查找数据 + public bool FindData(T number,Nodetree) + { + if (IsEmpty) + { + return false; + } + else if(tree.value.Equals(number)) + { + return true; + } + else if (tree.value.ToString().CompareTo(number.ToString()) < 0) + { + return FindData(number, tree.left); + } + else + { + return FindData(number, tree.right); + } + } + public bool FindData2(T number,Node tree) + { + while (tree != null) + { + if (number.ToString() == tree.value.ToString()) + { + return true; + } + else if (tree.value.ToString().CompareTo(number.ToString())<0) + { + return FindData2(number, tree.left); + } + else + { + return FindData2(number, tree.right); + } + } + //找不到 + return false; + } + #endregion + //插⼊节点 + public Node Insert(T value,Node node){ + if(node==null){ + return new Node (value); + } + int result=value.ToString().CompareTo(node.value); + if(result<0){ + node.left=Insert(value,node.left); + } + if(result>0){ + node.left=Insert(value,node.right); + } + else + Console.WriteLine("未找到"); + return node; + } + //删除节点 + + public IEnumerator GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + public T findMin() + { + if (root==null) + { + Console.WriteLine("二叉树为空"); + return default(T); + } + else + return findMin(this.root).value; + + } + + public T findMax() + { + if (root==null) + { + Console.WriteLine("二叉树为空"); + return default(T); + } + else + return findMax(this.root).value; + } + + public Node findMin(Node node) + { + if (node == null) + return null; + else if (node.left == null) + return node; + return findMin(node.left);//递归查找 + } + public Node findMax(Node node) + { + if (node != null) + { + while (node.right != null) + node = node.right; + } + return node; + } + /// + /// 删除 + /// + /// + /// + ///+ + public Node remove(T t, Node node) + { + if (node == null) + return node; + int result = t.ToString().CompareTo(node.value.ToString()); + if (result > 0) + node.right = remove(t, node.right); + else if (result < 0) + node.left = remove(t, node.left); + else if (node.left != null && node.right != null) + { + node.value = findMin(node.right).value; + node.right = remove(node.value, node.right); + } + else + node = (node.left != null) ? node.left : node.right; + return node; + } + + + } +} diff --git a/Tree/Tree/Node.cs b/Tree/Tree/Node.cs new file mode 100644 index 0000000..7561043 --- /dev/null +++ b/Tree/Tree/Node.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; + +namespace Tree +{ + public class Node : IEnumerable + { + public T value; + public Node left; + public Node right; + + public Node(T val) + { + value = val; + left = null; + right = null; + } + + public IEnumerator GetEnumerator() + { + throw new NotImplementedException(); + } + } +} diff --git a/Tree/Tree/Program.cs b/Tree/Tree/Program.cs new file mode 100644 index 0000000..6183b43 --- /dev/null +++ b/Tree/Tree/Program.cs @@ -0,0 +1,43 @@ +using System; + +namespace Tree +{ + class Program + { + static void Main(string[] args) + { + // 构造了一个空树 + BinaryTree bt = new BinaryTree (); + /* + * 10 + * 5 15 + * 3 7 12 20 + * preOrder: 10 5 3 7 15 12 20 + */ + bt.root = new Node (10); + Node left1 = new Node (5); + bt.root.left = left1; + Node right1 = new Node (15); + bt.root.right = right1; + + Node left21 = new Node (3); + left1.left = left21; + Node left22 = new Node (7); + left1.right = left22; + + Node left23 = new Node (12); + Node left24 = new Node (20); + right1.left = left23; + right1.right = left24; + + //Console.WriteLine("前序遍历"); + //bt.preOrder(); + //Console.WriteLine("中序遍历"); + //bt.inOrder(); + //Console.WriteLine("后序遍历"); + //bt.postOrder(); + bt.level(bt.root); + Console.WriteLine("Hello World!"); + } + } +} diff --git a/Tree/Tree/Tree.csproj b/Tree/Tree/Tree.csproj new file mode 100644 index 0000000..c73e0d1 --- /dev/null +++ b/Tree/Tree/Tree.csproj @@ -0,0 +1,8 @@ + + + diff --git a/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.deps.json b/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.deps.json new file mode 100644 index 0000000..5ba2436 --- /dev/null +++ b/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "Tree/1.0.0": { + "runtime": { + "Tree.dll": {} + } + } + } + }, + "libraries": { + "Tree/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.dll b/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.dll new file mode 100644 index 0000000000000000000000000000000000000000..b24b7096ec1112e59a5c1787bb4ff57ab6b97b9c GIT binary patch literal 6144 zcmeHLYitzP6+Scj@OrV0jm;}OJgiCUf>~^AQsUa+cQDvs@B<}5!sGR|Jz;icnVEIG zK{Q56s1zYWC4L~aRh#~(+DNUUs+Ceo16BK@YL%)|+NzEE1C>f``lFF5BDwtm{mz}4 z^*TTcQh!CcX3jmYd+s^szRoiI++~UoQ54_3dqi)e=hh|Re+P>YSJhvuq92sMyX|dd z=-q8&bB3$s9DCN$vsy;CEZftjgy!Te&9Jn-qoZ2Zo)+oK%H;OI^hiI^kP@NSudiAP zXS+oyTBS6@I5-KPd#wq*hOY}B0}Y+(`wdL`&pj>T1D{)jCSN70mj9Offb>;p4t9?+ z-bK_H3z((dBvA$EZ|o!*E9L($Tr0XRH4~r@mW)YzV!;D_lZ`_rV-5TUC7VVxnRZ+! z14{bV1tg9SA(gf+c%OEJX+x3C(Ih^$wGLlN>muqYAtm}%#Lta=Qz=IK8i?kQa|QG& ze>N6Ba_dnWF)RsVb?4wqaz~POOpvOcWumc?MU7ZiaQ7Fvt0nyzQX3H%B(=>djbldm zP(zWryOCtP=`cmk)+ + +Exe +netcoreapp3.1 +|%sy)2>L}&dN2)-E~aZYano-oolQG)>y|@)X3SjOvoug zAQu5aJ7D|4bF3Kj_!B<<94j1q%n6Hed>!#%xogN>k06uCn6j#@DYox5@Z%AC1E*uB zM{#>2u!@AtV`X_s9wViBEHCEq2_Be`X~ZJbMr)!?t10d?e5;Uh%q)%7#C$0;0x88C zu_`-j<2CVJi#uK_ZjHz}UP|l`ULkZm1dGCJas@tPO%cmxFq856q`L*kxvc=3B)Teo zmWi@+^?>!OC9lHgCC+K!ZIrCavT~`hMN+lVvYM!r)>rt9Sbd$3#1l0!shOyWOO3d1 z%-#lD QUq=@z30RTe>;j+T7amG=w-uCZLBv8oo$$3;iuD zP{XL_7}l)I8aHu{8__q6kJ8_O^O0_NW_+*@{SxRL64%gU+EbvpVYqT)t(qvuIii0n zt$enjf<*auAK%|BD#HiI;knGCye?Re<**TWd{1E>AMbX>QsZ<{!YlN=x|%LQElxM+ zrV=Mt*$n9>3I9NheEy47X35eywf>yrvug{F%gm0XU+utqU8*VP7F#Qs?PCwE${b zQWvNlGL>Ems9s6E7Ep&JbtM>gTiFiHrGV;Hw`2dE tykYe?wcAySzJC`3Vnn`D>MQ2gP{np#fds)DuTh&BQy>2rY9$OFTt zCG3`PP{LypJ}aRP7{}Ukt}2M5IYX~d8aT&Nff(XcCv&LN`^o?n=!fbd=v<-^@Hwk> z#97@g?QEy-D+S MPVFrEP!(;5=8G9NQ+xHp$$iv1Wh7%(e7qz)hqm zY3z$6;7;lSY^6hhU!ZZoUYY_tEcv5=dvN1l#ctULiAC?w&ndbX?p7pEwqt-%tQGHL zZoj0w?4!u-GVhxbUCEmX^h(F3!y&NQCgpMTpQqO)PDfCvOtw&uVd+j`%n?is_FMU^ zaP%pYsbhJO=e}dup3a+MKk9?gg6oNFy4N;Mk?{=Ma?{TUOE^Y`*aUeDmW?dyTdr-2 zkUXBZJR>XUgkyMO$gl#8`ovUzc9v)F_HdI- e{h`oP)#Ngpr>n*6xLuOfiUO^EWh*6;!Kf$M zL_$gM;D>{l)B%K2;;jRxUat9FvONYDwp1mQ;HSn`exk cf_{(7cwHpCt+;P zv0ro*=#}A4C)%sfhV+sCv0mE|-ML&-u*Ev(ThlEtP*qnveSL GCmIhoY__0&z#m?2@Fl^M$hP#4$#+N@9^ngX7~dT{rgu=6gpJ)n;Y**z*WHAV ze>au1kNsSr du6IL8z@k3Mn;;$c+W;B3;{ I?WXRwb2xC!tXU)HK=cF)X6zHM*$J(poFx~ zGm8M !4>S(Qr(Y7z8p89zT_NrBQGvu$YNzoc&}lvt<2W)7|t2S z^%DIZ>l(HXe|)3kz(Us4xOBkl(3!%WozjGrv8VA)cc#Y226pXBX|AVR)4FL}qBB(x zZtB4P%4B7-Ll4R}4JItNGnIF&b~iI8vbwt~Yh)bTwP(Ct89UpqyV>-7OG?Y?mN6q- zFMMX?d@!bIMPq~00)?YjSm6^tDk;sv+tZmEF5sau4b%wmIE|Y;wcEGgIeFLPs_zl~ z*^`pvFt;l*d6cPzfCk6mdJJXo^oV23qsp8W?ju@l4XtWu%XaVpWb*9s5SM0}EYLbr zx;tpi+oy$-((*=k22~Q$IHQ}c2!fJEc0a(I(DmIbeDBy@Oac@-c84p366q7&H2?n% Pu6KN*qx>|uhh*SCNVR&$ literal 0 HcmV?d00001 diff --git a/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.exe b/Tree/Tree/bin/Debug/netcoreapp3.1/Tree.exe new file mode 100644 index 0000000000000000000000000000000000000000..4706ae53f0041c687d8b9116d9a2bb720070b106 GIT binary patch literal 174592 zcmeF4d3;pW75FC`geAT~iAKc|HI`^xf^i83bOti;1|||JXsV!CG{%Y=Ap c$Ky%oKNj HM!rrHg{V1rrhgq$}JsxN$!m|Uvur5Sy{dF+^UC! zzjf5y{?)$t|5 `1gJf3TQ(8Kfb{V!b^&(rQX$ e)e~lLw`G#wR7mZyWMcJ^4H|@ZO^Vb>A#Z@l?5R#q%a#bw2Rt*V5 z=Tb;ulfHM!pG&i6PP^vnnyWpY{{JEmb$b5I^$xB{e?G|NOedR19m|V_z;XoF8C;Y8 ze1LgowUbfzk-lnl)g6@2cjmO|)22{X;{@Dj#6QqozH6u6Oh& Q_7-?!QZU$ 0f`rfSnbbE#0Dj4P G znv+axT!ocd-*9_QtT~!$T0x&_^)v0^sb(~#vNW37mJMWnW7!td^5w*`KbxQ8p`M1y zK*?UCZXpnuvCVBicUy4lPARh*gVtXuVaBr8QX*K=7{1OJ=<^6T-~TUyGc^gEnhXKu zR~juYw&P$ml@1mz>uEDg>#4j&+*!_W=nUoQX4 ynNG2b;d2!&ot}T)*K-NY5Bad>@Bq^ zlBdz6EujR6u-bo>|4RSFtFBzVIK8HqX`fJMrFh! &MXI=TUV=#5!(-zFp*vC^tC{g7Elo{KhwmL?I$Q;j zwT_Yr?o7H4l5a|o{Hv_S!IGw$A9rfn&7Yvf^E*wfhbiMutoCq5WPN&Dle9EOxAc_e z9ng_87|iysK(m*qBaiB!*+S(lacQ>j&@?*$DB?6Lq+rfpQ_H0**=}5rAluith3eYm zl1#QfRXZ`6Y|B*(atdVIufieQa`jnpoNS%NiC^C(m-#1XPMROGZuOck3SIIy&$OD# ztkz&blWFZVOI8_o1ckJsQ}fDA>-rosT9a21w9h%lv^IsJ*W^t$BWrtxNX#`$HqRVr zTCY&v-1-l*V3k>-W*%YM>8F|2KC`6RG=}dr?aP?5>(y05rOMek7u$I^(rNCedqY-x znYG5WnuGRGIKvm2({47cBKWa7@uC!FWhk$@j9K3Y)|xjfXsxaM WbCsY=c2i zdC-Oog71<`!T+VQjE1aRyymkG`UU^1HU8mdA8Y&vlJOsk&dJLyvxgoXv^Il!!z@|v zVtw^NSZDYI>pM()M2bnd3TMEEX?&b%+U6j$X_Yjq^Nn1mhJG8o)i)S*8)QuES%b{T z2Q6lF)ZVuKB-dmyI4Vc-SehM$tZNt(t1%S4-FvY;^n5dVC0GWmFTB&rOzT^M&ufRJ zz~$Bitych8UB;7XPe>Wjm_7)KPmIhMcVu<~sxvZ_-zk*x_fr^| C|0({T%X9I+@zD6cU-CHk zFEw5``~bYiidAO4 qb2pJgmE~*WQ}vsX0oOiC9`PD`$E?5jzsOJ`nipch_W^)|;)b z@vvetKWf)WQvD7yTBl*t^D4rNpfxg+hcH4(_M-?@ZA`0j*7|MXbki;`6ggv-+SJqI zd7joiO(Qb-1?UWmyk;~_-sh{^;3bCFWAq#0HN2+R=r< kow$S$j4wOu}Gm*bc3-QZOkJiVsr_GdxPdEzYL2#D| zSn8jBB+u%Q{Xkv|;03KK3WL@S#X;*`|CPvGOt6me)uQX6##iJKcYKedP8r`{pmi`V zQ{>VyzLHVx=}ogkhMByQ@y&q}WPH6s5i-7KNf}_&nMZ3FhaFGaA;!0fI+Mot#{SfP z@c2GNuEhA>!@~-%z+#*zDA408%?X3_Cy(uVM5AuTHedY nTz|XMYY`*VctMdfG7EX`W@Lo>>G8Q_f;$5xV`2u%%-bEU z&U8nmu9qH_Gx|y+*08^^!X}MMgEV |W9iF)D9SXVR!_Kav6mkBTGFek8N*Z>@i%$cjRN<<@~xy&jb @L1c&)+WDI2POuE8RA fs z&8Tpwom_IzpK|E`_r257OzQ%XnWkqM-kvYOJYWqeZReZIJEXc#&B&&nW=XqgjA}RS zOH 5h~HW3jf&`u^0p0_6=fu^Oq2^?YJpp{%LJBHZ|pXL7I70Cs^- (@kru7W8PlpBY66f{SLM0V8_u zM=V3aqfp+o*56T0l7L#W$GG!pNwPMH^!c9%p6?HqG19`O$e)P@gVq7J!9X-`h6ZY| zjNQRP *f70l6{C?bJL|PzTz4g0XT(C;@GbWWQRS3 T`S*hvxNVh? zGJ20zneB{^^vm>PO)E`O>~ShO{@Bk$(dn6{4IZ3SGi`l9Xl%Rs^~Df)$R6PhMYXi; zajRKMHKU{HDM3r8*yGxVN5`jp9xrca{I+X5Ez(ZM`+MgKkR5RRxC;4GXMuob(Tf^g zK~IOr{^59XTkSH7vmQ@Te?3A9kIZaK3tGF)=*-EcJ&HLpD#x_PGEK(j@|@3eG1o$_ zKCUL$a;_n+2*8Z$C|@WFNsp>1)t4OSso1%cOQM}|lLJL4I or&=#r zTO;dI^HPn#R_@nD)@J5q8l~&3m62wzulDchM(N7vsA?Jh$eP0B$t?U<>;W>1eTku! zDTKTVsqZY>rjAdC(SrTxh|C2e=*@_n1tW5~ 41tZG2R4f=V8Ae=l zoSwJq)ra6_p-XucwC}rWH3CMDTfvx?7@k9pAR!zS?js_^2d8zSK;I=39C2)crkjkK zYBCnBF&Y1AfgR=(jLgdM2Ccn8s|sz6nG6#uh0OUer!geOCakkoilYHcH-r-zJQ@8; z^9tK$nkzaq9N|T%E+4~-P{uAziK_yGO?xy-NrR)5tTT;~&Fax(g$A0T0i%vdL*)(V zB`qyx)Z7avuiqw1z&ce+wvZh_(V;b$m#M-OkKge22-%VbFNGk+qZlxiOhH1qaVj=M z_0XwOD}56-3U)4mrbx$Pc_*SzBQ_gq?NhYYjP^F8qnR*ZL$&7%SmX1mpq7PNLP|3u z`@Pf7G%YGNW2;PSWxQJ$_JS_kSPA$J+Zd{P0kVK6mNJbtJLB84s8x9JYUDMhB}%VZ zv_ZuL2lLm+&_Gr!5$f*<#(Eu(|7d=!R|(U44VX5}keXl-<1%GR@54Z4+GFV1@Jw}% zz;0)(&|vpOVK= sDQ5G9t`OrBIz6iqCadE(fBn z@C^MDcpi~D?2J=gc kTn}V=};K(_v237Vu#73U4raLryR{9S}2COikdR+HZaAxAt1E zg)r$v$J7cMPP)}a!{k6wtTGUty;zvOo&9^@3ff~9tCTZ!*Kf|)3pHwl`B;ZBg**A~ z5ct7Sq1quh@<%6m{L#7T{%AO}EIK!r|NM|$<46sKW@JvDnHe%he3~qaXi4Hg=Jcb4 z{QXA1fH&9_$QNm$&4(6cM%J^c?|?h(fb>#=c9~b5ei~yG4S11Q!eZA6VyH)4$v6X` zqm%MGY7a)k0)vl#Gi1+^6_{mM3 -o0-7prgeqQ2aDkbowNZJ{ zxE2a<(*}>W`(NvnYwS{P2IU$P FTipm#!AYb9SOD zEgx&Ts+Eik2#)qx%- 8D%_LclSXp#=7WSRadMt}lmbzK;#+U0(HOUfP=2Z1B$)(p+5zFF>6!r-u z2rZGZiue}GB4S1>yk@kTr4X6yV>61K=SXwPa9o9 rvhBnT2M_TSlEWAh;4Xa7X4Gi`T2plGl!-DPP@0>yEdv zro@bA4IPUrA?;PgvOl^u1vg_Xe1iMdDm~U4X*nv=oF3)Q8h>p6ledJgQa=RqbqU|u zf|D4B!}!kbpa?*+ql_Uwz`9!zsnU7MRE!*rDw`rag?*1h~v zBTBxVu}^2|$(_Lve-(KlSIaZKWGFM#pZ72TO=%1R(x0ZWWRgYtDejQe?Tn$Cic-`T zWYC4=FHU&+oKl#}T0+)Z?Ju%3eywwt_HL16Nh`I7x0FUpd%r O#1v?TmBDGdfz@t0kU><|cXG=+Zp)HotP~O>yg0@iZD&()fExh1~g+u*;!8 zx)`^J5%?Q&%Tm)134iVyKt(u}~MP%`sBTb9hkgA=hvFwZG%`;w2((Cm!Yb`i} zLF$-r@%cZF*|k$kPN@IAL{5&o0Ya82)T;&s3z`$U^@%~&__xJS+cZLImurqF6^&`` zpsCkC)v{9S6(@F*nVj}^`>RDuelXs(oi$g36raG3;(+DVUtvx`qVGStjSl(C%_(%s zk1Qu?<4jA$;!Lw(tGRW*nYQgqK^-Nao~LcfBXUGpU=EEyC6Y_I{>^nBe9omJni-i= zeZY*4sY0yO6xezlTuAlS9TMb#e4t8k9Motgu~Xi^I>mJ{`$X37FcZl1p<6pud5RvR zF%?p}hgwS*(n7)-qO&U)PtC-7sHY^6B$K3KC*MPE5?vpY? fAHA`@anCI5(^|KjS znc4a=mV%DPxa-nhP?Pdm2~z&mWEv4yKctLN1n30}xl~|J^9t*`o|uSqY(G&yi_Cs& zI8g44VwErXXASDbMpgAKv} {Vhw*80d2 zJvXri$U0go#({l05~p3#G4pALzkn5BVev%t?z&fWI;#%ub*uCOny5xM#l$7fe(ZXB zk==WxV2q-Z)t^3yAzJMfgI$4X9j&trhb6s27Izpyy$qu$3|4b2`&nIB7B(|IWcM8c z0~Nh*GOJ2yUKLixV1<#-Gddo>L93@&*f6#rIf%kHSrk5&zs-O`Y|V|-rlYlpx~L{* zWd{xu>6^s4Jg0pi#0)r{bvl){{mbKAMyof86pXLcrh4NzO+Vv7^dTuoO%i YKmqi0J*(@6 z=%kJ}wqq&0XUH{@)gD``j@z#l@#M0Dq{GpJ%Z_V_x&^H}XLU5Cu5+^Mq>eW%!(^|K zeDU_7Qaj@@C;J7RAk#}bt83i_4qzEa>0FpBHmgUz&|@l`S(swd>I;9G;{V(%Xl|A0 zG(lnf`J9x_&-ZkBu0cDL{N3Rb!w-fY>`@||MpIOtw7+|GO3e|^OxAebtnTgMl8`n~ zCqdPHeIc2;x3(Z3hL8`b`X#CkMoTl}Ndenz2}DDg$#Tt)b@QdYyT~>DKGb5S9^@;@ zf>_f}s*!Pbq?&$j(89|Iq`_!v&|0Ui5gpZmzt)BS6)k=-1-=^m0IxcLSGwxb%y<&O zD*^sJnw`iy!CCufi8g1sZC>47o89A!_ULsSSqt3u;z_jEF716tdmmoov{&2FUbWla z$6^VVX`bB24*6J*vKqQO78BHDJyYctdxl~z&qkMv`)Pz$ ol&i` zr1^F?Nk1p+2G*->Y0^)3c}n!tl`rj#5-B8>zm(mp@XcwVRQ=j5(;??~z(YfK%ixQR zG(~z9^s1k<2_$24Rn)o3SG96uXZ#J}1cRj0 )fq-j817GJd~~hv zCyDxU-1jH2hF(i+jOh_G^HEb7ZBSc{><2Na> T1A35AuT3V8Fdd1?mLPqI6sX^?=!B&7m1SwpOnblLtolp5C z&B`>ErYsPL3X+FUvVKb^<8K-13n3qcqTxq_R*zs@JlZ)yaAlW0sQ&VXNJpv+=ub=J zKss7R4##&Qii9VwNW`*#Ek(7jk8tO*CUxdJtfe9D%*fog#70_1jAa0WPr5{L1+9%p zK^3v=>vVl(_nGKW-9a=e0nxAClGSs^K@gpCD2V#%q89Nj6F$(YgfBmqy=T0p2FyU{ z7QWnA_WL9-VC`nf0ntm{7eq^M*6)9(AN^LO^T}<3TyRp;*#P#E0y&>zy?WPrA7-pfX z=?L~OBuMxRLK0#GkL%F%7ZSn0#~?Bc^U#P<2iu{g@SS3J7w1=@xDcnvs(~K(dQA{r z6 6;=w->H`SR#RxS9itN`Bt$q>$^cunftu$_kKbP@g7)D+~_euz>Mba)z zF(bQD!jFoSU5JgnM-g5cZbNoBL1x?ynR~bKgA72_P!K85qXUv5#S%8}0wQ7a2LqDY zhB7KZY)JsI@;h#TuRj4vFw&SB6lfl7y%!XKygMa)svB@3bMN-dnA!=J(Fv@44Pegs z5@3F |f^ ;yBV48 zkkM&2GwtpU6|{!zbIh9m;sE`${17mGloEDeqT&09W|5T?W-%}DpjOsF$OatF53+Rp zMeMj%*)p{!iv`WJCd9OXYq0hLm%+{wp5SA31afE3pmFB{DpsFix)t}_Pf_x4qXhOe z20mbXCcH&mjzehzlY|tQbVr5R-BdX9EcIt9(=t+7Pw_9lh>$6pBlLnee~qk@35U>? zlUA$y-T`j)7+cX6DvNv8TUdOt<^-ACVHfkP#z}a8hYHgk^JjKEN&Yn*>v4Q3F3qdx zY*)`Xq1;`I>+%|aB48|S35no>&s>$zGOL)Q@K63gY#Rg*)a5NCqZ7<{SKcD-;{lCz zI?m5B^P_j=iDXc;JBTTR|6Km_19gb?!vYm4o-o@f=6aoKdr_^~v>GNFGh?f3hYs|F z_i*E`jO*1;-xf@5(a{D~socXA^N24n3pUFvsARDajSYa7_FRxY#I)zZ<=Rrh?ZN0} z_$JT&?PaXEFn06B9%RCoNu-KiUrgKShz>0Xi8&-B629JTRIF|XEO>1e@p5VHz+)Ed z4Q~{<0D)T8tIt~G+OFYxRdcWd5-TFo0uUBgA_sJ--{)U0AZS17W_5zofMMPrqJc <;*`hQe@+uxJQA7@%lV53a43glVwk;(kRaf1JKy04S(6`88SSe8k{WAUm4CcF2? zwXIMC-j&IBG{34JKdw~Xap_LpZIF&N1(rE;EFQs|u_6?gcVp}%K;C^2dG~JQ-A9pk z|KiHKVdUMp$h$F-cYAav@80LgyD)`evRO2Ik|W=4*7EIzu6%o8vV40VHa4GWRba`R zbZ0_3%Zz28HAYLS5;Ks#P2?8{`Slt$hPVP8qH15VbStWUGCD4*B4Cxhs3O}PQT0WH zx$Rn1eG!otN%eeYlOr1=sXk9BFbp(eR}2G9hgtC uzBPa3D#J8MD0E# z(8qZ%oTYB9@uS~LUgL$WartwL5&4NE73@d;+^pr#9gh5o_;--}Nkn1*q&V{Di-(Xu zU+MEz 2e`X56^_MsT=w?I**1oSKfM&zRTmcmIP6W`qI|-oQV-3AiDB>H- zpN-}r QBM! 7XGtVxeL0_b1Vj5J38 z-IFYU!l=HA0D4=yBY+->4krTWuExMyu&xQ)4-!B@MWVt(2%u+BnInM4WM#bYV|jE} zsQGIe82e5F=+Qf5^~;C3EmXa^->_j-mo?C*_bRyizIDi-Sa=p|BFbn&$9ALsCKI5l zgHws$V6~U{W!7QSD-O)>1+8+l#Z@{iZ*S_fBK*v$!Kja*R#bU{Hwj`zQW%iwU#{gY zJNtJR%Q~=L{kjK%pd(T}Z3DH!E^kA2)&kx-N;|s!W_4 DPAF@g%IBm09=?vO l69y-=8YB# z|MZHiciC?afRJ=TGrp5#_|bwK%ZTVh1Pyf6hs2ee k;dWLK2IPPFmhq3IX%IIlrI62ddWo)u_4KA LKd~e0A(DP2?9JNV{qSF9B*)~cpF21C+UDG9@#G>Q zo 1ZZ_a`7h;;x&OO zrb;zONW9WF?)wwuy?Lnj9U >67u}K*^Aqe~X{0|F7*hqx lsx!U zZj025F*W-DQn{M{oPM+}Nmo4*Z{CwP*Tvstst?~1xqd`$88~7;#wA|8IY}bwk8~<+ z!yripUpzx$*9_~(Ac6Z@F#pr(vXJT9Rc}i==y1WGzec*%*_-P4x8Q)zB$ROgPuGKe z=AU#oRPxfy6U9X$o09=*h~94m^Id~sv@!jBPpcBLd=cSR{^k)cVcf|GGZ3=Lh|LOL zWq13i6xj;za|x@vE!I0}Ml11ReGA#ugMyLwTY}M%dpZ3B%n^~)tez$hDw6meb_-ds zUnvM)*sp|oqmBY#e`ET25FcGRL+?_Wkdol#-9=HIE)(#VQmeBq9jbyW=;e8$8`yD` zaP9@4$6_1Q4^dxTe_=;_iWBFdv3g5RnTyqZp_0a#=uNFAvDAXqQ^(i?Xyg_sf3*at zTt^&xQA1@ky`c3`!R51}sS0{SC7&2~E+I)2Hob>SZ(}E srnGy1ey-wLsXZmNSjI`Q(+U zXO}HecVxqgGYMMDCQ7^60~Mo1zUD2xujMRo!NjS=jwp0FesiDi}< zBQOa}YG8dpb#7tq1dZXFM4&x6RItU}zk;;UKNYppgKd3F_-NKHOnj{=;SYi(Z%)sC zQ3ko~WZkG_Foy4I%eESg`x-b(ps!8_u)t=PF4=}KEWQmP$b58{b}fRISyvz>;*oYX zF&TG0tmp80HSE2P?ur%rdDI$FB3de=VLB9Zwl=WoSEhVItkudx8RqaHOJsawREWbp z)JN|^hfVl)*eTz)Xtz0JTCUHyx3MjQMS|D^D50!fM9{xWyO`W+b;VcslD9idyb9Cy zbL&MKT`IqwW{j2}tW{&|{>kSc$U-kigmge-h!pNF`4s@AZlEe^;=m@+B%-5TE4Z=D zpOb74kIPH1A@o?|a^u1Wa!*_aLjGaX5r (*^9BXim_ma%tioEKth zRzKiXW&LX7-UbJvPUv&wM;{DjOmRZ@!ppaG2leCPD@9Hb!9#-!Gs{;4Syqgt -hL(HJ6s&mI$>Xy(JOe_?-3&u+cbZDclJA z%z}T&&bJsxUHseJ`cbfCOVAkgp;`Y?4ck7S%BuyEkbO&G!hXN(C=F$qbB;}}a9qw+ zfUj#H#jp>cbZ9fXJ A z2Jnzc-~tcVv>E<}mNftFE&ke;Tz_qIMX7aH-d+KYYA2U2@TENC<4I6d-ss~@wl_}Y z-IQiY@QG%PF`XbuW7%Cg>Jjg?I3w~|vUCKcM4FCnb!d=^7fHno^!aadb%GZqa50&p zI^$>ex$aQ^U&2rLKgQ2<`Tr??PE!Zr=a`m5;s^g)r-+xT$Dt;T*F?ZeMW%6T^>V0d z`8n}59tXh3WfqGM7UZ`%(IGnF1OE!K2H+LgwP3<_zctbcX$e|0SmSrk>pRSoD B=|_}aqrbXvH~$Zs^pXQYY7X`Gd@9$jJv4zLN!NLSZ2!mk6%eqOYyVAb`__k}qi zHTv}4{(D+i?$5GTtyBZkwwP1anQ5C?4|icy`hckIv(1uqGmpV1@d2ye_F!b67)Aoy z8`CpAZDU1NFW4_@MFA&C?VUNu$u}vUZ_;)%ja`jRbP9e4 (ZRYz@Agswf%Oku{5yPzg#Am-v~4;2<)Z(z4&tX)vpbbuzQs^K9wq) zJZGL}tz#|~dOWiI z%P+}ZX}xsIg7VZxADbEMGVE+~cL@s0wsTqwie4$K$qwuhY^h1#*5n0)AlCa-f?U8@ zJU@4OLdpa*mIY=?Oi`}zHQeV2$w6y_+Vq-^m7TCl+keh*9Mj@Nh_CM5n(@w8m2b#; zjU-&A&3H5aCPd+!`C{Zhr8zM3d6D!hzQIuZ$)nbE6_3R~{FUi<@8JI-{f@ZMq2E4S zJLvb()&E!NcO=apl77cM{mtkX{*CS6e@eq?jlT55((unu{zf$1d&k$K;fHs2qTwfB z`)V{CS=ot(-StUG9S(cxS&8*&p%6doHfwW;{aPH76=KCh*(M*`Aa?4tTQ8=vw3e%% zo}{tRc_A&Ag|vk-9SiBJ?n1g=r4XE_&8~Mj6OM)SpY+L{c N*E@_SK{eK~1uhk(MlFq 0M^GM=yR$>7IEznuI*qRwu7dG?VvyoIeZ*@ zyy($Z*&b0kR*6ev{u-g>4k6_Vq?CuAP2%vPZxSie>AWpideGWoEJLyUxU6Jl%~_Ql z@n1xX;D@2JX?ic31Sbdc^&zmmw6<9CR+v38Qwd8FND@2gBJq70|AqE;4wCkWLl^Dz zaP48AI4)V?lJ>EeCyo}wbJ=bduwbD=H=0}jiT-RFqxMK-OunE6eeZg&v8<12y`sc9 zE8d$Jh?k}hgx{C0qLhpA+v#ty7!8t)^u{uF?2n^{=2n~HTEG9g?Kgb0_UB9c3Hyq+ z&*aCgEMI1yX>}DgI(Efs&P#${YSRSU1F%70e-L^BZRqjV9*hsW#Q0Dnhptxpag>PC z^^~>`XgkExG>HN%bi&h6=x2$;c$PQ^LAA3DPoJx+zV{*vIO0Jq1dLgN6T~b1hPgqa z1Ub_@I`)9rB(O2Mb<3fwjui TIFqh!!w#g80I=-8Fn#uM=X3dGh}hJ%aCAZIJ0y}YB+64%IdQl;xwl53q`OQ zb4MwLGMdbFV#H561=h;`VJVGiEHgM{TxR$PtIrVXSppZ6GaAkon^WSf2C);k>$gS% z@H)q6TNxWqahD_zScaL-i6t$>Jc|MqvbKe+%X1vNa|lP2HQF00Svwsw1<_M0$J*(` zYX-RdxY8df#_$Vlo}jj!s+4e>STa8u>>g`URY{!{!IHJc9oI{)g0(Ku1WTGj#_*MK z^Y)P#Pe%)4E7USLnAk}wp6vyCWjQ3!MxWOy=ap4s(DOOlZli^qL%n--YR$;VyI;f) z7s{N*h`Ih%%uH~Sgu2#!JiwbYqMqD@sZ;j;43~PUQTQ^aou6D!#bN8IlX`BT9_@DH zJW^q!voVdqMr(N|QWb7IqwWm^gR+8E!L57oWyUx+m}kM+i+JetQ81?9tQee4yQr)H zoUc6;u8NiQcL!I+&mKt=t(&Pz#hzxSs(#478&n_JqM|+`MH_O_C-v#clfj`r<&eWW z;NMk(S9~3_axvYtoAJ~0@Jadj&n%7J(w}n)Q&Q ;{wb^U6(Y9_`AkMV!D4rgtu1c#<1p$X>R` z#P8Xlr4s+-C$Ql)$Fjf0dt;drp#VAN7+p@}m>#4bN{;!*iPTvcy`jR4%r-sYe%6Ti z2_Pf9Cy(eK&iB>nLul8lr(ke$ddFmfP;nh{FqA&QV|Km-qb5$opT@~Wu0LuXxA>zL z$|cz!m9I__3<>mZoJ9RoGD_J?Ka&E`q*{c9K<1~rp1Dr&T%4} Iq~1w*_### z67Z*FJwlp#ccnxRv+-WeAC&b1B8hVFi7b %RoQ_G6X}59Zu`3@EJV z%d`3ANuLUVJlIH+cJ`%+l&V!bj$L~?Mp0EmvvC`GoZ)wv(j5yrf-A=OEn-x9EV(@B z`52in&fYd)Q%XARU;6L3o@Gm#tO~gtJ&~$Khkbs{K#h7i5QbQdZQ)~CF)*=f2jgVv zFmj2U&2%N0kO10o6(P$Ln$mlW-PaU%`H)b_%IW9$ZGTLh4r9p?--*N4qg28|Aj~QP zL}U@}THmM~Y0TOavht;>ix6dk1)rK*58xloomObhXP(6_noa<1-g#|
`(XeGVi2i1wq4guRTaFbmcN(>9q~_eC>zkE%|WV+}{;I7c!T2e%#wMd5y< z wfkTh2eZYfDn{w$IpWT9aHkV~W7T03Iv4pEt zO9JN>4~*+koQ%3unNf*NPn`03dWgNSSVOh1l#Q{Ma5&l;Du~IEB?H9iWbLb5SQ)v9 z1Y{P)GB#Tybv9=fRTCjk m6r4iQ+HW&VoffFUOm413!AA zOfQtBI!_A*s_A<1O8Sg@@V7bPX {CvB8Z2DY8xZMwmx%ftaY8-!iQhrBO5#eVXWo}=PU@Y z_bD1pGWIZ88+W|Kx?x&-L|iUdCnQy}Ndy486~|{9WY6L)!8A`YGc-;KXOidXRf1Fh zH^J!`+E?ov**;UZ+o(?!(uf>LnZY?G$#}(?UR-F@y-WYx^J8<7*yWVp_3FTt(t~#P zFUE{|PWI9}k9u|OD=UmCn;zfJAU9f8Nh95C>C_5>1#;IKr)$lBbGw@BJTJiD{SC=y zDov}Fmo)hp^~cCq347r{8h3)ERYvB_O7+zAk0%^o85ug8ez$!g2a#}^M=5cZ`H(L( zUA9O)^=GL9{*LUeX2O}ZxBgo@_01BM&CQaO)+H1U)O}>s|CSq>MIWJSIdp&}fr&I# z6de~mo3MR_tlgmkD1vWiH1Z7|@YK)=PY~}#9W?Ra8?hLC;dFwWSgk}d)}&EU>Eer( z;cHGe6Ij%eHG(fj_5(s?IOp(Cq|wZ4m_Wy*( Bg%yDg+GI?*0`*FNxar-O_r?xFt8hG zCq5o=G8GG(%wp!ep2l$wd^}Ce)^nI4$ kbCl`d%ACLv4KY?HM6~^!MLnJ zc4oGSBngZ}-%6zQENNHYcQm(!=G2!ow?(azP~d1_OPA(;DOTm^Bv$Kii;nWq9OT@k zGAP9RydgV@1lpImd6Gail=*{ougQlcuRnkZwX4D5$TLrNDJDL))`U!5shltB1l~#< zOb6w6>&DAc4^p48bam@a!a~&V7mHH$i2hv)up89<`u_L&{w{t0Ykgm| {Dr8!s++uB>z$VX{-jUBz!owwYn5eW!OWM%1nsem14nj9SBH*unclZ>O<5-!> zTlcnooAVLn&06OThBJg1{ibiw=}FsMac|oL(2sY_Y!icUf2oa%KB{>`N^`fiW*aQ{ z%6Ka^Y;V1Yg$7{D5sQ(BCEwYSj|j#Q#HFL}jquSsE?C&p$C*(&fg5;)kB*qpV#!q+ z<%At1?1_0fV*Q%R`op}*m#Fo^G9sFSpq3tr)D%Z=lD*D SJH2xnh&^jJN|}@p;vmZU-y^SMv$+~ z6yVb44D_x0qh6i+Yjj__3MxBrfVC*-5>~wT9esD`8zM~lD@s_poJ6gk`b64yHm8VJ z1TrdW5NEumRdiJ0JC)H?GUdXIJ=TvG@XH8>!H&NoWM#@1t`K+S1VYYb3o#~<)>?5D z=7&mp$vRqwVpy=MEuUC~FhuMxcMGvx`>BK(;jao!@sy=CkgY6jr3^aq-kCC2wLlV& zvWn}|a4IH;xIBKy_bT)Rt}JN|_i}7~7&;Mi%0)Heq`-vQX)GhSu=AlbA!{7Our_G* z7GfM9w8oW(rlcbB_z{_>`NXy3GKOM5JRm(hm@HK~N^AHQr2H8t2BSP%y@Q;xjs{29 z^ayi9! nn}>=-DKi0 zIwzgpASrtNBuu-YQ_|%#FvxVyb+vKFPrE66TiZFEN*2loggTczBRr{V(vX>>aag3b zeiv>QsM{7k7uFE3CPmbtun1pCDI(u`^%iv%xP&gSg4guarqX=JQp#CudjGxiY0UB@ zlNjc(s(9${Lta DUK2aW+2c;jLd zj=lcnBCF)9qOFiV#z4K(p6^K_(0Ax0zJr%&*x+FV$u@vcp%t!9@~KFBh$^kUWpR>& ze=p!BSg^y~`dRDQ+=}S;XO5@TqF=Fw9wR2A*gB9M;{$E2ai}i>Y8I@Q9Kdhe(h2ZB z8gSztCZyg-h5%gDAq5Dl=zzOhF<`K|e>q~?>vDV_vWqFY^6%({SPILr6k;8`p%6(KFousCKazdT;u$G-JR@Q~^9jE aiVNQR12ldBTcC_O`Y3bv3$@>lZ!}-ZarFPgeWuqhpH}qw3Y{6Z@X}ih6TC>C@ zXzf#M2uCcQ%1T6J89KNuVqg-+fkh!xP5rf)bXh;p8cgjb>hL{jdchv$e8otDTZ<{E zHZl#w3svlz*#{zw@T~`o?3J=XDmseOkwz6dYv!n&HdxVKj4jWIdqDPqT;88+ cMU8Ja2{(`J8OV(y{&Ij16e9P_3h&WB<#+0H9`591c~8<;mevc>dWR zX^qX71&kG76|DFyqfYbvcr^Worn`wuSn&1!XC~5!bAA-o&_p$3bC{SCW6-~M$i|FG zD|(8j%Z4!B0`}Z*ar)zEI~^I(kn^Xcv6>5IUC?3s?MV%Vf8$ujAxgwFSe7_enIA@- z92+k2kz4n+eqU~pkT|)jLBvn7wO8@M3H6&HAji&nPwwy2_t_2arN}3OiXW`?)C#XD zR T!-K6c=L{K>KJ!##>6pH719de4#(ZmrT?P>B7IkDlDY@FA zVTX3@tP=$6%=0B<*41+V`FV1meabssN%Nvrx^K>T*hc+dIWR*6ap|AlZ%O|!eC`uH zqDtZ!kb-aFh~zi12m)^4CD0sMol8P^muU@Tjw9Ddu7a1%$U9i+6CWWRvDexAv4i~F zel~FC$(lshtI4#P;7#x)YLN40bYIjJKX>56IDfr%{ID5Ge?Wj?q~G{Fe3=QImB*51 z&NLH-1l-T)X^}$ph*^Nk+7MP6QTmNg+Ive7vBcFSEN?pxPP3fHdn*QXcvcFS?dCkh zogLxff04;6?uT|=O~%iAxN=|sE=OQEN5 W$I)==$tB&YyDcI&KC5=*2X!r z-j#^{-gkIqWXQxCwur8)xe?}_Dv#lhWma!R$le#LxlD(d*=2iF xwx5N z9AtsqlO)G=@8*A!vT6fHKz6z$_W$T6B6By3$%~jaH=JCaK l*CpCnK!lwo~_+joYUEg+Q>9ewc{O(+j#~yQ8Ec;UoJ+a35 z2mVb#!~Q#%X}t{^A>Sp4y6SfFC5HAQL8qN{HpXLhEia_sn-A*uvcvX!C9SBx{>h<` z_~5h3UQ1CO+1~k>wCzb1b}JB{uI{8V+(yTUDEvzhDsCe^NxF$?pMI}EZf8wF+E5pt zjj(2qEmmP|Lf=Aq+i|3yM>_G6&cd2q@i+03mp!UxKM#*kgQW&lz%Tqu>)(@QZH kp{!-mCYA&Hdg0^b}h57&na4^aX4$dCz z0C_n(WyRBCXO;IS`FN5=W?ZC&j_jdtI1vQ7>dNN?IsNa^Xo-s-=of4B2kE|SFY6ZK zILsn8gaz7# Omp$iLh&CS9!mOwa;xfz>;^Q9>rJ|YZGM059>Qw-Y@wfsfR zKbCZ1VLxU?62mhrtf4cfkV5Yw+jdSB{^1@uCu~G)KEg&=5=+*j{&is?Qx9SxCF?Z@ zSprO3RNV#cNI#2^!AMU~2hF4{N#oo-2T2tU@ N%Qm zPK+! >>LFBN>~RjnCu)Q>h&BAfBa$ zzS3#2DgemIB8YLlLZ)wrk4OT5vL2O*{P0 jT3Z0MI zv9#*AjrFSi9O=bnnIIm)iEr|X*^Fqz_3Bl5(*=pEq)$Rm3%@R(K3Q%0owVqF9rA5} zm6b~)bN(6`7Y1PUj~udovNz5Bx_~TpR!>>Ge&XEEmir%YFHG58upWIi&Xm_Kl?gJB zI^1p3j(+FbbCT@bNV3%;cF#hsXHQ>_BbU;D3>(>P25rot5);#lD6D4-a&Lj$(4@o( ze}sO^oBE&(D9@#z$h^B!>p;Q|juTBn-Hu`58D h_ v8Bgm>Q=wz^s8e8xkiajU0(mYAd(JJ8r`~)@7qFy- z8M*-2`js9ACREl@(w8fp!uc+p%ySFptA{A8r@8Pyeg4sMUoP0(C}UL6!rU&{pJ0TA zyulcN8IYNhqmG5eT1P<%LF)(!MzLmRsvGYTS;L8yD -7mfN?$ch&&T0Bw)>7BXH~E zk?8c9*pbxr`J~%fKN0Lr()Zavcv-8bt`GwcR*Nte$m;QV2D#36O8DR!s=z5R{-6>! zxh1|YxiXv*o8*4qAZaiAq=QNfl@eY49RH26bZ6b#Sv@#3a%EcyoBW{9!nj2q%n^94 zvMp+rn8`C`7g%9k!>r4U7aCT!^rX;w^Zv-&^UOYoAZE;*zfX<_pZR^!F!B4?S^3hZ zDH^J*y9C0^90+T-X)O30Qj!(q7f(1?*qu(U!A^;1q{JysiHqG54*f`pD!0TMDG~d& z# |P4Du=YzMu8Ke(?@A(6lDnbJ_r2k zWd@z&fIn%gW5 JQ;i)FL;o(3^V**y=$;lOhM|JhiT3+L{+gdP>i1p5J}DI zA`MAn_%!FRs8@t9t{5$A3Op0GxL*BXk>r%XOKe7R5&;8x83U|-atbfd=Y&E0fP1(| zh07Ek-QsYO3bl4gCuqgqzh**WdswnizQwUFxL-~r@R~V){%&{9v$fiFG#Paxh`({R zVJ(k~>4=}p)$nTt(C~6jNoh#>jBClijk MYrF$2eg%EnS>MjCSov4tWNnn&vi5Fg!J |l0#x;pB5y_cAyHhYgJ%}`q>Y( zsz^xDghVoTcGgB=sF^UkuZul)YkSo8Upd%o{g`o(p!vA<$cSa%uuC_6Tq2EST+9x? zk(Pf18=~b&i)4CykCTrV%leMAjJ*3eRcQ<1TVf$3i-k_)S_e@ll8?VJIsV2hAjq;o z7{@^4&OhtvxL#cdVD8W@Vsw^J&vI$%J2cghXlnVA&P^@Xs?I@8x%y3~re>Ziux@`q zr~x+^t5+LMCh0f0Yvi!$*%;gtANxhodA^R0t7ZE4asB%Te&KIgU(rG9Zm0~*D3^o1 zTobCee2PBOqAQZPFxjItVnMn*7-|vKU{bnD{g@kIvkKMqBek4f8aa>^F409 6Q=^79i%YO7DeqWmZ#lIQkIX^tRp{=){;|#f`;^o%XT5WI@ zKb_;TV}(kJO`$s*4(q?_Bl}CR^mp&S;t;YF^=3r+)V&W2{@1ZRHu52s8{eW1&X@49 z5Bu2VeCP^%8(E)5VOqC(9jOvZFzU{wljaI3%ip{rY!y?GU2$&955spOR?je2&$*7( zGhEC;Z<*8kJ62CtaIqPgn#T<>txwI!rk=!WVz>Ahku=58fMOElN^Km(lkV=D)Rxcf ztU)rsrXa!>M3=#5MbJ;?G)_e1!6|*BmPtgDy027^=;_6%2;nU04BNRjD(}bQ4En3w zX6)ux*Tcgs_R2ELzMk ~ri>8VQroqSyjAZg%RBq^1rOxy zfM(r~7UW}p5Apr7pcU$6ir)}H7K-(;X}RQ|%)BQwzI+)Rzp7;~f&*9uO!?v>&XG9x z>RB1ZJQ3i09W#Bj6*|= q=dxxKfsthYWApbfSqZ4k1voq5BKN`2sm z`AnRobev3O$;xog7a%oH+Z9C9Z3>TiGR1}c;HIb_(TI>8i`|8{AHnIPxG(@A;z?~g z(P<4&`t`Kd#uf?|;F5n$JK_a;;(?g*S|`y=$ht14tmNO*^MZV}#_^F5jlo%BO!=Ob z!=rtx`KhT+ZEd3z&edQ6A2a79s5>kQ2kk4___rQHer-ku8iIK6H<(*nb iF!dF&YI$!2H5|Pva@KfP Y=kz*6_Q~H|$t+G)hWc@L(fo1?U&sZ9#HsWFGUJs{5Ht}IR zA(Zm;VA?D4g~>*%IkGk#s{`MZ4m3yJJ|;SvuZH$Nd1ctoH!WR?8j?(#Y%_b1L0BkX z_nyC|mZr2vQEx!HVzr9=o=L3gZzqR)aA9ya 0ot${Ar0 z`Y2y0n#+X =vo37>=cfJDh*@ i<|$#$wz>m`4rB|QvNAnYJISl}h*lZ)(@^6h>p zH5}qMM?SG9d#2X4VMk;!kd0WQa-Ez$GwOBSRrEcY833ur@S6IhBHe#Bj8P@~R5zxy zrH7)|RYh;E)-hvPJ;XI#Eow%>HLc2Op&wb7<9~=3N#D~JmF-a9$xUsgD7D4EyzA5u zr v}vO6TA_ss9eVg;gV`Tv&64lFbo%Uxc tOo?6LJe8K5?N&D zW{508|DX;|nhDc%j>m*Iu;24c-nM1v6gk*}b^%L1@1EfEMx4+0fE}c^fghL0fAWFY zmzFj7U(nmI1ANnpEu&5yY3ubjQ_zKF_BZwMvm^AFsNZXi>woeVqaF_BX~Q|*;~7&( z%979Oa!$cR)JXJxYFl2s9)U&u0=K<1)b>j;ilF~F2YgDPM;xQ!UQ1Hi3Y~6D38tI0 z--CS4S85y}R&@p oj6aME zzk{ NHohl4w$#mQ>J zL!DTaCcqAPIf-fICe9eX#cNtGv8IKrcc8*hNyE(3$J#@Qabag7(w`h+!9qBMxZKfp z- 0vi7UbW=hHyLEh)wI*IQ) zi7T)fOLMtbw7y1)Zm&8K8>Lx~KF^+s-CLGh=i`DxHu=t6MkXAD{2-dtl+n!pRgpQz z5`YT}2_35$R2KfgnoRYuFg0g_!;rjKL+?R$!~rXZ;|tFa#!wZ@e(ha3VkQ;_ >O$ch>l0;Q`?b)J*WnY=`}?S2Nj$y)b#wCyA`^um#k}YxLVS)g1@wk4BJ< zPti-cXNv0Y0(4pb@e6j$Qd3Qwp(mC7yfdjxHIrp6KA2p^p2VTjroFfd^uyF^83943 z$Urdl3Kk!IU~${K)F6(udfCt^hk1YOZf7i x!d SuM$lJ*CRb0f1p`X>SzAMOOVR#%W3q_w^ zB!k~n&$RXQ uq+Sz`7p1iQLv#6B1Bu%Yk-Ypb3mSd6-IBH3yM7Vl>OaM0Oe?|g! zZ(_-8yO4I(nYk3l(q{*%u`lw8bGxisMHwx_n}%7d+VGCyTkW<~#F+y)1)XE`skF$n z?lpA}_GcP*Oa! ^}4%=nUoQ!d=9GhR24jRD95ttmO{Ox#jTJcVKoRR{R zuJA!!p;0HV;*-g)Uns95&oAa8Rq1Cax{w^X0!mYTK9_h8ypkksS$2yQELmyXaW~Qj zhc(Apen~?}_TAcn1bE!p{Y}7=(klO {m;X<9#rta{z7JB$0!7ntF_ zl1E#6ha^ob2bhH0y?ak`8 @y(|L)tKEp0DepwZnRwH!RSjhndM!q^`@U%fI|2L4}=Nwnr|`Onw_*dC}Tf z_SRRCPt2hlNRToyHGH&xIg6^~y q7?zXKzr3H5dP6+*VV%l+lDu={sdtge2f3?Z zkjyfV{?K7{DMmw-cRTAQvZ+kRtakl#(56R6qMyU|$lEUf}X?7g?r9crX#3$@K-Q z5x0cB>E$_>&94CPM{1TrpVJv(f719t&aUdiV(fgXRrz(y9p=)K_q)hJ)VnxdZ!+QQ zt{iSK-l3%07}12kNNPD)ETjG^0MKxsn?yL}lGsuIAp*&6p>9^0YRQbF K%ps44eBXDXmmF4Dh4^ly>=4d}On^! Yh@h5J9hMVxhY@0fp7;Aii9%hu89QY><(!6+fOX}2 z)2@0bVXg^$;0pFAqs|FkIEs(h;R^SGvFMPIVH@%K6ZBfguMp16_cY-I1{Uq+I}(P3 zcE-5b1#30bX+!l|SywAGU=vAgmz|}q71dA+(z`^E9z^0U<-0d7Nbhn4X->0FmZC+7 zp1@f$u;FCBa8?qjbiab=Sh3;rb^E&ziF#_0NQ1}IAbA2%%ny1>J-)3Ie-O~(Wy*G; zg|`yO#FU%R^B_oe9TpNu)}xk#3PGFiT?cIruB-`zbcM;`lvtY*EU(*HaGJV-%1o QVei3s-3>mms?B&KIXpq{_7qM6gp>Df?&j>5&}CkS5h^jAf7B z?B0yy20Du$P|+zyeDdK4;|%qk+ohhn@}LhV{&QX@;($NifR}}X=H!!7!z$zSAp6O> z*&pWYE|lFhc#Zs+Uj0P!Y^xb+!in@BQQ2E&mZ;Nz0`{EUfgwBnc&xKQyD!Qe)_tp) z-NYWw?(@(XwttMTER%`-WD4RXM60v?xtIE-DOgCDndAI*r?b&Wj)x)kuV5>i(9N`M z3Hw)fpVvAb6R#RNR~yYZ6%{W8|6YeFs-f392%vqjUk&?&d0KP5i @+J14>v1L zQ$uN-BUUic;R=CehNv(pJi`migl)b{VD4#CfJNoWZ}Rxd{E#CfyqzN%+=$z%4%3)@ z#zI*e>hhRz)RL6tbVw-$GTVu 4=eT!6rY!g!sEtycT9R=R4d7P=vzEeR+I zf~+b*tVFBz#JB{lELxrS`pAVCJ@7bU8oaa2-c@9Sy`BNgH#TPS3 zt#?wNT<2avg?iC$Nj2N`T-<}2QR_-M9InEMM3@K%Wvb~_i6(!t!cg`;K~+w{1Dtia z!FKY7Poj;LK7MTHj5a&>W6TerO{^?=VITDfSzZ0=PkEG23(cqGg#%Qa$1c%Rri#DZ zC>eQ(t%r9VvvE5}9Ss@`zD$=G^C!M>F^Kr$o#Tm)kf90-8+MxXFtt^7kg6uL(cH4Z z9?y$*ki&68j