From 399ee1af6f31c50e157f6e1d3b82dca516b5ccc9 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 17 Nov 2021 10:48:35 +0800 Subject: [PATCH] =?UTF-8?q?[feat]Java=E5=9F=BA=E7=A1=80=E7=9F=A5=E8=AF=86&?= =?UTF-8?q?=E9=9D=A2=E8=AF=95=E9=A2=98=E6=80=BB=E7=BB=93=E2=80=94=E2=80=94?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E8=AF=AD=E6=B3=95=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../编译型语言和解释型语言.drawio | 2 +- .../编译型语言和解释型语言.png | Bin 40440 -> 40929 bytes docs/java/basis/java基础知识总结.md | 125 +++++++++--------- 3 files changed, 63 insertions(+), 64 deletions(-) diff --git a/docs/java/basis/images/编译型语言和解释型语言.drawio b/docs/java/basis/images/编译型语言和解释型语言.drawio index cd273d4f..3866134e 100644 --- a/docs/java/basis/images/编译型语言和解释型语言.drawio +++ b/docs/java/basis/images/编译型语言和解释型语言.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/java/basis/images/编译型语言和解释型语言.png b/docs/java/basis/images/编译型语言和解释型语言.png index af483a7674add3241de206b25138237d91fb388e..9191e57e86d337bbb409102d9ca0f75e794cf1b3 100644 GIT binary patch literal 40929 zcmZ^KbBr%M(C*r{ZQHhYe{0)3Yn-)h+cwYIwr$(ieZMcc|J~c9nRI5JNuQ=k+srgV zNkI}G1_uTR2nb$UN=z9D2n6-NE(!(upCR$d%601I{kY(`=96U`NHq{;_uV>@Av2L+x_9{ zSyNNf@B8EL=gaTS*6;21@6XT9<@fK|-0#KG+wAo3-R|+`th1f1w^vg@lBD zACAAjz7MXyH_yI)pD*7R7k=;dUq61I?p}{>zwfV}ULM}Qt}Z`Tmw&I;@6I28uU1dD zFSjqgJ~r1s-aa2*e}1nwzCONoFTcNUZ_akEKGs&>o}DHw$8skwl{B{ey)ygfA0_B;NX5=Z-3w4e_mg| zAMW25=Jv0?-FC&4Si(ZX$Vf>gB_v;7UP?e&yP_{Yb_H;d5UKYuq05Zeoe zj*gCad3ZL~*IQd#)6>#Tj7@i|=^h^+73Af+y1FhdEge2D-%R*;)z{Y_cPO2no_1)e?(FQG^k~OK#~$qO=Xh7IuB=W^ zPus=yZOtF}`1l6+2Y93pH)Zq=+FGqnZ0F|W-poau^_y&$5q2BsjJP=F2h{bM8E;pR zT}}R7T3p&H!S>4;+bk})UrC36fT&ICEKG?=t6!Xr3=1ooDh_R27+kN2ZjG&&y}!Gg z=~*6cTj-cPTtB?;tsIZ=ahcn?9$GwoK4@(m+AZ(i%x_zL+$_BsA3N#pd_U?5aJ3n3 zn5oE)+bYF^`x;NTDi z{%zDnpBgpnbdE5K_|L<;=oB$*6L#eC^3s+gt1|$R%SUhT;oZBldkbMUWBZCN2Y2!? zam2WNVAiQ+pm&-JBkS6_sjNZ2PVsWlO7aljr0w&~qgVIjv~BqQdcfCJSFlIR>D$X& zPf&mn^9r_;*JyBa+8Wvgp^eor<6HcAS6BmIqAqy;+Kr1Z;TO~8`YuKiXD|Qfy zzprLEHNdzN8fFbOE!g!_a*iuj(ENWybeJ#BM3)wk{Q z+q`q#q3x1A!LV1q=Jk_aU?Jx_GjF{^Ap;% z4+GPoZT0=?*gM#sBdfdUk(cYs_xD9BXCqp5!(_rgFUpe}E^B7CTpn34|{{8mz_3=-j_Vx16w~k=7j^(Fk z$N39p9~*lmy5y%=RwU+KCWV<|X^G6|3>L#i|G*l*SemUKnt%PUpwO6ZKJ(lN1&YFX z`4uqmKy6Yg2g@D9WMQU73nAFQie6UZHr&S(fhaLQy!iDh<(T21!FuG&N=i)A7p6+sHyTBf)cITD5@7hc_RnnVe=gMqqm`%GrhlicnFF?Z*unUg9~EW z*fm#j;4vt7*+{2-`*bSRP=YaeTuX0GhN3!CqMTswj0*rpXwryUIS*kVa?~gb`v^&_ zjrJxTzz;3bzB^mnD;80gHvFK1b(H~6;lO7nib(Y~mi)xO;s)dK0@ENbBA*FV-B_8D z<|s0KC;_6jPsJSE8gr&H{4I^b1+fl9{qp4|2MHAZ2MN4KM|+Bv#C-;sDL;+El8wGD zlgP{oXGKK(n5tM}L4ks8k*a!f(umX-#-W{$nIN7HojfuLOeZ8pUb=uxUU9W#+`85T zP&`FaO2EyYO~A+v2+rNJ+bgd$LUp?+ixx!+YK$T6GLoO6q3=e)rV*L7{A&ej6gIZFLKgEOLZfXT;i?>kWCHl9yCADxdf>tEuOuYfoArpT%`JFEiox9 zii8IwVxY3-CJ9q+IOWpr2SY76GSg>WSBfN`6g}rshzxa2_LgxZlL@GA2MchfH$qIMkpC9y zqjJt7>u7O7$HY~G7EHnKvl7OHmgD0RADNWGaY}7Y00Pa5pTRI}d&|n1!E$V>%=mrf(WlmdVrN7TG&9LP062NnYfd?D#gOWD^o5onehINX*8{3!}nMa7vFZ7s-CMWrjaY)FEa-c4bT zCiTfY5AafGWaqO6f1YTwJ-V*6&PQW2e6^j78JxhxKwzn5A3(y4E2t=$cnV~eez?S{ z!sZg*WID=}T(yJB(=UOP^K{*amawhp-11}5&V``wi1!^2srF7R79e71i7h3Rj%DFx zr1;J~$g+Q{yi8_BMR@wNvw)4ar= z7gcI#LFDmc4_cc4C~ON|ghfC}-;EVBgzUDZZ{XxcFPFTG<5~-;TIG^ehLH}qc3J7q zlR={wk;Q6zC7OqRo55w?cwOsTc}#Hx-LE8!`bFyyR@t zk^Eg`*C?(4-%>9vBpO%|pb5=KY-1eHuQYcOm=MVEQfUZl{P;G#ML)PDon*HV4N$3D z7;0yk%GMHd-2pl9+XWw)mg^mvQ4R>jf16*)apKaZ5$C%JJdeC*onxr&N{vnMFRh## zZW4+#KdmmJvZsjQgoO&NN8kZuc?dKNKPXNIMG{@ zx5M~}E-E&pT&g{&?*R-D@^yHn)h%H<#z*8Cb)%&iryJ;NORs-DrkprG@fGk0mJ~>= zXykdk68lX2#5ZBLU zO7CVSnlxGcgpsVYC)2=st&0VM9N;O@fl2~bo7x@m^Qr|95c=pK7Ce8yl)cWclA}|; zw^dZ+?BR0F7Vj0065PgG&%##!WVlc2`_Va5qB*Wz)B|0NzDDi^S!Hxnea zNakkWZ3lq3ibXqmRZ8gGtf@(}RSX?ef|H2l*1~~%HT!N2X(H3c2Enm7#mwFAGk-rE zrg=@ZPqt#_Pe{}3RNw2prVLCz<%!jgb+fYlBHPecxtVAvfk@9sorQ25_$vi*6%nyP zeZUisNd*z;a$$imhelCCxQ|ic^8_J05t8K=w;PTzKIIqeQ@HdY@kpNr_BS2jDyzwI zW<2BPMl{6DivGRUZmG1sUF=zm&!V6c?UCB;cXO)MKclQNdTk}I*@JbP`C_SNUy-TMQT{aDVH$f_JYU58K@Iooc6#HpE{^dB znNn^LM4N*$pD;FTz;XJ4*amln^JU%pb9HLBqm!1AHF87m9J;>hydaIOW@qJ_QnVTe zEs%#^<0WI<&&wbj>B}dgFm#pY+!FE^wNDYd3aGJ|Mo3HrnH(P52CWRUF6<5_{OxY} z(jA@@GTw#;fso5#d{(VQZ7~2Zw*c`kXvdNHA_aUy{+tmInK_FeW|05zJrxvmr%yAU zRy9?r{L%DhJ5p3~;88l5D0!Z8Hc(q5I2l+*s8#62aQiVX*S9GcnN&TeU-k!~?rz@g zom8SMtAHIS6X?_g6x7&O-*&MuPO6AMM8F!=rS$3B@ptoRbr2)RC548uvD=Q8F{VBD zhO(rWXx3>4)Ck`u2*s1NrA6;Fvur_*As+^bbvhNp*+%1vi#wNB=0;|u?x}uj`|gcj zyC6TAS`xqZ7N0a#31Ta05p1Bte9Xw!k$)SPQtdzLg+Q3DDq_ z5YQu@C48E_%nb%pU>+0Bqj5Ep!)iuj_V=Ru+koM4;VkNyhYL57z`qJ$!s1-&Y|`{a zBnYv5Vch)Ztjl2a?`?cO5Kf7YE!m>J!V!V^ohpSM_hKqE1(#zc>m+wFdYz#;Wb|l5 zdF&Z-x{{an)X_rwM9|<6B=_dxQ13Wc_h``ffD#32jSNV{>{H&2D8xh{5HmDQbuLXp z&PO1rH)d>t(sO8jN8AZijb;vvOmOC86hZG=tL9O+nL9B_@AHflIt4Z%9i~tn^q4pR zsej}AKp%5C*QvFZ@UI;28(Wkzb1hTUEEZ?hi2m@ujv%)Ql|maEXQlxxXH^>sN0ATa z(Nf}6ihAvgoa0;jp5EAO4`^rna3m@4R#XK1LL}wx_ArSH)Sth`W{FcQ3QsJ*k=H!W z_C}M;H*D6}M~oUYT-4)g(R}^$`OvNP>A$lgW;*mbV#v4PH*%@Fao>k=Yynl>qDK#x zbKCK0879SmZGjZ6?XLGo16|ft4tawREsQ@eB>^CnNGhyS4X`M<85pN+Zet0dI;)wA zR*#uPtFGdFvK4*~fp;mPJL#Dz~4 zmslu@!CPJ(eUL8l8_g+YMY%Xo+YD{23YZsQ>v&nK5@}&XhRdfGzfJv&^z z&{m>{in_TfxP0mvrWYo#il%w*6EJoM)BN43jTLEWcsf|H3+f^3vfa<+GilU{`Hb|? z2_2x<(MbPfK)@?CgxPm_`;f~`IsM4N)U%erD79`tHTl5gc{7zJ>h+q{Az&y*{@lxK ztgKOjqXJ>JtL~^I#-1ZVYsZ=&=3>m7^BcFnst$)l)TDSl%SlnOp@OMPrh|aGEd&!> z+y^#RKP~O@rzmc932Bu9<$4jHHO%zum}_C0F~U86MtBzKs?wJ;Hq6w|T<4C+4wBz5 zQxlLOyY$Gsb8{I0N9to`yJC>S&4z!4amiHa(n|0;c7 ztCWeg<@s&XIfIm{mn&dv$YUXD)l+50QN6osvux$&+(;uqvsS(u@v#7$yaGBDcIm)XyWM@EjCl zO&JKF|LpkuaA=mlOrHod$iwzF=2FLgLWvR7+#$h#E7!8xH`@(X(_lNZN08f4t9Y|? zPdCDA7p<{jq~(LSn5it$sP&Cy51(U?4RC=%i2|W^s^gP;$w(|a?4bE6MmEsI_aM;yBd}Q;rO~kKa8XS?&Bzh4IvXt| z3@BKh(TSjqN#dK(>kS!C`1NY!q^*Dq3I#B^5BC*DA#}X?uW-xW6qP_;ImrAx6#W}N z$l_GQdgCB6G;BVlLU8 z#Hv^CkMS1{f=asB?YNu=kxv-BwapE@7N+uieZV=n8!p1D2@gU3pE|jkT${g)!uz!A z%*1X_^Tryq6WG+I@KOf;4j|i;nzMl2V1IM(8K;vKyyl;JG|FgjNy{a4VJbT5E?w9S zz}9GTizx@vB!Mn7MGZU%xxV-x&T_f-=)N1MXxkr6alw6YTwV_{`>@Im-P{FK1MiU^ z_33*TrS6Hz!Gk_G!EVAUqv^D(gXXW~r|Bt!Ho2OF%JV|UxHW3u#K4UVgMH-9#`M!0 z%-n6vpt$q6;qk5|*$LA z%~=@m1!hB--!UvHZ>!6i=e|6fwOb~qg3G&GPui@|AKVD6A7o|zftEGI{`7;P@qBy| z5vAUi=OgWN0DD}tyMhYNN_CzT*ZWCXtoN`=_>F^_(6G?f`(BYIxFyK<_vP#7XFqA; z`*OKTV^?4=ZWr9>{wodfTKns;GtaZv%Wc-3e@pO_*+on<+3~q8&hHZYCiP`k@R#am z_VIM~_SdCO@JF`my}Pu<%+VY6;z2UwEyx)uV`+d`QQR8};ZegQ*b|FI+*0-6b}EN> zX-H0vj9A|IJeiF+&{KLdElU8+`zq-VAq?q$WpRFN>@}2VtpqdngMiI-k<|t-TO4NWCA=3j z_oMu0>;o!cpt_?3^y8Rkg_xu6k}vTpFICS@8_&H*8T&K=Tqx$Hmfts@u(LGTNybu@ zt}0DRNl8@e!;R*74uJBSRoh8Z}n>#7uP`^1zgBBIqodv5x zPf6}JdboD?D1D>i+{P@|CTX!m4zKwWy!Y%LJ}pJfrZN1_Glp5uAMfbNg-K_6bJ`IU z8uIDsT+t;oza?99Vz(XJlk@`kc;CAF{xj>SnZf&B!IXtgPpZrqQ0#?!$-}gMNjn5p zRzCzLrAER5GqlQ@w!7nxXxuw)q1lioUa)tV*B;s9oT)d`Zvg%jnUsB4anV*=2#Vnj z@Bi@sSDSL9#r`3VS?83vV9Ir5ef7tk&0f$ZR%l3~4$q6dq^@Ea>+=hqJt$YTMZcN| zkJ1Y*ZieHVzJ=XvXM5baxcUAL%U{A8uIHU<+Z?s)JLqF0 zT^t(8v(FQTn!}Gj_%7JzA^~n+ogS>fm^xxslZ}6*&S1yi(mg%cvl;pXZN^M0mlH?J z-^t`JuLI!#r$*B87m_}ByJqy*Tsbn;14;5tb7 zV!k=mU!zuO9@Gw9L@UoKeh&?=13^+n1?J2ci!&*!MjwGu7hW{*zPxfHB>B(+{c&<{ zrRh`Pm#f+mh&~L!C28fdOCP4ScrixA)i5RaD~l@lAt{tq zo3OxK`sh+?8w|KfO544RdNJYW$w>7X|5PaM}`sZa)oOVsYMua#XT3$6Gfut z&=r0m{v$y7xvKP8f&5m}CZ*f=`b_#pfW)g`xja0YHG6SunoNy!pwyBaUD(c8wC<*8gX)>e@@*ej6%A#TrgCrBUQ1dKulJ-9DPsP}Jjuo1L1-~5X~3q4O}gdDb=>?0o%SD6lx ze|>tv>ut)G4wU$vkCp^tS;OoQQETQ~oQ!UI740`h1&S zN=M~FJpq9I)%};ncT&Y!=Lw!nw@gcQY*!PB?dUV<>wmV7ocZa%^0uV~hZCP##QMUr z%OFp*dZ+T|bx*Qag+F`NaC*avTwP*Am4aV2Lp+iX$pnyD zM-#I{n~nIOYV`2IsLc~my2upx?1$;7E8jiO6fblH^w*gsgBt2TfmvZku7=_mL+8z& zY7A?1dSC6|JhBfycQR+|K}61wensCd@TEQUtHZPez>7-0%Ksg;^rHH7;!5}f29s7Z zX@+HOF~@gtT+H`_w9%m-8f2iI31yl+z(XfXHby?bpBNk=eOf-Wx0G&femg?(^Ft~u zx@AAo*)Nf~d(I$?MI?O&V~L>zXo%DeDHjyv+K(*!YuLI~yfTQdp+RJge+q9s^@834 zDR;0`Ye|mIprIb0c|xEZMZa5oazoUTg06wgqP>kx_lQAP(jU|jUei^!Q;BJw_w)4K zN9yqv`GAL$q}KdzWZ9suRK!39(Oax?75tICtfTiQIUd}kM+~>g2DD6oiHIEEo8ph#bhDX&N1Te9oPBg zpnA!@vB2iFeEsb6A1HM5a00!|lQowd(iUO>uaauIWI?I%2Q&MLW5iI^W{D0(+=%4T ziM?`Cxb{`%#sM3Iao(FjHyzqil8#a_N=M|YnHE)CA=<7IDkI-_`DZNv%w4}gn#eRO zYbv~qUp3I4JVgld8BYYw%ht>D-KU_nFT6h@3P=$$u$3oNcL*3D*71kgi(}1zVw} zFcbPG*D*p@AuFgqi+xsDgHT&4*;3Qx@5v(8>@T(rh@6FAJTyscOO#LU;x9#u z)rqZfJwrCI0XmgWev(UFU7oT9E0Wgi3iP#4jLeYFuGG(}3q!DiU77DaBi`RLGNXNP zBoPw1)~AshOa6AL9ms@6a0vMe&8QJLV^|<<;D;u<_X8-l9_-h)>yTN=ZX#JyyXiUl z!}eanzQ%@)FP;dE;$x-C7Di(YZvXr{fK8_1sWd&5!{B;c344P171K9Jq;Tq>bAqxs zL+_TNDc>#>USe}{%4FJ-f>wXY>2I+`xBgE2nY1AK6ha8Q&WTbZ6qs7J2oORZpsJdR zF3(8FRM?v32*-gbb0}};Hvk;^pj2)Eg}5W9qFaaRKR_9yA&{~|Dh8SKA*MaoRRBQz z2?>-odTf)?^#9egc)lD%PW;GOKDqG45MJlo3y}(>O3}&2LMu4>J)LLAS^?#xWBC~k z4`Fuhei}%8iS#-ZdZKJu2YLj!4 zyPXh8$WMA&QrTT(v2|jNu#n&A1LQwe2Duky9DC6GZYh?Z+JNq!&ndx{Ca#8YfC!AylJ3|Gei;Srx@WBPV z(3I}^h;E<8R^$B%X*^msg4>H2l&uvGH}L)Os0oO(C#tS z&IY@tKUM@b2r(~;M2IZq8hg86HZDhB>3zx-IUJdptd-D#TGW#YzfG1jg;xV^usH!} zakPKmcc9gBXkYd7Yb!~`jvFDIT|*u`UG$D;#^Aa6G@FY+IEW=mS8!M)->EO8K5OFN z_T3oV*;VTd{3_b_{Ur=&y^4;$ZIR@7C!POsCzEc85-1kT1#elq@8YCwZnq(TGO%za zM_f7~HAE9|cj_jJqPG{Zq7xe=-nxQ)|KSx?bwLhvyIf<@|8suY<6mgeE%59NE>({zS)}c zmWa9fKI7thRzl5Ck3~4WTGol)c=q{_YlNPI_RoYkSzIq8Z*bL{8{LMk;tSSXU>L|GsD#uaSU?rwBhT61s=Os7$>+v#{rfT(RZQ#`};KFrkmJvAmK9Pa$X;K}H7pM+74vRhc zsAT(1^A6G)!5%X2t44eX!}-5%0Zlgcg7 zpoW_?t$kg9RTP{%WnAVOi?ROUcxIalu)!;OS%AMxr~@npztCG7mC;PXuX7r3E0xbv zET4^(gaenikKBNM&;)Bg$}Syb3mmE42iL2xQe!AIMogv|NQ&*0VTqpa-p0!h(87W7EdF->tJa=6{OpU3Ke*wmvDn0FFSA;~~Hl4~&vvq6pY34Y{Y zoMF_((Q;Quzj0M~Gt)a^3XU(Y^I*82Hdx~2&84q1r(mOB&ph8&cbLg^hSQ6Oo@#iE zb49xk@xw>s7rf5S&d+>bp;URr3s>F0^lQ_JTNu>5!W;mmMl=N&*3^(WBkh+Gd|_!- zJ&Z83T6XGNk`6TFYJ_iL)su%Dr_p+u`kwi)>zAFuu%brQGZ`TWGixE#;zjPAziN0ZqE()d1{^2$T%}+JL^hnNXjyaj^ms9>=}E4&7qF0>zf|^I+bEA zejr<=U|X+pa8e$nqHm(5bRA>_G3b_JWPS-dXLwG-q#PQQFlY`XmJ>t))%l@smQhr-#t7ADx?6gXF3K;f z(#O@V$iOj*b7@x_U#a4%BNQFk#x+|vWpxfkhgC}F!>X!7bT2fsm{cZWjn?Cw#;qTB zarN_5Z#vz^2m~e|lH>)x6mBOq^1atJH=S{Ncf%h#JAr?s+0Uu!F&emfO>)$wiGI zUE;}-7rAD5R~E5r2^>ID!i_ca-@uoMF}}SpQn-0PYgW_bFr-ZJ0(0{L*}wbN*}U~5jbJ}Oq11a3H#&9N7z#A| z0hJ}ib2HVZ_Kv;%COy;s;rQMpQ~&Jq9+^p9EA!q!Er~esk7aebz2VmtdoWpzdDt0s zx!#UtCUL9kXv6-a(krjNuM2b==$mnZ2eTek#X*4@v-{~|=N6ki5S(XLXryQjaT5I# zCsF#NL&r(Eft5NaIy4Gz8}G z*iH58+S0e~#jnEK!}1g1!F#$r`slB04TZ>MV7w2i?Kv(31*INDBZXf5&D)wNi_4Rs zaKd$o$)V<0k^H;5`d3mCcen#dbXnr%1uTGDg@Lgw9UrZ5^)8!?61{zXOQ1N)*5|w0 zxHwKvM~`<*$oa-~vPdpO9GcuTTixeiAuG=yKXrmel6=Hi;AQ_}bS$QQxdpO7^Iv9` z%2WMkiQW7@>}DGTC2K7KHjbt?fl@iLEgI`r)Ri?^f@7N#EpMJ1R0~eGvq1whPse1r zJR0X&PSxVUi`d%q)Kgm8Y$VqLut-cqZb$f(`;L_vZ}j$aFSzU%bj$c-d8bV-iN7?D z40Wx6Hdlb_!zhUtnIk9CQ*s5KY3ah02PtG?W09VSJZ>YL_+FzDF)*2BtCq}ha4uaF zr#vSHNYLEVQT>^$C7l4eH-9*s<~E#p;$L$P(VNr~jR22VoXbZ#O*ek%5S+ytw7Z#55y0#@rkil+`m0TWoROqE`inw@3m? zwPPg0yhXu>c%;M6{|M$m`1~WszXjM&L+oFQGr5Js$dIL+ZSy^qZA(NUY4L_+<(XST zBJ?f6j2HQ?Kz^|S8}1#V1mBJzQO^&B$g0)W!-XcTKDw^~feP+sfhG7d8w7u1OHs)5 zyd5VaLeg7S`yT}BTn>*&JFsWG65t7mqK3<8B-InGSGm1Z*r@{^4X^^Y!Gnb<*fIj8 z=GAr@*!+Y6x!d)l+we5jm(<7joPvDXrZ}|{9!9UInjx7J0a|cgXw9Ov6h)bY^Mkde zu~B>1Y8z+q358hW@Rrtc8vPDDnJ0~zFlNp?j@3|iRx&NX(+y@H=f}c-9L9}4LvW`0 zk7D8pix9dnD0&5g8Yn_xKicwuPAt<|pfA^t-OZ0WpCdFV8k4&yJYL&}#WT!d?~_pS8nGm-*x!JtDOg#d-%BWx zVIq;^wof8pOph~^{(EA`laorBVNp;dvVv$Rj8ps!%#n?GFEfFe%R_={LQE~2Paa!0 zhMH7EART#%6ITbRt!5GiUoe>KOD?+9CpN^N7(3zNvnkzre8s?D8d*v1M7W}9ie>MU zr3Zm-s-(0F^GDzCV>T^gC4re0B$JJ{Cu%7j=)!xy{k{m@ymu3<;VOP*sNXOu)+a~A`^SP0k*3ZCp0fL(|cW1ZV7`D%#6JSip5^!F{EXaki;V-y>OX5az zO%zFGIG{xX!h;!58o#+X_3CH%HnsZy?2~lx0hd&Cjy~or(T&m0DhyNj`n*n(OwzEe z*jI2%=&eyt4NsYWfzJY4Ynr9DJGemDI*@>-a~<(DKH2asgHZRH7bwXxTaIkn)gATA z{c+GNRjKzNqBu>PFnTP_|E)1={8y_bn?I6HCd_?4AYaXWUfqbwera?+aCz%|>qWAY z&gM38rJFFwOgEhqS&3)`d>piU}uOsu`*VDSNU>WEWB#l+hQtZ-Yn#0pGAnww}wZy?c ze8R(^8hmOnDqO&H31#W69Q2riWvyWm_jb;v8u&_iO%A=~Y6!Xihq$Wf6o}wwqDmwS!;gl)$Ai4Af__!&)N61MT8ruc^1M1p&yfH!3AP@nc}3hP zV&07$L%@xjNUyZAn~WjvfhId@h9P$y5cnS>t!R@c9(Nc~?mMefTFHs~8Dxjy-95sH zB0RJf$O=^AzcjK~XIF2ZmpR6xmu**>6d|EH{8QVmjSpDkT*1hzFEXk4^8UA2CdNE( ztn$X(ko$oLPmI1duS*K=HHlLN_G-tSje|pW^@4^4SBJTa88q?7xATNDk^Led~=3s*bt{H@OCw$a$D&ArT%9)9+U6bycv?yW-yoYf> zZp(TrAKXqIYlqleCS&VTt>v)xaqiZnJTv%7dzpg4{*{$)u#e4b2U5#Yb>jMBbQNJ+S=Qu*Tf5FAqDo zQuW=6*9a|QBX{=l_|w08RsFWuej^E0m_lTG$?V#dv`r4uVy#b0j_QfQiyuj>Uopjy z9v00_WPb12U+w14L2`7NH%K*=hlXur$&J!BqMIb<-1%Ep!gXlB%a<-(VJXmqsy>#f z&|t_Xl2-O)aUQt%>NN0eU4>ahw0$#R1Qx>zcO7so&~p!<+~zX|Ym9Y+Hw`F|tLjC1 zN2A+MLrEG*O8jMu`NkcXo1Y&XHyT|j-Lvyc2>@w1C$mz5gs^(M1VbM)W!XN=Zm1?$ zc0YVronzNV_`>Oj6Ar6#uneE;!M4)xLu5jH zd{-I>BK+BpAsUrVe?ru=q4AgPzN^Q43TL7eDzut}93YT6fc$0GHVo>W2EW;aFu#Xb z8Dbq;p(+?Jsy#4x3e!mYTnt<=fyz zp>WMcP2IHaxVhREF(nRl?OEAPd#&XL(y>T9S=UId0Yr z+r21qunK0yp#TYO7J5Wav3Zir{1aBBM*2`@tCPuy75V7LV`r(ICg`6XnAzo{IZ@5W z>HZf8FW(br>fG{EUV((28zWnn2mWE(&vV)47D6EeWh7Mh}3Q4u&l1| zVQUPYfDBtA%7|JLkR&kGTv8Wq7*r~Y(qYpJQisT8UR&V-I<+O6J~Fgo@hIrBO3Fd{ zi4)O{X|e;;!+1`Om$4nHs=u?1CR8@?TLI6Y5u?&oPtk%cM3Rh3V;t8`U!vX-vM3lt z*_%?mM#EOdKKcF4O~L(IqE-jPv0P%b$n&|JLxEtMR{osPM@p$fTFrY9hoM+Uvdqx$ zsj0f_}C)&O7%X$EKw@V!M*~bBR`) z0psRj$OsAbayeClEH2qC^|Ug~#k@ z(FKV+n{qvp0anux6e>lo=F9~P6BR6iQe4Kv4eh>vfoNHb758aZdiYd8yWnr~ z=UTRdj54~aF*p5_VNP|D3OtO|JCjM)x<_BAOYcv8JT?t{`2}}O0dz)_o3*lDFOESi z19i;k(Re_WGa|V-NjovVs6syTc7r%CXtLA!RZGCp<)dOC1c8TH7X4kpW&#vJeH>C4 z7sjrtDU@lgGnlkjf>gCe6y}x`r30(q6Spn8;&&6V6R@aU-p@-Y7G73W2 z!{DADr>a;i)`$+?v7&X`qt{rrpA{WZ@?W2Xb&ANIHGTNulv=&g!&(|s zf68SjSB3(>B@o?rNVSIkFbv!#ylJf%DSAvJ4h$-A<;Pa5up(n+0T?p54|pr3@W(cq z;B2a6OKq`AacjA&K))Jh+}Wh$JvXS_RPqR8-Jgcs|3S>nX~3nI4)5jk=ZG}{+sVc0 zm?wCCoFWA9(^nM&657zj|1yV$obq=eb2u|chyyf6Yi5>o$JugvdTD&T6Gfed1I#cL*n0$qcfskRCOZi0sr2xLk&6zw-`W0bjL z?L;Dwl7yiU(lw{2JIL2Hh6U3|9Y?0PDzu;kEYH)wv7_isPb;6p2RF*0QI~^q zq^Y~m6d3lhnGk3ktesmjZXu}5^T$cjTCh?zS7ocCgyTLxpATPs1g}(2f8X!qMwGH` zMo|@)6TV9dRDeUqigJLlc`3K`w{93F(c+_N2t>kolXy0ehwujI8F_K|X7K$XHYDj} zHKJwp8cU}ZnNmxd-?;wnGWA%#D>uv_lekeTfa)6#s@l${%e-${yU^-_B zN#=99a3s`IdW7+OiHBCVv0q*XSye{wW?IlS7ZXs#I;v9w@7I33*16zj7KVT5nSuuw z)u5>*g5;HE3>gWE^)eA|=1vEU0`N1n@DB%n%7q6ttR-VaR6O;uJ-EGR9N0y-YDd)z z>0A@bW?u(n=uAtpN)SlTn2U|nmew+B6Eun5zw`;Ob8XqrEbxWyrwRv9kHFOziUG2z z?$q)%Sb}R}TO{~dHNyCmlgt9d8`6<9)?#o`KOAnCTm62XTPj9d$tzkYl4~=X93C09O&6n-c*e$={d!Pd=_PtkZDF{D6!f3MJ$n%UKs6`{37MX=J&3Qni_UK)<3gvQg zzhDh4a?fB$xvn#&OGH2D$&1kDiSMl^%eUZ6nAnB&<{t(K3i5Sr27P@WGNxhF4|lsK zLQhcI)w1sNuzGEWs|*u85bkb?8K`hILhb%t>VO_GgCMO?-A06VfHlPyw`$V4Yq$lr zE#cs870^M_Uod7+kg6ojGNW`UN!lGBL8(dWALZK2IY_7M+&=-593wz*yj?1Yy11R} z9U`FBm-0V%68~J%;(An93IB3RioB|@Zp79Al7?s}3Z3x6YWTv~k~(|OebxU;>!$Uv zGL=8bs}E90W?`KUr(=~9T`QU*=Jm<=#Dg?aL?LK?!pq{gjywVtJ-udtih~gKmTwGm z2QY4Ep{4T6?eV8$rU@aOBq#0J;qBzrm$j)GP+GIiykVGlCDBL?703K{xBtAT`nb5P zv@}dv+>n0YFO4BiF)WEGLeuwOJj9k~4i+f!C}*MXjiM^Bu5ojet(4H64_zOq;*KU= zmJl!M_+8F2F6DIN)M#_V5bxf$U(Qm*B%GcSkcroi;7&<2@IYVYP&YGD3mYvD@Hf6z z*|?XmdFDcYN5Ha|&(GufE$$>bm;+4XIU%JihA3RhIayof`pyYzc`&z$oiAqWQc^Mg za@|K>xXnWYT$N%J+NOJROLJhFYqdwsvWh-*o|n6g03uzQ>pYq^D(f9rCnp@w()P_W zidk_(OVu#MB+I-}!7`V0Gt>D&X(GNVh#~JG70__6)V-9s#!JZL8B6y8W8f;E!`7?- zJA1(b&?qb?y3$%?PXR@JMP#JRH6^a2sx%G(@2@9KAW99m{)vZmjQ8y&G$=*s`A zgWEB$lP&tjgeS-H=3D`p=1>f$P~+ot_b^w+Hp&%;92w(!Juuv&z$L z$DZ>N-n#y;P>y#6CnGz>sL;*MC+em6>^p-?mpuI*8jTNocQ5)Y!p^`)Gd zL%sKwMFlSt)(h#L_QIW6eK!8x-AxtUV#Q5KhTQVF0`--pZm%ewuf#phO)ECHi?A5; z?&b2R@9(P-CLNVU-4A;QPdjr==z8pawQkFs?ouxo4UMWC&(^Je>lB`(s@x-(DBIKx z`&+jTfP06^;$mH;;_C`WPgA@6s_AlHrTYDnVy<>do+=~6Y2iCJ{P2a@=UZjw&fm{Z zC@STmhCn8Qon>0ZrA>OCg2m5^rl>tX9`2@O4^J;IH{V#$zy*6Y1T_=Si{@@wRx=xC z*_h`PiOVI6Z+>4=>*k)0HVyuQ&`V^^|GvmorCC?&f41Nh$oMsfDdm>8URN&j3NYbp zS%(+M`ZyOkeq(LAINdjUdbx#S)D`^U+1dd($4GeSAX8OsEUJ)t;cQ%_+}!3=gf1SA zd|hT_%**N4)LzYliD=WP=jvQG;}n2rg!+)%;qU5lEo<~ zrln$FT9{j)jvoyTJ@M9ja^f%b+$r|56)U2SV;ORA=g;bS(MxDj+_Fgj*0q=zEv2JI z<2VNbOs=umS7QHvA|16F-#M_wM4{e|ZVDRX1Pr!lB-`+Ru{NXS4Q|mm{|^y_N?)G* z_@7Bq`42idi@&nzk|u95OY+@%h|n7lN72YeK?qX`F`JMLvXrL9|JX>lL?BmR`=)sz zia2IAmJ2N~`6If7ECwFMfdq;;Mm9pMzkK3rp;OEEM4>K?@L^8GrpRuQDdkK<&4uSv z_m1$(nXC_M^ngVb%?RL_*msAH2U)OM8den2lra}jt*6Hd>adHk|5MZ^qjJM>(H*ND z0WCyttl3x;@XZgdR6uLqJTJ9|W}v zq=+MTqhbt%4u4uS6bhtt>@Wy`Yj7P26njfM+OG_)1S>P(xd#X7Ok$p3;ld~KI4))> z0!9Q+YPd9_(Frs#rkjrC#-oHWkU%3lQyx>}#!V#2q9|!WW674U8=#vDz;#xLKP4g- z6Ic?1uh?g@HmTJUHskQl@|K0;jW*5%;M!a-aAbrl5NrkQ7?NIhL~s1F!X$zf(dFZ# zkCYC2NU@Wxfpf|M;IdxJ#E;M4u-9U@)=%!8Yq-MmR3iQn`XUS<;Y!iBwy3$?P|dW&(g`B?U~2|C?x>o7o-vs9T@>U`zm` zv=&XeCD{WKPCSWRJR8~rY4Y4tjoMx9l zc0lrPdtSr2ulSu{DJ}w}KD(e+|FO&013D6sk`0GZb+R742u0R%&kr0SL9L8&kg!W` zd8AbrenVM>n;bGDS;V!|g=#Fo2#k0cWW{blUS_zhEO0-+lha?LP!-ANDw_LMC+Nf? za!NH2Srpkbs)r{73Y5NZ$+1b znP+k{7jAfB2^Y_M>W-ohwYOXNbOS{&&_~NG48XhgXJY}bVO&sn^Apo!wv!j|oW@H2 z!Q9Mv74JuYCvI=tAP};thyp1bxh%Kp51zbX;{WmHOMWHV-XRy6_*wLO1D8ri4LT92 zu)*%q@9l5?AZIxE-w;akB4;CTt-fi3;iAAOCqqPLdLlDVH(u-s6bS!=0ga|-X~xzI zuG{`UguQdDC|&R+dTiVFJ@!4eZQHhO+qP}nwr$&-`_0SmF!mvyOZ6O z&RT0D;gCW;oFQ@NSeN z_9W=F$y;;K&;B(d6($@TN?j8Caewf7}3^yHzf)_6c{Ws=ZBS)m1{WR-T$)2 z&(A29&-9^*Fn>Zfq3B)hZ~IV`*#4J$%&hd!W9{<}I;}%PmG3xcyZnDx0vpE#TP`<~ zrpJsXw{N=t)r3KLU8GD+Aqe=*M#A`1Lr*we7TxBOznFdm_?9ver3%os7g9Y3P4!3_ z#azgGv7vv4V9lM8bEk|~3E>Xi9W=>((M9Y8PQCujjoI8b_A0tt=G>tp%GBnv9vK1mu2&?9y6%Wr zJW1HZl?WVn)G0d@ax`ZdN(9FPnJ?8G7cRT0j^B2pC58vPeeBKnu{oQD*i_6v6 z*4&Z8!`RE-c5&MlcEiL%pWfZ`Co`v;XdQML4qsLk?AvN*j_<<6bt8BCp0nwcNgvyX zIF&0r0qi~S&(8U??^2Q-Vclzy*P8~CoV5IBS53`Mx?C#&QX4okn3`H1ZJlkLT`k$p z?Rh;nJ9?ZL@Isqb&TN_5T3h;`-`X3w)MruScZHbFn`(N_ z3+~4<94bG(rpm_C!oR~;L3hrps(JPx=DNU)FsCBFMmM&6Xi6tTM>VUx#ftpJ)o)e` zQa)T07Aw7JK&oWEm$+PZD|C0oTkgt$3$=WX9hZl|H*~-M>?9p6{zR1w@(_W%p_pe4 zBj3~ugk>CKj6vW>30m*VU6L>C`5bl!T+$gk;wYSOp|u1~%DN1QC;x%0P@0 zpGL3|)OF$zvbGt8$!a}e7UD11s!j$5Iu63FxZv+O#q-JtuQhZl&qehddQbFm#P$Pw z&$gSPjzalXn4U==6Z%vjiAde*SD;$kP$DsrcR@v=uL3&z3h{up#Q$7ev1?Gx_$Nt` z1iJzf@BAJNk?^K5r525k0TqVw?jo?@q~qo~Hxlm$L!8*`kKdexhQApF0}`0L{$I|* z<3|m$@bTR6>#!;#PA}+rF|=$s=(D_*DP8S9<;V3P{PnOtJwK_(2mY07pSz``J0iQ? zBEb?_YaTrx5_>*Qiap!QI8kDc?dWyX{u=irBUty0(vH~#wjR&ae^L&Ik_EDc3d%;X zi(sU+#oW~!`MJ#P0L%MXlv19*h$y3v_Kl2hsL%V4KduZHM6L4Ltx5BdHYG+H1SQ5? z`iw+f7$b`H3T%;&Apf)jn?tmjVf>*PGq+|$pS0=RWJsMsqF|I4@~;OGzdv~D-x*E( z=1q)Yo2U6=XH71=RS`Ed{8&!~S0qd0kp%{^5Uf~4l`t>h)2L`jDq@2);|9&qyD7a~ zuTm0sPZr@4MoR>h6-W$Qa$W$(mnq2PMHF19l;Urm+6X!@8>bGABJMYJ&O62}Hd^Gc zOax$Wn4eiofd(YpGi=Y2F4-qxLVy*OL^xuPa3UpO#k3*lu$GfTL!Mf;i#up|Kl=Kj z(@n8^V~m2EE!dr$pT<<(ru++@0`=S^$23i~MJ(`d^0_RN!V(C0fcXBnOHy>oES4k) z@lJ^X!X$8v$?f89cu~W|@DJjgAmuaLV{DnK+lS{JH#JPNB>aFm2uKCQ5lwh~$Pd(Y zn~d(^F#qZj$E{NZ3ouw8LTvyy^Cv|14#1Efu#0Cij;A0bHldFWyFWH-c)MI}etk-< z3;*Wo@R#1dJfxk4tfDCXv(7&49b-OSg^qv_24M`Z3|>@7RICgY54+L3B_K|89*17T z=z(jWxD~_|GL!EhO9*Pty1f6-%;LUXv;v{($`3PS4bF=CWFN6$KfxNq+6A1;0VEa@ zg$t34IoOXb+=#|sGKr#H2+U+Jc@*Yk;bp6f*L^6M+nqG1SGKV^9DW`KEY&OH)0riK zad8@9u|i@)t{R45yn69GVh=QXg4&4m zdCx(6$9_Swz|GETDS@-#`Y6c=fQJ69qWIX=O*R17cCG}(KtN`)HJp;jWxCUd=CAxp zfETsMC1*{VW-?AewAz8r6TYi;?I77p=JS`SG%pVLAbg)vb?X?V5(-w3`Ou=~(*h$Q zhB+W1l5?o&aEL@rzk&`w_?l z9m=o)?Mf?P7b-GS!J*zoW7o-v`3>@%O_U~#2PRmB!X%m`H6b!7H7BIYFojJBDflX$ zLiD4|xjp(Tvy}m_cei;GLQJSCFCiqW`ZV2VUlKj-B}kP7Vf(aHEWk`B6MbTu3-5d+{WqYT3t{to!_1GqJzp)d#1Jtlz zP{HxB0+?d1A34ofo-C>11vV#IzqY_N76lPx2%!a_J6twZtyzD?5ucc`_55`9>qcy6 z+xPTW1bg(&8(NZBJV8=8gn+iLa=s6uNI@X1*9O~xLhu9Wat2~8->nLO*ATF=LS1AE zc} z(y*UFUgSDjGQs``P8|4tP$~{wu#$>HIM?LQLA+{f{5z6%wr@0V0lQvwM=dnPUpc!9 z?HLRrlhPVVi5LB0d8=dfcG5k-4EY3LnfM?{jXG<^bMroK38F;YGN>y+(vcWRp}2XF?UVPURGcmj zd*+1fg(I_{u}aT}$It1d@cB1ltQeMYSyciIrQnMoAH`SiB$VLJp**AxAL!^S0d?CN zfzk-ZU^d!3qDq-kn*yj{wIZ&kcFn^0o)U5yURN0=R&h^A$UX^yqsgYWip{F(e1?2KY1eFN3~}mN#*HJRnI98Ft{!2krDYFP z`2+#uEWfFh$cqTrBn*{YZIlU`Sc*Z-WFC-yHur+OY!LWnQz*Q_;(*f#5iN2Fmgk$c zhLX%ij#CN7R3>Ije5-re#x@m-mO>B;ws7Jav0$)d+)eQWFfSsq03r}Cabh?-8ao5_ zoKr;|2M~5tSwa;?-b|Vwn=A~tTC2NMllvL*6YdZp*_B zG;YPtrv7MbOnnd)V(xn*t_0pb2&>9^nsL3LFXAWog;KF|q9TbjvPC0>qBMW41i~6% zwr6Y%+E$m_YfFdj72H?$y;9f=lSLq#6M3L<6=Cu|c7Kv`*j@^-R2q zsaTN{w77Pc)K=&1tzKHZC~xt7`DOs%HI^Xbk!^}RL_A5lGYm#d34+-&Y z7Wx%BCwX}!W7pbaN&19zl*CjXZZF=(1T&p&yw-`~wz!tPiW57vvJh^TRV=!Si);ZI zFLLL_F?vH*_P1?_l@QptznI4!8fMNw_{kjn_f?7FpNADSoqvkS3`}pc^!S2w2)c>P z+?g~^4Z&MPvC3lT(2EZV|MK4(ff#?%Sjbd>n$v`LaL*;AT zJtlP%m{cm&fl0x?&vwIPjONywsvvJ}R!+BMOY>7Fgk+=vp*p@6*-g%tF6x}*mHZ7G zA!o9bsPs!IMikCm_D3SZBvjZ&)R&5^>TU1hSSgbA>T$Djuj3w7!qeP?-5-F6E8@pi zAM;F+lRgJ}=wTV{{o5y+W{|~~7zcKctrvDI*CVvbupl=qa+I|HJvsYt`qS5`u)}0j zh~HLCm1{uSkv<11qE(KF-q_SmYdX1ZBW9&kH;|-?>&%M?-Iye2RGhBt>gl?d6T2+k zk)jRI7044859+qlLBRvH5QH2kRo{sKqSsch}AP-PLI~FuC^ z2yybI(921(01w>dxh?)d^~z9T8VXddcuColbcv2U{rqlU9^woEB0?0`L7WPK#9#o$ z)K4l=L*hzXmq3?=(>GWgc~fIBGbX3+(QCIXg!AX5Y$tw^tx#s8K$DaQEe;Lpr~%^^F9fUeLTeDH<0SbC65~E4|@_4II!#tIUmi)0w(sLiz#&TyO0xjNwb|PK2@Nre8>T zD|5ul9y6vx`_flq{{Y`h4R3;hdB;&LD~=oyRH_bzMA5i~d7pZ2n;OdI`e^24#?8&= z;9_G|e!p{W9(J*zLJWeO1HPF1ltMnv0KP$?pnkwIvh%)eoa@k1hnW|D&(ckMRJ1w* zM|F%>JR%N{?$D_+vafD8&33i~W5Wb&RU|H;h;Hsn#FygXboq6KbwG#uMsP*a3=0Bi zt&{$lP;DmPXTTH-{pzi&v$2zIu1}8{FEI5Iw8~8hLs*$- zC{zBMg_yHIpa@Q9oaNLMjMmSPC{9c|)U04b6dE%XB4zJ0}FS_)u|`cJbbg9~ZdS2sHF= z?r&|z+lRdnUknr9`dkH=Q2f}&I4asu9~E|sCPZFd9OP<~{*U25ma-jZ5`zvU;d=^X zA^W01YIVewo4X?Vh!@MAzi`a%y_d;#U5Px0XHX?Ia5&^feqZ7aP|avS%KAa>HiK0x zl1dQeOQ`XJnj;i4w@I7n$U)vr6&Z)^?oJc#P8AYDCQK=$d}2Zn*QFV8%_XaAiBupg zQ;Gulro^<#LrFmcWS$A@M%I-}t8GnjoX@ffGW;uGt{piH;@YXbr+&m9N^^v2n(fCEYT4 zVgpLM`F@5aL}CCYBu8ooA+;=Z5+u|IsTRs|aAV`=ct`G9w63eJMMr0DY*`?h08<>k z@>#2av7g{o{ZC-qP#4q46vh2oBOt`&lT0{tgIq}Ei;th}gGq{4=u{L`@tdKuT9#(+ z+wJjaXAWS7Mn^_4R2d0=vOL4`#S56Wp)s*x__SVF&P#YOkwvM4$ITjsX66kF)4$)0 zHXA1z-P_wM>d0Zbv6@pGm;!jfW2q^GrGLTKsKd#F{az~4fm}pW_@1zD+S#X4=|j0dDM3`wz0d0xghz&@B_#6_erqBhx3{OA;|KPnHR-6T%<>D8f)_BsXn;FWC9a!DQB3*kXgp`!dz-Glfc+stn2UjN#zck?o5`G1Ca}%{o(a*EX%j-5eUeheaWm2ac8o{+AhAD{LwWFG!w8>Gqb(jE zKoTXvbbv@AD8)Pvx>&(L>^rcIv^g7Lj$L z!qGDQ!^bp~Xo(vC_#J0MUFys$?Y%O`$@g|SY4h^+R=>3c+kKePi;B}!< zffwyygdn_ zluKvf9i)?*+YA77_nPJM>sGT3B0$wmNmGTSKomW!ch(YGpA8J8$$thqKKm)^7r#dU z(10osr&KPp0ZV&!Cpi6=q{b>|QP?M`2S_^SM%M#^_(})G{1f5Skf-bnu@4Y1kfj$M zcuCtO$$ekJzrt|8LZbRqP-;s^$l8#^6c%{r^77f)?x>fRh@;8UMi?={-ewP(5rnwy=lN0EnS0V%#UvTg;VC+WZ))9Supt^;t2!+TUrv-1Xmz-$dVMWQcM}o zlKvEY%Q%QAE^h37FMnIOCK?2A85u0Gr-h~IaYy|X%wfhPBI{ygtDBfv_JegmlaTaV zXbTWD$&!jG>P1z>zL7~gyQ6tefuUig?)??BbybM$zvNuAhYMCdsc?hHX>t{!mZ<^@ z;|GS-u%M5qrqVQ*_*fKtkTU54Yll82{CkVP326y~w^dsLEFB4XE?7Xpub&rZXN+K! zV8gpY=_nX0`3Ibg_ZIy1jv9p!_=QkF^ZG0bw3}8xv6{+WUFSk(ss>Lt*LtIM$shx( z{$^a(cpATvC2s%np4bM5TenxRJAzyU(&z{9HG2 z&%gZp%4d0_i7Q_IECLfH)vmrjZ2ii3o9DbKyl0EBISGHV-;L7|j@9Px7+~xt0&*xs zWYhS9lqQmXyGcl1IbqwzqJx{kHQYay?<9(hVZgI<7GTFaG=7Z6=epY(nWG*Gke5i1=kdNK|AP)uK*Cm*A5z zqRr&@{>-CgZE%}LZEC~1RksiB{^_nn@#gbKEOfDlcXy6)L4YFkbyA`fx;~Xb!g4n0 zyn$d{Gpwfo(+sM))n7GvVS(~sxmEtYLe9T`v9UQhIm4WGy?)=z6exVSwCSpIb5dvt z!M@c7O5yL8?&_1C*|V2|8_?0_({ZTB|G9!#?w+h0jG7)D&&1@@f)chnLer>|5=K9lDJexGHBnd2h)GKv*}rf!P2ngv^$jV z;Fpz~j5qm6puSE4jEPl+Yi7biBYqISQ1dh%UWkADRW$TwtF-$k)01XPr^l{r7E|QO z{GpsY2xw8$t(7M9J<|JpYZJii1!6iV6#?MWX-ldkOk2a8=C^VB3tt!Lmk%+?q)pEY zug#PQu(gCVcBSOzB?E2Lat}DTvf~ta4Fud;&RV=|rgVCiE zHPQAmx4L8=)w1^iD|HT&lL)dqlpZG&6 znSUjIHW$0}M9v+`V6_Qjzl>O*X1m$MUIkt?Tl8)S%V^KFuOg$g(9=$0bvw-rTDt%4ZepC$*H>ppc*$OVKyeaRcE(h& zZj-Fpbw8%91ud_UjDmy+w^^f+OOY+u9|gIpnx(U=X>|WFQ|t5zvO|P`S(zH`{&nMx zqx&I)z{JcwCTDj?M+XxZcepJbSDTh^^=tyqIlm_d1Do2_pymGEJG=fRlm;ESMt01OHa{EQ5ltA`N=qUs}JbZ>-X^)6HTQfU0oz zY)J%OtXLG&(1e_bqn1`MGODxWI+jwNaiXt zQH3`;S>4XSqpzS3QjQ^;gDPjn_Lh|STk5STId!NnPqQF&`2$u^3i&nPlK7t@OYHCy zua0S&dGgWiu1$W`c?2VEAIu4Zhf7~BVGT|yAK8myVTfhPVo+mKZ*L^%@ud%#lZb(- zDVS|j;*k~*>Tx1j5(V9BUhC$xw|BT}GgxQ#(5AROLbs(Houty|F9-ojh~vkP`dDn@-<8tW>ZWmNV z`~9;(vey*X=em$_o7AKXj~*s{CZ7^~sMapg$j(twqH91$I);tZH)JUSH?u%T3RDGt z(ic?#+u3dhcQk>uJRipGyw)k>%iJ52#;qu=EETA)nE+pH+9|V ztVeq}gx0a}WG?#LxgC5->hE_jRH^7lBY`;CQ`NVTqo5$BqqELl7ROh;JKdet*;wsm z60c06PGK#=>Sy@7YMhn|QdZUr5R*r)i+G{vi=dNsqpk$X>0P3E6yTs=((4{l7|74* z^=zEJee^s%E5536^}OZDX-gQN(shZ^tHKL78mzD%ucewaWUMPUbFgX$4rBdZCJP#t zkYfMC1t^F68%1|4E;XIQ^9CBRzInR@#rlMSmI^1+AjkE0?Zzf+ooT4N5{UKqrAG^ABMK_8vcTIgzYjO&J9Y_f=)kJ~xarPon_MdZw>dXTq zE+aZ7;cf11CKG%VovpVuSBLplkL#>j`GSS~_Td2OA^yn4`t8}Xv^OV)Ypw6656N9Q%Xi@Y@n!A3tZObelgb{$ zX{_BeubF@1DAg*Sb(7{H(C)Q?iMa|rG^h&a?DUn{b>i+F%T0~eN9=v}{q%*gckh?Z z@7@a?!@V%gZ{M5E37)}$%5m!mR6L2+3{A=atd$3Pn?8e9CiBkA`G{Uej$P3##QlmD zhuQRBnU?_j4u^No!-4tvZ0M1T`T5>ov#+PIw#qAA10q~6J+Bm>kll^OJ=GDYCOu;u z_MaflT2Jpk*?CVLhD;jz)Jl^r)`7n`?u zDvvf8lUs>qL-<&$H(oYe9mZO3FERB%KSK3FQFt%(W%R=n%lmc<>>akO8hK5Gd3w-1vH4%9e~i`&fFulT^rQ3$i9?#RoiY4lje>?qF6jAt8Uv$d#XQ z9%A3Y9FdC85A3;uNAiSyVOPmEK&JnKF3XRUvC~)viY=n(VXNf4)&?r9q$gkeI0N76lEhnbX>=9QR=XQrSoafE zOwc|(Z9BHf4L!RDo2AObNv{RMGkQbb~v&t$c zAXMMJgm0ctOY7>fr9*ZzL&KBU&+`={o81&uekkc|M&MstUC60PfRJSfiMp0TSOD?PUBxj-@Xt{xZLXiOH@^^}$HA4&e4u!0|A zMHbwh!872gn$ToCS#>?__P~XbyfQzJzH}W@HB;Wb9u7e;Px-~YJwlME?}0HZ8yA=; zVwfeNms*(k9^9pUU^Z1!|2?6+MCjYL+PHVOLSjR-R}T1y7PFHd1!ZfVADAJXOC~}> zHWy5uh#7Wr(U-@^b+#BZ6Kvx9EvTb8 zC6^t>zDFqsZixKj*;#asCXs|?c#K~vG6BPTgMTHfBlT6m-S<)*S&XH6CPcER)+Iq zGar7rNL*VwE{v43zEXS|0Wu?MXY8zlpm5P?J7FCHgMu;h<`C^E$>E+93(GmL`DpqDsk10-?MYGvf~mC9z-zd1UI8sn1TA$5rFaZ2(3b3 zs;b0!pMOgqRR`~J(PpF36HysMc#MeabSqK_`HeMdg$?}ByK}oa+vfsCy+o=pUrj%+ zD6AApZ6}#(Neaje75?;?B2FZDz)V{rjtG`}ZL6f*zIxuRy}7xT>`C1=yXaY(PX)Je zj8S8WhXnk9`^L4-BJyJay`0lA(p>clsIfsv(4@CV#>_4zc$Z_1Ozk;)du9o}1%z2Tczr<{V3|x>=;D`{**@MYnh?jLR@PGlRP&RFCT9w zq0sMr7e#3+IUL)k9l7LuMF7cNVk_MOV&UyJ8IDE^85rW{div8g#MMX7i4q!R*nzLf z46rI~7>e_A#HSTnNKc{TiSQ~2SF?kIQ~!N3G!t*g z)NU%~TEDV9$NCxOczy`S%<f zwn2obWw(gBqcUMd!XLIy70SK{h8JWPEe*$63Z27|1A`Q=K!%vi_0tvhMq@E}S6GSJxJogZ(-Jhkp53R%wGv z0D>^#efZ%K5Tjx|B4laEd+R+f?PUqPAu>G?c+OY+N^#$vCRR;Z^y;u(^rV)gpF39f zvN@QD(6cWmlFEyA(j(M5-+R_)xnM^6F|;&e2m1zlkFI&=+3Cx7U2EKz*F))o@-cZj zdMvCvWVmUiJt*{;Q6OeRxqV6_e1e#{*8WC3T9)p9RX0=X&c;d}zf+^{^ACIFE+6Vr zomUTKd{Af53(9Y&k+@3JS-uVs(vFz!v7!ZX@iGD@aO}cTnoAsgOrW2>eihSDE~T*k zDT%eB@-n!P6Q!I>)U|b^u_OI;fYk#fts_4s>Dj(O<+B?*&$j0aK?q1xjAq%5!Um_N zOJikOVv;<}B;di+Ia7aa7edPE{ariHFi>Z-MMjqM7=`=LW3g5bOF?k#unc;Tt)nmL*IF8XSVK` zmR$owf#U#mr?TWHoCe59*7!b(P4l*t!-Bei@Cum03T6jPC-CY+$2XtO>=~YzUxAX8 zp%EdokmztPMmi?Pb7|wTEn&p~IJkrDcti>V6u05+eYyAL(1)&dt7Z+`C)~I@^`}$0 zmYEtl+|*?*iTW(&#XzoS%6XaL4!`DSMCPGVV2xmlC1e_%Mlr_HM3WCN5$2s$Uo zBlQ__Q6Z$wE~bD_tOgH$ue4>w3bfIC>2?oj!8S0O!t25yEE17P<7419h% z4eqdk9FpI=xfEp`b4I?;RI89JSb>9u!e;Nq4Q$PA6H>iK>fm8r7}B8{mf{ae4-Rjs z-@j!k6AP5fL0toavU(%+U-xvhh*x8EOR==%72D8`m@pG7vFnQkBPi2L7A3k~JfPJ+ zV&Ff^AXfeGfhu8#7EgTlx*jgy^ebC%QC-(A#`>4^OO@~@+8Qi}*T&0zXbcf}2-$Vc zuy1UYAaUOme*jusNW?@72_u?BIBXXuww^Sk(lz?7FM!MhkI+YXo5G$2D-aA&X&|z} zKDmlHM@VpAX=cnk4wrhBv`SF+|2XDOklE6sW=?@z(ZAPhhapsXb#^+nL`M`QdpgMgrkoI8 zHn$k)4Mc42yEWEJab^P->oh6UIz%WhuLd}~_xSc#U_G;qE2$_I4+x|l08mUJ=?Tnj z@pE5MvZ*r29KS_xj9Wc`Y{gB)-EN(7+FmysXmz?ML?>7%sv2P%8wLO&yRpJpTE?(qk1ppstYi41;>CJ{ zUVVgI0^{BpM6dBSwYK;+FF7}~qEuSYjO0YTk5-g|RH~XDj)QZ}6tXUog=$oSr3M~s zEwNfT;cR}DUDOS=)NiLna498uWk_8?K|?u36k;ir;2NS;Ie^I<`t)Q&yvuC%O-;{Dw5-L@qMmmmE zJIr<`UOSrBZdz3BZUiGquIQvFL_1m+;jkI>L4s5vcaP^-|Hpx$54stvL$$h~gw-Se zS;_vJA$MHY+z9WB&gSs`vz%~PZTmBM8mgp5abtdLyOz|yn?h>i$5!!(o8OT{NQW!R2C@sj3Gv#?&CcmRFQ6#=5v`-- z^dkAW9u{ZU6mQgGB)&jvh{rqU!zt_N%mebqiYaWELA=^)obK_MM&CpO zrb^v8V#ejedxu_)xGYOnaM=0f6v?Z+hNsBKj|7h+|Gmuj8P#$S(3@bmIvqh`IU<#7 zY@FVq-kZdHxm+i-sE3beHNCzx>C)TX0I#%#ZeN)Zl9Tg-_VF1n2KT_j)Hc}?h21i1 zHGF4cTyVulo?y>XTVOqoH+sfk_YM_~S12iF+48m5xp12^X>qsY@gpeUZ`|N1 zo~|UydnmujbZOy+SE+f!6(7!UJ-W13(*0u}TCfn|p9VW>PMq4|)=fEzgs4z~d$FS% z*ojp&3Y1!h(e?r>?H^nzo!#Puc(Ip#8Ys3Z#L*no2k#%wGSlZo?uHp7C1f~b)G>`u zUb}a&NsYw6gqG4LK~*g39O{-0P7NzY=SJ1z3*#Dz#fi;ilH``sDKaY=)Y<=CkdADt z-SO(*zA!mFNdKb|Su>|;`~(C#dj;D7yISK7$?EcQAxb}_&Z3j5Q za|@`o72f;8r?m;>Gt{qcH`%L3nzgo%ugkg7+_&w&UY2dAQ7B6K5lowXJPdiGT1T@( zADf1jm3HVzD)Vpa50g|eI|!8d$DxSOTM{6g8{cqT5IVa6HfCn4zi+IkOn;X9!|Adv zNriN=r0+20awlh>e?WWMOm|Oaiq8RD+qSlJRTe05?OsV+9;{Q?kG8;m{f5vc0X3I6 ze<3!lSo~ziAX}_7O*1_vLxN`s$$=h`fC7-wB9G_#+ljY^D*})u;9LJfLUVl#P#_$c z`QK8qy#YEp4m0K+;&p28&t;mtiMWfmn%iGFOfu_blBbmdp6SI?AnEDr9PWF3V(F#- ziZR;HV>lSNOAj#G3uti0?4_&KLdm$bYa9GR?Rw}hktBVH&lbu@22;}b*nn4G_cv!d zB;H7-X5#0}xar?(n!3Q#+RKnu;Yt)6$j@T8t*U5nc2IkKznm<<)dWG?tR8e(_cS>O zS<4>(m5`3MPt&kY%I0LW_JwbsPGoL=8>FMg4slHZg`AZX(+o!l8a~17b0VYj9C-;Th^6o8^=zzGi**f?mNy?QxNiiQrgr|PwjAF7o&fg zlSs-bT(U&-*y}gMJ#)e?Wu#n+?Pn~V$Az-NmO=QoQo^(2KX-3SbB3oJcaEd|{OE;g^ZU=piUJWJKm^zz3AKfE zK?&=O&fKh8!5z#z$qC^mhX@G?gGyEzvge+%ywVcswqY&Kc;|X4O1*W*XX4V08#>qa zs(QiCn~JECC2p5Ldup)~z*UVQnClx~4Y))~nDOxC0!`DNu`eFZvfFB*?30@) z7{J&tG4mZwwFPwUk+=vzlSlRoGo_D4;VKIN`H=9rfmqa?mKTT*D=3A zKDHNMRnJOD;P7I9el`WWYZuPn*CjuimAZb{u2tZCeBSPMmTg|%?zb0*7GnXBdq~DG#)9|I%r+2m{pKqmI3`4djI?M{}a-yA;YYI1hVw&N&nx&f1v+Afd3EH zzi^j1Ci--4=wA0rG&`y@WN^~g_9jjj^bqQ!mx(pzO_=^i59RjXp@$i&1#$#GI>7n> zJGhzSH+EzAw^@EGNLtEtYAsrjX4So@CPqPjSf0bYi=Z+=ZsWxW%nB{CMcY=Ta@wO2 zETj*mjX=s5JR46(|HFu*cw}+fquF9}*nl-timc^JX{CMjtsLL>8$OmZeFj}>V|w7G zReD2b>fgTGr=_Lj*1WS2IYIXjnJ3T>x;@I3NHyG9f)N;;WxhA-r0TWq+vIdDj)cVY*y@!AF#8c`{5 zA`G-nLzq@-u?#5IBcHb1zW*2@xj7V=2&Yh^A^lnXc`^?W)1x(csmfk!TsC0TY=&lx zMQtClXiTeCxeEh@JKr>FP@}nm^crM6HbC@gm@k|_NE;YQrpgskC)!qHDgGz@;x5i0 zLa%4`Mg&hxmm<08HD}YXMK89HmHA_GYXU%rRzR<9!q;0u4XlmX`#9TNbInR{P&|htBr$#DdM08%q zFfXr9fT+|KPDeOMMd7#~q=T@cuCkYTWA5_phc1_xXQDD`FnCGOS|YYRKJOQk$_PmxfBAZ?~E9aw`ksvI7~P{&OJqnc!bq7)Ob zCIAW?QQRbyLJ^8`wpYh5x;w;|x5nljdXs@J47LyAz8(ZfqH&%h;cZXIP#N z!VY(Oiiqq6yjJxQ2S8DM9mYO(ZWP|@g^W{N0xzy-f1nARBbVTfk?cxTH~P3^z*Y00SOaG2dKOW#z8J6u26@xE@!<)htL) z6|P#fiS_jFi&_jW?o~_D0~)rcc26~fY7E#Bm{0Jbc_-3AHn9^Bnshr!(m1Ro$c1a~L6ySs(p zE`i_{TnBfTWj}W7ZPoU<)j$1nzxr0++vl9-$?&TYsV6xz%5|a-fru}oP|$~CiMEQ# znr$I>h;%DzglmlnE0&C0SAAJ_QYrdcx}hrQ>C}oP7f+S3e&6W&)Ula33Qvr{b~HF6 z*MZat6fq-}62ra_nUbPc`;gyIGziS@3d+E-g351+R5~2uipf+~I6M#3?@mPx#G0Da zw49-2?P`iOa)xf9M8FyKf!>tML!X~zw zO9B1Lq>vX3DJy~QV4-+n5>L40Qzo%~tOpcgkj-#X(1Xzb2q5(ht?uFQ6-3 zdvz_;%@i~l44|R~C=}L4?BW@`5?$2Oq{J;1f&Dsk*T|7t zyg->00AUMOmn1>1d&Zzt}qnHFd(xP%rdCXA69DzwI$UH~9sr?pLpGBQ7GiwYGsCCkLE zktQP}qq!1(Yyl0_7|O#Z+=LPGJQNGea4ZYHg!I`-`XMmRU|NO&+r>bphrOviG)d`efG-j(r*zVJ7qZvbB%e9)-N6L%dzl$E zC%d9W`QK*g*rM^PLD`o01d(V+1e7PN&1M(ayGi*kN*x2OEq@!aEIv zTgR9mDL#t4*>0`~%nxZ5hGwiBy#6o*f6xGT?$KHpMt*HdzMpgylO`}am4*>_m_ApD zZn0kf9Rm@~KKR7Li3(vj$A8AEs=S)`gXIKn)l)$Rf{L=6%i>AFiQ5a>+ z9ER?2hF+;Wee|AD)SVD0YztL9$~hFcy5)iHjwMvtMcN)}Mv+VBl z;O__87Py|!__W;f3X%}uxIf(xu||#4BCaaYcKP< zX^gNQ*!CP$L zV}>TbG*S&P)B)3_!S~QMPG;VXRPp_Q032_a52I}8!x)= z%gR`bJ~NJFcoQ?16-8fBkCf9wu@&?T%05flvIItpNNYHRkd7tfty(BUa7H@!+9`Bs z<^OCGEqj~1rhf%~4z>(l#sUR7@bgo#Fv*KT2d`!1Ho;5>x%n7}Jk(vKb&VEYQSi26 zX0+PML=5usFI%ko!vX|E7LLgBP3#(ZrHwu>*#!O*;6Sd)=l)9Yvmb>S*SsM%v69|6 zw#i{r20LJ`o{*{+w#C(D$!$qtI{PKK+*DByy){ZIaVp?(NWJ!oJ5D3YKa>U^Tr!*} zMI3J#MKs#M7@NigO|``eGt2+@t9%OSb842S&gk!?_0-J9G7;ynN3s%ifKO&Nhh|O z$$=YmD;{A8ue+%$TkOmg-3yJv){*-AiGZrQPuW|br9K~-uCr{&H%8BrjmdcxxP!Jg zFH=IgJ8mE?XIgd5oS3vB;eIlAkpPb)j+3)=(~eKkP%`5)BS+!0#b{dEy?r@6(B1YG{%;moIg+F zTS`zx^Xm)v>ZFwP_k}Vw7UP(i@@;i{C;{`20Tape99W?S&fuo})Wfm-OsUMp#LK(c zK2+6S1ah5=G_4vlpA|8xi1+aqai%YADO!5b_jeeAacG=of}htR+7RFQ{kLRDH>U5T z@*yF9qrF%A`RuYWmw*tpi_rbZV>_Ryz*CnFu`{HbtbN@+?kKL+?N=6X&{%z=%IfgJ zI%Zu45--zEHm6oWLl0qPB$Q*G9e!5$u6Pt+%YWSDi=wVK5N-SM?R z6_>gzUOq}eg~waVpM13|s&06bKnFZq88?CwL}ysXKi!U`WbtUG&vF`jE1F*`I3@V} z{5&<4J0FOc#CpwIk-01|-*!=Lf25tR$jJTX^>;Uuna;HWnfa(if9`+>=*U()XSUZ; zKFM;E&bVVG3POOE<eHYshuv3o0~nGS!*=HE7~2h&AO@Ha%q$XUkV`YWF%%YVYgtSebJ= zJ=mr0;i1lGq?W^T0uGY02uO#N`{%=R?M-q#8v;dA`bcaW7c&2{y=F?60%v$E)k;NB z`o%*_fUc71$Vq*>@r1(rG3sBN%34omixvsi^m*8(VQ7s6w8f*0*iu;qNWmzT6F~ym zMpOE8UCW?)*u#eUOz>611=e146d6%W`yKdxT|L20=}@_J9@{-nq)#khD=r`+knv0C zHECt=&R$}B!Tj+bf5KjLOPynOS{(DhRYk5G_2ZMbRQ&9s;>>w%5k>JEjIbALp*NY;pf8_7H ziI*=}I2+qgL5t>@M;gGA+%8eo&dy_3MBUy6$L#|G8fa_m&io%knri|*Ahk%MnmE?abxB?B4I>X zKGS8oP2A?z(oqbN{1a6dZc@X-GisQ+@ld$-Nc|-p#$I1!r3n_f&3L-L%R%;gM0XoU z4S-uwZCWFJDR}V$R(J7}-nu_0>z++gKA?vZqXa7LouYH6*?67sr&tf2@DyBi=nq-O zbhVZnCpA|6Rb56%P8al%rEtW1pIV=9T!^us?sv{tm@UKRkXe&v3>I?|FH6Fd{WDm- ziS?N{Yjl`;lXBDUJgg@&{L@1F;{Q7X32=rSs`te0Xsip|u z*WdGuxq|-vl=lboH|$T~hzKKvr9MHI<+G<}-HxqS##?DoN^wMXtV7;eVq{R7I*#AG z<(rNm>88)>hi(@9SX;;f$ZJ-K)U*BV-2)rHCvAA0bN19zR6fq>_s*Z{xE~e{s^8;A z`|S%vg;i@#zANG9yfCBf2s)C~(2BR6zWy+BJ-u+MKNS`=@VVy}!b^4-0H4QLl)#)z zW8^Vy?6DYJw`8sL=$Id`J!fj4zj+?m94WGC+az+U)viIOjWoqLPsB(dpb4!ug*q(7EmKs?mvplIxoW3o`HX;@S?(R8siU z{nmKn5;55+%P!W&n&Fo>w^RGin-L-Meb(y|ga{Bp9=7dd0k@~;@zQn5%Otv)?@$&c z2kTD=j%)j`@Z0-bjn;7+-3F4D`8P|`Q+bW)<;N4;hBwYx_N?y)4(d0l9~PD=a|DaK zoumKs&u#yB>!+th{q43Z7u&X##W&QED0eCKy6cx9z=^&Ye7E{Mti9f6O6(?5?|#Ny zSLt!q$st-RoM}@2qc_=@2qK87AF`2W@TKVV-vw#6j{jb&?VxuaZ08VA%Y+DYuxqmB zLtt+9NcWGcNJZU}V%`Kl3k( z!w0R#BfSi>E-bjK#xQaqzZbjaUq8NVnjCl>FY<1@K0aplix$?2>WB`|9-lcV*e9?r z%F23+?lky&-QZDgvDLrMuR!k|pUHpe4yvA*zFRpHO^zznSg-cb)zzt*ZV9xoCx;4{KZ&O<&#U?%JlG4{2 zYZ8K5P}tfi9<}6`=|#qd>@?34dN-*NwlLnyq0kgPHH+30mdYihv}FN;&dYy}u~fgj z7iDhQsp-Zi+aFS;tiVb`AxELA|Lz;^OD5+Uy{sD&sTA~dS(u|~2Okm_Em8Sf1ntKe zQMWmGtTy4v0NmXWVHy3ZV$QiI5_2~_Kk2PS>v3Rui*0Ef8QM~)Wc&pTKbDVMHMe(? zpkbx@SN!4RG(c|b8&C*D9E;X~EYSb3BvTg8m||_nlA6Tnua&tl z&LdJPdd5llB($z_OQ~>DvGpXqL|N)X_F3!zV?C1&dV<1d6!*i=^MoT-GqG*v%9}i}ZFp zb}IPy*8B1D_r*$jLuD6R{6sIR@r_IT1g!?kUypd{eA5L|ZzsO%4>egqp}X1mH>1@h4zFlR@;x=DPpg8OZ(9wwoJZ`YUlT@OQ7FIKu5v7340_65iKK~gX5s*$ znQfcj?I!>jSb$b&Jgu9tW-DsT#L9@^z>(-=ov|OkUPy`VwxXdL60%|^RKXz6X!8ex z1t^pURQ{x*6YV8OPO87vsR~%JN~IPa;@TQe{yf;sTv80$T4Q+ia)t@Vuz7NhIOOph zARgEC$UD~IG@Z9}2fyw9EJ=%5Zgg~Z;bb1y6mdkvf4Qiu^|ZlEjPL-!xRPUs#2+xE zjK6tzdI9qkXgKLmAU57dClt}A*$BNWuc@mLLSIbc9Gff-AzR$S^)Tiv?XwVPa4Uy` zJF`ukvpofkjk8*tD}8w%$fTpcRC6xZmm>q(^xNy8iy@GtzIB$u;MVBl>eUgA3sMt2 z0kGL5{t#fK^xEPxB3Wp5R^;u8$wxxAl^!5-WKoDk;5}sB0JuP=afk)XW`+~nW&cs0 z_Lk|fEWWvt(7^J`A$%1b8`OH)Cg&yl)D7jQ`^WFx7-Euoj{qHc#DEil5C6PWv9DM# zH6>WO*6_{&&JV4JJX(sHv9MNfhnmm8w@p*TX*pR%P!$w78cE0oljMh&ezm$7JUvJX zmMyV{#c?>zBR=h6_uF}?0|iSjCLoUAkX%baDSj?4v?laW1vxs3n!2E(D-|#%N{B+s z`$E;mMNu-h7CZ*t%(nC6D$kODU`|j|Pu%1i7h?&mwb&t?0!`%$u#)o~Vwwc#5t6FX z+aKLIhX!D>URRH$7I*4&9Eljn-~#+@n^DlhPIbhF8K8dHEGZf%%J7UEjIeMOSyQ^e zWMEC^FLR@FM#$J_W}opi!~gZjtmkPnM2tP0EwlK8WPTgS+A|U^$=k1bpg?AnJy(ET zW8~98YHkKOxZNAQ{RZWILTEyi(w@Hp#!UFMI%p7PE;5Qr{zsk+{z{6@)}VwI7Z5Ol z;~&|)3zc`M6xdiNVxjCD6y9cTdNB`Oy-y@~Wry9&oTO5VD+}38hXv(<>W!fD!_EvO zYu;UW7Gn2u$D`s>bJ_8aI8x_e~wVz$9+E8g1SDl1bT^t}*ov@SV9G!{9O zRd*}6#n!$%H>ZLAFJGD|Y+Mr`fiQS)ZWHCz4QNqchw?S#TsL;)5b5(T3W+A`JAMlK(DWk?C*7?SOEb#!zxls*3M3Y z1ykaYtC|`socFVC8;Q=HAP2Lh@S$!_&=pG|Kb1~(q?8|BVm_=aB0Zs_B-W7k%j~j` zuhH%m^yLc!;25n4UF&99k`tjw!a|#c)-2Z#mn0*$X=o|0C{kTeazYq|u+VTBprSo}+2eUG;e`Qstfe9=@ylh6Y2h>NrF!F$Uh2W3P}QX5+8 z>+{8af$qu(VYT1F{G^ZUI{|5};O*YtbXxgkpg)xi$sGd7sM)I4v7?|o5K=(m<#PJ4 z?R8RTODrOr#ObU9)bns2wNmM$21Gf#mlg+*Cb?3`{Vd z8TNQIjTz6=H8!@OgByy(I7v{MJRD6op%LjEk0EsKp9-KwgxMS_JpJcz`4|@m#zB&{U{mXk1xbRb(X zYDa+Mdt#StD}$>}YAEjhhO3eNxQo-ooDJW>I({v$EZsmDU!KT4G>P@C*gnR$J!PDC zUOywaisLpD5Xipc#foA{mfwXeyfTvyb3R73r>lBrj;g=QZ*^ctQ7j zD87eA0!vMFjR5rUF$1j6O4qo0m!UMaLbP^JBDL;H`O~nIJ}w3fi?!CCd%xd)Bz@Eo zIbxQ5pb55oHFDrg$SiqU%FS?ywk8&C5RVZ-eT=(feR#Mh*}D?`DZsb_`QG zMH|sflodHS*O?Wba3+O*J`yStyCpUpzPnyfI(mt8gj{@6D7~4MZd2c4I7|dTU6yAA>Fjl66nVT9*7`#>=3x7Fc7kR>f{u01ERQebqUj0WhqZ5~ z_Pg~Cy;Ylq27I~EF8551O}U6WyHEX3Mb(^Pd7a!cL|@naeO~r}h0hPqff=@MR<4C5 z)nw&1L#-?^S-1MBw$NZ^_T~)jr$~-J+6ut?s?~s)Y=JBLY+}%Lp%L1py>X8h(WE4tuIBi%+TVPIF-^9Fci{v1VbwwMN-QvWQzq9 z=BZ`pr9pic7ia&p9vEl_{TmK$5Y_`Z68>XPr-Oz1kA(@%<265^TC%cAUbD5AM-L}) z8L$+ZWFRKQ5R=*S&PlYQ2oF+HX7Xj-$gp}3ue*-G(fAG<`j<74xV^vNc%w*6& zUglDf8boR*?Vg?Lh+5n$6(HVM85@cb5Y)`V+=ws}+!Jc{*9lrDmQw}70;-e+oX zip|Qs*87lpv+0QmhIyGHwLruf_{7I_28a5Ka2*(d05d_;{pY7)uh&8|l@Z6Una+;S zW(L`t!6PabA`sb~$*E->Wy(_f&%TLVJ83}YJ_DYD-NmCh}@aTanUj}GErPofYBGnVo(#UNC z;;b1hBRaklZu!PX@f#rgx>Rw`P!3+I*!0mAGV1?Gnr|Vlxl>qUhtStDbE4&1#F>CD z*nPXO8xYw6DL44X?{LHX13)QQUqL2#hweeNsFPF^=^ZPWLc~W=2aqWR&o*{g7$mt* zRkHJsZw9xiR6X8HS3aFlO}z+K*0+ZOwgrG!WQ`nJqK5Zb*)2b56?TH_ROB{Z2-Br^ z9zDV8&*s~NUVIb*0GZXxvO~_q`70Y9pG#(KCkbl0iDJj8Y$`3qNiE5t+H1WYB2F#w}95=YbKJwm5Yw3Kh z?|fTcS&3Jo+mBmdC3F#>TKwZGBFIP41el3Bb^+8a=iQFduLm#fr+l>(g_z<30f`y{ya$FkCmL&#*pc&1 z(ai##$Y9%o?ck?nYm^9yg?nF88qgPw-KsvHiE#ej6=}X7fR70Hf53;ufo{DuK;euI zxYXstqMI}=;6|a-8{pT_2-Gf+NbVo>yHGg+?8O67^dbn^(MiMw#e@50=}3yOAm~`= zRJWVSWq`Fh96(^gtRvi3UUE7xH=g0)+p#M?Q$f=|#^wDhpzXjA>NKOa2n~=HIW+-;d|to6Y|r z&*lzS&wg)rx6Z$QPo~dyuis{;e=k>mzute}?tY)nPw&3ZAAWxC4}O1tb}zqw9}Wct z1%Dro-xuZ%uD^f3zfQNWHqX9}H!glZU!UH7E)Q>yZohx8H%>M$kJit>uda43zkc4| zpYC3+kMH)czCTu1zCOP{zkhE|?{Ci^KDRf&e}3QRXWv(r?k*m`zrXiaPJeHtnzaJky_xE0(-Y@oV(p}16VPU^cjvsHHZ=QahAKpGT*RLMGHwxg}+uOIxi4Imz z`}_KUfPluv#?a8vy1Tk@ad23enRj+}=xAwgZ*LzS9zNFB{tf*jB_a7(TYY(c&ho6P zuBtxi)pklA+N)#PZ{#`dkY8V4->s&Zo}QkcU$Beo=jP%T7ZY1qUe5EYy}Z2i${eXr z=`JcNa&vRjP*ba~uUAx%KWr7v&B?W~w&^!Dj*W>sJv}`-I@;gg?<^Y5NY6YQ{8Jp# zcrjuh8WI{(Fj-bwk(`+7=-}9zGXM?_zBaX^r=v4uW3fGd5E&k6Y-r@|}WUFx4Ja4xt^aZD<#!qpmR0h@p{@7ydcjj3`hCH7heLf#=AKzDH$Bq4)eY===ySaS7U3>>jylas9(w%iwZ4nIa5EJY9C|*r;8l(N@spw7FZK3cEhB z>>3uRp7!||(f|DZTHj}>oA&J4#IwMQ z8-2Y03Uuk(&dtlSZ(CiwcGlvL55l;wx_tN`+PHk(Tzz)#%$BdayE#5~=dE`05_}Qu z|AI;WHGo|(@Wvzr&mr2GlB_u)_^B@Y{0RES^V#_$KS&VO%=WTn^V;>i|K;e_<4rO? z`^(h&_;da35ocR}F3@Fb7UWm+!z8ak@N4^HAB_;_Cvrr18!dbgp`bJK;Va`2R<-$T zCztoU?|*321D-GOu}Ods#@4%#0p6c|T%h0cT@K684ydW!OJ|NQRq!Rgc6qsOmrz_5A=1uC$AjxqP;%AXhaD2xVx z5Z=fCOsy}le>7^#`h5`$nK*VYR`&4m5iiiCU!5G~kkzfRF|`XxZ&YgTBz4nUiu`KT zuKhuw*-2eJbo_S25-qbO+c?PV>GRo@U#+WKJbrw9bo}`F;`hm^wXc7Faq#i$^6u&L zGpMy+wZ?YqkZVSG6jEy89`p^e3^|jn)UF89OisYNtGbozNG;ssaZp)-Opur-euAk( z`L-xts=-ugP#j7o=gC7gIU)P%aOuwX15IrwrB=K^tQMlM@NY zh{$rm;jWtiid$nOC6q$x@)WfC{X74uww63*_G7tlna&eF5CUN>P=fDZhi>G@xlJx# z&dzVIYz}qZ$AgqfWUCnSSpUUWic|?k^AbCbug||5YAwM{(^|}^FW~J!oc|}j5_uRe zKF}%Wk_M5B+N*wK9&ok=Fhgxns<>lm{NutGo09;bpmkCS$KIz(LE@3e z*gu5C_)FN?GLYAqNK0NPm)gg`MQ)jZb0JX8fUuPv!V6}L#bDyTT(jo5p#zG(kdM`n zGB}DjBJiJ=u=u7zSjms1gm|XAJ9(>Jw-xrU+sut3kX!aem7u6WMwKfSsi%1#AT~eP zX?f~*iO3_ewPo56QYi=BC>ba!g^LAe4236T+Hb|lo5|oT2I*HTM-Nr6B5J??8p$wW zDFUJckhW4J8iEz(Lm;1T_agM(qkzt+kSvGQ@*;pqBDlU!Rk_2Fa%`43r~T5?vq_jaYMHKr=B` zvYgZ9%T|!ypgNQism=vTMc#Zes1_y#=VQu2Kw4)*rT#il*YRwu`-@$GCL3VKlcV_IhzI9Dh}P;l5r{k=*orTs)h@+^LJY zMSD-4nmbisNtEABj1zIJc_WvjZ;>aJfnSIW8&5Wb2o59m0+D1b`C0Xntf7DqaISnM z9v#cvKS$>+Qkl=CM;9s+OMUvjlixK5E*jjQw-_M0Fpuz86-4_rK1EkW7B_7s!+q@=ar-dxQ&y78&QcMN6JlbHA4<*>%t9-4fECO^ z`oRC496r1fGMqB8w3mt{vL5;k4s;^`Ro){#7{2veJjkCcM=44=3)^^z5i;pPL z9g?FViU(&yYvFH&Yl4D2N3yY4<*1w*=>)kUY<@G9<(D&oDv;uEp~&`FLrF3!4uMA* zeypa>R;D{lYObKL$ zd14^+Gk+o+J1%jqkrF>C&EG&!%(mC96?f%j)^BQ0jwhT=bgkCSqhFGh4?VKBnQ~t} zhZadlrhI~YAxPD7#hew$9aQ0ze!WhkEYf0D>lHJpPs5}Uxxa)lRW^M$?E7F35XD;E zpxub*JOOYpKQN9n9oQ5pWw`azH;*`$H*T|hyIiMT8i>EmrjH#K#ftPy0KSCp0)JrI zKlS~_E6d&xeEyetwo*|I>2reka6HL;EEzyO_V*_dUAJ;hxvh<7wpc=hQW1^D>%vmF zpUu`J((3E^R5X*1Ag$qZoJv>827&Qn4DtXZ7qMhkXluVMc!fNdc{s%TpG$KFNH>Dh zdZe(|tG1(4uE!1}j{`m4A!NEDfBKGdT0tZl=d;9iM$idq7xYFRT$IkX0QiwHUCl^W zhPH>3sP%uu6@(aTjkAgBw1H*O7G=4FEQr8zvKSZI*aHzCz{og|FHdW<0x=Oho$?ED z0VCUMeD&sFbN+qs4x`)IcL%=GP!^v4vDl%GW=B~=A{JU<(l+Ype?&)VDLo|lwD!Z~ zWIczN>Z*cg=OWW8^20-1YacRunr#eu$%!jDP%)gk5B#7mXy6scYHMo8Tm}PH)$n_{ zd(Q0qBW`o~eP>Pmk#ryJEf2NWvZp_c&vMN3;p1%$l7#ugf@sDqv2Qf`Jlt#V@-xAA|&o;By0tq{-Ke00A!j=ba!J4Rcy){1SHn!tgj1Mt~4{G7$v?HR> z1cX#zR|UIHm%2tnLQx%@kD|f5%7K>=Y<5h)RU)oroIyWghrrS5w0NpQlB%-bsJaLR z$3(AdeIGpCZjMDb;Z=S;ZCumoSuIs zJa8=whmWtHv$G3|qM(q({o$D(7Fk|O*fW&aIKak90k%jvqP*9W1(LNVEzHLq0x;;r zEtS&FcZk8+__JNoiA!jqs-BlI+nk>_^Bz~~=HF9+;Hf-N%9>#4Odm4Vk!(xGiQf7`om6xSQF5`oW+X6O`5D;K71kPAxoCwLS5iQ-Ix6Y5i11DwXGaFnL zU%P=m`*;{j*EO z4UG)e?+Myw$PlSdn<2LQdYg z&JfswC~d-PB^YFpNP=-@9@Y9H>?WF$!A!M@t6`ZuNkunS05pIdJ>V{X<%`>PL|0f# z-AS|d6eX|6@CW`S3x1Fx`&xCPb550d$pH3IJP^Mp;_A56)NDFvL_Ra}t}JxWbKGlM z!!qNu-KqlfDTtnEsJ2=rC&?s)9)8ll7d0mW9Zx#kl6FW-qadE5Q-l?uf>F{C*{hkX)<^oYN0}1ii5gWR?@VtNfUEzQb8*Yx)!5xN zOAuPoY-k0CL(}}Wel{r|c|wGK;SGGnI-yw{uvKkBZ{yES#Z{7?CJ0qDb<806Zmd$` zArehMn@W>>haHS1MhwQ{IYto_rz7Q-(f*mj?24s(Ie%+@6L&9zYo&qzk^B-D(Pr&Qwy_%G``dL^Aa z8H8>lRrG58=c9ghNC0g#i~n2-W5ac~bm6Rfg(sOwrN4t&31<>BK`KZ$F&D-W$3l7^ zj|cq{7P7b~Q0%*vGdmS`T&9qbxd=zSrp^BKf_I%`Du;@YX-6tA6>ORKN?b1={L9x{WPsn- zxr{I|S|rt>r^w_Sh1BuLqJD=X4_r+waX8t0M4W9>rCjMoEjM!zGCHAnAkKpd@dAys z6RZ>eQi(Q9Rygx4H-kv%8$dW7peMI(h3X%J5v;nRUGA0|Bs0TZUehn!P?WSAPVwV- z;;MwL{2ZfMI@g0hz%o6g0Y|&?EiN?ya+$7o*kCLljy{Yaejo5eqV{Jxh~=&n=prtN z>%^$T#!9J(5Q$W3@h#^ir%gxmS3G_X)+c;>n!5WreNRMZX<#FC>7Vg-wLnhY{l7AX z$%)Odm?QyEC=vP??Cf${(6hk$vP+;HjKlj`TDst8j1lvmcExA zZ9*6+v*cz`Yo@`z-118`>ii9hb7( zJ3Q!XBZK@&Njmn7*!?IRda>iYX~9_0y$-KbfClRo1~jIh$eOS?4S=Vo9f}-(CReP4 zjlNpZpL@Zy61?%Ch~A8<7~fsVb`J^Ld)r^JSxle>6Mlk-I&1P7G~#8rPcxQyrkJvK zbc078N;KxAlI2zfOU#hV8jkb8WCt~DMVG&9FRpt`nRQ{z!?i1x;iCX zyc=g3@hBQhjeNa5%oHX!Ke0_7WjO|Bz04&XeKn_4lfh36Zd66Yi|SIJBJYEJXIWuA zN>G7Qk(4u6RD??mf!`CgYoD+0O@ut}hyClk?l|AKmv@4`k7bU&?!G?1$CIBQ4*k2h z)mei+-|w^eM*_l@Tfa|ug725Qka4+H_3 zot;Z6`yZL^|FWE7yPuPk-6T)Cj|fZwg<1F){~`XD5tJN(NFku(^|)KBAts^%v)Iwg zoHhb7GmE;xxFOmHv3fszu=jGMsa`Q=GTE&)YJ%@=~(Z_MYR1}_rBW!5j=W8x)u_cA!n>A#D3{`tS`V@c#M=VTLpIxe5n}0M%E(K3* z)-?HwwZY~32y4JvSke-%d%W~Q;1{a>ZDsF0_;U&#-uw>Q-Rv=gA`gI#G`Pe3H>m*m&v z`JEtRSL$_~8$gpvOUXuAJ#{2=yqWIqG!>Z8#YLn(YvW(9e)Lp)r+jSWi8{{}oFN>T z^!%B$%I8Wx5l}B6pIikxjO!bRDP?v9F0Cu4!X)SLeB=|4r(YMw*Nr*jEG#090^PVC z7@si3Drm(gu}d<35Q0C!Y;vAm2%+d0jhxmtn6Wv&)06wgK+hi&rGYQyOf3I}z|=jS zG>@4|19&S#zSO8BHtV+d;+HHxeox{H6kV3ctH}j76*#XHsw1`*?ItTAD{1u zvjGErC*ual63cp>npC)%rkI6?9wxP_xMsvI?GK0Upnu3_CrU^f)HY)IICvr^BLjcE6t;|E z-rw3gYDTRp4bQV}aQJ7K{G>WIYf*eHY!Z4yVG?Ld-^-%I5wT|hO_Ttml$+vKv`cO` zI_k~RVc2Lq3Ur693qZ$0c(68g*SU!)ZTl=29IzUd=d3$Yz`->2v12@q=*J)UH z)x$@1d+5Gu1VeDlf=eaIGE%>k*j^wMqlm$iKPmqCZwNr03x z7jza3vEcIl?W6dDg>^~nzJV-yuCgyU%C6j&q#b;Upj27q7Ozw?Tk2Yt`GH& zO_9I`&Cur((MEc`q<1B}>n=yp)73~xSNI((8{W*^KyVhrCv@r9cDeUQQ?D4DopyRA zlTP#bOwRq1!Z-J{(*B_VSliZNJKgg$6I#*LvKP>Bv-Gte9Z(N6M)Oi(u^TA{O8G_0POg5N>Vxz{& zVRQMh>N?p(F}<4s#W+uKx#2X8FQjt{6eRK3j4n7?++U|nK0QOQbs}hoBI)PbfgG!S zm?FpsBs?O;o8x zbq$S8c`uh`huqu4e1!Tb-ZSCzj41zH=CIoqc>MM=mwadnl6|!GgmxqU-*yo zRV>FF{sXHhSzg}?Kb07>*4=$vm3R4$Z$9><;4Z%6u`shiLN{-Ea4O}3t$JtElE9Mf zCq}0!BJw2-cGa1g`l)vYppnF0Zr@Fi?$(f~(I272D2Egs97+P(>Etd2K{FYy&a~oS zqP+Zs>9gX5#gxCS7f@rYlv%txQ`XPyj14{Yd+=_Vc!kMfZw;2DS&U{PaM?tvZT&)X z`Yb_a9_A&QdDh8+MeUpyRuC7dx5m~TaHj`9ah%e57X~yUldL9TVH(#j`$k=;od?m34rNa79A6=ypq<*{(}9jfunaR<$ zj=C&=D0?Z7f0h4KNIQ`xc(~DcjlL|7vTmXC3sfmK#y2*ba%^k6gS!Ga=u#uoUwI?FjXATBYiTR{Mhr6(e8-40D!;MSe<3d^!YE-nKV9GouBC zZnAxWy;PpNy6>EAd*`<=;U^F^Af19l&&++m+&txWpvOIfPqnD$VMmDfL>bCaxOfl7J#UP>*`jZ%zY9&C zi~lP!rzBZdFnl~NA-%AFuo<+N$OkO3+SQFM47t_QMd9npkbH13YP=m?bi;V?=xmyl zjaiLS$B&EajS0(-=Z#%_XYI$uqo4e2_M@jHeHKO zlM0PnlJ#;3{R%#;GM%9*j#Z6^DoBsVBQ|K|R^p$~ZYxK3&MZk2@g7uZfPC{gZ6hRbwzGq;ql8+FeLfD& z3a=3*1g<{mH#6CrE)An8*t(w-M6>58Q1f zjYOiy2Mo=-Bo4P05EFiY?1;wJ)})xE((EKDZ7k_ccV9gOLay)+io7MGjcGD7UcLNy zZy$LD88EY{o#Ld%jcfxd!#}nl-Ik`nT5#1XQqKDF!<9yH-M)$(6fZ7paaKU~Zts^B z=_#E-p_y2pD@*e*Riotep&+>>@}5qSmSbrY$T=AT@gt5&`h6#yu#0rHe0>{hz$qwB zV{DgIP|+bq>&}qy`?TL!eVQ6&4OFSs)!(|Jd@+|RVAj^KOTTVAv%X>vvtQ7Ft;N}kiyiE0E1rd%H&FPo~ ze(4U_{RcFwd&&oDp)}Y#Y>IxP)@*(MR2vq&3=1QC=w5#5iRAjt1o}?w8S(^CjH-DfQ|-s7VqOR zz8?e53(n}yCB7+xUFFSDjvrqA0`9C7`K6GWo}L=I50hNuLcCy%rAI6_zN()y6?)}7 zMJ_Q}Q6V2Wy0od5oz+ko5954x7Y&&d7!qCMrES0#jFk)~YHp{ewydnP7z3hL;VvVR zqKgQs7O&$!--+WwFjqfAEA5aInTKcqERnNKiCK@omBc@#*w2Te9C}6DYd-0i)uGiJ z%F>=iJc=xiCj^WaRe{OE zk;YCeh#S)utbmOp7fPOV*D%jUb1O5E=bfkJpWY27Z0C*CGx8JIasn)qi>$%i<78H! zpX&jQ(^&u@M$Az((ijE^|*w)~c+;*hC*++Ihh3*Gv}c%~bv*^FW{( zitYWh0VxpA<8af{rYCMNC$wv0I`}GKA$gA$2lp24>bpMo%Aj=dFVGnCP>ndwl(nY%J`UiuS%q z;A4}O9Bb?ATG+JLQ;Ml{7M*LoC3e#lKl_Ore)B5!GUui(psm^uRTtkX&)Ulyv=ZAK z72kO>t21zvc7N_u3YYhZX}iv=q7)kA9;<7uyny)=(09+GXDjEJm^{(Z6a(G;LDz9* zU@n^U_)Z}EqRA*M7|UHnGu}_G9JD5l62LXRJO7?b_$Jx)f73o8Fm@t-183$#TcG+D z4pTEHa0+GZ+o+=|7O$=a3Qz8GlSD;?`FTOoU@=-N*Uh1R!Y$WD-!n>e+;nIcfd@ri zfV-%Ko~u)m8@H9~e*Nl=h)w>;@ljHH-F`;+e~u#b$`c>zl=R}OEY6;Af)QXLwE9)e z&C;qlP;8gMCTx^)RqfC}?`%xl-&=EZd?9?pL)Y3N!63v`m36qv>dm+HvHTMPVpexw zRysxEh4p{|#`V7{9~ZZ5Lrd5;D!1d1VAiLYjODyJ{Q|0}OKlxme= z1EM_%og|;{3WJpn2*6OWfc`PSWUa7TqQw29gZ~h9X4vVs(dyy#q32IGS>C)ARiN%=fYJL9-oc z9W&^&b4h@UtE+R9Gsn}HtCf+<@8#@l>FMclf-uCnwaa=#+qQKu64H^!UxFgN>gQ#~ zl`QqvwA`RGYB|mC`GNt0{9CpPVQs!nMX?eIh4M<{mR$ExtuRxU5CA}Z+Sz$2Dt$QI@cCZG8nyyMqu;)Sqq}ml-vO3zga~@ zYJR~)mwr-F07bQ`HsnSRr>6~~Lmb5JJTgA6RXFi}IG z)wD6AXsCcCJhiskNz?M4qAN8!Io!(Cr=1Q8xsZ9_>QK*k+KvQ95lYj@+|?D`CEonqt6*|6>ISdEh(;>RAb3MURaqQ7 zY#L5tVxvU)44&o8EpQ--aswj`xiTsO+K8{$A9+*%mZYKvxg2iqZkP{K`0La+%z)Kd za4gFK1qdj{lPcK(pQ0p{`B+#^dadMzNj$}>|B8*Ra>7UOT0=JZqI{f3~{Ig8?0 zT?etNxX=@SMI9KTk|)`ggjHiM8q-kK4RJXuoQIfJ!n#o6_-A^u#xC5=24fDh)#$kh z(YhEbDhfm`TA(T4jsd+qDT4lH>(Q97Tt~RaS6NCcjaIb?SpUivfYJd%Oy#04b2qa` zsz&$dD}(VHfaKvl$f6VZtbLh(@U$W>)F>xyEWY;tJ)a@IC}~r0tn5ElS4CPisiISh z62Q@1=2`r(G9jarSEzR>(S<7Mz&~7gWjJ1?i?QG6=1Om0<9Z^%mC5~^ugFtLjU2_& z{ziz%#GPqIV{R1%9m@^1M?}q*wA!L<$lU|(ybh5k=Gmo}p(m}DtR0k~OEwyG(u7Q@ zJZqZ59wYcUnJ%_qsPXanmvDS=rs!zwG75}e8a;mtz?zzjT!-yMoy%}3(fu}D(Gnks zq}Acw#q8f)XVB#fC~qc=8!4V-QMm;$m1JpuE~`U!`i4ZTK%a6i>{ z=szHVZ2oGJlTVZ}7LNhpbcjjy-8Ac1Ub#t|=3p~YNWO9W$6fV+}xZILOd+&;rT5hqm z}Z9khNqfuS52ait7RK(XEP(=Ri>k)n{>@GDl%sjRE?O+o*gR#P0qLWqJ3P7Ip_+0-(0 zWj;J2aDOZR5I#F^B+v@PvYG^DBnHoroOS@TLNAj%v)r+h@Qos6xPYt?ByC%G7(hOU zl4A6FxP1`egIs(p*YdDXoBesFUbO_I?n(X#3n}A<)3^Gg%mKI2xzz59A}ey(N(E$~ ze>0$_B1yJs0+erxBZ^N#a%55ODpfd4N4@#9GS$6M7V}Pjm*lv|Zi9{%Bzi@Hac7&> z^-dt;-Oi(`#~w9eg3hF_WJ;8)_@YI%$wAaKd*Q6mnCfNGBQCCO29sx6#?%3YV)2QW z9^c3|q5`KPjP6B19hd{vrfBHho4qasWT-#Pz`^h+UQ1?R;utG3eDyTx*~^XE#&e8U z_t~#Fb`&2rcz!p9>RpU@p@#YAVEP|R7zw}V+B7S-GY!*oG9G3K7{$zyov3L4$w~M` zwD_@jQ_CN`k!nuDr`m8vWyp@L0FU+5wq1z_btBA_fT6_Ito~C`|FQ7-jJ?jq`+?tG zX6Hv>lBmn0=bD9LClWh}ebmuJue_BeL~%W@v!>WRKB!>9IZ$I5gW89E>SP!h;Pwwz zK85%Yt7BJPU>ow$J$5h&SFwC9dXd?$$_Ng$v#698a4ID^HubM=wW)<6ADe@_PnX@p z-g2q><4El#aWO+h1H3MDDHa`bT46e_KG1AiSTk<=Mc5MlsZ7&rap#5lF11ahJm^QB+oHH1hJ6OSpzH_)nm3#o9BqkZR{bw2q(0T7=$4s9yV^TQ!FG znS)FUI#DK>*;(Fz#&O1S3jmoAzO`wE##wjlTs4`;gsp1s>NxyeXj{hL#P;=K5quOG zsvez5DWcmYL;!?JTf}N*U~kNk2hp<{$ga7px`0>lnA>- z_oqOi&Xhe;B`Y8vxC8!nG$ZJV*aOGsy_@j}A#~o~`(@qtrc^c&6=MpJABnGUGN^)6 ztj4-LaGMH*zl^%E14<*0ald8AD~6_=55WC@G!uS{9Re(bALs76#q)XO3fpTAiqn{r@43k5VQt+#C(;PisG0FT|Q3dHfsZAPC=b=OCP`hNnWIc zUKHFDK|qpI-NL^Z$k8&C{+8*F@mwxij&uI*>C+{r<3X_mVWq#xF4PALzPtxOHoY=$o%@tFUDGgbHlm^jIeU= zDwVmLtKu+);`l`MhEw40V+)Fyw+*Vxx37RbP)V$+_y!HcAv2xb>fm0bSjyH&1O^K@ zjsBG;V#y@v5aWO=Fe}Jg1w-g_Bf)KQmK@i?WzhTAwx#H z)n>3=2!UBM%h*``w(E_O17!$19P_#cViH$|1U}nCe`H>I0j~V)Cgz3mKSwr~nQ*@? zBe_B~bJQpspLL-glRc*ctrk8n2DFIt!qYXZB%=Ferw#4VEnrB#QzO4Jz3WzNb;(0@ z#`}k%VD9$%3~%mCrsPE_LAVkP%GA=x_l?uyVT1vcKK_0m$qCzZS)`B))hixA>TR^k zquD&!t_L{VZL{}Z4(>3_=A_(WWs)ZWKu0G_&m^!Nl8jDBMq5d(iEKtJ&xWJ7nvrFX zU@ocg&D5y-dT|MEO^^rfuO+0C<^=mR*?Y$=A|E?o%M_+hOV6Dc2aWoYyz9L8Q8_?L zxgo#r%5m@!c;nFc2W<*dR}Gxj6XcFiw}IiBsU5UhOJR9x`{u3EN9_)BMo23>dR3Qr zk1gBcp(wIxbjTRKohrXYVy_wRakxIvB3){ZB+N>n*}K@IK}VmIz{#0pP3mY+IIGnR zSBN5Sq08;yo4BIh{piy*<>yXyObPU&UC{laa{Ph?U zYYr8!N+%+lq2GAppWnRK!d@F9!X9w;Z=r31apM{0HE0L4@FZl3CivUo#1)Tl^&+Bk zO5scJ2Zatbc_S4mgHZFsiNstO#R`TD@eF0Tj3*O(&w9|TFnsb<`SZsukX89F6PdKO zR8SwGn6S*bfg66MH~IZOwcL(*QJ$>Igm(Zsi0E`KBof4eT9+@WvE)o}E`wJxU6oOw zJwRX|2gwvkky2~)Z~`i^XkPD#j&G27HSR7OnN-PjtfMq-;$vX^Iw3VmI7&`=FE=iK9^Ol+zf(BAv zx#+(nx1>p7_CUhDmBI$=%)NZxzr-tA-j6E_J7j~NDO((UCx+1F8-;@+!tzG6`>(ZQ zn>$E~)so}ShEPcU1Tvbea_dU{u_ld;VFcTLUQI-auz&egB5iFOd2_{A6)6-GoRU~g z8r;Q0sZ{^<##@J|Ynz-8Sc$R9#!Oc(>{rd>P)}h5p}PQXo*RV)x5DV*&-=BfPtVtn zO9V&~OUPWE{KFlroK~-u`eX67B2_4+W`>0tsPRRji$y|&LZ&OFwseXjGnE}eY`>Wl z-K4h#S>7=H1ZOXti&v7N<6^OyS)E*Imwf#9nlEi2u1>f>EJB!H!S|1Edv0Fb*~RZx zN%tlnuW{HNiW@+nkI%rsK!JhbbaM3gX?66N*|x({Y#}ok?GrW<4L_~MvoD6ams;Nx zCm!NF%{p-Wk$HS-h$Gg{~^>B zm(viBng1{^Ew3v~9eny{vW`qQFmou4#1;y37Cu*SBxlnI(%$ zXN9mEH1NX61<;5(aIN@!tFUQ2yJSoIfQXnGZEd-KR@Os&B@h=$Z(J2MgVNj2&!uB$ zw!jPnL)qf_@rPrILj9@lA8+oPrk(wfpRR;-gU{{PLn8N-&AXG^eiU`P$B)~eUf&Nt zy6xWUqLu3t1qDsvYmPXA-ypi_H(6ck?UW?JlsiLJpt;abRz zb7trA1?#4Sq?VL6si0I>L&}n-sA`18Xpjfwk$(`Go!9+&SQMiTV11SP;V~&Z>a)1h zIcpEe3)V2DALr0BQ9m+AO<%KV;!cMSy-_!n&1M8L7%at8Z@$mBocd;J_!o&6o9&(@ z&JR{;Mz0G*=8YCirx+)qF=E-<`RS{KL-n*KytP%O{N8+* zwUUI#{nu$0Hfu-pDM@UGNF+*Q>nH6tA=WuE>FDt(!}k2eq4$!Fd}xuhKqHwZP-n~A zsqVP_^bxY-H7C{SeIGfdt3hwjxvcwmzSD5ZvD)VmO%*~8oOFIN{b<3+Pk_stN6$%r z%h7@BV+;4uQq}ib-SZvWGWH9@+&7+0q7}3{qmrAS(&KSlM$q?ex9NsDtD3vSu$cDU z_woFL(b3zZu-ny%^BYV2yDI8e*5$$@ndYpuLO||q^%-^g&v)<@!%GzZ3D|H&@4R*S zk9ES_c9$Eh-=q8I%eB`_Huv+z&v%#G?T^o^enSm?kn7h})Ax22k7K-AK_=PJeo z%?G3BmDi?3Ay|-vWF-NZ*zLsq5FThyEb{}hoaF1EDC3H{lw^Pc3}dQ6S?6W}B$H*8 zOb9gA;g$NgzyDb(%Af>B1xYdCD`qG(D~y;1O$?TM&<>P{3nK&zTTnKhnHb4v7-u>djzd?G&qkvbEG zw7*6KxQZxL!;EKMNjAB;5Sl*|+CLJ}bQ@N>#q@RwFoo$c*FwxP&m}8rNF#(Cm;gXs zO{Ov&#>R$%Aa=2auwg;TSP`USMOX^93|wJcV`d_9*1dycMOFvRcuHkK(V@-b?o_qP zSP(*D$22>f>YHmKl;p*`!t@v){4b**9lPPoSO{*qE`v%nIo;6iu4}izU+KxH4$c zWyUcJ08%u@>qfH?{5K0q=_ygK4;1wGM6>)(#PJ5zLS!m9J5wJ(VsYSZTshO?gOE&m z1p70S<&SwFnNWrmj`e1B7Dzm5fB!AnV0fd@ljQ6?@3v}*QL8ny@EX)ZH#rDTL~5dIUXzTaV2G9EX^ z3xHxth{4U`jjSJzy#k46M9H8mz&4$06eIrp5Bg7CDW5I64sJZb!sFANz&|)+%?7=? z($wOrJCe0cZBz^&_&=2_YO+A993qceyGUM8LL+i^6;n9x>kgi_N96x$@UC;SiKp#p zu?#+<|4(L>AO>uwE;7?9C76`)(pjlZkLdxB&5WB+6*WRn1NV(;Cy`iPtGIZ$U&kT|9{N0N(-?nHSZx|((ivh z_Kq0-J6b~r8p0|{D^zA_^`z*}|G45%FE9Djsow)A^LYw*b~>NudBOijS(S_tz)JEo z3BU7&{*mFR96GlON8V`nAFo2WbV%9ma}X5}M$u|z@y|#b=fA6Nl-mDO+X#hHadlDW zEhshhr-g<_O21@yTxI^x@jSaMYVo^9Cij4k`-bKvI*{alDK#Ec_-y?ytNU5U)hed? zA4*-;!mff8ZkQVm`TsC>PC=ps%eo%hwrzWjZ5wNB+qP}nwr$(C?U}pwiP&);Zrq6T zlJ(Nv8J*oxQI+-QmmZYQWQnP?%W2{0${00UN2p;s>z={Q@{ZScWd>Or@Xy6U0qJh{ zNP|v_@QWxdSEE$^hl1YN&Bzgg5H&AM4|6-xUQAz*OaimmWLhy@s{{pIaFj5Z7^I{l z3xt%R&Eq}B{EPd6`qg@r)6Nyyn`_FG@mc%(@SVIkcrI)=aWz&^R2Tpqy$5;)!4&M= z=`4E0_2o*$&Bz@;3nUqW1b&wq>=xHclS;?&qJiv8{I7aOlvbDoc=xU$+>!vpv~(t zyJrsxY3Kh?2-nxw#Lp{BsTO6e!5eDb;xlW8pOL zJdN`j5dI^UYPitAPFT(OXwWFWWS-HxZT>t{zV~;LosaM%r?*iuy140mGRVNhYUHD6 z=(k(#%zS)&vK|DayD^6??pw`mZ5(WD;e42w7-@aE+r9RN1_pos{xvfA>*Zs>YiY>1 z*eXmfRd%Z|xl6yTHR9>*VPoUsVq#)p;pAjyR;DLu((M(RDJmvbT4M5*BOUr*Er5y1 z=}Ac`I$BEV?fz}*k?r~Do0f*()2l3BA)V$wkuh7dWu~tCG6+aXRGnP3D(VIXfS^E1 z0T94C{DkU_Zujrrd|~Imtqr5?=mA|FQ?TwuGD?VLp*D}G zKm!*Oi@%Ags#c_l!VVg2byvFv>YwG;UC`3@Wz$k4x|xR*R(_he;5?O4d-I zf!{gb1;&sdwC#O|US4;^@L~)j>&$tgFr$p51P{7zKf7Mvef}_N`zv;r$?%7s@zc`w zyBEYRuT`-9iOZK%VIn72Wu2v@$%?yhTrM$^)b^uP39F8co#DH>JCC6Q<)xL+kPzco zfT$9abPJ*SPG_5#no56A!j`UMCAbw3PSTgBfq~Ua&H?O5TBH91TSVc=WCT%AKDkIQ zcC6-!qD}SeTbuiO^CRO!I5S}18=3psQJlWI|GW=li(NT--42HWX{#xOd4XnEOXSTM zmS8YtOGv=Vme`&lw`6f3`e!-hXkIjwT<0P@gZw$dz@K?he(9L6E`!^%ZIZYLTZovQ zMUVq4#$j`=%kQj`pL&|SK)*+z zSe%$zbvZ~o{SqOvVkK2R#HsNX&AzQKR0=V!jW__C6jgaJ!mS>%w%zycYe0M?@aF zO}&Hy1RI_EK)vtZVS7fG$a_K8L5#k}GUcKvpEiX<27S`?pw_-P;C3HeqRA^siW{CT z{$~FDw288rZmVk6Ej4d5p%aV|@yvG?Xn-APpy^VUB$Vi>OqYN>tAwDWG3#Er2+kMf zcRaa)``euEujkp_HTbb&qlxeC-{JYoM~}z1;0=^5O%3os4kN@cc?oT3D1^{NC^#aZ zyY4zNdMMW_dP0Oxg$OxM!IJP8hx~|uV9;e@(zcPjvkC>Il3JhlJ99NT*S8v+1Ryfp zfu(;*)fY#gT>Y+B+$AJ2EIGDqVDBLDLGeH@00#^I{XCzexrnX1b9P+pBs(+aBuE1< zP9K-|)7#5V&+XWsrC85ZyOzu6f4P<)H4&B==P2)fmX&H$SfDV5@H1#A@zJ(0i)M+` zGL%G4Vu^Z0cZs3+ypATLrHBebt)_JIjhtTh`b^VJ+n78k&dGjh?LzA*BR=B0mi^c! z#O*==K4g4CHbBx4lYt=RvJp}9ac}v8djT-xI~}W#2Z5-)?fYT&t@Ul+t@9tg>1)fj zu#=fYG23BiGSzKIXDT4W(Snhcfr^59O;okGKwQ*;ku?W>MryAO&5H?kX{Vy4fT##W zUU?ak*_tO6tL58W-tGCtY&_WU5Z3I%i%m^5x2Hr>OF_d$36_P#J+>^f7%aoa7$X+s z7MzR1CXg1xlk`)68Sh;XqD%vJPS5VO`9a)l z2maV0X@JG}hw#U!zF3~lrd3Ng@8om9%YJew)l- zH4e7AXb`0tC}^ccXSI}`z!M8Ao_yV*v3$Pvpc)_&rA(g!YkHzCd!0-|dA%i`3*Q1BrN03NRZUBcFx zRy4F^YG^=`6gMW2Sb>F)-p0}OHPZR1f9p|G(jg>EfYZlAa?Q&K3R>U-ILeT2t3=ix z+#95dQ`Cf*SkYHX63azkER3eTURw^)RH%cf0a+}|JMAhQK_A+yf5py{?8kwuwI4Zn z7d4V@e^yxzPn%|bml(2VMQs`_MC!m`@Z=tF$Vvh)mpn!oLu9Db= znscv3juMjE&TQ+0emO}yjiJ5e*e_h1@9aAIT3XPW=jM5SN>WaapFS!A=ayQ%zc ziXLI9m%^rT3Ukh&HzEbUNPFxfQA!*s_eqRpGz9eaC^)uB1Nz_L)@0I;`M=LlSzitr zzMWbsLpwd)^j}RE+>~=DWtF%R2cPX$WP)n*L6tVG{2E8^`LN9y;Gb}d!QiZRjnI;l z#yZR4^t8qC%bTC%=;>^+$aivkHOo3+4{JRCm~DcPH56E&poG0ZT?gj`u>UD%TnH2w zIvXZ1phF~z8g$vr_M_ETN<6~UqW*sV)cLb@J!s0dMU3H~yPg8*89(A1vP7w8Z!AX3*ksMp===Rk32v%9ev9<+w>p|&hZ)ax( zZYc$F0@)jw7(=oPC^v$VME;e^Ivch;@laIMq!mmC_?W0DTU1N1uvOSYm$l7)5jgS0 zhAMn6U#~_|8r{rHDs*=l22B+n5UF3*s!piqIAei;K)1V zWsfc?yTOWrPX_0UyvOhKKm9c~+obKj9u7jzhaRqs*3q&C4Xm6Z<76aDK+T2PRl9@R zw9xlOQBdeo)=r}0z9nZ0B*~Q$XtFPW$dW4(TCOduyw{dLItAR{7)IT0JCG;N!}N8F z=loQyeOIg86WnjftR`-~cZr>go_e}odT0waZ zNEvNYl}m;MR6x(VZ-Bdj5g*swCE(&PEb zNX?R|dC;&V5>sYh^#`~59=KO3e=Z>E5fjr<`0(!@u(yVeNa+5fTj3+x0uFicN0D%@ zk7LQSo%L_;mUgctwkOi>%LNEgos{wwl>eGw=ja8RswP~KpkUpG2*^29zScJ+5G$QZ zyUXoDH7x@mx{t`7Kl13TJ%l?BPLW%Y+cWCwt`~2k$j;d63IiEdpBSa%Iv#DP=R!DQIePyDIA90 z8~)52lHdTO@q!rngn#Q`5>h(KA}H3Vn)-*h$BwuO@eZ#Yp4{9j&aS7U;F*$(y9{nj1%(?C{-J9MCkwv9EzTMzF}}WVoEe`pLGYDQOGejAr7nvs z20-ZX{i(1X^zkKtyrI+@OF^3*C_k3%=({jcB))!2-^fGQSsg z|L%k^2dS3V{{iV?)RCQ-Tqj7z_u%njv1etqcjp~-4Bd#EKWUP<7W| zT2@zR!Qx`V0s>csC>fpVf6I%kNT)K0#4@e~bha^N@a)DWebCE=Z@q6w7=QcrxFrtA zT?T~xoIY7nnP4<;CHFqLmIv?4dMHY-PW(NmI8)XSV1)dUd1rdu&za5C;K*(&x4Y%j z$xY++zmDNpub3~^!V2b9^lDGMkhkChCN;l)sK?3^2>60ImPBPt4h~430o$vL1j$*4 z5FGtSP+V1DwY^<@ejm}Q%mu8M5Csw1$U@Hn?Wby@kY3B_gJ`v7N_`;xD;&nwmlky5 zLa0~axdSLYtxn|Z`WySWIFNQS+j*+6mA3rX`V8Es$bb!s_*+26ILnFEbJco`#mqW= zUV6_DNde_aPyvHhRf;y1Edfpa7xNVlo*lKjbJwT+hh%o{xFdEsC&*DT27+a=A;VE0 zLy(h3%0$3-#R#_AD3l<9bDEA_Y*+t-0TQk~P#BQ~4uKC56FEa=2_U-V7lWv5H zyW9cN)={*+Q);4KCf3a{9c4gGft`f>A{t5Ij+%9xbzX~Ou7|)8Hhb?}UO{w~NBj3f z;2WlHF2ZxiPi*9rT_)=bf;Ca=INP$witb3*k_eCJ;8VVy`f|wNL!1L>* z+tWqUdce#5vnxW&-6m#&6wH4rOr`y;5%`yd@{XL}a4#>CCh_|IIcnuhEslP&X*nU^ zR`?w)TI9p&k+r(y;P?G*|DR)jh?gauLh z_?Ru^Fu`5}6UQu}F%0fCsBmb841LWl-R;^6ch_6I9z89(m7X9U=?zOoI0$4kHh%8A z_LFC6bulnYA&Vip!wr!1i-3hUDs+E8Ia)2rFgi+~`17mk@9^jF(a+cNL`Se8{sc3C zNnOA$PKcv(^4dEMxjlEtr6|I{SmbF-%dO6%+>CV`IC)x~5T}D86N~P93v4f594Zgj zTV4o*K4#I7iETT2C)^H2*ql<%DG5)a#=Kh~9{Hvx}cP8#14^7s4Cr{@~98-W-p5w-x)GNa*V$uGym#VYsDWt&sN!l02^jz;FGONfW;DMnc>-O)ma}9CnIk@LlW7|B+ z1@p@U``j@WB@Iu-P%lo{;NTgRxr2@J=GYfo*-A3rU0xeCG1c&Fej3o3C)vKae1AaC zEK_hrakK@fjATu255T}$vd!(p@(#(pFp-}KtytLh`S??W^{tQvo z)(nN+XKfNPvrr&8CK(YvL&cjI{kbY*GXzy({V{aoosfPR@A&JL*OPzS{`+ske#|*R zOTWxvHUKHB6$}Kff@qZC7FL%dean%Bq(frbME0eMsT5dpOqvNh8%?LjzscykHZ}i( z-J7MA5gSf~|3I8$L=IK1;toWIka{;2g75hRCi>{47M0Ux6YCHsf0*UhIcFSAVJ4IL zJafK0)LJWtKN(H;gL;$&AGp>vK`B-JH!3=UXV2q)s$T}Go0cC$@TcP3`-3#-B(PZAwx0L%u#glqdrYF<%y2u!|&(L6RWm`Qv1 z$R$K)0D>z7lC_7n*G6ymRj!Kc#x{3ih!&D`xQvjW^xf>-+!`C&ggO8OQ_2cVX!Qoy z7eayixUz%f3`Gh8`EUd#Qt;&cu4N*F|I1^?Xk`ZV!Azj%sSY!$Ehtx^De8_WT0_2a zBJJ2XbT2r8HCaaVB?E;_o;{xau&6ipMoy}c$rq=GH&LphpA!fg7f4~Ksqbk|`oPIF zMmkUxkcqIGm{w$xuJ?fH9K$P_RWMfDW4Nt8Ex#2e7Y=nghJE#Pf|mI}0BXG@l(ts> z??@A-LR#J{C4Iz&xcYsL%r80gaYx=?SOOR=$+7SBnIg24Y&`Vu$Ade3<9q}%Gp}VN z0hA&PAX5DR?r!_))T+O60il2E%m^v)bu6S?R~NnwFSg%6f|rvQ%~Vb%hM z%K#((eb5|;(KUQ4Zpd)sVE;-xG>le(JJE0Gpyer&&_6gO+4H$?(#8~1TOZ>)%MT|r zrtw9Reeb3Vm;Q%ddzNY2&C-_H(pjFO9-&szRX?uBgkvBsQ|;Xu=~T_IBS#P%iIU4j zaeH+OmeB%q9gC9~@py%UHqe8kZ=A3=XhUf$Z{_ajMBP}xF4Eyo`-`qW(jfZ` z7-sN22)%4ogI8cCw*}ifJBJS-iMZJOJ?`8VD+^=P)6K}r2GD3YrpOh9bxb8Q0z^2% zLD9FUT9R_Pa@TTH*r7AyMkY|&Ft=>Oy^<)p_50><|Ii9$NmNzIz!;krdT%vEW(9$4 zY+E;(EuizJNRJ}r=h0TcBRpSE(`_rVBj7S{adE}%xy|z@n-5)2YZwkC5V~Ixj+qcz zNU1=UKkPn+5sIW$B?T($t64$=9EFU7xXcZ7#$~+EwgT!kg<4=1-L=r7!L^OL$W{F7 zWTTCT!2ohB$>ZPJ(LCFwO(iB!qI>!<^&;5Aqf=Oo`-89s^FFCUEO=`q)?>kh=(p;z z7q8;I_uKKghr+Ho?vi_K1vF|F1K8Z5d9rhh8U6v$uyu(B$sF4QAsM_n&%MHJc>|Sk zRW_BwNcm7lhcab*SVu9w#oMHcjQ6F6J}>}Wl*d-cQ@amTC(4(Zmeh;o(HEzFUYO23 zEG4W}qmyiCYOay2OI>h%QYW`n4o*&cn*l+He$ndj{xW+<;fLN;4PimGBlvgQzYRJF z985?&f`AT*5SNe)B|$`xA31f4Z+$5Qvx}B84Vq)Q9PV-0g)^K zx|4$H`fa0Wc0+UYAdX213<-*OAJzH!=kZsf(=D^rWB)kd+!|q@?{(|Z_cZI)t9R59 zR?qF%FUBMvSAm;Is_5Ehlt8eTYK}r0gXYCUKOoH=4XZg3u4TK9QL)q3%<&R_p^77) z{bd;%S-k~Ilv25N;o1v*B1ivSF$6?^Tx|Ck&wCp+S&|GbQiaM8#pj1MUVMoP9t}BJ zvIEI57z$03gWVQmQunELI%k`VR&~s)4bl0Z#L*?gq0WVatSB;|#ptCuS$0=iIx8n7 zq=wdqqxOX4ef2?vNQaKxq|A^4$xW)-MW8q8y`U9Le3W)+U_d}f_u-5kd3R-n|IrKR zb2G!HM)rgi?78ZX&6J-}1_pkwbO4W!`+Int8o)3lQoskRNPO|sjUvEZYu7Y~$J4NG$ z*`P%$LIx8WoZuuij86eXq@zWkyf73jtWl3#0l@QZnw=iDa2Ia5dAN3v_{^UX>G@>ufKoV)t) zgh#N_X&qeiSd_|EtT@1v7*S~gMZnkl84<|CKDr-h2lJSny0L0x=^{Xw&{`WjGPV96 zr@+$DJZ!h_Vv88X=^K*BC#TvomI7X;3Ai#w=x+FdwI`UM#`UW&T{vMYdzs(_(+g~X z2q=C)-~gCZ_ESP7|E=jvfG}3|U>yA*?9HmNW!C4Kt}Lr+dxaZh)ufDmdpzDHf9JAG zO^Or}js}>aJhLBU;msbDS^gRbW|k}7H1IX{!sVDbi_R4I&LO9? z@fB6ax3sB$va$JNQ6QUIle7?soM01uR$!npLqqb~e;^{WA%MHRC?C4R%DT|8#Jldo zgoFB`nwSwPZSS;!Iin$CC$4h2CY%wknUS`-2Zp0Lo#O{16DC-KAiyGe77M(r-QcWY zA|bRG&~Ok3vx43Fn(3GLdA%8I)kX~(VC|}GdqyxPHtY%)c33%{bdibbR=Girb%AbZ zf&A5_Ou#hcygTRHFf*onc?zqnHhZ;!-_cXU$RW>kiDJcqmJ|udy1cz%+l3g!pm@j4 zW!>UMYp<`K<&(a#6TX76(*6!)Th}{x{zt+vr(BUmouu;QnLjZ}4B-2BALi-ZeB4SX z&N$w(#Rl<*k;>A3z@Vo)uw^{Xnj)JjWYd3&HmuNc+<2s(u+VM&n_U+X_7@gumezCn zQO!mLC?*{0)stSg%)d-v2utMG20w>hgP*;4<-W<%>BaM=YkLPQiW?V)oaR5wn(}?i zXN%ky9C+tnJ~%foKb?O(L^4IZ1D^p<49?`z_%_yaXSToh&h?f?NFl}%{jscKKA@v| zIlmHS>G6S%QsCz;CP^;;UXLb_cM6k)-NOp5x0qyy1u{!|fbMFxk7_OllQg+HLo$ zcyuct)~(C_QIHqBUJV^p**gV2+&eunOu4ftdTtH6XWYjUifd`{7)+gg7^`J`@;(#5r$@Cd+_mpfezl@!iFcRQ>0VPtKw27mVNJY(D}Oh@z44d z!DrBHSuXQ(*GHXEjZ#O38|PeDxl8>IMvUE~>Fi(=oP1&8^XA393%VEX64DaB{30uL zE>%0sYiO6{sc?y7kc)pjqXh~hFHLTEwagiF-F_Ceie}tGXsUb#yr}rj+l*rpfGHva zfQ<5OiUfL5^N$3yO8h6Qwk#?Gd;B6o49YbRIz+Pm>esz&Ioy>WQ2)9!?f;&2dw8uKc-dyu0Uj)w(g zqm2x&buN>!;@_Fs{>fe2`i(dLd*PNCcntI6*F0(uV9w|yt6);&1Tp>@2`5JxkkZbr z$df|B!M$T{s5&`9$Ll3N^e|;H)_4E{ooPd`L7}M5&X(bnb96LOl@M+6H}4isk*D9R z?S>iRIHd#;MTEbAkI=X@@k7{ne|~(OG>BYwMi#7AYU?%iLQC2#;9r${YghpCH^cb= zT)EWymCL`cHZo}K)&8ezd_HhmnnV)QiF*slar}W^BF-=zy#hz(tXyjx3F|KwM_f-RMMfH@R8)SR~C@fZ;J4!C|vNKRSzFTU&XVbxYesLN$aAKBo zql~XVh}K$&N)E0G2q$ofhijYV; z1`8`P1%6 zmPVZ8P7mXBL9JczgqL#va%IT6%t7;IsV<8BWGPvA$YCnGi z=*MDU`Dcv^IJPvGWxq}Sz#Of$H|7eMBo6-=bL=3_lOHTuAYvJ{L8P?rn$|=rzNy6I zR9}0mG_J6}^M(P9xp_o(WGfW0Oz=L4Q}JX2o=1IxY%`zvJU}90{Ta;N*LBI+x?>te zW`!#^$D0HYsfCP1H%{_Z-Xo=+br>;!nHobK{jh*wu;;s)MElhHZGw@P7tJY^xP#8o_?Apl)Bl@=j2v@U8~g8 zr7$ZPi(DGBpPl2~v2r-PzZLuUsEdQG#eV`B&ge*XtoI{z&Vfw_zPf80_n_z@Ggdj@>y`Ufg!z3JKNshtCpV`M9>Brq|18m%EB@mM|N?D$q zN1s2vr+Oc)FSEVBgV?V&&YHNnFzd?l^pt|%0wX!3jpxV!mDstYGRuQ8-N26nssj0Q|8MyVyob%%XPTA!6eW!`HRNnHA-{+_nC2l@l>Vh)L!z6`|pB-n$)`&s(cXS?kU3|+>a%y zkw1UHj-J3Jl^-~h`{j|4m4Xnx5o+%4Ta9b@WTX5LAEz)AhK}^jl;+B>jk?I(pe7%KyEJsA9VJPd z;sQ(a$k|D1JXyC@w3KVnU1MI_m=fPCB6R~pYymLh11!dxeA0tM9~l^dLef!@dcy!X z`=%jvzEAiqU@#y_&mz#i|lm&L4f2up1N^%GG#%L^{RjMRH05=tLX z^rvHl=4uK#>Z#FImieWAsa0Ex-IigbZ9+OXxAi>f#$5aB@+3g)Q(&MHMSZ6OKMqCQ z8vx14-^a{#=tB6j9>oqP16Q&>C|O0#B=-C;J6&thLtV*ub$Ed!RY7bEC=Sygd4T+K z4CE)u=g6i4NszP@{RxVW*YNXnZ~*ntBc6o21v4ckV9oas+pq&n>Kc!0PS1=EAi~~4 z;r<%K%~K?*zI+7Ii%i1@(J54vD$FJ-Q|1$75Fv%0MgA-mRF3)-({% z4wJC>Nd+FviI1Rtk^?Hl@he`rM1Fuj$e`6~Aj}q7p^(K{$H@!cO0Z0`$EvwEMWpUJ#fFD z|1L(Q_(|K=zIJe>zquTng%*r6uJbgoMAm^Wq;>U&L~qXkSBqs|Fn|y~XLt@ws7449 z?Pe4i|Io|n>9Bc0m<__x<5i)=ec4dsFIId5M)t%f4IsL-@bIy3>ET0=K(bEULx8;x zlOaCWe*d^WKrJjaXGvIK<2t2|Eu*rC=*s;p94x81l3CXQ*Zy z5*3KH-~$+6h{bt@hI>qC?UiUABqKMoa@nc1)3aCoX%T;n=>j-W-)HUKfoIxHp+SBz z&jJ{Q=XaKve-utaV8h^S{so3qVc>0ZOs5i9C-I(T6_)Wejv^txq;?Y~EBqJR+Z&`l zv*8hv!3+w|1OPJ(RX@8xHqh~@`>Kn$uxA%+wo>Qzrnz?4OF%xZe6oQB0OUt;9G~7@ zgCYPJg$#!N*UI;(!r+LgNO)ZIZiD}i(=Prr{Ihsj=lT`dzJx!c&LzWwQ$~D%Uz-Y< zX*ezlH1e{zf;dVG39*PtelX4w@4{=q*x`}FDA{b{@=fcjhy8u_7l1eMo8^Q4>KAOI zG=f4PVrSW0M# zfk*^1BiEUgdq_O4H!aD-aFQw4#HlbJC+e42-^TiD!rp=Xi<1j$=FQ;C&X&7f^^m@H z+4#EAI>Z8d9E*;(`ctL?G&Vxi@DexzD>j@jg18+!geL%OVnQ#j?=8Ku1nwOc-&D)n zls^XL9}BbJ5!DBwA4pl8)VK1-Is0Jw+JVG%;wmxlsR1X33`l-8SC&X=U}m#GbUMIIaY8umIQ0S*b=+oIPgh+FC7@3-kDBs#nZSUm`< zzbeS^{q)}C;a}H6mS4h8yVM&lx+utO(Uq@K9$0}lNaC%kdWLw^cl`TJ3TcGQ^J$4b z6ICp|dJ)?tUp28hHnqy}7Rf|?Z^E^fiaLgSu|IPOWAQHqGM%7Ax*-=iTp$HAn1PbH zEQ3%m)FpwL({G!)*7Tm&FX&k%K^Rj!vFUx5CmeOPU=T~1DbU1 z8fUNXW;Z?Mh3cD=(}O8VRMZBhPHkiUJaZ9a{7=r@F%C>3QQ|CwIARM_XiL=|yoA$r z7Jc*JhFo2kwl6lmt?1vEY{b)=b8`}u9y@)hj*rB7)u`nvw;(QHRwMu(>66+EC zm76;ToEBxo8hRmz`x8XVGmsin%x7zZny8j=)iI#o1dJ1K`Q>gDRpPBw({;kQqI8S< zhi;vrpPsj`t0Zg5iK0<3kh1F_(F91cLimA>cwioVXV?Nc2$})z@3UAMs}&5$=&G`gSd1xWo!__R;|_&(18IR^E})p_!AN z-CKL-UB1=C;fizoLY&{dZJQ6FIN96;N-&CpIJg-j)afkN;@bNKj6GL(!{tq^KV1xU#Ck%BQ*68ycRJ27-xCxo!S4$?!j~Qoxd7yqJ=36GuR$-uD@FT(dUQTZPq;iVyUuz zXMOwpe4v8+{4wdmrU97@bzLi6oUl&|s6?@aE31Qtl;*NzPp9dB0Tq2eRBMmCb1BYj z(x=CQQ5)VD`D0IY!bfjkr3VK!ZKC2}f8W3n12_8nRqc(bEmQW@49vS}}lSbSTuB<d(Qe`Q6HkLtO;Q<1hqSW96^O?Uhf))B=Fd zO-@jErjZRvg6LX01~beR1IOi=0Sh9t#?lp9cJ}J}JOY>Z=lEPXEIKTHHOfbPN^5XP zQcF;+AeA}|WG*@hlJeIEMl@tNy2(#ScSff7jJsAq4fMr``q?9M#I-kwA3@f6i$d|E!m!X2edy<5T; zCyjKUxtB2QwF8mewTFCGUC4w5P>7pWIpV-vt@8yMMMj-Kix zBE4KKe12ednU!_gt9X6Bh~RKbZ>DUo<~wkg8k}e6PTYI&6f}Rv*DEh1Sco<$&`lSl z<&-Gy!G4xQF-4y9l}=-Py*XR0)70BhHc@lApN^&Vvub~Pc+4)fhiRIcz8V{Mlas?Y zs~(S`?5)pE=HfyH!~bE{eSUUopTB%2X?#C1qgdAKp`WV`F3~UEcRbw)Ptr#lXT-t> zL;3cpQLfB1FqLlA10>}s?oE2U-`s9gpMw|4sg}A;mUaAx$P`9z(5FaoZfA2-2JbC%J2W5sDc@6=VpN^=QGKyKkIw+E%-OswUOMl*x4ZfI=4PfJ z8W;**R9j0t)`A^^58Gktz z)n@N_bN{u7{#ozvJB7bKrzqBoefox*3Rz$#u7oUK*$pNS-V4r`hz!Ch5ceM=8;5-K z{~792v(hBF9(+6su{6c>13W(9LeWlRSSoa&z!;uT+A6kl|+0><4WYa)akiyvu`}X$O6x z?K70garVZz5d+{%CM4oSMMxknfElo00bl+VH2b4x14N4^jtN5amC?hIPXQ>x8MiJF zVAQ`C@Wy$u)p5%Zo?Tc=3bJJY=?QQu{G%_-u0s)`Ndv3ju}jiSCR#~eSiEY{kc!j0 z1~{u{RcR%_GI6vakE_QNT?Elgp40eE?yBQBidh5D=m23;bS4!LaO`wk!Z3`l@NWXb zL8SdFqb_0&$gevHue-VcZ-;~why!IQ3(Qg?8UK<;0vJaT;QD(>l2}G@DC;Eb-~>VL z;24UncR&M0-t~84y*6}+u9&M?!ILyi-Y9)}f|o(RlJmZOUNDkzI@&VMhS9_R!I4SH zPtIP)nZtEy*}Rlw&Tlm#mmAAi0?PR{<{^D9C1S%cMcwB_o(9UbUc+DfF?75I@{%9>E%#Vm5csdRyFnn2` zCQee2esUOD2SdsUo7UdHb0#!D2$;AaE}&rTf`KD@YX1Z?EX{$%l0fT--OKVN5czu( zdv@M7MQgcM7)H#0kFJlMiLkr6p!P07pNfk(v7M_;FOoBMdB6ACo{*8DBV$s$%K-FZppZHAHO$o!C ztom~yeD7ssur?;!fBaUhZWZ>;>{KyJnN#MklfPPhhY%J+NI*y(Ad2PqXg0Ux*Jht^ z;S8A!;}j1=KYtVA6n9sGM14%G@|KqgEocrPYAKi$ceES@V`f~JcU0m>|9C;JBvzPAO%2R#acwoU`VLoyminBO>)Osn49Y7tfr20dg3)S*W8BH^4JXHsW?2s7GaQXhMP%47CIL3*^X{sUDdD z(0zd%bucu>a)D)b&(+_1y}m7p{8vrbtcEK-lI>0WoAKcV_Yji1Qfc5qZ*%jVa4rGO z6t7v5CWnE08?L^l;KK^yzOZ;ITUC#7`N;0

kca=`G7lLT>1~Gg%fieI3F2R7#kz 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 I+=rn50wDfq1poj5 diff --git a/docs/java/basis/java基础知识总结.md b/docs/java/basis/java基础知识总结.md index ae3f3540..65726405 100644 --- a/docs/java/basis/java基础知识总结.md +++ b/docs/java/basis/java基础知识总结.md @@ -122,9 +122,7 @@ JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有 1. **形式** : 字符常量是单引号引起的一个字符,字符串常量是双引号引起的 0 个或若干个字符 2. **含义** : 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置) -3. **占内存大小** : 字符常量只占 2 个字节; 字符串常量占若干个字节 (**注意: char 在 Java 中占两个字节**), - - > 字符封装类 `Character` 有一个成员常量 `Character.SIZE` 值为 16,单位是`bits`,该值除以 8(`1byte=8bits`)后就可以得到 2 个字节 +3. **占内存大小** : 字符常量只占 2 个字节; 字符串常量占若干个字节 (**注意: `char` 在 Java 中占两个字节**), > java 编程思想第四版:2.2.2 节 > ![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-9-15/86735519.jpg) @@ -186,23 +184,25 @@ Java 中的注释有三种: 在写代码的过程中,常见的一种情况是需要某个整数类型变量增加 1 或减少 1,Java 提供了一种特殊的运算符,用于这种表达式,叫做自增运算符(++)和自减运算符(--)。 -++和--运算符可以放在变量之前,也可以放在变量之后,当运算符放在变量之前时(前缀),先自增/减,再赋值;当运算符放在变量之后时(后缀),先赋值,再自增/减。例如,当 `b = ++a` 时,先自增(自己增加 1),再赋值(赋值给 b);当 `b = a++` 时,先赋值(赋值给 b),再自增(自己增加 1)。也就是,++a 输出的是 a+1 的值,a++输出的是 a 值。用一句口诀就是:“符号在前就先加/减,符号在后就后加/减”。 +++ 和 -- 运算符可以放在变量之前,也可以放在变量之后,当运算符放在变量之前时(前缀),先自增/减,再赋值;当运算符放在变量之后时(后缀),先赋值,再自增/减。例如,当 `b = ++a` 时,先自增(自己增加 1),再赋值(赋值给 b);当 `b = a++` 时,先赋值(赋值给 b),再自增(自己增加 1)。也就是,++a 输出的是 a+1 的值,a++输出的是 a 值。用一句口诀就是:“符号在前就先加/减,符号在后就后加/减”。 -### continue、break、和 return 的区别是什么? +### continue、break 和 return 的区别是什么? 在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词: -1. continue :指跳出当前的这一次循环,继续下一次循环。 -2. break :指跳出整个循环体,继续执行循环下面的语句。 +1. `continue` :指跳出当前的这一次循环,继续下一次循环。 +2. `break` :指跳出整个循环体,继续执行循环下面的语句。 -return 用于跳出所在方法,结束该方法的运行。return 一般有两种用法: +`return` 用于跳出所在方法,结束该方法的运行。return 一般有两种用法: 1. `return;` :直接使用 return 结束方法执行,用于没有返回值函数的方法 2. `return value;` :return 一个特定值,用于有返回值函数的方法 -### Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符? +### 泛型 -Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 +#### Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符? + +**Java 泛型(generics)** 是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 Java 的泛型是伪泛型,这是因为 Java 在运行期间,所有的泛型信息都会被擦掉,这也就是通常所说类型擦除 。 @@ -214,13 +214,13 @@ list.add(12); list.add("a"); Class clazz = list.getClass(); Method add = clazz.getDeclaredMethod("add", Object.class); -//但是通过反射添加,是可以的 +//但是通过反射添加是可以的 +//这就说明在运行期间所有的泛型信息都会被擦掉 add.invoke(list, "kl"); - System.out.println(list); ``` -泛型一般有三种使用方式:泛型类、泛型接口、泛型方法。 +泛型一般有三种使用方式: 泛型类、泛型接口、泛型方法。 **1.泛型类**: @@ -228,13 +228,10 @@ System.out.println(list); //此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型 //在实例化泛型类时,必须指定T的具体类型 public class Generic { - private T key; - public Generic(T key) { this.key = key; } - public T getKey() { return key; } @@ -298,16 +295,28 @@ printArray(intArray); printArray(stringArray); ``` +#### 常用的通配符有哪些? + **常用的通配符为: T,E,K,V,?** -- ? 表示不确定的 java 类型 -- T (type) 表示具体的一个 java 类型 -- K V (key value) 分别代表 java 键值中的 Key Value +- ? 表示不确定的 Java 类型 +- T (type) 表示具体的一个 Java 类型 +- K V (key value) 分别代表 Java 键值中的 Key Value - E (element) 代表 Element -### ==和 equals 的区别 +#### 你的项目中哪里用到了泛型? -对于基本数据类型来说,==比较的是值。对于引用数据类型来说,==比较的是对象的内存地址。 +- 可用于定义通用返回结果 `CommonResult` 通过参数 `T` 可根据具体的返回类型动态指定结果的数据类型 +- 定义 `Excel` 处理类 `ExcelUtil` 用于动态指定 `Excel` 导出的数据类型 +- 用于构建集合工具类。参考 `Collections` 中的 `sort`, `binarySearch` 方法 +- ...... + +### == 和 equals() 的区别 + +**`==`** 对于基本类型和引用类型的作用效果是不同的: + +- 对于基本数据类型来说,`==` 比较的是值。 +- 对于引用数据类型来说,`==` 比较的是对象的内存地址。 > 因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。 @@ -326,32 +335,22 @@ public boolean equals(Object obj) { - **类没有覆盖 `equals()`方法** :通过`equals()`比较该类的两个对象时,等价于通过“==”比较这两个对象,使用的默认是 `Object`类`equals()`方法。 - **类覆盖了 `equals()`方法** :一般我们都覆盖 `equals()`方法来比较两个对象中的属性是否相等;若它们的属性相等,则返回 true(即,认为这两个对象相等)。 -**举个例子:** +举个例子(这里只是为了举例。实际上,你按照下面这种写法的话,像 IDEA 这种比较智能的 IDE 都会提示你将 `==` 换成 `equals()` ): ```java -public class test1 { - public static void main(String[] args) { - String a = new String("ab"); // a 为一个引用 - String b = new String("ab"); // b为另一个引用,对象的内容一样 - String aa = "ab"; // 放在常量池中 - String bb = "ab"; // 从常量池中查找 - if (aa == bb) // true - System.out.println("aa==bb"); - if (a == b) // false,非同一对象 - System.out.println("a==b"); - if (a.equals(b)) // true - System.out.println("aEQb"); - if (42 == 42.0) { // true - System.out.println("true"); - } - } -} +String a = new String("ab"); // a 为一个引用 +String b = new String("ab"); // b为另一个引用,对象的内容一样 +String aa = "ab"; // 放在常量池中 +String bb = "ab"; // 从常量池中查找 +System.out.println(aa == bb);// true +System.out.println(a == b);// false +System.out.println(a.equals(b));// true +System.out.println(42 == 42.0);// true ``` -**说明:** +`String` 中的 `equals` 方法是被重写过的,因为 `Object` 的 `equals` 方法是比较的对象的内存地址,而 `String` 的 `equals` 方法比较的是对象的值。 -- `String` 中的 `equals` 方法是被重写过的,因为 `Object` 的 `equals` 方法是比较的对象的内存地址,而 `String` 的 `equals` 方法比较的是对象的值。 -- 当创建 `String` 类型的对象时,虚拟机会在常量池中查找有没有已经存在的值和要创建的值相同的对象,如果有就把它赋给当前引用。如果没有就在常量池中重新创建一个 `String` 对象。 +当创建 `String` 类型的对象时,虚拟机会在常量池中查找有没有已经存在的值和要创建的值相同的对象,如果有就把它赋给当前引用。如果没有就在常量池中重新创建一个 `String` 对象。 `String`类`equals()`方法: @@ -379,13 +378,13 @@ public boolean equals(Object anObject) { } ``` -### hashCode()与 equals() +### hashCode() 与 equals() -面试官可能会问你:“你重写过 `hashcode` 和 `equals`么,为什么重写 `equals` 时必须重写 `hashCode` 方法?” +面试官可能会问你:“你重写过 `hashcode()` 和 `equals()`么?为什么重写 `equals()` 时必须重写 `hashCode()` 方法?” -**1)hashCode()介绍:** +#### hashCode() 介绍 -`hashCode()` 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。`hashCode()`定义在 JDK 的 `Object` 类中,这就意味着 Java 中的任何类都包含有 `hashCode()` 函数。另外需要注意的是: `Object` 的 hashcode 方法是本地方法,也就是用 c 语言或 c++ 实现的,该方法通常用来将对象的 内存地址 转换为整数之后返回。 +`hashCode()` 的作用是获取哈希码(`int` 整数),也称为散列码。这个哈希码的作用是确定该对象在哈希表中的索引位置。`hashCode()`定义在 JDK 的 `Object` 类中,这就意味着 Java 中的任何类都包含有 `hashCode()` 函数。另外需要注意的是: `Object` 的 `hashCode()` 方法是本地方法,也就是用 C 语言或 C++ 实现的,该方法通常用来将对象的内存地址转换为整数之后返回。 ```java public native int hashCode(); @@ -393,25 +392,25 @@ public native int hashCode(); 散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象) -**2)为什么要有 hashCode?** +#### 为什么要有 hashCode? -我们以“`HashSet` 如何检查重复”为例子来说明为什么要有 hashCode? +我们以“`HashSet` 如何检查重复”为例子来说明为什么要有 `hashCode`? -当你把对象加入 `HashSet` 时,`HashSet` 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的 hashcode,`HashSet` 会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 `equals()` 方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,`HashSet` 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。(摘自我的 Java 启蒙书《Head First Java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。 +下面这段内容摘自我的 Java 启蒙书《Head First Java》: -**3)为什么重写 `equals` 时必须重写 `hashCode` 方法?** +> 当你把对象加入 `HashSet` 时,`HashSet` 会先计算对象的 `hashcode` 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的 `hashcode`,`HashSet` 会假设对象没有重复出现。但是如果发现有相同 `hashcode` 值的对象,这时会调用 `equals()` 方法来检查 `hashcode` 相等的对象是否真的相同。如果两者相同,`HashSet` 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。。这样我们就大大减少了 `equals` 的次数,相应就大大提高了执行速度。 -如果两个对象相等,则 hashcode 一定也是相同的。两个对象相等,对两个对象分别调用 equals 方法都返回 true。但是,两个对象有相同的 hashcode 值,它们也不一定是相等的 。**因此,equals 方法被覆盖过,则 `hashCode` 方法也必须被覆盖。** +#### 为什么重写 equals() 时必须重写 hashCode() 方法? -> `hashCode()`的默认行为是对堆上的对象产生独特值。如果没有重写 `hashCode()`,则该 class 的两个对象无论如何都不会相等(即使这两个对象指向相同的数据) +`hashCode()`的默认行为是对堆上的对象产生独特值。如果没有重写 `hashCode()`,则该 class 的两个对象无论如何都不会相等(即使这两个对象指向相同的数据) -**4)为什么两个对象有相同的 hashcode 值,它们也不一定是相等的?** +简单来说就是:如果 `equals` 方法判断两个对象是相等的,那这两个对象的 `hashCode` 值也要相等。 -在这里解释一位小伙伴的问题。以下内容摘自《Head Fisrt Java》。 +**为什么两个对象有相同的 hashcode 值,它们也不一定是相等的?** 因为 `hashCode()` 所使用的哈希算法也许刚好会让多个对象传回相同的哈希值。越糟糕的哈希算法越容易碰撞,但这也与数据值域分布的特性有关(所谓碰撞也就是指的是不同的对象得到相同的 `hashCode` )。 -我们刚刚也提到了 `HashSet`,如果 `HashSet` 在对比的时候,同样的 hashcode 有多个对象,它会使用 `equals()` 来判断是否真的相同。也就是说 `hashcode` 只是用来缩小查找成本。 +我们刚刚也提到了 `HashSet`,如果 `HashSet` 在对比的时候,同样的 `hashcode` 有多个对象,它会使用 `equals()` 来判断是否真的相同。也就是说 `hashcode` 只是用来缩小查找成本。 更多关于 `hashcode()` 和 `equals()` 的内容可以查看:[Java hashCode() 和 equals()的若干问题解答](https://www.cnblogs.com/skywang12345/p/3324958.html) @@ -897,14 +896,14 @@ Java 程序设计语言对对象采用的不是引用调用,实际上,对象 暖心的 Guide 哥最后再来个图表总结一下! -| 区别点 | 重载方法 | 重写方法 | -| :--------- | :------- | :----------------------------------------------------------- | -| 发生范围 | 同一个类 | 子类 | -| 参数列表 | 必须修改 | 一定不能修改 | -| 返回类型 | 可修改 | 子类方法返回值类型应比父类方法返回值类型更小或相等 | +| 区别点 | 重载方法 | 重写方法 | +| :--------- | :------- | :--------------------------------------------------------------- | +| 发生范围 | 同一个类 | 子类 | +| 参数列表 | 必须修改 | 一定不能修改 | +| 返回类型 | 可修改 | 子类方法返回值类型应比父类方法返回值类型更小或相等 | | 异常 | 可修改 | 子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; | -| 访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) | -| 发生阶段 | 编译期 | 运行期 | +| 访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) | +| 发生阶段 | 编译期 | 运行期 | **方法的重写要遵循“两同两小一大”**(以下内容摘录自《疯狂 Java 讲义》,[issue#892](https://github.com/Snailclimb/JavaGuide/issues/892) ): @@ -1384,4 +1383,4 @@ Java IO 流共涉及 40 多个类,这些类看上去很杂乱,但实际上 - https://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre - https://www.educba.com/oracle-vs-openjdk/ -- https://stackoverflow.com/questions/22358071/differences-between-oracle-jdk-and-openjdk 基础概念与常识 +- https://stackoverflow.com/questions/22358071/differences-between-oracle-jdk-and-openjdk