From c39c8daab16bc94e74d3d3f7032a2ce31dd1f5e9 Mon Sep 17 00:00:00 2001 From: youyun Date: Wed, 4 Mar 2020 01:25:01 +0800 Subject: [PATCH] issue 140 translation --- .../floodfill/{抠图.jpeg => cutout.jpeg} | Bin pictures/floodfill/{抠图.jpg => cutout.jpg} | Bin pictures/floodfill/leetcode_en.jpg | Bin 0 -> 65096 bytes .../floodfill/{扫雷.png => minesweeper.png} | Bin pictures/floodfill/ppt1.PNG | Bin 22681 -> 25440 bytes pictures/floodfill/ppt2.PNG | Bin 20236 -> 18819 bytes pictures/floodfill/ppt3.PNG | Bin 23029 -> 25013 bytes pictures/floodfill/ppt5.PNG | Bin 12030 -> 11514 bytes .../FloodFill算法详解及应用.md | 221 ------------------ think_like_computer/flood_fill.md | 217 +++++++++++++++++ 10 files changed, 217 insertions(+), 221 deletions(-) rename pictures/floodfill/{抠图.jpeg => cutout.jpeg} (100%) rename pictures/floodfill/{抠图.jpg => cutout.jpg} (100%) create mode 100644 pictures/floodfill/leetcode_en.jpg rename pictures/floodfill/{扫雷.png => minesweeper.png} (100%) delete mode 100644 think_like_computer/FloodFill算法详解及应用.md create mode 100644 think_like_computer/flood_fill.md diff --git a/pictures/floodfill/抠图.jpeg b/pictures/floodfill/cutout.jpeg similarity index 100% rename from pictures/floodfill/抠图.jpeg rename to pictures/floodfill/cutout.jpeg diff --git a/pictures/floodfill/抠图.jpg b/pictures/floodfill/cutout.jpg similarity index 100% rename from pictures/floodfill/抠图.jpg rename to pictures/floodfill/cutout.jpg diff --git a/pictures/floodfill/leetcode_en.jpg b/pictures/floodfill/leetcode_en.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a259202116410ba9e97dbac005fedd48e9d594a GIT binary patch literal 65096 zcmeFYbyytT)-Tw&YjBq)xVt8h;O-8=y>So05)ug3jRkiL7PN79cWK;%TYx}-Oy@o4 zp7YI}`^P;q_nCR-xo>sv?p;;8_S);WSJkpzzZZXR0PvOM6y*R22nc{T@DJekCjN%3 zpMxy`psEUB0{{T%0AvJl03y7G2H#Qo=m0>5*Ad`#t&Ge+{{UP70Dt(9>aX+I@O>$G z0Z<*nf6)Kb{@(sZ;BN%}M&NG*{zl+$1paqKz}dmY#?=?jIZ8azUzP+B++xUyNB&p6 z4g&tGjwHkj06-xBuK(MrKu`RG+}~Ek|BmwWH_v|~@HYZ~Bk(r@eS4#tD=I3=&BMpd$Hxh8!RhG_^0M&b1bH(4vxC<*o>m?X zZe9+qAi6&tT3EVzdr2~QdplT**;?2NT3TBRa#~vOTXXXAT3c{hSo8C8TJ!T;3k&j! z@Y(WOGW?Ugwbj3EEY&=f6!fmk^Jz1owZ}PJ;Un82@FU|7%D7KZTZ*gte8J z)t|Audi;aDwvGG$v)Oibkot!K{SW@&yZ@-bJBCXg1_p)%_kX4Ne+A*MBXFUEU-vH& zg;GqP{oBm70l{rsU$_zb zdl~QwfQEvCih_)Wih_!chK7zwfCaZPFp2T-u?fhCDagr)$w(<_nCU60nW#z07`Pai zSXkLP*eU3^`MKHnnAzCb{&a$XhK`Pjfk}jgMZ`u$M#c6YZ@)VM1n3CeNSsIr3;;v| z1SA54-@O1@c;XQSo~rzlt^DVPfQW>Qf{KQYfr$lgP>&BlL_k79L`FhEL5Alk5rW|7 z0muX>g!H`9sLwPl&=}l__(H+C=!`PeUBp^b=Rkf-k1z~O5>hg93a01GEUat-f zUVcGgQE^G>*P7b8`UYrYQ*(DuZ(skw;Lz~&%#0uOv+`U^y&G!J5!o^~R>q>C4|3ZGKd4et|T-CX8W*Y+0*Cq3Ehb)k zkh|YYpy-}%nH&$$REcY|!Xt9Hng3QlH?uOt zK3sMqPM)zP%+{M1@rG!FMB>?m8!JMStj=t`vLwUANkH_Piug3ova(HTSV<@Hr2?_s zc3+xo=_eCqw+MxKJ=AgM&S*CZ&DvYKjjQKtA19~UyS$vI44_%uQyi`!PA<@jvg0t9 zkMZyki2M~QI7va4Zr>BXmBvpbOP%1r-I0Gu(c|^}P`l^uixkY0^`@QvSxSFoa0Zo^ zfPeH%UiHR>8CbGntTWATdWm?)@PsMyrkY+Uzr+?f40Y1Ok7~LjN?`CfugTL7d0b0G zs_R8oulM8l1V2)EX5&u4Bx)ORjQiFY1x#GeDHSN}mb#%F=wR!QPmKItma~5o93A_J zqi;@bpj_pU7F6!J(pPFEII6E{JUkSgVBb+^ou>L5V7_2sN{vIDVz;Hr z^>kg~V&~&lK7588NtLTcRuG*_g?&|*HWAk^1i5Lrr9nT$(_lFWKDwXes&YNLpY4#cJ7bdXkvO!} zk)k2>D{P3PfzQCywD7A@IT!QY$2CG%n0r{C4_+dT-`?4$Yx24{Y)7M*ntW9UC*V|h zND{|ag+XL0_ak}buz8cBB;xUkr=~(P!(bQH;o7XJvuxs-ofkq!rsi0Sv_sPbVb4?xfD+R^W$#s-p@qAyxYA9wU#n%I%Ep_7vzDHj}( z3cteXa6x^9G zvI865WOUw=gB3eI6eo0^+Q;51n34sXAQ<$a zmDb85{+y`{XefhVoe#GXZb3M7%|a~Y1`pbZun{a2&w6905+=oM zH)J>et?b_b47t>s&wejvB$h)8t)3>by)3?bO+}qp4U_H)%Gt;Y%gpK#{GM0C@t|E` zJ^|EQ;PR21j-Mw70*a?N8xt;9!dQp817e1f;gHQ@cwaB?l20&vj zY=vEzqbeXB_7Y6BU7*)KIF++iy(+o;uU#A%9sN_;n42M8s+W_R`Q$N2gCdU zD_5@t!sEuIoG4x=*2KY_WOWv<^G?<~g$W|e?@M_#aglY^rG=qs=As$$EyvS$jyu+j zicrfA^~898Di2o13!x-n%BvGXpik6^U~j`E5J2B!sizSW-qj`2^&Iswhfnl5%cr&7M=x*^}~vSb?rLQ1nDRZANqBINyo;;C=eWv zy#@4`Qa*bHHtsz?8xoq|+Oo|e{UFhC_q}`rO-BzO||EvtZ9O->CH<9)BC&zLpZf5J; z9=3a_YkG&~E@pk(v5E@(%S+J z_lvCy6)wjxR_98un-)cVQP<3uT|asPH0qyPE1w@%J-S+%MdfnU7xxe!Lrh$Z$&r0& z8Ewcu&>=)u(=U*Xdxnm^ZfBe^HZbKLO$C`Q;kT8SQAOue>n2wAzd_jGm7sm~a!iSx z^5sH`PQwQ-L&8gG{!iO_NR~=g<7z=Iw}sh#MzU>%^+Q<>S_jzig>B`v3WH+py;@yz zFFE887-uzrr_P!hSj*AbMrS%I%o@+<99N;^w&0oQRh*RBB}UnoelX?-Y|9 zpKB$84V^=L17DRnuZ3c^Mb=`~ujlp5&ZTQr!ytG7Sl)0+6ls3i5|92`W4!`M)g>N*;EC zPzfzryVC*@70`JU)jEU_=GPalOT3yErwpck<}1rJMeJSOHn64-y&D6%zm_SZ9+jKh z48=5-xb4b&LGu05aLuIk%6PzrG}{fT2kAVZeIYfV(dQ=-B99tsvXs|!C*isIGg+Hy zrL$+W^hWeEgO!wnX(~bRjEeJbfMcCth59e{SB>payyAJGgrH9F;s@!hPKao}j`*M3 zCr$OHD6REgukj{f{2SA#HcV!Uk(J3%iN6V%U_l~+3Y)@OinH3qPPe*Au|iwr<)z6O zawN%$O{9-TK6SelcrXX&kX=~$0yVo_>B6wSdxYX6?+Q#Aw5u+M#Zbx^o6k^l9Y@gC z-kN4jk(E>!|BT;}**$adg2-Wyo|z1|v+WU0b?*JGvcj_{ugT?AFDb^hW?oPE_j^D5 zR}8QG3H&P!m%0po0|GJ;amR)VgYiw2w;k&IyfbM=Wu`*y+%W>vL-YfQ9uK!;`Rl90 zf=Z4_#iH2LvkhnIFPw$&*Bnwbhgb}~ep6#<9f~*?p{ak?HvZXrOQ_7SCq&3)4BQ<*PJZFv{Kl>F|RB|@NUyHex+A}Y?bp`~pK=nlw ztf5?kr5&FYU9>Y18!~5v@CCsYct1kih5Ec~LJ~)Y8AeXGVTPLLoS&D{tBF#aLx>lP zgzUsy%D5B;EY-IB0=yTP8k3nCp~>G(K8n4+NMs}%r6aOL-`H`FQ#$nFE~F%#jW1Wt9*VyN94ISS4D(%A z2n8wi&yy9Xp06&CA3vZH43@7V?1Z=*7@fVZtnxl88>A;qzMaZbedZ*rC+-tg{3)Cx zB--sIBU(b1I0Y+8EIFs3Q>JmBm`@UM+!Ba67K5oNwWkxOT***}9YaJCi<_}@f+E3B z_mo5M7ip#zwHh#r89DhSz0Qagb-$mac+`P??je74?Rnp&p;>wb*SvBmgF(EB(?W^^ z!zoIHwMyR%eIhR!O%n1G-rR1~@S)jHws1Trj>#_Romg-tS zyJh|UsUBDNG1yEFx5BC{j=<=!`L&+*Cl@BDAE?;Rm(*_&e>g7MS+b2CNqc&2dR=k) z-Ps%!a6n0QnZkXSAHi&Iy&!3 zSaPMwRXYh&HT2z(D?QMN(>EnCZ{@SKvK|Rhga_5us-DeymDR^#nZc|fN`)`-WhR_)0YrX#s6#p52|kbP&#Jp`6} zN>QD!?tve{aPKs@+Tn#|!icSSwg**oY&PrBnEdn5a_LQKewEr}X2@cwC&ikw<8u>X zMEluhi>NHXIPYZIVM)<);BSD@3Sn)>b$y&@wtUmHSB0=*)D6?Z^Y%vj{3zelzSh$x zE0W-h_j)*Oja;8I_R;EQ>kO*i^1J67f2)sDwsIxc9gKGAzUY6s9eZ6UOFGF}F>diA z#z_xcJkKz5ViPs&WUn{Bxl1UJD{ag1xeh0P7oqujJ5%(>P~rLeG_5*IpK775NO52P zK+g<2ayWWyMyi7APk47R_A@8H0Z0$A{sLHqK^m#_zX2*U7IkrZ5@H-72?OdG?^<V zBWQ$9ovv#O&GQ+qXutGQR*(*HduNrDHAF>+5R5c4>6Xu)%EL+yU!`g+()jLB3~pJgPD>B8yljqiZ6AU zTtKHk`O3c@^YT4p`$pT=)n`&_w_c#Mtz{(NEF)V~K~5ERF)2A>(6tg+$&mtaTE0Zn zI2Gi5K5}37$jn<%^!6bzA z_YIpf(3b0skEf9+tbI_bCv97rS$)a7js3W_edd6T5O)1$DAeGUqcG_&>nOc=5(k;g z_epnhXy!)CBu4YOB@Vs;1tcUz{kuE7%PXzRiQNa8V-%iEAIZLpWhG5&s%_Pep3thN zsFSXFG6v;cD$ZCiV=i_|cyHCzRpFX09vTJpPQTQeHAll7V4lddR&ifM%6^wxnHHt2 zY+QV25CrnLX{Vhn$4vpgut`%kZYfTp(UaaCV-%7`_vj?Jj7JdN@%~C-9#+XwrA7Ir zby>koF5h_S}K%$+}s0 zDWlHG6)3%f@bW!mjJor(gy!(F(X(N_aT%hsO9<_R zL&wFX=grlUA1DV*-}Zt9ob6knLBB5^V}sob*%fUnES z&WEUS2SJq@)lcV8pw$Tq&vEB%^Mle~WHb93}OTeR_GKx?_K z4O`0~cEJWV2(jYu9yj0Ly^5)7Nrj>z{l*)jXlTSL(;SybkD~UlFG}{^sVFa^%Tx+f z%w6?UZ`+8iOv0UI#=3sBsf&;_a`vH7JlMxG3{OJmiF}HA#;&Qcy%yg@;WL?g`O5mK zhGM_1CKUN*+|v|?$o&2xSj%7k`q7_C8amJIT}8ZjP`#KQ*z#pF%_-8<3@~4fI2@{w z5I&i><1M=NI1m9^^=3E7!mDxQ>yAC%AB`o7)QyU1Tu<8Ak3K!*35a49f6;T!UfQ$j z_d<);p#nd`LEyV}?d#84jo%2nl@dM9tA^L9|MBH;lVk|zFP`hQ@JD@TFQ;-;sp=} zmDku-W!8}3&|qxvW(+8p*zk~ax)10BomSub4RBCfv$g^1Xu8zB{_v_~5SZ~SBOz-# z>e;uoVn(~oM?1x=;jK;s6GbXte3b;1@5I*GqxxF-JE2`#sGheGqIqkWvzv9(nb^Mi zLJj6Njj@tihh4^dE97Q$isXZ^;ec2<(KD99$9KVdeKv57uF#+UQt^T8p2(n9zwVNh zP+*G@O6&h^9O1f)ak``(T;Vt^aNlbbR9VgSdk;s!vWZ~!o`-IlL%@HJ81*L z&oDlP6YxTXSDmh>IP{M?i3CDSV=4B#0z!;MH&`XkC1I_Kr7MQ0ibZ^^gfjf#5X>aH z{VF6$z*Op6QZBG7h4Bzm0T@{rk1xMDpG5|VrrGDZ6JcHxMqIC z7V3I}BgJmeL-^80Ub`hW)#6C&FpaB}tFXlEz!$%dsV|!30_5{5F=?sm4esRdPi#JE z(E-F}G1i9V#=Jyb@P1W}nY|BbKv8aB@gkqu^6G0StbC^L66XWWmPI3I#m&8oF+A4T z#m0MEq<*9>Z8p-jPH5V2RdGjL#+TS|mYrv){~E~w_$Fz8iY5R4p<|E}dcFQI`U3la z@W9=qZLS2`nAyK2Xn1z}HCD<$gt2r3Tkoxy>PnVR>bK%0!4I>9hD7g^nG=V7zL9ZY z*bHcfs39O#GylX7qX+59eenq8ZygzGo_>%Q=MLY({jtj1iTNghsRvq2FAKq3=Z#;s~zuS8nRK6vpp7g)v+fyrr+>= zJ!Z+}qlA#xhVhQezmnzr*m3>nD|&)R{hFoKz$y&uSJNqou~FYp7rocOY*eQ7%_^U~ z(Rcg2P!uA~m)%h;IfzlErH;t~s^7AnTsaN989s1biheJN!s4f*0We2Z*=%7^OH)_O zpA&(ttkb&vGL^lUOp#oE1DwdnBraY$J50$E0W|+>(J)(EKA6{9T~plc!aVhbsi94J zs>gaID{8(D>0LIcbI!>?>SDweJ>=sD&r$#&QEZ}I^braWLrognC5l>r={GgNsT;;X zjsOA^kv8=w5hB1nTL(;g;_~g>mCxA{xCP{%5ukkwtpF&?%C@!HudUS~a1xW;T;~S{ zOd{9my1P}dzXobEgp7tnhj@m`x8v<t!*NM+oy$D$%f z+5>o{+Jwa>Q=~8Rl8#tI%}u&rjB4(mqboUORleTR1_LHSqCIUk)K9ADU2OK~!R+R4%D1 z-)e5)uuMhD^|A)iWbh!rV<>{p`JZ|JQ^H_3YZt}F4#MgFDtr$GE^Y{nS*--q#qd+k zH9(%$8tRfL!&or{m4>FM%W2AV+jZ>08o5PA4{*Gj|95*tBbK}nOt!Y`>-KcpTm4F_ zQ1rE5$|ytqYG_DV>Mun_5X&_XWEuJLNPRHB@+pb{bd7Pe7PMyiPRbNG#})i@{c6xI z02|b8UEk#yLO7>%<%(?=^yUx5T2tHwCY?tx2z++Kae1$*-g)*J!N(*cQ_ArYV4VP~ ztviE9j>{vd6KnVtDV4&M{TbInLfd>-;p%yk66ElgRO;@uLqBVT4J-1xi%Ecs zX0F(Xu{|fP0-n5ypQ`MN#$0h`lx&(TtL3rr_=R{A-Xnh?C$|dWB zigOq5+g;|I`S_uS!&w12j1O0OyX2HzE~N1<3L2_`uCCrLE&}N`&9(;m4&qUzRudqE zBkf59S)!pr1J0e)o}?IM0t!+~zyxLvBq#(piS)fd4>vc$O-@c4?NXo)ps8VKwtOh0 zX}UDDC(U;%50jIhy!z9Dv}d5J?IdS!I!Wa4+4fh|i2bQ)r*#h#8tumT(cJR)`;`(zEdc~ZDr;S>t{lSV0uZ9&Riv`pTYaa4E8ol@1I<&9=W4hWNV`2@6fTLjW6|vr$@pt90I z`WY)|8d}z?UyV#YaZbG7b3WLtxS_gdr&Y&Aatjh?AKzERT$hVwM!T&!yvgJ7kNCOt zK9(#rdLxz+Jm%}AZDc(1aLUSF{ODCZ08=kfte_?a*@AyG6*ea=joZeA@-PZ{$eF|i z0~h%751XUsNj<5}W=_hAOeB9`RgOq@4?h!cADt=*P5RlrfxVr@K37uueIW&I4B}Oc z%gaZY3isYSvj+!xq}-b%tYDR;Bno_*vY6%Vwi|VRj}YMAXZ0YzAe(s03tN3mdm0}( zA;1ufCZ}-uQxkg)%fmJne@g+e+mOp`ISEgto6_@ki_nMIi4T7%Mdo&5I`m zQJ(DJ191P_(22>(+}!oeoET=0JY501E?<)6~<{|ygcS#rs&M5ji}n7TxqR4 z^hONgQ>8M8W%p5I>VZF~Vtq6ob|kDp3I3`=pn)+jF_OqVD2v-kf=1gbea*&NYJ5() zaPg=vTs>P){$RIjawzteBFvF1#zm-!O<{gBmdKFohH4-J8&`4PSJNz#dF_Es$*E`? ztmtB4tT)O@>7c4~u_W8Gs#GKX8-SV17IF{Bp$e{359om|RQ89KDWqjDySlivPDn9_ zIeCNJzvY#l3^z^`1!OgI3W;zRH-DD& z?D6-ggDcS>R^)eHKV7ueh$4^`wqj)R=sGpT0IVp{v_y`C2J+4$rF~Z99M&{%HAm#!=^9+CH5pn(KPnfUjOVE(&H%c3{TKZRCd%j3K&!EWV(R z?JjvI;|^Z5+TkrhGI+R0X@!NmqbckqiU|B>3e{a8W`uLVn=h&Zephk6k15 zQk0riUYT3HyNk)|DL7`F`ZU?t_=^{g<>j`bi%hpj<@EKQc$UWV*Qu$gDWH|hmmEE_ zm}~S+Z8Zz~GYi`F-|*$}r?WLLux|=7TboRyxuo8q`+xvsD(S&LndhA`I`MmHn! zcYi(^$ezz~6Eei8)199{?C%q&JKHIm;}cu`eMZ~$-dPS{7koqd8Gx-{sHvuQ zd-WR-{uCSnSssDMuih~uc)^n2FW05F$=n=K5WA17$XMxh<8vsK>W9V|Um(02xx@$m+1{hwOn`4pH#$Ml7u*N?$tL0wKv zk3M|dC&zg|vx`?uS4OaF4V1pIn+-;?msJfvbJG)7WO55q*r4b?A8Uo#CTwDriH{61 zwL|S~BAk-#O@cBrUq)w^NXr6B(8z~GpSMv&B^CVTa8Minc)$}o7s?F`EH@^<7H8!$ zT8+(j^d15+a}PY9+tx(T+kgY!k4Kzabx2_Jb8E_WR^sw)qN)&%oU;Em)5IAGia3a9 z2ef*tOBQ{}UZ0nFt-_fvpI&fp_ObY97-@SdbC9}qsZcEk1F==2U3@K>ZWCqah&8TX zk%PXkSaMRakx;%HUC=w_V7?ixWXto%EO{6gy1w_&W}`?y9$=wxN=fRl_P7HpIAse@ zzc_n4`04>qD2pcvCj6uq*yBv+%k548jVUFDqIoD zSQpt~{-3#daT=*Vay?mV<40x2d`NLX=01i9YcfB8#2a!5r|`f)uzB&wUa#TU11hW<9{OC0Ixzvh zR^$u9OSN*|%ZpW*QJ<9^am6ne)U-Qy4mSB*T>KfEAdc?#Yy zzFypIMV+kAs&wIc-W2{zO`2#%)W>`Ai+CId?^LWJnW*T{Aaqtwney)B+Bj0elu8)+ zpy*^Gc|&NDQxQgl(_-v8cA1g6a*skJd}n-4q4(?T=gNjN=*Jybl%K0{)0{<+lvN1_ zblT+8GLn_h*4tucw?(1-y}Ng2m$4d5{n_zkGc-tjM(2=dK$6#l3;Ynj&5GoKRg@2mFp`Q@(VF~Z%Y zjH0Ze`%KCZd4^y=6b%N z3ZgnJEn>$hZF^Yfu)_*(s-5(e&>OpsX)mOo21AA83j@E@97aKiU&b$YdI$E05u3;d zx0;nDxwwDoPc8N@s6gQP=ZV=0dM5smU(oCC2nU_pQQz%LA?yk*w`B94Tw`FR(AuqJ*}EJ?JP}(&TNTObwa#(p%?S9po=tgO3%j-T zomO*Y?3Gvc{ZkZ^wE?PBx=?nGTvuMejLDsF6+nid zCQGaQ7^t}9HW~#xR`IC*m6r43nf%H%V%#vAleb)#ubN=KYbtiTxCR+MW|;u8tu}@z z{oC}jC)Ia3+g>TISL#0=)WwZ|M2V-IKd<#J+g3^4AKOXk7nNIQ4e{u*77bpF1`Vuk zB?+Q$#vZC89^Q(LuX6c6$MI*n8A@dR^f06*BMU(ZB z*RREbrjoL*PjzX%s24M14#NTNofXus>QUyOjJ&5H2iB@w2MZ%DNu+G&+q-(0?=A-W z@yN$f#SU2l3SD3H!=D)hGoGU$TgY}#&6q?SM~$D^T;^(|Ez=i>;-S+t=NVnI!#o;? z%MP#NB{%{=<+%_hN;_RtG(hB5Y5>+C;gE^8PJp~CfH*+msZn1BUg+jeb{g;eqr9_$ z`J(PKFMV#e6nvp-rryX89LUMN&LLrq0IF@q1=K`uEJ@NHqr%GE5;OBdk{XU7Pp``X z-e2Mh9rWVT*in2rg!~Z2=WR4m*|o0lnMsC9>?<@)pGv51LT9ei+vHAqD*_TsTh~mo zq{n|)zQ%*B)1iySbg=YS#R;--u8j{Hhq`hM0l{_6y=l(Qa#JA}VdHle@B2l8S5e3I z#mu8DmD&knNvi{0{j+QSB-cOqMN={K2>r=d(08b=40<#|UiqxiEL2{jnLgiAeOCm!2U@>mG5ZbR9_C$h)FW_A(_PDU8?QE%Id7py2&;*A&$t>>r$EosG1=5X z$aZ8t^YrR?AgCaE+p$3fynp{uKa9R~g)4b)`InLfKVGdmlqK}m205GVjR-mI)g)M5 zY1W%Ejtu?Oo1M%XA((B%NvMeh47V9&Yj}@;r5o^wir_Tv>`&Vl2f6-HD%(QS@F(bF zfTtN%ec*b;O>(t5Q(b~#qGFyU1)nrRD0SCf4RFD_WvZ$^@Xjt`jV$k*{q$zV6f+m{ z_%vQ)Zd9ooU#>~4s&ArBqJMIDFz0p;rAc8gzF(MNX#Om){bkXD4~Z{AhIPV(3OECE zvgU$tFik4MTR2EnFw(LGdZn0zPyP)^EfY^l*~myXLA*Al{xI{a;_3DBC3OGEF8!yg z<}9dH8_+ykuC4Lwb@%18s)t@`Jg6J%c{GC+`YUb?{w644;E4=;9lJlHh*xB)nixKg zQBgBUl&JZSN!ho2*xXj13a&KP$O;0k6}S?XD58pJgb+%BJ~Br|ESR@PbSp0j2C^Ud z6@GRL+kNgvNmsf|6zHL}VI_)|b}CVOBA*=e^|b2I_X&*2>HSpk$p5h!zRU!uegY{g zk`8FN9hqjbiK#Je@7|TV7(kMErhn@C<4D2Ta=M;Um0K}!(CBpXH6t$Xdu-{KY6h2l zJ`38r*^cmjmA0$<){Zo(k>nHfTEke^?wN7eIcyc?&44iX5Pj@GPgvo+;80#ui_m?| z@(6|84aujH?q6<$hgc%ayLae)-cSEbQkqP47CDkp&OM4;{HW98=8zi!df6^K#RzuT%badtTrSXk9t)_+*EUo+2BWIhA z_ATC^)^~B7T>TGFL($)Bk-3DkP zWieoX#MM8hEX!t#eOdA3T6VVHxTOBe*?YG|rkN5R3>|uWJ12VcFM~SZgez?902d;y zgExmu6MhN3{0;%JDaD2n#xXLM?Vbjz9-nd*CFEn(0J{;W2Ip)-7gX!c^-*iafhD^Q z?Ma0OW-qePbTJXEX57&h;P2NImpDwXI*IA7IERU|0{xMmK`4YYVw!cyR`Z0#*+HpzsPSS_lAuYK+_%T!5$oMg858WnNSA@-o*{+i_ zi*f`hyoaXkb#q4~-LzmPzj`ukPj8kwQ9|f)kg+>qe3r4~nv5z7#dMkzIP*iCQZ%YA z`R1Z`7gw4shbqur*ZVWpNQ}Hv+sr%$#juY9W0p1<%b-TQ43tr{U-X*T11jFo@3yz2 zzml8hH$0-@cj5}XJY#CkS`{)LWU!5uN08{obcLm|w@A(9y1-ZTpXvNUX}uI!P9=Vt zpo@|-Z!KdrjqX9CHvreS;j&0?E;rVdVc9~cZ|?KgM6um8Mi@gxjy}>>3BG!L9@L*w zCVle>rLUrV0!Yei)B?2gS^uGj%Hy^u;_OX_y`eOB^ysYD@YFgU^&6lYuHGI4s?3ji zQL8F0XJKn=aC7>ma|1vL4pWm8qnP*&cz@Q@XHu~;uEopMTbr7?_2P1l=((Ac)O}d{ z!%XX|TvNw|NY2{sug%`8rG$jIcdrB00p~(gPt=aqQ-#JqPcc5T7NyJhj~|C0%)~v_ ztE(SPJfy6dr3IUIY&`Z{(>`+u(5(|D^;DTuB}lb~)+c)tgkbpambsYFRD|AXInuC9 z3p8PxnKUkwW-|66Lkd{KUMUO~YT)By5oA#5ilAQhIDs<~OnY*XgMeyd;Ii1Et^3+)I|^I&71_e=dlZVL)U-OyF_JM`9lj zau`uw-raBFZK;0>4qaURSteiOmmHXimr6LQ;&Z7`Ew}Ey!&V?yoMmpmaZlx}kKw&B zvcybSj^#}}R=~5;4V#;b?T)OAmLa!B_Mx*vgWyqrh%%E~!0_Sh#iAn#W9Vzm`Fwlz zU<~!zCObPWJY4T09Jfmz-@m2Y zX?P)FJs8?>?m2rAp8d+?vAp*d6!&OSfwW;H4t099FhG5Ajhw3!p!c}QE!wg?lw|czO zQ5_v@=X7~U_}b_V5LI7enA|6(Ns=tuw#t#h>Y)Ak{Hd4zEY1D0Ok_omnW`vfv(2yQ zUeQiuM7*&HEyXhLr-qJ0(zcV`pDl16_CE(%$D2XlUoU4WtvCqd`J9v}dhZMqk)?a` zUS{k*X+lNDrHm$Bc-l@w-@uYfcUFxjB!@^ZKc+Se%!S*?skwc4`JD#?HMnZxAqXV(FtXmp~uTKgMRa3TZM{Cxp!wCrc7F+AJPJ9(STgY>{um|AX2ky*O(Ku=tw`C?m z5!VbMii{54kphd0G5HAFD4CZ%7||Yz`$Uomj^4g0ZUzPu{ytA8Bo}ox?HI7H@H`T8 zD6DkFFI=^u=9f-_!qnZ~svZjvy!KLot>mlWCm8(6h4GzV!w+OTFM(G$R{EjQX-w*Q zBOwce>Qu}UTBV0y`2>;uO~O$YIawOOo1Blc5*R}GCMlAh%o-wgy%YOB93+&&PIJ-x zR3~Q4eiS6Ld_v;k4|erht&2-FD8r_eK`%WTf72XBDJjP3q?w{Rm9?+Ix56}IRHnjZ zJR+B>ltjk$a)nR+U4%I_?s%2Q5!NYO{L(6PI|B@eZ1EcfBcswS zkYhjdccXP%ua+|q7N8L7ZtdMV6?9?L9^XkBT!}E7>1p66M8mgP`S0hgHqRr z?3vd|#}psZObv(jUOo3|nC1_U{g{oqEm}cjbGeCXA3qjLDm3x<$Y7^*MVpK7fk!7tin%e*#uGa3l zMQzFqfDOH4@OyW9v*+YCX(CJh%Noo$(##N9$D_x*cjtcPvO}Fu9>7_<2>b4PZnk!p zLQ!z8{LF;+Lq0d}@@`O97{UtbsaRUjv$H23)Z-_8Nz|yTU@S+mnDxktcMBzpOiy>R zkLga3Azl;VVGbBibrQV-`vcwOa*elyT`*2^z4Zb`92Skf+GkD3w7)?I4qf1XttS!>J>oTOc%&w zrH4G})O;8x$!jOu20KfPpzaJI1#+AuksX~DmMa|7x|a1H;=}CY^)Z%c2|8lqRo=yB zJ+=@Bw=SQ_)LPuF1Bwilsi;zt+X! zAy1w*|6Wo+Ou9++4 zmhdxb$_1`GpC}v6_2KUF`M%>RqnxjZE;%zSudXHHX&9?T{)#S35F*?~nG_-2wd3YA z_Jdkpvt|C-NkB}P`IdXIEo`SoMc?Ud-dH{sxfW4aM>ig43-h;g?;S!vJEdCr=YC!z zhCtKeT|E_U$rtZ07Osex^5130{00nC)Pwn;W4Ks?)HV@{zijf)a~~ zcjyNusMRG#mGxT+XK$qg9fGh+1j-c7j3fqKw&~=_=v0)!iQ*p_LmT(zR*&aN0}6M0 z#~iB<0|HG4%XKv|y>1v@cSbpfI~hgQ+UZ*m7wF^+!xq?Tsas$Zt>y*=8F!Lo9CN ziivTYHdP&FA9ATrO&c+Tug&JfyD=J}YG__*4vkga0bNncC;wz*DTvLEQ}(qAvis`T zASU?u0Kp=2&4~?!Ch&7q`h@kySJkmUmX zQ>RFQ3WtE<2KVYWWrWxum>}p3A@1m!QNX1#qovjpICxxa0@V4f(7>g!I|LB z;BJGv1Pc(H87z2k2(E*>YjBvsU4n-o31sK{``7N)R&DLx?B!nd#Z+~jI&-@FmFM}q zmeORagqbvqqaq@BFBJ=D>5Bwe+=Pwtis+h>O4ili*JP#bAdD!u8|A8G(Mm%5@r&t2 zalR!SiW+s7j=8(y8U1`?@syWf5g1ZCVQHP(_>iciKvKu(k?7Wm-^vPIWZV2(BU}Wl zJ+zu<>Vjqc4piEk{C$$}7A(c?e0EqcO{kLBd8e1V)4rJXN2g_e&;F;xvC-LCVd~BY z?HOYMi~0eA06fpwqhE;Q(n}urudg-^Lrn?J8LyfS6lhv@6hyt5(W?Ay814#=vVXF7 zJNak-($5R-QKhHN3Z@wpUe?EBcwS67n*(w+ff;U$hn0!m(Oi>h+hc?ZU8bymn{T$c z9EN#&mRkN$^vjs>vdk@oZ?k%=KKMY}80^X>9gyFY_7^j9g{}CSE?${}>tX|13xF^3 z76MwzJ~zs^W8#1_e_UFkh<#ByzrENbBj`Vr4`7c8mCp7+uh?-Pr;cOeUZ~13FG-!R z{7NX4AC^v8{Qj_Dp5Cu0OC(RnkY#$16E(=Y_agSDLsh~12TRCVpzZ9&v&cEOz>_2J zchl$End~TyQC#P-X$^6riLf|+nQuak+Y<;A+nqqd_x6SDU`xA%Vg@o9#uUPI4D*y6 zvOPR)*zH}&*IJ~kGCElIoTvJXtvPB(6>2hS`5DX>_`(j5nE$r^aIW)425I+CB4*1j zH%R!XD$?GNVVqWCgIX6pIZVd;nK7fBY7G&?HP8K%`!*kYjJ(!6@O#&UP?0Ok{Mg>a zZ$lX77bpWG4CNcoCjt?s8j8(>0Kv1f?pzDWvtO0?&7EN824Q&(K2nlj{u@Qbc#nj(}0R``Sp;(I|fU`?l0?M{S75Mf8OZ+* z>hJC!Lw{EMce;<%{bcfmGTyONW}T7*j2*FSJw~624#+EF>YUN=VCSf6Hc3virW`CXI&2Zv;p{A(xFYd+d$8zUH5KQCLu_jg%&?G0G>8Nxd9 zuns=g^wjd)V81u(Mh0wj>lja z_olQ}*)a8csXf8@$&2r}2t=^hu+zktM28Sqssl(3xA&*aog+ zm5$FcCN5fi{_9%HdH%`STvor4G{Qv$W@pFwS+8?7zC|jU;fAt=wHRI%r?DM@aV9|1 z1+b~KGY>KqkhjEuV38_e(S7niVrlnUbz|cOOY+A0L|I2IV46mMQ z4nJv>uT&Al#zj~ZuOu;A{y^*FlQG`2{yQRR_qo*2qKDiUYUbeJ8Ap@J<`7pP&xui` z43SMoZ3yNc5=RT*$eKS%*Sm^gZd2_JK-j!@R+%JyGwkLeeOML%GqqjP(?B@-=-n;j zA~o9B_^@mmGl>Sd1Tj)@%@m9wM@aNmgv?Gq{f|P^5@!_;H}y2lgyprV*~C{yZ+i2a zQGa5Ommp}t*YMU+;I`^5Y$xL(a+4of<@tvKIr17SjorXzZG|w!3UXhIztGX(Q)c^y z%!Qf!?dHxwXG^{4bvK1NTw(7{z;^&N2dxm8d>#k5Zv`bGS@n3$D9doGoV{C{&st7O)N|DIwE1 zRb9NO#3$)nl)3bn=6R$Fo1~-}`FHgq)xVYh&*%QMKV`(V@ZNS)tvg-rc`C=a48CEK z!s%{9U~u+U`N0pdf&=2OaA;SH3$X|+H#6Hjy6%J+uXR=mRHC&L#rssc?EbIQno~{l zKS35_wGpx>w-u6kl&X(j=qMJn!94p)ez{hVut}DGqsX-Lh#9NcRZA(RL48yxY-VDF zqEp-7hA>XxUa;CWm|r!JYC{!P?L^ZGqqi*a?7oWe~^Pnrta03+L^13lwRr3~=@(*X5UgiR? zc!Qf~sC$lO%U^wO46&A6^5*i1(xVyLQqbpiCtZiAO)hGiw>su+=x$?lkHnRjxA#ph zCq~t!5SK>N&M=cfd&r0Dj`~BKFSxwDY+*lM{m_l!W{fN}EK!2nu2TA-beQMh-HKrB zt}N$2LA>=Y2i8nBk!`$XYzH?U)`XIX@vlY5LZ90=Oi|9xy(rP;tEuMfHNQ`%T5VZy zI6jbM5(WhozKoT|^5>ZZYxjlJy~)vm#T zWJBFB$^@%6n>dGel`rGzYOvTY&=f7-;?e;%^M^m_P8XH+m9rKeEzLVYixXTZk+hH` zi%CE8-n~3uZ_@OZ8{oCsf$GofpPNXh#OSYB4(QeTno#{JO@bPS!SzqD^+Iu-un7A3 zWX?I&wwO?$mEg>M(cs(m&#co2fk1?JGslaKTCUDPk}4l~Imf#JB4qht0N~=lrLdl) zTG&d{%EOkg(UoMdV4g+i!(rcVES#R)7GomO)9yj{g_)!b5*w}A)-%^MIHu@ zN@-%J@oCx2-WL^bqmOseMm}~?6iBNRF_3pe`c3*Wuc?u&r!!(ZlUxab;iAPyKq!gt zwj>-7lp!x6T)lQu*PYM1Kn^1hA4BhG=|cYW>yZ1K%2j*5aM9Ul zZade?PLTx*^KDN%+b1)!&JXpckx5_#Z`4$ zOJl|A36xR`e!yPn)shy@F+_vTfgFwWB$oz7m`h#SM5+NOPf*6b75xffI%pbxWa~f+~`py2vAB6 zUcfnUq{!eCI|fakVI5Cr-`WhPiu40+vayU_-l{h&U&zEo+8MSm6cc|`*=~6U*DSA&rlT1B6KZ6 za)2H9+vyfttqfr$eo9@z%n=CQf~ z4^?-jbd*sAe<=x%kFQ5Tla|P8v-)o67+~p0{;KMCB4yQg0!lO)z}3s>(kh4bRq~@M zu<%g8`+5OQhh=rf)}+aB1sDYI)r!rkA<_eN?+vs0A*De22HSi{!`#8a)9WWJ)20en zW+&$0b<(}tk#TH`v>DBe|42Fti)7FZwz&)~&?|{l{vb=DJc(3p)d zpMp&y7S~>uqJ}i{+c#_&@muc8C0f}-di7>9>{)=4_t}CsYZ#Wj0EQ#cqY(hr=wEiD zv!@U}-2bXo*~9FU{aUfsx^G|8hPo-ul%Zdj>2g$C_Kzz9J0ic7beITjxiM*>I`7hr z&^f?e%3QxAnwBcvzE?NJWg9Y>yAiHKbawMvhfuvhg$)H)+?hhJj=zJ#i^?A4TImvty$deM@Nkz8)4ZCx~^w5+QIl) z6Yc&54zs$-FHlihqF_D2rP zOdX#Q2wqgV0xgc%MvGF}!w3IgXOo^A3UXdJD~1UR`2N z6VRa6Xn86-=4~Brva{ils^j zYT}qtH$o5VIXiqWFP0O>`K_gqRiXZ`up!N{R*)pXNDZrb!wH(h$roS6FC z2;IAg<($R#q1G!Ohy$&wJIlf+Yg?_-;ow;YW><)hEz77Be=^7!~6Iz)GCNe%y_#(f1N$hxmhWwtiK>lyq*F_|#Y-KE<#7^pfE+hlM>|0IC+0&^#%$*~>&(aS zr<&5Q*+u(SnJUe>zz`eP7Xm8lmH=IFm8PL zGf#GomtaBJeWh}b;fHm9S67tQ)EV6VJTs|IJva0+%mXb&HGk4}W2xHH3nBX|Cv|fB zJIM60y8tc*>-N-oRm;N{Z|@s2U-ol-2J3*>fcyN9Vos*@9kDFQawJYvyJ>6jq4j*2 z9x~5F0k37{zfv#gnn-E3EOHJlrZg%TR1nfAjQ4Iu{f8SviflCMuUz6PjQjA@=0{!l z7?TmB^-2SxGK?A}!vy-`QG~SA=##63^=F;37Qc0!D(}BOXn(XJl2FnTVjNx1?^v^w ze56+Xt6vNf;1HOv&52=TnzLlo|5K_(aVL#LBf$!O3Ak`nBFQ;*uZD;a6Xgl&9@R(( zvsFa11BftJjw?5bQ?TkPe?jIgl!q$l|#?RImJtuh*ZBjwEA>EZ97KVn^Gq6f&I18prQG-m#mCFg0W;wz@%dj$4 za8bmOliI~#fJx%F7X4SFEG)XQpwX*AgKgQ-@4Ebugh6l8@S|+Kx#3!y-^wmETw6X* z*S$LaV;e%uB&2tUh$DFuT^;E!Xy4c3#=0Sh$kjd6+1Y)<2YV4~Sl8h)lMsuM_lyxXK>co5~`OG+1^hi#yGqrTKO{ zQ7K%YSQfzfb}!P`yhPLQe+X0REm!X$-gLVqvkA_r5(j>!bmgAWG`(wO4g+`*iTEf^ znmPhqjuQrkp9bylvC)*yxr)Q(M@RpomC=t-ioB1?Wcwm;)ND~k#Tu9}9&g!_uC!}= zRLfK$#|DUExR#VB_pS44E0MQ?BV&N>9w5*uhFX~_{S7r-KGxQFPw|aLq5^h*{no3M zMGy~#QB7p&x?{=naxgIj{PWBvca+Y6=_R-bztvX#*Yh?^?;>e=EC z*~K51UjJoX5`s5BwUhv4NeKzlC!F5!R(&ZJ7(@e5G28r3BrK>F?;$?+5er{6R%b{} z(|h9z7$LTbBxI`4nN|=cUeI1TGBQ{w{O)L!Ta)6*&12Zl|5-PdEp0tXx;(Uzz6^yP zRkD(sha9fH12kdfaN7Kpt?kw*m~%pb_i}06A|NLnfMI?u&r%7yU2~Q9ah)}|^s7~B zbxJcVl?CG(OXWIn$`qQ`M5g-3owuDx%Imn&IGj}+x3v5)Q>XuC%zSF)4hzL%c<{3k z{j=Ijdr10nL{Z-2A4(z3jHj*f#iJJy@UEi~(BtZf@!D^)>sSET zCQ@o`M|K{Fb;cnacIkbyLb z9~@Z=`T{}n{&WjTZ)JWfd0Ui?MKXrBe^Z!t&pk(_JPNeROHa)BAFajG=F;ycwAhh| zp#b>-aLDJ(h5B*CRi2F&A47Ai4l`)a@U(6H(J1dDuY z4GbMM4L;5{Pll>R<~2X~Jaxb30O7)loGO!LP%O$(W;ipvb0&8@(W z!0e=-^A7IbZ`dao_LRy=qb9sDYIo=Amiw|6`yF|Fe#i@MWU_qS{Jv(24&cjufJn=4 z{r&z<@=w4E()q^r=h~2)SFw&WkIg-!BMSnjV-oTuj(V2ZxQVa?5se ztHSF~T&}ikqFz&=Kf{9S^CTrUZgfHmud_>^N#~vi@APJ*MQcRwJKWxWyI4bzmo5KI z$2%5vjsXHfwY1q;t>w0H!Q!?=j{YU;mV%;tTN4@1!p8YCt1OCeJqI=`RGBsvlu%4d zx2crGRG!a*{KfXa8@iHHZ>gnL=19J(1ac^H|za8|)!Sk?)k`edp1;po8vyN!ayIM!4zii6eIXF;8 zWeM{~O;A)DYV14W1$pUIOYxkZzrKA6KIHn|UGh4KD_bdiX~*p6n5?3=_=jTu`fEDP zt6zwj^6%Gv+$VuAThh;oZ0C8nN+CL-$WpX%n%OyeN5wSnZOw43lU#<=voO-Y0qfi> z+jhMc6`H+8{AqK!1xeC1mUew@yxB_^HE2lbinrQlu%c0ug3nNYqMmQY7aF#|edF0~ z@}uu}8+YgDUYej|6yLEI-4?@cB4{o4g-=q|=h&df>-s_XJ;*qO2()>k)jy0b^bpci z!*T;FdJ92kPo%YWYrB}KiKiAnZV|)CxFfIcD_Rxs^$_2dT71Dw!V3%ca3At&(mHlM zRlj#@K*nE4kBLY3i-tEAT*vO5m`^n7DVPV1@%ijG%c5+O!}FS|PYoOImaS$B>r78vo zlPTE5YJ60X%jPImFKbqoP}?W4w!VoNSzVNTEYQ#-VW7!Ya!7@c%S{=Md#xzNBdJQ7 z_kG}`Gtt@4=O^gs>LK}HL=CAS`g(mv%??P+)IR>0(LcX#;GpL@MLhy81zL#%X!m#J z#;=~oP7@dZ1G$`T)*|gI$n2o{KNc4)S8cc}{hYlkQzC9;%Qg5ys)hSP!583(*NRnK z2t}v=Iuo$e-FQV%QBu&>JkQYC(jK)#Y1IkYO|g0@Ud)TucJ|rXY7+_H_Vw+#T@%%< za@YSv*q&k5(dy*g-q@4NmKoA=e%4vktQ(ygTAc66klS_?V4E)$EjVw(n&RU152Y@| zf$L;^IYI65xOl%)#!o(d1aevzAFA^NSfwdFmtApIogLTGq@+Iynp`Tn4Uu7{dM7P4?y+uXZ ztcp*vSWCnlG**FSCKIGdhigg=h_eKMd6AWWgd-Z?xM$7*5T2P5v$2T?!`}KXy~)8H2o5L##Bt3V&JhACdMB}KG%)-UEq7rlMkD|Y4H#AIrN?A z2~l&;LoV&}8InYlEQmB&RX(XXnh}_EL%7PJbQe`z_biDL^&SnoWgBp;Uo)R>KfK0s z^6;yf&{|-LnVY*dj7JhXda`L0nHb3TcwJCKyY^oOWJ&AhyJ0r=md(;7V(VdT+Kb}(!Kz1Ud2;=pGxVB}3KIK|N_4HyjYKr!;WVCxkr;*}spT_N&X8#YFyHTujr44p{mNjQo_^|k} zx;<;#b`|!X+xt(24uYESS$fUiRb0H|xR`-2a$2rH#n(W(z7&^>cVCws|AvB5 z+Ycqo4=1+q^$wL|?2`SLV1+wNGk;9?s+{&yt^a7Cnfme*5WGLEiD}ML^-RCTv2dk`cj&TUgL2@hVYF?#G zxHyOXaM^7wOoWj&)elc?<9|3+X`J8BniFV*I+gFCj2d|Y1RP~F|8!OP;_V&MqD~s+ ze|D|C1!lKZGqojYCGz^a2qHRk62dWT&;${0lci#GZf8uz1KzB0t?aq}){8r5iWY=W==BD%$ z7Y9)o*8zI`L87!B1S~lH#NChzPkOs_Jz}l7X0~S7T=iM#>`I|E^>xNY4jwHUp_o{7 zbZtqBCX~iWyr^q&kTa>(P0=|%epy?dt(>-sTJej(YISXOapOYG z)VJog#PjVPN`2c84H%a0trg?pYrG8cbir(j2X!XLVAQ#j`vXHHUDm{uuG>@d4#`Y z*{XGJv;D<(qM;#Knw8w!Nzyc_HxlTG<;24Od8M_7WZ`o4)KuPzb|ev+s+XQ7V}>f1 zZ*UEo@%EP+gkkK~SV@(bUD4;de|JEm0Z_mJt>HU@nXyG*_YH;8Q6Rak(**oKma0iR z{6Uv1PO_QZm$y&9Gjx) z!+Zi?UoY(^){IW0e8bR>KD{YBjPKK=tu`YaP|43Ws7FDan3W7S0UL0fyjEL z_<+=n0Q5xZW5`BZf>Zw|mPLUS3$CBOK$e(LaYt>0KOfx#XMOFXbf3%(B=_^~f#Alh zvOS%Pr+yxFTRUvolFLP*#Dc8JBBs|y5!09My~U~OauC=1dhd#NnSjKT;SH?1^D5?8 z{S;^`quM?dreuJ=y1WpAR4caOxjhFd1@KaCTCJ(!aUP_2^_KOj%6KzF7g=2y$Jwgi z3djPPNa@eta+GuJHe`S7Y;%grJoL)q`iJ8G0fX^@771k*=|fCEk>*tqXsiA3{!%#S zh1fP1cw$T|Y>U$8S0h&W#+!!ro5oYsLJ|EhU@yj&lODk)i$s6!$mZ)OmXOtv)U2h^EyEQ_&U z6@OLBPO?7xjFpo4rN!i-hj2mMlTu?W_1q)=0#FW9h6(mbB^BK2?tw;4bH7eOX7weD z?XAy0fX8!6zA7_!KKYVvGOLUz$sTGRVrIn0FtNNu#s=QtLXI!oL?4GVCq1gNfhbDT zYj&7aM^1XNz9HpMr32Sa$&lcZ`*fzItEnn!5(Z|=dRQ{i-WeuMw1$|^nGVli8h4=% ze?CO@etH3uvRDhu*P-sSj>WzLj?%l(8`zJl2$O13HoI>d-zUee$RdY}N{fZk)9=(8 zq7ae`=|gUWlhEO+(cax;F>BwdKdLlF%{}uj)~&F1sQ4Q$7n^j2b@~Ims-8DDya{DK zbMAR%Wb>N9$G@DcwNF9QFPHn^dl~#|j(pOr87gg!zG5XqKcI#}blWB$2HW(;zxD1? zjnI)TWdw110poaGIaX{%p@xR23eqL1kN6%C%`3q{8eejgF=DMi!82)%Hn4 zVa;-SR=?wHARclUI|jxXJZ`g)720~o{l4zorto6~E{kBmr+ zOHz%%6`;sW7TYW>{$?Sveh+`}RI(WUnlGt#2-(oQc3cRSqxQ-wLYXV;ABx==%VGy! zPo`*Qu5OSNqRU#?a85sCJ{+Mh}jWWnb|AdLcYqrN>^x+qSWWqMT$;d+0VIn;12@IZ^g1 z2oQc8cZS7BLHiiq6*cBZD6=tmNKeqsX(N81uAJ4GnOP@BD$vf)!WbBf;8t3)t z3U@E&bk%4-eT{l<-G=gaBE#;(E%n==1RYt*)>u*#)lhm-SDe4dczq&vp1=B z$8&ec!N7lHx~A-&c>Q@(V{Xzp&paIBtUDZ zvc%1Y=4PbR|DMVBNOpT&;Z$?p8Z2)?p?61u82^DrJT7X|OQJN2vXzpgz0?*$IaCIV zjcit83zXo6bLz$DPW&5PQHtn96>tNWDf7@vG^-=K2HDq)fDdx{ha+4$@R1R{&|ScOnC zT!fOcb3CuJx;F@CHH4C5_n|UK9fb^I`na~fvCENm%-J~T_L^|*vzoj zD9SXZ_H@3JumR36C4w?vg*8G^+QqSriwYr!n*WY3Kx`Rw!_#bHN)fwQBhY~jxS1`% zF`fu(es3o#g40>wOXnc4Npa#k+ZFqT;M-%;N?}|2u#s$c^OK8&@J*30h`lG#nS(+x;)%g(?yVUpDb0kDeHA>Xn zhJY@NfdrSh_ZL|?S0TCOVi=T%XM#zO+t57`Xq_jXrz)4WwX9WCoO0wYv}>AS@FS=a zLEaNgZ5x5SM2quoj}c19v85ff|!F=sGg23o<8>=B#jcOqcGQb<)^QlMdLT9PZXSK zXc-6^`{q{Vq0=s6iG7Fx$!ZhtlK6)r{A{hjWw!qqlALndAhV6JWL*z^vw;!Ppqgs! z+l#eIWz27$<32;Cc5*i;763P#aW7R5EI0lFJ_H&95{Zb{Cm11dmpK+0%)f_Rk<@7S zvgU-z4?C;7*Lk8bDFM5bmaAMNwMJ8B*vCwLKUcX+5^{|tmgmPfoqN2BvFr|d)SaK7(KC9Cee=<_$m>h5y^|hSzzh%xUaNiDQ zJ=JnLuHL(`w(-|=VKykWIhr9dPgKCi+$P5Jroe=5wDSUN>{SXF8e=QTvCI{5$s_ibb{JKNJ}#tXcd_%fv&HLmoQ4 zI@H#dwR8URD|o%>ZDG6hA#?7Uxtr(E$}bR>3m{8`msxwvEupIwDlMDWb?tY2{Bco$ z1K(1~x>GsbUWRxI?8(v@OQ^d^!vPkdqU!7YMcOX!V^;PM*_?9z4@En*9jV(M%*u!w z`cY>fcZYVcv@=_(kWQk}u-`j^QNeIFDzP;3<+ZLEsoy6_u}2y|mMl#H59x~oOCgCJ zc{)ras1Y;AvUz)slk0h855yT_sRwc^4h@SUq`SEQhLpe^Rb7^ySpOIXt(d;aW7X@U z(+HQr2q(mB6?lw=(|&@KJ3d;wx+Pe{owJ^XnvyBkCW9u*Ot$a9l(w(A=aUI1`NOQ# zucC@VYM4r@qQ-$^TtR7bE-;1flX(tpBdH4dEN<@zH<&%=5?-m3_t=sDLuvn`j}W?W zz3sNk?5Mqa7*Sgpk|&Jz`V*|#jO*@=S9JzZr29F6%X>0R^lZphA?`16dywT+dkgzZ zJbu>F{tqP^=`?wARUZ-?TFRj1C|esKJ*R3B%9T8=qdcZ%erKF#d?`YC(AMV7k)WL<~R+maH&hcQ_DPWc$+g;`V@%S!G{vqY+J^m%h4_cYCw zD{6nsZI$#?l~A=FgdD$u)w0xM6$9jd5uKERadW50mX(Gq17ZF{L7{IC0oC5K%2Bs; zIJjGSN6jC^X(miMIp9{n+^Le^SRPIqzoZFOlitna&mJ;b5F<#EoLTK&to)W~g!tIn z2GY46AhJq`Q&MKIV}BXAn-{Hq*#apA9w0G*5UNNiK4x+Y`T8h-0F2@Ek1c~HiP7-gn!T1T!4sZb?RugypLG%)%i2E~3C zux2vZf7z;rr8WFR>HLRc@NU3PcE}lYudUo< zxEscuj=ke&w6dvYq2uzso?<0p-k$O-w$rNvS$;c1;gdlJ4FgFqz%Y+p5z&>d;P*`> zc7Z;Dbz>TI_4pR1y%MPy?psXvFskCG|zIw#kD^gKSVv@$ytd*UrF6TOnv#12sISb zLRUBt@woYnQdm`(uR2MiPUa-EBt)Iwl+Fj=bZ9Wea^CTVvMMcobm5c@$9^Vb*z#N| zXuhiXo@}h@ZM%#E?mX(*(f77a9yQdFyH>$+^L^S!|7-<=m^cRr<&*komb9)~5l5{9 zNr-VG0Vy*m1fII!PL5(YLfyIE80aKn3Pc#2stPblwbyr~X(IN~(PLF>>=56e4jf2_ z8gj2}j!(ajT%iJ%T%2o+9Xv>(b1$PK-nwb#K8c+lO1>0r4lZ{}xi3W47gE$=i8Smr zAMZ3e%RD9GV21Sp<5D(}$kb1+W92KZAn3FXS5$lPJ|^I~$^n#l2RrJSEO6by z?O4BC(i7q}$z|dw<-`ca@T4cSY2!#E^49;G#iH!F-Nk)o zXZS7Ie?BhCzJ@sgs=?cZQ^yMxVR6sNIbziSts!qangk`054rsTA)f6GR*EwyP{jlk%tbI87 z2xx<jQHyb8w>{git#)H^4JX3qIRz1Q z3KbC=%GOn%L_B?7c(Dn6pS1${#Gei;`yw{`FS~mqAKl&>b%LLqmk(VBgFjs$ld!{k z+Jx5Sk|lxHZ+{QfZYpHv9XL7QSOqbEx|kf3jMV#_z1)oep8c0Wi6dK(RQ5e*jxJ7FsG$aMUYL@GutTe&r?#8IZlsn^iOed z0anq_$oSOwJOZ8^OCQoQ@{tnktBPWJgN6G(TcSrHxOO~sS|9);2`Jh1YZ3IQf^WI7&4=(bNUk;F^JbQLt5+(0X z*|&1^WdRaFL{e6hQL;EGgg)INCE*%2FVlvDvQ^b*<8^s&n zP>TAn#Ef`&ss=L+8y2R6ynSNV&yq!%{ncR}$$kt!O}q0B$|^&a&F)cJl>ecCLi$8S zg3KyMT)hP+nGC9Tfzg@2;wl9ac^OCw_?~`a0bjme7uD1UTmCcGL;ncN z>Nfy?=+4CsU%0T^FF+w4+uI^gQ#bV&G%`a<#!@C^g3^&x;IJYlE8q+(k02m%_sGJ1SeN!BMAf@1sn}VHr z7O85paWNQN49ASozUd$ax*^YGLd`7Tx7A43a#Q%mrs46Y59^z!9&#zh1%5lYXdS#7 zGFFkjG||R~v3VvTplE9UKe&z@6)Y*n58RAie(_<0fnykWXdQ`e{#3h;rvvRK`<=6@ zE-P8PXCIIGi>g}D1KN{E-FUAd!-}3j*X<|dyhzK~mrPX8bG6LV=W|;LKYs#6`$i_! zDSwfA0p~Aae_x+k&Y0!z22yO3aI&*``F}`2ssjz~7)abC8$LBXRy&o!S5n<+TCJ|8vwI{( z>aS`Dv0p3?!O?LDSLYqh%@C1N0pzQzTN|SeBviSNHit*+?dNX6hWaHQ^M%~)mMAP% z1#)O3Q>&$s2I+&NP@(}l?LkwgY?<*192bP}2YN6^SsT)R=Aw;bo$Dn*MZ|CIiuN7r z9M1C8M0GGnZHNj2DYxVdslr7RG1=@NJa#duev{@woCBMTyRW#@%1pSr76-FO^=xCY znUx}FIh0OHtS}e<6Nl&v;(u5MHab-v2eqb#C6{Ezh~Ruj#|z2fjFw2Bpq?&ExZLN_LDMP2_=CyO9DiAr zrf)~t4ygM2`i?*ih}N{tHPKE`5lg(UhcS>^S!y+nen~fD3J#j!P1~RhOU4=-9roa> zMCyQk6_j%gmcHVJ5kF;_iHsBSK8OcRt-XS|xbe?tjn`jxO)9EqeoI`k_vUF{d%4Kg z#m64Di=q5BYGzWTmy*um<~~q6P9sCB&PmzjmA2EUd6t44gnHcq+2%-fDJH7^L2yW@ ze!7ngvgv-oZhQWs%MP^PFPAJDN%)gzgkv?*DBNEcdC-B9`*NeOD2I9Vn(2H7RN7%J zolqIcA69spGR(CMS_O5)NQoI6g6*5g#H`no&wy5Y)|GSYiSY12$eYa1ym4OAu}WH? z00Q@LR1u6&0hgxL(kq4B3IIdY5`2eEOKr!R7m~=Elzf=4BGCQ|=~B0n+Gd|qD_-J| zsOIZXYy+3@HkPv#8KV8PLwTJ{vPK*qq1(hmVQ{J^H2?LSi@CiG3THonr3trRNRZ3q zr(w@Xd+SPJ?3qn$nz6~rEer7QDK(V#!vJ|m1%g+_d62lTP=1Yc!v`A8F3^`4t4NJ{JYl*J zp8&gNYVWgWvr9R|@sleOpLxN3pEAhn=c*oc?&N=t0ppb>r!@T_+^Y3S-l~^5EK!Zr zL*5P<9)YdEm1YP>EdgHX%LnI{h7{`2SlN%#OuSHq|L9NDbN{c6EAPAL+6!cAHE6UU z+WZAg4kKPq=o*bS_uH=938vb5xoODK<|S~w*umsJ30S{CKEC6RQT)9g=ua;aN6YR{ zrc&y`+nQKdwkQ}#M~%G2o6h2N8B#w5k8>GDX$@sIO7yl~T8J@H3KHSMy6nmd^6qR{ zU{+?+TRJ}zB8rWdDDP8#Nks4SNdL~MXtC+o^M@-Z!NWziTc2M#Y?}IZe(Z{`vfaK5@@$_sex8G@|joOsQqTXdKB^9fVjyTe3v5Uhp|yncV`|YvN^gFDwX;r*zvcpKE?NQp-tM zfO#}p{qv6Z-6c2xF5bkEjESC68?B>TXZw}nW{-$x!Zo(wkeYuem+!AfzDQWv6%V-6 zHD+?}cqMVU0zTAC7Fnsh>|JqfH=tLfjg2$AGMsZR`y-KW-zI!)8zuSPUvI5W_U5~F z8*0NleIIGsgKyoJzuT95A5CKBpND*XT#y;Hu}XF^iGc09&-5PXE?dOcSNbfMXNW0} zekFIIM*PS9B;rCO#U}V7`H$B@s<-2_Sys;p3D|TaBn5V4lr%`bl+LeOVOljsH?sO0 zv8qyI4X3djx)E=|mg4rCDG<23QiG-wt;du?*ld+{VwVhAIm_@QO0>2rC`C=hcj~>> zu}n>3Y-45*Of)Yn6I^YZHxh{AE7Ex~3AK|c-4p+E)kb@(a)Y=OflW<+teqr$$uo?K zZ#ZIb=ytYe^8w?gI94e$v|Y&IGE4afk|9!4+3%^A)VfN50YMGn=YB=J;pj{%;Tl)FV zb{6f~Aha=TrcsxUVjv^H`xYq`lpcH0yrA}f5t$K&oWdR=T+TO_diKob|7sSUWQ4=} zFQ$FIOwoMFQGAPM1N|T*LK7;kJnUaMft-nS<$QrP)8gwxStygI@lrLNqr9xt-zGs_g!H7-;IU_E7h;?oc2DMvc z>(sH-jgOwfAr=wU?HxH1H>t@-rl`xe1>a5np%iUl<88Yx&;aJkn@;1%S3Dliac^&f3*%=Cc~ZDt+q9= zZkwlHvA+{a0T!SyneyV|vRc3Zl4{LVZYvr@pHHpun(!qY@ULUj$Le|fo{Z1o>V9Gf1h~z|6l*tPU%qeF2L7<|pMuH&GBtCyM!3YX25Q||u za)e&`E}z!a8gFX3L+j!?D9-blSNXPQEBKPY=;Ybi`AVca_97n#COGGJ z5XHvo`7Cqw=q{1x5KWhHr`9fm{!JX9@#COU;2>-4oG+S(Y|Y{)lg+lWyV^Yc+H<*u zZ|BO8BVWK%1@d*@UZT(Np-P59utCcM-XsVvE`oQPSGW`G`;3|#K#akn1Zi8=OJh+Q zktC)#uj+KB++Yu7nVSxTkk0nm=FFDrtzcgu*Uw?8eV!|P0a65k-{m4q3*BU^#zsCw zll~{lo<_$n%1bup7m@G1xr(^h2hkY0;^$=7zw(vu8hE931@qe3tuy~>3A8_upSk(y zbjI=~U<6xF)#hCQR>?s;QnCTz{(}ez^mPa;h)ma_ImC9lK^K=w-Go^jsa9T0|ETjF zPyEZ9hE(}^HXa9F?aMP~y(~MKos@wP5jR0>6b#++XQ##AOpg=62J{cvnrhN0|BRAxMsQJ77clN@4CrU*j|M$E9^Vh&Hr`G;$n&@W1tC71NbSqJnu0I+d zk-lGit_B@K2jiSeR&`~uOWkj^AC-$ohgT@>5F2Y{2rw-+L@MTij8_PUj@*L3|-$QBoSg*QyX||#VT~G4t zS!8>&g36yOZ!=Fr=S8OuzFCo6$}vIqcK8njZU=Y{HqK{XUgw?_zP^}`nWvnuVVfc7 zd71Pd{DfO`Q1tvfBig^Kt&cv0uMQzgSYYZS_J)pya5eAbD{VJ5 zJHJw<163F~xUFHh)^y!~l6;;r_{nI6WS+t&XO@P^wIlO49k7J7!CkSp_Y0GDdo5sZ z6~;Fl=9_?mBt@Hjns`idOS}L^cnuhL(<-#K(gTAR8d&ExF*i7P(ADn3k_o##!zuiU z?@x{Rl7%ib*6V=X9Vdz2Lj!&7(&uVRC(!|Ks~Ac##!EJq7j0@UP9OeZkpZpgP7%r| zS2rMA?K*T@kM5BsPcM|B zj=72bGs9V>pXW)jSxp)V{U2i5f3y$$sjH~cd<+XAgY%UbzTJ!7Z7CI?L)vr8@>xo} zQ|_I8*~1W;b5AAsH(h_`sSw(?ITNgb(wmAW<7&8*CozAHVpN*5pO|{rh!+a1%)L1@ z{0oQ%c|K-88*h&W0&#u+0<06)_N1xw`$r-u8xP89!n!aJWlfG|pMFA@uCth?vW)Ci z-pO*yS4h8IuThuSU2B%X`hJCxDV!+(jK)pyre z{>s;(xoV|$UgIZMcv#?XI5qPc#uRhTtRLNxWhAB6lLkdNSTQ=hbBRb5PP&r&Eq5RJ z;b+c40pXm3n*EzYF4^L--F0$b=lvR=U7LN|U8MNG0E8#OS^FQkWAiE+^FVHY4)=f= zW~&7rJju%@E^+`Ng1P)Pp-NvmbiO60dK=@bs0E!`_pg*K*I6cHD)-}{t|~Etzkney zd|Yd$X!1<*5nSo*aACSuv;i+Q5cf{oEXqrZjmScr$sF;9?3fdW$l9dU$3hpWEV^_v zRGY$XF$7LG6JZCgVW>%{8MY(P^3>2p3MMuspv?EB zNm?UyDhJP6e|!BDlk6?{9u@P?pc_{Xf^^z|x6Q5>p)u2=KwVj5w8e)pEMtEd*CjvqIFV? zOg6Vm^G`jam%vcpRqW%<)LwX;TwSJ$^)vR*suh@*PP((Vl{>}iYhA7tzUOF}hn($B_u?b2;qewC4SIQKZL)D15kNLzQ!w{1tD`mK z6|eKR1X#hjAhxU@QSG`8YEe&STbX@&`#?U_QC}urNaj<0r&3KhGNB6zZlE-4d6oX} zTba}65?x4*#c0Hywe@>V6mi`YIdb&jU#Ai2aW!k)ZVFW0ok>HuDB0LU0DOV%;)S~H zd10;+dm`8o;rvPba3d=TlhPMUFX3ql-++@pF&*@K!9P~BH5*#MVcVB5A-Pjhb!xYD zd28qP)&Pp3$F9JtdADF(WU-|S^Pl^$^C`3#P>p47GLcW7N+!VxiQ(pskk2HO`5FA) zoKT7yc9@}=BY}3Q@Xb7a#}7>Eqp>0YV>r9}YJOw_rG3!tn#1t^K#IRQj2vHFjRKSH zQZY=d7HO&bdfoP6_KXjK4eCTSYwf}OJ2s+3lhKD{(g!I=`}e{Jc%r;*HNl}vdbJzv zN8!fO*iG^qWRC&X5am~(awC%o3x{9_p0%EbBcFZk6tTN+aPN+2Biq+il& z@inv7l;1L6f zik^ZxPYHf^3mbm{(zAZLM#=_bt=x~KXRI4zVe7oGQVAI*2FdPGUAruPOMk=A6gOKri;ITdegsv>E`rzmm&^gHwSiq0fovM6z2JL2WAi(=Oc&gZ~wcTSO4<-L5v-q zdy=Bet%e>ZFT<}_Yt(Q$9Sx&o_{j5aT*vP=>K;e%V}FcI<%9)xW`*&HGr8M1&_Wxp zI31zQ)Zp}8nuN2sE#a}_f^>dFb2i3q2RICP!No04JJ%?U=D0gV#_@@tCZNC+U-0c> z&6rWpBwTcP?9x|J(?;z9wdz-cFQ76h;!Edkac%f-yJ@AIQSc?1r92(F7fqs?UI*e2 zeAI57nZ^K?%5_+l;iY|$L~GckzqNyhrOf3n<7<@f@jDA4hwj#uFh8xb25XkObeVX; z;j(|!MjA;{?=fGCM%HQ@x7A4$N;}R6Kk)ZK*8-%$+GPE(5DcnB$FGN@xJM7P&6vQd?w0GyR@h|u8IY;o1c-g!b z;NMF8?3x4zGAMqeh3{|88_HD;qAwhJ`n}#FbG*NXTwNiPnbZh-Q1*`O${&Y$X(HCV zJ=X2{OPGRRb35s_$_z=G;4CCB$DwZ5GkuSC!$3Kph~ex>Ctcan9+$csHbPom(R7A4m?K zk$1V>u*}o_kR;c(ioqQw3YhfX+_j+D{>NVD{e<&_7cT1MDvG2HBZ$Eult#yB^P=)= zph-RTE#pb6-k{xCkz7-C0$O#%4Q7B-Hk3uG^<`bjIcZEK2bSg3tI$Z)?qW(8A8xSo7YiYJ3+>ps z){v^C5%zAe!w)d;{Be>&obMBtn>)5U&?>z@RqK~9dh`U!yMsjT8n02qY&PpSv#>NiP3M();G6yO;HLZHVPZT`4&@m?5-Li1 z4T1RPrzYYdSo}e^&aLdN5}#R-^@#l^O-UZOB0Bb=l6n@Z;;-4UT`g4+Btt8L?H&j{+i62_ibGLBH@#`SY4>-P< zrBymH(P5y>%|MgHr@IuQkYBi+Ax_B*lD_C7`t@8hv`6~Xuum}Qb$S$k6`K|N5iz0r zs|~PPrBa5DPos9oj+G`^@_=8dRQA9Y+X+ym37Dn8ygmrM`I8*w!<~v+uUxhH*3I09G5sxD)8e@D-F!teMZdKVet&351{2>Axq?6CDY^7ym6%qesr8aSXg!oy!oXP~ z-`l$Fh&YelMi=_(WhMg9LmFrv&?)Ow^{M&)sJ}LCQ09EOQc4-!I3D4Fq$>{fLPvj( z%ptNDlkWhM4PwzNP~vdeb#FwUv@q7(hEx<~+W7$Myi3%HGkO$>d~UI&8A!F_Lw@N8 z+Osuh1x+12@NmG*eQQoY@6qFcIG_j zewH;`R3%+~*aUMstcR1wOe8x>Tjaluh9@f6P`L>vZf7JtjXw+ZHQHr?_KVsFo_8}$ zN#D2OzFrEA*!zIV{z~v!qOwz@e8UbJP+euj(|@%pFFMPm@E+5RTE`Sk>o@;93H=gy zY%XJ3UQ-#2*KN%%W8v=nr<`|Fl5*H9xqGfjAtXDoGfj;GRd84RvSbh|brR(%ZWC0?d}NOMR!*AwcCx=oMDadOj9w!`Vf zF=^j6!)lQbaVkpZZWN6uhu1cmPrj%K5R8p9puxEKiah~mZ*&L#1M+>?9J{fc8 z9Ybw3JhBV$6{&xfunsA+TToqtd7tY_@FD|!wlPz<;zeKcANyASI4Bj-xq0>`ilmr| zC}`_WvF_S&66G^ZOk58GmJ3BUYDh3Q^6U|qXAkx+NfH4TuwCT3WGvY z-aH#0BlaJ71;Vb|!MWJwM7g|$4iwj8?Ls=4pK1km>D**dAr{()sL4@gTL%7Q(I)Wp zRb2gQmfV{0JfjM;uc@y|w&c}X!3gkhHI+E|86fwgmsjipLBv~03_?}FB;X)cjt3|R zdvPE$c+{&sfscR;hB%v(;S!&M-5~A>A>F2V+P2tV<1{TUDJ2V+lA6iMeHFu^#UFA9 zl>^OeDxo~JrFJNL9ZC9R(f!d&0;C%Mc4{6%g|VDNJ44a`R94H6c+(u?0HQGsO|J%rMnw*&DW=vZW-_pKPi61Kh^zh3G&;! zsKNFHs}`mewnoMMsuf>pqoFnCM(Xh9OSl1h4v`yV=I^h&oxW{QE)mXMC?(bgMSKz0 zD99tL_BjBj(M4+EkSEt$c~Vn_@l!p_`#&3ep7|oH+0)YahIe?Pe~j|>nk;(cwj3OG z1*ZtgB71gbMjC zsz{cP8xfrO|JJHO_~~$=>`?b7wAQ1eV{hJL_@pLleQh5(WUI*h74;aufH}cI9bugR zyIAf7#z#d|?bc3zWdWdNv%DU`P^bWQ596EWT}z_j&HXOzSl8Kyli(|YH25AFmH~AUq??!vIFb8sE^2eCQu{)AJLg8} z^&-9!%NNt(21eq0j91HHnP!nA0P`;UD!VMBysze9KMzqQ^wTXqqP_1;wmwc&KzBx&YLFC2?GZzgpAxSF=xge!kLcfd92 zeZw;D9+yz%Eh?PPb>}4LK{Cyey9sl+vR-5LFU z{x*|;t*CO)tDuIz0BYH&o}=c!fCt)Yz5zb)SruyrZ*D;S=!ZPm0~V)U-(4>ZzF8p6hQ0Mp7wlO%2T?RJ3k7?g5~|RMdqM8iPf89>KX4p872i-Vht6w zG_^D&6gPq+*GR|X>j!a(=xL)VMqu{x7Wn-a4W_lF@-mDrfv8vW<~L`8}9@z9wm z2rxf;)w6Bs15qVXlOoU$?7t(nqd|nRh$^PF#P9f;y=^!^!kCUGrNWFUo_F+cpg^DG zXM0OFs3>IZqtIy1Df|5$X6O5poLkU$bKUoHNe!B+1sxgYsBo{4=s}i+o_^P*u}CwE z=Ub8)cM{erUq-SDR0@V;vK%nPAM=GaN-6bocjP+5R(swh3#Ttif2>3T;q+?~`1p?! z02NH>=+li=!JR0o(J1|?4;ubfa5-XBN$ZiirZJGL^Oc9ztiz;V2USZXGS?MghR>mbMH`i3awCPf1au1}dz zo7{cp$HNhe`(G5@!3ptXBA>_ljL{;GM!WM~@1n!EpEG8}ZU*MMX0}4@0X;>O(mc+a zUcWq=bXmo+*)wLM4bR->R0TO37F@>H(W1NK35mpj@JQose<6d)_bK~O(!8~&VSTwi zk`{e}}T+$f7{y}EoB9v+^f9dKo^ z@}%1A!~NK=(x^gkHBdIO*E}PPBA-MznVK3@;J@eh5Hbe#s%ciE369Tp1h-2w0)*IhmKpLv_pUaZB;LI1z8lw3cP!0(=5*D0j;a=SJJCzPkp z!Va~Ei+oqcD+ayJ!f1>#WnAww7}2YC1FBvf=Ls%&#chtj$!qNk2kn=y8t)ds{yUc? zR9GqC`L&#@W-uq}n0|wgG_h{a9NhvBS$KuiuAu~d3SKcnSj7s78N}Z-a;lQMdn&g_ z`e9YD2afwCz5NS#!)>=SHzp-0nrXY}E|Y37u1ByH!l3{op&XakukGD2kl&uut6?+s ze@)%ybBf845p&hj#~rF^Cf}Dv-Abq~7WLL`dBRz=xYCfh-E5{$?&2#eQalQJ2qMSg zJHrd@vnQM~7?#)Ns!{Qp6cEqS^IkZTIUYfsD|ONhr&L6&F8>L^;TewY{r(Wu-<;9= z5LvgiCTdXWScW@Fv6aFf19j7*?L#DcN6j&1s9hJs^LQkNIu-;LOw48#w?PAPtzh*X zFj_%>T>qfCn#mK!F@Ivq!)yBoJ)+!q#L^C=o9DGCevfT^x^WauB^G| zkfV(73u}?}L}zJrjGKeIIv`;rth8;RZ^q=x9=~3()A$2a8mfuAF=HRBS_3UK5)VOG zxdZ(&gbv?h=pDYY*;3P^Am;ha(w`G0vve0alNm~2-L!Ny$-b$jmgB0Ylejq$DE{07 zH>#YA;T_HXqq*DKcMOKNMf?BQ<(qd3fFEU{Pj%P9T@dT1=a)Z2pY3ndUdI0dV$SDY zR(uB_%P%8vUqx|#w%7Cb$LFTJ94(mOKiYEf|DN6TKl5k*^-d;zNbD*8eM#fj4YDwW zN9V2?mPkicV9Gd%lV8_5tInJ`2iT_?m~7Zx&_*t#L-}Ke1IAD2KAFwtvD>!JIPs_u zY{bP)e1BtRpC39h0UIA<2$~XJlMIW6cqn9z(i!3({WDJM+VeKsrobeWBX29j2) zne3vZ-mD}VU&8(nZtQDT;`qm}U8_ca)E;-liemV?VZDsrth?0y9y|LG$5SgHk3&JQ z!w(ZalMI;$wqy&DJ(4lB(AIy|i1!_b@To^*qJN%gWS;D{JFu{H6GUVxKW|id7gb=8 zJyJ);0@gbz3%xz%N1K_z6C&UKUl%|C5Gx=X+1G zaT~mD;pF-xFzLIZC;I-YcJ{#Q2H4w(h@v69CLfQ-u?Tv4S9i=sA@K=Vtn) zFi`&m;&3e_$TZn0nzcoIxej|9)9t{}d89LYIvsF2K;uhE9{%eSfa;u`|43M@q$QzQ zhjZQjjiI5z(CwFwHecfLK}8fN+})fAs7Nb8uu1+s{PJ!Rb)U_H@(+^8hIW4E-ld^n0#1a7b$JU((YpS%q;_~}IM zfP-%DN=A^fy+!{hki{}6(JC-V9(Hd5OdsWux#6M4u? zq6~EWd?I&CM8fIUOb}*pN#d?(k}FN&>~lwmPZCVxQibdr$P*!gH1Urlf21|;t15qQ>p=ZJ zB~hw`#8M>ah%3rcvMJl^z(%FEp@;D>Kbv^<*bc}|J8J1y$)e7MbrFA+Sx@+5VuS|V zlD;ZwbtisMs?d{Uchjbdm&Ao9C#AS+LC^GC&L37*{mW$6N4{Tdv~3GP>s12 z2dR*XF`(KGqeMIh5sN6qUJ<|iO6|*1@@mg3y6v_aTA`O?JGDx5*_o^t(rq+4Z=HJ$9-nP+KvdsyhSIq|`0#HB7Imp}6 zG;pqaFv}>Jf$F{;?ipH>P}Epza@gym0rz(4nc$yh)yq{!Cf04AE}{EmJs;&T^Q=e6 zff5O=P;p^k4b61QSYOb`S<`U+K3CxOikoC*G^zYZFU$Kjjuj{dk=~r$f0=!> z$-`X*k_8m}1<-k)4y9i1ydY@=d;i1YGl@MFYjHj*+?X~Tiej$wc>c_t1(fkApDj-J z?#$e!3_5k~_`)w-wdukSdPfMiR(w&^T<&=h$@k94U2(m#AU_}-(3pL=M`ztTB0B;q zOt98iUYWXi$sr)r%MDMd4I#V8Qd7;x9(1Y_b_yUaudc52?aSyK^WNcS;$p&~FtQ({ z)dBaRKXwFAU&Zq-X4Uv%at%~2=?lMkF8g?9v({_E7Etb(DI#+MnxouK+zNyzT8^~N zy+6NxtCc&n!um2Rs5d0gS8rYtnRM~I-YWd!36evM-RUzd@Bg6lD0xGZO7h`yolF{U z=cQ{O8Qyf35bO6--s-tWSAMSW%s)w(x$kyqeWWtlV9WRmVCH~0aa{RbwSO1EPMNvH zI0_bAkoe$aNso*>>LP)fB!P@;Z$B_23HOdD)@Hju=ANG+mFG4cJbB&gRqL+`#y==E z{GPez`%*h}r7esZ|1?2R;F`ZF7NsxV!p+Fk(aP+&*WQt49!AJU4UtA{>J)OWG0+`u ze;&#gNd36(rx@{L=O1-V9&dh~8F38n>5TAGV8){Yn~?YCguR0o=zVY^!-@eG&|Lwj zFuG(ASOsHp_voe4Ta}sN*!_qVX0QU%t5q31Lsl*uW@fErO}|~2VyVq%K5n3?8prrR zj?LAa=Z|Ed<9E`Pdzg_d*5VjB?-;Sv2`Cez^Os!Bo5NyM9 z4R0U!($2SPaHCPNkqC#4&DntM2V5Tl7JfY`bQ&0mUcRPnlKWJwoW-wi#tgT1i2mq2 zMfGx#-%ORaKNd~MRc_fOP8Lp|>ay@kcu_}h%)ym75Ig8%DP1LANM41?(ZoumnQ|Qe zv%H((!_YYwUjYS9fse>a<=rWr|*anC%sG!gfz=URgMmpOl|=7hzHc zXB^2r458*L?!jXa+lfZ?Uw~EMcVB7+Vu7nWiglaim*5Tv>3z^$fEv(|r)9D%cAMu6 z!do2xZ+JS!Jx{~^-f$G20YZy!Qu*o2%k#SP`3@nowtklV2J{tBZSQ5t_KPxip27;Q z>_bnx4!uw`jTb*a9hPy^Zc@Q#_3Y(*EyTzaJAHg(V9+Iau{XDu2Qz4HSF9|toqlyi zd^!Tn_XId1y3g%5b&3$jh)xBv-6rh727ih#K=cFWT%XJ1@n{-_g?U{*pqKEvhOi@g zi{R^7MAE0*=xZI%!*-18e*+9JDV2ONs7l3%b*77j1+z+m#_+Q#ZvT@T_QfE3%xT364F|8H?KW%8IM%kvCUdy%95zYfNH6sM+4U7v1YuBm#cPn>5-!d zE*9+^GM3S&ePJf{U%#F2$(^DAoYV|G*2NU-FvqHFdGXhU`Q(Aj4m_PxBzpO?72aYX%?5hNqG`-vIY zV4~O^)Hoi4I?SU*}{@FL!m+c#A{CQovC7|Nt3>sOaNqddJQSXq(=Lz(~2*L!1 zZMoWs{t+{uED!W!Pf}!a;^jLq{8(d8#1Ue5O_J+nXmI*lKXhjRnoo)n$+#A^+AE$zb5=%w5Zrk6zwzpId3J;WFMsv|;c&|pTza-hMto&_v`hedk!Ch`;gkbuZI| z9+mu`GCxgU$}Cdgywe{(--zelAP^b%LUjc9>dj6?nxr*_x6^yRyy>NSbmQ_jTmUv> z(J4z_bHws${cL1aWLLWqVoX%grt<$aAMP$0yML394|^MwU%o0)VBEB3M8he0hG5(4 z(n_NYamVQhldWZVIEV*!3YA0G?9(+QZbODfQ{cNVKHkN9yzr~o5B&_qr-+3iDQVMH zpT^gxnA-Y*FGbo=rg8_ldAO_b1QcnivMR&?Pw{qwl|I(@ODYWmIa*uh>XrEqSMsZVb`e1p#tw1euRO|}@01nt5!38yYMx`R1!>Fe znXsbKHk)R5{)C7718|ox-Sa^vT^A^|35137nAMmUaNYQ_#NOGUBrdiTA3sU2uni3& z=Cr?%9vgK>3Y4fVMnP6c2BRpifKL@0m5|2`I@FKFB;jCt!@mp3v;B02+_W-y{+@pf zHOWbs@{Q|GxzcLZ_MWg=S+pmb@#rm7n|FYE3H{6a(3KuB4p_gxI$nn~;gs&5+0We< z6oau<>M$Ix7h{&)wfe1Y-CY}#KX2;}29S79m^T|Bmp}`=vVAvBdFCOS6knPYdAhRN zpxHs*jJN*wTuU3vc0b40S@!xB_c~1xgO2cVL`X2N;zK|GmmfmT;~(o4wI@{FP3a4# zwCQNyN}~HBUsc<;*XS!ZyU7#Gj&O&OuxtW4C*36BT^d9;IRK)3RjN;Cd*(ae3`Bs*5*#FLxkfzfis%%{>+~ zU*pV5)r?TbYNmO4B0)OlWI7RXA1&UG?ssA{gPZIY&6fyRlS-+PT7D41J zmjO!KtRtJ9pn8?5SC^{K1@oLm$3f1t$wU9yp6eyzg&H=LIP|vel zVQ(ESX?r>y$fwar)`C!KxU`gmQSR_eiw6g9<1mkOx{k%MmPd~bt5N==Zt>)0NJ^PB zLbmG6el;l-#s`m9sbyjAxIwL&}}@>vRvS zi#Gs&hn#VsOj@DZQ1G4(3wu;S-^E&HT^!$#`4{io>uA@nlT4e@Qc5CMn&8bV66I&aiqg)MlRdb=>jzw0sB~~I7pWdhaP~ScZb&`FT{jcQq24!( zC*L7x_fF(akQrdzv61_lMG;O@#6^NBVY{3bqm2w?S#^I4N~r&JGMqW6pEhDhSNm9=KoXWpQQ9WWwxgm-EUxdD@pMgex_C=vC5$KGPf3 z3#GS#57-8c3o5{3#9)??AQ8%ym(f*tP5n)3$A4ZP)U`$vEG zFrbqqsjSmw&96Mb$$oW*e||fu>89r~gq=RDzpG!Da`qYrXQWiUt|gUl{D^62$%NOY ziQA*pA$Rfii1U-_EYE9TS^Nm$+;l<0MTjh>o{CsMfS;c(X(H?2V~hHi(r`>=l|DR} zUrt6oRA-^c-?ODPa&-{jwvVHiIU?h%ezY+!_$`PxnddJcfrWJtqTSTputsF00x}>E~i^>6yagvn0rlqW4*X zvS3!<;W^kKd=X9${H1?z{TJ}s;P4@$Yt)|jingY4#2H8}yVq~I))`Pi+I^=@6Ysfu z;As=H@1w41X8~w`h4PIulcFj7UgHqMooRqb=k3=oEe1?9SFEhed$BabWZx?RmgfRD zRS8=pwH}Yro>&SGr`tQD6RVN$X@U%##S2yGkSs6D1rDf5elz};rXCjSgC0SIU?U+_ zaNh0ZzOtlrxgi~&xN-ve*uS-I=M}#r#7ThpIbyQTAyNL%K9jqSW9YNJiv!eW68~o zTrqVRmq-9$lr) ztw&F5qxP^nva8tl5?sv~wLyXF>N(XLl)@=UIEaWvfVs|@`Ex$f3bn!aUZ2%UtM^Hv zDaGH=WhFw@q&JN?$$Z|+pWgn6j>|Ais^>-$W4klVuN6(3nU<;TsF4x5 zu&HtwG@`_2>kkzqpzI3^q!#&G0 zzScC@@<342_z*o(&?^^yB&??Msbz{ipowa08__;=ecJ-h-;$q(jvA0tb-5J-^r!;Jr#HaZCcp?Yj42%aYGrzw}hUP;&wUKBPlGW%(by{RXpn{G{F% zVT{I?v06&4>eipbZni?QT@E=P=%f>%>*#22GidO+WCF52xM`+qGu=p*=XGKNH7I?G)A@JP@a5(4irG=% z(V7&0_R}KG*Z*jf-8L#_KbAE&a&UV^@}m=dJ?-8hbyP^;UDOQ}b#(k~n14H?C%g$YjLw>l6TOE0H@DO zyB1we^Avn=S!DMw<}Bbsa0oRon%iG<7xY1$!X(Y3QwjgJg6vscow62=}|AsE;O+7ru6I>ow$`_Vc*4TWLZ%G zxL@VGkfSSth^H2c=1$H|YxXsD_jHl1obYt(b=Kp>N1QY(@4t$0nEz)L#)M9}D*-0);FHM}!EmnfbYN`no+ENnKJ3nvh+e4aOjUl%=for1r+G2?l>1rGK}do- zTMJV4d|5!gN1PmQxhSEkyS@U`#x-7+-#1vLO5uab>uphU3FnB^np1bpQjZH<0FGw|X+wUi7c$x2Rd%=ax+654EXVlG4Fqd% ztHX4iQRI;tP!A0>HJnaFHxAqc)Rp0ZlacJT0jwEkchAYcNZ)_6MC6D+sKo+K%N1j*V9Cu& zyE@mx(iasGdzmlpnHSMZ($?$9SY-^-0GIArfoD;>or^3t93XpKo_Z#7JZ4H`Y(AW< z4;#GGc|qSnSq#xk`LmtxfaOMgoG{|qA>e+TEv@ZS>!-}sS92)sH|9f$ojFIrc2F!+ zyCCNWv+xr{mhxxgleS5YMXaq!vkErXoaUDiO74idte_c#m*K$PdJ%xW@T4pa(H{o zT=&-CUb$^A>gpwfBA|Uy_b-k|L_ZC=YFNW zkB^>_!Y`Qj;HXaWib^m;AR?s@Y>!T?V|Z(ME!#M2I{7ANiSy zYdK}PA*9JAf7CbRyCEHKBc4~FD?B9_?jO<;@l_)bG;PRG$K8h7_(^8wJ$C1tM;uGD zbcvMAb>*+|5Y3bvcqCJ~)6K4-l{zre}7MM%(&EN%mDXL%l20)E0`7arvczWc1tM9J-69 zr$*jAh=Na}d4c=Sna5$kkuL^HV5xhU=DE0tM75^FvoHGam@*pX7|+Ds#N77u$y+^M zMA$eQ4P$5?syJ$kQA4vLmgxE<{scv*B0jNjQUOAK5Tl=k3c4W;79;ZvgC%@_s)yV0x2q7R2O%_K1&on@WB5TAvqp+@TQ*E+8T8y#|gb#86Wu$5?Pdf zi{!K|d_s6nDro!#sB@+IcX2u(6{Hy0{;3s;tTvFJ1*`<_$7KLOdc8F zD}1Hjta0S}J!73H?B&u||KXC!zbNu_l2?Usw*raf8#8C2=84rXV$KVt*TsjUcPoNn zjpgYqVZD34mSGyt+Q;|^lgEz>69j10-_wnW!$xn>y4QSNQ7XNfn=_M!9CdLOwxq~k zQ8`)v5Y|r2EFUPfOVV9wYF4Ei;KbGa8i1f(QNo#*Sq}Hx>o>o1Xzy5K8re4*+vi{H zKS6!xVFU02XpK5H4q>V=Pc{t3>a9&8hR&rfsaG>qSiVn-lt8751?YeLm+fxxH`CGt z0JZtPHrxSSR|Cbi z3Fq!GYKS^?jo0P&J5mt)g3cf1rID!7{~!r#nPAD*h{a|BHB`IhA>(u{fuhHfV<`m8 zASQ#I($Lo|#OL_%+Z*u*QPz&)iNE81e9r#lPc%jqI z^(=gIxc5O&|1+Or=Lr^#)ZWqbcQyfm9|K0Z_J09gip4b)rUre_IgSBa!2M&g_(-v} zo$<+lb>1Cv>kb%$th6&+g%|@nd-i|}*AtW(p?%xrcREZpZ@kH|kdr37Y3RgfoOPfI zjPbRE=LM9g`c9dp5~Y7;wMLKL*|vRCw%vDV11|X@e7+rtd!H79Gkov*!~<0mXTjkK zK8c*wJp^tO%!&5V-^R4Q0bacr`bxYgoo;-k0S+1SF7!mO@F=R_DnU~1-Bt+Or5`OD z1w$YtaVQ<%MyAwp)B!^_(popIpwcceB(ec9``n!bR)XaXLK=o?=_f+lC$>t7kcj>R&kvj$X0nQA4 zb4RRWHv0s?`BU-ECVZ=i35S-^zr*fo8>zzF>q6JB`lN*@851K4%UJxgzNxWcl*Pnl z>40BOyqv@L^1;RCgKh<0oT`N6&@&kFAI9F_Ry1j=9IHG*+6#y9R56!VJ)`q924gYe+aK_%AkQNPhCao4apmGN9v{xF*KRT@4 z+R7T&sDJ%42OkFxLP|?NY*$5Oov+hMxVCRYSYUjqK{w<&^u z(t^p_@U$HwNGkR$%{WM%odG4q(_|NCdydzD^z9Ioc2v{d<^&Yc8ST|pJ`EZfX&Szpp?iq39g2e&DNiu zf=~RniGD-y4LRxVg{G|{#BqBh~4{v0Whd${}Jg0)XrCH%4g&T4A(wO06 zWur~=cLIEs)EH^lzMZNh>96ptNIw3nS+{P{E-w%@uuqHe$@LD@I)wMbvQw5BS71U7 z2^{-j55id%@44SPP!Lfvh64mSY&eK(Mm-N1Z!x_oN4D-(P8q`{Vky*(7698C+4`I6 z%Sn{=&eB4?G96qOInRAX+%jdxWFRckBheyhuTw~9R_JkF^;#aA!d=#x$;N_uGqUGF zn{cFG(V9$mKGO|~fc9Xv{{*MN`GEJ*{6!KRuC`LY+#uU}9vp?*uUNzRgT;8yi1Jo&a)Q8WGsr{!-Iv5^GUy z4m*~O{NZ1;(u6G*t2UKjjka@N%u1tyUXA3g1w2NiGm`SY&~YDS3|=C8O=NOQYw$c{ zXlF0yM5!&+hc$tgboA!qkBb55;j6#3d1}D4aE@+(oa4!AW~A`U8~dB;2G0%84~)kI z1sxTy<5s8M%0gZOPCU@2dGkX`c$*@kI(`A6M~kpDgZ9E0bY-WicW*phs<_GNxa5v@ zJ1l99WWyyc25olfBF=Vy!hikX!wXk?a5l_7)aYn<-?1O-wRKXlUV{UcY;T?2o>4w> zbrYMQ?j{lIm&!dM$XwaKyxqm3-2LXDdYSI?QOQaqqDSJ4U!XJ#2PSV&RY(z>^J?Rl z%^wHNzTsP1U3N~Iix06He|;LG-=1RAgey>cb?ktxJ-vOP%K0YB(oXe?vUfDI-gU>f z1B1F73~E3qjw<4j-eX>bpIEMj6_@Xn=y_54g$pL+`mY9`B#UpmhUQ2?u^`Qns`;XZ zugDeA{Na^)8+ddFp^NF39!CaEngN^57YBvSGU=pnRm_qSqV2zdSZ6@#29k6%DW1kX2r%XO6(4|8`%H)@*W77GV@__ zd`|8oto@Yl_Ti9R|IT>v;%(L>Jg=x|y122i{&l^huq|HB)`tUvKc*FY!S6c%Wc9s5 z_fA1hB`CDKwy|;VMR9T6SXNz>L8OAYy)%Dmw;T_;3!mf@pfAs(RoI}LH@jZ%lv|P< zP6e8l|AyR$!&Vdp9v3sjj>UY$1HlYmPQthjQD!d=(woeMe_f z#Fl1dL%&T)%izPY0#5~9X`Js$D)2vq@#XH{!2nWkdbSUrr%EcvLdYg&6T05SX#cOt zTCvMrM%~TbgdI0TE~^DRM)Y<`rY|-SQf@!~@-KUHr8x1K9k_pblb3}BsHf*FX$d>Yzq&eZxjgHgi&$=$7GnfIJ+JVbGXV{XW~rscqw<4tO;JwNjhYzC_ge8MB?TtTDu2;A z%mr)AxoW6C1~etjMw6>QVJ3 zAk>e0`qSsxxf}DW)AeX@np}9VIy4FXZIT^Rg+s7kA~S`ibm9 zbQy13#)eJ3HCh>x1Z%J|_p;KK$5$Yd-QARKQeknuFar?V_|SwTpmMw^~h#Q|_9MA|uAdTLfdp|67A-pcOc^ms(RMBUz_n_Jp{dA|P)mz}M zvxbce!*|#v*B)E%VSUBGp`X(?CW%kz&^-zqMW*KIZuuJP9!2IGFA2k5{>dS`(zgE7?p|ijrs=ZIE3EJF8-mcI64-JL{36m7w*Ao*QwRFTC7t4F0u~@8W*X#5Ng%l@rOq zh;vERaY70VNeT-ovj$@=ZqN~PsbQ?rNeb~`#%e4V&?Y#xfocK+tw$q{i+c#)_RbRP zw;S_h(^aR7TW++lv@Fjpx}Ic-5eIRp>yh;-f&I1!wQaQSifY+;a&F&)5WT(H`B+!| zPprXpfT~U+D^i&1Kk+Fv+_@SFM6(D}fBnZzX($!830scyrHYJ9?7eg7V?7hhmz8_a z`R$Gg<mjl1fo5OFLKaq!!&GOoZ4n1GE z>YQzGMrAG`cx6wWgQDPVCg&T&XYXe2*hI0UD;e{@^rZ5ZiTuDM=zT}#?3!Xu)g%4r zHG{{G=wA=hf9KK(X=y$C=IOebpy1`wFHd9EJUv%YhK!7>HMK)K6SFYSWRk@NOf5=x zQcpbgpfZ^;Yvt*?GvIb1Oe`l2<+#5<9{MujJ~kwX`~f-cJLzp-cHDO+ze4bo;h=1t^mY}n^e_)Xz#eH(f!;t@H7l?ue+X)nz@$vCFe{xzL9HE3%SGlZ> z!mF#tY#@-7vYs0uU*EldAJ^F_ucD-+pPQSzqOPuPvcJFI-rpZtMIqaPSuO3yQ?vs2xv(l%Y!k2)?f+yJ+< zMf$Lq{l<+Onfdu0gN==ik8V`&tWDYm1O&7vin>@a4Ft9i>3NS&T={M928DiZ?OG~S5+#bcLq3u8ST)K1sLvd_yHY2CFxJOMPFDJ(?ig&0$ z$AJQ@5bJp*qm{vYE%-oDRa={^7F*gY7L7vPa;|6||Et6uCIYHP7ISS;1t3l`-ZF)} z%XzFCpO9dk@Z8!u-}=bl5riq6QNlTjcX_DLVqo110x9yq#pDOK<$MIV^Ug$39T1VS#2}DKFDJG= zMNv^Cj>=@Y<8C7u+=i2*<2MdZkE!#r2>~eE(X!S-+K+i^h%*q$MV25I!+HnE+3!-B znVIdio(ERreSL-s*mK}|bPvdBFsP&D)m6Clz2k@2{i(|-{I}n(j+C~1hQbDqxfal9 zry;OIlpm4GG%qbL>rk9T#I-LhWLxWbY{($bvU9yvgg_#$fa~PthnWtHtjM2}uGPiKu!8u0jst)r>IxzDSJ(&#Ugm zzO0S{ovJa`J1+4=yJHSr70+_6J&dV)9(Hj$_B6UbkkwB+edfcZ4oQxGWQ-SIFX1x7 z|DRLIKav>-?2lOsaIatPf;CoUnWRzI%gFLspE-2$oqU^QxK<+nwxG6gwxZ}@qwK$7_{VEyK|3^reP|sk^(oRsIoA&DO_!2WIMC-{}q&MRf%u6%`eEm_gr% z4ny0Kk|wq0f)yez-2J(Uh-Q-lpcjU#E0N?U`+M7XP@+JIX(_zdRAN z8lK7(p%uKoTKryCFg!nLd z+{VTkmR364a&;nUxT2&t1}_Ct9d)GZa?qxPHEJ9^Tv0|u`Tar z?_H9U`Xe4+DZzX947^Q6omXDNX39qMPCWO!bC`20zbX z_*|_6Dom$FXer9H)N^I(x)$~@fJ&&>IRDYt={i3@KN}vOIUlC@3~!9>@%swT19;W> zA4i)pb&eF@H+=TCydRmGW>vkFaz>8|Xt1LE%v_a{!o~N0s*PMOh|cp#2nsl3Nimuc zfi^7EsTx$Xo8J32c`&iFV)29a7&$m-(j`Io%8dzpwib!w;yeiCi2`|EEDKBvVdJD` z5I-5)1PwU5%SJESR;DPCGL#pgX2dk@wsqnv=XGAX}I zkUR#Yhyz$(j;1d^x!OTF`?V6XtDDoQ71QfA?pOQk+$!=iN z>Ezf`qiJzVc%MZQIrl5Z0Zz;7lkpe_71$-G-7@R2T6J@|y=ixI<)HnLXp(;h8$K-S zpOO!Ms6iAD@tA`kJ2SIc&F(8T(JK*V9O#I=n|SM%M{aEP7l#nqM3A~MC@X>@F;W~b zAynM$zcqPsyrUB(3RXKaH@D3uKR@4Qt@m=_m9Ll}byd}2R95s|!aIzow>{9)Go70S zBdK}w=8THEx?q))i%XT|4EfBVQ>C@yy5nt7+B?3P@+Y)Jx3)gjX!6&%z(7y$q&8Ny zR=dmrX$r%|oMMXjPDNKmTdZ{8)e4K+KoZ7E3w@$-!7-w$2rEX>v0n*`v**}#Ps6*R zQAXqIi|JgEY0vuPmn%-ndU|WQ-yTAvIW-C#2O1g>iAhP$1BVksj>eebG~E|#>(h+| z@qJ@sV8a3Y(LUdiFwP2TDgYoZulN$J#mt7fl<+Om9~(YQVHb^L9asc}dg;I>eshNk zmw6nzpeSw{2e2Ddw6vDF=k#_rc=T$mXzA$2Geq1;%6ha2@9=El)|EVab92)T>aS6t zZKt;V=+Pr>pjKX>)7nH0JgnEH7DKPmH-IqxgXfcx}TcMvkLeol_4s3O6zWh=X7ALlvS6FL-G;9eQp}eM8_`5%aS4i_c4Hw@$Os!eli(B`E zefwaaMvw57IljOV1_hKjySO0TG4ma8xgR8M<7MWbL}1%r$9LAJrIGV}1`G&*@8E=K zOK6#-+eXK;HikBE8jSv-3xC(cD&94ld-H*wHWx{uxP2;lrowe2%^K$JzEU*!u(`Rp z9aKo`S7;ny#qcDwpx4$A=!|DER-s~hW-JW%C?quy)R@A6_apbMpJP7l!so(xow8;T zM-L8(NM7AO-L^l$W45ZYMhYSWZeI};5Ez;GIX$iKu(hD%BIjj%@C}Q_!l6z}k=7sB z#I-rz4l)Rt3^*Hlv99|!hd4E>uHMUBe6X^=8*}cvG82B~FA>AA71 zxkl5QU<_eRJj?wzG{+tj9hj-)dlL10ZV#3>oXCl-V~?ODB2;nhbsGKX&koHj7@B39 zO@^)WmMMsj>$kVi&R`7|u!miK8wWdU{uVXOR#YOIE1rSg8u634J1-@YmprBF@%z=wu)jFnw!8p6AypggLr3BTEUglrhA)6D zX$cyz-ib$#dKc=isJu`W9u?+CWQSAkZZO}zehZ4#=CEp;UvBn*55-PSFi!GcRC%Mq zeA`2}qfH_h(U-m<*nUx9Z*fQaS_(mMHAQkT;$+LKI?9x4gpSq&s@eTy%}@7};DFbM z8{@YUlV(!1#}Owwi`)D3=6$g6G--U|Ax%%;cr|klX+Il?GO-u$DYqONP3m_P8uwBn zH}O!&Fng0MP*_34%Q)^R^Zn??hB{|oKwv{IN(I9&Q{z(4bWq&Yq=h{j024b}?;p|a zyJ`SZee~^9`jhP;s6x6Axw)JLoM~{}!1iWMY^Cpg~ zKiBU?W)#5TgPn46E`4aeOh_bq`}x400KX)6)}x5-a5j-i%XM+au8tFduJcK=>2w9J zJ*KcVnM+4RJI(t^{R4Voh>8@5m}uEflxxCIwiEV=CHNvYdE~Ey!L=KSGSQ0b_>vhk z*5Cg}{+)!Mg{t3J-fWs^ygfWj;xst4s0bEZqhhRV*vOLKz&wC5-s6O~P|<&U6{JRz z>#l4pe zc_%KQ{5ZNfjBPt3bQ3+yKbpmTyF-@>;No@XfEwZ?JgnWpUp(JZ@zyV^cxGUgr60c~g$PYFlzHd@_Br z-l&$9m1UhkLR(2YvOW+2wmcGEA#y}uTIRdHjYjrOuxQy0?`XCuOghN~92!UyrrdYQ z)a*##$};+}nZKc)Wp|lmocQ3kyvC2QqX5p2MHr=v^HPqlr_&e7Q5%O-g|pVT98@uG zlkA$OyR_KL)8iW|Rr(EqmHm@5WjKgrXlQ6->v-sY1_BKUepmF+jP?D^zwbgxMP)YE)$IAhgI{fJ^VUi8PcG~PHkt@x z*h<~BeGVJU!^&Pr>G!=ijoCJZD6G89VTD=Mq4uHM(tUqve~mT74x2Z0|0RJ&&&;!&Bxx4h`m_47 z+dn>8eD`j_n*(uJ(o}MhlqCDtb(0HjI;0q6B;Pq&#h3vDC{1Ix+@Jy}0{z9}}LLc6YzfmepH(yk&lQ z<27~WP&yNx7c`A2=RmG(S6Q)ShYuHPD%&@k2VT6LLcC!;P+vMXPiIR#TRX=eXz0DQ z&9>X9&LVuvK=_tP)ZxbW;=3f?j1ge~sP;`v*idmVq2GJH?qW`ycvuq?Xm~=o^Z3x# z?)B^Lvhs4SR>Q}S8g);?MJ1N%f(Uk`;!xDu-`I!GRYpv8nX}u!UbTSZo(17nkimwD z$(BSsubi9%<2|KO;agL7cOaqjRGU3wO2noe6vX*zm(;?Slc2D%iG|PiDHxOXd!O-) zIKNb0SMBaoXJ=MDbZEQzR(2g_Pfw1EGD1L{g#`?wC-R>%+gy}oXgMzyM!>{L3m@&d zmQ3b~$<$&MxY(I2VT;6Z7n_@A61(By;dC7&YL{%x%wEIJM3(&Y%dQ>i6S8l;HI@E- z@lfv~32muii#E?=?>gSB@h`5C3}KgDuMc^>z^)*}wJwz6`B zr8`VF5FnkMoB%n@qt$@G_ag49zYZ!A+0FmF8V$hXp_*#*3%{=C|EwY> z_r>1da)*5X1tX=Wp(*D4()xO(G5DBt5h;Ac+biTi_$8iieSf(SiA?!!J@NH~2CJ5j zeDkq|_e{7UXmY;XUVE_h^TQ1|fLh)b!U45$m|q|B5UOM&N>ePlV-Oi1d@O_RPes>n z;m41+Xmq58u3Hmazdow3K)Ygw1INpJw~rcPatD0@(qh*-caJ!pj|0!%;ePjOuMHNS zy-UW&mX0wF)@#QTIYl0G0zvW$3RN8CrpcazfR_W^`W$!RgRKaOWbF%p$N&uy`1)=i zIdn<}OH%*ICg)UN=m`tEs*$09qQv!pPMTYGMn*quyw3deHw*b>Bf-ZvyWRfONv9hy zvWv^he1IUZQLyV>?qBX+KBMTmN&65$Ic@M#A4foZbz2P=)q`i#Xp`I0+`Qr>u6RpR zW41kxZ+jbXVJ@)wFO{8ro^S*rp{J)OGHZg206H$-gJC~EH#cWuZ{J&+w6S4_pps1e zX-TS6VV_}LRaIr3&<=2c6%r7BTHtMzGa?qLJj6Wr%V-!F1doo6wo6n2LnB#XJ1LG} zb0JsH$jkc$4`wHIadwUm2_ZbtE(48+%wTA);>hTz1*1diM5l(H=K%aO3n{yp8*v&y zum$&SpWI#45^~#UqOt}oj$&@ubrAzC|8AWs=QzNE58CZ23BCTtMNtw#+X*XV zQGNY`zW#oGx|OSc643d{RT~eZgzlL6kIW>yb!!5SL?X=(fSN| zK=lQsqicOa#%U7TUN(MN!8^9q8v*%FRsQoVAS5C~)bi9TEX281vUPj4dDdN5$3&1e zNO%Wazcx#~UOt@h3#u21w6w&E&)dsqic92DsWWSw*(-1Ml z#6g=j9cZ->9@M;L`NDsm(rl*YIC~*M$TJ;GX%yR{Eq1d5YWAn$!ITNAs5fglo^w$e zR&;~i-BTQfxY*AfQw(g{+S*b%BTPRqFaRIGn7VQ+3b!ShY0D%nh9k9XYm7Cxh%gw& zkf>X2uxr&(&lE7?@=1;Ok%6#ZMB=Ni!w-{|eO%ie)UkXyp_EZ-4zEjS3S;hxT#fL9a{dn#uuH+Q9 z8|A9!I!%B)`%?lBje;>m*P@nauJ9+TLAydZg25vpv-v0bSqRj<%g40(cypG(F zxYxV6Rfu@(7Ud&HN39mFC@U<{*;eaYj&pm^Qu|i}YQD)q8#f^=PF@g#X>V5}g{@Mg`lPY;An#|=I98*OoS$oP7{0O1o)GohU=cC9H zr<;{pA#QYw==~A})NS+2BIxO3C|1eOhtrFi@Fa_Sj&1>(_kPq8z|0wJpLTA3Kq73b zIPAi+bz{8ImV;l5xqJ>eaisbksdX)p3E4}3(KJ$-`Z<8DhHLO8O46)|=qyCCFNvs` z4HS((gl6vX3k#bClJPVdo_i9;6wfNI%Jk0g?1Sqhmu6fgnft^PBplU3DRZ*!QXL*D zV(;fZ7SPy9;3j5PUqfS;hvcNC{g6bja(MZ{^aSEOYyrsbeA|g?bELMg_i?o~$#r2; zw@dVlj0k2`=2%ifa!Ne!_!Z3HMz?Sv;bF;&*i~>lR-X0aYd##mYUt%ShL+?#C0)PqnHn%I7*-yD@TKYlU3-YYz=#h?pV6~=6BIFm>Ld4 zZV9SFZ}J1rqjx+6cNy_a*V~-H(yA)tV1ke>*fys#*LY%Q5S)TsTwL(ME-++cv(@h> zDgTee)vdnaVKXi0q!hYBN1goMi5-Gh2>EXB?y+dRY1(+Kix3T_Q5 zu8l%tE+7D+pr9Z@;nSz2qhqZFJ@I8s%JcUuGnU2NOMgMmPJ{K`PyLp>C@?>ye8(|k zS-fUQ=ZSvtn#}!@8rzz#J$D<{Abjdc!*O4^u4^X4`C168ylF&^dY{^>$UKe0Q9&yH zE){7XGGZ$E$Lo6*6yv@rGO#k&uEyeB<3#s|p$BGwY|AaTWsd(O(qrB(N`avw=rwqt zPpD8SuT?^t(bA7~KQuaYAQ2DPZp{*Xw>LaS^#@Jg@?P@ASuiap8gPFjl$Jq>+WCrL~q>UjM$22NkOE2#EhwW>5L>#1p9X}Nn2E*iey4O^P-IH^a(h;{L2R?pfp0MfAkuvFQyfc0C8OWGqZ&fF`w|mhMT+T> z(>OmC&U4*ZBa@iKU#%-^-aN#8&G*5!VR9&9iQvkP>;803X-($k`Mu+I;tF-eZK7*O zn8zD}bjMh;Yd5&e$TK~~KOZ17Ib(LvYtn@}T7r!cyrHMTbtv^PXWl!SmY8pF4DfRj zcSLRwN(MJPe@$&IypW^OOLF(%Gx=zz3t>d66u;BG!j>@5jVpm{$2zo;%@FumvfM0Hs>dR|-!NP35T|9FZ zRmskP%@KahQBl2SR7YZjFU~%10r-fNO&f3_s{g+w%WjzBBj^eH2+N};_Hm!D1fM~b z@10;tAUo)iaFTg9AH-djPnZZB;JJ6xOV`ZxMM3hjrNHu#wFkt7?+%vVR1`06tDZe` zia&N1dTwZRAnfO4k2&*?U#qzy;Gl`PWtU{aBU18l%uq-VWwTQKfKX%Au`(2uWLO|rLjLS zQ1C)he2q@zl=4&(7vAst_I6-ssEPx7{aM}qYA8?TbTUDM1S&fE`%)Rv@He}3&|b;I z`p`Evc#`d8o~Nl)eQD$oFZxA7nzLP;!-jbb zPYEWx$LK|0{nw=1PnuI0K*;?l^6QX&R}!>TS}P$w{<)=Pp3avnK#t%#>g@oFpu)}^ zn&^(hr_f{|9B@m>s)(yU3YJ=JZ*R9!$WKC*C{|e7B%#VPUDprvC&vV7Vd2MGE9Lu; zxF^D{$B!0jE(fTAN9D@Udl$;a_{a$cEp*|S>5@Utp=P>NhHhWysCKUd81iEc!_imY zJhP1q)h^}_xW|XrA}FTu^A82K8>K4Mq_HU^@gE&+U=%sVZeL;$rPRALzqQzxi9ieu z=BR3zI$v$WQFIn|Hj_!BR3`P?mB9{GUfL=KJlO-=Qu3GZQm7{i)=M76^ z1q1E(GMBtWTeL1u$4Zj6oCBjq#UR}H4+g734?Jg6ya1D@y3ZQoE>EE;U?rp!ZZ1xI z_3G&Kk7pahA9{+0PG&p9_jwHJYZT{2E>Lk3Zu@ZG+;yN0x&FB-J|BE)N`D{)mdRpMu~bvzbyR7NC&?1hkoDbPef&f1fxbRh<{*e#Y=-)lD|i%0e0P-^#$CVGN|OLD1L$ai5=Zn{O;nFW#>7>OrY~;{`xFUaiVuprb1t zx~&-Y?%lB93Z7;n)X>iFxzPJTVd^ft~IXFLQ3)P zZ3}g1z-pi5(MKwLpkb6 zyP9Ad>ZW~C%Mo;I$yitUQ!&%G@^-Nk`dF)XxaW)yEhMJH#XW}`VWUfp|?>H+z+LL z1nN{%;W&8RQD?<4v?I(pOcD0tlIQW<3y2eyiZYYugq7TlchUDfN2UU+PYzKME-+@? z=YquI38h+`{!>@Eyu$G>LMb%$?r?v{ zhRppsCF0&cKEu|6bzXGXtksxymU~a=(75C*Poi93ti-esp(ncxvFs>EO4>sWkWwd3_28C|LONqSi zv=pZ`PboZUe#jiRc*!nVY7UsE&}SdfMPmkVlMY(st)*+8hr7jjY3oUQjP?2zbe3{U zld|t~#uwUHc1TXvN#Fw>#)%D2LZ6s_D~A_)qAj=YE4{`sq*x$pLVtdR4YGu-PrVs0 zoLZFr?7r7{QtK#svi3}?NJAUd6Gf%#S`S!v-3?R{tW(WyvG#&@)tc8%)pq$Vau3zl z+iOs`lPU}*CLp38wt25_>whKRWBRz@kw$p0R*3VZ@PqBcJqN64_hRT4!Mgx0%e?&j z@}ZoaiNJ24nw4{ z3BlUh=^ALiOopyKRqZM}n>gtxX7PcgqnsRj?*fczZfPJ7PP|6)=jC_8vM{taU90ML zL+f4-c+h5Y<|J7b;6qAL@lXmnEr(jYvb}nTs;BcZF?c)e*Bhx@s7T#?#@01+d)@eP zGm9HZ+$&UTN+kLv>rS)HV-EcrD2=v(%wJy9EW{&n{l69hb+R;R?!UCn!mU$|uHSjv zn3am%?};58gK>BzMM{d9<;ujFIUj{e_ErZaQf>UBvs_8oFWQ2J#0d^kM_g zvR%qgB;pV{B9mYCIf1I+Dnxu~$Zjf33tjX#m9>rFV>_;Iw zstG*VCIu%C+te|e)hb~Oych)$O~cy57K}9dmsXv@#MSXG4Y;^%rLV|VcwO~(*_y>z z{>ibWuD*(aA4y)aaa#}zC)B!KcJed9NcG;A*-t)Vo!zOpwTrBC{X;0-iI2gE%n43R zbani_{e&R?@qSoZTrAF)c>nD7CPwPWoG*GXrahVd@`ax-sL|ddVkgxk&c*1x7^ z*Uwi`9UsW_JUJu-q^(!N+JB`U#JLC+YwdUlP|e!=NeA%6(UG;noYEK0JU2~Eo5H*( zHt^4zUziLGIFSW6pj;E+XoG_3s6dB2@FWeBa_z+yo`@3FEoSKM1E?%$`w`Z;6>pTp z5%Gn!h7+Q_452aRyB<{{I}@U}?7R*??rp;!KZo6SFN6etg}_-P;yji`(hE9bsZ8v3a<5 zzF`B^vGzqEZVNLXUibMhtPg!=tB#I7tG=)7yt(%}`5paw(u5`F`tR9E-T0J-QDGgC zk|CU!;SW6ZZS$(gQ< zN&rug7YNQhgF`K8LXT`}zew(Pif)T#Iv_=hJtqbAbnc3{3uMkeBmDAmLg7w-E!pnK zmvq<3V+Ds$cF*H*xsdDe&LmS*wd?*PsePKQdpHk7B-g0w@=o57#K~S4+S(TfjI{i# zfs>+Y@s~dnfrR&o<~7Zo9ORzi%&rd!TDPAq z-9H>O{5(je*d+FzB5$Qn`Zc7iIrVofhF-AFJ+i0_4ydl(Y~w7gi6i_px_{uu3B@Un zJC6%MVQ>a5L)pQ@AvUdSv(%v}+nu;Bk7h7oVp9*lHYX*cy!}v*=T(pIq|ZMqCSQdG zd92042sr9i%H~LncIb3|wxJCrsz902dGoh3xd|yu~#;CYP!+UWWHw6yNYlAW{P9e-ClcLN}KPI*_+m4+!r`e zu8~}F3)%Pc#-YA=*wH@rEh^=q$;7ej%fqsJ$r1(=Fg7P!cEXF&4q)0#Dnk4eD@}#x zv9mu*cu&ADUcDY9_SV9V&R^00m6Vx{$0E|^>TTw-Y|ZGe_b!*YG2nWmq_2~bJ708aE=Z>BHH=kl&L!fbvji)t~-M!g(o$SnYGFDHqu|&65 zw1{tyh7#gVGW*{LmGE@&!jY_)Tj#h|M%cTSqXpsO9o?W}aZ zHn+5N;994n1|ptVFv3ONrvs8E_yBAe)OO31VbBGI3h|}ay=&$d=peWnDHs;~QRsMf z=lQ_NLEvraY{%r2=n+hEoqi_6(GT>QB2}DZ7qnU(K>E@iMlZSo2NPbtyLYE-^sUCh zl*cw}YT-7{E6{YjA~cfB2&Pa&UuwA*ez$(g1Qfc>uliiIJQKa}iC;8Fld%~PNhl*j%A2|Myd=A#sFZbfT)SCOkAsJC-5Jb zGR#_ns-~!Pr97hC{kN`z+^t1VrS+X~rS#j}yi58N*h*(-=lPqz&pu<_WXkmx-Ve<1 z{$6i8s(5qj;>OeiL+6#)<&C8^A<+A~zVB`1J@dHHt|p1+Fh^u`(=>BhrK{^|osP!w z=MlA&i}RaF!yD7tD97Iy*D9Yu(lS%XR)YJBx`2|DkDs5P&V6(7UtA49stlWOhytR4 zDh_W-%rH;gVM*RQ5g;_p>)m;8>(O}O7>C@voVOd}lilWNs`Q|Pzzn9P`jdcA#^^!6 z_opx3!p8~xCvtQlKi|_e@7i)>ttS&jn^(py4Ne?>?4)kJe$Mnr+TO3xt_pD+oR>7X zi=;zeS6XYAxXDm(k?F*1E1j`|qX4iP+p-)H`xC98Wdd#wLrb*xVn&QrB2j$=bz zcXyuFq=3N<`~X|^vq|d7cjZZpEoWArcLzkfd-Gf7ZH&a!xIKuBo+Vmm_cm!w+-CnV4??YH@dv=jyJLm{20 zcuKxa@m;e~Fq}@IuqxLLRCglo>pBv;Td&Z1x(XDb`wf+1SHJdr3(K@g`agl@}cJgR^vOET1Gj0Lo zk@|J**JOA@t%_M7-!~oCrY{zpRlGxPrmWQ6Y6|J^?oDA=UwA)?o9t3hC50!n0Ug&$ z#H)^TYQxpu65^iIek9^WXZAoX-*$gQmllgd-6DM@(>prlMO5NZ9^%wKhrK}pTmk7= zQD6WW;E{d1^48Demb8PwM@4C0Xa^BR-F`uX`MP@w_33L5z z67%*bm;jY@stQJ$YN_=?$mLUvL)gW4ls~!8rNMlSIBGDS6Z|Tg2sA3MTCpC}3V0je z8Sp7_Y3V8W*r5j61$RF39d$83|YxlQF*d4#Qty z@|rjEf`&Ra9Cy>2uLqDWUb{O5va8L&Z_ySTOFzYCBTx^N9!I5c5Gi2FDy&h3!T#k|(9@u;-X9?Msse2z39D48&zE{)`afwKjcXSbD)O};u3!$DW)cZGTwC$b? zUnf()O;2JdQLP^z2KOsIx@HB$8&&5e!EB$Sf`sD6 zjpmi%X>OzJhgSu{g0Dn=KTxq~X`Gro(dgSADy({z6Qy|xun>2X-5&^9kN)PKyHy0H z^s%7D&_a}z#R6od^>`7$?ow#UvukhP7<@O7`PsfSQ1COt{YQ})U{had95Kdf6%u!9 zRkMGs!!FO)Cwpi8mSXqG65!`=PpEU-n32)on!tOJ3@3n=OGAcD?9Ohe-eFoEvcpyXV?{y(cbN!ain3*3(J*SRA5&n}Umu{fyVX(xn!jEts$J(X7+5mOw9@ z^7d$*cU}IO_Q#|he=u^8HuJs#)*_&LfCTTYf76z?OVd?)8NzghoaoKgj1W>9F zLfivR4}hm~9w^~VfItl|bKnvOF7bJg-AsTH*#uO3V81h3xQ3G;+JRKcPbX+~7ufoW z5|)aKd0~lX=YIYSvTp4BEMjO|2%(GyKF^&IptXJU_%YR$R6_Sk&otBrg+=j#2DmRm zw+q-KE%fiE#VW03S2uLvgiM>+K z*PP4U18x{o*wcae-oK4Jdr6uEqEN4hq-TFi9Y(}$JUwfy6%y}*NyF&{Wc!tg83&5A zC05FT(GUJWvwmo&AJ^l-i7mmnBZ?RAM{~B{_=cD39o-e90@@%j{7^I~BMqmV=s7Ev zr1$P|f_%Phbx7Qw7_gdKvh!4|aYn~mpAkD%UKx~C=21@f z%!npgp!+fbnb>-<77X`|-Q7pka-at*r3G#8wV|sxA>6ZY_S1(5`9MogU!G55rGH$V z8TYfvqg@+Xz?hVfm!$bh1kXJ&DSJIgQN`RnbH^6X1TrarkkBSz!b>iEd_P)UOINkG zOX~9wTg8o(|HCgleznZbvoM|ebq!xqpUvPr5%IPl+~Md`tNIo@pxfacgUV2D#SlE@ z6ckDF`k0?vAD8cCp)I|IwFfhyJfnhI74F(6r8vnA!8-q+d?8NqW@`#U=HE)*@?|r# z99x@a+W-S?jRevQEr`PD$|?hX5@B6}agL6ONdVk9vJ#wq5Kza2{ZhNpOa~uCH)Oq0 zg5=}s>#nIv>$V+q(hykOEdRbhz08}BSWO`PF?BYxR8jc^PHYeWy;bHvhLy4wL2E#4 z2UrT=r_+h5uwu|K0bj7^PO!fs>rX{nguF)FM|K2|PB;a4;GhDB`*mM zzU;6z0oB6Uo%;s|f#wj`n1jBy)D2^zqN}^Q-JDU$Z3dKZVjjEQD-$(HRp3~!X)*=& z_v;c~V_&r^dU1ApG(p4_Xqw0u5^5`}2f+oVocVwHoX_|#feLKW7(i?SIy+|-sGy)p zp-Reipv$)&j^i_3K~sEhP}V^$iX)N84gl_anN@*yPGL)IvsEIKL4v~Hn!vW^PeJ)T z91&5E^V0J9w*xcq$UYcZo4C3TZ|&?Le<`b}8K0X2$4ZPPjVZl|Dk$Ja-b#}k8yPXj z`N$o5GQ0FZfSXuYw2gBh$Zt|~Vug=+vAgaJIa2d~J3b}t!JF`wfdoiidgF1}usX9N zIFZBTU>oghW)8ZJ@noJQ{S~nH%LCSK-2-|`09{P{#z9$>0|x(mY$-Uopw*3fKyez3 z{5k?KOi&UX7oZ_Wn2MhyEjlahjGb))4_lfr<3Fv`&%oUOdZKq36_J|-$DMHE?r}ti zLl8LEL)X(cs$D=%r-wka0x!vc=Q1y_JDHvwEtL$7j>hvt4kms-i{T!jlr;G7=X(E6 zC_WEnFxJBZh8ND2a9?a(cuyy!EdZAAzo;)`@c*X1Y%3E#y(&HgCdk0R4P>pzr9HlX zDm0J?y`UCMD8#%^?5Tp2s~-G6>fo45fDUfpvr>gSHrG1+OJCW|KRjwRWvKrAP&YFi zJT4%$*P;IO^z?9ImGEqSAt9t7jdy{{WL3QF-^ZW~^m$0i4_Xr9Pcl%n=RZ^>S~u%q z1arUG$9ePfpGe|^1Li^~FUz)+c8M?Nnw^K~3fYV;8MW`ZDF4zMmHGsrOW4v|aktc)0< zN|%mdFxa>N#Qs##{p8;Zv>jNHq)W*TnT@V*l<|T~$uEb0%76a(fE6oe>^Sa#6~QMC zqEs+hDn==aoA^Ukggo&R1_y`Ie^hv%C;57H6YxK!J5(3`NUTyx<$D6n!P^ zBy-5ztbio0RVv+GMj=VeeE;A8ZR{_~rR%sd%nREC$;P~6{A)ph^FYHrH;Lc)!x%o} zq}d@1N=#8DY`g`{ERj)B6>Zf2B*})f(*R`zP%@bFTp<4sitMJ(_N;W^7zJnH4P`Mw z#pnMjX?_(p@3xNDaI)VJ(C}a7Qv?2H3hJ}YCNpne` zUm{S(!-rQ-SH>#(;B4}ri>%>giV*<^7B8$oZbQ-~5>asv!*Sjl$VbC})nvQIGq&x6 zY@Q|GSVB!3U)6oR*F*7AL3VagO{%oCG!Fd#>qqz>I~D+_vQ6B;E=2UnA8NvFjy|D0=JYU?o=Ldnu8qZDRGC&RHguH9|kz`OJO@UDlcCy zZc`@5#nCt%?%I_C)n2K~nl8?>l=2vN^uqV+|Jepb7zvIPf)k56%)hItIs4)T;H$?? zfl`Tvo}O!%G#8aE_kiy|l&jQJuRQ7hUaiVZdks>y1#EvHG+x2|j=uvmTDJ}kFhbwR zNZdW6+Wn(YY@MW_B_f*=1~0eXsxuy8G! z5926u21h*A>}8~u11!5O0F=+jy@6535tXhL+yP+x$$#0FF5pnESPLz%?eK zS=ADr{Vm$gBpn4>62B6usZ%Wp?i4LRB^&8E++|w+$0=GEAaFdDmk=mY43Q6U&Mg=##o6?a7EkQgD*&n2p@vbzokDOX9vnt9jeiVxc(H=}{;pyJ zqg1+Ao;VdyU8)4f!{p6C3xLaPb+S%kE=Mo=qkP}TC$F)3`DsKcck!tBQ4qzAvJaM!mu!@%|Mcg{8u#%y5BBR)1341)D5 z{1?DL9%TR7=Jy5eqklFpio*Dh!fNB_*bf&kqBz%KX^k_6xr_NpzivEq`m8|CejQh` zef~fx(0t-(r-(;Pxc^dX#_e1+NC=LfgFs}A!MR9Dda8~VG0)|VKdpGALr(40l0DrG zvf${nlJbDx@UpVu`#SXmVURmOreJSs)gJrd+7ZdLa|-!5m;pWVS}zcRE!)aXX7s@s z4yK9uunTOflv6OM&-x*H#+>shQ_LTJfC6q+>p5=swR3$5q<3m#;&6c|rVAyXE5{{_MMQ zZ?1rip7TQE(qd@Njg4>luIm2GZ;?3BlfSdVqEWrkcaC9G`XNZmyr^?a<=6)jNQjcP zbFuWW(eIeUt+l5zzrNq;KRU!t+`n`vYK)wCI@vzT%Sn1aL)pc4WNM9h0Q5T8IHJ)n zE^m0SUFVYg;Tl$-moI)1ZWcU^PIsg6+JybQ)}q)u2z)(&+qiL1c!0!%7Bm?s_x<9* zy{xLT10N%}!CJFtUa2?n4qp{;q8-c_UCbeS_AB*>@zCQ7ALXm?jtl;7h#K`W{N%GM zw=<77OFmI;fPd42(=d@eHy`qD!eT4olvrsNPvqs9g6sSJh6#?|&tv;OrTwI9c81d% z6{{cdw?mz)Dz(kk^~M&KkeN{q=4*ZX+m z)JRbQhRr(YKcC<~bTVrpb`#E}cNpG+vNMnh6%kCl;!%qgi6-_83~1w{_IV#eQcr4O zuZG>9!%4bVkLV%Z9`}<_Vm&hpqv`#|*&cO7WlG;_H01T3crb^w`rks>F{tA-rMx^a z=%Y?NfsXqy7d&(K>GXqJaz=mbm$aXbs}_gLZ` z*qB=S&+dqVjywO$wNcW9UjWV3a^5rRqxzq*r>~HQNSpX&L0ydyT4Ds(deKUT{p~%x zAPlW50`(U|8-J8lnH6w)I=!zxNkJ3;v{t?A)EYU7P{G_QY?+Wc7a6voFxp}G<=RvY zB}?I%v83gEl4ZxqgM<9i@9`EJ6nQ{0G-_6PcRQ!#p@WrWgBKC^eTZ_8a zx0k%Jx(#W^Z|Bd36AC?T&4zD|LF zI7FEkztgum60$-aoM^S>%MMWrit~AbkLXA8)N(t2UT0w%HndXF(p*QdguKAXXIl`6 zqF!OVVx0V?@f}aG*Ha8UKvb(*r?=N`=_qTI?a2H*6u^Ck9r~$4Xhq%M85}iq`BU;) zOP7EMhB7z#{<~bAOJ{UGcu}h9EM7UciKZ-n>;5l-x_;K@jwhWz*)q6j52kQNmltBe z5G<4DWWu0=h#S0z)nYm@;DYLM4aEr~n;m9Zx1`zCq~xm4!~A5`{L>9nx*~3{vtTX; ziER;OK}qa8Wl=~kyF%qj_J!$$k%o$|qqh16Sx3C@kGVW5CHf@^I?ojS1P&gS-T4j^ zN4B|FZ#@=Dzv1q{m%ZJaGUy$yQH_)(HRilK<8=go>=*ag_v7x-y8Nh+J}~Z=lAVa- z0e83PRlvA(772fI^Z-c4^m*31Um-1&ma5`Jk8j53v5#XzUpxLO{iZto z&ApIf{{{`sXI}XCCZ|}8z-?(2mRdhNJs;AbE{PAmJ|fFB8(($~lFdC-J3r($JdhLW ze}EF4xkn%?Y|zne&}2Mhc&Z`Vgt5FqF(Y4t@6fdua56Q8fmI+i8jwdnEs*Gn*z(sYI*#H6LO953EMK!v8C zjnXnn`IiBjnGQX%vKocf-$A0E6t%7H6A`sk`BPf4<7||(Z?(og{O8;fb~lB{AH}|v zjLz8^3#IXx#Bcg_=>>C_BeLpQomGWG@{4isGZ53w!Lx1W3)raWQ5Mfpv?HKZgysCeLF!*pJwnzS* zJjxy0c;Z0Dd!%yyer9|_lJ+GTU9B%WLs^ZkZ*|!4q3N0exk*5P2Q>O)SUd*F-Eswr zl@V-bzLTz!!5tAV?XJE8r4aPyu3sa2IpgDI3L$)z@$e*0cspnJvYD@$*(o$^*bvjP z33Ljd?RqZUlfb50y;g(uv##}X!aoqB##&GHN$4zD9!5HMgTlBnM*1q~aBk2(5yKKy z(%3ms@Fc2?n+eau8W}6kXW#I!A$!<(V>2UJwm6YAj92%YG%1U0KhCgf(vR>^Bc0c4 zfmcF$jXTWTyY#8wV4{%EL=>49A&DImXW6{Gmf*nM%5*(yYWfiU*pjPOrH6Qlp>ZEppbmW_NO)##uXT=D9T!>B!Vobs_KH4SXZ=cgYNQ_-zry znFiIgAtVJ+HC5G-BIN7hh8r3vJ)PilF#vl#51WTSG7|BcC7LD%PbCHvP`H1C}aO6gcskpjS>h0J|6i zf^Z;bYB4eUVaoXXRTW%z_rDHvYpiJC6t{00xPMVwkxSK;u%k>*ScllS%PIcZIK&(6N!+#JJEZU25xgbo7n z?Sa7uRy};c2S|rIEd!E#L|`#jRLnzSD;>^)L?Ah5fb@V=Za(c?c(r`=|CQeDQFqx~ z`;ZShqfpLUA!K6qr=+AR)l`L zivj?`qahMg1?m^AgW}W~@%q&6n-lkD7R#-ztkPRrT2f`d#l_dJ)Cn}uZ4P;pgetvy zl<&iYtW{P9F(pRpw%I)h$k47KIHi3OvXHOxO^L6-A)3??c;CD&#z8wxa8w_iUN^dl zKBP9FY$2#h$m3d{GCEc;i}z}L1cV0l`V4}e3_tgFjwkZLz-QLL$`loIKHWRGd$UgG@ukU*3A64vO@`-RixU&2?4OJ6s;2reh(mhtyN(e%bpLel3Dk zJ!&(5^JFLWj}G8q)>MOe4gNto49QlU#=NGA2P$eqI zJvrEq^K94Bwsg|i;XgXNHf4Sw*+L;nE#sodGOvqxepy`frWCe(d6<5j?0V`q2pK~0 zfVT=&b&@PyS!9#|^~&d#k^rTv#CG-pfEQHV=ZIve3|i`Q@TTPFyifZ->Iy2Kr(QlFPls#6*DEDLXuH zrXdy^ubjk&X1E_8D{@neoW&5wzrZPdba!I1fgiH+Cm<;%b}pPp7|n6L;a3khkN7|R rRfE;_7tW;fpX|^4zh7XJDt(zh3marpbdY5RA3n<1=$Ikdz&ZMFA4R7e literal 22681 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 diff --git a/pictures/floodfill/ppt3.PNG b/pictures/floodfill/ppt3.PNG index 6957ffe4ae0484e19fe8bec6690d1f568fbd143f..1f1a17394721811929717c099f22ca247a7952db 100644 GIT binary patch literal 25013 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 literal 23029 zcmeFZcT|&E_dgnS97in7yn5L3+f9G^vpiNQgQEj3A(bbdmvq zNbdoJfSQ4b0U|XJdJPalfIvbBN$wLYQ{MNk`}?kY*KfV|uKR~8D~9Je=j?ONK6`)m z=W`xkGrhD!VxI&E1ln=s@&$7cXcH3z+R*dex4{3L@!EPA_}Bn9zjPi{*eW{>eEG)t zoXI&5s3d0Fn&W2R`&RGE)^HH$U-!lTHVocX2n2zwBd%OHcO%e&IZz+ncQ05`sQG5M z)~_nupF_5cu;;gCp2FMT8rk(*NR+qbTDZ zw6l?hGs9x&--2#MWTd@B3fFj9V`=Dsy&G*Cg6Ce9NbdD(gK|HFXP~f)G(|}Sddgsw zAABi!TQCU3mSW0gMU>^FQ}(Xfr1=tWv7i#1AOho{sQ}tmXV&ybTy9;**3-D9&?TXc1rr{AK!fFc+ z&LP-P$3UQFwsKG#^Z=2oWNB;jWI02R=-8W(rR4}+By1_&04h$+Nb8FCuaai+@jolh z8j1MKK^YKeC#1ZL)_&W#taqEwTQ41%< z?{SOhY9DcEU$87^rEH9Pu9iZ^{$?z{Xc!LyDT{k1OzPCK=x1cIAWj#6*Gl+<9(YJG z^EngbgoH=;<|rB#mj;|~a&t~*xD2Un)&afokMOr-pi7m|UWn%QcNo4!QGEugKKB;I zjI{{_B3&otQawrpQ9w}W=zMDKM=) z?hzb*3wHtG18d2JKO>U@#oA-NM_cOIF_PmON?SsDHR-~VgvF{dXf_Dm~lJT`>Cy3Am| z3`YSDc!ZpwW=2s+PO&`66!5ub%rR07C1$WtwuXk4H3D%=)O=qCvmTUSj6XJQ8X!!L zkYW@hS%U<=lc-%ExiYUyB6idd)gstGL)G3u;<)ssgMOYiR4Pi+kndfO2Ar(!<_CK1 zk^Qf*Hx8^XlsOH_>O=k90vq|5ekFxqUHon)5#hVR@oL1-2)?xiebt>R0JeJqZ*JuL zHy~1n_)+BNN7W^jbon6@ol6nm(-O-D$t1ZtT>yNe$h=#T# z&^H!CgP!eQj#c}0z3+OH2e9>Xd<~8@r{AgYz^u|)zOHQ~$6-6}qud9>&=I-0!B*>X zFKh1n?f3o8s~f7k#82-!_Vww|`$I()hV$_mdZG8Q`j$OABPU1XSn%CUTj~H^^Md@X z`lW-KGm6mfl75ff@;bPgn4F>45eCgYeKV0_5~=^Iu7|O7EAL=!3FU>tvDC_**K_)4 zi9itN3Si=p#n7i)wGqG9;B>b~E|*wtUiE$zpg(4hmtqQR$Ji|Oy%9r^V@Be(^mH4w zqV0v)Z5yo%brwKeBk|)W|9pJg#}Z3J*ANaVVfQ4wBg2f$QTA!dK)EnqhZ9BNLoz31 zT~BaO8$td0g!fUaP5(N7bZY$J9A@#v+Qk(|2C8($Z(pMvIh7A>!oL}mBhxDX9UyiP>%#eG) z$H`P*2Pd6>|4o|i#{rnU6q5`DIcLHg#xDx)NF3O8fAMTU45BJN12s*rmS%$b_pOgi z>eI;N+4DAr{Qhz+z?pkS{o@%fFh!CrWu5AbId%+ljDiJYC&^}@x!Aw|-Q@$lT=)F% z(~j%Mr0qu0!X*_j3Tc(u-mO@xJl^V18o0YV1GTba0oY-Dr`PZP-3nA?n)tVq%z>H! zN{sMW0}|S3w|}?LJ#sc(g%NE)@~>JOS=cbF{|`$WggVLEikFXLoAzC+KuSe(-wtd| zcf21dT>vTHH2ceXKdXcH;uCffFNb@W-N|^i74cK){J1>(>482}{d)K`5wmE8#YwXD z{cW~W_59!7vg&CC-ZU|XG9lXwD)9L_ClA+W$4D=u0+Ev%y7I&NImb@t#yZhFvv$3p ztWNC7jJmJPxo}jz>5s?(`nla9C4AjftBB4JV=!uUN!O`nWb-dl?-TA%Ju=Ku%h)s= zGOcm1)9h7E?D5s<2hKym9ZG1|nnSzl%ldTRzk4+>Ir3!n`=uO8g~Chp)`1@TdHDY5 zgWfW7zy{iPdPcF+zUc%tgqyFKwwQoFep1~n0r52SN=-8{2_;xvP8bV{7{w301vgYS zD!i0zK}SV?3$lxedX zNC}HKE@glVA;Nb5b4Twok4ct#e=J<|K1X=3-|#)}_1k$HL2Mlu20gpwO`TmP^&?ou zQt@|T)GHphVD}uV-v2-vYrAwa#T2&|YOEXkSn+E=tfXn&gMtj(x||Jfrc(*jk43vB zMIkPxg%-66Y}}2)b4**Bsxiv)+CQHJffRi>4hGT_5NJkw{n?|UI*kgZYfUypc>XA+ z>5pBAz{A_r#Ah-ipAfcY(lL|Tykj93;knRv-Mz2F-{i~t7UwVTc6h%DRNQSHyo2{G z^}g{=L3P~f{=CXF7aX?CCYkcKB?TVcWi~$YOu6>y7SOGNGS0r-J>aDloJIf8ZN+Rn ze|M!I^Zp0u`#(-41s;@)xib=~3j(>PRZyRTYo13prDqV()&m7O%(?~-uu|Hh%*h4g zqnP)^L)L)@BtdU%oS7OoNOw%yLfp}XS$G`}>VJIKHMw1e{GC&A^-mu=pIo>gFW>ZT z8v+FC)^;yS*FGA-k^88GKCp{&XY{eI?()rYW|qT!xU`7k6!urfo>G;Q=3k`;e+)`sn@7LhjSL@ zrvE;YGf^{|;~Am@O20z-orOk&Ee>UaYS22}mW0u?ZA}Bfp{pPd%>>thEyxVN=xskC zMC8Q)p?=_tnF=s9^eh7Ql5}$sIdeGfv?j8^)QuO+tjy-9{hKZCC5(*wZD+HTG-iSI zWpGGjI?}V;U0cZ+(AQMj+-|k-^F3UvQG7u3M5#StlKvBIB5GG4@(2ZowE|DhwEvbB zDyYcyFzeI!hdKKuHlm}4`lo7_RA$1??$9&S323WxB4}v)Z$%x{OQ2Pj+XKGi zuk%`LFHM9PjPY9@B;$nW*1E>-iz~q}g^xi>^wm%-4Lm z!(EuCa1hJXxw{{JZ?U#|bRu<8y_qz|?=)TBJE}oCsP+DJ!sL9~k^QL4`qOq=KQebHw z;2h7@d?4-}Cl5qxg)FB6p#`kFuyPW*xH(wn*-#6KiC9_GH9y(+VrWD+J|3;s+byLm zK>bd$QaHgnq=Cu>z1sHBS`4L?R%z#^bCW4#VhLHk&a$Gg zyn5{Z@m7?bTiu#$tm7Pvp@1K+e7|3DDe#Wk@tZMu1HWj$&1RmjhvD(eUybu!bc(-r zu9MzN4Iu}~vE9{Zr-o?E=BQ_bmD-(_InjZ0ds?NHlk~ID4w~fmC*7-Er-v)swwmSk zB)u-_sLYbNVsBFP?hxN0rp1GG0EKQZRUyJoRSZ-NL5f&P@p{WPa^^38jK_PD;R#iL z_#_2;JWo#sv-Fa1lM46`Fix3#tfuLk>jSS$-@Dd)9IEOrm$UbaeH`kcnABq-e`n-( z`-ze5(MoPFqj@yCM}^tB#~G;5qVI*yqvam;P}q`S@A11qKm6>U$_R{}7`Z{7Bfqc1 z?T8U1)(MXkcoF02^6d$z*0GaZnz8+bcA6V>5%GgX~P zUhlGUbWZ+`1Ql^#p52Yqt}fJi>pS!*OLI)o_IC%f?I}iWL08p?G& zM{M8nAe3y>T$w>JN;Ez^zT84a_tQ9i z*&CnE^5N?H+v#}fnt{R*p3{r6w zEDtXBYbEHaLfA)cB6MZK+%SX3QVhPB75m+%jBDI6B_JkkNVcY;Az*#WGtBBHY!?$g zI1fR7Q}f8vKVF{+b71SL@@4#P>Z)vRR(IR$r@IKRssyFoF3|2(506qd{|uEr|N+c*kW|(&q+>hb;rER2A<6x(J@+tkd0$CPY10pqVb>C zvng#v&m;i*nUPc*`1|~t6Qn46^+R$gu|?Kicj`3QSbO}KPcSCLGzXFUN=aZk=1ntK zl3G2v2tSiqDe?49hD1K#=cpC&0WL1ycyIuRvGLqce9purJj{&;A+b}*bx!N1=o)K! zXS3M2b$#A<`F@@ESe*uvY<*B``t36fK`s0v4Z|0WsJ1h#k417q^l2mQNezmXBj(YM z9qrlC&iZ_vn`bg_y>iOj5o4lucE%JLua)HmnWXqzq)S;lbYCaW$auR!I~qB-FcvP# zgV-;&h*xh`G`SNg@PykeCL(g31d!gHh_MUuF{f=iw`%QJ&t**I@zaLOodfgwl=Rce z&3wa$6^8uy{8=kVGaqg#rL!I?7V zaF2WSI1Uc%HDlF@gps4*s{DBS(W>T_%EM~Cg;K+?&-=H{?A@1rWj_#Q`cUsEws($% zC~T2tx{FL#fkvrCP-r$ZY9^6h*cX@VoC{YFn2r`Z^}=P87PUKTts4^^dMF<534S}b z#nnCOcT9VJ@ZLSN`8O?0^7Ao7tJ6>^Tp=NcH)9&yJutM(x9x;VhkH$9*fSY%F!Qoy zx8U&h_0&#LvQLg*%{k)0J~gp?m|7I^{ru5 z9lIQab#u~3Sqp@cItupVR0&~C<)TcML)Z(QT09Wp8Ie1JQo8Cu|Vjq z^5675yn_drlt`ywu{J`&A6(WDc2dM+)7gj6KWi57=SPUdFYy1`dyfwxcfqA#ke%jV zhY;Qo$ekNdBb{W5L9CA4l~zi+R8Ep6ID9huh4LvjfJ#mBp1CSToD%i;+eKD-4e2u} zz_P_EY#81Lq^NPR_8MQ@i|S^C95F@#tSE11_Vlr**tr}O*Odyp0gIhScd zuBTX3QN6h%tCBg0BE$vIo5A%YIr{4^ldI1;FrcJQQP&lA;LOZAPW_BFR@iW&b{Ezo zXH*~?Pyr{^s@3CRSK2T&3rPVp2fqUqnE^{%TRr>h()L@6u0Be(P7HlySQ(3u(Ci{pXpLWcjj-XG7Z|Xzw5F3SI2TC-GRhAN(r(ky>ELsUf$5D%~r%kp0`00EfIV12~v|<=~@8HTG ze?pgFSGx*Sd5Qb9(Nms&1!MitHOoG2yc*0+m~;J`UXgLisxlZv&-%wZ04%l+`lta0&h_rBlDag0Z(RK^@MQ@2!V;><2M` z)q6v+@z3MAB7$>-NMi6@l|I&Z4b>6)ofK?ChKfeuG1tlaY^jOWKY#>}E~q+yyb#z61bLI|7`1xR9=H5n5Yu3{<&Q}=BJbLTi-&ClU9vtPjsrbpdKW_)>9_1QQ zeb3X!mT41n?3~Vdc7Kchgl|G_%~bW+&NqJT?mbgx!f`VP(@~&sl8i6+37%n3<5o(m z%me1ls++TbO(_uoDops>`yg07vxN|eGw+&k-Wu;tUYr~^8h;J0WjU&h$+<|yawATxcX`TW1!wVvS9dO|Jx#!BC3|^??1gN zyh-3}Q~kz4V{c6&>1Fe7!5?2DlS;*aR)z+-o`ggyH?F#;oF_<3m9O#bLW6e%C=`mG zCUcW7ebXN$H4bZ7Elztq-?Z3TVu#P8+O@TwkGYhjvU=qc{BA1mNf8&P9f|^2gL>e_ zyna*>^?snD{$?L(7QHGjO=l9ttB^B_;PgjPYO9Ce>_ze8p=(1n66GUwH2gE9B9Y5* z3e-KGwld&|p7|!}OZ-rYix|mCUkDG&bnXcvOybtIBX;<(`Yc6I^KvS?Optm#nlo%?#WcuX6Nk;0y#fl{o~YX3YpnI1RPgUQfoKq!<# z8P?|I&cM;|SD@q+>gSQ)&9I9ZYu%=PZ|}C0SlM2a3r;nPX2;W^c~pH>#GLxx!nLA` zyJ)A`+v|Sa;fr7Ij}J*e8t+I0->=j*yg#YKm8tK-t18i6PGb3w2$3HQqt>yIiAs@k z&5S7!vk~stLVl!MQQ5gsD5)O}&zfM5eOuaUj15k6@8fH`^;Oo*^*zN>1^#6 zk5i?xem+?|Q8@P8U5g$v;4Wtr$;s*)nrID~YX)+nJ378ke8YnZZ#69`3D_gn7vrtT zCPvQnQKo_B4a=Q$J|Ay9u#i7(@#~!-MoBeOFOy|vgLewNmyNIC1kWt%HI(8U@(gBF z=i9r1Eb(6nXH?-uCMR#O=>$b~=Nj>J^O$!Uksf8gq}?ElW?r%zwVL}w$XWU0uX8?e z?RttDE+xfbHK8jFQUG)P!C@$<{_ZzthZ2r>blI=XWZq;ncuG_Z`Y7xkeCF4+G$L0k zrD>5W8Dl2B8$wEtPdaV+fUB00$NVtxHfT2So%*WqiS%j0kNb35{d7r--nmX(r#nL( zlXIB(|Ad8T|9tFlZ~nAj!0S5$)^qc%!W>S(J+P{ua=_@qcg2Qa^)E4tM~+%j%4*nh zkO~z@-dXxZ#rK0hsLSkH)DkMAUCC>adaa@=_4lVXuB%$+|O}EqmsF;|?0(JidY^r}YsuX=nARocW>JG_9bu~N? zBV>2$Vjb9kkzYd`I(Am1J1BRhElFMEp(B=G9auqCd7_R6tZeo}RSApV*ko|n4%>2N zvAO}S3@sXfZzOTeNlu=1AsdeIuHu90ND}NU26IL$f|D{Ic(^CS)Zg7SuwV02_*SK| zY%^hokK)buJabqK$_{MN<>7hoT#u&Jc)$iMigkOoYTy%__A3D3Lv9hV18F6>prV5W zi7b8Dy6)?tw}8~)TusOi!--Uaj3<0`fLfQPzHaxdRYpbTGBubCr`rKoSxbW5#Dd+P zTtraby`3rpoVmeM{?0pPuk4&wJo-76s8R_RX7(khK^+_@)s$bUl^@NdML6@m(sGv~ zFfX2IdyJoS9_ebkY|T58wv8*cNGwMoIi?Gd&zfL*?4kza=(<_Xhwb2!F5gpx6 z&iqyfhLei%j`!+v#M!sni-`#hJKE}MrEWm$`V?8r-mN**YvjLkLXk~9tW2#P+bPyd~+R%iQ2ixR`}Nyvm97j z+<2k}ve@?MAWU;&;c~HI+K*o%)e-!-=|Va+PhzNCYRX<;WFOE=k{FX>Kqz__Roq>F z2+8>Y6sa0i_&)Z%he$%7mIj*(O<8jyfMOl}#HGs3KnMSqx3wK(*hFG;Ryqtact=Vfv|PFaOk zecXW=HFE*;H8RT4$A(0xMIQItB8ns1<%TulytfoyP#v7;e|nnJ%YF{94(OOmP4hZH zvS2|!{v~DcgrGRO4Sc1}gg1olk4yXF!CWoWu=Kdz0eX136kTbM9h@9b@u$x7)@rk3 zklz0Pc>LxLMJPYi2NI8*6v)mzdRQ~-on`*}O&|U4#Rku!`DgnasAI<|yR~m^ZxT}; znl^zVm(JiqQld=L z%lAZxdyHbFUhLybCl_wVATE~(IUOS83K1<59kq>E(c8@mZr;?N2LL-5W`Gts?KK2b zGnJ(8m;NIqm>sxNe>wD<;bkD*xRF)_C%8f@Qn#BwaT*GSl-HLJJbOIUYb#$TWP_u3 zPs5lk(6!z<2`*t`1T$VZ^BK3g5N6^mEE#q6v`Nq@tcJf1*U8q}-AkQiyBm$9P@PQy zr!)tt11xf1CWJZ9JN5zRz?Q`-2Yl$O^m4A;2GC!2>}TRP#qYANkENw#2(p+F#!qMv zdEan?%tUn`=3t!!+gP*`fL^XaaPF8PsuY!;uDU10KT^(Jkw4z-mgpO@v&H1N_1(!U zK2BfkI!5Ce2_^>8|8SgNzr1YUosATOm;q_CfFrB&4lhP2p1F@@h zzt!Ni!jY>pmc21PmH3lDylQQ%P4PiPi(pmQ>EvZJKC0Y+6a{iEDamP4K-{w_hQFv+XXMX&N0 z5+^Zsd3U1&u%|XzH>yLwy~)Q?(LFO8%|oJ1DC|l6wki`DhDPU8Ty5J8vdGJR2y1_t zbby~6zsqgFdMakm0WUkhc5=#!KOU7MA1QM)smWUSk3 zB(J~5gw{!o@VEzv2hnO+k0B%Zxhn(*2(f~qp<5?Gs@~}Fm^$-|hqc#Sqw^s3n0^@n zPC`w8Tv2u|nB{lAhIHN~Kn{UCeO!>JZw`AfH}C9;1!~nZS7A0gSh*rB|5u-_;+9YN zN#A(LS?6`c62{YIhLzqYOi`Mi^7MK>wMgn;PCMRA&o-2PZ5!5DZ>eyP5yarZUdpt3 zG<{r=>W24OHY}GIjN!WNfrvBuzWr47k)}&{UN?TfDs#5}0OFUX{rAzo!NZG)(_=x_DWWRxW5X?SouYokM{OHl@^XE|OxLVGXiR##h& zXpd1?qw}g(SR<9~i_;^y_PC9|>nSfcuKy!IS{Y$-lJcDAcEb=adLBP{Osnetw~ozu zOZyhdynXe*)35QLX2}`q}Uaxwh7=&9#^|40usBzE!?OCxcaDYg1=LAdgRwj-g%4v&?->Wrau9(s z;83SY9jAxZ^;`UOXC7UwNSBTM;OB+NhrW5wp>F;yryCq?-lra5jJuevJP(KA7AcV`#%kAAfgVPrqwb*zF4>snG^{UV+;a<_uaAGU{36;t9eA z2O?m{V=It)WM!u4AS-zz^Apb~_`QJ|ZD_3ls|OCULSr)0+&d#9b955nn;W#UJzh*; z+CsyIaS@_R}*Pp zdhs2XHM@oC8>R8vmwu3g`EEDAvvXS)BxekJ`bC3Kr#-wpKm)a6BNr5Ph;PX@mgCx( zM)zLR)AX3*PJcwg>x;a%7PY&-f<^>?7s5266;4E*A^qq<_i|aMA^|Haf-@mr){A0{ zmo2;5RVDZyfnM%UFp_u;X>!+DUiDYXAW0Al=SJo8^!GixjdV+KldC@aQEfhT^wGKL zUWNV4Ycs7&oeUcp?e;LkfM|L@{G}JE(Q_f%Aa8oTyq?bhqeGVJn7}g6444EMpYSvu3uD8qHQ^v9h1?)6SwAWUr|wH`x|i%tRf+#{OE=BCvU2O zsY?%0S4F)$6HZGgw&ga`)_QJ>;>GItF%rRzK^Bb{8cpbd|lngswpQC1@zE{L~h zB->n+=GsT!lwO4gOef@S+Y2XU)nA0DP_VR^Wal|6x!3!#+hi+J9UbfLDBNyBRzznN z9Z#jLuYRMUsv>Lg^eTOH_}V?&a@@6>L?`=>jXarnHF<-gv)6 z;#!^Y4(AwQjYhvnmE5XpJ((yQZqw?GGGawjk&vRkc8^ea&(#w62x-TNl@6KLV2wT?XqFe%;tPLcnJO8i?leAu4?bd~mUIN+P3Q{k?Q(^QY z61AdR8-Mc(^h-Z_1!|>#x(Ol|D_S&a!-&+LfhBKJng&+&dH`?MSz6Ck z$Ll#WgWTUQ_B$t;9SHD+%b-l9+r#HdyFad|EUs0<;_k`P1`FZ`ty}#I5hgVT#KEzT zfKG;&tZ(;e6F4m-3Vwwk0AmPz`wdpyq3!-Ae?8ZjP$9q&R!HNFfrZQjy0XfW*MP&K zx7tqW9nb2Fvt!m5)n*fkatPTM*R2zW!q8Y1-T9i6(Pra?%iSJE&*J@LU++rsNZeOA z=wuC?MP@k}=$S&aJhYTx&+%dU*aSIOJG_MX22CwT-3#y_c>~y`mZb*j3^HU|Upc8r zH6sl+zD;@g7$IzRB9U)MkQSf6*=K{-DQHa&i%-4KMH`V#^bS6K7&yz-IM2g_)o=bB zS3Nq`<4Tv^=RlUT^`deGQrK9B*MsJpd#%!MG`Q2^Yg(=S+EykooHg<0B40F{thi z!RX%fFU#AuxbvNDyY~}*QaFB_zetK6G8doQ{8CI#dPmmWbA^}PKCgbV18k-e&{SHJ z6%fzXUalEHI5@OdTbch)o4ie( zSsF{wR|X!;D4HjF z<&h$Ex6jm0lw5~KL%@Jx>mv0%ygh!2TxMS(BF4jXUJU6LNzA*!>bLa{1?^ZxHl3A= zEfM4)B$>o?-r`E9_V9Bt{tV@m+Xo_lK_UZ$s9@w6O82|^irSJLIJ5g#=bnAy=;3t7 z%VsT}+&qWz3Z>Yul=oj}g`#Zg5FuuqxGnfAj?YswtB^Y^ew(0YS(G4J{cyuN_htNZ zUcWES{=M+_{pr)4*OszYnrS{$1-6zMa_64GN+%Cq9B3FkX}+mSUi{vz8Xhvf8(ZoMJ*qoi?>bph%sjlShD?0v zC0Z3E9GE9^M!ZCe(|u!Hml(uwphcj{-fZMmzXVY`BTA~mnoHPmsWl|)L2KGXh3^ke zCJXk5q@x8>Aa4|4xDP3}#dY*Pxcp)g2YJBWE4Y%bTkIfFapy<_KWn@-sGGNsIC_ZD zvN~`;-!$rDU_p!ph%Qd#2KVHB#(_7vcU@b6&3%+V9^el(us=~%Su>ju2V1czQdlq5 zP5;Smcw+;M=fCHBB?HLiB!Plyh}(KSYN?ntR1X%{n5KCK@Q$n51hhz)g96G*ytcj< zu$%l?7($|=7SONgfj4?X|5mf}qyU+!{2-A3lHC(HfYOn!C65sbCRz%-((Z)4(IrFzGm#1^bG0tiP*LgL_I4m|4e6o zh3T(c?}3&{MJR1QwY^5-4}hAgY(CYw#x?DTNYf*xG*Mr9^|g=S;&wnZ+)1 zh9NYqNKOGD=}-v1q$_hdY)JDdb6-u>MsG6k_>7{&SCAE892oBp2@5Jbflb+sN(`VS z9!q5#2Ewq%!8gu$mG}*ygi`bFPCO+}xXiXik*p5ZdCS~mU_62g8$L6GDjluzV=9hG zgc}gp)ib48F06p3K=fAqvj4Ao9iwH(c~`&uu)Y)iTfmH_(6DC4Db|~UkM2FMu(DrB z6sNaG*8iJ!rv&e*T$Eq`m3#?lklADm))?ag%v=q}q4z8wk)p#588Cza;`IS?$8RqaaD z5eVRmaL;NNsJXXUlN?7EJ?-76PAzl|C==ylMVTROMqqr+jx%G2F*%jkrUmC@6aC4 z^vazEO2&IIMDLn#lH588sdH%MGu3hgudJjTqXOjd4aHTmr<7~yHj~USioHAeHLOXP z_DhCbmEk|8YH#TPv`hgUqHD%`soPDTCe{M_B%)u8{fRxhe}}8E{i}na9lkfw1%SqA zdsERg%urChG_uh9EphBqw+RclFAmr!D{&UVTbk}*$1%fXwwu3qXiwj^n{Elcu*LiM zx`pIETj*Al{x_%@IFmF5J+J96v(_K>^1FWKw~1oP0(koKOl)#Tiq$&JsToyFfc&sf zut1tJU_-|;HoPeiPo}B%7vk<48-eY(nfiq~boHS7_8$~>Mrj($4WIa%E3?Xz>Ba3i z2*uJ(7uNQz3hfrRO@Ta<#GYmJ%4g5ACECXeni{|D+akX<(D3g6t=Q=Q6pJnH`d=eM zFn@%Jr+jCkScv)Cl<{U@=>P(J&O5BwKkK&7Au{Zq}*QF%RDk5+tjB3liE49Hn{t+_YN&yd{A0g|I ze0vKW;D-FJ;C>zal%nG21vG4h)kg(=XaNNL7zG}ozq+udUt>v^*)L|ZPI>~Ucw$X` zDy7m3v1zp+>+Jpzp{9(<;=WE@T=_4LX728lN1rlXv#kdE-TuO{+!AfkFyHxcWuMz1 zJx7Esa~XO)7$hVhO+{`KEBf+u92Smsq?AL@skgUmmM*%tWv|#5nHqmxgX%yrG{N4k&CuEUC!N9*~sx984k%r zSPZ<$XK-=NeVIl&LeV=)d?Bjno@K3D|9YCs7ZT4ym{{4-WTHn;HRLB&Fba4H$hU)r z{-Xj=#$%Egm zwni3?kL|5U>niQ9j@)1*kqb-ELl(H%yTVD+mZ^NP4nXUuLf#%*QE`+syNPi^6prWj z2nNnI%2OM6`(^yOX|7|Pp?np_i;6FTjx<4k5|n0{V~Uu&M)@S@(AWJe=$Ks>bW~wh zk!YZ7r-RWTL_D1h);nEE2wxIhA>+5lv~>DYL(B+uI4e%4yWi!3%?`BJDir(Cf03N# zDz1dN32V7`Fv;kiFobL&e5JM|(gD{qR3iAzNS1u6rayV^Mq1*Z_L7BkUUc$cvhe^O zgxqRB358!j7%<_kXGF`bS?Rh`)Ezk>pT-dO=8 z_Zw@`y>=cq=XQ3(NK(;lT<84a>CJ6DK80gi@!=4a8nr`w%;^Ab`O>nQD{4Ppm;1DC z7A~JqO}#sFus!|yfu_4AMKv8q7_GkH0UWc6dKlj)2Zp#C;|@qX&Oi8c*lvlwKGa;t z+24KKo$64|-H6QbirMTIUtjJdY>=m;`xA#~R=8Rj6=KF=K;v;7bda1+$BjXQ+VpDS z)|4D4`n$K+q!my$YF5zzLof|u@am=NojZf++8CbJ{ahyno5naxK^J|B#>^@64(42Q&-K$-8!NO+GQh&Rlf5%XF?|{3#!x z2hVa+N3AfuW4nPm?VZBO3&gzGPrT#k z>q)%^Z5Xduv>#;i*_+~8zQb%L8{FlF8DYZ})nX*o_S`s!8H0#S)2}ZEs+1`ZM>zRi zSTL>#eP;F6Odtl{TRFR~5peh;Iw$fHk-nV1VARxea0};w!OY>F6@ zSazHv9`wKRP)GBs(<{s&Sebm~1C@VoC#M4I3iVST_7Rezl2|~gnMlo?i=&nsc)XG^ z@>A3cy)MMw)^qzVM4`|Y+awoq&R(GqtXv%bN>EFEbd01(v8M$^<8=c}CkdTCNhw9p z2UqK!7hqT=?~v0$H9^rCsP0e3>`ry5`m6+bqkilZufxl|lWkt^&`w*Hhm>>a%C32; zfy&}yH*sQ8gwSPLSvU^;fTl2ep{ddKabI$(*C5TZap@#b;?fpZ& z;irFD>I-uvJy-8`?;cwB7ym&G0e4M}&uMb>_pJ>m>^7R3PM-eR3!8YwHvVp!O^;7AP#-ag1{G z$Bn<-Y}mLP(Z3NOL_oeIAl^^9qe!X14KGB50~pGD&(iJ8xj(q)U0$s#LzZ>Y|E>%{w<7NCpNyt!C7{T_ zmd~DK1YkOzlbRta4D1JgK&f`dEI#GQ4yqVV^Z3|BsRm?&^7N04n@Hd=A*X^Iz{z+Zb%DUpBzjpiV}J`L`%?&=?S; zsC5)w^lOK2@x0n{s;ey~gdWsWI$Iqng^+U_RE8O=&C>A|WbN>VtI&&cznWh8K@$&F z`fZZq)bvRnQ!VBZ`Qh{!bF8h^E{T=_&8H|mPZxEam7S9U=HC7O#3Trqn<>RZUxN%% zNFnMmbHu|e-WYoX#P2oFz4^t0r@+=mP2IOF; z#QB3Z^lOMva`Jv{Y3zXsoH?-%t_TnY>~k-EKOU{)z1h5ZQuakW+RWOf9R9E9#fyF$ zO}@mWc=2^c5dZFwIi%^pTkyomgxvH6cVXv#@4MB33Gf@V9%qUXaE$>bSpEpyP@LVi z-u$w-iVgosGgt;_1~0@kgPi|BGw4_UJ163v#s9f(q(rP6xmzS3bLOwQk^VTLVMJHe z8Q?wtwYrfl_|^ZpZlv;WH`P2;5hE-{VeR6={LcjutToxI&yo>rxQnMv)5%km6iqLT zLQ;Ij8Fq{ZsX{z~9YS$3!~5X@1Bj=u4=#O0tw>kTIrQ>?Yo|Iy@XD$PPV#9>D=**_ z$K=DW;$KFL03ti1{xq`<7!*ZYa=?&+zgu@t?TyNM-kIG6kgWjry{X&5}0 zN-f2OeRNK7!`N7Qc-aV1h3^PqHIh{H<(A-%lKbL;&+RC!}GnL?dL##j4?B(B7iy0nXQ(t$odi?en?D4Y{b(I-b zqnU|XwQU-&y)~!X$0hhGiXrGRd>qo8pei|RC*F^mOMi~G$fBH@&@8ul3J!=sg4*;e z1UNBWH9c}`c-^m(!{+OM&(G0BaxQ%iy&8cEN=0iasewe!Ru5#&xlpxtdYDyrHhlA- z;8R=W1N_A!&Tp1fF$z66g7YY!f<~;YiG-Yy4)9tFkuT!cV}*hVtWY>YLa+6)W%;FC z-P(EK`~~?l;x_{_8_#qAcDXy41q_vMUq6C7g{f~#hCRj4-$4{{k{?SkyubnqaBmb> z7tX8a(+-XBLo)3~;0tEE1hp#TB)omNJ=OGI1A6GS)w7%jw{P48mNd z*}wrasA@+?woti0{axK^DDK+d1TJrO%S>yCH~oa0hZk>StZ|JK3hjSDu|Ku8tiDU$ zY$nE;0T!Z1nid_HD!WjZ*J|p8Z2BdD2I9^N4c2GWZ2|81;D-O=|6+^jQEoksMrsGyW$5#hL{(6_Y^L^Y5G*> zQS!`N0W@c2`Kxz%ELmYkd-8HDNr({D_CeYsE-2~0~T6Ox4 z(k0EAa$5mE5v3r$v4lirPdg`w=zB7mYvXvFF>%`ylx6w2%O)!}pl(P!@6 zL=4|)zm(fA`xgyPy~own0Enh*c38_L*0w_C77on!Rg^Sy@3eIXX({ptI3MJ_6{rz4 z+iNksy5WkyxLfvN@!Od1$ZEjtAG1ok2q3d_br;a4Va-D|dJ}K?M8}#Bn*!1!7P5xc zFp&~nJ97Y-$49YdojtgtxI2%tZ_aV*x(9mwR)-#=qhZjql}m*P(RQRTo=@mAlD~^U z1NV*eCvTT4YUcb9Yipr!BB0Eyx<6}1b+rIp`LANhBAWY@A-}UY-~A@g8F%dopt|=M zD37f0`v6MvDxJn=1q1Y>=0)NBdHE{CW!@45X>FIIvx2jmG}ri9KUC+9N?@0RL4A;W z;93-LZ$(Lh@p#{mG&7ueM6#?F3|yb$c^#Fi4iE={nn*m?=B2W`m9T)L_fUWU9z$V% zYLRIhI0Ia*5!`g)Z?p}R;-{xAb|``^&>nwEfcl@`1UOSEcWElp*~eV1OHU=0+&Be%iMv;yF9Ai!`VX#`n})1UC_tS(2YF zpUEJEArV(l&zjbu9)ic8e+(25I;EL9W1ri$&!>9FY!04!p!dmeNCA*J+m)k%eH9e4 z^!J9B_RUq?l9VfU{xn5mYGFc#o(OsnEnkR+`~6Y=|F_e{)5Lyl&+)IE@dWCexqGiquzr2j5jcx;`m*>%->uP0 zV0tH_P66`+r!+lbfebuDNApNE`_q8mbNcS~zP!C3oQkG&KAe70c31Je_G9(G+V@w2 zmU(FMPX@;+d|U5y?l-OdT@E~)2RLzek^AHJ`Tw3DKL7vE_vf1XUzI=o zUNqhI+qCvTsBNGPVtAketVM3cvah*s7=61eseER|6eZxo!{S_j*6KG} z{P*PfZiNCjmQ4n>S2D_FH>{8Uf8%7_<)ZRj^|I-m>A)3QzxACTw7)%k|KHQg+mF9L zyYAD2zo2tC7#S=$A&tme)oQRw!EN7dK4^o^>;bl`J=l8`AGOuqBh(J;Me*5#YkO*ce^cEoZ&y=M_hmcNud}nw^)K52&&0EN`tTue z>{h>j`O*vT&TaH*s0KAF?Hgf3=i61vcUPxX=j{i!PftGvPAAsS`}83s=X>VfA9lx$ z7~g^Rm;Ys9g3dtQnY5GXH?V)T-=+>YRC^

5erp?0<2xK&JtBm;%r1t3LS#w82dN z@85uLJn{PNZJXvN&t&-S18hvyF*QO5vho7o_4(KSydCq=#{8|!X%_H|^x&Ck1s)a! zY`KoQ2fojrD&Ya2Twq}E2DX#GEU*8yeDPdE;ADaC>};r*{lDY?CEoUcjsv|F0-A3A t9Ld6vFmI78@RZbbQ-%n2>G0wI{MJAJm`!>#Q4{EJ22WQ%mvv4FO#nCmcH{s6 diff --git a/pictures/floodfill/ppt5.PNG b/pictures/floodfill/ppt5.PNG index b2583eef11b070acac10f37f9ec00488eae52774..437e3ba33149e2d73c944baf95bd9a45efab9276 100644 GIT binary patch literal 11514 zcmdsdWl){nvgW(7;BEl|WMjcCK(OG!Az?#sOCY!;xbL9BCAdS70Kwe}B*EQ+I~xh^ zJ}=*Q=bkxJb!uj+ZrwUHKPX-nOM0!qtg1#wW5l>|x#s5ZerP|PHhB>64B1xel8v{>zA3NtmH*_SJfyztX9@tcb4(_gv zr5%*KEaYD_KN5;oudc2hkUH6(90Vtr+?{JoLtI~bB0d^rB9P?EO?yd`_-&Gpcjt65 zF)>qRU%!rL(<&1`-I+0)4=9^z@oEfvBs^h(rI^6Mr%Av+jl15Lv{Hq9cAI&I*=)99 z)#d4rrFC}L%h_9I++lLC{8Pp2_WFY7T_1VAh{L)PGdnwjk$>2!fkj!<`Esb~$=3Kl zwci6gp+R&qoVaP+o}Qk*I7auu{Tc!jj&{^6W+v50&}mEEfyCGek>(}ED%=%f; zi~3Upgj=mQZoUh5N^Z}?%N-CZFiA$JURyFK>#yCu?b6nHw+NSE8M369E|0xtGX->> zN2H?*FIPGk+buSRvhv1eGbQ|#ywa_; zbxJ4DyOhc9c=HWO+ygw8-q@&Mbh5G+9vox)OC4#5cw!O~!NFaBRp6y;1Qjz*3&nmj>4S!`=1J zz89eI^L$%?J+uJ}q3<%c7Hc+`zQd;bf(xI+D7=wFzt+t*yiqV>UJ3C3jD{s@CMPgI z>hZDBgVXn;J;aKmXn8<2Ow8`?y> zq)SqP*zdvrhElRQdjFhrS+FUA%H1DGt*dkG>BPwv1$~p_gF#suuQBGzh)3x8f)49X zZ+#CI{qTeuKWya;NaLB5d|Pp!U^fc3_5ado)hK{>(=T0%e78b#_q%RRU@mhh%Mc$G z6*X@{NR+*@TBoDrk2Mg%!Yhuf! zz{z$X1`<|yN*gHuR{Q_&zKJNk@$Fo1$1JL6vNS8Ja@F;?v}K^t#ccgf&d)UtD(F%X ztTJzAMn(spZ+y!PxsI^+d74?9@9lr_2)>&iPL|FPGYbgn zJXgIfUnPQBNu2Nq#w=D=d|_eKb9~6B(~w*tSALvm@TLdw1ziDc)|aA*>S^TRGV^pQ zzO~mlPvQ(RG`b50-sY}ib4@}}UQhdnPEYGhHG9+^0gI6(exb_DZ)5{J$Cp=oPexwa zh7fRPAmh8Y1ckEe*4%4Mj?3P>+RK-VA{7-CCf|KgE9@4YA90vGeT`)jQT~NthFCYv zv;I_I#3%&1!r<|ZnNh7-373DM`_uJRDc@vV4bEBhaBsHHyVdFFx_T<12RTb9JL`#~ z1Iz1h>8%sR3El@Na@>X;KYKY_**XGoKK~3Q6F#{(Li8qbzfC>tOXAI~s)~gZ0N+Tv z=r!d}rD5u8^Z3I#OOvch%x{+YM*4|~3QG>LGya58Dip+*D$64*J)525si>aI;Qs7i z8xo{F>CnZ@8`#2M?9n^d95Pr=zVYtv)p^B6_OXl|@r* zZb~h?Y&6ZaVp*X2wEXFd)yfVt25bf3&k?(x$i?dCfg^`OQ6>h4a)EsBo6ByxNRj2( zYR$J-r#mVSyW1=wKOWl0nc(rSeF`+}^vtyGS1M_ zKAoq>CT7x&I4u))+og&WX3#9SzeI{6Zt)N8=~2knl+^dRIT>(h3gu|%ij|)C*b{|G zvXtx4e!EnxEln=@Xn#v1ze5lPLYUaTd`nqQ_ zeJT8RCaSwkJ)dWw;|YY? zNj-A|u5Fa?bJt1rd2l2uDc&7U=CVUpk45_co^>iDL3ySlQl@Vb_Qd z3{9mi!G5?%lM|smh-cAXV>6SAn5r}r9+YEvjpaWqkF1>aD(BJc_9OQvDkAhF3VSiw zPmYhhi91jHu|L&g@ZIgP?jeYnqh~`lu2cVfKk)HhT@d-e?r}=kz0iebyCWcOE7E(T zSQI~by31{v=>&>}#o06zn=|g$&2KxqA!6u#u{OY~7CMe(jDPXw^!jEs!ur;(@aT2& zEw1K^`L_o9pS%W}ey4|@KhkN=ps`=RYYDTS!7UXMW2$|Vi)bE}E$ynFWo8%&FdBx8 zL){j_uUkbe5uIy0DX>>(C9{a6#`lKVB#%5Y%suClDkb*hXwL~b2E^_>VIkB;@t>%F z?%EPOH|fGhJY@c52?5-QR?{n$wE4SWaXXvM=StaE+_f6v*C1q?0x##{;v!tvW4rt7 z{{ls}uXJXhRNX(o!B7U7&qDJaA736a=zSd-QA1c0@LB)ndMNDt?H*F+DW@=kD70kM zD$9ZWnB4h1XdDR;n)LX{b;zz~zV|bfvt@&-zT_$BI#ti8qCpH&aPZsd{1ey?lwg9;&C1=YxH8U?*J#okk8sy`z#6gn> z#AjSRIKAt)HG+w`9E>>b;nvRq1yZ?M|mo7OjN1I8%jXYfQ8u z#zh$qxaQC_vgkhrO|)x;mZwRCa9S{;k}C*N7G66QvGYWh?wmi?w0 zX3%o@2nh}UB`6&85)LT`_^kwf%ahTt9ai9_5JHgAq3x*foDe)xslj;$R$K2`H)jGa zxY1*9;$-RXZ|1wm=moCIj+EK}Ul454GV5THPU%MoIe9S}0pF$T0He8J-+)j!1chh` z39e!D_ZlML8WU9lT6O5;;`gVjH9Tyz1O*33)B!^lX@7UZ*6#GPxA&yLoSwRts5<#F zXma_MGezf{;^3Z{LNLj(sD?`ap0Q>B+Q~C*%&RnG%VGCnfs`!?OQIUz0L_l_5+17^ z`l$+po`a0ZVI6CZ9p#6sk!Q8 z+gQzaJ{l9y24AM9b1EWk#WAri6Is7U_Zel8Lm@n5qGa;zb_|=GEr>U#acdQ|x5O|- z>zVnFdBjC6k7ZfTGAt}#2{~5m8!|nENTC)e|9B7@uhilg9&1qXYfQy@s^(RN=k^nr zl{UWn|6I*Jntt}#h~YKa>U#HClG>FyZT(qzw;F6_O!$@hkSwXFedy}xvnf3cl@xQU zvX|YMWGth|XlLlIsKugOY)Fp2XrY@Vu(!T42bsJnsG*tWs%3KgfpYL;nL(MDeO>v> zBkxzI{Wp!@>MpqRXJ2bv4aR!-@M@pZ4Df172jcE>9_`jkR5UvAX(s#UDsParcpnrE z9P6RjILV3Z66|Lqkls&$GyKSb^BeQs?D<@3Pn z8Z`8n90O>Z(8u4m4! zHP`HB&mRE(Buhx2Hu`?4QgAH`M2-Y!Th(})SOWMQ_lt?)@+GPv>KkG1aqM1FHGj^3 zfXj&7FVi3;tJIB)L*CGvuZVE$bKlZL!3MIV>HuidXCC3Vj!RelNWY{8zr`0Od#z&v zC^Xmw>!|5La;2ywA7A+OM%^Q=Byzn;fz%#kr zhOHJSWA%-nj_Nb7ApdgHRF41bpesg>1Ng%2KMsW~NGtmN{8s(hMEOKU#Y=_W#Cpo1 z1h$KgLp~k4v^62B+QMha0`7nDe*b}Q=TeQ9aENSwZ}i~@547&1VdIceaBbmvS(E_c z`}iDi^qpe4F~uy%%58P6a8RsMEE=}H{PGAq%Yh4>{2mW~9I~{y+ROHR{^9B@C^1=1 zU&_S{H}FjB^vF9U(pgR_JHUOQ`S(vm3`z3ry;5u^8a z)ADKyLvwl-G;^v_ctWE@8u}Dm$83ZEIwmNc-MMK1&t5tueWR|X14DevIu3c<)u7|L zkt2&ym;n_L*D)I&d5ELdv0_E+F$d@XFIb@|qy__wm3{?VfIs1dMfi3=WRF^^3Zb&Z8hg#U1C zjjYkBv593{pt!NdzvX~Optn!*fR-*)Qq~o%=Y-p)9!Mn= zIs2dLZBSwF)iYk^elr{ZqPo$+Awe%Mt*pxIAK5%(^Ko?u_SD`>;w(q#F?(#kgITq< zkKX?2`@VnbZQl0mi}}|Ai1_+ry&O0i4)u3e&y%&s1+KR7$D*PO*V``y7Fj&3vJ0v+ zz}wH;!Xdv23QL%rzih?u33T-7OB0^FF5RHIaUi_8kZ^Nla8Hx1qm}^mep=q|XZ8cT z_|Zd;WL7AN#zK64O&DMG=_pRkGIF5GzUQ_d3k(_F2fnvL;>f?+lZfaCD;-bP@a|H0 zAD4dtwc;#|B#)F2ku;f_TL?tSqmzk0AW5DRX@*E?3N;a8JbaWJl)9-+&oS2w6PTL5 z95w^(Do3mxbqIrki~9B;F;SE!eU@k9A>-x~9P-iIdW%6U9P%@PdM{6nx*D14mjFr?i-k9K5F&>xBkUm1mdH5WS` z6}(5-a95kR)txOE#5MaAfiXX=C>RPW9!K$l9dlExHW_u(Fvx|z!-C}XKus09#02e5 z2lURQ7HvZ-)1cx}Pw#W8Ro^K&?BKCdpl-Vh`c73)q)qFM-9Z-Q0tR_FqY8slR{m;#C(ZFeiKp!jrQfOD0r)2dFEEEm<5p=kt zM@Uj&azwc%j2KiUBol^W|;O@G@)#^JMXIvrHF1zU?Ntb=kjigDCy||XG z17iLx(fBNA7j6|6?5y;C-%x7PI&WSZh~6m)r%@L)iw4AnXh8|{{yLQhcZSvVP__Cy zCGe>zVcbN=Aq{=O8G%7glH%MmcpDY&2{6F%L<@B^T=E z<-97ZhgN*J@#(&Y5){C>pFJd}YdEmuFi0SwYe{F&GguVSBSqH~N0ak>e1M!NII|=L*K>o`S;30A>hg6Y1Y1nR2>f9Gli{->dA-5-)-~+U0GtL? zju0>HI~VQa#eQyxloaErT~pNW>Ly_lQAkfxCTd+HMTK zGjOlQdWr&5AOewN0OzE`A;-IO4XaH4aq?%c)G1J2NI~^g+UcOOhd~|WOJSY`lo_B0 z@yvdbZCS1q{X9I2NJN;3%a*1|g3)lg3K0M*>_!+ILQ4YfgJKBIeHF2nq!X*MKbBkg zNW;CGqJGVHAt_mIE{ih_o+Vp@EY1V^gs0q=8yEj6%a&4Go!JJ9S>lg1lrUMt$DnAS zPl|eROgw&f;FpJy_P^^M}Ei9wYXM7B314+NAK!r{(S=(TL>;$wh5E4uYRy5Pyo33E^c-IPNbJL)9do9+#^5M%Hyew9w`ecde}WR zK_&Scn+!QXa=6nL3y4JZryaPP-xQ7sI0|U$68J$y~wE? zuTBCXOh!%5bI0LJB~OQ?hCvHIU=Pz1gi)nWF zHKjpIiq!i?p)+*{RPPmP2xp)SkdrE`n*BA?LT!D( z>n3#`V<*?XnwagF__Z%8Ts;c`l|L^=Ik2t@cCYMxmup68CyL{=#MeuSck3IuRjfaLG%4b&ukFhty|DFnTI_=@e2QgEO zj=KT4akLKhk#MplB%Aw2bE5rh(Z3+AAQ^y9>prBfSo8_54mxUac&d34PZTBy$I;1= z(5_$90dN3n)TVmh@C0mVw~VI8I8xegKn^m!OLxE6>UuR*xeY&N-e8y#)L*0Yb61=% znCowB58@wgQcm?&NlzUSm~3Lziy5bmFZR@pFZJvk%bxxGUb`f<#n;(~7Nl6oTjidY ziqP&|cXGHP#uXfL>sc9zySwhZji0o>Z2!$zI6uRBSG^9KmPRVTCS!RD`QqL@wje4) z;cT9(PCdUG4k@Jw+^Q%b;Q$Rfq{T~A6C z295r7txiQFl~a%LL#SZQx&;y2*xw{2T^u^uMpf%xaROg2#oYqi7ljACkqLV2c+K8l zMD~j)bB+rL>lb?}`-@%`rMoV~;!Dr-XWgCFiaO_xl2$2iyj^E~o9etQlTx-9)8Z53 zMrSDZ1%43xw2z$W!2olZ8&zt#QbdwV72~iOUYPBSS+tG?FI$Dzm2(oWS;RMkW}S48 zUBUX52;n}~BxWW3MKEj9>K1X+UAwj%jf&A&8#yM>)q3an+4FpY+CgSDovh@u9qug? z46B8!CfK}8q*Kqv_9#Sw*~g@^AecyKfJJD0OigjnTt1h8E_vYNRGG0Kv(x-`>&&Kg zPA;Qi!wUsYZ93i4RMyG~m6*V{!^k_=lu&KX6NFMU8tiCG=t_B$FSoUT;U!3M;$|=n zC$91td=N_k*)!6s=YcZU%N})Ki;Lq-d*i!7;ITZDZS*FQ>JQB-8tJbEMM1fd?&DF$KY+9q%{KbS`}5vyE%-QkYSL zC^^*KQNrRo0H`IEnLdLdnho4DHDNSfx zPlnO5*Dl2i^NrmbpBb+q@OEspAI5&Byo!5yH7S*cG835I%-SC)C*6R{!Jqr-5y_!O zHM2ma0foqS=(>ZPV#|r1c^Nssbt255);29RHufo_fIElp_PnA2SMCPO#}sc08)Reg z6uG_`#*tivB$FiCcc*~8-i@w~-UaHg-|3+xm1f=Yrbo%{Jd7OCFtXUhkj`oC4~w#_ zN~TT6iTcbzJ=s!XOjM+9-npw`jx57*^d0>^J|H7m{3PyAS2bN|dc4%yZU)&!J>x)3 z>Spw$&O;SJ(u>)pMyEsbQ3O4qdqw9w`&@o()o#1APdZYgLq5My{;HC98+ z@y7R)-06`<%nUh4(|0;Twe-mAspvEQjLs~b1ICsZlfer^{bSM#?6L^`ph@bGSXF zTdMMzHl{YBNIrc1X_Q6C`PL>e%lK=xQ5H1g(R0>=*_bFJW)`&B_%)WO;|w~(YlQ=8e!KdREQSEPn2rUv+SGOaT37Dko#7Asg4>}Ul1Y13}-SYf1N3%HfA=yXFO_9M4$?>#SGeh$r zwnn*S-e^`;*)}kn|yb`)vu3Y=eADq-5z7*MflHYY4QZP{2vpb=&KIhWl@v4$gaRU;1&Ku68Kx`g=+VjKC?46Jm7opb#3cT}NGQP`j>Q6hX1kZOo`EXeDcLiUh0G?k2+V_g*u5_1vi~n zB?9H`mr2~mdTkBoMp>;%glt2Er#1Vs?x>+4(@rqy+U@M}`*^0SV5DQT5h@IYygeW1 zE|RefQhi@TXqWnlLJce($n|*W>K9OgjWJ5PAkHY)X|(i-lH$Em6JxlF$j*Pz)#ks> z=q8(=>C#tj63mod54uoj2AY@E*GL`SAMzotD>wa18CfD7Dm7O^+E}6&P;7qkHii=TLO3`BV^`XT#W-f zo9Sv2Bvq|N-2NNAEx=u0&YFN$C4CIG{k; z+{1jkkaliGG9kOcQ6`#($ftP;`s6?S$XiQ`*|#6tz&DAKw7a{To54irrvI}Mq%^36 z#ii!_`EU=OsNoMvw%?@B-Ox$pa;qpvF=DuG;v3v#a%06RrpB_DvOP*`!eiEt|Ew#L z)zP$%F*eC=vp(8-cJoIBMr85qgZgcmg=$~?{?x3TbDTd(H|!^ETFDwu7kOp*N^Iw;&{o;qr>!z)hVGub8%4s*%qlwl=mTqG>rv zVr$Ib3F5bi3@BkaWYs!(-(~NyKl87~` z607MxZKuIr+!JcDf{prps8$Z>T!759r_vxi5?KGfu3aEiCSC{zCA4kmr2EKVavdqe z2+|5tp|o(Y0gNpGq(HFYzK1w?f)ChalnLXrq0}}=2Hlo;IEIg$kkELr6kkCAi%_GF zj^h7jiFr`&|I!ixjfn$vSfGrywssy0NdBWPStX^1(t`*VXb%CIQ%7_N_yNM?gVTRb z*dPDjRuuhWRb0X#Ea|fFDNM7(JRYWk?uB4uVqblgh zw4^$iNBD~ur=_-mUdmKBU*KNs7mKQR{ZVaUzlU?oLCU{pkZm5n20L~@ftX!6FF$M7 z11UGlk?n9pMs%iW$!9srb-(ZP?;uv>)5OPgD(yKb`qd?lcpu3&XH`-(VIcMEtGiw4 z^_8kXcOlcffF}Oys(}4{K0WJ&7XAAwEXM~V#Kg}c=bJrx!3=%sBtFtfqiH^Kh`M4N zv!IR#jz#Hio3WeMFuxlJ@WWfPR8o1BY(4%cC)JPK z7jF$%fvIkOO`}O_?aPldbVk&zUXl|jnkm7X66R}O@J_?q^MG&KH66@`+*xwe?l&(U z^0&wxs`S4vc`Ra%wX~vJS9dfZY}%K|U12*Xbg>-DnTo-7In-eF=Xd#i$pFkxG(&M5 zk+&gKC$W3Js1FM!8ubIJ=1?`$*~JV#RL>rd8fO_`0MnAc!E_hD-8@^->*AQ07{czs zK>^L51s=%12GTr>bNdjjQMpce*p4HD3qr~Y84U`UoO@O!wBP;~f?UY)D>I*f`4BCP zaH_^8h54}{T35Ik4%eEcn+<1Wt+A|%Z4L9|Kli=2{Re6`#)}fbK7}%eEv!HDYK~S8 zPx}kLdT8z*_083B4u?cEt3GYn?VHMUK>?81**ktl)5(GbUW;uX^ZawVQ)tgpO?xUN z(hIFs_kNmH^u|u-y|^_|0N_Rnz4ql!+pl4S%pA@>`7e0lh?Tco_rQWZY6~(BN1|d~ zyXJA`!3;6O%j3&GWe&19{!CxxD1K?qQ#q2rG=7jRV4 zxci}}(rhputZjH^dfqnU@qQoGEq)$Mw+UZRbAXAi_;?}2C-XAb)o9s1)_p}YcTVSV zZUSPUePGfaeDY!3&15Mi#m83IluQ+s9JfO;q7{ylXfQOu|6}PAhtfjnS-Ij%)8xRZ1N$&#T|XR4#QfZ@W_FN(8^EUkbIz%$R4~gFYEkz@LThI0>k1m$ zfV?rKc@($9CW3Ov$~W(k1>zL!f1Oyg;Qr6VA_N$D{f`%xzTJ>p{r9x=+{cbXZ<*=> zzKfY%zr%r|IF$=u*1`CX3%7wV=e6TMj2*wol633?3PguURoK9c8TbOmf zA~SQ;f6Ici|7yPmrn~-6Wp#hoxW(S5d_kqx$8U+>te1raxP^9;~Pf%Rl|NG&bbDi_yJ=cC9T*-4kbI;5@_mtm^zm|p?m}4IY z3kwVQg1Yh*7M2}Q78cf)-`Rm*KA@K)fq$$HSJV_)vfu9?1HSx*J&!ui!jc!txsKTh zeBWiOe$#=4WzQYvAM4<4K^GPlM8pN<^VeJqCkJdEnk~5xeZ78ckH4>1e5dgIz3SF; z`X3*!p5GI20CG+A?Y?UP8wWbMpW2Ej!gh-A-PgWvq7xEVr>%5t2AAJW5HAiKH4n0iy6BFTo?4*mpnS8itd3m{PoFF|GL-PA- zQgUttVNh0RTa$ZF2ro*ck8r^p^QJFmdEbVnhk~C}dJ`R2Wavq zo%4(q+k3+0&Jprb66nN}i>ET;cdCUk{%@=VnXczIk4@mxz-)( zN)N?4MK*>`q7xg3)*8t|!}U~wxC`Q9`o$K@4cE03<~^A-85d8+x5`<^4zxw}qsS1b zldS0YqrP3^#w|@rU;!@Z=;bN@d$eTh(zry#<|;H6S|18X(>Ndn2>KLQN4u5$erMqp zS7SRa#Bf2=HCIX460fg0yOVYa0A%-`Iq@m>0I<4V^?q%9VHDyuR`Yj1?)OupL7wmK zJdt`}E17ZC@&T{~7hf-++P$6`BiF?bT@vAi>t}5}Fy!J}WjsD6^d-Pu3R+4rI){QB(YSu$?hr2e_&k&8c}SD*14$sq@`p z$5tW?F^_Ne7K?_7`*J?`h|pk3hme6=Hp=@y=2InXB%WYB`?UDAnf+A19G_LCb;Uw= zcWA*ldcJD5X)#D7-o=<07{pIj36mwQG-rLy)jiG^ScDsJ>cbZpnD)aE_X}0X#(BEO zyUU(?(S#oAiHfT6%#5p`vwD2wqvPTA!$&!U+HddZ#4$MLr9x3jKZFS^;TgS0t! zem36$M^;^(xcAaK-RHi&6l*B_L&n0nuJfIW=jEck)F3mRu8HFZERz!VqpDIsE|y3w z$K6F*S|P$8+Stw(!P8IwyWRgk%6x3ArWVoY!&z|4JlP-YFRN_@S@YbeF`f2lL1k|a z94iQ|N?)kDi2%+#Dci7!pMJ-nOlmC=9!)v76V=&IeolHVDYq1;ATP(zC)rBk&gFpK z+XJQ~hZ(vMui)ug6N<(O51;4JkDz1Npqul>n(SQqpd9zRi*2qM3tHGN>^ZT=a($P% zA)20OtS94+$!^b*Lr~P^w%S-6gg=*nz?I~lPjRwDcIrDy6loD_RP()r)69)EvOomx zx;9yo{MvOmLEW^ErZ`FCErK7FZ>qb(X=d+sHVR!Xv!)^}^Ju5k2^Ag(OC%*iDo22^ zLDyLU{56UZiwrVWYMdHTkXw7RoUw4g{wY7aNJ~Rzr+$p+fI8i7abSQdULX2xGr#%W z4L8M~uqtJN!VCIm(tYgh6^l*AO!A_*cu>6BrHx3Z~^4OJ9y8bmH*rRLi0FEU$GVy8t zh$CgFsF{33DXr6c?>p`Nf`XbYfA(lR-I1Zy?wk$+6+ldnQq}3xg-_-<9)u_QABlc; zb?l%)fpM3u-TEZ|oFD2b7`7<4xZ7`F4Wn?Ye)Dy^gV>%Y@JEB8AB|k?d#Ti$B^bQH zvv{`EM8qZwbi?4LK__&pSljVWUE`58yO)H6G9!UW*VgRHjnx*3Zz_!A?JUV z4JHQHdJL|g^q?kC=gVo|nI5g4%E%o#`>HIqn1m(Ei~Aw_!{L^B7@>hf#^k0nac2Qe zANcFR5M#iK)MZmQ`V0J2+ruzRmOM2Z?(1k?}gq z43Z(LHIY=DqE03cJ}N(*qd`)-C|kJUhHEDc+$f@`^R?FUqTXdJg|V}hk0gES+V2#q z?pmq3>e@7Qc<;#~xT{LaJGQh9MtkKR1cUCJqqt0+1lGyiE`!INe7Q8*^WvfyJ8N23Ig))m+eav=o=Y&sWZVUQ|B5?*NMV4R z@*Kqf7cMcEa6B3Q(wuuwUu9@xSjK$Vyglz2d%tN3tgo)9oz!=uh|a)8MD7WlH)|-} zGEQFCT(C!1lU8{ca8QCzj?8~Jf&T3R!&?6eol(6xRJO^;&A}EwnQ<9oBaaN+GM}OGiIT_Lrl=B~PG_UztdXOv!atM9F@9 zdF)Qwr3ZZrhSWTO@ipUpM%et?}uKAI}hU3wjqbg|*~rGO!IAwF{5a%=649|8=9)J#>Vvpo=7 zD+TWvd-4~teim}5x2;)f3Vq;lFLd~DDB8GgG2`TDDeF!gX|8xPT{W#c>&{! z)L52lC~EwY+c*-!``u+m!4Q0ZJ64%TS#3;fZ(I!Xrx}OqK^$+mvv(>+nH-|-+kWAq zFDHSqr)X)f_C(VAmn~j;q7EL1{B^mY!%95*;gbhDh=5_4NIeI9pWo?Bc{a; zH4&Rr3Gd{ui2U-L;H{!34T1fXKy?i&JLIOjSEW~g09*Q=IZ4a5?LR(Mwxq;K%C@UY zF9r2q-cGo>dV%#WGcFEh`dSp6}0Lti99;jHtlNi&;j zFw#hFJG;`+=gDLbEVP76SWd8JZf9qu(a~@A9=8;fupDQd`0=A&G{rPmJ+q!Q~wK9MhMPQipyqDW{4yRG!|EO9hE1I2a0iL^ed$$+;%24K7F4$Y75fCT0@;%;) zD z`YJUXj&Q*)A`@f3t5>BNoR2SPy4jOZVKSQy^6;QpRS=f0M({J1H48{%k1z6+di!Lh z(`vdYAg(9yR`7RC1eC!LxZIKvtf1lY=_U8kj2L##l-62dVDTGZ@iP#Y54=@id-1xe z1)E~u?PAM{*(ky2{*6jCKACcm=Yq4ajoV0h0STimhNAc;Scg8MDSj^fv#GP4Z8rT| zqOE=HG+HVFi)qQzmC=2s7j0DX=ISNLo0M-Ux=LF_iq9o)zu$Hvaqg#Bi zyZtw^O1z%yIrt9_giD%jF-`D&7ThqI!orN_yLwUjBj9Uo$Won@206ePpcS8urW2@f)eRR6UMB1 zXW3N6P!i}*8P7qVwhiVD1PYm~eBoHocUu}1RKB^!c_4hugsk%!x z2FnX+O*W5!{gso&@Nz(SS{xC8%xaaN4@aMFeL7%zsTdQLcq3&NBJqaCOiW@Dt zVGJ5cUUFqqutcensjk>V+trWu9Y%^~i>xF+BHCsepR<`OVnM{;FKw!{UUemIZXh8E zzy*OJW^F^Z(|?t4K?Hq}LqRvyj7@b+=`Y}t_wmPM0H;Zo+p%4Xsd$v=7STCkoswP= znX%6TI%9(2VMjBOF?zjP>Pam-_~q3XB?OT^ zeRDw-Yf|^?OU#?}UN*mQ9myd``1rPFnz|NBiFs0l4*;?juJU&!jOfh4WOo20`I%>J zhmu^s3(=74%aNJAM+GFT(WM({#g@gaO1sD^@b`agmw%$O4wS- zNp!BR*`<5++FV-t60g3B^Gnc$bS>Bl&7dDF`$Qcg!7!&h1VeggKF9Ob!n7dSxWp*$ z?ba3tinL~sJtQZ$j$^238#m%uep8SvC+o0u!(^g9s=Svy2ztu{zbMNs_zO`ZxpHhZyI0|n-h9?1{MM(q6tSKxY`3u$a@ef(ahF``>Us^$2zdorHNmyxj^DZ>g`B2DdR)kM0 zok$v3I_`#Ibk8V}e=%lC(2x=S2{+8i->$q9FkB@8iC@fiXUrOfN9POwb1?$+8lfPc zh?2%qz3hfS`)uMDM>~!UwG}~rvNr(Pn56Wjzi4j1G3JG_nX|T8nj)oD2&{*(|H@x@QJ2c;1#7~T*sqX1= z_t`@VT`rZiJjPx?E7QO*#`JPb0Vz)(;KiPBPGB1^>la2XgL|0< z7YVbej2JI>R*+unD+9bXHUggb1C7J?)^5enw%)Qe_t4naH*fZ(y|$+AEL-o%7YS80 zFbbpzwWJ}>#cZ?Om$r+*zfef+&38UOaHq;#ene=s4BAXEAOfK^-T%ijqCYe8VLFOf zhwGp8>4SEW=t;W?SEU%($u1%B%Jp9Qu?8SE72qMQsoP*65&toG+Rb_PL(b;=n))?n zrX^=YF~Zo4OffDC_LPd={CSIG7B%caYl7~sn7N8+Hb^YjAI;S@zTEus>m$9HN`@7i ztMp9F?-yOYwo?>Qo!;7D&-E7(Ixfpe)l+dZZ1wroLaQ}5DQF8wYw|W1W#-0IFO0Vj zvaKUNl;+tY-?Pc(`yvpY2*54hAWX-u2Lqg#CDrAFHHb%DK;FI9dXY~La}}+ zAwMKUID!*;o7BqNrF835)6Q=wtl>4tV*K$dI%XBFUDmHU9LL(}-mb~6qny~%@91mb z_`wRh{wRR2>6(=}C!@Secd8zaCyDP2N^BOw5i63n#mpSAO0w5){Ie=H_eWkWxLbazZpIA@)@&%xTW?F8+Fba*tmE{Y4*(2?Ul*-M8qD@^5u*2vZO_E=@H$NN1A%d4L{ z1n+vxehBrj9Lpcdaa794+r@vtJlWtH1W#6329EZA7V0rKbg@5h3se(-=~vn5@brv{ zWzwrT0_iI>i@zb?aeka-It{GKlc|G8DKC8R3tUquIaxY~g$D~t;3A5LM@{^>VA{xe z6(*)8_V_xzT!VChlJ;n7mIx+K?I100wurlhY?R3q$zT{g;_^#f5q$JvBHb|i%Z#=@ zk2Z3d_7SKmq~%=3{Y*eygj2O4wBysI>HsFkkC1U!zwHHRzsV@%<9JtQ#N0?rLVqrS zKqv?eiPRI#ObxDuUn)*0URey5wFWYc6U)(^ln3CanP(YMWFKMN=xAVtTGP#JLAMV5 zk<7`ZVuQsmjvgh?)@h{_)<)xp|A%#;Uu0-@kzqz|32OL+qtK2U|++z5;o<+&;KpJxw(p`{+l3m67 zaq=7gR>_LLaz_2LwQb(H$#seJ6m{9-WFG`6e165iQqcV4?QSod8sFf`PAN2H+`Y=EL^sjN z1J((^M}QO&$gvKazuYS&6CqN0Z>FBlASq3eYuEa0F`09$JUOWnYZ0 zESi!p<12ydK8vQD1{lhIS=v~1;sN4Wm+If5@~usE+6Wg_p0UhAr8+AuWZpH?(07N# z6+xiP`qaLqMgA-aJmoemA`BA8FQ;1Z!|3Y+3!h6mK3Dooe+CX^d*_rDORwJe+Of7; zA%dB@!<$ius`R@hqo%nM7Qa74Cj)rk5Bb5(<+WCXF$*44q19kPR}YKcgl!wu2(xaR zr?J`}JLkUIf9J5)dCL*M^8zYmn7xSl(CUx3i)8aI&nfD;8=$l5X~`YcHOdg^4gy*7 zr)61kx}8pk-?;j#!89~5fsy|)3hX zgax(1lCR5K5V6i7_|HY(f&o9`Jzz2(B@Y3JFD1#2mo0UxMfm!gp9k~Zjvydps*%u? zl%Joi+uEgh`(R2adeaeD2X8Z+K)Y*59e zR2EvHTkRlbXA#=v4Te^5@rmx)4noY32@uefpF7MR_(uQ`*bwGE#^b#x3LH`CA@G*b6A-0nXdcOBQ2I!pgSq)sN zvi;-VX8FIP0RM-B4sV4Q8LK{xgPaL5=#6rn+k*EpN_X`K{g|epcK)+D?j@Z2@bAa< zJ_;L?5v=6yYO7oE?uCXwPhwD?4me=QKHz;tKTmQ5DPnjry=!9!% z<977@J*5$ZyfD}Mb*RPTNy}6PWxj<<7L|ES_t=am2n|Xw=IL9FiQL4@zD+PlaNAf7 zrmBrAL0*{C9_vB29ItV^(td2kHFmB#VHq?2#=0fXt(<<`)SV_vl3a^h?HptiV>Upx zMot#P9^&V*3$>RSrdn$&w4Ur{5A5sCXi9Cd&1<{-yQ#qsz|RNa=1D-)!&@$ZIUM#1 z=&VuI>QQ2kUSrMF8Ty8(ta3{{@+q?iH)WP%CAj#44GIA=z0 zIfm>J(zX<8kTqm#4u8%yRhhFjby|`I!#AS{O~PqL!OZe`@ky;mwc=Z>qe6;%|7NFuT6K zi?BJ&1$CT1#|d;~fNX^VcG+BCY24i0tWi3+XytiG5Eyy$z@pbr1Vs&8#kAbjb(FL5 zZ1HtBeIrq~rcU!6MSZ&He6KGQ&i^(e+BMN<0qE{digI&v-&QD( z5|p5in56Q(mHfHUo&MavHom0C7yS7e3fWrYYKi2U6{Y*fjj2}J(rV}_!^wOXW29gd zB;;_;mt2B!`KCv6M{m2r9}OJE=si9F ztY*K<>*wb;#~lsb1igg{&vuo+>UBWVTzV-od^XjV;m@qZF zvG(UH!S8rZ`yDcP)Hju-yKtrbiba(cVbce&Mk6IT6-Xg~ze|*)WiM(xuBEjr zANgCR(;VeTv1N7*ZmeP{d;vXfE9Q~RR+F_c&)<|Bcsaxs7CIFz@(GgNNF0Wg;LDyH z_1E7E?06SbQRR9s2GSP|4{>xVQrUr~bM&bnGA1phXzf29q$k=3R4&RqFDP0XZERuy zwg*&XFTH)VInDUFpn>KedHLTSaZTK*3AD3Ag}{7^!@4=xy#MYsCtfE_m9m4AsCV>T zaZTN@44-_kZ=i~lT>$tqFS7MMV6)ujCW55a^@TVV4nDazQzfD&m?eB=655S1Vzauz zyeexPy_Vzm___gbZ|lM{MZBiZvsvDb(gFW>PXHvqb>eoOHPty+Iz0oVrwiaOzJUOk zflDzh$z2lHCM5jv^Mo1Bq>olZIuYIOb^h<^wZo6+okraez^KjhU3a{{yUWLljdwxU zUcKo2?d`uqX#Y<1Z8yLF-_9!nO)FsRvhJ+`2QYBi56oU>wS61Jv^-)|^80LCs7Imn zzOBUaX;xfZ92FsH%>_(`Ctm#@_^A}p$N(`wiFKoYN`wNV;4BwZG?cRyjqd*!SHG50 diff --git a/think_like_computer/FloodFill算法详解及应用.md b/think_like_computer/FloodFill算法详解及应用.md deleted file mode 100644 index c55ac66..0000000 --- a/think_like_computer/FloodFill算法详解及应用.md +++ /dev/null @@ -1,221 +0,0 @@ -# FloodFill算法详解及应用 - -啥是 FloodFill 算法呢,最直接的一个应用就是「颜色填充」,就是 Windows 绘画本中那个小油漆桶的标志,可以把一块被圈起来的区域全部染色。 - -![floodfill](../pictures/floodfill/floodfill.gif) - -这种算法思想还在许多其他地方有应用。比如说扫雷游戏,有时候你点一个方格,会一下子展开一片区域,这个展开过程,就是 FloodFill 算法实现的。 - -![扫雷](../pictures/floodfill/扫雷.png) - -类似的,像消消乐这类游戏,相同方块积累到一定数量,就全部消除,也是 FloodFill 算法的功劳。 - -![xiaoxiaole](../pictures/floodfill/xiaoxiaole.jpg) - -通过以上的几个例子,你应该对 FloodFill 算法有个概念了,现在我们要抽象问题,提取共同点。 - -### 一、构建框架 - -以上几个例子,都可以抽象成一个二维矩阵(图片其实就是像素点矩阵),然后从某个点开始向四周扩展,直到无法再扩展为止。 - -矩阵,可以抽象为一幅「图」,这就是一个图的遍历问题,也就类似一个 N 叉树遍历的问题。几行代码就能解决,直接上框架吧: - -```java -// (x, y) 为坐标位置 -void fill(int x, int y) { - fill(x - 1, y); // 上 - fill(x + 1, y); // 下 - fill(x, y - 1); // 左 - fill(x, y + 1); // 右 -} -``` - -这个框架可以解决所有在二维矩阵中遍历的问题,说得高端一点,这就叫深度优先搜索(Depth First Search,简称 DFS),说得简单一点,这就叫四叉树遍历框架。坐标 (x, y) 就是 root,四个方向就是 root 的四个子节点。 - -下面看一道 LeetCode 题目,其实就是让我们来实现一个「颜色填充」功能。 - -![title](../pictures/floodfill/leetcode.png) - -根据上篇文章,我们讲了「树」算法设计的一个总路线,今天就可以用到: - -```java -int[][] floodFill(int[][] image, - int sr, int sc, int newColor) { - - int origColor = image[sr][sc]; - fill(image, sr, sc, origColor, newColor); - return image; -} - -void fill(int[][] image, int x, int y, - int origColor, int newColor) { - // 出界:超出边界索引 - if (!inArea(image, x, y)) return; - // 碰壁:遇到其他颜色,超出 origColor 区域 - if (image[x][y] != origColor) return; - image[x][y] = newColor; - - fill(image, x, y + 1, origColor, newColor); - fill(image, x, y - 1, origColor, newColor); - fill(image, x - 1, y, origColor, newColor); - fill(image, x + 1, y, origColor, newColor); -} - -boolean inArea(int[][] image, int x, int y) { - return x >= 0 && x < image.length - && y >= 0 && y < image[0].length; -} -``` - -只要你能够理解这段代码,一定要给你鼓掌,给你 99 分,因为你对「框架思维」的掌控已经炉火纯青,此算法已经 cover 了 99% 的情况,仅有一个细节问题没有解决,就是当 origColor 和 newColor 相同时,会陷入无限递归。 - -### 二、研究细节 - -为什么会陷入无限递归呢,很好理解,因为每个坐标都要搜索上下左右,那么对于一个坐标,一定会被上下左右的坐标搜索。**被重复搜索时,必须保证递归函数能够能正确地退出,否则就会陷入死循环。** - -为什么 newColor 和 origColor 不同时可以正常退出呢?把算法流程画个图理解一下: - -![ppt1](../pictures/floodfill/ppt1.PNG) - -可以看到,fill(1, 1) 被重复搜索了,我们用 fill(1, 1)* 表示这次重复搜索。fill(1, 1)* 执行时,(1, 1) 已经被换成了 newColor,所以 fill(1, 1)* 会在这个 if 语句被怼回去,正确退出了。 - -```java -// 碰壁:遇到其他颜色,超出 origColor 区域 -if (image[x][y] != origColor) return; -``` -![ppt2](../pictures/floodfill/ppt2.PNG) - -但是,如果说 origColor 和 newColor 一样,这个 if 语句就无法让 fill(1, 1)* 正确退出,而是开启了下面的重复递归,形成了死循环。 - -![ppt3](../pictures/floodfill/ppt3.PNG) - -### 三、处理细节 - -如何避免上述问题的发生,最容易想到的就是用一个和 image 一样大小的二维 bool 数组记录走过的地方,一旦发现重复立即 return。 - -```java - // 出界:超出边界索引 -if (!inArea(image, x, y)) return; -// 碰壁:遇到其他颜色,超出 origColor 区域 -if (image[x][y] != origColor) return; -// 不走回头路 -if (visited[x][y]) return; -visited[x][y] = true; -image[x][y] = newColor; -``` - -完全 OK,这也是处理「图」的一种常用手段。不过对于此题,不用开数组,我们有一种更好的方法,那就是回溯算法。 - -前文「回溯算法详解」讲过,这里不再赘述,直接套回溯算法框架: - -```java -void fill(int[][] image, int x, int y, - int origColor, int newColor) { - // 出界:超出数组边界 - if (!inArea(image, x, y)) return; - // 碰壁:遇到其他颜色,超出 origColor 区域 - if (image[x][y] != origColor) return; - // 已探索过的 origColor 区域 - if (image[x][y] == -1) return; - - // choose:打标记,以免重复 - image[x][y] = -1; - fill(image, x, y + 1, origColor, newColor); - fill(image, x, y - 1, origColor, newColor); - fill(image, x - 1, y, origColor, newColor); - fill(image, x + 1, y, origColor, newColor); - // unchoose:将标记替换为 newColor - image[x][y] = newColor; -} -``` - -这种解决方法是最常用的,相当于使用一个特殊值 -1 代替 visited 数组的作用,达到不走回头路的效果。为什么是 -1,因为题目中说了颜色取值在 0 - 65535 之间,所以 -1 足够特殊,能和颜色区分开。 - - -### 四、拓展延伸:自动魔棒工具和扫雷 - -大部分图片编辑软件一定有「自动魔棒工具」这个功能:点击一个地方,帮你自动选中相近颜色的部分。如下图,我想选中老鹰,可以先用自动魔棒选中蓝天背景,然后反向选择,就选中了老鹰。我们来分析一下自动魔棒工具的原理。 - -![抠图](../pictures/floodfill/抠图.jpg) - -显然,这个算法肯定是基于 FloodFill 算法的,但有两点不同:首先,背景色是蓝色,但不能保证都是相同的蓝色,毕竟是像素点,可能存在肉眼无法分辨的深浅差异,而我们希望能够忽略这种细微差异。第二,FloodFill 算法是「区域填充」,这里更像「边界填充」。 - -对于第一个问题,很好解决,可以设置一个阈值 threshold,在阈值范围内波动的颜色都视为 origColor: - -```java -if (Math.abs(image[x][y] - origColor) > threshold) - return; -``` - -对于第二个问题,我们首先明确问题:不要把区域内所有 origColor 的都染色,而是只给区域最外圈染色。然后,我们分析,如何才能仅给外围染色,即如何才能找到最外围坐标,最外围坐标有什么特点? - -![ppt4](../pictures/floodfill/ppt4.PNG) - -可以发现,区域边界上的坐标,至少有一个方向不是 origColor,而区域内部的坐标,四面都是 origColor,这就是解决问题的关键。保持框架不变,使用 visited 数组记录已搜索坐标,主要代码如下: - -```java -int fill(int[][] image, int x, int y, - int origColor, int newColor) { - // 出界:超出数组边界 - if (!inArea(image, x, y)) return 0; - // 已探索过的 origColor 区域 - if (visited[x][y]) return 1; - // 碰壁:遇到其他颜色,超出 origColor 区域 - if (image[x][y] != origColor) return 0; - - visited[x][y] = true; - - int surround = - fill(image, x - 1, y, origColor, newColor) - + fill(image, x + 1, y, origColor, newColor) - + fill(image, x, y - 1, origColor, newColor) - + fill(image, x, y + 1, origColor, newColor); - - if (surround < 4) - image[x][y] = newColor; - - return 1; -} -``` - -这样,区域内部的坐标探索四周后得到的 surround 是 4,而边界的坐标会遇到其他颜色,或超出边界索引,surround 会小于 4。如果你对这句话不理解,我们把逻辑框架抽象出来看: - -```java -int fill(int[][] image, int x, int y, - int origColor, int newColor) { - // 出界:超出数组边界 - if (!inArea(image, x, y)) return 0; - // 已探索过的 origColor 区域 - if (visited[x][y]) return 1; - // 碰壁:遇到其他颜色,超出 origColor 区域 - if (image[x][y] != origColor) return 0; - // 未探索且属于 origColor 区域 - if (image[x][y] == origColor) { - // ... - return 1; - } -} -``` - -这 4 个 if 判断涵盖了 (x, y) 的所有可能情况,surround 的值由四个递归函数相加得到,而每个递归函数的返回值就这四种情况的一种。借助这个逻辑框架,你一定能理解上面那句话了。 - -这样就实现了仅对 origColor 区域边界坐标染色的目的,等同于完成了魔棒工具选定区域边界的功能。 - -这个算法有两个细节问题,一是必须借助 visited 来记录已探索的坐标,而无法使用回溯算法;二是开头几个 if 顺序不可打乱。读者可以思考一下原因。 - -同理,思考扫雷游戏,应用 FloodFill 算法展开空白区域的同时,也需要计算并显示边界上雷的个数,如何实现的?其实也是相同的思路,遇到雷就返回 true,这样 surround 变量存储的就是雷的个数。当然,扫雷的 FloodFill 算法不能只检查上下左右,还得加上四个斜向。 - -![](../pictures/floodfill/ppt5.PNG) - -以上详细讲解了 FloodFill 算法的框架设计,**二维矩阵中的搜索问题,都逃不出这个算法框架**。 - - - - - - - - -坚持原创高质量文章,致力于把算法问题讲清楚,欢迎关注我的公众号 labuladong 获取最新文章: - -![labuladong](../pictures/labuladong.jpg) diff --git a/think_like_computer/flood_fill.md b/think_like_computer/flood_fill.md new file mode 100644 index 0000000..dfd3aca --- /dev/null +++ b/think_like_computer/flood_fill.md @@ -0,0 +1,217 @@ +# Analysis and Application of FloodFill Algorithm + +**Translator: [youyun](https://github.com/youyun)** + +**Author: [labuladong](https://github.com/labuladong)** + +What is the FloodFill algorithm? A real-life example is color filling. In the default Windows application _Paint_, using the bucket icon, we can fill the selected area with a color. + +![floodfill](../pictures/floodfill/floodfill.gif) + +There are other applications of the FloodFill algorithm. Another example would be Minesweeper. Sometimes when you click on a tile, an area will expand out. The process of expansion is implemented through the FloodFill algorithm. + +![Minesweeper](../pictures/floodfill/minesweeper.png) + +Similarly, those puzzle-matching games such as Candy Crush also use the FloodFill algorithm to remove blocks of the same color. + +![xiaoxiaole](../pictures/floodfill/xiaoxiaole.jpg) + +Now you should have some idea about the FloodFill algorithm. Let's abstract out the problems and find out what is common. + +### 1. Build Framework + +All above examples can be abstract as a 2D array. In fact, a picture is an array of pixels. We take an element as the starting point and expand till the end. + +An array can be further abstracted as a graph. Hence, the problem becomes about traversing a graph, similar to traversing an N-ary tree. A few lines of code are enough to resolve the problem. Here is the framework: + +```java +// (x, y) represents the coordinate +void fill(int x, int y) { + fill(x - 1, y); // up + fill(x + 1, y); // down + fill(x, y - 1); // left + fill(x, y + 1); // right +} +``` + +Using this framework, we can resolve all problems about traversing a 2D array. The concept is also called Depth First Search (DFS), or quaternary (4-ary) tree traversal. The root node is coordinate (x, y). Its four child nodes are at root's four directions. + +Let's take a look at [a LeetCode problem](https://leetcode.com/problems/flood-fill/). It's actually just a color fill function. + +![title](../pictures/floodfill/leetcode_en.jpg) + +In [another article](), we discussed a generic design of tree related algorithms. We can apply the concept here: + +```java +int[][] floodFill(int[][] image, + int sr, int sc, int newColor) { + + int origColor = image[sr][sc]; + fill(image, sr, sc, origColor, newColor); + return image; +} + +void fill(int[][] image, int x, int y, + int origColor, int newColor) { + // OUT: out of index + if (!inArea(image, x, y)) return; + // CLASH: meet other colors, beyond the area of origColor + if (image[x][y] != origColor) return; + image[x][y] = newColor; + + fill(image, x, y + 1, origColor, newColor); + fill(image, x, y - 1, origColor, newColor); + fill(image, x - 1, y, origColor, newColor); + fill(image, x + 1, y, origColor, newColor); +} + +boolean inArea(int[][] image, int x, int y) { + return x >= 0 && x < image.length + && y >= 0 && y < image[0].length; +} +``` + +If you can understand this block of code, you are almost there! It means that you have honed the mindset of framework. This block of code can cover 99% of cases. There is only one tiny problem to be resolved: an infinite loop will happen if `origColor` is the same as `newColor`. + +### 2. Pay Attention to Details + +Why is there infinite loop? Each coordinate needs to go through its 4 neighbors. Consequently, each coordinate will also be traversed 4 times by its 4 neighbors. __When we visit an visited coordinate, we must guarantee to identify the situation and exit. If not, we'll go into infinite loop.__ + +Why can the code exit properly when `newColr` and `origColor` are different? Let's draw an diagram of the algorithm execution: + +![ppt1](../pictures/floodfill/ppt1.PNG) + +As we can see from the diagram, `fill(1, 1)` is visited twice. Let's use `fill(1, 1)*` to represent this duplicated visit. When `fill(1, 1)*` is executed, `(1, 1)` has already been replaced with `newColor`. So `fill(1, 1)*` will return the control directly at the _CLASH_, i.e. exit as expected. + +```java +// CLASH: meet other colors, beyond the area of origColor +if (image[x][y] != origColor) return; +``` +![ppt2](../pictures/floodfill/ppt2.PNG) + +However, if `origColor` is the same as `newCOlor`, `fill(1, 1)*` will not exit at the _CLASH_. Instead, an infinite loop will start as shown below. + +![ppt3](../pictures/floodfill/ppt3.PNG) + +### 3. Handling Details + +How to avoid the case of infinite loop? The most intuitive answer is to use a boolean 2D array of the same size as image, to record whether a coordinate has been traversed or not. If visited, return immediately. + +```java + // OUT: out of index +if (!inArea(image, x, y)) return; +// CLASH: meet other colors, beyond the area of origColor +if (image[x][y] != origColor) return; +// VISITED: don't visit a coordinate twice +if (visited[x][y]) return; +visited[x][y] = true; +image[x][y] = newColor; +``` + +This is a common technique to handle graph related problems. For this particular problem, there is actually a better way: backtracking algorithm. + +Refer to the article [Backtracking Algorithm in Depth]() for details. We directly apply the backtracking algorithm framework here: + +```java +void fill(int[][] image, int x, int y, + int origColor, int newColor) { + // OUT: out of index + if (!inArea(image, x, y)) return; + // CLASH: meet other colors, beyond the area of origColor + if (image[x][y] != origColor) return; + // VISITED: visited origColor + if (image[x][y] == -1) return; + + // choose: mark a flag as visited + image[x][y] = -1; + fill(image, x, y + 1, origColor, newColor); + fill(image, x, y - 1, origColor, newColor); + fill(image, x - 1, y, origColor, newColor); + fill(image, x + 1, y, origColor, newColor); + // unchoose: replace the mark with newColor + image[x][y] = newColor; +} +``` + +This is a typical way, using a special value -1 to replace the visited 2D array, to achieve the same purpose. Because the range of color is `[0, 65535]`, -1 is special enough to differentiate with actual colors. + +### 4. Extension: Magic Wand Tool and Minesweeper + +Most picture editing softwares have the function "Magic Wand Tool". When you click a point, the application will help you choose a region of similar colors automatically. Refer to the picture below, if we want to select the eagle, we can use the Magic Wand Tool to select the blue sky, and perform inverse selection. Let's analyze the mechanism of the Magic Wand Tool. + +![CutOut](../pictures/floodfill/cutout.jpg) + +Obviously, the algorithm must be based on the FloodFill algorithm. However, there are two differences: +1. Though the background color is blue, we can't guarantee all the blue pixels are exactly the same. There could be minor differences that can be told by our eyes. But we still want to ignore these minor differences. +2. FloodFill is to fill regions. Magic Wand Tool is more about filling the edges. + +It's easy to resolve the first problem by setting a `threshold`. All colors within the threshold from the `origColor` can be recognized as `origColor`. + +```java +if (Math.abs(image[x][y] - origColor) > threshold) + return; +``` + +As for the second problem, let's first define the problem clearly: _"do not color all `origColor` coordinates in the region; only care about the edges."_. Next, let's analyze how to only color edges. i.e. How to find out the coordinates at the edges? What special properties do coordinates at the edges hold? + +![ppt4](../pictures/floodfill/ppt4.PNG) + +From the diagram above, we can see that for all coordinates at the edges, there is at least one direction that is not `origColor`. For all inner coordinates, all 4 directions are `origColor`. This is the key to the solution. Using the same framework, using `visited` array to represent traversed coordinates: + +```java +int fill(int[][] image, int x, int y, + int origColor, int newColor) { + // OUT: out of index + if (!inArea(image, x, y)) return 0; + // VISITED: visited origColor + if (visited[x][y]) return 1; + // CLASH: meet other colors, beyond the area of origColor + if (image[x][y] != origColor) return 0; + + visited[x][y] = true; + + int surround = + fill(image, x - 1, y, origColor, newColor) + + fill(image, x + 1, y, origColor, newColor) + + fill(image, x, y - 1, origColor, newColor) + + fill(image, x, y + 1, origColor, newColor); + + if (surround < 4) + image[x][y] = newColor; + + return 1; +} +``` + +In this way, all inner coordinates will have `surround` equal to 4 after traversing the four directions; all edge coordinates will be either OUT or CLASH, resulting `surround` less than 4. If you are still not clear, let's only look at the framework's logic flow: + +```java +int fill(int[][] image, int x, int y, + int origColor, int newColor) { + // OUT: out of index + if (!inArea(image, x, y)) return 0; + // VISITED: visited origColor + if (visited[x][y]) return 1; + // CLASH: meet other colors, beyond the area of origColor + if (image[x][y] != origColor) return 0; + // UNKNOWN: unvisited area that is origColor + if (image[x][y] == origColor) { + // ... + return 1; + } +} +``` + +These 4 `if`s cover all possible scenarios of (x, y). The value of `surround` is the sum of the return values of the 4 recursive functions. And each recursive function will fall into one of the 4 scenarios. You should be much clearer now after looking at this framework. + +This implementation colors all edge coordinates only for the `origColor` region, which is what the Magic Wand TOol does. + +Pay attention to 2 details in this algorithm: +1. We must use `visited` to record traversed coordinates instead of backtracking algorithm. +2. The order of the `if` clauses can't be modified. (Why?) + +Similarly, for Minesweeper, when we use the FloodFill algorithm to expand empty areas, we also need to show the number of mines nearby. How to implement it? Following the same idea, return `true` when we meet mine. Thus, `surround` will store the number of mines nearby. Of course, in Minesweeper, there are 8 directions instead of 4, including diagonals. + +![](../pictures/floodfill/ppt5.PNG) + +We've discussed the design and framework of the FloodFill algorithm. __All searching problems in a 2D array can be fit into this framework.__