From 6464f37e2a544481a20e4de5bafae6680d1e4a78 Mon Sep 17 00:00:00 2001 From: Muhammad Anas <88967643+Anas12091101@users.noreply.github.com> Date: Fri, 9 Jan 2026 23:21:12 +0000 Subject: [PATCH] feat: plugin slot for marketing banner on Schedule & Details page (#2748) * feat: add Page Banner Slot for Schedule and Details Page * fix: js to ts * fix: remove js * fix: lint issues * fix: issues * fix: lint issues * fix: issues * fix: issue * fix: issue --- src/plugin-slots/PageBannerSlot/Readme.md | 52 ++++++++++++++++++ src/plugin-slots/PageBannerSlot/index.tsx | 37 +++++++++++++ .../screenshot_custom_banner_msg.png | Bin 0 -> 88150 bytes .../basic-section/index.jsx | 9 ++- 4 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 src/plugin-slots/PageBannerSlot/Readme.md create mode 100644 src/plugin-slots/PageBannerSlot/index.tsx create mode 100644 src/plugin-slots/PageBannerSlot/screenshot_custom_banner_msg.png diff --git a/src/plugin-slots/PageBannerSlot/Readme.md b/src/plugin-slots/PageBannerSlot/Readme.md new file mode 100644 index 000000000..234b76287 --- /dev/null +++ b/src/plugin-slots/PageBannerSlot/Readme.md @@ -0,0 +1,52 @@ +# Page Banner Slot + +### Slot ID: `org.openedx.frontend.authoring.page_banner.v1` + +### Slot ID Aliases +* `page_banner_slot` + +## Description + +This slot wraps the Paragon `PageBanner` component to allow plugins to replace, modify, or hide the banner shown on pages like Schedule & Details. By default, it renders the standard `PageBanner` with the provided props and children. + +## Example + +The following `env.config.jsx` example replaces the default banner message with a custom message. + + + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + 'org.openedx.frontend.authoring.page_banner.v1': { + plugins: [ + { + // Hide the default banner contents + op: PLUGIN_OPERATIONS.Hide, + widgetId: 'default_contents', + }, + { + // Insert a custom banner contents + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_page_banner_contents', + type: DIRECT_PLUGIN, + RenderWidget: () => ( + <> +
ri{3;wPOqFFn}=6=aCJyS!w=4!xukJhr)wCQ)H8XFc8IOsqs7w`dqS0bR}> z^nup?>84dhhFjuvwL^sEbd~7k2hP|%{utMTiA2(~+!~AYW*gsI&>B%ne(twIQ=ydw z^=NfaJqUwk!q6+EWP0s%GfgaPTOsMCU#6a;KN^b|a6GS*90wnTNr!C;{tPAMX(x4> zc~tEL`vNG%_OgS$^*wPM6Uxq$v!2MjcqjCg8BgF!pwiYRN2>Gh)&0Dy0ZnG(~sN zkn?&8)!g~h#AEq*o}pdGXT31BB~!`ODyC!fH`P^$F^jEXb`$R$-Q>g8_o(@0h?R}7 z>?ak!!P9%Ss@j8?$i6Mx6svirIPc;~8x85Pv;`X%Z4Pj30LsB?sT~ph8w#g5T2WXm z7t|uX%i+57!tPhdt#kPCq?gE`B6j*GY|N%WOb~=G?K#W@WX|K`1d|hLilrNOlS{OW z2jFPu9@7H7c0sI_YN?rU(DN1>YP|Vd8hS4@LLkmD_Yy9R{cZGIyQ@_-RQcM1*V95f z0sF?YpT$h|d!J$->^>;STi;mY?E$@RiMWwGES>JnFT_=6Y3X069ZY_f8%$N~?lncy z&Nyv8hZyL!+x2xC#E?F#Ud>3nG|Q<9XxbBHCJbPZ1R}sydhFy;nB1vlsbZU~ zLb)X==8=&OmSitK+#Nm^INuzPsE8rZ(`$&3>jb(_c+?njFrk4W9I83nj4!xQ8$f=1 zpxBFagX4J+=S@P{;gdQ}wmR|8`4?&{>SteJALBE_dyV2e@yq*`{fM3f)!{ouT&?Fb zzUs18?M@oJ@Wf+PE3MNY-D}D7oQY%UIAo;mDfK!kO-~dE@}e0uI)L&QQZSSzY*=q| zjlJLOKD#N@9^T(foBu|m4#}|)VAGkE;j$(bQ%5tZ?WQHX8i8?xDw?fykG>oYKV&jk z5Y#z3 =Vg~vjg5_<>82i zLG%gsU}{H*HadRXN*r{VYd!v4IzIj^+2E&LpP!U%mQ}UhM(!x;umvV3r>zX?Dgo&Q zOBbY~(G?N_b7Ns%)v$7AMen+Uy)N1QB0bTr?~T4xK2NuJ?4NWv0ru2HQF6+MrY~2~ z_1snoL}zbf2IoFU8+No;+O3X{dr$teI=n(Q*bO8TMpxxD7f79q1P-uwHrJ?0TZDgU z(Vp*b+N;jZO4g<~1|U(-Q2Y4~0J8*?Mjf(?NhM5W&zWF4>^T%aBqwHuFD~%-et>Kt zvaTv0Y&gW6v)37K7x7z6C}q99dPRwC)BxWx@TtC|KR&VHhRJ&0JqTpJUkoYMJwu?p z2ET5hy2-1J`E(WSv^ZI28Lk(`&yo8r&>d2$_oF>rTf4f rcfMDf28B&~ieBJU9@7%lHg_eP_nt;&5 z8Ld9Iv)#6(vU)wdDc1wmyn5>D{DYZLVryM&iXX4=tGHmPJQ$yanWUo`x6ubUONL{I zX5Zg4QYA~2n~mg}q|2ieKvQJlo|6E(`~vLC{_;6#r~Sz3+xiOzH}uJBTyKt3GT9zb z+uwnphh!0l#&7+RKR1VS%+mR}#W>8TZVh`Mj%S!Ho3m1Xf~a^LgnvxVerFVG^0t@V z%Q(9|Bhm97`$Rjsv65!JJsI~doyZjp F_E-Tg4zjG13;7e+)tD1cAp>np;^BfxU zg9+doKRH_!?8j@CQb$vFyii>1i6SCchUWIJWWqng4nD*t&7+azg(dOI_@JD63=n$; zI@P>STqB_1bm@gA!t{@@jjJ^#XV;?!7Ef6y=bGvSJ+1;nf=FL%3|m+C)FK}Zq@|>$ zbio(lHuX-W^{3kN1GN()EUg;jq^y)LT6w95<%F-*c;G*-R{+|X;A5wRni o%h+|_G#(ZC9hP?kx zf+s{#f_wf5k5X=Ul=q}d>1^EoYFRbi{f^6g%-TtnO=w1&XUVDLrb$Mxmj0*MrXiV$ zm6DhsDDN9+aM^2zR`GI3ngi5wx;0j1IPaBUX^AK{Z$($6F|s%|c4J73MUj`f4v8Q} z61sq?m*yMWJ0znXP)2IE+_`MXy_sP;*?(hblw K7K?md|}4m&4^8XlSJ+6$)dFOAHA zQZF7*&Zp@H>oF;|fYUhRDc{f%#A?X(g4i<2Y1Tv4bR-+L&67B>qGf!Q9b|#Hv*k1R zw^6W_x?X49wJC( 2mdRpfSLX`*KcDKv_4-|TTQH0jOWHtBWKaLT$%8lU9LHb9j& zdT0R9R)p$WG1Ua;LL%FX#ND-iJ(8;q5DOJGuJzOizI!m_PioUCfoqt(g7saEy*hd< zj(4C*FLlD&cWSia{|_$i;ZQ15%EsN{ng^s)%XCwcXBTgx*Ttu7d1TrRlo^i<-F~Kt z*q2@BG=YYT9vTm*(M5mLL-^WutqZ>2%q@L)R-!pJnj&}&C1wjUXf>$*!uU=zIfrx5 zR0Fn_1ME%?_Th0&BT&@oW`PWijtJA5?$p@xWW~~|j!@h|q{k$^%@=+*$D_idlLaZJ zSiyJY&d76(v@XWQ@(Nl_e9HYdT_S)}9)FI0A0)~-HP>@$#B?`nvj$L<+N))5 CShnikm$qqT CBhK@BAJ@k`p&!py3o z;d;cm!_fbGgRA8Yy{yT{sULVwYFS+Yi^HP=jS@9u @X&weEObp+j;RsKe$e|)2F|_0=5e5W_$RV M7*#MG8xd#2cL-pje9kex3Bf7fv1R%E9aYHj1ui(Nk3{3#^6>eqOF& ziAV4VVDLljL8?otrXEf@HwXW|=M`RWx7O7Y7oWy%pB?~;@B`1W7hQH^4q9rcXG||! zXI%_+!t$#Jfp#6KWQA;wqU+hC2uO}PqYAFFhiwS!o6LXDGN_g8_9v}KDlw5x6zJiu z@kF`ODk9z$82^NF%)BT`B6zobDh6~eYbR}qx447+JZ?Cm%zsCiVr3{8E)tRQIz;2# zdBRmb)Eo?TUijDsfvp>+cITCs*_W|@)$u)O{*o`~>Hw+g)rDz})mh|>8kPYqw3ez? zAKO#qeD^HQ;ViGmVOrW)j8lLgnZ?d&J~r2_y%vqKhtb&fa<5iYzfMHF_3P^H4zAKP z%GGzuuUPgxaq)Uf6YCZ)_dAa3olA8dnSe7cNyqAz@&qEY(2Or&T?Tq=8r<+Rym$*# zpQ?^!=vUe%-nSg~KT#4it4GBuU)7GgH0{Gn;P@3|J1wUT6xT5CksfYdxFmu9paY nC3TKx>mUy?RB-
?c?~CIVv#;!frXSSQ z1z)SUrj8z}GpY^~j!}m&>(-2Vy^Fz{kS&;1ke^ ;Gee$O+P{6D6M+`V5UjS0Z8#8{C;I=g5hUA`fZ1W9O z=$Cz8cmVcWUEHhaK?Icd^H%R=%ol1$k3Z^fs?9PR*y45>zjXu9{gzrgkSfYNJV=5$ zIz9gEmX9)t8FjB_FpC+4C3>ON_7ZRNcP+Qx(Baz5J?$z9`yFooe0X`_w)OLWSRwtq z9>}w}knCs0d!dRx{pya{K-orFo<=;Z5EEIKDLvQV$_s||!c4vy*b<+ww6f9pZ@ @h%h(6E>92^)br4hCoSrnM3Jqt1GSAG z9)>;S{&NM(lITzUMnnDdr3yJJ3_yL7_?8&sQkAG(pZ2|KkdEn(8LNodBmSuUf%N@c zqDRwB>q6d;rj4@AhoJt79Z$+)b;w@H_;SX|Gd6n14Ciir$h3sPX!sU;<>5IlUUjrK zA8(2A#?9#qO_h8+w*Y{6W+|xB?g)L^rpG^ot}~AJe&a{I7fQb)F4f?df1?V>epeH= zZeG0+m W*Imn(#< z0`wRU5U`Mh@>#~_fG|*U!E*AeI;HRMvYN__Wcuj;j#ppPcl{&BB90gL=6vzFkBph} zo;z-F_20dyAc2_k;GIhbB++8v>fx(j+thidwFbdsbp;n$cUY-X z;F-q8Ayp5g2+vJ#Nw}h-x8Txn7|?j08X&&hVeK)$UTQWfx$*F9u%X*)Q>KKlP0*}$ zLQvF=O@1t9t(}xKJf%ZxPY;w$3ZTl;&G^whYN82M?2 #~OVw~SKT ra(5n};R?;kM&1%eH7u3ovA>~%sS !Bv&nWrg>d#?{1U7hkLFLL%`p2$( zwVqOFxMbhCtC@1PCL^6H>8E=eLs=;$kHuMt=5$!w$dz=lxoWDHNNE8*uY02lpfdKf z*JZY^6QR?d+ry^cC}vhcOnLld`jbVdL?4ciMx5`rW3&Q#8(srfz@D4Z05gn<-E+u@ zSD9nu=9nxR04v+-gjgsEH83~p;id_9aDep|0>=F*-(h9d`Z e!qEws?jU6I3nGob zW#vIc>SzCMn{URcT2Nbyv)s6dwe}3)qjr~QYl0thY;8)g&oyly*!jNvQgJyW({aZ{ zEb)m$Soux3-7Eigpy##iY{RWM2Hg16mo1XTHjAPex#&h9cnH_;itdS(Rm~W7P%Nn4 zzI~&W;`a_=?CS V@(}b(M-8r#p>HNy3QO#RS#|(@g%rr8!i)<%vS}*2)F(z~lk{i?D|c&D zGi1lrf#)U7g~g`Z)V1MHCt63<=u7z}{*1tUyOecR^SUQOZGE~r%xO@g+?|Fd(Y?3? zldZ;{WHM;j>zI2KJ=5`s7zni90ZNapX#cwzWn)2a1kr~yt!hV!dCCm809X{(jK`5y zmRe4kllgFGltS_kzZuWm8+lGYzc*@!gC^dqy_F8Cbr%niLcuQeN%`U0yhox}bHdko z<^Am{S%}vR70m>Ez5wiafD$DTVX?MxeLEEgK~J@QsIli|<+|N=qhcq_^PEMf7PRX9 zA-@sh>$=fFlLqV$2v#R9-UP;+QLEj8y@k+~#W3J}(>bHdS@<$$_o;m0=c8NN@y}mv zjAD#76yYB(|MStJy&d2q43 @wrd-4jgaTpc_2Fmv9MirDh&_CfINc8 z8Hr|hC1O%H?xu73H{FG27l{-zWTRB_CY{UY;F|YY4Rh_;VO%mM4?eyt$75xgdxttb zR7l@ynL)Xu$1`j}yTb*EzTxK5@%;tCd5e0Jn0-%nkXq6{>o#ZY-bT(qu9}^b>gkb} zk|lh6aMI{ELyL3h0w?vh^}Lr?F4MxHUrpSW5Kd2t@AD~^kM0wPKTJ~!{@HNNV#& J|QbpmG5C3)~~K@gW{&cQ_>Ty_L``ZeY7cvj%9V2a|dlZ$nA58 znUG#-%*_fsV1`(eOY*lR9GO4d%s#JuS=%4+7r-&&)pvGsvR$p_@LpfH_?-Xk+X=2e z&b49nGfF?&8@hqyT zWe?bgGY#~<^8aBTGzda4A-Vj+-mSa4X J=5I^}Ybk>OCz{3?@$ml233X2Socu+NIscaH|c0zADM>)$YGL$IC zKAa$TrmN%8Q<}B_0x6YhmQ?gHF2}Jx{F9FT4Pq;Ec2_&&g&%Q)JGq+^dqWCyl!A3~ z=EScGNS>Q2xs(sAf@Lzt|K7(UTeLOC!(>=lHE*K#(#1=cuic^$dVc}Dh%OTn!y<~& zc2(m!n1t6}zE$tET@OD}uH|BUQ%G^RbvVQPAn))8mlyi%Amz@?`rSgHkuW)PSxr9< z&dO{M8H#cWoE^Mlbt=<58wz?>)+3AaUagF2>)ouq;sInl#Wi0OKnM)L8;ufN(v`}9 z;c_Z*etlhW9bbf%Mx?`%1!V8J`|W>T%^#Q5Q2gj;e?yCh8XUjbAFho #W3D77Iy=*F7nHDP2m=ofHmFuy4gN)vw~X3 z>62FZXBw7=C!NNZ`f-HpuYOLHCFbRT>};cao`%W4`arB6N9O5lc-sB_MU;$aaOSo{ zNl7mgMw43_a~yyi#HGuX&no9rL^gFMUu8@HY)AW*SorlKKs`OO-zsWjbKgEQ<&b<8 z7FIX-N;1B=_6W^r!DIb)-JWN$TFG+s%dxrY9Hk}KjWPYV)F1EA*mlwi%3_n-%MXWS zJq?3O)ew}-qLHc==hA~T-B$svPm~n}=5EnZeziG*W+~S)3Xf6N3CC#Kni$Nk;ZV8$ zcq&&~t78sAc043WM c%ua~kUYHBvB9 !%7y|bRr`$R5#>Uu5-a~!DC)M@Dz8H0$eZK!&M{|KXh#FMvy1O>*o zI_;5&w)=V-{b$VNfK?+{QA;)sGGriMt}a^|MyiUIXY?BwxKyEI>ZO56xSmVV!2_lT z?)!06&velf)-MGj3m>~x1V(fmbrN)ic=EP(-O}*Vjg!n2^mJ>Rq%_N~G~817w#QG? zdKy6H{(ZhD?VA2lz`c(|l jYNan@a!H0 z`6C|M`79^$rlS5_GRMxXJ_WDC9AbsAVHG+~+7{M1REak0KIz>bQuvdW)fNVEUr$Es z(NP?j?(dRMsX9YD5*)lZk#H( 8xHbxub) zDA`gw!1vr~?sQplyRjY&S6FV4dYi809h7;*$vGW~Xm7fBLR)vxT%0e;Ird#O>v-LZ z4`Nx3LS!?^ Ex_ySI>Ho&e^*ZnJ9u^^2FP$YfE4->~$EN?mWJ91eQJ%XYF0&da)E!9^UIn zPRoOV7bIQ*q>kcdhKXT@ocyL<87s3jfs2F>DgxtJ` yVtK5%Rx_%-}-LZMo>xd!h#7w;C}& zKHkX*^_Zz#O~=CL`(ESnjK!KDY9(NvK2i8G6UVguTi|Uno`nzzz3;>7x^2vc+LiN? z)H&%?&6yyA0eZ!JTFe1BspF81b#r)O#+)m1FOXn)5jqt9!YE$n1F=Bu_{uskBBND} zNiOg1^FWlO?X>yg^MAFh_fRm1^bjL!mwBOd4sfdP^;f7d0OCJ;SQ1hxZ63m->usE)m(} zg8BRe=GEX |+!DzY<5+M*b12k> zbvw6Y;86gHriSvcE$k=d>o(BH9a>;!Q0CS6B|_c{UA%PCAmWx2B=33s&R&O{XYsHW z<@dt<-fAURMstfr(N}u+Krq+^%?lw;ChF9fy(G;t)YVlds}}^(yJ1ip%*CkLg??Ux zsVNh)&hqDFwW|r$gDY_sBO{h0cYgh(2A0R4@in1G(1meBKC836m~tzJ7_hxB8=CY& zQy)Y-0`&Wi;(Hc=A2z1NVKfaa{A^RHCB0TNH7@IR8s_60{9(>Gi-7l+S7Tkw 6ZrrhYP z^{ZybWxOz6#F)ZoBj8ZpO_b4sVpJy0jUeJ7tO%@H6zxun(Ne)>k8E?Wu$O(F-g7f7Jkb&R17d=w{d?Kjeb*l6*0s8671SX%=#)3R@Sclq zbE`ev%+A@cQW0UMtO`46<*d_Qf0$9DgJ!K0T5N@AZAen p;>a+$Z6B$5Hp2)0VFtS8kPxT*7OMjH!CqR5FU09ZYk}k3^ PHf?XZjFyo9>bD_DP9 zwB5>Di9>Ta^L4;zE$YtXR*b{*hl`L_`{u*ZjB6;)Z;l W%b zcUrj#hlM4MyYE-QW}Fv8ay5DrGj{JhQL4>Sm|^xI6w|NIG7EUkt-q8MH9NOEiDW7< zjP^k-qts7xN!1^_rUWMlNdN0<&tDXtT>}L4U5l&N7seN91a?0{`$ZEa-L{LwCMb!u zzDvb0!c6rK*1TLe2s>OB+f+k@-|KU-oMoKTh>$OMW4^wB_^RDXhYt!rA8ih5SwbnfqIzU5XR z5!Sn};TgpjT0u$pd8DUl|GW~Zw#=m$Ee)zMy9}qQ!00204-U7S^skrR_QoKlplVB! zF!5jNBM_MC1c9^J1YBQ_mLk#~QNC;MJ k`s;v$~>pKlwT{=T7QU`Uno-+$;Y zZ(FE|OMlqVqPEzY2C@^k!}e##*eGam22u7VAZdO0ewvqmi z1?Dv+P>3tpya5QZ%WY=>&<|R^3P=O?DoV0$L-PR{gL32=YTEI!pe@8$d$JOz9B{l7 zAQ%sHnA*yQ-oL^SzYo*<3*JYG4eziS!ATxpSNakYS9;=N&RYx61xdOzhY@YwywVZ% zETg`JEYNI$3o0`_5&C}1+Xft`1B`9l92}+{R!L2Q7|Jr~;NmY1;)^=7$#W+Sy1(|D zbg%V0EaU$Br}NL@cJ{)d2aTec;{?8wQ2YKCqBJl%c_KyZBX6iY_K9c3b&wMRS#pU2 z43 yI7!=MMi3XnhunLgtM)<(q4z7=o9+=* zG5?C}{!d)|YvtNO-&?buTkysvmj-eVxo@mSvH?q>0Os0~IarKF<{yKhf{-O}mt@1V zs_Z3r@gICq0nPC2y(46kL5x;{C?La9vI1iuUI_noE*m)EPej0 +5r7Nqbr43b!9N50*)$%x0HUV~L$}Oa*$-5Pq3nl-$n1A;|C`2gW5>b8KZYvZh zI7Ug5Q9&rARs0i~Z;`IKW$H*L_13bp4wH PT6;*vzt$OGN!& z>$|_j0+ns4G_*^?Uiz)XRmKHrN_(4mKcci%9p^`fTa}(XY@5nyuQPN0xPm0J|G44( zPVMb@h4H*O$M&}2$vQa0(PW*=r2R8Qp&+4lAOakln=TtSvQZ{R?x4i897$g8oNM4B zB1S&J*kz$MusQ-@3GhTs%C(&GlrS4+1?iwCLOJcaX%SUC5lbZ+BB|GwprT>!!hLHk z5jD9Bx-6xNeFrT>33BAe4cI*P-Jxh0uBLt9XzPC(rx~Y9;I~NJ+uQ8{R?7Bc+^mm( zFe@YB3uviBvJY7eyTz;FMMgo5L2Z~>oxwH$31@qJ(sW*qQXK$&RmCte{sBq4yrJ!E z-qW9Dd03eJM2vJF;IpVR5F1jXH-UsoqZ;bw!N=@*x}Grzjx~UcXuH8Uj@%YQI0w#7 z_N7LPsh%*9R-`qwFmTG9V`2G|443$^N!_iR=UTqM@Ew3=DQ+N4vMBPcp!{_)Kn-bT zQX=v!%nSj}XHE!*9KY0|Ho z^}oiN{0-;+b5i^1a>)V&OXFVKC`!2bp;++!@F&571uX%I{gW-SuN-B=`1Zu7(R!j` zvcTk$F{%w~%cCBBNQlq1KR6#inou_DS?&JX0KE`|p+l{t&niXh86FOgg2tSygtD58 z?m6ULrE^Bv;|^N1i-~BZ!&X!}7Iyl@IP)*3AoWa~w?P7imQf4)>2XiegBa^Fl@1!P z@HwuBn*&DbI5RDr&s_)bVg?;Xwc}K@U6#*uCHH|s-?nPEm3VMj^^6a7(&r`Hk2o93 zkV}NZ>vW`$TeVI(k3JGmA*A~FF`AyE(5~L M^zvuHUUwiWB?0a;Ok0vtm1gS7baw|!8^{d7J9&Rm|L`6 zwW%_)Y}EUZlX2Q%RO=)eiay=Uu RBBLbdjetXok;r+$+_oyRq-z9QsHKnmY zer1@HnV1327R}Fw70Hdk$|mzoFsLIrtP;43l%g3d5wPP=*ZX?K%cmVR(oplR7>}b; z`wGV>vAK6hCa*NhNxNPFUQ+v? +yVeOrDu88=Bn<51yq!fyFq(6&uC=6#XHUz#8jcm#|`7` zC-cf9J5y+UfK&Ua!z2{((_x4}EH#L+s=_qUSsv9rh{=2w KNf$;pgLV4p|&q zHoB}PXy7tNj)rxSp~<|?jyi*2r|yW@j6rO{ @x)9QMY_wWWAOI`+D!uJ^1zes0>CJ~F-^NDChXC&-_(2qVcR zV!9@fl~28cxDX>cV^5}4_bI&gdpM+yrtF-whIi%pnmEPuWnqxsUZ1 Y^@aINda{K^CRWu^Rv|+R;*{_biSJhcIT4(#bh#$ zV>TI84kteMvsb|(j A{|YtTU?Aa@{OB5><_*cBiGV4KU&? eJcx{U7J+UjD?xQfkkyVTu9N3%2Q<9Gzk1N7lP! z5=J^fN1^7S|BB>)^TOLe`Fl@83wG6LJq~%ui6Y{Aoz<)W%ybmxb^PkojN|bOPj%pe z21V}7rzKP0t@tY7;d(ky783BdBT-6fzu&jbbu+L0ja5fmkx}>8@UoMIx#(<@k~11X z?$V(_5zl5(@1V2OvXvAue+1ta6ZxvoK27TVm+4f4$(I@bput!-eRLQG=SWlEc*vHS z&FAXC1&;j7>EtQi8B)Z{b`3Qq zm!v2RxqG zTo1lx7b6&j<%mj~;r39}B_g (DnUSI|TkE?_X+kM-03#~y48a;4^O z3sD<>+WWu{Y~nbXP{{xhoHOdk?LYp>lWE;Un_LvR6-h|&`JRM`@NU6(^eTOKO{JZa zRZVr+5gDA*)0y}D-#&x^egfmRK_9h2ygDA8YkeYlWYj^H@T`;oO!5j?*;~8 zSJmwcV->`ry4xd5CaHilI69gTbFZVvwBxYKas4H*AOU8!oEpn 0ae_#K?bihG!4@7;3|MCys|32Ve#dgr|rZw|t7SM ^eKeP=8Ge2f;xylI)s=reZ0ib zHS$D54Ql+n)MRobXX5=uRF?b6p2`VuZImkaJn>`HtPq!KYBC1xLhVBuxo^UG8s&RW zF~DGp)}rd5OmA~63G41N&A{7_#f1_*PicYRVXBNQETD~Aaj{j#xTQ17cGyg Z5CIsHFZy+CPOtY6^*XL8^c3|x>OD%u^-#xd2tx^ z ;TfcS zHodTrT6>v*!TGBX-o2Y!Q@dHmr-C9Ms)%#@%S=jEnwpzf3iQTZEaoJ)WKxvYRckg% zj^~Ct?);cx<>JO+WW+ds{6ZtQU4;4Y@lKXbJ(|p*MqxRx+<3Y3uJ*E3B&`%!!x7Ig z%PW1IW805pMK}gh#N@tlcvNXBOKHW=KdzWN(J!Eu #z@DqxNLRNk$W6G zAI?-8%!wDFr#GBmdR$>Vl1tlDNMN=ja7D-cV<@>`uUZsWa9bnRQEjPag|)ZsimR+e z#DkTgN-3ktjiR%awb#$+nu5QY9BuclrxC#e_-q~u;_<)PA$UNWj>kx8#z^VQK5_Z) zgyh9r)_;s%KuSB)WgNq2Z@yoEjqm%Zk<1^01mS+Rd(|~V^hQ1ET>()+E#jGSo_S8F>w#m6GlXWyRZ~ zD?yA~1C#KYSHv9d3q=w{np;Fk#*!bIpIfFnP`XRBe6muP0rSQOa`g7}?%)-oaCV|b zW?`+rF?+#qdS^bGQ?$0(Uy+fF5%9I>^Q=bEo!ovhw!I{OU(F}T3xkTOa@-UxG3;^V zDt3BKJf=}*`~nO6=Jz&ouc@4u%sxRt9Tz)b)V?+>3bw;0^FAlq%f$_}XIKG2bA<%) zTbGGI;!CBCpy@IkVyVJm6d2!mUW=}B%KQd)%KbpHnkjL|?NJkek)*2ReX)<{#mLp> z6}qh-neGU%cwb{IHtdmXtLHbI#C7X_+xNf_SJ=A9-sFC*R&7;fPN{Z*wud_14`$ba zD@5M79}iHFJv+m`WZ=N876-dbRM!e0GGtzUu4PT2W=C-S)zFo{7eRp!F9}=$7A@kD z$2gM-q{x-027L)&YgOnMPF*qQxpV*Ojfc{DZ6SEs8o&%UX}K%<^_RyId qLunyz+Ysy+Qy zPLbl6rw(=ArBn+6cG9v`qM=HgjfU^C=iW`99x9bv*1ioe)6hABUTpNEp`^iQM *HO&p|aA70I3ecIEF&4Sv~I&fSO-Q|GMt8qRf783*N1XV(E zKrNeEVkE1f%@Ti^D1t^Nc_gpa4}0ond8PC2yIP68yXbjU0__E=`5U?tV+s>RdI4>o zvUC;`&~%AAG_K}1MXejjh`;c~4(WMmgVT8KdsKPEfiZaN-Tt*mZ#i3id!o`8S8ykD z=P4fJo5%aoEA;lLQwMg(-kme;THDx#))1-5a;uC_QP14WM^(8FBq!`mXkGRQBk9K# z+3Z&6JxZd&vV4NT& ~EmEB0yPDFmJW&9EgAF@z7{g~!l?G>siOjq4f?f%>{6{q^wt_hU zZ529>50MaAEVMB~PEK)?KpUy2O8STXXFYeYP*hgMgLW?=-yVvbOTK`s{Eh&{_QU zGEt3Ox)IAHE;cA*pT!-hk7O&y2^{adD%gXEdP%7j>lbyB8#G?QFMLz9@FPjS`v8>{ z5&2wCH2ZZ)`mLYt=9cL$cB}G03`6_E=Q7#k) t zS
>c2q-)LnF*e%4ztKN`c2HgSOK0yN)_U-nRG8()mfuS(qtj(u!YAJ zT<&Y&p!6uI;fPpF&EY-Z4xtPt1~6vK0`<44mSMhT ^<{;X1+&_+Z zlT4sY8+DFvg)8?bQIz2_#^+B9T|Q5fHx)m;` c)JiQL((xuHL(U5Q8sW`e ;z$3T zng;w%e~gfjPY`fZSKQ`vAr)&(;vCZx0dAXXr=^<*hu&CFAhOd4BbX8g=ZqLnjxdk` zBlnSbuyI&<{Y3TZ^))$wgr%FQ7Q7xCNCS~6P}!lEg~vFCyy*6V`OfHg#cq9cAeC%9 z*T@Q$Sg1nj#xN+^q{xO35ldHTE?ybUQ_SFqqE+-K^V+fj2JXRkEn7OOFO?qw!#{$c z%by5oU($$V2H&Mq8T0R$tHPl4v1$<$X7Qz8Aamc9bE4S{_Vm?67`WN61BRIIxZ(dl z?7d}J73jM+I*N$WNOy@ycgI3fX{2${CEd9QX%G;UZb2larAr#5LArC%-7Mfd%zwZ8 zoPDl6@AK#ox!!9=YH<{cmKkWjmC@wV)*cMAM%U&f3;0#jBbot|1s!U zIRRyu$fw@m-9pXckxj1LpiqPS1UIZHu?be)_p9AF 7NQs zHnw7~IUlE!C&0RIaQa+@5c&wV` C$TULDH#kErOov90}M4=L|EIb>R^px=-@ZSp6Gak?^7HkZQR2 zz|;SOllRL%9E{uVLa~BJCLLD9N&3fGQi6suvo%S9ay0XqIF+Gi(m}z+*AI;niAJcZ z_Dic%E%^$K2;hyF3(TTC0uhV5ZhNzt33{xOJFnU_LB~PHxJpi)JXyMgt6x89+Z#=d z sQ>=(MP<+uv~%l-bC&fcCdZLykq(Ur>@KZ>hV7@rB*aQL zS~GCG8?e3YpL_yW$AjAxmDPO(xWd0uFVHxi$(dIMv%&j|Qo~P6TxY(g_`sP+XQ6|s z1P%Nu@VZ(6c_+8S$n%mqMP#yglfx{jSWZ*f62>wqdli5+B#RmgHl6_cNp$|~*B!EP zWD*nI %u5@=HHF(R };C?oq`0#SHOag_8TMhu^A_b5w ze>4hf_6b{de>B^f{@TT}XtBQ@{X2hU@%eoP|8cT2@v@6KH;c0!0iVb@GQsS8?Dt?G zivUQ;VnQd7vF96iDOMSZ-nWrlIZ7a?eljTbbsQu9eHq*)s cs5>2Nu!1R0+7INks@9ohRq)yTTfTU(=!;RDmCyjp*8`nHGz zyWk|_8M}tV;3ua;p#|zivN vJ0CN{EF`&JZi2m2&6Zn8fqGsI93>(CiDCed!pEv9g@LO zjqJG#K$6E;6q1dwsSt>x6>FcUG5Npsg^E#K;e Q^w0ssOah-?HmRU#80B zYv1MeH&+W8ci;ZB{u-1%1s=$W>H#|D1lHC7m1CuoPaN8BVjfyNyaAhCXLyuQES1kg zFa?o|&~|obA!RQ W$;xY2m}NeH^X1XPYxISct+B%K({5(|ScQVz3 l0YonT}RjsoT rGHj9uPguoQ zLK fEmX`l19{*E3{x>h%|G&k O7+!9wP;IAj`(1+C>jbGg|nw*zfk?$dvJXm!xfVs X-1d{3587%4xalWIhf3+1@7 z=r@s7+D#}H(IP#h!mfYv16uj9wRJDN&V6;q#Rve@pC2zZ(#gF)-Qp>@i6G`0`H{r+ zN04*x*~UmEsW+h2XndQhF#XmOLthK~K&1l%-vqWUT8-s|?c65FXwbO1rv?3Ch(Vg? zt5ZuAv?1A@tqlj DG#?U9V zGuZJTo5@hid$1aTeE5l62z)++6e4*bG)V(yi^i%`WvKu*SQ_5mo8J@OgW187oETvK zlTrp}sRH*qV#^_G6Ww~VN*y;LF4HZw={lDb%QKLq@)f@~A^$Wn`Vx?IH%jW=ii&gI zqzUSfs(g!CTsF+G@=KR%>4Sfxs@WJSqfHZX6IB*2&;!(_e3^6G6Oi*zP(GPx*wXP% zy+Hc?1~Teu?(NOhFz{ue$h;|2?V~? D68 z)y?beUr80_z-)1#;O6n^wkoiF|Klm&jer+17NmTajn7UOf#scU#D^*RhlBHrEJ)bW zXKqaZWmh72t&q%5tr0?lCS~7(E)X%Zp+d_5;v^eB;`Kg}jC-}9&^LUlx7SJZ&C;h1 zt?UML|3%c#@w2MF%eBoCVNU|E_<;qQBJjh@+K`cTftr9KU_|c+oCe~~c4w3TXq*Ft z?Ytw@vvn@vXS)k_-YrQAfu^Ar3`9uYYEdj;AWQ6M6P h? 0Wr`&oOju%WzaJ&DSEe8pVG>`-m$eDtWOrW9bgm(H!8KH~fWt zu%u{vqC}?BavYuFjJ7m{q2}egDs-2fp%w>|zUT#{1@C>4C_#x3^cR?;{&@BGUl_zy z< n0gk`D>IJ%m1Y?Donnkp@LjU>! zhA_NiRd^uS&_GeQ_YeNdEB$|$b*d}eP*;C6*Yid&@Gl)*qtsm ;c`yMRxpfD^`Ogqrbnze(s7M6XF6IAq{aqm<)@Jm`*P z!0iab?Q+ofB`wx(R_toJ880B J z!y3S23dyFk0RFh*p782?bwb>mb{!T&fB({*Sf80oJqfms<+0-BsCxe3bQ2t4=d&Gc zL6!^lZ-5#yic0($@N0(kTxGvJFLk{zur`?n3$nDUTUhw$J#|Ez)4XgNcDa`Dqjtr! z-p%)w+y2}d^BN$5aAqsnt)<=8^vnwf&nN6G*DX4YGk606sPlF8!jJyV(eJqcIN(?R zZrs&`5ASiYx*lav)q$sKPbr*vrDq7c{H`MyOc#*rQGK4fGgbbMT7Vz@^~>TL4+_Xa zV~TqZ!#Nrob_jZO&!*toq0QZis-W+!@D20cD+bAoauXbQ0Dp-dwhces?KF&!QYlp_ z^?nh>_j4F9h{7VNAh+&QsBc {1>hU$q5!RRjPt>DN*DIv zlucvg!N=JZ2;#py>Sf!+a?o{5W;e{TyaJrkcloO01e@f zAU+gxH`~P>!ocZUtw62k>)w=N*UnJcxA%7ql~WlZXpNDsyFx=jXoPCR{+Guu0qKk# z7h*n;(QF{%bTM^2s>Jv5m@BCW#t6an3R2^mS$6S35pds#uDhL*AX*qi!)KJdCtg&d zEl?JRxuGiNrz_H>&kUSX732PPqR;Y2YtpNC*&hh0eio9jJyKh74-lWW-U!pCFPXPr z{|X8xWUxu*j+GEjaYX%u5MAFUw{Ctib8?*~q)`vfPSxIEgX75t-?FzkM7Pm3^7i(c z0 E;e#3a4cEeJV_4dYuCQ|5+STow<3YF44ocP$bq6~i;93ocSU<-_YC%BLI4t^y z6)T{;$mx5Ph1}xbIWSUneqq+;TsDUTVZ|mQD7<~Y8N3KtRW{SgpcUwUVLg$S?hCy< zSfU-T?U~q`gPp(hzH%PtO4@fr46Mf@h)?>@PeAVHm3ODp>rx?K;Y6!Lvh_=6S=)x* z%lZT%hwu$pz^Im2oXkmM&jMnSJZ9ngJoMZcgd2E9J`;}rFcNANSHdDnxq3V~dk%Cp zxPuXe8UU~j@2LMXsF6OH0Ty=oTThqiOK !%>a49*Q3AXCpVFGu|>lOftzv~n2L2r4+C?LY!*K+A$B zPh5#=JuiSVWr}7@CzS=fJLRv|Q|xwl- n0$WmG1o0MV9w$H^y)y( z=(7A%O5J$l>LO!|#-&|nO XhYNAGhVK +#@dBF8s%e7>oQ1GAIFvUVfv+}M{YG+U$fnt{5bPGo1Er)}^& z^ tuirkIEHmbIRJ%x2UqeX(KmFV4V%?x&fuP#3`&A_dDUZgQHR2v`w$vT; z0%ZH~n-7shiebnax`BqR0|!=n6|QrFI<=1YHz3?>{YB+~bRRG#^9&O!&?ww %D z38u3>ZUbmzh|^tTUyOWNn$d6OY}6yyiui|(X&9-u13a|>DHGAwqflvQQNX3ZeW935 zF65dVqP*?0{U=k<#j?;PSDp%PUR!RO57uKo7^R9`i$|fTtm_})r!vd6ETi2xv@h-E zg&oIqe1OS5x5W{j%fjj8g+b6h+P!PY_1-U yRa%Z^U!88{yNI-j_ZYUxTzH`vf3pVs!9b!@I&aN5xOuYIZ5+e# z<4TLUWY3RQF;eWVVKZRDV!2P1v*oItOBa3ufv<<2-*3`-XiDfH@JZ6wan W2u;Owhf+%1sX#a_AcF4ax>b!oj=l<#o27h5j+6yx~cQ- zH!h7@Yd6Fvmm=;vH4X(nREAGZYnNb>AOd6T*0Zz7O~CiuQOGv4fp5e3AOY+2{?=}E zHM<|8B#U|rdczPkdOM%t+XX)oV+i_FJm#vePj=zQcaW1{(W?U_Z~TAW0EK>jloh#X zREo`yPQm$y4J6!qhCRk0TQrTv0?ZimK?=YDgo<@a-BOnU?@YBiHHKzyPNqaiH{fx# z2^MQB=_@fdXfSKBXArRJNP;(7+B?Rk=~cj$T7`5CwQfnf9_rQUKIIU BYwRW2RZ zPF|?ZW0<+MC*%QEN;cT67Pxwwf-mX~Xs~eftzVqwbxNn*B0U~5UHbeyy8ZDwN9)Df zNe8^#wD$&8Y}G+JisVh>^+{aec)}fMZTO}N1Ex&wNiNsz2@R=}Ps)uhIa72bt B6P$^}m?3#el!a^Xv=SM%AXj%t%k!E!E??gO z-p)%O#Km~sT*geb@3*>SoFrrp;DcLQa3wTR^95WL-8&O)N%$xpv;jCZmMORDTh9L= zR?j!GV_vT%<8o!*ovN77=NflyGCyt{PvCo~k0GUIZzx(ZmB#{{F@sgU$&4oG?;X3m zuk2sofi3=eK*G4U;Fk(N-5USS7BoTP+e%ZNE_8n}y1ow^cfNe=>W@EPW7e _fVcs7K$}Bcob2_ zPCapx2y7jSNqaD!vFP8NYF54EX|$sFxizSW{V^hl1nuGEScCj*t~!&ZyLT;JwGc}` zrOB!1j%#WZ>}d5(FRp)6q=?mlW&!76RN{_kY8#Th_c4mA5F3T{AFHW?I3tD`BTe`q zS`_lmGZ4|oT3w+sfljzcPys}E+J*|NWrD{^K# zbUu;s{O+~yf*d#|#+fM5Rm{4iWMP^Kf*C2w)xCooy9YH0wNc(8$UH`<)#Y}HR_0G_ zmo#@;b6N;E;k~!~EPTMGd9-~ZgtI?`Z^H4Id1B2m_`tE;Vf00 -Om2g^VL&Q?vt7UEp}iNTcRw@p-I-X_{%RqPamR01erH~i5K-iRO{)u zeO7e~93NJ(=#02<)03_ML=6=%E$EXwH3CvbPD|MNO1qw|JA&+EH(u63?fKraR24Ph zjxctq`!*d;PH3~gneoCz>o2DLqVp)}_*_(m FhvWPa%S zx|UYokk%8g6RU`*mUJe^P QYOd^A_m{~S8DD9@kPxVduk`Xr7}wrzyKQi zmb!n3fUcCHE_gZh^)ks7Lj^1v&hQ($27EMV7;ChCx^sZ)tyd`u6|TsJ=SGrtGz_9= zxD~hSJxz!032Y~?DeGPbT_`knx<`2RC%599{TR#oetw+P)t6a$dwEVN=&}W)D^(`< zj4l%zob%d~l(cWj#G8B g9o+X5jQ{zyq#5a** zkPR)MmSqucJ$%}jI t17jtvj&LIJ^3yYoIq2JSW#eYjd7OEa7 z|Kw#R 2|#M#L&7Xau>}q3a@v2r=Q#FQoBk?Rm+OT zWnvUyLXU&1ixo7YQlnw!*5t{lJMTnF8;o^)aTL*pS(=L_l8SVv+@S0ZWGzARw(Q0$ z93lD9VQ}!;mc>$gdup4oOhr$Zsk-;Mt^f3zddmZ`RvXcccY*+0Q(3ZOJ*AzSEZ8~4 z?~Aq>d1H}!Q`^bBvXD$Rx%j?zefM&|S4xV8wt$*yTRw4ZkiZvtt*HNSn_ApNNO1`_ z=Slj=slai99@nf%Ghj$3Q;AD=#|pXG_8Mc5W}V!lW)#%!saHStjn`?7_?LX_C((H+ zHhT7w^{Sln`Sri#S+1uhQcG$5`2|n2bvJOkAQKde3K*Dh2LPfldeq _K!8(+yPQf4w6pqoob>6QlVrRfPw=uH)~}vv^}#Uo7rwO< zRt%zjt4g0V_*0!xeNG`H@v|vIH@)^xJ}Jf7uduLL&E}?B-#Qs|UwATjly;P;dd1)| zGv$Eyz41Q!VoR4V{do5HIA9Qxq{ZHm>3ZS}C0g@5+bSZ&fmG-bE 3efcgyD9ono(m9jc$(SvbbI~`d81S!Oa#VJl0VF*UXbING4keauYjVqzgZ6 zAZJV82hp)3A;xQ6N{O$9+=4@Lmtgu`nB>BH>SS+O 5F{5g+rlA#=_{;izYNO pk4=k-enO>&D}=nRY#HKs+r>HdMg~Sss Lr*S$r* z0!S*&%HP-U)4P}Z7^vk@5%2aDZr4LfwySohVWA9Ke?fc@{IZ5mJW}T&@|oONg|H|J zadwXp66!n1uaWPDqSE0C|2bp*zyAiC>!~DZ3-X m6+X(uNGnC{l*wfEbQ9&9|O+OuY#m3Cn4MuCXadI?0gkBdpOKQ)&PQ>Rq#G zKa(!hC^>tX!E3{4%7M-fT>{}O;?6_jW2ON?^VMJmP^sRV8*{xi1U9Y2diqn2$h@o0 zTeBT2A?n9+Z}}3FAit-HGfhIKx|_uN3gxZ8MrXy?%v6sW9pabEgE>l5pQ@L$mb>kJ zDb9M)9YV&IKp$#{qpueN3t7BO;)2Dq(9id9r`snn)YzwpP`2q?PXDNVwg?8LRL}FR zwK6o)z1mMnlNW8BMsw^PF3H?BIl`W$u;XIgJv0Mw@x;7z5g=PFkF~7km8Xt!5Ekc3 zpe7n`rz60?%GOwKT5>)Rw2&xXG_h+xN!uwF5&gQEZ@QB>96v!cMeOSz9#^QLqBZ$e zd+z9Ki~dN;@h^N<{aPCF8|MRT^U}Y92i226)X@4NT?3onBht5%lfCI)CORZl?M$ ndw+V576`pzKgd?deG7Sk^)`G{~w)OTaZuz;tjGkY?sk@IAaoRuVB zt?b!-V%yjl*SbLK(jdQDvV6`)aIg03U;Yp4+m|t#%uY?x;kFPr`4(i#6y#!0pleG% z3jLN)@xH<)W&D$#kxsP*)7f?ZG##vJhg&%?cr^0L^POi6r4MlGO-`5h3rt&-8Rrvm z0WoO1uR8kAE|M3|Rx4X>N{^{tT=N;PGf&rW2uGxDw)897g9u3!#& XB$0Bj0 z9D~}8OYd5lP+;auR{A-ZyECd_0$wXPcz?ihx-} &m(JB?>5oiI zwvrw>llnp_`SnzVdG!$@q}ib8T}hLU`QhVzT C_=?krcudu4<-QRSioAgTQG@2|9 z_~AeJ%MQaOD!SYCGs_Lz2l!dHy})KG-t9^4e5D*A5GjU2E93o0Hs;8B&vr9LvU_6G zAv>*=d68J0W_e`3=L$}~wYMOwQz!lDYMrVU4p(aEC4O_WlR_0`_s9Yd-fPlwMR3GV z6+k&f^rY}bS^u^Iunjthl&@gaZ? +kgkzmJ#0k;$d-L|xAT;dBp*b7UUC z=<9nUh~@X=mZCjQ-cG`@3nghl9Lm_pH7UY0XKmN~gpJF2(tZqCU!1nMy^oa7qCosj z(hV0fq3iMsmr^Rubr>U>)%w%Drt~-K*Nh=D#G=-Df(5lA 0CK#mbV1ReR`?#_QLOn2!hrF;@SHr$wRua2RMN^o0nX%|B25 zLhRUjqO+)EZ%Fcj|AlwPd}F9@gR4*yq#F|#@|qAEB0obnTI7AYHJ0~grPEcth;#0x z+3i6w?4^OqQ&I*5-EBFPWT{`7#g?5bGGsPGqe$m%(9v3)!+<^|ZF!?*<<=J3= T= zIq$Ml!M~8YuHVO$$7oKY0TBg6Vx5GrQKAk#%L^HAU19uR)DH`u{a9+(Ckg=6Pc1#M z)fTI ANYNJ`v^zTKmO>o$*rHZ0W@SJ>n`{iz~V@cY+ z*qGB|tQ=XLfEtq~*-KZV f?!!bOhzElp~K= z~58`-jXC(m-R81YB8wD=(Fft*uPcNnKBpjRR#{Lk+=mCCs^htZG-{tZ8+b_?T zGW}0>Z;$F8OnQl80ThNdf-syzD|U$~Nw28ycy<@AD2Ytyh>j3m!+ujYfmF+qxR%Ug zB_eK9Dw6~DX;7X_NSlJ6e?his=SOV*4DZ`o#> 5WLk+u#L0+1FU*dj#9HU0|cu`vhpJM;v&0Eh}_6065viD!N%2Q8s zwzVd8jlnzd_%>!{Jrj=I*!XHM>y<8HcI;hN)qCTxnC451q0&s5i)<{2`@%R++**%l@3mv(epPr58D`$_Ucl2ZN$e4G}Om#p0Z+6 zii+Q$xOaxZ(*#VUz;;T~{UhQeHB@K-G98@UM`_X)-vB2nZbdw+@u)CU`~LggC*1?n zq2Wm9*}r_XH`zAzXOki6^&Rqeb!ulJQR)p^9E@6}A38)`w*EM({*rUWAD}?Gm^Jvs ztXF$8V^fCEttrOjTLe7fPdNJDEqPobptTKi;f0Yp>$9~^t#Y#T>PD!nvt}ijtF*>- ztndTQ5hVZG$TpSI@T(=-y*u^+|8M!Kt&OM~6i9tGuDYR5V74Lfe7&2;vgoukX5WZm zT0I#M%C(*tzE+1#Q& `#^hx7D>US?NpT^V4 z5m=3JCmtWimDuQS0t@?-wS;RmeBbm3YEmr5sH{H~d@6*`jk_W;!TRgs$Mrp*ISGXC zYA)f24n{6e2>V`4RRE53WeG#g#$-NMnY~($SVR(3laDb4UOTgpZ^Zw Qia~9gY5z9g0&WFoVf*xDhA)n*70lpY;Kl<;jmko3+!?%!!2X5e11`O$Q%} !Xnq>_s_y981`h5D8_y-dr6Xn~(5-V9r?K#7i6`&5_2K zB>!-b5I<5_(y% z{&l#A_vy)` z13S!bN5BR)-y=M}AX(R4=m{$x#r^L5zx|8C@V*8c-u`9F31{27=oL)z$A=#Hkp9F* zD<^l-E;V>npmwO>sqH>vfFv*Z zde^J(b4*xW(sYGN2L?+o3G7+}4Em;GRS&JX59B~- zfDl)&BJ6w1w>Xe462j|s6gKVMg7Cn@8UA9q_)3~mpTUrQmjON3%n`=yN%Z)P{nzqW zu`jng#TKEMCcfGsk?=Ih?gvSaL#+zzm&6_8 Y-b4&u?2@iELT%92_!e;@~xf;xu7fEgDdG||P*h|dj z%J+vxOB@@~2{pf5QB?BuOQ5+bD=!$WCBJsc&npo!Z^1oGgh7)l1-9XN#wd0z$men| znxfcr5Ukz@ez_A*g!Yl4Zc|5VC#RbFqqWCyZ&4(Z>jv%xIcFTyaCB|!4W`Cwlc!~Q zuU;H`kM^IP*vlQcx3HeVqQNDgZf%MqSZ-I2xlFeVCU&x1KtJbn+ar@r;4M<0%K+4m zzZ=*?D#To`f^B9KAHM@{@0`2c5f3DXuMRBn-Y$rG_u0A^9gBR^IjtV6L;!CnoRE*B zxc^^GK$)z4OH9pOVafa5X_xlL7W!cl XAT-H_om-*&ffes5Bl@H%GSih zUDWUOsO!2#8qTQ{V~z<3VuLoBp=RM@XP{jXh40@11vHgKe6iTJC^%*_T@vOFL@M z#S)x;r=fv^<;SqbeT2*1$GE~DlM79OK+OntbF`~jw}zyOULG}*Wlr=8iR>ye*v@+A zg6tMYCeuwfs$;>oab=7VVlV!F)Q2&Kb3RW`U^}nW*@m7~MvYeG^d~dDO1umz-tz+| zo{Za})xE?Fk!IBpFf$RYNpFq%FiEL4CB;8HEat^%ZbooM#t~5qGZM#H%I+rok)6{s z1xL_i_5{g%>O0B7o@=}Sl9WNxDPEW-iJ-OCuZNJ@3=h`rRvMpXgO+zxZ<<9 w9_nM<-=W|yv8DWDXarkHuW 88DI?qu85C#v<24`9)5ekZ zO@3|Df4V -$&!A+&?$M7iNkH7HbQq^ytje|`F{XC(^Ec0| zoB%Kxo8ogj?K4+*YFT}_()rjs Qd`&*-xv5SHy;w^T)SWE;>=E6<3;@ zb=1=ySa6oYi67L&dSTa8Z66btB>5Y}r#R=2*Y}~}eOBEbYU#nEx!{$pXQ 1_4-d2{7aZ0f zR2bx(lREHoU{ILi5!k $o4Na3c+~P2KGm<>X;-kdI6I!V1OfBGTa+V; zv%%)Op}X6QjHC7TEH+VJ0TJewj?ksHmtg)K=kUHsVt1g~%yc4P(|OIHI)8q#())GL zrjDUz@od&7VTJc*t~bD=8GgpUIXI^Li17R!?Z*vROvxq3K0R=5`HnL!R3cne+W?Gl z)P1kX)%%vd1*6%$^7LO6&-D}j2e#&~Z?aV5sH}ZYP0z=LMCV@Zqg79i7__?V_y}{K z^GpO>z8Yr%wfYsGSaK&tMU?H2`j!X`+3T}i+*wFANZIpnmh%zt*q;{x77Yqf9!u^k zrh!YUgpa$^6uy0Cs4-|81T&(EOBB&+!BBU@^&ae}*{+Uy0UB$~fnkLvIS#SNPjRqZ zXO_?edb1+N^@KkOCD2SDAl05Rxd@(el5|HkTwFG(`|O(1=z>k@JLz(Fk4?`j`&_O8 zqbB-CDx~C`STpv^a`r6~vLTpDw)_1~BZf~tb*zizC~S|bsRW9n@@xiE)8Ef0#O(H8 z>6*TH>;JU( 15#(SxB1IU+4ED#fe_`3gp8C ^0bJfW4e7|Hxw^<;hkoM zbxkrNL 3T8??>{t+pbBpG|n1;PB-@ASlI2l)>u?1;FPn~a6zlRhan$ZiCLG#Y)vza-9WB& z4_^DBYgqFMqiSvy7Nr?#EU0V#K`zX)F$`+^5?FHf!$05P7HAX|>{P9kE6ljYKatch z@Jq$pyyDz&@>aFyuvmWNc{XKks;Vca`bZi0s~nQqlx#_L)~A-h1SluH&P0Di(^wAi zCW$TFuLgY}!zKDD5(P9|&nLD^nx%CG-85zdK)FM~{PB+fPSzu;8ul0C2w5(g;Q9Mk zPSxJ96LZ4%319H$Rsm^Wjl_CFj6w=3lGs?meamS%!-|kOLv2O&0*w<{mp$UbVQZ?e zdfJwxy1%3(4ZXMA@3>WKKHrHDs|An)LmAIzW#*#0^q7v|gE9d7EUVM6b7t5YZmcK! zSosH;q{6%(C|5%ml kD?l=`bSM zovE^ruxrw8*}@{Fo+4tvB~6-~#2aom#Js{H`s&K2x{k5+hXXp4$@`v|H|O@H@NdNR zAmn*Dkn%rfYk5oc*t5C|^c2EZ8!J)jN=O_7l>GJ|9%E2sopE3cTS{OPi#Ug(Gi8y^ znkMPSG!0bd)dkmN`1R$IMX?erVn1MZKaK;!JPBHvNDcLq?U*)Y4E%Haq}hvtcU5av zn^lYAd}29oVuFDfbH$~<`?k~}aa*n>=YD={D@6$a;=M^!_ZkHP+9RiZU@voo9j|N% zHma6$U~&a(;A6RSwfwikt;pwXx)>Cku}!yER%837;-QDx*e3jRb7H+N;1snsWH`L9 z1Flj07-M#qZNPhpQT?Om*@2fPyHFQgrgF=!& F>c>q()k=2MN6atW&UKQF z|Mg_TxAg|d(bsSEFkd%g$*eaHE!+>L939+#p+QyFbF!cw#7KMxL;>YUH^6&K9WH^3 z1(8u;7$E=mE&M$#_Afsz>KX%;Hn#=u+?;^OG$oPKSRFpDb;1chua=x@oIb2_aOvXN z^k4PHvuWxMV>E$6azOYK;X;-h%kcK?e8V{gk}bzIi0IiIFS<@gz394xd)0*UVZ@At zdI8Dy)&yj>W@q2(Rw`VwCg^l&i9o*PUWb?`(WOZ7oP^KvwO#W~l?-voLBfgkA0rA+ zPUQP7QxxuNJuJ6Y+iRz%nh4n0PNnOZaZ7KNSzqECQa+n _%eQsL^NF#tg&`g)w}^FH7#pag+I)fsbtj9h9`)^=MT3w9 z1>d{l>dGW3 3*H;5b>jl^vk%~w9;36=$A)(E9+YP&cJ7P$&mCSHBr=t z@gAtdL@QItZ#*Dy1YG~hIgFN$fwcPfh`?(aqFbXB35+*N93a;ZY|V{cxG1x%Y(t$u z3B%mxBi- wY~?Xlrl0q zOG2LC&!+cI57TCzx^Dq 0WJtYi29`0sTWS?% z7?#S-P2kAn FxIT zxky&NI7{0EV>q|7;SQ8qR*rst_awWS?Vy5ZsMOGtv>OO6{`(Rr=1h;x^oS6Ew^_E+ znzv+psgW@w807+Q>QFv}BKV2^b!u6|OD5h`S?+R>>D%@yxUG5ixl|`^>PI?tU7c^s z0do4`#y98`Xt;qvG@@_|Tx^x1WS&N0=mn?2&fGO!B$2>dUJDk0*b;ssg`~UgUiE#W z2pP>&EBo@qJo?KmVw+9SYlHm|Yba;Z-|g>nd%mIe7gLVk$3gAOxYL3-riKV$ru|oA zu?5wtL<&u!@??s%))@tt)w;Y)^-)e&%u}NQ$Mrs(zdm29Q&cUrXDk{4dpd532+bF~ z!UL%sa~xjMz`B9LC~>_%StX9qu4j&g?Zr%$o#r-T?Io#@)}+Y`0#TREX$Ab_vIMqw zTP|3Cnm6EQt*!Cy!~wN9U@ar9he@1GnzcLorFTFnl{-oF=0p|nDHJ4rc6I)xd2wNl zoiL%eBp&pB;r3>HzAx5eDu{g &BivEwDHe5LZN_>#phxC)} z-5JZ2xtrJ$%}wvu8YXr$JXQ@7Nt6+%CrMo6E`!0YTuA^x8BDuho|=E$sbG!Z7J>Gq zi-dzIm#wgX4$}J=ootmldM%RU4G q`4l#%478>-MZSNAA0BcQAB zDldpPuv2S-4<>P?0IQ)ax8dI@{xqy)f+nT-t@0XY=0kALE1nMHHFgEp2|SphG3${} z-*qx@pmhQSf{Dh|D8jyLkqI~;2DkQ~zwkYF0zO5S^I2;*ija$$#&>+4YjGnKrj8vA z#k+eR(1{<_2De^a=c2`fH_&?5G@kRZ0(B=mK}X&H4RL_=kx|g1zu_@fwRLKAzWd>_ zTC<+WVTZf4wj|`{1UHg`YkZ~4M_=EgkUUbJ9nyXO$=Yr#(YdGj{xlzM1*zfB(e