From 48c8da36aae7d2313938162fe7531c5b1fd23caf Mon Sep 17 00:00:00 2001 From: luoxiang <2806718453@qq.com> Date: Tue, 9 Apr 2019 22:59:37 +0800 Subject: [PATCH] =?UTF-8?q?Flume=20=E5=9F=BA=E6=9C=AC=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +- notes/Flume整合Kafka.md | 194 ++++++++++++++++------------ notes/Flume简介及基本使用.md | 169 ++++++++++++++---------- pictures/flume-example-8.png | Bin 0 -> 13600 bytes pictures/flume-example-9.png | Bin 0 -> 44467 bytes pictures/flume-retry.png | Bin 0 -> 55901 bytes 6 files changed, 220 insertions(+), 148 deletions(-) create mode 100644 pictures/flume-example-8.png create mode 100644 pictures/flume-example-9.png create mode 100644 pictures/flume-retry.png diff --git a/README.md b/README.md index 24eb97d..078484b 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,9 @@ TODO ## 六、Flume -1. Flume简介 +1. [Flume简介及基本使用](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Flume简介及基本使用.md) 2. [Linux环境下Flume的安装部署](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux%E4%B8%8BFlume%E7%9A%84%E5%AE%89%E8%A3%85.md) -3. Flume的基本使用 -4. Flume整合Kafka +3. [Flume整合Kafka](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Flume整合Kafka.md) ## 七、Sqoop diff --git a/notes/Flume整合Kafka.md b/notes/Flume整合Kafka.md index 0371d21..68d97b9 100644 --- a/notes/Flume整合Kafka.md +++ b/notes/Flume整合Kafka.md @@ -1,81 +1,115 @@ -# Flume 整合 Kafka +# Flume 整合 Kafka + -## 一、背景 - -先说一下,为什么要使用 Flume + Kafka? - -这里举一个实时流处理的项目为例,由于采集的日志数据可能存在峰值和峰谷,比如如果是一个电商项目,那么峰值就会出现在秒杀时,这时如果直接将Flume聚合后的数据输入到Storm或者Spark Streaming 中进行处理,集群处理压力就会过大,这时采用Kafka就可以起到削峰的作用。Kafka天生就是为大数据场景而设计,具有高吞吐等特性,能很好的抗住峰值数据的冲击。 - -## 二、整合流程 - -#### 1. 启动Zookeeper和Kafka - -这里我启动一个单节点的Kafka作为测试 - -```shell -# 启动Zookeeper -zkServer.sh start - -# 启动kafka -bin/kafka-server-start.sh config/server.properties -``` - -#### 2. 创建主题 - -创建一个主题`flume-kafka`,之后flume收集到的数据都会发到这个主题上 - -```shell -# 创建主题 -bin/kafka-topics.sh --create --zookeeper hadoop001:2181 --replication-factor 1 --partitions 1 --topic flume-kafka - -# 查看创建的主题 -bin/kafka-topics.sh --zookeeper hadoop001:2181 --list -``` - - - -#### 3. 启动kafka消费者 - -启动一个消费者,监听我们刚才创建的`flume-kafka`主题 - -```shell -# bin/kafka-console-consumer.sh --bootstrap-server hadoop001:9092 --topic flume-kafka -``` - - - -#### 4. 配置Flume - -新建配置文件`exec-memory-kafka.properties`,文件内容如下。这里我们监听一个名为kafka.log的文件,当文件内容有变化时,将新增加的内容发送到kafka上。 - -```properties -a1.sources = s1 a1.channels = c1 -a1.sinks = k1 -a1.sources.s1.type=exec a1.sources.s1.command=tail -F /tmp/kafka.log a1.sources.s1.channels=c1 -#设置Kafka接收器 a1.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink #设置Kafka地址 a1.sinks.k1.brokerList=hadoop001:9092 #设置发送到Kafka上的主题 a1.sinks.k1.topic=flume-kafka #设置序列化方式 a1.sinks.k1.serializer.class=kafka.serializer.StringEncoder a1.sinks.k1.channel=c1 - -a1.channels.c1.type=memory a1.channels.c1.capacity=10000 a1.channels.c1.transactionCapacity=100 -``` - - - -#### 5. 启动Flume - -```shell -flume-ng agent \ ---conf conf \ ---conf-file /usr/app/apache-flume-1.6.0-cdh5.15.2-bin/examples/exec-memory-kafka.properties \ ---name a1 -Dflume.root.logger=INFO,console -``` - - - -#### 6. 测试 - -向监听的`/tmp/kafka.log `文件中追加内容,查看kafka消费者的输出 - - - -可以看到`flume-kafka`主题的消费端已经收到了对应的消息 - - \ No newline at end of file +## 一、背景 + +先说一下,为什么要使用 Flume + Kafka? + +这里举一个实时流处理的项目为例,由于采集的日志数据可能存在峰值和峰谷,比如如果是一个电商项目,那么峰值就会出现在秒杀时,这时如果直接将Flume聚合后的数据输入到Storm或者Spark Streaming 中进行处理,集群处理压力就会过大,这时采用Kafka就可以起到削峰的作用。Kafka天生就是为大数据场景而设计,具有高吞吐等特性,能很好的抗住峰值数据的冲击。 + +
b(+0?) zb(+Mp8$z@5y&3mJKdB%vO-*0ht~9Slf~d|r^FaoBk{dtO**vgta_jO8aeazau)ZJb zYskr&hI1{`ph2tD2@17t>a}`J9yy!Dt&!(~R#DP4ZVT5=6u2AIoVAb6D5V(VJsNklP@jgR7v=M^zm9JRD^7*kRxy zVkFD`lY@qG;;C?q)f!IelvY(G<9TZ*6SI%ni1o}UZHi6r&|lafe)gn&YuKunX4PA7 zR{u=wvE@gloUGnDcX8Vbi#DcJYNvWW > z6ALVM7UW+Rpi=GKZU5SYh}uhs%^M3kXWrM(wqKlj ny@(4gRNW0_-O$zv%X-7DWR)y(@wXd~VW*+qB380aqc0 z{dxz8`hI2+b2QpS #SQi+Qh<_ul# z?--$E8F_vt>Rr0*xBMk8*w+GVY-ZuBP?OE{4IR~*hiS(@raPcyZ(Q!cBJ%w&_!lM{ zPTUZv&nswyXe}v$0%uCBA3~1MN8)JZ(t0_U5@0EVsg=Svl_iSW9+mWBQyWFz!XgQ3 z%E4mdpBK SsmZ5-o=d25wGaIuo1;W*bv`{Cv-K0|6Oid z&LP!mL&M1zi*M97Ht&I7)J|v=G;sARM1t&4J(f^Qko@Ru6~AEN7>cK O4e~tV0?TA%wqzcGM~#}&$GnKh-g|0L>E&Y5<50Z43@a^4zbZCyda-Ko$CeqG zAJp0h1!HH>35wV-ngYIQx<%Btzx*G-qs~lKd^tJ)D0}&w^)=nZNK7=UETF3MLOmlz zp{J_jKBW=J8o(`OJ-)=a)`YLaPJ=OOaTr;6XBb>-|bbiqB3_;`t)d4`Ed9 zwo}-kbZ)ct#mwq?gaOE~+7VQ~D+kKs4=ZhXZp36*Q!O;-*~JR%ZW_HK>%x*(%*Z=t zq)dNxr5c`P?n=(ZX1_4KB#^AZt# M#71zsGs#JrmImXj z($c{i wl9`X8&-;fUlo|v0%*qWUu90KJltDx)WTN<2 z)+7^>3Fqu^9EfL z!9LKL4?;SDK6z~ae7hcml>O1qPB{t8mtNVX*Y{5RRA>L7^Ya_~#4R?hU)DUxhuy8H z=BM4mqo&s2mG<0nPdi=QcXIQZ<0~)4kC^Snrb;hc6!#(b5{MT=`y*x3&dA!A^eB9w z9`!ujBAxkKeQsGkciyGt;zLP@^;se{C`9Eex`sch3T|1Qa8weNPk_?00?Uy1XXM07 zmN0aBq`L$Lg9W#&75^?ZdBAt1H&EtWl1-BEmkjq$olXjk7j9|#K)s|F9EzoY*pzST z4&$cLsPeRU)7{NYzPm;%8K(@9Pe3>dk6Fz^?dw}F?l^ouOh>Ct%};Z^%*0p`4bxwt zOd`dp>s&i(U8fI@D6j?VQ2SjtS+A37$su5rr^xthGH~Bjg5Hs9jFa2VMXP8RzYym2 zRQZ+4^>(JEce^w45&Uhu{}Qid#~qf`qps)1vh375&&S4uRrVtjhJ`7M(6=QdQH2O1 zo)(DwM-UJHOAz;eM9IFnoZw7JjZUQIp1_8{8+KWSQMblNj>(Jfe1?c3tVvICQ~lok zTH}pE_LNMTo9c%VwO{YXP;)mWx@%DabW+Zw
%;5c4YAybU!2M0WG5NFPg+XRRml(CY(&EEp(y@F!=i&w=s*>GY7t{-2oa${ z;%ML5RCnj6? B?ZmopXX+bYtqsG5mDvs0ie~GHH(L2a{bq#bhYig3RHQM@ zY $9rXmfYhG24w zTJ?lL&fz1Et$3cKkz;DZinQBJN$9Zx>n}|O@hMse#I&(Gp;?!dsIV0Iky{We$TTOF zpE>vadUSW2aD$-Z%I-HB&`xLtxU*8|Nf5na>4zno_d(53MI16cvjyAcjS22sO%0x1 zrah#K9%Odg(ae&jOzeM0hl!&L6TR6qBw6jw4S`IWfycfdcqZE$FlfV;ypMK{S)9FL zYPD|uM0m21`T`6&7Af-Rcy4^wcOwz*ipcSgAk_;B-;0FES0SR{xPJu>7-)>1uuPML z#kto$Usdiwo8AiZ1HpVzJTjp$x5}g08$22scS1noE =RWPUl$3KjRZjlW;+C-GUR{suC%P?@Wh48vhNJI^-9e!)~@ zG5BZa@BH4FzMD;~$DbYrRYP0A6D*jnD%7#~(BFbg&1hp0K8IX$^C?tgu7p6^LZI(2 z=eE3BM0`M<7JOyD+E^^rjIX%N<$8rQRSx0K0W0xYAL37q^7AG=t~-FD{6GeV#E#eC zZ!Lc8dx_Dlp&EaXZfm%ZKV+XPZ|l|_wf|0R?1#E7G^^;{m<)_&yozV)%uOee3on13 zRD|Ol=X_E9$(gdD?TC>1+5okG7|T*mFY4dQ3eW%W__6Pt+(vrg!fSO!Y`{)bElBx% z+$Tz~w$r^tf$(0XaGPQE-I>scscH&p2o=W4CkO( m{ z3~EBVa4yCp5S1k432UCK5g}_J6C$$Rmw42*tbO8fXy+hD4Ur0w 0Gpj#DJX+I&qo5c0|Nys~GU>DM&7(dIDcw_G-t)B2G&?xT1rjN; z;_)ABBqQv7*~5gim<{M? U)S&xD^fB8Xjq#`eW1O6AJGLTb+_P1uhq}1q z@)05Wm!|{_4u?y~nn)zjeRUdyi^AQYc!TxsS!_Qo|3^?c%OLb@%UwEkh!sD;?z}Pv zhO9&RtNO47yE=oX ^v*d;5aK4eSNRrzCDS% 1{rLU}to0cZfVZ}NEz(yL zU#ouzSp8l*QfD>rxeJ>`#p72yrXPpOxgP7-E%n9f?2y(){7uM~186J%TR~66aQ4Nq znf{qfCXa-R^A-S r+ACN4948aiM4@j!Sd{3ZHjBBUYrmdZAhJ@T~d&`MRlqz-Il{}wF?%0t+ z?pf@u%9u_)tP;@ri_dyZF80SC~)^ph81zxP~}><^H^83zj)MA&|Y7;L)*Q|4*RSf z+!XOKRbAPu>`ZX=UULlG-DujkEhqKm*6XTn3izirmaqO>7?uY4pJLc5LDDFl6j)?$ z)iW?g*>9JtJ(NDPxHA)p+J}BUO^@|#(lznpyfF}(-iGc0=8_QNyDwz(aEe~s#LOJa zRHM;%v>aR5;j_Ia)=4E8ZXcfCS?H@(nVnJ>ej=C}C+i s}$3CD2yB8S^5O0HFkgF+`Wf&dKhtr+fw2JIgmpu-F z@6D2mj4+GWbGZ?7&->W}zNVo5c(=On;BKbg9O(s1m&)Cp(QVs<*|8}T94nCL# zdkP&y69S%o9FQk^2MgI9)3vb+d5nU^XPm-aq*RE~y11`#Uh+hSZ}$}QTducQA5C9_ zp%hkaKp3~(MW`utUY=6=@Lb_OIb&q nPwKwe>2Rv;Jv7tM7=x)<10?lZF>DemiEk%(EZ}}q$mD<)L*W1h;vh()` z)Pr1Z8@7_MUeHIU|4x5Qt}BX961vxZDvfwbg>L=PESNEo6R4pNB#)=EbG7*=K-6;n zHrMpHver!$^Xa?}*nh@;()GtZ%;(P{E+mjH1^Z1!Z5m*Q3-&)YS$h{eXT=TSnWk zkgq&5Y}{iv_-l$Xgk6kfx(+t7Nsx2dU$EwkD>@s$$C=VF4i=X8Ex#Rv 2lO>COLQL1WFs2!819{!qumI5j&2=g^ymIw>0Z-qwtI}>4pm>sH~r2 zm2|UejFh-1v%(Qc&-jU(u6Ad3FAQ<4Da%X9Mw~41u#hv95($PMYKc;8IRT2qEk;H2 zgDF23%#xnKsfn9?sLpK*5m;!9$xZlekxsx|6NAarEiR3pU?sV~t^x8lG;TMxCs(;U ze?aLo3BeY2S&o5)>&S(@DT}+sctU2-8@dl{{41W6eZ!Mxd3dH6-zLxh7ycBpf39 DgplyO5i#mo%l+c~Ah~HGN;gLz?Xt+}X0c7YuJ$+)= z%xD6q-~TBco^Wr62+@)kn-P;&RN#{>db{x)YL&_dc(umF^=xlzTgc0XCGFdy8+!yo zkYHInB=%0E;k6@u*PWj9_=lAYLwL;tOE^ypMmjMEb#g#uBYm+PBTHsrp @C$b&NX^f zfgIZ9I@i-G4aYUNbIHKcZT(3jtD%95a}W8@KbuFF(}gW*zv2b*>_Cy+#+r65Yj&)Q zZ}3P3Kn>mwvGWz>_LbIi%Q{gT(ervGg2FRXtuf_|2Rxu%Z~Se^L2^{IIS$o_MD#OJ zSJSv?-tyzq+!kEqduXJ_*wZbc(2YJAR3q*OT_e-yEftUhFU(d?e`8Wn|CLGI+XT~p zZLCXX0yBK(O_Q;_@kFb!l4%!=Tn>0RPXrKZj8cCFo^52fBBjp7Si&_fg)0~tBa_(e z4O*q$yZ4pWZ5;0BXf=iBFQM~|hvFZTQjd4|QgH*?jY!*WMS71gcL`v=tkK@5LLlWv z;?ly%^yGX@+*GnrC)#Z0xr^x2kYlEN%}{)xl3kzw0)u1O-4GLQ%!IcDhz`~v3<>lL zU&CeG`l6!d3TddfsA|Hy*9 qRcE%QLE`j%!k&M^Te%MKF-b*XF|_0YVbp* zzTrOx?Tbo>{DhDr*UVP568^gtZd7eAOmye))2D~k+H@G6^_Vnrq5H0j$BaDvgco?h z0RI&6RPYyP1$t$sO0W2g;Pz$yLOy@}h!DjS7&GOZj4D|D+ixo1=q^0@4v11Ev=j>C z<_eF6R)OuBBXZ7pg$9ofu$xE(K#Ds~t)IQmKMCvvfRY$r%WBwF8+UZ=vwyF|anS`i zMJjR>?WqZ-f@>|;@}cPu3+8cJFcUx5`*DSN4fkV;@Q0URDd4YM?~h#Y3m4ILL!lh6 z<<}Z+^ %Q)ab0UF&JFiNOYN{9;v`6eN{jqV-1kCkuHQR664osU}${f z?GPFJAuXds|1Ane*~{gMfo(m7YTEZ}lBdk~0_c_d8+uXlI }^m;5tud?3X z(d*3zncEVwRJo+Nem6<~O^J#HnpY3@%h7CaY%?>WP6>$;}-&+z_4cuuPy<9@c;E zG)nXr4BG}^m^iV1w!s@ >EuQ3x@uMCYkDA<1iKf@$W>w67okj4s-2@ zgdj1MTg3!vyht>i@V)U)QDE +WSrUF6FVyD>yLlWj*AlkhMeoS>*@nzpy*4re8%LRT&WfK^ z*)}n~jy)37H4{5 b~(m>yrTt*@uy4Z(t`OxhvHYgpZ(9k6H}h6-7Ni5k@d>x zTdjuSK9{7j=U|_RT1)XMDLN2*kT4CpbYcYgOxg{LH?IA{mD?e*gh50IAx}I6{_Q{L zQqy1QQks}9k^e8~(*IoY>k=5(&9U8L>IVb4Y%)sQxx5>-9BZn&Ry#Id*2uNnLA@Lb zy(w7MpT1ha7idyr5;_@$QG6k6g*=7*e?^`wM4JdbuV}HEpe0_6J klH;{5M2u^0`7WIfF8JF!rB`RMEd6QuQlD zs^@QrR1e2UXbwaSfev-Ih)W-kZ4s46!8vcshJX@-d|hQFqmnjREYutl{lTlUf9F-O zzIsE4qW4~422QNwDYv-wXWYdXDMo!{f686wz1l7>A4C*-N_0odqlH&cww1W`M^G!3 zp?@dj?V0z_&YgEY_?~KHeLe;obYR~X7>tB0La1>6hoCjqj?#fU3%3CEDMx%2V(YBj zRD=ta@rvwP=GhWrSgnfo+!!eG_;4DDIsnLufYy7LtbN#2=uBgmwd)iZwzbl5BzqVM zhEUQ^SoOgTL7bt5mEp^sK>3EQ!UrTa82&sl99+_#$Im-`8^}H uK4r(i#tE0icR`d5`l}4}Daab98ugcPhxFB2#^6D_%N48y&h!4w&{$LYddl;P zw?M8ujbY<-$^1+YV*>I}%t2?D&Y3>lP ;00`2O1bqDfy3xtJc zjL<5pxGqP0LK)N5K~^Bi(6uiDe0rAqqNXwo(DLlJoW*LA2+_&7XoMiQw19W-ZV;aH zR>dfsH@4;zE_TgVMdnzKl+@Nru@?Z43@WhxYN!@y85r{R<|3{_E15<+*_J|X-OWu* z+Vtx!GDv+r#zk~<-UOF@_*H&%tT3CbGZ(~%Ne3cx5eUShau>6X)N%GaP(?6?EJSUp zQ(o-y5qgMj_NOdcM%!oKwo`&00lMIwMxi3N0P5v&k#p-HRKLJy>0hdS%Ea#p#cvle zf3UMwfSrB!aob09*5@rN0>=xKJRrk;&(Ltu&Qm`8o7(qNc5p45_ZPA6e*wm_4H270 zF+wjA02oq}{`!m^ ;$DB3T@6%0Md1NWN5lb-0&*s{BQh< z^vzWORZFYMmJKP5BvVwX_b&W1y@JM@eVh>h6{&gXvQSK>p2;S>k $qu1>#fi#{$VY8XUr?Z+E};!A@fBa7czK~x*l6@;r`E0->Rid zsol98B?t1^_fBoCvG-aXr-jbJeRNEjiAMQmo2SIbndfZH{##ti`{$THaVcZu(7}{D znAv=WP*1UC^!8HZ^%OFuU@-5DfTagLnvtCWCp~3?5(Sz8eJtHhAy8jRINu16*(;qf zb}%Zvg7=%5KzU aao@XvFd z3sW>~`yKA(U+%Q)d8kl3hMIkeO8yHDq=$f3Hh&oo(nh`Q*5kx ntdAK5gjt#EFyve)1Nftxl*DmzHwui$s;pZ_=%) zGuLR;PfUY%!snc EN_NW&q$>1IU~pD$|U)%~^FlO#@No<(|o zEBDO(QSSM({5C4L=g;yRVyyw HstkGXLGlsuQi0X2llJj26Z*qo2_c%*ztK9Jd!nOGf@~b7Fk*Fje;DZ zetP12U^w@q(c|zIZf6L0FYWNS!z?0H1XSLbiJ(JDrYYyElJ~jyL5p`%<6jWlAgAu? z7Ch>n-=g5!7YqdN8}LMUQSUpZzsV3ZH*NF#<+1K%Ul1wxWP`Zw(oEW#pa6B|XqkfgrIj~AX?I(yckk|q~hUKc)Ecg*s$QA@Hvdhr-q8L@E1$tlDw%awWp z@wqX)LoWr(2dZ5EMi;X`m=w)VB^&P`yjQMw7AQ0`O&lv}$!Y|63ccSqIK?<5Nu~mf zFck$7NE-ug=olED)~!Qax=324MSdy1%e+!6pjzevYysRV`ppEe8LGKr8gTxTX`tax zrh&4LcPmtX_`Uh9m${lIVAFJe+z&dZ>zYP}vPgTjT-#G@enbBWE-dCmL^d=nF-0IO zsoy=Dr|BSGimQmlzqkfGy#AzsRiEds5jQHHFS$titC`EL<%`(A<$GlTtq2r&o9{36 zMwescDV=6&ak&+_{7{KQLuwM|@l~g Nx{aQDz`GmFsC(n;{niU;KE9OxCX(Lj8rIu2hu%Rm@| zYu&tR^{RF`e?hCR-C%jVNw3VL?nX1DO?A} 0Xmp=E0KYhE7#s+E!suae>eRvl0uerjV7^wKwHxUS~WVX&9mu|r7Op TQO@so2D9lrYr&eHQ`itq73*657nYCq`(4yVx03OWPY}V(qWF+X zN!dpStU7lR8@kmMsrC|a!4}9(V(hLAP`?-bHiU}SMe*snAamozV=Uh?bE{=)+8uk| z<*R87Ns&~MB*~rf;r4BA(8O_iY+eqRT4-o0>3*_yjK72I5$@8jR6N)KsLPAVU8h`J zPt^`MM-8?pR}lsRn;g495E;Nj<=*u*CMS%wj2y_X_ pK_(ol_!vJ!4)aJp;A8pR8TCts+>77}V4k(~+yKuLodDGS5)sp?A zv~-52UH?EY5nj==(omFn%KgFgl@fd?kS%tzKTK7|NV>Y}{$l%{l`HArdv7(lcJ_D( zqFQ ~hU^+PY`coDw@trUi8Xdok~`Z_6%xc6DpC|6T__gzL-$xA?7%u@nM z`g+p1LGI8&QQLb0@VL;DDxI}Zn}N`Ms*i`ubI@^bmv|b_$2F8Wf<=A&ZZzTo3T)MZ zG?gC+EjfhTdQ-5WzFdt($by%b!b3@yc(xO{OXK*Jj=#{_&78#W2B0EKq%B6j{&>4t zWm@lrwsmM}_(uOiS5qdt1l_gB)Mo*eo+RSw-@QPaU%V&x%H)`Hi2Gvz>R=~)^0LfT zVSDn0C$U~IJZRtr^^Ll3n8-x{%fp2zNhXqD*mB_R8_$eKRrsol*E}_O9v{WQemT(C z%VuA~Q65?q>E`7c4FPVk9)vAPfLn_HivprouIX0!VT NcDg%?KqM_G;Pq?;Gkz@rKeVMp?UVYuZGy z)Fow=`f0=P<}4w*(*85oRr_eyW>-Q+&CqBBC>KZEQ=KszmuO|j7%XGlU9xQfRbdfC zp@k$~OFgq^ACeAYEiNw3HS@t(^#c`GTxXIo(vrD$))l%xkX%Xe!|wgOa&qoH`+a*< zs5=z7hu)|=W)hsvthC1xn?tn~gR7DqvFfEx?u;1yVS2KYLd3;~Vnx2Cs7=z )qLHl7@UBueXcPJX(NWEza|#uA&9+q_;}mx=QgW{`u*H zM%=cn>vPH#so5!kT6eeF43zVu81YJ^{tCD7{u5`Xep-*w*q)i_gpGYL7yIINChp68 zC9cWLZl#k6Vv6+EY|+?ESkqu=lOz7#bF1hlNa4lPV>8ccbs&u&NYg6i8U!zR31u zl}Eb6%RFi$aBW-E0bgwRY#3sP65<#&yLtGrmuvc*vLvINto6P3bANiAhTJC4X!)`x zb#((9z@a3Ip&4ODoT?qLnFw+(+Q0V$`zuhU?RM;{Jh{tDGNlPpigb>-dn^)=N&^aC z=Z0&+qU>l-x&FN_yrPTahX%fKN^l`!+?SF &B_;a ;Lfw+LLt(;}l~YB(_-@;wwuuW(Vqc54 z>E(nfKE5kSB3Vg21Apk1>>8=V*M8eH()lV58i(d%!KHhREhndfrtWP}Uh8duO3g;m z#E2&&za`rMF| (ZV@BwojG{XXQvl(tFpW_d^%HiXTdR9BR{} z6fCQuycSQ)VYF@{Y8hCc+1F2pp(-N`AZ`(*O+4X5Q!J*fZHA4VyT=S_a@t012EDpp zrHIO#8+W2eCVMqj{-8ts+1=JzLp80p28p?@yUOhcs@7BDc2h1^x*iHf;}*-wXy2Sz zn$Y5*E5j};+dKH>y+|WS9m)mm?flZubOm)1B7u%}QNoz(0E28ZMsW|-7#cb76SZ+q zHPq@a`bC{0^BviqGecfESru%0c|5ho+>uo^2&<_US4gpz@yApWM2Xt9 K}d|L_)eqK~sbfaZsp1iOu~PDfZmjbk!W?r{M`D6|erV(i0MQ`HT(p zSHy&Cg6kyvmc4JkcS8N_8>{N{idSbWW9!sa5LunhAl1G#k^?l^@29&yJ>?x<`Zv$Y z(!J^UPb;; buT2qz8$`71oF}c>fX>w|)9m5WGEBr) zH-M+KC#_9y=ux|ax8kjp1?+ 3HGoJKpZ(W|46w7 z@!5jwk{3$@Z~SXcDZQ@2K4jUI*yWhxzDr~3$>t#2IG?G2iflPqRwT*Pofz-8P&7Q- zQa48#vj`*D@3F}Rg@*EFBS$YdTYrMj;;md8d)5qFh{|8gMrppRQWAAWzArzoAPFav zAq&Mn_p=Dm+g|lRQcfz?-1!x}=awghT;y#XU2&*C8T9U{7dRxIF;mkD>W)DP0uT3W zriH#;sNt6KV|aOh6Hd5nUuCHxr{0nyDut|4p_;3WUbGvBLXyhu)w6@bP75VY;b+!B zQ4N!_ZHs;`4rw9qvC7H$L#Bk;?Rn4tr;-{oExmH3q}KBN+Le-;$-)lt(tf!#VE16U z#yqSoY+z$KhU#H#c#dLzU^(^um8E~!0_lj@PcrH(A++O5iPYgi$hJNgj& xUD27U01)KJUP7?3D`FQ9ac3w{;u#2Jk|F7 z`v2GkC>gAj{S$WJZ6NQhWn9V|qN;MLm_Qkq(r=VyA3S>TY^~99_BxCszFaxIR!>)H zRKb;CD{{$icI^ 7V(pS8w! zXxc~lsT$&;an_g`p&_RcYI4b?Y0`sF7YR}C7$Ocr)Zrlhmm{gG&^OS0|I8{kM?Agx zTrp5O>X#XAi*` zgdS=_5|aEu-DmH8&iVd($6X`p7;zETdb8d+pZOGHAL^*nP;pR^kdV-5YN+XxkdW$; zkenf {T2A7d3_f>_d<@*}eEhAvY)K5<96hYO zeQeEH`{zhV_((L>R2~JSZ#4tlf7T&U=%es7S>qejwmR|>t#`njYo8dc!lnYkmPidk zN5VFhB&stulm?IUYMoy6p1n1HhDRdR;d!Cd{Z`TppDQ=W(qw; `1G-0nrjxK9^|V!)t;gS$T^;S`ygB zeDeX4Ci~hl(szXJ?T0pNJG|4_X#s$*Xy!89;S@Fcki3OZyU $W^nm?%BjnHLggWz_+)oi4A^_-@lj7;VYs3j2B#@-yUN!s(qZ z?eVcaXWOGqk*F!~Y-d{vfV--EVQQ6QgM<~`d^8goAAaz8#}8ZKp?q#!hGO4?!od-) z=Z~R$!AJ4u6)^WKT$oFmN8lxsHAxI}_9tJ8>`1n2iHU4Z#m_0vIS(fu65_ojNSumW zCk31JuMEC8^YrOEw) scR;+AfN#0s!k+QmR~(G= zyt$Ux8o%@1yJGb|u;m$wRa$$LCfmGWHp*A@o1>~IJ?RDYrXL0o1FfN3=c3=AZ4|!V z!O|=$@b{-JF~1Xq>lulV@mH*f#H(`o0_Y;EmtI$x@pROcA*nSH18CCwT@N?8Wg&;t zba}kg=?^N}7 B&{z}1eT|kcDTp+Q zFuI+Kc}Geo{nT~NhPCG@dOyRQS|VyrZ=%O2I9rh8g~)X`FI`4(D3xB-Ik53bv~feM zs0uylUoQZ)y+-0X|KFGWf=~X~a!2c*Z%}Zk{quy~=VW^S{A u4-wKB9)aBRWGm(h7#NMUjWx=7> z=|@z6YCIJUT0xt@1m+AM$iK#m$amZgF~%tnT)m^cvF-*Fip6 z-UwbSZKcaf%|b#)5ABbdhb<)ZxZrq~%E#h2K~gDY( )(oeey@@Gyys+RHISFeojo6!L%Vliz<&rHG_7`h{_Y_l^xo>pK(f0^duU&47 zh+4h iL%M6TWoUGmPgF;F3NX5oij-R2NmJW5F|&&pzvsm! z#+Y+{W+F5O-+~O*C Z|(nai1Csn7;j6!K9$(-c54wJ@|x!W1Tr -|)(a=+9g^C-T#*;@D_qs6efy`BMDAt1qLG6<@ZHGf99F zjDiU|7zx@}9+__hI0N! USBj!7E1RNAQJh!;4O5R_Eptm)C8gfJ!qYnT$|h>b1J@HC z_Tahsrgn|U$qfu{ALW4)Yk|SeLAlDP?d7}Vc=nzt)F>)1Ibzx@!6tkZXCw4XKLp69 zF_KceppWB@zMdT7Ng)?zLK-PF64c#mTq}ED=_3nO5_@e_yj?oj!cxh8c}ZA}?Tnd( zn#%LYrG=^Y{9ulYsoW|QH{S$&IzI5v9q0h|+qYt_R4PQgc%F>kGe<*$-r5GW-vwYp z4|K0S_m)sTXXrd>3^>M{uOED~gyRgRHxi3Z>fbLk-d!)WAJCVng7}7PZw^X)!OLy> ztK$Q5OQrGU!vhtEyiCyEwdMDghS;SF(At5tA9gHOy5$a2*MjtB>f+fKSKs%S?VRit zLdl16fd0Z~;D!FBCL$93D2&dgu&d1U7r#gdi#l#I2x?0mOrWi@aQYhCe(B&=y|H21 z?zK>?dk0oV8BJbQRjTelP=L7;Yo)-VOw2`*PqOBB-o2%LmMf0nFuTonXLJ&zIWf!P zY`=Z1y$~icTLt_{I|%Cm($$U9H{RVO_XrM1Z @+A9?9jY Ok;d<(w?I`}DOZVxw4hubTM7KM6F0S?jZP#nkoFHF`J zV&p%iX&;eU2mjP{#&H*&7;xq`3u)rcfjxIa9%>Y4eMmm+q@p@oY%`IuSdEoY3|<~K z2hAdCvk
56_Mi?) i2#gxrI=<7sQ5X`(H2r5>Ka z6I&|!FvgW$CsNMowGZD6j3OBP%obFFUE)t>C89K2u0Ayt3S85^%sQBXAz!%pPTnV< zSwq26q3k>LzV|#dGE4ef$v)sEK5Ly I@UXjv_&6PKZBIPB#wfX> zZu)KT@YMrX-M7=&3{To8htYm9Hg 5Z@MqkRf)zb9 PH9_54#blptkw29Wd^*y6Kg&88L zZB+f{y<(bVmH$h?BWNj()(iZ-%=StfGf;|HAQeV|;!jY=<14R*JN@E>LR#ya6St!2 zWMRrn>yyZ826dwd{&v3Gb(3KVx2A%h5HU;CD{O*H&Nu$N)_$*!Bflh6)*_mlrh1a_ z9N3SQkvzng?EA0tawy+Y-9+i_`#WINe?aZ8LK%({=YibkoRMh*tu~Px5e*`sd)hFD z@BZyZf!4;Wm)niPAtf*ARc`+ cii%V30wWK6UZZ_Oh>8Nu&8zVG#k_c|{INQ8=P(O&eCy~7X0AaBYzu(B^D zgEgAjsumu`l{KusrKHGoYaNd;iHK>v&>YhabiPHt;Xe%vbkA%ldzt#djPBq95&C4I z{H3~9x)&;^7QCp^VQ#xqY#}akFOJuDcwoUFj&Z#=Tlitpw&8I-;>V4C5nc*;tO+b% zzHG)Grn$xnsHH4seP!jN;!Hl*xh}ubzT7jD_t>iZ;q4Z~j*jbdq}Ak34Ax;4Cp>no z4Fw5)Smta8u;0_hE$3H=e!?NTZzjX%oh$?woX}N<4IVE|z)0S}mFyeF(GRI5Z`%}~ z5W9rK%oCAiH*C~|CFF!%ABq|-kfXo5Yn};E#8K&`SMv*uBCJ;6s Y9ZLRE^0)kj!vMFU`Og$7Wj;HWpf zhN2aH9=?Uphkz==tvZmjBB9}k4g_T&Rf+G?OF+wQY0QFiAQ7j>&owC|L&-Bjr6!PC zVrAfJ?)oRki>Jrik*`n>YA^9OPjge3%a0g;f#j;UqKrJYBfjmFHYuG9Zo*jN&=bSj z>Pe=zL}BH@^q^o!_ZNsAA_1@4ZIzqw )8z7E?Rwvjf!awzS#hT7jDOv^!M77i)~z8Mbms;u;q`uJ^agvoHTK>o}D z*Apt!qls6b#T7|$DVO(M16E5a;ZC~O%4{KmFdf*?*v(sTEBo9v%ir_TQnf)q_9MHZ zG`mUTz$TNo4h}tXTUhA?>N^{kTDCs0{79hKmd`H!gQ~SQk7a4T8JF%FY?cnbhISmn z)wvAwWS0V3W&!&FEuHW_?*47)19SDDXI`F(EBT|%>0nP7^^{(HX=g{Cj2VVk1UH=0 z?^%6y69(_Q$a=)s1lJ0=rDYax+cAlWZk5fgf$?8d{qPCC`e|F__YAU^f0ekF!fN!S z6deAm zCid2gqzQ?v2bTgx#iZ{z3&>FuQR<7EkiJ<%kR?_rccf+9!!AOnX-6ReIB;@Q2ddQW zTj@?o^dH$k9OR*0l2@G^Bm2Os2dn+*GZT{_!)I bk=iSP zl_;}Yd8PCBc1`fHA3`+?q3g;#D0flb(*14J$>V21_R1gf>er}cR=v%Wy*EG9*PFS$ zEKBUgH3XMygP_yz H0ReFr;y7la)}0O#HPKPj{pGYld6Nw)8Jl?=mbc2}M!*#VqfCmYqMt_$0OP z+0q%axsOBas}z_-@^fh<3fQRTcHJD9IEZcnv4q7b?e?DO^~g6!UuMv)vFTkF$js*r zT3cFo@uugaxO3f)YuIEsDM;#Ws?f+;BFXVo)PG6;1%f57fU#7^z`KzD;8>-O6-IN8 z2oaM`A)>P{Sheg2o(wy?NIQC#IJ(7u=uOw6k<&AJR(T||>BMqMfYb}!p*VjgLwBXe zxaB$%N#xy~;-`jciCF)n#G(-L^0_5SZ!@>#x^!LC<}6a|=ryL|Y*{<3zVD$8 +{S7S`PZdVevk@*<`HrG4wZqp9+GNnSwnh_flKW8P+*&Kco8xW__v_91t(84QOxF zmwO3>5g$iFn~ULbf~i?eDCB|r-q1Yb%BO<(&WCTl?_bsdzhDk`IVF9*ci2P rp?O>+3V(?*10xZ@KH5MCakM=URPMd5i9=;v8Y7VJF39 z4+o4aI3Xlq2RtQVOQt+6=8H49&*o!1RB;|*+*j!J3xea;T7qG9y@`}GqJA;$=V={3 zge)hH +~eTZv8 zHfq}c6o?R2A})gCA$Aqvfo;?TjEYSo-+n^G?&l3er^kIR(2pe3&BrfJ<(HvX-z&*H zdYT^2eB>D|tD|Jlw1uMLeJ+9{X+3}V{E)7Nkg`txe47enX$cNKQtbB}vw!Ulj804| zC!+}c6zDZ|BQWUb@)M&7tHoHRZP{m~@(b4hWXe 1%#G zYi!rehe?BolW*4s53Hd{@57|qUId+NE$R(!_Y8cd$Hgv`kLIWVR9CHi8O(#0wYolc zD5JowR`!J!Y*+<@iG+}p9EPjj4>NC(^W7vHvza5*JE8;~?GlPsTy0bPJ;^D^hYv$& zmL@YbQv1`+w@2Prx*H_o*8@uauRAyjpv#uvf4Oo#{(|DDPR|(<<>i>1Pi>D)tcuyx zfF|dPGD_YdQlEaiV=F{v%sm}`6g&-k6XcQV<5On7xZ>NVKAG?ZmI`gbB(|}@Kr{Kl zY5|q)s4*sREgE=jod5xva@*7AeFDsW25^;s2eaOYHe4={Ms&T96yrepIEWBj>hH5X zBIiH;VRCVZ_>juJY!<-`{Ip*OeNt8(``INNC5YM=vSAfac97_NtlYvC5OH`&YuH uiQq$I!@?W3D1a}m^ ^*Sm&AM5fPO!Ooz4YZYKs*<9Rv2A#fh)}h5zi*DJe?mtGDX2SokmP-Vx6( zgMBy%!(<@+=hF&!<0A`hmqeo@Atr=DtU~INm(A{!i-+9#es`H;7i#4iE|n7>|3rk+ zgA@D;2kbQ>wW6(Sne`;pzo}VZ7$fi<$K@CI9WQyxC4Q{{j`c4*iKD;p9*vSXH$DgV z0q?R0gvy1Rs6HlBWXcYRie@3!!}XhSk?m^Zy|st>!!MFtRrGh9vsk9=APw4 {p ){Jiq!M>h|1aivwck(udUjB`-=9y0UOm=E8r5cxCddqIb5o2duB&9xOp9Z1IE3%EalZbhA+)F!)b7=$u)wR3Ca997`%d;}Ks>#9B-0cED(nFS{tG zIIsHIn=~K)FqLYrmZ`Hl8QK?wKj`HAKCikRwF24=OciSjHsSWK=lTt6RGOF*YKTbf zZ|Juqx(w=+RH46Yh6Jpvs7YkS^+}nh1xjTV(^x_v1~5XkH?X$+R{Ebip;(%HEkvcl zbr!6lcG8fbmPh08Uwk{6-akN{BN5aMDVa6_a( N z9 >u$udL_G%D-&^Z+XuAf|vWPRKkdZ2k@=i@rvkRI62JmaM73aMfZh<|-g>J)Y zHSfEzRk~Ci5o=R1ED5SU0=Nn0v{9aaPy`(SuU1N~RvLe}fUPC+g6`PHE38^J%HnY2 zfZotd0}jZ$u=a?d*jw^L_sRq|ir2tV5UBy3Kti~!TS>g6p?6Ws1Nf?!aZ%}kZFK^# zY4uo{!rQ&em&?8heOjUl{nMRk~J>+lf=0lVHi^1Hy86zcQXlEl
u~N6wN-*4igQ`nCr#<0P^3* zieStak3t-R^Y@#kg2mE?4c!F-L +ejv!@4uQO zIdwbha&NtF->jLK%-zWz3<>pcSbJixf_L>*U$Z`?Bi3_C)&B{u1!kzD$2M(>)9bW1 zAEUXRkbhU$gtx-qP5Fupjh)FMlly`b{7YjBq>*axuAsi-@#*Wd$O}pBGF2B>9)=!; zr|s8zSyBQ>3}uXb+$KHh@XKwjS6ao~W@tK?fgCs>I=BwV3PT{mENP9Rq%)Sd5(6r9 z%|b&uM-El#%(+g9@4vxYS6 L(AK&vyqF?|4xpPr;r-6lTMIGn?M2M4Tr?6(@0 jK`h z@|JF__UMX-Bup$Sp9RW9vU`a2s^@V__-QMY6O++0>o36ix&=o=`}=o$z|7B?@yZGv zyj`%XtOs&s7=H|Q>SoI_3oqxb=SmR5ivsNCR)h3O^ZrQU80(3rUlep_CgF1C{~5@o z&6xS4(QUHoT#?2~7hcx zSfrz0eP2;Ie;fJU)nCftz>VwJ^;G)nFA`Ke8g+Qv+e{C;abwH{)ra8Lr zlX?V_Z;d5RUrfEPG>v*D?^aj(DlqiRy7v@9+j2zdL*A6?7yeK|CJR7Y_o<`xehH zm62BTU|n-RaO5EhbG_DaH@Cq^KKWDN8UQ*|6_D){=tXmQcy{>m`-a0qjVkkg b#CmGrFDWQfGwFB;H=Y&gG7E4M_b$}TPL zm}@^wb*@fFUhb3*a~ozKps Z)&R z(FvIZ=Af{QLSU<|HGF5DEp!(7?hh2B{0+q(%l`w4ks26HU=vTp#HUZ7?<7T(ZBojd zgbe?M#r)ab6~@Q^Mf63Pnjz6qv%kTZt}6NzjHxSfcjQN5MgX%W`ERunL((OZc~sIf zcKD5+ME8nJBM{8WB!-x_Q^wE4j)ChyU^tKfw~KQxV&2WNa?};@HWPIh>GeraxGnoS zAMQ*qnO%JiY>;3M9M}!XM X zjPn$nQD7mur(B*IvaMe>f*SynZhISfrvW*)@tWrgYy_V$8s3|m6TU?yUh1se?)MDW ze{wViqOLi{&)k|5XisBqDb25I>O&c55(tMg8?xcTcX5kPaEmcX-}kfSnm7O%fddB_ zo ZWM#9|0S8AG1dgX?@k=US)^}Q?TKWAcfdx{}Z3B*-Zbx<1 xf0nYjC{4*NEjS3r&Z1%mw*#l1BbD_{1IQ0lnX@()4}i3VPiVo zj Ci&t3WE-PXsY-g z8p!}MhjD+KiTeYA=E(^1FIlee)!ku=ztJjLLlpF5cvI2bCB)&lNc8)P*TjwIcmANP zn+eh}7u6}ka~$Mf{XTDu3I-;$!EGBBzmIHOz_)OEnbG|Pv>yBiphdd(`4^eC|NLDT z#S)vunL E|TD2)4 zW$@IEpzNh|g<|P}YPc}5{sJg;{U?r>dpAby=mEm<-n(;Wt?1(`G()%|*Y|dbCuDZ& z#qd!ugsC3W?p!3@>oB0sW)djZ99BHn8Xy_|UXa7YCvjqDfI^a@Fz&dbC~Ik0&S1 DxE^j!AQ?*{*`g7z?uS;F!Op&v9eyEu!V8TBP%{py|a+4l|L11YgLZG1kx2MU;C zx!jr=`dI$Qhhvf%%T5O40|RN7#qz72SO2Eq$i3S!nm%5mC@pfvZu%aDrhd_-LVSz4 z8E$09!=8Y?*?Re{O)%5SBMgkP>dVT| d_So`*c+rBzij>cdU_|UXd*NKG2ax@jA b!eH$@k95r!=WuY|j4y nvNswKmqExG?s58@NKC&9cpENH@JN9ZO3${Vx3=FV&~Qbbs}&vB(nQ?Rtl_MU^Q zVDzGtq)A!mT=W`IsfzZQp5W+@AB>#{?HNL(LWu-ga$)@}+rgfj2`;qd2BdG;OtiQR zJsdJWo9d0_z#?A$=u4VP>2-Wyzj=ghue%|ysr{D7;Z?n9;z#86w=?Ek7C#uQ#CxQ& ziAKJWzj~-)u>ohs9Z7wTKA88FE z$ z9FcqUZkjyt@UiV0wy2tBki5yT;)FR{yTbxge|_Js)bb5DF@xNMqkjwQQDj!dU=2N) z-YnG(sl@}2ay|eJ(U>Gc*vjTRX#7Mb1fyhzUJh!R8?X=#u zO=KL`6>@J5^(ZK{TN#=GiH+FOhp;ZLer$dyOKQ5DFG?6Ys{&URQ9P>ow(nlP{CfPY zg_v!*p%(qUu^;4v=AgN~IZS1v&sgI4zJHQCY#%_Xj^Af5>sMk{6@H|2eil7}JE?~Z zBw&bhx^gg~B6bIZm{GntUMd?`dy0?iW!8t9oS4R`Qhw~)UkOcKvflnNxu|sA{5t&u zQXj~xQpy*{S%nE-ZY1PR*uSn|SkIq=>*%s*(SgT~wb@*|oR1=8H9&M&B|+X| 2ADlk2vm?^kDz7^0uiV&bJFC0`1tW z)x{l&6Ywh=mdep91Fat5&=P!(E@4b&F6Sp=5M$dVSEjp_d?r&(of5@(<#4Z;NM`@+ zds!fKKYr~>d%~vm@^#^)zS}c50%AvxBF0_x7$B<39-q=`0)A0&S285y>1*PLiF0la zOa>G^1M6df?HJZM%!p*S2z?*YVbJ>{Y0J1!Pe_dTJTk+ucL>6&Bw*E`Ew%x=HnbIDgM!6gEo@(KKZ+ zW1?hCT#ydW+{6oOx3JNx5JNoXC&-jABom^2?~7$l2VWIgoR)5`aLKl#lv5pm*jhx6 z?#r|g8)yA*0ldibj{sg>PIPGGapyVBvMFe{Uc>4C0mdr(E C4pt zplcz3OFFav?PK}EYMlsTt>aH4zZAOV-phMMf966CTW7p!#*c|iC~dxfok@SOO4L;` zxc7pmX)z=*kvp8hRFU8Nh$#9620s_NUx4Qy&4kV)GwOg10n*zYS?in_d=M?!`_gx- z`=Xv>mWCmQb%~+eD~M~B_Gnht1fv$BQXf5k+AcyfL6BotoVq_@m{p9f50 >K& z+m4=G^RxMbXRkNDoxx)1WXDIxb$J{V%(HF|U@}|yoeI=_-n%cGtmfm$hhfu51&=9M z5+GhHr`Vj3HjHvQm{9E}TG)ny$Uf*yoOvqtMcxJRzzb-oz+SL;$O+FBF2 ($v7Q&;F+U?9tU1pZ5Rat?59wri5y;iojjt6+?v)>4b_b^$@l`n5Btf- z8{)QO5X|#X;N%M8Gjs=|^f5$fzZOWq!8-&9_Y^V;c%X%ZH41+uq*qG$1}M=>KCu$! zy6x;&H4->{W3u4vHe~*WR~@)chweZQ=cOS_N%>9W{j#w9-_m%e0mkjR)}6C#!BXM# zaKV8~{gid^xBQ$UP*N 5^JETK}#YBd++B3@MM*qV3M+AjpjA$ z8=*1Gd}6taVjWP5rC7R+hY`q+*9nT%%%mz!cYy?0E8z$PnWlQdXCZPU=GUyy8P{ D@`L+_ I*bPM;>cZ8Y{?D!7>H*uD%O4uGDSW4tC z_W-*s!sisF2tI;>G_uZ7XlQ73zeV+0_6_(WXyX95XTV#4R8(}-J4MLh8h|NNSldBR z^X>f+3hL$8@)vY(RITy2PV>I8rq^fP%UfexUc9LJ_O`#-$p1101f$b3EFqJZ79pwz zW^UBVX`e%yv{1UO|G)0m;MJK6HlJ|fH*v VX*_C7@gvBGB{#VkatxcVL*Uy6 z!*c|;P{LN1?uw{(0Dx5;2XwH;@Bmz|C%){{4FLG62b(u_G}5&KW 8sx6r#?$+MM^Qp1)+2}^QoWv z2X^DXd0?xEinVSr)UUMWM0DdeamZlVg{cAK+$Zdhm$x`zHLWAKn|N7;4om-;?~mcN zwRLNcyc17pJ9Yj-Ws*9gd>X5G!T|$Z_w+@rnmAhDu 9Je~*sM3GW5)wV4}t<7z6H`pqYRrGk4$&&(3f)8a%zpp z9hvWlol?tcoNeEoQwFcRX<`AhXH~zMT}+<(WeezBxi!u8*H8gVhB`Jax|JDt*GsN0 z&sAZtA&$yK0B>SqMV$4U>ZRexn@AXQYMMx;BzWXQ|M;fqhW6WB{Zjux+`{nM35O_6 z?dCh~WCsDcqAuP0I8oH;{6Zz*8~Exc&(S-|97fmN(e>uLK!D>|pk3W)q=jgpF}d0L zK{>=z;2P%c1E>Jd5D)j=C3fQP799LOPkQR#Ou<$vrFQZCn3d1G+$jGsUPJUb#}9D< z(-c; ue?OF&g28dOj~aDx$Tto6pxFsC0&ZBG z3+<1Acl7vaT|?3pgSeNj1KfUQmW dX-2z!ZUf5Wr~y^f=Vze71(tyi04GFGcu9+|tkHnW4?n2rwYcvJwOk-!4;a zhZ(lR`an`oKA{~g%-@c1 cqg5slCZAKG(nG5@nb5 zFjdm=t3!8S*K)yt%jv!nczz*Dn4;_ Pog z;orX7&6fpZ3t0cW0U=NZO4qRnP_hsIZHvfM>YW$_j_*~Ms& !=iq zEZH}R$z}_&GZa44#&q9)W9JZ?Oi<~R^jn}exw9Lk>}`Opk7JOI`o@p4;d)`3`BP~c zzPIK^kjDbpJ23X=ToD_P9nYV(?lYiWy7}diRiTg%P=&A9pSXSdlfy+3AXG=m7-)G0 z0axnS6T$~00mqO^!qR3mWOu~e?OSk&NlV9scq;hE6yjJO 0s3MUTj|@x<9P80;iM#Ug9kqHKF{s&_u99*~Cb zKY67k^POnZe3()tTFcS?pKZXH7p2tgk{;b{Ml3BcLD&5&b}r8G=|?v;4eQ+FLR9D^ z()7gl#9YVbXoPt>&s9i=&V6#Qn&KANV27rCz?I84;JzMS^H8L)Fs3?oLAiIq@u|$O zj(Q&B`!GFar5XHaxB;}XF+kB0`P37qw3P%U&xdit5V%3$h0n0?4b+2(lkxHjESq}~ zUg609C(IF&sLF0ah+-6pOab?9AIG0d3hNichV&8!k*Zb xh;H_M_DH5(qp9 zIALJ`M2Ib&Qd L2E)NB8ghtDG({u8OT_A>s80$Em5C<(ecaaeXezg4& zGr{Pb0s@W*8=IKFmAQ(eqQ(L_FnCUx(9BF>M{=7U-zkb~V}nM2#xRG+zsE4niH_h; zKuhdguJjXz_GFpozl8;v%TE~GHl&5rt>WBKB4)GmH-le~qSVmC-YLHH=F 9P7(5EPe zj|1?+mJ3#bp>-qv0nwn{0Y8mng^=%wJhz}r6W^PmOQ=o2-heoIuM=QuaZPzq{Q0(F z$XrWLL8E^e`KyHXNyJ1JvC2UpZ${wIbfE+)!wEjK+g25@fSr2bRZp8OiEsC^yc&y- z $1xJaV^8jY;%8!87*im*O#5W;$F_Y*liZw yk9js0<)Fhq r0(M|0Cm|FB%yJVfbMoxoZZxF~nr-IF&&e_+EKe==dT1*6e0_tKF^y$RjC6Ik( zwy+TL87Y4!u<5@d&iK0B>y>rrK>?j<2*EWjE)b&k{=cawfn<6c=#g%*dmtQc5+& zlC$=F>QiN?oRj*wm@ka~Cm*!WfAT?(mnX+7EVCkMN}%i+Xz5&_OkSxjjodv<=y%j0 zMqv 5q=g!G2tk@|ABYmp&Cp%Z zpR*;Wx9%?1>^8yM){OW1KT%d(NYB$U<@iSS{w3Yj32YCqSdaYpTn=I6yYzcY`_mE; z8@?`dQWfG( #En?8S3}zk z2EZYMt8*uez=mMUX@68p= 7FvRC+9ri-3R;djsy4iFLfaUl9{+ zFx?I;$R@v(OYPf$wXQi+h3}h{4kmR;JGv?My%(yYPR<;u&llFoOkRC6`sKoIo=~G5 zMN~l#<`uUeuAtxk3`(&iCbJr2n8%4mYNN{U<(uySDgW1Q9Jm6LY0#oW+xLc@;46V# z{1y8`#TGQZXO?`pLl^g!x4rVqjD-1MMT=I+ZWpJ{Ra2DTHU|95iv6(RFDo|lO3>C^ zdoy5|f!z-@fEm*RMCHRC<9|DRLcb(g65)dDjFauGD{L1-yh_y#lm+Gnc{WAM3@^1V z^bV7~E5#VXz7%GG@h9f*Fs{s{&G^PoKP{E^TJ|h=5B9DjSm9UzD%)+N$FBf1x}PYZ zw#m-Jv)__OrtbSq{W9TVvt^6bqvTRu{O6nRZ ;7bnl!VUOt{Y{P*wdw@09qE(JY5xjmqM z =?qs=o@)_Na>-;20#xmn<~YO(M6~JM$hh~{kH+X5^^yxp znObCJ`qxjHM)&$i6O2UZht=`2M1#@p=so(*y+EioSQuA{;U _#;Re66>w}qo zJC1+ {L&SATPC{?@|WJ^(aTx%j$oVZ_x@$*Lv_rYCClm zEPmT$Q#(V_86zb9vx6vW@zu!G=oyiod2t#Qe#jUbZLgr7`L~lPrZxe_N5wc8OA41d z!fRX vE&i!9ExL30-8FNwfE|n*qP<{5w z^@H(+ls&dL%sh9g;tS?^oQkPR>BSfw+DIhIG&dxd++Vyn+Y`R9juY|Fn9+J>53!kZ z JxPom)wmQ)&W`<$__4gtt&4x A0Y}zZQBeCwBvgVec^&A8W{g2e~Je#`0 zl9A}0>wGUqoQc(ET3*@yKLm}lLyS7DAa|IyTWwhg#G+-b^ OeB{CRnat?B3lbaQ?Atq#L! z@Y;g+5Pykc>HKb~0q1S{0Zn4b({b&j`(ZjjsLfRVvuBQnt}5!K3{LH}Y93ICFTZY3 zykiu%Gc}H5HzwovWw3miAo+~xj?u@zya2?sFr`n=&E_Li6$k+|W9bnPijDgD#gJI{ z4JUgo$@G3c5W9$%yYVZ8Q~157(UC*(KWeo*T4BAJXk {m~-fP;qc`#<66RtYAdc|Fj z`~`_h*=>7 eu(q(hqV0a7CJ9>hYEpzAcG^@5V7FHG3o#% gDV0x{*`a`+-XXeb_X*cur9Z0Mj+;1_vkwu7 9@eh7bChlZfl~i+AsT-u%45D|`C%YU!Q0K!hG71tzFvyc zTdsKBrMV@qUr_VfQ4n~7PV7~G>Cmu8qw 8fExTX_t3?0wTY zQ*q|XBIgi@FP0^kAy1GY&NB({I=?=q;1#_ewiX8Dd8C|i ?5YE6u2!l kgJ3cAW=qH=A7}37{k3sq~d!o zn YU0d5%|}+scky?ca+Lnkiq|W6&L;!#DiSVNCDG7gQ=uY0p{r@LvGi{?T)v z5%t{lWDa}jkPDID<4slXN%xEJ07C8l9Zya*6$f)vc;}Z3gz_N0i3tw0wmmVyA&OgW z+=ogTaEM{15NV+MXVSy>*y~IT6^qGWP?1n&^kx(2zUk=-gD-~E3M(CL881a4D-%jX zxjCZ70QR_@ue^zezTJQ)7~^Do_>w<+X!`!9lcm||`gXfP zGXTm*D8AFmP9e%4pb9A{1a4V(##?!P#j!;%Bnx>Y!krblj*2#MNs?PQ`9Wj}zKbUm z3+lj%{|Y2S)E!_7FiT=_6l!;;zx?E(XG6r5%iLdYk7%X*q9d^4zvzfh|Ba3~1Lm-< zb- n@B$ilm=q?hc zTzDO}R26Q-9$~W(A6|YvgyG0&=h@ul29;deb=UliQQ3Lh3_H#Q_Cy9_r23n)%i|6H zM85C;F`K;AwuJG2ZHVVd0s4nPQL3PjEyQ2T=?;y$_=|!#gFdAoCV9{!CLlUdP~_dZ zR$4}i!pi2%gk}_JbQSW4DihKy!KTYS5E(UO4wyxhW+5hsv1EuP0Uucel6?eXY(Wr+ zsbm`{l-M-7+lYDOdp?X-J-+CRk3TQkjx1c(pI|hptiBsUi*C(wGZTmW5+$REIiOhj znx;0h#e!37<<;_+9tMy=1uD~!M$5$|WXV)`E>XS(kG(;_?oMcbXulL+wtSW@NKrQ< z+=}`gX0 A)5CtVel|9r6n_0 zI!_51BJYcdma4%K2XeRrG)g};<|<(0epJ4DU1*%db;a}9+|h^4Jz~f;*7rO_2HoRo z5bZFLv!Go3Aif!$1EdZFy|Mt}ad90Okop=l9*^hU!`(ei>Ee3>mnh<_ZHmq_UBQaO zlvpPe-H1-bDd7Mrn {jP9_ Tsq3#dJSj3f*1ze2yuxTN1Q6`#03Bi=mP~dc$;zZWaC@1kgy)A zF-m_!yrMnEDf8@u6=|!d-j3@ii}ERwKYB3ZSRX;gHDTGMU8hbS7Z|FSQ|!Z8=;|8 zr!8;sv}AW*J}WKZF}E?XMx{PyN_M`snFa`*T*A7Wn*G4WXMfoZz1g+m+5)+cAr!!# z3`oc54?u4DNiL~cAkiO?*6bX*;Iu#@0$cxKQ~vZ-+ Y$A}`JbWo8R1r%wbq9PrnNsUN{kcc2fI!F^CfC35vN|zRpUL;EI0V2JGP(pgn zMBjI>wf29nebzbSd^i~l7-29WW%A7XcVE|aKhIptfv3oWlBv$J%Buab*FS)Vs*O;E zDi%;b$aURF6QmIM)d8HfP*it~0?Y 4)B_<5s5SyZ~Goy0A(#jhIFH%N(ew^ z))2_ds$z=v;rqoC$+|uYP6r)4kJ2ivg9dB%)?C)PFM;SC4xnZx3yD1K>(7&lv18C} z3$H1n5nJXTb@T<+BTfCowpQ1y2zWZn5JGN;3jYkO?J_`pHgJa}_o+$kPq~ERA}OmQ z9$dEg_yD;l%{knam%r#=+w@|n5*<9N#b~*--jMH;4J)8#?k%th+Bb@PJ-xsKR1DIO zUtV_b6CYOfTqFHr&99l{g 2g(G!VYthPo+q~ql(My%2*_(tPd|jIdrg3S zsJnAB_z^|e#^H%UR*yy0%#Qb1L)PqU&LkxCUG1-T_tYb&OOZDBhpiA>MlRwmGd~{C z@q1cIkLhiZi{v7`meKi ka$^O|O%`%~wvq zwLYF+*CTqGJ1OhF`5l}5W#9cj2bI+qU~F1{1(gH$gUZJLYfzcu5pgbb_G8R%v;+6W z*S`PfVw+9qw~z{4ZCY2udltdde-Lmk1}MV+s?UFu%W19 w%3p GwC`s*;AqhcUu}BJehy=Si9#?(+VJ+`oqwH7 z!@ED6<|TCk$l+E~Es~=0 zL0!tH77*)m-XI)1EqQ1jhts{hfVnHF5@D@-9h}t)2E?T?t)(>2b~l#JxZ6%QC7b z`p5XKES6Ulu)#gRMG0eFt|+~%D)eddEA}dBVrx(7$lc$`;9Y*L|I+ #i?J-^SpP&W}qzw_NwX^@tPe{z& zLaZRQNriLHR)Nc?Bld~4qw_s}Qt-XiM=mttlJ5ejddK-3 %orTQx<-ktcJ 1+nfuBDA`Yfa^SIFL8}$kL&UxXlc0&VTfZKW0 zH?U+nx!m=5`D2}^f=$J#Qt$lDGl0^v7w@%vXDX^4{M-G;BO47`*_d9Be3tOi>if^N z$jAB*QnoL-0)gvsz2I?}OS0G3NbVFpx}~2RbC?C-gKPbFKDf<4KDfpm3O#2Ps9VXz z$x`ahAlmV(K`Ah4!gn66FbMxW-vDqefNuTw;Klf#;Kd2Hn 9Xqm$C+8-p$9SrJzn>PF2&8!Xgn^$C%ar?rPI23W3i0^;IGJ_jWR|{m zTOKgoWF>=qrT3oi^b60=x$0Q9j;cilAQt>s@U8tw;pKXlctct%AgxF`jK32K?;Y4Y zvNhuL?c?_E_d;m7{OTv_&ItM#&kx%nurV#hqVdnd1LobYU_Lx;WBCSDFip}Wu-Be| zz=*FO#Qd?9`TS)oyR+r$9~so&mO~0!_l>W6A8xa49r{mI3}7l#!m>O5F_kG#GX1Gz z#H@roLT~V%J#i>BN~ne{MTG{VDqWPOdPHZg=Ogsuo@L1%kxj_FmMi=Se}e0mp03~O zy~L1pblmeN#ohB>kTY {y0KVv9==k5c+Pj%OdeOeJ#t>Gj}FSGf!?U2@!Ok}9w5Py zexV4|=Hx=%E;U1{(BE`dyNyXpZT}qr^U%d3azh|GRK~YZUwCoM2Lx z s3ueO78VK@&m5Dz zoZ4gXv5xl+j? x=P}p6#Y_p3aMl0Tdc>q!^tEC#qXp6l? 3`y)DdYsf^uNb`{J9W%;efua&7l_(TFti@1Z`Kv0AQfe@r_y43Fc0F za+{)k++p%!0=(JQF~OV$xpwfTmtUKIW_j6AnexvSP(e>7A5G6xJ%u+Jq`B@KI>+Zc z!w8X2m%W; Qil__3&{D9SEUvg|11q2Oz0*p4#3U<$F%1-|}u zcmE62F4TBY_+P$9XwBB)`c`m=^B5DK<=fYr=}p4r95V*$9BW|n#vtNm^#RU!|BpLy z1nB-R^0SqVfSN0Ha?fL!84t~R@h<3d9h%KN6S DyB5#iy=$K2LOenC@6J?F=2V zuQmIA5C7PLrb2hE`<6$nF6kbf3vigUZBXmBl!+b5QgNkCo;M2C+q)POhdqRe?_OgN zF$J!=_bZmb+DWLU{3i8}hS@b_F)R8&6})T*tw!Ff`Vb2)UzOT1&g`E$R=#pL_4p^O zJZ(g(Y9xvy(5JE;znXw-EYx}WEf9X7d=;Zsr5Ls4t4nfng{;X7@>_eCtF6G*DrnL~ zg-<7@j7)9sCe2=JgX_{zp|cZ5=Bd?jR!LSMD{?z4 @u3E%WSweYk9SJ z*tf`pxZP$79|AsHg6v^c7Rx>PNC~gXVbW?q0#0DVv!pdoU66(JH2zHnVrbkXLQwOj z8SLErdfO&zdu6=TZs1;PrK-5p=z+4@dMl>Gdx&@4kR` 98rfc<0j&QNMJfV%id=3ok8|r_Jk@LbwBb{3(Itp_yvoRcemoh*>dqI3Qul)~B++ zsOS|;F>0-L2NG0%v=KXZ( D; *<=<8^xnC=(_CZdxH$79ahIU-D}KeI zcezP7A-lVu&JM^eKi*Am5zbrjw5JJ&4qhbpc{G8? I`RiPgnw5NDxeDs!>!NX^=65@Ok6SEj@B5nRhBQwz6?KDUFN#!re&;Lj~R%d55; z3792kU60C$1;6_AEC{@^LK)kwYK!Z9X$hZN8L}T))!gyzVx_Vx{UDgRn5o0axFJPa zwXo>xhxeZJg(YayAayh~G7<&uSTKeb?TWmzpS%(@c(&Y&-qd!%mvU1}YlqJ%G{hc= z*8#D<8~uv5X^&YIj;re6n_edynYMBIQJ&kY#!_Z~yd6H>4vwK IF)ze8Dm^_~)!btDq6-@7 zcM)ed8liVsDdx*tL)mow&Cdt@dW0A<#1CDqCW)jT<6vJ%ViryEC(?BAMEN6Zwn{qQ zX}?akb!bP6>o#G(b3HuR+`ktq(tKJ_L+7YFMBz5|glyk{r>4Bny;F}}=LQSPAi;$OQ{Dv1s_|&(Yuz+pw|ooA*{W17@CunW }gWSf*-0jCUS@K zaT_bFSz4KP!kagC2|qV>57)e{oaFdvNb}IsBCm6umyHdaR&A8;Yo7ann|!Z~TqlgX zLuK6Bs$6w$ 3hV*QA*b5Xsc1NTf8k^X(|Vvc0hnN zdOKIOy#KLEoHu?rz3Xx3$GlPI;^ 2(`*;xW|9i$ z{6!2}(i)}pvsQoAHP61P-*@3*c0NiYYpUwdV>1&;q6y0F^h+83F_1d(3K(0SSx{zb zwJqFUdB3|;UUoiondhzA!yZB2YqT@J;3)j53ZT1^tU*F)#DzSpyzdkTYu;+9>LQTD z0_m7JG6`!#_Jx@FG>mXh@OgQAtG~PCjcmE-Ge9k0XP k zil=Mitd$$t%}g|xX!64+%Q-(!&N2X_c=l{AN;f!NoH;lAXkf`Jh5@#Yv13)t=!-XM zb4@-iaF2L)ip3I|t80HgfPJ9B-t#fDFPzkyQKx;JXSl|p?I&(8Dtk1qDKXsjB|KJ~ z{Z2^gq3PKUj6z9c@fx2 @QAk-{(m}zD31h;V5BGp|Bq^(`Ot6-_A=^3UK+tqZUD&Kx~QCfNB I02^kT(yZ_XiV zcm7->C2*+`%NGaE`qHyYB)WdGLw&BDn8WW{)ey*sc;N76%&MX*#8k*2y_*UPmI0TY zIMlPftC>cbLY<=R+J?71P@zVhsP+#Hl^{3cDW_E<*)D&rP6nwrvdA^YF>S#Wr;C2S z+BCE0n*2=ahVSgp7Y%mKWD1r`_dJQ%zlaswAoyg7T&$AUU(jn!%fH~c;M*&8D9?p+ zO-?E=Uf#hR#hd?0@Rwdz-p4m$*1pN0LL?J0CDvb)zb+2$OpF001GSBEy}SA1YHY$L z**)3P+z-~u3T^SuAlOy6NVt1AIeeI&o_n_UVx&E4{PFnPIage1U&J{rHnzP7#G&hx zl@__j`wu+#U}?uTC-Hi`+hqJHs_wqXtA&K>v6i~c`)4eI*fmMo*%VXykpucOI&17V zp8Ls@3=lz@^MSIabVdRhdywQS^QIlaR$sE&u@|+YJ-!Ftj5eF`X7X&&ATeyoK#7gt zt_kp!1!5<`3(`D<#d(FSZII*WEOF6l)I#dpMQHuT<_ojl=ycqeJ(Z|z>q>keg8Nb` zDc7$PDiSMD{l$bBjBy#kVTc!I*zciI;l84`1qEB7N!gRS)KP@x=}La zKlh8&D$%~nLEawTZQ@3<9}P8(c^06n`G%jfV_-F-|BJ;k-mOS))NVHclnYn*avx?( z%8G+iEC-rP-*r1`=-mZ>*db8T8=}4ZEY&{9M?fe1`;jun6PH}@j6?o!s<(Ly>J%(h zmgK9E%bK}40g(`a+X+`J#~OWP@0s%%qD?GNSD5%8UI;>kYvu_(DAIiHbXVsB>rYhO zRJ%_%HGZo@_0jM=_yJXc&bMJb7Eddun0V_wM>RGSZUZZU6& T!b4=V3R#^`h_-@8It! zJ;|0<0uwU)MRlREag&y6?>*_O0#=$Gd+wJ8o6CTbV36KGQ@VoAuKv(BfX_OJ6JTfm zS&+8|t_lhsI(F6n<&nIKndIg{v)PtO&gF5>xA)wdHl)z+kWu`F2rd$lkRN;U`s9bL z?Vum+FheJQxWiCVNMc7~oTaYV hyU<)h0>2%`U85Iqvf~ni5OxsE>mnTCG(l#LxsNj7quggP$Cx(lk3kE*xzba3%JH zMW$HY@K59r>h6bBf8Pnk_i%S 4^&Jn2=J`l cLt9HLXNI?&Df54?Fw14!ndV2AB!=z-AGtDAuclL`nmY S*ZjqPyO4)jI+@RXWpRL&!3z${2Oizj-1_Rshm?BTHDNLr9I*chF=0le!F9r zE1OehG81;{W_z6FEI-fRUI2-Bro-naJ==CqnH>>+;L*Spds$!F _Zq=6EhnOPifhp&dGM?2fG|_S5l=OF`_k(us z5e3ZY)%Cmh0FQe7q|NrCbow##T4N_Dl!rI`z60pY&;FOp?{aU@mEJ&)Tse%_2|Cm^ z1tyXZRn(+B`o TzS3mFzta%jk$GDDh}!XrNQ#`XnE1)Dyulk?gN7t zoYQ26Gz$>+OM}U4q*1@2ZJ=%H?2iLQ8S8iHt2w*AT?iZdrL2Dbs5d8=F4By);G!qc zSH!W%Aj%sGi7>7R^K*%(kGzMUp;x!UZMVs1qDuAeB^v+Az?i*+L}uvH)}zoD_lzNI zDtF06It6&&LcI2ew^w@d@@W31u(d~X($u=I-P#Suj;1mN#iyGueBk&N`cT(-S@Pq^ z!+*; @kbtN?NU@9VLwXR>H$X zX3EjcQTUnQ0}d$VX7@zYEGXJVSmnOF|H%IzC}&=RXtog8J~E9Vn{fjFo7-?l;C~aH zEiI?N{)Xh27z>#v^FVvl((h c K1%r7du7|0xl28IkN__yRLhs6~-MRx7Gu!C<_fp6iq5}95El@3=gRQ z=MG=`*1SKssP%5>+2ss5{V(C^hqFWit-HG~6wfiM!k*V1a`7d$ &|c4M zdHEc8-V2X5Za65gd}PG;V8*0xlLO`p$U|aD_buytDK73i&Gs*gsYaf3&UP^Cqjp5I zT+14V-vw_!wWmrgQdzh|3Yp{jCb0Hx!x{WV!!KDj9+z7-cJp3Rc-AcAK 4}8_L7Tl}%hXS*A+U{b$>UhH@aFtU8%W)uU+7&Dk(A09I27b?EV$M1< zgNKN;00J9u1U&XTh&MWQ-mG15jZ-ArW?bWw1gz+BJsLDfTig0b%`_mBL&Z^_Dn|Qk zGv$07%6Oj@mRIXPu{R&7;TX_?9j7vg8=hS223JDc-Il-UA2$?zj+jgrH|C=|91IkF zHEeI{sL)WJ+^A4}=yDME)>;+cqlxavU8n%}ZE@(&PTFQyHPIiju9`eVdc!JLl6UWB zO7I0SedG)<&Uc~dz!sA*J+KNj!_ Em48m0XfQUzE_&tY1A$N{R`gcAgEJkn~yzF;j zMhK>=j#-)L&bnR}*t!>WoRT>JLNTDxFS~VLGEeB<6cYhVF6Q@HgC3_nWE~M4$LmC2 zon El2DjQV6s?LHQAzqtv;RkK3C~8t>Iz_t>lUqshso!3jSGk@L3{VtI?| zC#=b&Uu5=v@DLdU+J8Mqkaa)3PdyDELV|G5l8f(81u?+X8A@e7lvGN&S3R;)pX)(} zZ;-Qa1PouDIRb%d*Bw7mR43(bMSmHElzEEV<56vdwczuIe)@f!#PSff&Y3k=s9J$T zyU UroH!*f~GZzIcIQRldtT3N5)L4-2@yjuJ+Uqlpzr zRQNs?)$;yZEaK1n(ylHx^YZxPzxGl7nttx-WxsYq`+hE-^8}a`TlCW?7|Zb!_2U z%f&n_@#%+(ch25NWu-1&m=`AbS5J)I{tCKBOJnM(r4$sx7r-q-k^=qk6mXF{^X6E! zvG-{!`ma@ZJv9kQXIV$LkbW-s&P?4New1nbpiuvF@!Jh#&Ck9N+7`BWLly0LpXbT# zf<6|!LVp8~6O)U q(=(-jFPdR`izQiKZ>CPwZl{IEEtY?e^q!_4bGK*P3 Kh =`xHB#M&9Fk5BA`Y@L%GMfl5sYTCFfZz!cP$T0dtk_- zds FwMD3PBCir|o$-FA5Ldu@KoSXfE6iHOS>k;_F*c z{pJkcR>6a|)f l@zd1tMeYSSNrwR0>N zrrgl+w69-Vztq9EcEJa!N!4_gRkRBI(QXXb*u{+L38U@thQ=N+dSxhC?%> uyd}vN?r?eZf+_pRZdG=vxDUgYChcB}t!W2&N zPdqx_=mI@?8f|zBpv!T31JH1$ybV+4yaAX|^vESk#&hJk>Tc=-+qFqsN&!%UVWq}F zcX{}4{um8ckA;5_0q`@M0|^TGP>~)Lo33p4F76iXM5kyjE__LWlL-D p&Wi=9;#`t#$p zoixoeP)pf^dAzw@9E*=QZH_)oKP{iu+M`fR`K=NC!KFpkH(LLy3LU-X7ioKFmf<<` zONJqBu}96q+gsTue~UsXJ>_t&&-M3LW^L6$``XSl?}@V@W0pkSQjVjczQJ_m%0rCb z%+CI^By>)fzXmZ0uVG7T_tbxLLTg{1(vT2|Sm4w$pF3k%d>r^ap*fveHX8QjO(!Ly zqd~@JSdZz}EWTQms5+rhI2Uk1&?U`$?&;NQN{s`iFg>cv9)@G(X}#sM;a6}|;({c+ z#TDMA&LlqOknA6}THJ1IkzY3?X)iN8kK9I8NtnNZuNFp2l{mJm4NtsV+nw`U|Jt&E zvXDPj<5k*EAV|xyeC$=fmYa8+^X82xn&&0r3D;w5NhHQszfU4JvX~xysvHi9S|KRZ zO>4l1E=(267Fj<1+C-AZz^5JuHi&<5GTqf?~Dj}53;WPA7 z9r`sIB$D2~!1~ 8^!oN{Vt$V#SJ zTG{Wne$bLTYg>dpd{Hw*bC|4&D%pQDyJzb<)|~T fy?fE64IO*cqCnNONbdtgxyI{4wrRk7unGpc zUsjG|j^$RnkRq$&w9-}ZE@IVcSLXQ<*iZT>?IYZZnz+S-Tn4^PGNfkEE~kDa7|_2` zwMo=7jm@jsh>wmrss1vlz u4RHOb{@wb)+t~kvc#a3I7Ywr2Yc5e-fo+ zJ{D7|NKAKB#N-iJHZQczJQ? }MKYS!FviS}D!Mwm8N;z3G8Q||3GbS}mxWgT0 zwQyLzp>9r|@=E-)!h7mo0=hBia&<_U4p%Du*9dpO1u3m Nep@=r`$Fh26{J$ZZ*S{iKCxB>!Lw^tr(DMET(K`PlL@O4%3mZZziJg>$_K0*s zR=Znu^=PG;yDI%`N#fV8IF-{bZ&Is8oarg6XiswKfHpt9J)fOrf1iMJv1hq-(9t%p z)Osa1MaCG69^PJNH=MySOrCmF*8^ht?zC=08R!JNj}_*xc8s<*?PNLP9|O6=D}rob z5GWY#Ga9ClG0P$2H^ql&sGsrn5s;R!d@P@CJ?)pm5N<7?sxP`<$rW%IhQ-v}k00Re zAu=X)F|rCgub!0q9C`M+XOZEvk7w9z)YAc)OT{AW5Hhw0 _7pxrg LL%IGi#MoS4^&dRvISS@5V5rfSu9zB&P_`m5@Y19{1n;=R-mxU`Ol|BP5x3YHq z(M(sRDQ=>y^bk3Rk>#*+GvGS tf!G`CGcqYIC9+{mFWTGj zr9Jz$bG+|#kv+?aGjO&oq$Bx6zzlg+SD5OU({a7Xw6H=OX-%}5u!B;Q8t5MTy3A*4 zUA0u*v`dtigM~$AkGR3q`sY_eUUW&dfIzqR5+fUO14S8bKZ&P}G8jHQa=MhIFa>uC zYIG-s_aH31^_UzrPNmzG-57S@1w*0hDvfoKPSSSc+Tvp{{d07BHVwOt`a%qYSFTq( z(tjZ9 igr%)iqg~>K?7Ejbqk(*?|%n;!~X{Oy#5Bh>;Er-4{@9p zLWfa66w*5AB%h!(jXp!Spg<_t7c^E{;E J{i84WbzJ zKo~JIlI{7ONL{uLISv@QxIgMRDvl5gsc|1@^i`>!<4$!58wX-lzA}Dp^&h12zhCI% zrmsX_)nGj6VU-MVZAm9o>3LlzwY>TNQWm>(i%et6@;F| ?=Kf|qH>j3pJfj9Q?n!!%#K-VPnqIa~lI67h`Mn6%S zaFs4(oZI3-US1v(?@+Nx+mP_^ip+|_`?qP>czP@qy@&u>%a8X!6ei?MYQE5kE3|bP zf<17*fHbv8Z--+*1nq&SJzU+A;vrZ%HPPLK|DJf|K0!{>iu@cgXr=78S^e=PZLPSS z>3lC& B|-oKPH tc#^fBuik+2!;7j%dpve_)X*rQ`61G@42UoOM+@10C$EVq)w4{J}^0rmAPPwBO2E z&mZN?qZaO|?CJA4E5W_tmdYa+Qy=om!ImYoIQ?1P$jD8Sx2<>h4_v}TQMlIzu#J|> z5@9+fO!-j?g&smejsQjw0k5(Z)tlZKL)hh%^so@yAc{08Js{RNv%m_fwN4MIqO+>g z8V=gi<%$d+70K`piM{TBVa%UY{Vn{fSa;>(#XQrH^?w%B4&GKRq(DJl9>o_^%fAaG zngnZh*>*|D
QyJVFN9*A14v}q}}v>Mw$Pttf(&x70xS%!(9 H8q55yq95S6^&Y8}jmn^5!NDAb8D+QW1$!VS7Dm5kF$c&u?aMduYzVfN{8 z2%w)i>)6Y;7F+4gI_8e*UUEcaBwfzIBF5 *XqmCMlhLdi2fuzSeiBIm&D8t+jldb<`~=MY#E8(