From 0586fc11d8f563f6cfe07d69b04734a5d33bd3d4 Mon Sep 17 00:00:00 2001 From: Lars Berning <151194+laberning@users.noreply.github.com> Date: Fri, 16 Apr 2021 21:27:36 +0200 Subject: [PATCH] displays battery status of heart rate monitor in frontend --- README.md | 4 ++-- app/client/app.js | 13 +++++++++++++ app/client/index.html | 6 ++++++ app/client/style.css | 21 +++++++++++++++++---- docs/backlog.md | 1 - docs/img/openrowingmonitor_frontend.png | Bin 272311 -> 270629 bytes 6 files changed, 38 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b9c52c8..41eb81b 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Open Rowing Monitor implements a physics model to simulate the typical metrics o * Strokes per Minute * Calories used (kcal) * Training Duration -* Heart Rate (requires BLE Heart Rate Monitor) +* Heart Rate (requires a BLE Heart Rate Monitor) ### Web Interface @@ -41,7 +41,7 @@ Fitness Machine Service (FTMS) is a standardized GATT protocol for different typ **FTMS Rower:** This is the FTMS profile for rowing machines and supports all rowing specific metrics (such as stroke rate). So far not many training applications for this profile exist, but the market is evolving. I've successfully tested it with [EXR](https://www.exrgame.com), [MyHomeFit](https://myhomefit.de) and [Kinomap](https://www.kinomap.com). -**FTMS Indoor Bike:** This FTMS profile is used by Smart Bike Trainers and widely adopted by training applications for bike training. It does not support rowing specific metrics. But we can present metrics such as power and distance to the biking application. So why not use your virtual rowing bike to row up a mountain in [Zwift](https://www.zwift.com), [Bkool](https://www.bkool.com), [The Sufferfest](https://thesufferfest.com) or similar :-) +**FTMS Indoor Bike:** This FTMS profile is used by Smart Bike Trainers and widely adopted by training applications for bike training. It does not support rowing specific metrics. But we can present metrics such as power and distance to the biking application and use cadence for stroke rate. So why not use your virtual rowing bike to row up a mountain in [Zwift](https://www.zwift.com), [Bkool](https://www.bkool.com), [The Sufferfest](https://thesufferfest.com) or similar :-) **Concept2 PM:** Open Rowing Monitor also implements part of the Concept2 PM Bluetooth Smart Communication Interface Definition. This is still work in progress and only implements the most common parts of the spec, so it will not work with all applications that support C2 rowing machines. It currently works with all the samples from [The Erg Arcade](https://ergarcade.com), i.e. you can [row in the clouds](https://ergarcade.github.io/mrdoob-clouds/). This also works very well with [EXR](https://www.exrgame.com). diff --git a/app/client/app.js b/app/client/app.js index b7c24b5..dbaa04a 100644 --- a/app/client/app.js +++ b/app/client/app.js @@ -70,6 +70,12 @@ export function createApp () { if (data.heartrate !== 0) { document.getElementById('heartrate-container').style.display = 'inline-block' document.getElementById('strokes-total-container').style.display = 'none' + if (data.heartrateBatteryLevel !== undefined) { + document.getElementById('heartrate-battery-container').style.display = 'inline-block' + setHeartrateMonitorBatteryLevel(data.heartrateBatteryLevel) + } else { + document.getElementById('heartrate-battery-container').style.display = 'none' + } } else { document.getElementById('strokes-total-container').style.display = 'inline-block' document.getElementById('heartrate-container').style.display = 'none' @@ -145,6 +151,13 @@ export function createApp () { if (socket)socket.send(JSON.stringify({ command: 'switchPeripheralMode' })) } + function setHeartrateMonitorBatteryLevel (batteryLevel) { + if (document.getElementById('battery-level') !== null) { + // 416 is the max width value of the battery bar in the SVG graphic + document.getElementById('battery-level').setAttribute('width', `${batteryLevel * 416 / 100}px`) + } + } + return { toggleFullscreen, reset, diff --git a/app/client/index.html b/app/client/index.html index e704af1..bfa40ef 100644 --- a/app/client/index.html +++ b/app/client/index.html @@ -81,6 +81,12 @@ bpm +
-S2} zR@V(fG<}-<%uF!VcinW#O?qwG5b+J3!ZwTq4s9Q7!@3T`Ub{M`zuN5=b{(^ew)@b| z)J?)qk8$0ZP;Pm9*W93tqIP6dqok<<9lsxPl=MS#y-$);w5GH=(L`}};9i+1C+AGS zto3vC=8V?h+?BU-94}UXt>gwSXM9;?bH}xGpk$E?*wGN^J^d}ERhpoV*W26s{-f(1 zKxr&Nk@jx!->ku?ww`p1fi}L<+rzs=lc#P^JkamME@!j9ul+$LV^`E-w*|p&D6`=*2n{Bzh?jmSH!J zHAwP9j_e06iX7QJvDq8jK0FmgrTE7KaoqmXVmuZmU((mD>yFHGp@AC}8bTKlg{=g8 z+-w)CsYSXoC+wa%%_~jJuRUP2ND8dqfym*I&ef;<#4d-`)H;vBi_n9ibUI}8NWlJq zC}ztP-t4`^%s5(DVp> ~Na_T?{pDTdls08o;cZE?rZ+WRsqN4_jSWxFp{M|Bpl>-HW^=Dz361FB*u z&yO|G-jA^dORgD feyZ!p}wPC8T(ma)j10v#V_YSqL*eS<^HC6OkwD2h(XnwpyW;1khzTuLQI>-0?) z*3$<^tae+!@4pv2r3gCut5$B(+2Fe}`AE4oH#c_#!LLairH@bWT$~uEZC@@< `Eki!kW}Up?*L z4y5bOYJGTxj1low2<6n%I5W>WDBQ6`HM~ErYEoT3-9JylIwp|L&UeAVql{(c!t^Lk zfpR5h3jGrOUUl$!#j2^JOIGtOYa#Gdum}llp?&=4q4Xkv?iYuv{evFYB5ULxchWLU z4Yp?2Gu%63H2&4e;Pa2+&raEDFhAECO}HG{n}eR=I&0(`==(zGa#uqZG_dth?5sTZ zfsjohRP7dnq33?OwAz`#9ToVI9sH;=@Gt*R@5on8A*2xOPEsux8RH|pa-QqfEPlf} z^44M}zmfnH49g44$y^l0iVm1ByCPPx_AG=K(uP78@@6BK7FbbK>4rUGT1RN~C=~q0 z0Rd-Bl_?w4(SKnT*T1&B@nHJ|47psAM@XaAN65X3*UPR>0x)b)q9m)otnSKMflzPO z>lfg;_K)y+o;%2b;kAX$|F}K6ABd`5JqN(QZ1~#4SJ-#Dc{c;Lv{r9{M2oE1&BRE% z)*ac+NPCvUGPZw$G2dsq2ZdXTpd{hpE;$Lgi$|iwai<@P(xor4U=rq5n9d;7U>PfA z&91J4Esv4thJ1y74&+|{ii0)yUShwFbbNy|7vbtcHLYsC=Lti-a;@cRLI4sTIn=x9 zI)g<8PcP?4*106Mjt!`udP931Ik1YJ{f!n#n!pP&Y|rpFr$q2^zn=&p(c@XL+~wnq zti=sX=9Ot#`Z}1 +IZ@8YvfBqBrRyl9&tdgHm zi`p>*p9#bBpc@LzwT1f@>3+O4m{*!&lNe=_d$~#9wA;<7E3Dsr8JXha 7T?kfkL$2u@T{lW%W&2N796_ z@icx~b `mE1-ZbTdJJ#ATyeK+=^hD9Rge6o<8JsRJy1||?Pa3mnLBU@#}Fbz4@A@H z)(UjdZxl#r6CPi|yWjeg867oYt5&V#h>!;%FI-KnXC4dj*xS;m!|j((0tH}8%w-;n zJwfG%Ffyz!)4@{UO7MOh5A*&VXGCgIdZYUC763-~e&)zHUt`+(Ro~L`ho-dx__!;1 zp{JeTFq}cn_YD*V&^qru`^5)OQuD3!2oW0y5ks+}nP!=aq){LZc#NllDdSR=4B~6m zhs@QZxEE$y*`rJvgF#4ZBt75dBcqWqhrV6H&*{>+&E6S}FNVv;vuiOMYVLpldbepU zbzIlCH8OkAvk>ZFxskJYRF )h9}Ts zdv!VN*q^=j%PD`tDAH@TCFFg@VsMPe%i)Cu4p)h+;_;35o4yQykaEANPkX84D;AMr z@+cXp^$6Bz_TX6!`sfBa%WjjY#Zc~Wq{27aoD{TVe#6J+kfqw>BZ59l>yPxSG&xrL z-Bw@HPnI_kk8`2R@FWRsc=LPHL1I2#c-}3Gy7!Jyz$D*vW*=nDtRH`JKG7l%R 7;)HM+;XIic2yfvotCLGWI=Sam-16M(G^fKMDR;y|Jm zzyngV;{%~aF|##oQ$kt{YcK#e6}re4c0!&?TQA95e<=y=6RF+Q5E@kn(PFV0ihR@< z60mX9X*ehYMz!a#T%sCW$dEB4WFMA%G~Ye~lQ>A*udI!d6H3_r2sC; zKX bo+LxZdzoh4?8+2xt+~V1gh1>K zO#}qiQc(^YsYjP<8bbS*4(Q$YT ~qK*s~L>yl2%ubZhy P8$~xQ9 z5JFxd4~8&2LlsWer!UI}`L=;%==4nI@{Iuy_ZBR^q_-sgrmOwBny!o#+W>E$=0F}u z>~Uil0T2|TJz#4frEcniAuJ7&hZ@}XLfSWPMn}lEAuwSb5jx}A%!)*N!;Rt1`)aw| zFwAL#3ifCAFWQ{feO0SlARN~WG$v~E`6XDDLzg!K#9?dunV^n@#!b%*oSqcUj@u >?%&-MJ9Y8Pug`xe40sT zFaZ5Rscf`NGrxJ?HyL^wa)Go pQ@HWglu($yrXEslc1 zqJ??+7+G;|BV+Msh;O^rK9?` dFS7ai!+z65?tG8E zB@Su*E`4=ancDL}d_`F-gf(7d#3DITnMhSXWqQ0%$(T`ZU=bbIMD;^@fIM5l8Fz^8 ztxM}~H^i$D-Z#)cf%n*al|TPIYFxdYGq*n}1glv~GF|5fe1tv1?K8cE$KGWBVagVP zoU|5;pgdZBqAxS)1dyH%z}YCD=Tspy@PY?6RjxZN=n~ktlJR5tmCb{L9!8B;*xJRf zd-o$pbOw{4)7*d5Sid)dgp%GI7nsW(_};Q+8oNHawJ`oz2swM|>(IJ?YVf5&p+XLc z{&{6_uwDqfY5;{jcjQo6v2NhDaY&QL%2FtnH?x=qi2#pw<~1neE+jA(aH!fMj|`pP za9OcX;FiB-5k|UiYQP1{JDENceR;!dMj>v}JPCU7q`5918n{w93c@SP&*6Ml e+aooH|x_uomM~BrmWk@gZ0A}!CyL%7>F3XU7SG=AEZLG z`!<7J_#<10*#=;WL~qzZt 6D*YZaNhNQd>VSw2=f<9B(zd<<4p>UBqd;sO(Ab>K<^yL}Bt$ tcz6=Ji0V~-Ztew8#22UIOBOwOSJi0easS!S&8z~ zj3y_M>!|i};b{v6kD;k?Mj#BPPkVUtE7PNkw)>HK*1A_+ac}ORfvm5z$P%n|PsT=u z`-k3x_c}9Q?rq<2y ;B`Hk7A lKw1UNjLF Xf?X)K>y!E~D zW(1P}K2W4s#25_wW|Qk^r>?T$Q1ZKCB~Z%e50M8FYhqMpoT7cVzJg@juLdFjijYg+ z+_4a&--5>Y3wwK_mpc?!l)k>cUQC1t_qx>feL0GUnQFey4df_ PqkvzAMPR^p5b#K@K0AdgZLpzP{?LAHgJRn+#Glh~b|NJtCoCj*{N z-=~^9RQNaxQXzv}S`osevK)l84u3w$XfDUyG>cUwjri2Zw7L8>YhXi&18XHT5@&>M zce4z_?-uy-I tEd0F@n7t|^ zm_BoAt`SkV?@Istz~$yZ<+pG67=*34NgDQ@NVGu-J|t#=K0*D~-GRuBiDIL&`{}*( z3=B9c=LR8xC*oJf8FvQckhzP$;>aG0oX$m3{6)B* dzu;5jaJ^FzrmHNQdqO)^@=%m6zNylUj&wCfLM*cB#iLu4PVkRT z>Li)YfO_2IdxK}8p)96wXxGk;7g)G62w+2sR}P#sF$fV+(TLbsV!3_v1ES8#z5#=9 zciw7BNXLDb0zb91mJz?{(hVsT`EQ{qVnO^8fM$nxYvy zLSiey<;$Ky=xl709z8E5s7j6d*1be&KceY?=5uLqPRG}V59vY{-!P3>7_;L*u3D`{ z*N-2XmeR7RKMgV>ctwTZ p9=+1N4BQE&a3S&;M)-S=Il_ z&GUJ9z2XglIyoE5v7o4w+O94&u{&f@woz=441>wZ$ihXUr4p&|mAJFtFoEkXlP_ki zd{l2TV hY{b&2Lru zf@tengJ}C*^moHROXKgKM2S+XisC9r%8PD~_DR!*ubzc!h RIL@~h zi*_Hqy8p&&ZRjo$yRe8za-gBZq`o~Rubp0?IYd}o{02MzlaC71^NwBK*|p9XiH`db z&q+!7THdcT8bgF~GBZ!}S3Uv?R!!9>q*MPX`1#U%TV1^`Pht7t>Sc#E^y*F$Ss>)? zGy~s0 gZ^$FV_6Zh>c zJ@c?<@ 4`Fc2!Gp zaRtx5cK`jBBYdOLCcAUL`6 _7? 1On8lzR zr=CU 1R2JgT$@LCYX*6?>-aI`r49MWL$Z#}*A%)IY1pjzs>nE!xSbHzmTgW_ z6_9V{KU+ww-hU%%C?w=VX+}&t+NUJnTGn`13zx^9&p-tI_@ZR>wzf-)RO72GT*%7p z%{{3o V{Q`WV5a2{KBQM8>Lg0_VaQ!UWJJQI z+l5InLvMIh^pfuU$?imKk#{~J3I`v3Uwi*oCP*-uuL7yUxtI6)52ctqiN1=xGSj=G z|F2_;>3bNV)E2!&*8VJvMkMTfPH6bv5Z-Xu;X%GkVR{O{MO* 3STNRmU19R z#&6v>a>(0;U>=V`&MVH|ob}CO{g9j3uY-^%rI^C)PJ}>;P65A#UPc6LTB-JtBvI_|flf5@l%Z}?DhqgKX!7c^(W zQ@(gFZwgDWbW4k8w}V8e4dMRi(Id#iG^|0bBSwM=^%GIc&*$n2*3n?wWkCMO3PCZw zZ_w@&OBs_VOp<5l0C26G8=oC*UrnqH7YV@)WgvK>L`f|2>nU>Ecxm?2zn#Q>IY|sp zMk njTpx98uhh1)cn5PSdu%uoh43$71s3) zghsK~G3^ZDQ$t_TyUpGG->T-C>8l91_yNto?Fe~IDufG75BW#ULAdVo( }vgA-6&f#53xJu0&T)KuZ59}GtqN^KHB_# zp(xSlV@1kS;BE|z^efYZRN|nUge-ZQ7Bttq_7QFJNT(L2ZpkK%5SppX|AU_EpE(mT z;X!0pId$hbb%fH34-pPtX1VM{Y~w~o_ks1jrCv}~Dwmr?ZZu|mERehBXUL=Bj!}Qd z^&iOzxCET ?K5@aVyF|c06J`QIL@Zo%)8ls-(dTh)e$mUlp}6%A zzj<-k-f-~q^Iz8;;EO{hHyBGN!(FUlM)QCEaCHbri5{afUzIR8aT0NA4npCTM!czC zQt}~}XBiJ1-(j6nw=>IeF^Jh7DIf$1b=0TlAi|ANWzzzv11ho@B6^sN!0I^0O}f(O zVM-XRPl?(7Qb0h!mn5#$e2{&uH{aE)43Qz+8l1CKE}2muPT}`rm4i5<|ky_3R5v zlD+hApW)XAM{&U%#)^~=HMq6A>6e$6cO-#*Ni#FEhm`oB0xbWQ+oB7wiPNT{{ANRr zY`15S=G~7+(?KXzEH@D3d}F7ok3V}v^@@ERE3=s0I#d0%uEMm)PmNOHcrMbALra09 zfXM~nLUG!X6b)v$dx{QJ!bu*c7n@&n+qll;a~C2D`d$ATvoc=U9~xST4p54XTWjgx z^eVbJpU7#Rexywa{9E$gP= B5pj9r_FC+st;X%M_f1)4UaTHH0dd!? zOyST%5 vEiY-}HW5*|Fk&B5Wq*#c(m-~ S!l;aUFf zTEva>DKXa{7_*U&560kkAL4K}J!JI(r9q4z=UuN$eYUS~ICI_2%|?L>gY;`*J9Y!_ zc0Zo!6V9{GOBR(+ZBB*fj0wjcfLpcDm4Hu) I1-4vTG`s$` ^HPLeIuk?))J4YPm#QgCj0= `ng0y>8R_;1j{JwWeh5 YOajnIcCKHMRa@;zWhsuP1iLYW!dS6cy )I>7 zN~CrpI);V6=TXTx8-J;xl&ox=25SgSTpXy@tVt?#CgYVLzpJ^ly#D;4+MKK{>(hB} z0C2p?<9{>g?RMOfB=v+6A1CkI)JK%`)o$&26}QG_I3Y^_q2s26c$+XOmAdn{Pm5BN z%EkTmc#nsZy3JdRUwM$0=Ea@*_Bf5?Q}w<043mY3?vD6O3mYx7tuRfMhi!+_E(~$~ zX$);t{Z|#D M5 XgaS(i_i$gA zr^eQL@{)3L@fgomB Pw60(UHW`ZLVb-t!!U`gikJPhPE{_EJMDz5Q+@Pj z=7T+DlWr1JY9e{}qc Q0&20uqbJ+2Fvs4Uxfgh0yC|ieKj`G^)TgQBH|*PX zn|TB+_x$#8zwBEh|F3G2V5t1#TDZeivI)rwWT; $<;B&pY^$%=sZV*JFRkh=$#c6k*@)`xIY^h#h|&3&7SpwTSyC zS`|XikN=LkRGtzk^UOXo9}@(TAJIXdx^FI+-Yz}R!GiOx;I@D^p^Lf6%i%r+c6_j_ zkoL~V-SPHoBf^KRYvSa6u-EaHl^*qs-tH7? GJizNNgxdCl zI#sv+BzN7{r`h{;Uri#78KO{0tgPv6j8T*(V3&gxpVENi$+Lh8lHO`clt_m#I$oOg zMlqAFxJ}KB4K#F|OH0(>2 p0x3JuFz7rLg9NBo>Xm+aft4o4Hc}5gThGA4%NDN2+{}i1Y4AI{iUOl~Y y$&&NlTfZX`w^t-s% zwmyeg=3}q^?KA@xXy1>m(XVJ}ASj!QGnCKKg+6-c0+QzL_-x5frtIwXVRm_=xzo)% zYE%(yP9(GVzYZr}IH!t~Feb~SS*oF3Q%q9+6|~Rr<~8S{_H8bWe{?gw`$Wzl&d$La zj{)YOH>Lz5O;O=PQqMeTM1*W>@S3^kpFty+qBT2U8aMTA?&j&iHHsNyN=I^XarQGD zbKCnQXG!Z)!-u_@qHI67=RZ zuu%&Rx5y1JR=J;TK@^6!>(3;Jl9**BfKKVFZmC4}sE0JsZ$+73G<>6$FILrC{?t=a z8a1dk(x>$F8<*BEHwldD7=?1KYuRB2UF;8fygE5e*Dqd{|H#a1SQpSVtD^YbjQiIb z=T3U^$O }HEZnq+O?&a7J#GgB5b?ZBJGuceqeE<)5N1jB zPHJ_h@I{igB%z;m&%wvwSyU&5V*IUpPuNIRq!RH^-lCrTTJI!=MYO2vE8;L7O=RF~ zL%*mO@9g6fyF~XQ9vw?Rvfia?mn+8WmB>@C7 z?pJLQ$qRrb*{jCSMWCI-NrWK}qcpEC2=qF@vsI^9*N@C0j0$hyjJcbS&ii*_;B`D% zZ<{it#Ol0l7kx%`G;^OW_Pe#}f)MVeSiL3AzPgR>OiZ!dgI@|O>|Bvsi4k|x*$bR{ zEr>sLrVq&r%17u;6NUl%D+7xMYr|5($HG?QeQD{vONpBqylsDfeO9^FLg(kf4jexH zRBBXK hkaZQvuLwmmcbI;_Rzy^TS8L^56rWP{MlNYV8Zj| zPqAwn8RkM*h=gAdSld+9gKdT-d(f!h(gJ;!UPqm}guMIv?N;MmuF!oT)9q<$fnlIm zJm?aT@C=0zf`#TABf6F)V>oQoOVMttm+e4q8wzQP6#gM|3$+HMLd8fsB}86C>V4)Q zOeHBrE7Z2Iyeei4b78()A=upV=pH7?PzmjNLHhn*Nf@z;tE+5gsvGg~0zWS jILN{cmfX)bczlHu?S#Aa_T-3oC~KP=@4o@boWFNcUQFzTr{dzK zGiA%^C>#NqT9SGqK&k>J?wu$t+yTHB^Qh%fGgwYjm1c!E>YYkx3X?7U0th3ZLeBtz!pUC=%Cs?#=C{A3)SoP8u}3-a zZ5N@{y6LS@YD^mDHrAB*bMfO~pR*Bcg76=FDpE2lF^a}vqKF9NqZ3UakDr%$V)+_P zo|zm1v(QI*Pa4FR2AAm5EG=6ZV>bSlwNN0pHf_x8V=jC7|4oVjCAUGFhgDSY`jt|( zRMUKkLKAz3J=Z`8`C;n4cGZ!f$l6W3+aI1fKe&PO0>6BX;G+k3sbA_x?D_t{B3N64 zJ{XAIiD0QVqOYx+BsW#($=b8zvm9CSt!TY!r9qQAIU~}WhLZ?Sus{wfm _ #1KEViDs{}ib)eFVa1nx_UH*3~3WUi~meb6TFdE{#-$I>@$7(xYq>m5pLW1sN zGc8ubeH=bzWq24#?x!SSe{iZLfx!0NdkTDd&)*XF(M4w2mo`2=q8K GcF2{Ub=g(qx0I zn?C#G9+kq?lDHa~McR#V>|CIr8^$^H%OWMNfG&?ReY7*aRqwtz*>38CN;Uk3GZxLt z8OE;>st{-(b^Fi>8e_nn!| ph`WlAEBz1;h4# zU*G*AX)2d>0d~2ofih7-W|UH`Md$bLG=)X}HZNY#6d2q{Tx_d$gE&X!xMS|8_RzDi zw2zFCKhoW9`|;yGIKO21w3Q`CRql#u^EZG?7n$Ti`ivY?Zr@^rFzx#>qO(+seYF4G z$Yu&OY-_~w9URb7i4V5<6YZjGuPf4y{bt0RTx}?D=YyjPQEa_2hcFd~d)7}$W_j2* z*S9vNugXT(^?8=U!M@2oVo;9BY)QRz*enUp^uu|ad?1#8>dTu=y^5~MT B`H>7RtlMmPwBgA*4tMO2W`vaZEedi93f3)&iVA|yu1%f@ z{ V@4so2UI9tA1XF+07`feYrfm~&BaGii?;Fz(m)arypkHDH#wc`NeCd8^ z1@MUyjLqi_CRn94_Ke2P(#hd;M?Z2MyO?*QOT~AIp6$ a`^KiMyfsi#G)rbmqFeAnR*~Bhyn*s8v(0zr?S@{HuF3e8IO&*b;Ko;Gc zjIQ)n7y(Hy*{{0W;LSo$4!3iayY{`7&+m$zw-?DYn=q6Z3rkBxtq47R#rjro99NDw zZ2t;B`9J}RaL+ekj94ic3^lm9s+eHFZM&YV^+CiM(q`5;^X7`%GKoPB9#sX1km%^> z5aG7ECMfgV_*0-^n~tJt>I_LlNE&FH6^L+QepqWL53SuY)G)eiy?^_2hfJXtG z{nTA 2(a8hrtHGpW2uV~81v@ntUJoOQ8yB DE?r4(niqL@Xz zI4=2KDN8C5Buz5P>>w*WjV-2J=~=x+dottE++~wT`#AD&sor*ltCW@^ccaaB=)EO< z7f~L4DCNTWQrYnVr*+qC=%K#c`O^CjS=L`DMy@v#R}R%(2LKo2b4bP0z7O;z?bQT| zNhJC7NeUt4+o!b@i|?-v>MxxmK@P9)uY^qbj|&`2DjqmY9lm1}wi4*9DkqzTr%)$2 zgwfqzKNbQmdCm`6&&36il@G_cz{IDcLfFqMUMygCE-0o6yXl`O1mVn{{GILSv<`GA zYeE#5-9|M5tyc*F14%8k6?S%qd&bR6_byF?4?pU9_>Er+xh`MLG{HlwVFYu0e0-a? zm4MEd%tg%)(ljaN^?M)LYyHg*%|3FJV3| 0Z($n?fLjK~!Y7>y4%bK~f?bkMu zXY4*4Qkz4`()6)sHe@U#wXQB?%xx%{#bY4+Xe6urFFOu-_~p^tiSpVxzFA$a`(5 z0CD(^E8HDZl1#)#Ma`j=PjtZ+w$XU@%AOg2CjdHo)3M_ 7`_rIO*egX4@=^V52Yd&X`OU*5$D+@Ipu%PV?sPO`SZ=5yL1(Hb$JO4 zOc>>#zItUTmA)>d@X+6n16Gguyn8>(2iSTuki?PU+p4OwSIKK~*qjWNz7bzBV8GLk zJoCGy DiGZG)>VjxvXQ*y8wL1VCri4Egif*k6P_DTR45TrVLB4ph&|b z9rzXWy8e)gn(*k+;_T&d-TcJUx=$8|HoJW%;ohezu8f>2v{Qk9AZd&WmurLXHSt3- z*()B< |{)*CYIS#L5>ioU$d%Op{ zcdV;_Z3)h;%mnR*c(zEMiLC0?#%}}rA;&94AG=I-Kh7@9P^ndNL9#AzpHFQz=DN$$ zv$DRn|Lq=b7bepOr+>A!Fmi6W8xZhP`d2=o@#Ns4&JCRhLk)saZ)5WQCMSrJx8;aF z4 {dK&5`C|yMzUU_mAZDn0Br4D z&kAG4=Cd6!caJ1EsM*EOKDxZ zv!RRkc95Pe{v 5{&NX^ia_cS)<2ZBG^h{)M5rY#0DLygbel1j%fBN5Sw_b$`7My3^e-rSP zw8P{zzw2E$13$AZz3r6TOGCIKIHV}^mCkyk3;%6H?rC*1(f3C$mWR?6@T;cZQYYHa zW8n>Wtib7#|D1Km0HfD&TZLZ;n`6A~HX6TWB>~ zIttff)$CrH`}~Y)GYw~L`PF8nr(>qtt81J@{I0QM`gpk$RORdP&5Id@*x6Uy`{n0I z9l8sg-~1cA7T&S)6xB^Qd&YVESF*+977zsPWzGndHLQ9CHtIr_xCoK1c(i`?hatrI zRKFY2pE_Pc&2zuNDew`W`&u+d8{79cTC0s7;|gz q?o4+24NG+GsO(?|%-qlbH>YBhu{cmu;Xhy^yf=R#CdX7}XH@ zS_*p^Q4hSaG2K1l2q)Assi)lK&GU8LP(lx+Gb@v$m-I*X-i|HF?atRTS5MC4wqf$> zYj_g>)xb9%B~sWubGv^8^k(#_YySyJR|g~7N@X+iPG^zgIh1MQ!L;wweum3*|K=Nt zX9!78 `$&K6V16-MeIQ-ze R#}t{oV`H^Pz_T00jwu-k Fkj{ToN?WsG_}lb>F=eC40Dk0RgAAz=1nkdW2k_*xeGB*CNwlkK{S8E3|@& zi-fFwuk!||iZyL4guiZ#s;kJcRc!bb?p9&0h3EfO>^w@H*KPbQUe+f7LpUJ?OB5wX z-|6qYrFUumMRE;N9`@&M8Px_ocsjkkDuH%C#fe;NC&!6- 5V09sMA^+xRms~dJq z25-iU)K6sju2Pq7MN_R~zjZ_JT%df46noC&7V-NWZY2Qf4_q~3Qe|E_kSRU{N7}wQ zM#ucwyY=*=HA&+=djjNIXhyD!5kr6s7)oGE1ALtam*|*>Y~l{DC?~4y2$@jMz3V08 z>_!F1FDaT9y#*;ya2l+!*_$TB^$J_MJHqzJ-vQGT9xwYwAd~$an8|o!!{Mc etZoR1NlkSEP<6R&y%cmScUZ-Q6n!XL_k>!RgB-af+&_Yh^PkI# zL=*ie{#iW&YfpSTjq&*0u82}&*TnxC0L|_i+NpqBb(La2VaeBeusHk1`ZCs&Q4fw_ z=?>e`X-%pgN3vK6fguO02W}Y94CuRI0O!#Q!xqZ7V|P+AwbC-fyqVaEf+2jlNu`n# zfrbM`TdMjo;3vyo?(6FglwdO+jJPzkdoy%cN6}J91gT_ePI%M`Jbcm$zZy6l2Zerls!tTkWMle4O@b>6# zr?_K&_a9JdEIHshl}Q(q &|+qG}o~e_tX%`4>-@i3bom~KvT3(wO$&|idP;Y-Z@_V#lv&mh}=G-3ZBi{ zW;6@>&Rb&r_w?IF E`C1 zPwn}=53%63jc|DIi-Y{G3Hry_yRpAI1qL23pwTf9AT;&aL9{F|iny=vK;CK0m$SUs zqOjg;Uir3k@od=Pw}Kx0?2L@HiPw8;ZjN1@hQF08&sy&JlP*UzZMOs&X$R^RPZcUZ z&(XJTEMot> -+^lfx4mHkpaRpdUOuGUd 0Jlby22VKwC}zsGL-1yR1PyA1 z)1uZydD(8lv0OXL &N;PT^946v-ECjX|+klWbF6Oba{mf@$!^#YXz> bPYnIiGN>(}+*>^_)kXDH zG?p#P)U;enh@-vzMEmw*q*yKsO;H+O _~H#wjXR #DwBR5!pYlCy6XiekzqV-&?W#_xI)l;)>kVuvgW*VIo zrye@mu?4UiWI} Jg0? SBSjAultg+SX zHEx!#41{hJd3RQngx9%xCw{#6EV&po`(nEdGefFyM%Wr<={YI8^O70BbiAIudcq{{ z<2C1gt4nG=c${?`wEQrC(*y*kCCCH~TN1UUd)h29vWX-Z@40$GIe7f!4y8JZTUc5? zVJ+jSmsQacVZqi(=-W~D5zgCw^mbkr$-bb4Nz6@{)fp~Ag5DGLe00?FLP+PR;b1fC zrtxcVv{+&mO -F1%#}rC#bS|mX zPo_d-)lJPYoJ4kVdlNiz=c`(Bfy;7vQtj>X!vTFcuf501CG!BQbw%Sfu a E>B^sXFt7S&NnGnmHw{f zG%cuP^K?U30C~kI)9KK~=)a39t>@%c=4Ra*iYF&z(*tZLt3bd}^u}H~Yk(wlSKx|Z zz`C*e^BKFrhgtcKCrQ6t>s*XN9un}}SdbbViYQe7NC|N)Cz9>Q>271_{G~^0I6Mrd z5IBpsvzbv7(*Xhh(Ex-f)m*f^z?3&o`b?GYon8k5$VuExbN~MM;mt5I!D23Kp~>WM z2tSX# lxvB_tizZRM6#KPasZP zZU!;9`H73Nt-In<^^T43mkf3R(|qK1M+fw|3J*wR)UIj3j-FCy?$2-Y?BGM($tRP_ zHrwcc+3}S7iMxu5SNNBg$?%t(cn08j20)4L&1_f}fZ>SP*}h!KuNSVX9GwQ?j_vfj zpIh)5V~c~~A(pQ7Vz_?$Y$i@ue(!tXrf0cV|Bm8i-N)}>QMVGk?dsq|qj=OwF`v_V z&`vf>hx0@Ih-TF}`e*7$9 j3fiEFl-+P!nG8>PA#-*y%eqY--rIZuWt+jWfj7-`|_hM @VSGdPp-`2jb2T@n(|WYbA {*W$#sbt~{UJI8%z6J&kPb7CIkeT}1Dv4;cpWN!LCnT@kcu7rN@#*ePQ@C$Va2 zobYe5>ojgY?C+EpBE8Nf3HGx;pQa%{jF<6K9T;8qjnBQVB}>3AAY#Nr@y%nzqF53y zcwrt@SwA%~6nZUoE_@Gu;EeDVJjTpkmoX{LTW2AXc5S+$1LKRI7vWRiLS{lxeOU M+$H`RAz7V%-Hx)^U^(f>o!RYp}AE?qjL`_LdLA>9ogB&DRKLpr1z zUh<%l5~8F?H%fP>lyo;7x;wv@d%wFD{DK8MF*AGb+4CUr`Iwp)LY@(-&w;4^Jepye zRJzVU7JTtxq!+_ue<7lyW*!C X^igDmcHRF)C-j972=boMVJ1Y z#pBN*-aB;GH~MfQKx=PmO3#aOZX!w&Xf-KVtX+gKYe!sI%{D|I7Kk#tL!n52K?REV zgY*u(7~$dJa*#Dq^)@05mRSSc3E_ohBB&d-%8xJ~j2stnEy`R1Yf?aKe6F7t5{44j zmKzC5zG>J~tVPMaek;dgSD>BAv$noG^>Kq8xm~DD?%~4q>XGK!R<6^902@2};y_o6 zk>US=AwDORkxTQHd49dO@zLh-KwX5_-nOehko%N`s?&!9u5AW59TxFKFAkI2dnAr{ zQ>t4gT;`O4+ao*4^R$%u;TYiJpYp=ed1Pd=_@qhQ!>r;Pdb?|hSHoH`Sh@MI(Vnmq z!v#$v=2*jJE4vOplR~nEdUiJnB*eUdS*Oqj2kLkr4J8jr+g2Xi@X`Kj5QpJ{>@xV` zc}Ycn9w|Rg!>{5WK3wVl8H19K%P!eV=eZpBkOK6EK6-i8mZ1DJBIG*Xgk ~y;_!^iiJZ)RV;GXXyp(W=I*IYQU#o0m1 zzg4lZmc}*)J#;EL>*v(F^e>L^jPF=WIVOE&J)RP)vHwkk_0>CL2VS(jR0?FK5U_^+ z*Ueh$%IKjK)i%?<_gr03%;Q8@OjH!Tm`5c23HOLF2IAfQdu%AU74w)PxLXxntS`9T z3tt#BziPmHxXXQnJU&f+IqW=?T7kn0{u1ZD;|yaRHdUtMAw@V*COxI%(@l>E7oZ(+ z0o}24eLzJhIz+Z9x=5$Y%ozxvd5eWr>$M`LlIBO4#Azrst{5{jDT&CHdqbBwMX$8| zFq`mvCKmJ HBWXfy#P4y@97XjXt9sF!6ybdnj$57&BzntD|p1nUndFMBVf`%lY!gphJ z6NZCgUtB7Z&oO^!p{+KOf{T9!LGFK1bNCqwk+~Yx8E(H6RlRyi*vb%-7EBwOuhp2o z%iCRUZiW)MqYTdY82DPdzM0!}m|?4TM9XG5p2K?n6v|V=N=Oa4J=K+WQuy6h^I1&4 zH9y8lf-O?;Ukk8K}q|6W89IpId*7 &72-gfJlJym_F1Duzd&>L7pXgKv@6;WyFAMu_!?u-S}*tC zKeHzXHE_y}#%>{6ZEpn)Uc7R>s2>FqiKbR_9{NJr5>i9n`px5wZWOE(?`S` tueBvrdm|XH)L)-#j zqf#D6v|H{8y<9AW!bNJ~B%ED)6Q~A1%GUbZd4lOe8MB_iVLeRYv*Fm~FGkVrai&blo`58)6|d?1 zL3u7Cf$;F={P9anz{zP!wJOrG5&5sT$?rCtbBs3%hi9<+850Q0+2|(4WLZ#HCs<{B zdfGt7K@1_M>>1e-A}t+QS=~crGiZ8NW&kDbwjNJfMn`-@n6=<#P?vMB#dWzv-elcw zkM0uE{7R*%kR$_3O21B=cN9 xrZza73dD~ay6#2nHphX!`*7+x52 zbcF=iP*u#~L87 Xjk`+%_!wURP!$+`$mp+d)(^PEQ#h+w-G4Jdp z`LIdb97(rBgF7JPbouwAY|iiv465jNU0_8}GbH#_t1ddL*|D`0ryE=e!!HjzOF$jX zL2$q0?ZshdI`vw qk(~9lk%3zIq5h=qPX{JMJuiALlTstQ~8>kH-t(zsIow z{7{1X#z^oae54h@=3SV>W&YcWAiwKAULo&`=e;!GP(ZD~=T(%YqaouiP=mj9TEpQ@ z`7@jX{?g&QWy<5`$5T}S3qS^2=kL|Ir~g#$!D-9GhUD@RaAlrS4<3XEYHMOUd`&1g z=YHAtMJtwx(gb29y#+?M`q Kn`3XG5%dYO4`QMKz2{S0GGJk%SX zpPDJsr~b6*aQ8RQS&{!}vQ}NY)*Ca0BCOfSs%>mz(j%}G#r|O@o{ppg=Fz*^CQN4Q zhAK05yf>6~(7TIYf0wx{NXRjJQT&f8l_K(>l;ZxcfyN0srrE9Y#ttFrHwp-K;h8}a zH|+LMBpC00o9TEjjI6#?RFh?`Q@kc?KKvLX8=h2_DmHbR#PD=jq;xN+db-c1xen^@ zWgCwltqz;l<_d=%g8*QtN$;DSeUAr~XmkY=c`Pd9UMK;bTDy@&BGUb+LeN7$vqe=7 zJA0VAEV*ey6QMj5Z3dJ4!{L6XGok43HTLaA*8o6XPNM#sz3^|g8Sh2^y67CyArkz# zn|ZkR5bbB)@Jne+y=S9iai(K2k2nSm%5tVtY{VXe?ZR1Tne{*}jRlF8Zi5Bhre6yI zmX1Sra~wl{aY5Kj+#x{_zm=OJA{=R>r|@2|>7Dy?`cOtOW%I4%M1m8Twmu=$ #0^w~SylI71Ch9Q?NMpRP*DKSf){5RF_n4cjW zDj9y#2QJl9(qaI @lGeyM^|;S>~sU#q9wVvu#(jdH%A zAiu0kPFagYX)JW%D@wyF^3 8A46=ubOaNy)iX rnM))-PdwCVZlx=W%~tx1cMRr`cV8hW(e}00Hx2S)mkHW-trD+mUH(}fKx+q z2D`5qUw7=cxX{W3# Y>e8V?$Vy|AlUwf5#8*n}lu1rgU^C1r>r zO&R&2?KDX=3Odkla)6CC)w{WSd?^Tp^OVH9ZZR;<|KjoA3O~Z%E zo4qP4em#tJDA)BzFw@52G;QOD@qC~iaO#(m`nS;6k@TP`0Gg6^nDaQ;`6zyG2_B>_ zqlLhA<#65uTL%TI;h$vHDR&5rJfHQ$bh8bzTLbd;dtsBv%;sj?^cx>*0kZi%a+3jE zReylrFMZZzA}v+^1z_kYw5P~5$#togW{|U~V%o(;hk~$m(VG0G*DBFHJ6%tx2V%z; zGO~8u>UgOmu~UzmF-%4^VO22$MS`|w6p_PLmY8De-Vf*4=&8CZ(<5f$|7tLZwMjlA ze=sUz!@uGWg=LcEz`Sjx@^NJoilreFJwQ9P{(Jo+-llC;c{34R?I7ib3v=t1_WS^~ zQFok6BTst87;V$;U;NBv#m6-OmZoiXZ7M{(7%w1TtgCnE)4>57eITvCVO#oYhvsW} z40_CV(=lhorGr}QJuU;Eivq}Oi>P{h{Hz;Ja`y;>B&FxwmY9K pcwS~+FB0cqpB^``nlpUjj55}GY*p@x|i?p(9I7{ zqPQiKCdL8DPua{p_o?|-Mz=`doGBdL!G(h`eMLT8WUTDpDGYIF(4 BjUNLi|o)y8Sip&$z)c343JU)MC4@Zvxu@c5$80}O2QKUK`_kMJ%0 zDIJN$$LEU7{kXhQPx(AI%u3HhJTuX6@~0Ymb%g}{*ee*3ZW& { zTpFMbp-NnPu 3jtLkYj)Z+%U|@l^L~zVyODemmvZ^Y05_dm{ll_NnE;bAuV3 z>$4@FprD=g$6R02G{Fl6@G#_XcfwvbnF9_8N8_(DR{jD0<1gXQzmg|o`KVJ2)SDC3 z9DD72O-P{ntv m zlR6B?LisJGtFYxHL=m+b-)5?(r&msyKQJE5i(w)4YAymT`Y9G4I&dAhpH05d{n7^| zQmVQvpg1dF$*uaL)+EHQscDRDcV%@y+n=E(=<^*v4nROb*<@e(lt}4edbch8Q;u8i z3pebn@`Hi*gZ$H{=EQgichCn<^@zuQQUrm6>6rHsQ|)lxtt2NX#%G3<+)Q9tY~Fv+ z%Rus2Y5hYke~Shs7`bU<8qOU#Yg|6ow0E~5Ggn(FT|!=G5Fz+h!fH1^Sw>L!K_k*a z0}QAhvW(1By)+OzkJw#ynm+1_%n{Pop#8hVk3k ~b)T>@TBuPO8Ap=nRn>qEKmip+970W1L5C0>`9#53r5)ShD_o5^1koJ9 zb2lBYVT^CdFkZrUP_5{0fabV1y*Ks91Br_R6B!WtyWOuc9Fy0 oC%-}EpXIm9|1$}|LNYmxI%EpTY}2IkB~&mJl)&{KZIYcjo$0!tQigv`-h=i# zhlU`SKwet1zYkySkYk}@42>1qNr(&mJ477>5Aekba2dSDB*QJ_i^}|Hs&n^n@alNW zU&p+2*{HWqzGE;cBMj&{Y@i6co*}s0U*yNaTXIKrthJ|#OY;~pv bky-< z#kky)j5NH()er)cEcN(GRw4wL8k_!8B(w>?SuoV;yrUW|K=%1*98=0IIjnCy&{Ot! zqB1Zn{i`RQr!CpK!v-Re!&4sAvRY;;Mh!>uXh8O85RV1!`6`jLUM)Z+5r*#PY?5Kw zj5=A9za9oyDv@Gbqjz=+UzSD8#GA}&=-v5LqKr{^{zVyKKK&z+cVhh3-D&bC7!=yF z$+_g}x>m_A=N&zJ?J(#Vt;{hrZCJHJkubdDrAz24F^5E*huSJ(v8rS4TlJI7NAYAo zB{=3H`XvE $CX6RLN& z@sSrrINMH-kPGl3sbx7D(m8zxw_7ch0h65rpg6_nwmVAh;X60XOaL|6uHP5(%l ({|C;cB%0ZZ@5NJ?%5s~E^9)FOeNJ*vP*U$`;g`&Maqg;%NZqL1os zuRzeuhsK2}P9#KFgKp {waZ`O;0V;qj zwk>1fAn@-7hUR+T8f-{bGv=MX{+Qc29fGemt(UI-D>HK4@*=g`f4*Oz9Tgi-O-!K1 zm_lUBL-Ks6ew6f)7Q0Af&cj@B4W~d!S(%2A25Acg;IKweL|p;fpS~4R_vT#wINzRs ziH#3!=#3>~fU>gACH40NTSS@0jRH Gd^erUM z=kjCF*`Md=Es&L#FpmHuK^hoA$;rvF(J3w-KkvA(8M5O>w%yQ%&66$VA9B%WQCtrW zDJX 20W%?1nKUl%7E~ZIn4sgd%~1?!UAHP%Q_;fnh)ngPxI?NXpbmApLqH zs`j!Tb8DWZx QSTpb`cgWK_6Je9Bk_FE#PX9xxbV z^ffey22!8@tGI0&-y1XuM1mTlKk~zdry=I~MMYRFlUQV|g~BO+H=bdl z2EmZTl*j0nX-mvpcw;ZQYYj@%UFJ+OaOmIAx0<-%1_7;-@}FV_<%^N=ED)GOB$UU3 zc`+xP)Ltg-aJRDyje4)w3BgA`$jf6WSl{B&w7sGoYCl2@+e#*xqc2aKsPek~dp%wC z$aUYW1V*zm#)sUzRh=4@&ZwmHnU^7ZL{a#y2lwH>8-zy7-NAT2j!jF4MUGeFVbp=< zfJ3mP5PQftddL Se7eejxi!EeUQ9a`(^^nDCnT9m+4y}uKgb||@R z_&R3VvqV!%E+}zUrY&AN&dx+sqaq^uvd5^(nauHe;qCN1+9^ff=i|CRrmBC#%1%r= z9faWdB_*#F74@=O|CVK9SsZ ;=5l`IGUvc@TgduRHco&=K>E?P`sC5cwZ>lwvy$C_}rb CJBk4*`Cet3 zyP1Dnkx=hD6RG@NpJu6!pt@xQ2;YM7J=0&Rjkb;Ui60?5l8o;1*^L XHdYjMslw?mul&211qbQXdfoA?8ETiSvz zXdrTtjg1cOVACW1!}WpSbZr)-EfYBuAG-P$VaC~(yO0~^Du>hlqvIyXrsUGUZI@Tg zqw*PVQgK%bSeS;IUJw%!f+?N==?eHuX>7UyOY=Ja-0-jA=i4Hh$5B_6kPgQXL9~it zrZh=H1rE6)nlUcrMp1Wy1OF5EabLf|Ln*@GEgq`k3sDRPzgO=Nz-$^6%f&w+){cfl z5JPbi7N8yS8VtclA}lnROUliSkET{wMtpuMd9em!Xp=(#DY0T+xKrIXKVTkYy+cF^ zJG;AW!r{a4kU`6kTpM}^nUb=Kjuq=OFX?;;29a=h-=InB)2_}7K=56LP9f&_^Gihu zs78K $&(fOIqaQb+6Zk8CGzW>(HFI@*G{g&G@+`#S->J zlmbDP^@;bR5ApE*rscek%&yi(&dUa;n~`SSa$DCTYK?lpboEDxPa{a8=N||3uXY*| zOMDCnePQA_KC*b 8od)1Qy`V!y*D-Ti>0`O6lKM_ShUSp)-9%{PyRHn8k7{VaJLZ4lxGFzX(obVO za( GLK3>}l6v2Ck9dSHOhx Qu-42u8+j~AluGFDBwr>kc%-Tzh5=!5Yn#|iE>uu <{096c4eT5W}tq%lbKUSRN{gk)-kX0FgB zz=g$VfDMz1m7lpCMqCs|`g4oSxi%t7yp{DjC3kj(%qo^nMrBh=EAg%XeMVeU-yXIU z_;ia9Ra7AX z2o1B(#$bPv-vN9ro7n1zpWR^^~+EG-j`6#4^99ca+^*dhxA8^nl;bEHd z1uJOZ7jO0BN9C^YCAQZf84L?~g1>Q89&UX~5tlq>vQzx2+{LuuQM!L^06+qwfRHhC zL-X|cgqmp@JbB_$nI^kk&tfHdhvd6fvIeVkBNr3NA{`Ug_9VSf$nMYH+t1duXhqAd z_EhGze-p+2Wz7Phe5}tY>CwO&<6H4y>TvYr>-Wxfs#CQ_&7>ggFYa3!{F9qYaenST z$eGG*op#%rlDc$PT{6gntQJrWbF(E=uIg23wuG4my3)k`4x?NH8K4PB0$oJCmE4Ps zkGwUaNj_}5^tA=5Nx7;2rMl x)HPW@?<)+|RmE0(0zYR_;HNuIW1Xk5Re?W%0Xzcj{J)6wA?3n#^KlW$CB@U+u+f zHo}g1od`T_^QX8}aGUpt4=p-1eUe4JFxgM`Kz7Bk!9$#^D2b2~RKtUmL958&r?`idEs6+#2P92*KGWtGZDX^RTM>bkG z!t%L~G>?$obiNG*D0)uqhAlY8KxA!`afc}DJ-)P3$#Zxeg|EX%v#1K7MExoEQA9@X zXY)DU&=?q1>S-}wVv=FN^viEj`6ID&3&ssIVy_4TOKqHl?R&QpA|q8;oP?>J0FiyC zX?xQp=5N3R=TbS5x9|^ni8k#lql} B~)ZNXs_InK@4>Z^ryHKfrk?qd$ zI;eXL4mV4`m(eOJ4re4pV<^F|E;i?i-m~tFetuNbd-k)j5t}24QYDWlIaj}MCRkri zEZT c6@LUTHZm0B z%CA|LTD;`+*?rGu&{V^UH-}ItekS4yIJ4|v@STO?Y&nJMgf@nMUc)!NpH2-2z2wE$ zm42p)w#XGD6n^3aW5Mjy(AZjhB#)G6j 9e$JD!Va}l^=xm1g0GXrq4zi z7@(eHPSXzHhbfQ|^UcO(z_^b5(Z^FHT3a(? 23Yl7eX>flzH7$4kY(W<;!Vo$LX z+QzE~rFs8z)Y|P)XL%1fK>B`yEV`}bVQIhi@rR(QH9+k>L$1rUfhX@=!=@$-3ZOcY z=^=s=8R1RnimKK)jK480k%uX;DKFcF>ILilpXeNpSh~noJx=|>$FS|k3L39R-N9fX z?2bTF2&f;yR uLfhBGuP|3xyl(L+)z&%&v^L8K)mJI|GU&(P zEJmb*4EmZ&0Eiua)EVN=a~&(4?f&Cmd<%T0L|Z;vx#xNq$eh0a$5y$gL;A#vp$L5n z9NBp 63AlORRs^)$IAR*8AhTsI?9j`MDf#K zvyYFCjTlgjyStg1=-oT jm2Ucz;2sxZLnOs0{`A?5CxMJEr0x4ARD zStNI|_VD`a@ur0qzC4cw3V0n8h{+5yw74RxbK+3CN(>d8i)^PL6DNQ^xI{XH1PCfk zkDL7*?}`iZKK0B3n!lD6*Sta;PzhecDPed4Lcc?hjGI}cjYP-MCB4it{IAq Xrb-;UNC0t#WqwB1tS5sPEK4k?7l+K(cdxL6CS9Mc)ZSh@r z#`G*;%g4+tMXgweDm`Ct8j@4JpBUM>4MoRydVi;tAJS_V{&epc8>qgEnPN8^HsUs1 z(Ebv%1hK;k#`=18$F|V#gBPD|rye>$zJe;Gt@U;(1pEOZ%p!mnN(- o4Zm?)_sxu)$TGg!_&FOqLGi3G5x_|akG`(( zSW7s?-UtBE7(iPSjl`#1@z0k()pgp98e_npZ$k{qCC<;!Pt8L&?k?WNg$=q!rq%A5 zR2j*v*;Okg9Gj$m80mGq-i^pQFy9}ha4~p>3hIHW3>6yB4(cAD^WGEQVB_am^?g+M zPQ6d##W9tikUyr_xNJCBuMA}Mcn+E^#ZFv!R+|!l+A()fKDcaO$Ld)QV=?Y9cT$T7 z;iCeb!B739Attd!Is)?C&t=W}pL6W0gU2Yrw+lz<2Mzw !4-(xss5% zb*I43OCv!<1r>BhV0|M$dZ|Glm$d2hP3QY2C RhiB9DWs@P9DE(PlW+RZO_1jSZ4LNBQkbRQ X`bzmA^qXDeB#$cz Yu#^q%)svBba@lT*&ql&2|wZY9>&ek zBeyTyzCB)vw8$^atab$RBhQuNwX9!_9|PLiK+k3Y5K+6}ppzc5&d5}HKPU+#iy2+c zv$1&}_I+BRLl}5pjYzh1%BB=AHxEl~L>V*9U4PA~6cS+a!pngi qk^T@=CLuTXQsw`#jhIy(k${(v+?A)zAvxcW$E!nN>ypV7*)QM9J+ta$g4bt zgP>=^KsLr_nVbutW#XHd03+>{h+0L6{K{AX`KRa;Z!|bqub#hG*Vt{9t@7cTr&Jp^ zONfOKA^k{;a~?h?I;x=Li1Zce4SOoh$1yBR%Ui!~eI64*>Pg4m74@noCb(nrc+py% zpb4wq U3+|IlYKJau5JejBTJ&x|!SHRr5 zz?6ZT$fDQI;-}%u{^7QE&xer@LRZ(R8?}2@K(13P-`~nSDK|+hy$AU%7GZ>l`@^ne zUUHucx^km6A`U7P{82N$yRonOv4ym@qU!wmYpET(=V&qJ4!pM1hw#T`1d3ppHesc) z5BN@qL4hN=HXOiUOA;VWj?GG+#$T>MW)F_;InFted|s)p(#Fx_EUqK_f$w6L>Otw) z=tdRba(?xx1Z#G5aaH|pf6zv^#sY7FMhcWQ=umEmJ=%mB&_};BM2xR9rt+I1@QltM z8$F{B#YZ*A_7)~DpF8v7%$dNTFSnks1Q9&Jj(EBkCjf?|JeB?QZ@fH%V}wTK$i=$* ze%GTDb58-EMx6lMX5U?IkjaoZFX82JwhiJnp~NJ~-o|b@<#s6TA}%_x?TL4{eM=>e zKjlh6j&97v7au|&ra*CgJFwJdfl7~`?EAigXE&pyEz?Fo^8=_87e7zX3UToT+aa*9 zs2)_n)?}v+L1@pzvSuz#ijHnQ5TyDzk+11u+1e$IWjNHR{U8U=EnZ|6( kM?$rSLeFyR@U6$g!G}E zA-TIk4koH#*FXAFop96!**BAmGsV%2Ary#xLyzG3g_7Kcg}RXa0+iLgtY)7R({hCW ztY!tHXLPpKRZ^wl#xy}^^3D8ax*gMUj@$u8z(U?nEYg (;bD6>#KXcYw|M_EAHYc^EaO1ac!T{?K z#jZ8dOv=3Eg7^BddU6MSq**&tJf89If6U5iPPuRStfj0{6k^fOeL+K(iFb{{N=HGl z#D7K~=VoYSyNZDj93kr )TxCebKsnvWW?JW?BPsrJ)fEy`VC264I+n5v=`>fuhJ3rI^w{3?C zUHfo1sOrqdNd-8*RF7XiEndo#E@hCUPM$oh{I_o*<$tg*h_hkT$7iF zoK&wyC*pj3tsuj~DW8UEuP*HI@q=@^4a9_lY%NtZNJ cq1W=L63q^?y+kW*|N(r0PH%uDdH?S9_LL(_fW?Vhlm61QISxL0i${vL5V9) zuf}Fwj-=F3C2>qACd30Or%zI)3=|upNEnTme<>ttbWDF0IklzfQIR=vWENj&)YKdl zZQAYx@RVUm S%H>sWUL)sCULXTkN0$pwm}~ ^>{>I zn4g5@F^IS0kqmMx;g$`f2mGRMM)+2?^x4Yz7U>q3D$^+z%);_h{Mg%b)Z(Z4P1cMc z4|oti8OeG368D={V1VumaI1E|&5^Sltl8NlS~p4{10Vgl@!n3_huDlxqk_N_XVP&Y z;&+W0%su1g#;pR<;v9!e-fgWW=F2X{yF++|T@zM>HSN9}?e7g%17;9v1vsRq#P2 z*W>O( >1Q>YCrfC_K^1cyDDGdgNEwM zf(qmg9Kg6zo4SxwzE 44`(Tw#|B4q!0hcmb zd-CU*^$T3uf;S2_!r+?t5*{<;V_%~9kgS{OJ{}MNKR;#HSJU|7CYaqW657xC9)->k zU~n95%qLFQ`e!^I5Q1xTUUQpvI<8$QpP5w!-o|)=fUc(?#K-LBj&`dXMBkqU=|{u` ziC7LUmdwCs{U=g9*P=lB=kDO&m;~M@Mns4C-?SZN0gzpZ+qV%HDIy<9UOt{265|q% zCbLZh+Ll^6pclfzCI^(zfXO>0G*Hk)1547J?x`q2FJ&nH@-KQXVkj4fmpp1Fu;5sO z?wf5}PpU*#f~C>dWtU8 r* zWIB(sRLGO@Wx6W`+W7%mUdQBmfJ!*EIqagVSHmYOyAtW|q(cw9BFTKEe~?+i;NbCN z3F_mZb)@OM&HdLs;7ch^3_g-w^+6Y{(G7%`tTd>{4xxmvCN|(0jF!$;h;%@b(z=CJ zr!Na8XWw>fY%{97vI5j%;j`8#5lH9WVOwly9eMfhOE4NVT2kf))I7^=D@X&YUhK<~ zIqgvJzYyVOv>ZvrA7+tJGj~wOG)IcW)ZpmI_4aj$FpL1K23jW5{gMbU(^gBnUd-`d zV%JqP)(pj@>wUuy{Cop6n(5|9zv$`4`IN&6_YjZpI8l<7dEIkjoNF(BP2RUBiWeeg z`cT=)=Z9gkVcOIP$(h!0fHa8Dv1!%*sq4y^R3X!Hxt$DiG~{ufK+WPh7=O^MwZ$^J z|A0%%0W6`!n7*MVd|7AsWDXJUk1fj`3SlwkXdMVES~+$``S==aZ;hIAp}B3R;)+(0 zMJWzD3is~DeePdC&mUw4i~CoT)}6ry=c8V3u)cq}bcxoN(PGc_6Q-4UA@?NS;Exu! zH8re+v^@Nod7g6M{od;#lXfjnwQ*AR6$7xo{%hAK3o2Aal*f-=@oXwU6D`CA=-_&; z&7#*Km%oxVdKbeDpk|VKjdlxLNp+w>F&>ZF5vs!S`B4&bzMKey&mg8FQ{1EooF^sd zea(Ma{I#D0( 6k)4_LR%S=#}* zk7UdvilDLxCD>G@_m4@5OZy6AOk&tMr3PEj6-f?(Ne3Um`+ysP2^-pGDc@GssUm7o zVNsBO>)hi@4%TQ$$K6H>w_RVohiJ_(pK$Z{CM2+%6Ep>nxO4#p6~ N7>pdx#|#%0oNUvvialgVaoK<~w`o!=$ RDn&%R`sIcR*mx|FY836rno;6fr=cji6#5u7Z{os@dv_O$#ecWq|b+?1iY-ZpS zLLhqs-p}=;cedz?pv?hdE+wn?%w8ZFlQQb*9xc7a1P>g;Jinl*M>5YZs((jBNz6`Y zRDA(Nx7tlL?+`#uN&c;h?fF+`{mX>qLC)rm-#dDRicH`w$Oh$!@|`uSmGYXs?jc%Z zX94wiL!kCX2Z*U|4#Xdgbh=LDm(&oofKiq(MZm|o{dt%*D|oJ}h_{F1#Ej^iKIGc$ zfDjesXG$(6hu3s--b%AJr(!i`VrFLPE $M4_}dcGbALf9Cjg*opTwM2j%aBgXY? ze*veZai1p=GXKi5g1^DiYFSXSnK(x-dZi@;7?Nok{?y2AF0bGbcE;=Y435-rK@ID9 z>-h(ivBJ9p$3Kv{MIp6YGlF8JXjWM_xDrBXijHpT+v900+SPMa_|K1~G$7V5p{TY& zc(Q-#7;zP9SyB5mO85zTzR-4@#ZmbPJXs#0E$s%yS4Tfc!$U@6I3Q7+57+vD!SN|v z&)Xt2wQ=0wZH~lCtc`Y(<@c}9C-%X bwe#hIorup8aE<$04zS6qXpB6~3(t z0naj4G3)yC;ts-zWz}kkR>l+``*$T+ifF#0m3a6KzZPB`E_kpXJlcmH>mlZ_v#9q% z%sI7&SLY5%rjMCf- as*{!yAY<4 MZ#o=Q zq-Ch@OJzWb1@qq5t!vfu@e^^)t5tzRpa}v1z7*O4XZF)@a^#n3fF#o4!}g=oX$NPw zZ9!;iWwG~ o0vo1}UqRKOM`L4HDdP6;MhrDHTikVKzxL+WnDauH72V9feZ1>M@85P#$2t_` zTjDqAa=n2a8;M6=z^^ily$N>orh0hrKOpWY)p1`*bLPIACBaGRP$3C@lIJ1Fd^jWe z$I@f5i*-admjfZCHAYgphWarz&EI268ot=1B7^Dv(~ZY)SKMVf6n-}TX|D0Q%WwYT z7BHX4U4Tej(~nR1GC2B 1^UOQ@k~f-?>jF`; zKX}LqZYo~mAk_Bp)1%b(fjHU<=YD+j&AIcg!Rr|s%>dmR9Zq$BB^=a}82w>o`343Q zw2N)n9N^{{ztpIol4~Pm?j>p9-NwvVmr5Yr&ajb~Z}gKbtOVE -rwI*M$R>F) zgeoS1JZ_wT4^=^ent(XcsX?!dci nyTRn%S(A45_du$B$!g%Aq`{VGEtZO&W z>=t6H^>bd9bgIw%eGw+0JcdFh#u$I9Lx6PR=tPN7E~RGOgup+eDXDLT4%_``+azD5 zobUd7QXqH7qrP Cazw>Sc$qxCV@>X_8X;smN`<9!jZOSY@v~-mfb@Ap@JGl1?BU*+NMD9cl)-Ved5Y z7%`U;vP1}S?si$1HFMBQFdWcO0)1l03^1&Tefa-cL5^-By*NWa&4SWNWDmlf&otk2 zeVaxC2a8=<*BwcUsf*9y)0fRdd_6nrhchCs8u5`Tl1h5cTm0!)Z@2zV9kzyfN=A8q zl%R3;Scw73geXBmSNbrqq;Ihhnrc68E5VPT>B=+6)1ilRQ~dsiO>!F?y92|KwiGMB z3Ypm)8$YOrJY-pMlj)8mw7NB#0-lN)%Arg1W~|bL#8|#Xo$tWB5X~nlP9Y53wV!GW z;hT7I9?DKn-Z5}@*b9UCg?lcV(0}`!(hw&C3BT%daqDKt!6qMVmdbY6_
9IS)>F>r`xw|T+z&@L-vV(XhX0^^K zIaQVWd49p^&%#_9eGl5!+_YO~kgi}4{X01r1k-7>T+@`CWQa`P+Iib &-{im=0xQT49ynB|26EVY2*La E9(F>x|G$=kQ_a|61Sq(q1J8WlZy zRnCG#jn~}8cB@|TOp)EiQ?zZN4e7SWdYJS$^gs0oAf@f9gH7#Gv%JbgxZw o@j -P=m(-1d%KLGmWHYU +D&@K1A*lJ~@ZCwFB|=Vj?1|M_4F&lDh -eQ!Es2iKo+XZsvJ7vm)1;4Y z+#SS!+5{?xv!Gm1F?WFsB0}!r8u1GrZIsUoP^5;;mT{Q{>b%#FQMKgg%4F#IC6TMe zCK9+qAsusPZ@}jPp=rE#X}p^@^txiwF$3)`<#X=IzF^CQ+pT;L;)kZyC9@{)O%koC zz5$?vY0a&^8+5NojOvegzaXR!B-!;`E#chE%B^lD(SEvu4BI->ByX31XKBgIB3}FP z!nM~cWcqg()3YVM+ QB_ zG%vM~rO&0)Ot+R^^2Ku@%LLY!3ZjGpJ4hQ-k=z)eL->{7r1g-c>k#S;m)|Hin@p02 zuNXzjJ1Al*ctPm|Us3;HuWfLX`}ex>dPa()*v7sULodGyF998SIATV| oH97f9AO$Bm_w`uia>j;-?d`i)Rij*^s9{(Hm^Pd|qj6u8sRE8Z3Z;0G zn(O>~%_p3a&V7YV1WE#3zYAycV-{E@qShJZItv>ZNG80_vu1Q_fD-1+xm(-Fm4TJ} zqxJi#)s==)sms#$XC7=IKH%X%QB-`TM%$Aj>mrhO{qfH+-bnPFsmr>h6`lBbXOVF9 zR3<~BkWX>)$!oBnE`!q}??(8Gw4$p_HY}BlD@k(|4&9%iFIV #=|qA>pXmq~BYArNNoviNKxe9U)0~{h#!2 zDmN`xcxt+5DD3j-H1SwHE5C^-?wA#WZbgsG9rMWub+W8*qv zUw9aoRLn9ZJ#&67D&6JI`UL$cwSRk9#ld~Zooo-(q69ovX*HU=n?vM&NjQpGM`nUU zFEq9LJYsI}Y?xr|6G%!v>9^ezR->pn&5)?%EENKXPwGEB2YYQiW0ZiKimJ>~dui>; zsPmS_cgiGpAAd9tQfjDw8WRWniS>X2u!ZZAJ!qJzU_`YYi zV7Q>?tBm*LK{`S(wHWBG-9KW<(5MgqjWp-i4TQ6I`g{o@dPT5y9KHl}?YVH5A=8SP z_LuRtNQDxm-&6{Ri|opCe*whAaUNla22M^KBT6-f2oFHZ?vD7f@;5vIs?=L-FMYKc z&|Ll9a(!{t1ls^ZDXoDJ%-Xe&xo<~a6cJUTI3Dhn&pCk@+YF4%J9w6Geo>yF73e{# z@@hoeWSa{F=l^2<`X+fB@*IahHlR%@i;YRf3t~rcf3V0lQ#%A4<=sJ7fQp?6=q~?O zx}dnff Xt zvTcXxo@91ku8Yl{@`H*Nsi~@R@cC~i?9IDNg2 qPqxU!v3-j3zr>d zr7`RPhh$4YzB)HO+!Yt`-^e}@!kevYhoBC0I4Z0f-vN@FA5d)+sKhxDhJ^9s9ka|c zq>d^G&Lxy^ba7AAi#UfQvG?zgwTFH; !W<(w7xrD}UwmnnH`EkoOtGpfJiE1DXuo;uJr?A5TTR zWn5{4hE8zf`E1|6Q2VZcB# EY1b;77`%k!?Bz^+L-c1P#r0=k-d+;mADxc1ba ztqYU)zME|UNP>golfFk?dmEqvOuJPr3&tJ72$-$e{2vvv0lt3(8!Z|BWMfWhv*qTr zDs?9{%8ssm@AFnc!Rq;@9es9_x~L@#>!!FpYAL=h*%Z Z^*1ZppF1qNw zB)TYx-bM{kNAyk*C3^3-E=WXl5{wcCK_W`@c0>>@W{BR~2%>l1+xh*U=Q-!yA7 }KBm0D9iN9kk`n=s&ajTDtY^a%cMENZY;~S2C$0g4;9C2zC&qkHW5- 0)MMV8BD@PmNVk zP5cR@y7`nyGjOd<%!~rWY29jRP7%gy2U61$95O%td@wY}Kc{!{#qhq@T=KRsgos#@ z8O(>Q#{U)z{;q(mE2D}=vnn4c%^J>r%K=iv_> {StRw*CmSL; zflr?6VVBF5WnXvWC-!DQa`Rk*7B^3&+SeOx3vFpm9opAjRg-EPUaFu~Qgz+}WU?9^ zAN2E8EVrgb>+3&F*fny;(Owt?T}-y^a59NdW2jG(*I!B!e{ %shQQLl*B=5y66LA1;YCXi72c%3ORAGpAzPj;l*8 z$*C}@xI_-uz_iC|ALq&dmD^7$dkv*Sa35ife`3bC2_1A6&Lf5>FDRS;kq;~|hb_w? z&^YBZwv_^D7iEOCLtOe;ih*y@IHvhU3(2*roZ;2$H{lh6j8O`$%_?;|^IhgLHzSo` z`6uiLm?@k-&VbjHkjyqew?XoRdW`-mkoe%Pfb_4*F<;m^tN08A-z+W<4ALr94tGqs zs(^WU(z(kJW^I-!ywdzBQjpjD_HD+iLw#|uhSXYmR9uZNIb-RuR|*AKTjpnWxE(`h z3)U!-t-oS^ncEX*O}iFf2|DQb*x_2uiJyx$M((uoOp)JV`_o-A%Pr*-T@LD{;;69> zkExD4HLavePQXo10xX&ccyLSGJz{1Foo9_sPMra@qwz`LiU|Pu)7LQI(OY!mR753O zZ__LH9_UTYIvKYm2WVQ(_P;FnOnGis-;92%xOZRJ w7 1EVmsFRV_h3w^?HXTuch89o!_i9)MJe98FC{;a zNb|udb|n32UoUF;J4APIlGgUqq)X@f2gS}X@|1~!MVW`0U;1*fRPQ*E@?tA?Np1~+ z&RD;k#RN#_ui663c~+k3dwnVl!Wef&cqP~RiykrG;u7515i=hT5x|M l@&qBDh3 z!aLh6&XOUsn8D_RtAirbWq+`{Y;NcBBag2wce(LQkGLQhw?su2ZL?^}^`s6#_uQAG zO6ST)B_g&RU-j_d!IsoueWniJ4+?}2QFgL4uxq$5&Nrl>;P$*FGnEW95nU|x)^iE3 zg&N`F!5|XvQ2_GQZjvBbD(U>2O8T&naOkLWNV}V~=J^%qX=poN5qN(-AA^cF4rY2A zEvUAinlV%&0&mauWvMLRGMs=nUk77s<7~#k8qCXFow~(-{3kN|4l3EfCcS%QU$8k| z7!=GH%5g%wUhk%w Z}MUXY{1u@wi?nw zfX1?E9fE6d{f@Jt(fS9^>FI8}OA!@$%IQbj6ZTciaZRl&ezORWZ<3PV*Cm(TURF@# zO9VG9`>u5(Oq74q%A_?L5rLs-0)*R}ntWAfd;vq$W2e)QISCXrbvWih^Q4dPpWqWo zc${+2WjB#skT5%a89OJUm=~~kBWiYBJ1j0p7iCSK@o_G4lW?Mg=15Z^b`Hk^?zH_U z2c-QepaNS0)+ VI<7>U|Y8pvj2P;^HJ6+p>Mq(q>!*~8PMK>SX6hx{MZVTv~)1jMZVb2gsSdtg`uw(skJ* +n#r!vf4a|(XCt(ghJ{)aRYm! zuQ K&EMQCv8R5k#%SJ1KoDFR~Q!Fh52T;T*yGoj-gPzz3YiYn1#33aKNnp2De*pre6iU63^cA*9j`S%xzf2Y48wz{U; z)QXO(2Bc{I&z_<7ChHrpOD(U2)Cc(Pxp{9#l3FsoDMFFgBVuLM>L%~ zVkyQ7WIO2&@`I_xyRu^|ry<7#U <=XGv^KBT zpXMb;eOLv a7;(mrj!XiuU`3{V-3zW!=eNBOl(RzLPDf|&&n-Or}&wQdbqY`v8 ze;)AFS?S4`$S;@r$DQmT)i_L_m~>UFvrA@x7D|nftDU|CtZ;rdcl0&3mm!>h92*Ua z%GIQCjQDZGg7N09mET=zi#9^VM2}LFlSvdDe%0Etv}JuM?DM)D|MYyz5-h`F1O2-x zU$8(m{A~K%k-tgWFNW+-_GPhq1h|fsNy3yYatXH#>Xe# pO>N>U=Mep#s{1Eo_2d%VDXe|1qa1X&X1A+-N@Guj>YAQFG{sUiLgfy z#>3|=yjhiH-o)v3p3L|(5wV5^nuM =bm`JMXTQ}b-)479ei!e7PT4}Dj9UrCZ~FhYzA zA_q$@Kf)vtm{?jReO|!%O}zPjP9c_kz+NleuiB!QU0^&z(g~l4WdzHKXNP**z%+~q zq{^_wsq<|F &TlXTBXKSeb4%_ 0tePu97M?HL#G)1K(Pgndi;;3?1zS=+ z7Vi3V+$M2+>f_61apHG>vN;kpCu;2N-VAmmg~pj)&AYQ E8{`$F|5J%Bl@I@Al z6VR9ohX04&KMWAjdQ=?cQ2aR@OpV92#$FEHILLmg23@&>xF9l!-a2_gY)?gcI2y;8 z4;zJJ;y_|*MZ48g-g`&9<85+MmylM7tUrg``!;M;rFrP*=2M}$^AP3)Qf2_B*6(^g ziR{x0qT9oU_hVv$>mI7Xu<1ngjWtX#E?5xC@gX1#F*oraGQr+e_OGUf ?bSSsW323D6SSR3biCVQI?i8C $E QBmTs-gpufMU>8}lOa}qfQibEuE`k*@?6AJ z4ICY(8JNlggZFQQkqn%2d2N(@ 9gJ zlrkH8+i=8pJ7C7YJ7yy-1sOR}K#&;rOZ|%+XewegK}YN}IS_KDN12}1SAWcuWaGte z+K8ibxuxVXXF#MNUPZ3>y-x|B2yGO8`Thr@IoePkwN#X?0iFq12bH-%8`}}AM^o Nt-d#!xF=@zUoRQ z5!5UB2SZqwt_mo!k)TVDStte|M0=`~4AzcP|C;CYCyDi7OT-0}8cFaVYdV7RN)=Q_ z;kaD+cv}Tp5tWB{`<$wO8K$NtMWh9EXIS)rrE` tXXV#RJ)N9mU~ z)!beNsr5*($L8?khW9@>ry1^J;<7$^L>zVD(~ZyzS_Y%0qmr_sXshorWVafWQNmms zu)1}~14B96PW>d!{iO3+ZcHhCKxRye>1;o-^j R4qth+&^c=uJOVpdX?_nS5DWj1RFWZr8eyzie3 z!NBa4*VGgg>!Gw|@Mk!&w11L;@^@Ifx)Qz^YP;C^IAiBz56%BeZOUo)<7&EJ-dWf@ zSfHZl VZYIec=>q*_;2b_l--aFN43-i`=%|M~~9b$vY9;4wd(w-K)E zo3tHV;juG#^NKY8{7z6BO+(`j7;N!al!dCiK<>at$$g1r*B@%>ZT`y6@!hn^KX3do zhK!UF6-qly%2SxQLDd)4yIx3I<3ldBi}&UC0-LdwpT@u$;W>bQKgI^00UyB;tB`9> z83*KCF7R`{wzzI@Cqts)Qsd|R1&xV8#W2g`JG(C?n_L6zcFYixA=pA`fV3jq%!&N^ z$gJVnG0rj>f&FRAlf8*lkMD}#Ypj_a-XXuO8D9D>KCM+QDs>E3R$h4&ZaCeUZ)FiZ zGsAzm@nWJ#)npoQ$8IK=pfYX?V+gz4a`@9(GtBmp=;rK+vhucooe8b dqmVvqml&=ZB&C{S9-)iQtZYr5Gk2Wd(g8t1C6;-nmvbJyj4XLU>Qr|K_QOG5WB zepi-n!*$7h`CDyEieqC^EGcQyBKpezg2RLyS)3*ANL&N9mi07(hl$k;n2<3c8~S*W zpD(SF#nT}$cfOn|XP6dGR1l*4;!Zg}l1opY<(||wEw1w$k)=+qwW30i$QJ@qG>wxc zy{+$ZFGv !l42K 1R3Rd%bPe zu&@`nYcpTa%_LEibhKP;@h0JCSM9(F^T*CJ|I3%aB5UsWA+O>S(j&-yd+VS&_*PSx z5Ms>(a@l*-uh^)=ru-DXK@9PzwJ$mO8opf4$MA%L3U^Qe!J;WEEV?o_z;nc<44CJ} z!Saie71(k!G%2J{441`qT9d$n6=werE?O2?VJ9 Mc9^?M|1dpiRTT2BW1B1^`xo=W?d_xOS3D&klz=2~t= zG+P`cl&_$iEyGv7D{@O_Tt+8-@+5r}Y-pYjGN0xM4WJ5VjbWJQ@1qoGQVx%cl}qp0 z&>J`T@r50fPJG^#2ve*7=F)OHUK-%DgNa0mI~|Y^9B!eA0smeXqMhkw%2!ecA+^9W zEK94}ySmeo=l#mc$TlLZdNSkFJ^D+qTK@I=y!os1Zy7_(C}9dk>){Cc%ahdV#f$dy zN8>J2s|F Ib(%YNqC^2JSUxJj{b3CM8KV0Ga;Zs?#ujpm6kR!v@$`P01?y$O# zRJ 2$Z^LL=OZYOYjZ5)>oc*Ci*+6A&8f<-TREGwGYxmy_`CsX(Yo5D zFGtgV{^Za7Rk160;?~r+uy>byv@DZ~#Kz-BeZ?;3P16oqt6AveNM{5&(~nkQXYXny zm5Dqrp$=IelH?h9o(D*mQ#?irgRsCc?6^RL8q`VL9JAO==SAfT@fId=5TcR%8u=xH z76tF+MDv#=@M9FiaJd>XFEY;F-A}wqiG0j`_D*fZFRYD=hBkJwj*_ZR`sX@@rV$;j zz7v8g&uig4B*xX?ZjD#+5N&Kk?3$s>^^)Q(+#Q|Wn$gdIfhw%i-BQcmrom>mTHs!z z3END-q}@zd56<`DLCN%@A$$X{uJdTD+GaDSGVFyNJ3HDum;|}xKin370i21fwKxAD zoP9X5gM|t>jEOlt9?t7XbQgGRp+sT5?|+LA3rj=VBHSZ6^k4?D)?mP;;O^4FgR $+qvIbk z`GVKglh_~SGhc4%D8p)aCpe_;(c+RYxpfqI&jXzZg;vi^ )AJ{Z L7ddezI@ zq( zGS%` z_Rf|4s8>>cjNf*$knho(J_dof11 CiSLlS*2S zi+T7WHPCD%Ev(O~_YKYP?BO$+>K<;OwjXMA%&YYgq4SEn%&GVsOrcf_=$Bblpc2kg zm3_Vm5xYz_vb3LeTj^Tf?K~yNO6fm%XI2z&zN!+igCZTBp+6FMu3jbIKDT;$?wSb} zPv+$cohFUleQh&ZGrYG!NVxZ{kV;}^ $6S;2C5sQ7$Oad2u&UGWh0ir1{Jbb%pj`WR) z`y;>Y>Tka^%a@q4SN-fVSN(-U%#Y&&|GcSQ>V&pUO?I=QebD;B=ONMP z8aT }rtNN&z9&Q3Eg+`2}t(;+PY-tGgFH_*#f3w@?4 zowh64UF%aOK)?GqvdwKYDNv&Na7%8pQ3P@doywI_*iK41OJe)3TN{Ik`QgyW=gW z6%HqHKbkiXd(WR@8x1kO(csLFc^h@kDtLm#jRD({`W_kA_%T=l?sT_GTl!ePK*ezJ zpiqFE+{x4xPx{!flS)9-m}h{gw?{hBXgO+lyxS9d{tXB;a$WT>szYDc+K1 @WnEaozeb!DZf8z!*R zxTrWIwjQ#w{@lO+lMWRIEB)(&W3_wK)pM_)ZHIu|oLLhyN>sHau<-Qx` ;&V;nS=(YY0N-Ll2Y{!$CC*j#)+Qu%HX{? z8fu`hsXlL4^(8p)< 7qS2wjveu9WkVuC853Fwkp?h_Z|k& zCXfFX?DTNYBhE`6eFrz!apcK|3sV5o*ZGKTl&(`~g!1*Gj-a68eBP>r`)}Cgy6wT< z-u|%O4oozr<2@aP$8g;v-Q>)%KwCF1u>Mh`A%Mnj>z(N*TX!nMkTxuq>R&H)j9j~_ zuuvWrixx8=>Z^K176~E@82qhgGc2;&t?%&isSCMS3%+9hiPwE`qO4-VmT>QkJ87jr z2ufpOVq+J>AFUYQb|E~iAhHJMpjWX7r9h+K!OZ5PL-AgGetw|+ajuqd+Ha>9xJFAc zR=MwoWs2xk$b(YwNg@k4C^86GSZw^dHI+>}-hP)O=1jtTKAPi2{SuVrf)9+j5@pV6 z-inM{d+>W?)3bhaEi0p^6X_~J=agYVx)vj<_A#env&9}lWsxxLrU%gwBCOcW$^`-% zwny*lMY$p1CA%L#@&mz=#(*eyT7Jcc 6Sus$OHINd@KM}q1U#x^Ifrj;QcN`1NU z%7ONiMZ}e;>ZkT|e8aFdreQ3wJ3vei`QdNF1WPK84PD(=ku!|I%9 n zQ6#;Jw+5vu`rW6}a_V4`aqIaA`dYEN4vdAa@Nl)u9}B}I?Ces8u@O`EUY~Xo68;%2 z*UA!l1_?Uh?wO0KJGI_i|5g72iao7Q0dBdsin#6%2{puh^K$ZWe8=^bWE!Epo{)gf zg1_zfC)a6^|C0X&hL3?2zD3|}>dK)^6xRh=!YHte-6&0wS1(8CL~?g4jfs#G#H48d zT|HY1?@^ zf#pHJLS^OB2i=5+<`A-uf}DF2`WA5pTMdD!_yoJ2fX*ca^fd9N7r!Y!8Y%(WWNbQI zbGA=z%K{KT$lsEOEAB4U`LDza96bY|xU~^q9E5^GH63>-1v@#^cNZP3`AC5VFLc zOIL8O92IVTi&DGqPvmPZ=t6`Me}@3oh}9ZZ9P5XM+Y2F1lnvJD^-mZ?Fp7d?8d DBq2UOp*vs4su0qbY=$5D;0~<58eA8z< zCu8FjkN-J)no~;oNpj8$lZ^DAl6pU ^l|Su37m 5tbo@-YR*)S8ha7@-7i3`{eIM`F|gUn#Io@o$Eiu zM!9Njm+CZ^KDW!T|FGh*nXui$Q%n4{ODkt!z%NY_fAw*ERAZP_87VJ<|EVE>i#CWk zFHQ`KfzM=~uWVS|0{6ee{vq8|*`y(CLNl~Y!8bU2urIW4*nX}g_7z$L2nyC~Y$L0( zV%&JscQj6n5nhJvHHTX>>*(=9$JaXO0v2fPE1$Gntfh?N;+{?IItFq0zmZmk#FSud z1W<@MHog259pY1nppiEtUIC1ITP8-qAOSsLsZ9g>OlxIud{>2=Qjn8!PBBov&J`gS z!IrG1XwS-hQGl*gI-)Sb>Vf+eI(KC4+`0cxiJ)DaCw} Iu zSD1XaB9R0gg!72+58MUVE`?yTPhibDvL7fFPf?NR JtJ`t=E~>8UXv$k|9fQ6 zeW|J(%1PnR7*lG4vrA9nh&Wy=H0GK9ra}G$>$6^-Mn`i(+D{NRw3f}fY yaG9%{h~1T^YF1;?Egv_0DtM0;Pb*$Sx}5x>P8&gQEfgK6Ai?2ZtRZw z6QWD9kCh-PQ-Mv2rx68Y0+2`c)@TenGDIF+efDu)%Qg1Ko${tUI}<}|s(b&P^zS)g zN>I_=hgy%y5=(w`Be(5_N(`~3l2U5{Q8N8fLjBA#RP>W+1V9y?;nXQFqjH!Ll>frU z3dU2M=hIZRg_ne0cUCXk8StGgzOPTpIxQvkujx5QydQ+}%K0*7mu=#BqxHic(jqJF z964PbCXbp?504|AaAW@P;cG!WVhCyXIx#)Wdj%g6@!IH Cw)?VqUVS3bWCuK{@&bvSi5 zNIrnz!N9%}w2@R)DK&qKF2|p7teRH8f~o+lsKFzm^@w@*Fd#HM{^+g9=R&E;f~I+& z4{7@^dOa@}bhUJkQZ)WKb)hB&d zNgs