M!TZz;dot$j7ufOi8trd|Tl@y9 zsidKOoqaA_fr+1jlYiR2(~(bFIb`hm6)vdN_Ir64yPdSjk^IL7S ; zPIbb4dB5e`1s<4RvI*S&f@kY9Tt^IAWmJk!?d*C>c}i`)9gtZqMi2}S5e`_TljFeC zi|qfroO(}}SI%FdJ$vmcQ00dG^P(~nc&c#rvV;V2|J#uChU!0!Xc=3~KK#?D8$z!A zPa_3#fiM3y63W!m L@(juQ1RK`eJG_CBd2wp$C{?-`kvE$4cOw|t8kPQHL9ar=!ub{^;*;u^lt5-Ab z#N)T$zU8`g@6TPk`YElEG~tUTi<56jd{Wup>?fg{LtopvQFR5{GTOW{x6gSIPOE!m zGN!D<8AF<;y*9wz@ygS(FpXzRD|d#ddF m1}O%qn}Zp(G6B@x4vvc|qn1vxDE9 zPv4Y*|6;<+T1?qn|8_srr6LZdsnWR5$%O}KHWrDGaLk~hzJ8t30P_AZ+ +R~oVRSkCaHP=~{rm70`E8GQ>QQwB0VC#!{?0POMO(7lwGh4KUV0`v0qF|Y_>#=AI4NQO(g9x zk88N8Ng6~?*Z6JwcUjo#iscOv_DmX?{TgxxUz>6-@1L5y3Cz`QPKBx0==BVgxf60u zON(NM@4m5nv+?8eqf{A_p;6`KEA`^yB9Wgt_01J$Iu`i9HZ #Ed=hYJfBtBSJP({B^OcOw|u4BeZ~I;xP}>!mhPXSg?r|Fm7&=S`Mys5pZhJD~+# zUI63%VV&{R@$2q;Tjb(hS!#&8^Bj{%my@&86*{`$_I6H(e7vgklf3iVMP2%kDl$4* zYR2;rcfw!m@hxN?1XBO7bFS$9bBKRPZj4BmUUYf)*r}mz$<0ya2Co|lks_~V3CH<$ z<2J tqXxDT^>!kqER zpVRu31mC=Ud9g2z5(~*|x)Arl#h#&|xmP3B+^Xbi`Pk$H?#BA0lCv^>j_aAt4r{ zE5dtwb3uj9WaQMJ_Bl`Paf#jVm)Ph<)m>~0jfOz}>7GSa+Ea(Tvj?f!{Ggrl&aM6B zkPQNXB(vF#yP!Zo>1lRzjk>Swg81vsuI%~(#-fK07xt@Yp7k`H8yQposB#{3ZA;fx zy^N~zp!Bb?t7V_NyMLun3c2;g9l6`?sB21f^U(!fA=4jyd+yUtB}zsP@g9{z+w@c{ zBC5KVtINb2VLMZ69vIdcpX1Ge`EvKU?XvHl#bh!F&zbE5$}cA~N);S^nqC68EpMI7 zeLWO#9(z1-{hU2+XqXuFBCU V8y-Zf< z_aPy39rV1L6XmC^BeugctE+hup?6=?vG?Db$Bo|`_B?PQOE_|ikwR7;7?<(6 Jbve 657sok@2#@c3U?(b)i?w}2A+Lb{F{Gc2f;Cq%D<~rvgKORHYyD9 z4<$D#JHlUFiWppFvJ9#jzZwueNjw7`0sG@CL~` {&2P!~{;pyp3WjqnCMc0@pF1LE zz~xVEi*xx(ova>vxBD_;gHg#h_f4PoaZw?h^N*(1Xifq_`=Z>7dj|&`;#RjsPWSmz zw!1j*n5|ST@8PTc+Bs-sgHKHlm8z=5{KjdEL%K9gOsJi8s=V!=jbEv%s> 7qQnSgB1Ux3SL@On$eQ*CLudgrm{xZ}1GL1B+@g;7rza58juLrc^ zD=9iZKK8LsOT8rSFy#(1l0%e}LYwoLZi4NItXf$3i!A5GXsM$sv$<;V)ZYk4R(Esu zaNC2uL@aKcyw@lD3P^i^0=lHDD)nxPMh=PhO+P-XR8Ba|GUxR^_NJw`h{0c^x|!L- zk2vg{u*URx;4ii|*P2h*Tw`_jqfs@IRrroCaew4}0fNOn?#QW$`m!OjPH{(I1B(*NWY&i-tR{#zV=jP5q1hdT{ay8P1r6bq@lsST+FqyE3 z8-Fj3Oy=G8b$xvg#EPKog6-LKfcc;J%AN~7A);hwe}s@5z*N(Av~{~I`tom7)l_BG z{c= mK{MSZv}!dPq-?;9YqS~E)!MZ@jppC!RjP2Bksp}L$s^O%NMxTktXX-lle zogbdFV!p?H&U;J0Ue%5Xe&ahSd8?`b5!#Dd^%(p8JMe63{`{B|>3aIq0rm`<%5T33 zTR>7qGi2rDkUjbFKL130=a226tnC(ETzs4a3-_f isDAX*ly zRtCRQsP0_-%0m1WKH@{k#uh>TwB?*c{bI5%f0@p%ysys+9Z8Usvx8tmIZQ*wzorRY z>BRs-@*Z0gsL=CEq1jEfocHfD&viyB87LR@6;ZGL`C3syGNd`i7N?$mq$2WXeKAd( z=cbn%{xcR6lS0W4 9bH%T)jOOu}6yCwFaLf(YY%F4_ {*o^HWjm@ zX-0a|3+wqpe*O8WD{-h9Ox*2~KIfz9weVp*pYB(J= +4I z9a>uC-lEKq&1A+PM*kC`pZ4|!*GdnE8ezuvG#^*G54^WV^!E<-d+<&Gr7J2ide!_b zyET2&2k7{NDFdToPKlnZH_wT ;%9-*Z=uEw@J F+rG_Pn4Vn)GF_}0>fmcH76n33`^UPR zJJgRclYT5Mu`70+^ ZBWy)!2%U7 zbNSm(oDnGfYESA1rVUF&!Z#m3etbj7GAwn4gR4wU*)e9VJerX{2+Tm?&Aq5*n8QdD zeyO^802M?jTa{T~O%I;Eu5FM4WBeu#7gL0ze&>^Y{x6itvDmW%x7=!CfaOwp8gD1m z5me1;t-Zao&V&FEA|U}wNlA8WMmrPhUMl^;nxpc+B-lk)Z-~iAd}nifX#HxA$-p76 zW3;8brsgGiy|L)iw4C0+0zjH|goVB4jXPYiLnEHlG}M c*_8bCHF g _}%5@d zs;H?c2QIC z`j_l1O)cX)(bd@I`iX7R#&qQkOP2LDW2mt4kK i(RnO>6&|a#ACAP=?dQGKq6xpddk~3%o*$?5?bN z6-}XyJju?v!q7)?d4N|P;BB~v`B>?U?VEx@UGpS1lV!8*U6hd|$coUEv6r<=Il>3| zZ#IEKIQsrv;Eh*6pZPDy?7H0AG_$unan~%Tuid5mr0v{Jf{m7yS<-@GPJFx^jgXL0 z&r9XmsTbrsZt}LcB}ed9Ej+n`h1ZzM7mx1$MIdiU9{MOGtBI_Vq{Z7=Uy5e 4J352Z9%a{4 MFdLm%plHzd!6G;-m3%!bR?+lfgAkoif+=rqHti zC{4re%S5k>@v?4>zaD9&D@is~oxq^4wDgTWeVbA~6Q?}`qGnwmFV@9LFlk^UNxGUV zapn3hb^p-FM;}afcpiwD1A+8Km|azv0;7#oj&~sn06or!9m9VSd|drFBwaS%JAi_m zd`4^Kt SQc zeazBR2Ir{`&mzaU&bhv%hYx&e-2Fh6^7aGV>5a @O?Ubm>V%n(Z@sT-8ls@!~*Ewz#@!L1gfqd)UW#|!x^ ;l~@eCr|al zllo=_FW-ggYuZcghAf)u)l4N~JY$}KmzD!I41!PHkKg*V8R5S1HB=L7l=o(Dcb&-* zS_-~oXO+PpD!ZN9kNTV _CNU5Vk@lkCJ`#AAsy?Dq&g0Ho* zYPgpArgH*uV1-%QoFy_}n Dm&Ffplje?KvL_T<9BRXq(9xX`ny9c-fbHX?Iy#TG#ttlXJYb zwY9bIDN_nEO)uA k;| zQd~7+?`gEAPdBcStC)wX;$V8T9x8dN+u7@(!=J;XLW$RCX@~m5IsP|??f=Z#@^p12 z$zSEJb-nk`pvK-={%@Y$Q8yC0A=@ZH`>%&5O|A4lHUIw4hW1}R;;*8jYjP%eGo>4) z>Li+plzSCfMX_>VG}3hc%~108X(8&aSt*oxbysO=V>thtC;BfJ^1m6#(t>a%TrV%6 z;amb~gF*QknBEx8|HhL1pV);{gACBVF9Fe pNL!bUGU(OYQpG$qLexO7vr!XZcEl z2sgFsTa`4oWDg-izhAoVOyTH7`B>SS8!7fDD8AeGURFrCpO*eUs_!sG*X9|Qh&3W; z{#zW=);6k0GVU;C8YOJ7w=pdpmU10GwEg;9$){Z$_=r`ymeVDakeR)e9_CpJ#_PZS zR|LjCFMT8+k|q&ydYba#^8Uvvuk~{fs{Y }g-W zs-J;7PkaB)IZI!dZ04n4s(rg*Da7J=&;B;##+&iE+zt!$nx(sk2~9IU)Io7^l~+^e zjXfN-<%VU4!5_@#cFct*$-;>HYX*(?C|!45^_v$vE{h}6KUUG-@WGHmq*CAz%VtE4 zTXok!L0oEFpkQ_vyM?X }y4F`THAc8wM|dhP${EQC&JZTgK~7&+ z_h@FWmD9{xT5v#aS?#?`nJenMx9`~s$K2lR=G>anm}ZRH31j0Rn4RNEPR2D~U&lrq zZC(@jn}8O sMYFVi{OP!{wdK^v@W)0YeJQ6Xe@{{5h+wMiD+~9!^b}v(ea(I_ zZLjHXiy35v)n);EnVRkW(Hbda#AEF~z5~mx#1-e4ok(;Xo)r{uzlA Y?qO|3>$Py)VD0EY^>MwW2EfdJ@ua)Zs+pCjGU2a=Bc+xFB4k(+eYL(E)lD zim`OQtapCuy1%`VTT55h*dhXDm)GxygO5m-F1)o=ipwTCV> EKeXX 9 *4n}?8$z#;dSD*adw`>$cLzyC7W2Xhzx^3BD{&Sx3mKB!WXW$a>v?( zpG#?RZPeQTxG7r1;0hycc-rCCJVx)O?raGC^ZEKoXAIZyLcTE*0*1yA9xTf4Ryp{n zyKt;l32Sq=h0cK(I -8OST p#Mxiw ??K#zI=4oSNj*fednC54UGR)X(*WN9b zyMLr{u>05^W~AyXvr>ALnF1UUMgUL|C1aKinEgejCd&^yzzh6b!T!k9;YZWN&&$|Q ze&{y4`8Cej@o)_sE1NI&!dpyIP-m}NotNc#w1*!h$-!>o>ir|1BLOS<`=*8nD$48q z6p+6CeW}FX3;=$?LYjjN3{y)D12eeM+ZAhU*rsWq8~)(~> V;Mj{24%O}OI(w}0|>Rv`udU~6~vgSMF4tacLlLJ)`# zus&zqes_klf`PIhFXY^~A@!nqKrV^6%+DW!jApy1_Jsr@prr71)9IQ@&xf^KlZhbK z6fxRK_<~vIyqK;y<4qYVQWA>pxft4*FcE`!8`MGn>bsdk$}Q$-8FAg+U)fTA1|E#* zMjK23II}7WulgCEvTYDI+fp+IpMa#~zGiOqB%@Z60W_xv-Dc)ClY@y+0weBINnZZ* ztpCel*DQ{v#;i4K-==9Qm@#&4z8nPfhuls@58Tnwv95>Y>X3qEbF)@F(OfOgsa>xL znS0`i4JEh(9HeEWEilwxz^;aRAl+}m{JwWAqQr-X7GzMCtu228xcK &U9OghVr&J%P~S zafJy}qz6lBP1QIvk+}H;hDVQsLZwMmoLegA5Oc1%x){c_FPe?_f`Ia~)lBCxa|z*u zS5@{91gmcr)g&|RE%z6qqvOpH#0x~O*VB~y7nrU-C@a`%Y}DdhUhq*wUE13}>^ >+b#d$YzUS(uJgMzYPT-9hd5JZkWc8TYxBZM=%18^k zJ?T7sQ(S8?O$2uN&xo0;NBxlzd`n%!O84&K{UfsCyCM1loTI<8Fb}PHH-B0yK_CE< z9}maB9^EYB<8#`1BDGX6p@(6n4XM}?GI)jOACCYzQ}K!f#VYa8@3hdks(32@6}DN* zow$_{+1SAx^qvx{8<|(3g!tBU17yRH?5$rVQtvEx{Sa9zAuia))g(dj%aMsG-;rkg z{xzC82(tacP#Y^WL%gA5=^`^Z*=ph{C~+SdrLS8pSP6+u)L8}fKQU7Cp+4Ejt1(pp z*#wsMmgUBk#NV(F0v52x%~D8$A$`2zCV|4}-PlIVm$W^)fzj0MJqgIr^J0X^&^<~J zmz#h7)X 8w83y8jM5pr75{~@Pxy` znn~lj;W{VCIzKkqwW&mkOg=owUv1a#T*#D3*FZ{-TJQb{F+JzYmDe(Un6xRe!^cFT z)v~WLU9>%QcD48lqPF|ik8W}{z2S#eFCdVc>St#Gj11rXojZo0)@2<}d3{VARb&(z zouLg{>j5?XkK-CaaoY-z0%Qq1M67GDSOyoR|Mp=n;)6=bGpL93-n&|LC&iEVS-^87 z t$ykpl`iVFhn%3>CrS;UAe_h^`d0qF#W zAk^klS4P7_V|C26HMROm>+fYWie!W?fVG8Vl+A|&3p=iN$~`)x4+-&QqsQ+?vopS? znm&TL3H>Skx$;Z=(D&rT>HH5yK@)k^-SVypR7{o@@689Pq2lb9JQ|%}eGn+}9I4he z^sgx}PdA5U` zjFNZw2*FgWf&R_soFpPLnN5DHbCUQs97rS%u+iNJZiNSTFNX(KynQ4rTHsk;O|*bN zAcB~B*ZdW2fz@`pi--IzDM|U%Y?D;@u=AQ!IYGDnvJ)=(ep8jDRj7L63Jw>U*>Y 6|k~I*_N3kdT *O z6N|m9;(D7Q 9~6x?i~{^7I204kk36|L$hW7K zw~oTz*AGv*9u1&bXBiGBmPesmOR{^8_uqSha#+FmRC^1+;;Fyf{&XNo(632Sj^#j8 zbU3$KSA UOo?dvUo?akJ_S8iZRAYH~^|vc?Y)9N+6e5qC zIM se=E|;%$(E$H zT~^kwooKtlp=`ola}K?dot aH$z)+W{1p`%k)y7*m#O9HH-n*` -uT;aDT<~8Yp7K5X DXC;nq&FEOIQ6itz9N$(w3_4YFr00*-D||0l4%5-WL>^5@SgO+Fy_h3I$o4e5Sv z1#jrO4Yjz&f?VUGc!=gJW4|_D6;?km7nR+tH|GmQaA%jkbAi@
eYmgBDCq)*D zLB$3+q)sZY)P7)!^HcP5YBP@tNKAx>M!NTNw?0t Eod{MI!sfxYNJi{S smhkaEN+Las3vTo0I%T(XD$ zMv?-%1VU$^cmb$j^!}cY d@BKkGUo0sp5j&Wm{o>1f zSGKmeNmbpd(Yv0J6S;p0f$%B bV~eE2<8|Y^_2Wwq-fm6< z*vkN_?X8=G6E;A 8bDqdzE1bUtPmSRZ^FeLV? z;lCO9VyzZ|#h6`CuN*HruyP0CbgGJyFE)v_(uOvmHo4GcCEC12Jb)Q5gV@nLi=Daq zAa-12FWnHF&tN&e4a6u=5PD>?BfD=%$bX*FIOMPI4A$1V@@ZNxtyE}?&{xTh0b>X^ zc6a#b-ver%690Af%%$g%>`J=WXt=}6`-i|in!orzwsri083MFr9J2ArKjzqhn9%=r z98RnsfA9L#i|JA2TW1#AO8I}&=7y^4wXe6oj;HQk{*QfgRxH8sEwwuw_D`elJKK#} z&a}aaw;T+;8wX=!YUFnf0p|u%)6Dsg 4ZQaz!3j^gZ0pI0O zeE+JgW5155AQrm~ft>MpE8U!~fkxm _I;pHoL9<}gB4a2<{)v3~QHUxa zNaumABj9p5h5|@{8!}yy_kmdgBt^HkPmVVqke-SdqW=nhsvlWryXkJeIJk*IjXEUO zrkgsXomC!>%GjBOg}YEmAa3qMx6K)Hd!zyK-FWDEU+85HQ(>6`>m%d00^U(f699?M zXkWUr(NekdhlWRD0{YDa*ADJz-}mW2(Jn_Mv;rB98|3GyHh=kB6*yn|M}1e@Y?qdC zkEg2KRg k6UV963??pjDS!>|aZQ6f@*x&Nyi)pCJy!*8PSzoQM?Th$rg9MQ} zm>;=p%lwp7)_R6t$`@KwQ*&nMoXN?Z#6)%>_6nsanHyG7VLvd 59QEQzr#{ygLPmjtyMX3k`#cFV6wH(PAy$84T9(C(T)M|qAHEB$1@sb zKL# !Wm)iqW< z!tdID{V=PiJf2}RN3Q(o?rX~K9v VqMmUG9m;EFEw$yj}D zD2LbQCr{)z4>7O*x^G&45xRX{My6SW;{uAv>-9H2TRr!}LlAV@KC%l$-?yG5XZFWn z`94DQEaZULvT&AJumk)C@>gN=;*_)y$ !N=}9e04Qhf*J`TsQkPwv`>E-*1#3H5(QRTG$# BSRkp?(y}FS0xuz6gzd4XQO=X7^=V$B5kgb4n2v|5VH#Ic@ z56;UK8AE7^wR&R2xim`j>^f)mJD3}?MnMUA0bB|&p!^kEc+@JR_}e>+h{mo(l#Nnh z$A#fTN%Rx+y0LDvZEtZ=712b^CvwFdgm>fn=yq_=c@IHgSnK#QWFct#gD#~;@!QZa z#}60hzuh_vSGR-5K&fmEXgzaoMV#M1{Qa_J5Ce_60u=BjurhQwo`ak2Zxu<-43$;U zvNoXc9s2EALGv3|#31G2*Up^W3dd_t7J=A1O9rwClp^^VJMu2mgTeZ~Fo%NlHh&nH z>4RJf7$ba;1_cwy_OqryvI;s*-GSI=Up|92Fz_|CNbvcBov8xQw>&(}n$rHs9N9DY zxzNvB<{l2(!Ho3un7^wZVj-oXx$Hi@&~627i)<-k@wX(A){oEpK=O}rg?wR6JlWC` zUm;EfV!C(Q)gropvg?^cvDS;rW?(leO@4Y=k6pG&;hE>c%{~MX;!;o1)UarD=6(9f z-2z|{OnosCiw33xFpYXbV-1uamiul?81J0~9-Z{i-m%8lDj6%qoPacR-}zaf{~x!) zXK?9|_0xh%is+zhqfR^#z>yY0Zzq#ga IIe5aCgmzJ7;B{Tvv6U0R7N;(^Gyb~gJQ^sx!v1_q13 +f?P5)L%WufeHrjngz(pDfLalx+GtOI62_RFSK6HZ%AdO?zC$vub@HQzOC6B zricYTjxJ3a@C(>E*c|~oGw^Wm#j63)q$Nz!Ls9*&pD6#r?9=pMs$?Us6$apD-|#=y z#840jGGK!!0)nTSEI@W5<2w!jQ_kpVT%#Qmuov}&(UQc4pP};rh(I~v073*f=2fQl zF$kM13R9z)f2;s1KwhnZp`x2@28zMi;!qI$eUCM@OyAaCrN`ibu3by_18yG}meV+; z4N%&-UADudRnq$0W$}MNg1M1i(A!22RbQ*3DO5QoC7GG-Wvbq-zC4_#V+7?TO$18) zx1K4@8kn{-h5M=XiLpc?Fa9iE9<&g*iEwuoX3Yd%D>MjwB{}5D<+8>ig?a`nJ5VVh zH8hSO?7*IhSQ97M>;dXSa~g} u5Uu+3rE(xm+peRHYa$e zGaL+{#9l8g%N5ukg-&n4(0|)Sg~_*tY;*Bcqol?|fbQs9D*v89hr-qWkz9Y1Hn-ON z&c)cf#uQCD*8Bd#0}3+C%%eg7RhIL>675*%?XMtJmeTPml)my91$ ^*>WPOtc%U9|Z?%It+J1WJEb((IVG~0cwVLT1LGyh8d8X3=*M7=cGE}6Eb+LY?l z tiF}Btn#1gMUMw( zfmwol8Xl|ScnJBsun s*uvZ zitxKpt7@lo%nQ{;T_$%G;~ObyM^+0;%Hmn w?>;2|{hk`_>+=-klT!NOyXKyek4=2i9LP#)IpT!G zjKMY~C=@yip>^QrHp+l!Px#;b>2-G@D9-)DRa=s`ULm_+e`yN^Hd Bp_xkYQ`%v-fEuSPRk)p9#8+3+z^%v6VEs9nR3s8kL^=C1 zKW&S-UCjbNHNIgPmk;UYUaRhLJ5i(uXR|l6RCl9a^fNJiHk<&dlUezenoL VmIo!D*WoIp;WzBJQp0W(uyhDyx=$e zV7~^`;h#dfhNdJD;<+YB#%z<-tZJ|j0D-&qDEvN ;bW?IY2zZ63j%9Y zrB2thM#=e62Rc;@sO1veQ2JSXmcgf{2`$g^0*W|PJcn!3So~H7-u>r9K$`FSFHVJ2 z-3r(YeMxMw3_O&;2n1o%{YsUnT)eILC6fKdz!6sFq?JV=io&YxD&D&FuY5#j0@xOU zLc_u4yCqGd6H933w5 JTBv_cZ;TaiRJ?*Jsv)O&E3v7!+BGW zl|SC>OG&$r%%~Xi+D~SP0lHI|Ptn7;@$l0YO8lUo!P>)`AJ0-=TlA;=T1MfP$$VON zT3Q^UE|Fh!E@!k?XZ75f?C&}~v8wO?VP0;O$i>!Ul4|UMbmB>_nX=m!0VKQO$Vdm} za#q2rhk_Ayu^B!s3$&)?7I8HcQ`$(oY(6+UG#+E*g^Sx~|DBoodTAZ+zJMDD5ocFP ze{$$6xX=Rx%WD_8Mt@UPN;>U ~l(TJ&tN^P 6WBhnDK75Kkbu~iP7-P^q<#c z^H(pL7hYtDYS3u37p~4guvMw4tF*>lEKjRgEJA?W+~%t%={pwfBiqy6xBvtWjbnk2 z+=C~IG-g|VE0J^GOS`-(gJ^KXB^TGQ+~0pPJAY4oJDZiy!B7e?6kYA`ZddcT&a~wZ z^Qj11v7X)6qTnD19TgSp5@AO)i%>T-Nm^c1w3T-`uKf=oisUY0PC9Meb_o3lx*2<= zr(i`MSPE0Z2?2DBt+u`+9Nh4DR5NeahP-dXNl=rs^&p;*BDr&ZmLey9_(;N&BVk=$ zb!>TU8Rp{Ln1muNfByDNa&q&2c2xn~Z-=lRnRx0`KTTX_LDB*hHXFTqN(#25+4D*- zoo$k%1HBuq+R{vd!`Ej1b9#!MRIESx|MS;{|IN9c|Jxrb{{Oiv&+0!WxRpo$`O&7> ff7xAsPtTop+;pU7VkQGWHialZRaYpLHw*k Date: Sat, 17 Dec 2022 17:57:05 +0800 Subject: [PATCH 141/254] Update Readme.md --- "java\346\227\245\345\270\270/Readme.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/java\346\227\245\345\270\270/Readme.md" "b/java\346\227\245\345\270\270/Readme.md" index 2e0bfa2..bb3b049 100644 --- "a/java\346\227\245\345\270\270/Readme.md" +++ "b/java\346\227\245\345\270\270/Readme.md" @@ -215,3 +215,4 @@ + 2022/12/09 [老版本Fastjson 的一些不出网利用](https://www.yulegeyu.com/2022/11/12/Java%E5%AE%89%E5%85%A8%E6%94%BB%E9%98%B2%E4%B9%8B%E8%80%81%E7%89%88%E6%9C%ACFastjson-%E7%9A%84%E4%B8%80%E4%BA%9B%E4%B8%8D%E5%87%BA%E7%BD%91%E5%88%A9%E7%94%A8/) ***yyds* + 2022/12/09 [浅谈XXE防御(Java)](https://mp.weixin.qq.com/s/BSq77W0u0-O2elKZTJQNOQ) + 2022/12/14 [js-on-security-off-abusing-json-based-sql-to-bypass-waf](https://claroty.com/team82/research/js-on-security-off-abusing-json-based-sql-to-bypass-waf) ++ 2022/12/17 [java.exe和javaw.exe区别](https://blog.csdn.net/xtho62/article/details/114085591) 在bp启动的时候看到了 From 2c8c93cab4d975230e7fb9c1d809e23496c629cf Mon Sep 17 00:00:00 2001 From: Firebasky <63966847+Firebasky@users.noreply.github.com> Date: Sat, 17 Dec 2022 23:59:21 +0800 Subject: [PATCH 142/254] Update Readme.md --- "java\346\227\245\345\270\270/Readme.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/java\346\227\245\345\270\270/Readme.md" "b/java\346\227\245\345\270\270/Readme.md" index bb3b049..4b3831d 100644 --- "a/java\346\227\245\345\270\270/Readme.md" +++ "b/java\346\227\245\345\270\270/Readme.md" @@ -216,3 +216,4 @@ + 2022/12/09 [浅谈XXE防御(Java)](https://mp.weixin.qq.com/s/BSq77W0u0-O2elKZTJQNOQ) + 2022/12/14 [js-on-security-off-abusing-json-based-sql-to-bypass-waf](https://claroty.com/team82/research/js-on-security-off-abusing-json-based-sql-to-bypass-waf) + 2022/12/17 [java.exe和javaw.exe区别](https://blog.csdn.net/xtho62/article/details/114085591) 在bp启动的时候看到了 ++ 2022/12/17 [Weakness in Java TLS Host Verification](https://blog.h3xstream.com/2020/10/weakness-in-java-tls-host-verification.html) **字符编码绕过** From cf526c6b9e18f7f4b286ef8b676665667e455ac6 Mon Sep 17 00:00:00 2001 From: Firebasky <63966847+Firebasky@users.noreply.github.com> Date: Sun, 18 Dec 2022 13:04:39 +0800 Subject: [PATCH 143/254] Update Readme.md --- "java\346\227\245\345\270\270/Readme.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/java\346\227\245\345\270\270/Readme.md" "b/java\346\227\245\345\270\270/Readme.md" index 4b3831d..f3aa154 100644 --- "a/java\346\227\245\345\270\270/Readme.md" +++ "b/java\346\227\245\345\270\270/Readme.md" @@ -217,3 +217,4 @@ + 2022/12/14 [js-on-security-off-abusing-json-based-sql-to-bypass-waf](https://claroty.com/team82/research/js-on-security-off-abusing-json-based-sql-to-bypass-waf) + 2022/12/17 [java.exe和javaw.exe区别](https://blog.csdn.net/xtho62/article/details/114085591) 在bp启动的时候看到了 + 2022/12/17 [Weakness in Java TLS Host Verification](https://blog.h3xstream.com/2020/10/weakness-in-java-tls-host-verification.html) **字符编码绕过** ++ 2022/12/18 [Java使用 try catch会影响性能?](https://mp.weixin.qq.com/s/kkEGvMwaG6J1WrD_DWRRzg) **不会** From 667d8c3134bfbfec9e8b43ed0adc5921b1a34ec1 Mon Sep 17 00:00:00 2001 From: Firebasky <63966847+Firebasky@users.noreply.github.com> Date: Wed, 21 Dec 2022 16:12:46 +0800 Subject: [PATCH 144/254] =?UTF-8?q?Create=20jdk17=E7=BB=95=E8=BF=87Module.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jdk17\347\273\225\350\277\207Module.md" | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 "java\346\227\245\345\270\270/jdk17\347\273\225\350\277\207Module.md" diff --git "a/java\346\227\245\345\270\270/jdk17\347\273\225\350\277\207Module.md" "b/java\346\227\245\345\270\270/jdk17\347\273\225\350\277\207Module.md" new file mode 100644 index 0000000..dbd2d4e --- /dev/null +++ "b/java\346\227\245\345\270\270/jdk17\347\273\225\350\277\207Module.md" @@ -0,0 +1,99 @@ +# jdk17 bypass module + +https://www.bennyhuo.com/2021/10/02/Java17-Updates-06-internals/ + +https://github.com/BeichenDream/Kcon2021Code/blob/master/bypassJdk/JdkSecurityBypass.java + +在jdk17使用反序列化的时候发现要报错 + +``` +InvokerTransformer: The method 'newTransformer' on 'class com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl' cannot be accessed +``` + + + +限制了 + + + +限制了的类https://cr.openjdk.java.net/~mr/jigsaw/jdk8-packages-strongly-encapsulated + +## 需要bypass + +``` +按照提案的说明,被严格限制的这些内部 API 包括: + +java.* 包下面的部分非 public 类、方法、属性,例如 Classloader 当中的 defineClass 等等。 +sun.* 下的所有类及其成员都是内部 API。 +绝大多数 com.sun.* 、 jdk.* 、org.* 包下面的类及其成员也是内部 API。 +``` + +**code** + +```java + +import sun.misc.Unsafe; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; + +/** + * https://cr.openjdk.java.net/~mr/jigsaw/jdk8-packages-strongly-encapsulated + */ +public class BypassModule { + public static void main(String[] args) throws Exception { + final ArrayList classes = new ArrayList<>(); + classes.add(Class.forName("java.lang.reflect.Field")); + classes.add(Class.forName("java.lang.reflect.Method")); + Class aClass = Class.forName("com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl"); + classes.add(aClass); + new BypassModule().bypassModule(classes); + aClass.newInstance(); + } + + public void bypassModule(ArrayList classes){ + try { + Unsafe unsafe = getUnsafe(); + Class currentClass = this.getClass(); + try { + Method getModuleMethod = getMethod(Class.class, "getModule", new Class[0]); + if (getModuleMethod != null) { + for (Class aClass : classes) { + Object targetModule = getModuleMethod.invoke(aClass, new Object[]{}); + unsafe.getAndSetObject(currentClass, unsafe.objectFieldOffset(Class.class.getDeclaredField("module")), targetModule); + } + } + }catch (Exception e) { + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + private static Method getMethod(Class clazz,String methodName,Class[] params) { + Method method = null; + while (clazz!=null){ + try { + method = clazz.getDeclaredMethod(methodName,params); + break; + }catch (NoSuchMethodException e){ + clazz = clazz.getSuperclass(); + } + } + return method; + } + + private static Unsafe getUnsafe() { + Unsafe unsafe = null; + try { + Field field = Unsafe.class.getDeclaredField("theUnsafe"); + field.setAccessible(true); + unsafe = (Unsafe) field.get(null); + } catch (Exception e) { + throw new AssertionError(e); + } + return unsafe; + } +} +``` + From 23663113e7379fcb4a82734418991f114bcccb73 Mon Sep 17 00:00:00 2001 From: Firebasky <63966847+Firebasky@users.noreply.github.com> Date: Wed, 21 Dec 2022 16:13:21 +0800 Subject: [PATCH 145/254] Add files via upload --- .../img/image-20221220230825845.png" | Bin 0 -> 88141 bytes .../img/image-20221220233047039.png" | Bin 0 -> 130319 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "java\346\227\245\345\270\270/img/image-20221220230825845.png" create mode 100644 "java\346\227\245\345\270\270/img/image-20221220233047039.png" diff --git "a/java\346\227\245\345\270\270/img/image-20221220230825845.png" "b/java\346\227\245\345\270\270/img/image-20221220230825845.png" new file mode 100644 index 0000000000000000000000000000000000000000..3d05b8e54a8c9df34ea91fd3311d710efb20620b GIT binary patch literal 88141 zcmag_Wn7eB*T)Tms3?daAV`BqNl8l!64D}_Lw9!#gLI?PIZ89c(4A7!-QC?eFmaFn z^E|KTyq^1WeeM^`i#ZNv@4b$-*Rl5ceOJV1Wm!BNavTf{3_Q6{QeQAI9sw{gu$-Pe zMt}4EDS00T1}%o1l!Urh#^I8ulYVdJ?)^!s#IQ9%IA!<;jE6xf5~}Jy&E~S-^sAp& z`DxYKO*PuAls1+5D%5(mEZd&6md^WJ>3iM?eX_kj?w=n2!Jw9;_&xts7p+C$lQ$R- z-nhKlj85$s^ajx~xeQ}Ie@6=fzfBG?R#5>T18(;A1PkK6)Z5lYQus6qJ;jT2Vk#n# zT&&Y9$a6ZH=fhZE-*Df_fe0QV2MXlu1be>TjF@UAbid6eAeu}G^LALVVD?VGQ4wJC zbnXI59^7tQZ~THVR$Or!GEVr%iX*q*FL8^h _thgj) *DB@GoX0s;dcI4nbSw#V6?vmfLdK2DZ?LU-&7+5f0M{E>Lm(kSA|Z?lse zXih9-fQiL%H|UWvuR6S d0%%n%M1hIf@erKYwoj$hlVq@&+x3EY zH;$A))JNBvS*$OyvPTC%Se-wk?>~jDu TB*l6qb(kHCkd@Cf=-Ng6DC6=DP1{bhLkCow__9pKyskzvwNpsX8c=ZQ1e^ z@K>KoA8Y{)O}D#dv^p3gwxz7Zh6-fUKEc*`Hl-SOneS7Gz%#3#iHG)TlCbl8I)y1~ zw(GS}3ZpbJg{Zu2KCvZHLk%V4g<{Shd*WMO4{9rJ78de1&GUBa99748kXddX{ 72^fl74wAztrAOAh)U$0%u4*}Lr#&J=XzsM z!CUWvgyz>QUTb_flJd8gLvdE*j##3-wnq1{JC3`sfmLK#NYb5_2IqJd97>#D?Fu^r zIJY?Z2m&t*El|S`(_&G dyNV&Hww^92rS!_sRZqe_>9}8fxTvL z_$r*Xa}y@p((fdZNC7Xz9OdB4 lZqcwpd*KvC`UJ!NPjB(2;IK_2I*#Ps>-XI^d6FecBhr)0Ti=Ic}Himq+8{lX8z2Ub2r z&q)}~>;AUGtFCrie-_Qa!Ihp+?(w#GKHm>BxX>Q3G3I`D8|yZzuGSl%#XV=;`pm1B zXlqGPLzOS6k(9D}N?f9-q%Q(n4 bFF-OZ0z9mJE5$UNyP`kk%cE7`@;a&=9uJO z>JO40t$1h3;tI34NWdR(!C4zMQH{9TKht*ovS^eOP?NJ2g2v2POFNP1?tU+y=-s zEm7xCm|7rKlL*j*r$h|SD@%Ukw167=gkgot|Dk<74-V+y2z{^~p`_fU;Tkb5Aua1e zbym`Vj5&$xnL?=_$2jUv*v6>X_uBSw{z+ep)fAe);|dGgI4J+3r4v(AniyNFDYTGo zRa% 39xjr^^4q!m#?juq3OcR z?L~6M5nl{T(q&BX(^fT_iO;CW_3V}E$i-@@=KC_$B_SXtulofxVbB4yu&PvnnkDd# z;d>%DTBX;$-@!9x3)7gwaJA!*;7&n&RZ0$fUkYd=3bM9^S|_|3r~dOM_k<*GOUboh zj1pgHhvIPzzV3Zf1wwiR=JRx;18;t$t*0j_>r8XNPw^h6ZVMzA22E!f9>BY*TA}Po z$ks6$Qxj9uy~BOOe+N*PtzrVnSACXvj}A=V;T!IBeZ?=Lq4pJZBZ_M~eG;KpOQ_)- z?9tLDb7xjAM33Ry`4o9MCir-=!cVg9Y%{9qlR;Y+>y#xEDXCK5n}UZQddbARZ+Pxr zr3a_Qv&>c{7M8z)PkMx2p+hNBf4Z#7h@5$QSD0o(#G@%q5XqJ0V?!^PKK;exl)E++ zhTUT-bi*pvJRb{TF5G_4FLr~|U@hDiTQ4Cuqb+n|=W;>+*-j%v=#-l8V-C^JpEaD7 zbp)>_wGR8vZA(yGNRq^L&y`%80PEiL# CZy*!$bcqefRpHVX7 s=%OGBFAqplgQ=1;UQ;cgB?L&t;OBz%H@mXrlY*%CfGriBOCJeXK@?F z65zuIY`$|{;sQ3a>NT2X`0;+9+>vjlpyR@lYLBlwy#NRxiuzr>_=rF<+&9hq<#)zc zC9Oi iq4CxlPK8J6XY3uv+Kd =2&q!cSn2adPD?y`=?I6{kwKzD%s5p$C51z=liag z?2%Qe=lvwKfu~O{%qq)Yy&g1ba!*aGpz(Vto!7QW7(-v>IwkLlh;!yk_&g=9^J}BG zI9Qg;-Co8ODYT(v&%AAMviXwfdfsFoTjFUHt((p7-G^)zyQM6dDeoWD&npxjJ#^K7 zt$Hz;s8^i?P=UV>edU3 X4U08*@i@0*&Gv(g+GUTR(CU zG27bl4a +2ME#>e;%+wGlLic*L6p6=kF5jnxY64Vu2B=BIh* zhb-}K&E;AaIl7;xROd@exTKWSKzKGUId1lA(FMQzQ72&dVP*7Ef$gPva8Fd5rQ5<; zNaiyQcttLhu7^-Lpw6020Pq@t8PAQ-; w~SNW*au#w8JeYRBWtHdoP0?{(D z0=*s=|C62Zh;ItzbrxoMY#`v#+~I#a{Hd4)lzGN4!uu{qq;objfWR@IT{^ZVc?6 m2c@;f72KE+<};t(@=Q`9vBioF$y~#?HecpIsv9R>89!x%BNgd_38Liqn97lJ zh)o?ot|6|ZVxH}QNbdF_`jhr)bQ%d|WaY<>&;AKfew+? 6TudSi=rp64WIf*3UtU%NPtGjl%3_Rm3FPS>`8ky6kEQXv*#6 zzJC-r(c$Y3)c03QXfdlbr{Zf4J}k9v_l!5+zir}EkrrlFT>EHUOcrQKJ)SegPt%;D z7Sd}vt{*LD-slv$h>_-zMaqm|Cy6eT7`GPmMuvw8dhNrV3>8FZPABi21(ro%_w%>E zS+)H8+Q4<$`6nBRq9fnW+dwKqIItI<4PHkJRGlg++9xT0UbaL x~bE=#{mS#??85|;tY?tVAZ>GC#sa}>X}0ALnDf}!P-yix(JgiQu+4q%P+oj zh~2IdepFM=(w*RZ>mKW_cBC`NwV_6`C2J&lbs`5l;JbL*GvPJfW&2{?Qk7lOJE=z8 zrbh9q&17Az*q7a3{c0G{BMQ0LcY@X=QwMEL)`$i&aK(E~xbL%(bzy(dvd+84HW*d| z*PgF9uWIw=JaSuaI!l_ fQakGYra$#aG~>(cZfd6@5dU^oOtxS}+}# wpk_UdGf zsi@o1d$c dtS$$iv%Jb zr1 4!1_)#Q>5IMeIv)t((9 z`oesPpf#eD!ZgL*Hwqo&u-M&N3#KA7PWIU1db@%`&uoe|I@qZvTNSuL(}I9;B1h^o zpuH|~IwC|%W5{^Mbm3_W@MD>edr(oJVir(rWE3A}sPg2bM*19Tum-nRVP4tCHCy?N zA#5jR_P+Tv%h^Gln6r7@U()E*@Z$hOFhQuTZFc7)%)Nt8DV3=Ogtb}CHG6NQ?u@{$ z{M_L~j~_mK;T0BNJY<3OIwJNa-OE6Ojuwa&AyKuGBjd0(w$nCjnoh)}gfKCA{< |VF5%qtWiA#WQ`>BU%* zyK T8en-tOrej XH-OI;fO;1S2tauiJg4d5Wv@hNCdG$K%OU z@OOJzcKbuKqaK9FOSPC9%O}Zw;BOjxU5_D`NeRXVpL~X{)MT8;EY|r;%x?xr(#YqX zZneXeBI!RI @ydX ISJm?C|Y78XhCQ_ ^Z^z=gk z=GMy8dTjp6oh=PsUfqiHzzF$I42#e>y#o22hP=L(yGecjoDEsloPnGsaUWeolR&Gr zGL%ou{U+HXjpF{#z>wv=Ax%jOeLaTEeuF RPQ8goW zpdEjh@>&)Qr~1(sirwjiX`{zQI-qx%4ANH-yfP5hNk *>YvF3;i>kjHU>p%4x)%R~XI@tCq{=Rl$ zIkd;u^EZV|H{SkzkYU=G(p?O@l~6VZX8tZ{Q}plits< @-S*xHkl$@Ds>!R$SiQdz7V{L9aj;=5*78=ddj*}Yb8g6` z4)~tG0f&8yiNW6_qym40xCSgIQDlhuM6AkIeacGZWY@pnz_ioD=~Gl@;9JIzw@vwl z P+ACPDB&SpAlL{dXg&F@YZ}2c}}W=Y-?kcU3FqBanAs? z{taR?#)`M>DadUTF>y_a!(@TQwM?wZWUcR1sj=WA{=~W+F)W)>RD_E=ctgtkxgNh| zJmq0jRohnxx&q`hz<=b$R|g&Ta!t;zw`x13c#eN)VX$nouGt&Cy`uR$FI#P~Fde48 z=zKg?@UQm(8TClxeU9Z+Thm55I=9 1W@1|KijJ>Xs_) zE9+vh-&^y
`cFMZBgO(jTG;^HeX~^ZJwz)r;kQAPhSnuVD`MW`{e@#jtzV`k&w?Og zoAbSe#w%2vIC4{#ch_rmy3H-5YWjG&hrSK>=|-}*<0|ivL;LD4|3*Dz*7xt-`c >;)@Wtaq{G;M= fq*R~vi(Vz-{X2pr@EMJpYUP?nD WloHCe429{`ad*QC&pQpvE&N=Z%F>mgFv$6Nvg>05!<95XjNRS zq2i5JsH}|4_}DLd0V~lHowr1B6xL$?-zIbbmX=9@kXogDs}>3Adygm2Ly;0nsp8y} z(O5M4k)+^zcQtb1i#<=*JzA?Ck3lS~=MUhX7>vK!K_QMe_ilL9 Bq9YcD~jdb30oD_bJ@pf{M$4H6Gb+{qQ)VIz_H(bp33BnTOZ8K-f$j+V%NvH zl{3XQrhPp~j*aXMIZ&|U6HymT50kU0Tx~(0{2!SkW=aZ1UrHzub78?yoX3j*KR(PR zyBD)Bc`Pz!GdL)pW77aH$E4CYfqM!>sLb^A0dd5H_*oBy =4}HP$hcKvdSL(BASEHljS*_~+|Jzi%v!SiCfh#$V(lXb^2awvZ3mRRZ6rxNBu| zC&U`D$9H-gw5NmgL*M@EK@(K5L?#x4kPLOnr#!+!Ld+cOrc3jF0Zkn3$83uojWsah zm&sn6zgZP^{2skaL}t+>#iICN=99Szs-8=TmS-5}lpVp4ukVSOlm};J^k Kh*!{}t z+@QSJ?U-*u$*JiJwDaaOv+Micqt?zBQH|B+)}lT4;-a;=V3vQ++lPfpGhejT`RR0K z52^l1ErziB+SF39S#r<}ek*E8nDKTk4k@A46H=>vcx$AYk>X_R+W3mP_TsFUrpj`J zS`2w>8X6YHG# +2{nXLJ7LB-BQ3yw`f5qhq>$ojsJR3^yrBj$l*dU7<0IlpO;s#n4IHG zi={_>{fgPx)FkM8&9=0(R9#zpzI5WB+|eN+ub|+4)=gTWTl(zTGsSyA-GErbsg33< zRm#SGVuM>e|5L^8E^~_x`SUQi56;M4K(i`h?|ApOgk`y&?BqU7ybn@UV7uv&T7` zy_9M_tBO{`cI7Lu+9}+yvT!q~g4M(L@|VqtR^hjX%&?p(X;$ce+1W&>v&;{%kYSNf z@u 2k-I4UcS7K`x8pMfxQBcM`1Z+agX6JtCx$18* zGq;F`CVk0fuAkJOHhYk`HBrW#Y2!B#U?tu0Cr_~y>{?K%w=l0-$)=r+IS2gk|Fe@< zVUch1Z#e$ixq2vj>zz*nBeF>r&)mw%Y1**t7>C?hk)t_H@x4-yh?A|~!B;-m=Px*2 zQZF#o7n#ldzI(tmk%!(SrlbRb;+7?c^3xOW)q53Ao4J2)(!U}6-Mk {o#SUcNM4mXy-_LVS25=%u)c~Q>=73|5+Vf&zGuQxas!v zXMjS?_SlRpsgy>I{d$KEk#8}_7cPngX!0_LkFA9Qqk!UhvGldf^S3+iLX-cAII`XuffoM$;g zr_d{vV(nk51Grzf8tqHEFg9>8StYg@g#3G9;l4j0fhtySNx(8`^G5>)lyoGU4!F<_ z&He`^be<<8#9}G2Lf5KH${8saAkXYrM`0sPrxaot;xOkBc9w!b=1LDU6KiO0iFDaLF)N>?II6I$d@>GzqTV6+6IFh?j z>qvb@IV&%Q83%BGE+vLh*1U7OfM{??)cGGr%2If$n6nzSVuI2#Gy?uWxsb|+KZ=Ns zHnTT8HXt?Z%@hKLX0H=YZ*LKjku^MIm>fQ31-zskOYFc}(^FOb{F$uH!}SuSkr5g3 zyp1*^@@e82TB9?+jMUQjIy%|QL}F-fh=YW*cF*koc03LGy$3C_c|-%>ZHXv-q$p3u zG;FtXC5bydfnBgv=J>BStafW#G7xkjdacxq`Z!%*L0XL7q97pA-`vU&l}?odUhxP8 zw|OT4q4qNf!J%G!m$wH8hko0>@Kv(%EOdP;t31|!Id0zDT3*bl4ruhx G9F93wrXgbK`>1NaD;SqYSrJ0i#Qh-% z9I-u0nTGYzDTT4_ mB_Q z!eZxpCC!aE@w1DKyz$zZNLNsQd&6$7wV-(O9~J;~mf-by>fd^*E2y>j4!;?A+cTbE z9?{D>#T0MAc|t#@KeB}n>b !oolA5b2 zJ;tL)j~1KV9ZPoR9^cD-`sBn~s- -op>8nv`)lG2-J{M+ELm3ch?C2Oooi zVf`RnQq0();M12G+dsWY4P`TyQWoM~%z048=P3B1U(4%;lK>TsBI`rU;I)!|1qQFw zs5j_(=sGpUii{1X(^Y8Zr@W{IjhhkDCF!d14dc9IRO^JSE$pTK#!dL!?{794iQa3g zOqKFym~sm1E!|VMY#tAI9sFuI#PJ|9ihN_N#Qil0Z?W0D`%$62LVaj?@D&uoXi_I4 zUx^~9k@W}7glK)c7z 2iJKcC!)1WvJ!%DGXom2rY+-a~=05( `kauRF6B_PdP%6ayGpw1np`dM^N+eCV*?BB z4zcHVX^{;shvY8+cZ`pa|3004LfD3*`tIO(Vd OVF*reUYkE`H?VK^+|qwDa+ANgLx9@m$!5-{zb<^P_lW;>1& zuEtV(_Wn}dv{x&OX{qk(MH?`^-yd<6lh}IAm)|z%PEi7>b-EJwm$OD4`qd;@4liV5 z{fm$AOG?aMX_b~6nH=#Hr>?#Rh+bK{iCFz&&B7B}Vb2A|q=@gb#Fd=^K8oyGbLKQG zv|SDgTxP`aCa( NkR+6D +r>%YCLm!_fA!VD5(^%aaOwb z5JFWwIXy0D#K=n*lu)ABoEB+)>=~2CPn24d8B7ZpG;Fzij!lsGO+u<#95cw^*`qF^ z^o;Q0ZNkzZAEpfQ1Ex1Y%_Z6y?9%GIiipQ#|67{J&Z}f(qCUiYW7ccrSeBQA{~(7b zTxsA A} zX1v@CL|W;o&=3RHYNDb?8YkBBnUuGHnuhw&>H|i&?m8%2%pUVinNCQjuB )C6~?P+eRc3tPY*TH zH)a^d?m@-UCwHqIWwq;!=Bu*nPAt^|1?+d0w 0m_@Hp6QF1L9E1~8+c>BnkXK_qkR!@BU)X9%ZbN_8|MQzRa*tEQ*FHvcY z`(;e@Oxv{A=rpLNx1i$eXX3Tjv~R0x0o-R^>jd6GH9wF8gwK%R>n_+z{4f51L&*97 zAhb de=1L0z>o)n+JvD8!#DJFerMp=a+JlN{e`w+Q>h zdUOSKM;1XW)@klIMG`2Y>RJ+e8f6|Uo|% WQmMMuvLlpNg J5QeT^(PZQ jJyKjCN$rW z2;9psxh%^8R*N`EzSTOgC);rBw>?r(0X}&6e*zGFx0-g#bDP_;KW8ED-B(3zLS>jr zBy0g@j&$z|p|kN@Gp|slaQ3&|C#`Z*voRtY|ARo(CZiFEYtOoc8B4qa{w|Z_=JsEn z;(48Xca4NPe@NT(KOyr)`o&xG@Av7X_ja};Hga2U-;)VbZ(1N!g?`snF>q2QU%jz} z)~En(M|DsRXd$8JGP$U( gz_s@-?3g@@KKg#$pUj%-PR|mgxKf&|ZpTJy2|1 z-~Z+SB-aDZOX2kXf;iYb+6a moujti~|?v$h^40N?j{PUER;!nC1a!T9SrTno;@P{w68Yhoe^c zy{YucI{dYk0PqlTFP<_23_d-k8BtL#!K}GwRBHL~>HS36jK*LJar;)6VBT(IRnq!L z?Drn~cb5_Q=-R4vDR@^yD%EIJ^Q=n>&nS0|+#P5X8B6c7ZTVk7L5{Cg(SLw~a|#1- z)5%a1hihd+Od}|JzCS@i`4dUf9~D`54}T`5cjo|_F^MgCwi4MtJY0LR-DhUZC6&_Q zalp-IN?OevDG%ynAa^hGRLK)W_STcj7w&`Y%Fi}5e&?jzElH!{hx?|5BZ|y`?q@B0 zc|=4&3@zWMHJL`S3U6$(8eNjdL5WqQ`_7^EX08(4#kh5Z%B T{MwI72ma1ZT4D~tF(RuMaS =o?wI_8?R^J33TDAMeYTX0ioqYz+fhC|iXj~p;6)IMOOyRN zTR*X;MA#Z{b k(;osJ@iWNak*d^r+LRR0ZMe8{tR%Wrz`r#bgfh9X!onBQ{LBA z)Br1XPAkz$37R;4cXs~!*|X 6ZxvuBU* z*P6clYm<4FwD@V-n_LVRX?3SO#l>j$BO$>zy^F$kW=Cl7JIt%3B&U`sgfSm|-ifvp zy@G~h!SN0_g~*mbe7!+U2rXGyOf0tOV(bnB+UB(nFR%@GyW+CEM!Au%Y$AH}*mvkl zpB=^N9`sJ!&Ag&NSRwKrgsC3DCuZ bOJ`0H#^7&EUIIm0m|QQLb~Z*n zyWY~=mgts23>+$N(G|_dU#6_4#cQd`;6Fg(j#PT#z{D1~3-XaR{eY>m5u)n8uj KHmo<{MGZ;9h^6|4yG|h2MPg}tjRO`c{ZsmqW zTUjFs6Y`}{QJJ0DM>}pq8=g7`-jSA5AMkWrflh)~N&(7dt>|dWL1g7(qv88@I8Dph zs)H~4%bZ@l95xM*Tb+L{s6nC3=3$bb7r$Sr3@}x`Iyz6ems67=v@{m*5rCg0*)x~9#*xG#nmWy?sUOJ zBt}Q_o4umT+|EMj4(re_Hws^@zH2nWbS%wZr$|BEeo9>&; Cz#_$e4f+jIDF&sDOJ`3Ubmjif*6@PmkRq}JS=Aaqe#J-c2` z$py8^O=r(o5B+x5E_;HKu61#;#@niOA;`i!^a7Wb{`}b$y)-mjZkMDcX!y y9mN;_)l{OB^5nL}wFhB*f%J?*S6vPQERvlb9KUV^39L(%4qb zlDaZgw_9MpP&;M3)TKxm`m~@|Jw5X0iE_K;v>G$k*#&lnN0R9QlT(#H<#WmaFkm&> z6MK~g rm=-M^)QK 9M9?P3`8$dNcfS9EtEamAQkPv|JY0 +%BDI1qCMNsx1;a7K+Z{Ud_f?>&({~m8W5 *)AK(OvMj%(MN()?{4mf%N zudB!R9 Yk%bg+Zt6NgIv z(e1$1Nx$rTj>g;n1{LlF>#6VqRQ65n`kr(dUa%zFKDHLSv9t+;%e{p^=<|>F=FCOL zkgr^he-T$O{TH{eqr6h;))Vw1IyS5*I^0tG4@_APw&VcF+=#gL@~9Fa-;Kd$KjPz4 z`FM9ic*W^CEIUCa>QBytd?f~+> k8c2&Yz`5tJPJVTHea(Y9M9>X6*n-) z-zWYOs=XqXR`>2@21` ENS_n7NJVUQcO%Q?5J~(7X{~c;9Hg78y65}X5#I~ z1z6UH)k@2B6YiM`3|IBUAxRVrm*x(y?MLdK6gNrtmIng7UOP(+@z#F)bQ^6aY-4T8 zWGisIQ ydL
eH(%YdUBP^h1Ub?=R}!Q&9lW_fuaD?PF}JTECN%Zz)w<*ujY+%^`) zg{8^UFaionK(Be|MOS_oQQ eHg&`zz-I^*xa~yGAWA#FISTV{7fCaP1;KZ U zw-nUbBe1ksOmlKORHBmZhjjm(@F4hG`Ihs89?oB>U;GjC)((gCoC4q@Utsxl?COJ8 zMLTyzCO*9v(^U99?}Vrs$%sboMm%)~P8{y{sZ N{bA;~>=YV?ZZgFWlEiFXt-lEzdWaj;#oX|Y8sCwMUT z4fxgcC6+6rUgO1giRxi-`@DpuSqc4P^dq5^HvK3}-#XS6iZ{B1jpU)J&+~0Pvbg6s zgL$G+g=SCvNCt+#;h;ilTQ@+-dtKtao6EW;fwc3OKT?45ctKjipCsv0L^0O?u7p9q z(d`EX9`His)-*U&t!=|~#&k2^qS7bvrVEQ`@{XS)c@pd0xLbxeO=ZQ|SN-e_*H7-x zM;BazCS*BZz^zF7crNlnY(XLc_6l^VeMPxF_r@-GJd-OuM^RwcEBT@7zVLq%O&av@ z9>@02Z%*=Q#e-6!wFigk(4`QT7PpMZ{B9qUV~ndU4KvyN4a+8_t)qsvKh|X`j~bz^ zoxgr9*)jil%_xdrg@znL2Z%F;B{XJU6B{VN@XA!Azh1jyzt0m MWb+^#)6St6sZaog5T z+yCj1ad02BLfSLvzZL3^X-rk&qV~MGQ%AQsc#25)1jN@?$rh3unLw9+op%zOgW`wC z;;Ql>NfUKp?o%V1&aZe{_jU}Mz4cuF3 lUM7L0OJx$SbTAZO;_KI2*qsq~jF^oA2_S^PBqC4bjNG>KXOkL(+t@WN z@%r*lNXHxdd6~sqESr~(4@|V;jXXxbIGbjPPW>a89RqAul*;`5;>W+e$!-oyYI<)% zR`}nrfzM(h^o9rk06c&r@>{mAf=)oBHS7PVpWH7M&{O9$AjNlaS%+#0a^Y|((T>eg z{CQ5cz%yV?v$Sz^v7yg)(19*ezxb=mY0E@Dpa;6M`FZM9{9yhM1kgmg9-APJf{nZl zxVqGXUv|Mqe%5-U+fKBrnS7tnb&2+6ilW!{_Xp6b$9*@VddJr4)4N|C5)+0ziN!f1 z3zcSD1UZdYhwT5Qcn1@B8r#@<3hY&itpDp@|1BJ8zERVhoCUepPWXfYvBOF)9OY>L zOFJYm5mKv0Q^)ohVmghB=Ksw5KV$obKK;4AisoVx3$StjYpgDlGoh;}nt|Vc3n~Be zJzK!UUdC0L9Est7Cja-EiE(IXsAbDGpVn_U!m*rFL8A2ipOrQ}3$Kp OHp{-VM8n=sy~W;uJLVlnSOmZ%_{qk678FH|lSI?}T9cg4=2b4G`W3%khUyt97e zVFQTC=S1NT|Cy5&4>z}@tzMHQTWjNAP7QHzSgq*ap)rN?7rlsTJ^IReBItjsNU{aG z<-(RH WPHl7AN>U3V~RCj4iKCPK*y2FUK2Giil`y}H}A5hhYJFwemWM5Svl z!yomQWQjVDte_r`Sk$`ilV$;?x43m>6GPbwah)9%a*akv|2$X!>>9L(n4;S(pt>n^ zj;lnaVn0dY-Yy&hyR0HEW_QTKh#!TfL7nr8qSM^(z3uLUM6N#xV2iVK);=*!{x|8w zfF_;xLLcogX+B27SDjjh3?l{MoozzF8nSGA=#l`_Mxx=sTx-+|@C}cKlF0#}Sur0$ z34#wfH|8Npr1sUqyFJB+#I<_- 97e%L^2WoHk`+Xe_BWHqKY6=M?2S2K2 zxFyqUxxu<{2XwO%rS^({?y5h+fTVRg#Kdz-SEzX+UmNT-eHzvof;CbUenFX}vhijm z2S#h%l?Gq`CEi6cGgLwfbZfh30y7lVYXT>F_4t&A3yw>1JeMgvEOh@qu^D0gP%f=I z;iDz;i&5KVLo2d-TWlz5=(&1L%!DH{FlP)vy`Xo^KJO8IY*}2Jxwa!NEK!`Tcql47 z<##_iEVTW1$0!m*M`oKmnnnIP*o wfj>;Bmg nNX}D zEJtXVNK5}D9ZA;e%~=Jqe4x||`d#6Yz74-R9he`Pz%R&|hJOzNz0Itz0bKq6=_8*t z9Jz0he0o?T&UcL=SLsB*V7y>z>(^URBj1SjvU3himHiBZOe;u$J`k(jC24=jw_J-q z&7EByq3iAfdi+~NM1T8VBj#B_+rO_g^?CZsAYxLRhbD-5HnufPFG1`*>jpU(Y(u?f z&T^|5eQirbO2YqfQaG*Rwb-4|eqp2EkMq!0ouj-w;8ZY^*IJSLY^48C$B16OpT(O; zoXs*4pPqtSVK0=_RyO|6)?fR)E3c)zzx}iSSM%@T9q<2Jg_&&V&&?65p{e7#5=^U$ z)>@U=NTjIlV%iM{m2M>VoJmYnC@)&vKbI{Pv|CD$Hv1+pyewk__3Q6GZ|K$YjMdUm zo4wwTGP_gp2DS5F`}-~=G?x$~uG!^%lJZeD5hHt77ZlG0N-YlZMc9m6>+jNw+I$jl z&4=E*Pmfs5Gf%f&;+?l}I^X7Ka#PPsWHUUBZwaf_+o|`e4bS?X2UStpk*(V>w!Ujh zLS|pVvkTg+INBu6c+RL95;pC9wUbj7%j1I39BUb6lT24~tK3)AOEK7$@jS^FluzL6!kKWsn+#w z2o(pQ5gO_nQ8r$<)bbNlV0icL+x59xf==R|cd;c5hPtQm^V{d`70!W;XNew0?rm;f z)d~*qes(o4d3GR2P6<2#D;um`2LzJ0gf7jg*1sl-fOv(0kT)vty&IA+r904FEso-! zd&N OemCclZ1ebY1S6`0Eqix$ zvxovWoS9BU*39cwX=y3O!?57p{?0GY!@T~(0vvAiep2B%nyx_M-4T#%$Cd8kBq{|> zj6)y-&LPm#*(5jkk$v^_%oyL3j$&@Pp+1J(;^4-z7Z}9d(rwl+8>}O|ZVYl7r^Fa& zXub%X&~eqrRuW0O3B4SG9jsYFJ4u>i6E@%Yl}Phm)_>L@8e6!jV(Cb)bv<$U<=`jj zz{qVY{8XYfrNw8D>N)LOx}b0?(1XWKuW-Vd_yu2R4Ke6qTV`qfcRRC^*N%Xq)A(~j zdTi^4FEYuE?Gfsq-`cvYJLAE=RWp8lVM~<>e2banWujK~#I8vm7-##s0rFPL?(VJ1 z;h#6!_60@xp~L hDFYSUzExAN`Td8LVSEwSp@J98ODj0$gxh^rcxdwB*R5#SR-4tQuwY@zr0Zr`e; zD5tcFhJiPAvqXfgHeFpW41LDrpWl$xP|~jTkLj(;Cn`jzn0g930jZ h(aN;^?D6fjulIc!>*B{enl0dg z&1A<`c{!ytu3qn3pR>9rPH8Xb?pfL9RkcJ+&kNnTiIuC`0&Sv3SguTQX`P4OQcepA z`4~Ku=_QI!lQWWiakb=gfK3}v56A0Dp?a8K$}l+nK|z6OxLtdluuAT!Z9yf(-tMaj z%f8wHOjS>0_vGX_31A8u^YI^>1ym=m{JA9qu9{BPLeF*^z5HZ_tRO|E?X0PXynx5e z8xiLY`H;diiOh|n?Te^wWF9-H^sEFZ!s~%V1KZ;ue^1ZW+$td6KIaVt*(!$dzuSuk zT(@i$iC %2bbQHjfrMu5FQC2W7k#vlH1HSbY5 z-Q_fBGo?W~A#Te(Qq;=@?gIit2sZv7+TJ> bDNra{+@(;wI01?m zE$;566qn) >f6a^Z@j@)JjPBmwBz?fNDTt1*=^^W)c$iJO&N zYvW4?F!E`4pm->^SeZ4*yUV!P^Zy?0 EHS$#L+z3bHpZJj6g*=boOkG1UmP+R6SCRh6| z;TaKw8huYjoXeXJW;q|;pf5+Ccn7@Z8++YE@f9WCKikC<4^?xu@n)u6Z@R6~jROPU zo`H*p!f3j?sA=0RH2K=}kNL1JUE?oxF)yg!Liy(1bl>UrxGaCA_ap@~o 3ny9fy)BH#785174amZM2*`b6pHUR@!jTy~E;%k^egK z0ITu8r)D}+_6?JzVSnv*Ou=r{#M6Qj`Qw6F0UsA6o)Z*~ksCjWUB#pB?0b!-hV!SX z7w%f>hvqMnG_m^Ndf?6Tc_k5op>NeJkQXpBNBtI~J5TsgC^Yg@QN*{BSo1CojyPar z!qFM?fc Js7 zOR^{Pu-w#I@9%H*$;iehYaq51@e6cH!*i{j)oSE+ck8|9OW?t<>}=Ui?9Q8#@hRuJ zY%-*Q*(T`EC+ECA*~lFW>0I~h^^fyQH3}uxyYfxmBU2a#%WsK#!Z-&I%^tIw%Y5y& zu?s!?M)NXLQOEY$F%>7UU6rC@W{=y3W!KGQFHVYR!n-L$(&`&&P&g%Y=Tq1y2O# Vc|PmrK<`e2Vz1>_sNgPblo9mk3Sg@Gr&GHp?s!FWpQ5pq#XX@t^L992k} z6Kf#7HFO;9^l{I){?}Ky%qvx&NG6Vwym_8)H&J~R)Z(oX)R|~=c5@ayemyfE_kY&i zUTPL>l1i8VL)i$4W%KcVP$+_0nb4vjiH?3Ku4+{R-^sh^u+@x twFb!*MgOq)ItSs*6o~1dp1wb$U9tK@~*9U=j5@AxXuoIvq~lIebs+U%H}F zmp%5i^UB!1xf2qOwH=YmrQ@D9BVGT{=;P;fbw82OI&&=o^GLaq8eJ9tx(^od^Yh?G zgk*4(P)Iv3SW8azAncj6Dz?dCLIgS7EACxS3F*w6nljrSR;TU04fSV7k!hsj(H+a9?_-YdskYY2|FyHru^YD#G{8xaR zms#}-4{qKKLuwxj%3l#^BFd*p*-p2e_fUBoWg77)E5VPHU1v8lN|yp+A8%2Gde+|o zbEBLQ*4%n8U&_nzsT$cx18Cn05(h7IT>bc9ar0Ss!eiEWpFm;4(4?yn^z>@N1$sd+ z;4{_a-a!rBJ8F0tN=AkH&G#&=;a3W&cl(RF@L}O{?uQ)4DVj5`wKKrTA|;2hako=g zXl~TF_x?>y%;VM>e=N1pB5yiyn4bQ`_%T5yT~B!Lc)xRMWoVf8aA~s?(wxQjGkg8# zyi^urjCM}Pxy(QxDf;_0+dH*X9dD2QvKshDc&T{-#LwF9QFjqI^U$G`M<-Q1LD3_E z_QXecN7lwmba)u5ZF86L=)HA#>7C!;KO_}3=O_RO6)v^1J_5}i^u)Kk%(;TsPb_pP z2piR0xZXX*?j|LBb>wm1yfC` #sE)^1e) zRwh&(Kz4g0W7gZzz2K4g=!k? -RW+*=AWUcDsDy8BO8maG{07B>bDyi-i~}p(NJ}TV{zQC^ zR#sC5P<9=M=!;xG9Y%K%-z~mi7cvjowxnh$5G!bF92}Z_FtBqtxyB!~NE`7e-#z^e zQDM89^bZ |nCw z_J)Q{EDLU?K%<(YqMv)D*E$u;Sj!-D|D7!Yp?r5PkXMmkiVr2jMrjLnx$#<-m5Pd8 z)LNg1l=;Mo P4E_ z*k0L8d9@#tq@F!tv~0d(^{Bf56h?IY{=5e}dHWC1j+&Qbn^!;Io_1|z9ltUkXO;9T zS=%aw{ANlKR53D2K7bb_As<5e$KaC^I9Oci9jIaEJ;Ce&?|5B)f<*ZCZ(EnvS{m{0 zV*8}BzE-&hJ8D^_;luQX=)1gEb(x|n`$vMtRCQF@veQ-z%C$!7uz9@67hl=>OmsNi zXuAzQsx>k-YAXJL_vr|8u9i+{NUxeKRTc@oiIySKEpAZl3Y-?(l=(vm_FC~!OZ<>t z;U4Jm?7WmnGGP)sKlCs<#znpf*m~`J8&_{bBk$kEll4GMS_(gx_YN#4e~7FO#t5eu zAbOAgz9!7Y9exYn6d U(cVJQ==eUcENP%4$&twL3keM_^2W6tz_S6apYq$3P_7C-`NhF)Ku&BN;a z(pY!cH37~StjpE4Se3h?Jw~FLO-0*<)yP{YE=@GEuE@X_S~VmHTq$`a9GxX7D5^%9 zK$l5u?wb$QOt)qq_1_(Zm7a<~#%yt_a^K-%3F>3RMw^9*0}T>giG?ky$-`bV`@@0N zCEo%TytOb!9_KsY-u4@cz9#IYFX?`PlM6qWZnM$*0Yci37`--<9H93&Dhd9PpLcQJ z`OL>t2W~HLR_Id}BJTTmqHllJZ_>v5l9smq-~^&RN}$!aW)q}!V+EIQHYVJ#FM*68 zKc>jZ&kZ42`L9(St{q)=ei*R1F48hFWdBLyANPkX-9R2YtFibt`JsiaP0`fCx1e%{ zFTG|a3VT8qGx bOg4SwYi&Gc;Kz&AO5HMB&xAmw68^e z;fzh8+yx6CYox^OI*MLIP;!91CqIIv{FlmU%0)D@DJo*y US@Ef3-Oo zpwTpXw%G>jpDH~SD)`3#SO^q-+&BM+66SZgGrltXNwZ3lbr*?_x2W~F9&o|o`}0)n zq+T_t;*kFFg1=C3an<`o!(&i{+Ldo)E~RAVY-IJ-Tg#aYFf=Le@Y3e~DlOCZ=Da7H zc1FW(-2eUs=(nN8Znx8k5Q5^-+1KfUwL3HCv{OZJh~<^%4#4w{k?4kXgg+vtgbS04 z|0jHnAG>8mZnWr|!yK~-`l1!@2gf;I@{&T>j`B?YvTQQV^Ta6us^~*^_>;KQ1o^l+ zw3U6cf)G`sIetr)Y2hTLCZs3KaC52Oc_`wWN%7`J1E$I8sM+L*?SfcIZ{r%Mqg=mD zNY49O#$B95;t&^ld1%Ma(x5*Rg4%rHPIr zZTc$ts#}&W9wHLKR%`R(+!{yjDoXydHK 9xC~I z-@DM@T(wX|?UTM|!Dz!LGMqP#>v|P!JPRXul_K*gP$A%Rh^eaHUt350gVni($t?KG z4OC`9x3P*Ms++!d1H6*6p a{f`3`YXixqvf zZ-4jdU?SmeXjb0d%2Ja?`IEB<>cIQx9)>8PS4JL(vMegopxVRDiKJP`f9bgt?8enk zx3rk4>BGi?tGmeE%l_faC|D1H6yYp9UM}0?GS>!%3}tT|zzPKY%8x&@)Sc3ZxQMzv z!cP{irVy9Q+`?y#WDXxAl15oX?nz?lEZ(QtQV)KwxWDn8oo@zLQ~Xli- 7nTaPZ)f1-2cWZE1#$!w9tm1Nrxt=Z9&%DRCol=;xQRYn_ha@ zA0yW_>zlMts%+n^>9A3E$~e3#b2A@XM3X+!DR-q7QEg=I0vD^D;&*}{>>VHOk`S3k zC2KgijI^dKC4S=CXa>EV(grp)sLvdw^52IoUq1&XAS!wMB*v$E^yJ9`fx7}~)#+@M z)pF0cjA?8OE6z;W4XXu?WYvyR*&ovLq?$ehQ$E eas>RHZX--UclTfcp?cuAd)M4a z)3HSvvac)!_ZLpq3uV;@0Z}s=4o))5Qik4WPQ|~Td(5i&)}-e66%QF!OWOF2EXA@M zdwoVa6Ikl3j=?qgrR9Iu0Tg#E(f^!(hejdU!hfW@g15?$2@)$dzO?j_omUzKm%{TY zr7$Om80myq(h4-A$Y3~mc%B{uW=v`Ot96f%oiBYCsj~-tna)0CV!Zk^DJ9Jnm*Q(9 zS5qyAk$o4Z>u^n?_n85a8Utd_xCp})aZM^)5?!)qUO;=Ua7Nk|XE{hmIgW2k7Z$3u zPFBS|cf1cC5WzOH8aGHoEe~ni`!E4ZWtArsW1bkEzQGLUujtiG67_L!x|EFVcMWcT zfzNtD&jZZxHpa4qoyRKw>C}-ddre;4pO~14@`94))D;-V26i+SO>FVQzCOvh8P)^a z@3+9ovlcUD?kpew^lj5o_t%kuN`xdQYO5`}yyNK*mF}6Fx9fzip9`{yJBcTZo;q2o z=AG^qGxAIAg9SVb%^RxezRMO_zXBS122D3girx39HKy$ORA(5Oyahy?EV~Hr`Bg`B zi+e@omu8Q)+xXb9{LOZo;x*LUSz?XpXr=rpgXByNYBB1%kLRIT8{pQe$h|Zdurj70 zol=IsEE-sHDICszpV$>rxig>A-!^Q+TB7~j%d5ZWnq4S8H05n@wvAXfu`MHmZDQ?) zhvzBP)8=RE%=_T)_2~T!%1gt|l20$uG2vu7F^EAJL!p`TDL)P4{sFB&Y<+{ZmGy*m zP-wTbp4R|&3TyL yOu+8yexy16watiVvifePXM}+}FiDL3b3vT5-=vH%Ri^kRjqK$s+3);lLAGcash_ zB8PiZF1azi{i0&$j4qupb0pgdm-KL4Q |AG flvMgP5k{@Cp!IKT=~Cup?=+gtbh048_rOk z{_7ArBmvju4s0GIe?O1C;3{EWj`*D~Ohvt?H-Y%~x&q0w3Sm#-SRt$mLV_yyg0bJT zx36ZEm$+&VAWS|kT_(hu|2D*`3pNiCN5OAxTz_%H|Nh|rIn-B$RPR^ro^dRjX23s} zi*~QJX;f{cAurjl%n}?^fFb*OBX#-!%RZ&v0<8JJ=!&pWZp*6a; z??bf{sZqc=3dic=@Tk}!npun%l0xZk=DK!Vz2 VLPUil%g4Ls(~^`h> dw2Ar6ISYJ@hZ;bAETkF|Qk{4Yw z5wtYQ`iB7C;LKIe2u+UNyH`y9!5$;E!vg^*RTxcwh7}mNrf4$V!h$Ni51xtV723_w zK9*>s`WShI)q4$0`D|OhY8~5lha<(`y=>e%cc6I&D83gJ2g1TDm=C;bt9VU$dlNEK zeSHI~3Wg!b%ajt$Ymi?wAo<-nq4X+})Dy8pW?R^*ABr0Ie&a$NTX%=m${Dna%=+Bb z4MM~!yeP)^Pdc{hnESD4)wVFi 1;7vixp81zTInq? zCEdX^1Q@-fxutVA$1tU_2bDiCoBoi?C4|nM$#JdIATlPSyKq>7twE381jmS&w%L$^ zgtQmmmMyZ+^)RGS-S&jsqL=5W#5=z>ZTbb3V8%5*O4ougO=xUEQ{@G~ zRLgE2DTe>r$DdQ;Ng?H8VY!vrjWfIKu%Ob@`G+_Rkm4vwsg4HlrZBeo1%8tLz^imW zVT) >-t-+hFHv?0ssz$l_rZ9A zUsFE`<@jFjQr`X0C%*fowh)6;=MGB@UK6n%{<^e;B5diB72kfLXXaiZCV9k9r?^Du z4Kg>^KR>gA`&47ObcCvaydmxCb4O7j^p)SPfGD8`VlP^F?q&;5y>?j&(8YMk>gc*V zT#~16o56_&;Ej856eGXp)2+bk)Kv8pxm9q$)fQ{|e#Lh;4LY%Kv3@<1yy<(^;e~0t zxyaISIER=Li}zR=o$l?b`4okxbyPl;VV(ICKcsy~b`EH2ob%wPOmsE$C-V9dd2@v| z4G+zgbk(3gBF4+YajiX1?*bHu6CO!pzpL1fV|^c0QVMGddzsNc;}`pzmNzPE^daSm zQBMS@#Omn2cM=awUSf?U-F7dy9qiIJRy2MCok{@yI#Lqb*Bzcw`uy>Ux9OonLGc+` zN{Mh4OM;PVLc?wW$IpF!I;uw>fwN&Bi=)!Wjn!tE&)J)#U1!rxI(2VxOjE@TYrp)( z6j~iK;P!)M_p-lF8o&vserb89Zt?!B?pox* Wc5x|{)_aXU7PW!C2b$S^OYab7RdBD{zpr4 z UELjjEkFx4hi3# 1bNKGY;Vkyeohk=l7oGewFmuso~U>kWAJNk`VV2!{q|d8mc_S5(cE z3qppTGhE(m<&hOWPUBK*b%C>nvg}qssK|}^A}LKKtUU4%m+F&v^4@N5lqFF~$&1!~ zuWN^h59HQ)1r z_e}DM_o!wsPKM5w7nQ^mvH8ef(c~Q-5m;kQk)tw*tDii+TvYcX=jEO7^+PEgNr}64 z`?ge}SO%)tuS1uwN2vMb1XPX?~Qs{~nBPXYMeg$jxH_=NOi@ zqkA{LKwU%4p^~Bva3ibpPx3pAF6!C@pX;{Jh0E)A?Vvw>^6Eh_ hSK-lh%^J--nfyv{JTm9ncb z et9uxy@w^?1jGr@Lr_Prb zH9p}xS@{&!5)#?R&iNe*U0gIqks&9q<#Oo;<<5~)Q(!iqUtr2Cv4A1_JRqQ>9OY|P z2ezL=INGHHRJ)Ua%T2unfGcXL+`uOW9*I~;Tgc(G+vR5}=;`Jmjw|;;{vb6ug^XI~ z`PFP!nQBFeHvwdOaH&l!k&<+EYm$X+F5@!jq>uw?J}nj76YEjYz$l321suDk`nNC) z0WSRmC`$ 3)5t^0h=oG zYc6TQ;+~ct=$^eLccxii$Ko1)_e`GWd=bYlGEQUkcj)oXAXrR76$ZZTznjilPH|wr z%U)J#c8;!YyJrZgBR}_MoY|$ ZzUH(gPrh# zxC@5{8J!bJ6Uz69LTu4stH&OrM9dK;x$8r+JfH3}YCOsnJG8~=5)mi72bjHm!d{GG z-Ff(=agFY{DPV)nTqdS}g>{4e71sSG!TsRy=gTpi?2@0|d8@8(FU{A0(*z4YzzGWm zyeRT-GqZos`$}|hrR&&?zdFX>CD9bd8Cnpp7o~?NO zcq=O&veZS|S`(S*cF1HaFnIPd6DxvCZW)<#>uW``zj#_u0VDM8tgT|;c zf=fKpWB&j62DhmOXtmt9F2o`>&;6P& -}wv#-Ok0^qkTBJe#- zEeBnxo?k33GUs0Dga1%_!2myd)qt%RO4bzDDOq2p9R(fy)N%UVvk;PE1V2}d)3N2O zkHNkd{rz~7RIJ;#z|(OHfGXf@&^MLi2y=<1Xx{?qgbXeC(?)V)$f3VZ8JLYGh1kTO z01%_8(-_~?io8L;N)=WtIy}Y5tm}GZTXG;hR2$llN0qlZ)iib4^x!Ccj@!975o_Ly zZWtQNF6jke2tPW)CSxzG9p~JORQ`aq2J9cPy!p8X0>U*q8m*NPC$E*dCKvH>anT4q zGCYyEx?HM3wg$2Fr7yAWHL2yS8^xvN6C?@FHPL@0G71BO;2WF=7R$m-*{w*U(J8c1 z+Scv9WXXI3Gwx>+|5e%&W8W@A>INaim7FAUL_OdKw7`5SDQit(I+Kt||Cu{LwzCEQ z=ZUx^VtjRp@9dd+wg&|imnO!Qoaun;EL`5>4&O7dM1~-~Ha#vZq&1^aU@BSt01lD` z>ZB`JQDZXjWW vu6D@EJU6Y`g1{n#IC)n@ZQE2U-4%E z+fu7xy~Ox06jM_|0&^)oAobkG%6)-T#64EChj-v!Vx=GrRAH{Gw)uVUg0f?6vq$sE z^z_nA-(x0NtcpDN;GUv_;$jXl?Qn5PM|qZJ3G874Yaa;3-~R#^hE)j8MxJvK5(igY z+TlH1(s)8i+tysoNv{K0`Rs-z#OWLgdv$-Dz42e1v>giTT3y6B4J3=N6CExzqp7SL zpAI7IN *q|!7HGz#)JSrSHveVNSJ@}FU zO(MEJr7vq 3X zz^u1Zilf7WvP`E=T%7~%(K{C0Ps4@h9`k?h%;0(ZG`@%MySV&m%!f{+t%-^$*dl}G z7!K0pc~=vs F$0}Mwuu@3d z#d#0PbAi%Fwf4%mq52OtK03c(v%W2kvYIc)S4h%J704=?i D4qd)2@puNL zVS4RYmIlo>O!H_&1=-R)$B%u_B_Q&sc!|RbE`k5d0)~IE1JyJKBfYUL(Qp^WuQXP_ zDjL0fpOix~e-P4`e)7&50_=ZO?b})oUAQK i_Yncgx#+p#I& zi5^*w&W#$=x+JiRie JDA+(u6u-k>Qu=GOIm)OJO?go}VuprriU|Bk zoj$lcRovF90)S8Y)!r;K!sb`AGp@$l@|;C5Vl5{s;Hqa!M!#9kcxZ@aT}DSfCeEmM z-Qct3iy~NUqTL%KR@Q?FukgU&d4N&w?1}kd?< h&Ge4 zcJ=&CfPaYXX&Mf9jnj#&_?E)zlBtmBaObGtQo~O2Hl)RI64mdtMPlJf-{JamV z2uMr0dFzDeYTI0n-v|1ZUv1Xtf3IF=2^hGp|HABlGy2LQ!z;tU1|M%@LjEl1VZz#e z#pE%oOr`HQpjUW!eyPrsjq^+E9G2c!kw-DcNL{L(so#v^Bc-GEW|tdn7p0qa+!y5i zGvG&ZU~r`1Wt+cZbuMcqf #<6q3l82@-KU_d_z5J<77?O7pO2cv_$0C{_rnuWg#8HF{=rd3fH@GYH|jX;;p{ z9{*vn?ajI)Xr-LsM+rqwW6NUB+3x*aNJY5Bk>abh-9hTWEBePdUbDUtM2q$8nP@2j zEgQnYN>d^h QeO#7x=$tVq zQyzTHV! xWD8xWp$)YtcSiEfKW*YUv<{28>DQ^iV~oz zP2Tv7W2bba#XGKPn-0W+M6QUv=1Y|jb)9GAuNrf@#(fw|l~PdWLG{LIF)*cH@}WVk z M!}T zgOQZW%Zgdx0gqRkh0q?Y6bGg`-{;7{m+SZpr=-k);fc?061_)2V=z>H4o-Gh@*w_p zlh_?V>%FTe0ujZ-)U7uJ#P+;U)<3W~c^qIy^S^S?KgjTXSd!I~UhmdGNSL^AJ*7O% zsj7|M=V!dzb0^7;oa=bVc>kjUFgZpgEvd`wg^wVB{|eaB>AD0Rm&D8&8144^m>3sD zAM)brG)H%XDlB(h!k;|sgl1S#0jpZF^0AD}R6bzWc4(y^2vyw{Rvw0 LRz?IHm- eRV`e>t-2PJ^nOe^>ceq>iNed z>>iR=&b>9H%hWIT>HobU!E5&0T;t{C%@`?};z|pQr`c%7wL-aP;RB+$uITPlDD9kF zD(8>6%i*njJF{JMey`ok!KkGkJ1fqHMe3SYVDo|v*J rvl^)3faHn1MUy1ZpmMrUt|K{?4L8OY7@%-G$0U6xYqk zIe{Z(^P1{!B_q!?k)0Rr+B%qxg!$R2e*N~C+4DEQhq~V#dFh6dlcRoX-tn!PO8kdi zNBM KwY#_YAoHCgtLQcAxj_ESg4jhTk8{T+Z*?Zq|y#^^RLcg}5+cd$2Nj7-%|% zPvpD@S)CN&Y#d?PSIhEo$HBNk8Vn92DzRBmy;1nR@l=rH3Znn?Yc2B}0Q=9~o6!@? z4jh`jMEjE1mccD`z<#Wq>pPu2Yp-EQQjJ(*PsydeFGp4;dy4kk{&1nGWNV5-Q}DuJ z-&4OK>g$tF5|%>4ve|qB6%{4FM2EKQ-sfl#9o6c|Qi~d7PcAMtTt)`uI&ZZ4{`TkM zcUW^hwyOKaievSdm7{T~-?%f%@RnrhS@lah=tkEM80k_v5fMtC0=l5+xW8|3D9k-3 zMCqIa?}~yf{kB zz5nA$$4T-&5XVLgre1ehkU;>jJ891fwt zEE|a8@Fpx(