From c21312419359b993f7cf92eec031675a9b7bde9c Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Wed, 28 Sep 2022 18:52:19 +0200 Subject: [PATCH] Trabajando en la INTRO --- data/gfx/title.png | Bin 72932 -> 0 bytes data/gfx/title_bg_tile.png | Bin 0 -> 899 bytes data/gfx/title_coffee.png | Bin 0 -> 1060 bytes data/gfx/title_crisis.png | Bin 0 -> 1143 bytes data/gfx/title_dust.ani | 9 + data/gfx/title_dust.png | Bin 0 -> 212 bytes data/gfx/title_gradient.png | Bin 0 -> 68554 bytes data/menu/options.men | 109 ++++ data/menu/title.men | 40 ++ source/director.cpp | 27 +- source/menu.cpp | 88 ++-- source/title.cpp | 982 ++++++++++++++++++------------------ source/title.h | 62 ++- 13 files changed, 766 insertions(+), 551 deletions(-) delete mode 100644 data/gfx/title.png create mode 100644 data/gfx/title_bg_tile.png create mode 100644 data/gfx/title_coffee.png create mode 100644 data/gfx/title_crisis.png create mode 100644 data/gfx/title_dust.ani create mode 100644 data/gfx/title_dust.png create mode 100644 data/gfx/title_gradient.png create mode 100644 data/menu/options.men create mode 100644 data/menu/title.men diff --git a/data/gfx/title.png b/data/gfx/title.png deleted file mode 100644 index d6a3a174c148596608578224eee1242c8929e54a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72932 zcmXuJbyQo;_dT41;O_2j#S6uPyVD{CinmapSdpR$4#kU=VnxbR++BjZ7b&g(Ik5(M>V$Z7cmM!^P*X$22mk;+-2z!~u%0@L^-6=M zL5Q=mvVpgex)RGvFWV2^Zymi@{G2~Jv8XtEd$`(uVlfb7QMYyT`3L~eq}$ur1bz9E zV=>+fhbMnCHKN!(EhZtQErFwwVT?GRX!~g>$i95WXTSgjLA7XX#QE-g6JVq&)(eQT0Nk%RZeXk``orn9can>b6`Z_ftZAzgPI~;SXlTk;P>brCnk$8AX(4| z{E;F#7i3qeyhO?3OBS()VM0!}OW+^`sH033BZIxCB?kPK*3{TO)Hq(vnRWP&UZH9q zR;LOzi|UDF{qjBQJCrq=HRXG%B8(N<)56hM2rh=d=q{+^5tA!Y>8UMX;eOR4CSmI98PY7%h!IJ1tFw5a3#cx|Eh)F$liX4~GYwq0v+C2?&nA(9)pv z?$GGl!l!RO!+PJ<2lrqh1~e-;ObfSyWdHycfToJ#OaGkXPTeH86(7due=HF>+=?(@ zSfX1mqq!2CD-eu80X^A?$T&rg`#s}ne7ja9A0e~PXMatREE!+1l2l@0uEgPh!f=gW zy_-lGr13tn8fd#+xUCGd7OZ=-CjBn-Ok$tGdpwEKfBWuQACCBdD6&S~y+fY4cOwta zAU9IgKC97r=%nu3xs5=`;@l+W;~$xzkqbZcY3Tj-)sFp+J8A;`=$*%OKg}3|BtO5q zN)ApUKa7SvUgR?*-A*611h2~95QpCFKwdB*c!z?A@2z)aH`2YY5rND?kkd*)p0WY# zo6tim=0DD);Cyf9$|XcAlV26;ww=sBw|4DaQ6|Zc%(`dQFKjo47A2Z=w>{+Zt#|KC zO-%vNvAxR!`^RnS?#F}M4K(VO>0^gJ8+5U$cuHhF9getL9ux|>7}Li?D>ofoD1y&9 z@lXhV<|&b7BS|vR|i!6_4Je$EmhdWK@`BVEzZQOpr zXkPJidYnxc64dR5e4c3D$|VE~mjUzkdrtq!74mIl8? z=F&U9S`LD4bOCmi?|ffCznHuz!`YPJ{$)R8&%JGbdWf`i_g-y!3_YnvzVrKVn;Ck~ ze0CkoeAcD0$-00x?S7cg_4vQeo#E;k#W@?^rak$lAU@iD$nU$te&djf2{_~_AY?6q zkIeKd-o0pjXH>P}-Nw*WQZwJHlO3IuOa1!#g+X?M_7G)!xZ>&0ZkSLeB=g zfgh+bJKur2l5Q_xo-2OnlMR#`0Pc=la9?XhR)->80PxTUee~hTepg#tK$9yxi8T%k zg*+B*4A_TkFx@tylH^eKx1q<#&R;&AjaMCwSHYP>$`%1~*Gm__WTDZ*ZNzemRzo4< zB6%`i9*DL#qUjG3Q$C0wAx6(n_%qP<ANL9qgR~0FIQn zmjT^*O=5NkfLem9nqvR~t7@Qpx@N)9Bm^6j$*&RIKGjkwF8{|wmKF#gCO(wiZ9#fl zW^OV9WxGp|W}=JU`DZTUbiuKn79Nm!v)!sQ$N;Y^;QTh^vh=PG^03B@l=t1Z-y#lu z6N^hdK1DwEMQ`=_lUZv3JCg9bC|Txz#2c zjmB9sK06Y`ze4~($x|rH4{-0k%Tm-S58Rs_x>7Zv%?91~C}I+0y2@jcSgW!>>&Sb56F0=VkO)&%k&Z|odwWs;E}YX949t&RKG!~D22RR%!y zh2Ej%_YZI1!{npMuBSs&1 zYC4|nII}-6S4V>0jFmA6j>>@iAMch8;W8kpcr~E=geYWB_M}gKw~a}r>pA$mm1M<& zsq^tBIwUXf@uVBs%>3_ansf+4=iA9a=I;hRPrmA4hi)*O;VA5U?+xDYSSuxgD@Q&| zp^m4R8j!hPi69SqNudk1kBd33QxYHai=Wt#N#>O7k$7*HS?pgx_t4;p#X02Vr@NoX z({h{-Edcd||4&WS?as9ss%;zBhZbc{`3CRJ6eq1Vx(DAw^l7_cfG*@sX?LiD4LzZ( zB$?Bn+t#7~G2)a+p3#?$6-l<@7kL?GH`s<2cQ>CmZN1$&uI*q1=O#UF3oW{`80TJtGUAtS{W4WhZ zxQQDZCOFLWew~}dycyB)#JV{}VV{mgn7jzxFD&)th;78Lzbw93+-D+g{N*P&{yTr; zP1O-=72G8ua9(EJ1T=JEDRf%G1z&9ILM{eWHH+qzv%51Nb@3DgqnkD%==&+=k5wxS zy`@r-fkFhAWc)F<>w2K#~R}zo^ng=oaOC|5`{9Pw+PN*L(TQ{aW zSBLbvnnS9D96NrTGn2z!OEJGko_S%MzOHOGgwGJRvD;|IH%wYVtR;e06NzM7 z_ePYLZY<>YDhVp`(M&qX(DcB_AxYES&c%-Xu9@K3N|3q?0n z9dcbxueDjL?Gu`KVFNyAIKq*A7jtU=<>5se$p%wWD|-L$hsW28H&%30Fu|(gQv;s)CgIPELGAg} z?*2|@86JpZ$FIig?(VmFTiUeU*B0H^1^Lm5`g~9!#k)XR?y`eMoV+7{KSp$|)}};N zB^p@;?mE3t#PqO?+0mw(`VLZbS9x$eo zasJ6aVOcs412gEu2HF@2rUKn%SD>G)g+8siHj)A;e~O^0gq%a|3WPj6+JR>~wNLWt zAH&wtiF`uXJ_P+D1a+0av)GNg4*voLR3M)g8S3~=Fp&IzlKw3DY)6~68S~aSZnNra zqipZ&qKpBq{A2;s2V{!S^72DYK>3V|b!GFAuDz=~yuqO5yPK7K6w3G}bmF3R|DyF%0^-dI!k>QU zI~DT#&VUB|OiA$GeyE-QpYLGzy(Ic}OlygrS>FWUXP%Hrf)aXRcz7qf{`%8NY1N5U zO6c0oZ&J9oUY5|j(R$Y@Gb8xOyInNDqv`g-e6Sli7aD4>_n5nZv`A9o3eG{Cc8dZ7 zOTI>i&KNtNF%jFaYp@Hr?0Et2tgbKp3O z*#CJubB#N7k#pA8RLYhvec$2L#`CHtlbMAIzR?rHt_Z95TA+?2@-T6iHr# zTb!huy?*m^AMxv~D{;RoX}=96KV^S*WWRWmGj-<82MtA(qVxQa9Sb2zos)>u+qZ+> z`hSyja~3I3L+gv48|@)^N7Bq?V0j-mp=$<6CYiq}pjteSO~6lgHc2-xGrPi1cX_d4 zT)%Zaa}~vzey^QWinl;5lvOS9=DpF{^;K%GPbSEp@O#jc0A!CIS^bf};HIqF5zbET=2>Hc@ zA*}wlkbfbkfo@YGOaWC>o^Ht7eH`p{Q-Am9l|26Mf7(Suig=yy*R_#dXP=;QGkYRK zPsXWZ&|3;`$)c?ag`^q{d*W|Y!tNVw!73J3)ZDmI`{kK^`Wr@dPdm)$=F5}9Iq6)>(d)V-pG*&JH6BYPdhyo{D4fuCfeOf18qbq0MgQ1is- z!FSD0Zsr?>KEY#)H}Y@Zt^OuIj{yS~tI;Zsh56)!|DJg3zq%p&NgtWaE%Rr86YaZq z8#^g4&sqge?bY*de}*8u8TVUBfzqzh< z?XTb*8ZV*@RBy5uu{s#HLjRYImAryv5Tmj}0`r&ml~D&GFYhh)AC_J~#6ybePcd$S z4}zcKz2>))$>d)01VH&yq=CGjU)D;@t~P`FJ=1#XImQ{@X5(Nu^XPt7N4~vn!amso zG46tKB4T#&CVQt=74qbi+u2%PxPE~W zULX2Kdlm_)hMbOrgPszkr`+nvaI6nKk?hkTsFI!Se4k}l0cMCp6$4TLkdqSFgb9G- zVnF6V3K(b_okz+eif4maNRy*L5ff_z6j2n0YZizazTyGQL3C`C^7UEx4KZz~9IjkcHN$BuO9v!MKR>q8unISlZ_97lL#3W@_h8H!*b>DMr_8mWKsmbmDrD zPCo;N{bZIxeAkUg3c2A|7>JA#v;We89Hs=Ij8*v#0*H#0k+l7Iz4#S3G%vcFUzB`r z=lC`i>BmC;AD&YfCmzN!?{^_`_^^rzD>+SxTXd2blmQ_kYS`$k#j5g6j|L0XiVXx5?lRe8paiIZ5rGK=;=_cOInJVP9Er5)~c7;5L)7 zzgO<0ct<$Z?1V>B(klMCRe8f0e%5o~5P2N@_^4?w7YqVulJ$jhb>hAt!q#K?`9eh} z9$cz70PA_dL#bNDh#SS3CB;;M8At$e`FzVF=7V|VQ91s79}mr?WIfK3afuIsZ9;{z z7wit52NewFew|fR54(TX=zh=$>%!owFBP{({t%Dfh`(02F_!Ph>~h3Gv)OeEIaNZeF!FU}>jbq>|_fm>FTv}|j>6-*{g<7l;MVpyTsv_o^ z6e;8^Vul=9xT0_t+6dwtjhgOT{KbFMN7FeQB^~c{acHN%48B*YF6Y?aqHg=KxHQvG z1GpOWtdxO&)ggJo@n$)+!M7Hrah55Uu#_q%Eajs$V)gmZMi^VQ;#u*v)Xb&V_teu))%TRg=#uFM<(P>bjA;wql`(^m3N zd-jB|VYxPYx_mg~C24XmHmzU`a=M0MZkAkORK>rW@ic1FU0{#(cfDD}N1WHTphkW< zE*e7S%t8&d)CElfYwzM~Q3eckK}2`5 zSbf>+9*!RyQ!1fqyi{y>heK4wBJdAi$t?>Lz~N~Y)3f=JzaYv@X|WXRDR#ChVK_h1 znv&e+jEhV8EMAIF@B(@S#-tQ`%vKm_t#GMdKoxl-IN+Q${WXT;A{u%YeU@r|fL#@W zzFSq@^sKO`19$X3>O@z(iDY z*VxSEtp2RNTmIvb?Voe{l=B98J5W{v-2-ZN+ZRwFI-V%95J=8!Gm^GDl&Vr^G&>oGOjDTv zV;pyj3;_a{onuuhSWxsFpF_`e@@VQgev`hIC&`S`2ccY z(MnaQGdp>)M0a#SkZ9;?FwxVS?HYdLhpT8wHzP1Sm7>tp2sWy*ppqqQmP0tlbo}^P zE%J`J+%ZlgthGUN>a%6_QVU%QWHdTs9L?u>&%)>D*?{}E>duOj2!Gi@p1Uqbmed=lyeX0)nszU9i>r zF3$fJBQkWS7)03>GaO#Xxs*H_q9zo*=<X{Nx$m+M+`J^h6;sLLKlD!p(g2;-ve+z5bZa~E6a1$A_zEB|5^%pWyYjrm3P6dnD1&cA- zQ`}A8Zn6kcjoKWkE)@K#Cm(116M0 zwQ+}An|uVzv(t7){>5hyzA$^uRP)0S4_{*t6=oc&K00o`;oy)w^XI)Tp4P{`X)RbI zytldiJQQ80Um(X$CA>5dq>*_ipM-cgqXD4&1jdL#ipL)eV;=~}iUmT23z5O>Ao3tx zyr_ovKoQ+sJ-KxOjbv_iKJ6}fsFnli%^7a$3k+2*evSm=LOnKe+MAm%IAQ6mlsoF} z{pFZOQmG9Klf6W@K>W631q0#NAcltDPVv8~S_Z!Ac#O~d$c77J3PVLWmlF1evOiG; zC$qmu&52E(9$9Q=>T~UJ26z4ok93%(p6O>5;oywYG^tHCr$d~YH8l&3rOFfa%1`L=8UzIS#?WG2mnf_4U1x<=}!KMQ9rX&I&sJ{uole1DdM<9ZuALcdMDp6qrP z6w4~JU#{0AdP-V%AnG0bz&`Lb_FPf9hqcLQomtJk%$H+A(eSPCIOp&*H=AP_oAE^* z=Oebu1pDJg4d*pj)5KG2%5uFLny5FNdAI}N81Qtbu z-#YU3xAgk`=V&J;WRtb~rNBN3&@eTnadoG`HTIS-d6vj-3lmX%=F&+PN5YA@^m&$Y zWY~sA_Aknrf8#9)z>Efi{f1a=EMfoO(wYttLEJ(O#f0O$1iSAXyIhLRWO&>A>cx(Z zUia`n{Qc>Tm8$fmtjOU$Smr(;v2`d)YEbdO4;?CA({v$Eg1DJREdSY}a%eYF2aA(E;_et$z+jH8P8m91F~`%BOoNrx_A10C3U#0#rlNx5rv@U`U@1Bw+>KThu(1W|JKT+K zYuqqK2KXH%;n`AqSikCD24brz;B1DvC<%d7@jnP;vgkPX+adOjzG25ipo zOW-AN$skJ}c(aU?m(b49>~5?23l60T&lwRJ)=UYQHEu2hJ3XtftR7hUq78!r35MSK z{_5%tVmMaV_@H^s(d$J&3{w=L$aZZ{!}sI(5eY}UhEn+8yTOz%WcfcCH(MI5XFKzGL4mVh zH{N!J!8!d&l0s&m_61oM{_VHX`bW0Nz*JcA8k#h)*k+3Vg_$*{RO3w_=s{{w>CgG$ zJ2iy9wr&DUaqwTClQFTLhhdQHy-7~ReI0D@y~lp|4XVbiz7PvHvWBRFT{N{=I96@&v~3r7Gqy;4 z6sNp96_f9}A6klOZ?o-y5U@`?3y!qFO)4Q+; z?$gwed0CJ+kY4-lC*`LWi-bI!a0Rxny4z>|vhbY7{qJFZr7b*ICv{EWJb1D7YuKkAb+%q3r@y!+sC zhP`|mXGLd7sf1Mvq4s^~XQQ4GwtGkG3-0OL*=Hk2NF>smOw8NF75Yq)$l`eNXW+li zl9Gq+-#kT}=6FSsUCcE9 zq4`K5`*3LHZYl4AB*fb&;df+-B5tCCSJlb*0lSD4bprQM)o(uP-fg4ci3!+59!*i? zaEMs#CHTK1tNfL*A8c6B+;4Z4eEW3^pq02L{v_Dc9}nE44NSL_wjRyg!w?KN{YT$O zBxP4^T3IyY3Is-+DP)H5 z*D2UeXRtra*}>L=JwHw=LO}aCX1c0Mo^Cu;HVay~%D54Ka(j`MA)(w9C#%@vsQUK&GVc_4h?c4MUv85FkY4k;q~+2DC8^`2E2;|@gmil2NVCViXzkBv@%> ze*5n})R0Br5@%LyaDjKuP5-qc-od2qP%{~pVS>6d`4X+%K1*BO=|CElw)5yLUh5F5 zxZ$)$eX6Wy-G`8q%#XnWT!A;cp1O7V40DG5i1EN-AW})->H-;sgxvAYs0H{X> zaQWuKFkN^n+0-LO7%J=G>DZetW?dHwW=w=+Ig%_r#m0%0VPZ8OF2kM0|NmNmi-E%4 zX{Eys92=fMeRztx#i~5s!+|=DZGisNmH~64h8|MyqS|;=mFI_bnhSV&ylfTIo-fUb z5=?|8X2p=MW7_Z0-Mq5Z9IjG&}Kvm7&UM)6$?A7##9t?@WACnan_)1J(*=;E=|H z{};nZE42qR5FzFjdjohY8fT7@Ea%w9w0)-vj#0ugY?^kh^6O-nsn%VW09%-cI~qFs z6C3zoiK^v-IoP4wbvliyk$|DbmZ?=PPsb5oncDqM67OVQ9M}sLaXLyx5X}PEC#sAG?{q^ZBXm!h-17R^<-#pw=m-UNkn?bC@2=AViwrX_HulK z=q7eJI6r*{<0s2JcFi2@i;exJNntDEYcI&HGu>wPD$Z!o!?_Sb;n;Yo4Jg8kn&?`E zia+Cel|mk$K3`y-x8>qKuK(#8CcNt|8QP3)ZGSejT>y`PL&ATB@7x12$l(1VN`Uc5 zihsq&b7PS;^8zgVbDZ6J_kuMfny(-=_#px!IkZMh=B_}=@zkO97jJS2IFttgHm^Eg5mV_mi60rI?BB&@wm977?ds zhmjO5&tUO$rI$ceK30*58WSDYA=xl2Sj7{j4^rO&V5+3ce*93w5Dy$$^G*qKU8JYCAhhutM7n(82if&0 zu! zZ(y1~Dd}U8u_*V~ke>ZIoRWnN(Nl2yDU|q3Y~dThpO_rI4|S7%KcMBeCUjSzt$@LT)czs@yU{gm@v%b zm8lBM9(URCfp_zS`Zf8c3qO0{dbBxVTUKc?r@Kt@)?`v?6?~qg>zJj=cI6Mt)9%V( z{np9jwaQoJwy|EXM%y+>z5`Tgad z>z*LSyfkfpQ%{1?G=OT!z<|&M2+u$~r_VBPv3yQ}_v&d=(8Lxa`J2;T*Tr5vfyQBD zo$~X@?PhLXdaz~Prud<9$ankH;ngEHmMh-$&xwK+rhm?4%4sUI_XsQQ92=BO(?B%5 zdo#-^_RZU(i1YDU$`f$+zhj)tTi*j^a!D_9$H6$tT|6O;Lb3VhrBjhOEfHC{0lT<@ z%G@{;k^kD&4gfc`sNrjK@$fb+Y!hh@et;4tB!a%7fAWDmnxkNVlqDWu;GkERMLV!P z{?f$O0F=M^Qb|0H;B5_?nc}$C^l+FC<-Zzfv9{Wz@lRY<5#=9y4MM8N-SIo~slh}V zFUSQJb42TJK=m^?ezk}qq#6MaQ`gYG#Kz;?_s45w&)Bu=oC4-CUd-HA9HmL>sXUV2H2vQ!iSJzi`=qgBmb6kog1Je~ta znVDo-A29iG!VaXTR_{(iq^~9zqEPw%ID}@isjRs7(^oml*A-TL49#Pa?M6bzvN_LRC9P?9wrk@ zEx0)*L^M_=5S*_b(#C@-x!bJ}!5cjuv-uYMDGpnI8CTw|MEX^8n_aLyJ|xu9|iTvA*-Nms5R(cxLmR?DxrI|8ATXrCs@i(IP4pl ztYPT^)Y4p1u*E1e__g)L?4$-yp36q+AjyZdPv8%{=Y z?`TP=Vl*E*HyXhD5P4j|VNzUVQF8n>((8sQODrvE; zDkn#jgO%kTcClKj3xmzS{5GVF{nPnKw=N`+rk43T~y!)guCT2!WMqCein@CalSI zY&{}T*4l&X^eH{CX?~`)c_*P17CUFk0`~8WpHf^LA%@SnU>Ls_--KdsedAvGOf6PX zrBq)oJ&(g@>#}3HrB0?fIBGB>_Zj`{?8gpAmZe7cl3-^J7MOiG(jdr&lf9iN##t~0 z0}fFfx_w2o%6n=B^w%MIFIq$X_wCD;Sas5$zP4UNiqq-AXlj$nss ze_Y!tlJNZIcx~fKs$ceFc%%nU&&fOb4MSt5^#-pmFY8BnMx;tw8f0Qjd2&E>91BPA zoaXYxs!uC>z4{dM~zvj_YJ`Cq}<&MC9Uuj(UTkM=GAQ@ zY7;k}TS+S+!Os@BUEFxo?F5Vg<+}Ta3Jgtb&v1XK{#Vd6AmnO7R)SP{?>16~|9+)q z9ur^p7Z*WchO-f$$XcO|JCn1XJ1grupisbnk=C@~eA0g-SXs-zt%rDX7_r92(w0~J z#w9b^hl!+_t5wuQwbctRjF?K0uw%qI1A)WdVVAl&iL>T}{JSk&k=$g*xr3KT=S)>3 z$TBspyZ|?QJNJri!WJ$I1A%??Vn7^4nEuEL1wWM%}`2u9=tWRl*h>%IMSB||V zaxE4zxtO1v?(3zW*5|VgiZME)YM~`=$)mE0Nw?XWw%tFk2Q#Pz?7-e|PRELj zc3XV9YM7^0cf!RlU$?tjAlt2#$;dMrWOgD-3FrSjjVqgW_CaZitM@8x5SyW{ZOP%6 z?^c%xRj>1rj;qCHY6A|r#!IUfHv{kG%IVr@LK_M6JE`vb4Qh_}SLWq9V9-j5!8a|A z^5=H#0yYNi+R#eb`m(g%zi-^XB@u3c{|(aPN!(_(?7w_XT%(LEx+14H{H|R?_a})p z_wV5xabhLUYajmj)U^3rE7Dlp|ME{AKIZ%q`D`=9pZPb1_YKRBp3t|$ay8oaVP%|Y z+H4ZFe&BusswkdDq5@&d5~f5MaIXk-_|nJcKxnZs&S>mLH{*;s(2GP`Y}3GMm;rW| zA1jw2nUSQwh&bC)Y#A=q4qz4eW@2U>4;dR=V+<^kxi6b3CG;=8<|It*T?J;(xo^2c z&;>Zh#60aw&~nVC8EFmfL4jt&gcmkydh=zQ9s^~OE9fIr{RzBNVJ5gD?oTh136WCL z?w2Eg-0L|8=sz%>I25dXEW7sZ^am)}htuKjZ>n~HYoUq3aG&pAWh)EYcBx6g`E12O zlMe{MUBDVpqJZPp~6=^DbwPv>B zVelJJ2f)B?`NHY5^n#0K)mvVVTr8~U?>ClJy@c*=@kF@y5$sW^3hrif1k$w!Sy*wW zTK%pcr*WmFU%y0u3!yOKO6!#7IG8DhEZ%m#EPF%wfIWdFx}~$_A@k9}f#TJTdKR@4 ze)m#W70N{jE{NOD-~qURsGb{O(lBOxn-qI(1;gO+TTdR!{!2Ih?AC{jq~kf%PQoFk zlN?G9b` zx3W4(@s{PG6K8Y%N}W{0h6NUWo~~v|^$T)$9ky+OKrTaLeXn8o z6|#TXAPkXi{Fd=!E{36-O>WyHe68kEk`)q!y;6A!wkywPUQmC(ey__C**AtYyy5=R zhzkQ~`EaJ>MnvY0`Rm8JdmJ<9RezMmP@gF+H^5&IH1#Va6&pbS5F4af1N=@G{#_E5A`ybk8_7%Rh9|wADvlGi7jh>uJO4&|a8(f%Mj}CnZmIlq z{0SAvj6Pt3=3@6a`>H*Ig4oqa%ztQ8;;B&44%j#fINEME(HGE?T-fxkkl9lQ4Ja=Q zNwr~BZky&YWNtp=*M%Om6(HNwt?}uYZG_8rJ`}zB1yJ)tX8Q1%hcn*D0RIcub7k3V zkenEI(+$}y%p%rW2u2e&+2_}trIBD{f|@9fggz9sxP5#4Bycq9#&3d82XM6Eeji?h zG4TFp<=-nTz``j%3-v9)6*}BW#@pf}?5S;8AqHI5(rV&YXl z8<~gyM|&i`as}*n(4mEBkr-jRZVQ)A15a&w3}nT-G7S>^pQn=;2}6Pij*S4Ouov_Y z^pmd8`^Jlzrmtz9b-A0HLKUp+ZhY8+8_)xIRjyLFh>;v4nsC0_j6<7F`3#1y;iq-( zcKn5)ari(g!Wgzpi&G7)+f;a}$4dffVg5lO%ozG{?r$|rnlwif9X{3*Q?zX`w|!2c zqR{lBTeruy<`DZz`m)Fd;I^N03w{Q)MlV+GfwW#v_d%VLCM5AlM8R!EBo=(?xA|t? zxAso0&78~yb3r&Cxh*~bL>cqO2rb@ZQO5}I*U+Lu@I01; zfD2LoeO3y}Y!f#EJZBMVd;{q3Qg^JY6q!CyipYa}7VIgDCuBU^hzaIo0Byq9#5G&e zFuk>lS22D60=(>-wwL+pY($OXG;mcdc!YX}?fQ%&On41>Sc~}z>Os7c{XJ=Bd%pt4 zR{5#2s};$`XRb43cr$762-(DbKCfBgb#h}~H8qTL7#x*ii06x#^)&hSgP8DLt=Sp2 zs8%nrfV&CjP#IP+0>EcKK&6^dVs$@#$>34t+RPHg(rt@r8z5w&&t?#z_~71%U-LS~ zVCgDU1%V=auvg#c9YvQ4b~PEklP~+|SNY5PzgtslLEl>93Y(SJ7%VgdRT)3U^^7bG z$ho4`d*>_C9g3wf=%nxb3qAbL&qc9K7gwGY!1%#yg4$wv6S)3#d+Uo|d;v9=+8+v{ zy7EP&%Y;Jh`ZgUr>tXF5?eu{E75XC+s0DmGfsM?ib~lc{STMKynE)2B%%Y1`qtW8! z*aHRtfak*!n`HC}p2h)PHvLku>uX>nDAO)k_h#LWQ542r)%$P)<9+lVvU)S&fajX01x=$9V zSN~|6NOchY_yqm>#+(1Q;ryEP595%LkKOWRG{d7k&LC}Das56WwfS0>fqv`T6l)W> zk}TbGuO2U^;;tn88hiA!RnC`|eQ&n4IYRI|$V@Hul>bBo*d9{7*Y3Fnm5)?anvpqV z30%Eg;u+)3;$(HzXIdp|87}h^C2|q_`j)H9A^7XJ-k@zv-$;*(GPP}z=P8km{)+T> z6Vvrs!Md2Lc+cqHe|fjKjt`*sA`gEyaNRkW;Q>lrh03NzIT_Vw^ON-WYudGgZ{Xn( zo-8@NwxnZL|J7ciPxOtQ`$ym$YTg|fGgf>zFSmAu3;bTPF%UK&GIbmnrmch&d;l5W zDH_wAOWE?Ki=3)0!WQek5;#&x15Q2ImPJf%XZ9L0T~dEDYl^cOFOaBkiCKPa(UH40 z@s0e^X{ufjierdfclVd;?M>)>_~grxFYJKd`2IA6(3groGyWQN6hmLy7thCqIvV}P z>}!O-PO|~|3;KLa*~RN+zK-x_;#|&`ME`4EH>)T zE0%_nHlr+Gi4(PBbEu1Wk4Y2U%;nnx8$M-;aixMuAd>8XkEJ=m$54Z~3Rd}^to|No zZ5sL}?!&Kve0LK&b6B1BZg6o&v2Mf7`+?Ko;mRHph5xAj``4x%ThRJO?2j3yqGp*0 z4!}dhM)maiwP4u25kc)OQECjy8oLuTt2Ww?B-+=py{27$on}Le$Mn50n+&zJHemFS z0AM)cOW(%uZ1Y)9RR3GF+r0(BC$6B0H9v;=H0vVqxkL|c#B1VX0W2qts~uMM&N;2=ofRH<}IDZ8{d#3GsyysZ^Ftg`o0awlFBHf zaP_cpn8^I*2f$xR$$CMN#<*t|7a2w)?Oh+vYjUUt6`WrQFblp*V3<62IqR*8qo45` zjqO^;+h;AdYZgFMSOI_Ix|oVRe=j%_lQ&%x5UW{s|rc-(n<1GQtdk*J6=7eFa0 zOmG^G+rA=F%z{n68do{RO$}}|AIAT>xn~#2 zdaL$zbV1yLyZ9GY^&$~$R4xT;GR=ECnK7bMC`|OaL3uL%)x>wZ0)r`Ff3jn&NL!G9 z%K(fWP`+FPQD59sS4a7(Gq1J1CFa+%R>_c_^}N0xoqj)1kiq;#;@6d*n#~Y%n*8cm ze92gRp<;vV`no!Hv?5e2$_Nh{C|RIT`tbJDScu&^rD7y~0e z2#SSg`;+=Tz~dw$4OpP3hV@N36EhM}-zyuwp5B_|)-JHMa7O6!)4=EZ$k;PQGYyQ% zST9kd=bp79E|u4F+w&3&R4j-jtwCYSKX#E5_O6$^|_{Y`@}DeiHj&QfK&1Cxoh-V3bL z8BvE=U}urih=h|Xzs6K*sIDd5-%R%)`*+u_0B;N-9)};xh1qN6pOx)=wtIU@d)m4d z?3p7ytr(gMf+_v$`ZEYon#CM=n>;mYq!QcW(6XLfcIZnr!d46(5cdgjK|Gb7)D|5E zjV}}h3OOl? zoy?vbfrw-IS}XM2b>odvSN-KIZq~~s*W2o?xPI80<8=8%f7vy0)rqNKxAHbju9Ugp zy;WcWNzW8CJNoVJsmQIDy)!0vd*#=11hMAN)`$ZmTe;b%lInBfnoC6AScI}|2j1JV z57wHp23%@&W^o{f$Ixp8^_nRNcgXAapmi?UntTA0*IBM8rw{hqSFbr+Mj#f1&mWm$ z|57Tv&gbES5pBI9vhkgO$RM=`WWOAQc@RmAUEy^)=_!2JD@>7)d+zGydALgrGPg3` zIBw@Z&|Pn2G|+)~I-BGHJTwh7{Y=OlKhEjO3ygE;2>;E-Ph5jNbBjeYgLhwky&>1XnZTa zkI$xaI`GD<*gVtzcrB_;wHe4oS#rSGz+`3tG1HJSl?)WLa_i3EJBhm{qTyJ(QA03j z5rmOMC-Wtf@XyCNH?k8bNaRZ=#3*31lf=Z3!b9K9&dEaY!w#ZypgGl*$obfkt_pk_e0We?C@phUhPAE+Zc5XF{}7Pb9K&%^&aZ^}%1$XJsWm{s11fI7UkLgeMcMQ++i8~9F+5}3-gLCYj z(a2*7$HHp0vWu>6=V}|LQIr9#ZB*2>5&{N`9lLv`>%iAA6M^XcY4|aZW;kAOG(ey!X7o03Z>hUX4KebjILK{5p&1i-of0 ze|Z7(EHeASk=xQT&myr*q&b@Qus+rkZP$4k(-TQ2t>52`RT)w>LV*jZmIWS{U--5; z4lDTb^tdgH{OKZ(!Ww#Lng+w?H`f%9%R|zYlZxR^8;qqqjF5O)heKjZ8^q)6E=HtF zfgY@mKdi^t;_`iicN}>fbqdz3ZmYPixaU$>!Yj27ez075FDB*EbJtIbRwS)%cou&L z`u{w})$0CIv5BWS73Im5PcE|kcm)DPi2>m>QUb&a3m;$S@HBKkD6yO7E_RvplyO{h z=(J<6y1ZbFDykH5JP9oQe*i&1zQ4d)=wA1ptMhlQXufw+)+92`klFvwu-XZk+-#yW zx|w*l2OWX<1D|$c)dZ-KCl%A5T8JYmy_6SAjXaq#g#dD9>ol@Mk+QyAce)aJEV@Lu z@ycvRN#EJ;=gPGw4c;43?Yu$@KEN?mWV_=1bNTH>x6|gjf?oOxP3$*kp;y&$r5(g| zs9KhMD~i0bKsyz7bK*~1uMOr0wnQp{hMgf-Fu}JMb#2Qpzkk&32AlxYY3vB#WKVvafV$?X6$=n$p&xbPbpw7tF2DeG!m*AB#pvO* za{{MAjT27S3P7R?7$*~v&SW&p*J|LV;OjXqERhv?fyx*ziEP5K5?K}1ZZB}0001BW zNklG}WZ>1@T7*d&b@<1WJw}M!5fDfZb$dfMj5dH9bhgSgnNNc3?w_ z1P3i{n4JyXZLQSzLhAU?2COTI!`Yl+q8zFUP!W!8VH!ttyKvyf%3{eLI8SWAXr|}x1<<)l}$@o$^#)?-n=uiVO=P9CRgb{ zgmPeiUp@pn#Y+#xZ>n3z({X&)n7aiZAmVQiCknE07w&`GK&;|&rv`AK6AceZIr7oD zp?Gl=YD=i_=A!(lswLbDp$OhfF{HzVRUl3$RuoRv;lGoiJb)8;suK!>I1N+{oB&=g z>s>Ho&)OM2piUeZxJKbrz_qNrA`&M6*G1Gx0qOya>s^@l6d{p~bvm&QP`+>q)Ig0o z%sYEtFU8; z+%{xhl&sWkLyY#jOn*Ri>gu?b7^yH)SAMJRV8&wffxw^%LB>pAOoZ~sJKAKcy=REK z#sIM|an(>Bx|niyeoE;g!%ak;@4q^c^s;}|s|>Z0G`ScnAD{)CsuWB+16pH%G2*bF z6+ryv%D!on#68a+4f8=|1ZH-gfBF6HLe)yeSjK>m;s=7!jenbZL0j?^-Dq^6j=IF^ zlfT;eS#+@&d<sTg}7z78uC0!`>`3fOKb##*sB75Dhx z%38a0PCxY+(MdZhmPX-H8&4<^Z({Z-3oE9*PQ}x8i_G9@T-*0vuv%8WfNOxKhWZ65 zi(zDNg3!c3oC}=WnaCOE+Bh+B*8Vs{V$#1)7*VIf`MNl(xCatT3b_4(63tlc617{< zT!i2W3xjnkoW@BYr7BS75uCDolFT{X!O;MVy(%HQTT!7lggX=kS}{2J>9Q#?>LRTh zRvpgj!?N&mxdjTLX&Ej!br_2(I<9Ku-tF-Ef^sG1062vjcJqWzD&`orcZ_T-uLY^$ zmLCYLFkxV|^JG z3DDUBfZTy9xhPniL~|6K;A7@-MLnD%RR}d9@#nS0N)qVmLb!OkE>VTpb0Jq6aSV1F zFVks@wI?_jV=_z>g_bpMSgJs9qE~BRj2sH--(%c@pv|W_Mt43hKcv<(A+KYBGy6u+|QPYG#P+bPyH=x_<=-e&>0g;`_hN@h+ zkU&Ruvij?CiVr$b1prbm!hvQX(#2V5;!EC*wo3_ER$D_NlXDor&7pkzL;3C)lLLdm z;Ou4PJBW*+#W?^@73kNTlNi0~jC<}kt3N0G1|=xF!rB!VHg2-+>+cJ|3odSi0V-t; z=xuwuKGx|XM!$vMgr3iHP4wqL>F-mWuH}230C=*={a*zKBP_h43?1h2=$LY`?Rq z`VOy4s6ww58Cr9UV}O{GbIkoaZJ@aZ0Ap~@Sp&01&rN_++Z3Qe!`^eW{A3C(R)@1S z_ZQ>YwLbE7{C!`egQcCl2_>v)(0!3$fEE!H<0#%Nr7Rm_-!ZP@8h6QLJ$uGXi`TbLWwHESP z|Gn9=YuJK&U$6WzhI;akZVpJZevKAfJpvhODIpP5%Jj28Y6*8|9lsb={R!-d!d9_Q zDMsM_sKBba!s_sTzNRn20JRrK3XNlcakSWKe1Ty31^r9=R6eL!+ZOL?i_gCi&NxPG<&(yLN^zPoJ^ip|s6s>~I) zZ-FlnfL0hAz*01T7i_@k!cnJ{G=zrv7!*sda9y3CEIh48A!fZ!i~UEVvv~$^1)L|x z)xR|}-L)N|P-RFeC(HZACadig96)rZ^LRV)1W5X#Yu9XyIUSL23=LzGqau!T(7KS1aGK5M>!sTQx z@!0bKas{@!5juk6uH%d=!Tu}o>J08M zzqdQ{tm7AOh4We4wp*d|Tk>=k!klA76gTcB?C$KNF*ACt^%=?hn;o-QiL+p+{Ia* zRlTpg^Daztl3*8RsbH-FQH=m*vuci=*3k_xhA87N3pQscc@KQR%%phU;?-3VeKUwe{+}P&n(5CJ!gq zQgpH>o3i?H!{t(}&7FwE;PV2hz9yNJ*{7AyyEk9E38${j7lp6SM&Y_nT!}KJjKfim zu{&LN!x^)tjqaIqP7a(g&J$92v;R*|UV($=J|@~CbIx-NTya5voG~#l&sV^d8z6f( zwa=VF2UEyk&WSMw=DhMb&Y0&bxev1m#3`2Htd(_UhZO?cCUA{2PMAA!31gZQqB^b7 z4`g82{3udT9dRh&VguqrLMPIxk3qZA3H47zLb(B2^DwrmxMaFDla@sl)!cdFi%0`T z$Nz^T?}^cHefW9L?E3vf7O?i1jSbL*peOC#28`XnlfVjrSdv80xfn(Wz+Jx7XjD~% zM*Fqu>5%E0pc^=Ay?}z+8AH(vrqRC^2KoC)R74ikf~1J36wIG0TlQjh$<;4FCBQ-s z-JV1+ymeu~{378v1$7@@^2h1t3l<9h-i- zNuQr&{|_sLLZY5a1$0|O*4`?F%Cm4wFQWTxaT)ja^Wi}MloYS^1BQJ2)!@DLZFls; zsv20o)f9Lmw&IprR;#+pMR({GbZSmOuP))#Ue&?xJiv(<19d$N{}lf&CF@Yr8@yHs zZ*}M$7`U!to!c5uxh=B^xORU)$1(KxoGUVN#;zDz&L_SBzM1$Yz-?~WF!dQGzS$<` zU+tanwr}?RumPCg;G4N&V&ga8{8hvRuI4wuH&-GZ=Q=0mc{&%~Exo6|krs>d`3hHa zS{a>z>j|YCi!21NY7R~(r!`w|8xax(SwF^s8VDMDe z?4+5xQJFWeLYxC^mjF0nJ72f&NLkClc^)z^hWlqM_MPW;0}RK%!DL9d`3 z8*Fp(uQ2z|@C|k}09pM0YMK8T6Pv%=u+53>n~C{X0KWMKm>Z@O4dg~l?CNB!f1fdN zH4I74Slgq{=tKp;8G&V|w15*311Hp|7%R~T+SdOl$JdWS{{OS}HcM_KO_$yi5eX!K zsv?VJq-dgX!3B4{>>KEnG_sMI#x(X`k6P=wl=mk3271{$F1X;(ri~Q;stUgu;aVK` z$Yjrl?jovyL?V&Mh;ToC&T*K0dyzMoi?Q-$OgsYNH_Qq);C`UjYm zt7H3u$)9nRQubiOqs4-1>^E>dZdqxzr^P^RkwP;FbXUGpNBn0?~C_-AhB(!G$| zdKllLCe3<{)mo^WZC$F>b4Qe{uA$bo!C6uNI2z~5NaX}p#}VpDm_Q%cBMc{&HEDbj z7=eLN(?*3M(g+3^E7Z~8WF9G4rKc6C4)KBtBWWB)&dUj9!7KE-InO=`aG zjsr$n!@1fTRMYp`y+VJj9qTnz*0!!NP({?K)rbK+3Ll`3FjgCVFpqVh)`5|Mfx+tN zgPoC+)^&!lavJ*J_6cER7*EvtA4CcR#tCB>H3^(xr~{Rn@CZZjWnM5|OzIoyy!=>iEtuBw9;(Amtjc zSe*5k95S_Ja(0zq0jmXaPDSm@lZt%8t8*r0c@d->VS1GPL`_fTY{78t3+0b^{A$5X zxcV@Y0GapI*?w68cyd0xCfLepdU(m$h*}S*& zQZd0}h-k}az2UF7=nE9W%bn7c$6!Q$^wRE!YfhA6Jcn#~Xfpe3&3cW#v$IszatjSb z0jq_se}xT6z}y;z`&5bkP7YpbP-h@*htK!a{PSI%f9R%$<5<%B=ac#25?21cua z=x?eGQ{@zx0#G+An5G%Ds~cdTGO^jfX&Tb1RvR|et;jVs=*43aK2a4c48Wk2#G?_$ zTFn7M0fwD!yiOfz4B-KNyR-&sBN3*gtCFB8ymlb46{i!s_+fd=%x0r*nVy&yf@?pX zK{DFZ`xvV7l1hPAOAOFNaiWimJPn1;I1-Q5nsiY)5y(hYxiz(rg0PaEf}EA@`t?mp z3b}nH&&deeo~H2MLNAbm>+kPRTG&>IGmvvi$x;)|KWDcF_oQ2c(MZXC{qP9H%l6H6 z{YoCZV9*-5W@tHQ%dIsvjl-YMkmo@n_`>IapbgN(1JIlS!7|7#xB*6kBI9<7(|T+5 zj=Z`+j7nSb0T#Zl+D4rJc@^m#;)1vV`aG3B*hSTy2AfdNiwSI)DZS<#00Bi&dscDT zrXjriVWzisdT;y=U>8<+jo&T_JL~$lGizIW9euq%BRX!}6NBGiG)~wFjM0zpgfX6g zF`jQHun}ytp{32q(C@Z6Vkc;@G5uhh74JIVJ=qIit61zvx|ph z!=24sSfO$sPScEL&T}KEsNF4cpK$E8$RIqB>lm(Xg+caui81Gup^0Ks^hP zZgk>HttSHXTlv77CK#p-6O&C7OdDLQFu`U*(go1N1Dnmn@fh&gh6%SV88(R{Y70J0 zY>qHhYy;^Olkui@xxFs%o=2#Pu&6tn74@W!6|6C;N@EcX6i7}}fHZ*1h*>Q3UIk1m zS`yK)2{$Nm7KS19qTtY*nj~6FZBR?J+(?sCi#;_1q%ySZS)CcVlw^_x6Xcd+(LkgG z4LFHi-jRMB9rc@Q^I3%PMbzGcrKVbN#|W}t%y{A7t6B>0Q=&yfP(=U|;ro7*<)lKL zQUn+ObfHjEV32fWCr?wH@RwT`9%zPW0kZm>BbtF`6qmL(oP`w3zIlcU?ZVIBoE~yn zY^LQ#WfowRTFmP)iVBF8MMM;T&gSP_)DzcWQQ%zWomim=2rPni#2WL}-Gw^Cp!*5B zndd^_gFN}g0$hPjlTtc~dR8Vz+lq_y{95f54X|Qm7q{|a?Myq?tk;SH&d|dsuj-XZl zh;96Dz}Q42aBOgdqoM*fdj8lWiH&iD&8e^6jDB1rqcNWBq=U4RM=s~ZD!=wfNX*2w zKi?w)#A=L)YBe({wd(8qURE9N-}8j^?>F9OU=|)JY5-rUg|k$v zrNmY24APkaSc<1*wRm~9Sdyc&fN z-ETe20+6#Ii<9d9eY9o_Sw@{GRGiH-SGHbzMs-<}8^t zXFIFBXU?FvdDX{5ZO_j~y0Vc0IBjgji9}`COg2gQZX1-!a2#R~B-q%rIWhs$Dkill zZKugrz;O$!3DOkAS`QD{!e&Ye7=#Z@)0Eh3Y%?60rismFVj4Uxnqb3*#KaVJiC6_k zuN=&)Vp4!Gdgu(Cqa}ES^*XK36|Wp70fLRvoZr9r-d3xUN-4Bw{#xP3qf6aY^kGu+6DXJh8=!L{aw5F-vky$NZy&QsDrEkP z57jE+kXHh7w*a5fe+T+S;)&AR!jIh|`tQhPucLea5~%?D%1$54|7Ztd1o${Zcb)Yo zuvW2A=|eqx-XTo31A)~|!y{^N#-1bpM3mpr{obudl(AuI^oAauXDRF#&#$qv#zm6O z(u~V&3fkJ>O1--HybAs6dTrEVg+d(%!x8@42l{9ocpEY5#;6*2$7y2`;%`uxKgH_i zVg7~<6Gvl$?F7?m%hojttL@efs});T9Hx~*{;dY`7Fe-L({fVSPO!o@$0;3!i7*|3 ziG&}+k;x~EWSdAM#t}|6sl+&Xy5dPoJtb=A9QgTJJCCTkKuG}Mu!c(v(#5T{*2{Tq z!S>S}F!X^OkNU4Mk@V7A@BxSpNNo}~Ky0^^izTZinS+9^^h-ubS+w6&lr^X5Q7qw4 z_3~lq1GaR6um*GS@VxU8Gf8&h-VoI2%0TOrjm?Tby@u33S2ze|XWdxJ*^2e{#5wya zoyeARUZUV`dXXbU^4Ot;r-#2oYndGRbJWp^VejF6?98_Tdz^P-g8J6VLq@3 zp>*GC%7uRnD%}?&dFEs<=y#kO1Qu-zJmLp!hqu*2a195@{OxVISo`+=<;I2dg8IR4xLOKgoJwoO~T z--ftngTO>MatuH*Eat%&PX=)E&pLvCZr_Isiq;`YS}SE(gPqT7R+m-yA}lVU{+;MK z0fMYp*=jWzQ+NUl5!vyN`&blg1`wyX)^z>gVzW}+U}hGh`L(6XvqTItgVnx`^$emw zji{%{I$acMZQvzLKaL)wdO11!7|n6b`#8;>j!Q_C`<~{?M{Bg~{s9Qe7ck#wC6WIx zVRKY6O@6-CJm_y=HD{VddlE0#i&LaNJ!0RuF^KGZXBu!P=4LN)SPzYy{9{i3w?ejD zXZ3WS7tHAxn4*mC2BgOd0{b2D6Yrq9=WN;g@-@`SCxcD%36CzjmQ@B6Cm=UX z3NF`;+-Vg+;>xxBEqrdY|GIWvJ^H0ouXj+5vbK6YGg56Bp`J!yFo9-qJbnSy%A^%v zEBj_*3XpFz!8EWU)Q1>b*iI7%CZ-iO9ky(z!@QcucGK4208A++JlG~UcrdVHyOOom z7FccJF!^4liS5>-0F(v{nmD8HU-AtTKxM;NCr*s!B%@UQK4$-Qg|iQz^}41rq;*+) zZhfXPSX)8RQ7xqwBCI7`;3w z$#bTqmKLl+r|5bY4pO#cEvHP&O)f-A1416t4uegDfWRpR#Don28pR5PTY0S(tFD)%E_AmX!gXiuE;?t{c3z)Dwrk_4 z(%$Jbwvm&skjoze)H8(MnFDXe)5!U6vq+a6#Gc8FDez6TDrL$BLz z{c~_=Y`5B;gB=dq{s4A3Xq&CxOVPu2t9>4^BiM1X7yZB=001BWNklTA=7U%ApRBUIY}bF4*O=@(2Kx0WXTeE?}3-CB8#o zl0M)cQNT2K^<#2*amc@QZMfvvLB3K==D|G*KxL{$5F1NNay_Wu-`Jx6`hZPs9 zpQ~ne;xr05_ga5HKOBMM(Kc+_W`n`ej$3StR%JNY7K{VB-yUoW%;7vu;XJlGV6gL0 ze`h;j&klBn=Ba>g2j4!9;js99yR`#bpD6r&x69)_+L5hu2adMs6T;CpM=Y^1P9r1O zcsjx9WQ^G9B>un{=j(hnINSQH@Sn9OOlzG)fXiy-ehHq6UDVf5SwK(AfR)979u%I~ z@K4^yFo-jtfXW7+4D{T*?3PML^MU5XE9?A{8Vj16v_!a%cm>6MDFki{<@Qt~QEFc} z$@3z-sDNrfd0L)hz~>liUeL>njl<6?cP6WO9Ml4%%q^?r7o;AL-Di#+^pG?!D7*NI z56~><9$xA3o{JD>2Y8EV&s&Q0<)uC6?wOlFzW0Ls10IZ8@2lOaq_GCy;X`U zaIzi*iQc^~ux?&uRGzJ8(q6bb0DOJ{Yrm57>d7Ucc)Xt^u}>-**`7 zZO_hj?2Y{nu4udeX!~6s`~bE)9Biiv!Y7#n2e9pS+qc<*D%c*K9Q|=c2uFjHoi@yq zotF_$CzK+bN1rs;B1^3`5rBIgx+mf40$h5|@8iBl1aY(IrZf#s4)Q2(m=;XsSf zfAVU|G|krt#6b7^Fr6vp<-WLw&bX}IYy_azpUQ=?orUV4RKio!=2bJ3TU%7rbB_ih zP|!=7UMq8+K6&Jb0>U#Db(cm_1z99L$TBO85F(&|efXG-oZgpP(~ffvV?tW5E%uc^ zq5%Ck>rdrCokc$x=0kg-hARm#6$uh9v7$!}l~SdvE+r_l9+J&qV$90GWWzA@8h?cN zF~|p*O7?KkR|efyUQ_m3^U7UrE@;({T0f|+eP(UvGrszt<=8Vj@j$HdKG092>igp< zz_E>Ogzgz&#|<9x`|)kD!}j1S^VYxzBL`6PDcb?;F!qa!S2w%5+J_F!uC9{p{r>6^ z_InJjj4MCBt1E*Y`>Vy|!Or%+|J_az0SD~h$ENh)fFhCu$tSH1*hXQ2ZP?hx8HnSF ze}I8~LbUby44gUlRLYf*=dC4vT*Vh6Pf<&x1GAB>Z(B9t6H|seRDrY)qV;K9wRtS5!&WER#30us z;1Rh*{R{B08*(>2AN+xE6{0n@GH;^hdYGW`@3dbUt%oKpTl^8Jg>Q`?WE`9h6H?1_ z>86n>tt`T&`2;R6RNR5Jcmx274C3PGxIhp09Uq`0w_5R)-`m7A4{BLRMG0$u?`d}L zopcfCSS}c=i+O7;bHv&0tkC4(R$FV%tk*CTdPMM9>smHAG3UV}oK7l|({pEz_@Iw` zKhDn<+d3M*WeY4r^_}hZ*q)v3+1r&5=BvdddhaOo?;DR-@f}%WZ|ru)9^3Ch(ZJ4>Hf-&%z#k66642zeQDxu=s$>Y$NSlpl!+sl~ zpPzHko*htel8`fqRa0RtEJjVwdWyzHvvQ00z$1kq1^Glj5st(DkWCC>11A^aVX$Es znlPy1gtgK|PBn%w%&BMS8@yt$800AOoj>oQlGP^`Vj*8FsJeFyPPdfv98tHHk<}Qs z7=KB<~$w3CuDIE-quq}nqNa%^!AR`-eafaRD zT!sG9@q7R?NX%^;{U_K|dh=}2u@vY0&wK$ZGIbL4pG^st=u5Ke%Ct$P%wh13zV6~X zxB;l_W#%w&)tz{e57lKwac5tb{90RGjJ9G;Q;H&YEvtnE@n=n`XVNI5k4HWxDehn^ zRyM6BrfD*-rrRbE|LtTKb^23yhbM_4S$a`I-xlfG0KDXQV&r0Yzd&sK$-*=CRP(n zTej1Ls7R_UIB^Nsq-i>KvJiE&VXU0Qdq|vo;i&F2N=;!qR%;1wfwaEpqFpsoYpVno zR$83Wg_XdXQlP1?V63dP27_S!P6QIF-JN)wl!Hmzb=kY0K+TDvNTXz=(|6~eQW92^ zqWls%IMwruzh@@lz3os#5_MLRx(8BoXJL_VCETTWJ2YKX(R}8%G!?3W24Z4a1Y%U6_aY-tq z_ncp8t5R9vQ*_efqFR-riZ$~H9JI@eJby7R9W4B*;@>pZ9K-YT92@xKffa&Mi$dZ* z<5hpf8CJvb$H+DG`q^vuhP(h$GHcQ=8cF2~bC&~)U;uY7NEtULmGa5Nn<_;$(2|S! zDDGN+1Iw1Xl|V63h;xCOgF%q3H+VE+T2au_U>KTBE$pBX0MbA$sk7U9E<2xL(UZEY zd}6!cov(ow%100HX?E_o1K}=fYXZ}#9labX)M2#h8hRqk#4j@E?oHEVthTHUlTB<* zkpRGCyJ^jZyLQ70;Cd_-#G2nk(ChXxI>WX!f=h+%-rj@ znYEY6sgs8b9x^aP&6k0op{j{hsr!MmLIWZyt4!K+0s1_CDY27?j^4Fh#h2@j1?zZENWQ32=?fj{d&Hoi!dMb*Hs zb$Y+5*lG14-n^4gSbb-_=~jSz;A7Qq?n3RrJP|SIwN25v7PjW5HZg3K0_5zhsky(M z19_e|1;C(HGcONhP92CN?4gPuVhP;zKcGeyNI~|bYr&-QBAnLG%URH@T za~O=l`^YW6{5i}U=%Jk($-4yAKa*qqKq${H;o*P5;LQ5$e)+7uTy?hf8d6F^{5A4D zoIP;^0bIRG~p_kM0}^mB8A-QVBXL!#Z>+(5eV*I_)M6ah^HJU;e``|9zL zpHmW|To`G9n2P@Sj-oW{xg&NwBCi8g1JKAH`**kQUJ1Iw&gTvan#cM!_Z+y`B>>yi zC0Z0MCWwJ02t4&xZd0g5wcRk8unUpNlUENau3~j;qF>Xsk9_lMlK`^gb*?V7NFQnt zimJCR)5p`l*>xyV2HHH_GiocAd*1-ES_gK%K<-feoX)pM(^XO|r2L;0D{HNY3S1go3as0r z?R@aN3TG)4U{vjYQ?X&QqL&_B#WR6TTM?8%b@fT~UAx4Dro^0TBf98CC0^EyyH=f~s zxcfnSCAgB;Bq0sh23tK{MeI!uC!&#YC3RWN^Ga3^m>yv9OYXu zY|>_$(kZCKqXyL26@)+``MFOq;MTRKvW9vgtvpn|tWYcS)>4axrI%HrwIpxADba>B z3|YMcAS}XU5G#>U2!#+pD3GvQd-agMpwQgna#ZtB%Sj?Nx8*XDYt&@ljVlF9P6};v zf|`{+ENDSq;-7q`TAO+Ywbdvd9|1uHQJ)y4=$q>`X6N#;=Fgz zB?e&y0XDIsJMuH%24{we7B~zJ_)M_6bixnPnBxJ!#kgD)1*|SMhx<7552yKhE^rpo zAG!X>3Hr)^wBvE3D`j)EE!$WrwK7I6eTRVnwH*LgTwVDU_Bfxbhld9|yzeXcJ@@_j zCt&Dr($nOC+fxJVDf<1#Q~mzqhwuN%;&k0VF`nr4_xCsPK0u0;0GLaRSLkP-qD!?t z$BvyHIB-}Bi~zPrJ8oce+%T6tH>Q%HcoI=698b{0e|ajfX3ZHmpE1^JBSQTPw&Efn zw>K&DE=(#58-$$NDdHjuF+}JeU?5#eriW@xC8)l|xhx{61y-#xx0BN79jdVElUXU@ zVCtcT9+e$PkFY&C^C!Ug)O(6Xw6I|GMJ;hbz=P;-;ZZ;k_B7xH6MFT_Lw&7= zN!vtR5yXSsLy6Y^?!@CH24Fuh`-v$9)FQg%0{u^&HKnuI+jkXLO$B=3lYv4e&&iYq zI9FhrfwLjL-2R37gb+4glkkAmipUq8>30zeFdkd26cJpA(sU^L3CrPU_8Z0Kl*Fnhw(%Ed_uAWc5|;u<>m%RH^wzwb8TG1 z<8@31k9NhCvl{p8*=tgBa=gz}y@vBS zXxYGu%gU3u&;=}L+g%2NH~|AN4U-sx!vY6z*66h8NL=vFOJz})s%2*R_4^t^0gLTo z;;2Cfrcz6#IxnUZ;8-XFBYa2nUyW&RS3d&)3!{%%*B2wwRfA~YH&5%WkoZ4b!QZl3 z^C&wOdqeR?yjHPx+=1)`s^2fkn!d|VnudiPlZzM;co+>=LhdEWo-~P+%7BVz1Yx6EaC-RO2a!=SY>T% zD(AX3*3~#`0$Q&tb&wS|rxBrTH-tnI>DHU0I4 z>qi$GUBmf2S{KONoEIzO6Wp-}*uc{bx2LTg`OfXhtB%04XV{V3#PJ)aXV~%EZ8~yP z)N+DbV8fQp?a}dyr=0kav<)>|F^y_Onj!@leau!b7Z*x8tM!mKLS3iYYNr6<-`R>)^7?=b zMvD3m4AWdjYi_tHQq2T;NVJ@W)>3XmYUGreQuFstj>uciZq!*R7*^CEG`n9w$%f^U za@9g!J*O@j6S~i+VMi^gK+0sS;Z&tw`2s))6~x(pv*j}g(5qz9tHGU z)J~mu4I+Y+DrxO3z!JYZxZED$i{i;V5dm)T<-g)9u|j?4{?jd}R<15nC17o=6?&eX z`8S)~t~Dr6CmT-=U4fk#QHc+h=>KtfOb1jc+XC!uzuU9F+6T~QfL%Xg4`2`6SbD(V zK0<%E$9NiH{SW_a$sifuzuPyG!87~DvwkkVetibtz8TQ?3OrMfi)Uaw!@hxW`;Bk@ zIc_~_0F0-K1h~J~ae(pQ>A}N;Z}-6CBfyniT|L?rR|aAca@hGXI;U|f?}5$n2pnN^ zG>)4v8Klf}op`q?b+`^i>0-rsWWkJ=n&^cmGc7OcmUK}oYO znukNnFsSx!zmZ2lnW?=23OEP53o@z$akW+&4-(THutVB4b_gzd#I$l=8`sx3 zX@?u`HRNt?jHDd@=~L_}-{C2I=hoo6@$8$yH~-9Efv?>0)$YLV?lA7Wsm&e0o$>Xn zaff~7&iINw15(1CebagQ#x30Xg!BD7NjL)FI73WEU|xq%$?)otM-abow`aEl=MWmG z+{xhp2c4VQ+~f!wY-H>psvh@>idO{AxBx3U6@$$hf%q;jA=!4bkf`k>n^XdnNzAaw z^(RdPnhPeIhWNgv8jOmQ<5lL@WYoDRQQdM%YpGGvE{jz#en*SpygEio8?N4q1x)q4 zoV^JO^BSHb8o|jxVZhV<1my_qbpE--zf=kJ62Uy^XUU=7#bS!_T0gGy*ITgMR@Plk zdkSxUYIQ)Q(4&9?iKwS`Tji2^)~~bVz{+A$K;UBMSOqC7!4TEYwCtmS?|JZU zuY#ZR@44pDxPIW82YcYb9>DHnpXuKC0SWB;_osaSj*)JSXW#6ZR(hTRcRncYxHGup z3y{BHeEH(B;&X#9#&dno&pmSc3ikCY_EnRF!8d#M4ZFR)wOg?7BnJ_(AAq6(3~oG9 z0UoaH`tjN{`X7z`m9YnQ{sSKQY;CIvQR=}kAw9w=Z1hg95;%>ZRwuSW#{X(BuTTqh7f@-+3u0$eJ*xW(03qpt50L!|$*r7x+L zB895!R#X~XXkjWT7DJZTya2$3(och09vx^gZk?IS4Ay4?zaxxMaPY77O;YxqIx3ju z`q{jvcu@B{%J(uVSjXF@mWyk;~z?@Sy<6aYqjsIYTGzzM8nDX#Ca8f z6@n#-}t^r z7oW`Mj{e%~2Oh3HCAik-N>>sK}~b(d(SNykImP)pqeuS*8lk z0jR#M1K_&8!#E@s!>DOty$snF41lP-InW+#Ruv6r+dUuCOTKXQ@JNo8c>#dv2-+;7 zg&YKgo=jvv(Tz+?x$6LkXu&ne4P-&QI3In5)`=(!ca)!QHQasXJRpb?K$ixCA=$9c zwA$Cq=9)`8@r}jT>w0h-AQ2KlM~9s)#>#o+PAKtX6XR^nnR7I^So>!>yKOhFWj~$h zMd1z5)qZh-A4Kuf(r-Io_^-Nx?}}@%2M_zT^55G%_dMa=cp7=W&c(AnD8KR*6wW`# zzC`%=9OF5>aKb7t`VXJ@#3$g>3xH3)&(HlLdY&Sj?Z$&G=$aau^Yk!WW$XBwSL&E61~E3hd2OEzJXR2lpb6+dk#ftX zejiDOer7FTLvQ6p>$as9rf3H4hL%JCaN9pNa;^oc8ucy9H|D568^3VWZezo0dt{onh-Qky-!)1#uCVpxVxiF>;B}^Huc`$6Kp2ZG>|p}=`_hla2Q6njvIj?RnCc8 zQ(cqFxu!}D3-Z)fBJ!+Oq}EDWadGcJQY%jKS+zvYDNmU^w3Mfu8k0ysLrd}tRQKGW z4Vl?HPze{VLLlRxHFcbC>={u52*KehEp&AWYCYQZT8Ij`7!3GeJH z%8_aIQS~lGt57u#&|jsPdZrthqN<5TI(>?xnAUmiM_UI(s!7D?(}Bi+?q|e&^7C_% z85R+Z8!cGN15DXipn#2)6)v=ugg=NhqMm;gqg@P03u6a`YGrNbvv>z1SRFB3@;frJ zqV|%TN`RA1D_FQ}8i&bxfDxJ+G5qYznHz5Gp0hFD!2OvMC!U_L6Su}@1KXoqbV_wwp%z(BqlEnsMR0_$}mRj4aU zX|&RiT(~4!lYBUseyxQt2nJteMHx-4WwOjP(?rwn-i4S#qFQiRlI79`LVjsFYftUO zQ8_aemk}3LvQsuvgk#C_6-YAnZRPjn-|#YUfDTa88-Se1$4S z{`qxg2f}QaF!%lQ)F22K5Ul>0wZ$+I{rf_3H@FYr&~2V35qnmbbm{LG@?Rg3FmuP( z>jlu{0F>99PCx%+Ga%r%2xkvU1GW+E3J9~^a@%Ww2LQW|aN5ZLi$HY0Jx{^D-`?8o z?KhS1zQWxd#+NUA`SQhx~kXC$KVUx-5FrF-vGYxl<)i?**#B06au^9Ce#WlA6{X|g^2wg zWJe}9;;s7|9&k%E2T(RgL#Dn6q5uFO07*naR7}hLRWX1g$M0N$fcn&w zfkw-u9Mam>XgT-#{{kMdrDJdWKDPrXDM}&N)ki)5 z@uMQP*D=w)w$~pqUSqGBAA^tZ3j5nZ)|Y&;876pPJb%t}o*R7O4(AQvWyq)BfgjvU zWW<7+tf?)9m*X;y5h$|3T-Re7{rBI^7}G z-GJv>|0=r85=gPJTJ*9Z<-IlWN%PGH}j{5_yfokS?dNK7>7lAjIE*aEo^jf^vx`@L)n+h%gR;Ich=QXeG$^8?a{P@6+JM72p8~FAO-rVZ`IriquxAg7J zH@>|G-T>d=2S0fIn)Krbz^fE_2%*$_u}@s>VZTq$f&Y(gTEUTHIzf7JBAtL6&S@M; zNs9JLDUFX`V!#)*Y-9*HHtQ&sF{G;{WfGN5RXL8ae zmfU?LSt4U8hu%ho}S1<7YaIQI!RoZf7UzXNLGHT`&SSUVs&A#9v4nu z+xtxEe^XQO2x1W&QR>`XwI^|L6V8{IhFxm3Gf7-f|GLl zYwr5zeqk?E%Co#nMwn0rz0{_n0`0H|Bli*aTz*0ix&m)jYTN z$zhQYAet|A2K|b21C%QjW;$`9Qd9VP^jin{hSbA22o1h(5)QE|!Ykt9e_t+hTY7!g zbMQ?~EWmSrXgq;x|05^&v~wogthxch)_c2!9S38-4uh|?1|Q(f2m3I5u=l{*_ZYn8mv?e0diM)9{_;-m z{|g51?A=><_YN4|+S|9-`}d0r@WX2Wd-V$7mB7W9I{xRtmoM7(?#}7MxA0w1fIY!o zh;9}*0B8p2jzSp0grxTwAO(hUjPtemY2rPFX-IFjc((4#=(qT8!_j#O3i^}~EI`MO zLL)GBYVZ(~#LpfwRtnMddEpl9=5$U|kHv3J5#qB1uH_@64~44q*9SrGv$4$mdk+C8 z?K$zTr|V0IAVZr0M0N9WMsLa3|8C*vm#yVw)l71xkOBHpTNLuVB8Wk!BgzXfkuWd$ zB@fm06x}5x`T^>Hb@}a`)l3~&i!I$h$e7h)M(sIIszS@pc_au*?P-{ta>w(0<{`zs6(}()-+J5BW!AQW66yZj|SMPuDv~A zhZT02wh7i;xNyZ4m#a0`mq!H}4{JuhaL+t3PCs;^-wIIJ0>`^MID9d;B26tJtTT(VwfPgZ%W#TvYQx4V;$1KDOE_L7K!Bgj8xa%FHj0W za)L{OmfC8SR_&77O11q+2^u7ZA+^@hFl3r~CVKg=(`U$;G)*!UX+ut4D_6~5Wk9Ly zikJ5aWGg9`oRkzV`UVyc=S`25nO>vr#I8JSMwIg00XQd1mfThck|k0~SnI98b0Z~^ zwre?wGT>c-k%-^q3LI469DT{c31zkjnY92(1Q-Wt5&18)>rfPDmU3iz8B0MDQE8Tj%=(xYeJlJO0={cca6I#u|_-3XJE zjp-VDyt3>!$Q&w* z(47bZ6oF@Lo96LGS`OMJU3l)?)xaCr=A6kc6zF20wg@Xc;;_C#y8qb1WFW;xx#grD z?Xjfhw9J28?npFK&}S|SEr9>s4Hb(w`0b{lEWOqG*U+iHbGVP^`l!#JP7+f%z340L zgMY;;xDP%Ns9r3|X>iTgE(8jAc|4sw>jzFJQB-@_zd=*MAsxctQ&j-=JMYOSjhsDR zJ@Rnv<^O=nZ*UKe?|cXQc8kaVcYOKs+@AB9$om04euURxuX)Xf0fRTZ2YbsqegT7D zwBKK`U;PMw{qs-w?YAWsVf^{4AN{Y!FTgJt??&S-@czBQd#@ts-&cQQynLzS`0RwV zjs<*$XU~jp@*w%)E@Ob*$iRe$2e^8C1g@~116@1lfQbXAX^U|raok8q-M=gF#)@&% zV~cb^+1nXb7giV2tpAx4gP0435Ri3IkUxlW|E>dwdrcOUMe~|S2bRG<-nY`9NHfdb ze+j-zpA1wP)6>Ga=02bZvTsX-pYQ>+sPH@67u@IIf4=3^n%ob%;GpH4dcKio9B@9l z-bR^aH((&oE~9<(jCGk$@mVh>0fBib#1y6Ul|A)Ds0Ls-M*~i?NKpV7;=|9~d^;S_ zrQHjHz+(6V?)zvLA3o60O+fV1AzDZrc-!Q(SPwBLTi{sj07`}MD1?HB$+(F45cQGmbZ6;S>*9fuIX z=U<*1-0_vWd9wZvq^ITp2XGHQ={;TnkB{ur-gdjtMI1PUMcUzDhr<@YHgm5*zv=A9 zchJj!odckm;Cx=QlEBLrT7Z6h5er0p-y=$cnMejK@c@7nGeTGX`8cm#^{2G4Zxmyp zIyP4PSo&D+zog>hMUQybpE(Lh(FinqsXm_Y#k)7?rS}u`WA2YDVsIWnF#V!ukapyL zVm`>l_G=Mp^b;AC0(vw6F=M&@*<+bL3G^liI7v`uAR_j36xB+dJpkpTT2suZwJ1M? zA^BI5;!E^z%lSUt5!fHrOdd9Igk6+xvszvH1tC;vrdW+h;y~l7#2)m+%VgV<7Zz;Qd?dEpK`E zi?95@{Ka2jzw#@8{)zno`~m#&hd#$2^I-6w-+({0zhD2<)Zw@H3PcZK1g5m=*Isxp;CD82f_#ZoLWf`*B9FoUWVXYF%AjWZ& zHi*%O`#L-VSh4|BYF#Z&9_GPtnI{2;36cE&(Q zQR<7RU=9M>LVeWJh2$|n>Wu+-X!Q?201M0ij;>a~ zjU148!}{7j3>^a)7Bj-ISp8k@n`WnIJ$PAkoaMZZZq)NlQqwg4G% z_=B^6I2>H_@6Nu6`uD&?3<|rsxe@yRlrFaw`u~MH?$T$#bANmJ_kzLu`h&*iySKnQ zJ@(gMcz(~H{Au%Q|1bO3zx2ny`ake5{>2}E{L#1j^H1OYmw4SfuMob0*RO$Wyb=`f zlE0B+;Ip>9yMt%X;uIx-CqI}8K@U2v2UiL{@+fLBgh~?p6dsS;zVaWV#NyUvgmGX` z1Ad|aIYsb18$QhT;1=P(7X{3XV}4?lYV6OJ;b9ossppe){4%9kBreYyTv%nogp}zgMjs+O15YX_LJGia>s3+ zBb-?@=LC5UGxR30tpLHrfbOVf)IvQp*2gUo6?A;C!lDZ+nhd-zpzo2+`7>v5%@Ut! zN&ybcv-RX(>|hMy0DzYO|KSGWDS?|zx%uZA^8#~%vz-`iJmI|mQ-aamY>q72V$1Yu z8yED>_Uw$^qpv!atNw(DD2yK%$y)ha|*sHFBV!)w>4f9OZF`+Kz;8GF7ppDc)KlF zO9}FSgEj#zXQoE3LJzZLnl*CEDyHco$=Pyi*0jA5z@g}hG9qdJ3@d36g2|umTcI>Z zK$~l;o1e?J+=r7Std^q3YwghFFks?l6K$ZI`~c+XHW1!!lSv(nT!1fgw-{MSt-S5D zIDwab?0y_;zd!r&c^^AQ*qlxc+|kB009%qB)C@zfJIDk>_QUck#wFRi@#+ww>3gI^GD!QQMc-+%98GA3j9!a|$Y0oZg&C=m;=!~}w zq~m7(-Hu~AjVC>SB8@tU`OF&D=e$0z)0y+nths;utXQdkfZCZQ2C{2?;uzDQi6QB8 z4QUvhm8kSHd%ob?m(J|N_faURQd249T1iEfu2dKA;frH-eoQL0Bnqik@?w9!Pbm`> z_WM4fa;FlU+KT%2{(H`3l|l8s#rL&Jz<&cOBF9#sX8DHwJdks<+-OZmW6Lya?lYbV z`*DAbCW)3PqRAGT5dLbV(mcIsC7u`a)_wnLt9_DK4E&!agr6sod9eRu(isNt^*+h_ zO@4tkK?~DQ7X$T4;If*HKv}PCEhM@5V$xvENNT6?WaCLKtY9=Y$vC=bWkcH>A#G_L z%wlT?34n|%Z`b_@T>F53h~s!-JWclW`*+eUmcBi+uk!Na3(t)gpH1!^pM3k*Ceja@ z0N=qczhHlDF#i0N-}ux1(9qTj|NHL-zr*hmkH!dBpXQVR{`D`?zyJL&e*5iH`h!2< z4{i1fq!XlfZ%Dj<1H4bKfe)`pFF%t0j)DE0#AgybOYjwLNqi$cfu!ojO}e?cPxp46 zt{)!KL!W4_(vHWx2iR`YmP6t|I&Ag)#z@B_88!)yX@qndN#luh8b>&t(t1rgLt39n z=fxmng$DVG#ATIOUD68NwRn|X50L4DdojpSFGJ?ZKtF@uPeUq9SseeGs3Z!RTJ(G& zQ)^O~9|O9iLd`WMj>7*>*SqY>aRl9ZUu0eSwl5@29s&dh9B`%~appRc^8*Gvv(EGA z0sI`EXznrn02)ew0pWl!WC{Z5t$poVRb_gxBC=}Bc1xRmtM0C@uFQ;BvDOMb*O2`6 z)=Z?S!Sp_pB?b8gDb16B(~=j1p9N=7SU^rd^)(q3EFI zb5d_qQpu*NO-`{n1K;g=tNF8l4U!f;{{w?Tol+DyC?Qr3fnE4gDL@sjZy&)n2sy3KC)&Vt=H6p z!Lfkz8B-OYw@3%{d+P`8hPi9-FvRaK&xdCU(rOs2oL^hz4)@|+Dn1BL#yO)S#lpz;D9dFyty3UjYOZQ#ycsZIqcEn0|?Yys9Myib@0 zy#}`~9_On{ke=5QB_k%2EaLv;d;pwL)Cd)^DX6_u)%7_b!h$aybrD%7RqAkXCY(Mz znE?OCOJ4Ho<`p;G@Y?nMfB!86;9V2| z-@}&=ANaWVdH7Xh_Vee!`1J43{Hz0MEGLoZ#K6z|3_k<>0zXkce}+$df?q%J8^7_# zAC!-dF}~-0RTuIW_#1nJYZDXY6^>uvkOma)7qX&9xNy(IUHBmGw=Qs!WjF^oYz~!K z5y$LE#r=#EG9j5S=CvDttalRd;F!-m`43ek$gKHS_o#*c-?Ea_ma(npoWVGk0c)LK zi&&+==p44HT?u#Vs%7zULahkI!Wp+ok!nL!>gL-Odz-`XoK*#gMOoDTX?+=pfEos&?*s3qz?p6@#*Ac!E9s=(7e#qEOf{Q0)GPHGyb*)A~x)k&Y_|Nq*j z`L892+Fzc%c^+& zIm4-l6m-fG1FbX1V^KNl5N)uET7B&m{v-XrJ&_+T;L;?R;fit{sk_Wqj920I)u))=gf z<8cw5ugu+7YtG%%o95}W^=Fb}fT^Yc|NodkEN_X{bN|u9{INCKG13DZD^NPnlA19> z{~Fc<&A;<^tB*B~4NU3-*i4O0&7^e2?aU-4CQZ|14Wa^P#r_5g<&%f~*~5Dj5Y%Jg z;lDzEVFgMBpvj3gDZj}}_TU_5EN|pgqRv>`62+ub%L_9#$zNl!x;KlEUSD!D(Ip$5 zdrhPWs2Z?{gkn|=l0^*|8p4@{c2S!hM=VzUY6KE@8N&$Fv>tS`@Tb~=IYX@L!u`kK zZ0ZBpmnbp0{HLe_0H)So9M|69V!gJAVXF{uyJySRv41B5U0@gBAu(`&#XXceu7O+N zANYsz`uq1NvB6t~-0$AKQw;tdQw8875eEFqukh)?_ze805?@@3**tXPkpdyl{^=+9 z>8GFg>8H;HKJ$rR0o4Tc5zk@`UH+yz5mjfRSMU!npKo`6#U+;}&cg*47mw@|4f!6) zGd!5U75_h~oyvN>p5201&!QM$asTXT8$eIN`XUa1!oAMhhb_~;*7srN0pL{MIf}$n z1wY@65toC*GwORZty!M4^Er-B4t{r{Q5CH2|1?cDslOl-O+@9Y{a2&jMNKZO!Tpj* zY9*e61x$_LBbCoN$3-j%%jJ|~F!<^z9{KJH$iu!qKP5L?6yg zfOwb}N^Ncs0*(0@)>?|RR3qNpS9YTx-$9y zX7)2e3x4_K7k>E#gCF@70f0XMAOFzje3)yF7F>XD-@XB_t?o4Nl7HZZI~d(zA_F`` z4?`XwFDf3QDN%g{!x?CESTs!!sik89Cr-9HtyqDr2(0D|XNCTi!3h?RRW86Vrv#xB z^s%l^K(Yj{=aF`gl~LdtOPnK z{j8?v$vYYc0-y!hF}x&JZcqah4Tu_0%Z6(1Gxz+gAi;Q z`Suq)&aT-eCm;%3`?!e}^al98sI-d(^yi=O9w!0uhw)piq`&d$(0Qd=h{#lbi zK>mdSddwUFFn;l9;YawyX9M`nC{ku5oqqJ@#;U zY4E_s#UmHh9%$zil6MW+Y!C}zHd9b{rL}tltjv2a*l7ha3hjdeSiqaLIw+_gn&=DW zLqFyNMS`B%FMdZ~Ky(V(azUv`;nq@K zfc>}M;YWV9|HA)nKY#u#u<)nP_WSPuzXLxSU%v1c7<}S~|MZvrc8z`f18zQGw=Ynn zcaJ@Qxs$jl0@w?+2ZI;3x?UM;6pVFUw%j!2oN2)_ zt>q}QsWj;8oE~pmEFaBYdH?_*07*naRF7?HTgZ7dmGp{DO`{P|ikf#OtQ5Hb1F{g; z{sQi!-$(|WXwoF_ZNnwQg=Cau4aMZWUGsW8k;4jR>dNcKJ6WQnLa~xC`H>g1g5SqV zA*Dnz@3Z?KM#;rH|57{p7O9XUF|5l4kWwkdiVVWtE=b79cgu}6VC_19xwVb!(Kt=EVr4CpwXAFs`_4GWgwSiS z^^;9aZyl308EbN5nZa_-&~(-{*%-Q%^I&MTwA|)Ou4&yqToZ!^|45t2BRQqirfimz zO-(VT5`F-3&o3A>mSO@ZWw!5X{CQb``vCR{gyaBXF`8t>N)-MqVOB76zYaIkDBf>C zlSlLdC*}g=nSgOxaax_+9SDm$;ClXq$OPDKDSP&|XAiq49WM|6FCH)+ zFfNgH_U;aN!L+(=c7@>{}1p5%kQvve1*UN2Hu!N3g4Xva6?UBZv8#N zB=kY|MF5%|LbozXwGG(DL;sBfDQX<-#XzqCRyjZjGZyO2J~+TPDay02H@nqTv}RxIE2+Cd~XqMHHsVb9>L@ zW4yVom)rA|%%TT(3O)eh>%>4#xt0nO6ml|y^uLG!n8rk&a&q}mc7qR6&Q1;X+M#;~ z3us80;=!_0hbdkH%+QoZ4M4Kz`Gv{ZesNpR7huT%%$_}{Y&dy&kj3i>FmcK)t@;3r zZKfUF^_S9);y432%7kJEj!p&c@&JWy5c{u#Zs_vR4KqWq_XeQnv$vr-7tVcIaTX2` zY{1p3V5g7(7uM@w28s%Ni0`AnonJp8HQ?jLV|i8z1nfSn!2RzPyuP7)e?xi08@_$} zR^H*}95Vu5WZ?0~zaFcX0`Mb0^4YJAaN& zwXQ~A&8oD@29zpb1I7W1vewp-z$f5ow*xMClpPQc4{n;HQXqG@zvc^!moJSQfjY0h zdAhOvmo*)2C1H2|j(oK7oDavx(*RBM*EsKI?J#WKQ}s5ek0; zKI#Pf07?xO{^DTp7T&z!HLv|Xyu88wDKFG9=Z7x%f)7Af-BLWD-&rNZk@mp=?xlUrs)?NefjMXRG?--G#&L4Tk^nF7_)z87r ztE3?Z?MqWE{a36M3fU;Sq(UmmvwuVVh`?%^UlyOBTtCuy-HFy-$(kbAP8|gSQfWwK zA{FrilNCy7)E%()A0#F34~X7gU;y!1B|3v?KT4ZN7IT$koC(NTJpytTo6)@j8xJzV zz*GmYDbSRz%hqJd05(YvAaplaT75WCPpn+>yjo$?iLxHCalI~#BdoDXRFu=T)M&U3 zc0ZKe(AmI>3%9X6pM{WLo#4bZYfh}!aJ=0B0tB~**X;M-ji)#8cF)5#ynA@y;rfUhxMv zAF%f$c7Kn(=brm}OfckwR`C6v{p-EG+GA^{Kp&55yFMO$kjCnHX#zbi9Q-@mz+hXj zq1zh!jt#9HI*h|;jGaKh5!UUP#v`_3w070fPA4W-22+BSQ1uDxL1Z9d0rdT3Y0}D= zGtvN5>$}d#gI4eqxqq9S6>Eegc*aO=A|+$Y&Z%$Zw^y>MYhJM?2^dSIvC^azAQ=fm zeFBq)yg;)=W5w^6rkFRx^S*-)w0ZZh5}tvn7$(obB9PI63xn>WQri*8!f@Kn5*TL262tP8)d=lBGZDUEjnZi-Jn zg}JtnfQiyH#mk?nFr;Z=7@`>>rBbF6HOVMcNc5B2WtNi3Z7Pgj24M73U`rwwM|j0= z=v3~@O-FP@${pbM0j3^lx`UzEO!Q~%>RCT_k;1D5PMU1iYuffmdt4Hd>c!X&Z1*ti zhR8$9#YNy%XD%-yO6G4Sf57zxZZ9c%J{mH~0qj5$x5?M{anKl$?TLXc?h5Rs zzk?=hQ~_vh9LK7}TQOP-)~=L8s~IQ)X?s-xn!d4Vnrv#YJX95&L3SB%wme`Boyi(6 znu7psHpZ+9KyH<8tJ^F&t3gN}ljrm~)e@L@3P$Cz)J%;d{F9}ov8j**WX~?Y&{#^v zN=Zgi6hUALzWPJ4Vubk4ESVKEAM_rV;}r~VD3WGdZc}Bz5@ahSCABOrK_OP>kQi%u zo-wS73(`D;Cz2a~rkI&Za{Ry}ZZ{QKm=ewsDUIh~_=)LI8->dCXR;7PG?6<^Ggc64 zD!*sm#;y9ZwQaDt^q2rb4Z^YY8I%zJc)mXjvs2X2xp9PFW(dHZdxP~vC)~L`7{HqK z(S2*y^KnCxR$K7eh~;kw_V{?=jKE8Hc(4a=3vdT^4fcW;@bV=$FJBtGf>+=5zTb-R zMxXK3KkHB4^QZ6t`|ttyxtwKlbtCZ}yRo_8Y$$AF@6otA+2 z#(VhlPfUFQl=o-;u2=&(o8$g9in#XMSKK?(@lr~l3*h1rM?(Dlw#GL40>ovbfpR>W zB)~d`vl-Cr$=08#6##lT2X+&`R~P?uR&PNsuKrtukXu)qxcN$7lDAO|EFVK|2 z)R=&PW)US68hx0f2;LB&2|S_D=4wP*0CH-{fS zb@EG2F2XtCJow|5ha0=O#Xf-D-a6WUduwoS@9we7ckp$>-d@1d)7JKH_OQiX zt+B(+!G%9BdBM?E*BEO!t+4)tJzT=-ys|TAI}4?U^DYg$p6xK$e%l#kFh*=-gC-xX z`r{f~kFBtP^_tb#q?XnujeY~H=`orqozFcq(KZ~3Yh?YFa?aL~Z6I6D9l6WNY3o)+ zHEnBS%BlpUY;95$(B@=`(Q+0yfHtQwWA?<=Y+!_{vU0Q;H>TDK45! z5t<-V4k#tc13vjx3;`PT4^SfI5rSSl zQfsKz((=p-%(?$yHHB!Kbu zt7Wi1-@P+I_V4XI?``QC_T>ZMoc=HM)_eN`24C#GM-j;TldoSf{`Q>n%{Talz5f2% z&5B=|q`z+OeFvpn8TT&ydAPI(9!#tM1v@bS**-m)Y!ddwLGq(zp!sus3@<>S93ukI z`L@Df#rcfIqR-hyTu}*d)4xD_x~`*(YR}RS0vJcHBzbRu(Nhukl`z`YM%oJQPRldd zD^rblE#CeMr@}My1*XZShcIOwLE+N>3!YpHzg$e(PNgua;lX@ zk9t#J>!rRvQ4%RDWQdLDHelp`0aKwI64y8bxj4?C2_jLVIcM|+oT~dF&s0!TkblDM za}p>R<&^mHjW-hsOr^eE6XJ@=Y1!fT3$=`+S-`5UTcKSE)tAnTj%o?sbw;=X2U3Ku zR`pn%LljgZ^gpqJmDi$ID~rxx-q1pT)+}w)`*^gw-C{dXI&gsuLb$L?^dChoI;Gqh z*LtnfYm8U${T22dB*B#$&v^63TqoIdjK|mdmX@}?yuJ|;}R-NPC$RMiqrOIgWe(~=uiiu z!2!RR3kEvTf#&8g;3+_uf{va>(z-NQ&Qm}vATt3RG#NzMyHdv&NOm*DR!yOqW{=Ei zGD+hn&j>sUsA+P||7$5QNIqI@D`Zv2-TXlIh1th+CZ&|rgfu5#$8%O)&{2h&I%r~; z@c~&6#qQmQD(cOnpg_|iHC5=rQLHLmqpV57K@qUwL7r*=BPjE-u0Ezyg8^p)R% zS)aNywQT*XpYI~K4) z^y_K{q8}#Qno)%25A{72&6x+fxjCp(unrsIcWf(Bbg}T&DpF~~B(xgLj$*Mou;-Pk zz_3c?zD!C*ricvu9QXBpjut9iz|Zta@0HNvn{$%r&Iexdy1t&T<8DFvN`V~&55SVf zF*$6*5vjoPJg7|&9-1!dn^nS)`;n^*QA>yZfvQmC01!>Y2q!u;|LO!JFwhT*6MLFQ zVSgM0CsR1~=l{6T!i1@m7{&J1oXJ^#z$ylu?ZSvzJy!irbYPp$lg`f>_Y0_@Wkmpm zIMa(FEMTf|!Z@Am$ja8s=xObN?cteAuI0l=k~&aUp^>dF=> zVdEvdeCa3eD@?%PYlCmR`35=vT>(PAzBTx2U%!5}x1tc+yRTpQ3cLeTP5&!=#o(<8 zQ2ZPIhBv%1_&b$v=>1>4vhQHrV7&DA|EJh3$n=9NqgsGJXfl)JQTzIY!LH`cTfm!t z*yd1=o3ZvT0LL}n7EI)ylTW^@0B6q&CvYLP=X388V9|YD_2(q7&LaZ9KUegay}-OD zfV%YHW0-W+t6 z3i|O&_?UG!Z^i#!I<%ndr{dFVDqg9nZLDhKdBfI}pLot$D3 zH{9eG&_xJp0Da$^3j|7>bk!bgzP)G=Ed6@Xs^(6&I@#GET|l7UJ8Z|Jdjv{lcj=#f ze~)qRNUT6S{`u#H)!rK=q5<`{{|5H$o3#1)?>9yu_HW);NOvbNaR@NJel>V&Z{A>U zv~5ft_RU#A-(Lf-;T1Q$!fpRm@UQ!HcZY#I4KBI#<9@;H`UC8q*rMEjzumG28Guq@ zfC!`fxF3T9U`r>)dJ~-fd$t~ozPEWos1v)@FrXXgB>P_U32_XGaoJ5O&K>`&d8K1b zqlLA%7PV$puTO#GPtonlCBl^*tB7{0C%qq^W^Nb)C8tyeD#)`#@b(h*7ucPnOORLL z!U8N)F#=Qd04>mB@ap39U#lAel{gra%Uo5c27?)p9>9%3@?xe)(2&b)@W->kKISApBh6d}erfc)%^caMhEs)A!s1Y_Uz*+a^F#pA^*%gxYKI zNRX~p3jJ5q(yM+Ays9vhfkohQ1JF9k=g}U10HqKd|H$v%0eH#Xh&}+`FQ_gkEFl1h zNR% zo)QQZ@Rz!W_?%}fs*IX_R3(^a#R^7bCo4s00g3Elhq`K8&2c8InH)56WV9Z+3YN?V zwjOOgU-K@WVFRs!eA`>k(G;zzQAq2vcpLd%8!M_lBf@{>hY-=h0w=O_vLzaA^S$G_S*Kf3<#0Mr*jUt zF>sH+7eze(Ym7U%E13LDG50q!0B`(bP#o+8*qZ-wIBW?2|4sZBs-UPB0GPP{impyN z-kdlYJ=Sx!iUIUzS8bj-cOKmd(KQelh$emW$)KY7;H}4Lb=CymzpagC4Y09oEx=|U zJw3YN*+=Ruglu4Dh zlk0YX<6JlKVTPF?Y zu3CbbcL-8h(3vMe3qGBQzIBdZ9~XciL^GhHF?2AJG+6x>v5;?+gZAb3}xT4s~ zo3ZNR4!{BU%{Faya#j}C8J_1?wr?c_>30p$58!^0vC2a$cVLTZKszo-W*WrL7^|MH z8qH*$3TVJ<-70e_D?W2U9BL*lYE7gDdVF@=2B_%0MR`7=xI_r?>UfUGU8-G0=LNEx z31x}*a#p92sPMUZu(JIYHbnKtQY%2tbALd*n&6bmIb5Np0MA0C8pwwq+RTcYmM1j? zU)q8}5dStRuUK8l$JPgS=>Js_Xpv!PR0QIumQzn4@g5!Ciokq)p%GS`ELxyx10ov`Av^M7|>7cQIux#?ai8ZfR1)u5*XFW?^y(ia|{ zzkGRPFU!lig1_RGy~^K>@2~6?IB@8L~^n$Y689X}h=a>D~Hk-Xw!>_}^r2NydS|2fae;)0K2L9<(BQ2v6faVE! z!P2yzDD@36$oDZ?fGfjW#B^ii{uHGGA{>pN7IXFYuOPCQm23L>484yCz|T*sWxQsZ z7r1G0EZos3>i%jhTtPts(*X>1FBi0$Mooa-Gx-GXal zQ12|d{3HTVTzpg|3(aK-QgS2V1PP0h##9d#H4G9C@Vp%8=&Dsr1w5y!se&!G15~#i z8RhTp#Gls7fX^@ibqq4+1K2RA6r{hfj2-F$?5cLW1lUyi8UHg0*cCZlb8B2< zx4?@RVv7AEq|jdSk{fQU++Z(*8Fquc8In(*?asiV(Jt@tlq=zGhT#BRZ^xU#!D ztlV9R-!Fv1E-xQ=xF{9zf4q1^-yr-CpKR-t-@{?U!OxkH{S>YK;!zxrf&A-uu9yb` z;OQ4=!0Yk8_lY`If2^aE)6;ATuHRHAf(0lHbK3YE>8~DuHZn5OM!7i_F%SR!&!3o@ zCi((e6ZwB72I;I`obe@6V4dsJysG;SM}!>}w}9t!?Fzgs|DpHHPTq@F%H5t=eSEAqS>PKQ?@(oHVFez4V zoCd5fR-!{f)ekjA+MzUDo=us#Bq31G!)H8CkAuyGn;EvA`ACI(}`QWDXK0vniv z^*b1PjNu#$oK;4mZ^I>UJ{ecAI-R%&yIx;&TA%C)cD$QU`Xfh!7k1?6e=p(Xk>l}2 z_1k~3KH71;wim}+ZGSu(9PJwH#5J(8)78B|_`bK*`OJ!yJ#eN!W9Rc(J^9XvP5Feu zU~IAN0DC%P7;NLKENqO8<2Dhgv9|SkwC1S$)3h?C)_lOq=4)y+P$tsUJN0*(=)tBA zYjU#A3P`}dKM5Xij(3(1PaKoSmFu~bSjW?FJe z=%IvB%u2F^nUzwSQc9B17^%n<+(UQGHYI9@8f@9(v=8EdV+6qznwd$Jps)-LA~jI{ zzgXU_j+1#-w?IOdIKfP&Xw1v3HZ`+k*uy8k4jJ%B+lEAV<_G#*Uq;RLhTMa#b#+;U zh8=@-!@w{Q<{&2R=z=tQKHFI!RD1_y6d=Uf9fS1%fk1x0-A>5QKECT(dG2Nd2R6*U zw{bkSw%z(kBQRjO`kAX~JT>rAn;3(31(ZAIfZxUYUEB5bwPOXhi}xuuQ;P*C-ri!@ zx3{Y4bIsM&m2rK|9amOqzA8x?JlMk}_P_&NT-Y;rV}K`&U35f>&lKs$-M&q&fBaRk z;&Zg)+yUdqU-SR~AOJ~3K~&ttuv9MwWmP>r0{p_K#gBhwZHm%8m^c8!0y;YDh5>I1 zN;|Lc79<}?3@@&^9>aT7FIOwIh@HBAQe!`;)pXXxSYll3e7c!^<;&TvhnbCWfP-g?p zd50ze-vNDq?{&d*n~6ptQL{Wq_*lj&`r!<#Np(?+TB%ATfxL!Qc)VA!me%c>+QpBk zA2LEch%&A}KEg;>xJuh&pwqK_?075!0oQBy zwp-gFoO3tP05doOd)vz%N6+s(jE)8x7mo&yV%9wrgNx)odv?#I-Cy1t_m{?1e1|)` zyMv>pOq)ZaG2R-*b6)m*Czmxi`2M{&0C|JX~^7FfK6facH{;_jefV z*gj!_ZFsjIHo`!B-!@Sywc~N&r?^^0*pE9d*$M1aPS&5#c1F7YiUR_0=3Jt*3jyvp z7QoOgJOGPA`Wkfvzz`{hUgOnj?i~c^%tCL|_e*Mc=m8i5jv6qZ)?R zFmf&v`oZdgg-EcxDXUnTQm!iK?tkp8(3E_0FK8cOHhOUpavKlFAV~) z*~h@~F#5@#+lfyf;F=q2c&U&}(TCk!H1_GzxVp1@?%@i%y2I{JE)REh1$K3H=M%=A zYWZB+755Y($G^0PI93n9!-FOWxAnf@5q3L!;>q_72(r&!S>y)TY&79%zcxPU$va>! z`ypzz_xxK0w&KUTTD0_MW^8%&|f)6m;ArX0U_yvLwXy1>xo98lM-A8!@M*T9A@Gd|K zkt#7rvt%5oDOgjJBmR>Y02@^TfI`$sE9&Z?OGBYFl90w=4^q&G3B3s>m!2Qn>h4lg zf-ZdGKpld*LG7ev9?61GVz5vP_TG>Fq}Bg)@^aN_<+_2DlY*32FRX)&&A|?}9}dO= z_Qg+*t**CE*p4T2Bh6Z5XXe@40~dCQPXt^#lkmYVi{JKC0kC^t&F{Ii`x0UOWk^W5 z_Y(!M%V_1}2)}MB3fVnkkGq}m7*E)it!)+I02@0XqmM(afEHuz#v!a7qri@< zmD+vF^Ur3&ALc4d^J8vkGWLs_y>w3hW#D-~z)n1XSsT(awn_tHm9OUwM4LGqXNTZ2 zLM>7M%l*e`yw6yD5!wTDtzUHaS`h$$ubJ8gm3lu5?Wlh$vBmf_M9HsDITP1kTjU z`+Yu#3oQVBk1Z5yHKJK@s>Bw+)>Y{it;9D5n-nA=;<3FPbN9@|rQH*9pV?7YVf{Vw zKs4SgzG}P4h*oc>=t`u+!=+tbif(v$>4W_NyX3(nM!YaC9-NSLQA7O;y!5)mo&cVn zY`23gTa&dHw%_cnF!TG}AeFkWYjsnSecEw((0vjW3LuU}Z_5qnvA$nyzlh=nkO#m5 zv#Gi-=XkWv?rTLA_f@`~CF4s$P&>}Yx51`qUVvyC?*{B_J`d&PZT%kds*N4Y)Ndmt=e9$!%r@WCG0xeI`ZPCzd1^VWhQ{dudPXCGGaJq_|8 z1I2*`$$-T{j)FwYJTn1N6GTuHRSLvMZmcYx-|Jg@pEQfwsy}XO9~NAJ`dnR|7QX7{ zq1a+TRHcXR&z=A_j-&aH>nDY_?>Y}5eY*u7zz`Br6_(9yXv|$`4f@cf8w7>*WK;)R z4NP~qN0Y(Pgb@~FbAZi3gT!`4Q4WaEfPA6N%ZB}+t?=SkEap+q3$9yrxDGDUp&Y8QQNL3;0|UjFq1(9k3LFDcA0zG3(^m!8*-| zu9#B@4PvizRSS|;-}GFlR0?DeDjWoy4`vg{DK43eA3&f zZ?UoRxSiM$xu8>nM_?F+*%$;^2!s(optGSH!Zc(KLDfkZsRZ?0xP^y&Rb2KHp6lww zU$6c4Q7hzOV}}?hOL^>OV{EtVeU*I*Y{1oZyPfavBenzM;vxpE0rmh1F4TnN@e!Gh zJo3OpdMGj=skCEX?H@y&R9krMY`0@>Z1N-nsI9O1l#OjRPH@_I1hYBB_u-(hUzch^ zdgQpmR`U1Pv5H13s}pcay_|&fm_z@4Edg{j)E_$iKHY!~i=qv53_~|ZfHCn`b5G}t zc>TW(>aRcE(s~}>ES$e4YwEcf^j<}%(-igp#-?c&3qhd%I=5%QZ>rTT*?w2@z9au0 zZ#x;NChZXkz@kmKvv?zDPbuY0$qCEJCB<66t)Zm<$*sV$K~Y)1WZZoiE4dVP2X`o< z6q3ms+zbCn<$la9yNd5%5u{MU*^or`r<+DSjlv$tjYF#?ShW#v(EG?z%pet-L`sEJ z8cK1DpiHI2wuH4ZKueqP{sut=%Fc&Q7JNyvKTHO?(t*i3JiAdSb+YTo;lvuL%uL_( z64e=sCW47+1yeg2)2d9X$)cs$)U6rEqpio0qx#LW23IwXY{t>X4mRD!x^WaUZDYrpczhx9NOVsGoDBv5-~%TM*i;18cg*QXXtHKSw&Z}ajG}bhemC~e! zVkvCDO0lLiZrs^eNmC+W%~WhEjTu?4x^DfY+J8wtk#Ixambi1+2p)!wv^fnGiO(l90U> z_K7X##vOk8^e0Rr}(2tI;00NwKR z^kjR9m-PMj*k(^so?qq895%kc>vjE}$2DFOb(`{4boeC@|FmLND=X(<_{%fVT!|SS zeVEysSVU;R9HIF{=?u}R^?ThvQouPPa87{L$3}FVDx{Ai_Ep&*(q4;`7I(V}g=;+@ zW5ut=ptV`3O*Eu5S&gvkc|>#r_5q)r@1G1vF3J}WICBPy<9Nv(JH5~kD_ z1>~jY7mI(@7R6Ga!cGQ0veUM$d!IPhw3By~!&;m(?oDgct--$R`7ic0A5j*wt1H z+*0h2*hoZE2Uu+py*1dI2t|A2>B*ivGI+M#lO~KOwjMP+8Bb5P<;lc5*dxQv8etf0 z*@XW;`zYiavK)$BJ>b0pL6q@eqyPkKP*YOQ)Tm%)A$cyfAO`phv@GG7hXTccz50VVA;=o121kgm zkZDH!t7Vwa0@FfNQDMPxw3b%&-%;V+IEQ$8ud$VMcpTLrl2Mb#;I>giSN-LjR1#5v zJ;R!U3sCQSg`h{^)u}hsOTbR2Wts5AD!BLJZHEB-{k8b|bKGvsobV zfL8FWIiJ8_Z(Fb}d;grho~!AECI(d;@CajL>^HV&pIo<42fQXFpNJy-m!XHTt^^;i z+8nJMW$Wc%n^m>=I%#t1<+Y#=KlM0rK0CO2_Q5>}u!Y&zuLB#D8W_MZbj$`n)yi`@ z(C6zI?X8o=e1aGkRVyIWdc{)!JwAibH8sU2g-QYDZofcoaDJ`;AMyIJ3%d-xY~$`8U!|7{|jutoIX;aT_vMtyfQU*TI7|pN0;jlU6{Ev!Oi0ICtjG!S#Eed#peAVi5Lc;N&N~$Sx~S3r>~# z8m~P@g#eDi2DIY(5Zr7mnvbGuHZW6+fjj?BR)Li8 z`}as-!HQbc^=FW!GN}~y0}E`R-d3v6GK%aYj{pN`W1#zGoNriU32jUsVH!Hj5@7~R zrDlu;XF#`m&V6rvue>!Bd@Q&EP8Ko0s(YyAybUBpActo>{ta*_*m}KiKmw&NM+f@bqzqA=O%~!(jbneAD=VjkI>HBr% z|JUDK$Z%VuzbY1qbI?z%C1_VKF|gwtw9v5tK@C>qFk#ZcOr^fQMgcRcPXK!zeL?BP zDZaG_VD`o)DWtxO#Wq@k$MaR0cpqwBvha`D+ z2o9q%eVf9JA?Q2nz}VEpV0NL94`ww@#O7GOP6@UM6#Ttvl;8*8xiV`EQHB$Lf*w#q z!a3f~2}FiD z+HviL^K}d)(Ihxn0b3u}c03+E%s(2C)?)eDqJiqXe^KKS$9x$9bPTcj*W=x`3+#sl==aR*6aChsoTP#p?u0a}5#}`0d0o8Y_TCfTnRpKM z<8xdWfRlVgcxwVs)cLF8f92Nr_z7X15p?_r;d6>`p?=Ry5)&|b1whhx1(h|4#k@xO z5H@}y9%zH)`T#v=#7Z9Fha!N05lySTqmGrIoa&AQ2&u0D*6qqIGua|9gDwqE#;i21M8zl z14sSMtAEW|=gI-I`%uLYHUTak;D8-AKHxp8;A}_f>jqd%on9!Gl z-&g&SHqpwnp)NiXw&1H**{;r6kiTDJbrE-fPY8c(yCD2ev0yE5tqBVyUka-(&>){9 zXxZ^+k%TJ2&W}$D-a}qA`AOj>luctjSt2KS^+bt~MLhs4@{ZsIkaNnOFGQ-Jqy12A z4HhUsg&*TRD)LyL&Yt7sd1jqeQ*QL>wNamIXP@-oQTxnX%@sW)tEofnNG$W^Rr2UJ38eW1@XuXWw9l4SC?`(V)8e%!$3>{6zH{$h z|HLGDrt8kub+rP+%=8tcpDksk_Rg0Y1?ab*J)+w2c?t-z_%vbVZG_rSgFY6j zg`XueTNR*b)U`Ok!KSg9_g~A{x+t74^MYB&)hzF==Ui6Tz#3}nJLTH`OOZiJ;@qSe zpszfFnfC8dfy@EZq7slyAYqsdI&hE!-HXyglp=6zBIo?q<^$fPG}Wqs!Q4#5^Zmt_ z3vtj)lxP}i-St`E@8!T61vvM*@n|7vm@t3FI1&|L_Y3eJ+$#d!5vF#D9mfC<9TAAL zq{HYsHTWE=cqpO(|1Jw2x;Fq7g5A4}6*m+i(PI=+(SSE_IV@<^Jc%EFisR%f{t=W0 ztVzMAm!1APX=Ps5=pas%AREb_a4n0nvi90Mwmux}uqLrySGqD_YdITNx8CqH(2BoC zQOdDyuYw*XBhNtnHIbcAXQdeEIvk1uU|CW<$Dpsr7%-Ltzl-)?dR~#+Xw}&lfqhGA zZ@kYO<>~k=-G6n8xp=3Ms_$7Ps)EnW0+1%k+Y9p#0p86NJ^%c%I%zbb*C!Y8$Wzl7 zACDl||Y40#RCsfzE;y zMBO<#meg5Gp5(P$=%qvd@CA{g+I%-^on$f7dSp-!+)Vt55DXVrV1(hwRA*4vnrSxN|{)6r~B)`FetsD>V0h`=ZzYbXE-Y1cbut+8J{BfyD)O#F30;PG-A356E zUpG$-8uUkw&e_-FCsqRbh!gY#DE`6RoH9D(AIwSsdpnDqSAgmku`tu#()i`t> zd9~ixuWex*Q%vZiqxx-_d@cZBCkMsvo@$EVgtIBqfQSGZo?SPdvc|dVFAlPs%ikMn z*Iz$xbvifHh&E)u`lZC!OY-nf6-uk*{>7m8V;rf1mjH84$vFX9czpu#g}X)ssov2C z8PQgBe#7V_@28^AvupA2L@m%MH&!RU_wp<2Z&T)`q!)( zKf*J>FVu$qgLxlzaRZdgS%aHDR>4YG z5Z3|`Rhw5BzZP15lJYo0>ANqVCq{~MS|5xUyzNalKTd_)><5L-ZE7A(Arx(!2 zteQNZ=ZUY6YhU$s{Jev2oZ!s0{=vyU!URGFIMj$v1HENz=RrPudy;|}5YJcB7~}y^ z(@K^a~9bCet!n`h6Z;!tK;{xyC*(G=|p(2$wt=O?KN3rzlb_4fSdeFz(s zTb6VrU277^wB9us3hMq^TE8A!UB~mSzkaNr)6!viP^+l|Lm8k*G}x7nLECj514HQs zigzO}^sZ(+Q|Ku@a6VH+fH@bJ(K3LWfLbk4>K97 z$)*;Yrj=Hmc4cFGQa&nl(?+mnT-oUv7&jU#Y}H~@3*)phXcMc+rqd)qa?;AbnkH*m zS<7V8N}q%8(3d*PkM+}J6Fo55)DuyeM`TJ18n82yO(YF$vO@jb0Xa2b8Qs=k z^bS8cTh8M5=R8`QuLv8E|jCb{~SqHB$&Vud0FVS=Ve-{;Q1LIDd2nfpp92u3Of zDV2hyRIHd8*({lqe@UWRgQ7{K&?ab#qWi{`1PvuOiDZ^6l~S4_DXpcPQ_bh++G6&Z zPoamODB92Ly#v5Ijn4T+Y)1?cuQU3^(}zWsLG=g$5fOHIZ11)HN(ruE7*y?lGzw|z zjOw4mTqb0;APW~3W2$U0Z9hg80Mn>iG!O zqbwKAH{$(PtlX0?UVpL^s{|+U_k9x4_QEHgnWH$9udgN^n2UOJOhxv$Lgyl$Wys&f zF=OcJ@uPyPU8j_5v9gQn6+Ztn>o5HMBm(lvPIUZ(;;1NJnrKZL0#kn|l_?1h8Glopmo=S@e_$d_X@Q%G=wo%{q*~_l@Zb9bWk`NIFghTr2vL8J_nAwB&5|R_ z&LrjlBC8)!i%%M}ne{yBY_!%&E1BsPx|jjX!X1cU-#XT(SR^w^CL{3Ua5!8o`v9OI zqmHka=jKanz^bAUB}sKKBHCVsZJkNb!=rRCS`PpLY>gGDf}x@cvgHxxo5BaYh*?le zC9m&7&kF#=qFSA%EhJvnV;2m$kO&NV%YrQ)jM_5&*DP+J^S^9+vw^>`g+JJP*&i(1_&ca}|Na9Qz4+f& zy0MLIYlD%+f?+T0KdN>A{bPTy@pu2&&;GUef$iTP+Z>Q!Ke#&Pet@4%H2fIWGI;<1 zAOJ~3K~(n#_OpL1HmSXd1mdyCguHzdU}y+37#1@sum@=wf&6@IH7E@@)^f*dp38)I zYXcp|Tw;+Mj}EC>KbOn2DoBzdEa;NGE=N=q2DtS9d-cN{#Rx{d{uSGb>cM(0cL@~n zSh4ZW%dIM{$i<_~TaoFPRptdVIpb1zkleu?O*oS0EqC+Em8VD;CG_>d0hcQ_JreLH+}=1OZS`Jh``LVGnY8${-Ip7kkvW?zTozDvxpJo6V#q-^u_endfJX#zO zE!aG>r*_V9!!5`W{}t^&4W#{v-FK#sIx?9XbQq$oKD`3hY%zu>z4@=w-%%3QbH9Z| z+wuZa-5`HJ^8oJds(YXUAguK;v{dfvFQdgouhI-f7zn_`K4}51fEETWoj9CDGSuPe zBDXUjf&#SVP6KBM);-ie%E==AisY}6h^5Z z-^&8xg$-4Alzscy=_#3zzL}`8!@g!)>~8<*=j_9BjolRDYaMfnFSl9O>qi5i9V*%> zC((UyPdaY#9hKQzNW>KWGqY}uzwe$L?#BdH8o~>8_`yhT3&nR*o+!==NKZm>v>}-r zL@#G-7t0P=q6PJf!99!Bi+l3W<@wX46@a>W`T@0FLQ1S;Q$|U36@4E7jD$G<@In7K zd#-WtNy>|w=U7KiACBmK|0d z`vFQVtjdIb0ido@VQEtpltBLo6rjibDM@&J{rutwKYyvH1HgXpxBlv|Ifq{HZvj6) zKluCm7r+mG>eqkqxBe2FINy{0{u#>dkNtMf?(dIXQ#uVlKluISxJaKgwY7aU+-LmjvF#GZ{l4oj(-%GAvQ+Q&0@@6Eunep&E$hxPaeghzV%EmD=AF@^OLpp2iu8{|8`JUR8DAIsMmfR3kt=fwVHK$|^mOHAo(%JR3T(bV?J> zX#s;*qF}IFSX7lvhjAEbx$1h3GDnzGFSJzZ<1A2?4^`X~HW`KTKsZ>S z9^cvjtPse+I;{+)7F%Fig(wvss?-e4a^?h5XI-P2_Ld}b9ISx!PP8OP|FD}2L4^FnF z2%0K0Y>CV3%@`|}muULK! z04{r@Th8GT+YsRxGLL#t;xv=R!HW!-aY}~B!;$Ci^$!Ku z*<7I6lY_f`frl_4gV8^|y905h?}`AX?5DARd`*@f+KgF?eQ+j#w-NBB$ei55yE#Ds z1Av(&2wE%j$Rh9+Wq~Kf7&OzTbVd^)&=I@t-T+Mp(p)tJpR6>XUst?p{S!@iy0x|_ z!FR{jZtzFO;0p>ki|I540Y^@38L$}ozt=)sz3B9N(TH>(d*`(z3u>`{KH|7Pt~3CT zq_wZKK*vA+Je^`Z(!~2U{ElL-F5@LY^4plf+4NukemgDT#AD#c*}~k|!LOr3|E4VK z_k+iQ$9|!@{PXL8K+or~=K~)KFEnwvYy8j0J`XD+4<47&kDfas9W%^j8hMsPTi)xt z#Ja#)QsK^gKk__Yylgv{qR(Af;$}Zh;R^p z)(Rv>l6oN_fgKOGMVb#KOu%pBkYBRIen>`LZe&!Dv~s&8#AADGd@HepB*c5TLU(BC zv0J(I>fvrM(ExbhG6<(!XzB%*oVXUy+Y7HH#gva?i~%qB3tv}98IL~z3x%w}DZRQ&O zYUK9mS3rxLPOI+oSUo%syYL&|fOU_4d;O8-lJU~#;e8))>{=TKsr>XceOs6BfOnE? zTj%<6)BD}UM}QDm@4Cu_?}*EAIBkprxW0QAUDvtR?lNDmz1vGP>fdXtjX<2g0j}d5 zU|s)wQWs>G0kvz;MgaCTx%2#3&IZ5qI&dXZ+*TSnURNtJpY03j4O5lD*%mhk|YmXAJ5^D*+V zCj$xC^CXZ2bUqK%s5PyuBb2&B-X5gh0U25A2+^V z=%NEwe!#{;!JVIt^k)5L(~)^q?d}z*DAYXx2u8xiE_Dl8!yC{i-Mgv~R&Yc)cJ!C+ zK$Rg-zIi^rsWaS!Jp+k+wSZS*`GVtBKY;^pVyQlx2Nk4OTFd;MF>8Rk;Z^$cpf@w< zJ<dfi$ zv?q@e=!YT@==6fiszO&VD*3q9k76M*75`7IQ5uN$hK}-b7@d209>%T%l}+$443{p3z}6lZR;Q>`j9Mp-( zTt^I}|7qhaaC{e#$OX?AYT&_y|DH4iIff$*tRQJ)!VpEeFBe}k+PUW2!xzk}Y&$I6 zt!i7z7y#P=H`bT55ZzH5-c(;v(k$dYKhC3~VUG zMFXWug&WA6Hg`8R_z3ZjDul^cR3W@P%qv*y!@|gFvbf-8)mFiHC)9zca3e2pVZekG zW^hd^@fiTpsz3ty{Nf7q7yp(2&+*>30rMQP1A!VL`UD3L$TGFoh>>YJHQt!|Yyb#p z0vy06q&n0b`>>O{9qeFngcGy?#oeX~sCBh(>m1kAVgQ&~_MZ{O z0Ms-?@bKyH!+^&=UpfRIe;&9-n(H|qQx2|wp8*!14}rJ_B1Z!KdF*ql4>BTXBg9DI zncK?gucjvgnNI2S&z$4n0!OuHdh%Pv2cz96G3Pa}ExoocY+zCJ!zug$!+VYC0)!LI zck6R5Qh?7$xfTH(mFnG?QoAX{(1BrHp2dwIZ?y*dJ|v%17~gXY2fRC2KpRNyu`7aX z6uSN z+2kNh6Xewi2yE7Nfhdcr2>>Qli4KKi;{ohQGRFYqQdbZF93^CW_?N1}2}%z5x}}@s zVbjN()9W(Nr9)ftt`G1e8)2RgH1raP$M8ve5cnWjDadp@i41~oe2v6&3%1hmvO!68 z`TVdf8VF>5fP_7Wen0kPS|IHsB>Bl4M1OMoVA$UaF7a66;}6<7JV-?&$N*4R?LK|^ zvNw~SJJXgLd8lzq!iqaAo0yi%vAT(;c>qig6ut;)pFFq4X*und{o$_fn7RHguvT9* z5X$!pC$C4804|06Y{W5C2qXA1;PUKlRb_B9SeaS5m@lrV*wg^zsOnn3Y2lxiV15>g zcw3>&qpAY%FqE^k7Y>;40FM+dV8CK@;D%&`AafW{jPBs)X;{r*W!XG{Rs=e%B<5zx zStF_lFoIy6fD6HWLa{UMcq#;^_OIDx=+3N(2+%60rzBDoXwZfh8HJs3Xfe>eCr@fL ze@me82sy&gW1QRa@9y}D(Q)r{Y()zE_%W=ruU1rf_!qCQbwo#7jTT_@&|Q|&_2lo> zZL1QiSRY%TWi3a3dG|w|g&K}TDMowrc{7A9&AP!YpW@aPKwe9QJC01%T;@pf_PtO6c~ zlGo)vKF0NNiGF}wfK7o9AUxt9#py4e0J$c8&geCD(En~%KY4%7JWYsoi)@sChIODR zGd3cB^9NuaX7=CA2Bm`@225DLR6iQL zZ}Ob?-0(U<4jN$x0JaBPNd=+M$2v}uk3QKU3-Y!xp<)zJ-FB(gUUl=y@F|8UV2478 zg298qLIF_%4nybP%RmK2MT2Qu>=Eod+W3xZ%=m7w#Td7 zyk{yZ^lj>AH?Xig3wRn{5J-Gs>5k0To_sn?1RnSkKzbLsG%z`q@Ik@38N#lP@u+Kt|v&zJ2I66^&)Oh8uWCOzb} zK=gb*r!j%Ua*`GN<_F*sOWb}b3CGAa)AH`&|Fb*mBK>d_6Q)B;a|V3NBQQCLCUodM zUUgu;9->JjFI@ccFDw0ClZS>#w2pV96ghmouVF3!!W7mkmZ8q~rA;Vi9AFD@_7pt^ zJdTI5SfBnL#uHDCT?0)YX%rqDU~>P5$2|vMnA*Ntm%Y!`BhsJiy+5D_9)1JF!27~B z$mRp!FT3}ga_w-uw*IEpjrZ)0lPU@`n|(3W4tIs_ zE$%Tr1B|}C*FfHn@tH7~q4#<@U>-31cVpGe04ta&0szopsadHUKy4%UvPv2#E5O`F zMx=zPb`I|C-X#}8tJalQB}B4;)l3N0`6nVL82bn%EOHnK zRxKQ&sDs~snWIpB!5k=A#<8z^4l^PHZhaDE`~cE&!Sd~0mPkrdAt^&eFTMc0>@`>l z?;t>xXIh>(y#}Nhzv2umj$>;gRR)OIkM~xtpZ0WJy-RjuD3rrLEIX5*7@IgOU;%4KV1;|-il zr8FR_Y&n|g9<3kB!h0M*k>55>Pqb1B>Q7E%=S9veoJSxTOCt623p;wf_k?vrK z!(^C|fCC6488`y4{{eks2H7z5Iyc#XB5z2&2UVFW=P635LBys^=hY_R!VY^2c3iFQ z2b3^IM+t8LsfXJ71W_PH5#L`Fio%Lem|sK@J1Nk%hNBS@k4_D!OBmNX+6Ywe3UzuC z4s6$J>_9XJA;M6b0T=a#EMP{Jq5%kvYn1kvG=d?ouz6@L!<#Mp+))DDm%aY>MvxKc zaGTW#8kK~vZ1yHb@2;b*>@iV~HW99nz14O;_QYcs0&Pzp|DV@EDsWrd2WYOFyX?VFXhao5>h=5T9 z#{e^_b<$We4Jc!`9y6Jg)lG2Mrbl{~WW-}!xAs)R%RPbg&Ern}LN`jFMq3Vvka%Ts z`iTY&8xo~7S;mleOY>|Wq3bWJOMTLDW`6HFValFDDVJGQS^3a`lc=Q z?!N@<<})n`l?oIs^mul4Q7$aJO{IQY%?BNxa})07?RV$m5rk2Dcn_Oxpm-#{0a*6} zY|+Uzsmk;in)P?e&Icgms<;%h)F(rzBOBN|Y|tKqUWm7cmo@|DC@+zQ1bV!ImsNmW}`0tt*J>b_{h?x)yYO~ z3s^mY2W{|#+UwD^Mo_gs0gn~(zxuP_wY6Tnuh1sq0_cGrI$oQU=aCpke+NAGK3Yw|ECPy9_~| z`}*1rmLLV`;o>-jc(lQ#5sEz1emtE_@*&b2e-j8)2R>5|rMM1-9|XS34`NuxYNzo< zTspo;&vYsWCd`jyn2zH=jvIqi$6D*WOM~4tIGs;+KDhp=?a}ArT_JIcMhc*uFFC@2 zu!x=(EHFoaA%g~%3PTDn@jboOyXT#sBODt&4_@z0ZN&pNkyx|^IAL$R@)m2s!D&PX z6vXSTOuKmdA{Z@u$19TD()X`->Dmemd*3F&*kxSQKyv|bY-9pK$5+itlrob>o}brx zAxY$Gg3=kAriTqUQ24)c&f$nsiVuH?QOf% zc7bs7Zva0yc1MJ#Rh-7Y{{h&cfwULc2SC8G$UooRqf-4n9jF_W^}>|GK|I6BY}8us zvYda*{|kTu9|+f((rw*n2H;WJb1uWs&H3!-zS9i z!Z$d~Sau-V=ib(cZ$^kF^D(v&UmZvkHk82-2k_dksSAbfZw90xFult-uOUuBe)UwJ z_Q_cY+7co<$*Kn2XHE=(WLU$U0 zqmy{XYke88c@K@)lgA(?B+dZVHa1`Nf3`^zHstGH)0fs53cglf^Qp{iu|cm%QBY^+ z?ak2~k!aq2YegI-pk6c3`p}wyy!{vsy~fsBn&`1NDf+u3Hq#S+drkMA$l3I>7tTNs zcj^Oo5b90@!p#U2*5#nfV9oP$kR!;Z0$8A6b`(h1 zoB+)PP|g83o4=@KCL`bu$GM-8Lww~TO@7cOProlp_Gn~)=@^oc$i$*gFidonBzKS8}QCoJldU9oUWyd!sjA zZ~mE2I37`&sZoF_7Nk<>6;0!>!$Sez(fdrWfuA?%M1!_}^`~ zj0U$)?jENVyl+QO?A5VTE>zkV_q+-91oJ+(F6&K%iUwnG0k8*@^r z%LjMPMd8K=*tMCCa3JKS*+j+TLZ-uK6}zx(u4{SkWWBx zn6bk<1~?uJj!bd|1l~CddPd}T2u4hiCSU4JkDB@?v!+t$Q^2sI*pNJcIaDX$Ym6xA z$@&X8T7W|FN{qpw2Je~J8glaN65d;5#sWQIIJq7UP`Gzgi;8Mh)ZQa1Qd*qzhBh}# zU4Y+(3FsIx-T1i{bNP3ba&ch=YeY#eco10qH~+8u9gDBo6ys8;w zd(L%UNE4PDfOsjqak``oKsB((xA`_`*l*O%yIv-gL2SQ;cXa-GGi%bbB7rR~2YDIo z-CNs{=^STno|=CPdZH)&Hg?c+|8PeX$Llxvs|XU^V!bK#H9augfLzbq^e$h;ott9} zpwGr+8jJ`85@s6#@&WQ14dn-v+o!v_9$h#%Xy+^o1o7#gIH-fo-D!L}nr^g+R@bpMp zrlnB7@#?v4+$1Ei7-BUkm?Q=EFBWPO8(=AvWL#5)pELzb6ac;VloEivKHp>|F@9A9 z+N+BV1#mBG8aa($D%HsnVyZnar|&9B@=MS>qclLuj7ZDPtHV%z7D@s@#P-e2j2+PU zfn9rt$K0>Hek-P!V!~ZXm`yGKkgvtreyE`h?}y+;XF<(~|;iVxU zbM78i$}-&Qy@%ddy4K6J`RglM;O58Kz;_{mKZ+6zYlfpb&N=%28Mk$UfU8_M=>~Dd zPC*!Dz~5tyw8^!Rsnk<38&@FizKum=FWdV2x^MyD+Pv)Z*tVO^cMbbI=>mAao;Uc9 z^!)l5Z{%K`d_zoX_MarUJp}-A{i9p0>Fq%;PyFoQ2zi(AppZV@-6IpOav;69q7O7E znCZ!l)S#a$@(w+`y9`7x-(eTa*JeY#y*uyn;6l2*#rh)@SOjs9>i$N z$0#m?8~+%AE*DONTjFk2SIVkT|C@*fbh%H_!;rgNfT8|wybSHx2Q%}7Be=seBq8Pi z#RznqF|CJ#O%J{K2?UL+D|Ai8pYgS6pR5#K00Cgl`4RZiP>T$ih{C7j$=}R zD`XcQkefsyfE${xxn~?XaE?XnoedqF$b!#{{q=l+T;$`GS%PY`qP~oRURU<1)(PjU zx8K|Mvxv^)PN=Sw;r+fFok~pT{qK)qwINX+&tq)}LX8FJIfoM@LjxIsbHnC0-x&(8 zwb9%6X2uxG+32*L0mK&3r@0tk2kVgyc7Z~@+##KH_=&ZsvJatzab30v>I9IDu!u@u~vxzLZ@L*c-1+ z>-DM948Nko{e53IigR{|KL0}3>|C3$jqo$Q7vc)AVi42ha}3Dt7B>>UMeZRNL`F)L zpKYh>@r&m&Gcu8^Wcg9(1;CPD3hX<^fmi^5PM+H!Ec9M-?{d4+0KSeQ4OevG%|CFW zfewOyZ0(ok2UP~q4Sp_gU%LptfKlaZzn37*pR#4L6l%(Cd0$5vnDZBsK%C1PyJwb0 z976zI;{cVwM(0I5*H$=B3z^jaleIjlfHcjORwT}7q*<{-7YkST)kF(}B7lPqGvw?v zKnxF!Acq!9(Nh2o1k6(*;?L9`;+$1EEY449VIsqbLqHrJJ8ffm{Hg`~woE$Zzugmsm`P`z)n5;qEwI{wDC}0~`X~ zTFjvzM?}-Px7FI$bu}&}f`J8Vw6N;J0WkNKgHn6SEr2ql6|IP&>x7_gh$l2GG<8AT z9ic{(*%0p7SFMzB!%Rk1lHUPVr}HyYknrhL2Oz_69g1!ma=$5iay3g%% zA*Qu9;wEir^Uubg(OafUEf=%$|4A9tqQ0*BcOYsDiX`rPnJ73lRH;YTgJYyY0e$Q)X*quAZ2 zF19Eb+vhY5NZ>vr`lN3q3|;_%x2M&-K*TG9f}29XNTB-wnkxKu63?IJ3h=M6e!sK7u@8U0r#b&K zSW`GE@1OVC6_V-Q=e0eTV!XSet)9>WC<@R9p3Od~0vh8T(vR=~d3+fP+WLJ`KpG44 zJwa|$bq(+v+(Z7ekp~~pawGXIahiF!KicUvD5!E_D5_OHuc_RvtOXC%7(H7dnW{l? zj|$U}AGQpuH5d%{9cIytUQ@)N?m-Ix|C67X$$~z8FH*oHVt)PfED;@6g)+ANmzsuo zf>r>kvhE!QB+*oR4WK-5*u2coEeSFcFB5a%^P5eBFU%< z1veEX&w^~lBfx+{6YB9Z z5v@#2wHoN!+OA-`F=GQg2L_Zy-G58ky2299wo)US6C0X0N3B7_whHRsMZzkQ8h6ne zcj<@#m2v6Kw)E+uLbLR!iRWHcyRJOhEl{=#&VKqZ)b=Q!eaXB!!f=7@S@z4m4{)sY7ZlTDq;u~tp9wD$S+oXJ@+xBEHat!_l% zYR00?>xt^@q{g22MZk0Gb1>%)Y~LFuYBIWQ-t%`x`kWcuRd#kM_b;ksl9F@p$~_@SHEBP zxpo8BFH6x-QV#e~eES#&wfPh^z|7UI1{CsjYEFZlOmxtBFdew|#DIZ}UeH~tBanNmDzyW1 z?r-FY+sc)gAZGdcUL7=*pAI$+cwS496r1>gc zm)Lmd_}zJKsS;4iB{JhQ_Ge)difQOye@2e4e z`gopeftKBp<#2+10{s9)eo=kl0=E`_n~SR9{3vyY`f^7Wiq5YTp>Y8$Jy(6jZ9zs$ zyi_l|I*0%b72rwq35hV$o>&z$8jcs!Pv0^_8h3^KR5(FSJLJlvDWK-R9Ika={0_JH z*oY>&N;Iwtz?bZmiZBq&Gi)v=)Ty_qE}rQ?#IR8^RSi+_nF?z60R(YasfXirLraIGaB@3Ip^y@YvCE z@aS`$?|>mcMAyZ%rQ@WVCj#L5@v}a7zgu_4YxSrFxaat#9WRcPLI4YDr_Tn=Apu^l z)kyaD_u6*(gXMr=x|)59qxNeC3w8j)c)#>MsD5Vvy!vs28_XA|=n23|VL|8oJjQy0 z0YK5cqr8p&KS>7wBM4%0NA9aVbgKYyg#)F!e?M7@;Yy@3_sOx4{blRf1!Q*&7jv$* z&eKcKUs(FF(7XcVm+UUl&kxa6A0Nfe3vz^r&np zv zb^8e$=&sud>0xQv!k$JVFY|h`WQh15A`p9gNa$;^RBMCLa`(1yPal!2KDe_D5WxV3 z(!5|>IX8U2=6L9@F+6oP-9`j_ZyK3-k0LOsX^M9@ zFCuzVMX|Z&`W)S%cgD3Bc61$H?=d=@SBO4_&n{Eh@9&cG+Gu=*21dl5=$A%!@eQui zIDyXUH|dCgaFceJIBEq=%dR3*;GaH!2c`iCI1VIR5gE+)on<~~zz#P#c>;lC_>Ugv zeGCE(1Q&600!+*QOS_{`p{iHs_Z<;X?~hm=@w|dj+@~aGeZ~M7%>G|;ek{3P*%wgs z<_RDTw#zDwm6+6YuLPwbg&)*5L!yveg_dTOW!O$AF$L!P{96Q}MEZ8m)(q|E zcH1z3?g9AcpB~To+Y6aJx}+RlVhRFzaD?eT6mB4EP`F!u8P+EN^8J~=7q~gGJO3uf z0BQhg{NU^NbRC{8+MmI2VF_X()<3y<^^Jcp2x#*%ZHfIgIrVvc_uc~_v|7Z{sI!|y!*s!WaMU!PYPLSqB;{F3mXB?!=WEnx`p6#?Ml`73Hrig0uK z9ff7MyZlHaHeOw;$@eV^6~=jhEDyFQsIY@YW{~ZZGjLBBbdToj%u2Nh6HF&jUSczi zSBLVzteT5U5Uv{|9Pmo=081fK$sV`RctJo#0$WLbwN+49VEv3kCDP@aNPwHVQx1WN zt#WJv5O2W-y^qZo=89#hI@ByQ8>lJ69j13EugBY~auXFcY;#fSVu>I$o1ciyF z)8L$4(%yK_#%ysCF78dkC7ghdx3}IH;IZ)%+edc~ z7^*IsYKsfgz<71+rbnMBfViYzX-Y>5jS*n~V-$|u*XBs9y^#~zqy7Eu$@@oMo(6%> zP04hnUv1}Y5T@#P%GHDNTdQOd!Dq)F!}~7d$>U#4KWNkYclgiW4de}@uVuc>Yvv%D zRh6XtdX%_H{v4*kpu!7g$PB}O>tvr+V=IiX!mv)7BLD~?x#oq6VKXU2XA=#=H7hUr z((%G^$DWPo%*P4NY_(4Aj@}tXc!PMADU`p*M=1*MJj~)_(EBGXRRxe7^O;2eVH2s& zt&}%w+$#nfFvMp5{g1bdvv0U@v4zG%X+d-j&M+LKGKAgz2OaM3Yb$Qy27t{uaG~>C z2)s7e$-P5S0qVjR(7g<;bG-LHnZuQqoDcLLfy5Ezn5Q31AdYb791C&oL1rIjv&(>V z5W&ZZ*l%>+ug@eS!4yKDW#bC*_q?~{%jiSb4n__j@=kUvq}KbXOo_*ucY3+jZTWAq)pxwVP}z1Muwq3pKnSp8Wxbj z@!EybhN&wY#l6r$k5;(y?E(0-TDkH?89ts8Q>HppWu_X(W4nMsdcsaKm>(C|LoZMf zbm?~|8b%~O+Roa4Srb?6St;rFw_=89HEgaf-HhO0+^j0B&g z2!Yo`VJZ&MDXOalla}!9@vE;*&c~7EMuU6oTt}0BPD;?Rro8<(ZrsOCAAk4x_pu_I zIl#%0r&~}=9_7l8TkVINKN|e&Gy#AYrMq4GQJdaW)++-n4!{Q&O=zpj;pS)Y&_q>E{CIc?R_Kk{}cK`1L&gOI9@W_tj{0 zUT5<1eqCV#^PCV5VAmLmKwS+-#XNejhS{9gECT?NBRf0;U>+OaT>aNqXCrTmE5O^G zI&{rk8U=0N+ep~g+2`%|rs?-HQe1tvjn{AR@0?+3_1x4GZd{>!lapqk#~iDip0{so z0q7wab~y$$gt@6NrJaS3M_2Ue%K7C)oK>dVIN;2wymb5<1mrq#`A{Lj-_Kf zfhA?3Y3{*P2oS)zZDs*LA-zSH==BZ#M~VPN14jDrGFu=(p!Ulq2X!Pc_nr53zF=w*wz*+=XK29C!E%|r-|UzV@^_2>A7{0(E9(TTP?ubgJ z-oS+VGzcy7X~WKS^dwJF@=fKylDD_61n^(C1WPuo%wYKcl|Cm!BDc0+%Ij~L<;=tj?g$=KZ+xc0~qXK&5V<-2S=~gI%c7F}E8S9OKea z$~Tf<*Cy|+q)qM}n&>-OO5Kd$;FXWBxj0cvGOm@Q)+G7J~IeT+YRZPnH2b~qP~zBPx&JxN4CRCt{2n$2qCFc8NlOE3vp3c*=QNUlpCqz};NFTEy&(wIP5lVAe7hcc}_ z)yIr2Y1DOp(1T)2vNV5DNNsrMNvfQtZ5nm z0JvVSz1yg&lk<65E=BE4{jcPKZ{YMj?nD?T04;?|2vzQbY2Y@6w)^2uMAkll4!$S~ z=khc?_bJDyfY6rjqlET{OMMdUuc}T~C1k09K7(H@7Vm$ix;7;^eL$=-7s=phxvuN? zHeCH@rvR?EN9f>Pznj{2ZiCCEY)`duI>`nF5cVwMQbAS|3U#n zFe(7os^%_`if;w93mB*4y#RvVe7#tM;X`G5MJ@@$( zqXOu804-_r{uFBYA$b5CKs$`(EQ>+c;yGfP2-kaDoD(p_a`DY2~Ho7 zB0sN4@6#01@XnAQog7vt&$0r4(&d+OO zRY0ozJO$T2T5z}9iTa{G#OG5w3ed>UYvcScF%CoX^Ax;wLW^y;TlTlK>tQ=|7ofXC zkXT?yeqNhkS7Mzg3;eFo2><{bk4FIbPy!d}9U}WE94kMsjW`xaH9)EaX+18Zj|H-i2Bj92 Z@(&Z+@c(tSiCzEz002ovPDHLkV1nnKp6LJp literal 0 HcmV?d00001 diff --git a/data/gfx/title_coffee.png b/data/gfx/title_coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc74c0afd03b9b84543b5615fd1d532d636257a GIT binary patch literal 1060 zcmV+<1l#+GP)Px&-bqA3RCt{2T|150`PZKnB;q>2E%tx+m;P)&8#C^xadO4Q@}Jh@R=Lu+0KV&R zg$O)NH+0 zXxCmh?&4I}RFsCMoiitLI`pe>y#eHP%@(`a*7v(}@2y)*u5(HzpyXW~YU82gNx9}B zBF?$Ql`Kpua^|U3E+58>yLYLpf|v&FHbe{JX_7#jG?a|N*CaLzel zx{1Sbh2mn}m-BM3sf(H=CX_k3rucGlg&?++WX!lrX*DIn6?xb7pRI7^=8NS@7H7!a zS`(#<5-YJrz8Eg{*}9Z4?{Re}>t&!jM2ceZ1^{q4Zh&(35$l@N_|)H1^Cy+A(s)Ya zvq+w;$IiR}(q`+_8KlI`Svl|W%za0x%O|}q{gZZ*obzzpkOtA}oMrKp#%IC4&N=6v z>YVj(0mwS1&n4oV0Qe;cOk8_h2e{daQRn1|<6>?jg_|#WH_=x5U)Us_uLIn=uK%>h z6jv$__S|*-CwDwQpAzYw7P2L3YD5KDpwA{ zuw|E%i;5-c%6>Oy+}-!q_m}?cj?pB~ zZh}hUNd+~1(mW~UcUq6zKi#jhG~eO)yrHvlzvOVwT&>YhdN<#FmF!ccr_2b7^z4$v6ex+ju=OI_K z@lpo)R^*}Bv2jCbi=Cukm*H}9rGT;=$H8S0^&X{IP)Px(F-b&0RCt{2Tsv;#Fc2LZxqzG0hE=F^C+HZt(PD42|mQi(qPo60Sjn-1q72@MVk=|I6U@m#5{ z^5rYhpe{Ci{7=PAx3P7(QJP2$&`PiC<}6ii4Bt5M%X$9VKUdak+^EiOu0bjzWNHDb-aW z_osxdK61~qT)9z1o49f^pI!}f8+L<(#1wro0%XpceY8F#b6q4b#Z9TM5?2z*0GV5l zL+HGZr1EnQo0HrO=yzQI{@Z&Ux$w0U%8zqBRYwUPr(Jiz#=+j|>xZt~q5O1iCNW)z~@O4^=#r6s(4s7 zRg_>QL9%!*@eYg>e0pt)4MB-)c@tv2&$L)2@$Fd@wtx@qv0Q$x+$82GSXQqlw-)Yy zV1Exe-dechq{p_z!)rtBO&yVkv>#IZ(T=ZQHg1yjHwcncfs!&neEp*Lnm$rIxq&jp zEml3&b#sQ03N<-m3zk?8nH)>m!$bJSyk4xs$1-gC#B2alkfdn1)Jl>vfTJi$Zbw%o ziPPaWIEy{)x`XeEg@cdw6OPyB@>_jbmunyG=is{wH!K_AF-zzAwR2sltjSNrX(d9bAoeUiAv&QCp9mM{zq(5smZG=3H7TqB{8XpQeCyBUjQESfT`Y`1FpRE zZSPW%Vgf1!;~RX~ASDLNoMGyzrNG8*keQ}bSK+YJFD2VFOXDR2JKJD+4*QIZexP%s z82!yO{pn&U!w)Ad5{H~$^?UYSi#@bN1##tO%yFfP0`Q&x&^{g^=TsHskz$#S@Uf-u z^@KArmmQNE?UbX5(0Gw)_@UQvh`Nr+ImT{kbFivvpA&g>pLM03;?52Bl-vNGRom%z zTx~fbKKY|l_l%8?beS$?%Vu*7PZ{Tod%1q3=4Sf4^N;=JeqTgawmG6?A8d0z_Rogr za4^TqO;QayR{0_2#^$Dj9V9wpH=4zKex%|?@gFTisd~^2@CX0^002ov JPDHLkV1hJr9=8Ah literal 0 HcmV?d00001 diff --git a/data/gfx/title_dust.ani b/data/gfx/title_dust.ani new file mode 100644 index 0000000..9e655a4 --- /dev/null +++ b/data/gfx/title_dust.ani @@ -0,0 +1,9 @@ +frameWidth=16 +frameHeight=16 + +[animation] +name=default +speed=8 +loop=-1 +frames=0,1,2,3,4,5,6 +[/animation] \ No newline at end of file diff --git a/data/gfx/title_dust.png b/data/gfx/title_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4a9673b208652776b58016b947db043a37ed93 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^1wbso!3HGHiToA>QjEnx?oJHr&dIz4a{4@7977^n z-(Gj*b1)ESeW=Knc=9j*(M!4!rW4hK(+u8T{{B{_>%^ZxC6^Gt@L!Bs8`s>fvzxd4 z;@7-OrF&kl{nau1LV4RI{t2I_eF$^Rh)~#ZT63#kSzX=Q*Z-PWn}YW@-b!)*D0aoG zl9QWdx!>!{v9YUnAIi`Xxbv3Dv@%jhUyPe2{U5(bVyJ0i;{(3gTe~DWM4f5sg%7 literal 0 HcmV?d00001 diff --git a/data/gfx/title_gradient.png b/data/gfx/title_gradient.png new file mode 100644 index 0000000000000000000000000000000000000000..046b5aa97f698f46be7e139870b00b931c5e27c9 GIT binary patch literal 68554 zcmV(|K+(U6P)+QW}00001b5ch_0Itp) z=>PyA07*naRCt_hz3Y-53>xA!icw&5=r}h(kt4m4v2f&opXRmX5 zcXxG_N+l&p5CoYKf&T{t8E7yX!3NO)2w)?E0c?qT03@LI0un@nsb2^*Ize>8?=!Dp14KU0L;LpzQ9x~Q0|1J^MisD8 zENpK50RULK0L1%Wf!ILd97E4K--;W1jvaF>lz-YlRRMY z(0Nw?d)^Kxzx8tp^PclB{{H!OBB&_%Y=M}M{`xuQ>9rBN3bl7^AZpINHgY36GtfYy zqk+)91CR(b0_aF28XW+TnbD2VIrTZuO!)D9{oaw8XdmbKEIGdiGJ)=Z7FeQD(2ElK zV*;p5WH&N_YCX4noC30*V`QRxX-OeNi>dU!QMyb_1j?)H{S~jr>+i=SgG>SoKtx1> zOau~)Bp8Lje*n-35CDA(+m9g-B-ua^0ONUX`*Qoa`a2L~&^*UM=y^QOVvK(SxsgGT z1aLFal!iiQy29Zn#T7O6qO;YbduYV#*5KJVPO&Zgp!%}X*PwmukeVj^QCkTR7L?#Fnb8qZRf#S07(+%Uz2_cS+4^pkklF?HY&lbw_>5Vi*ixqc_G2D1rzUs zjbT^$THCyf%+wj|*SRuF*A@Owg#NIDILTZE#lA&i189*>WA~F?)0|*9u zA~7d`$G*KYtLjUmBzqI|noR}Z6p(5mS|AQWij=7Q%x|)F?1` z;mcVBwwy(5Ap$?o#|dIH(K5;C1b65XbqXQ84ZrnVG?Se~6S)C06HS7dAOj4NLHNLl z1n2L*;aVQL9a{5`mCvdPAp?5R*iGnmwd_26L(lT62TfD~%)gFn-vRDqg2Gd_< z#r`Axx}0UivFt)|>n&w>W2VJm7P0wWBt#XEoAwni%j2`0becLFpNZaD5JaZwQ%K@* zIK^Uu*nVwte9LB{YDfBAg?Z?M5I{vGkvk!ew$DdO-z0s!!nhr~3EhgEOBDe*e2_7Q zI2R4aF&#evq(X#W_rTo{{Eg#0WP3J?kPpE)OrRg9#{^^G<8c(pNYXxu;d73(|B6U- zG!X&zaai#HsR-K)f(RS4zK*pAFiz)hFA#d!WBBubzMfS8{%@QJ9t6;V*bEt_Jy8ev zHhQ~T8G9VVM~582IEx(w5pkRcB0I_MM5ED2Y*5DE$er2U<6sio_h(}sqZ|tnjr3&; z(iq^0%n2UTMuI^qEg0+1M(W2^u0XU)(0Th`diTuEQGXYrqlndLho;~9U% z1h5A+%;!s+X9I`_52e5#UmscTZu8ZDBadUG(+P&b!N7#)ISHgwKqiHSpLH;v!3K$- z7o%2So>P&Fr=mRwgyAN}yd&bV?6m2^_7)S$U*5tl0C9qR3<`iveqQo8kpl34*@Yaq z9&%YSe!=!lISwMm$a(UA-@A@iN)Qp-MstusCU!L0Kg!93n%)Lrzz*v#ukL) z^B$LRfWkWwmd8qxEi)S<3=o}O!gCqYQJnA7WPlIS*WC>pdW7RZM~;^Sk--dM;iRl5 zLoX8mjX{_~3==j^o{$Hj5RsvzgGx_wQjy~h>36vpd$I1WKi3JQ)psTju) z^9(zHpdma@eh*CK=A;J{OmE^b^z#)#T|BgTojJ}9|Lp6xWl6ai6bc}=uWlnnHYUL6 zxT)LN4UX||<9mQ;T}_!agGA_hE6N8I5M*p3=u+z~LER>dZF=R9840pw%js1s=a2Sx z7RhaRT6_fpFOjjqF)uIhv(P8xY6XKNpKN$Qupx2j^z$!cfAI#w#4M1zpaedNnnhMd zDV)y_t#pEwg}q79fAnGl z!UmG@+~CyjkqUG6HyIgZOt?CWf-+qtv~pl$u<*w{_SR38%fb8 zF~lKJvJ%52yI3eJ)$?+k*gL0XORtx)7Y2LNza_}cDL1?zw4ZO!aYVy29MN{hQ*6Ojs4k*RvwG5%My<{SP$#{7i$dG6#1cph@-fAa^2 z1pGgNzu-RMk{W1 zMw-V*GT9DOfs}U;3oqCwf8XbpP=qKcz}}RvNJa+3;8CBSj`9-*0f3DvR6GyV*p1h8 zJ!vKjMbR3zqJ5&eR>Tu}%`A5DEd@={H_EQ^T z)ywFg{J#cRJ9xi{eP`%%Zu|8S6uVMID%twb2QM?#@$<%@!rf{Hww zD}2a610R{Mkw^LN90#Wlk%=%fFhE`glK_#SRGxDN@t3oqEk1mCGr_j$`LJ{mvvP0}wr=0+S zHe~O!W-~yNk%H;IFE83RUJ&-!2&f=0bkLwYhqDsX0CG;r%t_}{ zge5rb<&RhB(`yE>PI9gI$o+SOInS@!*auY0B8@2wYmO68#6I2#UX70>Pi|pHG{AtU zB6qTi+!U!NKlQJw1Q;%JqOZ-^i%W%o0?M_S2eqFvAB$7ydm^c>MA&WvStyF3&|-V6 zT(~2#Z3KR;9oV^gQ70op*kVIG4*Xy|3q$`I$0QOsmGn^d9sc-E!iVlNCp@L4h~rdU zAf-9@fS01*Kj?QiBRH=K#_>Xrnc8S#em#c$`u%SzFm39L0R_j_A3xxq696iJ|BdlL z{=)(2X@8{xcp-wx>+yWwujkBToroq~s|TBjPL3mqX7>iNncJl1!%A@P z$u!FtS_^Ap?lEu&shr&Z{0GZ$isT4fAl2`PVz-hc64$#ND7P8B4zcVI(I&P{8MaK5Um{1RH@KAhwed$WL z0^&jd_$mu{DLczzIjhj;=ix(+vAdj?W9fh*Q5+9NbN3L0e>}afv0fo36SVuFN`vo` zz4BqlW>pOmDq+1?M`R>PVG{kzcv6>q!G7iXVPEm8{2B3+ll(ulU>u6mPT=8Bf%xA- zzJiAJZv!SyeSgY(F{Qsr7mjmyzQ@VwBWZ=86nVTa(T zEv1gQ2xz@FRUEZ-sXVWWEp7043iYDzMG%g^CKwhWJy3x<7LQ`jRx9%Gi5jyIia;Wn z!URY~rNIzD4_Q@@OLzfT_jf|#hhQ2a( z%K$RTjzl)udT&uX53(ZwMkb?YiHoc0$G1CmAkFmS9efXpY7Uekw%VV-7r_#RmK2;uy`rTmowZ?4}~2x;9h` zFl!~jPy(TKr*c0}-amq(hx>q5m8$wYUMOCs9^({VS1R-g%>|HeA(4(85rx3NHwxJ= z1TexL*vJn#2NQk~A(4(M4I4sqGHk7!qY_NSrnFA|dR#n!5XC0gkj1M9fGx^z(BrF^ zM2WRH>Rbd46`PR9O(6vp=iy7667^USM6CqswMEpPlC7`#Q=-;G$_e<&e>pLH59?hC zWHO~98^riJq*4kqgeQbe8C`a1vz~XViLC_kkqDRB{o(3{fje5giQEGd#*=Ila3{|n zoG_ouHUG(-#!ncFO-4SK>ZAs+vp)LdiE4uPb1Bjh{xP2N<1zsEJ;Z}lk6DYh_UE76 z=|#fI5tO0%co=@bloY^?ywW#_PA3d-v}G@yh*UBDoA( zo?;#wa!>AX%6~@z7(}}9huEoHem9!PRJ2bvn4K9d*dLwf4yOe`HZ0t8UjSx(IWW%` zIB5#uE0g_FgE7(>9BJ7X8Lwq8$*31+7HJjTtK>Za@hoi_=VQ1BAtYFt%ndTPIRdXL z!2}+RULXc_%*_U{kKxO?6o5T>Jrj@5z=5@tS5YFuWY+jB@aO=14ktG*gzeEF!MXt% zCM`Ku3C_TJ%om3W!x*J?5kN`3C*a6;ES?+%bM!ZiFukYi@am5`B&WWo_}4AxA`~+> z$~^)TX4US3+A1a51%bt2rkkUZ>5dpapY30l`_A!{6k^OCisBKv2ec@#$LM3M`WPJ( z0;C6?**G&|kjPn>1R}%YVVEEU9NFZQT;aFa=fw*Kq%ArQ!4Tk8CA5zKq7e9Ziu@x3 zeu;plA_?qc;2<$o07geV$iR{ZLd`s+!gvGN$!KQ#XLifP8^X@22oQ}7q8*_*T<^I# zqF;x+8whq(gKbk8cn?s01`0+a0#Xn_^F*dTVj;kFEj}xENL)p-Cr&)N7h)Hgf)Lmx zqR}YffQ8HlMVP6t+N2|9nTZ2Wci?eD6U--(HljYzK@i^*fRV!lN?>S2p@iC`g-VgI z1i}QwNeMHxbYMI=Ah?7H5q=uZ4w)X2482*30`&B$bnz5`pj0 z34=(4y+<5E#r$n?-iUl&b2L7X3sQdoM-H3>2Lq22%_q+k7MSQQfyt~Z${EA0iGEO& z)zOy#MimT)eWd|uTuiDXCm2W7pjDpXb05r4W%YqDC;Rl|ndbHjtg^mS0PL8*D^U-4C3GA6pD}hMY$>$G{DearK`g+(q%R;W-`;Q&r&PpI)np6MQSl zaTJekmFEf#Q-*=PNxkAtMAhR!Fk!IHqv>)EJ&l(-! zJNrId$deKXn;=kwlx#AOAPdu;keO(uY>>vsw&GhSBZdsqA4mwmsWf>a{{tt6oFYcZ zE6JK<#?Wev1VW7JR2%G=)RqDgFLrV`i_`$YzhLl_!iXt3yf-`1R{phB36D7F=?mEAO$Z3)v%w^GyBdJR&W>jGmMLVrN_U%&ZH_=viJ9|v z_wr^=5kT+X3-K~Cz8#c>08l5u}q zN<}~{6dH*_WBYN(@mMV8YGjkSzzA8Rd{@PM=EP{;F;E2HHf;5E1IL@YF8fz|@Nq6G z1e!z0it(fRc{}V)E3Sy^WR5RjB(A%22TAl#-Xc90aVI) zjCW)`QCwjkUOA4UBk)VFj&OVLls>d@BTrOjoLWJi@`5ZnQ)6@Hy$}Jn5ObtQUeF43 zg3vrje|m&oU?1m~JdedNsHb({$brWJ5Nh}#JfI~W)}MHZfDT81Faki6xyfc`G@Cn9 zs=}ZQKEW+PG@1-%up`((>`u_gf=o5^utym^*hk?!lWxM5oG_&CRrnpF_w|Cn0jXqy z?VeL+_S0ZigK!VKUz0bYpnCXIpVxZx*Oc#ej zX6|Dye#XdMUg%+-KyZQR#?r7N0*IAuDrIq@(Vg^TSZE{`d)-*M(Ct*J$AK)MoBfxw z@OuDq8K+*kxK?XU(*m&s%iI zuPTIL++-je$2*sD{?Vn#O1pBJ#019CiieokXL)bPKMtU$TGkX{1zKZTgnfe@ffb)M zb7p!L6R;S~xk0!*8GZNxjjD0_VSqcXk}BtA&Qch&cB^pw>vrMk6ndP1NWl1C;+4nC zWnnYoK?BbF<23cekbctjyMs?i9Bg&wZAMDqlhzcpItod30@7tfw#5>BNW2&WKY4N3 zRu$>zeUzt*;y;d0$r_^}WnTs->?>1zWzrV-Oq3d_?iiyJMp}+mW+uSQ05}Gsyo_gnNUHm9 z+gTq(e~_J>#Hn=5sFX)psPry@+CWx-w8}A&wV69(kLp6k9|gp&=g#Vu#3Z;hu#YK- z9!5Y7M6_<`z{gBKw^Q?KQkK;@gjFKO`!l8BO*@yVDok6iPe!FdT{qK~at0iekGCMe z1mIBv&H*E!s_Or2<8~LHhHZrWwH<@H`l!Bu=?WBt&uoGlEeV92M0kcE33myGX7niy z@LWNWr{F{MhDG>t2(oy3J|7VYwq+UOuKqH9nwIH<0!8IIMds;)aea(c%IW#suVI(m z%y!iNe%(t{KZwA;6-@SSKEI=kbq5z00QM;$7PzxenZ%ylag2WvYoj)>7nqu$!ee-2 z5A(pifYr=S=}Sv@cgzGkcsYF?~%Tn02UT*G?tJ8 z6ARsmg^nAGhbJ#^^(k>qM4d=@Y|rfeGk8NlYmn7zJ=bXjk}49cD&LljXEq{(h0rao znQHX3NDy(n3NV$>sk|t)a-OIdlfaAYo2-9|@WT^4&5Id!SE1F_BQ=6r*d{o4_>x4D zaTF^0%;LY>FVk@nOdg~`Jds{W1A-BgLa07)#K`UgV%ke&0r;OV^?kJikHmdC0N(j@v@i6<;;2IH7`Qawc$ z2dg-tr@Qpxs=f01k=Uh-(0V%hib#~d&C5f{#R<#?2xIUl<@WAjCC%i|LRCO<^`VB^ z&q-s6Gkw7#oaf%7uxep&rQqbYQgtJ<95n0 zrMF&spDDy)HE}1f7kki^E0)7ET(gxz_dO3E_glr=P+g>l~ebOSLm zpqdsCfHEgYZ(=#hs2Wbm@hl22Bse>bll#*ti{=HmB`Hrs6STxf^BTipz&wEp1WpUa z8Nieuhgk$%5>#`s5y1a+qJMDihmD?78hn$4k0Nl4-NGO1^*0oyE$)eSxlUXF(VE=? z590yP)uJ1*5^TIC?7Y5?fy2l_0{<~RzUWl~BaD&$?&#*}s8erf2^*{K;_%io42Q_#Q4w0eL*?!!^c*6*PHB9=Qq;v#P<0lcq{0xTHU$)hyVS#Vhd{Un5ZOMj zDgEU+S5ay?xyi}>;}Hj8lmV~qLS_ZxeO!C#BPY3Ww`%4-mg}DO^r$5F&dH%~0I3JL@*nn#ccF;OV3u8{&sKFdCBd2av zu-vg~Es34~z%!azg5y)o{#h#4lG;pjAJ^0mx5aKm$my#m>`n=Kgj7imrr0 zJttx}fF)`LjeI>%bEtbY*6lh2zOa%_0 zJ$XYJYiepRr`^{gAb4*8)oREPdrtt}e3j@dO%c zEzvo*(0Y$2ki+4<0Ok9GO4?)~fO~##^m37SHPB15-&8*Yx`~BI*TYX6CjfXa0LOAmS^8Pb9`;_^O9YUhqy0#>F3<9FO6iC{2KvzM$uCM@PPL;Q#<207*naR9_1k zAE1~$b+;N9RY1+ue?_NOG@hR|QeY=~!PS9gkJWb1`vw5^lPe$(_W&$FV?dkKAqtz;t&aVUAj6yp~M=P&6mF=Ge&7BHQ`w>F{Z?E zB7W@AT1h|s>T#Gb5Ujx%1W?BTR2G>b_CoZn65rkTAO&CndH1;i5c?jT$%)3mpbHUt zek@jk-5Cp0?_b2T6Al6JMG=}LJkEl-5~*~7BOO34<~Xj^kqwiPazqjot&lFk$YS9* zLc5e`v=CA^FseW*4RJ9gPCK>kGM|ox;cGAiO-#S#L&_yer9osSH3k+B1+C`?pIww9 znQ;_{#pp&zj&rIvb7)w_V!t2AXc<3nvRSnps~eD>11QCcBZ?x+r1GKdIbf~qj39;} zzhMPodN0mQB2a`u`ge^Buv>^w+4H}{_t#u4 zPO}f}U?*AwAQ%juk*PFJ(pXRvCa+7vGpvg zr4`TN1iXy$nd?a>066-Rzfi+`o~o(pE1y^>ZZ?+#+&#ja2GC9M`inOXyFP&0ms2(S zHfoRqv9JfgYVdvs&y{i}JxRo9005x5up*bsb`2zS4#N#BIh%1np+aB3%Z%m%7qV|r z1XCWo7mznPg)#&r)^RwxMhgqKKX*rCNxakx;~)~P)aKR)Ttgv0$PW_o7)$EXhbuSF zok3~AfS75jv+)UvK@_-^p}IpdyHA=oP9fyl`4Na0YgkvsrSm+`5mzbdS+UI0b?RGgPHsEGJ)11}xF zkjNtoRwp3gop|QE^ZJIzd?^ZtpMz~4V5j%oN={YviH>Q>FPWa#M>PZ4Ianre9LDf8 z%w%-G8&XXC%^dj?1#HAMu#pFr^JVpOT!2&icjGRh<{HixUn23x;3ZsfI}Mo|nuVp0 z&?^Pk8|)#wRm?a~eOdebb+=}WW#$hj$X=dVE(U-YY<`XaQIE34~ z8i_+#A`AQQf)4P@(6gCyP7PHG?uA~;>?V5w;6QF-(5<-stg#XnASn&VH))6=HG8-M z5sY^d>kd4H2N`1_Ea9+;sn zc%i%5fa(P-LlU*4v{MsL=u%A9EyEkzOoo(&E`Yn7h)Ik!ee@*l?Ve=LLo$uXR5S#U z$qaWUo={KSmB*p!)n_8me*;kmiujr)X7>N|gYHzzlPdr@8+aHEfK)@Nw(3&7q=D36 zq%(^DD5)HUC5Z^?z-UEpJ?|jm2QdsILXAgB_wNtZ_f8ozr+=6|f}2md4zoV!wDN)R zkQ*p~yFApY65K|^YDCu(D4#253Rgm(xd60?H{4R^EgAjAK}ib9Xjz zpU8=U=G`Fl+;gTd?P}VMcvOJr-wW`?wo11ee2=bUO-VDmb{`(BH3(0`T9sjdl<5 zhj8RK50FH+YW!^h;}hv+^$qpiw`nX+1z>9ZLuN5OhBGzV+xkYaZom{aVTSNo?3nmV zM-54XD?w(Vwg%i4pm}pUClXV;=yDuyOG-Zdb;Z|qTBt&6S1cbbcUP7bev@4|Rq-JD zk(?-ty=91fBing=1GnHgx^E7R((4$F4A;?o>h!t5&LIY+u3I?~Sr=mULc&SJ(Fwf7 zyU%!ZTqrae7cTwvl4rOI=(~<{(BBJF>(g$^x_Bqj!{`Bq`l|!a<5VPHIJ`n@HZ*#O zLfN;|2%-~fi8M43sn3@ktra+q3~K?~&S0z3B2J(T`Sv7f!x2~l!a~+QYQK85g^vGH z%ks=Cw0oN7q*;yg`zuXQE;!NKC@5m+4`f7iw>n`+K*Ak~hMX77;h~w~$|!vnYrP^cjL)o9oJR~$j6dH|d{ zY(tstgiftM;OX(#gzxai9vq80#%f%Dl6Z`dmlspoKnxFN{)Hpzncp~}9D}XI&oNot zBl`4Y9%}ZbcgaZ^5?y8X86{kioh}uQ1YlB##auUX2tAnK6Wh-2o4tnUTUd}3cikEu zHY1B39#ENF-X{3EfmV881+TaSC}LmN#qJZk(YSbB&3f$EMt`CE3*eeRa10u_@T46j z2T_2k33gf+4mc@XN)ga_xQT^a9k+A%gII>ESo3~LLD0)a-pB;++YUqNjg-pvH0oC{ zTF`#&5U6~FG_X?6!XYOJ&s+p4_4I<=8K;{=%|M}<1Bg;&iK=NIE{`~H1>kfW&f}QA z{Fut$ljvhc*F0rK`HRTbL^_^1Um4o17}WM-iiW!WRs>G{LGt0*W-Q%i6a%7_@y=^> za2NzwF_dxue5L^fM(V4p3&hsunC!>{{mE*mNVW`}tO-79k+Yu(4V^?jl54s{oryqp$&m5*5Q5$7WZNL|dVZ*l%n99P;0|@-rcB2i%R?Ct(fJb&O z6$q#%AAp&;Be+8*H20@NjoRHgWZE&F`R$|wzE?1^u=DB@#S@|CrzWQGI)8tC!Cmv* zPRdVPCx=i(TN%nzBv9qZo7Ns8fwPwhXLOgs!Zz z14_OuXme5k;B_hIm`WKM2;6<%hkrE;IltwY{;13WWCfD&ToEKQp3R1x+snuwR$e{< zn<|?<`8C{;Sa?zf-P%l?UjN{E{^{j+Nj&gq`T?rfb@m7m{0wM#XhuF6^K3Vkc5sT@ zTDkiCAuBbP5YsBGOZwMDApBb#eSdhHaHx#e!A$k-OT+^yF_O(z72uWsYu>-;z7|M$ zx62Ox8cFoz==sv#TQVhg2WEHLC3wg`#|;kru0+ocAmdL|mB5tnIt$p-^UslgshMXJ z(-6+musrY3i{S*6RvsEz%VS|p#HGbA1hS{6e%N<+(3`xQIG~z-;vQC>0B|QL(Vd+{ z8{N#14;%A^3)Np9INlcPe?h7{HUCHkfYZjj7LdruaWp+f+NXg@YQ#L81lAf=QcWcIQz97QnUObIOT6J0VOdFaJ-3FLcm116?{lF&r z!A3e--JHF2_58C{>2$15!650eH+s#h#UKcA2&o1Mu~Orh&N#vV)bpvg5fSKO1OgFJ z0sNOHJsd|tIIYIr-$mVDOl+(M-mv$bcb~;gSKb?7)7m%W0GB%Lzr1G`) z{ypg=>6z=#LHlD#j@K9_;CuJE{K9o#^&f@Oww1lZ>CrjPy%3UgT~ zPpj`J4o}X9*-#a;Y+==amLwb1K3baQnsZZaBJpsC^NjEB7x z!b^M{g<6OG9_oloM5vPx;G=-R$Z3o~W-_pefG7a}6;3;_4A`Ij4D<}nK7MErJ0jX# zE6qta^}3D(i6mP+L7g_J8KK&CB=K^uJky6QBJ?Hh5dr0a>@Utn(0iP0je|N)fZl+^ z*K82Ov3m@Z7o%51ChP2aOTSXL8suo+PbqHHaVa!#|^67=FfziVY04OT~z$m=72b*ZRZB7*0KXajx zr_bxztKf8!dJ(4613tZ+F2m8$n2PrEqQKecUY|YB#<2j=Hu~y|-vRu9Qh)*;!m-~7#pvOB zIDxCtb>aG|0Eup(E)$VfGMeQZH}JRN>pC7RksWzMZ47rJhcN6!c1KUzfrS|{>WYt+ znmoQBeoe8boaQAFgy;dXqi@SG%r2X@vQ!2_y1n^fWW&Bt=}ey1e+cEk`Mz=pjKoV9#dm5( z$J2Fu_n3PGA0XoIDJKfD@iFdK+CZGgqf{<{q20bJnK7aB!eh3>)y@Oz?n!;C%qVfcW)SSWnaxElB> z%Bv!A0r)o2mkQJc)b}ywMMet*887H zB(v>b&n`pbBuy^H(F2TuQ=Nk8WI%fiFe+ZJvjd3#@6NvIkiusn+h%^i!7+Bid23G#Ym=UT6_-V)m&B zE2h1#=Jg$uDPHw;?tNgjqI?5ifY(6%hMYwi8C(#WD8#41y*@AI-Fym(EeAY#L5pVWNr@&c7%oEagpFcfjjJw!l4qSlEx?ugyE&96E6$_LJz5ByReQj9 z7~%9ue9VM$hOas(yFS0CF>iV@fPv=#$kHg^Q*q!7=iGZ{Zy-xeL4yKV&H>4pCVM&t z->C+$kYeTSoTj6$xzwz~UiY)$4_r-R**NA)WortQgBLLHnl>f$i~_qZRT-|Pkv?Vk zC6e)K3{T+a64w>@eu4E-ohtxr@Z-C)_r_;|zqRox;MZ1PrQNdh>j!}^cZ2)$iBA<` z2li(J`vZKw#C}M`emV$Mfq2RU7_|VPbf8-)3JxbR9K{HH%sif|hb2;t&=3+o-Ybqs zV7d$8=IOqp8}Vo%kBm5qGseqw+F|Vp7Na)9L{Vs4^MR!*1Se*<21aG6q?h{$0}Hb+ zAZX(!U+;4Ni_GAE*%$T@#+ycFkaF9NP979#*F=v5H(E*1T|&Q za|33qj^5i%ARuy-Z0OE|3kghBCwuv3FI zT#D}J_Z#4i+k-GbN!EaQ?mTafb=_k0$M{X?`F*~`JPx#ezxw(r_r`VkZ(n_VL3}TM z@M*-C9{~8Og!}o``Fwumtbg&L;yZ|6efk-w%Ob z;uritUp_~EK4_o!oWH-m=lARK^Zos+&(vRieqDph*WkK{;alc9-*XQDUEAfB=UY4i zZo=1G9hSGq*tut0{T<$yP>o)vGIZ7$t3d3{UHkc)o}je`09D+3cVTzU+61`uoCefr zIIpa+pG={}o^rO<{$V_)*GIXI|32sFV(F+iA;FrSnnY&XplGGXvEc+Z(CtcUqb)!X zmcf6fbcn`yIVC{#1hnJVkpQQ5`H60;5IfQx464nZzCS{=OM1d@Ok@?Tm%5FH1(+Pk zH-5Blz4J$vX7bkz2c%iQK@094fdaLhkO(R%{hW{5!aZ5X zH%4850z0Cx)$G%%5xBmtu0UM8Q23%)U95+oW8*?yZsutWLw}^eh35AIVt)V>KA*tv z2C=Pg|7>D^u<;A*kE1sD!H!?k)HMl6tMT!cL1NQ=#Tovr+~dbV+3bG|Kfws zr%?Ng->qP*l;q?dG4cPxh3}LJ+r0=^0pD+2S3QwknMI%qeHRw)cvb&HDbW(~m#FHEd2srM{68fwg&*#;BOR6r4X+StnMzuV`=YE%}ag+7l)At13(hAIGgK9{=_ z3&4L0sO-mtC-$O~+4^)I^r;?yg4l>|iPF&_@JZ6M2{I^|zdmJ7N{>7n@?p?Xyeb1n z7l3w#GnZO_GiB>NYyG8R5gO11Jyk{j<1sv>i`z5#nZ?S@eD7cF-*l_gpYLf~glhA& zT9tX~_G9oZ0?-a)0c=$Rcw+(A&FbrjhA=Q6MX~fM*YyRd@U$O=nDxF6`;S3q`vc$? z_-xkiMt!!MVgS^K*uRi_C_#QGx=+9R-Y_`&;IlV=KS2Egg%7GW_AjvU0rsyqAq937 zv44Tj2dEwL6&u)v-_KTb#YgDs1E3bJ-1tfqWL}^kg7ZRMN3&pZvr(!*C=g1Ng!?j= z_?~$Hr2?z}DjmiG0$6ePja*78aI2x_ubIjYCZtKd$=z!heneR~GI_j~C(hu|87?9{ zkh%qZbEA^j+7j+z4!f90EBX=E59F{5Or+(k5)_$LeT1V4;FPLB|H(R|oLi$~^td#jJDI74kI@1+ z6~G&2r#}y%GLUtCyy-ym)cz3_eJ_W}fcUr_$~65lVs*H`fPE9Zyr^<0z7 zP#It1GqC$t&-?xGR}dcOZ@<3)K8E+d{NU5Se$59TLH>`<lpO2n9X@%bBSMU3Q9gY9~`^)$aCLLId_cGkSecyEdS}IMcHP>3ivW{f?%N$4njg8)Wzt`E(oJ@*%8p*2g zuTll>DW>~1^-d$IiA<-zupy{4EE`CAMj|mN^fZX2GVF8;kRp_!;VxErcF${-olj$$ zMS|0qrG~W*L=OVkF)2V&hs>C9-;xr{d7S z?EvCNLJR3M$6!+FgyttAA#H&6JdD*Hccw=(Xf?2|1VeG6E$$Xe7$#0 z|Nct_tXJ&81{gxni}o1<#u?yA;FLgYNh0Xn3?l^KDPI~isxCsK{XYG4$n=Mx2RLiL zfQH5yL)8nW(Z4nZ`A?AOh-_#CNfXg2n7`Gw?9J?wXI_9>fQ1}pJc(fV_`-nsMZ$Fo z>T`I@FEg=ew7`H`2nw^Ij-`_HIBrehoid(`_muoFcV-4e_@xd_S zEtn7RcZ?bvwLjQ{hCXKdCk3$M{Cs49KNFEY8+-pykxfs;&jMoMXK(xh_yJ(@5BPZu zSg-kE?O)Uf*uS3ufKSOmxN^Wf?qiVie0NIm0U|yd+nvboXk>UFBPcR25=vyglM3Mr zoIX{HvO)^WXCeZCXs9x9W|g+95c=7vfCMs=lRif5|I(d;9z^Q><+MAz1Z4q%fFnnJ zn?GL~faFONp8f(NGGp3=;c~yre^YA!)W<`Ac_8TF%KSKI?{UF;%0ZOI?rPf-IgSW5 z7P;KUi~{hVB(pVoP5u57`{f3jBsVfUIXeJx+vzy;(?j}vCFg%Q5(=4m9v3iU4cX7A z5K3p^kzT~i+u{lCljp;Q{w*s$`v;VA`!nEu{OwHi!|570-!&9?5v#dU+iLYpxtIyP zf=L&-js54Dgtva4*I@zJKls@T8;d_beOJmVJ^dTE_6z6 zA}O!PKH~rz>*9jkWn)HbH;$t~@#-%}G}C`|<`qtfv%pCSfD7yMo!pU%mc{)kg%`v9 z4-Wgz&!ho{<3HF888?5hWxsX-*gsf%^AGm(7=G}e0Vv|npHBGSv9bKOg|#=<&&K`( z;O7U}3jkz5o4?ya1Emogk2|UJ^9LKhWk~YDc|Hp$dfNa1AOJ~3K~(yK5h?&y1h$jX z1}-297rHv?2#uiU`iFLX{cYsH?a1E&O+F2@hLGOpMdvsZm16_pMatR9xJo<2fyxDr%0Y zeBi6G!-_q#^W8+Q*O=|oq|$0fwb2hLbNT|H+P2zu=^~euebT-7GdJD3H|@5D@jW$Z zd_Lgbg^gc+YIFY{Mv40a?EN9|E7bqrNUb;fp&4IlG`(riTkZfWw zac$Tk!bT|#Tnfjam72tspIyUXD zx5=YLB8N?;rIdqbkoa9BmvvFAD0oYy)fm@Y!#|3}ixjMPM37^Y29^C9aye=a)rv6f^$~*;?~%@%48i*%{vOQ{}m)cR$EfvtIgiylppL zCqzs$&-6$7JQFDmK-2w^ct`0W2sL=4HfvA4UVoX7ibLn=C0<%iLd*bgqgeD_(Wk3W zy?H9%EhCxkiRw=CT@&e^HdGr3`lJDnrk?mtYFjL|;ff;wp4Qq{H{Y3#0}%BAem6gW zYWl9-3;HW|d_KU&ho22BYzcMtCdPnCNq06&{QHs+tbu=m0b78VxwkBuEa_@lUv z^|SG39pkn`_`&-5gT4QMkir7-2gLf36ZiwHy|A$ZMj%oU{^FD;-`v9?2&TbiH=RGy@oNii%v2vdB0xOH zI%>ZZ0H4Dk0hQetYUMf2_!$W8KQ8bszM+!*H=aC58trOvDnJ|SH!_jqd^{We zdW*hcAzbcMPx%-lG>=}r`!h9XN-@qMJ6CJiXE#rc{;0E5*767qp@8ev*MEU4M9h64 zxR0%J-2QBQ_J_N+gg65H1Y~qSzZ<_$Bvxww!;L@i-|_QjoB*)!!##}tKbz~`_%oaW zfc?(}-1kG;?SB9)Y~1+gAK=fu;@X?*pY2iPat(U%Pl%t`0t*YkQc7Ypf}g!4Cv zksE*FP>s`gfb+cg0N9Pd3?;oPfEK(q5!hupv6~;>{}RuzQIAXy+^>dfpU+YoZJd1! zRe6ajpm&Xd2FgMo4e}%eona;(+&i?WECeEAE4Rij#0XZ>66932>-CKYL2gI#3}VLi zwBSFdUm!>8@ApT%##Tr(kQot-mdroXqrshY%NU6W&-H^5h|BivzJ4VSE*NwpcLJT6 z%)qQs@@jz)8~xS;yym*< zInw+;QRHZd3(^MY^K2YrmsIy&yrDfWZh-5N^wJst5k*sbR&km4npyt9BX2$O-uW2- z_{9a+`1uX+SL>g@`0(R8`sect$#Lg9#`p>R5P!fw0P*AV`vc~%P6lBhcQ{=AD=dxIdqwuSm_V*pYH~MD!{6B) zN3FiyH}@EGAO7Iaka`@F z?#IHHz5ifHzsrVq-@v;6!Ht{u4c!00y$Uz}U%K99$%!TC*8DsoQ&LK*q9`jGYm5N{ zW(;|OJ?cJfr_K6I_VYA7K990rf)`-8XABtdV+VtVf~wLbFX26K_sA^%)7rbxEhVK= z84>Qw*ILeI#H0&g4>xQ!Bd1fqXB$S`wxrnzC#)@aGqO3sIH4Pmb4xQv*^Lhn^TX(?hv!(zBWHfLdIq!tC6+SEiS zMM`5W(NaN1rxtr^2AIlFlV^3Rq?|=f7EF*^vPJ`u95i4tc6mkmadgx#uFYo=#%H7U zW>kvRf-6Rl{A9)p|6bLy@Lq%x4M8meFcH4LuV@l0)LDw);-4xM5(^B(&TR2C#R-3@ zRN;Zm5G6oXpL2|6U^9wKTMN!Y3TEFtLxpzX@h@i&xhytOQek2iVB{&Q*JCUyAXXM5 zqWE()Ccv&mOt-i&cK*k&rPHSN?pB2ryP-L{#m}q_kDv zj_=TVgwQHO>rq#Y&eVlO)ZckT>+c(%(=ZEsSRhDbjmr-VrP)f48WW{Et|5J zXR}60F~@%7tW!NDF~A_h3NYrLt?1@IX7~k>H^lp;MTwfA#UoUfZqTCY^N_-c zs`xm!NFxLP4HmwCwrcxCn~DL1II!kjsl@$!QktngpkX&|etvajG{_~T5D1v5kOc>T zfe$971f8^ak)CS9oE`ZOhG0FEHjTOoq=iF9T(HSOGn&1Fyfq3Ty5D-31z^sGEDoys z_fd+{Bs1#7LdDrUv(>hQRYImjFO8hlEVm1pR)=QL)wD9Dn6qS7^x9i_Pn|)p^Qw=B z+Mb`Usmewg;Jne6Gr~l(8Fe(_yKb;lhEo%RKwzWe=EMk$ZA@yTbmOQkaO$8PLB=4~ zdU!wwn^7!aFnnMfM`5$kO><%#M>d<0vGKHMgbf>nkumBLu?nueaxkxoVgbV1Lua6m zmf#btR+YsbarM@bZnoqm%ReQ$!79jW*z+0mx!#qkaEu!_s~J zR7ApGEBtuuRCg79n3OyM1tqWnDkmZd;jN#1V3K_Mm`x;;_-{T`Cld~NB_LG`@EQGg zpx;P5QF>eWv1>&C6}hZ+bnjncD!{t3Q^)cj?Ld?OA7|*Uvi=OLwb&@vp`JYNFif@r zfs>ntN7UeqJxBhDD8HinwOfx-#+tEE8+v%2WnsVZ{0glW29tE=q71VsXeo^=^`^!5 zwa|ZBt&}NiCNr%Y#S#9g4)nEF;BAdEZIsCd-f7%ug!mgQ%pYTQ^DuwIhLMvpLN~(L zc66>$XuD32ZA(YXacnK*?`$AE$5X5+t22JrViwI)NjT_ zQcG{a2Ov5imC?8X#&(mGRdmXt4hp)`Pn0alXupyzYnJFyY{H+(%ZIrR*jx$1Hkh-A z=ar9`5VI5ahM-DS25OybbXNS?YmoZA!a*oG>qaFd&05qb0W-=L?{rof2}uwkPoHo7@2Ce#xOoeH8|hjtx$ z>^kLmEJr#3Jsyw1k>k<#yF>BYM>;)nROsw+{JA44bjk_sq_fZ45Z7!lFcD6i0#FQ# zc~I781vvY6U4wsbe-9TFtwNNvvXo&3+V?Bkp$%Vz#VJ&O6MN18L0VdE+ffd9uEZWLtUUF+X1|9`qN` zDJ6h(n^cefbjX})LccuYXVs7#xht|-@$v^7kf6XLK)2yDZ^MX1Z1GOll zx&hf^83X$r@iX4RHgxvn0&kteTrFe!PZQ{S^@(q;|Qc?~pbpjqsXpFq>ZXe++0?3K)%fg zV?#@*4^cYk#*rf(9*SLtkXps|TF`u>S;C;$^1*3-zDwK~a2Cclo^e>Fkx!)LXcqz75$mFLzyg+|M2qULXA zPAb`qKutIA_QknmA!oN2$Ava&E*lo72$YEUi=>pOt<}s}K+M-v#3>T@IAT?dxBBRgC==S6e+S`6*@)N zyKo>$MN5)INyS`<1ksdAnmg^JKW3MdeAX#R%?AYczeD}#6`P@A<*&v}7WPvwW|*1& zK;M@f_X(!S=2OoGm2mulTKda*F$0^-*Gyf*Ey!jA7Q8kGe?~?F`)C?;92*COJf>|L z9UB7z#~2VJ+5~76D-dqw)h4U}eC;qObvU7>4)_fzk8TdENB06 zUum!LP{O>)3Q3bqh87JxLh-}m%h1SD<}lyFjD-1v*a+9f2US?1Ft`0G@pN33$2*(@ zMwvq-KX8l3u$({pYYa@PVHA*U^2ix-4qdm#k1)Rr>aGx`^>>ec8n^BWLV#(`focSz zw614&3oolj`+M362Q9i{&>rYlE7RXIpVR=Wu;Rk%=T&o;tL{R%JM92g(t5IO(QN2q)c~P+_B-*Q`O;=QEto${IbNjX$uCHy{>u- z|5F4tvG7EjKY1TbW1ImCsI>9Pz@D3z-8@mz ze4se-N-Mu)iUrM0S|Z%Xcm>&gDGb~;l-pAcAy0MTB+ZNPq5^6I%G2@`13txA^MYPl zY#e@GsWMsB-sfJhfc+Eu!vje=vwC63^ z^yPUXvz!GXPm_^%D+yzoy#Z~57}&}*`Sx+}C--}s$gY&Ly0)$QG@~|SV<$p@eWUyL zHKRZ8gTBEXeWJuyPxMETfIT);R=1gG^x9iaOAqe3XI^_oqB*Of<245^PU=(6^D*C8 z6ku8PDOPn`ePh)>LV-??-BG(EdSq*_-_{dX0X@X+EeZ!cu+=RG<*UA(9_2M-!w70P&?597y_zzP^Em=B(EU10XR>;^ zFRr07E~jcX0x(UF%7w9=hUy?sgr}y?t7amVvZ$!18Vy9CU@s~5S~KUVlShguAUspC z?$TIPK{ApaBr_|F5F(&|`|>dxIlV8HVsD&M7!y)zZLzNW5e3+vv;M3cXh+cxhWgN6 zsNu5Ur6PlbbFAo5LnTk9tIjznvmTPoU}DV5z^F~r)Ea+;_%X;EGnK62qOS~gX}zZG zwdU4cZU$`Ck6J%iUAt$ceUGpHy*c*GPCO8+ybtvA+Uoo3bAV$T-59#3fSxvZ$nX2t zp~vp%D|4sdgOMXx^C{f|Y*7x2lh-b~+Z{rOrn{Z!!LN4@a5$i_Q+B?8yPd+8!)`Ho zu+@XV|8{E;0Y~)c`)29E5sOHUh)-G@(2a!!x?!UmXCSW6`~e2m2~k&l5A^gkm2xE{ zc7Jel)R=^a);So1Jys*M_#MZw{>F`SL7-w6&J6YMX;Fgua}}#LfPsioJz4dIEBiv^ zDQb>%U^cS#Z6}-Xi7CS!s=%}lM(eY2Rpzl|9kwdTCI-1p0v?f@sDA+-RzvP$&j)`X zT!kpbTA3H4=6aZ5&nb2bdpOu}<3TNg#cn#;X70Ic&Gben|N4_7&r$akO<2yQF8LDq} zdq59t^}s=QKA3llNq7hP0Lp{ie|UIM*y#fgKG;!s(A|UG-aR}hheP3E7r&7T2W7ie z4(QZ~^sJ_63^ps5hz~qc2vU$w^dsRo><{Tk6E<+>LfkakG)*xKDm!5VwaU9jF>ADHT zzZ;dYv+E<)DQHB;4#siR?H1a0%V8K4@B6pI?7<&)z+l|@9k61@18ZgIWj?9)zyl1h z9@eb(J$=7t-~sTY#@;j19~l5v13Onf9%4%Xs|?6!V4={CFm`m~h*6QOw&27iU?byr zs$?OiwKnUCv+*8;vo9Qz`;0P4*p5w84sQWj4R+GD1u3N!7-(&Al7ZI1nw+6nU%^;e zDFqsX`705~Q0?l(TTD49wq2FI`vJ5$F%)U!gz5C%`6p*VC$T6$hYrr_`Pn}+A$V^) ztRabYRx))DNO5OjBQt3z1VxZi#7cE0K5|iBlBgnBz%Gip;^N&vw2*^CAjUOB9lCcq z;UZV}y1&r~Yu%B${+Ck2`+)xwXax$f`_Vau1bK4cqn?P_R&dMfWu73XKvgw#JrQ)( z*ScYb5#^>T%E&&DM;a{jThc?(@QROBz#jAKvC(j?Y8M8cMm_b%8REQGPxN&G^jQSp zQ9-{pvCMjHfY%zM#-2ID=0v6EdhPtQ!B%?!jyCwQkpI|qaNO#aEeE!GIPhqdx8Yt_ zd0_9duZMcS9*6zC!d~~F_xpRjzeo4nE9}{WvPbt3HSCG7Rd)~Q!y+xHDF<*oqTB7( z_QleG8WF$|I%6!>{oQz^BNiQ8?cV|ad?V*`IYutKoZA|w1)yy|aphEC!5qogVH z`pIkeig^Kus20;NDq`geb(aH;U;uY7kc69)n(|4FHmek2@J(r!&(CA5>Tc6klyz@0sLiy<7 zJw^M9I}q-&x*{-*siK$71XHut$u;yun2Dcc&fOcwQE5BcULZ)aL|E) z?JzJf=&*y`uw!7Q!~Q{s9&B}Yhv0qhwE7+{dcBB2)5D%#?!lae*^7~qdU{~r+k5!7 zwi@qY=z#(8$U+WvGTg#;U|mnUl{7m~u;7ywi~PDzx+5INF&a&fTmO+R_wBqg_*sWj8iR zQwoJfoIfBmg=Q=W)(en{u>8hpua2yQNXH$5)J_c7sLjm1dYM^!i6oUgoFNtS@i&LB z$A%%E4u~4{H^vK)#BBI$gK?=Nl-hJloDP_jXd^x&`z1gEqfS)UKKuc|dgE18KcIlQ z3}}zLxWQ|hHseQrWYeE3;N~tq^Phuyc_P3+&%?~!#u-}v9t2~{B7g~>t&2yS!R8A` zZ*?A^j#S(4Io}em=?|?AgA05Hf39@|z{^ej65y-imO!spR_kMb`CynImUPC7Nx>t$B|A?bS_51 zBcBbY&54amj@MLU$W+DQ30qCfj{d&Hoi#YMb*I1b!xw=c+<&;c=1j`VfCHx zrdt8>fsa+cxC^xd^F+j8uPqjx+rn1d)Fy_lr2r{8YijOq=Rlt4O#v|2s+pEMGN%s2 z9@bFBcQFTU`ahvYW{{xyMtC(%RYUEnzDl#4-+-vYW@=d_(#)n&8t)^w`0?j3uc3x^ zZY1v#RR2zn^#h?i8^XhXK%r;VyI(#lFIV-tT7ifd;%_70!`U)>d03=Hwhp+UgzpUjr3s(Leb={%k1mfzsYqdrVP}1 zxF@WwSgL&kNY*;A@&!_b>gRO6M4E0T#f+r?>f$_Am4X(-+fs4>(7h5<(WI8H*;M3x zgOaM0{iC}*j`1nJf1gHUa z;B}Pf!&ZenCiF|z=+h*Ujp3fTXaxW%?)BGdDcPvNxxkQNRTgdMgWr|uP07NPd!~L; z)}9Kit@gi}&}P$8OOLMN89~R+2ufge_0j0NI>dzJpq`cL9=tTUXSG^sUq=E!uNSOM zV-T@E7xev|UUJFZ<(dB6FE)ouY^Yss;C$E9_m{w(k?+<$+^y;9xwt^qJ=|N8Anfn! z=k7orb}$SG3~aYs@qHKnUeeLgjz^A+LN|(~*BjYzGT(w`Bb#xQb5M!bHlWs3K?r2T zkG;fzTTPSX6-)!tdZ;|KSS#~Vq(sBgp%qFI^9CG+(n!-J>m2}L5oQLlCNc`45C#w$ zNLa1CYDk~4&|KqmwC16j#6)Ut%cY2G)XcscR|@7N7TP9(DOvikpapr6S5py6Sce+9JUqQYZZSeyYtHB0^HD%1dSNEO>=#5k&D+plEXYq?##%`Vwy;$6|1S z^OR=x0+i%@eOsZYsS0)G)nabcsEc|(xQy1&|0t^v$Gw6sF$gCxz$R97M}Fo@zE?qJTcZZvTE_w}1ck_rF{muDeU+(q4aecM+chNTdY7Tw>f|e+P*!)%HEMZ1u>I z<5FM*(4F+Ofz4^dT=v|kl?06^5v9WQ8EW`%o(im3(F1*tvRWw->JMnkU_fqdQs`Zn ztSqb$a%!iD8&QZRLjM2*sZug~XqqGk)i*nr#RzJFRa=?cNomv$Rp{iCS+6 zUjV-p&|g<5h(7rRa)n-j@&rYG*Vn*r<+r`(C87d)ac7gt#RVW2${zOYl|4M{V={Qq z9Xn?=9yoBYNzKUtUF?@tIXG=j%EozvoXqHCCJ8*62*5NJeIFf-(bZ}NeIK-Jpk-)1 zi3?r8g0@{{AQ&g00mf!DhG4V60h~2DE;2p#8g^brG^x6MGw>K;91ZCok7&opIIb%FR#@r4%4+(nf&GJv zjrP#@YpnvAi+-^(UgC~Dzy_XdxH@-w;ulwEuQ~!xpQ0zOgwrkOr|9YSN=}?CYB|Fd zu%Tmfb#lDo31@zbEy9;vaF)CEg`tXlPrvVldtkK}dKW+M9>h|D9gfloTc8;k7eQG! z!Z;!{8>j3x!saAvYeXuM0<3+^PF^m~Wa+K-kT*hI$yBCF0m6T?mR7tzU~e?%918q$S2RK zvyBP6PFTZ^DN6=PBs3>6>wh&KfS3x=T{W;y#VSt55hMLZ8luht@OEN8cO(!^m^VPQ zA0xtbuhT8qMs__n|C|9nk0i`aV*d93S4gvHjp!)~(9`v3Im3tKKBJ_tl zlqV6^|Mu@D3Zne_rMHN}Q@!PBJr+NIK84#`1qwfbr`F@*DJW0TTTrfUx%KaHT_P{2bBfCGR=BX4HOHDeP| z>a<|AMyO1A4;AkD54k+F=y(41?-{!w=q|O_m59% zb=X!9j^gQodNshx@?N4di;sEr(^=m4$W}Q%UsI}&>Kta&8C63TY>$gVmf080!=Ysu zG}Ugukw-zEsl5RTI0w55GA0M&rfD)HH%vVot+kshslHkt9MQ2ES@6cyQ2;acsNNF` z6N_{lXt^&0g08s*xX+FS!%D?fiK*XU2K zm7nNSKm>hyYscl5E4cCr=hrX9a0I|{hM0^%y$)d|!`%Z9VEn@Ef$bKYL#SZoPL4-7 z+Oe69f7r#*!? zKhxxZNTx;s8HA{(R$JvPHS4#dhN%BDFqpsxRx5f|hQ5d7cV(@z;f$GK8rv_T05&HV#Gn|}Pi@)92EOOP+k+MS zoPW=r2W5ZHo_oFLUhhHg;yvX~`3(a4>(>*0{X&r|<>{?HwUwTyz_kyGYpxZp`2nOK zC_jF9tazjFL%Ffv`Nku+pP)Z~qCahtP`K5nx9HW?m0p4VLL5Xye*+c`pm5=l3UI&I z{li{u^gk$vopJ!S{s$iUblTa3XzIZ*Aw9u4Z1m2q5;(7wGs4<@L(N~IDlh3*CLcEZ zw)J1H4dEa|J1{uF>rnxKjD!b(>jVNw9>=;^fJ=oJmpD78sO$U05b3|!(r1}+HifF| zR;)C*(85eeEQT!4c>@3!NJNHnuQg$v^LfEnrz!RXhg%w`M`M<0C6g% z$$q^b{6h7IKj6x*F#XUmRANhm4=W>?j)ahy_Tnd-uITCe-poE65nRVEpJBaTV+uc9 z(@$LClwVB3>w=lB)yWTl5osRg<9UyA4;S{IS`GhFpBQ4VzW}a8uK;dEpZfxWt*&u48F|Kw$=;2eO- zw{-yA&hIb|iN!E#T4*gpmIVVKDsK+72b>=JN0hcjceJ@XKGP+ z15~wNoZv^J_}S90TVMEhRl&Do4|?xmzpeatddD4?+$m2Y&$naov<}Lj`~(Z%1;2BbU=9mzn}Q` zz3>?2;sWl`Jzyz}T^=4_2YNUhI2^VZF~~d$YgAN^8?ZUyO;2p>n~?}`#$>`P?N=+D zfTdO*G)nWMiYY=ZC+InlW0V@fiG;RalI8(f(l#Dl-(2~KyKT6v| z84T^8e8!%#IoAS{HR@ZIZ`4tLHh$t*yNwNPcVZknjAn|3zbh=&*rBUo&`|PONZYdp z?Jw-?zw9sd_vIOW!}-di3$8ewI-c^A(>2QOM%f;)g&dyk4tn?w9G-DF7?qfV{XM_1 zvAKVM{Q(|$&T}4kc#bFSa5w-r2RR;g+#H1sDnGA}nB3pej7uA{@&GvJ9uy{LCZip!m)FI^0AZJ`+J1Vh>Q)gX^``1K7viNcI&t`(8xqDOp{D2 zB=?g{OkqJTr8Oc?+ajf8X&Kx*5GmP7K5Y?Fk~Ah#QzVT^3Zs#Lnj+>GXx($0(j;c@ zKx4?|EO?7>=dnp9o5gnm)hwWBLednCLbJQ_CNxdq49t|>Z!jS`A^3eCwnpZ$F<83? ziz9_T93_ERg+j$<|JrOci9hC5cbC>A{tLy*f7aGRig)`|DZwcSIj^z#1n=x?lq0p- z$EtS{twODFfZfYkt!KKD$W}G6kxrfB$ZG4ny^n1j5UEWfN}UdD{HJCs5QU{O^q@9w5R8S3%#RP))#QsbLPyGGkWGq*=(RYDW?-$Z*|*s z9Me(xejv<1o*m%Z#dBrHbV9fSPFI-c(OT%wa%YRM^u4hbRv-+>0J7TcpdEx3hT|xV z9Tpjl!iaPooJNGvOM_Ngm1#N)tOd@(dNM)KY6X2}T4h<~$@&SbR)S10wd7nVxnOeP zERs7ktB7gwqAlB%g>#IZ0<XEWhe!_$`;SPYRGYA=a-^qlPMO1e3stiD=T9>` z5N5-Kx$mE+20^%hVD-RG zl-HcjkN?pb5b#Tcvqwt>2jEpnL@~`t|DzKh7@{;KdjC!WX`L`N9{zz?a27eEq6m+dY4d!Z-b9 zQ-FRK;&T*!!1c8PdUXqM%M*U_8__#1jVJ_q!9}PQtbDjbF&82Z2QWJ_b0hBD-|&cA zqB(%FIbl>lqgXmN5FU#a1yrb(?B0E7AQ(X{UJ+=KsvBzCiWJw#A3W(Fm1Z;tW`B5W zY{RChi-HDh$08kF3SMexA2`>N@a8^)*~Wk@$!_s;)P*gaf{2vBpI?*-ZTuFTBqVbc zKdORJ^`n^9r+A(iEw2+L)mOy;jvT*o1p?}`rVJEHLQ+U;OQEDx>;DUQM3;`eaeHnD zkR?haX7U+MBi1-HYAz0{ELwy$vxp1Vc`t08 z)6X4#oQcMNx~xIYXFYAG)>ol{53$d&L)ji35jWc{KzBP6+U&s;dUqF2yETN}K(|}C zy_%1w19UfWACzz36wt3PUMPIk7hmATi!b*4moFBvy^M+WrM~=v@)CW?{1|+J7wA_9 zS)cPwXPDrba&yBCHwr(v#(4vH8S=?5;5T80`#UixF7Kfki?`|7iP=9TjKl{T;9JwEf2 zm&zB^BLn>ke5(`0H~21AP55!6KbXsnaLd)ND=QIJO~Hjrj_tkn_ska?{4$%5cJoz- zp5iEOP&ROmav)9*z@svH^-6&0GhikKc?4i(L32>5#ILvxqu8dgQlIMrtV%S7yEx4l zeI?+Z|JF>?q#Mj>xM9>28{@hj>+h*; z2je&=|AWhm_j^k#yoI=2g8p_namSSphNsH)Pvyt8RS^ycV5iSGaN%jf-2+A!y1U~g zFZJ^7lFQ$p`F)N4zIp|>xA5x9u5Zv+KW^pr)h)N5fLFjR{N^_=Un0MM1H6#PLkOkb zvxBfZz~LY_!2e4%t>DB-&LEd(8srstaivSY|TidL#&xdXBJ~E zGM*3^Wi$^*S=Nayt6XEvMo1PZ_HHPZWtej?a;MP&Ff!4YV(?YQh!i}o{ zgDIXGq?E=Qa5P9Njf~cE%>FWHaVoDOc4AM9h9G9jq?#cmF@LVf6|#@ohY5zNiDU0} zteraSQvq5{MEp;y;fI-jl-e6mqRVh1iEX0d?jxc?LPgRX&=>3U6XKql$U_whI%ztw ztoz$ZQ3L*DpO7M1c~tkGz<>~)76$8a;?%Xh&Xj(iNwP-}i{OYn&D~XN5*HW4`Gm2l z)xKu*=GUGtv;#V{<{=-BzcnI=m0{uUZK3~)e&v)?W2j-L;hHsPTk$t1Oxy-=(n|FO zpyMdp1*rS}pHP}l`ua8c`qL+U&1>Z&d;;auYkdv+xo8M|RaKj(xoa+UtKY_C9od{G{ zf9?Bz!Su8nLmQ1<2HZwmf)(s+a!)J0Bp7}YVI~@6GkeOEfu6YMX%XQrD6L@6L4^Cr zV#Oyo0QS76zxj{v9OJO2=n>P`E$Yhd8=Ahs%7-?ISfnpe4NP^l1S9x3xu-bsz-_cD z4lsX6nm^0gN+l&t1u-zO7?2SJh??h5>bbp74vT~Uqxmw;pkH=wfaOY=nNFOUm?V5X z>ZO8wjnps>LWA#{ghOmgcts3;e;DSr^!8o*;G3$k0Q>sT`V3b4UvqX(J7==Zsv96| zy}J&!9F@Z%h;V*9_j~ z_zbT;>*waPega;9Lg6)UKAKC>$2aKu%}4wEHz<76kFVk5N1%DFuV15|J}pkb&o2S= z#S4HJ1};9g{l5Wz{IG4Wubn=81-}dm&`aEf=wg8bfXx8aQ3xfNkkmc{NMI71q> zi{G3g#CHi?%ST2X3X`S3J_u@`jb-j%dk8pb&xv<6U0*^33Cav0S~o9e^yY;A?;4JN zNlOx)R87tlGC<#JjY6JR1W~ATMDqd^1oe`ic&KhqQC&i!AE5njU4Cn4HMI_`S(ok~ zBvhxY%2acn$Tvu}w!9jT4U==&Y{Y9noWp4r3>Z__5Y+ zeB;|U;2V7V_J%inDIIdc}*>7O4~|X1}Ux8_9G=IAT*7XQlx1T#d;=s z`LEJvNC_E7GZiUK60en8&ELv^rn1Xk-pi0QOUg+sDPHsq%pT6GJ(g#Bjddq>NmNwaRtH1{5kX6B1)d5bh;3Jr7-hh_0%Ib6HCN!E0;lLp7EUO$MaZlL5F_^n z-4|-9Foh3bnvd3!>+B`JIkeB-*U$T-TBKxEfY~O@v5=@7Wz8a)9P z8G)^I3l-o{|B2^=ERIC!$XUJs0xNoNS!Iu`wT7PSwZd9G?Dt$9=%o7k9f9uHvE^tT zd9aml7v=VQxaVH)FuwmKzkw(E1h5ht`tuq!HvbJ4`rGA24HduWOGo)$0iS5}BOm$5 zN9E&3g@56#AB(qd75>$KLHRcxv+Fnf%STW=8i3adulUR>i!4CDfN=`=$}@nQ8@>ZS zewg&=>8&WYz|}8(^2Dja7w$$Vrfifw`mo!Xoe(>PL$o!c3w31ISqX6Cj>({$&mM7M zt;K+~`!fVx8&C|WRU1?8=YTsag*f2RWpujlC{6W`j5<Q$t#IjY{8 zCuDN58gU-R(mq4|I19Fd;gLB^EJAl82(Sn|*|su|H)J_zmvrH|b5{XxV4G4Rxlo{r zfyyGR@Q6d}3hDl13zGqfjZ#TsJ=$YQO|r~?T<%CTQ?T!x7g_+nUkw$rH~6ilp)9@C z>d#QAzH_*b=lWQmKRZZ_;q+oZX&wA6ZEzoaBCvX~Nlt@nzH%W@z{~6N*|UD&d^U<| z4f{9PRB)7I7<^h4fWy{%@|i|XA9fGi@4fsVQ27P!!SRbpBofj@d@-bA9(``Z|r^FqHlc<-+uT2fBm(@B9sqreed5YZ-6%_AJ@uj z;L|6CPhLf^e_wn>dH&q?&4c8(yNm&PVFo7L-^1?V0ob8i2fDUU z0TTyKr9(L(oHiz;uD=y{W5u}GV~cdavbP@Efp$P<{m+~j#9YvXfUJsw{6Q@DuR4IZ zw#kCLXkHWPz%uy9`&RlBGPB(MM(|zgWMGvsd)jcWxeq7?*_S24Pxt_8RQR3k3+{99 zpD#&DG53QiI4CJe%{S7F1I`E6+bFZ_1`MRxWwdUd&?@uEKI_FKU|^nvm?G!8vP(^b zrT`4*XuxR}5(R)JzWm(Hx55Ec+PxqMEQUYe&Ofbl!ZB7FMB6U|0DV<)AaEf&TZfbV z383*7LlaG7mbF^N39DtpRt7Z~uL( zZ}=CB9^h4t0{k^Efc#Z$KMWDP`EjFg%}=i9$@&){Pt*Yp;0}D!d)NUF4;;V}+-uM;cJ$*nsO7)P0kD~%?^m=Y@Y01ApzdG90#V=hh*DuDk^xIR z06=0!sLDSd=TlYvS=v}Pim@;`HkN%~>R7KgB>Q-=N4)FL90f=;0!?13k0*Tbt_^yr z{RDlV>*E$NI1eD0e$g|?-pKvLe2^R4uSBR(4`fsdsL=q#jOF@gk7ep4P@5p&BtbI+ zF=9_eQ8iDq2cS8rP7*Wflr2AmM*Js{_!0fra=wovxb8Rg6wZ+YbypeOACXmxPtI^hxR&)#p(-f6!Vz@07szvq3n%e4b;-}&~< zBs^cA!wb+afzZE#Pp{F}yyoK@U-{qs%fFy+dCP|n=zHKj@czAhkN5Ln@V~!+5B7d< zKiJgamrpbbpMcLEdAxux@D;#-NZ;ol_V@Frzw%1?^$RXh?&gBxJ!W(Q=*}h3Z1MOX zJ$7apve_KPW2&%L31txL_1d&StbMqz!Xtns8^B7f?b7679t^`g3DArf*{{LQEr^q8 z1gi`zj!DzFx8K|gkokPatiGli_b#FWpCj@V8G%l*U`|sd%-Lfx<{p83-XNryZQqje zS0ixa^Q8JbnvzxQ;=9*5C0Q7uQR<7RU=9MxLVZ-z1@Ra_YGZ(!9u&jr7j@fN^JUzwev?ZIKuah84+ z-Kgh_Nlj(_$ggg#Zu~=7acwq4;t$RO;&^n;zdQS4)W3V~V^HYD#f72&PpEQRL;rtp z&9!_7Jom)YUg7`%AOJ~3K~&f0Ul$DCm!EBHetZplw8#Ga7tinczz6-S?(g6F_uqEs z@A?n?&ELF#|GofqK#IR^_u+$Y|0Z7d(JO?n;N?poDK88Pc+OW$G4S2Cy}pL0PvZ~? zz~ygdLeRbK*S#wRA9yfoFoa4H{1Bc_U0wN4QDSlHGQv2prU8#AKu!_tXTyit9$X{* z_o9Hham*uDsg3>FGCT}JEA@Od9lx2cIn1yRiERxK zTny-nYDO*8Lu328IiiA!4^FV?!ir4>-WSl{k;?f~XK>9DpK+7`2jjV`WNumUluv=FZ#x3flvOMziK`!eCCBm0AHU!C(?j=u?Rrn zmp%c0J1KyRiyGbR@4YB!0f1FEf(&@<=s41K$Hkj&*sx*kG{7^#2s}sFui#{=xnYZ4 z25%bXb>G1!1V0y~8pq6uq{Q83L>d~2G}25%kdemH+IsFF?g#jSP_Br-=T~^Nr|zLCPNRC zCW;nPNmfj=lO!cgrD(D3l>iQnu4qOi<e9V<`-WzeL+9_3Go{A<7;4z^6y)H%Lgpi|BLs3y@&VcJ5YGXyLa#4|3>+L5Z=A3 zW8`oC6`KbBfjQN4=Ghx~{jcy5dBrO}F$#R<#fuj*O_O~6`qfX#8?N~-%2NUOdG%Ac zMc@fs{7UtG@AkqT+1;x=>>l6&*=~^oTj^Bgcsy3d+Xm#cnQ!Z9E$8*wo=J;qQ^j zGBHWcq-jF3Rk~zae1f=++SmpL=m#lWHZGO{z>yh z@${zTc;1+|?)yKLsZJ7$f&XYicsz;BgZ+<5r)j*``)J;8<`<|Vlra5tF;JZZhITdr zWwp|kA<4xTlL9N&NI9?1x;|SAD_AQVQBE#e*-$nokd9KpEIK`!07%(+yY2^I?*slm z_Ty4{BKqXlFXRf9+o$@|y!`mVjq>cfntR7L-~Oc<=?9wtKf;?g=)W734{!O45BlDQ zwyp5*-YL9;cP1W<5pI2&MF9T(8~Nv-zxnI0Z}Oh^@ZL6i19ArW_zL0EE8vs71U|n& zo_|5U#=yQo_>RC+fuC@NaEn}mSast*U0*eoY!kOpJlZ|dXQC*^ov18iw*J?VQ7VRkQUsvxJ|AHNYuf- z801(lL*~iA{u;j?8_A5xIR29`A!HI$w&yd6X%Y+bV?bxgOlgXVBV*5HlD}T^M4B>U z?=wlVAYUM*c@l71@?!9_;0ziTP!dpm4G0W9kyBdM8B@}l^_OC{K@}8Ow9LlTf1YL- zm=KcTXg)yl+{XO=s((7UdjCaRFbMkN#ALH*w9es`9{?e|`b4DuT9LcAA8?pI!h3!9 z4)h&reIx7S2R8Qg-8=Z_%{%39ct2MOuvFp=yvDf!p8(4~A`Nh6Abh{^eg3IW0dB3L z@f+aMjZN?D%ir%|zuznDgxv#&Ey{LFceF~tv9nZwBVxxD*qqp~iPme@gTb+YzDKMI zu#!jz0MG7P+F|Y*JPh&so9DwL1!;iDP6M{GVDy-17Fj|=&ZAVWU!2mlj5jf>R;Ne2 zmd9-P87TCpWnz&Q2bCA_$lGpLt1$Npv<=+ZE7hqWr9}%dk}Sabg!c)vL2rZGE*|Gw zl^{K?Cz_0yLXwF4lk)*^Mo~6YM5dtjPF2_EfCvk|bks%6I;m2JgEQgu;n_UNaDiq) z1TgG&R14d}-8F!~rUEzqqvNK3)f6-kp#fyDg0Zv9R<_S3|CKfCkfcf|(n9?gR>UzoQE@-v zjG2(k7xCJSKelob@ZgxwJoyh*CCIG#x9(93|G#A=snM~i=bXSemjP>?-xje-fw6N~ zs&*yZt*e&B#|gC}5DRDACPk_ZQK_46SL|&L!%ML$KrG5e?N5#u6pabPFo0Ah3c-C? z=H4Y4Y8bUdyN~DljtLk@?dYMqqW)NBRFB`!xSGl-aG- zbNq%9;ePdT^X*3(kBr7*<{u^m8U~{4kJ7fvU>!i*X1esOj0gnU*L_*5*PjcV)ks0- zVq&08;dD|fXC0#rmRhT?gN6T?{$Cy__j|Yy6U=alUWVH*R|=v${R#P|+SE_Tqu8GbwA!KpzpBgUlC+62`F(_BE$v$^6NXl{;+tC$G4v& z&%PqxV37jAQ;?sr?Gr!|ej^tb$lVFc8K@R?!u0xJTgbe~4;dEMr=WB8I z)tYm!Sc%Qky{vkYV}Plq0RR7(KrC;G#&iGC!~C%knlaJ?94oMNpdsZkLjM}p1NqPV zUFu`mv4P3@0Ol#nlqXA9+|JCT#H4AOBx6+IVzIw~h4RV6{^H?177)~9;o-l9{)QD; zDge18nq>J+S+WP`Fk^Y6B#k;_ZA%oBPAxCY)Fgk6#Oj_GA-#RcNsKO;?cB?eB4E{k zMI;onYLF~yz>o=N7MewEb{vsd`Ku8~++_?SP_gx(orOQu4$K*1Z5!@C0=-xtz?DXc z$>l$46#x)x{l#hH4K6kti5RvD0k;RXY#sY|BG4Y$gNMYx?@NAz{^AL63;cwi=*{=< zQDTGV7IMFM@xo&8mk6%_UK3%!2R^{tJK;U>mzDV9q9XIqjYkwhp8faV@b}+;^Y`EH z72flf4}jGK?IRw=8g}_gbt0r;oS$eaQtEVw{IP`~5vTi-vrU%riWgz!m>L zSv!@@W;445uOCG*z~X-IX&b-_MOJDY01Nk8Zy&Zy{~F(inFoMVedj0=PZj)p6GmJP z4v(ns(X?iH&d%pJJ~{Z^iELG{y8qKO$z=TnnaB~9TkXFZ^)701VGZt=M6y=mDOkYN z2tHEzQj+<3cxWNMJ(bay5c@Ev_y+$lA*rH%o*GmhLUIm4QLBSa-Vo7;a}E#>@j|K0 z4MM;%0t@$Zo_!G}qR#5kRfe3!+G{QOeUAowz1852K!e$3wIEqG0BL;^XxmnXkdRsn z8U@68WnK!jzqQ-do{Xd_mI`ddA^<7{z?%M8mpn57d4LC3#@#RcGA@4mdxy)WrPJTJ z7P#RV&*1Abf#-bTi(tIxv7Y!iNvQd;a1*{OzdzJCJv_+G|~z{C^R7hoJ@k z{PPe0{DZ(>e82#}H^A$U_BpR?#1sLX(AasI0)~yqe zS%TN|$aE&i{Ft8~4Umxq)i=m*G6ki5P7Ul;*&5`MvyTxR`+_*(voDO5Kxaxnsp)z0 zj>dri*aH0jvGp!Ha%4-F-nX{jA|f-HBt

f&&gXt6`z%rAhyQ0L^q-uk$~EoWX;$G(^?TWgtPc*$6~K@G5I zz^DPWY-r7W)}EggB-k>Ao;L`oRz%r9(4qmzC`FF|d&83Omd>>ca8&U9+B=~%i_0Wy zh_DpAAArsH4R}~jaR4q$)n-W-Z_*&bGL0A~R{0as5~{`_kmSJ!Nr6A%S%ecr?ldIx;l zRN9RN^!xAd0Ve_RPw|h~N&msmKmW{{0sw!5fB$z|1aQc|P{8h!BLL#>9xeO=Kl7^q z{^4?he}3}M;d4j=N(BLdt))13=r7>q_wU@|>gId&aC0Mg;QIQJ>uL{l;k_%~~B41bpI84*hJj03Hc?YQOm%eFL!}r0s@M zk;1u^7yN0epl4BK^*$s1EGtg{Xq?&Vy)MEPsNihDN}OA;PCzRwPpkAd=3y-6h6?0N zbrZH}8VyCTZsOSH-W1Y*Nkuu_e609i@O7eunwNz8_Sh2>NQK(@TrO%%B3gNtI$g~X z*ak+TP?9KaY}{a$!q0U+C4o{k1TR1-G-e~z(2$a~3~h5JwbrJ*#gd@el}|Zik2}DT zeI00;T$f9j+poe8Fo|_f$MXhbi(pu=ZXtk`uvb9!xa;LYg`$2W+pZ*VjXzzy&9 z|M0*^EMfQr-1#8>&dB_?e&n(;xcBE&B9Nxci8{zr-TFd-MQuCvjN>a5U5&1TQt* z4q|7y`sD`kFakFk`%!Ket}7-TudZM^3Z}%|F>}%$G>1+14l&PaXEYD3jAXMY05tk2 zyDhjJSkS9s(b8e%vaS ztfW`8G>y%GQmlDrLZz4sFklwqcD#W5=r<+96k_boKVJ}DJn3sSKu-jq_7&HFZZaW4*{l%~PVz^l(dv318?#IjFxll!-1 za%o$lLojouWLjD>IoShwZevL>2jGmloXbQ9O(r)DOxeQ6Ww9J`!MXr7lzv%Q+Qqv7 z0n5N;XkqCJoS$tJV2)tj9_G`egE`P}q%TYpBcrj_2DtHdSCgyU<$NpRL>f8p}OI0QE%8gGDc)b)r)t_7W@t6r2RZB&}c<2vm@?Jj`1o#x#v zE{g^RwJd5Gv>5wNjIki}Hre_`OVg`kQIk=V8)YWtoT2H|HCaqu%6SsDTPnA?l51MG z54VNECjU&E$TK;m)TS)uq@^ihDd7iT?)e2lqZA83i3yI?{R`glH*CLr0UwgjA5+ufxqWiuW6^#UpwFl!EmHD9K(^qEj%b6q@4fz_O!D+W6D#kJKz1FfeGu9t(NmppX|WjtWNZ-_C8=I%&2N zPE-LzJF9kcc`gue{eM?Bf73Yt(64k-_4H!2ej^X1|H^#kGoaf4}Rf7}AM3Nrxi;M+IE8{6IA@~6Ih`6BpYI)D%G`6JAH z)E1%(`R}j%EPnZwzyE@M`Fn)237zXc1Jzt<4>XSY2{Q3z~13q3qmS?3vK=)w< z?*CrHn>)(4x0JWM0N8@hvC>CxrAsyE;AIOt``E4{Ismp;LY54DdW7A^@vMc&#xS5oC`b z2!Uf2H$ePtbjNCZur!TV1t0*w09Q6)L~seV#-UZ95mL^I`8jIqq9JOlU|^cMGGSp~ zH+8C>fW`|4g7`PCe^lT3F*?<{8huz*X_XCVs(?L+6N<9d!I8ix;OXiLxaQI9fOvRt z(;O=W@&otRe2IAVO57Q!^X9A9+uy+#(0c&hi?9RYpLJq7cBh|z{uzFTpMOR_gMQ^# z{Q|%*Jn*yl)$WI%<)l9uq3|ETCmUcN!BT?{tG_r1-oe|qyy1=i4X^IdU*)BB4EpgS zB+hnRHxIt?U;CM`I-r@Qz^MYKwg{{u%bo9pJGTcP6wZM56RpahzP4{4qi8tX@1#! zg5~;=#@ip!+AFCk2HROjL4Z^mQdvmF_<>1lJ^J1-rm3f;sQ1K}Hyu+6in5G^OjZnoOBMi|GLj-3^vjA5PQ@115PM z2DDr#yBW>9U16SKhbmFgoUTochTCBGQ@NTtO$=PSjpaBRLjK|c7jD^cVYh?x_dQ^M z;NkR!f@25O9WFJE!@K24=NGOS@cH z7z9g#!BF)D^iAKf$E=`d)#Phy`4zzjquM(btsR)_p zU@?|2ZpZ1kpy3NDsCZ+)QX`F$a3fBVi3)t)8rWeQI#iNjGGmaO3Ae9k2~P4mQ#2Y{ z7lru2T?)MV`nX4c8WsmV!cZYzvsx#ttVldK*shq3RxWjP`+*JRw;DK5%R6&%o`9y6 z3|z?|T{o$7pZ>{@zpuJdy#8;uU50AAz%X#R3fX*7$_{)F6_$Xan;M=K zFV+^o26)zu-}iHTfytD{y8$=F7oWmfTS&k{X`15YPpdGbWn&m(D@01AEG24^QK&G{ zPj0taN+!3dFnbw**-L>fiCi4vHGV^9<-Xi>L`S6D0sc3@(qo$LU??^V{b+|e+K*jK z;ne~cTWoea+V)I)-V&1PMI0s$N0_dr$V1EZb>LMaH#av7!-K~01-EW|jZYwJ%zNU< z8;) zkELd59N}M-nnp_@8IZlY{6eFYib_c$SrkEF3cmY8Q4t}&laf>;uSIey>~x0{M=ObJ(sl+EX0 z_!-loHVQS@pG6^vXd-u7R;(b@RQ{K|ja&6+YujLP*?k5O+9aG?UqK1+kLUZ-v^qsi zof}8^WrYCr+#9SXI^nME!2ovb&hA^YThALNY1M|;Mr?mqpvT8+X9V8B!-F2YEx-@Z zE$AgL;ngedUcC~$hS%TheZLm*);{Blf7b7O;CI6V^zkF`&yRvxA>uLffAs0oKlF)D z`Un3IpU^+}q)!-p_|K33lshc}AH)av{dZ)20W9y&{8_OEa+c%%HHx_P+b_6xrsIt% zfv$n;M;r<9_dAF~^aY5^-X_ZVERz7+Ib6+vR!_Emq*egvVGQghey=Y6*Qws3asdkz zTU2mWU>g+yYYk?XwnmyxGFQ9Vs8;h@z?*)0y-Gn8f+}qD^Hddt>!!C>%V-+Hn^Qm) z-jTC5N?q1;9FZLN3#f4Wj5Xp1NKJu%D^^8_ZeAr^|5NeWd-miTQOqN#HX^o-*m%cz z1pcF0yKdq6xv*kNDDwtE!m(? z`!8jfDY-RLKu!030QhEKa`1u3&rWOK+rl*V&@Vkrzc4O63nQ@5vcNE~c>8Kl@tn0p zG{8KwpEvXXi#jziRr1;}_1-pX#OmZXTwH{6!FllKozDC3a6XCCYu+4B95`}3VmmSL z4s^>s5BJylzytX^y63y#yAy;y3cd@_i#zn+xDy}I$Nz@Df4tM(ck~hT{rgAYv-tj9 zaIg3G=;l3qSO*cPAJAyy7Ki4Y!CLTn5x%(8CQ3 zP)d{seDSLo0yNe?z!E8s5bV`6wT7yemS*wwqUVuP3M+9KwZ9p(Ejwm*LMi+5KCBRMp0`2L# zjxMS_TR#Y3p1qRfy#Z!VMch|Hw5?{^3hpl3k?fVJ#&|8>{tKtVv+@O&MN34!_QJA& z%oR8!!66lHA{|v;J^$=|-R(CeO!#B>DT8vVl|_$wQ()_*zCKYBDO<=8PhQ)Ak^cpl z3gwV-jWdvo;|#VyBuX^rjNX7tbwA{p3Tg@RPq=+91`0+wCBA&)%|rrIsc+YWxMFcy zcKH25E#ufKpsMS((5{5)%f>}VwFK`v5w5_26ydv7Jr`q$f=Yz`7X}!-7Cj7#&S2iq z!T_yR+Gg+L(eB}ZuE5fPYs?^oYu#Y~QOrfBlpo^OUhDK4@fyCpM&H0BxTeMvZ{NzL z0iIHjtG74z?IX*}GE5H%NA~#Iu@0v#cJO%OaD;FP;&26j0OTn*Y~QV32%lv#pR- zopWC`97Yr)dd|@sHuZ33@bih)$AZ|aUn(3|CpZI=>RJ_YRhYhUhK2){0_{@e;(DKd#*pO;RWp)idRo)ZweT_ z0s(6z5sLtX(1a1x_eO2C$1V()i^8G8dfA=rb?2P{S|_xxZGvoooBti~1Xov2MvU?N z_<;w(Lj~N79SFC#=r3N{LU4zi_ba|(cmS9;=Uepd-8;VUMep8yag5+S@AG@{{=N7; z>-YCr@8A1(d;h!Oy}r~O{|kJ1XCbtC{qgp#^AA98zF|1T-JP3$yb95e;773j^uUd7 zxY5Hks+_;8+7;AU5l2 zwG^yFQ~Zu?C5mn~zFI{pZJ2~sgW1_wtPbpXr7AG2Qn@dSr6Nm220q4pzh9$;N*C~v zzSw&uZ1c@Indr_ZUh=xWJznSChV+#JI|v?tlFegs*oI@I0_Am5%OE^#xu|be2}ABj zZe@sCI`j{;3Plb8QAUh#qC@j9oq!As^poPmo~E&|KhA-ZDIELr|GCk^f~=Gn#r9Ut z#Creb3txcuAgk$rfiDQ&$pFPa;ZJzWTfv{He8t}X^=o|taff*2 z@BdfPcQDfrUWjS|{$PulNgnN3pAcNt-1z`_^AGJ$^}LClcL6x>@U~z^{<-+#I|Mj8 zZk)gksU64OCBR1ab=9AfygH8v{O`4*$La;HPd1mNtV zWaSWllgj^lzTJn!5GVe{;_&P-NU$VT?>{fg5WauQ5+$}cArU_raA?f}Vx=S;R@cL5 z!dFmM-#65{t$Cb>ZgVtvu$f=w0Nw|1ibSw8r&x>|F7pfMA_Nsc-}iEXK#4(D?ZMXD zn+CzAUoW<+xznu;cJ`PqAkgnCbj7241e(h3#y|W19&ztTtbus^_18<)-Ww&N0qbx7 z74-G1Y4h`+Z$%*XZ{I4Uy9>xT1c)zR1n>0rEqZIujm1M>ofY)$4e$nDbH{7k_TLKr z^_YJAKwzE*H{AGnzh-s)0j{1nV7dSCaNr1L07``cB8>9$ehv zwJr#CVOI?Ux{1zY-|J)t9}BxNrG$@4Pejl0xUXMHm_~g)gs_P zwYceL+dj+G{AT#R3t}mVUUA#-e}bv=`$H{WHyAOFVK*TtAKOBp*RSt*{Tjh*!8iDd zzP_z40^+OX@ldU!1<3CEQ+%yWzC=N9KyS?CLwtKJzI{`V#Fc%|BftUe%TfCPNqteYZXncNi)Vs#HCX6BP)o1&Yv5Idl?-eIE;j(J zvwWTH;RjF(!SRp$-W`Cq+>Pi1;QfN?hQbyCfQVFyVAadq9tc!#zzwEV$M9O-Hd4?M z5k%fnc-Pi@wu9ROU&~g$FhqnNcVjq#`+3M4_{viPLk0Y$?jgSB8JjAjtv*&ISXadg zMr0=|MQ8zu>|%$yYpdos3u+bzO&l4mXRd-J>xr#r+a9lZ7tgSPR$#vEt>rX1^1U{8RQrqw|1Cd+hz>S5k;Z5j0_y241T|4gxm*TAr7sX@_?ey9?G&!T)-7z0 z16?|TjvU3|pu^!%kEQS^9C9g;h|j7XZk({}x?c?0j?KB6`#_s$u~B=&H?;vGeH85M6%|G0$!0H4(W?eZ5 zs+t&<(libLE{nT#nYSMiXI^Zi$8Cd#v8$F~@(w{(7IfxG(1I@)qHmoe*yjx( z2vH6=J?nOZ4#y+M;}LigS3XayG^j_SGKhnM_u>co@#BRGMih$osRlx??sNz6?X|wW z#!Wh3+w;_*>% z4OdS*ab>TMl;>D1^sl|ZaU+p4oOe2VC%}QC!JDz##T|eH@LO%#>f&r!TqiuwuWa8+ z2(sTbL_dK0MaC`}EpQ#Cthgr;(`exq7g&{Wdm4^~P2! zK+bD_K)jmZl*%<+p{4-OLZlkVhacL?idwdV8iFsaU=YOr8!NA2g`aQjZ8~`>IF>*kLl)lZUz6UC*7c z;&SExzXDyma0bjx_r{_D@q$nddOGkD{<2B>(!=vtukQ4!ysA6+YhLSh{wBV?)@yL! z&~L}FR7a6JS!(f0p68o7k?*>_wXpvOKU6^0*7Qa^-01omnc3+zx@nO%cVwIq7s1C1$e{KR8N%pCYa3kF1{n_Uyd3E0sw$=eo>SFSL7V3RR=1s*&EMULKdqMmpJ4*lF-Xn_&@@>o z$o_?8>{L%+SGD6Mz^2mIC;-7o-+NdJH4V5}X;5d*+MRct&uE8*x9s=z{r6yXaIb|Q zp3oEM>M5i`aE-eM18~F51L8gmL|*{t1v%aFUEHGYz{{7$6#L7NLcQV@cigGmp;y5S zyF;(I(_K^(UcHia^m%1F{>zv4z0H?I-$5^Up&vg``SHT|{f1EJ=H`Ki>rxT_$LmMz z8-)MilMYV#J)QQPe9VOGr`YaqJc{!1nkD zx8KwTf&vtVHEn#3^asZr&CJZSQErY+%)@{G=MOAR6MX^IME+liK{l#4BfdlmY-4>{ zcXdDDh_IvL7VvzoU4ggdKkPlTllLMd$WHrDeqJ$-(*INlgDn#T`I{9Z1Lxol7B5MZ z;5Oz2?(YRvG2}YkYBFYTU5S3Hs~?Gl#h*}8fyH9=#%aLz#Y%KYsQRI%n0Ba;C`~D) z6qWb@a04)_on#XMkt-mWX>-thv;Wxk+>VaS1i3Mfz-A&hkn4t#F^|B7rf+D*g{8N@ zmj?9_z$^d*!?3VeN}zd}VP{M;k4yw}z)~inF$!#84(hL9>Jifz8=NX5(VxQ&FkZw9 z7%ms?LASeGF1w4)p!1J)(4RRAUh2%*|Gk1&XU^xB)o=gh?yU1}rIF8nnZ^YP?PY5P)K!*vAbYhyc_gxnDV(++3L~87` z+s$gu_V=<3Vrk_Q)@;6(#wN-_T6(AcE(<+q=}?oiGMySGWwISh#ytVE8qDI$Qr%g! zt#SzJTl3quYM9A^TSw0mS@R0PCpW)SNsXGt7uAwPaYK({p8e+km$1i*dk7**avE?W zr|Vj;0Qc`BVL~AH3M?cQ69buWNJXiXBvx8-O4wZqQKXWTkW@-(N-4>V#z@6X!98@h z)uu%4&?Z|}4ErDsI7Sdmp_Q3b2@2cLAW{R%|2Nya>O5Ijbp;Z-#R*n2MI$e>YH3!< zu!m269WvmVwhf8!$`AClzRb4T3v&-v>*}%y4Lc@v)5J6p<{&cd=!P^pjv5Vwitm6K z1sG!Oj=}cbE|{NveAk`jx%)kw*w-B}CMq0sIQXD3Fkrj;$<;KT8hEMA7=wBNlpoFk z{}JzZtJ~XK#|pl0-lu4#78{`W{X4q-{@rT&-16eZ3vqkP4_>I!e61uYc+kTQdf)-B zul3B`7~lzU6&;b{GmZ4)Zr`%jKmMxN@j2_fb^w<#EUg!VWmP>r2Ka?fi=Y3>+B8b{ zB;x=W7SPeDnPxzC>N zxzYX2y|}*-FXB7=(2pNbtbAw{1i%)9TgCMcfAGh4fw;ft=Esi&_qyR;aBuj-&5d}t z;kqEMk@q;%RfPLj2(CChp};o0+YfugK>XPDQ7YB>yzx^Uh6wv{$0c1rmvT`*jv6uD zf5ia-7#T~Hb|JtW#{!tTjR#<{kiJG8LHPx51s-faR?rxG5Hqvh;9Ac%w9Q5r$Ui(Q zg;%iKU*#3Cx{lO71E{9Z{+pPP5qooh*~3sW_umaiHJZA zi=uB^>qHH+1)~~<)-ZA{6Z*;Z(%)23KmfXpk%Zr|hPV(ERBf7tm_Z0b^bM@L7Xat; zmL+JD{$vd>_FftUV1JB><6-oZKXzq&`T*D5Si?(&+!%e>%|+vwZp4cpy5}BVpcg;T z4=k65A9?|L@#2Rs7(c9*&y8MiPa$&r8$HCidH^0CY=LlF?`t06>Pk;M`LO{(_BmP> zxd--pTk!0-_P*$ucfeZq!>HBX^KS@j#m{%OXz54H0|58^118)3t^U9H9l?>n&PY?$ zBnIZzHVtO;mzbe=^+@oH{$l`ht>;(TFM(wlfi3>tnA$V}7%qBN;;y*C;spXPA1-Ch z|Fg6G;u5rdi@0MaH!wbBa?VQ0u{huDQ$kJ=5cW#tyn*S0-~+67NJO3-eu3Z<+K(gt z%xf929;0~#M*T9A@Gd|WB2{9Lt&(w~mS9aSj`%NL0Bo!h02HE5T2WUAT^b6dF$rl* z_8-9_QOG(;8=Wc9PIk=gsym!8)?=eJ1fs#4_xa8UkJEyCgFo_ir@BB z0nokg=J(v_zC>7m6B1JHeV_okiB>+2@Y_v`LarXsc&?0tj9Ky~q3UnR@YxixQe_9ED$W@r~b1rN#_KP)p>74${#PfcDo$&xxZAi=9 zS{e|$d>uCsZRX^>09zQKmZ<;5{l{s%&scpC+5>B?-{|hOA^`qgE42+O^?nuFQU6(q zE#{{%N`8IFnYjKMFBe+#p5%A==1xhqaUclq7l5rMb=6(Vf*5_UK9&MISV;<-*HuQ4 z>+{_r88#}ZO^f6eMP-TqWOQE>S}c`X`Rq*LNt2aRmdyk0T$sJ71g%Lufm#!2f!XfI zfAKaZeZ5#qX(p={bZi!bIPP%_7g_-N9&HqBHKG}~RALLDT~)e8EAhQxpMoSr+;=p` z+#@S->FNn{pShy$!uIcx2cq$2@ml*4`Y}>^(3nV4Yu45%9?#*|`gVh)zH* z?(^1yM*8zsLC-#{;(Ip9gA5cW8cYUk9ONiS#LBZ05N&}7ilUVQ@tGSti|6#2Lr8z#1`l8g38@v9 zILk1?BK9ZPpKP+YGwz;!?Us849eC2y;b76g zlVbx{_V^Vf-=Srx!8PzuBLhGWHxFE27ulX(d=a?uMZ+fh!!^1ttmpL_J+6FyJ#yud z$d%>&hl8G;4muu=>$x|4PcDVh3A9Ob?7hww_U|CH{o-=b5Vsk0vEEE2dhJf7J3%qK0ja0dfha^ z3$RP$dF^5r;ob(Xu|=bC4$Qv->NNnjblaov4c_*wz8|ltQAA3lWR(m%t{fZqS`&<& zpKLl{QwXM9yNkxElj8vEGGlbboI+?2N1dx$kZko$&xJ~*Kn9`0LBRE7Hi4YtlF9f1 z3^WN)!-}j59)bN1e%oVzT3^{)G*=$C6FVXobZYPnOw+U)g8&bo0E{;=g@y&O8{LB^{38$ zpKe0arf35l)6}gIU@ZLA+|xNDUjJ`{`s??%w4TQ|8|SY@O&yy-@3jbZS)%^mXjxXV z5CrOPV|xYsmRj91+wV%=cjVvWZ6^cOq&*@5*t7|E7HhL{tM~yHgA__Q8iE4ym3&FxNz|t;a8Oky&ik4zaw_~2q+RZa(>o?C1 zT-7+UpJ&Y-?7O|Xc{XO+)MCKdfkR}wpu;rjI2}ymeuer8`fk)Tp}-8Txu)k)k6dfK zb|CW_(O<)(?WR@gG>*nQxVjSkWGT*sdL}(hq^tglGCgTBUA?9QrlLH}nmZ#;%_p>{ z<22j%+3hUqa_e+4&)WGU8y0j~7O*y7Q4tbLuigzZmcFN78a2zJrSG+jqlNl8M;Z&+ z%6}U|n>tX_HA;EX+_qwNyYDuOIawdT+*;b3v&cy~%_6sI$!TuEH@CEGOgoJZV=5A ztg=Z5q8(Tk(E=>2fMmvgsZlA(O#evSgs3`MAN0o{VEU`jvN`8y^zZ;^^Yz7RGj|HeGXK*Q^fYyDU z+F0>JFyy!F{-Wp=K5Z?d4P^2fbFC26^q}t%{f49y;p(M#M4PYb2|228OdOCKi^w&0;t4%*rKcwk(QUWZ;91ft`UKA0#xstvGY_ReH^i` z%Knh{Dh4g?b`=WOIv!)kug0LYS*R8oQd(3a>^hE!Zood_v-ACvfaIcl0|HmhKye%| zxnrl7`71XEh^n1Sfjwfd$(yX^=r};-7C?@YpVBi5aL5yLee>`KWc#6s+9S-t_S5z5DpiKeR7lB9*+&j=8Z~X^{)^#2;bLhL>+wB?h+Xmrd)>K+mB-wWn z2&b^n3i=P!c{2*9>s9G68@)=8E{+9Y3xQu>Jonw{yxZx_PT_!43JwIG3`pBMlJ4Gu zC-!jMYqitbOh|7$aX1t`xu&2FCa!FexU$K81$w%&1>xz+7L6yaRuun$Uzhs#9uh|b z_Ds(ZA-)|iQR_d2#W$;_-+KIsVlBQb%16U`j7F>8YW&USOF{kb=|i(2mvh%iU&X)G z)@>3~Fb!MzLSO6t_L(i_1GtLCi0Tk)irUyXi%n*$S@Db0d>0GYGwGJI&^g7vm5Zl7g%e(^YG7M2B zL=Z$FUko_wd|s`vtF0KgrPwL4HxW&pV6{c`L2#52ijLyxNlzXbJbT`gEf`N6JZg9n zPft4VB;y?%F~iOpVF(WF!~dUSl=f1s?fdn~#ZPhkyYrcdY<9bI?d^8~T?Sn3XRX%4 zWhqd8Yxps0)n1^2hyPt&pjR(PtV-ifK-GE3wIX_63idJRlHYlq(8YNqxbvT2t4Xn) z-G`ol+U%w(`g}2{CN@hjVyi|V`UkSGXjztOr;)NNaaJ~N2^L?i_kmZ~;$~6~MXuf9 zy#meUBXa-P=5Dj0YnHAXtO8B;`zv3RV`9=TaMDfUiK?5}rI1 zC=Tq^AH)ekYMdGzA-;u7E9ze@!+aH3Hlm6O3(m7zTC4xg7T(Qkh-dFLwUU_woy}8{pFlg5>bJkVNJmWsDFEfpvS*Xx+=t&_!kftWW{D|gY0F5sujhTY_>rx82J=C(=TKZcjZtcAp!99=yD0GfM@(tMLsZvUHGq?NF z3NEHx4L#z+lHYbt0U{;iB(GHiFGFleLJ%_Iw60R?K&I7|pQaAcnO49Y zXG3|07(2OhaQ)t6kNUAU24Oz}7a#COb{RY^xK!$Ey!IRw0yrBsU^}i)!Tny*d=$H8 z4=cqu{uMJF*_ZV`V;b+po^-%z$HxQ5BieIxwc=jKeF&Aps(X*2{HJvh@|46Vy|xJL zJObFA(V3mBv%wIHomWGK^%yUxFTIG~2+p>&e7~=e)EMWPj;UK0VTcB=;s597v7I(u zedjghYpF>8#^cX7i5fkwW8H?Dqy9^Bs(P}rT@%)RiuARrSbc07Nyv;rZJ5XSMva%T zSE`Lq_KKt7e*efO(YB#4P&eh;jE88}lOb9CKa78qKfh`Nj7?-!hIQInKA#j*KIKgI z=7}j;I1)_2l(IIZiDZC85~Lsq)ql=AaOdAe6-Wuce~$z%>3X4&)sNRJ{dGMJH=J7^SzgrUM~2-Ukt98!?DN3L~!LJ|Y1V z`9pnq{zmaPZAMM=E#Y@M_h!s_*|#qGeqH(h^*1+UxUJD&6^q0e^r5u{?dl~a zc8o!Vjs*y6utg3FG9AoP>g#J1u(J9LV6U?;D7`qvxAp+c-q<9C)OWMlMoaK`yee~i zzD9qK2nm$)X2(vBHaa0FTj*irALj^IPLNnblDs+uhf$e*o5G4A*mt%Qqos+->_Q=* z%+@p!t+9Mv60`{v{JmWtiTY$Bz&`rwAA7_sk??0!FU@NH$-=%9_MxUZZ>n8$Tl+*b|cL1MD#oJ9&g376Al| zDBJBFb*%j4R1YLTKsO{Lr*J97Po(_-%@T^LB|ts7iGue8h(-y42`mvQ)F1J=WAH*{ zVKqyHd9-tjbG_aCu}w2;WuR?mwe4CRm@5|Go`D_OFw6+qY3C6EVA_Gw#V!^`6@Jq3 zNWjf3x#)5k)~dh|{RRdu7oR}q;;-GAa?aC%-Pxmov;A9l|C+O|l>=7yp^72w16(}8 z37z&n;XUlHk;NXtPA9C#!EOfu@SWK?mp=yMZo_g!ms<6R3W(t!;hNOf^DvsfBL6>S zRERDvHpzXP?*T3pA>FF zSvJ>`5;>VyPm~DR)B`|~cLXnhoKyCEAyWMu?T2b>us{JS{21?1k;nRQ_8cd#E9=h+5;xr$Zo zfR&J1pXlq#tFD{2d;q!k{QA5R%%9$0V=cy`yychByR$0a+yUnjF2lpXa6aqIpz{u$ z-BVy^l>&Fq^UrkPZ3m*99F0FIoOffPh}7V;N9;(P%%9Kg3e%30PN$G9SFXO!YquVc zNY2Tyik;x>4LyehXsA(64A#r$wHL=lsHMKKcdvh9ksRr|QC(LnFsw|!XvsF4sft(wDSII8QU%v z&X;w=tn+G>_tr6&t!rQnwe36Q+WyNTgOrSOlU9Jf@(5PizefdT4wyETfFuJ6!)(xj zgB<8ylpdlKfm;(f=f5@|@GhmPRt*GeGZD}CH(xHqK`T+BX{dGAXMw+$18WrE-0Q}p zg`i==`Wf>~RDj(tz<+SB2zW=B+9h_L13Yv@AVx`t=sIigIaTpcL;?O?Hav810BQ(! z?=n{0P=rK}D5PQ&Uf^R|d2*XXEPD8=eNXp{%Ag7wo`uTK$K47*slY7>?1k|6`>#|L9c;9?k5mCrJqadKj@A_<~LZ-;CO&f z*yN`Ab;3ILJ{j2vMJi#BpSP++dyg}iKxv)yXU^LB>(+(ACjFVSbN2223xffD!~ng( z;1j;ArO(k*qtQyFE8<@#x~EYN!n&caKi&~ujZ^25SL=QK+7{+H#ezONs^5mm=LP_F za!~y4sip`{I9nnOhzOwJ*>&S7Ym8lgagg0y{@zf#{`$DJ;oMLo+K~O)FJ+9qWFG#h zLTQ!UznS!Yjw4m@5@60LIVZq2USB|bc# zV1l+#_>sF%AvupA2L_;&A`J*DFhfoQ2Z&T)`Il8QeuQU$U#JcJ2lGDc#tpDsP7QAU zSOs6WdAgSncLpL_ZQjE8ouTz-&f4wP1;cmv z(B}goT|RsGKgdyiPg@2J49RnRDx+^84WORhfIe2$)ZMB4!$wKS!?~1 zlYI;m2pQm1BRZStEpxk0^3~gu6vTjdyqd;f9so5BB_^-|QA-n>PTbd|I+uOy2DrDl zg12)yU z0QPN?|L-X==gjPLcgc3#v(*vuY=5T(@{&jkuvinqWXhXlF-tOaP{ywPF-i`N&9lc+ zaVWEF|22NS&=flqpdquYk1wVsEU@_J)!XYo??c#Fxn)a7vTIueGOc$FhJtl}Ev;YA ztzF0Ct-pS*pVQKzJXx!$0#liwm}syo9g{t;>zJ5IH&MJBaiMoL<4B>W^uRb$i~uth zm*fvVE0EP?2{qf5HT!w*x3zv&O?vGu(fu=6Ia;Au#X`^=Mvn!ByYs+mmupMXz zCH@+QL6?v;+6PqIbLtK>P;2{GS#!N@wf*=W#Ex&aKB1&kfPrIWGp?o8=g9uE1=pT8 z;btx#)y-_>y|J)w7Wr7zNnZU+xE(l~9e?Gh)Y~+WoUWc4yy0g6*%pnaY64<(_7rJE zvrs`qOHV_CSIKtT)adQ_EU!<=z&~xly$w*mmiufoZZX%ghLqcsNjasCoUPsftx1(_CK~j`p(Nxk!g3Sg2zmT7 z8j3liVhe=Zn1y7pNu(05OEi>H8bm2H4c6ufdu~(AbtE;eGz`CCS0cBIuYws18I2M} zn-X)Lm0Mtr5@)tjVQ!i0H${+Xx=b^niH6)Y&}8=tnAF(7btPh_Os4BxNtkeVp&pt= zi%$rXL-#EGqTW-PrSIv-(fH%TT8D0jK?@gi9%d24qNPR4GT5%u4w~DG<)emfY6dm) zpvyBbZWaR?TC}t42zb_Vu0jgJO8jOY8lkBXc_Et@MBs`$tU|BXz5YEEL!M+ zMN3aaWgd}PTF`(-7A+*3*klX!a|h(qfHHR5CZl)w$yqrYzdz?$Z9>^yd~$9fXSH}) ztTkufyy>#j&M4DbsN7FHWd|$DF_oZ#q@pd{A(y+Az|jerW6E`iXf#@P)bEb5?M+z`kXH;E)ArBX^$OiHVibE^6LT3gJ%@>%HN1I3Ord+z}7PNQpn5ziy0h}RkY z;_1Vt%3$>f10o{q^4Q*M{go12!!W4Y|7aA_)D_h~hqX+|YC#q*EMlo_Fnj(SRRCnO z-aR2!-ng*@y@KF71}!bc%YzoKZmI-b_l%wzgLaC?t5|(>U=R}$Iq%&f0&7I-CYZKk zUV1^Fs&U3;sCWRD9uNj3TrR;fjDC8_%8d4Sgz8b2i{=~geglJh^2O^fx-cZT7=Pav z5qrMj6VJ?1oXOW$6A$E~9y_N-_E({E5zjW{@8X;>b@lvF!PTy_lxwrI8`mp*{#Vvt z`1_d%$SXV1@h5)l;?aXg08y1%Hn%rpaqaNC*gR>h>+j0=TVh<+bTd8HmN$*kV#Wt{5_7>Nm3DqxqF(?wi>i$@ttB&CJ+?*U zmP|uMZ>?ZUM|E4a{i_ach`g`sI^}k%U2T@7SKluN2pYfC@sYLHoMmW>f)8PL4{M3k zMzt6gwU<`Qu)qbi3@l5lfmREbifYI80J2^D5>7W-Skx|9WYHp)mSyl-_hrz)!e!~z zFQb|sEn~068YHM^qnPWVUknW&d(w$nbx@RL`ZG*bKf#m3T{c!sIe_MmCZ&}N+U?_{~x0t zC5lBbuJtd?qGImB{#=_Sc*LV(!n;(GO35n5#WS0?VobkWic&%H&A51YkZlG>G?B>m zz9l84lH0r%37e8g6dF=VC8JVGW34?>qLdVDA(4_h0^98><;|={3BKBR**`@eK<5st zPLv8xP)i&U3akM^0{1FobsY9pAn24a;A`wP)YC9GI%U0WnBANJPInW3rj3Wn5d3_c%)s zFhh~CnvM2VW!P{2S=7)|6t+XwN#|lryWtW!dky<9L+sekB)F;`{F~^Y5|jKr`u>u* zkht{fx#$uNI(rB9`jzrLu0DP>8VIDn>iPrKe^ynQ6uSNn@5}^V4XEzTF5hlzQ%`0C z@#bpt_6*z=1oJ(otewMQ9F8`vM%&^x&HST2_>wg~d#58(6#?uraLC zLd>bi=N%ZYVgO$h*WZSiC$VAW)r$kC1uNwoT|4XRDz_k4^Ixa^XJNEIXZNk$M-w?) zZV+LJPxY!5*z^{&@FXVxru4Tu3Hx)O8;Qos3$?mo`~mL=uvJ%W8!CWftt&&z%YE@< zgqi53G-DS@qbhS zQY|^UEmyj@C*KgXU0($Jvxu@?KiYebo3Nj{P>q{KD~^Fg7sRNp*6%w@1JY*E1cK}{ z`SUtcby^ViY(cg~c(%oRZr5YR`2DS$!g%Uu$I?PGqe|7S&c5;5swt@)hJ|W!#8$j8g52N?$a$TK>2_dA~*wZK>_N+Zng_a*W1N z{C3_h=Jwb;SKoiFzn>vxi+Ajae4W@d0M;>RY*i!l$QkNvy(gAB(d&lgshO9lg9Ws# zJ9B7nDy*DbkCUn8!8Kxz1tPIJYk8DlBE96G_9oBwlr&64-03T-2fm}rO+dDm;1MEN z6ySMn=mvaa_XHs9z*haS*BHZ~5c?vYB2?l~LZ2jLySVCfde;N?|fN`>s@cM-KrD z@%OZb{;QFt?Rp_5GQvxzvBN$3?6{3N*l$AYQR8U3c>~)>&mx47)z|X|FPnnVU3oSDQ&sBOj^A(6lyNj2#E8a`G;P_Dwan)!5oYeu(LH1RO>}hK zq{38r8Lfx@ZJqqMq&rAl5#G18zQ3yboZZ=MCVV(gt&KkGIbX-mbCB6ufG^L+Ru%Zv z;I)BDRBObt>SeL(2ZH_TzKlVbA227ovFFOLFJL|obDw;A~)2k%ps z^+^0*K`N<~QdW4*|BD0l7N99ZR*_1{rT7E6R3y)=JOesWPG(J5-xfqFnS#*PSkx<- z30X7JlDw{$C`vR+<`-JL)Mvdwt$gUkJ;x@SLP-rx!m61GmQ>wL{b%t`qMJ%1pok6P zl5>E3sn90nJcrQ2v5z_c-B5J>u`-wk>0IwysSw$BKzAGM@>FS^xueoS$(_0`c8Vnk zCAO&b&U{=Ng^KnSWC{K%lcTGo^vvQY3lY_*g4Bo&KH5I7qQb$%pr`%1-6UuEHIFw6U z4bY=qQ_0Nw96} zq*g&ek|Zm87d(LA;&4w>X?Z}m3Rro$>e$Co1%W?-e&!MbJ%XLA=Q{{ASJ(X!9@yq^ zuW*BJz7BAH8$U|{PM{qU0(FB`i+=Jmv#jV^r>f4Cq1?RE6CNC~TkeFzy$JF<3=13} z>L`Q;iv~EZ6tuJk0~InHlN`bUrnE5AO0L=Ej0*I3nurVdhovNjlXiS(|Fc3M1M9SM zlv-?oX%(VWc&Jh{G|QP2NS$?!X4+el%yF;+(mU;D6~>t(Fvg47-MQnh^`20Z!lHH! z9AR#`&T$fv^UFi+=%Zpe z|DX;^fqJ6$N@i_HK0glaoao?(I+K0g241h0-bE3Y?)>W^ubAufisjb;;IcQm=s!PyJ1yYEW8jaog}JeVzm5+5o3gCm4;}{|`wP|O zpT7sw_f`3ZEZTM~2M-t3@ z@U!!JvvJ=1nj`b&>1_E00ecxgk0CtQ$wRs&yv)qOz?b2L!*V)^a1eji3M597dLbc! z9S^rhnhzyRz;EY}A6a5QB%>}jGAc-Vx!n@tu{}1vN-QA>@gAY>yI>-oR>Zi@B4vc*V;Kq<)^Rd+q!%Qypv?xI@gy*?{^m; z0YYHC>nanzBQC??v@sjN_1(MZy3VzBm-%|_-Md7i{=K%^3B>su;5yC$*7f6)x*)p@ zD62s`0oZ49=lN$j27c*vWE;P#cnA6SWS!p|8z=)g3jqETOqoxC*+`Y4j46M4soS{9 zK;DfxSpMT|44|rMKwc&~aUI4#PYevOFt?iyEPAjZ>kx^lMN+^fwa262JIGRYG)=kl z_9D?DASN@c<@*!*#lm%eJD=`K!b*Ws6Zh=hq$m-BHv}cUc9+5D620ZUjrPZ zU@Z9SCbWQLp=KBLBF*G(8EMZiRqA;Fgizo_AT1tP#sg$pKKd-p$H>Q?3?yLBlRy&C z`8`mh*0i#YQ0flt_8|2Zfc^Qy&P#Xr%0GxdFzmlp8*cama>iAr^v98D5n;cd9RBlo z=1)0!YM9E|`4Ug>P&TMFl4(%%hC{;7T9m#XG8MdYd;r|dJxS~JT=ouQm7jlMS>iRv z^2`>hanf_EEJz0Pimk=Z3B1a!Q4!9i8-^(21Av7Fc*tNx2WA_v2T1+J$?sz*!@YBt zkp@p%FW0Fxv}TSnb6Aq-YnHI&qz|(+tLk~2b6y9HF(6`(0bXA2RbC~_F@zhU3hrLP zp&=e5BQqKZ0RQQ7r^Esq%PY`Y(zV`Y*~9&BYIK$4jb?K^rr;d!z*({4xwl z3ha}xBsZRaBkd<%eC7ihAAz(0=DhfA6AjU^uhc_8x&iM%qg|q=6t`X_}9_S(aP5WfhnUlx4XQfp!#N>dfi$^iCcn&<{l* z(76jPs|sDgsN~~XKZ=FORQ%6cqjV6x8#>C%Vcguy^DuTDsBD6-8^Z-|xIOGkPb8=* z%5dpo2yE?vVRed1dojlj|qsc~|iX^ACR ze-0#Rw*oEmNsHf)gDgO3pZs6v>WMHRx!!@PpEJ}iu^CW{MhR_zsxcS0SA3ODis7Y0m7VFuTv5}yGe ztqLTN&o8b(fAOFEe~$OQ4VdSU9SGD2(I+@~K$fYsAf~_!001BWNkl?6P$)&H)4ABA$qmCY+!JDDE~@K&`8NTj#i@76ZV{ zvj2@J2B4-Hf`?Ck9|k=3`{)q-{CVISX|Ct|OgXrIegiB%KLT+LM2-ad^VsiHALK;P zPKc4hGq;t~UrkR0GM&=tzd6Uj1&(UZ^yIgS4@SFDV$N$`TY7CDY+zCJ!zug$!+VYC z0)!LIck6R5Qh?7$xfTH(mFnG?Qg2g;p##IZJc}Da-f9i@eMmm3Fuvy)4tRI4fOe3w zu`7aX6u<4G!9AE~hR8nw>VIF~vCgZEJpqTADc?0iS-|jLpngJ@CyP~jsJ`DL3U7`8 zoMFGZ`#3Bx>p~LXRj?99;JVGYfh|R+B^ZF47m6j>5)4tyY)mN#lDl^8Pa83Fbu|)K z0TESRHaQ5>1nues1U75CK$Jz*1OSt&M2AB1@c?!tnPUKQsVfKojuJ9=_?N1}2}%z5 zx}}@6!=}$}&Rv&zE;qEL-Sq*UWFyS;gN9xL@fdz-4+1|VD+QU3Cy_z$jjxe-ZoyVM zUN$JHE}uV^MFWA%ACRyI(eKBeObev_gd{(igXm9g9}N3@!6hC`{QN<04i8e%2r>ZF zRl84LzUwsC2MS+=v`?Pf;fJcg$RW z7g(z=Itbg zOE5nRMZB$0=22Avco@pr+6xCvcz{O=7cgKkI&ecWLXbNQC`Nbi^E9kxu(E6(Kq~?r zRuXfwQ~THKGIVFwLD3N*-|MMhy~99j%? z@5z%I&EFDeJVK5z^cd&%{JT58Vsza599xkBKYk4B?9+;>9sb4ZYaP+iR-*;jJam_( zbUpcdb=#`MD%Q`|Z&}NcU%UIE&O!}Gq7=G-r8*y%Hx2LM- ziL3%1hmzOjK0e0vafyC_T!2l14yLK4)# zWcGNKoA*pbg}zPw>;@K=X8}*c3j&EREZvd$+LKR*iNFJY0?1zi`8b}$?EV0NXc0)w zGYCs$hyD6T1b@IzABqSoxr~xbdmAAfyKY@Y}$?9oX?l-5)$kMKukbh z=O#VmwLtWIKBqB(!*Y@r{PF{Ei6w5ol!RmCn(2A>@c-GJb&-BJiV4%9r8xt>wIeV& zh$eLCJzjNSz8<1UBQIS1@{gB(ugOD0BwA;8qZB!Oy{};{|6mI170XcP`)Cu283)(` zoIOR40gvOMEY`2ThuMjz#;$>;k2DGo4lud@!{eTVFHCJ;t;^o$>JjPB_1+(F2OfR{ z#K8Mt8)WkV@R!|tPPukC-r4a_P5&M76*)<1G)_N2@6hE@y`!rk2jLR-oMxZX+!Gob z$LGgz{}1D@Yx#l!wCiuNQP24Kk**PYkUPEjE|kB3QV_T%Yh~+iYTbCx-Z-hEFtf3X zsdl(4bZ>Ew=^0@3?Y#!_evHqA!3=Hd<$!s>@ZXG8GXtz(rU(E)gQaGrasaiB+{-HI zpsWCM8yS%jrrJ5U_x3Ki5PG$)yec7*53FWFsLnruiLu6S0J86ogB1i&9^wW}b->t1 zC}EMqK(K1z5JesQ{>vPN>I>#T$uo|B-E)``8F1^9DB}l^mJ60|TUjD0O@*Wk6?gFk z;AOADQg{aesyx&3#OXC4#rPFxU~wE<6R9#l#C~>f<@#w)*VVgZH;zI%{KK-Nx)SY| zClyObd?Pz&e-sg<;nBFM1zQP!xlW0^FO}*t&yLpT%%v1^L{_-_rE+>CR$iM%OLgV4 zwX*RBPNq^C5LLE2PoG@el`@vb%tha3ehxRnKyF){fK$E$21A(Kzg!FxuX#St6>#P5 zMLjRT5@xL1^LegKwZNTS@_5FF62=Odo6+csV40&O%wSO{vvOB?FWfvT#p@?pM>?Tb zl);hiV2HzHn2~@32qPId00d)!EdPf_9 z3SOa3Pr`xidW{{3<{(5EYBS)X-jD^%s8Tclp>d7U|B^;9ji6IW_{wH)V)X7h+R7di^~i{Dh3u`i^Rp)&yAWu5`uHa;Kw+$?!|Bi)ImevoBEayf<_{rttP!cse1mD_zVeOSeENmTD4RXJZd{~&=xz4 zpl!HgtLzt6)uNd-_o242YFujg=}40pcIf*n&apgzV3eUkPGp9KT9I34Rc@ov2c`}% zm>Dbu?kT%9_v(%~RRCFE!^z%pPSV5u{T{*Xm;r=;Pvg*gmC zDM18`A~*(^Nv)I4l4(F0yY-mKq`Yo|R+}E_S&|Wt*}7#@2`~2q(l?Jg^$Xo7fg0^O zBtqhq$>}E=G;Bze+Ko9jJ>9W0Rko{(&)@&5_1b|c1XXAjp}ydO1*Gz7*zFG@fqAZ; zvq!7oYEJ?cVo*Caos*#ljMg=Nu*-r4pt_-Dy>DqSML&nyo!!R{)IT}|CHgT1a7dG_ zRx*0=4vusG8{y+V*Nnm8)9d#W&0%3Jpx&3Iw_1kxhs6_6bDwhR#`hx41dIX?z!XJq zccyRJQt$ptux>unl2EBY(L#@BR~O~N!rN5px7B>m;W>?PH*dc?7mpx}+QWO;Yy-t3 z@eRPb7hsD{u1Qs<$Iz_5Q+7T8Ay>tvn58}$LLJ$_-eH6Gz+4G(WS907d7iD5l=yU9 zIvkSbzizv`%|PyS0f1>N&}CEl=Y12}E2RUlWsvWhe>VDMmy+IoqIR+BG7SScL_D z@fO}yZ9tM6$Kqg%QcYXN)Ta>+K64G;>p>Xs7LEn#A)(~&TXT{*c8#Gf{;jD=FZjrk z(duL)w*{=8z=L*pLhbeFS|h01pMb{-`Ct86@Y-50-dAW7aRKx|4;?Qf<#{B=(cb~j zJ-K-xx@~&*MsRvV8Yd#6e@4v-AHr@}J_6VmALMcr0)&lpNv&$>=xG^xi+7wf$XmRF z#x6&Y=f1wSgC$5odbl`FAs!jHG(wSQ+K;D`Nj^k+<8K0i>cD5}p%mAl@Poj2`9TcJ zSnV{vh)c&8>6uRDz=Zjc4AXJ^;kYqKb*#0{yENEcgVXtB=Y#7h@AR2WitiSP7Q@1A#lj&N-BJb1k~wG|K8L}Jkv;Do*LYPVPm z4o)LFpdemvW!lBt7r|)RJG&yuEq(ubm#(eAu=i~Oj9tz}4Kx=3$3`X)bbQsUL@6_A ziK6P|i zw0GMswOt_G{0!g+$L@&mw2IT&_YZ&_8c2JAeEr$dGLU%RN=1d zzE242g>P_}vFt#!&%M17-;5AV=3{IlzB-U7Y$%5z4&Y_5sSAbfZw90xFult-uOUuB zetN1;`{XPH8Xpc55ckD znze>$RV6z9Qp2t>0u8INsVcN?9gZ^)%WxdU!i9vBh3J?LMqHYCaJ=x*FnIYlnRCmp z(49`;=p>%;S|0~C@1YTU@)*Q~#2LWa&gN79XPY!(L%#kseQAxO;A{0YpUTV@8}ynK z1$B1byE&R863yFht%#!p)N2M>A6gU8ZaHP6pMjv$)~V1a_! zQ6OP+0yGmqIS1fu{-TzdoPawV=YB>G@ySJ+{2(Jwzb{JmXk>*`Zsahs=8n4oL>|>C zDsuO0JG6^OyY^}O?ZqU~u%L>th#$_@!Lv{}`#osbI}EX%yTI;U$)&b)CdI^dU^_PK zjW)bC{+UlWJEB5;8IyL>7PegN3|@cVX;JpeF-(MT8M`8j7Qz^V#zYJ2?a9a;*898W zJl+DDZTOPg^0jc4E?<$K*5zE5bt~`sIEy(3(p$WC_?gLYYxkYstunN^3wH!}8M_?* zw+)xk;P%Pg3K?R6H)^I(!TtX2uRdv%Y3#Rz~|?hUunrQh`YmDnLL! z0l{I$4(}M?crZ9J$rTWI=Pc+Mk>4R0F-4kusf`{r^-pF^rO>Br^$PQcd~ zQPPw37jU!yh2oVMgF_A8GqE+a$+Js%Z;crX^n~H$dN@Gg-ccn{@R!|=~;VhOR+g;kPe`LoySq=haiv) zo%bCuksu>008wbCA-M5+UErVJ(IDiqTC5DTu@%9uRfCc*)O(Dl4uA*XMTuC0cd7vg z)B{lK>kx2N5P-GnG%Q_Dc>le<46HENdH8Z5MC$v*hWqi`dGGkpIqvcyZx-Xq*0qxK-ijbN^yimnOt>2Zf6JUx=0X(`liyn1dMjf5l?L#!qR zlcd1@#X@aj11yD-jBBd!lcs=)0-*PvQUcJf&o@~~j9(Rj-qpp10%*&cMo#CKN_Db? zn9An0>AOmj{1PM&HFg^~aev3=8+u>%@Euxsz|nERF2Z^aZ-Ot>ov zW8?w=`C6RqhZ@@Oo@k`HD{*quD(=c_o$}ov=Ig2=ymSO)&fUXGS%zC}duYSbwO%gc zuTQi<ty49MyJ-EvgKRY-=-X%OJq)&JE$b_pL$X#5~2O1R2^rRs*=;sRgyNTXW-1T9T z7Wk4kkOBaz`{>jjP)r55`$_PiP^diJPp*<*=<`*oU#AHqsnS9}N8!)To)JJpuXNQ$ zJGE$522f|l!1#imJ)p1)mMkw0V+c@~kEpE{&b-4AxN$56YTKOy;?cl#;#X@_SM7=XcZ{zLU3Mq55caTzrH;{>`~I1O%zyH#B& zt3v%R5ew*YpQ48$cewyV{oQyOdS@TZ%ny#>4$qK;m;)3e&~e7J9u77=wDA)NJfq1- zBBB?70r+3Ml9oVi7S%8N!Z_ZJ0Y0FsYRn0}=SU}IvoSc#&b?2+S`RNxBPg$Lv&Q3#+x^ELO3BL~j0 zh`qC+gA-Zsd9gpw2gpS}yE02qjaJmhDd=_OpK6_OzS{iWzMn;O9(O`@r3~-)ZgeU! zq4&T4467Z9@^~I=Ll9~#K+idxAUPVy37i`?zxmEkc&(k@zKt2ht;BW}ZG#!Q|rZ=3+%& z9kG0jf$m2c7>7^Zze7-YhzN9k)AB=)5im5S3RZ9!mZZT#5x{v&v|<3k_9Qds#txGh zuNh2T^#l>>eCPlR8}4Yu;Lbym`HSlf^^Ee9Gr5zx?@-Cy^9 z@~|_lm}DfESV_x{Z`@>&56Gj1c5=Q`IpD(CpK>4<2#F$+8xP*z8h5>+*3edjZ2^jC zg!u|TbskMIXoXtuh5U;A!qbZ~lQ34RjFvV{5-OKd3T@Zt!z~`?4bV z0!Edu_q_yZ{**0~r%+RF%lkUYz?{F31maw~v3q7|#4!ZWH4ab-Y;<14b8Ut5^pHvY zKY7cO3P{sjX+`3UMw%5Xbg^)SUrn?yC;~X>FhkBx1H|yq2y$q#6n6@sfq;1`MEsfB zL!7fJhsF6RsLSu<`fKokVF5A@nBDXf)`R!FFCFH)nZ9(91cSKq7)iai^S#3Q`|l3tgVg}B z|MnRK%kL@r`ZsX6y;Hr|fjv=#-s@=nH*OHN)#=$zd?Ntg!%;!+-Y56g>Z2$Qjnd6e zq(Cl!Q2qf4Q{*@8{+C!xhx;t0H{tGVy!=hz&j&aJy0w@?KaPl|)3(*x*L5{6C4zwk zYqYTH!T~V%m4i}y$}NC0q!qo0q3eX8Zipu|EHrgN+#R7tlQ9T)?5kGFxM3!vD#`Bv ztJC?JDMD`te=T;?;1W0mCZg5RS7^L$jSHn zgzY?sM681e3Nje5t}IS0aC!(ZZ3viNg$DOdBybWDh2TMw&qkt=e4x>N3q6l72scC{eH*3u@8U0r#b&KSW`GE@1OVC6_V-Q=e0eTVs>{$ zTRou%P!u2o9%G+W0gdqv=|}j0c6>Ps`ucrRKspQaJwa|$bq(+v+(Z6j$b%1Pxsm*q zIL$n?kKXhe6jZq|6xAx9*HrFS)`Ev>jGnEKOx2*cM}=v~4_k)S8VrW}4zp-RuPI_s z_n-xU|G`hpWI><47b##8F~9!xED;@6g)+ANmzsuof>r>kvhE!QB+*oR4WK-5*u2coEeSFcgcHc%^P5eBFU%<1veEX&w^~lBfx+{6zcIa5v@#2wHoN!+OA-`F=GQg2L_Zy z-G58ky2299wo)US6C0X0N3B7_whHRsMZzkQ8h6necj<@#m2tV7ZRyiRg=Xnd6VJV@ zc3pY0TcB(goc;7+sO=qgdxcd{tKZ>P*x(#U%5v{2tKfC1;5FU=F{~&rgvIpLhhuvE z;YGP8D-XkN)gDFwRm2b~S`GNp2`IPnG_N|UK+^LU>g;{ZLA5Kh>Ycopw^!@;QCaAt zE!cKMx||g%yey=CapPrCl=2S1ysV-Mty&mJZwbFfn-~SaPOC2lzw2{4KxW_^L*x)$ zIxzJLDd*P-%4C8A&uOq>g>lFrbBI_V&o2BDqV{>2;ALjxqE zq)I?APx>Gwl+%Zh-A^Fk#OIjQx!b$WG+6YmGkSp@r2Sf8TSP$5^*sQe{w5PmpjJ1Z zeDXHy$Ijn-fWHA0xvhJ*wD$S+oXJ@+xBEHat!_l%YR00?>xt^@q{g22MZk0Gb1>%) zY~LF zuYBIWDZ=?|-NLQ!SD&@NqpjVnsl9F@p$~_@SHEBPxvYWfm!)VZDF=KgzI}{?+I)%{ z;BBOy%ISM&Z|W}rbiXixOoSLl203EU`5iD<(C$FfeoK^K*``%T1g<$eBMQm`dZNhL z@$L3Z6gGuVow3RRQ_Ydp0)Aj$-5IEPWs&g6MDQYKz+KZ$pbyu&0u#)O*E3-jfDfm- z^RTbH(uKq-;h?x;yRST5&3E1RAk*w7+)euoa4K$`d^9H9Y*EQ}3deW@A^EYhpk?^S z_}WOK4WO^NIu*6B=lIynU1zk}W#|oFwV^b?#k51f)>JL2CO$<-KGI;P7a{&#wLJ zZ&82|1LUF1*sJ5P2LI4@sZCs;efoYlivTk8{|y3@OmE0zNyW(}h&%E9J-3Z;cbPJ& zvaa*b^EO<^CAO0&v>o}vy)tvV<3)NUasy2-_PJ!P%-^TRk5bP-(}ywT0r&FMWAJ_+ z;9i~z{vD;hg_5=bvbhC;>RNs@2jJB5mA8}Tt8`sr_p66PiXSZZIoM4|oKLC**sxMsN z*5Yq-Q8k<&rS4E)+mVH$^D9MYTmVbYRbO#?kkJw^)eElDWRt1fQ zN?+k@_)TUx zyIfccRJH-(;<0~!;yMOL=9-~>ryz&|$s9<>1X9KW=)i{qpaz=GQ8vjKBRfR}4ElKuU?wq5(d zazHR$josp?{hGmo9e^<2FTD?{-x&a}e%#;&^93q;0T8^K}_z*ef19ADnMM}K&kHEPnKf15~<96ax7$j*?M*X*&V~hoU6U_^b+(JmVP{W z|EKrWGTri#Iio{J83A_+i1h}VgU$#bND~%Uz;GIlj7Oa!V{e$(j#Qf>6djV5YTKn( zvb^8e$ z=&sud>0xQv!k$JVFY|h`WQh15A`p9gNa$;^RBMOPa`(1yPal!2K4{qnh+qIiXsaA)4slIzu5>P>GA5&*k6Qi?>NJ;nz}O8|R+LisB! zr@{AY&aNLDdq-;=(h2Cbq8IlGb4#IkKS{4Kj;D^%ZA8HLrjwcXC<2q3rg(SrBBG5d zip@3G=jaZ-Gp@a`qwDZ`kI~`0LiBNbcDc%af0vZkM&m1VFe3IuzcjjwZ*ZN)33OJ! zNk;^Po3z8kQ7dR#b`_Zd|MdAgFbzP!*+8-tk->c5S>}TV?9j-`69^>3fAl!-;}GZ| zxQLq*U|Rkk?T$i)s$QMncSJzFKVo&n^9n|BpOT#Q83SN2`#Kd5bnL?O8fEzK&+u$`MVafAF~3e5NUw+KRs^zELl8QRb7wqXF> z1Mts}9?$vP3zgy}vMZXj<^xLbZ1)+Ye+{h7ZPXq?!cf0JVXH2^h! z@cBJmhsQ+wGZ-!`K`g}jCpWLY@ec+8886e8*q_O%_lxb10~(`+I1uyLz2VE*bf3fQ z;t|mX*iU3=cxh7g|!02j|+QG-&1o73+oEW_R9 zM;fv5>RL^{Z&9c)&I4q5uthag-9iT+(P380Tl^sCHd7}L1BUQGY*wVmv15g8g-`}0ux*1*aRTn zf(?2fn=i~2%TjfyS!fKXDZ?G6cPOvNdsn3q6*g>hQR-reAT-8L$t#k6xajF{j+OLo zyvHzGoP>*e(=j6x8%(3uEn=94}AFjG;-zs3g2#dee zOUKo-a!>0GKo^?^%D1{AVvX?dSknq1#G1e~<08+xVsLX-dbdCu$VT3~`(S zqT7MHSH#N74YsR_zyZNLVvg0-FSJF>4ej&=LW4GkFfyeFLaLbu-3$TcR&aOj_UtA& zBH}qE6<)_~45C{lfaqhS=jtn|cWe0%)rYm@VFWVzAc9y{03q@R-#bgZe}{)-#;vD3%jeg1u{$Yu_3a^&e2 z6q84}vg20!q47t9f1M@(@S=3L%N}L)rm|icU~vFGxM=!{5c(W+J~hI>0|a^%ClUQ$ z0fL+1zZDn(B;$Q-po9r9w+E20+6OnV0_ue@0MHlr?KIfSN#WI2y9LxY9?+vcwln$f z_+8J(+tv)~3AD>)1fX0W|J2z#pXuiU=y?X*=_NrX@bU9J{v<0J`ul1$I0SHOl~irpH#unrdd#uP>3RFc7Jwd-Vb{i> zhA=nvrSxXuv!g5ebmjcoM4VNo+d1IOsl0Uj8wBJ!aij730rsTd5699mp1_i_&@}g8 zDg+4N+%~fSppf38OZ57N{zHlYMFU3q@Z|dQ9DOZ4+iumB_jC8It@|L%$F<|D3IOXh zqM;(7VV`W1cj*}@loiz=^w?!=7&Rb{8waPIOq(QtEQuc8`IkX%m2P2nelB1=AY`^c zfI#h+O%CcvVD3Bb>wLk~B5ZfV@XpYHp@Zcz?S5y6qH!t(Fziq?pj@4co5l}x$6W7d zv*a)1!k(S6oz4dwYamd0v2t#53a0Fb`(FSX+b@EW(>EMt-Gep6U>%)`jG*SUF<)Tf zNfnJ%kA0UAJA}W&e>UIhbWn)UoQ65Bqm&-Sy}RO|$SavTGOBBX)fV0pg$4Q{F=?J3 zN041bGLmz%2jXh6&f0(+0%l!mU*z_IqU4*(fu-Hvx)Q*jZV8rbSee1_|CBx_P9)G(fzA77r!KJZvxNR{`$PvM zDFb-RtPGWuy+eW|gSQC7Wg@psFtzJ%x#i5n3-2l)dyJjIT>_a&)=iqNZ%9Otaq$U*6+Tb=&COAyH2ss<1+T_tx=iF_4z`au^oMT$}7tm>+=9 we#(D^p<+NPYsH_I_x}$+24Gq12LSf}0ea1T!mqTOY5)KL07*qoM6N<$f~V{-6#xJL literal 0 HcmV?d00001 diff --git a/data/menu/options.men b/data/menu/options.men new file mode 100644 index 0000000..010badc --- /dev/null +++ b/data/menu/options.men @@ -0,0 +1,109 @@ +font_png=smb2.png +font_txt=smb2.txt + +sound_cancel=menu_cancel.wav +sound_accept=menu_select.wav +sound_move=menu_move.wav + +name=TITLE +x=0 +y=116 +backgroundType=0 +backgroundColor=48,48,64,192 + +areElementsCenteredOnX=true + +isCenteredOnX=true +centerX=128 + +isCenteredOnY=true +centerY=96 + +selector_color=229,28,35,0 +selector_text_color=255,180,0 + +defaultActionWhenCancel=13 + +[item] +text=DIFFICULTY +hPaddingDown=7 +[/item] + +[item] +text=PLAYER 1 CONTROLS +hPaddingDown=2 +selectable=true +greyed=false +linkedDown=true +[/item] + +[item] +text=KEYBOARD +hPaddingDown=7 +selectable=false +greyed=false +[/item] + +[item] +text=PLAYER 2 CONTROLS +hPaddingDown=2 +selectable=true +greyed=false +linkedDown=true +[/item] + +[item] +text=GAME CONTROLLER +hPaddingDown=7 +selectable=false +greyed=false +[/item] + +[item] +text=LANGUAGE +hPaddingDown=7 +[/item] + +[item] +text=DISPLAY MODE +hPaddingDown=2 +selectable=true +greyed=false +linkedDown=true +[/item] + +[item] +text=WINDOW +hPaddingDown=7 +selectable=false +greyed=false +[/item] + +[item] +text=WINDOW SIZE +hPaddingDown=2 +[/item] + +[item] +text=FILTER +hPaddingDown=2 +[/item] + +[item] +text=VSYNC +hPaddingDown=7 +[/item] + +[item] +text=HOW TO PLAY +hPaddingDown=7 +[/item] + +[item] +text=ACCEPT +hPaddingDown=2 +[/item] + +[item] +text=CANCEL +[/item] \ No newline at end of file diff --git a/data/menu/title.men b/data/menu/title.men new file mode 100644 index 0000000..5d87cb4 --- /dev/null +++ b/data/menu/title.men @@ -0,0 +1,40 @@ +font_png=smb2.png +font_txt=smb2.txt + +sound_cancel=menu_cancel.wav +sound_accept=menu_select.wav +sound_move=menu_move.wav + +name=TITLE +x=0 +y=116 +backgroundType=0 +backgroundColor=48,48,64,192 + +areElementsCenteredOnX=true +isCenteredOnX=true +centerX=128 + +selector_color=229,28,35,0 +selector_text_color=255,180,0 + +defaultActionWhenCancel=3 + +[item] +text=1 PLAYER +hPaddingDown=2 +[/item] + +[item] +text=2 PLAYERS +hPaddingDown=7 +[/item] + +[item] +text=OPTIONS +hPaddingDown=7 +[/item] + +[item] +text=QUIT +[/item] \ No newline at end of file diff --git a/source/director.cpp b/source/director.cpp index 42aefe8..05e212d 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -196,15 +196,23 @@ bool Director::setFileList() asset->add("data/gfx/intro.png", t_bitmap); asset->add("data/gfx/items.png", t_bitmap); asset->add("data/gfx/logo.png", t_bitmap); - asset->add("data/gfx/player1_body.png", t_bitmap); - asset->add("data/gfx/player1_death.png", t_bitmap); - asset->add("data/gfx/player1_legs.png", t_bitmap); - asset->add("data/gfx/title.png", t_bitmap); + + asset->add("data/gfx/title_bg_tile.png", t_bitmap); + asset->add("data/gfx/title_coffee.png", t_bitmap); + asset->add("data/gfx/title_crisis.png", t_bitmap); + asset->add("data/gfx/title_dust.png", t_bitmap); + asset->add("data/gfx/title_dust.ani", t_data); + asset->add("data/gfx/title_gradient.png", t_bitmap); + asset->add("data/gfx/player1_head.png", t_bitmap); - asset->add("data/gfx/player2_body.png", t_bitmap); - asset->add("data/gfx/player2_death.png", t_bitmap); - asset->add("data/gfx/player2_legs.png", t_bitmap); + asset->add("data/gfx/player1_body.png", t_bitmap); + asset->add("data/gfx/player1_legs.png", t_bitmap); + asset->add("data/gfx/player1_death.png", t_bitmap); + asset->add("data/gfx/player2_head.png", t_bitmap); + asset->add("data/gfx/player2_body.png", t_bitmap); + asset->add("data/gfx/player2_legs.png", t_bitmap); + asset->add("data/gfx/player2_death.png", t_bitmap); // Fuentes asset->add("data/font/8bithud.png", t_font); @@ -225,6 +233,11 @@ bool Director::setFileList() asset->add("data/lang/en_UK.txt", t_lang); asset->add("data/lang/ba_BA.txt", t_lang); + // Menus + asset->add("data/menu/title.men", t_data); + asset->add("data/menu/options.men", t_data); + + return asset->check(); } diff --git a/source/menu.cpp b/source/menu.cpp index 8adcecc..2513492 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -4,16 +4,55 @@ // Constructor Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file) { + // Copia punteros this->renderer = renderer; this->asset = asset; this->input = input; + // Inicializa punteros soundMove = nullptr; soundAccept = nullptr; soundCancel = nullptr; - init(); + // Inicializa variables + name = ""; + selector.index = 0; + itemSelected = MENU_NO_OPTION; + x = 0; + y = 0; + rectBG.rect = {0, 0, 0, 0}; + rectBG.color = {0, 0, 0}; + rectBG.a = 0; + backgroundType = MENU_BACKGROUND_SOLID; + isCenteredOnX = false; + isCenteredOnY = false; + areElementsCenteredOnX = false; + centerX = 0; + centerY = 0; + widestItem = 0; + colorGreyed = {128, 128, 128}; + defaultActionWhenCancel = 0; + font_png = ""; + font_txt = ""; + // Selector + selector.originY = 0; + selector.targetY = 0; + selector.despY = 0; + selector.originH = 0; + selector.targetH = 0; + selector.incH = 0; + selector.y = 0.0f; + selector.h = 0.0f; + selector.numJumps = 8; + selector.moving = false; + selector.resizing = false; + selector.rect = {0, 0, 0, 0}; + selector.color = {0, 0, 0}; + selector.itemColor = {0, 0, 0}; + selector.a = 255; + + // Inicializa las variables desde un fichero if (file != "") { load(file); @@ -129,7 +168,7 @@ bool Menu::load(std::string file_path) } // Reorganiza el menu con los valores recien cargados - //reorganize(); + // reorganize(); return success; } @@ -315,43 +354,6 @@ bool Menu::setVars(std::string var, std::string value) // Inicializa las variables void Menu::init() { - // Inicia variables - name = ""; - selector.index = 0; - itemSelected = MENU_NO_OPTION; - x = 0; - y = 0; - rectBG.rect = {0, 0, 0, 0}; - rectBG.color = {0, 0, 0}; - rectBG.a = 0; - backgroundType = MENU_BACKGROUND_SOLID; - isCenteredOnX = false; - isCenteredOnY = false; - areElementsCenteredOnX = false; - centerX = 0; - centerY = 0; - widestItem = 0; - colorGreyed = {128, 128, 128}; - defaultActionWhenCancel = 0; - font_png = ""; - font_txt = ""; - - // Selector - selector.originY = 0; - selector.targetY = 0; - selector.despY = 0; - selector.originH = 0; - selector.targetH = 0; - selector.incH = 0; - selector.y = 0.0f; - selector.h = 0.0f; - selector.numJumps = 8; - selector.moving = false; - selector.resizing = false; - selector.rect = {0, 0, 0, 0}; - selector.color = {0, 0, 0}; - selector.itemColor = {0, 0, 0}; - selector.a = 255; } // Carga los ficheros de audio @@ -736,14 +738,13 @@ void Menu::centerMenuElementsOnX() void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool greyed, bool linkedDown) { item_t temp; - // Si es el primer item coge la posición en el eje Y del propio menu + if (item.size() == 0) - { + {// Si es el primer item coge la posición en el eje Y del propio menu temp.rect.y = y; } else - // En caso contrario, coge la posición en el eje Y a partir del elemento anterior - { + {// En caso contrario, coge la posición en el eje Y a partir del elemento anterior temp.rect.y = item.back().rect.y + item.back().rect.h + item.back().hPaddingDown; } @@ -754,6 +755,7 @@ void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool gre temp.linkedDown = linkedDown; item.push_back(temp); + setItemCaption(item.size() - 1, text); if (item.size() > 0) diff --git a/source/title.cpp b/source/title.cpp index 99b530a..986529b 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -15,28 +15,22 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset, mEventHandler = new SDL_Event(); mFade = new Fade(renderer); - mTitleTexture = new LTexture(mRenderer, mAsset->get("title.png")); - mItemsTexture = new LTexture(mRenderer, mAsset->get("items.png")); + dustTexture = new LTexture(mRenderer, mAsset->get("title_dust.png")); + coffeeTexture = new LTexture(mRenderer, mAsset->get("title_coffee.png")); + crisisTexture = new LTexture(mRenderer, mAsset->get("title_crisis.png")); + gradientTexture = new LTexture(mRenderer, mAsset->get("title_gradient.png")); - mCoffeeBitmap = new SmartSprite(mTitleTexture, mRenderer); - mCrisisBitmap = new SmartSprite(mTitleTexture, mRenderer); - mDustBitmapL = new AnimatedSprite(mTitleTexture, mRenderer); - mDustBitmapR = new AnimatedSprite(mTitleTexture, mRenderer); + mCoffeeBitmap = new SmartSprite(coffeeTexture, mRenderer); + mCrisisBitmap = new SmartSprite(crisisTexture, mRenderer); + mDustBitmapL = new AnimatedSprite(dustTexture, mRenderer, mAsset->get("title_dust.ani")); + mDustBitmapR = new AnimatedSprite(dustTexture, mRenderer, mAsset->get("title_dust.ani")); + mGradient = new Sprite({0, 0, 256, 192}, gradientTexture, mRenderer); - mTile = new Sprite({0, 0, 64, 64}, mTitleTexture, mRenderer); - mGradient = new Sprite({0, 0, 256, 192}, mTitleTexture, mRenderer); mText = new Text(mAsset->get("smb2.png"), mAsset->get("smb2.txt"), mRenderer); mText2 = new Text(mAsset->get("8bithud.png"), mAsset->get("8bithud.txt"), mRenderer); - - mMenu.title = new Menu(mRenderer, mAsset, mInput); - mMenu.options = new Menu(mRenderer, mAsset, mInput); - // Crea la textura para el mosaico de fondo - mBackground = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAME_WIDTH * 2, GAME_HEIGHT * 2); - if (mBackground == nullptr) - { - printf("TitleSurface could not be created!\nSDL Error: %s\n", SDL_GetError()); - } + mMenu.title = new Menu(mRenderer, mAsset, mInput, mAsset->get("title.men")); + mMenu.options = new Menu(mRenderer, mAsset, mInput, mAsset->get("title.men")); // Sonidos mSound = JA_LoadSound(mAsset->get("title.wav").c_str()); @@ -116,45 +110,18 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset, mDustBitmapR->setPosX(218); mDustBitmapR->setPosY(47); mDustBitmapR->setWidth(16); - mDustBitmapR->setHeight(14); - mDustBitmapR->setCurrentFrame(0); - mDustBitmapR->setAnimationCounter(0); - mDustBitmapR->setAnimationSpeed(0, 8); - mDustBitmapR->setAnimationLoop(0, false); - mDustBitmapR->setAnimationFrames(0, 0, 160 + (mDustBitmapR->getWidth() * 0), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 1, 160 + (mDustBitmapR->getWidth() * 1), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 2, 160 + (mDustBitmapR->getWidth() * 2), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 3, 160 + (mDustBitmapR->getWidth() * 3), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 4, 160 + (mDustBitmapR->getWidth() * 4), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 5, 160 + (mDustBitmapR->getWidth() * 5), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); - mDustBitmapR->setAnimationFrames(0, 6, 160 + (mDustBitmapR->getWidth() * 6), 80, mDustBitmapR->getWidth(), mDustBitmapR->getHeight()); + mDustBitmapR->setHeight(16); + mDustBitmapR->setFlip(SDL_FLIP_HORIZONTAL); // Inicializa el bitmap de DustLeft mDustBitmapL->setPosX(33); mDustBitmapL->setPosY(47); mDustBitmapL->setWidth(16); - mDustBitmapL->setHeight(14); - mDustBitmapL->setCurrentFrame(0); - mDustBitmapL->setAnimationCounter(0); - mDustBitmapL->setAnimationSpeed(0, 8); - mDustBitmapL->setAnimationLoop(0, false); - mDustBitmapL->setAnimationFrames(0, 0, 160 + (mDustBitmapL->getWidth() * 0), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 1, 160 + (mDustBitmapL->getWidth() * 1), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 2, 160 + (mDustBitmapL->getWidth() * 2), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 3, 160 + (mDustBitmapL->getWidth() * 3), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 4, 160 + (mDustBitmapL->getWidth() * 4), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 5, 160 + (mDustBitmapL->getWidth() * 5), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); - mDustBitmapL->setAnimationFrames(0, 6, 160 + (mDustBitmapL->getWidth() * 6), 66, mDustBitmapL->getWidth(), mDustBitmapL->getHeight()); + mDustBitmapL->setHeight(16); // Inicializa el sprite con el degradado mGradient->setSpriteClip(0, 96, 256, 192); - // Inicializa el vector de eventos de la pantalla de titulo - for (int i = 0; i < TITLE_TOTAL_EVENTS; i++) - { - mEvents[i] = 0;//EVENT_WAITING; - } - // Crea el mosaico de fondo del titulo createTiledBackground(); @@ -171,69 +138,77 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset, } // Inicializa los objetos de menu - mMenu.title->setText(mAsset->get("smb2.png"), mAsset->get("smb2.txt")); - mMenu.title->setName("TITLE"); - mMenu.title->setPos(0, (14 * BLOCK) + 4); - mMenu.title->setBackgroundType(MENU_BACKGROUND_TRANSPARENT); - mMenu.title->addItem(mLang->getText(51), 2); // 1 PLAYER - mMenu.title->addItem(mLang->getText(52), 7); // 2 PLAYERS - mMenu.title->addItem(mLang->getText(1), 7); // OPTIONS - mMenu.title->addItem(mLang->getText(3)); // QUIT - mMenu.title->setDefaultActionWhenCancel(3); - mMenu.title->setBackgroundColor({0x30, 0x30, 0x40}, 192); - mMenu.title->setSelectorColor({0xe5, 0x1c, 0x23}, 0); - mMenu.title->setSelectorTextColor({0xFF, 0xB4, 0x00}); - mMenu.title->centerMenuOnX(SCREEN_CENTER_X); - mMenu.title->centerMenuElementsOnX(); + //mMenu.title->setText(mAsset->get("smb2.png"), mAsset->get("smb2.txt")); + //mMenu.title->setName("TITLE"); + //mMenu.title->setPos(0, (14 * BLOCK) + 4); + //mMenu.title->setBackgroundType(MENU_BACKGROUND_TRANSPARENT); + //mMenu.title->addItem(mLang->getText(51), 2); // 1 PLAYER + //mMenu.title->addItem(mLang->getText(52), 7); // 2 PLAYERS + //mMenu.title->addItem(mLang->getText(1), 7); // OPTIONS + //mMenu.title->addItem(mLang->getText(3)); // QUIT + //mMenu.title->setDefaultActionWhenCancel(3); + //mMenu.title->setBackgroundColor({0x30, 0x30, 0x40}, 192); + //mMenu.title->setSelectorColor({0xe5, 0x1c, 0x23}, 0); + //mMenu.title->setSelectorTextColor({0xFF, 0xB4, 0x00}); + //mMenu.title->centerMenuOnX(SCREEN_CENTER_X); + //mMenu.title->centerMenuElementsOnX(); - mMenu.options->setText(mAsset->get("smb2.png"), mAsset->get("smb2.txt")); - mMenu.options->setName("OPTIONS"); - mMenu.options->setPos(0, BLOCK); - mMenu.options->setBackgroundType(MENU_BACKGROUND_TRANSPARENT); - mMenu.options->addItem(mLang->getText(59), 7); // (0) DIFFICULTY - mMenu.options->addItem(mLang->getText(62), 2, true, false, true); // (1) PLAYER 1 CONTROLS - mMenu.options->addItem(mLang->getText(69), 7, false, false); // (2) KEYBOARD - mMenu.options->addItem(mLang->getText(63), 2, true, false, true); // (3) PLAYER 2 CONTROLS - mMenu.options->addItem(mLang->getText(70), 7, false, false); // (4) GAME CONTROLLER - mMenu.options->addItem(mLang->getText(8), 7); // (5) LANGUAGE - mMenu.options->addItem(mLang->getText(58), 2, true, false, true); // (6) DISPLAY MODE - mMenu.options->addItem(mLang->getText(4), 7, false, false); // (7) WINDOW - mMenu.options->addItem(mLang->getText(7), 2); // (8) WINDOW SIZE - mMenu.options->addItem(mLang->getText(60), 2); // (9) FILTER - mMenu.options->addItem(mLang->getText(61), 7); // (10) VSYNC - mMenu.options->addItem(mLang->getText(2), 7); // (11) HOW TO PLAY - mMenu.options->addItem(mLang->getText(9), 2); // (12) ACCEPT - mMenu.options->addItem(mLang->getText(10)); // (13) CANCEL - mMenu.options->setDefaultActionWhenCancel(13); - mMenu.options->setBackgroundColor({0x30, 0x30, 0x40}, 192); - mMenu.options->setSelectorColor({0xe5, 0x1c, 0x23}, 255); - mMenu.options->setSelectorTextColor({0xFF, 0xF1, 0x76}); - mMenu.options->centerMenuOnX(SCREEN_CENTER_X); - mMenu.options->centerMenuOnY(SCREEN_CENTER_Y); + //mMenu.options->setText(mAsset->get("smb2.png"), mAsset->get("smb2.txt")); + //mMenu.options->setName("OPTIONS"); + //mMenu.options->setPos(0, BLOCK); + //mMenu.options->setBackgroundType(MENU_BACKGROUND_TRANSPARENT); + //mMenu.options->addItem(mLang->getText(59), 7); // (0) DIFFICULTY + //mMenu.options->addItem(mLang->getText(62), 2, true, false, true); // (1) PLAYER 1 CONTROLS + //mMenu.options->addItem(mLang->getText(69), 7, false, false); // (2) KEYBOARD + //mMenu.options->addItem(mLang->getText(63), 2, true, false, true); // (3) PLAYER 2 CONTROLS + //mMenu.options->addItem(mLang->getText(70), 7, false, false); // (4) GAME CONTROLLER + //mMenu.options->addItem(mLang->getText(8), 7); // (5) LANGUAGE + //mMenu.options->addItem(mLang->getText(58), 2, true, false, true); // (6) DISPLAY MODE + //mMenu.options->addItem(mLang->getText(4), 7, false, false); // (7) WINDOW + //mMenu.options->addItem(mLang->getText(7), 2); // (8) WINDOW SIZE + //mMenu.options->addItem(mLang->getText(60), 2); // (9) FILTER + //mMenu.options->addItem(mLang->getText(61), 7); // (10) VSYNC + //mMenu.options->addItem(mLang->getText(2), 7); // (11) HOW TO PLAY + //mMenu.options->addItem(mLang->getText(9), 2); // (12) ACCEPT + //mMenu.options->addItem(mLang->getText(10)); // (13) CANCEL + //mMenu.options->setDefaultActionWhenCancel(13); + //mMenu.options->setBackgroundColor({0x30, 0x30, 0x40}, 192); + //mMenu.options->setSelectorColor({0xe5, 0x1c, 0x23}, 255); + //mMenu.options->setSelectorTextColor({0xFF, 0xF1, 0x76}); + //mMenu.options->centerMenuOnX(SCREEN_CENTER_X); + //mMenu.options->centerMenuOnY(SCREEN_CENTER_Y); // Actualiza los textos de los menus - updateMenuLabels(); + //updateMenuLabels(); } // Destructor Title::~Title() { - mTitleTexture->unload(); - delete mTitleTexture; - - mItemsTexture->unload(); - delete mItemsTexture; - delete mEventHandler; - delete mText; - delete mText2; delete mFade; + + dustTexture->unload(); + delete dustTexture; + + coffeeTexture->unload(); + delete coffeeTexture; + + crisisTexture->unload(); + delete crisisTexture; + + gradientTexture->unload(); + delete gradientTexture; + delete mCoffeeBitmap; delete mCrisisBitmap; delete mDustBitmapL; delete mDustBitmapR; - delete mTile; delete mGradient; + + delete mText; + delete mText2; + delete mMenu.title; delete mMenu.options; @@ -243,6 +218,400 @@ Title::~Title() SDL_DestroyTexture(mBackground); } +// Actualiza las variables del objeto +void Title::update() +{ + // Comprueba los eventos + checkEventHandler(); + + // Calcula la lógica de los objetos + if (SDL_GetTicks() - mTicks > mTicksSpeed) + { + // Actualiza el contador de ticks + mTicks = SDL_GetTicks(); + + switch (mSection.subsection) + { + // Sección 1 - Titulo desplazandose + case TITLE_SECTION_1: + { // Actualiza los objetos + mCoffeeBitmap->update(); + mCrisisBitmap->update(); + + // Si los objetos han llegado a su destino, cambiamos de Sección + if (mCoffeeBitmap->hasFinished() && mCrisisBitmap->hasFinished()) + { + mSection.subsection = TITLE_SECTION_2; + + // Pantallazo blanco + SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF); + SDL_RenderClear(mRenderer); + SDL_RenderPresent(mRenderer); + } + } + break; + + // Sección 2 - Titulo vibrando + case TITLE_SECTION_2: + { + } + break; + + // Sección 3 - La pantalla de titulo con el menú y la música + case TITLE_SECTION_3: + { + if (mCounter > 0) + { + // Reproduce la música + JA_PlayMusic(mMusic); + + // Calcula la lógica de los objetos + if (SDL_GetTicks() - mTicks > mTicksSpeed) + { + // Actualiza el contador de ticks + mTicks = SDL_GetTicks(); + + mDustBitmapR->update(); + mDustBitmapL->update(); + + // Actualiza la lógica del titulo + mMenu.active->update(); + mFade->update(); + + if (mFade->hasEnded()) + { + switch (mPostFade) + { + case 0: // 1 PLAYER + mSection.name = PROG_SECTION_GAME; + mSection.subsection = GAME_SECTION_PLAY_1P; + JA_StopMusic(); + break; + + case 1: // 2 PLAYERS + mSection.name = PROG_SECTION_GAME; + mSection.subsection = GAME_SECTION_PLAY_2P; + JA_StopMusic(); + break; + + case 2: // QUIT + mSection.name = PROG_SECTION_QUIT; + JA_StopMusic(); + break; + + case 3: // TIME OUT + mCounter = TITLE_COUNTER; + mMenu.active->reset(); + if (mDemo) + { + runDemoGame(); + runInstructions(INSTRUCTIONS_MODE_AUTO); + } + else + mSection.name = PROG_SECTION_LOGO; + break; + + default: + break; + } + } + + // Actualiza el tileado de fondo + updateBG(); + + // Comprueba las entradas para el menu + if (mMenuVisible == true) + { + mMenu.active->checkInput(); + } + + // Comprueba si se ha seleccionado algún item del menú + if (mMenu.active->getName() == "TITLE") + { + switch (mMenu.active->getItemSelected()) + { + case 0: // 1 PLAYER + mPostFade = 0; + mFade->activateFade(); + break; + case 1: // 2 PLAYERS + mPostFade = 1; + mFade->activateFade(); + break; + case 2: // OPTIONS + mMenu.active = mMenu.options; + mOptionsPrevious = *mOptions; + break; + case 3: // QUIT + mPostFade = 2; + mFade->activateFade(); + break; + + default: + break; + } + } + + // Comprueba si se ha seleccionado algún item de opciones + if (mMenu.active->getName() == "OPTIONS") + { + switch (mMenu.active->getItemSelected()) + { + case 0: // Difficulty + if (mOptions->difficulty == DIFFICULTY_EASY) + mOptions->difficulty = DIFFICULTY_NORMAL; + else if (mOptions->difficulty == DIFFICULTY_NORMAL) + mOptions->difficulty = DIFFICULTY_HARD; + else + mOptions->difficulty = DIFFICULTY_EASY; + updateMenuLabels(); + break; + case 1: // PLAYER 1 CONTROLS + updatePlayerInputs(0); + updateMenuLabels(); + break; + case 3: // PLAYER 2 CONTROLS + updatePlayerInputs(1); + updateMenuLabels(); + break; + case 5: // Language + mOptions->language++; + if (mOptions->language == 3) + mOptions->language = 0; + updateMenuLabels(); + break; + case 6: // Display mode + switchFullScreenModeVar(); + if (mOptions->fullScreenMode != 0) + { + mMenu.options->setSelectable(8, false); + mMenu.options->setGreyed(8, true); + } + else + { + mMenu.options->setSelectable(8, true); + mMenu.options->setGreyed(8, false); + } + updateMenuLabels(); + break; + case 8: // Windows size + mOptions->windowSize++; + if (mOptions->windowSize == 5) + mOptions->windowSize = 1; + updateMenuLabels(); + break; + case 9: // FILTER + if (mOptions->filter == FILTER_LINEAL) + mOptions->filter = FILTER_NEAREST; + else + mOptions->filter = FILTER_LINEAL; + updateMenuLabels(); + break; + case 10: // VSYNC + if (mOptions->vSync) + mOptions->vSync = false; + else + mOptions->vSync = true; + updateMenuLabels(); + break; + case 11: // HOW TO PLAY + runInstructions(INSTRUCTIONS_MODE_MANUAL); + break; + case 12: // ACCEPT + applyOptions(); + mMenu.active->reset(); + mMenu.active = mMenu.title; + break; + case 13: // CANCEL + mOptions = &mOptionsPrevious; + updateMenuLabels(); + mMenu.active->reset(); + mMenu.active = mMenu.title; + break; + + default: + break; + } + } + + if (mMenu.active->getName() == "TITLE") + mCounter--; + } + } + else if (mCounter == 0) + { + // if (mDemo) + //{ + // runDemoGame(); + // runInstructions(INSTRUCTIONS_MODE_AUTO); + // } + // else + mSection.name = PROG_SECTION_LOGO; + } + } + break; + + default: + break; + } + } +} + +// Dibuja el objeto en pantalla +void Title::render() +{ + switch (mSection.subsection) + { + // Sección 1 - Titulo desplazandose + case TITLE_SECTION_1: + { + mScreen->start(); // Prepara para empezar a dibujar en la textura de juego + mScreen->clean(bgColor); // Limpia la pantalla + SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); // Dibuja el tileado de fondo + mGradient->render(); // Dibuja el degradado + mCoffeeBitmap->render(); // Dibuja los objetos + mCrisisBitmap->render(); // Dibuja los objetos + mScreen->blit(); // Vuelca el contenido del renderizador en pantalla + } + break; + + // Sección 2 - Titulo vibrando + case TITLE_SECTION_2: + { // Reproduce el efecto sonoro + JA_PlaySound(mSound); + + // Agita la pantalla + const int v[] = {-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0}; + const int a = mCoffeeBitmap->getPosX(); + const int b = mCrisisBitmap->getPosX(); + for (int n = 0; n < 11 * 3; ++n) + { + // Prepara para empezar a dibujar en la textura de juego + mScreen->start(); + + // Limpia la pantalla + mScreen->clean(bgColor); + + // Dibuja el tileado de fondo + SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); + + // Dibuja el degradado + mGradient->render(); + + // Dibuja los objetos + mCoffeeBitmap->setPosX(a + v[n / 3]); + mCrisisBitmap->setPosX(b + v[n / 3]); + mCoffeeBitmap->render(); + mCrisisBitmap->render(); + mDustBitmapR->animate(); + mDustBitmapL->animate(); + mDustBitmapR->render(); + mDustBitmapL->render(); + + // Vuelca el contenido del renderizador en pantalla + mScreen->blit(); + } + + mSection.subsection = TITLE_SECTION_3; + } + + break; + + // Sección 3 - La pantalla de titulo con el menú y la música + case TITLE_SECTION_3: + { // Prepara para empezar a dibujar en la textura de juego + mScreen->start(); + + // Limpia la pantalla + mScreen->clean(bgColor); + + // Dibuja el tileado de fondo + SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); + + // Dibuja el degradado + mGradient->render(); + + // Dibuja los objetos + if (mMenu.active->getName() != "OPTIONS") + { + // Bitmaps con el logo/titulo del juego + mCoffeeBitmap->render(); + mCrisisBitmap->render(); + + // Texto con el copyright y versión + mText2->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, GAME_HEIGHT - (BLOCK * 2), TEXT_COPYRIGHT, 1, noColor, 1, shdwTxtColor); + } + + if (mMenuVisible == true) + { + mMenu.active->render(); + } + + mDustBitmapR->render(); + mDustBitmapL->render(); + + // PRESS ANY KEY! + if ((mCounter % 50 > 14) && (mMenuVisible == false)) + { + mText->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, PLAY_AREA_THIRD_QUARTER_Y + BLOCK, mLang->getText(23), 1, noColor, 1, shdwTxtColor); + } + + // Fade + mFade->render(); + + // Vuelca el contenido del renderizador en pantalla + mScreen->blit(); + } + break; + + default: + break; + } +} + +// Comprueba los eventos +void Title::checkEventHandler() +{ + // Comprueba los eventos que hay en la cola + while (SDL_PollEvent(mEventHandler) != 0) + { + // Evento de salida de la aplicación + if (mEventHandler->type == SDL_QUIT) + { + mSection.name = PROG_SECTION_QUIT; + break; + } + + if (mSection.subsection == TITLE_SECTION_3) + { // Si se pulsa alguna tecla durante la tercera sección del titulo + if ((mEventHandler->type == SDL_KEYUP) || (mEventHandler->type == SDL_JOYBUTTONUP)) + { + // Muestra el menu + mMenuVisible = true; + + // Reinicia el contador + mCounter = TITLE_COUNTER; + } + } + } +} + +// Actualiza el tileado de fondo +void Title::updateBG() +{ + if (mBackgroundMode == 0) + { // El tileado de fondo se desplaza en diagonal + ++mBackgroundWindow.x %= 64; + ++mBackgroundWindow.y %= 64; + } + else + { // El tileado de fondo se desplaza en circulo + ++mBackgroundCounter %= 360; + mBackgroundWindow.x = 128 + (int(mSin[(mBackgroundCounter + 270) % 360] * 128)); + mBackgroundWindow.y = 96 + (int(mSin[(360 - mBackgroundCounter) % 360] * 96)); + } +} + // Cambia el valor de la variable de modo de pantalla completa void Title::switchFullScreenModeVar() { @@ -454,387 +823,15 @@ section_t Title::run() { while (mSection.name == PROG_SECTION_TITLE) { - // Sección 1 - Titulo desplazandose - if (mSection.subsection == TITLE_SECTION_1) - { - // Comprueba los eventos que hay en la cola - while (SDL_PollEvent(mEventHandler) != 0) - { - // Evento de salida de la aplicación - if (mEventHandler->type == SDL_QUIT) - { - mSection.name = PROG_SECTION_QUIT; - break; - } - } - - // Calcula la lógica de los objetos - if (SDL_GetTicks() - mTicks > mTicksSpeed) - { - // Actualiza el contador de ticks - mTicks = SDL_GetTicks(); - - // Actualiza los objetos - mCoffeeBitmap->update(); - mCrisisBitmap->update(); - } - - // Prepara para empezar a dibujar en la textura de juego - mScreen->start(); - - // Limpia la pantalla - mScreen->clean(bgColor); - - // Dibuja el tileado de fondo - SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); - - // Dibuja el degradado - mGradient->render(); - - // Dibuja los objetos - mCoffeeBitmap->render(); - mCrisisBitmap->render(); - - // Vuelca el contenido del renderizador en pantalla - mScreen->blit(); - - const int EVENT_COMPLETED = 0; // ******************** TEMPORAL PARA COMPILAR - // Si los objetos han llegado a su destino, cambiamos de Sección - if ((mEvents[0] == EVENT_COMPLETED) && (mEvents[0] == EVENT_COMPLETED)) - { - mSection.subsection = TITLE_SECTION_2; - - // Pantallazo blanco - SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF); - SDL_RenderClear(mRenderer); - SDL_RenderPresent(mRenderer); - } - } - - // Sección 2 - Titulo vibrando - if (mSection.subsection == TITLE_SECTION_2) - { - // Comprueba los eventos que hay en la cola - while (SDL_PollEvent(mEventHandler) != 0) - { - // Evento de salida de la aplicación - if (mEventHandler->type == SDL_QUIT) - { - mSection.name = PROG_SECTION_QUIT; - break; - } - } - - // Reproduce el efecto sonoro - JA_PlaySound(mSound); - - // Agita la pantalla - int v[] = {-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0}; - int a = mCoffeeBitmap->getPosX(); - int b = mCrisisBitmap->getPosX(); - for (int n = 0; n < 11 * 3; n++) - { - // Prepara para empezar a dibujar en la textura de juego - mScreen->start(); - - // Limpia la pantalla - mScreen->clean(bgColor); - - // Dibuja el tileado de fondo - SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); - - // Dibuja el degradado - mGradient->render(); - - // Dibuja los objetos - mCoffeeBitmap->setPosX(a + v[n / 3]); - mCrisisBitmap->setPosX(b + v[n / 3]); - mCoffeeBitmap->render(); - mCrisisBitmap->render(); - mDustBitmapR->animate(); - mDustBitmapL->animate(); - mDustBitmapR->render(); - mDustBitmapL->render(); - - // Vuelca el contenido del renderizador en pantalla - mScreen->blit(); - } - - mSection.subsection = TITLE_SECTION_3; - } - + update(); + render(); // Sección 3 - La pantalla de titulo con el menú y la música - if (mSection.subsection == TITLE_SECTION_3) - { - if (mCounter > 0) - { - // Comprueba los eventos que hay en la cola - while (SDL_PollEvent(mEventHandler) != 0) - { - // Evento de salida de la aplicación - if (mEventHandler->type == SDL_QUIT) - { - mSection.name = PROG_SECTION_QUIT; - break; - } - - if ((mEventHandler->type == SDL_KEYUP) || (mEventHandler->type == SDL_JOYBUTTONUP)) - { - mMenuVisible = true; - mCounter = TITLE_COUNTER; - } - } - - // Si la música no está sonando - if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED)) - JA_PlayMusic(mMusic); // Reproduce la música - - // Calcula la lógica de los objetos - if (SDL_GetTicks() - mTicks > mTicksSpeed) - { - // Actualiza el contador de ticks - mTicks = SDL_GetTicks(); - - // Actualiza la lógica del titulo - mMenu.active->update(); - mFade->update(); - if (mFade->hasEnded()) - { - switch (mPostFade) - { - case 0: // 1 PLAYER - mSection.name = PROG_SECTION_GAME; - mSection.subsection = GAME_SECTION_PLAY_1P; - JA_StopMusic(); - break; - - case 1: // 2 PLAYERS - mSection.name = PROG_SECTION_GAME; - mSection.subsection = GAME_SECTION_PLAY_2P; - JA_StopMusic(); - break; - - case 2: // QUIT - mSection.name = PROG_SECTION_QUIT; - JA_StopMusic(); - break; - - case 3: // TIME OUT - mCounter = TITLE_COUNTER; - mMenu.active->reset(); - if (mDemo) - { - runDemoGame(); - runInstructions(INSTRUCTIONS_MODE_AUTO); - } - else - mSection.name = PROG_SECTION_LOGO; - break; - - default: - break; - } - } - - // Actualiza el tileado de fondo - switch (mBackgroundMode) - { - case 0: // El tileado de fondo se desplaza en diagonal - mBackgroundWindow.x++; - mBackgroundWindow.x %= 64; - mBackgroundWindow.y++; - mBackgroundWindow.y %= 64; - break; - - case 1: // El tileado de fondo se desplaza en circulo - ++mBackgroundCounter %= 360; - mBackgroundWindow.x = 128 + (int(mSin[(mBackgroundCounter + 270) % 360] * 128)); - mBackgroundWindow.y = 96 + (int(mSin[(360 - mBackgroundCounter) % 360] * 96)); - break; - - default: - break; - } - - // Comprueba las entradas para el menu - if (mMenuVisible == true) - mMenu.active->checkInput(); - - // Comprueba si se ha seleccionado algún item del menú - if (mMenu.active->getName() == "TITLE") - { - switch (mMenu.active->getItemSelected()) - { - case 0: // 1 PLAYER - mPostFade = 0; - mFade->activateFade(); - break; - case 1: // 2 PLAYERS - mPostFade = 1; - mFade->activateFade(); - break; - case 2: // OPTIONS - mMenu.active = mMenu.options; - mOptionsPrevious = *mOptions; - break; - case 3: // QUIT - mPostFade = 2; - mFade->activateFade(); - break; - - default: - break; - } - } - - // Comprueba si se ha seleccionado algún item de opciones - if (mMenu.active->getName() == "OPTIONS") - { - switch (mMenu.active->getItemSelected()) - { - case 0: // Difficulty - if (mOptions->difficulty == DIFFICULTY_EASY) - mOptions->difficulty = DIFFICULTY_NORMAL; - else if (mOptions->difficulty == DIFFICULTY_NORMAL) - mOptions->difficulty = DIFFICULTY_HARD; - else - mOptions->difficulty = DIFFICULTY_EASY; - updateMenuLabels(); - break; - case 1: // PLAYER 1 CONTROLS - updatePlayerInputs(0); - updateMenuLabels(); - break; - case 3: // PLAYER 2 CONTROLS - updatePlayerInputs(1); - updateMenuLabels(); - break; - case 5: // Language - mOptions->language++; - if (mOptions->language == 3) - mOptions->language = 0; - updateMenuLabels(); - break; - case 6: // Display mode - switchFullScreenModeVar(); - if (mOptions->fullScreenMode != 0) - { - mMenu.options->setSelectable(8, false); - mMenu.options->setGreyed(8, true); - } - else - { - mMenu.options->setSelectable(8, true); - mMenu.options->setGreyed(8, false); - } - updateMenuLabels(); - break; - case 8: // Windows size - mOptions->windowSize++; - if (mOptions->windowSize == 5) - mOptions->windowSize = 1; - updateMenuLabels(); - break; - case 9: // FILTER - if (mOptions->filter == FILTER_LINEAL) - mOptions->filter = FILTER_NEAREST; - else - mOptions->filter = FILTER_LINEAL; - updateMenuLabels(); - break; - case 10: // VSYNC - if (mOptions->vSync) - mOptions->vSync = false; - else - mOptions->vSync = true; - updateMenuLabels(); - break; - case 11: // HOW TO PLAY - runInstructions(INSTRUCTIONS_MODE_MANUAL); - break; - case 12: // ACCEPT - applyOptions(); - mMenu.active->reset(); - mMenu.active = mMenu.title; - break; - case 13: // CANCEL - mOptions = &mOptionsPrevious; - updateMenuLabels(); - mMenu.active->reset(); - mMenu.active = mMenu.title; - break; - - default: - break; - } - } - - if (mMenu.active->getName() == "TITLE") - mCounter--; - } - - // Prepara para empezar a dibujar en la textura de juego - mScreen->start(); - - // Limpia la pantalla - mScreen->clean(bgColor); - - // Dibuja el tileado de fondo - SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); - - // Dibuja el degradado - mGradient->render(); - - // Dibuja los objetos - if (mMenu.active->getName() != "OPTIONS") - { - // Bitmaps con el logo/titulo del juego - mCoffeeBitmap->render(); - mCrisisBitmap->render(); - - // Texto con el copyright y versión - mText2->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, GAME_HEIGHT - (BLOCK * 2), TEXT_COPYRIGHT, 1, noColor, 1, shdwTxtColor); - } - - if (mMenuVisible == true) - { - mMenu.active->render(); - } - - mDustBitmapR->animate(); - mDustBitmapL->animate(); - mDustBitmapR->render(); - mDustBitmapL->render(); - - // PRESS ANY KEY! - if ((mCounter % 50 > 14) && (mMenuVisible == false)) - { - mText->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, PLAY_AREA_THIRD_QUARTER_Y + BLOCK, mLang->getText(23), 1, noColor, 1, shdwTxtColor); - } - - // Fade - mFade->render(); - - // Vuelca el contenido del renderizador en pantalla - mScreen->blit(); - } - else if (mCounter == 0) - { - if (mDemo) - { - runDemoGame(); - runInstructions(INSTRUCTIONS_MODE_AUTO); - } - else - mSection.name = PROG_SECTION_LOGO; - } - } // Sección Instrucciones - if (mSection.subsection == TITLE_SECTION_INSTRUCTIONS) - { - runInstructions(INSTRUCTIONS_MODE_AUTO); - } + // if (mSection.subsection == TITLE_SECTION_INSTRUCTIONS) + //{ + // runInstructions(INSTRUCTIONS_MODE_AUTO); + //} } return mSection; @@ -884,9 +881,13 @@ bool Title::updatePlayerInputs(int numPlayer) // Incrementa el indice if (mDeviceIndex[numPlayer] < numDevices - 1) + { mDeviceIndex[numPlayer]++; + } else + { mDeviceIndex[numPlayer] = 0; + } printf("deviceindex:%i\n", mDeviceIndex[numPlayer]); // Si coincide con el del otro jugador, se lo intercambian @@ -895,7 +896,9 @@ bool Title::updatePlayerInputs(int numPlayer) const int theOtherPlayer = (numPlayer + 1) % 2; mDeviceIndex[theOtherPlayer]--; if (mDeviceIndex[theOtherPlayer] < 0) + { mDeviceIndex[theOtherPlayer] = numDevices - 1; + } } // Copia el dispositivo marcado por el indice a la variable de opciones de cada jugador @@ -909,20 +912,41 @@ bool Title::updatePlayerInputs(int numPlayer) // Crea el mosaico de fondo del titulo void Title::createTiledBackground() { + // Crea la textura para el mosaico de fondo + mBackground = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAME_WIDTH * 2, GAME_HEIGHT * 2); + if (mBackground == nullptr) + { + printf("TitleSurface could not be created!\nSDL Error: %s\n", SDL_GetError()); + } + + // Crea los objetos para pintar en la textura de fondo + LTexture *bgTileTexture = new LTexture(mRenderer, mAsset->get("title_bg_tile.png")); + Sprite *tile = new Sprite({0, 0, 64, 64}, bgTileTexture, mRenderer); + + // Prepara para dibujar sobre la textura SDL_SetRenderTarget(mRenderer, mBackground); SDL_SetRenderDrawColor(mRenderer, 0x43, 0x43, 0x4F, 0xFF); SDL_RenderClear(mRenderer); - mTile->setSpriteClip(192, 0, 64, 64); - for (int i = 0; i < 8; i++) - for (int j = 0; j < 6; j++) + // Rellena la textura con el tile + tile->setSpriteClip(192, 0, 64, 64); + for (int i = 0; i < 8; ++i) + { + for (int j = 0; j < 6; ++j) { - mTile->setPosX(i * 64); - mTile->setPosY(j * 64); - mTile->render(); + tile->setPosX(i * 64); + tile->setPosY(j * 64); + tile->render(); } + } + // Vuelve a colocar el renderizador apuntando a la pantalla SDL_SetRenderTarget(mRenderer, nullptr); + + // Libera la memoria utilizada por los objetos + bgTileTexture->unload(); + delete bgTileTexture; + delete tile; } // Comprueba cuantos mandos hay conectados para gestionar el menu de opciones diff --git a/source/title.h b/source/title.h index 5dfc6bb..17c660f 100644 --- a/source/title.h +++ b/source/title.h @@ -42,36 +42,42 @@ private: }; // Objetos - SDL_Renderer *mRenderer; // El renderizador de la ventana - Screen *mScreen; // Objeto encargado de dibujar en pantalla - Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos - Input *mInput; // Objeto para leer las entradas de teclado o mando - Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas - SDL_Event *mEventHandler; // Manejador de eventos + SDL_Renderer *mRenderer; // El renderizador de la ventana + Screen *mScreen; // Objeto encargado de dibujar en pantalla + Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos + Input *mInput; // Objeto para leer las entradas de teclado o mando + Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas + Instructions *mInstructions; // Objeto para la sección de las instrucciones + Game *mDemoGame; // Objeto para lanzar la demo del juego + SDL_Event *mEventHandler; // Manejador de eventos + + LTexture *dustTexture; // Textura con los graficos del polvo + LTexture *coffeeTexture; // Textura con los graficos de la palabra coffee + LTexture *crisisTexture; // Textura con los graficos de la plabra crisis + LTexture *gradientTexture; // Textura con los graficos para el degradado del fondo del titulo + + SDL_Rect mBackgroundWindow; // Ventana visible para la textura de fondo del titulo + SDL_Texture *mBackground; // Textura dibujar el fondo del titulo + AnimatedSprite *mDustBitmapL; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo AnimatedSprite *mDustBitmapR; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo - LTexture *mItemsTexture; // Textura con los gráficos de los items para las instrucciones - LTexture *mTitleTexture; // Textura con los graficos para el titulo - SDL_Rect mBackgroundWindow; // Ventana visible para la textura de fondo del titulo - SDL_Texture *mBackground; // Textura dibujar el fondo del titulo - SmartSprite *mCoffeeBitmap; // Sprite con la palabra COFFEE para la pantalla de titulo - SmartSprite *mCrisisBitmap; // Sprite con la palabra CRISIS para la pantalla de titulo - Sprite *mTile; // Sprite para dibujar el fondo de pantalla del título - Sprite *mGradient; // Sprite para dibujar el degradado del titulo - Text *mText; // Objeto de texto para poder escribir textos en pantalla - Text *mText2; // Objeto de texto para poder escribir textos en pantalla - Fade *mFade; // Objeto para realizar fundidos en pantalla - Instructions *mInstructions; // Objeto para la sección de las instrucciones - Game *mDemoGame; // Objeto para lanzar la demo del juego + + SmartSprite *mCoffeeBitmap; // Sprite con la palabra COFFEE para la pantalla de titulo + SmartSprite *mCrisisBitmap; // Sprite con la palabra CRISIS para la pantalla de titulo + + Sprite *mGradient; // Sprite para dibujar el degradado del titulo + + Text *mText; // Objeto de texto para poder escribir textos en pantalla + Text *mText2; // Objeto de texto para poder escribir textos en pantalla + Fade *mFade; // Objeto para realizar fundidos en pantalla // Variable JA_Music mMusic; // Musica para el titulo JA_Sound mSound; // Sonido con el impacto del título - int mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo - int mCounter; // Temporizador para la pantalla de titulo + int mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo + int mCounter; // Temporizador para la pantalla de titulo Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa Uint8 mBackgroundMode; // Variable para almacenar el tipo de efecto que hará el fondo de la pantalla de titulo - Uint8 mEvents[TITLE_TOTAL_EVENTS]; // Vector para coordinar los eventos de la pantalla de titulo float mSin[360]; // Vector con los valores del seno precalculados bool mMenuVisible; // Indicador para saber si se muestra el menu del titulo o la frase intermitente bool mDemo; // Indica si el modo demo estará activo @@ -85,6 +91,18 @@ private: std::vector mAvailableInputDevices; // Vector con todos los metodos de control disponibles int mDeviceIndex[2]; // Indice para el jugador [i] del vector de dispositivos de entrada disponibles + // Actualiza las variables del objeto + void update(); + + // Dibuja el objeto en pantalla + void render(); + + // Comprueba los eventos + void checkEventHandler(); + + //Actualiza el tileado de fondo + void updateBG(); + // Cambia el valor de la variable de modo de pantalla completa void switchFullScreenModeVar();