From b05b437421b8106d9006dddda19deaa42ec7d3e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Fri, 22 Mar 2019 13:31:05 +0800 Subject: [PATCH] =?UTF-8?q?spark=20=E5=8D=95=E6=9C=BA=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=90=AD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/installation/JDK安装.md | 12 +- .../Spark单机版本环境搭建.md | 121 ++++++++++++++++++ .../hadoop单机版本环境搭建.md | 20 +-- notes/installation/虚拟机静态IP配置.md | 38 ++++++ ...nux下大数据常用软件安装指南.md | 25 +++- pictures/en0s3.png | Bin 0 -> 26691 bytes pictures/ifconfig.png | Bin 0 -> 21803 bytes pictures/spark-download.png | Bin 0 -> 20304 bytes pictures/spark-shell-web-ui.png | Bin 0 -> 49965 bytes pictures/spark-shell.png | Bin 0 -> 22957 bytes pictures/spark-web-ui.png | Bin 0 -> 74402 bytes 11 files changed, 193 insertions(+), 23 deletions(-) create mode 100644 notes/installation/Spark单机版本环境搭建.md create mode 100644 notes/installation/虚拟机静态IP配置.md create mode 100644 pictures/en0s3.png create mode 100644 pictures/ifconfig.png create mode 100644 pictures/spark-download.png create mode 100644 pictures/spark-shell-web-ui.png create mode 100644 pictures/spark-shell.png create mode 100644 pictures/spark-web-ui.png diff --git a/notes/installation/JDK安装.md b/notes/installation/JDK安装.md index e6c58f0..e7bace6 100644 --- a/notes/installation/JDK安装.md +++ b/notes/installation/JDK安装.md @@ -1,20 +1,20 @@ # Linux下JDK的安装 -**系统环境**:centos 7.6 - -**JDK版本**:jdk 1.8.0_20 +>**系统环境**:centos 7.6 +> +>**JDK版本**:jdk 1.8.0_20 + -## 安装步骤: ### 1. 下载jdk安装包 -在[官网](https://www.oracle.com/technetwork/java/javase/downloads/index.html)下载所需版本的jdk,上传至服务器对应位置。(这里我们下载的版本为[jdk1.8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) ,上传至服务器的/usr/java/目录下) +在[官网](https://www.oracle.com/technetwork/java/javase/downloads/index.html)下载所需版本的jdk,上传至服务器对应位置(这里我们下载的版本为[jdk1.8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) ,上传至服务器的/usr/java/目录下) -### 2. 解压jdk-8u201-linux-x64.tar.gz安装包 +### 2. 解压安装包 ```shell [root@ java]# tar -zxvf jdk-8u201-linux-x64.tar.gz diff --git a/notes/installation/Spark单机版本环境搭建.md b/notes/installation/Spark单机版本环境搭建.md new file mode 100644 index 0000000..5feab8c --- /dev/null +++ b/notes/installation/Spark单机版本环境搭建.md @@ -0,0 +1,121 @@ +# Spark单机版本环境搭建 + + + +>**系统环境**:centos 7.6 +> +>**Spark版本**:spark-2.2.3-bin-hadoop2.6 + + + +### 1. Spark安装包下载 + +官网下载地址:http://spark.apache.org/downloads.html + +因为Spark常常和Hadoop联合使用,所以下载时候需要选择Spark版本和对应的Hadoop版本后再下载 + +
0f#*SLSK;|p=Di-tt=8EXO47O{6*xwOSU)jK5^Um22_5oJWv`+7f$r1 z>wDDx(H|D0psM?wG`*7-Y(%b#OZWP^>cwI!<752OJ37#+U%$Iq-1uuKsr~`+%0z#S z%u4U *P7;(`RE*Z(0dj1TbTMT> MY|B;o)rY?-J z%F-5giks@KUqUsS7n@I?B}q#8Qin{^T+punnP#7^M|P+f{)eJuu4%u#Lk>!?lZkxo z-qp^6T$N-DD;@ncA#|;}ywJ g~>|sFJAI0 z@{gzo(?nJ~a_yNoJ~u&1-J!|3MD04R`g;70w^*K^wI$+G;K)PazEi+1w1_Y%ZTATp zENf*AeFY%Xn@YtwRvTy@65ccHe4OMdO{3#Z zFScsc6*9-WnL40+DaJ3=N@5 wN z<*LXS>*?A#YxdLMUyyneI;6Ny)l!qnpW>kQglMeiBN9ck(9-VL!*ln&YB}PY%Y`9? z1%7BaerGQ>8-M0>dq#c<5{dS9x0^Ry_;NbA7%-=Sxrh9G<+7aCJkk>GAA){r@j?SV z&9+E_D_s%DB3HjH!DJC|O!fF~f@#Lv`W#)}5-YvJI_pUk{6}c(feWWKIU#8yLbybh z?cVrcP>!&R!`EeYHt!wI-7qwhBgZPps-69){-w){8C;Ce3uG@RJtH)#yZ2v&lB^R7 zh4Lo{1t;Vp&Q?+bcad^N7ljY>0kLCwqO$iNzun2ofZ-0P2tFhk(<51Na^DGaXBkbF z8?*Owa)jfnaqo5mVXVX$jA+txvM|mKT5by*;&&O73l*E2SPunqDDJF0nI6Bs}2 z_v-xEg;fJqz)rfcVe?+3B`P4ecABR1EZh9CH$w{bvxI+KM)NP1xd{1>%bbk; >n$IWSzR%M>4^uy$vh^ANF=j?{w9pgmf~NE z03w{ yg=gV(> zmh(!r-vjUDpVMN}Uv~6%a*d&+FRY|t3I83x^#`Gi`?|~C04yZM;DteNH+D+MbY}gf zoo(ipJQ}$k&|RjGaCf|Za`ig4@>F@-J*b`7?m{q(Bb|k*@3Q;e0OiA0&OdJFji2nf zzyR4-C;!m?$dKQ$Xgli#!MYB5;t?lpxf<=G07!5iBpBU7%KFP D8O{vB;@6MQ>w4&Ix z6W)I&Wn**PA)bpo$N(`a(*x!mh%Cspb`zSfEp2p+LprS)4F9DzrzYz&vHU_h!N{v( zWoqs3t#^rfI7dRT%l`G&`=sT1F!egbY*ZQZ75fR0_lO{e3=JMc)0g}>T}#vaS{C6s z#^z4oX7?m@0?F*gnW7UAh(|FWE_eL2*-FcU5O}UY@wY4|y}%_zP)D{g$qj#iBFEHj zZs5+V?T)<-IVsI*E_gKLX)?Gw&)lL}&HbRU%~ne7!oE7i_Kin4>_@072RadNNC1zY zWgv~nzE019B0T~|_R{kibNF5DdcG6aPx`%OmQf>J6jrM?c5i4>yv+smzZuSc@!C9Y zH7(6N{1^eE`S?(+U8&R-H<(?w9nen9*|fxdY9@`1Bp&mj@xd) 8lt1sb`;s zcAvL_KY1SWgGi@WFgRJl`D?W }Kp4J($ zsrCFs*F1n>`c#|{O`}qG4nFR^1XRe5!M$8)`OhjB h3f+O)k X=A-iQYs3D~ARt})#^zXTy|fsU6z#Bc-= zMSo?vz2~mG#g b#!-4s-;Nu{5wkaqWLyIBHLy>-ym(Avq1-zFsHu8#KrF#OG zKT=!>*Wt3;{L6Y;|8LgggeL@{j`hYZ*R}=S=dEQ$=9+Qnd8`fD-Rl}$KbfDgYasm_ zEG3!wNSIJ}7U~#yUzLvoo}a^|)$y}ZdduY5BNMPHk)^+Eh#v%%+=CFf;}OeiCuu 2`^B;Y3E qSZLm4@*lEfSQ(EYDG@&9}B7v z*yi1?NUENM6GDctp9Dw;-b%C6UHI?dl744v5{*%$`VKDARDW$Ye|V_)RKM!>HSmcR z<}b7HeewSq?HkJfUj}3~{VxJ&|BCmY3-r%Kx?}PDzg(bwVC{d1;oI{UQ2xI7|Ctc{ z-w!0~WdD;K`2X{Pn?Nl~M~laztS!azT3QPx+>*i+i^-w?{S%%|AUQDTetTAg>2R<+ zA$c~l@lKNn;J@5rQFDQlF=Y*H++mEtz}vT#(h%Dl(vd$sOKW&va9e&T<6lTPwBU-W z|0N%UAvQ=?WZOfyF5Z4w! BV;tL9~)-a;_^To>KgFm!5>5 w#X zj-}^qbHTto=T8ZdECYLjq^T=~v%U)>SAxmP_k}5LEgk0eU8@11C3zH}=oPe$M{8c| zi>otL-JjVIvQ68A48lahDH*63>BShPMiRMGDN>UC$vuej6)S5^4+?deI4i^9*h?mc zhT456Hgi=pg9@pe+ReX^PFYS?poE^J u4=-iusL_iI;Gr7}pgtCt-VNo-{`87c_q^lni>(p%t(c zs!3zdm3$%pF^Qv)X6mNLj*>Z{Y}SRdp&7|;|BOX5&hSVJqqhr~j(-^IK}%+t(wdy> z-WRmG$!oSSv1?}WMQ_j6DPx-EO@2A Rg-(=VcSb@Nz%>aCKKEWqnS z#IL`bNdLkui@m3Y*?cwG$w^g`muX~fM3K`@KT8h2!%LE(pD1E>ufw02m_x@Gh5!Wk z=xz9u)6Up7@GQ^XBYz9ci_ Jd{3Ej-U%^!iQ5*Q9K+qvcJia08V-J{_Tms1!gXTd-PH9Zz9@MKkeOFJ z0eleV@ze2l^R<=BH$k$DB5bp);Nj*ML4o9aIlsHrP VMlqkj%*RO26OH;Beu^i|_1gW&VAMgy3tuc4;G@A5h9GF?IE6%q9 z%4yO(f^NinRkd>QcMFkYY-JJ^6?LsmpMj4kTs$F9%}5k~kTRbRFEPV`l~8=jLprph znx}q9MhEKFOdnrVj!*t)3&K<4DM1kOcR<43NeW~XJd@J9wx{tI!mK*+WAnV2oEx^A z{}OV@+iv~9NG2WK<*tYtw+87XaxhM}c?SoM4@>Q`WK|B3T{C!{sG!)(vg0Y4IbbRd zX$-CUu0IjBL~kYBX4>@Av3yzXwsUAESJ{OG++ L*~9h~;h;uECjcBfqRN=ahKyU5RnHVc*+N$EF?nn&lKJJqvC z4SO`**|{_1UY$pelJh16vyATMeQ^)VG424p4ihw=VM_&!8@=$Ac8=>ZO{#{t9;!|( zIkWg6`;6W2kG6?yMP#Z65-2Sfa0TItPo5tl)CS9~{x=Iyw&%On8)K>zW= @w_p|%~5SUlt ztVMMPd{S0M+B;8lOJ;8%i9Q{N&fGWVY?2+S2;ikJC5Sa%*1{dIz#r&RlwEu7x$GE3 zzLXPRe{x6N)sds<+nLLuzfKT<6IGID^_3HL*qx1l>P!d(D?A2j bZ=dZspAUR+zuU6+3?GY% zJtq&u2oyR9u={C?7AB2j2;^x%; ?s{30qMzV&Zb zU}C+9ME@HS5uJMf0K$y^>)(#`R+ZP^!cVE@I187%3(bF2 z3bLW)e+-Kk{>+WjQIu$TG`4nu!)j$VM)^ MLNb4+?0BdYQdF zn-FAWz`(Ygr};o+;%Dxig~HYwA4v9>nj{hYn=I?4@o>&j_v_>bPVQ9siR|ll;Vt$* zqOmzDd^OjAp2RS|`t&!^X#BdrZUh8p1IFWG{ho9)@)jI5(rdaig!>46eG5jcwkqe- zy#j%R?4#>yexWYu{F*E-ot@UukN+2_rSmVSB{)vyRSb|?z8U|LT99<(aUK0S{3o?_ z2AP0}^*J!LWgq^t$qRYA)$XVm@p%ri+=TJ#?8RYw1oLa#fP zX zC**wT(J=fc%+^wfi@ZzRCjH@morE7WK|xFw3tSO|UrMFavHC+HS9ukr?j9FU$X-oi zHG8$e4Sl;IXlbC;mr}J)yTT%k_6vo=cra)y8}`%pYvn_aku%wuv;=`C2&%5yZ$(1v znm~)rshgq{Ys<#x+jL87>@O7!F3O(O8w5)JV^h@wfYOd%gWr<<=e9)vV+{Mx11~j@ z1F0LF{kepiy>mKK=trW-t**}>2o6{}Cyp=ru=zy#9%D5l8xGRWT0|~AgVy)WkdudI zX9uSv$D~vqKG)Fw10uAx;ko$|1V%S|&pq?#>n;pyV;78@7tLspI1lf*bd|Uj;=NOC z6>01QzL^H~u46qXkc|!Ir;w|@ufM b}h*I^IS|iC!G7Z@wk3{1*EJO 4=E=sI%Ccc>7L;Un9vyfptd2_=3 ?Xn2^;78qgSf5d`VQxX_BOK&z?7BL>&M zq$0j1a!bYWbkl#XVo>se?QfP#NHYUqzy-}dCL5s$$CqC*&VmN6SeHOp5TRM`t@I;> ziqozv_Ku4S;0~B+ev(B7W@=Vv+lVWDmHv=-Cchn*PnK`eREnUqZgs;6!?V&*v&(06 zL+5B=aoqtY&X%O1Lf+%NEt{{k6@IBnx^>Y?D4z6^x4atGiY_2=U7}v|kU9m5NfZgo{dvpOCal0}wRB5rTr5H37*L>RRQj->Kfy#Q(W`qXOHI zz$WNiT?u5~jQLi^5ES%MSgGi1@9>{r{UAr57c-zP3KTvPm^VZK6MKM&VIdw@ZTQ*r zQn{grwdmTp;FpLig~};iMC`8tmUx_1zwXvnl|JgM xKO;mUsN!X}Bjt8!Hh#Pt9S>|n`>Wu>#ZDZc&@?GKvR z`SVd)D7xqI-kbcUvyaY2Kh({C_?k;|SOMrSEJ BlDm^1GdS420h-5Ese(fQz6Z=``O>mLkfl|GMvxF9G%j(=iiMz`@&c zgtNY+Kf>HS^9`x-P*N#^aOy_A$4K(gjzTIRDhiqQa(k69KoH=isRq7DiFlXtU|r1V zwDuPw-)Y5nT6GN_@tvfVxnMdo>!Uy|6d+a3OI^ y+Nc#C|s!cHQ?lJ8w-W~&vWuG_`c<1(Eq2Lr~>h`soRo_#o~1wH-14 zr$xyZb#g`*y;~ST3*7lEzcIV;U+?=Hyzls4+Lncqj=YL0UqXo(Kn79NUVf^(mc-}w zQ^S=Tbih`J#QgGp44@fbd!cpG?(cL(rI5rh0No +tXF@6qKuL^0F^@XM8+1S9IC4MchA(g9G<1VN|eg+OaRd9=&nF*H#oVJ zh1s<|8>|ij(!xbz46(Mml$ZKy5*V#%^=s@%<@whaEvZ=KCo(?InQZ5oC+G3y%|w&i zt61{v{6MC_{HXF7;p;5a)1(+JxeMgvCa9XWa?GRs{#VAleltm(PXAo-$)Drb3GeRX z3P_^ok^Ao$Zn^e@#lyQV_rZJ#3^ouMNGal1d!Y0IZk-zq-zOux+nFUVUcZxmV|l4$ z^n=#hzJV#8j67HLgGee2OUF<|$e)2_tQx0*zf;w5h~q?6vuB;9RJNz4a%Z%;N6M1O zpce9V&<=h%aBtPO5ThD+qJ#(uqD{sVbI1GfEq#Y)5FAk|D%SaC@M1 MrJ?t(SoX;afh4*_P^Q{tRq5ew({oS!m9?}WT?qf1Zo^XbRl Fq0X{t@o(7KS_2OKk {U(~ugpBlLjvpaXrRp`2>71~fbId6@gOmIKfeD5^sRq+J8y5} zZ>!KYv4^O&8IG<-<9fHtJmO9DFk3z`Jr+!)Q<)~uJ6>QEY~re9vYgeeTi=Un%0g+( zxc?_(Hy;PT!%X1(VSuhfQmgEdDq5IgO?<#f6(u>Yn`zm9D^~tBk1a6pTs{I)qOgHq z0;{Q=K$^;3JN?J|@z*H{U9f>FRqw{jj3XHyrFA_`#9ToVbQZL5B)2X+A$Dn|R9D83 zq0mn`lT?dtbmAETbH+WQahFGmnO*Cre6={?wZ3GZNwGysjbgIVBr#W%tDsXfU`YOR zroLV74Az0s(>4X627oGP<4YM&+b-*PSC9xo`sAM~ek6?s?|2~TbG+d~%MpV0$do2E zQV6!&O2a<$gDYwFegAN7=Y+~fSG5J7u<6=TJ44Ch_?S)T*pc ? zTqJU~M85=TLbrJXRpG`$A;b0+STO_y?tP63MT(5(1BZ2qrtj-1IaA*(Kfn9r6X=Zj zN$CwbF}}5pBe{QapW$19UZ&`R53}#1;)QBeb%0j0oh|DAJRzV4xz+KE_x4vi5A_Lw z&RoKC&JIZvAVmHfa{i~a6DXn!Cy3~~O77s_foR4K50mShS~BKJ&4$uj&WoA?lm7Lk zo7#K?7a%BF&oN1XT77-eJCXeU@z)yd&qVI11D`9iYd~iG2c<|ALG&W>!(#(Ht=5{7 z4FICx2vpaRoy3)G9za|8u0^ ^$G`g73WQNx<_;WQutxmBQ@Cvfu;!Bj^A85pf6ri&&5Zs zb1uKFbk?4y9gA^Gv8#%A7-WSyZ+Z1U4vTH56`$eW$Yf69hFKb+%C{f7aL Me&V1jBU8lPK+qymR zoOPf$kIF43a##>Npx6b~q~ibH!Pkq_dM`^~kiI~u+C1@!$#(1!-`iHir1MWP!3Z5g}dZ0aD``iOP`BG0>T+-wm(v2ThgDa0tFUTlKKF^l79G0Q3` z6U`P2p9~Io;aZDZl-i_E!O()a*5t8mE2)^{vdb)B#02v47k{w}Z_vX@HSF>BewOjs zD>(v9pwVVip{$u)+P$c6$9Pj)^SgbxSqE3z^ySCsO)xVi+5;ekk^lnB$^w>g)jKPt zx8i<`zE&ziq7Y3-`-RxoG- HFk{T)bqvOEHi zz$s0c9 9a8OX9WCSx3(!t<=AAR#;>~@oM=9MJ4qd%`y+1lxI)K5rCHRy zf;0eR0Z;?Uzo iuZe%DMqze=_;MQ~pyc))op;HHcPbDr3%D^gamNelw+^`) z0g#~4tihaS-O}Oo!OB~$$=mNon4h`lc#QIEO>sXt0t|ud9J7tEy!So5bhA8_ra9NW zw@-gc8MJ)Z3h;U&tj7DYGI4C%-h?Vsc|fmOntBVOgcd_WD-7d)U>DCvqQ%&SZI`4| zv@qk>Urz*t(Bj(jabDfr))|NV{GWhW@>H!Z?N`-wPDMDu$Oide=O?r$SBXS+1j$bs zTP4ZEOQ7jyKrC9n4L0)wI68vfmgla^;QvJeY}*4v&APyxpbn~U8%fz0yR)PxI^K=V zfNTFt99#X~DJSZo!8`>k0qes^UDs;8x1L!TtYq9swliAN#u%Cj`|ps%ZBQ;O7TrP3 z_HfLO d{^2U z7WmHBMBJ;7`6a{)Qd+wcu^rxaANOyCtFoX(o}9-|S-*m1qjifgG$_?ANEJqb%h`Zv z?hR%z!M>{ecK6$xvx)Ylwic6K6SQao6?wNd+wIeurDRK4yDgzNP*&-p3;)_<4!T$k z6&n4RedVRep|6>3XW(*eKw6p_2mgFFc;`Mo@t_l&dJyMT<5ts;4}r;oMlF1Ue;1qR zDp5-Q^~N0D^kWk)?}U8*XTAw6L%9%SJ3e9b^$wWZIG9{B9}bFDZS#1<0JKy8F~gAj zv%q9JDgh9b0{-0AxpX6kx__7!0W<$y7wsKotE92wo*th@0wolt&i$;nbY+m%uV9Sov?#l*( zsw|qIMLbEjDDWC(DLU2Ny(Z!HcS#Ax_iHZ+Q0Ea3#7VyUQgr5J57YW d*Ui4y z04w>LGwat{gX3KH{z0`NUA1A_xtWC>N6&BWnRVZWXX?eLhxG-cB2v%DaF1YwN$b7_ z*RA~OMx)tw8%BQJ=OW!vlH%xBQKHVY=@L!}?c&2{bzPBcVi{|c1??ni5mM>2P>I^o z{JJDeBhq#>X66*|vV4Soa!Jzq^+n6jQnXw&@yCF^lT})xe3O9zhP2>^!JNnn Tp~RMVBM+^sCgjVCgXWvo=8{eDIi8Uf z*Ls5SHhM~Q)_;y^SiR(3V+f`{CL5aYGJDj%jA{GLO}#!`=V!}1aX0tCZ^Y?p(ldPI z8-A|BWOEo|7$lCxy)!4$k_u79BZMBQtHP#^py-ipom~r|DcF#7)Rtj}P*c!Pjxma( z;ovF94NaHGU2k0g?%Xa0@#LOL2(*{MDE|b1KDoHAvfVa;ArPU#tKLMaK{#yFd6Z2R zvCl=1ZHp-56>ML%e3bhgf`5JWqk|W#4V%nf;&(8U9fu;?%e$*%Z)vbly5$STXodxY z1;J;s3oP*&DYy67(|m#T!lrZOgwG_|eK?0ST0gVPddOIpgH;)YSEIHUm)>=|6a;mY zSX_@id5L~uqpRa3f0=gq4mEeGLx+HL|4eCD5E}*+V?KLbT@*Bpy`DauQowfpXaEfm z$m}tjdhIxFLfDaavLB-Y;`m$&7y43-w9gi*s)w47@ItPHoPAN`ojRYyt+955tTk{P z*oTG5o*fcklaMHqyHd;ggYGUtr)WQB4DdfJ-vnMdw(+_%l!ws!H8=lpuWy4C3k`aO z6ucN^VTfW)W#VwFa^0I0|3G|vZRXr?jGrs;$@6Y!)8@fEk=v(4OfThWvGD82AOTZe z$67I0x4CT$lVAdvDVoBjq0L0x6#F{l1a$j7<8Co#Y)8ZhI5KK~acfE!r q+q50)I->~{`UHq@_;1_tz{$Ax1%uwi#sbBukDJvw5NsIO0tpQ62_mh39q zGWHwvOd>p`t>S)G+1k>Wf%R3 8&^r z)U;%thUE~9*?eMK42(FA;X7}jp2mC-&AtEY$(ZuFfm|j@EqwJ ;RZOl9% zuBv)d@CwyuxGER6BA7y+K#gP!zivo?B=KU9$F-W%1Exxi?N98 yfgafkNQ3M{{K{@_HO9Llg= zGL <7CJNOD4ZN0OH2Y0e+_ z lk{x-sBlX2#g=k!rP*H9FUX+K_qMUo5 z{!^vcc{`Y5eyg3GJ5MRb2-sOd^?vVa3m f$OydsggC0i*DYD5QN2Y(f}Gw6XR9@+m} KA0zjm4F9v+|2_iBZkKcdp>8EA;j+=?asx$*K{_3O_#jTcZBf@S&3vy9r6 z#B A7mZ}P~rc`7khIo#AG_c(v^tm aH!jpaVxfq` KeFCR`p!{kwov{535S3kabl(ZOJ_ zvX-T(kVF0bPt>O-yGZxB$~r&A(E-KHI&JaIa%~LvnMu1+ABl zvbiIM)Wt==#_fVa6klAb?_4&0My-T s+I2`cF)rhw| ; znkBAg`;@98sW(BA4#!EmlH>v7-3pjYbzkETN$2d;psL&V!#zk9BY&bPdBnY}OKdiD z%P~ccS@zAUJs7+JGq0>s MQ8eo;Dr$5FAHwH) z{1WaG@}Lw%uXhBZ(R8Q4R=aXHL{U?y@Ab}nj;-f9NN_ oDw;$5viF}*c0cUQoB za!9CZ-=c?=m387St?qH~XGH=F3j&uIjg}WHp@P&(TGn?fTG9ge2Iq(IaiR9valWTX zUuo7qke6NSYlP+C>GK>Ulj>s`l7;%LzCQ1}Y !8871;nuhI1RK{CLSMdU) zC%a|rDBNTFIMIfs^z4Bm#twD41rN2s6O~=1&9ttFN%BqmWo6O*%$>Dv4LHtFZImeR z>j^YU+RPY4q^866xa4qjX&asrEIT`#K3aLxDOL3`ionHyZBd+GYjucrd|q)HkF#G} zDv@qW%W%Z2l8I=Io@ml~#$}gIfzMh|<2O+O{^$K(i^DYQ-~va}Auu%P1gwMRLE6)_ zEc4qwa7BDz7^!vK@H%;4{L9kRJN;-1yO0YD3%};(I|6DEz-{tY!Iu8AUU8aZw`=T^ zMG!V&pG%0swB(XzV6mwFNRDx5xV#&Z-;A6Y&NCt!{JoK8bhHcNi6jh(GA56~>57JQ z)8}||D5NtCyxcHf &kjnglFYne^9%$egwD@I1OL=1O z_(+EZ<7r(h_2N7uP*~qd?hj1UPB+FlY}E}(%b&vYVZx|7Fr)Kx37xRiX!qHknbuO% zbHeh*E{g$(MPnX*+;oHR;be?G_X BLk~*LSi;zyZ~mLPZl X`#vL?JPUmnEJy4*dpL98UlkY1_5sN&Z40pZhk~B+Nv+r}+&2&|M zL#i9KGOf!M(Bj{!Ifgu_AG7A)(Y_}$9t?uBBYgZiEitJ(6SY23KZ-1MY%j@F>-Ht! zaVyeIz*-Hqz02!H^O@d}LjCH*>ED C}>ZKqQlAKUEErMkPR3XQD}VoVHSP^J1; zJzzN*IXV8+YX*WqngE-i0NTB)KpOvW^Nlj@Fzq)F;}!{w+h3bUG2Yh1Bb(t+cy2EV zqyb}7w2W}4!cC3 UKVxlud6 zu#u0i$W=!L*<{H(MP#1d{W!zZ**U5ltc&AMn7ehkp{0+Ut&|_&U-DVDKHgQFuCI~o z(P15u8Xxfe@uW|@@RSqb{gcu3@Rqn+FmB+9x1|y+Ddgm;f$2&$z#gtEajW-7dcZoy zJRpv8`JGv`BQ{nFt`_AC-WznjLyDY?+3?#Ot|h6c^%(rE^Qu@sU_H~hv;0{asm?hA zKc!=6nz&f%?uH8IGxvc6K140>@C1Ka&vzPJaI#%YB08?oV~7D7_!GFt&loXj4wj2E zUHhEJ_ixj0yFFSr_ko!F?#)>lnG6#s_}Q?VTM=E2vgKoWsb=okRp<~jVN6!gy`g4X zytTUqEAgY--cNw&qvlTFv3pKPJ*P%ak`2n9F*i>YHR}nd%^%7&@Y@B`{@8%BPp^ww zL~@_#A|gE{uhjHlQM)i7s07MLIInKAuGZJ vj##+*?nry=S9M zlY9^Tjhm;ne5j-tg}$xJzHvv74Tl(99@me`frng;v?Ft3;dcN^?SLSw`Og_lHQn zx9ju{_5I@K^1a|E+CAwiV|;G=_%&coE3B1v4qjsF@o^%7Z%^jr?NNHmUVYI -n&^*h=vkZl>e^D;*`-%x;QuN@cdJO76oYso*fj^3`F zTqJ=7($cbQ C4={O+t zg*B$Gkn&5eACBJBbERS9plRqxJ-xlNlGkI*^*i$$!M{}uKSLHroq|@DUK!;)+<*cc zLkk);v0%Z5Kw9Pai&dA6v^^MEDYN=6x>fo7Py6n 5raD{Q2wQFRRESpOQYvHBgmUM{(a@ zp0&*B=K_Zn^S(i=Ax|4y+ZFg6hJT6;v<|9lh)mkw*~D|a&y+eu-lgxrbiF@PTn8p) zzx89fJAYR36IWA>Z+R&^`y5Ua`CGc&7p1YQ=pmmWL{=Za#Gz1v^_`}&-z^wf*>TL% zIdLS&?Rk&qpoTz^V}W#}2@At@bR9%a7C{bklYk9>h)u{7H``V}`$jGIuwX3sd-DOl z#_CAvb(7EK475C<>XESgIHj Bw;kKxuuW%$&XXVgk@x$_lGjt_Os{?sXA1|8w%fhcm*Z;Tk5GgrCf z^+T!5#%#7vQ4g!Wuo9tpW;EV!mplij&1ekdWj4vuZ@{@q7P5-- zJPCXdZ^K&j*@ebym2>J$BQo{fgT%|P#+qbbSc)X71HdvkX2D@e!E2wYWV&1x!@V_? zVe{>yh{c+RKIB#W$T^G`RE84X)h _zC1BVY*e &OniM=4`y8XCSq`~~ibp0T0CQ >$ 3AP_+(@()TPCjm9^Cb5USzQ=24YY%S=H!IL
Oe?C}TXF{6eLajkR(FWq5r l>J5cm@+@);A6M0f4C5MX$gk-jP zM3-d=ht}GjPSLcC_6K(!L!RU@w+7=Pv>0~&@d){9eXehzNuiAj#*ohkG76PL_R6%} z#h*K6qYuYOiP@ F=kl^XkX+fwe<6wkHRh 7X_Seyjsg*Z_x=17~F zti>)TcPl#PnDZTYjnRG#s_YG1-rv(ZBT4DN&7w!Y9k#&8=0zVoN3oj4#m;-I1rIwy z6n5O)Rjk66lNzs71W}c-Re2jvn%>V}5=!|=sHV^K=b6gs+DyNrh)^8JHI-AIpK>j- zvVhfoGyT!aGj7i_egC7`S!Yh~ pi_p1ko3N*)eI^Oc>DzU` zuI+9qW^Mc|o^Z>r`Wf8^`eapY=zHF=oK8tDr$fO8h&ud{mzR$?TAXL?69ObTx61mC zJBF`>Bu8fB5K+^xK<)cha{m-aC0wjNRAT~u1>L%W?!l*EaKUT% S>P1%K z*+g-``gYye@jCf3v}IY+Xjqc}c&mF|%ta)jy;}dbVxnr&BwU&_2;4Ax51E=OAoTns z>v~zQNJ>p@OS?RIjhifiZaKC56PzdD7NJPCud*>9G3pn|dn5g$nD>=T9DIK-oyNJy zp;6(4rZ{k=E xtI60d)_n(6GEDsFQv1%0= zOWNajs3+ZC)|@S`+?3wJb%wZqcE1_}-?*EOE5t8{i60&3C(B;?#4kf5p=FOkmDs2a znhph85wNm^GT_uO_*5WxZ`1kqi;h@;v(x;+ozX<=*qM %ZkM8>Bd#F7eesX?o)e5Z~xY-7KGsG z)FL#0L}Bx)VC$yLkB1|xtZ}<)_sTos(g>zrcM>?e4x4a+w`>YLw|-&0PeLSKOc+nJ z(;;?uq`lnyBwS*x##Yazw5Xv~yPUJ2T7HSa#q5SUvaIhKre1AP*}-^;X=e(hmWf _cKY)3$-0wEaCb`^a> b_;b?RYn=bA|HO^Yz3!jj{tSF`Cu;A*fTFTTsIjlOt+2z z&njMKc6a~g>dtKb>g(CWkAN=N{M8M5`OF>WyXS}^cePuiN&VK2)3&A!y!>waD^w5! zqD3;C;?usr_r{u_bfa5TD5A!p4T7R-_NJn~^Bt$>FALARb@={ i2JO{E5yvufJJM2mfozoO`G7gDSmwAO=1zFZ+Ezy4#)gN2D2p5qF$cblt)!yLeic zuw&iOd$FM`Y@*JqpC@lxuVBt0i(o{$1fppfA$pmaWj*5Td51A#!|c}#-rIueXMH&y zwXmvPwFpRAyO=lej@`Uf9O*mcV|OP}RYog#mxCjQ)$jF7{5Ma7 ;ob!3r4TwgQpeYzdk6Fvp?}LQpr2)82 z8yv0R+2h}h(LEncUN+cU4_ElY?hFLMksI^J@KUeRl3UK%n%{4ejYA1v`;OQJ5_ C03%oKQ)%uVp{Ct7h*fYs&ls?Nz$YW?d#mC62QiZ$^&4&HIDt z)NC~@=2orT!{dY{rX6hj6E-EZ>S&r@98a (P2e@aOJo z;|Rg<+F3l}N@F08Hgq?Zg5imyfZ^rqo8Uhm0v0xNjy3FIk{=G6o5&0K!CZ-sMO#<< zV@Y?dk{YXUJ#nZ;06fd`hJiG{!0@`Qa>4yX#dV1kK3ch;QHZtBb6SrJMts8z2oyos zZ?fqID&MR}Oa3_ |89hZ;XGsj zK2gN?V^`I(VGJk#tb+>FX$OX*FwOD^;h?n1P%rZ5)K4r+mXf=Fd8F4avoxN+*(e;) zz+!;BaD!K9ym{zhfr z!6usv{S)uW?v{V3;Aq*t_TTL7AbS4>giF# zcJxC7KS(8YGCK7x9#5xBq8V4bJ8QDDs!U{l{f^hzAp!B=Tb}CXNph+a&qmpl)^01M zQz-_kw72E+@^f8}XPlWNkqdLVNw2=lf@Piyd4|HVyy?o5_AHqsrYfT|P`$8~Z;+L2 zFriqcvM@k^Mm1$)*i}M9-K $4_5Ehzi@Y+PQVBo<}+?OWvHH%MNdTG$Qa4d-NI zF)QwbLNGwW^?YpC(&E*G@yRWu45MK|)wn+nTqz{J?LPz_=&cz+E}u?ClgyKZ&_#0| zerbwdfx%PjG}e4r#{-4;tz}3X#Jqg5E37({v_Zw^?y@86&@ybrCrBc?9?qTHe?xz$ z(6N8a_4i5A{-BfQe HnWYW88ZBg|! zcyA8{glhNZ)R2yZzD~sy2^%H6OS;;B`lk`)n5XAUDs2pS#V}RZ;8?1`{lAJ94xIfi zk)dGf^Na}CdRs~f&H* L8T$8?S2KPTmmz>9i^*_{zfaASEXW|U9e;|G zhlB0EewKKuOH-H)IsPspKsgbng&G9W5~!y1uKaiyw=eo|g%MqQLUFC<;R4((^dy3F z0Zzhj%Pez#iL<_bpoFGsx_H}Y#< duvr4 Limc%BoA#3un*@-WS=7FJ80{(fPE< zi#3c)=}3~5^ZSic?XeC%K zmdl>r>{EqM7;uh}AG+#|e+3Nt{Af H6qgQgR4mYkr?UkQ 9g0Axw 6X1qlz>Hg&Vc9D-!Ej^a f$C&E^#vYx2JLVu4_4#)#UaiJ=1e-9OOQHuKC z6G00(-`Jk&+V2`)+$Qp$MpCv$<4ev3ytoZa32LvuU|~B7pwN_jR7Gct<)xUci1qh$ zh?8sy WI523If?T%oF^m9Dwnq=w9j+#21sxW{jJk#9vs{ez^ zpuOdbx~GM*DqmEQf_xM$wE-13f^Olg*6-DG^mtVlB;SSk@*?KLaz4b6pb~5ruA=J> zg-X$3ypA7xoFPqlP=DvB)++jQLxYcxC7!@q?89m7SY9xRY4=MHbr-+DuR$b=%wF z!z09*nU)KEnUKES)G{&2o %^XkyEIYWGz!k3J~|B zn0)S^PDvD+hKomr{A*1H>2r!d#-aL^X_0Lfi9-$H5L-%A5oSAF-Cgr%)k%EPX~(4o zJPnT}&bO{FCRk|#ZiBA|9+#^777avejQl|n@;Tdm7}e_EwLQ!pD7G7fv=uuL8>y2F zx_bGS`uYzb9UtEhuaK3s1`(kKY_Du!kpy7H>Sy5vTLeA2)ttLMXRO_MsIBU#b&i-d zY3&w9Lklfg{BEgA)TWraHL1cg&z8JElI6VR>Qv8My6v7l@u@^n{EMH8zv^DHyQ 0k$i2HIsx+T+#rWltaw*Blvdw+V zN9JB}$YA#7emqUvPJuIp?)c?^3A4%qw~)4{sE>&bvicE$u2wsq2?o(5a?tWLOYQK( zUkqD(lyD1N3_w|>u`cqJ!upUZkRl?*kvg4xPNyCT?dBP$*er6?d;%ta$Os9hI;8)N zk;dJpQ*OLQElTO~0O`nuxmKY{QlH_ RI#F`u@$0rDH7T0fIe~DnT ?`ek~;0I_NrBMZ)3!4o^rdyihImKsr0i*={Bvu@TcSzQE^pu z-}-b`6(3~Cpv+xb80xdx5*ceBXbB)Aod$?>nfHkAq1@L}U9HLwA|~u?`$Mq`o*0|v z!&D%YTh*Ze)9_8yK}s6%yUmgHcA|aX!AAdxms>er_3+yVbgpaOW0{$2i>I7{Evr dLT1Ri4k>%i|&JugAeJpN57GZP67LE!QDluG^y&R_K$y zZlx&~2k!9n`$PFxq%i7MQkP-*flYpZ5wrIMF)Gq>lZ(a$A@GRVo5G7pPHg0~cmZlG z_IHJZ-_qQPB|_$ &gJY2Y%v?j2OmAblIH&c-&6X}KyaDFj)_t?tGH?MT<@<$z55 zG)}^|He$bHRI0ZV=d~Wx@e0Et Q~#A}waiIXNG<0Jl61(QB0rRAXy2BOHTr z7pv1LLEEgF_C$<9(wOv8q}SckR~PYNW3$UseKH~?*+eaZG{RUe9G@^HkV-6@P{U@b z%SJ9(ay;l*6t&Wf%|+vO$5U~i9(cV`I8Y^7{qm+Z;fc9#g))~z_V`8*{#*yT>)Pt+ z&W4uJPOCKExg&4BRK%v6dv#MSOH#Dkz4k!Qy;=@$Zhwv^lpbyD^I_DAWdCR$taf+H zECS+@ 27&ZcbHHt@CvXZV;tvWRTXU zht&wEz^8Z*lYse7^;yomx6AON`KDsV*K8k9=t-;XR_G<%U8u<@Fq0KInI;W?LmDsf zyS)ozuD{_HYEC~ux>WJ3WN{m#Ua?Lr>1>G)qt;yhMG^P4+J1m7scyEu@_t0lgUcOo z#AW(tP0`A}djnebSAky#&nrgV-uM-IRF~VSeLTICz>_(7OfD ^Lm>zKyzPmj|7|f7rb>P%Vh|b zGb0g6!2XI4FF$uwb4YyEaLizO_2okXjb5zD?_M4U34&KSEit0t;iL=dJ7+CZWBIXp zrDwggbaL@^uRQMDV($De7)vF;%ITGLkF5y9{O?rq1CQav_@+xQ$L5RP(Of 2duOWNAPawk4*L1qjt rwJGK~96M`wF``zd5Vnv8{> zq<;&Q*E+i7L0GXp)EV|XPt`)?t6Uw_Sbn|njNj^>qsaVlR&tLt=Hm9(!2A}@>yrER zoxSAwcW%wQx1JYwm& {kL?bUZkH3LQ~Gh-UiMEhcf=W+#`kD?{t zkbJx%*t&Y;=i9w_<=l4CcBQ8Wbw)&P6s6GtzMK0fOeY1R;lIDY<*kYnQix)n&nL45 zi@AI$!}>W!M@m>OF01zWj1lc}*~!fvC7o`d2w;||59>2NCT_RaQ`{2%;OHxG-Lq$4 zoo2Dte}nexFNF00iMOvz5Rd300{oW(z|m%iIW>!UE(9pPj@T*wy*@SA1l9`Eo6;L0 z1l(>Mg2tx$J~WRGgYu)Toe=|bCx^i?-thZ~*M5}f6(rB_PzvKan;c!j`m*Rw4&@If z?=R8*TnYYxQGb4(aZ+StObhNzmn<{dUv!U*2AizBLw&e|caN)HiR`42N?@S%$8z zUoDb;w7WUxyO|+gV*31h?s|Xk>Ja*~)h-a3uB>UKER@NToV>#=QiK-ILqU+>Nbd@E z6s)mjA3=uOw!vSAn#b+9kYS^SproXYR*gS!GX+zIn;Adjb>Kz_45*{Pso?H(u-fRj zrSZa*NzIz;K?&y!XT&&dDFXhbiQ -)d &d`;WD~4EYNl^_n5V(y&Y5L->qf*OXF>=W@DF+J*i}tm8FHOk *dllzYuXa _A_77%` z!->8YbB-g6RNj>B9$Ah#g($_15!?QVt?&bxJ>i{v!sbHvSN(4q+};eBHkE#b3B`bv z=c~a}cBZs|T{^4uX!3Pva#f3;6n+oYiPfJH!X;t9$Zt!Y?$P@kjcxVB-f<3-NE#Tq zI7qx>Cdzx7$v;EJuO;flsr{DX#-8_pT$(%db9GWIk%7n>rIu9n(`?qX=_&-v$dIL{ zq`=c=0?PF7wiYxj ~-r~ZN23Tx?(WHXb;}(QARonZ0ITtiMBq$k~ch<*7Fi| zMB^9YjGuZcyUq?K52?8IT{ym7m$)A{n5{HaauNmDL&rI=S0A^jjG?}fzVckj^(I3@ zg=z0v+?3bF0aR1>N}{T|&c3t_jg+UaqP)EP#p-xeJ4E}H-C~%nII**?ML)ZSn!j}= z??rJX*_}!vySv)w$p_G%`0{K +F)RsTgiA ?Y^P zaAycd4@>VTE Dp6)uahZMIWn!#D&O)#3H6^%Q z!+g&_$rABVGgh~ ig&mLSB}w4Sv JsGbk{fAStuY$*!k<$ z)v+;Ybf%34BG^2_?|dXIF$8$5OFlsyWC$wa|G$Rd=;wB(T=lv{Ba=#IGbsb;p_mb~ z=X=fGscDZw&fu4~E)T3k79o}T8yx+26#b>NXGR;2RpqE43|?nq7|G44SFrR6Wc_LB zQuhUPVeN8Lcp2VB<^)#SFEcGRv4Fx+@J#aq0Jdp+q_2-+^-||X@cE?~Cs0K6>TF>H zj{8@;;2 Qb~GT3&;_-i>M>$77CuQu4 HUI8xm$M;rr37V^c-0&xF+_ zm*H`R%S~XpkmR~o=a(E*Jpp*8s^9t|g8j?7UBwV0zJgBEHfT3JW#8C*$p$=MM3vSS z1F&W7Ue9d*@=(X);^*p(7%4{STMG+|_w81ap@mH2UP?-*A&DIFuCt~VbEElkyM+f} z+1ADq*2@11Ae#4ao6Z|Oae94WE1Qn)p@q6|AU_W{J`-8;fHmF*+&TZ`!~fPdKfklr z_4sVLCa?R=zqJ6_niiJGD>hm|nMD9*?&X}RB=*0N1^did{bBE5gRrwPjoOPUJRu`& zoe3y55hZqs;NQNytkjmL;gZta1<(I3aAtTj3ezXj-e1;BiKl79D{>$DVTL!(su87| z7o+|T?$|?sdrAkuk!6=Faq;z|JE0YymAfKjzqGM4u*VGjHL(2W=-BK8ew-=F3;<2E z(Vr9EKh59z2SFgD7_ZT?YULDrOP=Lh+9jUP4G;M >%Ox0hf8#aO{w?>^$k3Axu+^qQKy48c7+`u8wI*XpB!CNLE!-N zwY |hPp-z7N^?^{(i(p!b^c5cq>LLSa$5AK%i$t(R#Gc*|z5Zzw!FI z*-X94#?77Rn_rL2PcO;Kpa?2XGUq=hex^Bg$~E_ f) z# @cKtwgCC#Y>_a$zz7}x)2CaibzN*T5dmw z;@!n^f84?q_7baZ6u6~F&=hU?*p2rcq7v~%2w`{A1%s6uo(Nw~7wji`ZW7FZ!QG1y zCtI0snH~NgAdFeh38*X@^Ezf$$@_xQwB1i^c1sz!ldocj$8oP8Df}TR_=6uc)g&Ci zO0ZPq4oE{Rk(Bp-`X#jIs6N+WA@6zLp(f|i8Wr?2M`m068H=<1@cby$+j96I*pG}X zqxAa@$2yaE;QJ=mI 9Js(v0YdnO<)T95@p=bt?jcFff#Vuz>KqIZlKv9I*K7<;4xW)$ zh+C}YUSWCY^~Wo< yFkFGW+>O|bTWQ=UteyM&mc3i zWz;ve&wnHp;1l4N4gHevYcxs3y#Q#XAS %Yy=m# %fF=(t2u1l7{G c(d3 z?gRpgY(+V_zkM4@5{;elDVy){kKyo(UyO29h_FNC6iwvIM4bSirl!5}7hvQMRBL6U zEc%%}`~h#~WVNJy<^Cv6pM9FY(F_C*X1~n{94PAm#zV)PXWl0Ih@q7z>?jsup28*} z3lYFx%zyumx4Yi=f*>n>OZN?8q!@W@=R{*WlN?=2gC`x+UlLBI#tW;!+EK~*joDQT zlQ+QUuLC@}+QTN(mT+&csly#Rv`e#D 6zOBFZ+ z%Lj=G2uO+JMz~h!%6=ZY$dhJP8L80xRy^EZx~WI3DT;4y>&ar1IjPTeTBr-Dl#oLK z6%K@$@{r@|GpF_a9U9tb0K^i8G!54&BYHw)VrJZJq%^ZhxW!S116P6S9l-vKo2Gt> zos(g(m4xit8~?O^m8Ke#%ubEvUQd$!;U2gltoPH^jVi;bZJcWR243@fAd4OUTQX2k zr{e7kPt%qY1clafLWlQd=Pp#4>mC{6)4%#0FZD57iUcwgwuPgIUA?AcS^X}rNo`yg z-+O$VaIH-OPRbCLeNm1&JVdn}JWs`tlN*%U&GHzDlX<8O{I^yhQqXf$?uggv15Q!t z(JJTNE!AV!=&T_kTQl%C$9s4M^}mw8Yg~JrKRBBy5YA*$enrTtM?1I-ZZG)zHrbgg zp*Zp~8! JHh;DnQdB8ALbO+ye2hSgN4^vzC=hoNgu9ickNAWca*O7CQdWKb} zIa6SIN0y(z<%=zVSyxw5^x L;S)lj zXGTa!7 4d9H0a6J{IlFMM?uuc?kx_sV+=ko#bnpYV{duXi`AaOU}a*aw8< zVl#5=5tjELl>Ooa8FYgm(R*jMEolxvr?yMUbj|SnB4Qw+W5X4}b&18t=EM8YDKft& z1M^y+H-UHd`9-C-yUpFhDEzzn>{u6eDO1cw0yY=%oz^nFw#P(H4E*MGG%EgEfn^#Es7A8UYrE}J3b z#z!9N_2J)ht !gFvD3HX!nu%{^>FY!d(Gh&S8xRH;q`p~wfVxY+ycJ06^4u^ z#)CpW5l9D5qY0fKJNAa~V3!C#R$Ne22a!PDL~@A$pSo24f<4ufPtSfi0RjmezNXGj z4~CBoZE>OcuViF!Fj<-0zCEK_Zq**tsA%P4vwrAB1I0cKutxLT+A?3i|7T{|!P6%a z!sj6o@L3Y{h6a*QXeARxZxJ(-j6Rvy$%V()f>{AcAOglQpZn)O7^G))lpkLoJHka- z>%}Fz>b*bDpSjB+=UVDdheIWf&E0&r_J>DY{pLEd#j%m311P#JtnU#TD>@08ba)`m zkeK`r6-D=o7OOmBIJ0v;hPB;k|9lQH2}jaqQ09>cd~rU43Ds}2@(m%KulxNiFs70S z_;qJRsK?qeCD>hHa~(w8d~=SiVAi_kzD)|v QTaP;Mn z+X?r{jdc`qT74!my4$In`?$M>85mX%h_DE` y~igD@ZqQW6hqQ3;zQ S$5{$qy6-$9s&06{ZxGp X#f6sgI)Acj#2)N!6{H*PL+ z{!W+r0>%f~ymAg7`p)TZ+m`f}9#fdoCy* kU0f zQt_813?Xn)%LCLIz2c`U5~?6w6%l2n dq*Mn>J-oS3>M~+L^oxcZ6 z-5-ox% 5BvSe z>G$Zr=!M2O?g=us3;!d8H7$@i0jn@4uN;-SwnfF{M^!mTdXns~q} PU6raF*=9#4ghMEat;!;Ih)UuQx{zS zyhiG1yp)C?L2^QfU>l$>t~YpBZs?zwvN8x)-nE02UZ~i}Kq9|Mu~JgT 3dyuY&X+^;xfY3kANcXwnNZQ9F;7x(l3TvdPcLbPL7*hmEl4`lxUHXo)01SCH+ zWzN^%js0oZFkgu=iF^H9_agNpLyS(pA>*fe6W#mIYcxW1$vcsLw%<>%)iHpy4eJ5U zuI?JbtC00)cL#T?Ov6=FDdF2=^-|FkC<3DK_ifIt^~b)z_)n&n0U3$Sd92AQLystv z^BH5c+ElApn6TOZrLwZfHm_4FS;fO6)gHi}OWTk!G99THWD{v|C9MDY=14L}$aHOM zokk)x3<2IYneLyIb{>_rS=rw{c3!JR8cu{1Q!|CXp|e;<5|3|iQ|oNN&5bF*%`ld$ zhnW&$5f?MVkU^ErTU$+jlUu9h=$tv1-XyZ+EuNt&+RLE`3X;am^!dbN5GMxRv!WU~ zxfsGvI#ze_rRMEZtN%N%p-DrNyM2z;i1KqG3ZUY&q%I#o+*9(%Qfl(nQiyUYHNTh8 zWOESrJ1ubA1b6mtkmbe`ihCT1?ko eX0(HVw|8q5c zQBU{~bX>*6ln}R6z+TcedA(l52YP}%xIn-zX{nOr;A~Rb7e@nvq6-QCn$;m380kBu z1`R%i9<4rG-&uT=wc;^;Mu!1MRI?*fIH8J)Yl=TtUMIHi9i==_mgymSc5Z^dh+h8q zy*n?%*y)lN=`aJu?Fh~*;=b8e%xK=OPvtrjJch1ts_Tlas`s?r`yO!~JGneOt`-Ae z*d B2*&LQiz7qqlh}wxss%g{QZK@#CeCF7NgGwS^m2m_(1!&bU<6%_J*^G|8wd zrDeXyPmnO$x<9<0G)s@CkCincG%@^ccg>Qc-19(*fgv>HA&DEVd^`G$RKl!OVjpE* zttQq}Rky_pK^}oQ cE;pvFr$6;2|++uY?|-yz4`Fs#)7C}s3^8^^$xvSEF{ST_)qoj#d0kM=y$s?W=X@fpY38?K6+JV9$=7PY9 zLFVRPvcfJ;q@QZ^%)XJRGx0?R_$ Q%9d6W(R1Ir;M9KC;t-~}g>XXU~Nj0~{ z|A5uo?#nkCJCOmW=2@d%2 g!H#6OkS5hM8`b&mbhvFu9nUhbT^3Fj@}1EXStB>-vf zuf83Z)|EyD;fd~as(AFpE!^nvPWVItp<3?m9Xv7bqvX_%?7J97qQMJb3Jhr>sVUBd zhDY=d-kQBlpau c`{QwABUoR>q1 z3^@nga_uaN#j2*#qBo ~ZzVVAhOEKXg)B&_Rd zx{*UZUD8-(q#Jg@41@g&JwP@o-;Il>ktWalIYf%_X(R#Q1OQk*XV+^G6v2JDk!~JN z^ymiX&_uX%ls;0=QzTd*-}R1*2al86vngKq{fMi8!Iu3J_?KQru~&O$R4fZ|Ytt{a z<_Vx$^~_?fY~hz6$+oX_gUkvbP-fqwVbkT6iMt!wh`)7L^l?ud&3p6zlzIAGK?TQm zGBOn7X&WvKA3Oeh0=O+}Ir~&3W!zGF%{U5YL-#Q?i$#ztwoc?4CQ3;UsdC*ZplJ zj5)z1(q!-Sg-el$6XQQ3Vb=emPwfRZX(8n*H|tso5us6UPYrq%c`LUQYtFXc?MmWW zeGi?AB|WhzWMqD|1D0h!=go~eXn(2f5aT={So~QoWWOw$Fm^KHU5?d4E8kKaJhXC5 zW}v1u*NG4MFZgh!MbN~wjn_U3U~D%KAX_`;7Ey?zkKKqr>+@Bkr2k~Is~YaovlBUt zUXO)R^EBe{YjGrR)U&Tcp%iKNK6IpX9;ZM{zUAJN*CV=Pl3C)`mua&3#Lv6CpeQ?O zd+d>V&zCzjU?Fc#{sT!+B9X)b2-p>ZK`_hQfRFty{c_vdi1~OC2id19Rbt|P2z)wz zJ-FHJm&Fu2Bg8vD1a!=wmg c-EI zn>%FBj-3_NYAJD)gNZcZdsqEXC7*~_JbLK@d^}1zjPzAFm>?;c&+I^l $F^dfB+5L` $w-?39BwS zv$*mvy`B2~MUM;eXTZH7%^a)hl%X;P>*+$j65Bt#01aauWBnFdb;P~FhXTHnqgFXM zkYsF7cyv)I(L0C~Gpb5>CY^;^7dJJK;D(*6U}*V2WtiQT|Dg=?dE>{z>`RjW!{kzK zVbnAkDvFz~=Fds$pu|B^c($tm>EDW*=XX6!!?W7eSabbt`Lz+r4H#`IFbk50`sO%@ z);8X-CyMu>c_Y@78($DE`tAhdpXmu91v|a3|Ev7{|0KOYzX1|DAg4@;$jAc%_onh# z602 -Y-*%09~+hc6 (tny%yoBz-l`j;~BKV8Or;}}TL(Yg+;yV=iJxx6P` zUt)I}0YtD_PejGKgeeT0L;gbuOBiy=gzO