From 460c5c13c6943c4876c406c6db5cc7340e3326e5 Mon Sep 17 00:00:00 2001 From: Jason Andrews Date: Tue, 17 Jun 2025 09:25:18 -0500 Subject: [PATCH] Continue to review BOLT profile merging Learning Path --- .../bolt-merge/bolt-merge.png | Bin 0 -> 111773 bytes .../bolt-merge/how-to-1.md | 15 +- .../bolt-merge/how-to-2.md | 167 ++++++++++++++---- .../bolt-merge/how-to-3.md | 54 +++--- .../bolt-merge/how-to-4.md | 141 +++++++-------- .../bolt-merge/how-to-5.md | 6 +- 6 files changed, 244 insertions(+), 139 deletions(-) create mode 100644 content/learning-paths/servers-and-cloud-computing/bolt-merge/bolt-merge.png diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-merge/bolt-merge.png b/content/learning-paths/servers-and-cloud-computing/bolt-merge/bolt-merge.png new file mode 100644 index 0000000000000000000000000000000000000000..8bbee946afafb0f63e9632978236c4bdadc16e02 GIT binary patch literal 111773 zcmeFZWmFwY*9J&{APG*8;O#T07YFE{+s;=65KhNoKMR^ItH#lz~ARrK>Bt?}WARr%ruR0tIkV3Yq z0t;MTIVnpBLsX67?E(J;nP^Ix%E>{{0QYbZuV0}-K)n^xtK)f$PgB4)_Ane_x@#zWS%euaN&!8uH;Q)c@YAzld$sL)8Ko zcza1LCkO~k@|W)`DP^(~p!*{hs+!K4aqPpW zO8%!FQ4=R4M+()!w25Kn)t8Oe>(UdiGKvt zY%QGmS^gIJBl%A$&42R$)y}_D|CCU0v@ijN@;^QMyODpV{j2_Dx^xyM&rH3yh`I#|);H z?`Ob`E7Mma7YAcUV+S2~9qC6^RnyO9Rd;jc8r2f79U?L5@8asYzc1^hbNFP#37`@0r%C1^}WT|6277O~;u zUf2Js8Ytoq3CFp{2$2Bm@JEg|#w*H)N^K`y+dr!O3IQp9^Y-(m(7!wRQj@ya4|u=w z*)OR}e{_-R^JnxYNFooEKWkD$weMOjW82yKvs-V7eg}0zND}<1thpNWmy>48QIGHV z{~DqHUyc9w%|-(T+{Via`8tTA*=+l1{=1V|8n1`ryj|yGMuoHPm-x?uUS3|BZSD^9 zEiP7RJZ`p}n{gs<1e%&xyA(YH|5_EDX$<; zm6h~Wl2ly0TS+RO!KIt0C*8=QR@Lq7OuMT-*S}8ZW@a#AxWOg%7n2g9x92;d=i>qb zUz|Zw$q8Xk&yTCm_(yH$W1pQpfzr_h7t<;V^pWT3vEpv@?WF5%{qLN|1GDb4tzjdc z5#G>~O>lWNl7h#OilLr)q|nmZb!z7Wx%Xwc9^&(D&hz^fU}F2Y8`mC|fqm(Uh^U~j zXFQAaH{3f3K}r57;(K_ma%?TKY%R{{^8l>2uZA~_zNe8UYsKNrm25=cwK?;FZdjmGiJknViSg*a=7K zxkjS=R78E=-1&H@yQMNRm0v-_CilIaC`OQ#=qui;nrA_?{SMs4YyU(A{_k`+X!2xX z9!T(N;FH8LqRW`Mx0rNP=hfuj8Q$^+VP&%0(0sYSoYNy@`1U)%{+G+#R-X{d!*nq} zTibcoF+!``@fe~JpsOEPCFhMWQ+NCIik01ri!NEUH2j;rO6T$szrh4@leuJu*$OT6 zmB%Bu&>g;G5C0upOUj_{6>uf$-shRC2zpOvsoet4=K>P&x2O_$N|@Wf1Cbe835Ft< z>^j>GuUKvoIDR>+^xiMW!OMO8S@w=fO|R@-)xv`owah2h8CtPdUU&F{dyjhjYNrgc;*cJ65RG&~52uN;tc%sQ~|ziq_uRA}%@_>jd)eys}h zl+Koc7wBnL%aW|`HVDPXobdpeLEx%VEBA};7Bc!+3}jNFy53#vDbdqJ_p^Zop3fMc z6Wq$n<(G(U&k$+$Io}?g324~lQ$@|WtT5~K5eg;rb$1`N z(nTk@{?^YnT0b$zlCIZet)+@}--XqI(gDmtPk4JpQc5y9+xOMyr)v{m-!(W+NMg>l zYxUo77pVTle1{h8hDD-T5Y5YuGSfCk7@E9iaP%$p4;3P1GZ9GeOm`>9d>4xIO*T4$ z8aIjyzb)_s-KEJGTXyqw6UhdcxNiI9gF>!dlYVI__g;pvR zlD5XjrS-eWCk(~{j*E1TE$*Xl8(lBkJd@ej7v0$i#n+zOtU2kyjGkR&!8tD0d2;y1 zsWXw{+>)3ncD}d6dVSFaY3-`8{wv=cj6VMQoD=}NO<&r-Bk+9dpA27+jl#hMy^rku z8w!VyCxDGsse<8`+p5p2I=2z#{vJXXx_g+qnlBTWz)0ux4#Fj(?VB%I8x}50hW$iz zp;^q!h!(SX8>xKB4Qk)curk!5K3{CKGJ3DHu>NaUMWmDinccgdq<}0Ze3KA3+fLm4 zuHD)bNbru!x!G5YVy0)~SB805N?$W(2Zz&?tMa}Tpc|d&Q|WJwQvA#-!1$aJsr$X>yo1-%v-AJ{6H~&Y@m8BGK=IkX`x;cy1r|*s?bdZNQY%DGwTVH)` zzpaIY!PBO-1$y|z6dASYuN_O$TD&oMeA<0*p&M zXw}@#_v~2i?*T(oSP)Km!IXvgQ+otsK`UKUTfjnN+T1}Sv5IqU{e6&0V!q2>k%W>D zH9RUqWWL9Mpf*}0wU+b3TSZKHb?Q2=tIcA8M++^^T0A2=4PFI~XL#a0j4K7dI~A?P zB(*SAO!JqkPWbo1oiDYMD^xQPTwx8Wg@f>uks zXxiCmL*8`b5{3& zAe|J2!qJQAc>2(i_M{$=YI;sd)+VL|MIrg52;*C;DYU$gXr<28->6gCD21noL8y&o zblC^RRHtJL4dq$GWE6dJOXvuByW=eBr zg3^LiR@~}z`9a30cS%A4l3Jd+ON-KEO3nsqB42{<51x>xEd7 z;>?Uz8l^p8B^7FuQMp}*X%zQcU-P61Wcdp?xN)@<5+^1HlNT19nAXCBmO2dlB~mBjoE z`pG>lq-a$$RtD01*50u;7H%np1xsHp|qzIdM8~O&S?;y3VswxQPS!j zLO@q@iPNEAp83d)N=zsG8hk5f=c%HlI&GzBRen*4tZH!ABGf+XC6+^46g)iCUF4+t zW+vCNM>LFIi0lHKg|DPmAMp7gQn&Y32X&C(G$&6YMKAtq5X zZ;%Sl)~>P5%=iw<=o$vT;}1PyHCXHafwb3rB=EE$uns#|L5Qng8Tb*yq4bE$fli7x zL7X+nzpZxsX9DR^a8DKnHiFm~IacR86TdIzi;P&6Tz176j zR8ilb*egDsU^hP=Y(`pd{Xqa#amlo%)PFDZ%wekv*WY#(DqAK5_zDxJF3=6G4(v+!IB_-!fI|j@6(~psvkq?=KXz zn2FF~gnDm!YuCoPK~@*rs&a%Rq0sNoW5CLL#EID?@-v^T=T#qnu2>a0jlhx2i1)s| zjA=WDBU-E4Cc3X+D0Dr!t*dZ};|(j6SG5q(gdnLRU%I-7v$pLeb`fI}!9UE)W~8uc zla^qo)d_7u)Vosaw?u|cO=fkG^t#_4=$F3qK(+|Ab{6|YMz0Y+h*;+19X;3b;=|Bq zQhmMaD(Lg=3`|b8#7$TzxZhLoJ5KFg8{h~ihT*d^<;wk7PR_#tvE(d4@GjulZdoT#S$1X z@|1HG*5KV15}{r#7ow`j5=6n@$p`4LZrkZ*S6>cpo9`NS&5Myr-y>PPm)V*{+&tr? zdE;F(nDIqcO;(j-IfeRo8BM7@wx9+BFOh++x&|^q;!4S)R$b*R8$LNa=>VOfk)+!) zI>9G1#yYAg)#0_^lEXsut2W8Pr3zthV0|*)8}!Yzh!gejn1Spu|?n|{YzYtKNCT&rb;ev6|@ zrZDtHt_yj`@QXLX5)K`8L@%$n!*~!aPa<@>HLPCK>c(F?ec}T4ZlLV7C2?cHeNukH z-fWUPSXy5Ds%;PwG%f8pZSf%fvDgG7Qr=&Wt-k=e-HT${$E7V*Hly?T@z_jC@J1=| z{>ZH}^VUJxx!(4Uu1CzQJ*9khg}B+HOti#nts49p4n>nsFd5b<*;Op|;l7ndrC@xr zZudNavgac{Eye|6iFxjEEWEx;N&METtMJ!`1FKU;;St* z(TTUg43Z|wjw)KIvfDv_{$ijSqD#po@1B%G1bgWW@_OdA0cpG5VVcAnYxjXh@&`$O zC4rmEYCoGmF|>5>L+a}i2mcRai#29@+0~vbYeIe+_?Zt>@YKR zrMN3?GL*M+sa;{s%!AT?Z4hA>uqz(JpGKnjs^yobn62=w+X8bW)t@5h;0Xb9ecLv=K{Z#-s>RiBZzU|DN<$ zwK~Cc5ZxMOg?t;vkZ7-T9uTGbNK=qdv*ni@wmCR!3ac+%`eyVS>K9_bhX5&7mLnnj4&!Q zM3CDDo<4s-q>vG-z^HBMZk-N;SJn>Eo|8P+3NPI@hdTD0YaQaRNez*}m(pO>oSA$i zx8UpqB9Z?(m~v1AEBn!WE95mF9m2xdaMKg8ovl^6GRodumg-}W2tnRj7K5qL5r*++ zh4Nq`PIeFncMy^ao*nETVdBu-x}v>he+qtYJ#=~VcuV|4XW<>Vx3kC~0}Av{Ze@R-2! z1C>-N@~2)Ygfg28N^f)sWxjVvQ#F=KuxbKVay9X(Gkod|H;d;wt9P>*(AnYdA7M{_ z)S)J}=lN3T)EX?oEFR!17~K^wmJjDgk5|1Wa3MV?TpCTpA>60g3sE_`ocowxvmru{VMJ5+{DLecNphzEQ1UkM6V zyKDB?*O#^LNcia98xTkFVOzsVl#NRag+v^%hEE-HEArp*vong^+#bQ$prL0j!lD!< z7{#K3We&do;4S_2phF#V&jT6rIgQH|<;4(thO1GHsp7`nJo}=yv&J9vbWlHjRLENG zK&+Eop=zG?M4)Ao#$l&hB%N5Kf&5)+1I*TPeeCyqzd@dP^J6DLh9MkN{{w==P%bTw zq;{=Jb`?X7M`AdHCC2aWGPuky#Au~eTqZlX@Qrw6bJF5$ye2;!QP8&4-DD3AQWHyI zDH2OkKNo|Qm-wi7&w;>GhmfB$d-~$Bu;9@c=SCE#$A*Zqr1Qd;(IR)*^s_>9^->%* zuI(&i1wqRh7@`|jAwF6H*#;_BQ}r1G4FUrQOP-P{=5&MS5e$uwsP~X`3m3sZif~hI zi7*aR`JqQ9ymq`WB`4!6a(wUhv#1;rJ3=Ub7*? zNRI3q5L3D=i+IlJg_e%AUD&ip;>RCpfgn!OkX_lUI_~x&2ZxIkG&T5)Xp|YTx;ECSW*A#Nc*Zn%EfO3u zyIg{26EQQ*4_jla_(Yd8avN_8?llhDEq7$?Z@KH#l8x$;w3kVuk^OGEPk;5jJJy$a zSWu0cAzE7X@68j793qgR5H89X+FP18!D=<9 zJr_6CRpIB<`9Q_k12r;uvdPb((lI zgor@{373uJvOeBArz66fj2GE(sBEnGGhVer7Pdw#8iI547F{d~}b~Ms0GZreurQhI5m3MBTMy&^-9@stxiYp%u0)uQiB*x9C*bM4xc6Iqd~ zSdf`~cwBU#?T0e*I0d@N0wfI9MFwR<)nb}-$i~C4t7KouOd=AuY^Kn5+IO*yu zeYMwK7qc^6%H1r?O?sCmUBlvTbOt^^s4>C^#Y5998e!T}L2O8=a$HD3;85k}H-U+9 z!1b702djSF9CwFGK#M$he#6MY_!2gm$PI|dE8_brEvJ|?np=M-D3!i6eyk#8azquh z%PMpUdrg)*s~=S9+$e`=L0k8s(xc?aieNFxf6Ep|0_H+mG!@Yvh0jH@DZXMWo(qvx zRYDSidwdr{L^|HGC^HAP%({fqX0d^K9WFb?`GQ=bgYmOAlrbNFz&MtP9@~iGX zJ#r@1EhqZjJ&MnOdZnv$`aG@B_xLhpTb{idld2hht6$9)O6qh>22IJ=fp?}AL!@); zx`j?FY|cAB+ZH$DTDI{aQ>9lKh>*LKu*AUe_9X=;yw-wd!XiB4%>;bcyc%z53)W;m zUWjO1@W`ftFz^q4>&Scz%9pd^shY{QOb)Em06P&~yLPkOJ23zOzPkR`5)}ECgQ1y# zNx4Z%Nd30|b(zn_D}5x_! zBrL9FdJ#2|g8V+H@-H<$&|GreHQIFj2G#xUzb2-F+Gd|ARQ9_x>m~l=GU4Ux3>@6v zfJeErvEC8$BTNt?F-7vIqTDoNBINwVX2JG^KI;g2eAp2XC<7C3NjS!u(2Y22YslG5 zgjn@>Xp0X8;;dK{XJKk^D&DTq_NN?(JWa)-vggrdhmbNUquM8D$7`QIEysK&`dsOA z|C1a>%erokw9%OefFkwHQ6*P5vYo! zCAhBMZjIi~LuNVcQ#Fo(pT40HJ#+`i)IO6PEH8gWPvUz7_W=el*g0S%6nat3xu7S` zeXd(q@oijKZ|YBvUtIPFIQ3z^D6Dy4&+h_Yll;aquj6(Oa8G@BN~~S3vQvrXk-t0g z1?*#)8k84e+!d+0{uI3rikA@;p@3@K4L`h>7!dr45i~+kgzrRu>ifM{$_X60fOGl3 z7rEfiXucYI7G;*FUH_Z-cai89WZ3BRV){?WxJVetP*DrT>iYvSHm3t@ZQRJ>;_ZK0 z_^YxH7(hm58Fw4ge>V^G?FCHM(~$ zsSEm3Q5h0r)W0T zpZtGkN(6O`5^)zwD?hce)9EzP$!2l0jpPUj1jO%f)G3`6y8(~6y7=#S2?BTksCwhH zGln=-tYEh#@jl+<1v32!ONj7-ZM=ZZoQDllT{ov2UIvrDe&HVhI8}|;^^yIwl0>gV zr3TS8wj(smna>3~)8@?51Z0$ESEtonRSketeq@q}CBWzTww$TPtH8MyRAV}tfo*ty zb!Y%8kRl#uWDIXRL&*_x8A)UIP-5wnAoTgL48-MYq0Auo*TYD=9QyH7aqYH-k_~zz zFbuka;MaQ46%g{pqlZ8XK%ig!X@qsB06=fI>!l`}x1sp1nw;Bd zMqLLB^}}6k;DCpflMs#|021TFa~vRETaRQ!N^0!1{R*PjuF4(jH0LT0&L2IMFUgl1 z&tRiHXg%%#Cwo;CBdS>~k;&^ALzHiAkEE+KencU1(n6Ul&tp8t2$VVAj&wUOkZx7m+0Zh}&ZQYnP4#1WA0bkIRaKQ_i-icd zNH!hq-fM|+zg-+Zl~IpC_XWCrL7rvKUI4xBbhGUD{1>^%!C5?ReH(9ePXbN=$Cs~d zi{37LZRK{%E#$@L(fVS_J80!3)<0o-U>2eO@xtfe-~izTar)B6j5Kv!bOc!ArHe2? zEboc*;rRK<4##Gq`h19MH`sg&0gGN+b)7@`i*plsyynD|`orOTZ9W5M3Y}I$AvvRJ zROU`lYZr?Als;?>oXgIjC%t-FjZp6Yyqq(Mpx7FM^1YjZvski>l?}RIRJ)GL%z#?ELPR z>K>Y`7nEH)tFfSxZMCz1`c{2-_HTIt(0@I3#wNZ=U%%5xy^Eoi6?WBfo9EM5zY0wl z9fC1|o1e&6G_js>Do6F!#Ad7S{Da)HJ-_0yX^j*fUfo@0k> zsC@D3YL8phv+@f9wKoFuPrp@4SF@Ro#P?R84p*fwV+6!<)}mO)2EYnSj{v~22P!Sj z&bWQP?|k->J?eVPIP%bO-F}QQYAD&IX5}=~H(`2c77?Ji=|fhj;Cq&+^{HbWqk2HD zLml_#C5nP;SHlO4_PmLC<3rNMFb`pXZo{I;MPnPw)F@7;tLN3X=coI*tP4iJ+hMv< ztoB_oX5VZ*-LA$Vk%jE@FFQ$Mk1xmuoq&$37X#=JWYhdBrB~;hy#b~K86kQ4rP(!S z=)lrV@|c)scCU=WQOEreXe6E0s^}cRIhmrhZ?x6n>n_B~GJEgWkp0qbBYSAhkBqWjuu! z&ep@gx;PCDo|oV{_@=&lfRwO8YhCW%wkKydl>PkTuiDmHU7Gpq={d2M{npy!D?{;~ zXt&XsVUH)!y91@Nw|(>j0&w*$=^_CD5kjV&-N~r zSk=7qzS}E?oyO5b>p1Ph-QY_{2;Q&m)fFs>EJWnwCJDpDpyeshCt zL{#IM@OtDzQf+CH6*>LL{_M}&e0UEla3dsG7|iXxw6ub`6fC)8*y^*qL4Y+gdiU4- zWgh|)yMon)I>vu*y^jGvY}e3QCN$?8!epxL z58A!m>lKe5wOu2X^6%z8#7fW2tmI2Oz$~pA-lX;OQe4eta@Zl|+)Wn;tlTe*`(hdk zW4IjPs_|=`jwT3SDybLMS*dy}dhqOi4a@_Rm+`SMhhHm2<`Te84H}aT4C(31ifomn z)Z0`IU@y+qO7DlB6&O+ZMuW{H%fsroN-y{m7(|6(j~6+F$ezpAQcY zbVTj;3dcEY^hFQDb%OIm==kp@V@(GIcTM`T_tt6mZhpY>qjW3!x-<@T6MeNkUGMe8 zdErAuV4L`FZsH%iOORRL;M@OrrKFJb2o27@YA6=-F}r&6n+iAR83+)mlRX0`m-7v< zDDO{t8GV_V)_%luj1L3_NyXeb#lj;N#Cz>x4%Inn*60gWFjDXxsOY1!?Z_Jc5H)Ra zAo96c3*F#{rcl_7ToJg9n5G1CC|5Ti;z8ME998>Xmep@FJJPYgy5|>B0)A zXy|c_FOt;hdZE2QQ@FhFDbQZP;JStg-nr}wNbWBr@iEXDkE8%8A~G#}lMPx1O zC5eKPxnPP!uJN4WDV(<{4-4LDHxbjcA^J}F9bWE06+brkR$j47t*Kkdf|2msZR!!WSAK2mYW;J)wi+3aQ(y>OtdHY z`6e#{Oe`&qgzZ_A>`tB2?Lg;@1QM063?IGGtU zi|@U@jE;#D*b88t-K@-ZwVN-LuZd(D1VrYK>qCBq@zT7HrVu$XyJ!F?!LsA|3dnidHovZ?10^4t*pH2&2RbE0-JMRtEDl>oi9XqEf*je zBV1bHoBj79gH`Ew=_Kw~J3hv3CV@@dTa=!o@$L9Cix7ti?A;wmeaL<9`%J*^G#YZs z*f2q}*gLe19z*ddteApN5x?hGT}wS0FO+&8E1P5|=gzeG`lMUJK}^ytCA}t0sz?>` zTOK=Esr0eA60!A`bR=t4yI6K)elG`7{e^M9g{ubl#>le?qnFl2GZ@wIQ?4w%1gSJ- zW^ZDMRzeK#O5Hd;eiO_%Uqlj_Og;$I9zEcgW6eIiKEG45W-Oc-j7n|Q)_caXl_VuB zMJBu8^Kg@^GQ_Hg3^t41lzD_pA3Ca+jZRcc7&!*;A5Yh+(}n$$#%iBRjl~iXc&SK> z&B9@RL^)DE@Ctl7c1n+-O0|6*D$hBotX{T^I$WUo}7BG`Xm=DS*o{zECf1mh~&?RbG%Sy@_~o6#4B_L$2o{dl^DRvLs493kFy1 zahWVxy|cSUW&KtySd?Wi`lsT4T(}^n-f%Z+GM1WJ;wzT7q_j2*-z#i;o#!)&(1S?7lhD;{aLA z`g@kr$X?VniEXo`rnt65MdiJ}=g-S4bRmL)aXhV+APM=BFah-M5c8BdaA?7?^+KFu~;EXi4y3jIlZe_pc?k{Vh|*s7B8lWk#G+WsJW#*o2L0C0Av7dQ2to6r5Dkdms?IE; zhQiHe`^0A%nm6Yu`YCK>ED+W^&cq-sX5;LOL9 z0WPxWl|fPaJbO1Edz5s`c1RjyXk1evTUTQ-D5 zcl)}Q(w?8~SB=%9T^8;!(=LmBL{jXZ5XW0p6td&^qh+3n6L#v@$M~*Lwz!yRK%JQM z3U^UHKCx8gB|66Ay-zeQ9-B=#M`FWOdrSE?BEQXDHYS%emR}&~6j7G!PvxBill_c~ zu--S_gbZG*##@|C=vwJ90cetqMdj!pS`9RUMXo-HbCS}Il553}u1CBv^H$aJ8F)ZB zAyO1F7rB4OCjVCA=sP|SaYExqJ|ij%HW>kxcjHfOvAorz#h{h%+BSkqu$iZax&ptD z6%Tz%ckrubfYo7UUfHT1OR>DZ#jE9u`+SRG5L(#)G zBZQA+VT3mHQia8oK3e~k#08y=^1^p=JcKyTOymR-?m_7>wD;;GOGq&37MDaUcljX)!*&@O78W6#6s6<_ zR)FpM8dQ&trVdL}hzm7L2-TE@w-=(Iggy*1bNq@KXiUv@9{Q!UeCK;jRY4*G+>Qsk2N|N**oXgUD`YY^+_ThDfoVC9To?DJ}IrIRgP%pi;xzXjk#Y80b493#m=zM zLlqR3)ZY^Q3~DPSry;B1RL{_4Bl20SF1hQOK^={i;-+Qwj26RmvGdv2Vf7>X#>u>& zd3(B|tbigf`H;E#uzf%PjT+7rBNbd!ZBt>MEqQR@Rg4?uG3QJk(;$XHy`B7oai|xW z0&EkgTMdcCVZklDjyj0fc_woghs?d97={b9YG{{VD#m_XUw1zHR9IC?#9)227m^xj z6@P1TdG%@*gzceaRw-XfG+;a58;e01^gap7usY$>oe4c@01lpd`Lx1CrH%Uc9myKv z7+KkycECCvTPGb+^6T5=HCvS#<=_KjOFx+InnkQHtX{|OH2N@=CwNq;N~Iqati^>@@ZpLTIKztE-8Vn7Szu8($xeaTO=5h?lLZ?1MQ$Mbs`| zCDcGFIiot;Aet|mh=jH?QwCC?v2IHS<+xEewm^pWzMD{JmSx*^1v5!CY61(6Nx6r;7ZdtL- zx%I3uS)%!V8pPKzQ@?7!2Qfm)90z!&eY^c-!G=^`P||gjWUcD;$qiPBP!3IH@8g`v zV)FL0*MwWm^5V*BwG!lT>yJY}1=rii9+dXGm6>NZJ?w!))uw7}7S}Zj{I>8JwFz*? zwk>jM2fTWqrS?B3^X?x6rNMi%E$>sej*5)i;DXKy`r9xV7b^~N_xGR%aEYU~^Y=FF zaxf}Tp(o8sGKg&u1SFgLB+R?LAQv{W)cq*rIhR6N-~}ON_>=KyI5Wf>^ABu>8fUIyaL7JzIHZyr z%F}V}Z1oXy^~mO`{fv(`cFJStp@VrX?)>!J<1rV9*C+H{Ozn)gKofn?b`AaZ*OCs&2QB0Iof{i+cy@+fq?R(+W2 z<(ebE*jIrw`{F;goEi6uoj1?~wvlpsn5v2FC)8;ID}X*ih;)_o4%&yI+&7rJxCxdV zb;h0%aHGQcnr$S9yW{y|_(iXSP(!T{jqb&dW~N|KRub^<#}*&o(!kaEgxqQ2d(bBm zSgckjtJ#xXa#Bok8%!|8$=8fI$*%0WT^2i7n1TD_!$q>|kNql{8?^4y^W3kleHwh2 zT!dCLTeNLHJ9J<1VcNmDHC`94xP8;k9H#{ybdPP%C6fphT0Pn|LI-uvir4UTZ^PaM zwZU%5ODZ)G1y(zoPD;PpIdJWl4&nZFXgj5v=;h&yGfrT`DHqFIn-S1RFp{_?+Ja86 zZT>O7Yu92yNmV6a{yD~%Bn!Td7iawZj5^Ys0Sqtm;r)Z$0m|7>h!_qXerY#Job!Rn zZ1gl3+Q3+U=If-e7>;@^NKlhXsrdT9Nk3Tx<_fzfq*ps?H$~j9Lo@0-JDwg?iV%f1 ze>lNe@tz}nmTrUK&+n2XdGIPjVfC0XqBJ;g|-nZJs>7 z^jxiR=xjeDaw^6yx>B2hyUU_x6H)ri#Yk6}{F2m`Vow=(w$e-eLXT4?)hxvXEr#3IYR5ZkKU@Mhhw6qB(+Qh%>qoaiQBzOK_f@JAf@6 zun4=@6B(rzksNI{Zgt5jc6xApZ+@?@H4|eqnv!_V`(TY*V??=jh)r7FV{%&F&S)W^ zW<@8vg`@aER# zru^a^N0ZRc+lftdTaW(McH!(KuYA<=NC=Y&w^-h^RfsIiBIs|fQ+eXe@1Sf3< z(5|xRE9c7BR$hO<=?mc2nw*^a(TqrR#yJ%De%kM@*l*}a2f;eDYHI-Uhzs>`V7h#c z4c}K<^+Q}Q*C-TZsXTjmANRh@%R!T<*T~|qD!=<(-RvF-{0k zgVITPYLiG3>-+^g37K3yzDS@-`QiUq7#|K%y(`j<2b9RCiY}r_vZ5zVj)k-YVvA=H zcN*^?R*Wzp!yB4L=!$%1+jcYrd~Aa#P&^Ke1_j26t>e^6=50kEDPiJ$&^?5PA9kHw zcunfGht<5E&-*4iV$^2N25F55s@Oj&@gDMgbA?wuMDtXt}mpIc~v0Jy8*)DT2 zcjiA#S8?5Mm6; zQpw)^ow8*xeiKw$IwhVq$HW%J#{##|=AOQ*S>r_8lAV6>N}1Sm?A6i$_{JP1t87=P z4<0@d%5(&QhEtdK(0q@`ntwi1!{UQMEmS4Q6yK_BU4mma=Hgr~y8XY40#=8cU{^GW^jDco8xNX{AFC=^*i7HLVl zC7tB++Gfi#`}B->3A9Q&69wz65z_L%DKi7QgRyiqO{eg6_U18Cwt9$gPwU(f)-CVb zS9bFFs2ubILgg%mY$?4Y)5OGb#@_?7|DlWa7-eR0} z0NrwvM@&OZB!8xl2C+pOE~m^58~xqeJFJfxIVH*#HJsn|#r)lp2YJe04=sw1o?+=B9M%xqL(pF0+>^|8h%VXR!J5I)pZ91r zc{Xo$Fz(d@TV(wVE99{mFOg^CNv@Qn$6OWSHCdOa3*HUI&{>hYtCFtLejla+>@2GV z@;OS?=Xac$&9iLdi2kO^)MWt*>pI}?H-xd z`54b4KPkPHuKT^NW9KZkblQK+(VXjevql%GPYcJfKVI=a?kViNxv}PThknHL$##4L z5>E>{84HoyugG?rKlA^9e>Q9d*eM5qVft*aQ9v5O^Sot3Fe_gWkuG1*c7c(jW;#Re z98(xD?5kePZ`aLmSI60ks`hxsLR;tmR>eotRgtoc$;3o@c%ac48FviWUWFM)(Z?k`Oc79v$GZ1A&JOCo9p!DZ_){ z-b@ZRTG(!V2i0nTg+JnN?^>TmpOc->GfF}4;$tCl*4+jLOLP@j?un%vIEb%m!* zY^;#?U||0~T)-pKXAADFd*eCcaS#0t-TBg?>G4c=;cD0?K4hzjSuQl+HiRLAau0J) z&-gdFIip4caE4@yw@bWJrARipGu1oQGIC2$pCZRwx+sJm*^jdchWW^{P6 zgxKmap0Oi=lLk`zau#C^Zt%(nF$sT^nKq;EU%|eUqN7nt(H`qawaE6&ipd?F7=QOO z(d>BqUh+ZPr$$z=-a+~P{SwT(?h8qQ{%k~C^^L^p7SEM6OPda5eldG%(bnl5iC1Yg>L& zh{(l~j&}!14;qjoNQzw88GRfui}z3FyyWhkN{N?3Rkx~H9la(|*06gy0s?VeWIUKA zhl&>S#RXOvV0NcoVh*G$q}h?zTI$ZMBd9C- zjJh0?py~;ZcRzvf=inT-l@he0%IMam1-tho|7XsN$~&Y*DchC$_2S3oLykRCqMTBq zz$?mo#dR2;3OH1Wa}a3=GR=F(n(^t>^Ny(8P1fm`m=m>`--^V#4y}bYp{KEkt1fPw zTB2rX1JoT~tI(IbzKi;bvP5s&2lws=44=^Q#@jZ>1Tj>+(7aC>{dN&5+q4gdR-Y4=%s+k7z7(D2)+pk>&2h@R+bSFQ1oe!WY!g&c^K z-BW)K85dwzU4Wp-Qkw3?5XRUKWO=*xMn5;EhEA;RLe|~In#F{g(68K2UNhxsq26Ej z!{wLMsv?zrN$s=7mCxD<{ISl8s5&;Z8RC57g$@(HK9O)&H(0Qb=TaoMNMoa<)_s2E z^2<8L5es;hQ!;lbY{1`EcDDI;@bj~@BzSVGrd-9bZLBPOdz7-&#!7jn+bYUc-PjQh z6R-W-$r_laF;wXT3SHSq1iz4YpveyyFTd@If5b@2a>|ZxXTSPH(&ln`Q7tw+wR$Z% z+M}UKdbu1?IIVKzrFE2F^M*wIn60&L>bAffnQQsM-X{HZMosuVHHsC%m zLTYBkAv#P7!&o|`8EpA;FtBQQOgy!`Oz`xz(z%D7*mY7kcUAIuqSIDk2W3|*F8 z^e1ly3(iadoUi{T$UwgkWRy{L5&j^^=o0}t3ZRsDX8h4% z!Niw0O-RvnMZWxm_TQNZ(14DxkZKB3e{|R!?S<+iCFaij-;Lw>`wRYne-``-wg4zz z|IH@~06I)j3db1ohmK4rfR2Q4s(f;Pbol?-q}a$QBLQtNS)))TOZ#}H06){eq|TOb z{MRsj#R1eR&)vAj^N04=Htv{xB>NtbD*r?)yutC0K40Yl9p~WFUB^D%~O7AxnoycQ;En3oNj_%kw_Z_r3q{&t4bT zZ|2-*&OLMPne(MFU%9{8P9QN(RoId=xljt>M~lW^j~ZS*`hzOJS=9}?imha&(uzBy!YWw zBg^R(dscm~Z!&(PNu6lI#PYp@`%cSXb2%K{U{89>c=c*=m>Gq%zt~!*4EG^FJN}>h z+KwM!c3jv?e)Bl#c2~6b+)A;P;^sk{gP`J`rDnM-4&$fZ0F`%m94tK{0Hd1^FQkyy zC!BHa{-CwFvzD57FafAfhFu2PM%EhifB#l$??DWHvFF?+8N|};Gc=0&J~7XXlK~vN zS?1Oqbxur0z3)0SlB7VPZ=}0jWRMp>?B}Lp&y=`Xj%&*}@`3|s>h*PD@c*r_2-aXI z8W>x}0G_vxa5yU`U0GUvYBthcS*{e0Mei3cVngJ27j$0QX8aKs6T^ZH4GpObDrCH+ z+-#f}X1D-Bl!q=1V-c;$JP57)aQ}cwx?R_u5T9n&oyY>AI?K8`mA*P{5x~z27`&Dj#&vB z*kmSmTnn10}ch#gv#A*mx79_znvZaIyRVZ&CznP9J+?#D#IQ(aZx>)43=K|HkY{WmNT zlVCZ2uCN}>ZZHN1pl-9+L*cvl_*hDZn6d<|3|#FxYedpv8zwCuyfsU9AD1q`)8?M4 zrh~;*GC-0KB07~6UZ%|9*m0|#ufx7hdKv=##jEcZ-R)X3=q+Do!nK*F8j2FIS#c4m z);@!x2{`}HcI9=(=QM5+VLhZk1$EA7a(@Y=@b}#?R0Kg1q0FmW;l`+=a+BHDyJB*g zE6he>?HZh3j$inPqoPqp%^pt_i`7%GRsHOV3wn>g3R|A&3hEAqNS%WGcCVc8NQ6U} z5kKOJZq)Pl%9^>uV2C-pYOhp7|BK1l3vC^v#I$L#N=gi0Rf&w36Eed`53L^m@kt`N zGeLl*{p}D2b7t;Tyx|bnX!y2_kLc3baoBP5qpA}RGW#{aaSojIenGQ0Bq1jC$w;#f z0hm>+J!G&&-1CrlzTOFt;p6PXa{4Sr$BGQqt<$u+CjlKvYL z0#I)=P#-vGjau!|eye^O#MR--z%Q2SH({KZ9zp4gFG$I#<;{3wP-jnIVmvEZ@u-OT zqS^urV|1DzkRsq#Bz(cOECI9Z0wSb@60PUJMx^?BxO^CHoTjp3!$YLj_{EP7)hchw!wIHR1MxEUegg!5`MnF5J=HLHc4#X;`BR2rHT>!`NeFNU z6-GkaaapfgmZYM&DDHdT|7px+NqYS67nl*j%Cm!5JoS$9UU~5MG>lxzN4~@9mj%RP zq9ZwP2mW6dTfab`U9=JT1&NVT45K;`APW-~YkHkeQ;NQpD2;^)BI{!xrRxgEkKj7{qu(>z->Iq*|rO|^s|C8Fv$3Aru~BlxyscZbJCzC z;%HN(_8!QN`))CdQn3Y?1sUg`d;My(7j21r!>(!`;UM#E$Rlx z0NW+$vQT6PlqsMzPXVjLn%ApA;o>Ld_3!Xpvp+oG@b%4$tfim-J)Z;^&`~+M*X>Py z3Wa~-Zh;umQ?g+w0vi4FUF5NO7G7fds?rsggvPQ--~Bb7+VBKaYb^tU5-dvykjrj0 zuT{ii-|?56O7=M#d2kTH4rS<)S7YpdFz)}LA~*SV=JgCKX}=^Ls&sxWw(nGC^pv~t zdXzIgW8>if6XsU9V?x3Ym{1`ikvj4}@a^_RX){|O)G^yshj?{)0z zt$Bln(0estnkx%3pvC6mOK-_b4Amghq$&6Xl-~vMH~a` z^@idFIt`}qhh{WwFOfSa!@!dVAu!PS$eB(AY;j|+7<92JvLHK85LiM_ayf^9KXleV zMw`d}9BM?4sf_rxU7}^ebtH9O*?M+u0#fHAfoag9f3M~HON4m>=`~?N6(8oj_ZL~y z>W0L6+n_m6CO+}joAxrs8P~sSB?S7+|LLu0eZUS+VRV~F5t7uxWYAvb-1BIO9^^mj zU)DMvShpGi3t)WDjK*T({$6E(sE<9mjX20Q0Y_%nUoxq;?EddV@L<1wlLeKKL~~R+ zv|JxdXII-k{5{@Z%S)>mFzQ(ZHOKVqSf-X3o(*u(jsRPj5WpB{6RHc=@Xtvw#W9_0 zb6QQeE71&q5r{V7x}o8S0Y@vkxA=HF->?tG7SJ@}enGpSkLKs3>c5c^Z$T@9jtdPc zlX#IJ+ewHbi~=etRECot&&+%L|Jj)ClBq-KCPAa{<_~~c!AkXP;sb?=^d6&4E zTwEmX-yfg^SNXvP6If~^K5}jy%U5EZG2pI;I5Yaa!13^{Fe1Jha24IVtZ5IzDSk`w zvUF+MJRqa(!Q!2{h|iL0XTRmH>=vibZU3y_{VBh`8YQ=8eMloT9R&3BYR}$Ak1^k-4GSs``T|9Kip;^O#k~vS$Sc@?NE6ZVirN+; zhB=b+yz|Q9Zb)qJxAiOiBOS4=Khs4Sf9l}5KaA}_iMJQ6K>DC8`3I|}r6}Qm(E`oQ z@FmbMSI>jFCv{HC44|8{?$xYG@m~$+r3M1%oX^11>K}E6;?1}7k{Yn~S=M9F7l6Hy z*Df< z!XgTLNMms^#gkS_r@bNcb^@u!Ca!~mdMyt^bMa{bw1l=PW&QIbqP0;Jy`Yn-hxdKe zu8GewdT!CP{`#YUJXeZoU!Qc(EUFYG%X}SJ#0? z)cODsEb@^`S)ft5Xg++mceL!qUL%8=_(9F_b`_r4ZStR$&lMisvL{q$aSd#+^Og$e zX8ds#f9#n39_aP6hI5DsF+V_pGwOL=%TYBzOrjP27xcW4eOU>@a_8NfzF}7U=kMm7 zB9Fp?dE7(xsvsq7AT%jvcJTc|xyh{~)peu(9<;c6CEDC6S<)*!Z|?0)7bJtvIY0X( z>0p7ODbMJv)>!CbtnMPm=zV<#j(;3CP6-|j6aMy9R&0qm?zE3%Y>R>69<^C4*^Ogk z{c#VhYXcwe2hh4#sjUgZ5Cb0ETl&R4J?@ptcR6x(I6TKsF0vW{?~Vv`MAj!@N)G?R zu)c5q2Jb8~X*mW%K9D_pB|f9D!PB`_YrNl(c>*Wcj<9Km&2Yb%^?ZbM7~^e;P-ul| zasujOi3yL|C!8{)dJfLnRw0Rtz#>x=RI}>spBBpZbLH$v#!`i=Pq|E)>$tiLY>$@q|7-j$EN$tS0o>*?jNvc$;FLrbF05Gxp0Jalc; zd*>r$f-xq&R&t?Yfgm7K5R=F8bDPUIM8Hwj+tq)i%{h+XBdmj8LK&nhSJ!Q+7~9F6 zG?;TOVnb(8rQM4@@viILyvyE6(--hPTxr|#O}cI7;q2kgjYppU*3&8E`>Fe1VcdnG zsD&>e%UKB+L$y4sg(4-(QsCeM@acmGWp)k4DGz?v%F6SYxSug0)9UZ}WOMB%*A!5Y zjPvuEXY8wxJJYqU2-CxwwAG2lk`4zu(!RB;2{2}!lUmN>rtTZhb=WavrYGi zf|1%~rYwPGD}GA)Bnni20$VtCL4Ejz_|yPv-?Kk!P2tQVw)mX7FmcZLR_;_uD*0r@_Hy z?SyTk&+o!#GE(9K4m3G;blR~XrGO(VqyaMn@Zlgn^T?#fO%s5>3LWKvo0-7Y)l7(U zra)Tc5sp9b-O}%R6uf383PViBMLZDs6*iYK6^-Wax&>~-m`7gWb1qNPLmMoVMPxaz zKeTEt(=TPX1@;W%t-mkQRApR}6cJ64y#H@v~#Q^z)`k&F}Czn>LH7 zcZ`2s*_6-%DQ2Z7a`bNy{h=^V4LhI>{YPBmwO~VZAX0R%@bAET)h3m83r+7PC|#9 zuVwI%9cKENd_UA9+PTix8hYY*PcoiqGV{rFP0#Zhh(-Y<1vD~E{_H`KWrW>xJ z<+mYg6!(0I57#0!vF&OC4qh*oL+fvPC)4* zKuI5ke(Q^U?`Ej@6bwjwdOoh2mcw!r=iG-H zN|QALg>4<3xh8%wv4b|^MTxoSmoNd(Ok-p!#B0jo~nv4(vGX^m1ZhoFf9$venXomm>&3j zgJTr7haC7^oI?E8Mp7rTZOx!OCiya=?4B<+z_#W%xC!7Nec)6xTzMBQS#N{9?t7p( zyoCYtMdLs0AddY|c%BI%dgx8;K8F@1utCT^!`qsg1$kSDkn(XGVI0QZ6sFD>6Bp(t zO*2Ret*llfFlQZ#>fW1c6?6ODEFSeF5jZ3+ya>FTpI#!Dck*G3nuW&|^2f5h5~Sa= zSg)dkME|0h%cp-fhnQ^^8*SYZB4AN2jQ8mMIlr0n%DnSRb||^Ob84g&nZ)ZjWRqn# z&zxm<7EktutH1%tXL*tngF=R8+4bhc>m~o@RUtCBN~4gET~6L#tbK_!9cg@jnnv3Z z3Q>v0`HF}&C+pe4_~*NW?G(~=kNXT$oYi?qEdt~(XpZB5p)?!f8@mm^VO@|e%M_~) zK8LLF_@L~MwbzEPO29~(JDby``rQc zBFhMyt?1MJy@eA`f%W%2n8K5yw!iJEjRQQlml}msB#@R>#*6eGT#W+X#XLhkxn?|W z3eA<>`m`v6Y7VW4os+E-ujd9dGc<@$T<|4)R2I7o8FKdwJ2^{dO$enlPaTQ|D9r7> zsM=>DlL0n~t=%0WO8J({95}Ez@N-!A*?I@p>UmXC@7H)g{te4>S^hS={tLIhGT^&f~y_E z-xU6RC?g_nl48(UVee5=%b{K!pPNVW-*`F}9X5ul4BgyS`>Vza1J6*)y}Iy&W-*!h zlu^?uH03j`F8I3vs~j%*zfJ^P7o;3B%oHOmypOes#iB(4Jo^-)0$as znnbCpfZX@`+YS>Y_o2Y%Pu|;Plj%e2!_o0?#po5lW6X&N;lEl|@FW(~@Hi`XbJk&! zb%3ACizx^Gm}S|iBZ_R8=9f!(rcHR*s5x6GLAWHp+wVJrnLoEm8U#M_)chBjDL4(Q z!nXe!cu!_@lxF(*4r6=+s6D_{jB#6q8oug#jsSCnq~Vy)`zUeS^Cg}9iAq^~lyWYe zt1Nsgyt53Chm`*HC-n}nR7@(libg6LLQzx7-4XN@7*t3M!)wMUm_?C0qjJS`6V zKl-zacLfZ74e!_wCIzsiokXduWfbh@?1-P}ypTWq#N+#{k-BChVSZ@QV^;~`$=N6# z)wE`ZjkHf-XyM+cu#vHe1;KvqYO#;C^NYPnu(WLOUtEADnrl_rP-T}n-UeBHRT`9) znJAB@K#e{(3a`*{RajJhe(m%NTBC3v$7TR+7){tx&pQ$sCzz98^U><%3+v!PnPL9CZu~vP7$Vb4fn7o zru8TVDAx~;ymSZlsz^4h@QMcPe-P%W)r6%3{5;x&XOO$5A7Fc$&-H1($w{RidWcy9}2VY!;XxV z?VIPCJH~3~JHig0$B|!TvQzeiF~e0z5;heU@PLaHV$DtK*YwI$15NEOHJ<%ssEbe< zyyK`3VSce+)9*XUdSuwdREA5(S77xHdjF~?P~){JH7$egAC{W_8}B)C{!PgPjbOd! z-sSUE9L20}6BN6@Q8?MpFFheL$m5su56@_dSf9&naWGv+AQXCfqZo4PaW}kR_J^Co z_mx%@l_c+UvGmZiP(-nbDHNpXxbMQx)~h z?UO2U;KNBIl<`9^=1}7Ho>w3Sei2F=b|pXV&}UTbZPj3`^+#7pJ>!bY`cur_v7)1z- zUuueJCFvN-{rv8|}rRJLQ#_e!doGT=%jbON+dDh#_ zsm|ge+(NF)_)%PT=0&c_RXA}?(OJ8YTvz#?oYedi2n+Jnq)s;MbXCr@y?ePxcqc3r z;&LCjeOf{b_D~V=%HL0nf4yA!W`eypiV&Xe^&y4VQDtUv^a;uZ{?~cj?-H{kOM+M#m z(<$#mX*0JvMgDpHQ_H&xspp7BNW2{=52r%cl?`%1qOed^I4KtUfvYZLcBDb1-& z`JzC|w~mJ`myqXjFo`Hpgto>JbYg}bfkOlMYVu_K-XeAE{gB z8^ex?`6w}aUP9|O@cQ?e*?GF3#CD?y}|ViSl`agO9EnZO_q)PDcJ75 zh5#RyfdayEb6$QMw|&-3Q`EZc0mz$wvCH|Z&Z+NfU=3{tOctN-mFV_WJrTPDm7R`A z?h%LO8OJ;S36HJ8pYh!XWb7!dlg@+qe(4-K9H1bBo#?iPo`2im50K(S^xXP&O~2#~ zj!=Y;21{>or-z==%9otf-vX%uHa^c9%O1lZ5(&)SYEi$d@pvek+?tJD2wov@YA7o-<%%kAnoq{{tHT7XM7yg@coN`G^}Ib zL&ye!W*V*Mz&l&t*vX&zmTv;m-&UtA+9zkYugjG)&|andqYF6J%w4CUj}YvF$?n5t zw|a-f^jI;^y2OUt&7N5`s^GkbxTZG&{ zLjmLu9sRm<=%Bw!a9w#5-@eZkda9|xt+7;ZPJNtnlsaFUWdC)RI~w|R$ei5!6-oC} zcWwx-3ELfdB!sMyi#RFo)0d+Voq(5l$fwD{p(Eh;eKleS?0g0h29;3XTXcoKSa3Mn zY*n5GnSxx{+rKtmZcR0nd#T+xdTQi-S!}GBl$>*m$TIt!0E`h(*OMWM=0dP zZl(O`vWxb+0Y6!jWC-``ZJWgK;4)>vA=-)~sp7an9wbITF z`}u!=&Zww}=Ui?tvu$=rbQ zT$7A1?MWUzv6pjoq9p4O2&0@-FD5+^;|>11nP&Iy;npdwCgfPnzzaB%)3%t>=q?AI z6c9)z>8Irvw{7Bkl=GUM;mO4=pL;~>T`8b++Ts<1yO~CGs!kNAa79C~FOnVatBuB6 zE+5NXIZ2(wd%Y}l&Ezu*+16A6-8*Drx&4k-FU%Z*um4$nd{nS3eY|p~j@w@W{?xI& zq5V6p#i%uOzn7%R>|4Rjun9qMJy)TSuDLLGB=UCASH->R)62y33^8Br28Th+TFMgg z&m@&UDi%ZNyCGE+;YKKl-VjFq_8&Nf-$CuCrxlcdw}dbaUj%WNSN{tp9{T9L-YE#i zSio^tsacgPkN1bbi}t#UJ&(flwwOmz*x>tx=J4W|?(oQ3`UQE7*mg0s^mXHK-4#)f zq1I=5OHBFPns`i*`{kxjzMMPul(kImGyM<~*caIg>)P#O^8>4)np-~Rw|Ez6C-FQ- zHDX!`&MF^%cAGW>FH@>B=p$Ma?mia%Xy<^SXobD5eO0x|)T_!V=o90|`;W-_q0^Qo zq~=pRMe!XY3qP;gYE66pb;>BJxIZ6!^LLmrZxdXhsp5XP{|j_KBJmAYc3&bWJ>DzWo8RGM;Jh(Nk^wa{HprtA& zIQys?0o++*);0*Ws1AD1hBY8}fG2(<9;&{~Wpea(vFpUVqsQUklPu5W7O=vJcsOhY zuX`6@LHpWK7*Jr7JN;WC^J}mhN@O;;6X!$0zPK(+0WulQ0(6K)Er#PfMfZN&f%P;zqP3BL8R z+Fzd`jew?b<^Fl;UQn40K8&!@;YO8QY-i-oVvROC&HtbI+FS@7u&(z7TM0%lP=bro zu#$bj>wZolwXy`JyT5m|c=@<1eyGMdVF5A?bRk)Vu)r%%D@zQ3`c#L8O?*foM^~Dk zz2V;i%i2xmBQ{`lK*Rd##puttCD~HzHHJv(-2#Z)`H#36MFPsigw19Q73!be^t|^I z&Lf{7|HBhMziHKqIl5)iPaM=F4W_>{=KnM$A9no zQHKUls=32Gy>z=R$f9@GvlEUMGH7}zNzcR7orgPkT46_GK>5-WM{l?LkI)cluKE95 z*K<;o?TlMyricmt)XKpi-hYq{JWL+in<^y&?`_{e{^4E(NmLu-x7eXTqlR21#N2SH}72Sa%G_q%Muo!tmkle_7wbT# z$=uefIElohXEKjO;omy%OdapaUOFb3OUcdUV{=&6!3VF1jq`h$;}AE7%r908!7kbX zJ&!oZXoTJ6Q$%i#D_jRv6G5l+DwuP=6 zU79wbE0HED;$h^;mYFUO9YNyw`DNDIaR>cp18v zbK>{c#&t~)x)TeE@LCdm2W+L11EXqc0276exTeh-?&-f=Ox zM^)c}UKq1f(lOmo-Ful5*PHd{^ZFj<@?NeKJv%Xr?<4#MRjhSDwr9Dzt6fp|-^&YN zEt<21D^`<6I=q=D^e1+Rsq49Fz8NAhyI*ri;h=$YOIodzk{=yYjFhafaC zc5`8Zzb2P1s-`&aE7)s2kjUpUSCc)jn|?az1XNpQxbOFDnnwLr8EGGxYBTr`9pu_%~@QCrQe?>I}tid(pbA&O7r~S8ylEo72@8~@p zhz*?d=x^Vx!RjY$Uot#t&IW?Hjn$l!s$@TA^uJdavg!>gztF6z|c>odlWmM@N3vYL&O zxZp4mZsj_#kKN0Ir5C2Ldr#_qLZ<5yv&=jFDLkwFLhKBwxlESn#m{gQUCS9fYOkQf zXa9yfWTNR{aoQ6g z;?Q6k(%!Ean?bLmLY`UpIC*kR#Czd>W~6a9oj1S4MeGUxF)dfDRBxA_X?Edg)z`A8 z-egrpVt|8EyVWH1Xbg{mJBJPkYwBzMI^o(^xFWfov8@q82mV@i0?*JR5TzwgI(RXx z;cDR|vsMX*Gf#P8dVmnhr+&h!*4vDXcM1$~Qr5laSJ)QgdSJt%W=Xd)7@M1eQPMA^ z%c0sVU!4QB8o2z@`fTI%YK7~`unfFMj%lmj(#F~ZYB}@ge0VY&E!SbB3d$&5NaV^m zI~)hRWXg3?k58eUl{CP`EQRbQ0YB4!Nk&`>8`r)tL=NDU#QXctgw{I|b0j-N>`1lz z{`mqY79_aOuM>RpDTImFv4`o~_W0B6;^e|}-lf-v^68(3w?+_cWpjm`a||9vH3Ig@ zPBgqsd8K2H4nVo*b9HuX+e~2;LAI1FS)9{f`V8<~V>~ccy3O=F?IZOz*x%Wp2_9vC z$7a?|$XRxXl(ugTr74DlJEGWm{wMa=7doCP5xuQnmx@d%2wou9NhLU<(%j!s3pR1N zdD;WSpF+WIj&THSEv`8xi;vFmnQ4N6T=T43VwXyT)G61Ej~%=OB5TUSdD&+RU@%3u zvm>OPe@Be(n=$ZSV8pk5*{!(K1n%6Z8ga3Yk!d%jSq{BFS244}a!fcgoqXD?esTUd zHe^uNkaLzf5G$ymSzVu|aJ^X2bY5@KbgaeZ+XBC1$r(uLn>8v&`6|3H#!cQZVn4QN zZBJIKDrnf_^Y)o%c`Mk1u8A)C%~v2WRVL#;j{Pp7L&xW9Ol<(sL5b6@d$aF!Ples= zrYRhoDtwW{2|q7}{!d3?ZwfnJ*r%I}pX4{A**xMtw*rk^zI;u-Drq*l=)s(FWNj|P zi6!-kJ7>+0OYvO>f#~_8MHct0e2scMv+$znavOl>VimWNVPn{YG;)$!=GH5t(A}-} z!bmROZLyXVD=pz;?-8H+Wz(4KuS|!PZOxvgmQppqg!^EVb?f+{=opAFh(*==ZN}?k z1?(8~^LBW2Yk!|@OSLI?G6q`U?h&VX8dCH)=<18E@iy=~j%u4;{_f=8`M!I$_rYrc z^{a#R{92qwT-V+4dqmjwer(1~E^+recud85D=?B9<)x9rK-p9$!MQ6I*_mr@!j#*3 z8g42ORCZ7za~V@>I)QU-;Wv+SffkmcA1V>F-d{!B}?q=Sw7H^2JZl!UneCr=c=#B@Xm9kTsAK_?t`1JP3 zq?W~grcPWXsr-mR(sQ{g*5V+EXVIY9u6;e7ruU>z>0Emq8D zIz2XE0c`6i%(S`N zvvBCPLygN1jOK@r4t#Ik*LmE{-q?eEVMgVf68d_g(e`iSSkH40(}zSMLawA3iWbLd zut03%Kn#L-MuI^1RzOR#@ILbT$x^e$wsnX!lceFKuq=TWW6>v1PG0!cCG3dN1>)P<%9IEBD6;#kuVw z1MCfwkjZN~9*ZOf>k@r>;9|SA=$z({LZVbtGf?Z@d*>xJ*#grj%^xdXcZKuvAwTU|qh3i|V(JIt86^`?PDBQ9b+bRL{y1}FrJEg>*8vL|G9^Vr;@9lJ z35uY?AkQSh7_t^0TPOy=zu+F1ZLq1*N3Hz5{Y?e)Wa0Q=^7RHWkXD?&5`cM!;YUH- z-hFaS-pI0?n>`~9a4apbI@FgN-q({WvHMD}grt>B*sDuz6zp5Z`^5HvMY0E0;34>m z2bC9NN*K~n+(*BEXQFAKB0jCfeguVur`cr{7SJ-|(+98DSQ!b%l5P|L9y5uA{$*+L z5A^q1(g2u3?1iyseeZ~oy=n;78TJX+8TLwTv+}A-^|UcR!A#71KS7c3n-iulc(}l9 zb?*+9O+Cl876j?pbvZ|l1H2ge(jaA94s@yNI zV)r~)O>RCQ^xu#YAtHTEBWNH#YRQ)5pCWeJ0yoTZR{No%>rnuaVhmP?8Z zx;6{p4NDGijz;DaG>axjk@j5OdOejWd2RN}~H=a?T&!= zlcN4+V`K_Ex-?kCN1yADJ{&jGb$fWjY#--keXjgm0K_Fuh^?E5(fmP@e%}2pLcwij zyes`)1&1ETpi^>pY)AglYei*~96<~cx=)bp-4$z@mlBnJ5PNaYjoi{M@g4=yHqe}=2+^0I#%h-0 zaQkFpfh@O7AcF9-leDs-ZPLALMz?h*nUK{yy;nSeRHzJ>7Thv6sOpTX*~=We zMMtb!_#sKH#rn-RXlq1c>W(s<4`mEri`7U2#+CG@G=0=LvhUlYC6t>F=JsX!p_*=@ zj{TEUjDE`eVu|M={H<1q3*qk^BD>8O^fFHHRxT@l-edrEIC zmqqDPy7Q0Qb@*`_C8lvht_#tR{k)Lw7Ag2Dx1p5(43Z^n9c#25trGnFQsDU33QF_Z=UQse#AX&Kg`*!hzM7tA5 z+bf_jxDayW1*m79N!`}`@cxd-4^J7$&X)V@@=daB{XG-*A#@^$h#CS32PCeRd3G zWMZB-xWIQt*~$^%qN`f+(~yJUs};D5+$ZWeJ*IC|eXOhCf?^v0j>y={eT|FyMLV#Q zsCh7Ym`ZdpxGCk!$%ftCbu99X5U%)SOfDZ}?e@JD*z z+b7}PMPAG2gOssRMPmKC-!^)r!n`p*@coPQI@f0vT#>kPCj_0dOsZp^ciLg5DVn=4 z|AqS0T3&3BDEjI?s<)Viy%iI?E_YprtRf=8hvt37RJr2olNHckc z=$N%BvxIrl>HZCMe*E?~YZ__2thp6(b!(<n9k`B!JJSHik@IRCDk zb@S^hoRQem4TGGh*J{AE*BDUIShBPR26BIS{{@1zp$?z?+f06SokJ~Csm(dV#pgH$ z-|AyMiEc1_0}&Ki{PaX!^BJma7_X+qU_`%to`!G0pe0=1k zLNJCo$I>0a+sz;ENbF@xKY_r+I1*2L6kDj97BuGtH(ONz7&E{ACEOWafPuj&_H+Y2 zxD`%*G5x#mM!f}Qgl*-HctUWOcFuZqR^{M2`w|)~aO}dP_mA~SdUXob(rcx+MZrNV?9kR0K&sO^ zZ)#lFU+WOy1>k;%{$$L3>(KmDsZ08dT?^jy8}V@$cSlEN7Lrd(=*e-%&{g66UkPJ*a>}X$^^R>tb&Y*v<6xp&s4kBk6dE@ z@)u=I_zvwIjd=~~|J1G2@aDp}$^xI93x|bSw~0&DL(cfCWOm=}<>+JY2s;1cmo5qK zp(vEpaHgQ=?oI1ws68**;h!A~objl9yY>&$>b`@*3lY8f&JVSIS97)`W(irv>{)mj z_-2F3nO{GjSiq{pB2rHxHJA7Njr#w5mO;6ELe!5>O&5#wIl27VMHy}I*n z5uti1gXp~y-6!kY) z0(*ZxCWhM|fr-?s%oj}j)cgXWs7aoDcwyZJYim-QW>i;0mHITa6)Pz$`E0%=JFRTAI3xFo1??=YBv?31uF}t>*EV0fO zLZ_=3w#08zvMf0-tSd5=Lv|&WaxepYxOVwNbA!qp zMp^+$`P`5vpa}09#3Ryn(fL!n<+VvKV5u6$U4>>}b)7-=&3vB<>kPncvX?F9V=gi0QM*L-F7KWlwTwN1pXF3rr&5K!Z`UTv!2 z)`@}m+x`BBg^#9h`mL)s#Qqr3k)RPO<j=rz7Du3GJKrr!(2EcF6`F)7SXKT{qJ;3K|iPDoQ~ zdb?;>OphHUVivhtkD*t#Z^5XcyJ1xRA1#L zHtnd!rbHIsaqw%$o$~$>X`~45w?)Nv? z+2)l8+is>^nO}xLo}HB{nZnZ1njIr%p=>+;Uq{kYAP9Xc%IdEbP{{uh`-* z@<-~ET<=@=73zKQWJVmgy>ZxP#jlnFM~CWCNZ`3O5XSPKaeG$# zXa?qQ{z1{~U^s6gSwxFXEaD}gIsnMpbo0)mFtVF5211>z~OT#fZVc2v9xE$b6dfM zg*0`I60(M>jd(`l;(W=i+QZ;=YMtRu-nxAsy1RidWBrSiE>KM;*X zFz_I+k?ILG*egiAa`fddo|g12TYnKvlE7g=noLOWD@rfZ$L(;QdN!A5%t0EbwTEm0 zH{$F-N(3SSc1Gr1ejifq8!RI`O;JV^dl`3xu-j<9`1{?pfp^69bI%YeP2XL3RsJq^ zstwC-g*tq`wWspheZ8^m>(<72(4FSdpg(zA=&<`Po8h{8T3YGhOZpIqO6VN6!K(=d z<-4f~;k}&5>>$SQ6}PTJ3G4Y|M~isw*MS~nC39Q9be*mWRMwuffwO~%iLLM ze!e)iX7euh%lN$5`}hOi%;lm_1eOs*i{{&kNX9+p+bhV`V%TJ3Tmcsft7HAo<82Xz zsa=NY363#kYvR}ZQaP)%tc0J|tFeW_l&Q```>Cu>{3>Vuu{qe1Z6M-f|g?6~0 zfCd+TH1z)XKwbtAltFdzG-?**rT5Ix{<&S750is zR2Ui+gv9Ibl9JSWzJ&SJ>!we?@du||?QTu~?hAuK)jA=SUYf={DX?ma$U7`nqRvP# zIYF@-)Rw58 z_@Ri{yf5@dWX&cRMASY&Sg5hAS$+<~yvk|lIdvABM4Z4+5_>(qH~M*Vcfi9J<3|gi_tKNZ#Rq=l{~`GsFMYy(4UN;y2nBn5Dh^7AkqGUxSAQJ zBPmFC4j~-_QqrMFclQ9&0@B?LQqtYs-QC?oGk3oG-1`sCv(G-~jrFdzXh%XzCgn!= zB7;mq})8L35NOCt;XZU^w5UoM_vD^vFM|(Lu2DFW+#5w68XEmk?j^bUNi{L{~+I3 z^M{K52*GL84}G9`{b@w;!eUFoy>BAuC>VY_gfNYO059}kJGh7=J@CX5vTUyNqpAQJ?D1cn5pb&rAw z3ZHs8I7PTu6Pdh>K^>C&rlEdrS(c>*fP{S_`{2M~?ImQZx4T75zgNh9PrweCFwd@o zD-2X@*Vok0RB<*gx|D3H8fG_WkRL*YfC zO*^l{+VFqgRedt>-MU#3aQwZ0V+K77(W~3tt;5bX%ee+?zN^9(C+EJhYz|`LErdJ> z3Zuq<@%DOnPyLT&_L}Wy6ZhssKz)I6LOrj3-ObbMvB!3u#|#aA8Mz8ctR>Wsvi!0I=aK}6LV4XbFiD=ku-VOg(Q?Q6 z4wVD?+GKUbw+AIp z87m`HZUAeCVgNoUW%1Jw8NT!q!|+2CU59m)MP#=QmE7xm*4JIt90=nCC*}J|Y$_%L zbL1Hicb(Z+Gp9Al0aX0l94)Xfe~DOu#B-1*im<;_X<|fjNEMpX&FSXhI_Uis3+IxcSOz}~7jpCo<4+>n}R|+%_+qnDd z2I7+&cq6jh8EdwL8P77Fsvjhcdsj2ONrwK&Dyv3$VpHI@Zu6wXTM`w6Iok8LrSBtF zxyL-2MJg+s`Tab5Xx_P4T_bGd)U_@-Pvu|88K#-PW~FE%h+}nW6GSwywfZ=h;<-Pg zbP2@rbBfsHdidg*-nmA_b}Uh331hXqOMAESZVF=M%chO+CU6My%#iNHjz$rd$WAoZ z7R2Po_RR>u_6f`M*#F=O+me&eVC3u^ziP{eiHSLNdCA_k{I!zPe49OuHPczBtL#h} zQF@N4WeDkAoac2VEAoxbMb%;PX;=tm`#cYHfow*FOCZ2>}^k?qfsXKs2?4yrt zPl{eg5@%M^wRQCY45%zJi@jdG-`JeFb@eGd%cCJ8riBS*Biq@OV0Ck4^9yNy^&%Hp zncTE;TZgtt1~GIEG*7~H(RQ`NWEeR@%V@}waHxnAz2&#(RD8Yoc=Jg3u&X9j+}QLROdpBm=TrMPU}uncJU{$Adq*6=rN$z~ zDn$d?Bt@*}T&_@@nOrEChe`C3yI4puH^yS_M-tLdd!i6)G7FGbrD!!jiG9GthL1iR z8MpdnCNXJgKNDB^rw`xKM-Pi&B-0-$%7cDe@0$g8!IoaY>Fy~_B!sM<4Ct^og=OEq5_sYJf!r_2&sI@JBykI+MZ_oGReovjj0Fq>3_n;ni zR=2KZ1pTwT(l@XUHBBL&Hj=KB$Bv_xn)IH`z+e|Stv%!_@O+Y9yy#G+B#O}enXLL} zQ$z{_^A2h6y?L#nNl#*n@4k*N=EFg@fCbfW3TkdVI+lwuY95~v3G+_TS?TwgAb)AH zegeIp?vIh{C6O9IO`+owhiXMBekAk=h7YE`jNmtJMas6k#q*#VmO47wqGEp++xc_oy9M@)ajA3+gowt++P>Lzb?5;ixyJ5>RC6r-@~yd>JpDDu4i$G0;LuE65)Hhqu_g&1+HQ6 z4w|DEl;~aoAw4&e7;W@&9KyaBfWe#5=tvgE!``z}t0a^!?!QYVCs}<{Z1iz^jgJ@4 zv|MJlc6~n?2J80&ZED@(JkwqfUM!Uqo6iG|ZQLI??Vmkr3-Q(9i?{ zB6l_oqAu&YPjAiwrv}0|Zwzl=*kTb$e|n322;k-W-Zz#w5}ft+QS!j3-|7^zLijh3 zj1hLkgZ#wli?Af1M?B{%`O~QLfAB1LMw=0b)Q$3>iff~_F5mnWnx;Tf#gRn`n=01U zB@|SQ!rsi@y`8bFQo?Y!H!U>dF%*S_lZ$U)wfN~O7Il%xD=~v%55)A<)*23Cn*ZKY zuwnH5QtFv*OK*ATSt`f>2 z(f3t#(<$$_0uP?267;|RE8oT6O(R}1XLn_6?6CsSC*R$|>tY$<&enS`Tf$jRJnp=r zxo=72KsuwsZ+g4DeU;9r(VPa5$*HE$Tc6F{vbknOW(C}<>J%&CeuDvKbO^qfkfH_M z(i)P>qG|bQ4)xC^dW$5asOr7f^?7n`hkj0~2#_+nvS73eoLLHYUBt^C$-46OB1xD1 z?T8tV)FdQj&pZQP?qv9b)X&kd{=0NxqqzF+&}nhpO7VDipH z0nVD`PS;GnFna%(;{vhsL{#`EF)Vid`OkEjvMF`vVUgwk|`;&-uN2uX4I2d^E&*^L5|3>Gb{g(Gc?yxPBIJ) z+3tgHeb>Bm!{LrVG2Ds@a|+B(nN;bb%JauVXe+8`Ms}*G$>(8r!>oPeuW-S*Bqbef zDoXZqlOK?_7Ptjt;oJr+KJ(SN`DwDLXT{yJxsZ$>RRv%udVGwoLgUFm`#tXKxjPC9+42%z*r=@;O7gy^$xVT zA(&3@{_X91b&GJDIzoC7>%6`e$BM|XO!Os0(nqb;CyK4o6hcz9b}7R!Pbvm=tk$hr z&^#96-UO8={mSc??mpZaXit2Z1;F?@O!O1OZV>8WNRgjp0@hqgmYvptU;+{?JrIm+ zo#a0FRbSV9pf~t?gkuDGh#Rz9u5B6Oz3%2%tn6MJ>8cL1yNtVZqKSXJL5cQ z7Ym~?v)gU>GJiX?{8n|n)F>c*;N7H#e~@PcJB`^)Zh~z>iGs4pDG$zB16u=4=N*7l zb7esR?|%!4&rU_@*FPAmOrn z_wV5GTGT~!#wy#bTe^IQ`rT-651WB+wad}P_y!jv>6cUfVOCeN&78e|Y<}oTGy=$3 zP_lsot=fb|m@nZe7SlU19%F?D!xDP>mgD&n&fIjs+fb{|jK*59z;AHH7#^eUKQH$`<0g)v(pacBY7Kxz#bB1ig+pAKr zLyZUUoG>iOdpF!I_>q@Pmu3-}TuQ-}JNx0~Ebj_eZBkpz3RftcMKhCy7FAd87f$+D zX=g{3pS3jID@7xDh}os4ZzNS-ik84y<ie8MT>JsLx%pN zbJ-1GB`{wu>2D=wB(}q^)NU(z)%l7pbna7&9Y^HBy}$W|%WLYrE6%wRE}V5{10r?9 zBP`rUb9Tu#{=ZyqcItbZUfYY89>>6%qJxTcljPD7taX%+0 zBRh#0xNBNgq{=#Fsnf#w78?OVbkINu^~`pv*{&I!i!!h=G` z$!IXuCc1i7J??a?e8R!>uW8UE^{;pVB=#@-TZGTT(Oeqxk=jaD&Qok^y2_c?SC%g~FLqs0OqiW@(0nO*n?M|UcZ}OOGZ!jxgiY^Q}Kj%+Bd_Ple zh(CUUIu&#YxAbQ7hQRw$VHn)$WMo}z)XS$4JzZ^!`GCHgz&2v?>pPg}?t?2P(1HAZGeQO(Q?aW04bwMV%@*Tms8Y&q1Amapo8IA07n>SK99UiN5Omdc{ zb~TEicw&)``0~(?z7#wrC-=#A8Vn5jy8B1{Biyse-_n)nAv#Z8Ba$l2`mf15Hz5r` zj)I)-XS=^>RpJ-9aX!pwe|MYtVWl85c-LhB8}ou07{A(S@qMhBA^;o@5*}sb13(AG zTpyp^l@~faNGNQI>}h2SDm*PqSNdq+qul36h?}HdX%>cvF8}md7ad>M&8pNX9r>*C z<##%V9&zowQ8&*+==BmXnkhfBWm%nwh)347por=1!WJ{{I;vk@3C&UK_3){Nl?7J< zOERln#?($_h-dn3&q4DF_}h-77JS%NPK3B=0Geu**_JED;dUO zTI#BgbGE4pdQq&_(XS7nuv%AOO;gi9|B2&Q{7SnhJ7zH7TJYXOS;IqW{>*QC5!?e&fP*k(PB=Vw71 z3pOo`9IgECHCE*Nv)e`nGxf1NslZuu4#k&WrPhreY!Dj;5nWIM-3vAUKcz5(ZAJ7) z&{-8t5y6KnlZzOm7p{XlIf$PYixev+1_SQ7Cg|+# zU>NoKDMZ68H#h$i+@%|5U*TVODYDCZO#LEQ&^L*%7Ym(qA;ptsg@%I9$ zyIB!?|1PMui>>L{xMH~Mn;5q}oFIBi==Mz(adyV&0rKVm3=L_oCbUNj-2bamz3n}gAZ4_ZH6XNO4 zGhuevYttaH*T9wl5nM-GyCv5hmcE8jN0TvIx&9+q(5K}YW$jdWu=9zmymY0<;9h6B z=`C-#EE;`t$nW9>s6x4c-WeU$y?$nxjbPSM$SBgn=c7l#Rc6DFw`uk_PiS6rWYp^; z*Mv~xa($LfO2+x#c*t76Q*5K8!|gQR;m-j$9aSIXz&trDkJ6AF^3y}1GUYi9Yk3#B z;qNGO+AEvC)w}>t;{Le0;rATfF}CKLI>XOSM^y7T_Pw3$0NvPbh;ki*JlY=TMl>J0VxlUX|tRc0pwBbfqotNFtpN5+Rxn01J)ZH9o@Zyb@yQlIlbR-)Vw~r373dTpxQ5f+soMz zi3|2Lz@Fu^!u*_zG-*M2k-W&i*dl=+FL&DL-H;8x+Ahd99AwrS!tf8$JEz{8=?Qof zcbmmU3?C;}GozxbV7%+c&--hXTc+q5Sw%#d`SP)F=fNcN#y$6DwadJFo`*722J8B9 zEqq*U;08MYWA!pHo{)#V?Jzi(sEKTEMzpT&f}m-jB^jwUj7dJNu#NYTR>H*ukFAq9 zouSz7@^{`_jy@*h@i#Nuf4`NEc?2T$9yZilv|TiRIIzGyGZG!Y-#(k5Lp)Ge*pO#5 zXsS_%^9B2$9P)L$7?SG_WV_@mWUQ>zD%e~NjI2HcZy&B=U*6Sxx-e`2`TOKs)O^#B zL42Os!#s!#kQ>%Y;kK>3Wd?gqmK}|^A7d=sT2Pj#LdyeBkYicX@1HY4)RY#bb5LqI*#@B-j$>|XVngs2H32~Grzl>4f*6+ ztH>aCsTKIgxIjN4DLU#xYjN9XXU1sgod0{Y{wOK7%y8!1fdfcG_~VQ85UpK5j7(hy zDgg5m=v)+$mvaxrcNA3vs5Ta5YIB!Rj{odmO-O(L@)*fvrZxY&qJIEA1_>cSURd&> z_(ZSwcbvDrP((1sM{X=2~1xM>O%Ewfi0)Ew-X@EN|B+EkMfS|zkmv> zqKN{JdmuRLqu0z;R!W@sHZ8!7t`6(Ok=Vp7D=`aX83oLX`q{v7bBj3@zTU{k8PE zY9g7))l-a}lU+APu4nVO()jp~D!UATAj_Gv`v!w`_2pB@zVlQDY37db1XjFU^X5&~ z&clneXvY^Zd}R4ht-qKq99dZhoV&4zDdBr21K8%m{c_F3<=|{`G4;%*@W=z5&7{xc z--E!9;?8bou1l%wNcA!BDWpm?MAKKucGF%PWf}A@eR8n zkSOd)_ULVlxHR8`I-neXBu>VI&)wFBW{ek}vhq!|)u@E;my=H!`FEkO-S5Am@LH1) zjy}aBy?lbLU+P=@hH?mUcx=U5Q?n~#vtdh7BM~{hYG)_@QT1VH@ViJ+$mb~~!!_MP zL4?cm37Ppz*`Wbmf~k2X2vaq#``b1#`7zq$n=7TyPlc!8@dw2f)BPJRH+&?6hZpv1 z^Wsh8Mmtj=D87{5jlJgfx5bIie>Fp~5Wj%o?*u$>FA51sLGBgYZ;WYRU+)^pQ-|?- zBaTwI!aJ&IEOU{PAA<;j#bNb-J-%KY=RKw!&x%Q zmr2V_H1H(RDjt)nU5xKK^WmQr_Z)r_!*WPXQoR{Y-jZw~bFF!{JMp@9>}Rthaki9( zFtFUH)y<&1Ro2(-?vAGk4PlTWE$G$!LVkYU=thp~H4afGhvQtQdFI+vs)%EuNAt5i zkXejll5yV+yTPi2_LuT7LFX#WMKW4V_C2hA6H)*L^xx!mOe2YgWKpN4=L2GWK zoc=1HbY{vgmFzS|CWK1RV-cMF)%16CS5I_U6UqnAxBUp=?kXu4{?+gLWbd8+)Zgr` z|3Kv$+aA56yy-RRNCo^3m3#=J!Z_4xecilSa4J>?{Nx8!5sLcVzJ7tZXm~KUu+Be^ zijd*Uo_Hqis5soHfvu3;*y<5p+t|-%^BbREs0~o(rx43nD+IRGcWjR-nIpHG$1OWk zu2HV(d4k<)^0n>8@>^XU#QJ;V+w)2$z*csi5noU+6`TMaea3;RDfjhFA1Zx1`xd%xTT zH8iP&`T@_Vg%GaxIm_VR>^R(^tBD^ylOIoToN<zhskkL|`tTN4!-D}O5G7cY^I za%zkbUug6oP;cj7;rt-Yny_)l_DPPXVV^zJ3|vW0HPk^h6;d*wpWjQYi5ZWOT5c4$j+w%U%_}RsDBArow8&7uK2dmm{o!s=yT*h~ zzwz$l+BORCXCXG+B`o64BJ2hr$UY&rD`U^HdTbU&+LAU3^x1*NUIrJ+JT#_=L*Egi z5e#rNxzV{ve?{%~{1}V<11!Yy@S&j4q$eHlziw(KIaw)w=LcXbO)IHGHhALV;@gu- zhOsYDiqK`a23B`o^l?_Fok%=U9Y|5-OF17oZf3f*3{Tr6gqC{&6*fenYJ{dTtZ>-v ztE%!Y!tj?dW1vY;WxJf8({;;_gZszBjTft;V_$xS8%)6Rl&pS*Q8N7E4hhyzM&K6758O}_L8IX1Se&z z34val%2`V9lk2k`lG72V-ORmKjro(|1m6epDDGta0|P@lSCgAm zplpGACJncY(eNmozJ0e1@}F;_mD1*+CN()9<;A-s+sAL?+&x6QPu^y$9A9FMAK`NJ2jTB5%c1exBWV0BF`ZbCG3{lnV+{>(+yL zKob5N5F3jb=QYGDuc!Uc`Q=d#B*7qQ$_|kkh619|@^iVVDFH8jS1Qi$B!(8+6I`D@ zyD0)5pkYE{$V<9*vtd^shMp(KC@Gz0l=g4Gb51b z3YH!Zz>59<)%0kd7616^L+&rBhTXA;6diwVdkTDyD}*XOGyvcBO`svR5o>@Wbt$&V7Q(Dl zXV*`fNN;h1fvie7WxMOQ&{Qt4+euXd>ynV~=8%r1o?3dyl>s#P7&-YjsCa*meg&`>AEct*v@X>__oomF=zIZ+pBBl+oYaA=OtOCJ&&r zuT3Me^RU2oL!wBh{=5h9s%q)~SQ{h+K>3bp86DCEU3O$Ly^>7)7X;gKHCRY$No0a$jHj?m68v(=}yN3m1%Ux-xgamsX{%|EKh=53~T5C<%1 z5quNicF2fwfkrS2?DJxW_CM={+e(B&j~KYn8))ubK<6h zbvQUmdw>itAB`#X^XYSR?5IZP0XA2bpUJ@U4kjVSZ$P+)wfDyu*36A6lZxocdkf6Z zsYtP;3f2A*iT>}rafUxClg8s4EXDW-RqvpG`yHV4be1G^6k|rR!#p><%Gg?TSee*5 zs@=fqSUfH(hmg>l&VT6MSrXWaYDekeG{%8w*3~{r_c_^xRvxv7kJSiv0*dYysIZt; z^gK+iF2|9gpLCvaYq72x15SEIlZd*0twj>fU_*ycx@eTJJPQS;NR5nfu)`<3_xf~2 zJ)8Pu?zza#C_w=%#@W!9AP$mI3F5J(-7zBFp6pN&=nU#U@yney1=b!cRChl8$ylYR z1vaXe;pTC`YCbka(xrPRuwM*}PZF5WMNM*vHF>70)FxK|^!e<@4GwDwou%m{c4f7Lk0^Z};})8}iWde#1v_K4^16Qw*G7bIR-W#|!&gAa+2k9h>`}t|*}# zDoGYl6H4>1tA>r5KZXIO^N;_0+6Rx!bGZoK%z%4(ZgqUwwqdK5fF0`SH|LLe9q_Xe zxG*|PoH?L!si$%4S(c@f9B_?V2my~Hv_F~d_eXT@U|z9z80JTbEb@D&FF=<=`9F^UHJBk293f(N~67>FtCDjGT?=H)P2{@!bJhzJ{kp2f>d zfqm_;D~*Ur3E2&}l6+PY`0^xMR>R=ykRt;yI>`q`U{?-9gOlu7C56KbA8YiKmWRn__j{BE z)W;jpUIYqC@L=4_RdB>@ar*8$$tK)^FPVStl3dOZdnA2x?Fb98;%cH=jszDyTfo=s35 zr^RO#kN3Io)CBbOWAKa(o_KJ;&eOUa^TAQWeH4*o{)lfcAkIsuz(6)~-2un?M*sR< zd4gth@4~uc^o-MqKE^|sXj51u1Hx7y#uM&3UibK$yEElW^vwgELg`NTLDC7Zd%|KT z3T=CPDb>e?;WkIT`mb+Tnd-l@P%ilZevYDl<|2iMRmU5oDmrrn^0{CBvMxCmL$DYG<~%DSr96!s_A0M^&QMRC~~P+5W+8#CoG@Pi{; zeP$VUyF9+f8l-vY=&cLjkJ6>??T9e>wBt~? z!o%c->Wc0eGm>O%)-GI{S*A+jh zt}S1kXHvi7%$e71zE8Uph5evcqy@|hDsFL_Ud9Td%|nis*ASO*$d@}7Sntf3(1^L&?+NTpdgJH< z%zoZk7yr*&Uyzr)xrh+$I(*yEy2AbpqNqk(0I2y@@8KW^qybLt9<%qLO8>1VD((8D z0ZE;_9wblVeS=W)G|`}LQD$R-x)2~Fvp~jtHGBZQzsS1QO4aJuuS`W>bI!wl55T!P zJeV!UI(DK+0XXMCEb?2L7F`hcqr2wU4P$v^@rtn@Y3bNI(3$eTX>!X;?fo8?Cj{>7 zBw2om%bz&9;zj|&d+NVzZ%t#LLr-ook=+9YVOZTG8Up&keV2ojDA>R=@MS=4W6_l zy}j27wp!i~txfK`e>ny!5gWT7yAw$+hH$^Pr5_SKxfIX%ZQ#~*JKo98px-X`KVU${oKQ@eTQ0^%8UfymMrrolS70LqGKw{66hDR1B2Ba z76MPFDswwkC?nH_vjIGi=XG~~fge9hJ$ALFNJ#{*krK`tqtlreip{p3rI80#d;?`Z z2>+-oEr=~|8Ct4h$|Q;>GA<5Zuu=1n5IDPwRQH&m`B5*U1&lHzTY>YDbrID3TiARL zHF>G++ma`C=?qi62A}lnR?ZymsmW_q%#mudsh#1tzn<5~FtSf7%>P4UT51dof5;e< zRsqG4%CBZsM$%rh0IPQpM4I|Kux`-u^aF{^7iapLvHwI69b1;JmA^mbY;RGu1Hx)$ z)Yu4m43!nS+QWBcj@PfA{a(d+7Z_~5#QDqNk*EiMl&vOEEl&ib?`@xjm;ROnQWIx2 z%sw-zA6)q^JAlgJUtkSgxRbC@HjJ%Jd4wEe5Y4HoN@bvRpkjAiLar2NDTOB-Mcjmr zhc1ri?S;sX_$Al!Udd(yXr47H3y`%o`e-iVXs*7k-K#u*Y8G`*>xVbc(Ql81T=67~ zb0&~!Zu^|gQ%mUZRLDPd1|tik-{t37axE=`bUBJ)pW;Ofod|Gwh1}oQB26bP0;}i#{rWg;3Z!0KWFm z4Rbf%IKT?|0!{ztF7ItmD6^=Vl!%y2i;4Vqdb4~F!+OD!8BmEB7hL=g`*w1( zOKT4LGem7|=fpgxAM|2({Oy{OEzn8!om*&OoZ<~wSsQ!8MNIpzsfIk|YMi31=L>}A z_~{B5JJe4jkEygP;1<8SYLTjZkBZv+c7&>Ht~Sa=k4bl(QfX4V!5HoQ)3HSOzmSW# zH{ViuAK8_40Fp>UNg0%Et!{WQE{gF|>(+^n*rlZt*2U3@Oi>~91turS?t0cUAY zodn0E?A73y-81w!gn0`+wgxe8Bt$1{*%9?q-z%|RKv2Km9hlYF zY!C678uCb1*Q-sWfjy(-FcyVxAkv1907>=F9rD`!5vafI+ng3bLD5x`FU^=5hS!3{ z|IY#-9yAmv2YVgWw-lcr8Ga>4_cJ7_^E>fVfxh`^tUJWfS>n;OJ3wA8RP(6xP>vtY z4dd=18t3j91?d+!o2md5!Ot^t^d0~xgqD znOIDBu|o2O*2#^ZGQvfBt~Af2!|)eR25X0jtFmT=)CdMd0!Io zE@fe~jZb)#liB85q5f@{4X6yO^Pa6;Vm&)rkC&lsfCd2;w3)6vd!%)HpGyPZq~bb+ zpt*{vm0x%}$TQ-TrX5kGSQ}qjEf%;%cJz&&WU?>463IHS{D(BG!<{7gbTmg0?rG{< zj)O(%zey3ylEQEvZG^D$1*80!-wA9>u$q z$lv-M*{qc&Ofg_%nKKwnwZ_eCqqcKQMn$MVp3Fr1Ob?{o7OgZ}eOsD|Xg-u663~UF zd=mcevVhkEdJswx;C&>-93*O~aaH~X2&2K3Vhb|Bt;)y;@nBdC<&%X1xJjl>$&dqckFN;~G!ME1m ztNWGUV8$F18~i{E;~2he^zBq?~(Q zlMjT&0B_WkOWYPR6gp1WO@FbFu2ol1Qb8pm$KO6VeQEG5%({z)?FVIT{o>VBV}Bnm zq%PP5Vd&myT4cBG!`jsmP2vPD_hd;w7k_S^&R2~R6)s0gA3dNnv&1f6EEbmL^w$E& zen*_8;M1p+zm8?MBg1TXDfAg619>i{O`s&ckbN51SSa}_emDs5YHm}+^=HsW%w8ns z#ZUJ@5gwA}=nL-JBW~Qq(MyuM&6*qp(3lpAeQ>{xeP7>x&PyWPnMn_E1Q`{Ju-4>d z0KU*v4tf03`0|M$lO8^po06)M}I0_8Uy(Kq9r$?b(Ba7@-B}`{O^VZ#GPpig7A)t{Em=&$i6WpK>z!Po5v|}MiVCNbT(P!DB^t7Dr~q#K7H~D zd`zXRF<3!Xte13S@5q!1gsMR#b;dRB5C30DTHsl==%>Jpx1g{Hf1eZF(?e^5{3+|x z2#w*v_^&u$i|3kSJ=V7_zAWp3KNH@yhUf)`|8d%gVdIya>P-YWts}oWq{4;&W?}5# zR4Q%W^bn)M!mz^}B-iiEJ4xTU$&PjR^L_Y62L-;W6#-Aq%yV!84P-a0fa#9a&)Zjs zomt*+ttU7N7%%i$Nl=DH>R_X8OM3WYv|LCwP3-4T$C=014%OSlWd`6lxYfW#+0zfw zwyR+FLV24MhU4Y+C_>!jM2nL#iCX!lC)FuXEGt#Um#_4b*CP~h#_NOWHM_Y=!o5i1 zrSNb0!QSIv_!e*eZTMAex=q|!Bno+Ji9Yej8~U@s2S1D6d7Q!0P3i_(xEX&)Ls{5O z>u9BuW5XIQ&-v!geu51piYj0KkfW11rTg&^o*ZG^ym2%U#er{*Uga{lY%5{@;xdw1 z`UJLplpC558tgYtnj?r@@xe}^iE=*%$4jXO{<(Wa#`93NbNnNViU%4sBEz8&;3dst zoApo_$IU2S(mkozXD16UGalU+%CF`|VSFxXE^O#?P+1%S2URl2;*d5sa{Y@jt;25XK-S$Ds8Cz4rO`a)Qs zN+SJB-~nd`MfVnJF3=butr?MVzW$_5Le^A3|E8J1gYOQ_zO&Z5BR0lkD+a!gkW{+1 zF%5Nd;I?rU4T%%$YY!yz{V!bF>LnWO+#sGs}J z#9aQ`T|(K>NDDBB{!RW#q0J>qdyw>by)Ti)CDZZjk>qkvcNux4DBdr{9sx~30A)$D1#J}WC1Z5F`Wwl{eH zWKI1o-B!Szk?O zys>9kL?4qxe(*iS7_@8m`11@${692(XE+>O7p;~cdI-^bCrXH@qj%AJnP?$u^g1&{ z4bfXfnGhlff*^W{E}|24g3i$uge%PV)}PCFT}u!24x#bjTjY}| z4uPAOBX_Rt$2;zF36(orCtuAW_-hHWvwU0!9B_V@Z2kw_4~*Pr4G2#Z-0ZU_Yy^--5Pf4to9!`*I8jc39RPz}-*Nf?k z$9I8>T3QuAv#0A5gLUIB#KA9^bnqt{#^D&d_WNOZh?fP`lK*^44vu`EDpq7Z8{#|Q zs%!q>2B3RE&M(A@e|E8)-vTr0G^LueFZDLN!?h1B<;ymkMglnk<9IFy@QQBgs0*WXhw}uEn3Ze13$-T z5o0v*u@wsdZR~XcL}l4iX1dEfWC~V{V(Sd`27q1-iSh8a1Y()H!a7WmoN9ly3ffj& zA7+R;8+?*{tRa--=cxeHzJmn!8Nk{kUo0f3%?^ITq&x$ldoyVES&HCzKxWEmC`-W1 zn5YsHh2}01^S`-H4ME( zW}$rvkJYI<#@V=W`b7JZYS`4eVMfl139p`w}9n{F-RwdOa z2BkV1@IA%et*&+l1GEXYobBc%iXSz>imPmU*?Iv^WOV$n_P_Wp`d;~70bGrG*`!D7h9(_mbc>|~IpgAH zAF|aQ(CuGls}zoH7oFMH?<0`O&VgTrmG7287x|)7np?{&od2TnZbv&^e%} zKKtD6iHhOKO}!mTxcFNPs^q;k(B}uSq2%tdp`2Fa<81Ml@D3$J(0V5YpSnY*YM3OXTr|b7B5Y5O%4@#_{Wyl9 z>r0o)+Nh`O=h1iAk9h79y-mf@&z;s|oU&5oHf$PI2I{F&$pybBKYEqYfY@YdUz@Ca zfni_B_3pMs;~nBx;eXViF8Z=jn;`f*%cEv1Cvr_Sk=&(Fl25TxFpCC01><4mqdgX9LpAhlq*z4r;h7?#w%YwF)@x)PI(Y;!Q$z+n4OWT zkHDh@&s0E6%X@3A6nF&t%0A{lxu-%*&S~liy|I!KqPiG-36y(Y+O6NLNF!{17SMm} z>Tg&JjA19*GJy!ECaV{MFd zAaJgZ{|zo7GA)$=4{%Ys9U`7HwD_>xheU$uTrY|e#?l}R~vBYROhWSEsEP`eFoN(64rtUdv>U>JBA3h_smJ=YTM#Q)fxd=<(9MD%Nl#o1egzo$9l z-K0s$?Is+~0cP0C?vQMu7`-E7XCwOMw@;)7hq?!7OOAcN&nVu1Ks{~!#0kfdI~|a5 ze~U!no#S2N-JOc#pMI_dt&^q_dZ#_%Pus-N6!Ej}M|9nOB>l!m7!<~)>csc31O6LM z&!J!+_|e6~5P{9A6wisSl&B;Md&*ooUp88u)I*#6llygZUx?4Eal5yxiJV z#+)hCr_F8ba%PJYOp%~3ofHMyln6}cnNB~u@w$@8>vcbOfjoN+A8pDEiIi`E3WupF zQFCK)d^p-&xw*sW6ZWoJaOTk9l6+1}_ZO#_(%nM0CrTDm163V~oj}Xhe3tl;Jnv3^ z_s}0j!QQB!1ZeGw4-C2cOwYAGcc}WZS4=#K?@0a2-PRiDk+}c(A~}K079Sl7OPBa^ z85>6VsJ|=I68);Ki{>yHJ#e|sCMJszSnCopO9J5S5HG*TO!>V3(zu49u9LC*K@>

zoQvFW z%rP2!R<9EI1Agwd0ruutc|^@vFll3E<9{Lgf$EG0v@pb*UH=Rf;HrLvHL8}O5Lq~ z$pmOT4BpkLcuBFhXvz!CtavZZ4pb&X=NyyvyzBgq~*RMor_Z8&sCHBo2HKnv-3^;i4)+`(k0K7r01Xz1Yl=?8iS)KwX z!K^sI9Pul@nA&hPu@CON1*cbh71gNdKTP<)b)Igbfl#=QbdX?}1PUqNy zb|r)VG0@%-?=U5K?zWsDMQVhg@LR}9-fg`W{|e}6nl~3yUQen zo-5X$ryyN~~UtZI-Z-IJ9q#)6i?aRi4) zn(h;k_L0IRM)i=|;&UU>uZo_dIjgZRPHQ>;Cd`z%TyJ^+<%kHb9D#lme0vYm6l@bd zAK8lRb*x54E)$b<=ezJnY@G$%Y2^%cedxR#d8^aP{!bP!r&h;?x3;%_sNlqs7UF7L z3y;V{U>`z@;`s!vm2t6WqG858?M^GKaAM-F38TB$OD=)>swRE%Y#+ zpNx)*vW20r^!zYP!?1mE5bwPpor5shwx*vfzek#pb{o(26cl{mQrG=>g@s<7QzFDvPXG(f$G&owLuQDfjPxc$!40E&)roTG#qKQUpo-^FhIATKYE z7TmW=d_=sUto-@M+Nm3c1LV5quG|%}xNR`VAov+4@nHPJ?6DV_z0aG&$k-_&gPoAz zJjrWtgAGYg#R9Y1jfCsPdo66;8=h7S5=B*)7Vx-E9KFvvz=F?FDo2(kE$bf9l+qj^ z^=bJSm6|9HyM5V-;xo8-$z?y=DAvPH@vy_py$4JFXlN1e09P$+rpcsnIQ_Y{f2~rLbkws*PP{bAkt{aT4ggE)H~Gn+_$$*ddn82;ycSrT%Fpz)xJe z?y2-{7IX5~%Kp(a^k)f3T=)Z_^usa5vDXK}o@M`XwJHUkc|CYZ)st2e1;R(3I;g<0 zTV?$A^8<4|c#G$2jZ`T*gwXHy_g@qY)QGm8|5$rc7ryho==*0U;WJEq8vE6mX@J=+ z%7w{pjk01TEMjruUF7wmVXL^wEKY*qI`IKKc+SL{P0S{8l2N2`2%Sa*R>U{xqy2l z=zi(K*_Y&qv_N7r8_O^an7nM~77set-=prYE^X7n*V0l|beTjZZZ>$3&;L4bvS)Gg zcpd-Z=B?;$!sy#5;d-}!GO49&T8vBs;!2M=VBfPwJ^@DwKh=faMH-Zi>N>X{N+~Gl zQ>J#FTzvSdAf@A&6LIkjA{}+&0J*D#LI2Y*Dov#iFYk?AF)lVDlO4yy{RM}$je_Zz zfujMIukNY?D}a$=Fn`*6t|!2F)chq z;{r@|qBe+;-8B7fHG@me*G9+3%{x%%I@3hRc{KIS#l2m!AgyMCQ{!uwZjMJ~WH~sg zmjeFf!ryQaNppd%4;mR{=OzaNvZMDazm4jD+Rv5%uwT&xn>OR25VUviM4#XFT@HoW zrFlb|5;VVY!-Lyjr?h-jE01@t0NFe4`!eS0Lhej~ZTC^8K@DE1FZ+&QiVo7wVXTLx z*p#Ajx(!MKdU#c^Q%+}P@eZ-2+-{7gokzL7bE%wYqe*${d{LWWp(k5HOE=wsp)a5-1_nonLS~owoaPnm7#|kj|2_*V84phE& z_g5!R*LVYB;(;^ znrP~}jg-Z-(a1CQ%kPiFC?ho8Z*G=96lswV3ps6>N8LLmJiP9>F<|QSj~5wmbrBW( zTpz|Z}gdjW+h0N`0=oj_iU2S z2t1*osiPss2FR~x1$lIT#TJ_rn2M3ELF1?ILMkCxLtKog>|+Add`GVZW+0sg{_xH9 zQRFdDVBNHxhWNV$s!$j6R={fZ5PP5MR?g;xDXX-D+`@+{n+c0PG!q1IbL(%jbjd--5U8pw{gAUT4EgCKPs^4AqQQGo|g2GDPt`~!R-!Yo#P zUvBct@2WuwHJ_n(EdMY(X<<4QEA$B(y;q7Kg)%K+nzM?kLx#kC`liRl$^5hDRo9BF5FcbMvHNMyg!{$5^}QRF#d^A&s`G{v zB0{>W6jK;8;LEgki1Em_{N}Y-UeP{jKd)h-KJvm!gBcfM(*Yyo_VAEa| z4$Iri-&>S;{2TA76^RLtx=A*XUj~QPUmFqGKAJVILto6xyR5DB8WMSzf?R>jQr^Ue z8YV>V@Er+0^x{4KJ>7UM*%=aKzR-1&e4bZ_scZD;PGKg^NuduTLOE zX5CHRZmK{oMe-KcB~|_%o5Zw#|GNdy10GqqRy1>J%r|C4W*bSC>KmDrB{fKvFU^5? zd0oxg7UJrMPLIJ}(oIM7bo4KE}_8)RxUf zEh!#kMbc$uo14g%s1GM3`g2a#CN{{~Gj-)+j_PY?J)QnErsLzMF+1Kg`NjS8du%eYx53(RG(@a@lp}d8afh@gYn=zTx3?>CWDItemU#z< zhk+5-#}pX>84JU%T*x;#Z@yp*o;50G|7IN7`{uYjU%uA4d@;!KM_a}Ckye_kt?6ah z>g;V-x^}td4Y$I^V5#@?yFs4?g&Fpu*9BW|m3_a%Lx=|?&5l-s_DyMh<++kOvoogu zW~P~N4H5xINj12lV;-vJDrqD$D_L`c$<*(#cp=G_u}Tun@nVaM5iq$m?htz zqfEYY*Rh2o%{N=u==JV53D|AO@jew>fH0Vso$4kg{ar_d!g6uMz}%5M%QuvC#Pz+m zkh>79%)%9lq0@HaefyaqHbMM#%laf~%Lzj_4If77gJT$*v2A(qS#af?1zIb}$j0MR zU;y!o4|y}vQbF1c7Z7YPt%QGd5kx%AElGYFvWogE-v#}$HpzQNL!+e>Q1tDNI>4o_ zucs%9Tc}Vm;+Z1eBwozaFK%~-15bTCnXW+x*Ho&$ zu~-%TX|3rLeo+6jQGEOiRP<=>r#I?|#?}LE&Ud>zstDs}CeJN3Q4ce~*yR>rz`~%f zA|7WFL7WQahirCEToZ|znMEr-V9^2}aQE@*h0N&@gcheEd*e6aNZ=zG8y&^|N8ogG9J$@$|!?(ZpfOx0hdDa_3@Yfw`V!=xEf*WiIwfBg!p; zC`?w#8gQ~~Xz#A(0SFuU`Cd|@54!F+n54SQ_@YsbH#SOJ33C(uUFMs;HSrd$ZSmhU z?mp;&wrjL%%h-x#0~j-bZIYJfr3a$Mz71|D_meg zd*U79UM65)6d8~&id@_m2gtBnEUkyQNUO6tKR7sOEYeFH!R9}8Qw4^?Gqk1&Nf0Vx z%BXr2e+~A)8pDardlg|fgeX?VT$_jdB$SQ_5X>#gA|%LktS6rgrp!A@GSw$|753Xh zpe)Pau8U?dOw@ z?c2_RiH$OBqG3=CGjb}VPgkMFuroV8RfgcY>#`1oxBlMqQVAWqbXBW-%C8hA(;@hw z6*LauuoD6N}L(Yb(MLVf&Ls_ZZ&Zv5TK9noZ$g9X@Z|+*5TuI zC+~7kxcoM1 z-iqxt!(N&xI+%3~i(+jNZ~yma;igqh6Vs>|ACzV&{iH44ycAf~;JNx>dtHkg#iq_g z%=3cNg09m0ypsOez=u~{$b1oG!}e$D4T0z)9od1mgykyz<~tJ|yfB%M32g`Pw+y;? z>te1dvKv<)^w_q*FMegr_}nDGDA@-e1YLrf&wfI^uD7}$=I+9+?5|Zq{#jz2WloDA z%oZE#kA;yeH@C2J+91wO|l?%eH3SGVFm|E9{QgH8fe*ZqIlf(k+_be5}!ah+Cv;D!Y`J>`$QBIsNnKxkeE|dLjWL~qT%`|y#wfnIyd3c$VITki4$cY``VEy&s#z-Ut(+AB7Md}O)0 z(!5=9#nAQ8;>;2GM}I7$R<`wh@DhE6y~e7|J;t$Kld39sv&rq#`pTdIimPlBgXWfR z`8wd^+{g_35u;7RWac;?^y3dHoDw$QVbuWwgj~m#w48WyQop0drU_o* z;$gdVQVe3$)6OX9{kf6GFN*9d=u<)DJ#ZhHxQ~Z;nwt5UWjQrH1@+mjC&fQXP!Qo@ zOb;n%!s~})Z}%<1fc&;2wgpRY3aT#b+x|{Hi!iZu^OsE972H3A-{TTf!kID`)HdJR zOYXK@qRL5~6{!@<>q=XfAy&>a&@X%T>`tA|O#f8lzJPp^N)kZ`E8iM@UnZ2Ig0~LO z?7j(Ed`~b})T&;rsNh|5Ba3Y-!i z?uD=l7T|7+M6a9egCsWrF69wpJTBzN(Dsb~_9sH{OXT+JFh+t_uE{Qig68-k5YNIv z@|Hr5{cDl#48nGaex7c*PE93Wt>u7bIDZQ7KRto_ne2d>BfiVC&V}XFk?yYJF%Lkr zm$=&ZYhE2{#$^t5`tzk_U@U zoQm4VuO~Ql+*j*q|3;U$S5KRkYbPC@^}y}?hYj<%Z9WtpM2}!rh(sdJqgY0P4&p};YGvsE>IW8cjmnIc5{S_HEnY;c)gA|{kSGA%t!rGdDc$&2Vo`=|EVq)@Fx47He-6a9u#G&+j z2jm`iq;&$NWFBB9@$W#?xZa-E9|ZH<>jw}P|k8kpA&IRrII z%tlL{F3s&W0+&~L2&mFgU$RY>-t)4@@kCedlsoA}aXsIvZ8Xh|%n{6I8ZqQ@x?6tN zv-Wb`m$Ki=KkY8Bs?>~?hfLi86xU2U@7>A312ady+m|-2eU+RWx&CE`T^p0gkHpkX z()zYM`oY?@czXJsn{NbgLp%9;_r5iHfg7vSf)l$&Oho;ge&2$!WTWtHgg$W|1EBQL z3O?N)zvNM0lee!lZ=Nb7Svh{CF?bd%FM~3UZ#*)pB~eDeY!6>pBdR+M!Dyk8G~92n zD?G4K=1s(rD@YT0HP@;$*Q$Z=o9p!^hN7Ifk*!Xzb{GlbG(XLZSB!KG$KRTioD`j) z%#ZaYBTst676Mu$&DeM#tzY;&W{D+(yhhT}>Qh+Eg=B?Lh%?S_k$`3YKVp2? z*(@qhP;juET~yi0q^p7lVY-+Nwb*b|b81 z#FL%o#*DU{w2Ni!ngv-)3Uz{0aGN|xc_CV;0@{#?8s^oCbr4iFFy?`p#fX_GG88iq z0dv!Zi{Vd6b9tpw;5!$Ihh_GuQMV6Yn;7e|`(QzXBkxa7Q?@{+5+bAj!crmN+vrkr#Q#p#9tAl#*9}ZJr5r?a<{s=TG$&2BS9{3L}f?!iojuz zErv0OU=~)QTh(x-d9F*(9PH{%5_Z!|f)z^i+f48KwBG-~`A2Y_X94>t;o(-E245z0 z&$A^x+#0HWs$;BAjkZ!DjhLK1&){VbVU0x8rLIcpfsxYu)l<(nd$d}FJWVxItcBnt?ys?N)Y|Mzl> z4Kq6p^^%5M>z;{>k1Y7a@OB3;sUR|-($d#DU=h7V`rbTp-f_)94x~uQYvF@Kchi;J zf+09N6hbftsydpf{eJrtFKTxv3(R>dv6lzyzK^%CbGNz`$JQdgHv+lzTd;S@#YX7= zt?|(hc;NTWB+oI<{ki51?boUdfgEuSYyD@(0X`R5{g1Y~$wnZ)jCx>C-F2zCwr2A! zI^nVphk6p_bbn)j?e{F@`0&4_!1EyT4NUax1R^8W=1u(GE9oo3U76bsTyxQ8gG@B+ z(?yhv+F<=%=hh^V90d(3S8k*TwDo(#;kFh`BC~sjDvbD~Zlp_R3;@Dc)MM7Q!T4b_ z27s>>Nd7&(>pkM9z%UAiV2Y6J@q=cb1Hj%!2;0a~_^Tzx&JI>PU3fAMFPWZ0Ay_pSjb{$ZnDctzO z5Yof*pN(3**`mv=Al%7mR7#Slo>>Lu!j5ukr|Plkr1~!O+gl@$OWvzh-}>#fVwJL{ z)FsVb=gu>pY_ulA3wXO(Z1%3^IGK?Z-c!e!@a~clPU>*$>xD)X5QrW<;a}Fr2u3v2 zO`c@=-5EVOmSx9@k`n z10IVYuQfNsheZe@}iWJdC>GL1|u%rrzw z;t(e`H8u4#4#;-KG=F zxp2D4?*1X*{Am!?gupMx|KTYd5%K7m#=nJIxL)q7MtHTIgv!*YoF?Kao^Qf~)SmxP ziR5|+&bi2$g!+8j@De0Mx`@nl|D|i~E`=DF(1EX)_dE-=U zzR`v_X9CQQfPxDZ*|zN`*(T~EW)IRg{aCX`N$))(mP2l>dpc(S>9@V3ws@cF%}g+m zh6jRzU(6~i@s$n$V-9)W=O_hbk~7f2BHkR99Gs~k@;t*${HF{%wwAIxyr^EAsoNA+~9bDfTF6D3AH*h-5{2VW10aMgvxL8G*h)WIU(d&rcO{)>2ep^>ZNpLE&<}#*8 zwb82neYt(25xTf+9ofpyMuw&P2HsL0-ID%_@0Wm`=WW)AmJ^BPBJ$|BoJM=3qL@2B ztR;+}S3uN?^Fd+#KJC~WxDyD}>FMPaND;BU`n!yOcP$*a`1i!3BdB2-a`ue(z>i_L z2u`MTOgd#Lo+-v7B5Fz0kO8@k9tPw>?7)wS;7&-YT7dqoJigK}Ep0n6~$I(XzHS=R6SUHkcCXcCiB$RrBe2d7)PHBPdo&PzxZ2N>a zmo&R0U#V|o5kb*jJby>y5Zj0EQ=Up?ot(<$*k1b8>%;=bXSCSy_wxVd?`lUTv@Zz=!^?Zo>-qb-z%T; z{r2fAl%TA5N@mOrylmJeohjxbB26?(i$5ai5(AHMaS&nFZMv!=6qICH)KbjIv$~%V zGAx@a@h%-iu%nYYD7aJ4K4ye4|KHL}6Pb|okAXI>)Lss-Uurzpbc-O>%xfy~ zH8;^YLGFJgdKbFrXz#rABr0jO*Nvt3V@kQF-~G;nhW=~zB*~T~NZ=2*53*0%9g-xF zjgAzk;2_}OqUw!0<;H#$YcPp@8=xW7qk(WhKw*hQcT3)~O%JQ}N@&u%aW&VFmXOcv zNvJGIJj+?XQEg!C&c948xHs#G=@dB7fEUGLsioF(lxR@VlI#j`^n{MHGsH@{800Afi*)^@dYQ zX?8<)2Zv~avf@`}1Qjynw@bn1unxHZHTWKD9tzIl$oW4I)A+7M^*0VJJCpS1Vn3i} z7D(REX>`7GhJv+Y4<>y%?-1(@J5#dzjm*N4oLJ+w#!I{(5#gk|NtmZG+QIB#+mD$wPz@Qj$z2-^ATxrJARfC>OSK+@7rCXP%sM zKvS#`um9Sq>6+!wPL_W!>w(ugXZZw#sRpNV8evGJCQ^wRxnwh?==xn+>?YI6(+)m6 z4;#0VE8i|UeAx3F(-Zs;9z2#_en#{lL0KPjhO9^{mJjivz&>2(&mpH}*oYkH%W3!# z@T?D;zQaH8DPEI1=FmC1d*%hJv7sS$cQF?odNvctf4IOxUu) z752H+dHufaf6a^3l$Ee~PwaKGF#OO+N$Bgg%O(u@t2tx)Ju-ep|!&fF`)wp|n2^#pJ|seeQ?v(2F1=kLI<(xfQPyDDc(r zh|(RKnjZE3<3MsXu#e^Wt0sqYid9y;y+Tqn0Q}Ek`}}&iW}gzNe}Flpj} zzSe`9EHSb!lN2jw-rtJvhy+Esk@%E%ZX}Nh3Y7oN_9f;ydZMqL<8*SjzDiZnHaw-2 z{Af0R6k>i!+&3zJcGB#PYdH{ucdV$t5hqO3Ki;3xpOaM4KVbQg8zrki%S4x=Mr6UFpqlk`f{erpEoGjvvqCfc9@T9W8|ntz>>KAE~Iup$J{kh2*ae@zEz2wKsAiYk_8qDHQhS~i$R7=&_}2;!BysGsjy(p7sO z=`wTiWbweVw-3MrAE_Fi@u7x&w6U4|=%5_u0UIyjJkIZ)H0fG#p}Du>m2oRH;(bs; z3jtLUxfC+qcR9s95+sW3J|&!p_Qa0tN|LT`uT82vzLP(E58pYZKBQCYq5dmHKs*@! zc4gXDYlI)3<1+o_sn|MM#xMW;!VmI?SJIEy#ny*jYlxW=EiEt4Bxfhe=e#y2vk~P+ zQAIPjY7^4#CHz!FG^K64*D5k8=E9hKZKDWt99dvO9u^pOP1es+ixWMF#`8~>$)Lvk ztugZdMtvlJ^h{Igvh&* zYCWOHnfGl6KjBa!%7+K=F7=3+0OvO5c;oLgJohZ*%ZQS{o+jyWw=G@8z7ErvU+24` zLeId6{Vy$>8GjYY@zpqpiDnJwv|QEAfqyv3B5w;P<*?89NxSOkGf?p< z5cX%|Zzrygm#joKHa4o*?BAIsstukk!!TJ^x(zMTF?!&jB42xK z@|&*K131a|qF1>4b5G^dDDBdRLp2}Hw)zc`;gn<%QyM~=d)DL{SAIcEAxA!uUly9A ze$!j;)jW^yIaZ5O5?mZ;e*Y-bUR51rdzbr4vxfxo%1)B)(cX@hAjN%rB9U82;FkQc zp~6(lOI#1}%Jm#k@`m<$mNtHaxecpd1u7d!V!qvR(WfUzux2?%{eLZhP5a{0<(3yo zn1~ z<IZ;^a8+PFf!)f<1b{0aBKVN4G9aBQCryH+g|~FF8bqD z?F$u~%lm{R-FD&XH=K_Uau!y08Fok>HUA`$;9-mT$0K} z2twF@kA#2=DzogJNxU9K&<irq>Xbio`V_hRWDW{oMX)W93d44da!2siXcT9}dl< z%j#7LZ{9vC`z_h5(;gQ3i3?+OD{p@$_zqbtC==qn5&h9ZdhX|-n;v%V@^{29pVyIV zbAahvWmZ}7yS<;bKNYt=I_wAM1esG6KE>>WtRmoVJ<-BiF>@!5INM!iqvvo-LIx5r zEv+!M?r|l<18%Zcdl^CfTta?#|0?h!)|24)1J7^`@mu`$1ecfV{FIbOAqn!Dw3a)* zA+N&*(0kY6E2zHdkNSczG0@ickWL}rh?Qk_%2q=q)*#@`Z>12_X|eQUy5&Fr{(U+) zIs$#NvbVSQ!D7%6C^Y@t%9PmsaMP>U^2SXFZXQuKLW0dT zZX$mcgXeiNrm9(Gx$%nAHkq#<{~>1|ln1>zb6HznFRmB(VnU?t1YI`K{>c1iy!I30 zFLj{3^sx$mOedgiTW)E8Wun{PT@+9LyNrU|4j4P((>AtXDu+0HH($z+!ddS@Ek3Ic z&J~>+NEyfZ*CE%dA*{e$5Im#klI}xMQP4si(6H`R`72edfYf?k5L89x=AmqEw!KhR zc`J9iVSeVF{TN(d4$NZAatLUMob5D5I!?_spzGKI%tf0Dgcdql(k(->cSau_K{jKd z(Vb0HR5ctK+&+c{DyO4Mh;Loqs)fpgrk`6yhjjQGon3ko` z>2uKjBWz8qL0$8q9~Py=*_WQ@56P|6VN3H=?vdx!rnIB&<+05fEsWS*8GwIKllk$8 z*3#--p5_Cq1C$#YF(yW=T8u3;m8B#nf1X<^lKTdO3JbZ|o$?l@L>te87)5xxo%#%; zXA@d#-nhQu=0-6`CVIH|3B_@iPuWj(_1cA8U9?tj`mEWO`>D`W0)NVEz7k7qyAAO6 zIUfCKn-2`ub3XS$Tt=i;t{FfND1FI7t0f}*emiOat?h#6iZD4hv`57^U+mm|zPjx* z8ZJ1e*V?xG_1U}jPu9lXb%NT!LF$p;Q}&d2RJHtp-R4Y$y~a3tVKJbEZxwZ^(*j@h z5kj9WeKx55(|)qc==G>GKTUIG^!GHOuNb}7&gy$H?qj7n`!0taP$yGEAR~6WY_Ii& zB{sC6pj+BC7E(<$Pz#eHxQq8~oq4nd>2~#9D$>dd$}mRm%M?6$Nn=k!p9!M|ze&=; zUR*eYM7Xc8E*5mlsxsGryCHId@G!h2yGfq1A>wECA#?Y2U86&QNPb ziTqb;%HCP8?RF?5)LDqy-=T`_5OZJ^mhEF-;B8fum1SHbNOvk4M5K+S^{uQFwuA1P znORvWY9$Q}437KX(K_PwO3V1HkdQ^`8yK`w0Z`%>Gg|DR*?P#)l5_~_=1e(02ZqC` zEVWzDqXS4H^XU&1K+DCH5e;&^95e0-lw49A?ER)p9W$$YnV&g=pSm+BN2btcdnCe zg<2++Xh{GTZ|>vG_)^?26zT|KfrZ>>_U``BAoTmTcQ7`Dzsjr9Z_c}EU1pmb7vPgt zT+U~R-02*nJ$_!_K8?7@WJZE~>$UulmdEKgt%m%OovC$<@4wEp?!@^ zAdAxE<3x1Y8tWS%7U_H(Fi|!P$70$URug5uu>i6WF$vk5>{u8&=A5#nL~mhGVZ>I) z*D`Dx-ISx|GdZ>}&5 zxg?SltzBW~Um`Z%@vqc7J5=1B4l?`x%+F_BSSyw!Q5}s44`0daM!60(tXW-KU#1NJ z{>B5T-DBV_xVKU|mYv~qb91xuifmn7-9$=S8nLRO?W-5-S%ylCxALyshR5Tb&#(U! z$sgxfI*<|))=tnpE_(yHy%$C=X#~74EU_+g00z^D9n${xwN4h25j0?Wt$$-oFE#zt zG-0)1jv=|~_a?0MK&Yy-@|E-^OV(^lvfk><@p%u!uJNU2drRk{GqHR??cFTOI zBQ}x-oWq+x5B2bia9BLyINt>0N$pq?l>X@``TmlGj+SSrzUgqzV_&i;_T}_P$a(K4#0jwTk@gh? z9l{>M0!759Vz;o!VbH;y;&G#4(EViO1Q_!v0$!G9o+9XZ6aw1~g6u=O!#(?o0L#ai zW$Xp%H4IzF@K$dEfU+$(r$~SUg1^k6wYvQuoM>5Y^3wrtLZ7Fjq3AyR>pX`S;}nyf z5P!$XPE;gP)R^Mz3qbI2xkZfHOawu_AqGB6cI+YfKRkVfLsVb1wIC8AB_$%=f+8Rt zLzf^53Mj}RAxMWbGa~|0(j_?{CDI`cL#MPbbaxD$Q{VOX-uwOln0wFNXP>>-T6>+3 zc-#eojkjgxt_riP`-V>WWd{wZQK_jb&`;ks^jaWR#DF1Z6H8+!D-psw49wabR|(tG zHgF2$XnqRp#`GpGl{w2#j9=R4*lN=6g#u@Q2 zxiD!Rk4zI^(UB5zQY4CBnJ}i#8AsMeF>3uhoZOjuoxjq8{ATZ4F*`W_{Zl+>hl&B0 zdXwTkb-CGS;O|BF4W=G_z0X;+3?#_spX~h`xMCpCqC-R0TSB-&uyhRSPu+#k`5=+x zeO@vnw9!D+R!4ZP{?U0rU-uo-+f4k(OktnOgInU+M}6mtmyG_?-wqk?`V9C9k}AsV z6it?b2Sw=eds}8s4N(TqkzX`~26#Hu|H0MMsn6qTm#pr3P4MvRvLr?>(0e^A z0yjvoJZex<3bW;PV4F#HqX^%nh4RP4sMn=Jn^xo850~1^<$Jz7Z@q>Be8Us-TnZKi ze<_H-=HYt*Lc>%4Ti4P~a=Ev$ShE83$o%|1KVLvCHPHg8)$MA?dPl3fgTtTsI@gZo zvq=-w2^{Z#{YWj}Uef)}G?99^sG*hHrpVQArXU04z2!wBPuD=pw4q@AJXg*ew#A*} zmL&7D;`X;Xd7YALpQVDQlRd^BmkJ7vN}s7~OD!$jMT!}4BsI5le8aU3lEA*EYh=6W zeE=&Fvm8P0B~TkSk;je|!YREavya3Dx64;vaHv$8rtW<+iMyqeb&qE2e$(=EA++QR z+ysJ-cTHUDQowI+GrZ#Q>}y_^&m%F)GTZ}g6n8ijVyKHT@?86whl{nHn?>J-`jdHXESyU@?_j!oIc4x4CVjFHUCLK!^#U_MSe|7zPC$-gq}WW|NI{ros@0D7 zY3q_=w|3~MUfla*z6`@-FH~68lM=RP1|QrsI1|_RekIhXW9CRaK~nZ+HjoW7A0sH`@Rt);Cuvj>DIvjI0mf3~=lc(8F1^~Ao+ ze_92)RnE~J#5P87)k;Xd%$B+Dl4HQ-Q+vE>5FMc-`nT+{|KX2|34BU2W${%?o}BAZ z+c91bzc_%q4qrkd5LIpH+2J~8=x%rFiP*lTg>cE;F`dm~uVSYOsSZ;D|C7~`wawr} z%Pa`>sv@3qsR(v`x_wzNa$u`rdl1}X2pQZW4* zbJO*6+1mZXGQKSe^-`q#p4?&3p;#7sVg+XnstA^P$M0V1F5WD&*$peRxo;${EJG8S zMEr1oIx@-I!WZ7S5CbcEvGA}Wb@UGjmy@fxMBVwH#qXpj!IMlYB&*$R8}lQx^Z3e@ z7wdeZGN6>iMDI0AHhgCE{w@6I6Mu9X*8isec15>HK-~z3&I{C8e4-(VybdpKkPPGX zMiPRfoQx<6P30)==}8=Cr!D4nBX+gk`07nslh>y*K1_4HO-r!Y8vzpi1$XC}-_~!Q zr!2ax`do>T%-LjWKC*ZsbCfkpQ?#n{yueiV6?g10!GT2XVHjB2W#1oN}m;-ASwNvYL4bPW0#19W2iWxebhsk?q(BMc!`nENTxu=HIuh~-M zc1jyp*fBy7CXhP#UBHf_bL4;R2p-ac;s%X!Z=g!6Si`T$BG@6C8g(@{Td>CidE@!rU8Z@=Kkst zn+|5HOYSC*m_A4)XQLT#)0*rU$3-+9C3|*+R8%&19m+WG={bdj^%$QOKzD*Oj8Z9} zDPs=ryY;+3JgHoI#q{vfw38;Yeg5 zSgW&=wo>V4<~3JVXSYyU=m$xN@4Zbs-t@{SQLP)1JK)=>j2m*sx4ph7_QDn(C!Lze z$CoY&7hct3iQXn{b2sh2gHn3quUz%c5$lMBv^)FIg>lD&>yF&F?a5|SjJ!vc{u|5( zm%kUA{o$vTY4lJxk6RYf!)z@R2hfA)GPG7B$-7#(?30ayVa%6d`T2FeyEd#u<+rI( znh7DT+N$JGt>NsR~W}=rH?{&K3l{Upt?z5<s0_(>Jnc+DFvkpy6pTdR4o4(ty7){8>f7;%!hQrT)KL7pchYG3iIxZdVQ8O{3C3x z?3%B1qve_iy1LNO(Xou{rKd1mT?p$N%S-#8LNIiY|iF((HZ>gW~S6q9Nk<}91?9YacQkCh|PU(8cv!R z33WS4rpiAFKY7ob{Id^2=K+)nkfVGPy@+2|}VDRq1M^g~=^Q9b^6_yO7O2L3cq=>pgFSL2uQ z{gYdIKglu{`f=o7xivG$ekpn%<|ST7TtSQnW9o)M7icEfL?aOv#b!ocbn%3Mu{|2B z;7)=&gPVH6F!QqSw};{AcBLNC^oPtB?C>By(vXg~SlFh~a2@PoNB4pRD$Ws%HB%S+ z+)J0#l#U5>UUbX7eaA2~I@9UV+jc!RPAjgAXb{f(GBWS6pPxbC!{YI4TY5u>-t+Z= z5s9CU0KPUF8(sqO8&XbxYXts3*G5Cm)j}uk_(H ztCW9{WcA@uu~f|P)LN6hbIHl>s*yLy9#7M$>FJL8QTrqMYGN?;;{ad{d1wEp(RYblODQnS^$Ke> za7?`|;q?*a25FsoJQszZ9^JX1U}@ZFt9*4uW_Oz!U)MC6Y9AnCbG3Zl|!QV4x^lW2%RHq zYc}uRqb?`1sZmtOz>zoJPB{)P7ZYY@x+mA^!^gK2e#uuBalvsVt9H8TMrW5MQNbEJ z36YNWjC&MA!r&OJOp*DcH*>*i?Rk>2{C!p0hM129OjYiK?)?q zb8uS@7-_Mi$kl+C(R%JzEw22EvFsOjE9{52gH-^3z@lP+jiO^E@V|JOu9{Fqib&uU z?MwK88dj=If10$}>vkBN)l0FgU)Faz7yDa`B7lytNji(FkZrVJ%Y+jXgEe+a!SsU% zMA{K*LKFA$*mJp6FF*En28zF1=!Zkr5M35i>j33dK0s}o&gyZAia1m`7ZcF6ieLNt zIM8-{Vvu{djq%On0dCcGY+7NWs|19rafEuxnsg*&OE!G(nN#13_o78lBHKw}nJ%wy z1|Nzk=Pi$ghCQ`iDZC2wX-KoS1hDr;7C;W$C!Pd(bK%qRy*h5+vsgkO*5{_*cRcm^ z=F8Y%w^5I}-3wHst;3pvXDLVdEOnM%AwEXb`#CVqjBowwNPeXPFb=HcuX4EQmy=DR zi7~pl*sB(e<)$;&+^nF0m4sPIeIOm591ArIl~l8Y>Jk9+1(R0gdi| z<#Ujk>!zs@^rR(pTMt7&=dI`QVvT=y<;R zb@X+(5GKx~x7gU}rFXnZuuqWsCHZIjVs?u~z57z5{#WET8mvE(?hz85pM%|dJ`j&h zLf-Vnh;1~2zZ2iM3ME6B`n8&If31d9&PM7ifEDVV&F}25R8PyXk$E3~H)}(v4iGX33@kwi| zuwpCzq1*!nx8C+iYU;0X+q?DWina>d(&jjfN#I=RV=kggTSf**ETlPc?GaNGX%yW+ ziRdrimxf&*?$d8oXey0lt)mN#+Wf-~_Wsa#4Nx#_p}JBYf#))spKfd%Ja0_&!3X!% zyhXaS%)drIrHtrscS4Q3)=Ek3KE(3P*i-r0xArBS3XtEdayrkU!QYy*hBf&NI;TIy zE|jOWJXw>0?&lU2gYg5Q+d7UN)ckHlfOBYLY51)&McFY1+?4j$6;)JdE`yJUcD{Ez zEjc$WRqXbia&|F)G86C{n>25mxE}4+E|pc09megLjJzM zk<{O4_A>8ozUV7&9GBdm0bti@+DE89_lr$-p{ufM+|r$7M7GvfhO)Ej+@d zMHFtUUBEB{5vU_EN0dES##D5;!ua<6ncfUpCtF+oYDUe&qt%|90#O6K$P7O}zmDWD z%aj1^focsvyWjW-LzccH2Y>!>_^-Jcd7RjT!8G};MoP}%u;}@E_svh#(# z(@-XXCACwYH|GN1uV-rL-IC{ffo;rIci*A-0gxuP{C}kmXjMVNRTW!wL-*$9 zyK(mnC!Y_ak+@}Dqw)ErhZrQJ2i&~-7FO6l!K(czvd7$fhYwr2+(*fU?wX}5wgRL8 zq41xxe@AJAKEx0S3{5o%uM0?5hs{p$yrI4^Zd@8Dt9qv$QC=Psm6H>(0EbPoEJ~*E z6tq9U6(GE(=TRAMgSeu#J35cSY+j)HCrh{p{F+EDLhP*T@2(f`oHK4$u%&naHG<>y z+C?RxD?ppV&2A&uy-kAwb=a<-*W5qsTUdT}f8olOf9(nmSygzC!Gao>yZIRBHnHaI z?cFq&N71kcnlgbNnd7akpBp`Pll-pMlWz*}_AD>Izt~7~{#r9JGqa9;Irxs%OKjoo zBIX$PVx*64!Ci2n{V&b~M0%K1xL(gAd5o5vJDm+&c5KDymZ>rtnGP6HHH3eCD0ymP z^q_|wV~pWz@k7488t##lUwkb`UmJIi&_wlfSOdSF#aJTAl|@-sE$N}kpw?x5Y}?de}9G^ya~42by^vj63E4E}e`pIbTO_z~@LA@RD*qczf8k zaos2ac2?8zWte@*+$$$7<=rRzB^%jbcdw={wqsl; ztzOU_5azJskT^`~#->=7|Nd{}98k303@F%tj|KT(miu9jdODWytI;6J&7;}<+1htt zFx>Ba+NLAx(`w$_HNEkfLICI%rdJ`LhUg>T;UxTth{&?brnL8=Is3qa95|c2@6$WfsQJboj*tOL$LOqt zwvE%%YV=l4^c>JODzh#JIbwRujR7#PQ%Cd}Hta`*WA-5+;u2=>eriF3(=mi5bOxk8 zMv5l;&cAK_L1#TV5HIipT+f$hnk2W(_jk`Eg2b7aH0G-RHFzv9Te@}+`zkpfBLc%> z_5~zQmNmTt*)OtOVzFXGfDWf49>Ub8U`1R12G*N7C8~wMkA%)gIG`jVVYxAZ}qR|G<8E7nf_6)P$ zedb^Dh-)h3yBs!lO#d(|#nlu7!`_;%Kp5!VzGl@=U)+qvHQkO{olzONs+J}uCMs2; zWT$;>T1QPxx;YG|LO5=M7ChVRZP7b7PsyWRnh`(N+HHx&?)xckj2W;Of9&+VB{arn za&=U~CHe~_?laPC;`LjRM_|aIjo66w3-8)vy@KM4L;xMkPFzUUGfsKu=AnmjHCVWQ zdd=q47;cB>&1)E&U|FQa;Or@{UO&sU)mvqKTnYQCNXFI5=<)J9XFUJ&D%8Q;%|UKt ztaS{umy%&pN>u42XBItY8G@c$NJ{XZjT$q^mt0^XtsM)RBXfShp}4S`MOJToP6oed zLDwB&auzYYN|%V!dMxTUe8C;*tk(cLtYsy0zU9KS^5{!&2}i4YgU`u_UR7GRK>!6rAK10rdUmGRR}+)%VT_JU&9W&F)F&M3x2#ldNgF@l(k=c927&K<~^&Aw}=L}hCxomG)I>Cc*2L~ZqjeL{` zuCU#*beBhdlXu6(Q)Y)6Naqfr=$xFK_h%W+eg=;yC^}U_!OH=fuF*ln-G z`@W5uUyW$3KTtFp95JBJ3!KRY;T}R0qJi~m4Vs|gTeY`HqZWEYFAsSZyviJ-kCw-N zi(F^`1ab0uu{-zzioIRAH+(6X=W1*$Uj0-p2_LVK+VN1XrwKiLfE^V_?uX%x%;c8l zeKEhDKm&ph=%RuS|IbF?-N>rSeG2xG#YHy%{f~mF#RKauM1;BWl=n$ThUo5bKLA1J zmT@Pj#slJAnF05e$&QL)=y}!qH+sBihKEmj*C~>P(7ADMv~J!KeRizI(bpJ=bHN&?Ww@$k82-Fno!OSXO;+1RrkBc)v2$gW3u*VsZ%p1vx zt~geWQhb{CG%@L|{Ilk!r6KoFEd(ioG^RN78NJ_pqY?SDYv*&F2H4R-X@k6(A+8xL z+t>{$`1l%1dDU0zdhc*io@1#Ieg_~dwl)p1gJ1GWPdf zs9_3XkFedf+syUl>bqe~e7jHZD7%TiU9_L+pKwj(cRg)h=tQseda}5tAykHx)|*N% z*KF4j<k9MK4i_V*z zu}MRw3hjpNQkKdse+N4am9%8?vVB4JFx&}e zcS-~h|G2`?K@Gh;-r${7LCNms11JJtH_73ZRm1^_RDD>gxMuU-lJv=FlKA;Yu^7m; z=Y#S;<2A;H1}Iq!^a3^SGSdRFH#%p2@Zb}mo}qdMQLd?|qg^>K+&@&w#3`MBJn55Q zjfZ?oyF)4^%!~1P_{F+PiD)uaN7B0@Ba@kM$Kk2BOt~hA%cEFHr+t)rp^7VHerhiv z?WbPJ&zM=3aJ&%agaci-``4EoGj|q7{rdQ8&um~Y0;THiGRlO19&PE@221q9O(qn{ zPVD_MOb%U5Wx|WUgW6;BxZZC+k9v(hyRgB8G+inSU*&ZDG6ZdP9RN#dp^=4McvX3}r5t_9%+hc`Q|8!MD+W*eMJ!Np6NAjgF4S% zY52Z_K`q(fP=&w2!SHDR*ZV$);=hjpeJQ^L5vAT~!$wU_HOPV2{!OuBtN?>2L%=1| zp#%4#7!5RvhPc~*#!J{a7fx3H)_QYQ&@$>?$Vuj$$|Y={F`DG+`luiWb<=sf?8I5~ zO&NX{;Uc6UUpyvuaDq7l%f+(3s7xIe_CLx(j~|=`(SN4AEX#nMosdkL+Q{y5-B{Kb zrZv_B+wbf??3Gt#LO#go`21O-%NJX`%tm6k&7n7BB)jI@((AW9mRC+lt!fJ1j4Yeq zleoyqu;E1C<5xYm98lP#ebqgwNPZkh~?N0he1 z%8Onpw49wp3fJ?U!^z`|seh2_=+0Rv_Rg{yT4cRDygpAOU*A1{J>+=(-b2>+&{UNbxs;7Y@X3=SA5uT zL%t4kCP67*2JGz(|4?nV8ee0Du2Wf$thueAT-Mxl;{%S%x(V*U8FOAZeyzS9)nf&x z|3X&}lUNPv`(--%XwE0K+K~a*{vM+^v{Rn@ZR+KnPlhryhR`?HTEkHfj!Nantv6>* zZt%aMRGf@gz{w=O_Wk}n?GZQM#Ru8pC}3Xf%Z+C)E47PrbF2xq34GzK!GkxbQv!~^ zt!q{!EcRDS`u4f6_;4(eQA<*gPT8b=_8XoxnyZP&{raU{Tl?rNaq>k>C+N|7iqr$o zB5bW*Dx~^_H<7J|790Mu^liVGLcZe+n+TYL7hU1ORwTv@<8mU>y(2ASy*P{BqK@GkT-=KR7tLO~T?mr0n2nF@Z9sG7(#8y~#xo&QAS zWd&C*$l%T1ca9h`0;#YCZu5zd!}#z$`Vtj`8682u)r|ocZ-ktF{UUhezrJiykdZMa)Zau-coZQG! zshtGrd)OzSPu>*>JOGO?!wz-jv6yK7_=pcX=G)J0+h}iO=6Z#-SFMLth_+p=IG`O? z=4kar8=qDr@L4@ zvygUVAdn($BAVtdQYf^de;jg8FxDUjTldJu?jY?^$h%}VqHl+rBs~=C${L~cge0F)M51i*keV0-SmpZ zmN$R2(bK<9doQQTY1tTo%f)L(Z>eJ7=x&T>SGg?YXH!cL=N+L(z=A(rab&L)_F^3r zQC8HJeJ_zjTo|g)!HwoL*TT?(;l99O6p~#*a7oJcUHKP*L7Ab z?w;`M;|GK;lwaoV0MzlchI*G^2+t#Quwcr1I@Q0WzS*U_5&Mdm-`jurX_zE0=35<= zkY_{1sDM|kVbbMYCam<1N2{(%mzjw^l|X|nG{XL8=Z4CBCpCO&w~=Kn1mD8 zC`=Of^tHWZ^PEN+@(PoiON$j&f*N_u!F9wq<4AUA7f@+3M8?}rqek8QR@?a`d<3a5s= zRln7iMH(CO_nAa2XBsy==H-zxVYR{UH$cQk0};>ZqyFh0k(@Tcm@qPPssPM@FX(w* zM=pqTxa%A%CoA}sh{mw1sct|s+q}ufp)n^A@nIGd$Pny({ zV(^?-xfou-haV5VgKFKTGNi2{Boh|Kg@^8T2-wE=vWGUW#p(C)HADXXdS9&<|FY{! z2Pv3HgF73U&R?t)Ak>8ET#Bb8pMHmTqGNSe=JWZiYDI`7q7~;mV`SI*6d0SB*1?U7?EllM#DdyOxBB+_)InO7qb}uM)3*mfcL3&8U1#Nkm1aVg8E7 z4Mx@(rZux9NGw!8>Z9A^eS@1L#tMa42AE?>5HLB4(40}yrx~fg=hIUvFR~2U(!#sp zfNAq`Qi& ziTx(uQS5_y=kKsRbo}w&>?_)O5|s^(GtR4C9vX=5Q1BLTEYv)k<>sC}lAvF7s=5V4 zqBB90Klr{EyG)`cEbdZ_^fPc<*7nrYH%NluB31jb7}0Ui4J$UaaBJ`+ga%4iN($4t zuJaHgKYm3wkl#xk3a`+lQ(KdYwX7yri-k5*?68!08UZl(CR<85S+m-?L&R?>cX#(} z$FQx4Js|h4F2pD3Rx8cq%oLAVloTWiiUGbtVyl%o8a#U(*PPgjJa7>Fv>4vmDB7^% z>$slD0{P(SuEHMH8q0h@#1k$U&1nU8k^_p~+Jr()xWG7f+=P+s!)Ntw)O=D%Vp*1Q=Ts(*pMR$Ux}I9hLKmZi{KU+KESuy`obzz#<%w z?oB&u7kt@@55G~ar$N6RO$JKBiCKos_4kJF+OrL0R$wiFFERV|h7}Avp|3sw9ZS^c zjB3{^bTU!eSC@@aYFf zPZC0p)xc7}%cR{>(^Et2B)~`sOio2=+@}AelY)wph$~FeN*Qk9bW}BjZWHz*NI^uA zQu6P1ORxqg+vM8wG-nv^cdrSNtDSKPRUjc5JuFfX4Lh+lsD4BtIzg=UC_w@E3=yYH z-7I%F^gbU7@`i!X1>IB)iSIX2Oxwa^1$JEzZHT^S`R$$i+54Zb*G7v|tp7r;S5BrX zKiXudsAw2vu-aPI)?`$2itvxJSB6G+6gh1;uVWygX`E;; z4g2|t1tu>ye6_6CpQJ;f5iY@B4z7zFp<60D99LRDgne?AIQPRm)tC+ZxZrj2mCo7K zz-Snla5(z8hQ>D)oy*^Y2M!=zL86zgkKMu3h{6vJ0yo4Kp!6#Gq>LG<7 zpl0ccux49NtzVH4l;u&gm z^;sTO)Wi}2k;`J+ujurEKRv3zzlnhE73no{gl{oV!){Dg$^sdpm+hneVGfbSGY|tb zif5cpZX4e^|8xwzHjE56njuv@r;0iws$_#13(`*OJ)9gXtxs$jA!SFevMVQXW43O_ z;-%Faj~7swTTxdezXk)|ywN4scF*igT4No& zcqn7(LCOGkNu*xk#H$4}ecr3UVPKaFQtt=alfv_n41cl^gEg1@K* z7`D5PQ}W&IXpOOt>kg@lOuVIN81@a=8N;N{j#$10%PVKz=quo|Ps2*NVK9J`d3K|9 z67F*x0HGcSDw-V7d%67ZqL}XaMRlYxtv#xI9^Wqx;wd);=+X*I!9rzk_~CdrV8OW0 z*q8I@p)#i8^db`3I6eKw=$$x|!isIFLf&X7k3 z$!l#c%$2em^YP2gHA7NgqNXoGn3-q;AuRI4wJClf?6Ms2Q~27-3mlgJ4(mPlK^%R9 z!cVpEJl#nNI!E3Ch1v-85wDYT@}54?if4y}C_EulfjWiur~pf|K9fTS4AbD?3mNVO zRD%r~(J9d|5eZ>p8-I6_dQK)Tec_^(bFC^G2nF?o(@()!1|Sz)Fs-6~I`<((QR#P& zUug${Onfco8gX}|xv)HogvEriVXbXNAP+yI4by?0TvOelu7>E9#7gl>M7&;M(?KL9 z^>jgg<&>ML30|#q_D3PB1SGyK_Cmex*%C0y2K9t)=*r4RU zbOM9r?}&`UZ1BDNhYy?UuUeR+O}#A!6#5NSBNXmmjC(j+fbIkHz3fh4hk@ha8cjqo zwpzFTvfND8>LoY06O7Jw+>aa>ZE@r^DwE(m(Uhs zTi1RG5#DP#n>VLw=Y4vy%H@vlFF1j%9R!EW`H00rv89y4f+K}wi`yZ7`w>k%n7xv% z*}&EoL69rUGcl*(U*uFR*Zh`0c>A=Dw3mOu3l|;rwDuo2G7-$A_9{qaQAw$r=-h?9 z`J%=jzXsyPI#@ck$j(rY6*ZH$ArV#9(;mMI3`1uJ>zwmYG5&|^(nmTmeD`Cvr@6IS zqIQ`?LkFxzqphi}*I0r1JuVE-0`W>zdf2If{7@KI`_gG0NJ4-4dZtJF0fAr(M+}U} zu95ockkbu&4YR9v_ZA$>yWVO0GX03E_)K?~ z3dMP%eb)T~Ez-w0iWEyw;G1yQ%Wq_a6#4v*nS=Hxa7Oydv$~%TuOpvEk%m=ep0YKK zq7=4wT*r0E8~(+g5$6bGTcZ>*5lrGH{DZCW(0p2h>Dg7cHsi?OMNgj3hTA`s*quTg z>=hVitKXawfo*MCZx{Z(e-QJE#y3x78d(G7TEA~GeE6jnSD`h|G_=>= zCW!c*xAKgAOemFC%|B^pUGIDD!8riubHL0;QD9wV2lJPp?eh}*Rvl3=5lLZCUzk?X zev^&;8A<2fqLWhAEk;(vZN1f|fqIQy?M6Oi}wU`Zt$RQ|*gj3sKv zlDMwPovWQ&DzmXg49Dxd%#0JBGaBZ5{+b{PAhIOB09!XQ>$UP`cl(Vt8WJ)pvfsH` zg{j4EB}nG^68S)^{$nQfRqP0GHBl11B4lyhVGyB34ezG1Ncj}aP*ruH!KsU z#7TedhwoJlO9Xg6UZLU$4jtGjd#XDl@56XC%mX=SzL;D)8`WS7_IualEi#vez6-*h zj+Y~*VQ}=^rm_O{B@PEgj*ik?OC_Oc`JM+6ka%3}7$NREDPaq1_0K$LT(-4nKIL&9 z?9u)f{sIKRu4aA6apZw6(+d9`sSj<`Q$oOYk&G}UGv!;RF1X8i_d`W%>{9G!ndLCp zde+rha%)Zv=SHZa!-TWLGa87g=TiYA;HtOposRza~BxwVmvlr1!Ru4>;r(At5tc^ zI5-T9Sz%PsM&vz+L2qw=lmr-WUOqk+lzee&hbuAPL$)*SU(r2JPuUJd<M8zz?-OnumJyw$_><$6COx;YCXYXN0{71;(6$z= z>rfu8nf$q`nw#b)6SGT6vytg+`zvGdn?(w1W`+!=9PYbQXzsCj&k7sHm#Im`JGEKYA29R- zJf?A!jbxUtnQ-=ajJ#X_b@AT4-rt&=np6)XJ$|6Nuq*q{*|soIUjL%LO4fJk&_0>{|NiLE#Ynv{B}fbia{|$n!n}^o(Kuk+;ca?8D(T$SbO-9*%l8{D;}E zt%lT3+7a}p+FNgfLW#11Vu;8EUMk;i;~CSt4Kzk!A3;}My^WW98T{F)CNI4N34bsA zTAaKnv^PojjD+ex&NU+fWhO*)>8XOPK!yvhpy?9hx6NL}0o($@bUyg86@0W`xc@WfkKhYKusV$9?1R!p_z5TCjMJy|!VklIWd~}}$p0_y`JV!DPaf$) zvk}eC$vtjtT=|IOVNqY|r+z9rVv;?TcWRgZUhc7}&FJTwztEJbpc()}nAU4J`1x*p zAx!^oAFd+J^>@Rf2D{eCKtR)C**lcU4qKn#$||*eyYEMx7We6>gPvy9&OC%vzGw_v z50jMQrTFI;J_*S~(c^2LZgBfm%arp(7{Wp2H`9Oa$ zwRJtXp>%c0VggBFKcn;R_c0xW>o;n6yiDBHcj&(?LG}+ZA=*)M(+hefbZ0u6i%{Q+ zbWHe5F5NL(O@Y1Xddz=-L#*8Nyumm5TA+f>+*(Z|9}O9aSc-qxtqR^xlF&s*g|*Pt zj?D*JZ6lv*^;`S=x4)`4MBZ%9cq2@E(dr_7pKu-5FODz1?+GH#qPmdwCIZNw+0zp% zvoT16QF=FW$2;E=leAw~3Op4*!@sB-h@Z-K;|_kU1DyhDLo!4$<`_ar6rSi`I!Lq# zHR-bnVcmG#P!g)(_=NYG^HLk=t7fWZBq54e#qGymD*21<$Gg#Z-M-H@T#Xp*@3hLW zU&VfJ>gkd6rIN)f5KdnkNgQWvW4_nfT+5G(Xj8LAA26~Zz+-<*n58A%DLsMJk^Z+j z56;y*Y{*3Q$zIijajI9ITTX;L3A^k8Zq7Pqs}tSzeXB7Sqr3CymyPL8a3Sly*C39( z-tR;A7d6B}S<}tzSEtFbFBDgr#FE{e$MAAO8V z7&y+9%bZ)}SNJaw7J)bztv&%PoB;nFxqqiq^t(4;GMe@oDy6sya4xu1zB0W(?qTJv zBmMN$R5uSX57fxS8?PS26MRvS;#4y`H|v^9R2E z$?J`bKYYCFoTvo8|1yhp6p&fE(IP(4(axu=o-Kfi`ky1rdms&i@0kv88pT3mx!!0@ z^KB?&I4tTesdqo@&b0}Op-L|fYNI_9)oA-ncmS{4k}#M;r@Zm5QJBIk=Vj#@Ul`EC z*a7Y^c13m_+9!sGavu`7w`7$TELWaSd~4b~A}}%h&%bGp9e77CYK(rJhfd7Y^S5Xw zBE{13U*Vtnx-@citRBTcO~pR!${)eSSHQO^vOZhiiFc9jb53W~HQC&i>$8cuSIa^J zW#Qu)8~VFpfy`KIO?cS3U-$X7woQhhk6vc-koiq!E&Wmm*8%g5(dPi61Q08K{zc6O zl@xd)f($6B>9(W85Sj?hRMH0mP^_vcgwiZUYz1Bx@`~_E@%W?c<%VR*+Y@`Noh;{( ztE`q&k#5*pd^ZE+II^#0Y3b5X`Tu{!EqS%S9`Bl**WUd!w)-z&ILeuT?cq%P`<*|< znwB9nR#0E8O*bwqW}YCB}la-Z?2X9c!3USFQDIW`u@JPm4$pm{v}%bxHtH`p=9 zb0W1&DO>+HBL$(YMz|fAs%k6Hg7*iUdtFv{!BQWbskdNf{Xf6-;?6&4^=rWk3+vFZ zS8_MZWtopc%ENkp0R1uvA8Qkc-h|`GgN`KiMRAXggA(}wk8)LLO%*{*NlrU7L>F$tyOD9`+ z$trkHSFKb=r^zw>{u|kXoE$F4Y@iD^VaEd6#4*R9^W*bb=a2v{$E`@o1x=G3u;2dg zM;+{yrQfQ76%PHs6@C%*@4b5p8X`TuEYVs>vN`hg!O9PPpCNi#b6IztbTAwkP8??8 z$?OuPS*Ck)=B4m~auMS2mSxQ>B!vS2H2$z|J%7!|`@Xk?BSxcAVsUOH&_OH*@8OR;N))LR^ z{i4PmS?Wj@oowbSApe~Mkqm}P%S(N3D#Fcde0Wgx-|qZpdv=eo9{6pLWcpt51DepV zd$VaAIDa*9Ui^J(e#h@0T}}XRl=tu3=4WM>zj}oYPzBTi*9r@=O11adlLIml;NkQyA-N2Z zB7T4Q!p{CheZ#?q3&?(qjEv(>3dWdR7C$yilh6J%FS)lXoZP+$Ph9_j2n*s7kGQ9=LdD zLXh{`POML&dct@1?0>HH_X>s=OiYc;%ftx zh*I7ZBt%}pP+qW2uLqsD%cIq0Dg5(HIVR}AAp(RSvuXF7z%MSOwC+m2#=}Aqs0ZV< zdB$?zsM_j3)y}1(xSyz<7t0^18mOMA`BeKWv3qOV?IW#$VyxA*~k>=<85Cz-O8hefv!FgiuVa^$uQ##vQ}NHDWzeSIUD+@3^xP zPP;+#mCgC_gO{^3tHUqvD2zc%Jzhy^j1~KIrTR2Y*BcdLTQPb+()7yjR+W*B-Yh$- zb?aMCPI!igeDsyn&Igs-mEyP}p?(K7&(cBJ?>MNdN^-s*qG-Nml&89u4R>7%>bUOa z?37e~dNu!PEqKNB6`Vwg3) zdt)1DKc`NY9c=rTz)BK7I=e2w-0vP0#Nfb8@!z^C+l-Ri)*EnPu3!7q*U28Veswt< z6_*Ov9EPw+AK+S3*p_7&&l^ga@Yk8`^wBxTg#$0IJp80WKJ8_0>f!-{t(ElNza`qB zAP~cx5a)^AXADRk<)T1Z7`|ta4haal+T`nobNwmd#;14ub*CE_=0*HJ_RjJlj-_ez z1PHpgEx|nr1QrOc!3pl}0fM`;5Ii^p2o@}mKyZS)LlzJ2u8Tu(yTfzNdCvRZ`!C$D zJ-aj0)iu@KRllnCp^x#CNBCvdT*QQsY;Y6t=UTiTGY1j*1{39af)^i!5i(uJ`EAiy zjF$ib^aUM>EdE4Am%>Ks%W0bIVWvw-)~b71yr6ycHQktL;iHo-T@JXi8|<=%sOusi!r!{#)}_nW>lVQ0gK0?eti z3ZG1#yWzhi04Ry}3NRK%E4YmxoN#en3hMMdzTHErAr0gv*KUcy>2w24F{XPqp{>|s z_27r=I`{R5R_0Zb-m{^`LY6)=+M{8vhXl7=zht9kk~Sinhpb=&JMcxFHDnqx)(N&a z_-&6jz)L^{XC^PeY~_zVsPEerI1h<8TM_tg;Fm1*C_3@Ux6<))^zdRs-`&5A^PNywTu+wmLTsnJ$$(=OfCxOqlVtQWLfL)C*T^18FQY_ZsI@^b2#c}ex; z%iZE?MIDb4w}gO0j=L@rl=-zLff4HW5bKVsLuFxydRnUK>gG{WJ94^WdcXx6`9 zG-l)n()*C^rEjqTqEzCt-~rYyJSpvgvT;A-hTW``^8*$6y8<&F3NHf9DP5ltFV`Q~I34zlZY|xyH)ecb{ANE@++{(tT5@kH~eT2wOM|WxjJ=aU=g9 z&x=F_6f<&5r;gE#TA8yjLNNurbp6X~(9?s|rL?;|GF2<3bk__x3p49PB^Bt$y^2zb zTZ*^f!N;Aj5zRah*$u}b+(S9iG4`wsz}?F6(&E^>+VaJVhwM?R^dXS1<1ydM{CTk%fEN>qBRcn_Y%HfSb&>Em34Ge zUr?YIb-I=0f_)8QU65^8-;4)jsrwk;c5l1v75;hm74KoZ6z{k1+`k?D{@Bs)I6#$L zAF#N7SR@T9Nyb#~wZ0R)TxE-EF|mjW+8JmAQ`{cl*wJ|vySOW?5 zM;iY5sAzHHRO`1cE05QAo)A)@j)BFk6+a`Oq6&FeOG~r z-0dit0|gk^NDN$6^tL9njD*Ja>ega5c9i_R?Y*ZL^~0H@$(UYt&R5DI{2mGGxqG?O0|1odlLytY+ngWF1pZzJ)fGV89mY2%ecskN{g`YUzC^ z{P^L1>7idwrgci+Wzgg|BR7zoh2xNV#{@{;Jl(G51(|)_N>_~~yT&}|!PNU%Y2;s{ z$%2MhApLPBEY-VDEpv1dNlC8&T#P2Bi#dj~u#Cc^jVC$4Kb&TgiRHq-8<;P9xp3%L ztM9duL~7Q+AI{E5Tg1)NdNtT@m7k%xcz<4NIXmpT$%)x<6sz}8{BCOr7?3S@L~esQ z0T?6vB$z<)*L7({&$Er@L#RXjd3BkP%9+tX5?5zyN>Qc8Jg!tbH5z+zd!BoCNa{d zJTDJRTJTsB%Dr1g6_JrT^MAN8Dn*+=EA7CC&{f%aVSaL zkkw~IWQ%5uFyo_8o~9gq;OXDtoJ0u_LqVGPNMfMswuuU&9wj`dxq;~eAx z3SD;y6mLmUgL74TYR%G^kWIsjRxCOGwln4AcxZQj7(>TzpXN?rzJVMoKql-2ySFa4 zr9~PPPJy15)i0iv@-QsAmAYhre2#*s=DXgR^g%Z~PGC$t?U%I|W+%Tln-5!VYE~?> zpzfg}$Kgr?<;K?Ok7j27PFc^Yr^H3CZGx%Ym#4kl(vZxy{LO{CVQilO_;(F!dsmHD z@Vz$~WkPDjiR!9>$3nFNnfEmYC9f*0_6JKy&wjJ=iq#kjQs#;={d|y${ct;BgsdJx zLJ+sUQ#&7{3u%}?`;QcSCUyJS@-n}(B2um42;TycVddk3)2Wv8>L?O|Chn5HV&EW? zJ}r*LrzH9#$fxsU9zYE)8{lhdH5VL`9ll|XfGMThCmXn{II5Wq_<#v2xeb?YsESPN zW?K?cc)8fEY)=d3@CYL1#VFnChRgzgCx7d-`0&B=wyg@X%h@S{bVNS!mtFr%j7Vc; zOB$oqdOe{44y_SM`5srmL!&apn`1H3v~TBNqX>kcP%OZk?~*h$t;DY9+MX`~Z{lzo zn6m&>AVCFFrYNLrq`~TU6dcmz*8qF8#~Af4J#MxaQeI^yUg)cxwTcNg!Fm()A}`v!)c4-*{PPAL4mwg&O*y# zw0E<5izlD${1y@#4tSbYu+rmjc|2Ng7Unq2s&l%rZQJErm5Zzoe76L6ddXenUFMy7 zt5@_Kn%#sC;}UC4%6vDNE4LvXcAfS>@Q-KMd$Mx&BG5M#68u_d4X&f|pw0K5DO4Wi zF&^^n3y$wHlARw-PSz)?L)~e_^+ra)=UYJXu`dBLoHkol^wImm*iq*N0lQ(ch0P?pg5IbU<33@XU%DR&d0< zFb$zw(&@NVp<+~#$5wC=7Zvndwhr~TSLUz&%LvQ!Bi7b+ztZhN4$Zx%sR(1&0Lx<{ zbJA{7_OQ72r{~7-7eH|RDFM(e!7p1s|yoYb{3CpM-Je_cckcqy)?rwzS#zS-&R z5+&I$z#EFN&e#R989L<}lzpt`&~qPvIf)`d!$9k7k4)H4#oKqIR$cKjA`=w_wD&?##PMXIGo&WN@ z6_1Xg>xXDEW;-6v^yFa6`i4K@LA zmWh3?UG;>fU1mRtt5>V?m#(1i)PaqOTiz|x>bCzRETOwpGySe0P)84924EE!{v zHIDg5?RFJU&ve*w`OW)I*I2XdGG-mMGDVq^kLf1U3*WJjPNE*#P=z6#o(~<-=IN+c zFCNO}ejVvuvEz4<$K3+?r7u*EXXAexjL8BH;)^*w{O|pOZf0VVekl zZ7s58peh&@IwSDG62&CD&@%FgeYv6){h&~$nO$%ZzY`n%%+y=zU40V+e+%`1xlQU`X7M#QU6-4rx+t! zOBKg@wfkT!I#Ua7e)KxzCY1`s%A%eZjSyRET_CC+GTI1DldSJIIQY7~qwv%Lf=j7N z4d!rvPxOLn;|;ICa70f@U|;xu8rQ3~S5N4}DET(S@LL zgegnK&`odRexUeTdI4D9Qdyu)htDu&F9u`wP#p4jMg>gQ*L)YbKaSmJpiB+*dQrHx zlNvTC?Om#ZQfOoFKo=|cQ*ae8_SbXBd>z!>S!0WYS=K8{=-E*)9jypsd?L~WrL!k$ zCyJ=b7$+V{j_`PBNc7uGkxlkkSqEYLqn75&ZnhyuMh;J+z@xn2WQLDe6%t&WW#>DY zF^}9p!#LuKl*4wMxWyW|;m^w__N) z9(UA&J&_Xze6|T8!iBprf528emn*AyTAy%-@p%&aV#}}V9ix#A2}7It*jKJ=Tkq_y zM#6*>OIhkmd0P38y9newhh<@c$JCi6nMo<{GBpa=s}n$(&6>#8t*6D?M~c)tQz-9c zHej*7Ax{!G8Tm{s<5&%xo?`BocVh3qRC~1&Rv+3?nl~6^BYR=vk=Y4R)sva(j)BM! zP!Dw;@hrXQLvv#fbgnh-3xwZR(SG8&b@0QB^HUlCDg3kb`b>nl&DL9xc7Vq|xtFUu z{G|@8|2Cg2!wGLuvQA`=Dac?oOx>T_P^OcUtY_V12R*sn-mdGqKw9Xn#{1Z{$$ACH zGnlJX*|wkf+NJ>+W068d{pbXPfg6~qOvO$kw3?=;UL zhh4e5RNN~k7iYy@%>>#zYpiv(qZ5**n9e;O&e1xnn8PMw`&MGR`=Xl$bf{8DckHyL z(<`Y()iIQZ&E(&t5N;ji`1{2t6ZTBMP`pyh8vaJd>ynhAB%~b4q}`1Yj{MNd6U5MS6lNjvCl&GdQML- zNSR%-DYM_4cIOpH zyboTTeshO^)FOL7-$WWD#!xWG#_b3v=Fv3Foh_7ivV7U2>((BYCB7j@X1NnIzEct)#_6;jGGVK ztXC^NT$-L7#pgXi70maiyXPk{@sxB+X`Y7jxh(U+)}ujN)LsM~1@(T(vP)rj1c*>h z4w=&a!eO(u^4Ff4b9}24+rUa)o1%n^HfDl^Y!927^8%Ce)}`0+_vVLQbbbwfUfJw8 z>o$r0;lr;bzUomiq8Ug?w7^lmJm0UvluY$EXp&4u40Ogzm@{}Yz;<8FED-c{s^ZMU zSgq~7gT_@wxb5B`Mi7>M&g&V<-skK^ZGfQ_%Og)0prfDgN<2i65Q2G!Zaz8)ss4DQ1k(cc)Lr=H38X-oIIgqPeY9VQTfO8(sT`FFwOmTOG1)v2yZCJ~{- zmRrIsD6OZG7*~PE>Q_&B>-P>G&YfIduDhZQCg6Y|`1ji|3Ruu!qc+!*d{%bN_Z%Dx zd5!5qQ)@JUH5dHC$V%MbeG<+5z20YUsF*~LZkM5JI!2&qiiF#sIo{B9PRQ0VlQnB* zes?k{K;O;eG=b=i%m>c{dB@kw%0qq6eYAbPt6?IU##&0SJ@8Qn$I^%3K3- zZWc;VH6Ce?33J1q307frb4Rb|Ge?sn5&;nl{P}^9XJVOa0krP+@=Ey5N<1t^VSl+Y z+t%qEft?_B9a(pYRe_v>Unj8@=D-o#C@SZeb+@WM`U|W6y|5T#-DPH~lplIa*ONQC z*f_YJxNYfA3<-`p5C|Bv8nrLiq_BJVT=Dd39X%008jxe&N1E}K1$#?*3&$OrrqoaS zGIk!in8!L6Va;BE#)li@BS=n4|<- z0bX{z_OnI6Tk%=Gwr>+$Xre=W_~a0C_@(CCpA?Xt>Y{3XimkNEBfk}@FKab(_H!J! z%TEGGTk2sX4uqzcma6AB>#GshZS?_!q;6w1F;qsc7XO;xd{0K-m5({*(o7 z?9eaZfENmo47+EpOGGh?w830Lp@5SguemXW`W?CZQ+o2oCp&9S(f4%xg=a&FZ_6@p ze(#2s!>5F5M5u^A^LXFq^!IUZuLrbv?jKX@uVLjG*NUyGEZHx79kVhGOgR26q@K~S zZ{Sl}o>EtJbw1I$XvM*(XO~&QKAhMD8Nr{B@_C7=2g+EZFr6~+uqz`PiZ|fTY58ep z%4NK+k&h`d^HSK2)eVQmt<-GFu|xsPwA~!Y?9|z<>x0=T_DvcKy|7tA@S=Wru>9Gn zih1mf{V`>sZPcafkWZ0^07^DXmj7AhyL{P%zul7ovcLwbC0~^t&i1s><7Vt2WWl{# zZWg7&g&N;H-uE^%-qJ)3^u7~|N8XCLkR&HL6W`zWO)h^GP};$qT$8v8DO;Vl1K~N8 zc#Ros^@2#&p+hcFQEZJsybCPJF}PWkO?6_zRZ&q1 z33Xn|7dKJYhaFXuXHvec)3M=Ud_#-aGEM^fh-MrAoi091ohoUtudC(eAYIk%mZK6s zm{3oZNYh;6ZNHl8u!&ukUuA!5SG@r7zQ1+3EPbK@psNrN{$ z=^o6WDGcF;8H0p|_tN9n6zvXGA2ZbdyRHBZ)p2@A;I?ssmWd%S`^)w@C51435dMT? zBG|o5iWn<&yt=7m-x2uRw$t>YwQ3}Gzl#$DW46(bk7tcO*(fyGD%`9U(DT--R6HUb6cCLN=Y&ox1o)7xSyG z*tG!58LE{`CGT!3y*^D-9xXScOp$yY6siAxWf4@!E)~Hh_L8#E%A(mxPf956Qy7MZ z)Jo=j{)F8O^kQMo+ZdSv{&~;`Kgz#n1N!DC>#TKA$*iDQHAB#D4YJu6x3$oy4sPh&^ZVXBhWx%}d*dGx|B{7UfhwHSe#i$9Uckuvo6gtR{e#-?EGE#`OLVH+z>z0W}u z<0Q3uQ%6=`MqO8nqW5N>7akjTBmCgJKFjg@q!Nf{_wC-8G9eJ8WvE}^xAzm~eoQ+H zrcg4(&!WIS`yxJ(pJYw&#%@D@)Nex$y#L+ab|Ys0NmnBzDj4aag28y|Exgkj_wc3E z`m|c`wYJ{Fb!x00Ahr^IB~7LGvCkP1B#Yk3Tm|j0<%}lO&Jg|Vk+$;v%M1R54)OvB zuw*4NaVZFO|04KyKBCGL(2g(r3Q2=3MF4CxE(bAAOhXwEmVX8+`Y4MK+63{2d|qMW z!3ts5E=hf%{?@t!mlz}C>@$o$%ds_O1?Qa$*kyX9ml%V zqm#S(HoH#hD_c4LDc88j%G&1l(wh+C6jDJl0Yic??mPakB{|8U8N?H0k^9 zZw|ADKRpMF^nMp6C0jcb9;oB9pXsn>1T1+4cjk9N1y(*w=Ynvyge{Yo&Rtyp1a(r7 zfe3+8huSk0Y5GRmylEL@o1TY6HAPwUS5C(A@qXemi6-+Vfo2|K_=QBI*qveO#A22P zu7Kye8dTQdN*L68MyzL>v;1!R2m`qt9C?HotVJvnMYrfM@{NkL9se2b@IGhT6Gm;ZJK%S4sx?w zwD5Wf==aPIZM58oTRfx-Eid;(oSHfTwt=+880&-X^#GS zUdb8>!y5HY5zzl6R=`jJSMC+xSOdz}4J6@4y_a0kVN}|!TeuFw?5W)grzXiS#dKYZ!65dZ~$e$oG_W0<`zzRZ2$j zOKThrl@j5O2jSL128(p%=4WWhDRpPTZ6Bbt*L^#fbPBb5^(}hqFHEaLCeUOqkDDAx zAN}0M-pG!Ta!ZkO>*YnTU&X>dAEc&zh(H%wjIZ9!K=&mk)R}Xk7nTG)o>jn_=bLq2 zuu>(g*XlDVqUv@m$>{4GH00Ch%lDTRlUHkNq|?80S(1IhM3f(g30i+%75HN^X~S)vMN&`AsXf1j3gN+k&; zdlcy%8f&7!o2NbU4knkTq&~FJX+kPvdqN;m`^-U?n&Yv-Pnd}W zcQb_&kaesf+}DPyjsf==$J$alD&znf>_OR`ZwB|lIqEMNGe{wBtVf@CGN=P(+kE5BopOx0NCS2r z1N9XA1b(rD8De)i0Tu6X!IG}ZIno)dykXtl=JaGF6?j^n`&P#H*0ixZ`XoQCalIE5 zrZK8u#+thm!6TANJfCwrWaujR z$a5I*1W9*rn_0!^F26J638p-2(~+1tyCaAw0|mWymKd(y3|6x*cxrA~Cr^aMoPH^v zn1ZY-MRisk;wk9i_=OG5oX=+4@YC|fe!>pTt@0hYCsSNh-=H-`@0OG?JDuYIdv6t} zhOrclMH599(t$yHN7%*d3e>6GN~xfQe>f7`2jvqYNfvMaM8zm#-EI`4s45`|%z<1x zboA>4=^4*UO_lyA%H!n!2DKI-lSzweb4B~OQv2K9mrE{sdOm!qE|>}5ZwwEmrS6to zDt9#3!;nnslhV|CA`0i7+M+KlkcBZ7ZbX1(nLI0U>pE@_PlaA@SL2m7oyv#3F*4Y7 zZanJ%yYdGq+j3rpAL(|L$t6Z&dnbn`Dfrs*yleff(CcQThZg&!c*1SVyL4Pj(FnW& zV)m&y{0yfg$enMJJCJgE6LH@HLzBlqoL>9&8*#}^K5*dnJXanbn)S5D+5PDHt<0oxEYe*B)|G43Ceaza2vJU@CjJs}dI(CYWj zRxDP#yp-`MZh_XTpf`3M=FTm{1(OrZWz`t;%sSqOZW1L5!RslG+z)1_eBCSHgcHrD zcyrVXV;7wfxgCKpjn4`YxZ3#LN0JzF4(ylS3qR}Fs^!$p;V0^$G3~Zn*7>Cx+}1Ha zMMi}vNKv&{LaluRRqW@o>r~AKe`WX=qb)V4{z!Ty&ZKJ?qen&SvA?HILecp{To2h@ zn>{B*)j{2|lSYzkn5iH0$?@g+D1lM5l^4wit+WxoS9K^EF-Ib;!@@U-z{FV=%zomk z0(A()6MYH0!If9zyIc-ps$(dmIrZ zNJqUj9cl7@6=RD=^uwQ+?^TT{zKGs3gw&Q;zV4>eXa44vqA4xD@m%O!nMtsI1uLc{ zh3Lt(u3%etaITwP)D(x{PD<;!&uHIgrA5tOg@y45cD?bGibPjq>d{E%{DDJ; z+{1d58mEEQ)HzW!P#kLgG(Z7sr&p}xxf3stA?LD3%Wm$x^bXl^f6At~zG+j`zT}_X zA54ro7{5en=TSVWm%;Ld>Oie^0) zCW=5OTrhq_ydqzYEEeKA7o;)>`E$F%Co#?O#*P9#JH@6|(=JtO7+ar8#DtxA0mqN`F3 zFLmc7k%8WNKP2kLwthA?E5cVq{}~|jTT*7EQ%&dXF}k>xQDeNvnv>Cu88Y3{fp&>A zq0|@UZW`}WQQNweP_H488Fni+qK@fg3BrLQMISBPs={oUg`Z{}akT|L84h+gA$jDg zxVBwCEP2aqdX2mbve0OZtvG1Iv5x4)ttEt@#VgfSQcqmaV@W7yOVm+bTn zuX5a5xnF__?M&or+FxFbN0p^O52jY+Au>gR)kW?`U^3Q->Gq~r2wG^z!n@sIgtJ7) zozxX@|JOj|iL-)e&6~c-VB}tug4vJ8pCoByht;Z|648-9Bamu|1Mf9$-;S{!BTo_J zDpt7%zAhA=MgH^$EF5V)K|YbcD4DT^Y7e>Fv!FaDXP8e^bo!Wc>#HyPNP-Cu&%WaN z8{i2<5OA~6n%haEM;GDW%jrl^IgX+O!W#*rm{?OLgz4?3pX!ZK4bZ+PFHF#Yb-@?2 z38^VceQ#c3zX16>QJDg&MXghmGIG9crsFLlnU&P^!jlDw2qc@;Qo}!EtrazlFSIpq~uy;K7wAbJ0ewg{qF8;${}bZYYKZ4qiOqVq_d>?{I&5Z^`}~H z_nKa{IGM8_$3nZsm9wxft5@%lMcbqr{c!$@?X{uFgAsWN+dPRQ3=GDM39Iq%)<0{3 zT2tP2ivUrK{vY|7X`$JvvbUXf^yuY^$p*`$y+wnW(|7@PG?9oIp^wnK+r$< zKG}&t%u#T+4O#3Z_q>@TwcthGSa7lOt=heQW!jUK)f0fPQn*Og_vqhj(cfDwQ$xXs2oF#M8Ki_71pQuf(6gECwh;WPAvMJBC6K%f8|DqZra8RcnZhH1~BHL*< zh(8gnHn;9lVw8$Z!@|+7T(8KH0{FtL^5p12pHlPKRUo7R5~3J)?7RQnPeBkP!2!nf zW1^fWNAt4HWrbi@=Pat8`sz1@9lK_bf>bP&tm<}qiZB;$x-Kq8^)1qbz#J3X6B2o- zUKanb@igaxYvUNc5lW*3_K$l}!yGtgm2H&w?g`ul6mI@nzm{R#lSAYl=EyBbRc!)g z0uO~g8yWdIy+Z!1R=9l`XE2g`*-&@9n}lwyT;%;&QFO%N+6l1oY+<-P-bnfHP+%b1 z>OWmktkgU%*o}=53Z@66m(foYv_G9!joTZCvU~17d&z@f-@cM#qTEb! zf9by=sb}1CoJVIiztd+i8kA2B?+gBB&*_CNhdCBYbt627H1W-+D`DtrD=TZi+p$Ko zUS(e8Ohxbr<03np#EshFsEEllLXP*P2#Jxela6JE8@_mEtCbgBHmsQRe&dd^?(8pP zRo;cymZCw%-ECjD0R-*HW=*-HA{M+)g+r@sFW)`x*qrfjI~|fTVbIXhe}K?{c(iep zAI`meEb*(fTs)N`Acioq0GN22Js;CyYJJZ?CcQ@rq4mV`>`j>A^+6~8nj%M(Agb$T zShrgpFnuKiebDe`+|sH4{?E_<4%FKs1NAGp)nnfO6-)T%DkI60-6N%gN|(X^3(b@P zybQ6yzwrK1z`qF1w)IC=);TM~#{PfbN9wViULxji?(~1$p7S>0W>5cL-1a|^J_H}I z?sPQH$p3(qTSxo9nw{~0olE`j5EswC%<3b+O83}~ zPb>XDP}axhghz%O26g}Mh(7tNci?cKJsy`Y@bBft-_0rdkB*%GFZ%yS^eLo>08yFM z&zNqjYIqb#GQhHe+;zXf=C4C}n$nv%H^0ff!Rk>j2jFfk98antZ+_Oe%mb*$P(a@-4F zpux%U@@m-M@W5y3=JTURXidW7i}}YkNfHBf?giH|=efDX8e1S!XT#vodkO)=AE1T% zP{?eR?VTd^5+89@qzmHHZXzvx74AjPHRoKig@Pu4b}|~!$S7#|E&TxSpwA!qWyZqA zHTCmHHmqfhr>-5VkE_gUu%oVA|04_w+6ElyxEyZ%lk`5^TmLS}z&dE;vz~n_6#Rrn=OvB(cW#tjLI>Znzs@ z=H|ufw*a;{(I=87+hN&rosLT9z%^eW3CO_m`=;Tf3iKVJ;c_*y{}H5=yupqdL+RD2 zK!dd3Z}POJ4h#aop4R!SP1(s<7GyhO2LS={Nmk;G`hC@_KaY$t09&y29Rhsv34npN zU}eEzp=9>j047#)Qk5@c#|YabyZ`_{TaIu3SN%qPz^7K4XF>tl%;>*7$%UI;jzevTJq>F*Z^2- zm!6PtpZPUPtrSob0J^?vDAhtTP7yf@z)7?extW3e!6E$lk!=!y0iEx5jasQqQXNd4 z-2gzi36ffD1<0!bOPB}oG^7ondzVfC9dvH_+3)KI{2=l1kV-zQl&PqE*d86#mCT~K zc_6G0IMiBL!FEaa0PQ_Tf1OXXjlNk(dpmL(tQ)8b+e@U`W6L2m0)U!#CBA@KWh$IJ zm8+Z$Oxg?70wX>P76!CtNRJdG#&W{}E(Upz1W_hN-MX4n0O8GzPjaj;9wFL(Ory(= zsE9vym4n=J)u4`+Ki}9kmg@m#^|Q1PTxG_qY0sREc`MV$zJAx>FpUC6>9eO2S4iPH z@@9;vcKd+BsSA&}SkZO+R@tpkmcoEy6L9@}!Mg-F;-t|b;Gp1FW^J6DPE}`vU z$svAYgnD-rCc@(2e=`>ujMtUxpbJcgvn}YGTgyQ>isA4_K;5}lV6g(i=f8|Z#jDKC z>?9+72*_-!aIpmUz2X!o(?PJU@%h^E89Mz+vrN3VvFJ8H9s3L_kv2egqn z7P@D~NzMqjF}l&^J8DDf{|~ku!seS(+yF03of4-!i6ayvcm755W9Z{Ee7CxZ68niw z7&>@Vgo6^|B^K-VNEkm_0@T$r0|<9^Ovp>@K-xcJStp74>n_T^6L@F&K%j^9I5%e8 zAwR=iwdzIhe>iJEhjhFERX4Qv>?EtX*s;8rb7&>}NnQR-YHfUfRE}-1$hWD& zCRDZAe-v4L*QS8}`Mn<;cl}87zil6T%u3*%dlXj4A)?9pD+jOspFrXRp=O?q*wgK4 zvsi^MY^}E^&W&>mtV_*v09;EN?VSY#`@M!LtJ|hLW5Jb5U^zbOSUMfJk6`Fo23>b16x_T@4f)!jXQl({*PQ8IjG?c%X_%|6* zG8xsa)AnoTO3_go!(%L|haOWC7*VP=9~DW|^CIx)BPs6|gj#AAXD#MXj=tkgKsDRe zTv9Xpa`#z~_G!ySGuyCuG}D?dKw}T=f|XDBg>NkYg3~5=LR3nK#H3(cf@!HsG(%gG zX{rl>2bU9Nm64Hb5ZDlm;ywU+>aZAnfWEXu&_?w#W_VULd9~qo9 zLzj#PWvti(^wmxq^jb#|vS|lqs!9?xL$EsswjxcM!Q1m`;Nmpx!C%*>1K7YRH7r@Y zj~N^3aoXIqK%zip6WI48?KSRjq9s*^li@DanFzcf_t~nNy?kL>96sEgGNfOYDPvs1 zGV5>#*rQB;kSpE>by2vp8_daYDhefD0Ht73EwszyYL#upIo%1&35EJT9{MsTn?5x_PYNluZe4^$YvsEZ>B}iAs`x6{BGi-3 zFQ_j3bFnYEf`*ZpG|U@$EOVt^azoRGYIr9`;xcJTO8=%;=CVhj+|Iy--Wc$s4bVVga@MXE_`GOzvHJBHF zNKVKa_v<}P2z-#vVh@V|<2_^02roz^0Tm8I{w4>Ro(~GgbjuJFIr&A$Ir|v3n}V$7 ztR`&9d-miw@xM4xv2-l+Stz1F<}$&sT4-ArLlTuS`^hRV{D<6_RkE-0z&MdxJ)5w^ ztCMVT1Y7l4-S(b%Ly8kP8dLeF{__NVlf(b;mrlln4B2)dqag=D%S63dP! zG3_@BOKR1$Yu-Y;waFmC)VM%2Swmj58umQ$tVyGp=mXS9ULh*lxCnr`(xSvd1t9DbUpdB;3psel$IL#BGn zUni6$yP(c^6%ydZF=C8cB&36KnDw4pyW3jA1&C{!8_F+xVmGAEF$eq0)n7{E zU7Fhx%VPWFA-op{1b|D+E-A@hEjiIt%J~t5k@?B_OSN?eaiSpn{3u^{P-ya|yEaG~ zPOvC+St@EwWFm7?L1M07A$cHA*Mo5a7&b*K8jROmRWn(vo9VFqSEcG3)PXh<6nCs3 z^Mczvb;@wUAc}-|r}tkJBYek6l|_yu(xTtp{!oHiPs(K=J9Sr$EovVOHjKPcwHyU< zGBcr8M5r&wR0;CDftvexQwbKXgcC1LaRxv9V@D| zLkUPX;uahyNmFLC>Iis4HtEp;r{CGhmw;RcPYkd_5%KjHyCGQyrjqfmi?J_$+k#)W z$l`&BHpY}DnF}GCiA7EbJ$RuB6-c2f5_huw^hJhz6VRA4z@l)L>B_v}HRrTfj>%ht z*ETY57CREKsT<4ke{0S2%Rx+Xs=9u2|3}hWYu`6K=My{1Q%suDNT7e}$r zWIfBNyZYtVz#=QdYeMV=2Ub!l$P!d4OHk^4mfJF1zj%DzJa!SPT=9LTNy(rjxW38= zY$Hf{1|4@Z`sl)Wiy3f@@luWIDaBx25N@Tz>ZzGAZhOj@4!$B2J)A7Kt`}8F|3EHH zJnZe3B(Lg=-*rJFK+4~?1&}1DG!gg6+b4Op7sxr&?g*-WVYLeP&Vru9^kj&BB|J%u zq1(g#v;q=}nhmb4LesN*9Me%LM6N*xL{Jh*#^N}}Si(!!{*t2R0 z^cLha8$Yl^A>W8PhmlbSbh=Z}cSzq}i|MKp{wflv^Vn@aHOAez>fDlIk^-T_QJ}N?XxLm-xf!aji{^Tx8~k)7lXHn|@kKBr`BgY6 z=thylUg;9!<`oX1@>Y&g#g5_JFhen%vN}%n^?VD7Du!?u- z=Dd=>>i(qrj{Sks(pT$N)D1%q5{hu}@o_D=L21`qN$qvx-A6#8qW7dMb0TEcI3SO* zI{KQ4=#vTD)Au4zvT&ZEqz!P;y4@IdORp+WqJ>ePdAYTgOh}@4YNOL&tqnucWEZac z=#82kRLRmXH9Nt6j09C1Lmn-s2;@jPm|(QtG326l-(7^iIP)~+lfK(?5>^9K@sgg zV$!ybRW?+dAcRGypiTA#woq5r=)kW8Z^ey3t4EUr{oP(d3~Oj@LX50?U&WPzDveh; zbwT!OU)NM$qYQBiqQG6vLfH)dd&br+G5@(l9<2IC`8S{*@ z>~!g%#(>*&R*`lODkI5s8s1Lzeh|ck0Np+$E(`zo z6ZH_m9%?SfLC#gLQ(=>J4FZ$pZUN318sm(~E#ORK?H6y?M$08(QZNDS1u?IN!W+Z` zRPhBVOd46AMUSt7b<$ZRVnN)x#VDVRYsS=c$apuyn@+n5+uQC5Xf9=^zJN7)UTSSh z%|C9kthC9+k^-Mt%R7!X0>?hO*Y2sYM|Ige3yrFaCBIA@PZ>I zJ_NKR10nivEBocwXlBu5d3Yh&j7s9=+1ZO`ck(`T64cWW6cdDK8cwkISbeoVo?AMm zrp`*He_z5yh2Ii8c$1{YD;2}c?%Jrw{oJq3*uy*l&Y$k_t*jIncjz$*?cRg;myqWR z=B2pE7940Q0oR@D4F^>g9Jt{yCLDHGn*9}L#bDHo$287nzGWC!T45@7>9RuOzk5ghja2MXRtKj(j9Ba?FoYm1n&ZBN zIDN<2!G~h3)Df>|tfmJY5!0I1j9v{406NwS%@Tg0jwn|gl~lgp*DQAw+~fBI(&gEKULBAB(uGvYn-QfVBJKia zgovL+RP>%dBRSWxgFxZcIw_M2I%R=~VUYEwI8n-QxDTgLSiR(j5M%U1nLPsWmIaPo zUoDA+%|H!<+G~BUlbEhPC#cObIh!2hW=}NAL(r305W!st?S;yP&~Id0*2DkEUh=Fk z7MNA}55zL&a2~{HS_Aths3q7tQD`)1T+!XqdPkCn%vd57;|(W+aO3~{Zd>kjZT~YR zGG92+Mg5v=6qU__Sj$M6Wk(Sfqk;7?17ahl8%Y@Qghy~}y=25h>4yM5=Sdz#8f4sx zuT0>Dz9xt9s<$op$56vC*QfVrR2N)sYpQJTwNbV6C+Z<8qyV@IqekN151TPQA?(po z%bSWAuFxyHrrbIc9dFL(9_Xd!d$f{a^d|;i8WQxH=bqsjQ^Tq3AH)>0=WLDG#F0C) zecu<&fN;h5v4Z49WT_&HjPY*5KUOWt@S@ASL5|`aRcW@djrvBUi;P;#T_~bPSqvW4 zT8;1o%QnQOcaDTmUA700l8h$*RE_E~>L5zt3}#3S5Rko2nl<2L_CzD1R_Hn#tZ4Yb zj$nZm>L46Gfz7D2EWR}PZ3p>Pv7u8F0 zJnMR@^Pdl6;dbTeFC$#s2y*ID3_NmUG1&f%_ z*PX2+O2$t=i!4wFUk6&ia&A)P%1k^z31^xh)2MS)xz6*T;i3M(CcM6R0mB=Uu*9w$ z&SrRKi7OWURp5s)5Yk}!^crpFH3j6@CW!$ab7%U7bKy> zhd!0err{O(ueqzf?bzhX$t~z7SB_U#yC_|ceu598K_SaT&pY4j{^+mz14AnhDdUyg z9%x?X^gSKEkR}&3;~VcqxARW^S$^y-*CtS)OgDTBA!hct&cdQ$r?;8%(awn<{^6{LM{XgxUS6EZQzV>NS zloCJ%q)QbLLT{l62r9jbh(f3Wf&_?w5Q;z`bm_fUL5fI`rVu(9y7UgxTcm^dt+@C8 z&UT-hb8#+DF4vRinaP@2vnK!F`@S>AC`wg3Epr&h>&(y4LU|V$UkV&=l zHb)vMdLx{%MhC?&1*Xg?%ini4W?4cyh;~(Y^>AkADmV_^Fsz-h5HJ0>)$sL_JiI0R z%Y$8XLVh4ZDf07{6{Q^k+J~r7wBKv?=bK|8b8Lr7qAiVmW1*n;*l@y!5>h}cESlA4@~4^ z_dTe?6$y=|J0C<#5LFE%2=&Wb6}WTIhaId7eHla?M&pb3v*ZedBZZ?2m?B#YY=4~% zxhNAai*WY>3X0rG)dSe(z2|SVPvpU-M4QGj-(-4UBtilvy1@|Nid6zBY{vX(-YoxH zIno!vG30NChm_bxUYpd`y1+|ribO6Nh9CP~Rvx7Uv~Xq=zlHXlw~^V%&7eDo%$_U@ z)2~agE)EJQdZcGl4N3ON`FOk6-7Q6lO<&_~pmgfrzuAU3JA|tILZK!5E}5{3%Jd51 zt}Ab-cLm^0N?F3~mQ(J zOweLU8Ixtcpj;e<%9g2l*Tc->X21F%XRA>5-3pl={I`(3F7S1p>(64?1y3TCm%ck1 zCpTu!XEo6pa9{qi4ZR`wzPsdn_MI*1g3BC3GyX!qv}IoSSB5ZpI(X)B(0=G{Asu0+KI{ z=F^^Fau{b*VcfF|BVk4~$}C0%b%(qdVN+?;Nq&Ji;$ww~&QIW}eo(L6v^u*mG`-Ms zPyS`>*d_I>TzWaEK~2VOX!x~E#SUJnNauE5+xS~D!Bep=(XZ|^@hH1aeSBK3jeFjW zv_YKO_X|@ccSZ@-=CT4L!=p1k^}qEGqkO)z?A%{WcKvjL>XvGPt0og~+{ff`5JtQC zT?2DEUl*}0yqWw`V|Mv7$^$(_$rut>8wt#cM%czZ2(bXSs6A^qsRn3Q@tZfuJq_O< zh35$$j+y=R36#Y;FBz`%MtMmw<4Jr)Jd3Xw}h(Ky(k& zO|6tiV-PnoLw`aj!!1StlS$MC7v9_>SaU>(6?Gf&rph@$Qa)M6>gMQu2# z4n8gg2(&J zWIDrH`z{m{JPfX)d?yLBHp3)uRVb(Dsn3TU6GDUEQ1;6uZ90vJMJmsrtWS0jL%M3M zE&MWBBPH7%985E&8HH|ZcZ!}y)jK<9e^}dpJtgyOavfXxbCn5R33b#5*scyFgW_;R zmN)~V1_d;nx>M{vbF!#M#An^~PC4)Yp*tp5X5$X$l7OnmKRWx^40A9x0kCZHZ8o?S zE`DeC zCnSm0-XIWKp(zP|I=_(cCqKs~2#?sFp78tg$2RfrXaTKvg#gI>1|1K6<&)u$FUlD| zO93j%FH#u+4wZo*^C-M&v!1FxH%&Al5les$zKA9_0klFY`G)%k0OJ~ih%DUC51K!* z1vLyEmXl28XuDT@^b5X@3(n`tq3ojx9 zPBk(X_F`<@d0x8+ReE_j*+@4qrP<$M0|4_KNW1hW_8Me{gm}XTN{-irMAF|!zGljI_&_-jO*UE+ZWuV0Jo++ zs3<7e0La`EC$Fg~t<&xL%`*KM1W<&z8|Bf)G4%T!mn7l>yoswCfoKZ)5I_TkD0|ts z-?3scR&Vquq4{jIoN{_~5xDG>ZAzTDUNprZ@-V9m=O3N2nvvR$i1)^JsmXtwUe|Kx z1M+(=9tlpg|Jx{;x8v?c`+WV7tK9ikRWFXheEgB(KzZ@~x!1OTJ+9AI(=9yZ3x6u_EXespzgB^7Rx~x;Si|gL4;(0M zTAit>JX^0F`xgiMDKGWjNI|G3(#`)1;9uJ zaN@WLXEa6cJrZWIXRxN@=&aw{uY5O~Y6tv*fTcF2$1N*>QlO%XTJip(e&(6M``PPN?=g=&h92_7 z|DjkpVS4I#@bxZPC64 z6k9ICsk5IVj)35(dhcxqGyd{7qa`jcEiOC(PyX|a%Y(vNnAAPPAEV_y@Xr9EGQ^SC zBbHQ(rt_IyjBN$Z@~}YKi7Uf$HM;|?ilj9v{7ml8o4o#3&=~>5G3fyX(sYUR$u7}n zmJ#A2uZ+HO@j7rkM_^If-Z>Q_%>ctnxLY%x1CT8!RcZ}B4*jO!(sDE(l&A8SH@dLx7(I0i`shQ;jQ9ua$*t;<8uVO- zyES_vt}F4uCsfPATepeJG+3D(RZ)>u6JEPbsq{osoT19eICEGPkX$7>xF8|S zOFnW4z%nn|*cfi&{2vFy+OI6Qa!`~XQ2ru6&j8`T1dheOVgYEYr0^3v0It!A5AN5l zIMWcq6L9i?Y7|PN!wZ-TnJ}E5tnc?R@Z2k=;4=L+$@#wF@`||0S5u4^=TZ<6VSXfAd2bO-Xh*J%cn(*D*VPLW>a3m zmv37zu9HV-*2{{!O51h7bea8rXGC%8T;>$`aWie9u*I9L0#|H(H5uXzX)TF?oW4am z(InU!5To-Nd4*%HMwT0-Iqq8haI_=oQ}uW(m1V*PU!MZ@U6hsl2tWO9pYl3@NT($F zlMKX#8D32B2y`9e$QxtSesE>#9^>pDQX1)sk=3{Cpm*DRIw!NVe%hXwhagdg*L)l1 z=_LUa$@`eNoUoPQi~O-682zOXFij??zmmG6FhP`@oTA-*E^&tgkePLv(YJ{jU(!@Y^ zAV{Tr+k6w>l2@@A3XGBp8^}JkI}6EKe>xcD69-oX<@l&8fe!T#%y8LNBG%ws+~8Mf zd-Xn@9jZCb7ed(4#;pASp5I<@l0=|L9)+DF;Nb|GF>r0ULMKM5pv0H4Zx7Y3rDCkb z9PEa3fVV0qqYr^-vDslQ#SNdj4;Q06@L#wXmHa)z77VaVjg*>wTSlI}K(b2#=#x-z z;XXIoA}H&d$u?fFGL@Vdk6d=l=!%5Gy#eyVb9}t-|<{k#NlKY;&5h$Sr21YA+!R)GbMr6u_ ze3fsW3b_F85R_EootLS{xKKOUL}NWCv>OedyeE~a{D|X6<#6j&Bqb`6-@r#t4`Z&V zcB^;bkqp+@9jUUjd2&5iqM}vt5;~n~J-i>37$Tr%N4EL8e(7~6Ul^pG5VcdB%j{lZ zmG5_9{LYWwnBJS79H(Fwpde}$xAs{*NEAmwDPCDJl=|?Eh<;QsoYtA?KG61>9KJr{ zMJ}EcK9;T+oykqi8Th22->Ui^0`X@s!s!m6rOn^3*O)NKQ=;cSuv(HG2CNtOfZv11 z!u1zcKHNoifRRYto3bTnAX!CwNZdvPUD!cP3Ov{YkNb4Tgr^o%P6v>Rvh>ON1c0zs#bII(`^u}{>Q(bwc zjSaQqp>q=!;tQ@(PUx8ue3|kq(cqo651m7 zxp5ZtEYv@5^fcUhU}w9LvN~;qI)YLP4kK%uW#{Bwp?Kw?ym(!`Eh8foOPvZXj{)h_!0d2$9o%T{#zy+16t#oB&U~j|FJvX2uEpkNVom}vh>EAh zQD&=vmGnMI)AtoM5})hsSJlXh-%PSZ_cPe0y+dHtpJQWaO75JNT8Iox*2$d>Mqva3 zsCzixoQk*SadxKaYs-l{Qrq)TR$Az9zzVer5j0A7#g7GxcH#Y&@dfjfDRPt+1Y*vN zjFchAN<>aT4wGY|Zs%PjPh8}&HK3%{W`qQt)1;2p_f6xfa#N8M|npMd{6C7#a@) z>vcq0le?KN;S_DWgjZ2Lie+e-8QpY?^lmA_?z#Xjq$_SO_b0%T$v{aYmX@8E9p@fa zC&Y&&+@p8+9xmBYcVP}G-LQ^}0BYI7@DzU= z(Y9_2ZNu}43x?jMO-lL9Qp-Z>XJIJY$sKMc?1yw#^3UGH?ak8gzz+$9 zVTTF}p=^$(7JYz8E{6K(c~h(Sig@ft=w5P&Fw4xEs^p`9XDhk673sUHg%^l4Z=!-D z`Pez`S~k$v04)L00uq1l#={@_%yy6KiOk)22O@yA1M>a%ULHt2b3KTFiY)s)<8;X% z?{U_H&Ua^F(&fXLL(_C8fya@3_Gwx$EADjC4HY$tJr6H)r9d?@(~R4iIm2p0oYS&T z&WC`1Q)J4D{QjksiwK*tz&$Rvli2P~4vJqA2jR95jv)S-iv|t3F%v`5rAeoQMwVJk z%zF;cvWF#!@bQYDP72?uvAI4ToNxE^46el?S0rPdAwBHj7Ap+h5Pn)HTY4X&2z9gZ zM}_AEP9pSr^gh2J^h-2<58TsaUr|P0u#)c*K%TdgFIOR}(knQj!ayE;V&;L#JEI9) z7>vkyDO-gF^Twm~!Q!JMv8~g0#~K;XTEXV$GNj{FzlS^%^i6UwkB6?Ay4}M`5)0cX zgs2$4!*`Kw7Z0`H=utihX7vG-1)>(oH{%(wRue|F$U6-E;4Im!;^7anHP9#D({I~r zmO9PLyb?5^N+8#nVGRf;9doH01Gery2~LMeFBatct$r4Q{6dXUex9i7OJkpxu7@PV#s>{8&mh z9MbWI$C8W`8k3oK!aLAV+G36I(@uM0{;Q-I9ih>r2~!9iElSybd0l`1IlbgcofC8b)j|scQvi%x8D`|TE)NO zCW_Ve4UO{VY=s^?k(l%Td8aQ8tD?lhVl|X;wfdeB4Z9H;aB$#?ogIe;?pD#QTY{}Q&q2YI{tp2$*LR~g&67!G+#uA)MeGQaRz)745s!H zS1d|g)Mp)ilA+Kr7#ucin!MV~%?)MB*d;wZnh4Q#4~Y3q37aVqzS|~qX z)fFt$EGD$GmxRHk0jZ^`xd`>wcn(C?Mb6K3S1nfBR2rMyy+tJta0OvRob8Qi?og#i zb4O!&WZbgHR12oRqOsSIWzbBjo&9U~)M;ZWt>e`?@OOd)y%^=S(ox|KOQ5UOr@@+r z0aLn-cnbt>^u=bB)tG5UuB7EY4kO>xGBpnDR|hR{hokfeUAc1|&yB-s##%3BqoN-amV3^uhRBL9y3Lfrs4{=L zg~Xv1K{V+Hc709q8?TWFW>%+-wHL7Rj^&`n&jkTCVCuvC(I%K|yAvWV!*Z?(Myzf+ zH>i8fS7sSJ|Doy#XGKsa#Sg@UD|L4tDoNOX)XYc@~R1! zJZCB7I7kpa{CYRn>3U4fftBLrrz=fro_*^jQP`v%7I>SFf4+&EQ?ak+;O7MT6Bn|i z73=uNo%?_68|KCAeo(lYcAy;M@?>>}+IT zW?V32syq^ZI}^effweO1{Iu@%e^?o`aK;K+Z>^Vq+cs`W;yQHv6Sn;yK94kl-8bf<=-9$<7u27Zo0p-`oE56_|uXrF8Moc z-qqsYYl%Q52k@|Ewe3HC7Yvu72vcAk!~EURJ~H4&xW4U2 z{p;5M)4#H)3becEBVU&OcSn Adjust this command as needed for your workload and CPU/core binding. +{{% notice Note %}} +On an 8-core system, cores are numbered 0-7. Adjust the `taskset -c` values as needed for your system. Avoid using the same core for both mysqld and sysbench to reduce contention. +{{% /notice %}} -The `.fdata` file defined in `--instrumentation-file` will be populated with runtime execution data. ---- +The `.fdata` file defined in `--instrumentation-file` will be populated with runtime execution data. -### Step 4: Verify the profile was created +## Verify the profile was created After running the workload: ```bash -ls -lh /path/to/profile-readonly.fdata +ls -lh $HOME/mysql-server/build/profile-readonly.fdata ``` You should see a non-empty file. This file will later be merged with other profiles (e.g., for write-only traffic) to generate a complete merged profile. diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-3.md b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-3.md index f1ea41f09c..2b701ba094 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-3.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-3.md @@ -1,38 +1,39 @@ --- -title: BOLT Optimization - Second Feature & BOLT Merge to combine +title: Run a new workload using BOLT and merge the results weight: 4 ### FIXED, DO NOT MODIFY layout: learningpathall --- -In this step, you'll collect profile data for a **write-heavy** workload and also **instrument external libraries** such as `libcrypto.so` and `libssl.so` used by the application (e.g., MySQL). +Next, you will collect profile data for a **write-heavy** workload and merge the results with the **read-heavy** workload in the previous section. - -### Step 1: Run Write-Only Workload for Application Binary +## Run Write-Only Workload for Application Binary Use the same BOLT-instrumented MySQL binary and drive it with a write-only workload to capture `profile-writeonly.fdata`: ```bash -taskset -c 9 ./src/sysbench \\ - --db-driver=mysql \\ - --mysql-host=127.0.0.1 \\ - --mysql-db=bench \\ - --mysql-user=bench \\ - --mysql-password=bench \\ - --mysql-port=3306 \\ - --tables=8 \\ - --table-size=10000 \\ - --threads=1 \\ - src/lua/oltp_write_only.lua run +# On an 8-core system, use available cores (e.g., 7 for sysbench) +taskset -c 7 sysbench \ + --db-driver=mysql \ + --mysql-host=127.0.0.1 \ + --mysql-db=bench \ + --mysql-user=bench \ + --mysql-password=bench \ + --mysql-port=3306 \ + --tables=8 \ + --table-size=10000 \ + --threads=1 \ + /usr/share/sysbench/oltp_write_only.lua run ``` Make sure that the `--instrumentation-file` is set appropriately to save `profile-writeonly.fdata`. ---- -### Step 2: Verify the Second Profile Was Generated + + +### Verify the Second Profile Was Generated ```bash -ls -lh /path/to/profile-writeonly.fdata +ls -lh $HOME/mysql-server/build/profile-writeonly.fdata ``` Both `.fdata` files should now exist and contain valid data: @@ -40,15 +41,13 @@ Both `.fdata` files should now exist and contain valid data: - `profile-readonly.fdata` - `profile-writeonly.fdata` ---- - -### Step 3: Merge the Feature Profiles +### Merge the Feature Profiles Use `merge-fdata` to combine the feature-specific profiles into one comprehensive `.fdata` file: ```bash -merge-fdata /path/to/profile-readonly.fdata /path/to/profile-writeonly.fdata \\ - -o /path/to/profile-merged.fdata +merge-fdata $HOME/mysql-server/build/profile-readonly.fdata $HOME/mysql-server/build/profile-writeonly.fdata \ + -o $HOME/mysql-server/build/profile-merged.fdata ``` **Example command from an actual setup:** @@ -67,18 +66,15 @@ Profile from 2 files merged. This creates a single merged profile (`profile-merged.fdata`) covering both read-only and write-only workload behaviors. ---- - -### Step 4: Verify the Merged Profile +### Verify the Merged Profile Check the merged `.fdata` file: ```bash -ls -lh /path/to/profile-merged.fdata +ls -lh $HOME/mysql-server/build/profile-merged.fdata ``` ---- -### Step 5: Generate the Final Binary with the Merged Profile +### Generate the Final Binary with the Merged Profile Use LLVM-BOLT to generate the final optimized binary using the merged `.fdata` file: diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-4.md b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-4.md index 376c249164..283eecb617 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-4.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-4.md @@ -1,11 +1,11 @@ --- -title: BOLT the Libraries separately +title: Instrument shared libraries with BOLT weight: 5 ### FIXED, DO NOT MODIFY layout: learningpathall --- -### Step 1: Instrument Shared Libraries (e.g., libcrypto, libssl) +### Instrument Shared Libraries (e.g., libcrypto, libssl) If system libraries like `/usr/lib/libssl.so` are stripped, rebuild OpenSSL from source with relocations: @@ -17,27 +17,23 @@ make -j$(nproc) make install ``` ---- - -### Step 2: BOLT-Instrument libssl.so.3 +### BOLT-Instrument libssl.so.3 Use `llvm-bolt` to instrument `libssl.so.3`: ```bash -llvm-bolt $HOME/bolt-libs/openssl/lib/libssl.so.3 \\ - -instrument \\ - -o $HOME/bolt-libs/openssl/lib/libssl.so.3.instrumented \\ - --instrumentation-file=libssl-readwrite.fdata \\ - --instrumentation-sleep-time=5 \\ - --instrumentation-no-counters-clear \\ +llvm-bolt $HOME/bolt-libs/openssl/lib/libssl.so.3 \ + -instrument \ + -o $HOME/bolt-libs/openssl/lib/libssl.so.3.instrumented \ + --instrumentation-file=$HOME/bolt-libs/openssl/lib/libssl-readwrite.fdata \ + --instrumentation-sleep-time=5 \ + --instrumentation-no-counters-clear \ --instrumentation-wait-forks ``` Then launch MySQL using the **instrumented shared library** and run a **read+write** sysbench test to populate the profile: ---- - -### Step 3: Optimize 'libssl.so' Using Its Profile +### Optimize 'libssl.so' Using Its Profile After running the read+write test, ensure `libssl-readwrite.fdata` is populated. @@ -45,69 +41,64 @@ After running the read+write test, ensure `libssl-readwrite.fdata` is populated. Run BOLT on the uninstrumented `libssl.so` with the collected read-write profile: ```bash -llvm-bolt /path/to/libssl.so.3 \\ - -o /path/to/libssl.so.optimized \\ - -data=/path/to/prof-instrumentation-libssl-readwrite.fdata \\ - -reorder-blocks=ext-tsp \\ - -reorder-functions=hfsort \\ - -split-functions \\ - -split-all-cold \\ - -split-eh \\ - -dyno-stats \\ +llvm-bolt $HOME/bolt-libs/openssl/lib/libssl.so.3 \ + -o $HOME/bolt-libs/openssl/lib/libssl.so.optimized \ + -data=$HOME/bolt-libs/openssl/lib/libssl-readwrite.fdata \ + -reorder-blocks=ext-tsp \ + -reorder-functions=hfsort \ + -split-functions \ + -split-all-cold \ + -split-eh \ + -dyno-stats \ --print-profile-stats ``` ---- - -### Step 3: Replace the Library at Runtime +### Replace the Library at Runtime Copy the optimized version over the original and export the path: ```bash -cp /path/to/libssl.so.optimized /path/to/libssl.so.3 -export LD_LIBRARY_PATH=/path/to/ +cp $HOME/bolt-libs/openssl/lib/libssl.so.optimized $HOME/bolt-libs/openssl/lib/libssl.so.3 +export LD_LIBRARY_PATH=$HOME/bolt-libs/openssl/lib ``` This ensures MySQL will dynamically load the optimized `libssl.so`. ---- - -### Step 4: Run Final Workload and Validate Performance +### Run Final Workload and Validate Performance Start the BOLT-optimized MySQL binary and link it against the optimized `libssl.so`. Run the combined workload: ```bash -taskset -c 9 ./src/sysbench \\ - --db-driver=mysql \\ - --mysql-host=127.0.0.1 \\ - --mysql-db=bench \\ - --mysql-user=bench \\ - --mysql-password=bench \\ - --mysql-port=3306 \\ - --tables=8 \\ - --table-size=10000 \\ - --threads=1 \\ - src/lua/oltp_read_write.lua run +# On an 8-core system, use available cores (e.g., 7 for sysbench) +taskset -c 7 sysbench \ + --db-driver=mysql \ + --mysql-host=127.0.0.1 \ + --mysql-db=bench \ + --mysql-user=bench \ + --mysql-password=bench \ + --mysql-port=3306 \ + --tables=8 \ + --table-size=10000 \ + --threads=1 \ + /usr/share/sysbench/oltp_read_write.lua run ``` ---- -In the next step, you'll optimize an additional critical external library (`libcrypto.so`) using BOLT, following a similar process as `libssl.so`. Afterward, you'll interpret performance results to validate and compare optimizations across baseline and merged - scenarios. +In the next step, you'll optimize an additional critical external library (`libcrypto.so`) using BOLT, following a similar process as `libssl.so`. Afterward, you'll interpret performance results to validate and compare optimizations across baseline and merged scenarios. -### Step 1: BOLT optimization for 'libcrypto.so' +### BOLT optimization for 'libcrypto.so' Follow these steps to instrument and optimize `libcrypto.so`: #### Instrument `libcrypto.so`: ```bash -llvm-bolt /path/to/libcrypto.so.3 \\ - -instrument \\ - -o /path/to/libcrypto.so.3.instrumented \\ - --instrumentation-file=libcrypto-readwrite.fdata \\ - --instrumentation-sleep-time=5 \\ - --instrumentation-no-counters-clear \\ +llvm-bolt $HOME/bolt-libs/openssl/lib/libcrypto.so.3 \ + -instrument \ + -o $HOME/bolt-libs/openssl/lib/libcrypto.so.3.instrumented \ + --instrumentation-file=$HOME/bolt-libs/openssl/lib/libcrypto-readwrite.fdata \ + --instrumentation-sleep-time=5 \ + --instrumentation-no-counters-clear \ --instrumentation-wait-forks ``` @@ -115,39 +106,39 @@ Run MySQL under the read-write workload to populate `libcrypto-readwrite.fdata`: ```bash export LD_LIBRARY_PATH=/path/to/libcrypto-instrumented -taskset -c 9 ./src/sysbench \\ - --db-driver=mysql \\ - --mysql-host=127.0.0.1 \\ - --mysql-db=bench \\ - --mysql-user=bench \\ - --mysql-password=bench \\ - --mysql-port=3306 \\ - --tables=8 \\ - --table-size=10000 \\ - --threads=1 \\ - src/lua/oltp_read_write.lua run +taskset -c 7 sysbench \ + --db-driver=mysql \ + --mysql-host=127.0.0.1 \ + --mysql-db=bench \ + --mysql-user=bench \ + --mysql-password=bench \ + --mysql-port=3306 \ + --tables=8 \ + --table-size=10000 \ + --threads=1 \ + /usr/share/sysbench/oltp_read_write.lua run ``` -#### Optimize the `libcrypto.so` library: +#### Optimize the crypto library ```bash -llvm-bolt /path/to/original/libcrypto.so.3 \\ - -o /path/to/libcrypto.so.optimized \\ - -data=libcrypto-readwrite.fdata \\ - -reorder-blocks=ext-tsp \\ - -reorder-functions=hfsort \\ - -split-functions \\ - -split-all-cold \\ - -split-eh \\ - -dyno-stats \\ +llvm-bolt $HOME/bolt-libs/openssl/lib/libcrypto.so.3 \ + -o $HOME/bolt-libs/openssl/lib/libcrypto.so.optimized \ + -data=libcrypto-readwrite.fdata \ + -reorder-blocks=ext-tsp \ + -reorder-functions=hfsort \ + -split-functions \ + -split-all-cold \ + -split-eh \ + -dyno-stats \ --print-profile-stats ``` Replace the original at runtime: ```bash -cp /path/to/libcrypto.so.optimized /path/to/libcrypto.so.3 -export LD_LIBRARY_PATH=/path/to/ +cp $HOME/bolt-libs/openssl/lib/libcrypto.so.optimized $HOME/bolt-libs/openssl/lib/libcrypto.so.3 +export LD_LIBRARY_PATH=$HOME/bolt-libs/openssl/lib ``` Run a final validation workload to ensure functionality and measure performance improvements. diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-5.md b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-5.md index 07cd298c5f..9bb95550d5 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-5.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt-merge/how-to-5.md @@ -1,5 +1,5 @@ --- -title: Performance Results - Baseline, BOLT Merge, and Full Optimization +title: Review the performance results weight: 6 ### FIXED, DO NOT MODIFY @@ -54,6 +54,10 @@ Second run: --- +{{% notice Note %}} +All sysbench and .fdata file paths, as well as taskset usage, should match the conventions in previous steps: use sysbench from PATH (no src/), use /usr/share/sysbench/ for Lua scripts, and use $HOME-based paths for all .fdata and library files. On an 8-core system, use taskset -c 7 for sysbench and avoid contention with mysqld. +{{% /notice %}} + ### Key Metrics to Analyze - **TPS (Transactions Per Second)**: Higher is better.