From 911b8cc3a2d37accccd6707b31832c7b9a347b16 Mon Sep 17 00:00:00 2001 From: Enwei Date: Thu, 31 Mar 2022 20:26:29 +0800 Subject: [PATCH 1/5] This is an automated cherry-pick of #6949 Signed-off-by: ti-chi-bot --- faq/deploy-and-maintain-faq.md | 6 ++++++ media/tikv-store-status-relationship.png | Bin 0 -> 93268 bytes pd-control.md | 7 +++++++ tidb-scheduling.md | 10 ++++++++++ 4 files changed, 23 insertions(+) create mode 100644 media/tikv-store-status-relationship.png diff --git a/faq/deploy-and-maintain-faq.md b/faq/deploy-and-maintain-faq.md index b98c846eaf430..d159ac6be2e86 100644 --- a/faq/deploy-and-maintain-faq.md +++ b/faq/deploy-and-maintain-faq.md @@ -295,6 +295,12 @@ PD can tolerate any synchronization error, but a larger error value means a larg The client connection can only access the cluster through TiDB. TiDB connects PD and TiKV. PD and TiKV are transparent to the client. When TiDB connects to any PD, the PD tells TiDB who is the current leader. If this PD is not the leader, TiDB reconnects to the leader PD. +#### What is the relationship between each status (Up, Disconnect, Offline, Down, Tombstone) of a TiKV store? + +For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). + +You can use PD Control to check the status information of a TiKV store. + #### What is the difference between the `leader-schedule-limit` and `region-schedule-limit` scheduling parameters in PD? - The `leader-schedule-limit` scheduling parameter is used to balance the Leader number of different TiKV servers, affecting the load of query processing. diff --git a/media/tikv-store-status-relationship.png b/media/tikv-store-status-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8187c16ad216f554b52e0fc34e66a3e14752c5 GIT binary patch literal 93268 zcmeFZcU09$*EM*}-C}4=C`nrpRFZ&zWNiZ?Ns)|z3W{Vwf@HdFGeJReQUQ^ibGRr- zlq?xRiIOE}m|fVDPi0Fq^h+p9DhB2 z+WA-K#@j`^Q?r!4A4g^uhP&|QDzi4abbsR?-Cgn3f1j7MZR)3#MZYIco_<~XghM!P zsD$^I0$#r3eKV3iPsX-r>)kKNpP0Khc`tA-aCGKwyPoeRmkPtYju^#bUSwFSucik> zGTZ<2m;83wYis}c%c+BZ{`#MvKUvTEpFgtfz*GEuJ-_hpoBy4SfA_}!_ao)a9zSLZ zW%}k$HaV9KG<$Syw_IZ@c(mP}Juc&5oz7}DIF;PFnU#_dAUgh|pmRqPjo89avLEvr zX9u-oUj3_y#ERy>C6u;HMzXlwhXziKHx^6tw`<;7>it3Q}&llda3E+z3&bCE2qQY5`$Y-^gEcdWWV|KQKh zIYEcjn3fI@G>vnUQBV0%b^UIFW5xX5y93nlSb4|q#b!Tf9Rem(^OpS#bt=mE`5THf zo%93w=UrGGm?&1UVPP!G<37~0a&mI^!-m?1pS3j7Ow@o=VcX!I5{8A_j`>`b#Qpd-~RTFQVd+Fn&XS<8?YM)xJt))zexLBRekn+u& zH+k%)hg9*Sx00)0$^A7LU+I&SlyuPR;<-YJgPu(3<@$ARWgoJwn-;+P6EVv&?rXBo zwWb+|-tDXOV-9V$=@0k0@xA&rEp4L1!gNVxyP%VGsI(8)Wi2gcr=>ydu9P~t^2w7G zMGv#vfEii&E*{Px@RQA*@HR!4wId@Fg|TYTA}FwelrCPX$iDXBKrw@F99w4Kq$ z#%5U@^Ki}mH{TN<-pU5tXimCGKAJVjxHWBn-7m$kkqbM>?pL#4DG7q?+}w1f>nM~2 z$zNpXU#Fy;s5?ZdE{uwby7BSp?t?oiO=m7jOLu*HwBJod%jR&q)5_BKx(N9|`|;At zmoLA#r*-b!Ihg+n(agft3jukW%1q4HhKM_K`s%nnq2bE7=963zAjlo;INyH{V01Q7OVr=81j~qmQLEwr?AZr!wmlxjeC%=v9iB#TFdN8jSN5 zFjg0xtUhyDRaLc5h(5VvyW@}h^!r0FI{wbbZ~aqqazu+<8B}zPi(K~6(wg-JSr>&Y zPeurT+=E^Dteh*GV|YNuU2IylyRWa2-nZ>;l^DNxWoc<7t#1y-VD^3kU15w`a#Ulm zO|M_Z!bo{P9S_Maq-) zW14Yml>1!4{^j4&+svh9f<=YmGCH5i+jo#zI1!9Ay)1vs>#5=~rKNSTyV;e`;xFsA zojg$Bxh6kP54)A;M&aWoeD35xJ$sS+{{527Ho6=dX&k|}1Cbe{c?$@$@E{dsC^BqWlOle@fBw4NBo=L(3=e!V|iX`Q#zX?Y@K=ZtE$l`+{`X{H^_ z+VizOH`+4HYNA!*RrBm^awcn~&5HKveYS14&YK9@d;Hp|sp975=6d&ZB%p{OD|HU7 zoRdgGo%4h7?x*i>{Mc$rWx}>J%)xNUbE>A?zPyW$P9-G0t4e^Io10ZWm=VG1`uK5A zxli%wO-zaoZ9&%U`y}RT+~3?R_crTt6)bAj3t=Kju+)>S`2KeBy?-G#l$0#KSO0$h3Yp~2!Y7HyP$$2?y5AY@qxE!gadDsz zn`P&Q4I9kLIn%>}tP8dZ7J3|(?yNqu-E|+|t+Rs-v4;-c$ah{to_()?k*esA{B=Cn zKm7f@gSx_2iTUNqovfvQ|8XR6D!XIJ#MOP%R{C9takE}Oy&_L}@qOXp;Wddm#hSq@ z1JUv4k!-qqdyA?t$ph@EyXokPe`O0yD4#g*O23;-Tx``B`-zIgdt;s7TT%^k7RSpk zD=O}yrDY4gcO%elB-5%-*6mz zrd{}ePD^#Et@`zuu7d3nF8y^8#f49Hb_r7FD!BSc(toA@d3oipHTjMPl2?=N>W(8} zo!8gbe|!Fo-vy=cH%V`jidGC3Di$`xb3K(DapV}8A4|!Y6Y=co^K@i#%9&aD$j;Y$ z9@TH3FXI6|WX(Oav|YvS@yN#2$WZE4c3=P8bnsxOUB`l!WkO;>WJECi(!z{85~Z)u z-CIGuw+EJ{KevknVk5oq^xR4N!YcZ;dn;{-QG1S1Z&gUg*T%Ny&yiOS9qf#Xj*D`W zwkjzvf5u>v@%zDp%(mZOtEQW1=1x0yK4H6oeNdBb+Oe1KmQ2fpkG7-D*|VZ6ixXS- zG2uC#Z3%{YcTQPZ*|oJNMk`ksdB|em^U(s&#B~3qp=h(NMkfUw<1(F6U#v7*c(CnI;;@Qhc^xC|B3>6ib}Ub)-y2SCyfHW4L!Ot+1yaU&H8nN+ z$r{NgefupxUpD)ES@I)RS7-LeH?xnsRSKIDb#%Vw|2buADiWiS&ZQhXUraTO2ywKH zEgs6ryYubC$^J0Uft(e$Uv3o}TZoS!W}ZBL94_sHjbG0d&w@HdIaT+YFD0LA=&`hw zYVs{v-J3TLYuPf3n+*2GnzdS9(JAuecIZqD5Hx-w={R?9@mo7vSG0<&Ta}im!FHKn z68exx?CRZVXlMrQ+uxjf7PY?vJM>907s`wKXu8Nuu!NK2;vjX|@a4;wpAFrDQjMB< zgYR`d*(+jYv^eJOW)%p`)u6^Ty>41fdb5o*Jd4Elr~Qa|p8O!0V(W-nv88E=C<%yCs%; zW5-%(CI&3q)5?s^8Y`%7Q{fDqZ%mzR1Z6ip7YY)wj&r=Ku1^0Y%QCtSL1Iw!=q+ zNUdA^Gp3M&EAnEg^HwLbYhRyvWIMc-EYT9c{VO;1bd%vnbf3##KA}FHi|2|-RBnqu z=|<0c+-uhG%vZrMkLoGBj-A$Bi&5k^W zP^D;PU=3OtIxd$p+l0a@`-U@IHCL9Gx<2t$8BH>7ZH|`>5J0jv`9hzWnVD_bK&N%@ zcjdUN`(icH-Te6U-a1H(SC~2`SN>VL4Zy(-IrF2t<7DVbL{%3O%j4*{tYdlOUh#^L zn2cLeo*>g}jyU{yzey6{GZf2m@!~~;tv5+UdH3$!+-q66e0(T$%njo^M+uyjcji+n}xVa%gUZg$I&xgVP2@3ZQ0J{wo}5vp3&w5 z?O2alUy=Jr9vAD<_$ISc5$kHF?@g*WJx%Y;&1Eaz*fgx3a+|i8$@=Qqvu)<(oR;G8 z061pdFC@>OE#yXK6b?zBFdntaqgOjK!+zw*JI9>p*47giqb)fr%L}w)?$H)Q_BUU? ztp*&*04O+g@C{(a9iO&7h8H#nY1$&`LacC zedSqqV|-=#q%D*ACD$p%W4o`g$wkwOt{I{+$(?E_!E^v2@{nRP(E85aBfuof+)Ef@W8ad6%es>C$h_%`3B29au>LTdK*IETxX|Tatl^1<1?vsn*7BCp#Yx z2G2lXV*{Ev+Z3?9)A*1J<n350Wt+om? zJAEmq{<0cwIR_LnxU`P8sabHjD`~H7(Q|pxIE~AVv&+U^heRTJ({G#REnA7s6n@eS z+)ypbTkB?v!^)t`ZlK6CEq`6}2&s?F#~0b;q}h#K zd-fEOg$O= zIit3Wv7IycW^o5w;F)6QHS2DCes_8GJuf7g_t9z1x@#o5?&UdXJ3XZ4uqc=}28`p& zZ>T&u+$tz1u{3#dD4_s&_&7->Kg;}8hpBqN*Dsch=a3u&EgRI#N`8M-_`N1H6kAbz z!mq0Eu+LS6haml2%Oqxwe~r`1@A^#84ANZlFc4S6L&}{rt?0 zse$@>m9_dM?fVHX`WhcI|3}@`a&wU9uhjZPB$_kMi!6*Sc%kIamHc;x8OCmtRi1AUve zG45p$FnX8wX3GhcNX26Zy`KK)04+or`k15;m)?F2?W`->rpARFbZI`Bo0`f~O*_Ol z)6g)a79ZL!!RWp?VvY6fj(k)|Td?WG$J-0Bwe{gVy`P<=H9{7v-MhXXniuFd)I8D2 zka(-dpWd)5j(Vb!-l2%A%5UluJHaa+X^vAB+U~R=Lg8BR)S)jo$5QXcxhd95P_=J= zd8;IPd}4(BKXb@^S%Sa?b^NjT(;HlfQ2J^9`uXHy}2~$F^7+_ ziH>k_$%#^rpL-^4IPfsKjJ=q}R>0n~7_*i+%=hQ$*Sc(#ni{ z$(Hot()3^Cr#Bq-=TEfyk|pDQ`tIla{4fmqML<9{!$xFbXaB43S=JRErr7zQ{pw0L z*bWq5QdL#;_3RM)X1m_vgyaFoDG#QsnSSQ`kC>U`bC1W{#@ZX6TU-hkyixKaG{F4q zzyS$~j*edwHl-N13b+aN`fd!eo~*H4$xg&3e4>*5ZqzYWJ@qO2?S}rQ`4P>4oSYnC zs+KW2`GKVwbt@~Yp!+0f2BOo4wu#wJK4uoP9ZFjY_yaw3=!DkZyaekVEXbDCfxpP` zelqo?3<+gt4ScRNlX|p`X<)Lo_7dHa+xMN#La8ecXW05{qTijrwu5%8sGMfQPf_C3 zdHkZ0=}HB=v%^R1^|}Ue#~u$iCJ|Px2Ic{Fs$GFjc-(`2>fF_=tQ4Mq2(c5s`Cz*m z@GTK?L2sT(`;FGCrx~aX+V-Rw%Py<88a5~2jGlLD{T%!5+j|A$KTEUt8R&ENW48me z=$shxAEs2hgeyeS@3-!+J$JQsONwDf-1%K81>Q-q_@p0M_0KoO7-4VqHb<(t_FAv+efU2>A6o@npweH zRtMLf(fD_kxxcF%SIf0GzTc;sEh=`r|MSO2j@98m-$#CzCNp!zWgP;1m8JT6;>71Q zOttX`6~>E1WasIhb!d5~d3$;7W)f~#F}yYP^x-DfXyq6wjX{ij^;3Am&b{44aTa@x z=f|F9;M7QS2@DLBaX+(eN+iehlZ}~{YwCl$7yT#s+k;n3TGY)tm}>;$jdN$zHKkb; z`tGW{4biC1HM~DV;68dWZNd2;zs>;YlB^j;7@}YaCH4FR=AaXme^ldZzvE{!H&dXE6;g2o*#7`PKbj`b( zE%kVIE{BLSGBg;!tJ6Y~*P3fJG^_VvD|A^AWFMZxrx*INQ=7i~na-wb+^7jm7az;$ zTUk_C?Cuzq(O79a7y2f{)ct(b&jqf&#K|j$fN^jQxTBvVJ}8oCDQ)9A6*a76))BP5 z`2Nbo!by|D8nZSj$#W4OG;e8ExoD6lR4qh(p@djOkB(wHFq4MTG+NspjUEV7@6(3_dQOsF1UQOos%nLoW?cy z=TKhp0FRzZu1igjwm0l-nvEY_;W$>tUKiYvW^DIqvAmpTf}30L_R3J;P{v}m_LDks zyNf!KOMNn4t)0^hj?C1Y;dGv_CHK3kL+6VdIC~PWRR&z<9sP2oLp|6^E+8$ot5t%T zA+|NeBuVJ!1k?X0#CMTMmGr&v=%`=sJf5+ao9Dn6j;0UWDwYJw!cu zFl)D^@%UU)QgWw9w4`Lnn%vIDbcwy}J~1sliIQ8Hc7;&8V@}S$JQQHRZT0h=i_m^k z7XFsg6fW%JqTd~oeOoc+YSJ-pDwX$Qqx~+dpw1Wnsmobb4&9iMplr*hm2*L%cTX38 z_wP7rJ2}iOBqWsWkat}#WN$<;|A}5|*75eh1*;gfOs+H&PWLy#bC;X4Q6jnBMslB8 zE&LO7TYtwxO$%)hn+ScS=lHhxf+teYqx~Ysw@FxC`$^$bDDQm!Z&JPAkqk#^qGPn| zd^OvnJ^C)OK_FfB;oF~^^0qnxyY20V2mkQ`II~t~$wq%y{>=Z6tVS8yWAfr>c0(Nf z?k6um1@pv(E?X)=~18ul02DCyqB(>Dm61hHn1`31(>SWgMj^2Md>iFoX_E4&+8tAfS&#D2z2zLwN#OhH7cK^qIvay5t&RLr0Klg}ytFPh0!v~$8*UTjJ+ zXS|G^NJWKa#Y{f^W&=Y+jewYOkTl&pS!GHlPiEII&Q0jdPxhPTuh~?n0$x$Z{hypQ zl=0WEloPePRj$%DYFcZ8VAi#LX=^i*+1DAZy<{L0B+OqII%EYt?g@K*4sS3-R-${8 zS2YKrRQE;4#JJ2&^c8EE=6dyC=7om#5rW=+uzQu0M_iMrD?&ftZYP2KdqRhBI*g99 z-^?I)-m-n^k}=mC5NbWzZZ=h~qG$W^d~?SNNjt_^L$Mo`}tqgnEf-DqVQ=#$P z8%iwh?2ia>180Ix+g-<9Oh9}lv+A5Xvl#ERmi6tD5FJP#pL}@^Y1s{@s-_vK#b{;= z2pBc}CT2J7qT?pSO1Ms9;2`f|wi`+$3`|>F8_3H;oiWLkPoXRFH!s9hH5yAvNs+D4 zZaWxDWFd?G+QS>c(m(*#+QKZFF`x1A8C@}C39Vhgb!=jy}Ge$@3$d$E%% zWE9`qW;dG4W8Pho(x>ILG)45YPmueEGa*|F5seLx7n3ONxHy}!G~HU~Rs|Xs%>Tej zvUSIGW#yR`=aB1R7hY`R`|FhA@xs3nZ~Ur!;tq==EB%?mwL*!17yd<0>;7beYvDus zo_lgGd->^gq>fK(-Pp9@{$thar(PU8uy*ajLIK}S)^!@f-V1qL@rJj&td|wLBI2k*T zr_z(h1bJ$CLSlta+M6SiXL`JxyQ-8elg%xijbAXz9Foqk}=l0oT%m` zGx8S+>esR$fH~-$*HCoHa{Uos#q z5^ZI}R{e+|gQ3(*N5ZgrLI{xL9&e3Xuq9+pw-`sYY@?C(BWmqr_pu-@61E6Ms#C-f`S%dGU|emyUc2k)U3RR*uDQpoTAI8t%W7 zzvcnU1BfwpUW3c!+RF+T6pnCn$JYo#&iey%xLIm5nfuf{B6vOztIoXJ_u;P%G*MGx zV}(2Mo9d|sv6D`HR!}#A$V&Ph5xb$_C#Jd_n zOl=gs?d12%v8E2gmYTWlWE1@^^;#>}_JO>_Qi^&9mPz%UX13MuQrDrQ*Uu|kc0`+Z zh(ox-MN~tRYF6jJ^#;jG*X*4F98w+A zCdZ2Rn|?RO8vNkDY#79*O8IIy&|(-bJKo$SKi%Q9Lcc@`)j)l;4}^AZ($0B=5z#K< zK@KFR!T2VpIwHFle{|W$_g1}wGri4&MQGv^-xUnWzyX4`G`QO&6g^RRP1#eGQDHq; z;1?S4_g=~z0R0{si>Oj^Z_dOIc`XM%N9A!(Xn9u2DM)$1@YRjDf7d_+7nE#fDTPo| zrJ3AgGsf^td9qCORaJpjRngOsQeIRiRYJ-G6RqS5|DByUDzQNzeH{`*RPk?OOOtg< z!(Mj#_ze`n?`J&~S>1Nd+;r|GYn&~+k*K6ShSED6%ZIty*~=jm1;IqtiyxQ6z~h0< z(DN?Tt*l-}JBY7Jl&?yB!H8&lLzw@;B{K%dSkfNANa0b&(?iWlA@1-dAq-=A;>YQR zVaSbH-FAz}ELAYN@B!JRn0yf?G2_vVVy-@Dr>X`^muY=5Q0E1t73vN<@{IMxDEjYe zw6(N?S^S{lDYXs^*(r^*LK75+%;2D9)8jRST_FUq>n;?|KBz_wn`aWQz5k0C$o!69 z|AQzOMoFct%|Ha6EO&c9MGB;i51NEHOsjpH@{Zsg8YjVJUFBt`Ih{Mwnr=$GS)}$h zBN>>ZcK0R}Y?DU7DC?7LLZQs^{&pNw_Uh6R#h}fX_kC6khIV=rX^X_XQY+AgH%Zob z{EEl4hj`(qB8C>dK(q7n)5F>Af3a5h^Gho%(apwFmu>5dfjy22Q=zZ7^bzX_0TRd$ zw>gzFtxgy<9pB0z@F~Y;V!TphR2Rzc;>Dpa_e&I)El=@D$*l{|S8$WbKBN*RQL2Ie59ZTo9+(aMgb7qtINpC!bMM!s3k6iZy{~ zi`{GzrSLaCmspvr8q8VlPQG%~Ly;y0Po6N)1;+m^Oor@%)FGYoM5MfGUV0c1q7*?J z5-eu-RxSA!WOO+a>3w*ztD8hrZ6LSCY*teo>5oooESoX2@upK&|Kbo|=8z49eyi{? zt<7AI&t2Gey5S!zg)keOJKe%gUHCFOo*c5oAvHdfT-A$2{|PeLUAUxrA<0$V3NZG5 zKttCH$ngn=O%)vp?D%r*K+QvwS7h+W^e1jVC*g{DD<_5LLt=nYl2mGyJG3Z*`!nGS zUj5RkM(rx3PG9`47la<)QAizP)OskOSOSZMVN0g))$Ed|q%j?fL(=K2{n;-l^swaf3n9n)n z+oZ-(1$gN+EiR|#K}wCW`hLTBc!lH_+ac+mQ1ymBt;U%J)lUN>*|lYD>0Wuzb@h;< zNtvvJ?!MTye}y0jbJ(E5;q04(`^OvDJpy7fNnTMKZop-#cIcXi{dDRiP*5LSWo7sU z<*X3^kXx|w=>rd-l}x^9X9Czx3is+R0uxC*>i3A{K!lE-8<}xNMW~zFednDGzk?arL&xW+ZIJyZN&!$pBcSfZ}1> z4bfd1v2>uie~cN)ThUBhnC>u6YraLGfTz8c|ECPIE|0~*RHM4L6&EGw2cDnVCgrg> z74KBh0V6p55|Eh2NKTw)HtXEb3(@_MsV~M(jlz9X3qKsA{g3xjPe=EyK4hNJdKt>K zt;R5ZONrYB7AFyP{4Jc7b3Y2U!=D^tKuy6yT9Ag0MG79^D96_!VFNyc<@4x7c;PN( zS=oGuWkqT1FA0ERtDyt3#_q88zGuSDq!SZx`C ztbz950v7qf7~+WC)!3x{`cet9luE2IJP2wz_smk$4oiD02FauhH6B}?Df{MML9Noa z06uxJpj|hHDI`J$o@}XFtOkh+DBII+DBo{&gpY z;z_C&X$R0U<$lnfjdwvw%R44>r|J5mn_yEakVO2HW7Wgq9_BCVK=06uyi*5if&8LA zv0`m!4*cWw^H4Y8W5kCmP@*MRi0F+PA@z|M;7Eodb_pWcqeGB`6mJfv6|2-VS^^{N zV=0eAZYK}I3{eG7ZBo6m#!Za41l2I;kh^Hou~(~m)f|KA!7i*qM|!tTRVfMfUdJ$lU57o{nZ?2cvIhMO5mJb2w$%09+of=Rwu7ry<7;nCbNtOmM zCo>#|kJtw*B3$`*3uz@|ni+m_YuX1GjK8m?d@VPD!O~{ti#7S~n<#Yp0C-BP=5nLd zdSx<$TDJY+qKiKY5II{)$>>ShAegEvLN>q~fQ%QI;+<958Dt0`(-*|+sgJQL*}-`P z)3|#W@Vd=Jh2R7pjYSGjPo+!uL8^XJ!gZmq&g)1YhxU!Z2F{}Bd6MT@W&ITyR&qxj zxCOshTp<;e*ihs}$IdFnN+|&M;Yfl>ssTcH*@Kvzwu?<((gHEW5|XQh#zIL4a~}Zk zE>7?d8GY0=co?J19`8B$`aDr^E$$Cnp2{M2+ zyxGpEv~5hn-H4}hG%qj6dT>)0&9xlodZLzVYipw<={cj3Lo%ltH27foccJG$MiM0s zY$U^OuZz@bXuQCy4`3xG)HE5g`0Fz{H=V@;k$b3YgF%V1Oa@g7n)k%|zf#MN6o@ zaxtnYA4n5?1RHXj4Lxk3I-g*QBG{Xpr@;zgd5mk{T@Llq(s3C2xe!C7+vMD}nIz;Z zI4L4@w>J#54`M8OPujdSafnpdwfkTmD;2z(;rfk`~RRx58NceID(W%&Bv z-f2U?jl&w%i#}H#;n9+2oZV(;fC=-1Y3{9zp9caa9HF7#nl^l_em%wBp~6>OjPF+E z;*jSbzpJ^9J^_^#fNm+irwn=V73&&LegeOKd`#9Y^)O&-QnW>Ktwn=MI%61WPNf#h zuAvzHvX9*L?^fp>@z1R!XP9~fj?g5%&+3!O zhXli+7Jx5i<7+|0Ek!WXr(iJ=sd3Prz1Y3w1{% zhg>(qmk8APNT(f0e22L)*5LEd##fdi)IC`U;w0Wc(AjK*H_=k!b?ploOhYD8Pj9U> zcZC#N&`Xv%AV+g>dVPx%RaKJv9a8>`Ua%KzyK@Fkz!2*4R6Il0OD`+5x!pe0#hW-| zkXqTOj-s~>gbax-ve!IWz!Dm)Vqf6rLHqxF-A?j#k=w;*571q`bDHe&i7E-FGd=~j zghY7@kMllW-3xHx30VA8`t#{mM;Mu0Da?*#ufSfc12oyHxoxnNY}Mb-JR|`Njq>Y5 zuAkl;)ic;F`NDkQAg`jgBqh&HY`Tg3iW-c}SAef1mipyMLik_51-%ia!H;~)gFk*J zPG98H^w;Ir#iFsn2!7eM`9UB&p$u6+rITx0jZ$9IU|0F~Rt5!NmQF~KDiwF94b9Uy z`p}!GmipK!X<$njL28h;%v)p`gdtM5s0SjQbTDM=Dr*>f0sGxVDv#$`M&>QUfBu9Z zCwK>BJc-8$P;5d|pRZie($eC$LNUn%dpdzN>jA8+KuiY1ddi19qaNFM4IjLk#Yrm+ zoFk9340Xs=j9_1Zh%}>IgV2+jAaN5d0E%lf5NI+$WgiZx$Vy3-Zf-=6BRD=oT@mBX zom9Zbc_JN#g9!`KXa#M+Yd`yg9ELzWwXVf66rffvGz>Zl>grh^Y~;n~bP2Ui5;u~Q z6uf8?q5GF^Kj?B79(cD3roi2JAy0|%x+)A-ebb;HIFl%tL2VwiXQtz1Tud4&Uu)Ffh?NC=<7%R!45B_<=_Ypt%Z9qB4 zIO_5|IZGAOkT;yBbIYyhKVE>=Uc#N4Hxj~4DZd*r^J%-&Y(WktfxpP><;$>3N4m+$ z8>GLy-3_@hL|k&1pOnHG9M`-x>o#^{=40m&hlWH(SC{(z*C1@auv1Q2A0md z*hQo#<*@y$WIPA$M>FuR0?H7WoNk;TE648y0A;g)Oo-f*M6?2ebTFF|n0GreSW)cx zeK?ZpFJSBs3hpFKjwPrS;4F!!#1J69C|%hf(6kJ?DypkW=gBCIM$1UxMf6Bn|SzZA|_M&D@q* zK;5X8KGGc{DqfHkMOv^yg1rj|_GeW+Q2*NBLUjl*#uA+zZcVQO2jqj|uQD~&U&n@1 zubJTNo|)d;7ZGTFkyJN={V~_t19($?I+|Ez20I*DQg+S7c>^S@Akfk*wLslQ)TQZt z=)jiyoR-i8%-j!O-Kk*ilS!10ayqP;SpB!jUt+cDPNdLH$KUgokdX`v)~rWA%JAt)x79#5;Q@w(J)dl`^lD zVpF2=QHnHn>XfQ+#W1?!8W&CTL?*xtacL>-3F~ibPH(#iRT55+cKij zboqzO%qzC9!+dfI|8%*`cA7&wPLLyKZA+sz$#{gJQIPUDdgU!gx)VqOvg!HIkCTtV zLFy6^(;h7Q9VTmz#ZE0RjOt<2Nf`ulB?%LGl0|B1ek%G8Zg##jP!Z)!$xs+>V#^Ue zjw~{;u#E5V-=#>~Wsiu|>TkJK6|6bs4_4wQOL+@pm-2YBlTA5QDJ~tki*D;HKH5FLpmEl$B?6rgij&JhMb}&eQ%0>ojI03Z>T9TI;SCt zE#{Lye{|GHeQGId0E<+8PygaJy-~Nk2c7hIBwLa)&^$T^7e2cRHD z&NQ!bq2w4(OCwGKC=rg8r4&SNz_)@&jeGgPT(gj7$s8TTVJXseM(tGh(8bQ(hZDY9 zK!=~>G(~V$?7EURX>13zSF)m}iSgpWAJ@YNqH`*7Ea(Lag$T_aj&}`I98V;Ns_I*a z%0V~+DU!BD(FsDO@E}Kot3)ScJeTsArz1|&dkxQfn z@>U$x3_+Vm7%*@Z4oOJNZ^5U}K@(Qxw}J-Dq zzW!y8EE|(nbTlH+0|ycGup5PN8k2l6ffs~<8WCk0xnH(0|QYcz8UB-0Ej~vK={L1w>Q=%1>Ee0!zP%@2z~5 z%Zi=-4FJwCU9WgzC;J?)?Zl}<7!>|rePh<3lbyA1yn0ubbcy>{W{Wd1NI?ss7)eyQ za&#dfWZw|S2LeVq&&a3L4(?_9vv>}87MVnQQw0|_G@5k>S{rL^{mgGjUpRY?VkwX4?odb{i z&+Gr`9~-YWptA>6lXRsZs%5lH3^vA7_eB3>B4=;V;+ZZaAzvygD#lDNV%1|m8vGo4 zo+_D-pD*V(g!K6NI&zV$%IfRiAOABE|IW$38-nt0H2fP46w3cZslXs~tLEyG*ef{z z9>J~GAe_C7E0YM|?wKanWmpb2XzCfl^!#J$pPpkdpD<0J9^>oyfmNv=^3b_uSE=(taCv`*1v zKYxq=31fd$;?yic&ND-ZAn*e{Q9^qo(aV8JQrjB=A-_gTqrA+j6QvS3tzq6$kE1Vh z=5BALC5sRxzp)LF1xn0wkbZH={1BW$2u6t$9uFsp6_U2eox|Y14wfG>$56e{1I48p zI<#*eQt7{7f!-yFcoO8~cft*#04FA#IxSMR7>erU8er-@Mr#g#TZ=%5A z!yymOD);>|wi1v$l-NyrK5lM#AlSx>xtJ<`(y^jBtAHNWP&T!>{O>?C`9V0iOGKd9 zs|?qSeE|iDX@{sc>o#qRX_$d1-is@QF2ZP?4DHwS)#f!6)!hV}mvj+*=L@t*g)CEDMKzts=R|NYW zX={mQ(+4!J8txPkM?>z_aRjyT7J~+TVG4FP_cRtuHGuS?@u~d3`f)52ER|8|cXO?w zT)UZqZ4G`N#Fkd*;4Jg5*{pk{H>f#B7n`v1<{8&Tuo}d!5(Wi*FfnOB*m@+8g|z9Q z53}A6P$;T&s~?mI;d$yFL1THYf@^9%TAr!Xu!Ls%XWP|;E8L6IkX+*Sn~ z(8?lV_*{v`kAs1$8Kkv>me$Axa|%US8aoXgJd}j&ixUVJFIj=%y%u{8QxV+Tn|$T;>(v@-?UE2mvE2_M#hL*DTLS8l^B_lvl;8LlElkTwji4G ztM$r9b}1zNwR4IHRZxOs;>Vqpj-!!UL^oMp^5Rf3yl13I76Lz$3{f`b4&)z+5HxZ( zVSVv~VU_qoNwY{e!n@U{H|^Fmg{+&2bt6&>xtoj=`XQk!;It%KS$z>OCqFS^5pfrs z4m;_2w}Am-y!Z7__FO8Mt6qpWWyD2AC^ZaLme>x#T=bxcyZViq-tY)cQc;PyQh9SQ zRK%{Ph7$vXXfXctf2BkiQXwJRzzfBTKAV^=h=UD*Q;P&cs3*dv)He}Qkr1Jvl6-f{ zi<)IN+JT#$fCzSr==Nxnh!1xWKG71$ELu84Pyh*Uu8XnQpatdw!Sx9)e_}`={zG#8 z8kDdChzqb#~bNTCXqsNAYCbW`2PCn#N<48$-4L>-j z6z?dsBi{S!B39USJrp0vcyIL~ED3^<#P!Cg9S9DRDUrSvv7O|R0P4`FPATqANWw-U z+%xVBxCQc{eja(0kf=Q*JP--dQ^v^^#Je!GIi5UdA9!hb z^Dgi99GE3$fSqzDe+rcUEq_{kF>&6HP75038b0E%CsL6&+!Tv*RZf*SnRHoa5q)_r)oF!L z$r7{gw~zNptOyZd0kUNqZqeq#kh2aX`)}15+lZ$9@FG;Txh<|T} zd#b@8(RhfplPDzQEJ!6c-QM_dZzW zU>^3oTPegw?o1rP6^V@ICBOUOP83X~4~fVJNINTwZ7^sM67DW2iU?$L;;JG(b#V7@ zi_}p7R((O>Imu08<>>3piPi)?NUf)34P^(LZwxIP99JqDuAVX;D7kFd9Q?}z(D@r4 z!u+R)0|Wfa3VDR5`jR!ZF>3P>V)P@N?XAkdRUH_vsJI3v^7Zi99OdN1mZAp2dzKaz zKfd0R@J+~)MyWQ0O(a4$t|+-V-d(EXZs#XvXO)J6N=`-)t${1&$A{ewNWe)5m|kd& zGQd>kFsLgHO5l(bp*)3&>I0*e(j*Vh$1RK}k3$hFg%srjf=?wizG|loVM;;T9zr0N zK$u-3HdiGFa=RZn(qsW*nz(3ES0bD+YeWzWhh>SZRejYEo2>uK${>+GxJD~i^hWav z{IixNoT=;9D^7capL~DparQ46bm2;dU+zEMsWNywT1j1!Q~Pt)ol%2mB{S3LSIQb6 z*Zf7J`_9?u7Y*IMnMV?Dcz$1h_Ot^vI6}Tus4v*;^o5b7wyHV!TN5q%6(Yy*Wsl&s zmg(QZ3flP(n8$(7^76iex>j@=85wCxGiHD#$+^1vk`$}23ZL)a4<1N;xq`!3f8M{p z&ZIr(33PopsMb-O`>I0DNK4ZIU;UVvID^xT9Fwd_tn+EAtQK3?&mky1%%<+*?9vOF=_TY!U4CH zazRGsthsqom_7KV-=3U3&dd7&+d3@4y`u_V&&qJB7J5r{zuuhQL#eK=er^=4IKRY(iHO?VV;XgV%mOXn3Esb+MjgYs zyKC33<$v9Qe?4eBcrjgf*ORmFu0(9Ju(XV}yLdM2)P)PbQ1aW`wal-qSmI36**kX< z!eV(jI5`h%7Z(>xr`aDJ4n@+q>83L9{yz93PEO897v}K78;QEoO}@T+!K1!vvq5Bi zgBbt#@#9lBZXC3*uwZEx0M31>(Z*2n=~E%-RQ4-zQBhB!8(%B+IIJ*OQd06sOTg@uI|%Cwg9j-K;V}xTh3yfdGiD8;q#nJ zLN@#wum@~D@6POs^iQVr$IMJIz8{gY{g?HB310mbmxwuh+I#H}Oork%2ZyDB;I;S> zt%L5x4g8N6;FR!zZp(1XaAU96(a|)pLttetY%qB_{aWUD32x$E zlT$L!W7xp)z}TzwT9VU>BcRGw{di-x1ulI z#`o;(y5NI7Y1X+uCN_2q5qkq9_LdX4pz_Vd>(1oa{&`(K>?Qv4)e$>Mea&Y4~$d&5M>Kk_m5j)np7UwRz(}n*!vfMUBC8wfB)}Ck4Ba`$)TWkdq+n{>)=vK+{(!cf#Yw0qeG&i zj1U%!p(lUs>bjD64%gbz{<(&gMD9N?uLfL6OgV+W`59jvyx5xer1rosHA9Dosq>gGWDJ7Uy|D;{s(zWpjJY&~pewxMRBZ{ARHeo?(-W#?6Eg)7r`M@7Gb z;&A;NuB&i{clf}OBNr54Q8R`xwV9HjQ@kyFVX^ZW_kmrTUp#;A45V28nceeruTpr& z0`#ACxN(tp3We&tjLeqxYfoo3>mCb58d6O)*exRq2OaW}lK4hUxWlaP`@bJQZZCny z?hb_DfnfYpiPqTI7}Y8?E8_IovlpB497J~P+!<|0e|GXIb0@xV9qb7VqN1YLbanrRTqr%|Go$_IHMw zctmX{FC?8m_o<>{4F%_A@6Ashh2+GoM7MkQ1}7({jLb}>?p-DPdX&Px6W8<-}@7EbMCv8C4n;8jQm|(ocY_gZ$HMy-lIzIj^jCYY%?ItqYEs5;nuaGp`mKr0f#*L z6(h;88m6awt=HIw^XRwRGI;QDuOlKJkvT6YSVuw4TU)9u0845CQh4~c^(wRc~k<&<>9Gc%g4u8h*HONclO71EagFN z?(Md=wj}%2*43HKjA-KO#}8#?n|-*oy*FD($;v)ROyqHuopb z$lJPZ-TjLp?h3g5ey^~_k!_48ogp}0M>Bj$MP(Dks3qlB80G$a^k~zEf`ah12xfk) zHd|fDr6YxKiQrC6)!BuGLmV7i9zJ|{8!?XUP=f|xbA=ta!rKio`|xo83t#U6&-MQQ z4S!KqLzK}XGb@Qg$w)R0LNdyTGDFE;Ss4v`RLacCDneytl#~%IGg3l@$kzRQpX>Mk zU;lI6*M0XmkKg&7bBeFe=ly<-=XkwB5lZLg=c(L_uid~j8k7nAr;hX~YicqA$ib{l z`W&-u0g4oMcJ?J0cGik<2hYt$UX@o}>b<|sTHJ%C1<8LE#ErUBGp#Y*dPCY*uZ|q? zaP)O{F2{$BzP~-}YPR*%^faj~C==gx)3ywB?c9#LZG25KHTmAXdz9H<{c0F~O3Fnv zn--A9Q3%d^H_@FnKN9txNRLB!Vi6Lq?DAD5SGo&&8cvhUK&U=YaTh$fL1dq zE^hUaBS$#4ZhhX9&&XSgbMvGLzkQnH=z1*R>Q!N( zy%G#`QUA5r}zC@{+ftL?q=^B;SmwT)^4~a4Y;#Z6lkEbJGVV5Ep12E*W8{b>f_@x zGB#G-wP$2#LW=qxUdwWQHT{3(fAaT2C_~nCc6GHQWhUObm5!8ogG(Xg#tkMM6mvu< zGQNLyF9uRy?b}S7NQ#L6`t>X=JDVOa@$lu#QjiO9B`u%_S&N|VUsiT`U(0p;k!(-# z8l=Df{x!mCYip~nsab~`Hu>e{M!uap4<9~E1NOUyP}Of9&!F()$z}Lo)#QJD&S|2^ zO-ENcf?VTzESP*@)#Euo8UE*|A)iX;bt8pzDgXMVd-Y#M&p%%@V*?G&=)ZrdbN~Ct zBVRB|X)WH~fB#C;6cH7z2h>A?C?7w+{_G|4HAZ&n``Oi+tJN=t>io9890|Mjp5399W+YX0?OMCSpMFDfly-R6$Ud4%ax#@RT)`XN+(aU zmz9;FsSD8ShJa|ir(z>Y0`+6ZLLWTXMQZTz@%-t^e@-&%zg~5hqD3)BUteFMteY6d z6Y~v2G8BLy3VTZcXb&YEQC(C@A!xG`K7K<%_WAqwFc|fUl`d9bGBMP(eERP)wb+x) zB9UcJp4X02U*+cJwr#(Qa_$lex;khdQG?T{sWrKL!ypc}^jX-1k8-83a5sSR2>k3KtmQhnK$Yg83(9PUQReKY zBlsN9psE4QW5y78Y0VMH9xofB$A&spv|a7)yX>7)%?ImnR}{^ftYmoZL3q%WI*;ZiI># zV?yb02oHV!U+01U-{(Ob&o=tUAd1&3_wV1&C;$h6vF5BMrl!RnzpVjnGXQ#z{cZ{M zXi-^N{8LVOZ<%e|wmJR&dISySNx>T8SJPZAi>m6x_dOW%5sdN?$A|_>xcT z0!CepV}?O*>lBtIXh<0i)Y>@f2F#KgcOrCgs6kz*q6r`=9;0^EM^P!FGiDbH!s&)R zXAKq%NW3Qv;Ivqd-t4OX5f{`y;rT|PJ;33IPU={eFVOk(y_NfraE+enB{PEMxyLnp5P@+tOP zUyf%K6DoC|v>=BOr(_ONIgw5`WV^E|Fjhq8+?8?Wq3k$tU`ugvG3%WJBrqC3U;D3v zt^Hq+3d_OCN<>E<85zS4gU#{r@f3gbCenAmY`s2@07p@@wifsY{fGz)i(2qIg{E2D zbNW2|<5cKJ1FNeQFzn|#%(IF+Ht5;D$^7 zqNbqD6aNP@Nh0m$Ra=(-<3OXJp!nm;N_5A*i!0L)2@h|+btIqV%Qc}5^!IXd!a!Y- zV+~cE@Nf6++wZtE;qEnIZ`PiRU$se*i5*y~?(Q;}J8}cQpxUM;weRzc{~LyARhZzp z$Us5yWr;G1vHO6Gj9&Hyl7$|J{VV)`v%w0?bjr_jT!j*AQ6_I5~1pUhez2wYfLfZ~p9 zr}!uY6mrIqFF%ypoeaKC@QU1{|0*4F&HvNTQz!&WLmbl>{eQRe#<$dLE?>v3 zVWa;lKGL?}(z{~Ulj8aFg7)_I0|Nv8xbW$4&Xyzhq1G&h>jhxT)6)GQMQCx)U%Y%7 zaP8VUB)t$I5zk+|pa&7{m0pE;9T5;o9Kw^@dGxj-+4z#HF9MvModiSNwRUI^Tozxx zc;Syf4#eRGzL6!u4ocxGckXN_04uIB!#kbJM=C2Tv1Vx_h)EJ!(_jT0>3t%N)O7=9 z*8zmcqLPw2*p-A!FEcSQedzAym6hEJj?EuO3M$;|C?uaZHqzobpfJhP>nFw0g^2&7 zHadIC*mww^0m=bJoQ)9Z{b(pye}#1s(m)AmpxyP&yV&;j?Q;x$AWs(%wn>%uW(tt5 zUFiFtIsbKZbUgpQU^{rX5Zs_ae6ez`Suub1F+BlU)WQGVUpZV@MNMU5Vln|rrWW;L zogMJ{4H$qG0?GtPgCfg>4&W(3FSXs>Tk(+Nj2;&hh!vcE#)!>J1aClBa`ncIgw9*Z z$x8bArMf<(l6{$Z@`8p9TSsC{J?yCd^LcM(L@DeFn`7Ghb1LS z2oz}NQ4xd!#v$E$M+XbaJ!G-Gi%&d$3n2V4Z`-yOSpuxqHe1`N3x%<6Vy82KS|bBm z!eEH1O%1Upnp zGc^lKOXrm(4@CbR+}u>4JKDOsf>BLE*1n@lN=S%7*6pVj#ZEQFoHD?vA3#tL-sR@a4QTl|NM#FB4Q0(Pn^~|< z$Xyf)GLo2d<}gkfM5U`aHgB%&?KRC6!xw}rh*ZpYI!Nf^-g8b+6f0%jMHxrHV*t#D z?CnJX&|u5jRlK&E*RR(h{fqwPBWL1&|B70REb(loG7mF>_a6U5ji*Z`K*z*cA1icX z2TK^A6-Xp(3*6V!+l!rXv`KPGmKGM`E??A5Fg_^jFHnOVN(@4oIW8%xvXG2%0NVu4 zjNg6cI-n9#|J6juS+MUi3c`njoP-7H z?6o<+R?c+ZYx~Lik87BAG{1;?dii`e{gEwQK104?*`7fm{5vLmBfpdehsjsEl@v5$ z!5p&>2Y!60dHwxX=IKyqU?$2T+)ErHG`~Xg7?;P0wk2WF>9CcRwY3Fs=?Szn2gg$j z3z@J^36LhiVgQ%Lbnb!cqy{&fnT;(3z$75e=PfO3!AYSuph6yVh6bX(u~G9nnD}F6 z=g#ePTaV|9lb-O@5itVeaCEKg_(!l2bIAWd`8V} z_|$z*nPYD_qNEvyXGB{PC{ z%%X=651&2DhebnSa2KVaDR-Zn;06$a2Lj&Fa{x#!c|r{0m|_ut{*7XW$|!mYkRfqnd2Rka{x3ATPsfHEE{UI>VPE}K*k5!!7VM#j?Fq-$@p~SuKcqW%En{Ijsc=PHsy)B=$~Nh$u#`!8!rG|MDc9ng!dHIJyKGQxITR! z-GL)X{F)!h1m2M_zbpf58{KxZ4um(bx>L_?ctRy~D1@B1WD$f12g2GA-gVm3Nq`T}5CLoi2ilqdSU3%c3{;0n{&u8(&GVahwTM6<3)CfU zqd`7vZXRI%JR}u{5Yn9j4O+RY31sAK=KcG;+}x>PW`3pq-x=x5G!3oCaS$Dp={bcR zL{_Jru#ioD-)(DSqtPhmG(Z>{3WbJttv{f7P6gjc~$D zd7}#d6{-fKuLpoSDgs({|y>}f=qrGzVo-t(*CmqFBEG0zml_x78#K-_OHIN#_hY$Jlw%+(=X<@taL_D_7qD zYXQ9#uvc)mpa_P`-h<0NOK0^D!AYeE0Pojo<}O8?NWvfauFRjy5nWK8rj|_XL@!K_ zzbN<8(x^9XjIm8&es+xWpgU!tA-Di+?W@j+1`GOC)K?oUz$pWrp;gz?I*cWz6m^NK zvBOx+7L`g@X zAQ%&YLO7%4@W|_Zb{1ETCBN{qP!wh3l`f=wY@ND!Cnhu~Lp0-DbG3$3-RyeW$o{Jj zy{aB`#_w0=qWQI*9shFp2xoxe@oNvsGxM^rusDvIrKiUPQTvdw@srB?dP6@@$Du;T zmZoBDQ?#9JP_07uK?9%E6(GFmcJZ7eP-&xS7y#6zW?_-m>5R_?asFrFXLc>q@hQ#A+ z$~$Hnmx#wO=*(bX$RUKfHjsJeZEX#JE!v9q&F3Cc&dJ%Z?AJ&)&=7M}nRRmF^I^*F z4ysm&>&&}5)(QX#k1j!$7d-g2s|=m5OE-X!LjcXcfB%mA6No*9{_IqI?7L6bLnk%? zSqINw0;=#nNOCrvu6a~8;Yvd51lo6x+SEc z@BYo3u|oPjlhvVf3*Fm4JZ|4k&DtRS=6>YQ@Qm05FR!u-nRETzq`r8jaC%*|y1Kf* zp=ikU>qqy!$+njDS=b9d?XDBnJxx~sr3L82s#J^~;DUNFjzL==4*)B_+OlUzr-gQ3*BL1VSPe1+*8>%&L>$$rdx7kL&M?g79J-3+rPHpcov{HtVWi z#Y=n1zp2FXL-`n2jsV@!K2=#+g_e}uxxpFb_irv-%pxL_O3xW#xD7+_@kLxW>POAZ zxnl+kElN_vFGtqbH%Er_lTQU65-5R5cmg8M7qLv+WH#W(J&fWqZd6Th6N!-{A0O@{ zEhH)37RX`j@2~D@jfNmrw@~Y@b^ePzg|z8Ug`}k)3y(z*Ac2!M=>_Cz&oO48*#X0H zuAl>Ne()Vm$ zb|^MEyd_^0<*fd!UTzSW#5%hZ%KKj8Av*nC@j(|y(s!5Kof}FBy%mAqbHC`?BBs`_To7-M*6DAmx?3PeiN)BH-X=#L*a6BZVB(IUv&b9UJwPxCD* z?>*yxDZ&aS#HW07MYus$c+>5g*KNp}TC1^3UX<$FiI=%4YO=O6#^ z1D*Lgke)2)9CiYE*xe-nR-R~NTWl6~41f8ugO@kGd2yeV6qr}lxY;L?xWOTG?1Rm*H&sVejMYsbbEc#?S31m6GV@Bo@Z%oNMqY^ntU@_SsI62@Ew>vckEP$a!>`xXeDsH*PDRCP z_f2=MWPjLO-xzkUuyA!=NaOjAHV)59{olV0Hvh6%Rte^JXNkG;B3loiI-m?aT2Y%? z)8%X2n|yCy$dQzgxQX43y>H#e_U_$lW^ZrO`*zL@>$2AZBRmZ8f%9;4+-S-hV`o(8 zFE7WUQ(U^O+kl1*UCZg-x7jRE`EH14==rm;hNR-tYl4-q@2;W;+$iW`g8vYZH)jfm zyQZOG_}Zc$7i0=J;vA@435OdW&qi=3tN=f6XLs@?2N>USpG7Ii0&W8OhW@S-E7*bc z>y_`@&DLj#~g(b#xv>sf=14-8u{$ z6iclk3Q*S5i`CAmY2HA;3NRpHp4YBhmztg)h*}1#fVn|7B7*OmO4fJ%yM$t_Gw&o5 zx;cOqDp;3`x+izKFB;#7e2nyT8dq0WbTSy2PhfWp_Ae}P&i3@Vee${84v$*?!utl9 zCCg&v2Fy;pr_FeTzt@Vz8{?%>+f^v$+1v zc*EM0r>GV@lR1`Dwk~;$gk*@y?qvGgcQxqZESt*>=gk#tOm%~Nh0hMs*16t%R_Cm% zd$Gv(n~MFyZ${m>CBtRR^sCNW8gm_9ENzmud~#B_hF|yqYxke!P*eH$H*bpmWiXbz zb0BelDtpzf&NW6xtZP&?kG^bN8g6p_sY{v_Q2! zU74czz-W}ddO?H&u>`${^rFRkDnI3e8qr?%-SP2rmra<;*L^q4*>PtsLtE5%R{Hw# z_Q?ATHZI*GW437*b{o5UFYZr1m1N)^sk=gTqv%JW-{*@w8(M!eekrs0R3zq`GQYZt z^DI+9__$})ybagUrDYxwebut*lrp+wy^XE_!_s%$9Y$VWUdryWdXJfqGpAFg z7vmtft7~jj&253g7!2Li0e*g!TwkK{J!MEVZ?dva7z@n-Hvp0tUd%-MV*!Rv;s*jf z=9Zs(IR>CZUE(G{Ukd~l8P93Kj*hea3Jk$Yzy&u$;9Iwh<5rOZmq|WE(Jt3$twhd#NN|CQ69zIkpaijjAiVhbGdRUg zDnr`=PBpLR08nT&=`<9y1_VBalvgp!)ZCmKW{J%Dob~oTSYT3d zg(xAH)_xx!$2ewB%JJI)6W}wIP_2HML1XL;e8c72l9Zn>#SF@Cm;NVb%AKfC9??x$ zm;$;B2@DLxtU-ho_o*)oD=Ui^4*D(`elOO-(<1#5!4rR9G||yvM!`#HK7iEs>MW1H zt~=(u&;RKFOImYBS62hb>CeN%!MN!=#KhL)PDXozZOP7UmVf;Wh$8usNcV*(07WN% zj^v&_0qT58U>u+VwipDMfQot$bt<{%6cSW0m81q`7`Nb%^>U`25cAk`fmuXC7A%O$U1omtBk0 zY)nj&o$PL`F1C58e(C4=U2+N2+j4%r$|H5k0~P)39b+$KP5#>SdvVOazI^uEm$;9r zu_=MWTU$SS4p?qm^a=0qss5$8+i3%HlnVs0Nx$;s|LoX!=FFKS2{*S{VXkvn!HfqE znCBEXSE`@Z)#d3b*n9H} zaAGK%v+5$ca2?CtCwYh{1m%}GB+pj9WqzhOKNyEez`NidP>uoR4+QFBhB5*yQH*w@ zE>9X0bKuP!368V6&w%X`93H3ma864s7%3IF{@Q>)67B}_KatsIcNKRWpW9EAXN15( zgh_G$*pBTN^jo)XwZ~llsU1$}RK*>8WM2Ag_t?8{AED$iSBVz4&O6;85Y9l>~4V7ZM8p4N&+Uw{|*1nzjYe zKcfW{%JKWx2kk0;4Su_SiF4}fnaYOyrKS6z8Bd=$oqYZJdPq@&iHxGPl?g4Vs9TRN z^f`!CapPBxvjNB@6bmlA8oV6EUbBulUJ28_=KdP48zZ=Ve>|^DTXSrB63$!}4xhH17Q>eDFbRKOV$DLZsqH=nQ`vFQff4UXg< zni@^3O2nk&3t{I_5fQ~kO~j8hDBJ&om%lt=U1(J8D+frw5Ukq;Ew`N_dyB*sFZI0I zNxfVUMB$ij^x=}*8fl~OLq$WQVMUeizP05<{p*R3~=MX8hrv)$7K#JK@9)Mj!M3n`CBLHPD2GwjNIRl|Kugz#T z?h`7oA@ua92SbyRHWMW#;N!YZJ*g8N=!7yH-w+)uzDTTXOmcEK5F2iB@eQc)h^Q1< zZ4YEc71Ec%i4dN{q{3x2{u?p-AjyHtq)1CkV?K~h?lQi|=WpLaafApxg1k!9*A?u3 z*|u@Br^F!O0gcWzJlg=X&S+^_nG|97hKB&t9EK`Mc=a40AwDVrt`e~17SOb_R=%5t za)g+c0N)8eegG{8I1iEO41UT%&uMy6SOPRbbf09sb36{)Tu&>}=o zBycRnB=v!p*UV@zuE5ZgsF054 zFj3OiKzRMCNy zOgh+V_O7`WI3_KdaYbv3^xnql;@L-tS)1mfF2)-L{I7e*af2gIJEK*7g%Um4k2JU2E%m!{S+)On>caQ^3Z6504g0 zI@irNuS$A|Zlb5Znn$o-gblg?hzdQ@s_zI65INLwYhyh9g7n3}bxd}HvfL&u7I ze)+xd_#@$^+_rq*$=Nh;Z09#2lcv0?c@Kr3!BssW*_KZl=koJ*8SRw}EVJHaQpI^a z;v^T(gyY`uh%;IHH(7l#BPF!oMLNNKM|E@*SH5i?7x4d+(bbYr=y><+c)aq|O;xA1hA{4bj|p=H-nQ^o4LYShZdxkB#9 zzdx?aqdGTqHb^0UeVXX!#RHyNn4HaoR!o1C;ScoCWO+N|T`2|ki5r#m5eeA2&d8 zOtTbWvLTU6hoWu{W(O-VK0laBt!VYh>hUT0(|jxh;)M+)%Jw(VQ*(qT5QG8g>6ZKR zvfOemwf?vv^a2o(y0DkP1kWuimEFgMLGW{}U%!414JyACWUN30NTUpfW5JZfPS9SO zr^$_l+eg<&9#U|CLecNxR8ZIUo=41?r`QlzgxtD1v>3zX%Vd7=Zzfr5q$r zLwbv54p$frwLBjDs&gD^1cY9tZxQRL*7E1egMlf=@Memv(lnqCGxU5iVr;Md87Z zi#(M3OFuQ^2w!#BSfDnmB3Q2itE4_p+nk8p`uS=>pn+ytrI4U#T{+i^;urm6Nh{U! zHoJcYsoy{K$j&j~u<_1x8_Vx{*RE~ZVm_DfW6$uI7{`~YQ?^f%yi%PLzfQ9Io{>}i zdEoTPEhf6})wfnJALK}<>(*LcC)QhazV-7~4!LEw9LvYQmf6=-kBMAN8OHZg`jE~Z z!27^q)N&{~YUD#fvED82<&lUvh^99gHIQ?Kr&BK(M3T{`)wRAljMV-LR?g8RaZW3XwT zW83?;vBHJt3YfnA+*Ne(uYTm;mEq9Zk@CInqH^IsM9z4(jePA~+j~2iit;nGL2GrQ zp>#onGw&w94L&Ewc8du&wgfL`HX{({&s%W_JaLT^zR=l5Ul2IHXXN)~jy(>t5)YgE zTH~^X?|_uHY zDoz$;W`rh$cAbb~$GaahAxzYRH-ELRKpuN__{z^t4mOPRS1TY(PfUM50h>)+QkEM& zg)Wr>8{6)`DUhPE!{AJ$%IWF6faz(qw6uW44}vTv0t)C1HgIqVx;{^z7I6N*i6eGD z&bcE5*5|{e2vp{R=#Wp>ZX(z2OrEyl_bQL zl$ORZiVFz}`ol>EfDla%YA1eIaBPU$pFVxkotYxYy>LwietZrLJ7q1nH;8D+GhgZV zcV({s@5;`ZC)sc{A-q2af-(U)fR?Ef*3Io-Ss2?*vXNsyL=qg*j<-RVqYgrpzJYE? zW7)U;?b|>Io`@V0xndhGZo;+%NFIp<49$vunPb|lj<0W3OZDT9{!`Gm*WmJIl$3`l z^I*2n8OJkVEu$F4b8>eKfp`5}OYx;2P z5VqwA5i*xh3&Zrj<#irlg47{d@0L zZxfcT`7-}osl~)eF?T#BE34eKF}=l}h0@lXCBI@M&AHt8)H`~?S&z|im3+vuNG)rs zIm6so_NA|3j@Ms1SJC;|f0~XG8+&z+Wi8c` zmwj1}CH0l`BCFYIT`R0KY^#7p8@ogEwr>wPrOKVB)E+sn+|}E`(cZlShxzkoDhieib6wxIpQmDT z8-PX31=@`3U+(cctHl{t{Xg>mopE8$-@I8*DRTO(rqW)b$!_-Pp>-mD(pF&)-NLaFK6~**V^F=ZTxOTH>Ak zv$ua@9zhKd-VK{J@wp|hdHG*j0O9+BN4g|r(EpHd2}w&ZbUlM3?dcLU+5iVv-y1Y{ zHZ!|-zT(cEJDn1;K>VWJhkl~x=P@p>r8)X@oY<9_}X5f~%_1f|pkrvz2|p@sFe&K~4#kFl2XR+y^NQF-wBz zKoH*0>&pJeqndB}gbmfV3Zekf`KX>Do^S{=)=?0nx2Z;QP=Ou_3JI}*QWNe+RU4Ze z!N6{;#|S_b`56tti{@sQ#qFG1j3)0qLby%ykAj*QhDjdCVX->(keS&I;)Q|D2`Vzc zVLde%l~hmN3ka5vQ4E97s3BHa1??{YWe#Y$&aIk!sbz4lG_5Ic@9s^8db5~2^WufK zo<6*u@YDxG=`i7b5ailDQpQT0y=rI{dJ`-VzDf{s#z{ME*e{4%*5#stHtoZ*vPR%n zRHfBcH=EJkUEcztfU z#YVgE$;Cl-;Ube$g=SH)RLHpt=N=WGD-85lvE}PKD>1fTEJ;q;)+wy*K23MJ+PSX{ zzFlU~an&j2v9q6@WIhyi9xEt0v}KF%hw_$VqQZX@c9o1NGG60+r$YWr^r^dP!PjXm zPhHZk40<3kiR9GsD_#F%ooJHN!o=-542ulp951A1&^12n)3&%pwQ=iK z5#htd;PQ)S{uvDbCHjv2`%l^Xn9iR3h*II^-MdTxAKuwh)m2^SDd#Rb%3Qa(5FUg0 zj|MVtrR3#L=Ladf9`sw;hO&<4xQ=f6=ruVyI=Xh6Pw>`@^!x={Mx__~Z3ArrJ+xE= zU{!p5gF8p|Am@!qrwPlrm>Ax&e3dnmX5F9a*vxeICk|R>V%IwA#TWMHAhcv_V`FD; z64V!{|Mt7VR{=eV@wBW_JlZahCH}?s=tuK^siqWaox*%$QLxxqHH+F7$4vhw>AaI52Pz<3(Wi3VJ z`{aD12c8S@S>q(5vvmr9)A3j)!D? zf-{RRzK_};f5aS;S$F~iMm~FhPzQ?@L_h~1qAZWML#vwpDDCOg@8AF2ASZ_7lcrBx z+PH6Zbm)#_&8+B#L0niC$-C5M>soG-b{3N5mkW!Nu(cUJx%{Bs?it?0o{~!p8p5e_ zklcq2ZHPa-(Yk(M(w#6~1meIc;N=ZG)pr1q4Yth&sLnF`s=;X&XZPa&PhzD<<3gkR z3WarZJwDY=gP#H*xll63m*2_w4ffzJGsme@E-n%)m>{+1ik5%)Z+B1T;G-nRMX8<eR$7_y9#gf4>&x9^Lvi1F) zUiC*|-|_>)&G%PJ^7-w_x9z*M+g{<)waE){H$VNE8rGt)9-@x6?kZx=l6a4Nr>=hW zgC~X%tPiEZc?98LXsjicuFt-#F?ws)b`KMiZT{g~*}dh@6nNGpB_+u~ZU_ei$O;+| zjtC7D3R*%D%dzmJ65$a~k2(jquB1T|%b&fs@~dB?t?9gv6s6Ib-`sA$QT zh-0|%8Hoy(711(zxJ)Mfl(sM$)5cV4FTVM6;SWF@*FV138bC)5eEGt6visaScR#3tK4m>wmdTWL?e8qg$ zRs@cLP>(Nuas%x?LLAj89ULlwLkF`3c_jriatUj&`^IwLSrkS@7wOy$bCG1Tv;m>J zQJ0n!ylrbUGZoV^G)y!!J7h)Jbm(yq(Oy^f0hJ%02k zC^M5EQk{$+>ur?b+pThziERklpd|0|t3M*)#qpDchr%|jrxQE6%UNOR`MRFF(zlf? z7@6$+woo0WdD;F-)8r#l?<#MqHzsG_cqi@6WtY*M`uiaHU?qE2r1@W$i4hwfm*0u( zQxB^*3%d2EIZ!|401MiXSw1Vn`K#34>>lUmpK49J^k`qy zV!3l%g?QV0rBAn*n548c8~XDeJzDF=wMX*9^k{Pmr*87kJL42@`l730?0$(Xo9|o+ z;`_>8E0q3G;iSfT#}uq;=hgE0`S+t1bL9JlN~1Z8q9vw@T}Gpp^=5939-8V78?!za z7;&9u`z%T-ILr&xvNiUQxZZi$&)x@HZk28OG1wLX>spKD9t)XF1Lf7T?FL# zW|+NqH8QfEl&GLx0c)5;Q^BYZ>49TSscCN3wAlK&5~JUUKkVH*1B>qFRn!65e?cm~ zqwL^TQP`^M2N9FiyP*}1qSt2muaYY4rDewksmv{Ta~$Qimfd<~|M3#|(%0?};7`Rt z6xl0=qEY6+0SVorriKO`e+HX(=%tA$7G)^+zJ07FV(h4+0Q@Q*Iuu|MP#o7~b=*lG zV_T>x??NNu3g5dQOc^PiIAlR)@w{o_6gQ(ld$gHpJA6ghgNuGV^?Wx<%JfH%HUX_n zv&+Hp#$*BNY#C1b+Q)UF=i&k{1PAnDDOUF5622}u&M!l%wfr+`Mr^_Oxx#9xl%N!W zha)Zjh&}|!r&B2bFdel2a+c~Sv5QYg7{bOSmiG@=d#=&{=DCCvQtmxp(sDU9H5H@! z*zJx>7?;(eHm}74wXeXzG{`p$z(0S60OBedcc|)zBw1E|7Vf_GV~J`9qePs*zJ2-b@3&8nTQJ={W-_oGCfQ>u%DS=`9i{KzBAg^?pZ|sF1!c#+ zd-rUeC=>*7OB!@z=4fvVS~tf;!n?uBD7y@n^KZD-e8O4MjGDbLtM=kg0h7y7Ax_#$>$^ zExiX%yX!Jsr$vsv2b^TK5m6dx1Od;%Ia&njTSxPf2N9M7Ly__NBYGt;&>1MsHhFIj zKw|Z1N!v0b+zkXZf+TP7zgEtxJQ|hMylp+5k&%(0u&|P%qJQTt6W3GWL3(!qm5m+g zyuobjZ`d{6UmEt{f(p%_WF9T8c}Y4(Kf05RZ1*5SdB|st(0S@r*~<~To0*;vh9+n6_&kT6bkP%mT(5)bZ~4|vM2B3_8f6N79yK?xgq-A((16K(N)P~! z{aO#%0zA3{AVXbd_{YqjJkr>N@ld*2OqyE{yHfX_(ABM{X8r)kiKt}uB?dX1!dQxW z7g7B9U}y=MjO=zCz!b0~i1B&h#5^s@D%JR#E_=@8Y!us5qkT0&&p)f*Ug8nDrL7NH zdOnqaeUh>IkP4N+y5K9?^xR+4XQa+7S%;@M&e-xXUfbTjJ#?iiBJXjc^oHhF^X0xf zY2W{axKJAGroiq#>##=7^v@&jxMwd}s;|aA<_kY4@i3`Y#BgU`DC*AC&d%4LRgO2u;S*`M5yB%#YVk?y<#e2hZI z#t|1|q$@PWdV&}hO(t}WjjaK1+XHx-%t^x+og_KcI#fU92Zl}7C-a<~+n<%0nR@S@ z|I8c%msk?CzMIUb^|l@6yg>({`WCLky4A@iuxs_*)`)Q0HlZuKYJwcra&1+i*8adL zNN*^nnMWh;VsQ{Ohk?k-%mJh{&PL0&9 zW+uA4tshJ`A|Phi3_8iAtyQuYEYI*o)1)D)m3#i)l??4$nBWW8Fc|jJ+?MCn~=lz_cJHQ zq>Wm!SqM}2RXQ6(Ar3+Ab-P37+p0>fW){neCC;u&JbUu{ts^3D7jE6@?Z~&jE4j5S zQl_|2(l+xK`{d?GN`y3yQ>qlrwcI@4*}EPa3*#yVYk9gDG`W?T(d|K}tc2!-bO@x~ zadG(e^(z_4M;v|7=mSa(G3jQwAfWf`^YPx5mKNca*BZA}c)b^{_3dW1uncb8p+ z)19IRZP4zaj*bLt2_^IpaDU}fr#7RtZG1tofF-uF|L4fa)kA@_LVL@aPsQ6Rr6`Ui zZ)57%tK+0GWPX-!e_-L$q|IM!3SWE^&TGkgMA>-iqw)t$wRb`J{_)LxR-$Ao35@ZU za=4-BQvVr>A(@w$m`H$rSQ1Gw3>Me)+^Hj5hURHr$cIwCQwiv6Jb4WLc_ha1DgUg> z?dW>2yf~Wi^SHmpVM_*y)BzTpoKKE&X7NGAj#d=Q^yL2f_V;h=g3~3PztqbumHicV zl)EYaq%c2!+c`10h9s?H%umO7R{G@DvF&Q0p>?llp_?-)U|GA)_Sd1#?t@=nzlqQ4 zYMn5%tzXL)b>Dkkg7HIb_VDb8+2+?V3O`cQSfUe4jUMLRUX!(NZDj7cb(Mcr!+%v< z?Yp8&uM>oMWN@?mEy>xzRs6pE9RF$%BT1grbV`y)bo{+1iG~qmc#_fXG-0H$$G5DF08i z8DvISQd1s^cvOY!e3xfV!W5?`(zW|IvtSxV!CaP9OLTcQ_1qXV6x7&Pnug55a}fpJ z2l>(O-_5~IFg};Yyjsfc(9be9kcLlQ)V<&a? z#7-M2t0OOxb&O5%+e@}G(;lXw898qk_&2KOSgh-j-^DDn4ftSPwj0!41Fwulh~NCP zvb;zjhY$PCSX*Za@|t$tGsY-Q`0aW%O!tkiz<>YxWhy!meiO!CX+vfxXY%=K(hnJhL;KZY#^hbZfO}v^< zxTvytP_MC#;h_@gxDs9Z=u!RkGiYb=lV68TD?2yWz|I>$33#Ulgkg9gW^8A;kD%M3 z%)g;gk(br@sAYTDRl&GJ91YB#doKH5A4Q-f00!PPX!eZM&=dE?&QwK0a+MDBSa+;C zrZK0I$vj!|^kweTjgq{nay<^VGjgg-vo#~1G3K(h=I(vY!Makx9$${o4&9gRflMiU z_hOE1Sn1*PuaZlY%y}J|c*f|}tN9l`i$@El4otOmSe!OH`I;s5YNvF|8he`M8-Le4 zF6RFIH7%r4c*(ohF7v`pudk84xm2vD4u0gnI%?$ev-{5}40XxJyPgrIoQ{Y}|kZZdiyJHTU~B|62g--NZ^oDa#e+kJ;5y(WV_4zBkHHmRIPc#K3uBPF&=-jlvIGu< zI3vLJVOU1Z&?G)86QB&tvk>f&&f#Pfi)z7LYr4V3{>*oJgc+XJ%)X2V*WpG{R@oy- z^#@nmpg(;-(yzrqz8^gml0e99doEn0pUZL3G!g3@o3K{M;X+)eJI);GiOHRfr7B1C zqy@{X2$=zR65qW6#Z zZ1@E3FY}3kT6zWsLL0E{KHVZ{X9$ljzJ#h`0SbC->5T;TXaRkZ41`Qrc6a87Pu$M7 z%B-gJ{U}9_tXv3wq|JnD<&?2nPHa)Ur-W<+d79KeRhw(@n*!t~ z{6CpH3kB|jcm1N!8IsS*z`y{f>T!238zcnY4fGk-6*)aePp@8G@-PeroW#AmHkox8 z7OhI!JF_Npp|jIkn)m`R=nS@nc{MJxDJ){(Mdbny{5?v{fsFiolbzL)A8ff;g+lBnUeUCBGS3ci5pCai%#OK;Cfd`w|d-Ym@YazIqHmBIA%VGBS3c*L>91(xNTu z{sKaLXtZh}ct%)$kyw2C&I)A!Bg_beR99E0{Bf1cw)N=`z&fSK`-B5+9z@=EpP%CA z)pv(@3aW~ok~LqjWt8|zi=Z%j>OM)0uKYQ2m-1LwXD5eHCqHxF2(mT1Na$}oVawVp zt0Vuw(R&Eh5;^#=Dnv-!A(CsLeMo|E`fUMk0x-zH47Ux~1o0O6hqqq9H_T^J|FREa z?MtJb3|RZS3vd|d1bQ7shJ;rtaO&pvx*gWl*LTqEkF)Bf*#E5Mr-)nB)1zer#ZAl) z6{Bt0)3kIEFN|LclgL?=2`4c5d=I=uz;_ zww=}aEq5~}aV2Q8V12`<2xk{PBydEock8@+TzotxT+t%>=DQBx3J3h8tfEre*qEh3 zcLI`I>B<9@ue-8(Tj;z|HB~L;Yu%|XEGyd*;`ziP`>_aRhk(>}ufOHNcS2VVJ7%)% z(O4NI)So=x{ zP*1U;^~O_-Ya(i2S;@CZNoD`tY%ue>{axf_GKeh=J(fzhg88-Wx!dd$tLZ#obo^Vj zY0H+WbCQDzzjaJ>3)-YQI=`*lN|I>3|NiAE79-90SlwkxZkFn?V}&0THaV!Hb0%*L zvhFC12Y@VtxOFl808Ks1g`Z9pCaYk!g@PL6mVoVC!Hj(f`Bz`Oc=6q>Re&uBtQ!>_ z%@g07e_$E*0N%ZOH$g|^4s?yorm?dVxxC8~N@M(1>TE$BkYQ^u?3K(@NZq;@^Akdl z9*K?d_U%Y8B4kcJ#tz_nyR6PD1R+C4Zvz>??>KH?5Q0Lv?$f6&&CP>n@-UaU*m+15 zhkQ4XUX??KsK#al5?(dHOi4r?7+}M*fB$AAgM>;y0NJ(pvtK^BVKgww%l{91?;X~2 zAGVKwy1VT?LQ#p2jHW0`!wMB4O)Z)#X(`e)64CIXsbmz|OVLmnl{RUIM1xYPv{T>n z%6&h-=Xs9fIe!0qe}Da+`#5e#wBGO6xW;*&*L4AYqHn@aMycVk z!9TynwgVjUKk4s%}-=JdmHI@p8)4uU>m-W{h$}gh~@1)?IKgzk#q9cnWQCFlQ~@_AjM z+`y$lx zIv5>hzRk#hdO`+a&{mZHqKU_g`ud|Mb)gnqR>z8fUcrCp`6dwF=9hgQ#$sG{;*%%4 zQLbO<0JZHx_I1s3?i^B6L%q$_Z}vzXpbn!}rth3ku(1FJCSb_v{mYjZZmdz`sTfz6 zc+|I+K*HPz{Gd6aTos3!Gi{mnMYXk>2CsSeysHXW58Dmv=2iSWTjvq9dGt(D%clIA ztoYG)HwQO1dAfXS&768pS?<_Cxm(fmIJ@O`LoU@fk_0!Zjj=u3<)3@u!NdoR6W43H zvv%7kaQ5~#epOHv6aMJz6VS>r?|{^q#LF36eXYN%e`|2G^D-p5pT9i&apzukmyD{? zi_h}&-vw}fA3yl`%ckAsmt;In-43?q{<-P0&%~U@iPN*AzLzZAy65uIx0Wx)zSuWM z7_{xI?LWcDyI0%F|k?ZE4FLvkII!4a4Y&>P?$OM+TwaQS4rN9&_{KdpoJpP za{R$()&_LM6>!iu!Uo^(RS{pn$$1r!eZCl!GsuW5pLMsEAUNm=DfoKTadpu z2)0_CWdKdX&k(rN2Srgv?~&MWyIu>?Fn;y+!+BBpmA&>!<{azO9FeGFML@k>ZJP zRTH+_{bG%`QcKAmHSc8`cgD+7qu8q*vIFh_AxDc&e(mfO>giUlVjyc@1dxdB)2B~h z2L&;)(id&Ize0w3gKJ$G(hBr7gT_kfPzclzP*j&BM%Y+LYxtIiqBG^}IkMwgwU_4iZY+9JQt-xX+l^cK zvp@XoYM6UbM%Vm=T*5(d$wIZ^2^IZ^75SFb5E3O=5+gNU%9rleBUaCA2CQ#TyH0xd>kmC zs&=~|ukDb?mi&&yj>FR>`!w&#s-Kj)ICf!`w9_50BgYR~O9}pElK-XcLN}u|J<)7% zO>A^I@wMPx}MTZ;36*S$0%rrM9*< z_0e2-aW)`kY6zILQs*8>1!OAEtMluZksKc2*TNd@qem4>&J{tAa>4(3Ru=g}XY_8T ztQbij`VY5{10d3ZWL>1tI?RjObwYlF(PuX`y^h^OEf;D4 z77>^P9k)9q9n^}M8hN2?V3{SvKIf5HZX7pMx~Pu!GNb_nU5Qyb`9R7%QOEcu)=r~l zbi--NWo2Xao*y-L+R3;Jezn7OmWN^YcAe}Op}J8~_q+}i=fwIC4p#&QpJ(!2_1wkB zT794M@4s}$M7)yT)Vk@kXCW`rVjZTdw1#PNYBvD=R>qbi8_|=y$4Q6PI zcFLSvG|00lXRFJ$Y~EYXz64$nSn4`=PXD}=r?!2cj=%3JwtZfHnfv$^=bonSORR;{ z!qsNXWn&z$Z~c)ND*c^J5G=;cy@MuMuACE7Gkrh!4f8UCC%%V3aM@=%@!w1l zYXTa8(kim7v`7Ui%my(jQH7(=oUyCBqdAzc>o_#{vO^s<0&V3uk zSXMDiO4$gY2f*6C4-$ZSaO6{ETl4d=%b@PBe_lV=^CA!fYB{)YlNvQ&`BC>C`TLrw zyuMuGiUy)n58YrhN9B5K2L=_~2oEpMh&MlW&KR3Zt{LekdJ^UpHAw`Lx0*HBonq>o zhMusfThYuJgxOsJ$7b>|9;HO)Qp$1jAovFJLq zNIM%zDpgm)I2v^LphYEWP0qu<2jIbvBi|gtu*yW_UP*ElR6eu&(%Jlrs7Nq?l4__| zsdd*+2wD|lqezRD-$A8BMI0t|USKYv@m4vRS+tZLa1g_t+9V>6wmyCOq@N2%J;aG$ z#SwfX($i{S`5v(`i>efyBcEsdM&zt-)`eABXZxoDn*02ExZrI6(JTq3=c^az4=idr zVWlo$n35*8d+F2aXT0M_p9mfs=iB;3Vo!~7#rrZL-7_=sU7`U8cs?q{hAq^Xu{_ZG zrTdKz`C{QuSMn2QG$gvcKl|-_^4=3`nZ2T|na|e=jL!eqX=F9EaRcY!j5BGkK96_W z4D@=cy7HOwHoZ^S^7V78g6QUB2M3FbgxGu1wX&?<%N;qQp43Xg zB%}YXhp~VPH%61bKrz72p&ri?Tf!OBFDq*WI*w7q2eAy(bppd#Z@f+- z5=W;7QNy!Ljs4N8>gs#YQR4pnpheqm7Z2N^=_8y#qKN?7jlMu>L=S@2cSfi2i0ECV zP;zSFk|q3hVp3*0K%5suA3YP~oQ2Q?Whz&IP*5o@VpMACI)CZXX`tf}kZv5GE{keh zP>SnBL<&G_i5eFz26)|Hh_>T3l49X{dW)MNdWMegTe!haajf3U2AJe$u!sw>KtYmjP@0^*;FisfwJEk zo{FH4Hh@O$e*d1IW+66H_4&pR~C%kU-)Z9+LG~Ina4(k4t_pip}ru3Z~jV|)x5sp zYmWB^q&%|`33%sQzP9u2ft`mGbM$~&sc+a>eJH77*AkO+wa>>b^5z*V+G2Ff$yw^IOqtHe z{D?&yH!sI$$821iJB$6CQcQ@wFqdklCpJ9sZ(oT7u~J7`>m?mUC`b@1d4Zs{1#%ZnK_}Gm&>)?2P>> zk4AOhA@cE6 z+bmHx|I+4-?rUlr`*tW?WzSv_>`1<49;JGT zi6_1t-^__VanuchDl3ZvgE=de!)3h@c~YeVq8+Nu0!ogDCl7%!Zm8)}EYbVk)#U>n z#H-hrWbXQ}QwGlsvJ0~$1HZ}cL?r>;eS9Gm4FL5boi}_5@PABill*(ywAGt#at1Yk zGA#+)_LR@zB86qUn<3??O}ASMdC%I74O0)al^i#>>VDK|(WEL!U-(lJ{&ZiBO7q;;zHCa+{0jG9zkV&# z5~BhMWWBFYQ3S+kE83J&G5g&wO`m{J9oEzHK}CcCP?GzdkQK8rKxxRM!!)9++#&X@ z7$TKFDut;mV2`k>JJE%mI&k3UUGpwSc7uLxH!|iy25%d=R1e)9(0zsPoXoLY#$HzVe`|QPK>NZNXYjHiXSTWF z&pcnP-Ozr-+#(7?iDs{f{IN9DlDpLAYzH%{JH;_l&fv>?PGe=gwI)rshdH`q9!6ic z&33<$6p{RVdHw@$cBj@QyV!+7Wrw((b3Ty>sDo!#fmW-`aS+Fwl0hp4%22M%?(90Yj6u&%j z+HXV_qWP^)jKwZ1kIk{_`*bxxKWl;awJrDARE^lyI~UxMP)YFMSN?Hl?wmOTS~0rY z>USPc(^{O%ruuiVYMJWIJb_C$`1hfE zalTO7E^l2}Zg+XrPq(#lf;Uyp+@iDg1qz4rG=dQBYe4ME)o@aS5Q9&JHGv$r7;kHSO;1el0EkAdAwN} z`3|eg(O?`*%-;-DULJgs71b?Zribe~b-?V}BBvbrA8~i3W(Y3`5qr2reSGWe5Uw9v z@@LJw#+({ByQ`7sUV%yB?2;2^53k)`>vk#OkwC}D7nWG{=Y!@tSynuYeP z50aVFpG((T7@@VQ(rn>j=RN(X74dBCLiVm?cy0}ChB@Qq}3zc?Cc=qiD^@(ONXki^uQto#E=SAYwhb!QQq?U0@`|V0ym>t_H`Sg z&rYxLTi{2%J&;S15Py<>Snu*=R53(?gG2aeaQnT;U>?B|`*#&3j3p)+%fu4dS1_gB z6J`+uw_d;h#pST$wHXs$uRXuN+&I|Tdc|t(uYyBX1MUkXgpQv0+{oUz>c`Q|7bL=7 zl#V7XRB}CG7Tr|vT{dWo%gV~iT9L;w=4R2?I@Y!}HNKr5`|%vl8J_2?+8jvb_c+%t zIFj9dQTAhAv6cAVqesoRrpYi;a;_E>>6i2UIJel#tIn#H-97!PaH}%+6|=7+$pONw z{B&>0JGy#aANQVGb#_ob>x$Frq&PLDU9rR8?XGjxYsF`Kp3D65x%H}MV!IWS+4H(O z=Zcc)?~)F?iH|yh3;G&o{*XS+z5I-xko(2G%8E2j=G9A3AOP)?4jP&Pzv$npqSCPS zuj4mV?#S`oX`_!R#)Q4az1TyvGp>bf~~g+kvERn-eMSEZQ|%_}#0 zct+e>vChW-m`Uu#fYy<34W(=uLYvLUWF^x*o;h!tS{Nm5WU_Rp_7UzfpVkv?$EIpq ztX^kh5inn9TN`)$r}%Gj*EFWbCohZ@ntkkJ(e$oPp}UV_w7y~_EeD7H=ltheU+0^y z6v&+4?WK6EN`*JAnm;i`;!>)|f?I0lYt24(ToN2RBRAJd?9+un?JEHfGprp%J#Su= z6fB7e?mfJ6`~DBhBeET@o#|FO{!V3{dfe>h@edsq6G}?OKSft9*q9*pv)!Kmna&!` zCzZRb=7H}hiVv<|yt^P<{_Q{k!yUeh+>`m|1q*ggzrl~;uNZpCpnh)>*G6YWMn+P5 zT0jz1#DM~1RDPgRA7Tis;X-wFb+|H%Z}%jeu))vVCS(!ez4+QgW5M8!u8pJV^NDYK z)ft$lrv9rBm62T5OdQ;OrD#Bg`J3ow9veG*j(13-;mLL+{FuZ#0~%whF$4)jf)6N$ zf3}t`f5$wkLKX+v(M3x(i@Z=~LhgTwfAhtaiDVJAC& zxxlc@Ulk1Y60?CYvf};QU3_A1+sIe>`Od*b-nsKH^f%@@x9-48cn@Qf)R=e{Yaw+( zm63U_JhBwZPk98&kO>_9njP|r1Q@a-E=-PfxtIL-U%t3^e?Q}o)^_)fWfka$O!JT# z?kF^ae9SXx9GH65+>FUlsKMW_8ZW4B#{8KJ;7i;`K577t$L3a^m7|9w6No>|d{8xO z0}_!kW|9KzKhTkIOLX#cQTnMjMZ)H*w85v|efV%HSU7l?;?x6}SHEsb5a^~jp8^OV ze(_YPsi<6l`jt_#pV^h7^uVh_W1oTe^VLjryMttqrmCG=<=VD`%e$#d=kn6D#$f5F_HLns9g;K zAP(??MT=;=CRYXWWURLlWP?OSkXX38+ZPgY+wzMsov-&j8d5?SpM)Xp6r`e38f8Qr zaa%TRVh=1fKG}y>q}z`iSwscVuqUKuN|HUWfB#~hYmi(5oVWx8Vx@${61)UE1Kn;m ziMf&7mOz=ZGQ=TUb{G5m`@e%Cgm^-r;wKVa`hWeRw)>(OqlW33d_qEVw&w-5K`-Iq zJL~^Bm3+Lj&ToJFcGrpdrS>^9=--X*F&6FQ%Du8+b%d*e7N)k4I4Z-ZxP^QR5=Fp3 zJ5WRgMx6S0Q@3C^*4W?R6BYo4L3teNRxT8`&`?ZFpn+0kz7vf#D@^6ZO6I{i^}xJk zo$H^8LUPP7yo`q9k4qtXqgFrkpukN3z)+VkKj4Axu1Bjle@B>8uDh+tzS06rP)psAR8I49? z3lu0MsmT0$Xy@HkQ2191fS+CIj{p|j_6%$pmijXK)6o!aq^vJdS`_O77u@yfIZbIm z!9Gyg9XLv8&O+^4nmRfJ`hVlJQ!4!#87q}?pbYynSg*e92K)oHNO@<0#GH!eQb*CB zga%h3UB~3y2Usi&H{A)f!I}YG+s$vLo&hMZ@@{+4&3-TD*OG2r`zd z{HfpD+h3yMoaPT?@S=!{q-)fY6}9{jerRfI($_2igOi9OnV*bkgbP07 zy0I6JhWtPijw%UGX@m&Q%d=L#(CYX-L9%Sfq<`k3o2 zD11VshlY4;;JBA{APFNWGW34i4;=7LQpOL6l{s`nK~s}|8;%xy*unxRlJOdnl6#KS7Q|QZ^)~m!YWy=F3ST zGUDjhY0IHl#(0Gp?Ck6~i6mi#`0N$0+ZY>ksDekITzNPCw9)kyR*j7T9QYNk_ucq- z>fsfupTmO%TnEwuKbYzBzOYc?*HIO-@8B882xGb#&84F0go%lwf|`j8R6jwUEwkGa z4Z2WOat$Z;H0H{}HdtF*=i;-X5R+2ZF7R;m&gm*w2j_qjfP-*xa zrKzYS*o82JOdrkdgNr8HfbjPIXI2p;u^Z7)CtqwDisQ?xB;$L#UO{5?87=~_6ixl3 zvkV(aa}q!i8iE@l!;bcbg8!H^^F?rd|G3~kW^c|h7?bNY5SJ18h*1%K!NFGvctcw+ zgNFV;wd}#)`oSX8fJy{m$MGUG-FMyeOCVl~;sy1xG;jGc7#OWZ4f^RhXf)9F?F{P1 zKi~?2hjezvT_6s}a^FOY1AixbO(Uz({bF^lQC+ez2HagpN!diF=5W9~;J{BXTLB7p zl3G)Bef54_eV2a!ot#;dJxEsd)d0KRU5srNuvreE?kd}gR2!W&ofo&S%>8djnmx!e zhCAr7Rfsqj@$Ww-w1(oM`6^3mUtRyNW>cjbwUCqDT+aR;N&V0;lyAaP8i3nVfbs(2v_am zM9tQ}_81@eOsv#u8jxlygE2}4osrTxpa)Ix;v+w;a}%D9c|{OY6m6ZWI^MQ=AEJ0|0Y zKGh^_6a^THTG?4_Y;544Z@gZ)K%u?&*-YPqP|BHmW(sSM;UDk$ldIT?!38h?&Rgqk((C{ZOMcTtYHc3OD&lQU{nQ4?2Ff?Wz)c>s@P_ zpB1f|9o^J(77fLgtzPLl>CM2d&;4)fRfhBU0Q40DO2WgBx~nkbhmi{pOvqJIKXRO* zj)a_LmL8B;F)Cd-m!L5f=~ozu2y~8iYU{x-;M(P4$}1ZKm+QWL?~gMFd}0Jq2Ji<7 zEkLygM?EM&@}?*#{*O~Lc};zx$l0wWX5_y;DhjL~+6K;I(C)v^%ez`_Y-(zV!GA!# zxG@T3!TkBTwdz5RhR|&xeSCgG(zjq2;wSI?RCspAc8s#5g7ah#ly$8Z5{lc?eYg%+ zDKB3~Pfxf=Y}M=yY_dNFqmDcxIrXw5NQm4+xHYt(I-~i!jNJS3*R0W8CP|{Mu1=-6 zZ_<*E@j4B18>=}!oioIfaedv&l~=s3%wN7c>3HRQ0fUuXavNWGjhOuuzq-R)oJ$~| zrDm*X-Z zxmIu>tWAsK@BIw=@0fTr+>r9trc2C1p{E~M5TrG)l^a&@k!pXu;`G}cj*yX9^gFwa z_l3Vlz?(JNm04#V6PMgqw#^hRJ`X}=Er#8}SWdw$pUxU$_O*`L2NAd7VrHR0LKX|1 zevHdy220enE&ZX2HpcL70ktDo&P_l!nS~xp^@8xvk*M^pLsDM>_Xe%&2DByWQ4IUq z;X05K9tn9|onu?r`y96kWF)d?pxz-c^#}9O_IB62xNqBz<+|Sr2rz-bgr2PT0q^g1 z$YWffyY1j^Hx;<9s}VGpKVJ{FpNM$;mV(F0BY<@Zpc{ zoQqc1Th4F~F+Wr@WpaIT&y=nS)M252Uu#B3d@(@l-p?23shjJc`Dl;pdHblO2C7WN zY@6S#fD$mhJA1Sj65F*}3r`Qf^L4$2sTY#BPi2_-+c}uVpGbbf;SrO z(L=*pP+w-_?|2`9zwQRj z63G(n&gxTUHNReT@K^V&Lj^?|_xG_ThQlYKUMUV8d~)o?1!p`gnnvx!h|+L+G&Dw6 z0wJtXI1FYz9MRM^80J!mhLbn3$ij9d=w`DCc-;Qbts9qHJ~@m~ApBgv`I+;-FiB(s zR{a#7_2wLj+Ld^><6PqAsxfUrn@pAE4?TdfqBA4$!TQyGL&Pqj=xwkSORtEd8*uc! zS5|znAsSiWh@GiGRPqE-lzj`s$!_enYZR|&P zZ?VagMU#i*@oES>_9OkMz+JDh&BpnRgcC0oe+YTVcVGc%G5^dfTCw`5MO;g~g`>D- z{bs0_lo3!_NSplbuPMjr%PDac=*lbn4Cgi-`zp1`4;xh|Ji%u#2-z|;*LTFGDC-6?whLJxpuz{aVl=ilUWpNnTEmVE zVK#<($b<}g_BH3hs{IQ04y~)SUoa5`cp)5wQ*7l5^c#zcG-tHuBPa^NY;J53<8A=i zn6-D#8t4YHZJ+bu^!o$B7_ExGIF~kg^4>w!UZp)JBe4R#&Te?}x<14AXj+cxW}E!I zU;V;=tk+N7W7k&vyLMg+McMxO`0hHkKYNM4d;PinvFma40`NqFgU5cdm;}uKY{(Fv#bCI1Z`E#QFqnV?dS?3S;wy#J|6=5xsY6U5@N!KHGOl2B zSFbs)hTpRC7*?Lau($-2$r#r=7-Qo6(?qg|Rv}oAx)_bm9h>pzRUR99?Bqi~y&_DM z3#d268DB3TpzW=OSI(XI^XBeS631U&avp98zxe9fV&f0nlL2JRWXTCq$QdU=&Yim$Olp1wflpQm9L zSh#R_q=;XDOBqk#&cXNRO=9X`Q_YQU-^TZ=)uFp0gP}g<&$noLgWe25rJcr@-nzx+ z(gU|$(AFLE7H{FwM_0FF)!o~tPu_}La}{;<03=mvQUm>#Rsnk*YYFwD69W7+v!b6~ zy5irjg+B7vEr0*2dT0H450P}Oq*Vd}X<_M#Uq2-E&#%t|;eBKMk%zGrcA&WB=!-5) znWg^Sk-q5EKP#yA4NAK=NNcl;S|>&n`N?cS{E~w4sA>+f_{!|te_ZV`j$lbU6BwW@ z#qz`J7H{}1Yg!h%KV)-Mkqy2|latO5gONBB`Q$qMs_2_`ZrGQY(^ZSJ9$iugL#!bN=_AX&V^-#hU!@n*9HD zP5$*G$W13*Db~SVoCSlqodU{-FctQ?QzsWEm#c7z#^Km5lm(5L?Q zpJ^5TZ>~w=<+H89rnZG^0-N)e>g#+@C&#|6J1b>L^p}R_$Uwa!<3Qbjwc*am@k+5L&CL|g7w_YllW zBf2a(yqDX*M$aiOzF6xkvH|Db!nK@e+^rk+IC?HLi`MU?NL z=WXk)Bg#=7Dw^`<=X{^m8eCJH_zgc;F1-^J=jV2ZyZOMzs+i_w%NQRbtUYk*I9J%9g>iwrBi_ z%(7d!D(%@AxzQ;I>>r|27We@?$uVzL6gMGBO^z?tJf1W0yZgwx#m@PYo1xi)cN(gu z*Y2%6a?lvBO-UAoP6)H;XGk{t?b^`q^3{8bZH?|3N<_`Tw;~)32%i{htCF?8gLGkh zG-qNPCK(jNgKt6u2vkaK)V6wVj}DhXNF0SyAA(1anz;oH$Z9n`d zrGz5NeQ9+74Z4J(#-CVh`pNgr{6JvdjC?0u_5)Pm^>u`o*H`n0vH<7}N;FOkIx%S=O zeCos5;F=7;XdljX#BqY#%J<>Ejog}Erp~5-+wMnF!NVOFi`@D-k=i49)cLN7)0$E& zoT(}$Vc%Z)!J)yDQ`Y$`MeiV*TBpek?U*a|?XJ0gBSod<(tZ2&T>7ghaRbbzjK!rl z4aNC21CJx$2-y-%5u@86hIk9z8zi@NJu`%`#1D@l(ialbhu3bt=gCuKk?=eKLV|}7 zX?$;Z+AUU4^-HR_+m1zR3lv0Uc z87BulJJ0vUzw*)IY9Iqd$M5KtVmY?~YTKR=cy@SkpYJ z$B6ni3MJUmYLt5KWWDTm9n4hhqpJu)wZ^<5zyx8shh1j;T33lEtTizUoLwUQaB3vzwYVfs1|c(%L+oD& znAWaJO{2wUTh|-6-!*QLfEI^84Q6X>do#6KQAn2)X43?yJKdvm13$D{xCTBsb+0)0?H-*l z$|m4T#Gr3?A@2ZPl#uBiN0Yd06ENcC;P37LeKW%55R7EoSGuJwd$ddG;?y}}fVh67 zHJqwD`_;RzE3>;b)UK@Xna$VU82#TH$R$Ol)ekMEZrC9cuF2ghgU1sej-4<;v>h z?+ZP>904zE`Y?DExzZ^?7w9R|Vr#DEED{zFp(gO9) ztw-8S7!%e>-Ao6{SliCj8k382B=*r+0M^jTQW7rQ%jI59rBp%ZOqocI)) z5?{@Yc_+#1^6QNd_u***HJwG;dztn)cd1?}$ia_o=R&if3{jC=Nk29+Sq z|)!G_BCqe0uCa@VX)@7*FtHv_eBAKC|c5)enZ;x#`q6`FbqcoQneZ#RxT z^i$P4{J6Hw0e6f;fT0UaRs5XLOplPpuf}o5RJ6l=>&MAfaK};ro$JOr7qj{KUkr=8 zz=O78BdJllEl#?cncP6F;Y}tT0`JxaI1B;x1k$r?@PT%y6CPO!XVJD=%QQ~4bngnA z-7F*6=3%t@*D#L{8Tx+EErjWa`x*0uHqQ)4V5Y}TghaXzhSAeDETXsLNY_EPkt2XF zQ?dXs50_fG-dyb~Ee0aA3}IzR>6XT<`;9o5cW~aKio$y(wLv;D9bs@%V2xWcKbzC{ zaR?lm%_F_ln@c>p5{>NJR-E}@qrl1;YY{1ynV_T1l>B;qQw45_q9xh>_h2PKpKism z%DE{xI)cjcJBTv)70O^_H=j6Ue=h^(xVqkce5gQ9nFVFfD##c(3V;RI5e$L@b$}&} z;Kjey33d+VHvrs|G3a9@mRE-ohHE*+)z=up)ryClF^+xH_8=|i%;Zr&W}hNIm(eJR zVpzrAoQ7}C@9BOpIRPR=;SzeTe|(Ft*1E;LAMDCoU^gk&R6%_+g)A0vsp@Fh9EQ!f zf4`do6lUFVPwoIGZC|T;*bM>KJHUzaUX7|nB9K*J5y)d^fi*vxb}|@R5fjXRQmcn$ zxJ|nZ0=q0i;bwA~R0jdJiY#$e>74r>DG6KF3lP1zLP_KR%Xy&AloQZ4NS08U!4E0<;sH4m z#ri2sNyPGEK*u+@08$D@pjvgdiz8`OxUWCCPWqh$B2jnK*!aSzZl_;AAs4T_|kkASE?mkxB`nHDs&@! zoZKsqTO|hF9pJu46+H;EWGG5Wo%iY5cd*t2*ly{b*NYTb6dt45km7;cmT6l4Nr;-2 zlbP1m#X?V;Vay5U zAL0qSI^)0=+`STTtSL>Gm$$-@?PozaVVB;u7wp4L)w%2Jp{)Jk3qWxT zxo!NPQ#s57Qiv8Z3S1rd0W6v18sdv0J%1oiI5t=MXYPIbIm<*>qKjNH0=1Bs_>2v- z*~Io_c4Y`qP6Pfb^SZ!Z@h zrn}~tiYvU{s_f3LoQZKkooAxx(){Luuk6w9d`{>>7|10`d7h8#$Twyov3+BBtTNDq z+DXrgdZ(HL;3TGT?90*|BpJJGOEwlXBX4~}M);a=#yW)!X{E!hGNT#2jCUwKr<_mm zo}XPNqe~7& zjtTNg1s3u>)v+_6+F>G`di%mBqz}sdK8+dobQcnaJgN^J=;~>IvZ`_0r`>Qniuv@X)BPX0|t}FJ2t+xO!ZAJ1{L{-|MvZgb*%VlA zV_$jGk@S!=8k_VkKM*n3A>G*odKezdtq@5rfgFMw%S`2~nt2kG1$zIzTni^J*8qA_ z(syY+IdOO{^7X8NdJDCYTb^r*>`}e0Am-THJcfmgedp-fdox^B+ONAY$Iaib5Hxx( zpoG{rYhrI;RVcqj7=e6m&) z2~_-HZ+#8fRz&D!b*ACE#*yB{_kcVRzmtHEhOyY;%;B%R6G0%hq`|WTs*xX2A8RO^33Fh?9Tn$y*q-~ zj%D8X#gQ04BI9mpTRx`fv)lzr^MO;q$X2|=kXcnU?I9Fzp)sGfjG?cpD$;<2Tp;`E34_-GR}10L5$Oa zehGTMdDv~lTMkhI-(ySc;fOX;(2nw%K&D!n z+xiI?ICaW#QgGLWYsBLoBZaLpbNn|rI#5CUjC)2RlFC+?=OX&qc*S)%d-0mzS1F`{ zK&KbM_Uo}CF!nAT(H|vMt$;4d!GIEJ{j4GsH#crEYhS=gx!!7Rs}_x%5j7rUml$v) z0qy(&7A+l~T|ZAFW8`FVA-^M1DZ6^JN5<%*!MV|3H@MNm?@-G58+Y>FmqEG&pqdmR z%&b83jSYReHhCPBpV>m%(MC}SJ`-@RYv(;bWbSJ*aq11k)SG$EnPf3F1PlokV z<+1~N-b!bHZX2F|jaG7;GMtgX2w8NbJST;peZHWBA5Q@c={K0);TPj!Wc_FE*8wz& z3*%x7G`1Dy`SD@~u`&|t8{}Ye}h;d2#@;++AI0S)dF8&NQ!V4Z-b^b zLW=t4^72zbSl+nGPz0&P6ivfKM*>_i0~L>iChWeUdcS?O2OUsL$Luqp3?C&&9XSHz zfu%nay~B;t+iLOq-y<778b2F$CVHW$){H+aMC>1ueEeo?ws_HGV2RHU`7-}Mq$?(w zP0*S!U8~`z2pt9F?REvSZ)xa1t!Z6xj331pM}3LU>?%SC8b+BGQSYgalue@}y~SB9g9n~W1AsHebg?J2QcEP@4Ji7>xfZ|EGJyekb zKb!=91=95#O-}%guYgds4~&9FLpAzzLjH5W5_g$%o5RU*L^rK?fvBEmQ1hAKS5Z`V z8=>|i9MqUZMaJib$0yq>ZymUu)*QGKZN;>@BuV)Kslt;00V2$!Pu^f>r2cq0OQeMI zPyO-Uz~b3~Sv~p7hZ8175-1}hI3Dp}V3e09+mI2adOs>C)32L$R15k1py}i4Gb^(qrGbHBEE>snRAv<(UcI@XXg81rAJn$An zd(HbUl(L`9>`ddxL79pi9ec=l!~hdbLfU|)Q?)(*1(POaQ9vmR|FL6|WSV$zN;U%s zbr6ZaoCc;N3mILV!8M`w=CMMSn#82Xq##2j;m-cf5F_Mj!vLNFn1mBhGgGlWtpm%|UI(-6dhRMeBp*++2x2dW4BK zCmP`yq$r%Hpq6AQU+=|dfsE5R&K@U7H(U>eWp@tjsrs{#RX6qlqNQ;2y{fW*D0;2YIb=7 zVUjVHTCR5mkpcCZDu&4&t)MYoM96rSKbeu61I(aYFmSMj%CJ=ygvcFatcH zh*h_v*c!R&ewH-0QZ1hl|G^J-2U*PzZ=Whcf*g({95mEgv=tz2Gmq;~6NR^_XKae^ zAwJbUl^&_KOEVg2(;5ZJ?Fl6DiP3UopE~=ER7dPhIGR`kHNMFw8%j$8-cZRxk7PLo z@?HL)?mUD|{0AP$9B#dx0#bucGkN*QG?{_g)d*gTDbrkTm1Ps$@QcobNY>AtM9fh% zOa~5mY|6Vm%Z+iIib18_M1s={k>VTndD4D#%K$!nN70lkqTNSufNHIj3K6n-64E}& z&+hCSd=5hRL%PSI{AJs`h z5?G_#%;Bm8SG7)uozOwrAoYWpV4;055$Ovvh0B+vjQzoyvS5_dLs z0#r8Gq4%#SFkB1t*9w7+cnIWzz-I#fRyh4gGJAWhW!$SDv0R(}#E1qtn93Lp5fV(o zQTQX2)A*$Y36e14E@mOyv=x3txD`oTJ?~eiEOav-K0n5S*d;=_Y3;~CX`f7zcZEh& z#O?#AGrHSGVAvo+IX4-X0bm4(5M6NwAtOi4&(gtfaLoZkAS&RlB{YM+m;_YeSd9R- zmVwl`gP^o^uiVICe@8g<0a|CWJbkZt#}gGtX_>IdtFZrW#N2Q_=P6`uFWJ%omAR<{ z(tIY_cw6FBkzqU0=|wc0l5aO@OLE;Pn}5897#>z-(W@4iE%8EDV$l}=1V5x&1HE5S z_iJ(ovA*%0wxj|cB`j^UJcjkgrb*CS*qiQk(V-%pc4m*bR|0r#+}YT@5E5S2D>>pU~VJt!zuI^ z-gFFu3@?lgJk2Rp)6i9m?1bwOlo~+bUV;dbbZ}mV7_eYOnI-|0>F^CPb3Q^$AM<70 zACpuM%I7w_jkmekB74;^cWb_}*EWwsqdDTHauIq7=|y!0XrC%vbWr*R()P@H_d?>_ z>Er@CKmrb1axl8m5j2MC-}_l>!okq~?&fHm+(*Vw%hiZIQjYbKv2S% z-{BQ0M~%!jA!o-jYIGUYZFK}OTjFJ1NU{PHZ9YPJN(lm@fgB@{=T$yV00KyJO<12N zw}U1v0i2{XPOpBM+{D-i95ljdqd!WRBMpmNxR4Sc0arp1LtsW8LESAMD@}gP!77kLV<*q(|0k4VIlnxaK_!Y1Oiw_T6{Qebxw_Si^(L=e$r1RM8_+w zxAUg!#3;t?ARNR|P&3ZFN7U1D>Ggx9YUhY10@lGZ$@Y<*MsTAo#C8*D@shYr3KAbr zzbEHGtOoL>DSs*ohN`2+&1NwYb!6cqm^mOPiil~Vb!xF4ZHnFF5 zWid@dZT9$&4&cQ_DenT`)Ca4d`Q{HMmnrGT`)hUX~s> zIGRbUeBkLvq9&kR_d_?rM@XhQnt~!JPTd4T3%L+~4oIBnCtH9|)Z6g74js>PP^Mk? zA29Tlkx(FT8s{_n#GK*>(xQE!3@YnG1!92cngJSM8A0b^uS4=n2BT6|APCavATeV_ zmJza4?Rz~FBQ-gsUqxcOnL;K?iwXXp#8r`1tNya6e0-SBEtaMgDPOchJU-&r>dno} zP+M!>-l1IxJ*%3T6^<#(2!x1$vyUxky<$oSp-C66sg@NWl7XX*wDIwXa5uOVu`@|V zl9%+rM{0wwbniYM$L1TTq>}+jZ42#1Akxv;igO5a!YDFDx4d$+s}=AWL;?d)%1>g$6Zo~vKqk_7j|9D|LC4y3Xqr#b6DNytu0Du5IhGa{~0w^5uZWG>OTy#qs zP|`3molU?}>Bduz!)k^t)a)8okHp%Dz{JK3k&G6pi`63X+EZHQwdACK*>`|c^uU5j z2`<-ls9Qs1F(q<1-IJ?GsJK@)rCP|#14gV}@cs%^;G$Z`GIFG-g%TYw3mbL{=+_{G zW)^}5Rv%iSUjyk9Q!7eMBcK4>phiz0BvC3)x@$BVw}NRwt;7G!S_p8oYX$TkD#x$f z;6qxlM_~>}^+3#LK@v5ImN5w-$LTFQp;go-5T5g}NdFar7E{FE@}u!@X7cC!?zFOl zuT1#aW^RwhO?s@@w;T3MEz2$DhgMSbQ=i88RZx>qUb~g)g$s}q<$ZUBX&N&iDL8y%4 zPdi@|N_(Ru^8D5x^1r2k6m0(S#}B+k3{GB@l;Pe5&MuiDxJVC)Qyjq*i710n%wWo> zJRuOAARr`EidIK`*Yw9$A!R9~bO6e)m0)bm2#IP5iQy-1lm1O1xg|hb-FzEaXuwdD zc|Wi*TNq$|t>pTm3DfSfS6RXxzkB4SEt8n`_X-Ci{lyF3t~!Lq&XtuVigw>E&OP~> zWEjAmvsOqZee6m0oihI@v*5KGZhojQOS(Dgbw6m^HsK$~1dFog^o_m>di67SSX59- z(6_+eUbip3anL14zx((Ke%W%zkM`dmC-+!Tae%hk`~1(P$XtbjBh$i5#RoroG?%cP)GFI5UUZ9|2VS1yq6f#Tb`qnMe&vtecMk{Vqrwh&D+WZE7UbAzA&vOL} z5P%7c5xpBylMrSh@<=-%1*VwNLRuUj>E1V;&e3772vcEBR+1s5uQoeCLM$JbbXda} z-G(QtOGtM#X+&)4=AMq$OffkCC|bkvBvfTuIj%0LNvPnZ2TDj^uz?9&%&@UYCuxa`p|KyWJ(0%EI-P?ah9``7zT zP!|#CK;a~-d0XSKGR%^C;sAuHW+b+fhB+b!qYOL=AU7XrHPPRP01#DsJf89e5`QrZDMcd06bVNev|eFIZrule17QnkcPGu1|n5bpW{gK9v@A~_9G(U5TKexEiT zhQJJfUQ_m3uYk&t2ua%tg|$`B9I!2pFxqyA9;l9K5~*Y=pdK2OL=e}m^_kI#zS{_> zk^B8#t_4#UUC;-Uw6q$!A_z9oPiR)g9)bobyJlA!xM~$))qec*k5g{r9 z7C^d*i8vx+0|cbFP?4@w=|-Z)20AE6H=;>%c0ojWut&V|E1q|b{hqB%=9UU~Noo4_5=%iZdBk1!U7FE($>-D|a ziSbUY5p~KnbqCcwLIh(^CjN+F9g%2Uf=Y;P4pC?jj~v2sTEmKW>o?~VX}B{<)=OAR zDo1DDWu=P8SC=QBANs&=ctT6G>CM#yG@4!?G4*tP6N-eV9{Y`pYsR34tLU zFiIBk8=ON>NjKPHH$RqY1G<+H07)jeV=p)JF0OCfPO4$0JkNBP5Nk*NQ6ufg9`d|z z;y?d6cHI9;tM7l)d!GoK1bSm+a^&dIdo|J8)+3V`KjurczU&6J-{96ANJ1e5$lWBc zZlb@*@jt$K@z<6Ax}pCXP5*_4_y49@@Skqf|9|zmrK1K>AN0IJUX04{43v}E`v&Lw z`6GtdoGvRBqmCy@oly25h??d30n(NMZW#_O?ffvaz8HNs}Dn^&}W=c7r-)C zNpbmt2;Aqr!@*myqQR>JEbMBpv!e+%AsGEeU|rIeAU~qQGa>;bP%6(?sfSw zz5m?nr>LWDxEC22peSk`m*$Gnaj)#T?KD?{Zk+OuI69>iQddK~Z6NKwq~D#CnA4{fBq3qlzDZIa{(9$C2#Za`->sai5vXZ$Xm95W;1?<_lNtEa1HN_ z-(=LZ%EhTp;O)lG`za2car2wIt_*S2cD~#K)T>F^YIFZ|*;4esP|NcFhpo4UH&Pr7 z2IEipqw|h6sC#iVZ1S2qMV!qt@1(=PGv_jKAC^&g^6k8gwBTm2CZQi`cQZMCz zcS?U{vRlU2y;ZUW>-YSiuBPT_^mOj`TzM1SyL9sAO>sTe))KAQ;-=-TCC1jGj*8=# zba$Kku39X7f5cmUt7m$@9{cRvI7nDDUo>GkdH+aqK(Yk5SV~Zw^0I%R4I@@Is*Hj+ zAU!v1f1qtpguG}nUELOt-irPx%ASjwwi(qR)yF)+C(vUI(+bj7koPGt13WwIHauSu z1$`h0yK`0O=U<7@#S-(_tQ8&n17fHc!=UAqpbA(t;Rg53Fff3pnVE`)Gd0|gp-;l*W=!tk7z}s}`CIjxL>g~PZL7a50ssm<+O?JzlDVJ( zYh#fn6cQfI_(61l(^V=n$00mFAvFQZnVA)6i``}?lniBH@guGNI^gzs0mSEfK+O_u zkOQ!appIeiO5c_C1Ku8hOa&*3?PesMDPm%^<9!xtWeJ2?WS%|xRI-Cq0F($tjd;=Z z(|*)glkN{^cNki_Q=1p)?xg8SDCla;hVs7d2#7IQN$MG5jp|jO~Mn1GAE4;VJJv$ z{dbO?bfx?rpZC#XHr;2UQbG!JKw;XkIsgr4> z2-}JK3s`!Kwt>@G8VXqXx~{8CpC;MGdayPAicU5}{=)FrMYa_PhVO&BeDZ@)651M4 zMKYKb$nMf?BS}acDsa;91enJa5&wv?yoiD(IU13c*j z4b3jt)`dpJ=B;lIQ%$e^_EOXNnnspRqO-bIj85>`Xl;}HmsfRCbxv9wuj;I*Fjbkn zINQseRnr}0)p<$K{o~`i+z+K-#v|ldMduI5B5H=jxW~~S5ElSvph*o2AgL&0wx2z_ z9Zp*Pa$Ffns~N+j`q+AkhgU*6q1j8W0ketEdHn8oNmU7;g=S_=GbyHt8YT}kX&Tb{ zl1iey@;NWpX5S^jEx~~#-qCIvB(w;lJqe_E`=6V<4lv=6m1WNiIQodtwPZuHu3e@A z_1-Y{=MLPjLK1R8G*h=I^g5uhE&z7XZ6>Sgbq(eIc_!PgaHAgUT-oH9lUrx0qKdt) z`|zh%I+?Ccc|nmQot-g()@3t(?wiVFm!^EFd$XNXYH z7fez5(%C~N{o%Ea(S7km6scG)OtJ!Pf2fD7bbB^{5ZPPY*3JpiTEpT&>~I%AmgtmD z>Zh6QP+42lBr4ITM*OHR8B8Dmi5rs(fspSpYrcZF=pBKx2P#51lNZB=o29k8p6kxv zDw#E-l|58q=vG=Ycc}@R5bC>+F`Hs+`@I(H`q%lKMADhbrH^Ble&;_#eDM)vnq%#bBmx;Jw zF^<&UVc@$&t`m0cBSM5at=X8xn#;p2T)oKs_R$uJuFCK}9VqY;x>dWPFQ|Oa=-oph zyTnqJh7aVi1R-%~=9XDk@1w9LysCfAJtIboG$vlHm`Mf?W#P z-p|ex`csdKrieY=I%Jim_q4%oQoF|yPn96cylF|-_sco?vf1}gWH%!p7BtGA9JhQL_qIcI?nMuZ@@d-n{aBue(Te zq;Ea~kzhTmmD|h^sJjpC0Pd zTJj!U?f?VNF46Rb2m^SbKd`|%6TqER>9Wj8 zasw*mgk>wltV|KwR!6{vodX`H=ep9Uu7*ma?iz(Qc7TDUYv27XIyt9bX)W5L6|3*Z zR-QQJK3N~;OL57r z*-37E&sdoC;lfxCr=Kd+0|PL=bq8x$uA!&wN)tIMn^Z0AAI@dm)Vp2sGZIU1da*D? z6IKsf#IA@i2y7>9+4hHId==MEf8JP+wQEMCh&x@uZHMXioaPdydYy$GByZRnD4>H3 z^eiWE+`Kz2LOem``DFHeF5NsFsmF^^S(bAO(GH8GDMPXhtOV^dq>G{q#JnJsa;euU z_!6S!%|HLO$hZUuv z&D*pvndPrG)0A4X!o*^r=!SLep4rm&E%vR(HI4R84#Q8(jQ2TD#I2Foa;~G1#mUJ@ zQ!v4@uuj3gcuj9;+J&RpO6LxFy_jq)J@q1@+N|!@Z*hHy@WN!py zt&YD=KC`o+AyC_=+I?t|>+7#Lgdzd|z%4bap6y5~G_D z*H~}TQ{Qc>|J!fn(?ezJW~z_dXS4So?AOvOdnwSh!s3S1TJ;Bj7L=RAW2^9z+aSxz_ zkG?8r1x-9{bp!(MLVO|5SqPCo?sMSuM^%+#VWcO}K@=z1#Cu}F!|)su=I(&JPdPVoFD&bm~!B!cI!klJ%Z7YxVw*n56Z!SvPBk<<* zEosrB9{b*%R*lsH@k+9+&pV_8o!iG=O8iu?LLw$wls!2XKhj*?BfZ<=%@0`$c7-M@ z<@Y=jvN^C4;zo6W8rPd2O0V9sX?i8?5y#v5FSqEG4Q}}KHag~zjMIW_5k`w(U$WR% zNy+$;KyQjA!g}Wqm-9}9;uq2V)zu9Ei$?+~(<840qZ!m4bs~|cjJ9ORdI9)KQ#uP+ zFN5A@3V#7(LWGU;=ufV;mu%HXz8kpyZ(0Bd^jrpO`aj+T+tUuIt38ug6cWnnLX<>* zCo?nCXqIwoNj-kp`aH`B9DpN>l9?zvwbF2F&E3`{mdK7MiU}N z$Ao+SA>pr-G0;EG^QjwauVmtunShzlV}-}Wh@&Wou4;x);t8f?)3HV^a{Q&+H4F>J zyF?+OD5pG6C`BJXMfC(~9m}ysru^c+$In>mJ^$%@z2~k@u_J85w4Lk>?(CHznX_lp zkR&_Y4LT^@AzoB{_?4uG+`g$%7-~BQVooN9_vpU9wt`a-%D%TYEWIU^lH4ADAj}g~)9k}1eeyTP*)efp?99k^9KbdUTU?hGSVZ7g$lU1;i}MC zyNn6lEN6QvaRyzx6q=?Td2w!i-3t#X9|lV3A}(|&CB|~aJk(X0sORc$N}Jmhw0W<+ z?cx40Vf~w@BU&vJg|kb}{5?Ch_BOZut!i@IK(cdJ*pX{T+-f=ke zF}%j5W>5AR&ahp*xa;ur^X?ii7K6Eeg9RxK!!LA36?6SKd zO6JYRL&F_ToZ!^xJ3_KAr238>>V^CA#u97&0-t~$o#(C%TK$R9dO&K>EqemdQ~s8$ z{iwxzGj8iw5`&!y>xbNM;ile<``)Ekbao+~fXtp`ogB0o|BA@ls51HIw7m6++evZu zRR2Tb#)YMPCz8W`!!8KOZY_PKtYB)BSHJeU5YwuoqseaYXGAU6|Gr>(erTwCtWgXj zY`@&_Y3rFfgy=mtY6~0$UaU-dnB}G;NXje^-vSERYC?rij#(fs{_X~l0Z@tVge(0 zzONXS>j_P(q&N{v5v&_59@|lPB`Z)`@_QGDgQx$|_Q*;M*n^6-l)asG*{CutWlw*{8P{pp_=8FajdsjKfXW1Oc$!3+u7yYiEZc#IR z2MC&0|Jb$S;_Vx{79=P{H}CVxZaN;a%3(2<&e^Q5(833YTrN^&05k5f=q|32_DVh9 z8e?QJ{^6z7M*WmTm!kdpO>5#pSr<;mBRm=1MY)T=uo7{?fz%xVixzL2spsbtHAiI4TAy6Z zJ9(8*?vKJ7G=LcJzta_@W5>1{RD#z4W_KUEFdW^eb`OhsbC+ru>p|QK|K3o)K9$gz( z@);)G(=(Hrdb_L|pNs3Wq8jUmmaKL-+Q3XYclC5|`p~YgKfR^)k(?!&qm^n-(8X5) zlUolLp-zT_D*=;yd!)>b}r&zo4!Zz;(O(8Q@FWz6{SKy!4 zhm^$@=GTEwy4q+p$dpIEFz=!6tkHix4Q0$h8H&Zi}Gi6w`ok3^}%Fgl;3Ef>Wb5&dMri(;ja0L5E*@;oJ8 zmj=p8LOq}kRWFILu2j4S5EnqoK{6eENmOv{Rx>;ZpJMNHGp*7V!t;E*E5rZ72_qX< z@%{AA;!LMS#`+Um`nC?|MQKVqRMb0$x~25a>X$69lhk8H<-a+=TrYe62x&Y^>(~5Db zV7zYvNJMI5FKhtmx_kbqT9c0Yglg)V{1CvJB1I5B2T)*u{W87V8hd<2b z`LKHHx;W~;Kzdm}JEfV?b=fVWbIgBNRDMW^;%4q-L(hbBJF91&&o{^hFi;Puo|RGv z^6k&{O2t?t$dS+pk}N^PAwn=AB+~%8_`7Jx-C=v;5WNt1d3Mk;OK>M7icn%H(`dFO z;S+4$JpCa;Num$iTMW9ZOf^(QT|EsQ&h)+NM#?6G`%mJhfQPLLU`CX^AlIS<>Opc~!sx*u{e3veU`Gf7 zKLu?V#6Ac|Ipss2nRG1l#0ceIt8aId9DweDS9j4?Q$K`4!0H!K5rT|)Ud>wMyn%S= z$q4eU23in8CUjJIa(xM}pmQ-2lQw_*SRA|Dl_AfJiJ!jTX5RSR$O2obPU5*ThpQ5u z+jWjfr8tgsZi(&qcx3|)QLrvJ>@RO^Ra4)#O0+Wxt|{l4m!sV}X+_`gmqF-$Hz()! zl(*kZ4Qg*U8ZOQlJmKP-x;E1wkW!ciE3yLdq%Xw!U++4k_5@;EY4wWG5Qn~|X z5y_R(;1OP4>o(}ZCckMC^z2097eGRczjlgUi~eD!n5y% zqZUah7weL;UE4(ocbq_N*!o?0ej~6grT`FQd&vhu4FY*4NFNpzW=`!YpzNCTfj?Fq zE+mUe8%ucl-4gQrfa(k+FFc+kgSqejfc)CP@%CMeHB5)(@Di8^!PwBe{t#d9q9ryu zP6(z--UFeGB|tDG@c>$MdkIi9Dv011=6ybI`L%ySfit=`o}U*0Yy99bWgCKlN1%pP zSS73Q<9wsz6^8;&wSE3sX_>;q=N7G*`Npfxp)k>xu72(wy5{U}b+-jhD1992x$QVI zTl_#XJ~ZUyOqy~{hDN~dsE|P=SME%7mVx2Xdl##oX=b^%kJUx%TOT>bG+wfDtM1y| zI3pA=3`hpkp6I?f6PC}i3m2fkqjs2s<8eacZoq!zP7_2^2tAeIGkJ$mcj3BLK{6FAROs~On&D;_2z5nEF@;Q!?&kw51QiJC|O<9iT*VaBf z{wmO5>OM<6z4Jw$r_G4r?6I-*e}d6aGPOB8`*$9L`AkeBN{0JsW?9n&e}9z%Si)py z@GyxcqKAv#F8TTZQ*o4bi)*6;!NWP+e7W2>GYl#nsI!^XjqAchaWbKMXZcKmZ8d!O zbY@6|Q8|DCrU-Q3)AbWm5fgDSF{Q^flpbLFl!G@yo!TiFjp-Bu`d}zK7Bp2uSh@=) zbfOw~SzR#hO0PAzbQ%;501fFs4*j84ugMELgs7dCQlf4m2W?VxoSdAnevl>FBD%Gi z&mjm!O;KR-xz)ErmHX}rC_E5h42}y8*EzPv$;g<$t;HEAon}2ol@7~)_VRQYJ<#O4 zeI)g%T6BKM!#x|tJU+Z5J~iHY{M!3JXC}7Qhk<&$Hrf+xBC|A1QGxTSTue= zXKl)UyeBz`=|ByhfVUa`xHMGjwts)4+D@Dl@;0(Hr_}v-KJ96Xlm6ouAO2Sxu@IFL z84DR??6QXz)9bULBI9(*=IHch!d_#NcV&^@7>i^FxwSxntXXzDe-CaM`1V?(eu$@c zMSksY-}k+;7KLNLRq`%Da(h@|^sa8*ivE_2A9%}Pd-Lt)PF(}%so*P#^QIiOq=%no zFud07k#e-I4B$pC72dE^#%l8UiRl^HDxW7*NbcQkoqea-BL|zQ?752K4*)j$?icA8 z9zAL~aM4r9dqLkMW=Uw2x1YEU6EgD}Q+=HV?gssF8fA^jfw06@6lAkiSrgEA4wIOh zIx&l7NP_(J0U_fx< zmu#n(OS_L2$ZnAx!)D`TR{8gpp;cV>YV{oj{Bawk{If1y3@-}|P4tQ8UgLanpQ%jn z-P?^ZrsmGgi3f*-TNml{ktK`LFUPja&M|0hf*=l-)+PrfcHna$kAPHu`YN%p)>2Um z#BsJ92&B{uFUy8_K%SbyPz=lCNJZ`eb3}evP;xTBc}hH${OY(XQ1f`(+%sXGE9EI` zrOXtT+T3Z6 z$HUFiH2=3<-C>P%=KB*>D#wys@YvL?U{)u0JkJo0hOYDSf|Z5PuM#YVTZi$=c`fOF z4~#D4!s10J>#4|w&>$+GLxmxZ^GSpxQVgcb!>GV3;|+5tHI?f1ylD`5Kagpi&`OGy z!n={$m|BZiYqx0K-fnOzGCX{IjCME@v}y_Jp=2W%yaORwg!fWjf-4fVN|C7Ki~Y8y zDcNciNV_QU&dxXwlL_^AW-Uh{5YC9FM>nx68(7m0eYRJ~nQe zn$QSLN)k87&NPd`>OB2UgB#pbp<*3v&Y2aSJt0+_YW%FPF0yJ(omYLlM*w~?iq(rs z^WmNy6;?JDxz|UQc^5Q%%(ZH%jB*;u%&`FrR^=nwnJCMSkQrQ9(8iZ>1D9|XPIpom z5F#4{E0eu0x%J3DgmXa5$c89?T}DR9#ebo^ytNvUa}GP=Dl0`KVEdcP+jYsurloVvG$1V z=lic_wLH)0*<)X4##*gr-Kv{#Q0~fJvyG1~&(|vAc&Z;faB}b7O_Ped%0+rpYXcn@ zEtcvXaRER+(RfO51lF3(4M_(JQnrQltsu7sW-aBFz@)Qxm2uO12LwaBR;e~M^11k-3eqtQfs2mVfo0Pjcic+RyTQd z=FCq0H7w-Vd=KjGgtx-Q9^X%-*WelTxEbKc7>z}u36eT22mRR!4elJ zQWowITk-wF0;G6{j(naO9O*h6k5Ka`R~#+;{Qo*Lhf7VZ8zybVYbJu{Z0GC z3DWvCWIEXrZ%$rpm)!=?n3Dq_ARqvg@g{0CdJJ4ZQuUbBM0|cZ~iPP6yQU& zd&Yj2Pi!gWXn3yPh4|`@bnnzVCS-4-wSf91I)h;CwYutRa*3Pb6lhZ2gPZOm>jhmT zxb5^_kI^vUvmj_0Ot91Tsh%J4h^p2hi-XoaYKW+mvwH5^%7S?5tv%r4vqB~%puY1?a^PQl=cAsiupQCk-k^qQ~1Nu=!@zY@3YZN@pzuIZl z{DQa;dK5%uq5aCrGy?(K%8=UMdV~2jB)>W!rh3-wU zm!GGl$aHCBY*O)vJbk|Qp$FLdofkVx7Z$Bk>&P_7<-<%$BcV5dtZgTPjZSE3bs~X8jhC=bUK1Y?+FK~& zn5a|=8zsFK+%FxJNRCR{!PKh>S!Cx3As{0S7UFJr8xO0@jFMHH!my5MYHCUzxUTUS zjG4>?9d7jbkAy2ls=2j}f9e#q`n zLlF@`T0T3l$vYoR?Yhx&MgL>`a;ujrHo zc}am*S0|)k*d>paLRKAMwXA_9)ePE{Y2THDhAP>WGfWTxNs^LVdMV`%Pa(K<$z9he z6Yhhw9FFCCIYIW6YHRC@9lf%ar2%8sU9pxa?hW_ymIwv;hXy}n?oYX6eyFZIcvnAD z&4vSRSs}Z#Kh^ea>R>TfvH$sWyhf-`%AHKT$$s@fn<`KKP8SVsRG#_f?Rw`r|1POY zGn$I)zoR_;=W~m4YzvwbvAbzs=FJ_9|NFAhXbPJ1>_ z_)pMgyL;=n2$Tq*G&0mul(RaFVNvUng_Dx=Zmur!{rC<-COYtfl0_-o-98=}xH~Yo zJUq?8gb$MLho-8pq+xbJTMI@xPY;H1LUG;p(U&RF3NG2BeSBf=GTHHN(kcq=Cah4!)Y1fFvmpr<06@S(Y~)3P^GRnG{*SfLN)LiMSIB zP^^m^Jmyr*L8K6{dsdaKwE@#vAAC$vw5@uDHS*J6-#qO59n4yLu>K{Zlub<%+*1$^ z;GEWU#}Jeir@gxhvLhkcBb37%RwQS=EK1bKnQ9qiT5x`z9#@`7tLPwA9lDkzm@%D8 z++~TgqgIU=nA-mC*`Lk&-oHk|9EG;jS{f!xOEuIDu2vo}h%~sT9i`n@v!i1DP7!v< zo{d6|BQ1Viu00Xcy^&$I6BWYoj+rSbGLFjQC(q4(Si7z|%w(~)P>?d}%m+QIod#H& zbzZnSWv$+yGM1x4?$D1LGo-!af)%z4ovi9rIcIb#wRkn#iKk*3mIw=Vc^R z?6LV|RdyqbkQ55MwbfXloI(y-Dr9M;T_b+-F1jtyt%?*-mhR9p)T2Q~H2nX`cp%~k zoq_}WFim?XUu7n(E3mZy&<p$*C{0?(JccYt%0S041P)*GIo%H zjOI8bk!L_>5+@IXv>!x9h@^1yOIa(AYvExq6zD{1Hna!fk01YtdENScj807CC2Hv; ziPY58kV=WP3BKEVCI56LJ2NHf5I;mY=lHXcQBhli)cRMxEbV`QS3OFebYlZcLvyR(3uhlKyABZUWDVp5nF}BjuA4@_(S?h#I4b`OAx=HtW_y?>L9dW zqKq&VBW?m=X;hC9gn(NAxkbaUu}l2keNW-Y4cJvt+ObJ>H>V}tP*@gk#;T}R-C+9Z zQI9aZkzIb7zFmHOiW0r`DVE^|c1O#Foh^JiFHYW5?URyfc(5AK(ckkH48JmzZC3tx z*-L0wj3HaJY`Kx)TRb(_p5virmGjAGiv_oI7e=%}5VT-XWVW%0> zV**vsPm=f;&#tM%9GPutRYqr`vG=9d=qXd)^&$A?RT74Htfbp)~XE&zjHO9idurTWS2^q4gIJ%J*N*nTk`IiWwbjP?DW(0)pji@6%~pu{yNm z^aFK|AI2p;y-UH_GCbSdwq-nftmdaL(AF-rP&ABR<;U0*muGwMpaCUZXBf>F{#nm2 zuywp;TF&Onm)hU!Y8Pb)3F@ih1CMCHK$nohTmdeY;6)v^Oy7%69&Mo|uiQ z9o4VA3uiQxf(MmmqJyp4s-m8V7%%28dMy@m*Jtsl_3*N-dSlRIXx7DXJTMiq+Qj(# za!QPY>f;StmZ>+%8y9}#vU|?0a#?A!)bDP8Q+AjLPVp`x$9VczVTFkJ7@-7S2Ki4Z z%4*EO1HR>e_4*e2mL|QmyVP0sET-jz8&_(Og${+Nm5I;F@7j7ESRXbY*wW{l0&Vln zqnm7BM}QGHryhdcQ#@WLIAE+d$>CMLU2o;)tm5LzVeA}Hkv6GiV z4NN*v(T{3AARnc8q?AQT{V~-n#0jF7PR-*G-)QsUhFB*>zfspoDqw6r2jM0lRT8R6 z>5?ofeIfD%Q}s`A2oUE!h2Ndd@$kt}nY(sAVX>6L-`x&C6+cWNCvXR(AxVR(qnMM4 zj|avu@ktMr(Fv)e8n6rAL0cprN93g7?FOvZEg>Zo1Zjvk4{9coV2q&SCKx=JOpjxX z{wy*st{h$L2(tFl2QGoI*@<*T>aa)zhw2NIDy6iO9u4a}e)=%;zMr27Sc8liH(F@$ z`n<>NsGgo)Q?n0W0PzVFXh@17TGV+iewl2kx0I5O3A~%4PJjziJ|oHkfY$>sYZ??8fQ`HME#AemneY+%HB~ F{uiLIltBOh literal 0 HcmV?d00001 diff --git a/pd-control.md b/pd-control.md index 48e52f7fe598e..1966824649e64 100644 --- a/pd-control.md +++ b/pd-control.md @@ -765,7 +765,14 @@ Usage: >> store remove-tombstone // Remove stores that are in tombstone state ``` +<<<<<<< HEAD For the usage of `store limit`, see [Store Limit](/configure-store-limit.md). +======= +> **Note:** +> +> - The original `region-add` and `region-remove` parameters of the `store limit` command are deprecated and are replaced with `add-peer` and `remove-peer`. +> - You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). +>>>>>>> f38041c87 (Update TiKV store status information (#6949)) ### `log [fatal | error | warn | info | debug]` diff --git a/tidb-scheduling.md b/tidb-scheduling.md index 93efd472755cc..630118dd1b858 100644 --- a/tidb-scheduling.md +++ b/tidb-scheduling.md @@ -77,6 +77,16 @@ Scheduling is based on information collection. In short, the PD scheduling compo * Whether the store is overloaded * Labels (See [Perception of Topology](/schedule-replicas-by-topology-labels.md)) +You can use PD control to check the status of a TiKV store, which can be Up, Disconnect, Offline, Down, or Tombstone. The following is a description of all statuses and their relationship. + ++ **Up**: The TiKV store is in service. ++ **Disconnect**: Heartbeat messages between the PD and the TiKV store are lost for more than 20 seconds. If the lost period exceeds the time specified by `max-store-down-time`, the status "Disconnect" changes to "Down". ++ **Down**: Heartbeat messages between the PD and the TiKV store are lost for a time longer than `max-store-down-time` (30 minutes by default). In this status, the TiKV store starts replenishing replicas of each Region on the surviving store. ++ **Offline**: A TiKV store is manually taken offline through PD Control. This is only an intermediate status for the store to go offline. The store in this status moves all its Regions to other "Up" stores that meet the relocation conditions. When `leader_count` and `region_count` (obtained through PD Control) both show `0`, the store status changes to "Tombstone" from "Offline". In the "Offline" status, **do not** disable the store service or the physical server where the store is located. During the process that the store goes offline, if the cluster does not have target stores to relocate the Regions (for example, inadequate stores to hold replicas in the cluster), the store is always in the "Offline" status. ++ **Tombstone**: The TiKV store is completely offline. You can use the `remove-tombstone` interface to safely clean up TiKV in this status. + +![TiKV store status relationship](/media/tikv-store-status-relationship.png) + - Information reported by Region leaders: Each Region leader sends heartbeats to PD periodically to report [`RegionState`](https://github.com/pingcap/kvproto/blob/release-4.0/proto/pdpb.proto#L284), including: From b934dc2247a7834922811e49d748a612ece0f87f Mon Sep 17 00:00:00 2001 From: Enwei Date: Thu, 31 Mar 2022 21:11:42 +0800 Subject: [PATCH 2/5] Update pd-control.md --- pd-control.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pd-control.md b/pd-control.md index 1966824649e64..2e19ce165124c 100644 --- a/pd-control.md +++ b/pd-control.md @@ -765,14 +765,11 @@ Usage: >> store remove-tombstone // Remove stores that are in tombstone state ``` -<<<<<<< HEAD For the usage of `store limit`, see [Store Limit](/configure-store-limit.md). -======= + > **Note:** > -> - The original `region-add` and `region-remove` parameters of the `store limit` command are deprecated and are replaced with `add-peer` and `remove-peer`. > - You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). ->>>>>>> f38041c87 (Update TiKV store status information (#6949)) ### `log [fatal | error | warn | info | debug]` From 68b079809e10f64fe5106b366401107cb290cc5b Mon Sep 17 00:00:00 2001 From: Enwei Date: Thu, 31 Mar 2022 21:14:12 +0800 Subject: [PATCH 3/5] Update pd-control.md --- pd-control.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pd-control.md b/pd-control.md index 2e19ce165124c..ecdf81ca1040c 100644 --- a/pd-control.md +++ b/pd-control.md @@ -764,12 +764,9 @@ Usage: >> store weight 1 5 10 // Set the leader weight to 5 and Region weight to 10 for the store with the store id of 1 >> store remove-tombstone // Remove stores that are in tombstone state ``` - -For the usage of `store limit`, see [Store Limit](/configure-store-limit.md). - > **Note:** > -> - You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). +> You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). ### `log [fatal | error | warn | info | debug]` From 138f964817c9cedc7ed52b0313863c888c040f98 Mon Sep 17 00:00:00 2001 From: Enwei Date: Thu, 31 Mar 2022 21:15:22 +0800 Subject: [PATCH 4/5] Apply suggestions from code review --- tidb-scheduling.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tidb-scheduling.md b/tidb-scheduling.md index 630118dd1b858..683e6961486f7 100644 --- a/tidb-scheduling.md +++ b/tidb-scheduling.md @@ -77,15 +77,15 @@ Scheduling is based on information collection. In short, the PD scheduling compo * Whether the store is overloaded * Labels (See [Perception of Topology](/schedule-replicas-by-topology-labels.md)) -You can use PD control to check the status of a TiKV store, which can be Up, Disconnect, Offline, Down, or Tombstone. The following is a description of all statuses and their relationship. + You can use PD control to check the status of a TiKV store, which can be Up, Disconnect, Offline, Down, or Tombstone. The following is a description of all statuses and their relationship. -+ **Up**: The TiKV store is in service. -+ **Disconnect**: Heartbeat messages between the PD and the TiKV store are lost for more than 20 seconds. If the lost period exceeds the time specified by `max-store-down-time`, the status "Disconnect" changes to "Down". -+ **Down**: Heartbeat messages between the PD and the TiKV store are lost for a time longer than `max-store-down-time` (30 minutes by default). In this status, the TiKV store starts replenishing replicas of each Region on the surviving store. -+ **Offline**: A TiKV store is manually taken offline through PD Control. This is only an intermediate status for the store to go offline. The store in this status moves all its Regions to other "Up" stores that meet the relocation conditions. When `leader_count` and `region_count` (obtained through PD Control) both show `0`, the store status changes to "Tombstone" from "Offline". In the "Offline" status, **do not** disable the store service or the physical server where the store is located. During the process that the store goes offline, if the cluster does not have target stores to relocate the Regions (for example, inadequate stores to hold replicas in the cluster), the store is always in the "Offline" status. -+ **Tombstone**: The TiKV store is completely offline. You can use the `remove-tombstone` interface to safely clean up TiKV in this status. + + **Up**: The TiKV store is in service. + + **Disconnect**: Heartbeat messages between the PD and the TiKV store are lost for more than 20 seconds. If the lost period exceeds the time specified by `max-store-down-time`, the status "Disconnect" changes to "Down". + + **Down**: Heartbeat messages between the PD and the TiKV store are lost for a time longer than `max-store-down-time` (30 minutes by default). In this status, the TiKV store starts replenishing replicas of each Region on the surviving store. + + **Offline**: A TiKV store is manually taken offline through PD Control. This is only an intermediate status for the store to go offline. The store in this status moves all its Regions to other "Up" stores that meet the relocation conditions. When `leader_count` and `region_count` (obtained through PD Control) both show `0`, the store status changes to "Tombstone" from "Offline". In the "Offline" status, **do not** disable the store service or the physical server where the store is located. During the process that the store goes offline, if the cluster does not have target stores to relocate the Regions (for example, inadequate stores to hold replicas in the cluster), the store is always in the "Offline" status. + + **Tombstone**: The TiKV store is completely offline. You can use the `remove-tombstone` interface to safely clean up TiKV in this status. -![TiKV store status relationship](/media/tikv-store-status-relationship.png) + ![TiKV store status relationship](/media/tikv-store-status-relationship.png) - Information reported by Region leaders: From 40f1132ce793a6d60e6f3937d6d5d0022ae59a0b Mon Sep 17 00:00:00 2001 From: Enwei Date: Sat, 2 Apr 2022 22:19:26 +0800 Subject: [PATCH 5/5] Update pd-control.md --- pd-control.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pd-control.md b/pd-control.md index ecdf81ca1040c..fe5bc05bdc018 100644 --- a/pd-control.md +++ b/pd-control.md @@ -764,9 +764,13 @@ Usage: >> store weight 1 5 10 // Set the leader weight to 5 and Region weight to 10 for the store with the store id of 1 >> store remove-tombstone // Remove stores that are in tombstone state ``` + +For the usage of `store limit`, see [Store Limit](/configure-store-limit.md). + > **Note:** -> -> You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). +> +> - The original `region-add` and `region-remove` parameters of the `store limit` command are deprecated and are replaced with `add-peer` and `remove-peer`. +> - You can use `pd-ctl` to check the status (Up, Disconnect, Offline, Down, or Tombstone) of a TiKV store. For the relationship between each status, refer to [Relationship between each status of a TiKV store](/tidb-scheduling.md#information-collection). ### `log [fatal | error | warn | info | debug]`