From c504f692723fe41281b4d7efca8fe9c5e5929b34 Mon Sep 17 00:00:00 2001
From: dangqingqing
@@ -44,9 +44,15 @@
图像识别领域大量的研究成果都是建立在[PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/)、[ImageNet](http://image-net.org/)等公开的数据集上,很多图像识别算法通常在这些数据集上进行测试和比较。PASCAL VOC是2005年发起的一个视觉挑战赛,ImageNet是2010年发起的大规模视觉识别竞赛(ILSVRC)的数据集,在本章中我们基于这些竞赛的一些论文介绍图像分类模型。
-在2012年之前的传统图像分类方法可以用背景描述中提到的三步完成,但通常完整建立图像识别模型一般包括底层特征学习、特征编码、空间约束、分类器设计、模型融合等几个阶段。1). **底层特征提取**,通常从图像中按照固定步长、尺度提取大量局部特征描述,采用的局部特征包括SIFT(Scale-Invariant Feature Transform, 尺度不变特征转换) \[[1](#参考文献)\]、HOG(Histogram of Oriented Gradient, 方向梯度直方图) \[[2](#参考文献)\]、LBP(Local Bianray Pattern, 局部二值模式) \[[3](#参考文献)\] 等,一般也采用多种特征描述子,防止丢失过多的有用信息。2). **特征编码**,底层特征中包含了大量冗余与噪声,为了提高特征表达的鲁棒性,需要使用一种特征变换算法对底层特征进行编码,称作特征编码。常用的特征编码包括向量量化编码 \[[4](#参考文献)\]、稀疏编码 \[[5](#参考文献)\]、局部线性约束编码 \[[6](#参考文献)\]、Fisher向量编码 \[[7](#参考文献)\] 等。3). **空间特征约束** 特征编码之后一般会经过空间特征约束,也称作**特征汇聚**。特征汇聚是指在一个空间范围内,对每一维特征取最大值或者平均值,可以获得一定特征不变形的特征表达。金字塔特征匹配是一种常用的特征聚会方法,这种方法提出将图像均匀分块,再分块内做特征汇聚。4). **通过分类器分类**,经过前面步骤之后一张图像可以用一个固定维度的向量进行描述,接下来就是经过分类器对图像进行分类,通常使用的分类器包括SVM(Support Vector Machine, 支持向量机)、随机森林等,而使用核方法的SVM是最为广泛的分类器,在传统图像分类任务上性能很好。这种方法在PASCAL VOC竞赛中的图像分类算法中被广泛使用[18]。[NEC实验室](http://www.nec-labs.com/)在ILSVRC2010中采用SIFT和LBP特征,两个非线性编码器以及SVM分类器获得图像分类的冠军 \[[8](#参考文献)\]。
+在2012年之前的传统图像分类方法可以用背景描述中提到的三步完成,但通常完整建立图像识别模型一般包括底层特征学习、特征编码、空间约束、分类器设计、模型融合等几个阶段。
+ - 1). **底层特征提取**,通常从图像中按照固定步长、尺度提取大量局部特征描述。常用的局部特征包括SIFT(Scale-Invariant Feature Transform, 尺度不变特征转换) \[[1](#参考文献)\]、HOG(Histogram of Oriented Gradient, 方向梯度直方图) \[[2](#参考文献)\]、LBP(Local Bianray Pattern, 局部二值模式) \[[3](#参考文献)\] 等,一般也采用多种特征描述子,防止丢失过多的有用信息。
+ - 2). **特征编码**,底层特征中包含了大量冗余与噪声,为了提高特征表达的鲁棒性,需要使用一种特征变换算法对底层特征进行编码,称作特征编码。常用的特征编码包括向量量化编码 \[[4](#参考文献)\]、稀疏编码 \[[5](#参考文献)\]、局部线性约束编码 \[[6](#参考文献)\]、Fisher向量编码 \[[7](#参考文献)\] 等。
+ - 3). **空间特征约束** 特征编码之后一般会经过空间特征约束,也称作**特征汇聚**。特征汇聚是指在一个空间范围内,对每一维特征取最大值或者平均值,可以获得一定特征不变形的特征表达。金字塔特征匹配是一种常用的特征聚会方法,这种方法提出将图像均匀分块,在分块内做特征汇聚。
+ - 4). **通过分类器分类**,经过前面步骤之后一张图像可以用一个固定维度的向量进行描述,接下来就是经过分类器对图像进行分类。通常使用的分类器包括SVM(Support Vector Machine, 支持向量机)、随机森林等。而使用核方法的SVM是最为广泛的分类器,在传统图像分类任务上性能很好。
+
+这种方法在PASCAL VOC竞赛中的图像分类算法中被广泛使用[18]。[NEC实验室](http://www.nec-labs.com/)在ILSVRC2010中采用SIFT和LBP特征,两个非线性编码器以及SVM分类器获得图像分类的冠军 \[[8](#参考文献)\]。
-Alex Krizhevsky在2012年ILSVRC提出的CNN模型 \[[9](#参考文献)\] 取得了历史性的突破,效果大幅度超越传统方法,获得了ILSVRC2012冠军,该模型被称作AlexNet。这也是首次将深度学习用于大规模图像分类中。从AlexNet之后,涌现了一系列CNN模型,不断的在ImageNet上刷新成绩,如图 4 展示。随着模型变得越来越深以及精妙的结构设计,Top-5的错误率也越来越低,降到了3.5%附近。而在同样的ImageNet数据集上,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的识别能力已经超过了人眼。
+Alex Krizhevsky在2012年ILSVRC提出的CNN模型 \[[9](#参考文献)\] 取得了历史性的突破,效果大幅度超越传统方法,获得了ILSVRC2012冠军,该模型被称作AlexNet。这也是首次将深度学习用于大规模图像分类中。从AlexNet之后,涌现了一系列CNN模型,不断地在ImageNet上刷新成绩,如图4展示。随着模型变得越来越深以及精妙的结构设计,Top-5的错误率也越来越低,降到了3.5%附近。而在同样的ImageNet数据集上,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的识别能力已经超过了人眼。
@@ -55,52 +61,52 @@ Alex Krizhevsky在2012年ILSVRC提出的CNN模型 \[[9](#参考文献)\] 取得
### CNN
-传统CNN包含卷积层、全连接层等组件,并采用softmax多类别分类器和多类交叉熵损失函数,一个典型的神经网络如下图5所示,我们首先了解CNN网络结构的一些基本组件。
+传统CNN包含卷积层、全连接层等组件,并采用softmax多类别分类器和多类交叉熵损失函数,一个典型的卷积神经网络如图5所示,我们首先了解CNN网络结构的一些基本组件。
图5. CNN网络示例
-
+
图6. 基于ImageNet的VGG16模型
-
-图8. Inception模块
+
+图7. Inception模块
-图9. GoogleNet
+图8. GoogleNet[12]
-图10. 残差模块
+图9. 残差模块
-图11. 基于ImageNet的ResNet模型
+图10. 基于ImageNet的ResNet模型
-图12. CIFAR10数据集
+图11. CIFAR10数据集
-图13. CIFAR10数据集上VGG模型的分类错误率
+图12. CIFAR10数据集上VGG模型的分类错误率
-图14. 卷积特征可视化图
+图13. 卷积特征可视化图
Gi@dC74DZex-oPGW`*G>N|tJpK&@iYV8hzy%H&|N5|VGl=B4!zX_ zIL&=v>!CJgpJqT;;jes|B=_c32D?#$euLZU&m$5X)MS&Kq z%C5csaoc*OL{W!U$c2Y!@KLb{;m0C5&dYt^W z_srzaVN*v<5 z%pY}`u+^g<|0^jYT2vfr@)2I+o@6qU(eD_Hq_Cj(3BSe#kg*FkIIO(AT(+p6Y}8Fv zvkllpzGBs` m~|99O~edEA~S1&VM6j=rwIVC zlm ??tVa%380Hm@ByPR7^1OjPDz&`;bokiHj7VZ|!QP+VUo1I>ly+ _)NE<0fR=syVnycK=`OruU;~N81yqAisBFoJ@K(^rN6| zkqc%WPVqPr5RTK(TjwNpVTaM+Gi)~w`Y!K@=)M$Pd*Zi@$0K{`&^s_eXfe4z<*%*@ zO!#I*;|%Vrqq9Tc28ymjr}bjRphR6l4oKYWgAmDk=){AM$1O7W;+xj(v#jRjDoHKV zvFmW5or#RDkC?^TP63B~@KLq^PRA)u&N4g1#${-vb7G$@YZplj-?`F(oNc-sd$--v z^x3toxa@efv1n U%muz3#k!LURa5Dju7GaLp&pW66 zvDn}qM_^QEjwc4>b(=5Y<#$x$uhrFPGsWXrwuHH4x6{md6PP|ShP8aoaR82z#}$wv z=|F7yE00C@@^|n(UM~z6B(b1nnd2D#H*3m|uk0!Hd=HK{L(5NJ>Rv6qxjd=&zU@YJ zM8)k+!{Od=`EvH7+Y#B;(?HxQ?e^Qw*%zSzq9RHyhl3J-MfBuoP9^`186djwqJ8FN zeP7EIZZCr{lmq^pxi=%5KQtBg=y6Njv$DS8Kvo6We?Hk=+wl7Oyu@jtGBz~q#D{-0 zU5HiiaZecj(`Yf7XTa@5Vs(D>crRSo6)MbYM`jUcjNnn?u`v~j0C-?LH;z055~O32 z^o4bYG%jeX%H{Cp03Kcf=qD^TVZUyU;K@A}&CAa~#Rh$PLc}@1J#>^fa{pe+@Db8X zQ08o?uLH1S@2-;^+)lQ~<4tE4K;Hkb^_o6yBaE%Pcz5q+SJyn?*fs63Hc%qz!qEQB zE1Oj55W0a#;=h@)64`HT3GNM5R@@*H#=k=e;|k4^p`_a}drr*^KX8~3@Zq@ISZHoC z<9&7%;{$+Lxaql?fORz>j$T_tuVNJ2Yl>x<3PiPb@HHIn1N41WITSGy=lG}(<+u+( zRN4<1K#l>6_rJz8q+zsD06eC-^+ue*vuH?kFtH{)Z}sWD?Hm`jzxY={e=GScsu+Gl zsDOf8rliz~@?y!%&q1=M!(LW2M>m-XV~X}3{d>LQqpa8E`hM>h*7a9DCU|Vp_?jlC zi=DuhQ}RzW7oNr~ck8lBWlT{Q({Mb&N7c8QEr)yceToXu_>wQo3wnN%Ef){Ey#Xua z _@g@$Tsk{{cMM%Im}>7 z9C_h!cl<0B?0|s;Eir6)+++;ihaFs~_DM@-z0UD}FmHg_dtGM>u!*T_H6JZ+W-G^r zC{qoD=yMCJNcjIs*6p3wqRf7wnt1Bl1=|bT{P{S6ys+UN!26@7>m#f;B(itY7g~+z z0c?Q`Z8lDjp@H{V&@iD#(hR0Xnb!9WM4MZ}1_W&;jdyd+Xvm*}28Dn?K|%1M>}HMt z8Ky9FDbJ*s^M%BMp(wcn4*7}K&dXPt!NRazVBZABgrC>mF;E8VzF;WOA#^eI&Zqyj zW(5DRZ~H8d2Oc7q1*0RoXVu8S#60c1Q{E$3r;)#Cs(IoxPm=&7qX5jr!;g1sC$~<6 zUo=BsdmNxMinl ys~oR%zHU5XK&&k37U5^g3k&N;>{^|mn~lH2@d zhNBHmW*?UoSbaK%sVibVT>^a)f8uU{7$o@IFmwd=(2STk>IeqH#33QV2504yd8PvJ z#RRoHq-m*U3F;Y&=dv~LqmAfX2iYN_zIS -g=u>2@gUu?tQ18YuE@Yc|-oz3v>)#98iEI<~1 zMbCTeD;+` yE5j9?~<7W3`d{+%WW+hf( Kh9Sd9mPK zG-8VRpnE4^XCjhqy&vFT5Y^U#(+-QhNxaBAMMvf6y5}d7yvyHwi|#bDA8cz W#D@lOjVZ7CsH5j6s5*$|+p~qk;>+kn;|vnLlsd z VBV6SKZwUV`_9YvS-65gN5+m}g50 zlQ!`<-?5GJl@}s;a(BG~-{AqW47<{!Fdf+|ohAoSZn{SnfqmM8`k9l(B7|1XMda*J zj ar+@6bAJeK>1ro*mImb1_?atd0)0dI8hSOAf52d|_ zdxO17cHYx4I!Ks?y^am}Y|SaRz$LOU 4XPK*1z6rpH+eawaqp8XFdaOh>838t`TGVWS3epQmoS7 ? zSZ(T`rU5=OUoWg<#fBSv&xY7D&RuE`DpwzP9`<=;(zx>jp94lS81J|4n$HO#g%eK} ze<8xIu8A9#n(g}K)$uHW$54CVU_Wqp1}TgF%1|MT*rD?}Xco4pnZ6 ll#*4X?}#NkEm6yOrpgaB)m3DGF8$$;+R1 C^PlBU$v= z 3k~Ufe#2*_DO$Te(cQuP*XsW_*mS3SmXdL%L0K^%ENzgkC{ 0=}=(1coA}A468a^|>9(F;mM@3kn9eoPbPY#lYS*^^Ei6n`SZN zy2`f({Wi`;(cIdGcuz*Pu@1Xws^z3P-|()D*zG0}Mi<6i^$CG6op-%O8Ml`TSxHx? z!wY3}{yJ(~$KcSKoTajmnX=>YP^q--qC>al`N(k*ZL)3E8l{_FefHwm+zE3HUGv?j zguKkHd_~$VpNMmjsm Pv5q^@iXr5Vpfehor$)BY9?so)#k Pp4SD6kNv6!lMhb7oN_=a z>1)ym%CTPjXyT4HyHBP^rMYA8Ew%Tjo(Ds9x(3#-C?_Da*DOtL+K$JQxOB_aYvGK_ zQM=~10Smax!jEUJcP}?r`M~0=QT0R^o7S_RA*6@vUVGrgSV7jXhcoY`y0UkkCw|s5 z$mQG_T#gyz!reOe8^s2L3ta8NWSwoYp8lvWQJlQ9CLPw>|BQnD7a4O@B1K_bOP?(d zSr(I0m@vLuR{7H26q(ft(#(7|Hhtf8I{6|Q*}0CW%;fd5YKAnQrlPKn<0l22K)G3l z=Y=+II^8S$IIB> m*H~Kl%WXh2dEOgTy8!5cmhx1Uxb0={ zp?<;gL$#e=c bJ#NY^6 z{zf11B>Hhk+x|> MvN?>k7xO^>jPLCL!O*>l0&fr=dMQH zMiUQ0lUUS?W`t`ach;+Qt)S$XK{zL2vXOWC0lb0-jwF{I!kQl6^F-X!gg>$iE_x2m zL|j$%R054VZrKJv%{v+p?1u+ Wwq2kV48?JMesKItido!@I^|(Lllg*Xa &gNq?K!s!~)k7!0Q&4*SmmfH}$Ar$F z7q_^HRjVfVJ1}RmYb`V^xZA)(lJIV6(P_S#1yxAknB@NI9`tT^#F_zP^@|UToRoas z@6MkD18Fad*vDgCv&z$8@NIlQFriDgs*~sP*jw#(P#!bvN%b?4y8bvY*8MSfPRMJK z59 mFs6#M3A zoA7e8_;CWKGm%yfLsQ>L_Gf($ p>u&A&z&Fv z+0oO!sRt;1`i3V!p;nG<7m~av!a(3BRcNN1BL&tiNV*^U-5dDN5Ngm|SYU $g{ro$n0mBfnX@?suB= zZhq1b!Zc`pcLOyrOixt=v-ekgjj@80Dk!iq46+vMt_ZmY*%2dM>FjxyI{g+mc8gF1 zA(f8x5KM@juUH;t*s+6#jDW2zd!^g}Tb7)KL0PuN(JMO|)9^6Eh%PJWvC!vzPq@8> z2bMJPOji>dZ`GW|504E)58Tp1dy#u}txebSJn9ETe`^#noMEfJMB;AIye6WE67dg| zV@r_FhaTyR9qaAEGwQoO=Y$7b bm$_TxhGhHdF11k;oAF2p* zd@jG8fvF}iQbE3|X-ER&J!GNV5{mZ @PRMuOT!F=&Wd+k{IJX{oCaceZ5^P z*;p+1eeSnyTQ7`H5n3Omkbx~f2sWAYib;JPynaD}VM3UT46Bd*Togqa_$)fXfwyZH z?vq1_I9sEb?B)StzFRq{{~Grofk&fFNKN1QN{lu;w`%e^{#~LS?yf*}`HDM}UJGwj zkH_mZZUfdi%KLmad=|Y|89a`mk7bRRM|83jYR5k~m~-WmUe8Zfa`RVAv2YF=M<#6b zEWPy}$Fp78aR5}-uj?59DhbzWVdFp69EN>}ObNCa%aA%nf}XqGJ`Mrl=+@X)-8Mq< zXqu3x*r>3q!WPF^usxU*k4KhWSK`CBi@$fRAYGphYD{DDP>;|Z6NMCFh?z(~P4e7l zThy^NdVgqvffRTBtV%sT_{%jKC*O%jp5Zo*)rCj@%xbJg&Q9?B$lsmyPF*ea(C}Ti z7b~YZ|E{*d^Lx; 39O@Uw8#Sy%$Zy)#m)T$+lAB@c-7G P^BM;!PnGJ)2iUkIJfOH}Mc=&!QNvoYs6iF$p|J9;;Ok gI7%6{`-e3dM;c@zvlVTurkJVn zA=3pDfMy;scl9;bwQrXtPvL~E^e$oJXbaHo)duvdT~^^dp^(9Ur9nGbMwiu>g`zU+ zS7EOknTp?duhu}?tiNUR2)(V8JqS1sx# Y*~tCh;&-Yy(`KMQZJ^QBA3TM(`JcjoLa_W2n+9 zVghe>@q% 5>!IVtz=MEtB+OwC;j_^%vX9j Zi!Jqin9wix$(Vf8@?#!U z68p9;t*cvq7 sjGUC}IdsYu_f7L|Fx^2Hd3Q~E4TKpG}m0td5B z1FxR*iTyA2OOCU3U|6HT(H%#1_gRh9;gFv`U=`c{hr8gm;UseSL52R8)2yj0}zB#$v>txiu80OxO z^ld_rCwuSHK@7r X&c`n35suPKuwjyV~!>QhxKMn7Clzi zjns{$ut~-{sR)+q?>9WQ9M=5$e<%JFekWd879;kR-N aT(Zrgx_Xe$bGJDdi za_olp!PoEU4v&McZJ|)QW7M@i0C9TukF_r(AFGLK<0)7N8gZ9V0E$)w?MmbKw}_6` zvFwS|-GX`941m0BUvpQWa1QkbK9W@aCxc78yX^Zd>bnI;^ahS=5M4vJF!a3UQK3_% z+m=5s+dwH*s`gp48EL)aaH?wU-1q)>S0mNEWSv0L`%U(t2cc#mmav<%KmvW{FJ0*q zYPNI@nF_-ybPXIOoqa62;g2vMF$73M7%-0TauV#)LVb0v?bqZ@Fhnd{xW9psh~50n z_6p=1OpraPpyxECC%%kwOd9lLQ*A=JEa)1 !w==n>_+Fe2?`_kn85+OlM{Q*J=Bt4x~ig*wisf7F;U zAY`a-)+BwhvJ6b(Y+Ju=ozAd6S@oV?U(RwHz#i&}fXnh!x}C9J2rgAE zio|%4=GcB6 CF3;{{=p*r17ei!l^(bfTC5^*nG} zTi_@3mTvBmB89uR9ic{i_I!IgpXz@=A7SW{$L CZ=g@QmD=J}ttkiuq6ijmmi2Vi?^wq+=e>alzZOcXQHP;0o<}+smNn7U8!0 zT>rgX%o!CY@A|MVmjEF7*r~8%Ki`L;*d>9t85;;}-TXKAP-mF^6eGA?sNfmTA)6sz zcTsHJ?6>QA+Hqao7+Y_%{{*xe$hSEw=3M#?cK+{0KBIgO&Q{XjP_!aHKOjt(&|k{G zjDFsD*IoDYiO?2mt?A%eGX{*%>p9w2Dn8JFalPP3Tp7)6gz8B5QzYxd?~AN@J~yrl z^8tFD)N1zSAf3FLKb&QgBP ^(#@f3i1hup zr{$s&i7^kZ@v=fkPKak97-^=U6MzDNpF>btgKst--oxig9$#fnmbs%Y4Sa%|s%%<8 zTk&~-XI4j*6!`f)U~?8zB9sK`qS$g Kl3x_#r)KhGGO8e1_&G-I%c-VqtNcm zno24lXa0~QDOyA_x$kN36I;2i{Lz LI^1YDfSQqu`hR&Vzl=6Q!$i=qx(s zZmuD{_0F8tH|$ENFvf1aF{P5zxu(M3czwC$j{(gU#5zk}*=197Fc*>tZ1^asj;!=1 zIrvPWH!qbXU^ilA`gmkF_!?!qD`{!x&>rml;n6UiuECWHIWcQoK~^MiH;jGUmZ3=W zh+)R;cyho`Nu`Y0ZrshI{5;4=x#cz%h$`Udqeig=yzUg}4Oz${^Gb^;?0+dpyDe%_ zdikI$ iF_H A;j37pMH>`+y zw2x<%a1pS#j}+#c)6UOny-YntJ1TEd2kf}q-yGHj#v0ikIc?=3h;@? #) ef&_91St{!U->PF;rn3 zdFTu1d9R$({2Xy4UiV!|G(OV>g$j_hb3Sp`rt#4+Pihl~ ciVCe(mYZ`* =rOcAqDj6=IFgj-JmJShGZT^ z?A`28O(fsVc?O@>Z-F}7IpgoSYG13)8-R6={??PH5bnv~7=U-@=fx3&7p1?>DwMoH z5HsOhs*+(aavqg_xmB_2BIavHr>X12YA^o{3U0XD8_Sfr8V2O8!4C^E $x*YSwqrT zck(1oRB~G1w3Pocy}zMR7HBf3ck8e9`i}#(dH)sOpNm^0r1E2-*_-`3c7Se|^~}KL zbayuPc-xMp@ps)m>aVNqik@~;J?fLc2ASV;erRAJb)62{{F#V>Y$^;Q1o#1i5ye=8 z$RK;<_6=+p{4Smq$m?sfucVsV&z4nZn!a6IY&+I(?`>Ar-VE6sZjwi1kl3x#*wxMr z ?*!Br%cxcpUfEJR=4qWL|xy>r+psF|`jl1 R#LGH%6p1K1t32TLh{~!0IeHg&psb zFNMDfe3G wK3hK%`eL+ yxw`SRu(|t;)56F)kuXG7 zNrUXGfE?{|hd=F?n_lX|j5rXRR`7prd(e~EHyNmD@RCh9ZXP=7 KRa!I=r5rO#Z#m~JP%2m)NS!ik5<-RaHbm3Jr5%tn5V zJ;Oa)JzCnkKaorjf9&sZ&4*X5L09B(UkF1I5I+gaaHgrUn+DUdK9vZM1WN&FC?Ja( zc4ujdtH=S{pD@I#N=e-D#DQ(kjA_oJ93Q#s3h==Jf^}gV2*zhCAZo%Rl47qgr-LP) zr&i!GgU2GN73w-i=9QX@pk&YKWr54++Q>vF)!O{gz#Q4~M1iu@NwO7jWmTQZmt7xZ z4BO~jOO;n6V?IZ|+jI?<-~SGl{-c06zKLXq7Dm0rP_hurviCZNB-3(DG-5E#m>s>Q z=b8Y>aVr$fcoj=qryNdShnUain-W2`4Mue&I?DtSi@sQt`pc6%J=AMOzpv4czHl!9 zyU)2>`!l?H@%y2$T`ofh`_2y{C 6V+W0n_I!q^9Dnz!WqY)`1(^@mTtkjw}oEyLI ?7zkO;qz4fObqdf^KaYQ}c^$}}t+5Ox4_z$;fkihTA5A-p}8gkNYZw-u? zoD_PahpJd^7CwwFmp5sV+y6i={8U;SJ<6fvpaLcqJF6Rfa{`tz8Kb=?-aWX;4ZS zN F)0C9=e9^&TrKBobSB9xaJqv^X$FXeeZRzwI1C02wu?g zF`~~98{n*ZKhSCQ=#jwb IvS@$VLp9 zp9nn5dn&u@w>ZiE6z>nacu}SX>Y-RSzr_pO(DrffZSYIInw7|LiWzDMCcT-fwK>K1 z#2}kCBXqHDFgKg5RRX*XCB6~Q%OA%?$dU++;RzzUP8)?O_H|ay{-vRNN0|Yqw=Vb2 z7HFKkq4B-9qShEOn{K*OdkI#9X7n@)T#7<(nM;~NK3Q2we= f@=c9VP8a;>o zQaOz*YE0EZWep{ICb8;i6&Ba7i>E$-!B*(ps_#|6rwH1RgaDWlt@q`@%#t&P+$D%= zQ(F56#nVCkOtqcT?fVjUyu+6Do#Re~k-(WWPqusG)*?IhL12V-N(xc&*Kqpcry~x+ zfYtO+d>sMehbrhY=7cTIJx0R?3Un3ms9>aljK0H@<$~HKXw8%&0>ct)K{0()J&ZCp zhe98j`~-wlp)3rqZ$g(~6aotd1v)tuKdAO
Ok=-O+}ToYf^y zJ(d@HksCv4?|4!iPUCp9??Gc?57v#mG@
Y`JEj5~T zTXwmY2Qacbc$YY!nTuJb6=k1z!c^+97Z(GWP|wrFEI^Fwh2S-g&u*MSi7yzXrD4T% zwD_#Wxdh!7{+ H( z&tY9e ^gb(HC?Z(AHhyI-ms>fw@UOS}pL5*I z0Z&7{v38F(h&zx>@pYeoz7n)pyvU!*(@m``!SmLvsLcRu#Q95}*t74}_yKjGaN(x~ zLnB)RQ(5*!_Qr)QM62bykpNOvfrs=Nghq>CUN}{TZoMFo7doet9z8dVXm?Pij1E z@G)Tb$xo`Iqp{9D7vTD2iV2UkzIIzRaUXkA@kdwcfau-+Bs7JcwSXp>k@i~OsGj)V zauGOC#h>mjyG)gARSTT8S|>wgc=IqaQMHB>&1R{(U^qR jDPs#S+3m^N%nrEN zwT4%HCVsSkf5?&U=?zpM@E>vkF)($?KG9ftjw8KTsO*M~OdFqIBj#{b2vF>7%gsIU z)M?8VZyGYOz3q27lyy^eGXiMdW&rCEKbq<$P0M_Dmv6CAz6fPJBPTtM$$gOl<}SXe zC0YS1p=14zdAGGjqP3P60YamF0CLKII!k@;sM9hseYZL`i){QT6^sJvTKHA!+3gyd zOz^eG>=kdWQ9oDRTJ%v)i_KRHJ%IX1#HH*VAw(~)?V%+3>}k3|UPV4h;3kU;gT#r~ z#EPKUxt3tvjuqq2KNVj5&{{+LEBS0q?HxN}?Bts+!X9 zr>`{9YG^%JCv%(YpE^aN3P{e_y08B>L!4s2J>lF2Adve9uMZKOoYYgh*-;{K&h5Y6 zeq=1KRu49#?YfXo4E?&*Gk_}t%+31#SSZ6X4KPWMHVj~{z=KwdGbc ;b-);|T* zWvUCbTo^u9ICj|oFMkU&Q1*%@WTQ>bGA6|xSjsZR7R*ze#o1OA*_N;2Xc0uQBnBl_ z?QSgMIA~GCCtVI^78ce5mgilPHf9GVKnF7QPw4iK7i8;qn}6KK-lrnJ+ZHZ$kh!3^ z*9ShWMXRsnu@w@5aiY+dV2Ka$xzxp6cA(qX!|yDWUWOXwjZ)~@tkzZj7lTGQEEB-n z**C+cP0Y~8JyM8UQSUBB$FPwA!Y23AmhZpqy{z#4oTzniCrU9@w#zbs^W7e5-8cu< zA+oVopOY>aV%>u4v>xYnRlc)ITmD)fFl?^~dzu18+yIp>W(FUI)X5g_m8DRF512aN zpH1C!vQ2t4CFI*beUs&AW)4xLm8%*Na&Z3JTrB)CyACBnw5+ie;7M^YXsJ0wex6CN z$E7e^KlqO&$%v(`F(gVOqwdH}kGnuWSx;d$;%xSpO`*?h|4Kpnl zmYnHL+^uf@YYkvV-QrNpf=Sz0GA*alT6AaE?k<*e7QA0YfUOJCvcv~t<1ObUKs@0* z2yF6hT79m5cd(n)Dt*S9JI+Ec*|TcOlz&Q;1O{JNPlYn}pREr#b^ISSw4|?ubQ`RB zlT>KdZz9Uh{@RrsNPeeC9NgIMy+VZli6@Xwon^KQrfOr#ag@kmRF`-SSEU$A`B{_k z!MQ!(-OxuRf9A9wWheHo#M%$XEjbA->lW}d;HupC$7A)MRyZzDm>_a^Z!l4vimM8& zDacn^J;rG`7Aw=JMVua@KEIo9R*~(L{nbFwp);L4_yV6brFY(hyC8gXv7-90Wyl~@ zJwV<)>1i-)R(|AfBuve34b);9MNP2?mGB#bN)D~(LsO&i ECj;FPoj4!Sz*Sv70^ZxO9M{%*0Wn6e(fEFp~dzT^k&5E{9hNZ0#t7S z`(Z9USdbWdTxCD+cd6;F1wL!%9}*LWcH%yB(`xSsKU*1U*=Pg94j4)G>YC#=(@zIe zM&`LIyhmi{7Cn;@x@bLl3h~)G#*B25pBiC-QGYuu3D_ZUa0V|_BY8jDL6-^}SB~3t zqJr!9HTckLG))iswZT}xg(CxBfEXJs1=Junm{A+o0Odf8)H<|*w^iyUO?TGz`n)(l zteOiae^Qw$4V>9y3lZ)X06oev-#C*cJ zUV_MABU7q2zt{cP^zF9cdX z@SxA>0-ZGpLh`i4-K&NllQ@R=ZsXPU_1{NsSe`W01U#kzLgbJh#*%d1&zcLvr`+*U z@jcFGVdX0Q5X0tt6`)!-eMQ%K-P7&kY *KM*DyZN?xK-!0BlP;ptUB<5gw7FuYdLKjmNkualYCcmm&Smz{D zpc-Z?XvtjngzgF(U)%g~_x#szBTPABf?8K{!nuCXMX*_CnHHj)9v9_n37Aeev9lP7 zC`sY7G~`S5_p^Zg=yK{CZmM2P*_P-2!mT)9H#b zQ##k)KWbqMlo b0 zrm_TygS)c Cf9)^0a!3;*xr9Wno2X)T V&JEF>2$tOwfZ+x z16S&-X~;tf@$&puO|^?f_z8F69?St|9sX|zSQT<4{#3WDxyWEDO1h<~Qn&9rjbBZc z(>=HCC$rNM2C18I4Pzdtk)~Ce$M2Wl8~Rvu^dGmNw3$}X`57w=G&*Z3D)xI;MybwJ z5)t(6?srn0Czx()mpf?^y?1jV^7p#Tlh5%t$Ax~p8>&7a&5x%-)_Xa^^y``WmuLQ8 zUdv9rxrjGT>hYKFVo~v}?mzV(;n(GN`*tFIlOC4sl5jQ1PvT$1B5&Rt{ZxQaG_*y% z+(7pvp7f6`itD#6$^>_7Yg!2Lqj0&`*QJ)w6})jm%Y-TAkSL<*S5-fZltc}`242kj zDD7Elr7CK$rQ$3O67FRQn)ruD9%YRTG?+ftJ#hze=n?}i>>myF1do0rz<;)Hz9{9o z%DXTHNZM#l8_h+h^JZ6n?x(OQy}b73ZqK>2han_@*3zX}aZ#Fk^EW{&irjmr!jKD& z(y*uY*prI( P!W@yBG~TO68j%AFun!%&m3j``0VD2~ z8T;M(&T7a=3&y7e8(K$$-Adi$Qlq)(Q3jQMOjWKPmE@+XA<5N`ReP|TNx5fA39zxA z>#1zY8Sj4XuU+=PscPt0aMUHQEYvuSjQzwq#s^RdDu&e%W8ot|&`#vt%9P-kT+*L> zDR113&Fn-PGOaJaWFDB;(%lOY HfsY!ljJzf7V zK^i_arD9_eSFUQyMK@P @W8Y7@FxlklVz;^@hwd>xaMN;s2OOgRv;P zqAXAS_#$e6%l9u-RnK0js;jE2t$r3aoYt#)X@CgEf3={iHkK*2$NGtmXD`vd{>y4( zeyNQvGFL9c59lsXvrb1*XUe1LX2L|ytcsi0$htR!R!r;lp%-PrkjjmkRm=UdTI5DMYty-UUph(6y#@T%?Uw;>d#sVBLG-hD~=~ 9Y@ X*HZ4V?Pn~_HIbP_M3TTeJgEQT1~pWP~e-` zX}W@n$D6onO-gOwto>j7s>)>^6ToPe*_u)KgQ1ftLiFDF(~|1jsl67mNL*LbL tY(aERXqf{I hb=D+H@pM5C!f?G00I~r#e(pOPVuDASW~D zv{D42clN0B%XR 6J2H#f@4_2r gEVq28#eZ0&yxyzs^sf#(+!5S1FShR{evcs z;#NIZuOI*A<&hTm+6XX;EKp*JlvL^vCP%2yb{{mAucFrHRXly|A zE8|c>nH{2{uKJQqFIfLNnL(@inR#arHYSzELxFe*f&X-oRv?{hUN!FzkC*UsVp>%e zQ^X>N!$bx6@N4c)MP=Qu3_8$xXe85HoKDu{N5P2jOC7l~Nt|EKx5r{&%; 7-x>>JVRZ-8I_hpC)4{bg03x$?uPOZlBuo|K8zl}#BkzO89-pr7c?xkAFOsiq_ z>3hta;*9DdL1}-^y~~#eTLpdAYeER~1dY`z)rFH1H#jMS0O0rnyZf4UFJE*zx2@c@ z%Wh-obUm=Wgms7HO=+7REwB4KGeKLEd| (tgs53h^xW YmX;R{*MJU%DG>TNBCyEw{#H2i-MfUp>hYk5xV z3zk7M<4iR51{&JY&2=ji?DJ^9;hxp^t!{F?S|VY}zN3z8BvCUMpg^Kbc S$CLvt zuG{+lV1a-M32Y4FKC`vWW_Mt|*@%%pgm~N?@EF>-Yz-#CLBjkn$oPBJXz~*LnyLdS zI{+crdAiqaFDTH&A9b|RqS?fR8#5&%$dlUxhLU-#VR5QUf>=(=$PPvNM;MKzyYDjq z8H=y2^iJW5BYy0OAub3#Zf8YE7+5uv$ec7}(Yn-}))p?DZXwWmQUp +OH8zc_Mzq$fplWsnQ=F6lWW>Zv6R4b*fMz0}VfDkJzB_iNQ^eoNiJ^ z&B8aIMHd#vcwZ |`bPld=Gth&(vsxPrptdbMCyEZLKJyY}hvt|TnuYZz1A7?cUI zoH%j|E?{9#(+4uD9LDm2T*oxk!NZ61CCJd +3}Xt+aE*r~UByYGk*gR#cH=uc>A2 z%_bs{yH^=NIO7okaW?Ra>P?VhmV~W1m-6Ya*Kwco9ScGRc3qZgc|7UY2Kx8vA3*6a zrt_^n;=ZQ}IuX3%BDMw)IkNC%O=|xhq@$&MfZGSnsr`ufaD_uz=!3WZ8BPiEib)h> zXSQtpk+Mn_36tFIW?IYofj)BHN0sW`930NWg)b(+iF+3)#P7jgj`?ZxqnV|hgF`GX zj|b7Jx({^idsqmCT_Q9P|L%CF79Q<4H2qVHV3EJ x}??f^0wx?Lsu%F z-ZEVkbJ5n@C}_IpBZh!`m?b%@hnj_V$iw^nI%pa+%i7V3`ZXLdmg86e7w&M&erwQt zSeVC(=%kBKPdk9}N?#==Vg@ht9l4a$q4_~Rc-}l$7K`EN+sak^=p3pCD8OYtQhxFY zuA8)9AE4%pnZym8XSa%IkAuo^O91qClZ+i$k{$xW`sz(`A?trG>Ttj3!Ot*Y0aa?K z@HEQWimhI$WV3DFH~VeC*JXCfGC53Tg!&a^;MvvDsu|q|p&)Z6jOSnY@tHUz3`&|A zDJxTjtt`=P4Bzz hvc4fhJ5^uJ9EjoX-BT&e<+TO<20D 5a|kMiIoSV#ruK z$VcC TvOCtVpZo1>o^|y`US`Q24rwi>-Y+ zOj1S5)XJBzabYI!UU4BM1m?{fC+O63tc1la2y!4HENT5n35mIFO#`46p0%5Xya|1v zLRiw+6hyRR$0)f!hplLqp3KR60_d5;__b^El*3)Ksgs)%Oy-wYfIKU7>o5hV8Nkky zhb8=meF*LxQM0!1;${O>q+C3@zQj@! x-Kkd-1V|$yw~z@q3%fN zY>>-y(HWYG*&}^OVP|#N76=}Ahp^#5<+E_KR+>B`GQ6AuaKB~#sxKVRNEc|UYxw}n zlyW0ls20MrxjDctg<>wZ~}e`Ld2-K#($jIK9_7%MZ2$ILHD zU3%9egdSfAxcP@L)etY3=%*C4KvvfJcfvJP-36}iu+cz<9Q{QCHaMFb-zv&9Xsv1% z!9pGRr@qHB?@d~(Kk2#bWZ%`YNJS3<`e#iBv>G&`?dQdl6HD6T=~C;z?v%6mJT_%| zIo3xDDz#pwbB?0(A*S;z>6IJx(IdRT*f4!QVL5a|ntN}r4gISxCjFhKOyTtVe3!al zv481`LzlJT$N&<4qZ~+(ELS)%e~!&w$Rs?< {}%D=&Oze|l<&H9qE*f!y9MDx@r;S)(cUV+q72OK}!T0s=sdO;L!Om`LbtcoeZ z5Rtd(v-cP__V_%$i_8_jTiO4GbsNNHTKH}qHwwl1=Y-EY2^@poviU4890{6=~ zC>}HKPJ4KkWJL4*LCvxUyk>Ew$!J2ztGqz1cXlV3>Qat=Y2n+Bf-UAZ%TJG2{IO#g zNbSTcTLj=UtY=4X GIiZrH*$M- znILlX#%iuy0y>-uYn+-0)qY*IQy^VSddu0G4rGCNfe6K7krbiUUd>Olh7n^gCM;!v zjo;IX7XHThhCjpVeabq>fYAl5`Qoh~alcU^%!9kUflp2MAba6^MCe20e2ujyLC|eZ zwhCwM5Ng}@-jd5+QNm~r-{td0w1WnYR`gTG7c(0O3zV5t*WWi}87LO3EN5UcpXK50 z3Pk~=^V7-;sL5dBiM5-tJ<;x$aSOjGqlKy;o9GBPUeBP!z2Uy|1hds(baaZV|BadV zKJxK$ul~3hB}v}*?DTO~ZJnrB%+|II9e3OMqCw-~o`Jvu?G>LL4MK@6md2}9lY*qM z+>^RY$D^gx-yL>CYl!QLGkNoz6Y+2rahQPbR9M+~y+ez~0}}gFC$2mxoSY!~O;Rl{ zhA(82x}b%s&LtV{kXz98a^F{s4(e4Q-^N7lwYv8HMOR zJ*pZk?(Z)VS`gbD!bMma)3GU&2H8+;AQe?V2KB}{>WF!=H;fZiF1E+A9s)=}wdn9S zO()LY1&zeV@fjZDJou&d0_;$OU9r+_6ZTS1&(RDKlajEuOWWp2u7STZv{6dz6_{xo zwpC$aar!Ox5@}z|9q824RWD3wzNo|5LAJdRFs|u?E~p0V!`dv17s$D-W{GFBj_fNp zJr*Qa3L<(qYsp^Jmf=vVzB6d|Q`dFBm`YX@Uh8`}-@4eHvP6%Z6)dwbv<_`R@BcW+ zBHPaETl&z)MR{$#g6NE79hULk2*PXaPU7>n AD!X z6BY$aL7k^v25Yzve1w_Q%_yFeFDxO6cpwrO3!sGGZ8sb>zbD>2X-}>s=IkEnoeC|9 z%2hq8hJZ*6*!Bal3J*}+CrYt4WJo#ttT{PLhgSF;)PRjA-Im^5)*-61o;_T3=T_R< z{zH`S9LmUij|4QLq3fkWY#yL5<<_@R@>({jn_nRDTA(^4p8 gPyujnk5X z7n>6_c#R08FT^mqp+Q#^F56V(v&4I*6s{&|j8BEx|3r|&yqCKa<1UBg4NzFSg* RKZ&!6~F!cg=TG+P9rHfbclzYl4pzG3@+X+THOR)C?xx0AKt z4osoO7rgrsZ6XokH!fqyF|Cg2t(Rn&zNitxb J5b6l9wKWTNCm^4>y4n9=%PK#6P!Cuvu?2ba%5bifievszVA&W!ZqHu1K9QI?{Jx zvd!+&w1GEIr~fd&>2kgR)9FF{*cH{zL)+RQ``Ws6 p<>o@w9EmNY>7kr4DHP7$EgiDnRS7<>`_B z>-OmC{s!^uPc-$&oSy!1SPQ0+ACj2F=e;uY#O=)6fR$1;3?g$gvm{4XW;_T9&ugSc zf$zXFp9_vJ1|)d5O?Z&%Pujl7SAM!$L15H@C(-qK6wy#TWj^=tcG;uA9pjClyWsC? z?!Iw3sC@rN_VS-9U-O|AAW1}6+*(b&=Q}|D(!FPOmv|@j`O*y O7=YFOt+jcW$V6o{C+pIf z9_~>z)##Uxdv#N4T8lpVoCr(iUu;P9+DL aq< zLi7x7s;Uw8s)xUU+LjK-p?%E~l;ZP+aPWmc0cn33>EM5~m?~~KtY- &f!IK zJJry3_x71$fp2m1ej)Z{APNfORoYw2PfRQgQ 2>pQ<$k#nJpDpf%^^4)v3~M}4^~fYNlB6~OelP(2ue-rs(t|I;>*(R)7yZ$ zgB76;GOE1n9_Ust?O3m`etgEu@#;wrd(L`QPM$EAppxq@`@-054B*PGbz|jRP-9w9 z0iXj4#F$7j7w|jmPU2}%UbdTJBQ?5y(Ml?^0s4%fo%5s ZP5!${-f?Ve}ni{~Dx(cZQ=hP&@@EPry7p*l#Y%z=r0wsmYX@8PZ$N-0z> zz1{bzUxLGXW+Oxa;rh498akrm);}j`Al=S8d;b#jk$SrXdfE1?yv|rebLFK7nriCt z;vz?jsOwMq^$PBw#+jYwvYGttmri8XZuW4Chq+<+1_D1;+PUueGR!;mFAmq%*v!p| zBgl9{rwjHY=+BO-!INT#7EI-u!=25I*H%C)ne{%C^w5|}p725L9Mrj3*8~(Bu3n&< z_U&rn4cT$naESL*&OX}V13&MBxyHdgHifMsPml3Z^jwGO*1_CqS>?%>zWdX(^~aoK zL(NQ n{XxA5gZ1)1Ec1dD@5lEZ4(VOQ_jfYPxH__G*vW zbA;pA?6;Sq%-36Y#_A^V^Lg?Liq7Cn!f>~Px8VKjx%g)inE{~0vX|Uqx;@`f{?_!} z5kXG?X=K6WXDS~`^EGjGz3bP(L=J>NG-A%@o7Fx^0+Tp5S;z7pQJJB%dzvP|s5ljG zF5s)xXO{(S{_@5z)sU7?&nM*dydMhrkYK=Izbe`I2EuE(A2BCve$ksFbuXJ%NCDwU zs^lh3Zayuag2Xn4CQvhJ#i{5QM8}l&KYU&3vbT+YJ?q*rn8d{<>XjC#^<8j0jfaLr zFC8U)2+7iPgzkV#nEA{Z&|^HE5Z(6^VC+N;id98kPzN=^C_#Nid3olv)yG9GgEa0i zA@xM~k08`DayN=#aqgq_CSp#{$NSYjpI6*mp|a(n|KBdGxPG8~irBa^3&uS7U71^J zL|c2)qvp1*gEuNDZ6Wqk?|i!8{8+pSpS#h@Uk-1by|OIC#%g?g+HZQ1q285r Fs z_n~VE`+4@9;Wzwj ;2He59?kK7Mmv0p7LXG_%?lPBH@D31&}ZVd`RZ-$bTf22Z41yA#I zCmIzgoQ%{_yAO)_0Y-kh4|kDxjp_Xn tda40nW4fIGInP @p z 63K*WtHY?$xhPB z2&mzJ85RU@^!A z-EEieaQ=CG{Rk@kE-Z0ww+~7be)pkZLpRxei{}{BJORL?jd)H%v?We*^=*R{bNA~l zLw*;(MV5WeAEd@Yc@1FpuS(<;hCb~9cH!gAJEsF|Lh_Qq_c0p?KhKAp*S^t%VhvyT z;WyOkGURewb+F)qy56NlFd}5*`By3iT%P@m#F!#>6~hOYr+oX0*?%I^|H~!&)V$BH z4nw>+@58?q2M4|g3vSQnc%?g(*gpDe8_C8~-a=AwMd*OFlw|6U#qJpBNcz(X1^~@` zy*zAIocya?To{bBXGmy2;#VCgbq_*=z#_lY8QdzkgWMD)@1{)5djrEmS;M^X!q2LT zV&3Et1KEl-*9hS42Js@S+#AeRSRGaRy5>*rS*rFX3-?{K)jic*E@Dnea5KR W>7^ zlBoPAA|gz>L4ePixzxDnwP(Zc=VlRZUWwPGq?i7EX8j226)Bqt!W0x4*tW!hzk3G9 z z{d8(nzGoh>%95SrO_8kKI zGiCY%3TvNdD?Apd>$zXl@sHf~aK=;6I3B@fX|4}zT_Mh?W9EI5kC_$ivQEtFj>$Ag zrx)$MJ+ukhcIALK9ej%&lK~a6uhV+e^JQc30OG+=u{l1M;t)RnZoAr#w=sXt&3}(k z=?HcydBPdYB1z6FXk7@NDHpp_s>7mx0A-=gJDwQy!e&fE6M #a3Y7VDPj%vPv{6M zmcuv3ORa#KjeECeZ2jUw#=Oj|@0$VTcdrhs-)-|{B`kpsdZOs&Hw6`V^^XCeXwScp z+R8cewrGt|g!oV4x~xz22q+aZ#=m5`O=Ug#dz2u^PVJBbc%|;YKPj+|7oPV#7rz+) z#6~s=8-MI&Cx*u>fl)5T`MmJ?5!gv3eJG+c1Ik=)VC3}mJK| 4D6FjXU!H z1-w5C*QzVlTCXz zb`Nb={jzSWaXQ#0Sf`tfD5x zph5d)V-6C#o{vh*biO~^i{5 D$PTAE*sWGxV868EcJC%QLJeayf)xRO zW^iRlW9nMJ#+7&4k8J6d$|T8yRDT_Fqf9k+;O6D0*gyLf{0fe)=I=?%V4+;Od9xLV zODChR-sbdfg<2`^TGWZx?t{T9FV65hH+Dcwo9m6wbJXTvWJs2Hfd(YmArWs+TfJVt z__3c!+U=Ka1OA$Y6?i?s+EAE2yz IDeR}lc3Gwj-~%j&y2G(Oe+DPsRH g)NJoctJsxUHyNd%$&j zk*0b|t(t^>Btqww*7{}M5DCz(MAKd%2APW{Sf#Izs 1(?@aO0mL&NNJNxb` zyX8Q~(>cl6uq4{`n}JP!XY7H@ K~Y9_RAc_G0{c(k0iCAEDdmV`I$fOl^H~G=sCMWx};GG0FL<3?q!; zw{v{vWy2Wq0{?Ut{~)A(53)uCO}0aev^$X<7DYg;9607{xuJIGMndH$r~cik0#7EL z3upfx7ritYQFiuVh!fD4(<6`%U10j8a5;&IpMEA`Pi+t3K 3KVmK2~>VQ3bp07(aNPKx8Pk1qP93!+s-v=eK4#_ zuc77%d1?YI+_;nVwdW+-)kZtY$3Rx>4kGG|cOyvOx08bEw&~qTw@wG~$$H&)t2;V~ zNZ9pTf6%Acv}^K@yeBn}J~$rkaf}yY4|~9GkB(6La$Y=v$rp0b0XJgAI@9Og6o3Es zEo`qK &W*V?Nrs=or|RM@mu^9 zk@UO&Xd4G(f6kYs8JiTPZ%*d14LdGze@`MEUw3dz0ArQWAXX<5QdeSLof$;k()iL8 z-6nV|v#nuvq23MZCMy7?i_gXUI`1u~3zr%DF^O0QfYiyxysT=>QSP#5cHJPT>Z!1H z&q3Zy58KH0Tm|% ?|0A;me?YfT*z9|vBGc^qB@_#Ypzcp`^ z6mCy*dgP5U13=tm7Ja+}kiX%c#cVC@Su}N}N4Esyi$W?nI_lHUqVe3(OgpN=dd122 zk~h!mG)l4-65RxyF3@=vjuoe_mb0nB(cw-d;iq@&3A!$Q6j&SeCmb|OWe0o8hnL0T z_sw+k&)dQ{_#Lb^s(&Qg sG+-3V@-|kjl&Ng6cCTL2r@?^pt1x1}tPB}ez~lz(K =ckld#4e4M ze7f^N>l@) bcXAyYUtMs49|V-aG$dmnKteZ3O0UV zRkXNhJ{1j}pH92hE;^#Txmp1?&U5OcI(qiw-Q{O=zaQ>*oAsyP%*cAJzlch{u~*zs zoC_`sk5N1~@ptEi-*P9Ggj!T|{d__0v;x}E-d5eVb=K|kTOC~vmaw`j()#{BqOSZf zc6e(K=|L&rKq&6;UT3ptQttHIxM54Z$Ae3;NS!u`A-4+`5(pf&jvP_KWL-d0gAZDq za}lg>L|^EIIYbUEOPVg ^NKZVj0tE{Ti*qSrQdPe%?U$Of{UcDI0N!*WcRs@s0 ztg+H2HSr{s*B +umGHTP-Ly6Smm;8H%Wtc$C3UEq?2f@CdT z+R*@7>-^@%)<;BGclLhavGaFz0f!4$y!@G3!}E>}hE`^R$WD)ab!hXc*`3 @jW@Ep-<}J_U^ghee=av2Xz(Z@ z8O0oBaOaA$?!Xf|2L=Swc*KpPB<_jhBUey>vN&PDYY@7i7QkdA43Ky~ {Z{j#8RMi^oRBH8xA>D{IKD!^&jPnoQ|K`)O=|h+4ccP+y|h1> z= j|u*oa{mTiNs(55t>Nqeat1Ps*z-34G(MSnyjv<2 zw$xoXVljFao%+gZe@wCH;riDL68o *O8-GT*O`_SOi; 1^uE|VbhzlIMso(1E z5fC8kn|1f 5OHCWCEgvoYZeE8?ly;CjCNJNc#NiMhy>|2ngrqzD zhSqQ_{ZpyGAa(g1{>06&j`NQH{vA=J>bEhwI&ale5>B;c#`R;g11o3Y_gV^G3O@_Y zl;nm=4LTkZhLaxiH)JCOFK2VpVZ7V2v3dRrO!9lz-^w|Eu=CwD_F1OEdj|FX8tSe< z%eA~f{1p?VL)dNNuD99!?orxYVNlJyXTU~~Qh;R+ljePWcyz#CE0rE$k|iV}l#A|I z1DrC^L8T`&nG4hH#KDG)tKy6G4kT}~?Ml};29tNQKMW@X>MU06q<}i2e?QOPt2qul z85-Q4BHzdow~>9fZ2Ol+?HS}4W1>pq!L*-T1 j@kjMwuL;`GoKz#?$deD;Am>u*|=NaWQQEL{|8)i6;a zK5e-)=X9oK)(Xb2yVL@@QRD>o_Z?whBv@l`ELLvvz}sf?y~1LQ5ySV$!8LaKb^Z3? znB8IM`#XoEHM7mqUR2E(p8u}lZ-7k}ZFM1xtA14BgN+9(Hd{1r_rumCag)YS=Pv{{ zf2&Ol+kBq0F$@MMer1ojVExKQQVbmJK4RYsogNEziGN^qG_8Xu(xx6^x#wf=jMP=r}%}2d4^L)Af6^e(pzm3vie#>$c3Y8?9U )f>Vy#_IgnqCl_B@ zY+n!C4Ypx=4o1~LBhIJ^`_@^u&|R80cvG9_R|PXZC9v)vZ;>7W`bmW>1IqDwk{d#% zgd(JiCnU%Yr*bdu+Y u z37I^iC`d>LmK$q&Q|kR0g36e1To+iaaw{6E-v-2z7~b5VjH}c2gx!V5Cd&7g)^EWC z2E=!;S-?rz$5 EJjDBPJ+O-PL3`ZcSW$PcWP5@z}I}hR|lLa(%z>J?g4WJl?OG z$}Gd5fPmA|wMEu%b)5c<1$gV5{9OyP-<8>zw#xReYXuCEOMdH}Fyq@EE!-(zid}8C zHzzX{R0AW0QYMNh-W*QO`8Il>)`dnN`BqIC)BLOR(U+&zC+l^=yWNVqP1Y`O{7)8u zH!S&wH=L|)mN0hdEbZ$YAO9^V8f>;qof^;Z^_M`2(Vp $uWN*9w`?l<||y)MN7a^X|M6MVPq!clKm2&IPf z9-Lng>U #D)1B iq7o&$nI2={ zDd9)y4wMH`fX;hjlVO kM%&27qJF+Zp78}1$oqy zX@r#`8|$!h+fZn>`--GGsz|KoVlcYq6Ot~tY{_boJUr{j7Hf7gf|Sp$7WRS7SgR(d z^6r5IPMt)6WBPZdJlU9@coOWpFe=-4LyYQcL)}SGF6;1jjK>W#X@qxc7Du`3<<~xpCFAb{E|bEaeeE2M$gmT1$; LzlUdm$4lF_He%ePrlCYpGv6e3T{q4?+=)RFdoLCHAX{X}Rk2xvVuTHrYWsZ+n ziBaeMeL~7ZydmK)GW)Y40QCbf#oVLe>en(G7xmiE8O1k_OyTv4>OuU6jKL>Wq%-() z53BXbTAC5-sWTT`X~!;P*jz#O_1VlA%6D>(uWRoa0w>;b=lm8u?N8E2Kt696{nOC> zhexoc!rBwp&Wgqqla?f5cC0v$hp|PcI%&}qF-zPh{)D=TFgaYbgS7QS@1_FMt&C!V zcu$4FtV_{_@|gy`9pAB_c(LK=NpZ{LE!8;WNz&gj4phDWjXv#q118^-OQzf+Z4$`A%2%YZq7&wk6)xded*5AdR8#16&O=lDu=30AYbPO7mNY&;4o-2f8 zy?BREWssYGTPPW`K#O^G!r5gT+lO<|AILTlMYn$+;1-stJuI*ByO8Q*{vTIw!4+lS z?td#FC@Ip?(p}OeA}!rH;(&m3H;BYY4IR>@AOZtOcMshq-8FQ>5YNeV-S^)6|GWU! zn#Ebi@%hH@RSQ})^FLoA8@vFIjP3+<@kePzo&MOp&AcG`r2M$!^MXOjv?IVd`hH4~ z)<0i}jrK6PXuQ2xC{?uIN{y8DEJc5Sf69n227+g7aRrRyB~vO6*fY#4fJRXqWEiTh zrY2J4kxbCU)IB}iMT|2Cr}DPRSK?|sUDUc~i{JMZXPz&hoNFlAx>mHwp;%tjT$2d% zG_p6FYVIzsXipzpSCd?Q@6W%rE5&~{z3daM0bcV7jv1;@3|ls13HFJ0@;jf&M7F0@ zl pxO+C4+I8H8^UpB z0g~XQ$umV#n;VTJhx$eQkrEYf5bfVaa5Y`7m^?t8>K_-Nw16`kfbmgWwN8Mu>6Shl z@iJG5i?X&j0vED|U{m7Tdg6*vV)^>in~(_4ISkVx=Z*-8@)^~O-Z#R7NBjAw;?gBQ z{cEN& $T7i+{?|H&=>SLH;2mU6Cd8TxF~bG|Iy#@13c_XHCmvFV|0N6 zcqjoC(MpnbdU?j JEu?B0~^!W1tN#>oPiZZOpFsR!Z90fQ0%0CAE5Z>!t+Vn0j!J9 ze!RBtla#hg87ypYKHvRo&xY+p#;~{mZ=X{5zpvZ#z&AyidhlQ4?xreZDg)0(O(hF| zX1wHgkBrb9Tl83sR1kT4pdJjbgU0F0l`VXluj~dJzn)a+!TX-%0~|0jOFlzGd9C`x z+fOy=SNy)Pg2 0h7s0;cvhkb)d0jCVD)F?VRu3~J z c`|0(KN*MOGiqv zg@JZo_P`6r8M6sceIpX#nG67Rt)Fx&5#3@Wh}sRST88gs^(x0;uSr9gWzx1y=N;#N zG>{J%Pvh&qyGJv~Jlw~7gaIBBhbvK1NNkQJ3c)s9TVhAeM#4WBl_wq{CL?KAK>VUa zJ1F7Vru$45VK=Irf&hT-ZXJkSokLqyJ^ATmBZTt3FZNI9-D7y~&VX#q9P9TA2`Ifz z_cO?OW$aQ_;FI2BB4a4?GKF3IqGDz4=dIyv$x&(aO<_BHXy!ORLp2Mh-?wR9*Ze`o zDanofsboV(NPRIhsxQ~*!U8})px4dsH^rQMdOmbMVaR;<>iWnok}Y$rQPGdPG>+5~ zw7h~~_`hS(?Aw+)`H~^|d~wz>D|;PHiM0)RJa1j RQZ^2+#O9 z4;P7WC2 vT&L zFaMMfp5Xd{ytepawHk`;fO9>)7I58iLsCI-NpL*Hy?;vA?q2D9M-B9MKi%h `rJ%XhdGUe93l}or6hP zb}Xpj1n&XC+ U5`yya!b`M=fPU!Aw<## z>d-PgaKzA<&b*4J^f>J^5jBo0Hy59@?3jWDETlO8*Dz1-^QY;CQ1Z47gM5Fen^a zn72tuD_}9wx&c)?@Y5?F((;lLyDBJ^R8)j(Qnb8(QGQ$T5V2=kS6x_b-`}L`FjrV% z04j#t2)T=-Hj=5}RV43{zkP2!i)7sUmpefVHn{>6{?@}kv?FztkMvGzq?#>!I??SQ z!oH0ziwnHpoV0p^^|3NzOOUmTcjwjaeM5T3(|?n|jK39sf9e`esF2*~<`BLhI7(bD z0~G&Ss=HU6w?P!wDi=n0*b6h=1mq1-T%WpN$Yaj|>DDC<`}D5XT#*u|NV6nm-U1=w zuse;yQ$gC{0DNZmIJXZ%8e;?~lqioEFNB*{!q`}&M0S{=WVI$?lO9KLkwL`sk-V0R zOo8VSOqo7TgAV|wWTohN4R)+Ie$`j|PU>d!n$ P580pt2j=Hp_7fXLRz(_=EHWT ;Pd%0q{L^I9CDWy!2aZj` zD9w*Mqz=*y*?z*}9~V4A7zxKXrF#T^W p!N~-V$GKg@xr@BS>8A0zn z$vaU8?LZ7XiFcdmi>wsreYPWpQT_q|*|gFZbNwkUV3R9t7zLfpU3xbQxScTi6QD;y zQnQ=_E`~63qj8Y?yek-2;&KV5fV M*EBr9;1u kaLutV=-drZqE|a-BqK*niheQS z{>YKtd uj@ 4mMiweTG0EX~yHQO;?9 zHq3<@U19n991(=s6P|-&Uz~8o-aaxfBCG&~y1n6vnzdwjZkH<{mbm(w6T&;+#jS#l zO*$+sdImX^Qj8qJW4n9v!u<5-rOR>$>I{V`k$(llK2pzZ;U9qVpKEM6`?TX)x&&h6 ze|tu 8v2L-f2sh5AjEOrlPF4`PTQ={^PKw4$?+6 V$Q62PlLz%TKKO4RK0n5!(j wl=`fX|=|2wW-LsFEiGNw(}eT z 8H!E~Z0;_p0gUF#Xb^j>Tk`aISlOm>O5yYu&0pY&9vGiYvt9 zgFlpX!L?YtDm6|`;v@$TT#BEGPO L7xaK`tP=&oLa0nc#4Ze06_1*MAR%_mplvSD*qly?3r zfW#8;rk1?e_%%EKE81Zx{6q0{=k&~Zea!n0wPglqa$tIBsXnkur2+Y)YPXRbnG36= zM~XfT@}gEvTdXZzI&3!^IyVD7f!M d3ZlWHeK5zV{n_Q5b`%WO!PY%S (0qrYorr E6pzNnCcLvgX0SBd-acyJE&WzQkPB zkn~F%1*#KFy}BuXIyxn;_$o_`mcQ+tH!~HIkwb`8cpQCP-E>+~v+nw%)eeji|D(EK zJcg|cPuZE-%I^E6V~bFT^6IH&ag|P +8^T%yebim0_vmnx}i+}%kHl=!9*PVMhwtRp=`N?z5 Jj=(+MyJ#rIZJaMyoz<1jVk1N=5KhDYTtZ&-aMEl9Jfgm zr8Jr^ff_6>w=bAPikwgC(1!~91_OhX8#H`%^`=|K2?TFge%Lv-r(ht^KqzWC D--ezgPQrk!WoIs?Upa|US zPG~F0NnZ5565daE@T_7Pn;_z{z!M50BADV)<`2A{{szF8Ks`P}*C{ihpx^Pab3u_S z%>kL-wY_ZeXn-glLVNISE-~wJn=X9Qdb7>AcU=GMZYP3_&yVdpA}3 8-&Os2cyq%ED%;YdA7i$!HY_bV-)LZ0>)oVY0ls-+ah9$G*Feju2EZ;Hw?rk?ZPQ z9ZpVuU{||FxV8egreZt&ZSATe+j-eD^WyI=S{TBjh{T%2B$O{&UsKvUPmTZ5T Qk-UM>at zGouny8$m3cZKh=z*|$_z)U0j5zdqR_VQ{)tg1^_r?sl^+k(olH!z4IKAipcJ>tPYO zgftGx3N3qAKOK8l&gl0k)A*T|2Q*6(F56|)fBpJ++?(MI%&SrDD>t08Qz1x`vj(EB z)@%rs!7pl=Ylpm0KT@&+Pv E9_{gMTUx37OLXnI^){%G5IZ82`OI(xhekGp)? zl=z4E_Q9!Ax(LkAe|9eve_%dX0tTLcJJ9Y+m|32chA|oce)2hOj+;XRLnwbO>6CSp z{k9iW|DpA3C$D8Lx97488NEeJxf7P$->CHVw1?}y1dy5f_v4}0+L=H?6LPvYOVYXb zn#HkFV?~1PyLDCscv@CJ3TM{Qm~f)7XBtvf_>=h$a~0{wRMMI=qO)fr7T5KdFfIQ( zJvq3KtmyPD_hjNs5hI$@>=6wKWpc+LcoGk#3tPpcrpKe@@7bsf>=2lT-b>^o)tCtV zK^_Y%gTnKCXN6252SUwpFB1RdX8(E}8Ux?(HNHXLQ*4ZJjd7z}pl|QTF@UYEo@OLS zrQ%7e_-tiEOw<#K_&V0n#NRkhg23sM<*R9vB9DqsXY5t 3KINp$o^~g>*7pQ58~3+*=r8Dgx6aI zvE-*>huWRFeWMo5<1w-RC6O yf>j2M-B^TZEAz>rd^LiMiU9<3QI0Z2FBUdXp z1Ixiqi|vlfwZ_y5#T48h-W*VgdtnbpflQOCZP0HC7x@PxiVh=F?32PEC-n@@i5IJ0 zxSQX}{~zE#4S(w3O#kp)8!(|9-G1jX d}MJQf}4-;1V}HTw-NAYDE(!mhF2+hFh?K7HH&qC>_Y> zNXBg~>l-}8me6&FY)WB4Kx!ZBno-9lm8|CM<-T4z*R5b%j^cjO1rRFBKkenPt>#7e zSrXtxv07n2b-Jg6uTHFzL_}z_i%JYilSLm{4XcEN;e}SjnSLXzw $kEu=id!s3VR!SUExY49#5-+8?tj z4S>%jBU;h~>1#e|i70YF{1I3Y>9 jgpRYF%wbV_Czyeb+z2rwg&!~ z0)8`9AZSF+2}qPC6jnLPP68fyYDVt0uWTpvyp4twTbGKvMFu+i_8U%Anu%7dqq!3Q zb$L!(KfRQlwkDB(^6-DC4|?OH`U-<7_@0@}8y44| 2dat^jk&=TE z!UFi$Jn4~-!jJfweA(ewacKZU{r52rdgF{1h7d*H16LCJzY|#;Fz_C7B)$@~#5jIW zsU)ZX-{$Csj BvKT%s7Mh^wQ)oxk>_&KI_NmP%}1#M ;reK8 zjV?;898}ew8l`itd)>a$|Gi)AIB)Jn#KPYgMkUw0o_hTTSb!jKQU9=qGN4Hap-`Pt zH{@x(1$-f;^-nu4Xq_B*kEviFO*!yzBFc#=2Nk F^ B(k>_dfmuS672_jrh97Xmr@WZ9oT(n J7#&ryy Zc+jj;)+( zl{z_v U-a&7jii>mBjlg}=j}#mPY3G@k-V|;)RKet58G{QU(5HiVTO~G)-?D? zX{0#yHYFI2{`DL=TG3cjtkdnbg~h1Xj{(qMSSfrNQpqgAx^B}Jf xg(AK&+@2%~tFbG=d1gM3b4t$8^P=gPgmSJwAVXG=1(7 zTI n0s^U#XRKCX?tI4 z*ac~XW7PW1D~11kXfdR|R1){rx>@E LQZv)u|@CsCh NgJVT+{bcpgrz{F5HLhRt0XCZ#K*OWQ)NYI3@Yv9dG+yv{&@N+H~ ztsYe@xdi%o!VUvLPl}F87rp)%LnkWg4#N<*Ums_n$5a0pF;Ft(N?VSWvKTKNJ+Km44WC)?TXia}4CBN5 zIP#58v!~Rrcq!oMyJ3l`AJ+KMl*P;V>6yB}`SLBsCnk Gpe5 zYGc=sKp*Xh3P%?g(y^*;`^TP^ jrRfB z{C8p6!w>j`-~+7PO-|3yZTT ?WH_IYWO2jTISMgGfrb7N=%Hp*3R3=tB<+(vDA5WRU z*Dvtk-`4*99NtDt)pY&KiQ#^uBK=qWzQ#41cr|eCX!ApfU7)Zda_Eps%fl_KZ@D&< zazV+A6jW60nz*%EVEu>J7iSdiBrItP2zSCL*fS4nL(76RO%uF9UTY^Xl$m<@EqdhWPSa0S^>aj|)aQTTMHd;so zzlYGO8u|e(Pzz7RdjH*tha v`lO#Lph<0!eJo zaF@B%yxg=cv=!LrsfBpKMIYx_39lw2KiGgn+?2^ADDBLkxpI>m-rlpyU)4=C@u}w$ zJxw->$`>lZ9OdT|@8G))bORx$AHI03)|5h>A-0JAG80Ri8Fm`Vyp^lQyz|kEN#k3i z4}iwLC>nWv>65$g<+cDCbs5`MZ;_hkmxJ8naw(!3ifhuP-?+eX%Bg~U*+ie31CoK} zU6`gqeGZ}!lG{N7XLIYf8G!@sdSix9AZZ>ep{TFzk4Ad$X4qfL*Q$Ju