From b1ae9136228cbdcbaa0168cbb9b42506cd88baf0 Mon Sep 17 00:00:00 2001 From: WenmuZhou <572459439@qq.com> Date: Mon, 6 Dec 2021 13:01:15 +0000 Subject: [PATCH] add re --- ppstructure/vqa/README.md | 140 +++++++--- ppstructure/vqa/data_collator.py | 39 +++ ppstructure/vqa/images/input/zh_val_21.jpg | Bin 0 -> 1435562 bytes ppstructure/vqa/images/input/zh_val_40.jpg | Bin 0 -> 1180327 bytes .../vqa/images/result_re/zh_val_21_re.jpg | Bin 0 -> 1134100 bytes .../vqa/images/result_re/zh_val_40_re.jpg | Bin 0 -> 1028871 bytes .../vqa/images/result_ser/zh_val_0_ser.jpg | Bin 1271719 -> 1252522 bytes .../vqa/images/result_ser/zh_val_42_ser.jpg | Bin 1710051 -> 1707291 bytes ppstructure/vqa/infer_re.py | 162 +++++++++++ ppstructure/vqa/infer_ser_e2e.py | 114 ++++---- ppstructure/vqa/infer_ser_re_e2e.py | 131 +++++++++ ppstructure/vqa/metric.py | 175 ++++++++++++ ppstructure/vqa/train_re.py | 261 ++++++++++++++++++ ppstructure/vqa/train_ser.py | 49 ++-- ppstructure/vqa/utils.py | 155 ++++++++--- 15 files changed, 1059 insertions(+), 167 deletions(-) create mode 100644 ppstructure/vqa/data_collator.py create mode 100644 ppstructure/vqa/images/input/zh_val_21.jpg create mode 100644 ppstructure/vqa/images/input/zh_val_40.jpg create mode 100644 ppstructure/vqa/images/result_re/zh_val_21_re.jpg create mode 100644 ppstructure/vqa/images/result_re/zh_val_40_re.jpg create mode 100644 ppstructure/vqa/infer_re.py create mode 100644 ppstructure/vqa/infer_ser_re_e2e.py create mode 100644 ppstructure/vqa/metric.py create mode 100644 ppstructure/vqa/train_re.py diff --git a/ppstructure/vqa/README.md b/ppstructure/vqa/README.md index 8d117fde..4475f646 100644 --- a/ppstructure/vqa/README.md +++ b/ppstructure/vqa/README.md @@ -1,42 +1,62 @@ -# 视觉问答(VQA) +# 文档视觉问答(DOC-VQA) -VQA主要特性如下: +DOC-VQA是VQA任务中的一种,DOC-VQA主要针对文本图像的文字内容提出问题。 + +PP-Structure 里的 DOC-VQA算法基于PaddleNLP自然语言处理算法库进行开发。 + +主要特性如下: - 集成[LayoutXLM](https://arxiv.org/pdf/2104.08836.pdf)模型以及PP-OCR预测引擎。 -- 支持基于多模态方法的语义实体识别 (Semantic Entity Recognition, SER) 以及关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取(比如判断问题对) -- 支持SER任务与OCR引擎联合的端到端系统预测与评估。 +- 支持基于多模态方法的语义实体识别 (Semantic Entity Recognition, SER) 以及关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取,如判断问题对 - 支持SER任务和RE任务的自定义训练 +- 支持OCR+SER的端到端系统预测与评估。 +- 支持OCR+SER+RE的端到端系统预测。 本项目是 [LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding](https://arxiv.org/pdf/2104.08836.pdf) 在 Paddle 2.2上的开源实现, 包含了在 [XFUND数据集](https://github.com/doc-analysis/XFUND) 上的微调代码。 -## 1. 效果演示 +## 1 性能 + +我们在 [XFUN](https://github.com/doc-analysis/XFUND) 评估数据集上对算法进行了评估,性能如下 + +|任务| Hmean| 模型下载地址| +|:---:|:---:| :---:| +|SER|0.9056| [链接](https://paddleocr.bj.bcebos.com/pplayout/PP-Layout_v1.0_ser_pretrained.tar)| +|RE|0.7113| [链接](https://paddleocr.bj.bcebos.com/pplayout/PP-Layout_v1.0_re_pretrained.tar)| + + + +## 2. 效果演示 **注意:** 测试图片来源于XFUN数据集。 -### 1.1 SER +### 2.1 SER -
yxbvn~(M3BtQRr-C5K7bjVx`JR6VY5#6@L~>I+(ceTQ zcR-vq9}77Nh;lIt9;@!wNsN$dbMc0riKgR8^}TI=Ca=d;EP(j!c#dUC3t3 zs3TkdD|nP{!t3sf)3;RJ`$$M9Ss{3U4?U?xPn$*;tRh1)f-8u}Tg34EfOiT|d@?~W zejH6cluo;MVD!P~xyMhFniB`eNUucAzxB-YEjIW)8cwG)vc=J6IZf3))0BA?{n3Eg z%#*n{ijJE7COlwwn<5`3tT<@N%wVMUUD8I|1Y6_xOX5z!h81U5hR!zzujsEYIOX0B zo#`enIbLz94MvsU^VJ~n?x$xTkk_{Urp3LYETHKpXjB!==^yl>N9CiZ;z9HVuA@6k z=Di6v_f~(W*`+u04vGWew%C9yK*slHL1qCxF9xiafbEBzXZ1%E^6R@%a-; eJ?@;)7s4oC1Chy$rc@<_wT`&CskNnO(5)LNNvv|_8*O~qIBJR}&=_km)*AOGf zO|hDQ^9rUgl!PqCAtDv!ascBN#PI0*nn2{4+2EjK_-B1|Q}mtbrg->(#T&q* o=Uo7} Y*e_{gO?KfK0!93qw4@f{dqKIk(^py z>Sb7pP?{+|evGCf0IQ2trYa#mOoiY9u^|k@5@Q6qDP~7-gUaX!NE3QSA;ny`ra@wk zbc{q{SW_GDCh{fb#B2&89bMrPgJls``Q=-#1S8W97|>!dG{WZk=tR zo*uB&zicN>v3OB$6pBoT7t&EQ*fD{6kmN26Rx~Weq-JajVGAqJ8@}#yVmcBLWB^>G z&JDS*h^Dr~$L7m&nw^SE&W&}NpXMBp;HaL_MKya0ZkX{#1FrsGu-iTG`D)LznPs|9 zpA+K!Ki7vOBTEQ>#>Ouw_$=~X{Gpk!gjxat5Ax1TZH^#vLrr!=?Saj2X1Q1V=qk&u z!pmo9zyog9i8~~n4A|yhC<2&vJS#5_(Q(pb@ toUatprHzY=>aEz 2cOH&VKIG&=!K{=iqHJo^PW&uT!!`~ zNSIj-lpOCx-&h!yAzD{yvvQbp4lO+CL_!Cur4f4v0bUV(m2t}IBd3c=de$X(B)FDz zU(l<~(biDBYx18U2n_m-8Nc6Kt&s}vrv_M}{)Jeh5yf^ag@kIoqY*q{8&RHF%*lwM z&H#DQ<`^vU=DH{7i*AAr #<*))yv{2T^C}n6T}{JT!`G}8VdD6oM<-;fvOM!L;pZ;oOzO&> zY?3-l2hQRl-rY*DFvm-Lxp0$+B@PHtW-d(WjwF`YplbeF)sj->!A06BvwVM!uF&q% z@(~i{><{vatLKKF3GAKb4(^eme^&Zn%u(v~1D{XH{`hgslUUe=1ut{|)cxBWKF=F? zg+*>i$Zsgw&-`6=FDvTA>wbNzN&-kuwT7OQ7UprDCy$Cy8IJ6UI)he;tyf)*?6PB& zQS$1761O1B85$2yhOM|F@Ypdq?H`qJ?Og&lSNhj4hmA^cS{{C7>Xu}1_`^n$Ar-K% zJlaWM$y6;jqf&-Hbf>eQBxq+q;<-KpVi|@+{t0m<7Lo_oRi8z6$Gbgke_szmjuFKV zEG}vL*XYBuuqoFrC(^FP{kJvqM8&~Lr?>`3#%wSnkuR1?t{d^Hax<;OEVk>cS_NFs zu0q7Tx{{{7eYypQ;bc-}+MQSxqMEkru_!x%jbmed94)x}&i+$EL>#mJF4TB2dcYpX zBe9Ofbpu1~%zd&cN13>ITze!(xdb+BO{ |M9 IUqfOp^E BS7Qlp6tEck zO%(gVb47hQE;(p&Bg4`S&X}r)r({hVb3|I*Mj$Wc^N^&BcL@Dt^B{)9DVUAONvCJ) z-?439?3|A PrN6uP3TVc*4LmlR91^t-=gx~g@vg{{Zv)bD@niqIF`dz zyH|$S;7dn-r_6VvBWIX#3!U=b%>+tA=NTczFe3D&Ta6~-By}KK={HUPmI3Cwrks)B z2t0nDrBq3p9#?IjBda5}tV+<2#0M!soJ n+ICTkkV%z`o!hiFr}{x>__~jp4H0;IX^htTR2m*kB-(#g%Ul3>;E7Ef zYgDXMsoJEjlg3KC9hxh Q*zt7o(VfDnjWL=u5Uc+r*ti9?okJB z;U5fV0p!(#su2(v&Y{J@GUztst@x4!!dSqtmNe2p_O}Xm&AN?jq3;vCVT?T<30L~X zHt@Dzy-(u18{=5~wkzhNNTOn @@wOrw-X;Rt*i#^zIfSQE@)t^Yn?UF z6SpkG>vBVtn1edOfCsnvS?V=9L7VfM53w%T`pX45ocj}Yro`=_wu4(J=RB=Z%JA4c z9!XRNJO9V4uED;vip_?I#ExCk1D#CfXqu+uj @8jMZaHdN zCyB_CK8leWBMy~l+M!Uo{fG#!V^uvb()g^MtGHbq-YINJquG^Nt00B@h+z{5)(`>H z5z*L7j0By)h=0@Rp>ZMNu>vBdmXK)A;P98Djx-lnQsXw^$rhoCou1uh{cYgXk+gQp z8+NO>KFc$k2&|0> c3bmZ zY`vLqce}{NMC#pA?%XHTJfd&T{2#?%3!Eu^%Y7}qjw6!UcKu~OU7v?-qLF*{lI+qg zl4pEARxRDKiPA=6yMXh2xFydzl-tcs@1X32rGVc0QzbEU-K$1ZI`DXGhi)^HF1@f; z%cKW)CWZ4!H3 knLhr?kWj16r;3EBZiFs;v<8Yi%TtYXH-gyfV3v#k&MHkD ~)k7KwAX>t zai*m?!+|-^G199x8;^R0h|+5=hCbbe0d$FNCwnC@_>?5i;BGoU+a^o)aMP|srk{B7 z;~2Jy&7NRlm?YPlepwuH$cA*}B7X48Wvn}G k^R;Ed5LKOXhIHXT4WtU z{i_JZ>dTDP0RUjti?ReN?zBOe0HW`avyYvC$6x7QMUH%qe|1>!9uOw#7ud7s{U2_H z-y{7GvbKfzZtirh=YP817m0zsO)7WwOeFJ9o4@BkOv5*79^}`5FZjQE(1}phEi)mp z_%q6Vr}_9IO64}{LFQeX2aB=}(ySkM6ciDqwomud_a;FkB&YBz)5|tiihwO{B>W2V z*SWwW8S_3d<^a5&IAsX@3N>uv7Ab*(=fR#In>8n_+epMG $|ByAXAdgcf4;ifD7VR8lB86wKlM$OW*AGzAN~o;c?EZk-uJ7 z )`Ag_MUjrOJ!CSsTA|}xpg_;YPyDl!ZzZNM?L=>1x@ko~ zi7D+tV9=fH0>Qj<-F!E@#?SzES`)g?Ext$qYcU?l!1mcxd`?1fmW-WmbPY`$KCS1s z($V!2A_~P}#EX2CtM)N>2lXX}^+aH1m`8^NKi7dZ_XneQ9MfN#?R)JOB{U4;JO-<@ zpD8rhYL7uSpyMPAHo$ftNeN!ZI%b8a4MpTq?6SI{zokNhvWZGAbXiKTAAMhxM=@H~ zb4) `18^8C&SzI6eeL(*y6E(8d*>K8G{!?)u`yyct*Zu^J9RFg=i; +Ap_d}0PM&y6KA^e5yK(BNhDQ5_9kPwOtGHA8;Q zfqwd|;`CW&?$$C5^pXD~)%6w$QG}?86ns7_H_}$Zjw}6PN}02tAk%2f)E~mnjE8h` zGg?jetV=j%%t%8=Nra8%QkH0%;Dup=m&O` I znp9oOPqICDAKAzbyG^%xd^?sl%q yFL{S@dmk_PS`%v9EkM^Wf_n7F$NsWt)n#ym7h4l_AK}x^32|UK!d2 z;X$%zw*xEWlV5;eBvM!8c8l30abMBPE0g*dBbi4oEFYanYH909Yon)a1rFzDXBSnJ zlZP>FktBCAjal}afncBfurfx1Wad9E!>h`BI!|w8@g>^@$>DJE2HJ1Y-Lsj^$U(+7 zNtIGH-V7`h1~bO}>8yz}oM7Lc1zts}96~yr>)<5A;A| 7}OVeX<;}!(EoFOXH zbz@Il;q=*fdiQ~z$^~R_-f4q3FzY=D27erncpS~X^>^L9N@}F( )0H&UeQpAN{snS0crh|0f@9=37ZK!tD3F})L2(Z5uJ^v{B0A~Q)9Cl) zjVbr!rJNS+!lZEL%gdclR<^5TkA}ZzSVErEmT!YyT~~P|!yb N-?9}QCwtqAwT?Q##Li`H+e}XFG_a95dM+{DGTh;aN19vb9d8le0ecqI17-c?d zH=hA~R;&FPDvy?bZL^M_%GPN@dj|g<*&XtpL0*S**%^?N*i)?H+A+n bwuxT5x=N?oQi@$j#EQuG(z-3zKsCS5Z$ao0aVq*L0r5mg)4t8SVz>2Gh~^@*k9 zTw_lrd_^Fx7N>2aLNZ5;u8_@sQTuYzq3Q5)!+Ayo2C7MGGS}##KH$f3;Y_nkh1yBw zk`=iSr;o})5hD8yUk;z?QKgNjV D~zX$l|8P;9I3<&vo?cXkBSirEz^2>1lPr5wdSR>;C zKi_!$yZ&DH0X|?N>@?O5s9!$|cxIZ&l4#hsegnlk=MXgLerXrti|>s0&|nME{ZJwE z0%doeNVQzoQpUe#CIQvE?sRG-zWTHwXT|ZV2{pWY+ai@Wwd)aqy(ho9nk7O1Cnpqj z`(t&?LuVdKgMIf!whFGLTV8cW`GZ$snK?MyoGrX$Os@tzijj7hP$hZr0y VonUlfyjAi78SmTKR8JNuO^swoM|t{yu?r&+#=R93IyJ~tdy({YXGO_& u+K&sJmfB^Va zHUUYquz7>zUA)g2>bYhr;NgOy1q`_oW6M5{JiwgabT_R?xQ~=0Fi+aAXqiwOsDZ%_ zq=?~cEtC9-ybO8-cm?+o@H&J*I7BGmGRPlP%AiBDD7X41frxu~NIm^NhEM2jXIjo( z<8Tw`n$8Xo=Fi%hYyQ+RCQed)fdU=J8CW<`yEJ-=OH8NvejmL^sR1;{DqAeNuaG>p zN2*;IeUYCmwuf~uYA0tzUO;ZsCd$vt3h7FRr-KKV%41j=RfEaV&zE&ZN-lYirep{n zN8Ts}*@1~R5DPE1qkphfuciyHCD&RFoJ6!NZmf^s6sRFqLMWZo@Q2;*i-v)7=q+*R zt^L#F?>P*>E#9g>{;uKyD#x!h2H5Hq0PDIi%UuAzK(hbKfN l@{?+<-1btrI6St{f?e9YM@67x__)Q!lc0e-F z$F#uoz2L7v8o(WZ%<^>KN~AyHwe87~U{FpnAuZw7ub_H|8~O_(ua6# *&AKkIwb7qK|Bo z?9ZnE$?c1~6RoSnWp6WclC^AseWgINj5i@7$=OjAZnjnOoZ z6i6--(YGz z+y-|^me7CYFpwrjn6B~HW;ZTF6fnq4JEfW7NDWAL+Z63v*+Qk$Ye^zCpE-=3Wo1gC z_+q9ZeR52_4ILugX2e+2B9S`Jl3`zrkl8pN+RVwZU!NZBNwuH6`B4#m1gWEo?$u{E zo7a8`Y=7^a4$5256XC_u1!+d8>*Kn5W1@&kzp7Cdxzf*m&7_}ROGeK+;t)Cq><}9w z?TIR#nZ7mk!V69*-n^*X&wU&7u)3QNkCL%quG`M4_`*bhDh*dD##u<`2%JEc@l@tD z{tA_Bj9u6TEp>$!BOX;l8`3_tYNa*nGCHx)`_EI_oX&2^{wibMojsPT=EQyFMRbfO zy#{JWYYDSqNFqF-UBaY1CxMrCANvWuWu$f+HtT EPu_xyJ zWl2}zi_aodNaE11x1)dY2p=%4O);-E{%L)mS@Ho-E+rorN#6=0@7lNP>bYB0+-xLE z_IRtL)7Rq@51PRNgTeMYIk{&)L0XP%Lz~um>6(V;$dm;EhXPj`UZfew#xZoLkZE$J zvY?ZbpP*GcRY+qV-iCMJWBW6vjoj|?q?2;YZsbc>-=s!zR_iPQtH%@mEvmOBeJ1{I z71DLWu6k}ahwKP>9-i?~3^`1K9-l=eUPUp z&JgUvBb~W`pyg+`@FZ0Pi&*K@%-MD}I}7m*eE(+% bW zAgUxYKl%xhL+erd(rhOgjsBzXmF$*d*ydMW9TKJZQ9cehv>{0>H$rYlsS~i|*ohq5 z^XL#ap2H_`SQqst;Tr}g1H#HOG`IO4b(aCuO#!MHp6BrgABXJsZ{=lmw=Pg)lWF2f zsYhE =`}s5n FRWrPrY_zR*=y3Gm*+Nl2n zNtoeyVo*ZAg7mxKHW>_RT>p~)p*{yERi(X9z-&e9!dKGBYR-_pmrX6z9UXa93Xf^h zlopk5x#Mex`nHxiGfMJc^O5v+B`4dDTuF&dGTDb|K+yyFLx;D{`-5&<+;OptB)lz@ zs}_3~+ugjqY%U4!Fj_^<#8$4Ol3e?`A2B+OD6hnRLn~w@HoYQD{1KCAb;@uH&aKH0 zlis)$Y><%ON31h)#OeM16C|Wp)^t8df)j6>A5X= <78d zZ7uO3c{0UgI3a4jZe`G!G}FX0HDTtQ3+o2+LC9-LW+g0%cj!X9=+6oMcX{{=+OR&R zKdtV^{E#OR+vrc}LT!a k2$zuW6&nl^z zsT^JHJoO=}gSep;pJKwwp~e)R#-+*3C5R63D_*1WoLpj{!LacJtG4UjTFDBw5HPu+ zjSNWAf=R@u?YGR8lf9XzeBqe-dDoC8u~ZjAv8)27!nbOqR%$NFOR<#kRh!v~&AyB; zj#+QqW~z^GRlWaiyvduZHglvOezE)!tB6p0&~s*m!`;`=IvQ)PnZ_e>E;8bBrz;YA z#bB=PGei(A#cyod8&SP>yP#jQbf!~1%@fb=*+U8mon@(e+KhA9Gvu*p@Wf3M%hX0y z3v0qgr9sxTpj{f3r~1WjH1UUG|2z*1W(zB1{$mik_kWdvbL`Ev=%fEN#vMj4c(3#f z{!gqpV$e}k;!)JMU$yspkpKDQ_tk`|LP9yD{?y!i)B#8#T~>Wu>4%DTL3>1Qn{MUR zbyL#{bJz|U1ggu z~VXbx7I)CSdT5%(C+HQ1XCPuYV@ z8OLv5e#aOLt+lUa5;#CnHl`RPo5NewdZfa%)A%r}@?m|%Vs@_AnxS$b&sz3zqmRS&iU-LHVRfqwv=S5#%a9ws0maF36a8zmY$H4{vxmC&pcZ3CfW3ox?Be+%b zN1wJi&Y$gir>3XrC|?<8m-D*&Up_7#S-OPom%tvdQgwmUg9^{GVV&M+d7F5b<{JD2 z?LHugaa;2GD4MC(cy)+yl|QoI{`T}80aAvV4z NP-WUO&rEV)SClj(w17Sj bYk&a^rmkN{3FeS mb1>poZ>B{Q=N^O?LKK=*B$^q{Vm;#>M74fWzTqe7MH(z`9G!3Yp=bQ z7$D(@PWNu+T3_Xd`a8Y)?vdfeR>XNZ%c949*-xo_{(-Omr45S@(WkwueSL8eY7Wnz zAQHK68MG6l#{^qHLC)Vv6kJF4EYvykH#r5fRt@FDRDZ-fImx@0Kp*z8B%TiMj%3ZX zhZS_xe)N|qGpIYzqa&H+BTV3TI&F^B_xj#6GvO?^pN`9vjHl6jtlP+$aY%aJQVupd zlshEncw6orJZ=41b%m}fxvD;5$PoB_{l$Kol~r#| WbV_YQms!7AO}$~!p{>!u{! u$UE^=Ho54RaO+GSpQy=H{OD zHFbSC`t}CarRpD-Y^zJ^YUEXmHJ$y_)eU<$EnVWj&Ds%YVt=ZzS6s-qQd%4y&L=kd z?8|;2Vc*ekgsYy!u9KR$Q7cnmzr5S6&y@E@edkJiUo&6X9xv^kc@D#r6TdSFMZcCE zp`!gR0R@*=WANFKqbBJh4uR)xC QMhdj(?kqm+V%kz O7~1Sy7)m%hygCnV*=E>SW);x5%uA0;n~GDu_0UV(I!+ynqV dzohQVx*Q3-bdQiPI{7>lzcK4Go8X7ns@)M*--9dA?4_4rN~c{OsmjV3 zBeXKX1tGa4j=V|^@wh#UxV3&+#|PbN)cx3TVo^X2y(CFlx2#+GUc=I>rNQcM_TxCJ zu6xvaC*R1P%Zts TKHDVQE5oaH@1;a6x142);i&4*uBv z!|2jcDvz&J4@nKL&on`k^hCy&^P&c;2>Olc3W(CcQ>l#}=nC>a0nfOzdWyTfXU}4m zGJOxzw{h~97q7UYiWVHG+#MJ8IE-3!oPr}5=2;k2X{IhMA~!hMxc$SJV&6cJRE*)Z z6~6K5Mu=u1>RYdmF)Rp|?tkx2^giL*sN}(X7{I8C5Z<38-N}0*YG-9} b%R2h^0g12FEql_)q(*uDm#QmN;wy)0+7-whQU)+f6Oq2O+E)d9CY~`>cjs;lrIZ z{d3LMG`8yY2}^3LLz}4YACb4LTBd$VF&o-wAZq(R?7e4LQ(L<(jI!*49h6X11VjWx zN`O#Qlp;+;dQ+-E3J@T)fDKR}bU_G#r69dXOMn1Tkq)8PG$BA}3DP_3#CNZ?_q+G& zUgvz@xz2T+A7}oVV?JYK&N)WLoMX&!-_QM2P$5@6DMJ+_%1gDpAY;gk+e?2tq4uho zz&D@fRsex~SSG+ypVe-aJ;+3BZlM9j85B=kXH#!e_Ef%t^QQe`Gdx5UuY~+amBW3s zc8yL**|$t5e)-!j>rSD_P|Uh848>hyk>(?`kC70W2mUx2l(=)XBe<^m+mVy6QgS1< zgu-aZ673kWW$gKJhQCN3%_TuHlKAC&+0)jYvgWim^??OD(pqgoUMKj(j!B=rB1Q~i z30ElheUhl~?pxs(Qk|0`Ozpwl{rfPxuesh?CvME~cAWrm3+*1iBe!@b@Y1;uU?NgW zj*H>Hhu@B5v`WF`VV*7?T14=ZFmUP
A3;IcK_+26$6;v|aRl zo5q*N>RkYrZ%Q+luXRDD7|2sYJ=;Xs7H+oYAjJ&xKmruMjV7tCDwq_zI}z~ZK!DVp zkx#TfaE`642YPVfX;CG56i^IEt?^Weo^AcYDrTal@cOOUNz#%0jpgnzcqITb_ S36$b?N>jnZmOs_>=qBpCbApn;(PuvkZ$4C8`b*J4`T%Ix%H zQt`W}DC?9tXrmp`KFn+U(y*OjhMjlx=?hopyza&f{-|5277CBbj!Eh=9MmG*Rq9xy z6@d&GV=4>x)q0h8(is;VZAv}UHh{|0nFk!XNtf;Wqi>~7q(;-Ix 6|q(aCUa2{N6u|z?coF=8ASJwrEhMk M5o!=<>-ZD4LRX+ugk zOp-<~NlR}kmSYt4l&OV&TbfGps~a)Etu-w*o&_L@sc9t_T0KIUtOj3;a+9wZhCoYl zKFQ4sP%PL}jmM28w36xTN2?v;ey=p`^01=}56Ht5BikklZE{DT3jN6nCS-+eRMPhm zuYg&o+pyPxP6(5$b5|j>AT4-;>_t =b`PCYz(#p}iJJS$9Vk}YG?Y~PLT{u~TLRTVDY>m{I&onNoa{q{5Yn0= zo5XalBiC-0OXEJAQ78s2omPuBesAal#rZ}Ta;)4w5gQjgw){nP>f&OOf{UI)ycGGu zm%O{L8@j{YeP~o$|Hc&w0SqrUX`5J{STJmvvhiZBr7$V6MAkOEhsslh=3)5lY1lkA za2*qM1++n$nq*-7SKvzTQA!_AVyNDC8*c-L6O7NNpkjHxUKd4AE2G}gDk5o_gErqK ztwkLxR)JpLCZ(qh-uK#_z)sd9;s>nZP_Lmva3l*DY-~B!NW~e|R6A%mc}0dxmkvcp zP!@bc71p=X^yf(QC@2^}l6zo `|?_?dB@?}if;?m(~pR_p6|(bZ<^YP zuP412i4CnTK~cZzO@Fa;Cd{chOiNXlq|zFK82b9rDmx0W;V*kyh^_MFi#rQC0|sz- z24F2P0}$o^vGF{kX_eKhAk3(_=sc2P5~fuCa=q$fltpW^2BM=S$D&MraZvk)J{-9$ zr2C9lU?geJPxYYCy}HeMca!<`qzFm#TB8bZXEZueN+oP4@SF0|D3b~FA&hvrobqj! zvg~E$9H^WU7sprsPKSBbdipjcb3s^DnNA( zqe!53FsaXZ4tvAEo2yGq?d`#5|JG4|$v(JEgZUV`)70}Ouy_o;Iy1y6L$ztwpqhkY z8<-?K$ZE&C#09S68o+ELUMqHY17D>=!n=^%+txlo^`x_2ysSBgFUx@AU<3foFkKFD zs!$HEo~!q;ITov&w8;ys4FJps_cr-_7!qk@QHGIXT&U>rp^IKvEI+o$VoM!!Lt4oL zFB|Rf9<;3CURQ2w(15HdD et*uq1*D!aJq+E;o-qh7h=%b=-iAAKLSm4=V zDvvJ-71uV8MR0ZcE})}@-sUwwA56vglLDdowFf{X5qw~0TrCYeCtlaMbZ|Uf0*aJA z<6Q0oWnA{er$Qoiqe1THST+z=;WWjYwixOwkF_H&;$OxP5WeQ4qf^9d7=+f5P8RSG zz@9bn-J@CQ2Q1AA*yp*^xH1$zwT{O~I$&{Cv)jn l5*7jua46;_nxS64)d5a)1U+iJs-)wR_(rRvk};Z5?6 zF`&= pR1tpGL+oMK5!26 yL3-EHL*nTT!gUJz6u&P;Zv)3ga(5oX4 zY{`p(%kCkr?MamrzKjF#s3{b64u+F6airLiXRXFJkD{_i*_=zyRn}T_=fY}#AF^zc zTm9`gLL?{}pYWt2`=$TKy8HQq@w?1$g>+6t-8etC(&`g4N*2E#KGK!_{%;5LHzXUA zk@c?G&3fLX5%Q9d>|(QgD_y~)fKN@hP|ZzRK|x)*FU)(Dx0|l4Hir-#`Qc<}9yECK z^pT ZM&8I8eUDCG)e^@TPr33eceXWiqZPj0Vrv7B(^Y> zJnR)ZCkIUrNu#iG5qMmQAN5$=VEKKi2e37ukED@}mH?sPDFm?&6p5H01(F2*;NY_+ z*!Cz?3)D5*jWeg+-4U4)7#3xqX1o%DAt;qf6c;dfTOm)Cii*sLoNsa7q%m&iF@j>- ziQ>&Y=$3mOzLZ>E-)~N6^qL~UKOR7JwjCoI$~30B2h6ywVtPs|+ZVGLF=Qwgc64u= zG*C@W^X*Ffy%alnRgvN^;e?5iDN_KzK9qqG+q=(Aj)nD31|%sG9i9V0qrmKB-=Szw z0(}J-gbea5%Vr2#*Ljt;nbY_@)0zd%CuZm |rO9>729)V02nf&hyz01$mMTG>oGO*a_kx zpJH-}Pfb>4e5pk O?Ek~*~Gi9 eL@LnqIQFU2St@SY*2_pDooEC-PUo)JR zMvNkxAod4szB^56cpFOoi0d5;YTAj;
tR!HQ-_ts^JgF;*UZwW>_Eh1lo_< zJfV^DP^FU2D#~JQ=wiW}iFMGB6JdN)bd j(^)~Q4wB1Zh{t3|p(!2a`Kf-c ziVkC ;usz*9l6^n)~7`M?1X-^o2`pGNdtB8%%IKjx(s_Nru0 zE9vSeOI*shzQTNP)j7?Ufl|U$QV&neP;7WMcF(jzfGU>7;xqua#w%LdU|$S{UrWL{ zAsDAqQ{Aw8q-l&B{vD>$4n<6=MXaaMc`I${R#Sa}w%wTs969mFPUUlK`BS`p-3Woc z-VjpO+fzn?xQX}OE)j=$dG3VKoS|$sN+b|1fM{BFFDIcX3!Fyvl_9~Nc&@>T(VtPTIcSbtQ&kgCZiTkcBaO!7NF1g_zq6g zIXA5gFR9q{nQqNAvT*pz#6EZh5M3`8?3y1xxZr-f#dhL4za4M;Vpysd*`H`TvKUI# zctVh*R< Z3Pqvi|!=8+Mgg(G;`p!)E(KRBM%`l{bW3clX54sEi+q#PT_IHkqY7id18 zj`$sSY~lDFX8qMxRT gm&%FDSN8W_RGdH8UqV?-hE&HrX79 zOFBDVlvxD-AiWeREe5q;m9j8t8+Q?@Oa$rKR5^y4Q`m@vKWZq7y&9Swc7Gt+`Z+Br zfG=@^ha@C!s>uwH(R)dCXj;y!7N4;p@CJERQ91->5JJ8+EnGw;^X3rBG{9LKqI{wF z2d-P$p%&*i*PH?}08(z=Z&G5iy)`cYopm8K05`|b+Mxc0V8i!oi3=noXK6BW!4sB# z^N>%BX-9YozmhS*j~Yjh-pKqNC$|7lm8eY8v6yCZFAuL&_SG(UJ7p4J^eKkT&?^B( z*qNKW9S(#6>00or2!{A$boFid!lps_*eb=_d;NwlPhZKpmec%JyDw5qWGPV6x2PnH zGM7#X3YXy`GG3E=oBEI~?XFeTIz??Win}E}(ICsUijtTuNO6@|H+Zai9EaaeyVPQ4 zm|WMkxJ81^P ^NjRJ+-2w3!S^;eb?H2W->h=_?+ZWLd z_kn;rtMwX=uJ{pXBW9|b3Z7qL;|4TA1$-(h=K3gl8zGhE)K;KSL#>5iRfdkk J7=Hx2e$;2H{oQxh)y#LzeVBLc+Q6-!#Du@x0F6F=fkuw2mD3NxJBHos z`JuJ1hleM%PPk+E&k5a9v$D$-5`oQYeI;#=4UPJqw()c+e>7VIvi9L=uL;-o*yNTW zz!Hu-97y} OHr>gDmzXFrv zF99rdZlIJMt8@EGMZucLJo&6BW?{P9z14@v>`Y$Qt8e2VdRepgSW^bSJz O z@XfMMye95x;(MO$R+UpWsO3_DfKA=gXrpu6{^tD=Tuxpe#BirSU2ceZJ9Y*n?%n;S z^Hufh7>cgs6@$^Fh}Y2+U8yX?(IkEC1f1mfm5q_$Q=D0ZX^qB_SKY5A;QKGF?bOZQ zmCr-=zy6KzI%rhSBYfra;TLsMUoT-3j$T?vNL8NN_o)80AF0FRb^FrrW!~2*0@@J0 z*k`UAQ93G}{|@8)YF+Qt(B(MBr9bETe-4a4cOUT1oGvU5myLh2{gpg_EW=zN{o-GT zzuND!S9Ua2(K+`|YDWKD?C{rwmTw8=e_^w~{KjB&F4!EpXKdQA23*WTZZ@HE*d(QK zwIJ+wWpotiQ&wK~dt4bTiIu9bZ5(fGRGh&Ho)^>eEo~`svu4Mfc*eo!t|RCrAQ;c{ z&sY94eefv5;E>CkTn>fx&Rc9pZNB`he<}6TX>p&CHU}q+e@UJ{EB0Rs{50&Bah#QO zy7>2P%(xWSDSVNGL&l>iSonA_M=ZZNvp7OV;hu~%D+-saR?0L!AvYKNK{=CWZ<+B% zy8%jR?zLC~730rtEJz6E?`&h{>e2fS_Vmqxi2G*L&>2S^etSHxtk~Mo{_2hNjb-IU z&fa}f?tLZcC+@Ous?Uba0ALG1erBit>n6;)ElkwlILw~j)oeY@XT^KWy zt`ar7rLDJh^Uk6j=hpm+(<&95RS_>Qf4CyC LEQn6-+Pf5$nmPS07b&&cIgSt)XzDCXJU%ZMZsITRK9H? zLKNFu(5p+m*Od;jH2sT?byXHJ+#s+Wt zv!D0)UpB48u p1Zoq#>qOKB;rN>cq|Z6qTIQ^0L85)dO$$ z)9xZDS59;t!pzV>C%MIvK9^kxF7v5z{0cUYeslij37@NeEiN#pxxVHm|MJ$7+$#wJ zepgeJ*N4= do_t*{B zV>5Rm?1uMzf^!dpE>bv_B64yLQ
Klt_lJzVPD}|6a^Mh0318$`_5zC7ZaBx`3c>S! Cp9m4ELSeC#AF >I3Ohm!Fy&oaQ~61_D-mY!0p~8^o1s49i9WuW0&V1 zWynvqD=)o@S-9 wYbKQmc41`VZ|3$Io z_$4Vu;GsDG(hYV4TGmL~Ct3KUFx0^CqnpmcljA*8hJ9w8NDGIyh5YCwm4PjRR%A~M zn;vi0?O(SN>Acz3%{3$DW)Drl 4bI$M-SjQff6j?1 )gE30odv zt-G7BT=s)4Nv?RD?)Tl |ODI`-G@n|`b$RPS;i*dl z os0)SUJKa7kTq z#EIudcGc0=WRg^o!+e5wZVHB|EDMIIkhgBOoK{$FPKmPD{BCfk$(DYo(^R|T338$R ze2U5-?m&jLU}kX8awNz||LT;62DyB7EVB1pk>>A^bpc-_BYi%pkRd#)5zw8Za$~#j z2=+@bu`S`*^81-PTyG9jd_HFWmR0gwR)32^4L|om7w1#)`~S7BY|G*9_>Inli+|<) zVj8zE8{0Ay_ij1%AHuVL6=XX^{!CUP>>pG8zDuzMm;Pn@sa*Bkf69$Ra)>SanHq|J zG2p`%QDeJf+_PjCKW51e9l~aexUwaif678wW&h}7(?-g@-m~4`j!LjqOa3AEKnXxy ztrE|@PU+wG`7sqdW^|G7FN*4azT!T zwj1tBYzb)nTmO>rPX?h&p%x#*oJ0P}^dHIna*j1OCfF`ze{R2+ zMse!93WsUY@9RF};CS@#(Zhd=UbT U?RvJYD=_RI9QRtw#}EW} zyz CCwIHU?9Fr}(STJ}tM!2OGL}Fszy~V_@k}ljZi8MblvFm&J88oJWvz2CT)n zXmvaP iEvNYQWMjMF4S6x13xrGi9~8+Y7xc$cYjaj zdV-4;72sZf^J-8)A*;*mDCxyh*qyMfVUwfVrk&ZW)8eAc!-H=X&)wk?PXl~XkGQ`o z ` zrUp{6A*JA{fy2ob3M~(ZvCx%Qsyem3r(tDa`B2sPDTcP?uma>kdA?}e5z-5{iqM =TCd`Rb>7pvlT&T8;u3cY zFB3!W2S}`fb3S}6Gd|_=UVOB%j-5b)6CYVxirhX&T6z!%tGzO3{;fNq!f9G3U$*kf zmkT6&gSeE2_@oG`Vv?Ns)BDkJkCZIbU%Ixi-_-xM{c3#A&euNB#&6h;XRHJ=V{Tx= zB^_GdeWaoExWH_C3c7gZ$o|h(o1FQJ89B tUCM$N92l3t47X{@I^Shvnep1P=gW|#;)RL z8+gkS*uk`#+Hx)lVlL`&4~1^w+pV~5sTCWv%8elVHLGz=Yd}E_j33I{NX6mgVXoOg zA^Fao#k#sLyRIe$Sb2kOmpa7)KxZ*9&8+94QRQS+ofjS%-s|90Gw#pyNJcccR7`Bl zn`p_FE6$P4#Pfl26a_w5Rg@W?j>ujxP+qG(ip8S302Py+L~2GxvpSXviA-fe0ThBj z9=^`q-Y$QjPoLN{R@@MH+ZR)E)iW8F%A?5kv2$&g^Tc86T2%RctSI?@X_twGhh=SQ zC_vrSm3C10)F#-j$%OUT%frB=Y_7<+so}{|v-o;_kc+CFNyCpHp%>JB6%7tyeVv=? zp45M5c}E16BN>Cf$!owOw@zZa4^9Da_)yC6`pKz)CjJ_|1rLgG`y#cc62IY&e4Be| zAu0t{$%nL0fsc(dW*Av-VQaM8@MXlh?|@0VhL!-Pz1ctl)@r8~azr-#w-4nm`Z*%- z*5Nw;oJ*DB6W3{q$VPM#zMjyST;(L1jNKkaj}GXw*7bAvJ6HMb6!NivqH#ZFW!-4C zrR1z@a8V5cgcLVvqIsL?cb0yvH+!j+sz`inNhrTQ=avaaOw~WDEW&)wL@^As9_OL) zf%<^jVNzjE9K8fxkfzo#g_VD5mc!d}zCg*tN?FF|?*Of%Zoe<@zN B$i3 zH~ej7J>gy00p^``n;o1CkpWNLJdssJ@mYT|2F(or 8_bPgY zhAlP>r*(tZKt=EEE`44g!d>g=$5wi(CHt^6-l`&+pcg1w!WUeP#9f9|ODViyqYviv zT*6}l-2EvYJE=efNu-613>K@$j#*MiCb$#^Y$aL1+NVP(8n-lN6P`SAeMEA2bOE(S zTosuFWj=voxJsmPlr%`u+WhdyhiO82f4K>22JZ=~U;$O2OkyL5cxiC$uuC>agCbB} zePsa4j^J|SvrbSmaY@1Xhq~G)7xm-ZEo>3Vcg%DNfiiba+zrHBu$q1Hi(wN=3NE^4 zZvF{|98);y$I{45ZUm>qq`dCU_=7`EEnWb0D8!lRRC}^R+c-&e;%wHJG^!+;B^@ zUuYuazV80ONYB=w$qDW?UdP>LwKP#F? 2lw)RV zjYWISe#Tg6gnW4rg))w7+IBMiIJeG3gM8eqa5dc{)KY@N78DyUgr%_bRMXF2#RMaA z|BfHfXKARuiFlKu6SNtPh#(XNI1t9o&}Y5Wzr*E``$!`)QLR(-A$8fOGt}CSy$nar z_GJHtBMA@dVp6!CUfwJzPBix(48CWbD|GKO{FGVl9~_+-* B8q2hc*R_swy1x2m~jnl*%f9Z==JZf#ou>It!e&}VT$b=6}^r%~(2 zs>BDG+;TlNpE~z?@!b83X>YO2YKae>^$sZcVY8 3qOO03q?o)27s%Ni}6qZB_d>U{@WyNd>y+P zxNY7bt9GG&d&Yh#@DOPEG5LGT`QNs@4b@Ie9a3rOqqOjwlmPbJC$FT`9U<;U *C9mGfeGIu z0r(*<>@o~5?KuQK3bT;FnH(Si{TdR<5P2mK2{Kbf8p6t3P?99gDzEmzJ@Abz-;YH# zBayOo2bMF4t6YB$>A#{=pEXt4n}muwRW8#^yw(a(;-GIqS{Z})OLUrsXHb4q$Y?El zwZe9(nI`Lpb(=9Cw%NX=;dgfpiMQX76Y4_!i=Y}wBU&=6?;PUeWlyAUL3X$A2?7Gn zzfpAdz1Jk=EI>J8AyNiY58t$DEV&?h=3wxX(}DfF(iyxMvB6EPi0+2#e{jSEuiXr| z0)Kh#h|hLL($=<@i3OpEtwz6=p&=w4TeV3$xJMjc?1U)r@nasDOL~%{`$ygDh5?al z{$GnKM|B?=>wKziwNlvTqKJuf?3DBYR8g$!lL(N_2Lzf@6bkhnWF@lJ?k
%3AN8*& =cB&r0b `0;A|K@t*+wZp+Q5Tzw|SWBoeYz{)lpf*_$3Ne0K z4aMju%Qvw)Q3Xl&=b@~3DasE*6#4%a$k?ZE+NHjUeC_`vXnm*TOxs)%{_9dG+QjP} z9fy^Z##()2R&C8g>?Z1AvCWc=ONsov@(rYst-wDxKo9E+BFYU6d%+v|Slo8-8DxY6 zz6_|mxZM{&P rzCdFw}aM)D{%L0^|a*2-CyU`5(3gx z0W?iU$`~ve2a?>ZBDv#uH<+ck3F&^w0x65KwByqkF&L*M`3Vd4A=@gTYk*Gayfb@7 z&2e?5)Ed@W(k!$&u(bXmg`^}Iy$~ZeYKBvi;!PO^G&OiZHU%nQh6F~|La~F=yhRIs zvZ;dw2k^eoDkf{>(_9F=DEr4YlPS_}DhE6ZuFi}gL2#kbE|3~UqHffbE^uuC%|#Hd zP@F&9b^Q2Lmw}Z_QOQ!8-K7G81aUzIg&FDux1SrR9NeaFZfl-FYC4QIcP&41^F&I< z@|~ZlU!X)+Y#GS ^?FVVfui8-ZrW;;KfdhS&z359<#w!fr(aoqdSX zjO2?x&8l6n*Ti^z2ESQ-cG06zG7x=Wd}=6yp|5D50rpgsNH@RgoFl(P?rB+&>W8eU zynTs8yeTX$%I=t)9%XUWF&7R)nXb26Arik+nQk;dV5*J63aknq3ohbs7J|06Tay-a zANAdCC0FNt8m|w3C70L0N?Ek-RNPOgRM-rLjE0oWH)8=>!PtF0C5r zH7;HUyP9CWd}VI7>8H;<@oP%?_HyJaBOvVAzrFl^g;X2^R>kjI8anG$zq!k^;MDH6 zx}A!aIx+Vt^@6}ULH<*=^2EVI$a$J8V&0eWLOF)%X%-10%#|K1H%rEtEeddGpSVXi zBgb>HgDD5}`^2>Q&;+g%Df0-qX)c-$lAlVymPt}J>K7Og!lWWy9LH&t3&7qCPgG9O z4`kiIfJ)5Bu85VL4*qM}XCR5Hwpcx0oqm h7gnjnpcswZuYbPvUC z?vAuE3m=#*r`7jo23Anf1tyU86*AV60+HsCq yd-CD$M< z@cO+#OLyr7Mf7Fnmr5#Dbg!u|MWWOl3RB#!;Cmb#ptYdX1;F2 mqQ`(O1&uaak)Xqt#k$NVu^%G=#o9Pei(0x`@*8>5!aR>cASvfmND_%(aH$ka z-z#zUup+JNIiZJ*QuloSZuAvWS_x6S<@>~5(3+;6HL+G(k4;|Ve{OJ`VJl0o+mm8A zxF6h##Mj_3KbFq?*d2}XX=E)==mA(;drW`Hn3Q7zMcct4Q=6IcdtD!u0F3AmtyP*4 z_u!WKb|?OcWHf!|9U&u@{aqb<)?S*jN>g*7sdufEO_p$#wNaWagF*rx^UF$?`SC$s zZ{pu Gu1dW+)y?2OUsCkf~e)z^f_B<$I*pkF6J<5m%MpGYxt9Emg z-Ln_MfOs1ix{liA>*1>u7{+EkXH(T3dDQ)<;9huc%Qc2D3{vR0We`&Igyv~1{w^dY zhVG@s!|i@$)388>kyR~qFVJAA8C;{KfwViZs Ywixg8B{4xwm*q4wIWJx|v7mgy7pq^X+;5Gm>ZjxI z(N{AKOh<~-%# OJZg!=0+AwQABb|yoLJJBP z$CNIYt9^)%PF^_H%-KiT^&YoQYPaS&&FBNzBum@kwxL?DrKKL4IrtN nKH~lDHBY9a=`i@mnjKG=ht@9{f>+}|yaZ&k`YFsrB(2QH%*4V?-cN6lyls0GN z{)F(!Dp#S#E6~^#J2C%urUk4!2!R}{Ehc$`75IzFqp9X>K7DD;buS**>o_@pA6o)y zXa5v&o9r~_wF-gFx%X2D*=h(ruZVJ<8t84Mr;o#)z-#Z7@=lk{jz#bn>kU2*r%ncc zYs`4wiDp=M)>YT^s$aQW=n%GC%{m{xW+8*Wp?ei1t?~UwhFYG?iO9~au2cph$TeC( zG6VgAO$$+-DIZ<7_N?)=Dl)1d51Liu@YhXnS(%X9k+W g<=Q%vh|M`~6OgO7z5tYj!soHphb?xphj8QqqFkXcyU! z^gMc$*$;V2_GB|pQFRv4XKar3Y5c912j^Ju+~jNRw(F|fO^ziJkt$(L23AezFhh%` zi0zy9EODq`86q%3F2w|KYGYZ7WiKyk$MWRPl$0JbDCkt+vDI{i{9w2_4_2AoS+;Ty zMOc>$rGEKP{*cJKaD2Qn6ohnkIC{Z9$CL+h3T^h|Lr*HGR-htkYGe#4(ZTfiI+l_a zcFY}zF;8An6_1*nA70$P>tajitdPxtgaHmPbPu~~y0Sd%6O^j;_Se^Lk9~T9a* *(vi3!mIt5UrFl) z)v8A1o5W;KC$j{F#elr13^JWd)Wo6*vl-{Bd@vs|U``9L0M;~(Mn&RLfkfg?rqIS7 zI5q~l{q2;=H+xl*5u~=33P=9p9&Is^l3hSiGV>4uU5aOXc7>pj2-pbNvt T^T5WW9bv@2wEWg^jv|<7)QoAp9dRaCQSuur5U)#+@epv!|6){WwD=Msq zVkpVJ$qJ&=HO5t=URnaa)D`-=slP+yP#}1a($;Q;20eF&zt`M$CGxY;$3v&Bsf%RK z)=}!HLSXToFD{<8**M8T+wo1CyfSjN1B%+`NWhhNK{rV2-0C*KLqcUVNF OUA4=KUDaxi!Kb6YaDk}rmLTi4;BI-?LhZllei^3JzqudlQ z5;xhQP2Jf6OyfU3#J<&Jha!5b*_+$uc2qtO^pW@MN263Xz8<3*`I|rG&)LQAqufl{ zV(1alBKJQ+QW5(pbzjg(py)8(D6z+z Y-IuB22SQpLYejILBdv$*}`O@hCUEg=FYedL*4^+Q8bqM;{_1mpE=}|YK z_0voJ>L1xZ6moqh!@ZUbyaQNUmVbX@+x2yB*sQ3YM)9bV+@+jxhQyuod8zx3%XJ EXQR_$F`)~Wa8SH;89@1w`x%KC2$gi-< zKeK+ltFUp!0VU 3|vo6YFQv2?J}qZ zzM9*3+-AmrCIaUTrU}J7i*K<{-JcM3qy2apK;TVLb$CTec(&k DgKI4I`a5K-7DPbRkaIi zrWexluCwen63?GZFOCpCmX&ktTikTuB`?^iXx(cv={hl}ZGGQwT=x@C1;A9=9Mi8l z9+CCCopGwxDO J-NJ}T4lyrF8B@FO27dY1gHLAt)-noL^5 z^`@D @zclQ6nm`ssf<)}|FmzbNI?Oo&F*w>RW6NF6mPnaoKNCH zLr_IZLvgd8NsrCgu|qlmyq{He{vE&k?`!*CbAE+%{?{`9actae^9Kj``N+UfkoTb! zb<5%OTWL+L+}Z8zxV+-X%X_NGeH2BtA=de1;laC;fVr5< ;8^73ST z74NW{$uN-Fx) w`Lyzj@}gTVg$y8j=|^sCk5|7ezfP5tDmNSc_lqbH|I zMLvQaWCsetd9y=+U?lk5xV*XK`P_JXYUKJARw@5rq*z(AX(>jgzaKMU$K(6gv;EI4 zztrRUpa1NCzr_E$@c(`r{x6>4|E{K%v }T^6dsWXF^Q3%0Oa=pYZ7|KS #Pz%?-?cuP!nIe}@9%a9#djf{0R zuxWYtj-HC22=5mk^?v-Dx!_wS`S}Mwsc&a9g L>C!?Z7d#mZR>)EeH3iHQ^8nOP1Xii*y!w!e&s@{Y6FOQsB zZ{vISW&1HlJ+tLo>s|S;#AF6*Mz(kn6T}7lPy9A{eQYM>oMvJC+Ydqt9hd_8rD1fD zf?|MkgyI#CqH`B|5%8?ccki4|&1$=!^YWu!YO*%)K@H#1eGzq0_RZ@HP-tGHzpz?T zap~6=+Jm3S9fK BgaRHMovTg+G750}Skfk{AU@%&Ow*Ww`(mUh$^ z;Nn46JHt9UJ65$k!;a#-HIT2nkg|1|9z#lNw1O&5T_afmp52+lquc(tZZdW&dC*NtVLc-0-c%wl z&)k2az5QwmbAEB4y7c#$H%GAE&Cmt!%k>7;5QCV;6rQY-1Iy_n-8R)LHL(oIG^UpM zW9#=1O#tya?;|fL;rqk#9JjWJc+?S3wkCC(o=_)}m?haErfwATPG7>CR~UOY??(7d zCAZf%Qq}Vcn~w9oyN0q~GrD@iMM=K!SxOSKJxAx;qlKd%e9f8X#Zm~GDyv;5hHY;A z!NKW_e@H%Uc%VF+(x<~n?yfUARXwzXw{RfRK5TIp&Ccgk`2ScDzSpa`Xb;Pmd*M$m z(~=8kNu`5x2sr3FGlAts9c!fyo8OGuirRBhMrIe>I%Hm}>zw8Nz+=nSj&|}XTt CZOZg$RXJ`MGc*aXl;y`$tG$wPG?yr?mF83kXU+TGg=4H$rmO10%pp` zd+|;XIL=DcPQz%zp`YMP5xxxAeKKqH!k?BE>W`tg`2$zn<9YQ2m$&D_M(ol;w0vJb zNm8#9yjthCZu0f2Jz`+B+)li{STeRx6w`crEP-@rbV1uM0%jGc0iOg85cuv~X+{!r zUS>EU=T={7u{mv@Y=7G_ycS%zcQ-U8VXOYu57>M`CH}^1ZNoLtP>z$o)vC$RggU$B zI|Waw*8fm#xy^GX0JZtDtk!*-E!@Znr&lO(e))r=DwwcPcGOe0H>N`%hps*{bo;#3 z+msXSf)`Z3tsK;kl?ba(t(RLk!AI@zjQys9T}XHQ!DO!U$ev%O404|mtHZzyXH7UgI&Ya9Q1s1XL^?sTViOhhwewLBE6+z zF530l@;awXLcwbzkA1|@CoFoVbb^G52gTyxqHAS}OOP2}fh@hHjOk HO z@DgYSa3(9Nc|o~8S2*$Q)rjOm3t_6;50dQtXaDrh{{J?G`llcMFC-75H1su7!&0B| zxv?h-bGbdaeGhtafBH0qB@X_K|0_B0pwi}N(6K%bakhHuKcDjd fuY8$2ymBTf4Jc=UKW6dOSwjDQP)xwsl2?F63zsl|0zo}Qa#ah_ z5tAat5 B@rz&&uqDOrgPoDkfKl|T~{(fbv&+^1Y zwW6JztxZ9LUHeU0RojK>!eu3elW?`B+a75QZ6TvcHKR+3E61p(D4}=RAq4!I{b%s4 zR14&oddNLS$c*8gjqqfTY|Tf7zWg6fF5BCe#1c~?9gk>ulP52YC{?@77@`cF((k@e zr073>wUCI35x)DD{)+VI?#k8}){$qf>LMY2qjpmmD6-7i=|7sl#mMPd UHZ;SWK}btfi0&K_EL mYYcZwQ?*r2imWl+ZbNU-Q%quY_lg$o(&{7TgDIj+^xgb>SP+qKM*h&Qsb2 zT`Jtf1lJjdZ@7Hpz?ciPrELD7y&x^uW19_8)C9d#E4j8DA5@J8K~5fs%i z_|5G8`(hQxdu3c8OH-Amc {|^VUW1jnNm>Md@F=lJd8fpgLs(Zb8@X7+>V)fx$ zwKiMDi+h17)P`?g-)?fP(_dj!ZfzUcRw*>crA2cbGk60UZ=}Q+iUk9dsm=?LjN) zx4qgh{*0)udund!8zHxl9p~)OJ67-KlE=TDTbSx=*GbcX&vSMNWlIb1v0sza`CD;1 z{Y#rKUWGkT5Ak^;mf>@7S@D+Ro95pd1a2#xERetFO&;OrjgvBf>V0dmG7-F62j0|N zO|@~zu)2_+`SkWePs8<`3#zZ<7H6I Z(cS(KTZ`!tGi<&EJ z?-`V~RSL>8NoaATeU7R;6KEoT%*^vuEBNN;`UkPaxQ0SL<%~X;cvsvNhAZFj+Wmv< zK_Y{*?(?s@(cccioZPZPC%V+q%W7u>B;}S2=UiG{=k8@^1>Q-dHG59;q9$cdj`$-e zTL*+S@>Q+xjlI74_5kH{z=Joh+u| vk z5C0Rit3FJox7&1^>m(EP&?>ult=o3g*yFRfSiI_Xlx8H=jxj{~<;bOrD??}4BMLd! zBRXT2<0zNQ%}|ug7GJ)E-3&Y;=FLAg*v=;RlXyH|x2>OYz!@N~En)1!X&J=rr|#~r z*XJIwUJ}s=uAX(a+o6!2pg3OHj>1&t9ev3pcWeCx+tJ!+@_3@TD+-A(Fs-hjFu&hT zYlf|GwoVrSK4AQ^Xz;?;?ZEQ=x2c3?HmMz-JIz0sryj)&Q~F>O>4fa9G{&UTs9cOs zPC@#h#whwM?yCW{RmTmJEVE2(@h-*Pq;%U#m$c*Uou|&clMOCQc!Z`v zPPyW3cK+~0XOo=3-aBq}F3+B!;!ndhNYs~b`lAxwOE{S`uMAR`%gwB9L((&-sL%&2 zPcxmRdEAh`wo->O@W1&~H)4YF=yX!?X +g0Mz|Ms_^wm>o)|9cd%@N$ zG6vG5P%6@d(;(>?AJS0XWT^_0+V|CuP9$zUdcCc^CeYrSj W90;U~0%TJ6f#kukL5wMHjDDn)by3VY0ib&Z_MW*6w+N< X)eY&*CC@&Ll)BcEx?~PUoR}_1Aa#!pqS~&fNO7YFw4 OzL%~`b>HkLYn;y`sU=0(E5yEcC7Uc<^g1<;I@D*tn0V5-aT$=^T*yG z=Hh#`_YI_D?H3+EvUQ}&JA9UzY-~u*GxQA<-}9O;l~>6eZM(CMYCzaoW8RHv1D$C{ zd%2W3XgD&~jJvMu8z^=9o?p(_^o^>g0qQbK`DW4&{9<|&cj*b6I#tAUKqi=jNGMH4 z3-RlYSl2(}@DyUm^0pifFJS6ntt`z2Q |+T+h&|8Z0p+zx8`BeEM@nyJMn$Y zcxcG3f`7IE9t(Y?H&{3H>6H{o!cyFfZPTnF%8QHyqp{LntYY27ud=JF>-@S>Ad^$d7udT1v%Zyr@N`WN0d x zo$pEiz{8%ITXxg7p$W$%5@<%tKzNTOH-Dx3%wC+!+?l29AO=nR$RRjEvaPH=ZPqQ- zyAxSTdNwpEfNf@ryHD4ukI>-Zb-LL%f*=}IU~?S7bb0XpyEhFxbz~n!(ktYK$#C~M zLAU2B#b}wU*i>$a$VF`S? X;15UKijH{ofR4G6@eEB-I4!|3QVe&9 zCS%#xB@Ebgs9ebo<+nQ1Q3ESVS*kwndMuAi9Wx!iN2ahi*e9VgWM;8J{W2ydY*R3_ zTOVDwiWP-mtebpTGdt^$tg<2*OMr}pxLp%ZBFQ~&_dai J;iEE9l0GeZ{puSCderYNk={{RPz(fu1dWNyQ%6%9oZX?A zl{<~V(c5=o$60zm|BBy$b`&mvy_2G}BqjUBYSw^g?v8mJMr@1RChHtM@3=EB%O-)X zz+L~=`KnH$p!H^pPZRhnF^9PP%^P+@PNI8H=FRu|3p5>Qkdk?}h-IFJUwyHa$}_{m zSeX@BV{VNqs(YLCpntlG=ClVKbmG>&GUpqmR{U~~AUW1J)uVm$-3EU)4`#&7j0~K> zEI3<-Hq-?3tv#x3!}`o+rt<$e6fZL`H{5Ru$Wsa-K7>$ERN*BDoxBTmf!Pi?#>>kg ztL>dOpCT+~3M6aUy%2b~-QT0H-*A?xhpQqhcvF-6<_k_r k4f(S z#5cG=^_Ya}ZWb9iNPYT)goYGTl7OJ^LPlzD-D`hlR*4&Y2uF)h4d@w
$o~o6op@>l& zRV0BVa;4?1OP9CLAMUs3H@f}j5d4=Gmu;$G`kjP;e5MlHLo3LyZ>8hl%jnj{9j>}C z
mR<}p>}2u3$5|WMn4(YL>6a2w@fvRHl7%hbDRoOZ#&P$I zdUyVbGZDZYqgy><<03Iy2ERGs4Y3G_4!wt(dNO5eq`#3RA6uKj?~8tzoyem>=?2EZ zl#8 ^A46 OJ#rM7LynhU^*`)0!$4E7C%C4~$Dq!MYYf=sz&t9vx&lKds10 zA0d0SwSvl%buWU2U{t?Ak&PX`akV#J+F{;OE8OMkz1W?v{m)N=rpEEDx_HFF 48e;yCbD|Oj> zw3ixU!$w3jO2epRQ50Odf7GhfuE9~ZF~P}h{ZM3u>C|3gd@t#Cr0gV z7V1oJqq^mJg!Am?MCY|ao zAmeI1&D(Y+LBZ{m$1P7%WOsv}dB?2aN5bvX9tZFau;ydy ge`!wA$2(m?18SIILShrA=$g`1?Aj==Z}-?+dbPtYjE zhanNET17C0GIa<|>M^UFLLrQjW+)HtZEOtlWZ#9P6INoY2CoK?i7)7ffvsSKoNSPA zqL*-~;5hGauxC3YYoZS>tM||tmROi9L}lDldY&kOED$JTTLCfu;=p=_KybiZNISua zrxaG^Q@FmRHF7*ywV!giqX;%mcJh4}?)x0P3}If~2&b8cT!f1LF;|fgi$_5+XO~jt zf6QiP5iTovp5XfP%RwohYb}6)NDQkP{G~^-Q7V|w2RG1uNHGi0& Hw{n1=+5IvV5%E;as?bax|BdFyf$xB T#=Q!7#TzJ0{SkW4c*q#gRsq=Z*MQ_HKLt<`9khu+-YG`eiNE+T zFCF?}*wa~v-5&$`;{-S>>JWfk?lI;^6_l$>{HROWKXJ?e4@8PP;MVy{^8Fx@7*D`A zFG3>Q{&9W&-}rTV8QqiT?ysDmscZDF-{1Z89)0SUfci50%c&p8g+}z<`%6k~Hjnr` zgUpfJBnyr73$m(HV3)PnjS5Xa_bSxtO=+z%aBmcl(Wxu^>c2yThyoB40m#)n)NY+@ z@--D)vtZX!*N(tOv+Rl|PvRB|tw;I%m9L%qlFAGB_@lean_rf_^ulT|r$HZy-c@!h z4-vWE=m_k{{&WPk8}#K$uk02Cfplwy=W2yXLjGv O?RYZ|T%WN}zb2Pu%>sC8e<0SkUQR4Zr_ z%pa|5= xF4}~@TOsQW##|iL|e?1U+(>Qqb z*+v1wf@DmdiMv5FSV3Bzm4s@&tcne!P#Jr1yO|yx{H3J~^+KAK_{x=@e*PBm6hdwP zd%KN`dV_*j?jha5$2WRaX)2LOw_hNVU^^X65Qi#sOtoFLnm2j=P!z~QDRIKdm;l1T zEF``3PLOvGP34gdA0LtveOrplTY+-tuGnuNfm+YUeSzFxpWW?Q_QMqWysfwXe9qeo zhqC&JEFTyoL01rS_naGI?=8z?qGFx4-7DHeE)@j|@57fF%c~~g))vgn^}E!7_~Fk7 z+sK$#Ot<$~$wlTR8?OjyHj+&?*nH;#5c_J}W0ai~9ltlxl_%Khr%lIJJ1EYcql;gv zJJWGJ?DYA&smDm29RSx@Wr^v#K_?lvdj+Dml#IaVt=t2WUebf8MicN{Cw!D9|d zPm>;gIW&qBt!P3Y*u`2*<(zSo35{ywpE- (?8Ll9{&4`9=aLmJA0Ed(U{)(Q;L^r0{|I z`AfjZN&J9r)CM9FW;sdWDDqxr+;5YdrS8RGMk?<5+G;Vq904ixOaJ=%)p2RuTcE+e z9Ef}nMt%tX5I!Fczt6n^wt`Luqqy~^sF}r5muHUty!)Mo_jg+3zN)$%73cD9A3tB- z#&f;yqWzK3a|&r`{wbWuVxibKh#^EZI{7Y7Vju;#b;>KPYxTf`kgnL~f`WD@Jh7;@ zu3s(Q$bNPF9*a@7d?!5$TdyTP3UC7=R@K;ZH~h=Cj!<3GlAKwX_2dA M|J96@`__c^$_A!)%av?S#3jGBr%uwFX#Jzw@3Bv@Ds~;l+V{rPj=SB}xEi>jX zcXI}k*!2Knse1gl4}u)XC<76WDOdSwHH#)s<3}{S&;Zo>IbQZb1=Hn>*GS^8uiLKz znkhgC!1D>CgW}%W -U5|MauyGIEE+EXavA)X;S8_iqP; zkmn|efk1Hjm+YUn`hG?P;-mA;-#Pzq&JPzi`uPk#g7BZ?YmixMD89G%>kf$bAkO>{ z;-B?@wEF&!uG4<{kcX+%xwxeMXZB^R7I$iDm0wm@ w;7ZfKtgmvN#Bw~L#g)@V z7qu_#s|BaN(VI|@i6s^BD-%6u=p>`}N|+y5$LpaPcYl;2GyIxy<0GIOcx{x=gqeHM z(NyA$6+wZlvJEBenc1Cp;a~DR{f`HP?7?g5$XF+i0=^)NoskHnl3qS^tU;bVW-{wU zZmc6;rI_bF=*Re1Dth^3PzU+#nUNj=PRK)ZSqWfdXsAP>cHUR_bA)!mv!@>D=$U*d z2-CgJGB-1McbQqMKMyq!+SW!O wdV1Gu16y;p=Q@ zKt(*=`H+fss)OE;$%0i$U#}T3zern-n;aDyirjyLs;;$eCZWxP=rzl9W>CCjY0G14 zF`-VEKjL#-epb<2>ztZcu*l&zK5?ia!xDaVum@UVvf6<$I-13i>9ErOs^_pSbT@{) zrg Jtk;9Y30sE-M06xtOahy%ZLNHlJC;+MHj`wHrJI_!gdZ1r?9fTYI& z0A7O>`o 7vzJ&$0L*q7ox%r1hBfdWQDIpsNI%^=C3$Iw7as``C(xYu{_7 zDzQgv3&omK5|q5Jlo`>bY-InSQVMnQeh@UOOVY@J57X(Px`{rmvqfqYfyjyC_*UE8 zD1_2}lLPMa;mr0!{m&V8>8C3&L^9UztM{|cALmR|Xas84%r7MImvZ0|!Gr6JWSjH? zZzE(Rp9dTV*sA{Ttds<%uX?(luc?XJxrg!}KO}L0hXRc6GNqciR{=H)a7j*^cRvq^ zZ!V@0h#P2k&ag$E-(*D%;Kl%pg7eVk>Fj|j*X#i<%y)&o(fdRxkZ2O<}zJ4 z{&D-M84qg7aa^h3&rV+YB@L3YN)VwBA;@ 5D%}QnW z?u~^>P<+^Jp9*=qKBpQ@Y!q?B5k;3d*W7SBP&(Hkxbt?A`6S1gp+oAYuYk+TC(Kct zR*!mrf5yLDu`H2SGEW>lfF0;ulwHCEqPFXPHPnqsc%9iPkS)*Fns${l@g4)E^pfS4 zr1dTj>Y%p@+K$2^q*JT5=jsP&E@$#L5O+^fqzp~RV9BhF+U(H!#96Qtm~qZcVz&@g zD~NaAnUkfiH!9oTlf@CVGo6Of*n67nJ^RQx=_c!ZBr^yJxws5bX8-&AVrRSP+wTd9 z`RA=eo-Z6(csJdd;9}RP3uM5p6G+^}eP?IkJ4Fl&bwdG5m{rF)!hoGIk*k!({Jh33 zw7ge6h3j7cdS4>uu}=9{pR5_~RxPWz#On1Ml4#9G G2JWOS{ufR%`#NdF@5lI=94;Cim>A&L?jrq*9=`AD3U zDKR+sq~AZ^dANes3CCM}(Pf!Fhg55H@Az$dmh-f(5XAuAQWaBBMt9rWNG$v!dqVGL zi=4w!2-up>ILJUwhr6MRodZ?@dDEU=6@^iEnDcgF{$F+g_59%SnJN8RfRH3ed`f5( z20}6-(5A#f&F7WqEZ|$*SG5u8E#&^}L$2wf8^7%`tw(ehr7 6X6Cc`L^%% zu2Py=7;{V8j8zEpL1xM+Wp^D1wRH!X)6o(i)nCYAfI~tyD#b7&$RD>QGt_^2xUTI% znTd49cT`Kczb~_K6??Z6yQt4;4Ice@odQ}#U-GqW>qGHwz->sBzN5Bd!_5zrD@KGe zw ny%A6EUeFU1xT sb$nX_{|X19kV3?vLFU%a2+ z6E3LJr!jpo@&RLyFA6RrEoE%lCM@7$`LVC6XL}u^8%Ky)&p7VE-J`9dKKR}`7TeBT zEg6}jpLL>VF#?=<8kS@pjduuZ-dC|pXj=?_+Ru-1pLgBhh>;8nuZ~eKDV+>j8!e5G z7Jgq`rNNm$AT^az{5CcIhfn!;7h;%WSF%93I=&7%WAOk}h}eZBe+r5?Tbl0UCnB*% zv|S)+v6{7eVeou0w9kR)jDX_43Xhez+?upuyk;FA)xMsa8AIoOloaodGwDu?Gv1EL za$~PT;W4HNscWdPDgDJje Qiz0jK5vC~^#G#Me%ofKn^@Et%fwWoBMo z2^^cLi(-YaVB39V+p%2}>7vd|d5e&NWw>~gpdmjt3`})znxK_wxvod~L--Y1tLA;` z d*DO@Tt z(Xy1BUS2JaqZd9{m`uuek871yzyrjtGOAA95qXDwL1U~yoTv9})5{M%Ru0m3mJV!F zg=}hm(&Iln&x|CHx+!$yshqixDyDNj*2$epO?IS$DwMIMs=nadrbq2PTZ$A5MPJiE z^4l|695=xNuQ2fvi>g*X4>9L59+`GJvXf{pL5E0E$PBSx_y{77pe$ve#Z0DakUH~S zX`&V-e)(1yy`2EBkNHI#$#lK6H*2E5%bIJgG#0^RZS1l4_T-ww?TjJMqbP6MGeVD_ z9sA39*2#jV34OTHyzQdkGXABE%xT3l!~L(ee&-=7P>eoZ^SN`;8ibf52m)m(en0(@ z3)r^k^@s@mRt*Ho1VO(6{Pj1GNw#IsLUZIy<4V^HZf!F1y>~Ylw21hc8(Oy3e%<%? z6lUaceib(nlhrp6^F_&Jlmfrojm5Q_^4^7%p6sh|AtH{n(iC<@`DCI|h(ikdW;s19wVS56IR}3`aUkEDOL(&Y*s5HV~MrdB`8juw=n1p}9 zKS=8oW;bsSMm8O# 7TwTcYE5-=vL1P7@m(=m7hVQjmDw+W;a z4)pql {=PDv z5wA3hgD0sOla1!9(g}qn+-vf+<@OuX6|WB~Yg5f7_HA_?Y~u|V4@*Yidk ikrm}LDi?kB#Iq+vegxBpiV0S8r5T&rvt>6h@i!YE{ z5*YRHCc^+|4l5gEHM$d9KWI%fTB5b%aX9aBOC%%;%->EG*&-$yYeo=@Z6a#=1dVfq zB^$CM*^m`cnew$r-Xw^H`kmPDfV}C8N|?A<%cqFlM-!B21nk%*X^%J2paW1wxK>a{ zJJSe|&`#4IfhC5AmqE_(5%1FmnWX{u^_1z4h73v$ 8FEjul7(;YYZ9 zp5-HmJuxAiH{=G4RJ;$a{3HM(zTqjQP?rr}o-TpWv2S6E26v!QNl@Q{d9sy2stTBS zKB1R(PAGlf9{xVDF54l(^lAz6U52s>0%1DDlszscAP5D}i$BCRYCPYR{=4JqL74yN zuz}aV$_D|e7>L(H7-)JOpDR9^!U&!$m7J=O3ivdas|-}RabCm@_Yl&bKPa^Senj01P{*ZFJr`q zs CEl}B5dy*IwKU|Z|j#AKYf^g6INT0@>RLLQ$fT>B4u*)Wq}eZ zF9=lTRnhF(;&8!k{Oru1&iJ^A<>#?H6qI!hxZtZ6w_f5_E^Wzn1O}THHpZ{zKSM8g zq<0ABxc&9siLx#%yh TW+7rniV3YW59n%?{J>UO^W>WmZ3B5fQKPqDs;0B7PE zor7}e>?_6ivfi^(L85BvX04mM@35mKpe 90>|J?8H6 z*B0crbtOb+o&UnSo>$nQ9mPt9SJ_I6Df3P^bQ}jEKh^`m2pQT5f`Pur0z$}6opWm% zE?p}wR$V75YjAD1E;+*4R9$AOeXuOsY4$!zvJB?bxGlE$vA@>bG2=~X*TO^Bdcb7{ z`x9f%Cx2SakPvKF1$ItH0@raL+~S1=D%me&Xti4(s)??q4vds23x(=Pm2yW%Rllr# zv?Kefym{rW?~z~4XO!D|Q@A=Tyd;hXWFYa=ARR`Xm;}li^@*j(B;mt2e=4>mH>k4+ zIV _PX1UolXm0-!W;=#0-XgKc=n$4__{5p{lZ`lZ=kx@^V`Hc# z?hf1KT4S6LofTScspjai$>l6v3ZB;Hr{rrU4kJbt@I A6=O#RO_J|w2c7np%-dFbMS%T)U zfcAC^jm D0PsQA|kV*mv`%Q?nJbX;M zELY9bf~fXnt(DlXS4`$f1ljfn3GfnDND{-S-)p+;EW1qmU4k}8BNd0ATT>v=WwS^4 z)NjmXCIVO?9C#p>`I1(VE*SBMB(-{6si#}KixE;UqMt{7(Go*7v~#!*zk*Z|OySEb z`wf&JAm+ml<9p&HNO_HxDupZn?}+ppXibmk49Dr?uAtq#aaW#dl4D|YfOm`QW6THJ z-qmNV;k{~0{iYy oTrwM?B=1Yx8hA z`Pwyxrrn!!ZF;TsB*_Ppnve{{FV)KX;Uv2(8!P(H8N9>9S(wARr!?>jmJKOchl27k zi)-h@+XfSQ!+75uqc)gm+!0x^L4k$f(cejQ@VNMrKn>`d4ZIt-9t^h7oniu8((2Sn zmiKFoU74{8@Zi@yQB#R6pJOVc#&xB(=>`*Ydu|UneTF~viiv>CjR YRVQgx-0Y<2$t&l5^8sA_@*Ynm%whNrHZ2tN$FB(j8&R~?&V2#-j#uJ z4EKAh*(SWbExT{`Ny|CX&i$!fj9-xg5w?cL%+bAD6uqy)ds--Q?(n`nw&gD>P0i$a z#VXG+l?R^tBrnW8c>g``#Ct@tV$AjVq3vwCXxnAw?U^;|ZtZkE8KU-SsQyMPlih(( zV&bEk2Y^E|K9?=tZf7MfW`vsqJ2$sCO_2q ?hPOTjJ22EA%3HdM(RK zom`IOg^unyA@2!+G+*j%nlFgkML$TY<)y9<_kS~c1Q&olyQ7OAeOI=NmYBEL*~W`Y zn)MY9)tX2F@4>O^PPuGv+b4 T~a5%)I53jS1$(mQHev{Ll)mAg^J^hO^DC zZHcwGHupE+Io_R*G4Cl{Ax` ?LDX(NM#;JUS2|6^;vLI1RMdAK8`(%5 zNa?uWkD&xxw~wPxwLW^Qe?)e#`wo7+ZV0<`#cE@455~()s63;SX0)%RQ~lnRP?Q+l zIrlyV@VzUE+IO6GySU^|klK0Q%uy#7w|@iWp81}(^16i?7l6qI<5k-U_NUAji4f&u zB4rXQl|keKk7rW(f|B)aG*Xi<@q(G-@snTOkks{>*1G@ER$*}BLzoQdGzYYA`7Y1P z>qhbNl5RG9Bw?1!EC@_XBN{D?_g6MbyhXo|x+SDoJm^XD=~`LYrsGqXp2IBlAdQ=8 zSMDaJnUyQpq?w8o7G(TbZWc0z6G}b0U#GJF`U3Qqpg XlD^%vLGZ=h-?*4H2uPQCfSt1BO2S3~6A^lV&b ziK6-jq7aT!Ii{@^+0 eOGqEIbVs{_HmMg5!YWt z(Pi5(fh5I4u5Avsf1!^N;|aRgS)khY0mktH>gS0Y_OvRJzj6TiYT?11*N7<>sO!AU zep>ioOFYK#SG~(pD2xWA^duEyHUB^M(DB^^j)cN8P`4Fjz*;eP`+^DQ--<`FJ_3uV zGxY`E(619_V}hxAn}38S6XK;6c|z$U7_Rn|QKhhEM_3cW7>0s&qx`#bWRL;=&lxL1 zG=5p!XN L$Cb%24qYqmJ*I(SHOz9FO9|D#4x`O&MguJYr|-Ug0Ib&dUDXhYpxEB09>e& zI^9t4^#S>8A~Y(jayXs;)H_J2|B7Tfvf~ CiL>BY7sDf3yb_|*a$^Eeh7Jkyh6GJ2t1tzBUDx1yY;r;R2Dpp5C)6xn% zj!xHZ)O4({k6P+19+1(O@_z$88ye|Zn6#txB6n09FJVpjO0j|7Ir*vQL+^{iBjfPv z{SC>G;g;_A5_`eHFzS3ZI!I2|@JG0Q@U`~4BW&hylRP71BWguG*CM%h!Ic5vfqSB1 zD} Rbdsrn(8PliPi89k|{Zy1<%owFolhTzbJ>a6C%oB zWkKE$yu*GROy3j%wiJey1Ut7=i8qVFQ*Fi|%i|?5DGnyMU~mVFQhdrA4!9JQ>Ms_e zr0Fk##j@pN-w(b~NPRCe yel<~FPukc8`m2f2O(~) z&zC%YcIGmEkr~YKSwJB8^UpfJpX<@ThE(AGp7(#c(seV|ZI7((>3w?9{4yj%f(<5P zy``+dm^bv$ZYdULM7)}bPCFB~D5&~<@KFrm9wv%oXMwY1C!w_&O-J5T6AojpN5%GC z3zya2 y~G^Z+hX)AKh7-WC%4-Z=#0%3`~r(no-2!BN52s(q#@srPR)d4L|~ol`ge z;emt+#k?vrexW-ESWDZfeqYyaZ$7-Z7q~-cu2#(NO3z0MR^A#RryPE=J4K49AqQ