From c2f132007fcaef007af6b694600ab3c5d66849fd Mon Sep 17 00:00:00 2001 From: lordmulder Date: Sun, 5 Dec 2010 23:11:03 +0100 Subject: [PATCH] Added support for Windows 7 taskbar features (progress and overlay icons). --- LameXP.vcproj | 22 +++++--- gui/MainWindow.ui | 33 +++++++++-- gui/SplashScreen.ui | 3 +- res/Icons.qrc | 3 + res/Images.qrc | 2 + res/images/Logo_Contributors.png | Bin 0 -> 72262 bytes res/images/Logo_Software.png | Bin 0 -> 57312 bytes src/Config.h | 2 +- src/Dialog_About.cpp | 6 +- src/Dialog_MainWindow.cpp | 22 ++++++++ src/Dialog_MainWindow.h | 3 + src/Dialog_Processing.cpp | 19 ++++++- src/Dialog_WorkingBanner.cpp | 15 ++++- src/Tool_Abstract.cpp | 11 +++- src/Tool_Abstract.h | 1 + src/WinSevenTaskbar.cpp | 119 +++++++++++++++++++++++++++++++++++++++ src/WinSevenTaskbar.h | 84 +++++++++++++++++++++++++++ 17 files changed, 328 insertions(+), 17 deletions(-) create mode 100644 res/images/Logo_Contributors.png create mode 100644 res/images/Logo_Software.png create mode 100644 src/WinSevenTaskbar.cpp create mode 100644 src/WinSevenTaskbar.h diff --git a/LameXP.vcproj b/LameXP.vcproj index e6d17ad5..d3a2b443 100644 --- a/LameXP.vcproj +++ b/LameXP.vcproj @@ -130,7 +130,7 @@ EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" - AdditionalIncludeDirectories=""$(QTDIR)\include";"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui"" + AdditionalIncludeDirectories=""$(QTDIR)\include";"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui";"C:\Program Files\Microsoft SDKs\Windows\v7.1"" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_NO_DEBUG" MinimalRebuild="false" BasicRuntimeChecks="0" @@ -422,6 +422,10 @@ RelativePath=".\src\Tool_Abstract.cpp" > + + @@ -769,7 +773,7 @@ @@ -779,7 +783,7 @@ @@ -1228,6 +1232,10 @@ /> + + @@ -1361,7 +1369,7 @@ @@ -1371,7 +1379,7 @@ diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index c213a5e2..e5c773f6 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -901,7 +901,7 @@ - + ForbiddenCursor @@ -923,7 +923,7 @@ - + Qt::Vertical @@ -949,7 +949,7 @@ - + Qt::Horizontal @@ -962,7 +962,7 @@ - + Qt::Horizontal @@ -975,6 +975,25 @@ + + + + false + + + + 50 + false + + + + More options will be added in a later version, stay tuned! + + + Qt::AlignCenter + + + @@ -1396,6 +1415,12 @@ + + + + + + diff --git a/gui/SplashScreen.ui b/gui/SplashScreen.ui index 6def4263..8348b3d0 100644 --- a/gui/SplashScreen.ui +++ b/gui/SplashScreen.ui @@ -114,7 +114,7 @@ - Frame + LameXP is launching... true @@ -261,6 +261,7 @@ + diff --git a/res/Icons.qrc b/res/Icons.qrc index 5d66644a..19243bb4 100644 --- a/res/Icons.qrc +++ b/res/Icons.qrc @@ -25,6 +25,7 @@ icons/computer.png icons/controller.png icons/control_pause_blue.png + icons/control_play_blue.png icons/cross.png icons/date.png icons/delete.png @@ -32,12 +33,14 @@ icons/door_out.png icons/drive_cd.png icons/exclamation.png + icons/error.png icons/feed.png icons/folder_add.png icons/folder_go.png icons/folder_image.png icons/folder_page.png icons/house.png + icons/hourglass.png icons/information.png icons/media_play.png icons/monitor.png diff --git a/res/Images.qrc b/res/Images.qrc index 47d7d308..5bc1ac2e 100644 --- a/res/Images.qrc +++ b/res/Images.qrc @@ -7,6 +7,8 @@ images/Label.png images/Loading.gif images/Logo.png + images/Logo_Contributors.png + images/Logo_Software.png images/Splash.png images/Thumb.png images/Construction.gif diff --git a/res/images/Logo_Contributors.png b/res/images/Logo_Contributors.png new file mode 100644 index 0000000000000000000000000000000000000000..293927b4f9fdfa19589b6638cb726e076255929e GIT binary patch literal 72262 zcmV*uKtaEWP)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00009 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

-zWaKeJY?S_3})AmBXB(0b8PB`43 z>#_6yhu#6@J07P5;fu7L$M2jbF}LTRfA*66`QObWbL^LAjY{{6O1 znlyQzVq~G!YgW50TerA%8`inSOP0E2%a`kQvD>(DqnkH(u9F|-HJh}JOX!o}1_&rE zTeWt*diHVy1`Txb|J<;lL%jyvw{M?!)zVT^y&1VyAVaGyT(r!hVtx@ps=N$bq^T5ZJe5uPLwt?v}%_8LxUTLMgbr;vc_D=jDA%k7T>ZP%{d z-j4%J$}aJr`Th6bo!CgHY!oMrCDU>~W~57!*5e1$bMM~0n4$nKr1wKBSFKK)J$qJ) zh@6zf#Kf&S-iBX)`E{OsZS2?(CjDd+d?MN?E>QMLIxPF6|?N!mSo5f~Es#!-fuX3QoHP z^B0JroZ@=+>M6gin@b#=2)pQ7G;iTrwQMcoq=!Jd)=4FKzis)-6(U_axH`4#xK^!O zyBq6fSVlK<<_xz&nse9gT^?kZn*eU7wA;3A+vNN0bxA2HPFl|G-LogGI9+Jn zy7lQ|P1D6z?jJO8&>jJHnas<9(ssWpNdJP;(5?{ZPF9foa%r;%1-LWynoECQcj={< zUa5O>hBj|j3Va@1s(Q$!a-x&9og~oxm(Tk*J;Gy$JzVYpr7>4ram8^W67H0_C52Y- zvp3&*^SMVKd+Zqni3=!sqil_8)%rDS)^u@?9zB;27|=g?)~s2fbppzY6)U`-wsuX# z?3*j|QMr(=SMOe4t4)|N(TPwIkc6wr^UE6l9 zX_KbjKSPTF;_cf3lZcd*WEYZOhc*LLythrH$vVL9$(G&T*Td)Av~iQ0A%G4WHWW=6 zQqVm`=e%CN;(Te$$%@(4fA78bUs0ya9ZIaeKqmCr(rV91)7_}oTq23?QElE0x8HvI zxq9`!9vV$nzzO>76{_94M1VV%LUy1^APqC z4F%Lt)h(8VJmAeY->Uq~v(G&7z=IE5C;*)%6Z$b}wf6+J^K?I+lP`N8)ek%? zl>h;>^Of56fY{mx^$OE@@;~W09y^!AU)a(=o0m>&~9zpww3l8 z={C!+BhcMWe|PQD)e+1lBtXnjW$U>8r$S0y@Rq{Oi)COQc!H`#7C|7?QS2Q{X&#!uSb$#Axnq(X!Lb1Xv`C{vxnoR#?8@ zo%;O({r?!Da+t{Y-+G!N19E9K&+t92zwWx@o_+4QSBn%a(n_T>iNE|(qr1$=h6M}0 z-}}oiiuY69T90z&%B}9yxl>C2egoXd5u@A)1+xdrWF(+HXVz@*lcBZxDgFkr(N=_r zN^Crlfw|YUTX#2j@DQ<(Vl1T{*9dIkSPTF_=lBPtN5w%Kd!-V(Q1B{ zsDw1QC+qhwq+qz||&m5UJQGspwWCXEy$%N#4O80W(_5NUy zB4|Sx&xC{oPrQtmi7H0aHEi6_sb0>rlPg!PlxABmz%7)v+aP}}U8ZKL*L;K@X3m=F zl)LHuxD@$(yLaz|)Cr6A438Q;I$hz2q*g6jZ&tv5Or=VdY85M1w7e3q@6~;{LEtGY zaJ5zv^djY6PEhUMFADUx6*$LA^OsZ=!rgDa`DR9}PM<$jX6IRd{}VrU27l`v5YSGL z33Q1B;%ou#M6KHA13Daj`6MUE|2RvjO)u*8C7Djoz4*e5MN5?~)v9fqwsXV?&j01t zUnczY^G}Pvt@z#6Dpjg1R3`qK-foVj$*PgLmPSoq*?MMX9at_PM=pgE)m zrM@3GNswL?pzgin_B(EsHaqXGyY9UF(MKPfAf~jK5GPX6wRsg zaRRzirGWPn@!v2vw{MRSED$PefOy{Ac_KufKzW|Pc3L(b_py)s-FJX) zSK3a|gZnSgNsFB*FrKFW`~Q)O1k+~ctQGl25gk9s538b#ioDv#Jp$ol@=Hppe(k#w zUw_@Nbg5FKD^~n&l1f`9v~JaMmMXBfbnDt>r6~LLRer9rygr=If|BJ1H4O@Ep>Z#?@?G` zw@)Ecpj&{S;5F??5j$g*uc;b4#RugFE?5vAK73eu-@g5l6$nq3Ih-#ZN<G#=W&_ z)lN|wSE@je-nny^bde3=o=T~bAbKBdqSs)Pq~Q`g0AVEYyD%YV$&bPpBP4(ZLf9#% zL95NtXOz`XHowm_;d5v}03tKaHE-U`DPL1zh4wzkO+0Pu=B+YIBk?wXhqfam01zXw zxNW|CheT=B-1($wK)gZUC62dJ1PZ{ND{VV!)X1QHvi-FM%0=?ynrf0mx*X?k8~>v^3ajd?6T^Y2Eln8V|O z%pvC^?RA14(xn33neom~f^Y#n9`z8_=op#$d$o=o~p246zHDU|L=V1#TP#)^6|&tl_*i7hKezjw9#g0lcr6_$@yPg zt!mY=wQJWJ)Tm*D`O;FGe0V@$q=*$@05re>y9onHwE&tD4W`NfAAH9*Bp43R zR0ZzInvn{?tBBQyCfL{N)oXm}7=d$Qe0-KL0*TVnlpc6GR(SZZVad9_q&ju#>{UwJ ze%;G$Uwr=gN+mrnRr|g<_3G7|CgyUK(!#pD_|l72@4x?nw-mE{UCd@fef9@w#xFkm z?6Xp8q@<4&DW})ZY2PO^{&qE7^47?)pMSs|P&!c#f$dEB2^VY2NEs5~&J>_-q?Li4 zrZn4WO2K;U(@#JBUcE%xNSk$3+kjSj?INw#O$=P`A%h1`6*(|lz*;_R*zoP5^H-`m zda<_k0?pq3{rV*jA3iiq+4Ld#V&Q=U2CA(=|L|Y|38C-Ny?a<73%8TG*r-us?_WWf zpvlPg$E+MUaDbS}-aZrnQGzKqLTn&{4yZ6O7c5-hmM&lFeKm3>`3&YHtfP{O-I#G> z-HhoooJ>5C9JAd>nU(;Sxw46B=g?0LYnzuTQ@TdOh7GzkY0_+5ojP@g)T&*pr9uf^ zw2dfTx^x+3>Rcl&_|V&Lzx{}w<*~TkKLBt36wq$U`nXKy;jKz9x>yOc$BR}zUgpg0 zdQjI$i{;ecC(4W)u_vk)OnH)35j~Tl{nrf-Q zuvxWZNfRba*dtKvRKOacNmaj)^pPWmrxT-sydX{ni-&eWLkLtNN%{$BZGGOOd^`DE z9lSvI(fcjP+*d`n`j#j@Ho$*}@4^N`o}kt6sQ?@#3Sa?nRBA)GP?S1O^uKE9{QGFF zQKQsO0WwCWC@kj$ofF`pMT4=LFq`;pn3=p{ViMCsd!l8BDtD5FAWKLrdfz&-t}x%}Hu<`~7F1e)gai z$J`2>zbGwt+9MA?e9WZ$r+`lE*Xc?#x>MWxB0_GJV}86?udCz}JT9O$r-|GFA*tSE5*#id+TrEH?l8LxVLEbI;Th-2qdt}z7L3J;jKR;RK zRqEK$V?$#`k5Mm?(Q4eYJS=8UeMqLM%tro>w%IZV@u?`Ap?bSjs}{ZnO?^Y8`Fgkn zrDe5f)6%tW)5^!(AUvpZBSt5o^V$n-GH31_)vuvl=6E&{;Gx}AKj(COpInSz2jILm z6d0DOmJa`qiUFlyd5}}I>SJpH7McuS%uG$*19(>OIwWzhCtteDA0!-rwk1J&xH4mi z#YN1^)!w88bi8t0&Ywb7+2J8AFrj+&>V)gp|1B)vHr%s&&yX}%TF)Lm)1__q4;wyw zw|vaKLxv9BFmS+tjbb{tj2Jm`nY8y>naaE6o9=Acs^y9%O@5!MSYKC}nO}Zg;_JMh zefp^^%QvnT5tBoqgOdmy{8Qxas67vnCuay~1?8jF7q|*5hV$V458Qw4+wZ*np`7w^ zGE17vFQ_ljRaT6wrvze#ocs;SZQLY5-aUHE=+&OgUu-!6`_Ku%4F?IQ}CFyHc zuL+4HNLO$Vh@acf&&SD3vNad(Q0eGSTy+=&5_yN|;36M+@<}&Rx5>k&cMM?;$dMwmm$3w%1X%wPq{NpwcgmoHnc z_}wfIDgxhA^(wYhU~cWy7C}X-Exq=I*`&5^+O+9D(2ie+mh)_-l9mZ_1M;ytp8Qez zs;CTTpwFp9>ynBlhSHmu{5?i-L}`8hH$Wq{sBU3gM_51)D+U*q=5jK@b&dVPO`H6V z_6sdtvMg1=Qb=KHip=p8#R!w=p90gVg<$u}Rjc+XHo1TBpuy`^P&>O>)24}96q|qj zb&1bE{XDofN-iY;p{th`2!FmF$O0)^6IPU-DvBBU21b~d zW91`GlIcoK9{b1aCGnd5vriU_K1wC)-8;cwixtL_8_J?WB|7Kav15m@7P64;UAn>? z>9QKqrCEIs6*a9**CG&FwQ_apoOyGTWv+*`kg50P_+8SL6O}^NzI=u9EwoS;C|b10 zi!v=A7ul7Oo$}bDkLHk>nM(jXK_Q)E3DJKw2-U3SI2AgcpdK10==YQL`zaS*aKWjt zlp;^g)a(7%U3bkVx7>Q`kJ4&A<$SMg*}C-xr95q*yhKFBA^~l=K(|1?!c3WctHk#0 z*tUK9o>i;Yq)G@wiNl73lmQZ6yl@fmCbwqYDo-?Qk@>~n5DL_aK`1PgS!c1T88W%X zODhZ;uAY$6M#SFGHZn~GzK%|fTip*oR(8tL@PKJ6AFpPun!bjOa-9AHA|OO-M97s+ zGDTav)&eb`Y1Oior~M&XFyk;=5q`kbTU7=F1X}hZ&EO=cuJP}U{r+{m9+;3czA#lL zBY$&FfNQcU#7Pyyv?TBid&+f87Vv3Ogh`8^2QbmDXg9(V-2`yH&$$fN;=ukQTCKl- zWgqfU!!WdirSZu?S-fa*h~`K5m75g0Aa_$i_psuIVVy_%+&S}9{JJYF?V2L1V3Yj3 zVXBrN_}zCETZzFeuD&X-2yj;kV5cc5;Z*tOXDLp4z7nO+r@8K5EpJEV{?v+%R&&Qi zJ49Wia{gOY?D&X?k(ZURP~fU7uPiLTt%&@zPh?JhcHe#XmU;5YCmMb7>8E45b?>oW zy*$#P)MZMAwH>z#HZmrbYBmnBkza>eluNtJT@{LnRD9AfU8eslHb zVs_yRk^KRH0Nn(w{xUwYb*`q+N9udD8IrMgm+{A1lLr zt6Ht92i^dI4M8O?*H)}%YqCZfHT0l?cxf)JK@6{z%*5epyFlv&D#7~-d{lx1CVHHx zvfS0JTi5;Y!}spn3g0>rLQW>0GEf>gX?It(YBjI%&Zze8V(j z_xmt6J<}N{qpO=s7lo{hqSjD-V{2%w7v>xE| zKBKe_W+9pp4YgpN2pEBG-n{t{wp4&as{w34xL!r7n9KO6+!svbnl*n_uastf0iep9 zbD@tWAqwJt)YS1EG%&qbq&dT?w+k;^wAk+ha~#GM@`eO#KnUxpXBAdLb$G(WN$Ha( zO-T_0yGv#(RSHW=lqfk!4R!0t#H=9SuHvVkeO5HzoB1Aj{ISQcRz}LXbQEJCi3X&c zB#n25wBQ*cSWeP=$J#k$7kg;9GtM~UIBmJ2uQ>(0?>^h)EA7(*Pu7Z?u6A^2x^$V4X&pLr3dx)dE9o{YvnV96ghh^o z=?{s34G<_urGnAJ-=X~+=}prm>@a}{;@sK#TX8Vu7)nd1woSf~*HY3vU1c`*mH=WN zLbJ1yQ%VEq&}Ka)=wk$0%udWm1RvmOMHk>|xF)|haUDB!jOJgq_Z0wy88F>wGBi>o z25cmu1!eO4L}=BhxhhqvdJ|IN4p*XN30LvkiY|YF0#2D9s<~^ReMFiM5sqLHpxYO| zrYZqceZIoY5}-H+j3l*ooIm$tgBF}Q0wFBw-1&2TpOnVFJP*5yVv}LF0dS|ieZPU6g=~(xS@`NNgvW8nX32F#Rl(`U$~~q z&p$7yU8mMKxdQ_Qz&0v_D)C{V4_}t1dsgP=vr55xRB_fjUViE2+f_Prg%TgmChLe0 zk&>sW`Zz|mWEXgRPKply?HnZ>UnPI-Zkdz0A9&#Y60f}SYICi0T|X`U`6QWB8``vM zzoS?0-a94Wdj*gr37A0EQ6(k=!+I}_NhDzkDL2FQlwor^7SsXBdR6?&; z4H<=<2of8a{E!>8o`cizsqF-IQ{?9j232Oa@(N_k*H@x$1^!W;5Uhk4>;{P>BH1wo4eF+su) zBvM1TU^;UxfW1f0?p~u0kDAh$%ASCs!?Vtd7$dPo0`=TuLM7Zk#XQ|$fgJ6&ckjN8 zr0Vq>Hu^+rfJh@F^;$`jf30C9i}wy5IB@OYfrFRIH(by+Az``zH$XAIPV&>6%V(`$ z{LA8{-+Qk>e#Kf}*VLih4?pzqZ35d3ax<>d!h9i3jZ|`V40Hzq99?~-*-jVGE|fWW zqu9s?MUdpa=%R~XQJ}kk?DUF7iWVKJWaH&^f2+G$4|QwL?%j8)*Z%&YBZj0bS~x#- z;-tyxty{GYLtQ8IR$y8t4k=gCNMQ+jm`wfwTJ?!>O&0q{S`$T?n2`jc5x#|5@iCX6 z#mUAe{)Hf-;qZwt31Q{XR0y;;E2C}gWZGu@UR7ovCZ7)*XoIPQ)r06z?xrUkEIS22 zvES~h`iATPu$X8TPOvb6CW5$p`QCJD@Z(E!)at>NEmzJJc<(*;>1Ut1pML(?YqCxP zSFM`0JW~ot02rn#niX(!{%AltIdkqRE7HQV(8mSwxiI^dj;MZvYHa8vp~k zaq|7fjUS`1#Y_)UX}&P6A?nus%>x`$88B~^--w2@5+d&R4wVt@QJha9i?AvrLMvCV zR94TTWSQqXHScbd7KY^_ZRSa1PXFbXU#EQgZN>hYp;z&px8Hf=)x57hq1fvkVlQuz zPj{WbcB!fm&QNmnsRG=wJ}L(Sn`t#%IBge7vt1^zU8>g$q~Wf(?Y7(1JnF?7UlcDs zpl;oIvt-6?U9foJcC{1OHDbh=WC>O3!g=%3WQL_nI6@M*a6&>aKY<2eL(_HZ)>Xx! zJzS?QoxI6Iuy?%30sIWbh6KJTzK_Tf6=`A`_R#9wPg)HB3y=|clvJ+#qqI+D4=ODJuHJ9IN#oUZsucG=mUZXiJ8TLLd(8=JsZ=u$ zII$ z?x>~n**Ab&W00K+bzL+0f80OP%K#nbB*e{DF~ZwbY)cxNfEJc77*=9;y0T{WPna-n z$AEtQ)+x@pSZylitM%Y4rRDWiLiG2~KcD9{f$etrY&QyQw+d_*3uLEKxt|?5JNB9A z9gud*aoTC8eX|KT{-!) zPIY^pNTFwnVv*h~1z0szGY4CV=0qdb_@#!A8FCC#&xrrgV+F=_kw^|D19&n;ez5oH zFu5bzmU}SM2l}b)<6d$Ne0P>A8OQ_mqqH>r2XGVc=X$@F>0DEqmhX}xW?IfyHwb80 z4kTUU2V#0sv@6mjRg1;mRxMlZ=+ir4Q`@#3)>f@neV(-X;9^CKHdaD(1(79hia5DT zV7m~_rsClfj{)uwmy&3Yk+TK5a~P6AM<`WzTrYa~wQALCG;7ti)vO^y6SoN@N$NzL zvT?)4)FFct(`D<2R5Th=GHmFlpR0rsd;~!_9nF@sW*8dwdtnUSubSjywJ}lrfNn~0ADo73Xsd66IU)qsa8NQpU z#GU30xaw+$fT=}%tCP;5yILct*wZ%C<~%$+;iDZ$&97(xHzpKgVo(a(!l!leuNfGCgB83>blbEV`NR> zC!^&sE6MkytcZmUf`*J6_KEpV>ez4f8zd`SvR4+t4p}ry1>Bhm|MdIdgF+QG{_ArE zzw^m_ybl>s=;&A={1CC`zor_h97@?b|CU>Cx$g2SE_S^4z{f*a)X-NFg z$&;sUTE1l2j^#_2?b)zlW73>iGt*SQ!sJht{5K4jELkF4rfk`;R!9#vVrd8k&Od-c zU;qg#F%5Vyf$&ZG2!I{MumL3M&oHkLaI!I`O`qzsKgYSW-EXt41l=^h$F{q=Rrzp7I}~W0h6zX*gt@X=?UPJ4D9_c{@+K(rNtfqBp!wz z28hvOZ4_|FHzb}%nit)ebq}On>Ijfc{l4paQ?`x|$p5MyC?X#`2-IC!`}*BiIMAXG zMw2iG$Hl&iw zdmnZoH6Ri&3d*;* zMy%wi0^1q#^Uowf;?Kz2QT<&4n6k%n$TmM$F_jyySEDGIlsC(SctmA3)#Q835?i-c z4*L!TpZ7>G_D!2QJw@#b(#5WYU?Zz5zEw%491c6epn->8i}g?;C}s|R93Vizsb$08 zAqxXx!f%5vpQQw4gaAO2wSkWVMGqlCtc=xLRrE zwh1JSWr2{B*j$>Av@Fv;@-Mwf3WG@kG(cy6EC7%)5t5^|KVM8a0EmY1rm4;cAZn(8 ztE}tBqy%7SKlYF2t0{2(qQ8}$?@1fA^iu;OeNH}Jq#q{ca8G~jn9u-fBAQ)sHnf+f zu6ip0O+>CHV8RT=KV~5qr}QvP(z$BUw^Hom0x`f4GHM&>1O9zASdzp7d}VsBpy76? zrzS0#{f54Fb<9OiT>GKvAOwn#s&U`{D0k9+Je1@Q}DW zRx~(co(K<6pb3~7h+fD1B+n3^t&aAM`AKRQT8@|(CLp8<0*=oDVS&j<3KlUuzKbsj zaCjf!V{Va>1$_^D3YhV&&}sy~0Ri2(5Jb#P{_fo?!N<}79LL7Y>>+L0L|U$f%vHz~ zW!*c~sX0|-yK?2rxr*OabSet2@4l<#l%20wUKMG$MqXQ@St%vrI+4R~FS|L2Bmf}U_EVn9Ms&o_8O#Le1Y$5+= zoXotnio5L-JC>%E(>v>l0u??5rWnCmQmhoC^9-VC1T>gY;>5SmZUB?_(1r-ojA^tq zpy&QDze2ay{(OS5%quiev!+VeWqzAh{K%>-a7g(19iQ!&8r3};iB=)g1M>`FrHK%q zl}{o*B3&gXeIyRXs z#OBJDE35Fp=h{AVst5FdDA_P}FtU@-x7tz-%}Z`s_Zn-Ld;!6gA; znie0lGz-R55gT+NBli+B(5KNUcB#Bc4?dVkekWCIp;F}tN6=0p5@H$aJBRI*c7y5U zJ%|&?DOg_!BhtbYpA2bX*dt{UrR=wRb2LV zxgY0AR&r^9#xlyOdPuCJlLg8%4z-(Gc4hal{2Uri6z{1r87`4&aD`T}o7FYzHs#FS z`1kN@5z zQeDtO=h#N(CBf`o(xSbzKyY2{WomZTxpx*hLmp=JYSmqZ@)dk~7v|!(-&XLOgx1IG zWFdHS6EhNRSYH~ie*JpNAo<;!s+?zCEdppl{80k_fQl+|OiVyVpUu8~)Nga-Xz%k< zmq$2&j1ppaga=6Sh6o|pj&{^IET0;Od5&ho&%?LH>X6^(6AXNfoiw_vk}x3?WzFpW zrfk_&N@AY$+2@}ph=ra0NwH5y6?nHm52bOnlZ<>XbMh(4&Q)q@c!~PeoFnV#EWJ;n z^SN5YX&iMX}hZd6TuZ z>J3z(<}y9p%`;}qOj@G0-1FwnPuJ?MVezd+kVMD>OhtS&d>eX)u*w1?=xr*RF%tm_ zen)fB<@idZA^`xvhtrPfhGxWc>({rxFHPYy_)L%_l%t?+5EO(J;36>W10M_ji2yWN zC43LEWTebbv=N%OtpLNZh*3f9|5pDu#pX(TA55LWEuYS%s^Pl)xaU=Ii|~bFrB!0uXBaIG97_ z3o5Qw%A17vl`I^jeW{@lg6PdoLJCdg`;ljfNedVO6+rqy-@_jy-1h%d+H(Qi1U!j#Wc_Z~z`K3s)A~hAG ztMuG+&pw2<`>PehVYxp6?qso!XWVr2P3QgV)_+|gGx8SM+V^Tjdg8ffpL@Po(PCf9 z$7uUo{rbb@TZ|ABIDFomx$D&@BUz?fx>mMtbBJ^;`5IvY)?`NjE^-k4)Ece8 zm_3m?GIc!`*vJbc!IrFdKm#BM;G%_K1G{vV4<+EBtuU)1ET9sUC1hx(-z2ENH*733 ztf^vIjr@B*{`iyEW&nZK3TRAxrFt@H(XyWX^986)yqOCaewAhdSO_-4_nQR0>^Eh+ zNm!$L4NuooNuYi#J}U)34B*rdaHz0`3H?nQz8Ig81>gx2vPb|T;QK+^t)j>gKnGF8 zvG6G?dNSo(f6hNDJizBU=aw=l*(X|)~n*KlJ-jaA_*W37gI)0u^ZG9`Mb%vGoW zmT~SpRUF9lq_Hh^gd}{E6oA>@MLsb8N$RnnBcVGVp`2>h{AHp)F!wOlX z*Qrx`x9-7a^+Q>$#bmKSxLnt{Tv~36$ewkoBpabOsrV3LPs_9ZKdSx zHu_)HqD6}pRvW&X#0MPRb#siKRX-BCAD=EK_afQdR|sr3Y4+GXGAr{aZRd0KAgQj^ zxu-fA&(K5LGHK#j1T-Yb*S>0{Ui*dZR*MY zY0#j)`&lbC>04-}PMt*Sw`k?fH~>Wz06C4Er)X}mgw-?hC?ncP;FE@|rdm1tE)fIX z-(mwuY$Q2De!x0%Ec`-1T30|J9}}MqX42~6NSMYaRNkQns%p!8Alv{hP2iNRTNaFO*wOpSWInYy14C@_&e*_pWqYPC*_2NpZD zIl#o%#J6QJz<*?6!R*G`z@+D%0c!4(G=Es8b4bDXG@XC4&TF5v`|dim>TJ`wuho6p zti@uhOy>2{Xlt~n%oh1HO$*qhD%Glt*P=4C!EX&ZtBRs(@vpvoRb9YtRLm}}mXkSp z^n?)roy~j}@QxEZd6Kl;d9urIc;%J6FBSiycqQFjEsR|j$XVYl+L#_AAu)zw24$dK z00paKLkT>lP;2>b9TjK>K%{aJ9zd(Wu929`icA2PxDf3U039?o$+>7C%(jM&1zc^g zeJvz>01 z)&$uoBnMzpQc1C7@lv0ng`Z~aAMkN8-(h-5DT6Em!1&YN1lOWQMFIdN*sbRp((%)D z9qMS^bg%B)Zr$5$(#~rYO4+Q1V~3vAPMPpq^_({9oY#nDULqEHu86Z4%9a_e=|uH^ z`sv4aN|r38Mp8xcNYg#2lCJBuU7|44c_Qe}6yT1&%#<6hzahuXx7>WPwA{I(c`s8S z^JX>wd0LMB&l2k4^2s)61x*#*93q=spbJMb^Ls?{07YTL>Omrqe@NLseif87HC<#i zF#l}v;)Q+{C5r-IkE&w(;?@`q)^GPK+@A~}`Tf>*bH*6qc60Mm9CLDvN=N_{X+sFWBvk+mS9dKKN{AGkdjhk>*#HuSrmVu4kq9_u z6Er*^M3WNZBD+H6B3_6PGE7Xs)IjVa!Q=)FsB3HMg_6YNS_)?KJA?$lLIA5kRKL(w zr7i#zbMier05}%r8vp_X007Xbw};;+-vM-h0&1W4F&%ji^O1c3I4x3Mi$(VHjn{H) z0Q;klKk|S>W2*g}H$V9-0A|D$`vh>DV@>&%KmYubUr6{q#E-A%(Nz=8Ys=-xlju@SNDndB_RZvj$x(Mh2Zw?@{=!V$wq zj_cI1b06K??pg?2%jYZc-uv(8e*Ce=u2(qWY{}TsTeic56va|bmScO>>u#PAMvZ|`OmW-Ohz;#=B#AJZ-9%< zg4KLB!eG|+=BZkRdl0ct0LAgyH^(d%)o@CUQYCmnrx1((jA(Zc`0t`21QrSQ&j#2@ z0jpkJi%(Rm;S0jX*3$K9?t;Hg7NXW#n6Lt1G0|d#PYAovABDIh3zRZQ!kTC9XXcS3 z8expbdvl)56D$sVWj#BQUjxDl%cw}WOGxIVNR)DIawVou7yCI$z#b%DwTc+;a&lE(6BB-og5#%&2|xNwNtus? z08UrD?E=N#ZhZc^=k8Iz|0fj^chUWVumSo$hRm! zm~il!5#S3-{gl#9o(jjghuX&k;(w%OwNfe+rmZI@Wa?oaVqT(6@XG)if{tcE_z`q7 zClPFb1GqQ_W}q*fk)WIJ377yJ`{s8(&-c)LfEND_&;TNi!~1*=783CB_a~ox>b}tb zztTA=HOiZqo-om8@YgsVSuVVCj^)dh_u3gh4i+=AMXoDo+Hwq9JV2n38rM}CY9Og| zTBKO8xCU}EA)Kh5P^c#C^Yo-=Q``R0pmyy1pxuDSNwr!^z&+k5Z1r=e`^ z_GQbK8(ODU-5E`OZ@N-9d&j`R1C!^@pQpKG8+{jHG8`ymMDvXsJ6=9VeX(nGe63p- z2|%RfTod2LibP_x0)7dFm-LDpB;O3$o|Gmi^iMzi%=;@HI;yXTR%+sTXfc3>c?cHKq^-@0t|#7fyU%R^Ptr}QzbS6t?4|`ek3AFJXz7q`!kqSoFf8; z$%^R<2mlCxV_$%bR{+L7**9#ay+=))sw6V}HB3o9i%-a_kt=+U^F*5hTCNQ<5Bs$TVG1_hR^y1Ng9wc zB|Ud0%5lE>@++lbMOr<;I(8AL zxR+={;*cbgQ^kOl0HKBNM#Tk{6O&|~Pgc*CF=IygRuWhuwBTcb!|bFVjglL}awCp1Jn8OZp(*tsg=o6!)$ql=FCfmsSw(LiV(1PDJWl5Jnv3q9tZnQmwkK!xT&&;bgcM|1HRgqZK3 zZ2%nLK*O+qVp8~{Xit8}w;|n$g@6UX{4oH*J`r?Y(SU#!(D6Br%RV_*)3m(L@zu%L zA0LfD?VeRC@PGCNxL5>OG|C-d=V6|JjW~~prGVct5wbhZ#c1#zllp#8(79iUM;sZyX=0KQ@m_i6& zWeF;N7a;-Pj$EIIh@qN*tP6zIm_!86G#S9bCqf_r6DAr03PFPKLy5Ec^Em(mC@}3{ z7XdHkQl#WX(h)zI3C*bGU;T zO(mpz)02TKvJ6x)GC3q7C0(uC8JE0UG1iTm0XRviW$kqTDv3CHSD>S<-f1H1j?U14 z0Z`^;j=S!>>wG0JKUb#gH$Tfn88Bwl=ou>YU#uRIo0X`%Mdrg+-Q4}O&{n2;SnQ=H z+bjzMB!q~J^$6WhW74UC;sf&uP_RM+ID9^| z1ww}~BZvq*f@yvfz(F|CXuJpcf$-7P2d#l15uZayeW{H0#peMhrW~5o)9KQ1!HvZM zl7a6McxUsP@{7+ivQH3Z%t^on069m_17ITb054Kx`ilnznhSsfYyi#T#Q!)iu8mjD z-D_`YY{1ChYHQ$s=d)ZBpTjCZyK?-BYWHA%A%x2h0wd-$-NXpylUi0m_mz8V3kaY~ zRFVSBaK8cle5-WWP0ou@!E&|fBV54W!$+t@%8yxY9%)x0O-fl37J$snFpZ(~4AnAy zVp#W(E^Q%I+o#DNPL><7MdvwQ*V8~@nQ|hIK2;tj?e%giOmMSude2qgoDBlLiweL3 zRD8yQ>-c*di|YhffR*plC5%OhjcekV<#nz2z$8Y0|AWebqUI=BElNJtejzA(;&AWRH)P#+tQM1v%1W>dw7xs~U&ylL?k0Mk}3R9Ln7btB_Hq#KbV2 zf9a)2up7#Gwz?&+SiaJyc41o5g^C9V;P4kB?E!{oR0tqon3b47q-PO(LKC4mh+*OD zAmsQx5k|12Hw_i*$HH;)ZLZWX4x}nG<-nMa{2`7AN=2Rho)C2_ki={zF@XfZH`sJ zbyFShO@HR2OZ%gVse~scNctD|43N^IkY|p+-nC1lS16;!G}bF5Egq7;7}B++={{_) zP@()xEgaq6%$M(brFOmgzyl9nCj#ZfXP(J@0v!glout2yo*12aPv*Q^>0QdiC{&|* zwV&lbwbPBCDDW&)!QxUCF0N9~`z@2EOx`DuB##?EAx%?lLbBPt?XFA%%n9GX#3pR&5E*G_4Ls||_YrdbXZz*YXk}krAW-;NT-5aQ^@0K;Aj9|a zJuc-lvfuzLd|U$m3=QEr0WGFxgqc+sLmH3wed&;Ih+8G1Ma66q-}CeHnm6?&LDv7p zYju%bXkQjY-_o!%Sv`^TGLp=F$i~+rs^x|H&``-Rj|N8*#)lzXl<*K%lOqkzoRg;g zB#GtTqw`v?c<9tO-+ZeZ^8@qbdH%V_pLpU*aR;Y~LpZujNhL1lQWEn;Z{*AOnr>`s zQNMlE=3wmN#Y@$1X4S@Z0-9+5ElZXy-6@bIDcLny;DW78S7}E`!sDmkOcR&@7X1+^ zg7j%adJveBK9x)VBf}xmIhYAH1AMD;G9@Sx;lVS7#`|b8tuPnyhY&_UhFOL{ASjWF z>TmsO57^Lh798e(XgHZDPAjLnB;ugOK&&+&=V?qRfMZ{Pj?MPV`v@?==NbW>`F$MAx2lk~=iE4^`Fv<4!F?>$Uhy z)xy-55}r5S$XEOMJkNjde4acH=YBf(<adHmWp%<7oQjz|PB!z&3J07^ z=UioQKOy1ETfTh75)z^oV$nuQD=l2PV#PXj;o2kzdb{eZ_GsEmlA4sJ&YM3kRW)s? zTK&@0*d`?5k;6P8Je^qps)6(E-4sy85l>7M{Y-+bK*#%JGcX$fA;X90qc8!DTQO}g zcOvmJn8&ZYxrp!}XsqT?(mZ6oi>AT9!Q2wv>|~}mU5ArT;B-w+u^y)Yt5YR}(}Q&C zMCSBhJqWd`{$b-gn5_Vqm7L?j%wYzy0YcmC_>nHsnnxgwibeuh{0#^!p2s;O*nq;m zA8(&F;|=YNCN`E6z?mt`@qD$qzz4v&Zhpsn_Q7z42{0?EHm9nbd-D|;JX)}*@1w%Q zcbrzu-}m2Ztd@Fv5*w|qr0y!xkZ8q7C3-VuuBh@u&jXg0pgKtgXmN^D^*q94o>0!i z^^!YFirFZQhSu~W0j{@7w>l|amk?^(wtcGhw~NYg`QnR|hdS=V!i5`)EGeaXuHx|5 zZ`WM-+mv5YS5_RFEXk6%Ws=6 z-)yyrjdkjXyixJD&1y`uchtzysr?j#6UmUSl{vkCzkccJ`4|%I?`dIxMX5(*GO31X zMB{L*_?VK+JEM6kr6N8ZiPSH#WUQn#?D_JG;?hj-`{p|c3RxSNXb78i8RmCZUjPT& zh-OpatdoZJ-~vpldT<&F?_|0-U7r&T?MW4K9sw4b4RaHa0!A%9PWQtDl@{g@7?^Gd zoE_U*qVtO2+xZyyG1UN!@Axdu2QUE~#0h}o@2ocVW8dYtXgq6*goZ)5tx(r;Ispk< z9a9p(TQI+YGEHbxNTM~&EeX+-_>g!2YgtRdaB2ywOS4gJL5<*d6)X9EpG})I^NHhB zYOweKHcV4YR0>oDAZq6PrZh6mFz6d@-?6>obiFYlVS3eOy>GZf`;K9?8Vo7vAzAle zhZ40ns03<_7K=r)NCv<9$}8VI`NR|N>ApWNrt*<1uDIg*OD?(O#3M?(aWQB&b;~_T z+sR7nI$Nv$!yKVQ8c# zJP;w6dbAAxQZzZH4n7b2uvQG1X=n|!AHb41>~u{|*W*<2-~ok6iUu&!0stY9_(Hz) zMMB2^i~&SLYL)fCWq(?TJn+yY03HAV20ITHh={pG5V@DvLhOru^S7B}XgYv{S!mxm z&@1~i;6>U@boBe+9PIc2koyO~2q&;OWh7)P-iDS0T)anouu9dRy{~51Ps5`~n%Ga? zj3fq1Scb+)ZQ8W+=WCtI03CfZF-z+!#>fBAU|KLqbe0c3obJ-$-<$pJb1-oi#xajv z$>yzExAMSL>@H2+0h0B-y)wCX$^2d|vw6b%1q-&8A6NROn{Iwe-Qq5wHd8ElTz^i_ z_we-dXk{i1cf8WO&eDp0g|xuK#fp9Mr4nIV=;4l)hSU6r1#87h?$BzrSMjoB=DaDE z#&E?DB^+cLXvGaTRS(0KZQ4+fs#>ZpZXoq;0^BfZwn6&ckAI2^4L(|HPazmauH4HZpNM@U$3tK;uWUPxga}$GO;s)?wpsj)5O%fAi|Q zH0xLZ&pvywuUtRJ=GDH--&VV4>1_CZXgj~K=)N(uB$A+A&9`@;pp~8`B$iY5q&D=f zrhr6D4FaVqB#JVD=plo(;rqX+?22|50G;X$VsOp%%zZB!WvmPr!#rqUqHjCcxUpKd zt3Hz6mcI5;jh|Fg7uK;<)Y@8e0Xu{=lqFqRF3AGoEReA=OYw^37hQuUi9G2t?0~c;pYlS;*zx@tfOl}njys5OKFSY8o zke@Mi!J@@$_UzfWQ+bjAEmai(X=~T5)hMI2;hEECgf&!9fYVsp_U*zlN7Uu1x=%Q6 zB7efSMi9kJM=G+`32HN#LneoB0K`iDlUOwTGafSiMQW)_73KeAYrHRW5)B9Sjv%4o zteY368O)?I6r66nlfCZ%2Ryq{5*lE8EWrYS84nEP+r-Gbs`HM%ZL&SmRm)7B;PX9 zd*v7TXHfZE8~2#=^Up)i0`Rp^rGXm0`f7yw3Nv(3tPRqH&eJRw*31dlfOd&gw^RfBo`v2f@S*Qq-y{BMZWA&%HMV^ z2pe=gE976!QxDYP#Xc$8{{4dQ|NLs+ykE)ed`VWvZP#6Q{aJ@)U|d5NPEjxT>&`v@ zd~D}puf3MHj$$Nz)hBVHe6pDe0jy0*+P^Gy@Vd3@!m17k`xx8mwTit=fCdj! z!-a$1L?%jA0V%?Gsjf`@L5u((`4~rb3V-}vYFPzujIP<`>))B$6>!LT-J-lCkI4>?3jO6 zl@0+EsS{L8Q}>4|4a%R|;h$-P3}LIMHV!;TD$CiZO~ikr>ofo(5gH&-+eq0I$A_&Y zJq-q$nFoN6>JJDM64n!kCAvg`w6(NptzT<;zfX;W8PFNh$mVo4r3$IDbegnisuCQM zr7`!Z@62v3TAO4gEGt*8?36+ue$e~5=bx{1|NRfVq`dk|HO=Yp3yRAzr9Iy9H{N*D zd3W7&&mDR4JonZYpMO?U8eyQu*iMouxi~E?ZMQ}mrD^_iC^QBPX&D4z5!5o*_Ur3I8ig+BDmn)2*q zLYDU?p?YC@C!cH!HulMi4aJWM2`Pe^hv|sfi3w+caDXF|#G9CCCjjRYfF*bcB|aVd z<99YR9sUoX!z5MXTkjWIsum_Fz7b&rOiavIv@7QYDA8yv2DSk-GznUe-?Ou^55R-Z zWsD<>N9@M`*smQE&EbI*4Wt7&-xEgPHQ$u;^vTvr>%ugr;Vi&v+@LYOm1iw6ew%BGw31)tI2(`{+!s>+mDHKHy(X%x z72t%kWM z&_urXf0R-W5*GMlfP&)#Kr|~Fjg3?>s|>(Q1-yU`z;g^tTg)@xtxRCCjlT^X03_aK z*&=)&P_qaC7{JW}5xW5#>xshRgSN*M=Dax;;OATc8l(uC8qH?4e-ywHL!++?$D=bC zeNB9$BIYj$h`;<=!&eqmuKc~9o*-huo}x=+KX!noQl+#NXvEFa*z}utrnSl+qP|*YV%TM%BF}ZO;Xd@J@PSk2*C*9M6Z>FbAbSN+F{Yn`LfF{%W>_s*PbQ8xm_#z)6x?8 zB>4Hn=oQflSY2_q$?56odr~7m>5<{C7@kcEWeSyo}PNv!x3;Nia!N&t9P zVF1gC3CeK*9slP&vV)@gCRB|Ix0P zwSb>R#h6%3O8~~cx&N4ymfpqU^uY%O{Xz#I>6zI{i(lC(ncXT0$WPEEEo$G{JM#+2qop&O()knw z?~|%z_Ty z&zvj3oud13c%^9V20(x`4$QY zEAytQ@ZPMym#Oa|PBTJEgBucQ(Ppfyw4B5L@>B*0KLT;xsRB^EKn>K0F7e-LND0bI80S~7bD5ACK%4b?+Y|GOW8)sxt)`u*ldza%>9}_w?ni2R_S>y z)k42q#M?3rURheVPQ7{3e4|vLoFIAXt^j!>f$r;9UVY`o7hcG7tM1EL`zaEze3=B1Zk%C8&PNX*ng^%}C)!`fPu>DjRnUM4*0dO*9!qP@zR$R;?wMvtJR$Rb&+xu8*HtVw@-qqh~ z>EOgbMaTF?ibPq}6_fD-4*9`8Ek6=LRVk6v3h0jwqlP~L(C|9}(!p*34}X<{Oh^g@ zSE&$Q<8XX@M6@3OC&HPmI1YenD-^=??N9I`P*10 zq<{gk2GVdeUn*6qq|d!9saGmC@XJ5cF}N;THZcEzN^pvdu_mmDm#~m}Vuth{=A@F_ zm!^vwNCj{z$J(a$46DVE&X)-}MS=IxDmosk^O~-6pIN;47ZcSszK`6K`nnG_b?>U` z+zV^*6Mypjomzkx0(rjf-N{;v|G6Z}i6@?zL$kY2zVy;duaF?;{!~tgdK0#msW>w! zIccke)JT$$Os=qmFU;%iJ-frJwfdv!wrplnrsj`{K$)Xn7?BaZ>a3+Q8hYWAa9l~k zB4C7xUBNoitDlvV%#lcu=oju~3E9IEKEQ`>q8{{4{-x77W)zj8UDS@zfF-uvL06feq=K=6INA_(R55fcU(@ascEc3`AQha*`Jrk0|Np8k6sjTzHuk-Ex ze2c(}dTz@2p|i9W(zoA!%M}-?#q*}6Ayx%d;Fy_I^V2z7*ASN9tSl4tw`|=iO~G;X zJeiOt3nE3n-!7TpTLiE*y8cz+S6Y0EYauD~*yE2^eCC;F3+kNzB@KS1 z7L#jqjaTYEo~zeW^qEtn+EyRKJV&luDj?@Iq zB@((dTefW7sLJiV@@>*3oFO(qw{zD{-yn#&(2PaGE~k~kJbKrw(-R4}^vFOE%9C^~ zv!iISVqw6cS#n{StNx*~(OnoJ(_|I*$it7gBKk}Lt-et1XPtGH%aJ38_e)s8VFUpo zrWfoXLWGG0*rchwsfAAhJa{)wv z4uMDb5mGb=1OvVkT8Iz^=Zx9NcM*OxBHG7K8S-<=MZqh!XIn7F$M0xwn@`7QBCP>i zc;*psqxo0_um}J&8W|u$?4U8R4Ddf+e&uC3Aj zWa=i%cT3Xs?v?i6#57es*EYH*r8MmG1!*iM?a)R~+}KSI$qLA;?Rnk5i}iX!bi(RC zSEI$|qv>IsD4g9OKPs;t)K|*MtEHI%ZB$B;FlplCp(+VjAVJ$LGb~j;k7pz%jY2}1u5ZJ;Jz_4y~*xJW^A%Bj6gRIP$lL$v7 zqvKw8@x>RrQ%*U>0}iGT(+dqIU(*XMS^|MbLjX)xa)cIbz&Vh=hbf2_1}L02#0bE# zEgl$y|L602_w4oGwfWchuv{;ij`QZcU`p|+Ffq|wn7o*mn1*((2sh`*`Em_>58n+S zvPj?~0yZO3@bRoTHZtBS(gPDA2JC1wSVMa57LIun~#Z~#|FT$3^*@< zj=%R>-q+k`Vl9gmE9w^o77BpJVxcrEnaqU*zDUg>=LBdAigdwZ`JhmwBI7G9qO|hE zeNZcojG|f{CoK62tM!A%O;=A-z&%--aIX>?ww5VfYPEp7NY8h&eE41hTN7C>h2)1{ z@z8@0ouzwuj7)H(9c@73!AT6oWcVLxngEah++00&V-J2^B9z8IRyKxZ0EX1dS6gkfc2Ks%$=c*VrS_lxwPtl@>&%uNIy zZH~5t6oCZ7G-O|BDy|(9cbfnOWrHB9X4t z-+dd#osgCbYe5W&_(;>DySHMcikno$utfgir;nazv!|bWs+R6eNnLwxEesE8 zfx1oB!Y#U&mums`noJ-&l}>WnZj(Hmr}zK4CS>etAR#$Uf_#pg^(!8I?6G^avV9;L zwyqle3}3ru%_0fb9{F>rY-E^3gWg`tMJ8!7OL~#7)TU=WHC$8z!%Q&}iB;A&Sgr7F zxR@TUd^xfU^xhZImI38`hDiyTmIxO@cK6-)xUcQeRsBNDC&p;LX>b04g+6IBPZQFLY zRq;kNCV=zWU5gD`32lq13z%RO0R?}vK$xF~)&ns3epV!FF){PGFf}npSzI7c*dHb< z@3S8^{^ot|3HQK0gZ2X05IEML2u74=fT@Z$Mzf)b0i7jcL(TwPrA&DcKB+~o!29oc zAJq5D)U&~7gE)zdMUKo(cuRiUbJCXhub%^WSr^u8rKGxr760OkuuM^=rg{yhgy?kU z%K-!QLJ>kyszbLDE6_9?qg$}XI0&cVoJ=oN{euY>4;|2 zdlzWCB?`L3E-XM3&a2f=;xXO)7v6dI-F$MGt0^!!UZ7gHVE+7_+qQ2dG?2~;&ya}G zW5-av>nGlf)R&1F2Hf^Z`Q0GWJ0v>W|6i2sn=NtFVb4Qln^GuG#e zlBVih{;Auwdsl|3XeJ{dvkhS4rxMtQGy!O6b4K$LgJjX6G8-R-b3!vC%oet|;DQUh zZyEGE(QKG(_&qEhfQxHG`{B2uxg@MUfF9{0-O7^>yxK-!9xY}Rza>`RA~0gIa!)W7 z(R`d6pF@+PQ8_*fmJuoz)W^K#JAm7>r0*4o_-P_kAhMVO>wA2P;Nr6?7WKqc{&x#_ zAKQv#VV*zJ9CLj(tWbz|AwK%(W0+~C@1*PRkXkyVs~jjr6IFK?D_Ue@;g1S0k$F4) zqYn#D(7wmN^zzH&W$_Gn@PP+vYf;H7#c%C`g z)kR${;NA4d!w)~EIM}xu1vPxv&RuKM)6(}z_(HTq7^}e>qsNR={^T+*c#G9kMy(Zm z@#u7=?kG3T3j?JdJY?7|pY<D9V7`sH5U^)f^HZ-wDB1iix&KBqv_#P{O2U9T! zvRxvCg63loYy|n&Z&>fO8~$OW=jL=zSa2QyPUR$Clc9+K5~d}>ZRQ^uj%(m^od0## zUgu3|jc@YoB=?D|d*X(GnuQ=}>he413-}4(`vE4R;?ZRIWq^<4qfuF)EKqNW+$?+s zIy5AHC0Y*>%D(&VJMVh-n1v7qnZjQU2b9nDvDavjEckZnnyipOVNVJ%c!Y)YQ?byc zM82r+jOGw@qQNg(EnVHOQq4Fc#&Y39YUROTwaHcpzl zt1O;MTErgH0&szR-b@Qnb2~WHsRXM5=`um>3}hzEJ>{hmJ3&gwzbc0X+U@<+h9tOi4^mv?4|!))O2P zMl~3yCpgbWSOed4+qSKqA?7^rVWIc|n)$sfRG8fy%h$q*O=N+<{KYf{bbKD)l6#DQ z{BHhtT_Ks2R%s85Ny;6}WZ}Xexx$+ML!0;_aus-nKG9rB07|>^nh|r7#zKmxi7@#- zxoo+zdj!HAdfh4@Z;*euSqttO0dR#v5sP&`)1}>dYeA}``}N_Sci#2nwbx#AxfZO$ z%UsM3iz5L(PdEAzt-{ZK@WJ~}DRUsVI`rmOs!n~81Jjgov3}X|X zbLX>!MZD>*1&&M=v@BKu<|@pj%{IWSWs$J@L9{aW9$#76Moy_5UNb|Qloo;Fdwy!p z1N->8M5KKm;Q)NnNc~-LA4t#lW7wPfR|;WeWqNvy7E&JBw(XwYQ~o|!4^H(B(17xT7A={xl~rsCrlOh=rN;xrUBXp z{|OV5-|^Af3V@X3FgJh}3NVvw_$dI6-Wv2R$t!vq!30ofHq1#(M@&orhajAO`sx0C zd<{U#C}Jz*q}2dD5Xnv-E24yu1?~6zfC@D;ifA?^(9+CEU|TM-XPE{+k_XD5NQ4?~ zXPV6uB+)qufRb*~_dSNvRJUt!4Mk=SuFCrkVlJ2e!rj)3IMRa52&(C&}LM4@IL;V4;4gM%dl!2 z!wMzHcdHlDy-C;il2ie*US{e%nWbYz77bQDWJk$fYk{q$UfXJ+s-(psuPlI@b-qXL z%s2^0PQ{AO(}TE24)2Rvb&JU?`&PnQUBcE$4|$0++rB+}_ok{2E=|)_!VG`FKl0tS z#0cU)(N=*JuazrTdEw;2D@V@vIE2uENn}INFe^!jrMkFWxoqhj7aiFZmLDHd^Py1F=FLJHH=L@l!fyHOYsFO0eCM5aM+j)Y$b@`T=Jt!a zKe=Cd<>gl&c<{knrQMFaJ|@3t=U2*yK!f79p&1f-C3wO{?fQHeAhHll^L`Mm`e0TUFIwU=)d38l z4BB=BI0nzFi?r{RiP;F5f@X`<`E79P)~=73lBV6HA<>pfzV%?^x>;npMo413msBe~52#O`J2@IO22u#|+NU z&SGEz9M^#sW*jsCfL*-o(#t%sSP(E5c@IFLkzrI>%&;I>=(y((Km3r_Y~B)KW}T`D z(B!l$#3#pWEuw)WXiNg+kShF6a9#_GH!D@F%1EnpB{-+bmDsON)w?uneU&mnP=pKn#8jmd8Q=zR zbQ*(kMYEwv&}u9W_;SHE577I7lXC}bkURhlO=d0Lt<5_7riwbav50W4fGXl^M#2^r zBZN)0&;^VtTG-mU11?NkHbBPTgah#PSnSMyKJmnpJW)l43^|izxG*rpw{usB00O40 zSWHaHkG1%boX+TG00&d)YvmLumrw5jC;15}T$4^41uc~O<;(AB-KO{XmAO*6nWj<#u-F3IH5 zvGI`5a4KZ=Od2t|?ixkxyLHLj>D*OA6a`MQ(#f#E!Dj`=oCI``3}^{nc@M4kkZRdCXYqYSRPTjJsETDD?s)RaC%n&wrpBj3>p_s9-KfsS zXX~cH^=NuJT%na|B{){vj2bczGG)l96`}6iRKIX2$5m5Fd7b7>c(Qz09MHrTAKXOP zLT2$F772ZZMS}fut^fw21Wm?*K+KMW0|*t)m3z%IKm)>7l5Ij4FPKP7N&2G5H1spj z(R5rJBnq1Ddo4C4M5cVCzX2Q-APahwGz|txk*T~-i=)O757;dWYNtq| z?d{vO-zuMTtM1Jv0d$evg+Z#zYoXcl6<&QcZ+`ib4~o>eTnqA%XKG5rWds?;WSuL( zJt4aJQ)PEok`K{j)#_D=%AB8}Rh|ya+a-iaGOf~?2L@Bf3QjktAw!1J;#%F8=Y-WP z)|+=;n6y#0K`T5Mx!>jckZu0rOD}pe#)uIBhlXP{#>BzY;eYra)L;1qupVsvy_Ue| z0SE|}XD59qK>i!-WK_c$VFK8)+7M>UNQ<|5qD0z}eImGI*t7Z*L`Gm)+0oR1itvUl z6#S0Xvr6z*()5rS*3B8s#^Qs?$UVX51yF#DWBJ)^(xk!7-b2fBerU6xMhl)ZVDpQF z?gIo2_YISe`^^2tTnB)JV+bD*zr)wF^fTBCy@aDHD2##W7MB|BG@W1Q7-kKabxdulzs4YO=9d_`Fdq6ofON(+N-; zNHEt35(7Z;Ls{`5PKa?)oJrUNRu3NztpNCFA%}J|M%B(09}TcY&R65RbiQ_O{ycRa zv)TOrBJJW=OC$SWyyo(uogr43DS_uW@7lT<`;HxXZeWS_(;&%kc`5fd5)%)r- zDlOL=Ew^7*$PV=?-I6$X$d;bHdv6i(wOLls2F)l~t{yjY)yi+G@<2x@U9X=^*^cT* zT3un3BF{hf{FDFw_np`4oX*igaiX-{;ZrG)9ncAE^s1yO?EMOa7E+7sGBPJ>Dk$Ei zPv3rnWwuS0_SmB4upw!cbOoK$WZI>xvNxpu7mS`w7lEMxjcYGLRzD*B{Nu797&SAo`w~#EK?jAC}EQya{HH6`lnHz@wD_AEW|A1i6*Ov?3;1 zDZfBaNq|7Jp`ra`Qk^&ZrY8vJPG5dZVth~~9C%I5hUTMsnu#>y#lG76_<3HN>-aNf z%v5-SF;de#n`yJ=_&?`{=JzwpWqGhzF@ebLHU1{&YYmw&D*+?-{(=iH@BwtL<)xQi z_UBHpn}tLJUc6@K`ly*hyOU-|{v|841!G8UpyU;${;?VJ}teZO5oFqr-ZTUaRThrpdoalR1~J z2d>FEvl+^mrr1#k?dHP=(n8kWEhxxJ_3=W9|6qWFG(pP&IO|_R`Vnbh#C#(2w3S#Z zGX@_6W=tg@-Y2A`0a^$X3c-dM#MHH3js{8}QlJ+HK3KE~4w?rbS&YnvV_4fg7(Z*) zV|^|$C(&Fa_7Z<1tAx5fNC`|dd?K_887F8+n*q*u&^Q!yat$!A3^lZw33h&Vj@J0d zw^&zyPiCI`#e|q$bTP@8dEjRt^!NY6?2hz^jLbfuWdfA|oF~jB`JQNG7*@11_nZX} zKMyU(HNBbdO`p;Qh$7VlrPT^OQi)D$bSlQVE;cfU@aG^^1e&n6bp4*D=a#1Lr77Wg zhrqf_E$nB0@L{1bMT-?3B8@pvubp&%eigWXl380q$Gua)I_;51A2~ty?@Y}WVXBSAky+r3J)xnDQvLnR%L(vXJr3jB&U*`5kRM%A}8Si0D; z^!4jEgx9TG&xUCeTCs9P%AzHULxczz;EoTI(VJfa?qhVywxIR)Lk~Tik+_V819*Ur zl^8;$V3cxZWG-NeXthX&27VDj`XBH_d^-Z+Xfd=GrY3A+WQ;C@<0GSlz4->4IX{y2 zg|CLDh%la!DX7L4+UGIvjQzw%1PGW|ECiI#SgQnlB7_#LVU+;*O2oi0Lv7qK=BWC0 z_(cO?+d{!L0z#|$w&GI*B0jUtH1NUl=#UY#cw$tGTTIU;^PuG^onqfC82F(u!I+jX z!1#4$#^Xa@arqTK<;z+O0whdhD|p4?sG;Vvn9Z1+5Gf)%oalal3D`oS{8RLP>ZhN4 znyR|HbX6my$fB90`_xdt`A)x=R`{WuwCDG_H|6u>d7+?c;_^xBzNSUsvh2$1Vf{I= zg~v%y?$JXi{n~4Ca`+z=ut427tk>cI=|J2HYMpo%Bng0IKQNre zazdt{t@$ieyd@Vyupofeaf<|Ew6X~@T8_Ul-7qUjhqBfPfRt+_gM-Cm(7^u$zI{wi zwS^WYAUrU2N`zF=fWydjYN5y=g~*_ZhBr7Tt}hbih+Lm-Tm#p_0z@)7d7Tg`oF{qU40k^!NE zc==BvawIo0Beo_$AxvxrEQAliL(r_fAMq;Rbxa%JL0bbhvhgh^5v_<1g<#?bA^030 zP+N;Yi-*Aoa-NuHm}L+=2r&x@WP||@UkSg5PyxgO+8cA4(8y4cK9QWy1%Ch$*TzD@ zHDxRmx)uYHT?6M&CJNWUVgRi`Qoledn6&~V-!itR3)hS`L`z{(a=x593mq{z*j7^O zZo2U%&ty`Z>YEpdB#9Ok`*6UIK2GYvB(6R2)thgtc;&ku5_o)={=Ie>WWk+rg%g^XW zpQe@WLkY>xQu%Ky!@QH2qwT|n4&S?S`HI~V-gJZ#bBtNt68JDCqy!@@fe8Z$t-j$E z%U7gFLI$G=6L=q@Q%9MW0-JiMc%q?#`ks8C3gX-Tb(=S3FeL#TD=gK-qz#c01z4G? zIYVQLy%vjVFy>B2Vr)v;il%LO%0C*|Mo=SK%>cMcl)to_awFNuQ3Q;b!3Z!3%K!@! z0PV}UQaueo&<1Syg$73M1K=a`ga5H;n4qFDh;LazDrO~S8yW?F)Ot>mV~M}Rg2K63 zNFu1ESSUC@j^(pqv`_%{;9>#TtmMejzW!5SOO^Y+j09)^2pHKXCM-UtEfj=exc|gH zd4*WvI-Ys<84)M1tE(Cn<3+47k#BFWPRiaNrB97WB^98me~qgArR{c!Wt^kFIkS|y zwOK*))$*~EbKdS%R6Qhn*(P5mxXRQp9hn{3g{ayk7GLlt&3+5@JB3 zvNDoKjvAH9l$`crCR?;@=FLL-)g!<#S~%i_1TbZSl>(SGl#&!y20BCt3DQve6ux3U zQUQQ3rSc)~dm;F23!<+JF$MLz-+bUZ0!&`1{$8TIO27GZuP9g*7zdc5uzhZz@82l% z51$L-0RIbrhP+QQG+5>F9RW1j0^iC=2O}I1R5E1{VqVdF_@#i4!c&`JhmQo|fd*qk zI|ns%Ecgt7{{_M*5Pes*z?NYKN83k4G+(5(1gtK{N1JipW>S($hl!8IQ$mP8dbt7FcsiRg=nuKZJr`BX~n0Xel|`agEh*(T&cm0 z8)fmN%NL&}Q}c%GXeHgRTsnutr;o{jE=p`w4hh30vX@_e=9#DKi}vlToVWg3i54jn zB1u^nDe@1}CA8rs+N8ZgN_PtL_uP5&(q-bMFH(p=!XJ``Q|;WWv~d$Aq-tbUns4W( zLR8p8O-AuKdDh8Frh^wcw1R0jG#vg9F)aK9%6>5I@L2#H)i4fYPMeFqg$>tIDe}U|D3Dey&bqd^b_dP#Kt9ASEgMt&QRjsyI zKGrT~c1zIHRfZE%7JgX5s_CYa(&Wp8RPGX1+7pdELzs{X3xw2?A)PkX%@|bTytY6QAGx zBINH4R>4ev&$x$?*xWc>|2z*mOiu0(j^;s?pQ^p4o(1h0LOV z3E+}@kY2M^&Gb68YllRtgw$O-O+#H&4_8f90^e^}@0uktF}q8Xc2YUkmLKhyqo-i_z+OyjItXm056?ZuE1v+;Ve)C!Tzwf&{IzTAeNL-mUvy`Ao@T zBGa~R-3FjiRpzo!Spxe-^CwAQlV$oOY4uEIMU}}DUL&(ot8z%e*zjNlmPM8%NxOx7 z3%KZz3#tQfv}w&|O;IsrEStmx5&s9;9CH$r#{h=_0XCnJ5zV;p86$rQ;363&1jaF$ zs4B;FB&(hn8UksnJ}fF5VBvq!S>?Xj589bm0Ed>u%*+aKXp^U&eo8r(-F+#M2Tlgy z08s>R9$flM z%d@a}DA$V*hwo`!!|*}T`ZR$p{9)m+NRw1qFKP5GQO1c(#rh$|YteKeWr~C(Pur#W z){AhN`0~py)z6#v)zXS{)>Ig0jV9ytk?DTqQ~#oTb4rUaLGpC5XqRe*&GX?$A65{( z-A<N+Q((730^8&RtP{|->Y-s~;%|fjowQw8 z=3W@;UTIzXm>K8&Hkp+;=MM!rjG7r>q8H2`eegAYEC(Rv(zjzBRcAm?a= z0@OJSA2Bf4SbQ`{5!*egbK%-GRBbbyJ@0t4Ux8s`eoY*E47X92uj zwR9{XboavKCR9)$e*vCnYF))fMKXm|C6KOG8foep5EhA~YJtWn^3|3oO>2%8&=t~* zgQfLfkzahfOv=RO&6>|pGQ-VByoR$2RB1-e=bn515;?zlltEHjwtsCA09`a8XMh;7 zq3R1VvUftlAa&(hDPXBCbJJ=Sqpp&(zHZUt#i^tcDHSO!q4k>{e0YW)um(3MX|?}u z>pZ0!t3iKtJ(EX;_lN3@L0=7=aeM?GZcq^MacHTBmLn|-YTkea$jFi8IJ119h(cHx;ignf1C?=?I%qQB$kwpS1tSUX2eg?=0P(uV^ zKH~4Nn4smX%>w>fW?GK?Me5E7UVC#nu};*GLU7K`;Apn)jU6=$1t_uY3@c>3w5?$&31QS5Ps z{Pc&98o()4=6DIzwemxrmUeqrIf7p(xcS?=@8lmY-({hk+I147jjCT;Jz>(M4RYZ3 zO9Q6qL51)QXho;kTu5eESk8B7no3Hb)wSZMwQbveCuvZWbI88;ejL@^*7jQ?WB-dR zF`?u^q(FEnd|AU|PiNWkcn>Bic zx%2Jdq}^a7X(52-vOGl26-|JKBKw691`7oyB;Nt7e4mN}eA3{eV&*8?1c1VZCaRz3 zf0C$m?z3Zj&uC(GP;38ZkqKO1^cpa^rz?y?S{j~SdNi{rMYFzFC{{P^ zgF=OdzmO+S7uC8c!RVX(vV7W$KzsJ60h}WFIYkIuqKxr}uWvSt9MD8Q+N^RVk+n7;2H$nY5uKm3Hic zjU-E?q-KdR%!B?IgaI&7EZ!5V-3)Y?o0y*TxQvvoOpB5r>LmgZztJ+mVDSi4GT1_rVFm{l8h;%E8uy2LLrtAe zW>(^}o}brlqK9K%4 zBA!A5cACZ#hxF{ywFvJKu-7Q)JxR0whQ0Y_zTsjz-)x%d7a8D{6oE7X36>IM`AtrKSn~td)NTdw?$V*1}ik? z6`=sgfmt(Wdm@0s%vrOj8$&bw5pce|1;Awpa0FNYF!DZNGtDL~N$uH;$cFIKcLg)j zcdw$*GCGaa8t~8`#NukOc9@%l3IHNi)Wi{~EhBXcjfekZ>1${WKnDl`Fg`9m7C`Z7 zYMcw_1``_v-fYi0Mp;>J{@P*^xgIpLo{Rsk_uI4}0XEtNk_v}*Bd3yhpHE_zxkuFl z72IT*WM=YOZmWd{NL{0Bhx10$75?bsRLCv5vUTd*$!8mNSC$cT+#?;Z6X^tyrb5%5 zDot9aiiJs9gy+e!YAVaBj6zUHj}I5SvIt~31hVr*1l;=6Q%@I=ZQogb*a8)vZc~56 zRHY52%cKdZ#*KcJX^K6C0GoU&#p33wBlAosVm*Yy3nh#j38Y$^gwszu-3uezfxu=D zA724YK?Xl;sQg9`IQ*6As_Lei+y}yaq2`|e9N$OSDgM-cC#mZf!f12C)$}G>ZW5U{ zPTUH=3xQ)}wZG}68#5Z&LYz>r$@eL1;TixQiw+<&QUc$Iws~A1i;7ivqn%~|Ag)cs zhrd2=Dw+n2{B7FIgAJ`VGm=*d*eKnBnWP0hJyOtaFt8ec=(Q2giG*p`V!)pj;EW_X z^UO$JO)4Pdi$y{wdGn@MlWz_w#@0w>Q<~AOWQTU)RxMhFJ9q3DrX!gwpA?m3?N&YI zTIJR*mhZMm_vZ(32xlEt8qO~Et~>9{rB&+|f$SC8*B_|yPeXOTny)mW{nBh9%~?wq zX_BgJjx;^I5UZqaVn~Eas@OHy$}~CU$+WrF>NP^E_%2rRV6fLpKeEzn!3U4&MujzI zDeN7wqvZk~0b$HY2m!R52VF*mv}rqhyC@I?fQ*=J5h36O`n5p1;HN>r;MYMuSbKEhcpQtC>{KU^ zplsUP`>OK8GBlq8|B>G#HE=%jhGYPJ#@~x*8wT1;0AT9qXd6hgUhlh!fFjOF+d{@r zQBISYIT`e)VK32e7Gu0p&*hd|BGXzG(x9b%8to71Mutn#zC(wwOvsQHt&pl5DBlW8 zgQxfE*)vIbshhN*tx{*^m0~#u-+j+L&q>3cbku=Pc6rW1AAE3!as{i&FB>9_GE=#E ztCf+kUIEf|8pOC&ws^9DmL_u~y-~x4I}!&CT0d>d)Gg9>DPlO2<;$hYJlgy0Gtc(a z4NN!2EBKmKOe)_0D9u5r5foCH7_PBdWkJi9Eb~4Z0yuMeq#c0~ALheF{I`Hv86`~& za2f3jqNW_+rNthm*ch2%-MV%6fPen^XMMgQL;)I!;!E-hdGEcqo^x+LcbThO;#Ak+ z`y8%e$^Ylxd;U0=`_Y@d*;ZBgg@6^%0aCObW-2LSfU=27l*m#cS%Bj*^#>Z?SAYvZ z_^vDj)BGzM9dHR~9*hE+{+^=$!5Etv$@s7dKJF%>M2XkT-Ntu=31w0#MZ7S;oD)I% z13eQKNES{O63k*uXEfba3Vi^&kBbzcBbP5FqGX6oS}de3U1qEg6_N6%7U*e8?b;;y zS~zCZ=qXxACyTM{AV2o#VJcZ!^zeP32$?+>$dSz_JHNE-?(dZ}+*JOIlKlIQQ9yHs z{1UY{D=|#*v7Wk_HKoyp$+X)c4VNM??3_4hQi|BlwOYaZ9Oxlt_y0FBl8X7@nx2ZU zLf#@7@npx7%o}Mdpp+*y`iZ1H@jEF{k(4O3;o@kS%>uoWZ%Mq%o2Jn$lt|i`Ofm^L zS_bVfPTFDk@DaZ6%Ev`Ma?c7}j|n79YxUd15Bm2C=DW+4`yi*A+UEbch28$2o7o|U zYyCq`_sWxJ2&~2ZLQz8uEvzd5!`}m_l=DzW*2`CW)7wN<-14`W%){}~QfNB^5+o6T z!i)xtk-sCq^Es7H`R{o%Qu_gHJ`BKgBQ;qX1mODicb#M^lQxIOMKfpjIrv7g(bf!f z_A-rk$;Fp&O*=7BTeWKKD=SzOV5;lYt(V%cegkQ^abe}Rri-jeRtCyG$<9;(FhPAu zM`~o&1P$-_USWq*k2)4k_r3P|Yu8Co?vq{K zUd>9E&z?JXzqH?;?c2BQ(`p>n^qiGiHAiLlL1yQ3Q11DqB?zKZrm|g`@npo49Uo~G zXAN8UZM!gewz80RsX{(1LTZ{4(pzg$AD|iULnLc0r73SassShS zA*cL|)0sG_tO;*pD_DKCG6UXGKf&MCGGT*!pCr05D@7<>t>n^s^yroT^;cg`lJB@XwK1-~Mc5Da<8TxCKAz`&&jFm#$*_JVggNCTeo(FjUX(1QM#HUb`1YgD`ldz1& z^IA?UpAQsEfMNDnt!YlwMg2hPD5hBM+wWbm&q}%X3V-F^&d-SCx7@GQ%e$=`X1KJZ zl>*&bm!7iG?cTXo*&KZp0DoJBncuqMDp49aN~66J`YIy>a^ZL1e+3dl4VXMY&`6P1 zc@sQoGief_66lDdc@s0D;rQLZFA$nW1E9n|NknE}qT{{ahUNrxKK`Z>DF8vmHmqx2 zF|Y@^@0tA{pAOKGg~BG2P+_17AvB!gZ(%JS5NIq`$*tS8*`qjRvd%puO}wvKm8$#H z_I!Ddp51$>Ub2VG?Ct_w3socJKB@s1qwUUIE(2+0<*wAtwZ1U~4ZI2A%PzCybX1Z;R%yeV= zO{CT=(%p*wltI8rQ;STA#P=}kyg8;csKG-bo$-Rnm%5^?CBod zi=_nEsS56;jhtpFxoH(pmE-?l4F&| zs9 zlBG(vm;W|d+XCgsO;zwzT@^+yk`U~cCP-HK%|6BLy6bBxf97Fk_FaPJ1d=A z(ZYQ7sz^~On$K#-tgdXOYTQ;tTbrZRmMo?0WwEc7Q+0z6G5Ai(gc+uw-KMzlV<*b@ zncxNuo8n+Lj-og-b!?y)Xq z&m@<+SK4m>T(@V(EH`0HPgkVS%dWyF54!RFYq&KFhq?{R$GOdG=DN)rR=CX@Ram-d zt7gw>vMQ#ppFJ0CcgMN<^Nh?g0C*N}gD^3``B#42ZtzSNTQAD-ljy?Unm{Jopq@P6O9T^pp`w)Jw!+xxiWodVvjVFKM~fo_7fDQ?U9 zv2I|$=I+xEo^U^W`foR~!AWqH{?wDQg_H+e^DWXPeqM4Pz-6bwA^y}bL(2QXth%DsiC5er~WS+P|V( zJmy!odRkMrW>y=wa!!Im67pXE>=A~xl zRr|yh&40Hm|ItmZ+0QSygl2`^;C7$5L2W*E{o9pv30>+-TX$3DNjGWOPMV?6(X*Un zh7jYTI~ZwTO{g(c&lP&FpuL#4K#-munPlmg*T6&q^jtp)*N;9H83&eG-s)fRyyVNJ zX)$gn%cqvkYlQ|)ZV~WyD$F!c>3)5b8aGC9zb{3))zUM1S6c2YxhhZJb=RHODe!$v zyTt-ifV)VwU9Tulu$)Yj`U(Pf(L?RsuwkPF2}HN*Rjam9B6I^i)O~-&1I+F|5F!Gx ztl$i#N5hf1PI4}SN{hY@YC+dgD?Y0}nGj^kch%PLm*TEl<+I(uU(R=9I=t;BCVc58 z^!&h$YH^Jl-Z+OF)hve_(^@gME;-$jfjQjz(E{7}9B#7!w`p=tw`Fn;w`E#Rw{6a) zZs(FG-QKldxumTP1-LHSx(amNrR@@AW)5_FwheU47k769`_y*7{`7(Stl)jF@Eg~= z!mnNBio9{HEBeNDuIM{=x*{LE;6BX%xO@NYC*5m#U-FqQYy``R?xk7avHMWCc+ z@qZGENtUK{xwS7RC~bXKvU@)d^>fj-6Qk5ExqRjCD^I9hr}jF9AeJa`y>_XRrD_!Z z=%WrVyzt@+TKv9LJhG$~$+r~$y-nwM)q7P?nN1}D?mNwY z{z=6jf##FU7O5ln_4fOe-0#WSj&8jmt~Q1IGlq)J*<-xh`4 ztfr^BMV)VS8z+@;TW42xTc&>E)+Ao*R`<{8)(#fXhUat}M`{}*ppA=YxXqIQoVF=uG_KregUtze7oNTx=zw~Yy#iz-Y#iZKeuCZKeu{mPd967dpCAOD>q_D zOE+?82RC{|f*acZH`lGs&8}IcGhFeHpY}PLXl}wG0FJ;pnJ=`fBi)S_cWhh-Js~NQ zwcacLOKleKSw$-gb_nb*tAf0Z&TFB}_5?AKZ%CuPCT&|y8tq91{V&zxaH9ZMRNc$o zl23W|UnQSM^a$v-&JghCoa1&bd))2aP~IhN zZy{5&olDvwUvEceZ*nH>=NX$x1O6m@7VxS`PD)7w z-=oFjQ7s4$7${^?-XhR_A@bw_2FDzcVEL;rN^KZ!lnHl@Ze||!vHbG?+MEmu2Idqw zf=wlSy!xq~%3|ktKZ#Wuk608w5kgBJ540iu6p8QE_~scmw*EP8ahGe{h6zR8wz-w1 zvC7Ddyw9x}c%oY?&}C@4u~AJoQRbzz+}0@q+f)Fj-vQlBHvKMBbN7mTZvW<5(s<3> z{w+=1{;jRGb<);NTOR>(gxkHgy<0K-emB4O^=|g~rv6;%hsmM==vWviawU11lq|pq z2?W@fgMhXsh)$rM;5PuI=I~H~bEw~oCZ(@Z+Shfo?vOUSPm4q;`E}J4pS@J2J?EPY zDrq{WtfiN=y(#AT$ZsU{C&8CPxpF6}ieRd?1m#g)FR(Q|)CcuvzlRS4kf;vl70rf# zLMB)PSAYenK)Y@YclSgKpkszLWDAMBl}obt!g8%Xmt z(bn4S-PFVFT=lzKDX=Z*eUsvJy?t65F*fgODl>$|0uz$!uv$C_5~?-O+R*>R+iYHf zRmPL3OfShldv6c%`#;Hd%%O$jUgftA(YdbDGkQXr>32AlVgY3c#ku zww}EMY_NCaXyP9cqe6?IP3rvonH$mg4!5xVd2a3SS7jdl;I_}NEK~Cp0q$H6x^=?@ zJeijpyiXS)Q7|tzL!zMV1isAzAHdtB-#1RqV9WuKhYL@$}H*ejr!lrRvjfFj*$H7CW_&n5JZOjz01Wi=aGgx^5+Nq zi6tSYQmI~&X4?qZ>_;8Gyk7w`mYoOlXFmfu09oKO>m_&yCo4Xn!^DD-gr$T^2YArs zm}Ibf5D+vpsU=_JPg(TJF7?OWD$qgub{=C?V=tseZ8+dAu8w|!n^fhfOQJLFPn zJ2aiP5%TFq3sCrV(sr9BY7_9-Hb!4JOc3cJW^=8;xqiacZrl9N+>WJH+~zr7yJh{a zam$80>vn9M<$FYuA8PZu$@e4)nD`qN2P_Fi@ zMlBme1heMQXb3R=5Un8y6cg{lEbZC7qZ`|$kek!$0=J^?z0y`CJ?OT~DC*V?ztOE8 zbezB!)pVm|X3E6eC~db97E`YqqT4#XzjkB}w_2v?3ITQXh@0H{iTT{pzE=rsFSzX+ zXJ=GCSoH%M4h>~99LOfY|0Jl5X^d9K|0Lu=8W$;RHtfSD=Gc%AKupRQ-}zrMmppHt zJI_Df4~v3akFEM&Wo=%gDQ6niY4`iBH@EC%EHV0@$o52lO z8G1jl|IcnltE=789ydvY6>-}Hx^1&d3SjrUHG@u$nwUAnXhy)dev~%F>(&W`YxUk5 z0c}-c4!2x!yrl^_+@c=2+`_J>xMjm$b2~Q8_qBZhEh7nAiP(UJ>*Lx09gB(0fkurGP)nz3c68acKFI7nDPBw-facm)JwI zIb+;3ZnOa}E6vAuFn!Q6@p|-UM*uK~01Isv%-2CE0iS^mKL+7MBdAK<0}RsA#BJHIBw9GTHDk&RKmjne zkl3|R*}ye%|2!!q&5Jq7wXjfd?U>M93jhtyhcmF@L$M+B_=W`3vvbemeTL`9bL4z@ zu9^LqJRl!z$O^~jJ2oy$GBy2A%IA^w^;WG~p0BQ5_2s;$+k@mG+T;~(o&hf&_)G)Z zE1!iqBe#(Rt1z*e&mKuiG@Wqz{sBn*5<#HTXui ztY=QQOaNOZZMIauFX^6B87w*7{PsEAy!L0fRTIj(P3xEcVXhlMvsrJvvVZ^zBR?QQ zI0w#&g#bSe))lrAq6gm%kYYx2?Esa<(S|VswAg`+_)`a4HNf-Yx$*pXj{F#?Vqb$G zGmXYMnCwukk37j_-XP!frXveAhj=x*5tn!A+_hWpUJ0IvKnToS2@d|_fg144+{_Go zL2Za2;Zre+7ZM~Z@DWdzc6IMVMDKcH_3p4=|Bm)`&ut78cHb6(vo1i%U z8(AoP4nYQR2rMQkrYV}mK#Z^hN;K#E`E%Wjp})9Ut*>#5yNLi9UsNonKsV(}F`Dsff-EH2q))N?PM?7`S8t24QeB;Up(Sf~ga4EO+? zorAHIkU~5MKLJOeW0Byx$g{*Wwt3_GG-PpqQp9}pAlsi5c`p2(4Dcf69DoA^n4vbH zBnUj71J8r!!t)7&DY%%%(_}n*GaETJ=f<_#g2MH3jVzLUA2Ya5Lf;X+6M9{9WT59D zuR>j<&JfsI3{Z0$1dWxGo5gCx!{!DBCvO@6S-JRZ(1eKvpFJQ}MziY;lzf)#3WCv$ zdO`pY255SO13_Wmm`cGF9l&#J8@+_dh1rAFB34B^I8vclr2!mNI({33iOn7-oZu&@ z3Uru{T&q#@{Ep@X%&>+Q@A7lRm(GxhS<=nvc)L=ed4|WWcF!u!fo!jv5YKg+;=n_Kttmi18Y7d#13XLl>_*woU<)R_8Qb| z@qPysJlAr%KSpSA-?{%h2c8Gd#;legQ5Jl5W-=Pc%s)dGf)=a#akRc;lcx5hM z--Nz{68iMM_#nmg@cwwOgkGm~>C&}PzkUP!LpT2nA!kKG0ATLS+(Hn8^QRGdgo~RU zWXE_I@xT`Zo;^4o0OlK-h_oh6^7#YUf`BtKievIXt;GNug5WoRgIpk?mozT?HZ+>i z=`ehlR(ubw28g&un>vbMuwTFi(0IkP1{?s0&(Bo1<2h6MyZNK4yCuWE5Zzx)zS@s& zd#ULAfSXtDAIGp!!yJoyOL`W-$@#2&VpCgulZn3PdMAXd|HZUz(t69$hM6@5I2KM@vy;UnG#5cwUz zA;@SE9yr2}>E=iNN}CzDY=$`3$NRQg`!UARjr(H$8UIJ%Sfl_ZuY3gy1nCv>uB1dyyWHv^QAnh1@2rn&vTv(9BHJOlT*-Vl%h-9{)2TGxija z@>#%UU}8al$`8)G<98!QtT8Phf*=841m#)iurM%*nY~AN0F#m+K8r|@p){s4_BCj2 z1Znyp<7_}Pt0VY1Bd&M`EU4Ub%K=3;eE-j=CihL7^gL{l#uCZu2N`3QLT~km=+`gd z!ffh_!|P)rNY3oku~P#LP>c&UyFokzZb+2Q^}Y~6W9V|r z2WHfDW+tckcO2K8eOsA>jOBk!%U%BABA`5UGysXp2qml}S`DHA;l!*&a{x@!YUV2e z2s1H>&ms7hr)XN8Ma2jZt{1=nPL6AVdHW1njr+ta<}UXQ^A>ZFzu7cH zFN=ivo|wP@j%y$Z0J9QS7WNfwYt(!2)$W~XG46LTHV3eb42fOr%w)91Ef!?P5L+xX z((PK^#-jZ`Z3Z3JYT<+ffsVNmy?giR(XU_MOAaqI9pG$x_Uv(K=T4nF$g~P$R%NE{ zgP>!z%mf@q49_Kyp^<|=`h<6U<4k);WG#gzjIxt$pIUHVzX78{qQ@W z<9hiFK;?Y`>U^Jl!Tzxs$asas!Q8cxQh^T(HRvY?Ne~v&AhBcsvwoV$0}C1p8w&^5&G&=xyUc*c@n=fY z_37PrkU)22gbccM@1{6gmtF%04$jiHj=d=eJvS90!A~-wfTRGlHdF(%$N*@}9;=`c zEymIT5{pS?=I;ep;9%B*v6dE+Kznk01Rc=9PEr|wk3%XHV53fs4bY)2*Z>vZ<2z99 z#Onwdpna^Hv7fvupNeZilNn=aTHQ|>)qcz*H4~M4#rrHue4pPrHd+qT7ZL~U#5u7D zu!vzk0yL7Usb+xm;djhpG#&9n%bek}!DNKsLKHOrEYl=blLg~t#xTalI(bHbnPL#<6$~lsSt5C!WcH9nY=}kumL2d zF(8G31%%u$1Da_i10nY&7z>TnX4y3vErkvZZy^iI&hdj#qJ1)X{%Bw{8}|%L!P>C1 z0CT)xs3A5;jna3RQOHvq>NVHObH0|;mzv^dv+se~ppt!91xiR+oU zYKhMX9F_q8xvW`UUq zwsLWES=CwH5mJN+;Q^F<2Hyzb^aBT@07L^=uA))!n4Eym{Jq#Rlk5;JL52-ML9-yF z_;Cm_07Q$x?C~A|EC@d2 z(}xUXUJgkdI=*+$J{f&c{?Xvm4Y^46@L)_NZbmT9mKn$Zm^spblNHf?5NP2m->&ZUI{hOa}qTL*!<%-(b~ptjTF124gubfjY>*nXeZ#p?DA915*(}hOxvS z;@kic0&eXU&>(0P1RoO*4G8e4I^c7dZ)iIEK4udDvQ-@*0ceITvLCb;LdbClE|W+N z(D5e$6a6C@t4zrZ+Lz;z5krMGeKs+HSqw-TX1|!emUMtd=00;jg6VR>?2y>({CEV2 z`DJJ`BYCXzGtY&E5lt2Z5YLh4&vRwLu~a#%9a~TVCC@ol%khlOY6%iN_8j98W`K_C z!gL*yIAoeEg&Y6TV3S}xoX|UAHaCPDXK}XJ962*Pf^1bVEeMmthy=@k;HF|y*$guS z9s+?WhK7J)LksYL{B#$3L+XJA_rU`)w$M+Q37DLKkCoQ~%CSVtfqXp{7xoRX5a7rd zst92M5XiH{M?$LrEY6pt=jt*q0TEgTf%omvwE-4D12EBM00o~4Z3%er8_`I`zbNj3 z%f85T!K~$#@ADl#M=!~bH5HZj0X$|R$5Z=^idnWzJ2`IV(u3{B$^#RlILfBxoJf9V`itH{CWFf&1!8C(JL3?st++U7~@MA?7fx&sP zQ1C2xh6rXX+jyWFL5rE0HnWNdo5;g6v?_PB7e3kWR?Xb%YG1pBpSHqi91Rf6ZKLyppeYmFwo-Sgt46#v(1H z(x7LrUVmu8_kRvRrE5)QrG#m+;AU)QcdQn(QkU5Ay_SH>%4KYmmKEdwN$X=Kr`e9hQ)64r2ubH$A9riEfi*Y>V^ zovN;T)e3H4%}Q=sJNat8d-!`|DQzrx*67H9Y*ShdaAql(cH@=L7#nSjbP#;;v|cbg zWQh*kAFfkG%1*g1f3JDjzHNtj2rCaTm_c9~%rd-#APW`=8pv!&J%Y!B0&qe9&8U7e zC(Zmb-^=nUc{psAEpJ&JXaLwaNC8YYVpagsz=!Vw_-xEE0&bm#(GEtm#Pjtmk24<0 z63cD|O-_F2zHz?X2LQ-@GLwvBqV3R72r(MMD$4<*Rcxc-qbqPmY|_`!MT=Wm#e?~x zmfjX5ugq+;#WB`ww2E=d&}aWaZDv}>m`1d$pZP5f4A3BDxZn8NToa35_hIs_*KTzq zmTz|BS8sH))^2voG^KT*G@!-iIF13%(z=2P+7_cTz?mP1>{v0grN$v!!7?vPgorgc zW3`^;gU-q4R10$Atu$s(1k7!mI(Q0nBQdY#=>CV)TD3;JCR# zz_Ho|0br#kR`+Es;1Em%0KtV=!9;^FAYKJw!HSDO06xqe1OxygEXH`6*5mlGzMkbf zat*QBESbgh%t5!xWPpjrN4Nk!<|G2jz2&+W%Ywk~nlw3LGLIXt>hbxJoJ(uwYDAKC z+2Z~I3d~ltQ!w))9+8!q*@)JQ_04QSGXf*1%`97n`^Y`zd|BYoYJd$t6)oL4p|9&Z zZnA6NZ;0#KUqs1>k#4elS*{zvnU?1Kxpqr;Gc6j-Jc$h_n2UgBG)-wGUhLbz$F;?p zobh};p5wf^^IV5^9h>}}fIF*lr5`=uxFP05$CkQdKU>|F)p!}e?8X{M*pHb7#ynXt z+W=?&Td)&wY|Wgt6R?NIepwmO5@f63+rjvu^-Mf;&FajO){u*7CG9g75u z3Bh)JJ{B2Un0P+1Kntc^aSpL&V=&cNi$1!&j|w!{;q>Ndv)0}GSK4r1A;7v4e^FMAp4-3BsAwc5+JlH+VPTm7}tjJ_r zu*Cupp$51?Uk@+`<9e1r9V{CPCQn-|$jBrX3$ zv|pk7hcI$Zn9MMm#!Lb_o)7npV;InbEedR*wAfiNaX3inTkOo59a)|$ATxm3J>&jy zAJJ;~l`L$S!^9q~qGIUuxo*nF?QYtdt!}|)SwA$VmH&uIY3IN-n)zyeoQ+8~KhD|@ z2F*%atT|`yO>9XQ@?vIpJn#jz9?y*huhMsw+$pD=vQu*Zf8JacrlyLv&_{(o@`A!e zn@NR`nW-2ASuDWJ9O9vx$$((Q1Dt8M%m8OM&uDyelFekWyghr692;=sry&@uz5ox} zoz)jV&thcOjW`HER&lNyVYd7|R$DVSgFQ*iaSz7yEO8pZv7#a@(D`JjK>H({q=o?= zVsU5+K+XOQ%%%mbc$Jhd%w@ihma|F#7+Xsi;8+|J6Uo{Dnjal(188mYf+UCqsUexn zFAD;U`^3F8KMi0(SaCn`*(@o6`|9WEjhpHc#!ht|2M%-H2grXONuol8c?|+CSOdp> z{m)$TNQO$hc${guU`Qbdyx4-~p!}H08SJTp+_h=l#$A2&)%3wxukFeID^15Jppx2B zH8WYXa}(FQXM%Uyxu9Tgi30)5iU_TckcSJff`GFj8bQEWT~@6BW`bx5%785hI5Ta{ ztmSj8bnJ)YAUp^y{sr+Xgauk1GY=s$v(pF{K)`nZAAT42fCp{mLs^-d2)R`)U?Q_G zj)?|fpBAe^yIIdmG^$mb8;e0Kr*=pddJc!R)3pvgJ%0M;0!TdAs zosknkO5X}sO`93{!TFjNGmsI=0NnU!EMA-s76aE}Ede=yzS~vr4;(+!bsIIsbs0L* z^&hFUu4(hczK-{w4_YP0gxaEPr8=I&m4IT_LT{C6ELmEd7u!e zcp0efax7wJpM5rjB1{MvW*328e&<>+?^t2EADjze4dQJU__vt{2pxWx809bUv^b$yyaT7EaO_Ysp-$xETdSHGDw^NV$4d@aIt{1N)kR3 zte@om1dEu1;6nz2tvrxt{@?d&~9Sh)0m3A$%dryPufa&T@eCIU_~ z!eJ-OD>vJ;mo>;i@T^*wi#9VUm|GW2R*o0&w(Ng1+k%9N)xKo~IKXC`F{i=R-nwdG zDq7O4_4NRNEHnt2nVbedGd<1!!-T^8vK9xi>?WY`DNeeFm|xsO-h;fbAUWrSK%prh zcev+PCC+_7s1aZm0*=T1MT41d$iBEIR!0YbIHtAHGZPKqTK*~v23p%dW~QQDC)Z8- z9NO4g17Z$aZ5rnVP>g&Cwnwm{(XQP(xb+)~xD6X0kY>HoEnIT7Te0#nH&h+T3~;7( zZ9%ZGfN5X@oFzV6`I7l>mM~$9l+{fFKEBHq1fR*M`FkeIe7}45h#Aa+hP8liEG)2f z(e^*dK)Fjhp3gxz7zgFxoCNkc4~G@e%KxqZVh~`a+O5&46&CUxZUztBLIM`>4g!wP z1alvG07iQU9p9ks&BKnT-7M=MnEDe8TUcP1n~#tnfFwzi$$?*muZ53=<^g<|bV1E$ z;f7$m&#ICU5EdP-1(Of$1ale$ORzH*8kqY6=-Bwq)TvWEz|d}1x?>5uv0b$+UCy)> z-?#f{4TbohnTxRi<65{r&J$vZd{wFqAevYx&{k+>o;jMy*gdjbNYXs28-LRowdB9nlzaT4W@?+X5JAgA{i)U!{l2*{0ndUQAmuJs0 zAIB-#xKNr+qvETwc=I~m( zfMBVG0WKKuHuDT&4FU+f(9+c@eyi#N$x-0syP<>0eD7Q1$+GmTmEq^ z+;3~QU}J+?uuT zxmD}#a?96T;a04ADluVAStjE9? z%*~C}e8?FxhxVqd31SW4A@|%jG`hwc1G>H1^8Zz!gCwa5*w{G-v33U>oRc6ime>ly zXel)S%s|G2w#|aGw&HLDjMioKi!}$hQNe(BEMa2R+?fH+d^XFai>KLQ!DfL^Ofw7M z8~9kkjbuUVVOml1Mjj)1k7W3h=?}|jU6;cpJvZ*trI%g`=&=6o_$xs7sdkdYPJOU4 zI(!g+f`fAs^oT$A+;iQpssY2tFtQ*kaB;y_-)65tbJ85%Sio`9E#Muj;I^1lFlR2i zresjF1;J*3vq6TzcIWJyV{$G=O0eo8#b0$8Q{WPW`hJ_F+t0rMG;K=8jErA z8m!nhAIRJZYm>lY%X7s1wNBM_>wM>?PSd#M#kaVHORsbbmOQ3wDJIQV$IB4M;#`A) zYwKthY+RrKxu;4Dc>@x4Koq6V&{+YrATQMwn z;GUgu!U=q)o3=Cl4Cv@$G>4tBQ+CeH=U^O^gL4v5=g|uqH_Oz2JW!d+w^zFf7B}Ic z*p0H)$TVDR!m{;nw3HpA%FUDv0xp&)vHZCMX*UC#l@0}84S)td76Z##n z+8L%1Hvw&j#loUuz8TldJ+qeT7RupyT2ZjIys&&qSYI@j^}2-M>DjBTfYRK}ncLhg zT-4PqT{cog&b*9nYnB{gApwik#)1w|9|&;4{K}vOWhQ4l@L8%_?OL_}F!={|p8G|C zF$#wTlZ|@AC=Nb8RKSr*(vY37Gutr-;b0sz8jr|0p$jj($onG}0}6sF_CkX<0e}wZ zKPXv3n1sm@TOnXht^qDyhDoqN(4X<$tY9%#y9I%Urm%Xr*fJxIjgVk+nZJj2gJ1!C zWR3tjOf-lRR%^6sEMP4CEB4jEhoGY|gVoFNz7q>Tjsw6UNmw*#%}#|n+Kp!m31Yh7Wqy=giAjt$$Ose`e=pwDL|LuR5{EAwCyvuV=Uj1vnF z1T~zW$3A3OvI6R1W4|pi-d=+_y9Pd9(Z)C2aN~cC+B*OI^Sw_;asmD=*x>#}$8up> zUUw*wvmTky41snQu`F2Pa>t5LGD8+#o+YK(%4LuM(c_^Ar~ z){PxI#se-k;B5|VuucsP7cc&nnJF3c-%PUw&B=IRi`8tgU;}WmEzvED!|L5wfe~Va z8B?6i`fDP5rroS0CNr=F-$(19CA0I{;C`)C2q2(!@X0W3@s|)-OhnGxKo+l1nE#up zXNlXv?2LF>_`%kM@vH<(3$*ky%M7yYmtavV=N`;BG2$c`kFy0HEjwt?;O`O#4;?yY zbfhU#P!_GwIS4-MrSeOSUo)L4h?&U(3Tq8hjlZ5JPaeZW*@Fcfc4%jS#7@{5J7wn_ z#BADlfWx0_-!9VL+j@#v&x$|1jv32mQZ;9ww{FIny2#sO36o&JJJ^TBG+gY;84L#m z1Kh!w+n+Hd4QxT}76h9$tFahbux+=2&)78^)?q|Rc7S8E4|wGs0N~(z!S)qd?GLSp zfE#lN$N)a(qOqK@vjVLDq-k`!_rU~UtBSXKY*vD$vDxAj`x+e55iH%Z_+7Aa!1`5M zOwLlzjPZ`G0FTPl%K)HXp8?HBjT*ft7I4;t*TBasnI-g%LDqBT%o$g?Tz~!bK064% z9ZiR?9<}-w>TvfT4CwAdyYXd!O$VYGFll}KM@0$EC@U<(Rkf~_tvIN!kl8{B6Q#PNo9 z1Y7EvX=x;lRe;B~T!<}5jmlKxf&B*^*STHST$&|NXz0*k^T%kxw~&JY4!LB*C8}Pn zh9`~iacRPo*%a41?zqFpB(3uqlUyav>DsCt4B$!tD!y!EblE98j|VnRhLhstI7yuE zpDOF(XEX`t=91 zh5_OcCD{R7tbhiEHy)XhnHD+_*s{`anSD1apD=iCu|e~A00Agg9~Vr_Hj_Pem`boF zF!oqxvc|U7i%mi>EoUwEg88@cS}w#?4$P5koo(`#(7Vqq{rdFpCRt1gT3yKJh+!jK zy}I>QTy@n|>mGmnao^GcnI_qTc7w6J1&W6E!3Tc%i!Z)t7#V#qfa?yh_%b_TXY4dq zwQ_LY=VUl3PEIEoy7=OYCn-!&M6-IsmC8i1PN@X>xOIz z0xq_tg4Mto;4H%=*wobm-dV-o;`wd|1Gu0$6gxpCD4el^8w@%2D_+P<( zp4s_+c8HbiXgTw(EKxjIc$?V_hs=&0oJ|m{skABv%le7!n__-kY{rQNzymHySifHz z1VGo$J01vby8uClAW#pf2qv_N(FnT zs%>=h;loCR2J{;=wNLLpuk=aiLm>SRKLXrcx*>aG0T)~0Z5bxPu3Eu>cd&Z*K!NT* ztKI%eupI~}RvjLE4FWFS|FhcXUjaG;oW(uuerGi*%+52|+9B9GC7zax9qtiZs$;2N z!ODSn87Gph7vcdx^7wH7eglV(7(OzsZ=e2syLamu97mi(-+4-5vGzCJbkla)4(U;=k4U|EWtbQx9jt$gWhb*smISj&vWmH7#YzTAl0yYs zRzM31D_S0tGM)fuwvTwgix=mMJ@;Tvrh(1?7jG(2Y|l=PYv&oST{{0a(k5P;bPEyS z$Hj&REN|B`PAt1APN`1Yg8@J$pFLUcKQCN#5qY>PZ{ECK`H*E5H6!hHfc}Pf%=XVU z`sDE7PS`0s7tlgN`C_5{C;k85+WyN#%=S^D9~9UI#v@FuL2Fh$Oo9P#Yf=8cFefwf z-7@pr4g|PZ;m-^t@f!c|US@y`em-_)L+syn4hI5VJfF@AjSmKJbPlsQZ8pCxwzXnb zfD1M%^r&pj((7>tE1Q{oo}`ecwUHQt8?{c`Mr|v!wbOP;g{hR| zbkw$7+uG>sD7}`}hUxgHfyTwioIFl9Vqs_I`E%7dyk@VEnqwm`l56E80C6z}aXkz!sdkb0``vGr(DGTx<(;$=6P8 z=l(^2JA8K|z+I&qvFbn!rTK61YTzuH_F&n`VBh(yLIHn9yB#RL7EiMs2yEHaaPhRA zv6>eD%S_7|nPI?-)pGFw7te=_?aLY43^#Z_!8oPmYzCQ1GbybXPH@asW=v%u%?ncQ z?!y-;f6aF1mc63D9QYrGn`>}a=msa%KRza5Hpi>F~?0hblng2IZ1BNsDPfV293 z?6HFF=z|)~7KwN{kY&c+Bw7v4P-@{SjkUpb6C@GahS>!$yvU? zNNf+^-3V|6VnYJ4B{}iBEC+Katy@@TfIF1D$#~{uX3S(}0q(4{TXujJ1XJwq@cXp` zv0aue;2kW<`8xo2C}2b2fn1eLjG;7>(g+h6DQ@z?5++$` zxOnDdyfm)=m3GU_1pKQ2cPOCC4&VSZtsSNmW{f_}|!h}BmYlbpAMW%-udo$sQ=K}>>ng`9OL)C7<7#4&9 zWi_#Jt;~RWAoDV-q~~~yrFDM}=CKCLax7ggI2a=~h8ZNIEZ80F-W`m;S<8Csof)qi zb1ZQZoDm+CF(~|_`$soo#DN&f*cvz^Ol(T2wG;m{@wY<(+@YA02lCxA156ND{2mW* zv7?<2J!p)izLWtjY5_;1-YC$lmoW5Jdg&Gow4iuyAm#lqsFfw{XeO7?WryH;@9^fp8GT2t( z|1ut$!F>4O*yGHSm}BM*q)XPy98n-Tn2QnM3hM??jr#`;M~Ou+X*ss7f)$-+ zCuuo5CS`UBlVH!1!wGPfD4bOqSavE2V#5R6H-Khy*Md_<;{gxw8366~phgRhH$$tL z8EHNKtrcI;+zbx-2v!YbG2r8%dW{^6JpbcAE5Lnqppd|!BrP9o4cuP^xa_8K1x>mG z`ET*G8}A`#wA$k*v(FrgS$Qx_C5sMzm6#hIMxwb4Hw82_si6yUzg3~;f8NoH*of-$&QR_s6>y8cXsz+a`|4i<18 zVfqOIE;G;_3gBW>y$%$Q!?d)j z#2gE_Kt3g%435qp0j`ail(8|mVB=St1sB`x*BZaZ7M}iHfcwAl;bKk7zte}ytZ${U zyunm1^Oa+#5m~lLa4w&vc?BobT2MTw;Q*WwH`d?8`c!5z!fKpk?)ak)aRS@%+PcO9 zF1FLMF_gj4RI!a;k2b*llSq@l6L8j0D9BXCc4Cgx`kYk4Gml2VohHB~7~pI)RS6lwxVX$V&OoYmSg=nqs%kQqx>^zU4J$X_g91kVq2jHTjs^KEVoh{ zOHM|!#cH+KTuMv%3WjmaQVC|H#O7GWc4D^BKo%pcW=iHRIvN3Yo&YyAGr(mv3ofhC zRPhFP1m}1k%(R^BR()s1SehS~Rh7Vj0^b1U|1#4gvla{Sx_1TZ1pf*%(g2rP3RpbA zS-dVdQ6~$)Es)F|QvcM$8l(c-W!kW(eWkaxHb2lTIGc2e9dDhMGaI~^*?3`FO@jkG z4n^D9DxcL1fuP1aRHoAC{r_byWxN&(S#|Epj#dk5w&1)yyVnQOYVkCjHH9@lE?5^A zZ-kWa+W?2}pG95Vddb|whc$Q(<>Upn ze`)g#U=47Y4ewy}3dUz_L{e6OGYZ)PrkJ1cw%E^QW}apSLKC*w^e}5D5Nmd3W@1_e zL3TCW!4#lo)r~o*)nXaPAaN8VJ+d+dV}TR|O0ZIZ_k+*I?tAQKVoP{QMc~w$#M-N6s+;p|^;f|R zcKd$3Qj%Ce8W4m2pn)$)x&(n2WHd7)Qw{{Y?6g?OtPCgEk22WMCs-j7)M9pR!4?QX ztrG-K>^-x48CxL`T>LWoU(hu$;Kl+jJF^C2dQ@(c%sqQpgXd6Ap5jw&D*;?qStdBb zR+bani!vT*63lYI?6A%9?}FLsRzhMWA;G_cq{A{ z)q?D!0WFsNFgDRLJxqHAO+K?0Y{9Y&f2&)IP0_OQns~2v|AQ%BmiA@Ojr$qwjS@6X z%{mDdsRmo-S@7HZxER3gk<8^iy3nSp71-|8wk9*cWfk=1p=Sj+{$~%B2Vn`bHl{Y1 zB#WbM&Ni9pwy{dG1>du}uXx$;2v2N7o!~jfcCj*Z(`xL36udQx&8k6c5OA6GwzMG` z!TA6j&yJ1uMVpzah)|m_o2D@USSd`fPR$aJt>QX(AMM@+-?Mvd*+W)cV9Cu^PscF; zQ#=h9o8A>{wGh;B!7;=JxM=0~Zpqxy*Jc49P8UwwG9MBMYB&peThemuJa02Og63RM z%kjSD*IAtu0sx4;Lp^hfn=yH~n>L}pn=-byn>4b6n=quA8$aZCH$Jhk8>em3hz@Sj z=@G;qfO=_*8!L(tp)j+TvyEW8_9bSlu7xeE;JH_kn zb)flh@yHMZTd*yi`Cmpv*uV@+EDi>hS$w#UcJ15;?#HZIGu^D|6Wq)x!`zIC1KjlS z32xe$&Ti_+7H;Z@|KHwsK*?2I*;Y$J0T4NutRa}O@h2GDfEi=PHvSBlXp`(2k}+U% zln_Wn1wax=YGstwtZDfZoO8}u-IBmFWB7mUIe+h4@3d||s#*dghWVOaYp?t2 zRdv<9=j?sYx#zxmwcfPl*_)&+FH$Ot67aedsV>Ws+Uhc6Kb_okB4kV3xvQ7jS9|l@ zzSV+m4QLf$~?Dh{wYWiva(vMqsj6Ck*3Weh<;`tJsyBMPH zrNt2UE$Q4h?9r^i{&i9Jx2Vkz9u}obQC7I*@7f~S2}>kB_(4fo|4T_)eU0o~ewieE zc(KGSI!|KXJ5%D`C(gp-vn27u^CfBdcO-T74`kQ+pGrp1osu8-vJ|DSlhW)EsVq*C zn#v+0K>FBSp*$499m3}Kk-069mzQ@A#FlRh&c3yR5?2MMDI1AEOZJdB$gYBG@I6+ZZDkg|10=A=20K}O-dB0+=*5Fi}n38Mf(rVt1)7$ge@*@7WJif;>u zxMe0uc(jBrxKLtN-yyr=*9x3##K%a%@iB7f&2V%x-@X{zj(BSs&P0Q%E(6oHce(7FSUTzK|_I!y6{6~!W9E@#}Y{s~@P-K{B%$Nb%AQS?l zJvcGZMzj@e7Oj&R>=@&K_KgGL9eb-U*p33vC-61!LHzr8J>DxGNcrGc$=-0OR3$ws zy{*}!6NkOtv~RUQ+vrVU-M<$H&hb}#kIX*|exXJy*nVZqNsZ$b=hf1 zN8l(pX(ybS1Q8_#!bvM9VV!WMWQSib`3Vn6$?myQo*RfodyrI@#z{>@s#KTnlB&`~ zDK89{lI*ookot~f$Nf>#LvNPk^?xsMOOG)EjK=$uL?lxLX6SH`D+~e*q4+?$V9f3m zAPKnzGe5;gl5TtLc!^r}Gf9izDB0QBqvGROb)D+Ib%fqFLVw&)uivzw%TiH8{gCnIJCj>u>y+AD79R7qNg^f2Tm$%%hL3e(<^(wsF?UJwd!P+6Y$0 z$cO#SZ(DH8oU9-Ah&?jZ=8bSqyEnb{o8IobE$iM_dt;uI#6BQtOOKNz%!bKuNXl|x zg-6m>dt~>9OseyjNkdhTH@#P z_C6ZZN4*UJ-IJrf^l(j;aG`q zrrw-@I1w=`VDwswb=aCSP(b;aRe4fc9RD}C)PC_!h;lZ@48ODfWkG#Gyu9FY!@Wvrhhd0`hy z`K|}0zHF_uHRVcYdy{l^wo7M6t8}zC15MK2)*x-I^#-jib#Qd8L32|L99}Jr4b>n< zmDJZ&A%dXvUxVsnMIN>WLL@I~wxk7JC-Ey!kQg|fL?huMA--@&e4&{2Rd_*&2wN#U zC*9oiG9ty?lO=Z3(~_1PBUxElqrxL8NDlq|J5Db4k7H1H?#*+)J~%koe0xEon*Dof z`g2lx3p>7^LZhuIw9L#*NsV12(Mx{IeFSpnvG6&dxT2jyCwIF+=K$ zmr7~UuO&O^TavyOLW954A-+^hw5bq!_Nr5*7THUCbGg}X)w?s>-~84Hhq3=(O!Chh z$%6YH1lMZs!Exd47FEAZc*$E~Ja;t2~nV5rnqEBL(5-OHKA4rL`_ndb;YR zx2IEjx?7~XvjM0#=<28&MQ3|0#8?Z5)<}D6H5^}M(ArW7LR3I}YFHAtH_u6;ty{N_*|gTZH2$APHNGF; zmp0~ll0x5=5-ahW|A_VHiL&uUD|JL)gAmbzAhhii8paZeXr@Ao0>LS?SgwOH;iYc= zuH?o)g;X&DHY$a!AhbH#t`tH;#DX1ZPui9CrJZSW+MZBf*#7bQtO34kl-}-EOgvq9 zTqVtw8>AxjPRR>CQL@&<_iG?NOt`z2fe+|Yaqy3&u`FVY;Orl0bT+@a2Y17fEVyY{ z!xh-Sn4@bO7EPFTRAsy?*=x>33IUNpXxR{2&L)rKhnyf)>966uRLekrJK6@I z)}Xh$=5y%js)i%0rMs)jpsTYI5wOCby|vt+tp%xPQ;9S;7GqW}l7_khsjtlkq4F?u z7fE$hA=Z2`homSUKPNeEt3-Zqt!#Q} zf^2-rI}va~U_|BwVT8ssnQK*yBa$gJg@(z6V~t02Nm_S`Wbe2e7Y=O4MFhDJ8pT#% zY}Hs_XzWHCwlO1;_cj^-_I8y@OT`CL7JIqmZVf;c z6MR6_%Y^WD!w0!*PL=BPIp_x?Y`u3M7L$#2Goen{_^cyVa2z-c5M!6mNAK2!bfi4# zS;<;4)d($T9Sph|LJRUpS=@!vTsBAgyYpnvV5Z&rOrYhH@PQ{ss zQX$u46MeE*cpznzBRmuBkZOj2yul!`iFQt!Ns@0w3b%RY6bV~?yClX(OIli*N%I(m zXb(Hu`Kr)z4YqOPM)Pe5U8_-SOu+R>8q$6-Tt#ICvOg9%t(@HxH^onL6%4$ypwNSqo_+3|hDqX+wxds**32 z?uJ0wGf*bOgS8M`+2=4cP%6Y82YPJI_m{$Xr4VI_3<3i^#nKP-br)d#luc92O&~oZO~~S(NlbKzBqb${Mmq{h*LJ!eskaGak$@3v z?b@}Y)kj}N5shkm-`MR7W!s!n4y2F}8`E7*1e_2;m_A~H2xmda5n2qg3XUlO5o9L| zQrj<=(yYZ&iwbXjb%r!l?~3!w2+* z`pDfHpZW0Zp1}&^_rb0-X)b(NN+YLBQ84&{$+!TiW*#SJ_@FH8=a>}I&BSB<&cNpX z5nNHxEfCy(6>1|piBXGpXUzG5M45^A4K(W#~reB?PL^Hyr~z-8U^7+fV^QKu@N1j9Ywbd zB;Uey9Y{aAu3P*IiH;1B#Kc4sjabd(RX9uuxvu3}Os`mBaUdfjLsqX|ZPqM$KSsWe zlNVD{{=bQ8c)uM%^AO2SJs>ue`L{BKlw~i$ zm{TD%uML`E3)+OX=|GvDw(4%pFt+Q14g0#XWdQaZgl%bKVozVbvAeN9VEf7T7ky~_ z2)KPrzmo$)z3I|g{IHZqPm|J6@MIf=hcq)E{msWjQ5N=7R7!WL;Qj+Pd*puvS5$N& z2+~GknS49(X~|y^Aca_~6(e0J-R_a{2#77|bm?n+Pxcu{$N~v6z39!5p`P6!NxJlR0Uf)fw=GqAT2rLEIaxXycS?K1PKYjEnrh;(N5mts;uri3i0=tTi~v2SW>sw`i=e9Q)~mikQv63_E}BDO9>L_HAM7+sm# zs@T{kP6(VBI6-Js0y&1|0fwiK+MEJYAoDa2L=u~kHQ zq&i`mbXPtidk2ysrVL=07kj+e@8IL%bQyy^cwCs208p+t$Sd(J9E14=hMy?M&_`sy% zb_J5J=l{jT#7M;UH4v6}&1N>Sc}bchwqS1DJ7VL6z==V{#=a*ZN~FLKyEaWTdt!BE zA<|eCDNWT8X6)?^JB%&5fS#6kW264|L}M@7Zm2ui*m49m9R_G)+vfX*V0*_W^o{Y8 z+ke($_3^0h;lq9OCB(R=bCWb>;7XJo;0r`ohK#6`qQe*pA-a;NdnGw}XXcI_J0?8z z&_e-7e3Xlbi1=CRjt}YzKRWF{jM$KmmqTn-6kD7}TJwG=!`&NU+!Tl<0j+~QXn~K1 z6F-kVIOl@-KmNakeS`6`Zy;Xw_Qx5F^u@_=Pps_ej*+3R7>I6%40c3Ie`}QVwP5R^ zDO|c5!=$4=RN88{OG|aIG*)Z_A-70P$yO;!eh4Hz#)ys)f{|j3=osl7(P^YJ=_Ly( zs2XmbeY|X4^NJB2e~ya6+O=z!Dd%%drWbqjx%c0H-xOJRo+&1y8eh-n`2WH0UFS26 zbc>A>0{h4ml44`uQzP8)Q?7QM|8#x?_OQ8L&b zEkm6##&)#fNUztPv@30F0DF(|0es^2lTUv-J|6Y`s4wB?!Bpw5e@PmWr%P=NI0MmD zLUd(Zj$kZBtET>S*ZQBEpQ(D}kw=bP!TsS6e=vjJw&a$R3)W2EU5pv29Ac}0*s3Fu zM#g%iDeWZbtAA4V^+(G70U|;^9*TsMeB+bhNcjZMeGdGeK?``VkNJN65eEDE!VUKJ zdNI-yCc|B!m_0*er~_!($};N>&R^=+-#A~y3NvFvq@Si*GpshI&8XsgsWSY z;0lTFN*WgMDM)K}VoYO1hc%K(FD=n+(?W`~Ww7PVi)HirKyxKYR8*8n4Jjr@FQ$tW zSZHXd%%4BsyRQa8B3&}C8jr%J&jw9Ee2YGWe|2THUelfVx&7v_V##fNxQ0@+0yQ|FUI(a z{&V4TzNRl7e|q0H3ZJz_+Vd`#x&)8ZBGOTG6ANS)ufc2+IJzHg@Yb!o`i|pyZepfrtwn+w>QHpQc zAia(2rMvzk>8!<-EmfAQ_(qv6bgbV zA5%YWj&FSb4%x6_gSnc77b!DEjE|2u!s7aF%a$$j`s=To^f4hJ!935`ZQHg@Hm#YD zqRiQ{!P#eH1m&8|j%*Q3Be`Z{$=?zi`^>&)V&W@`yGH5?UYF*IH5lV6>8M$2#>}zz z!3MO&Q0pexWwWsnZAF_Ad%L%e+HybaN*k-aKOP7=;0L#l{Q1&3Z~U$tV2k(K-w$34 zgiBx5Z>1p#yg^n}7Y!bTAxlDayBxeKMdU77=~=$z)#Ilq|E%`^n=ErwTs{VA1ef~Z zaTh^w#brogDq);z7^x0v0maso=8=K=hh<;SGB|5J@DU6P435PoL+c?d9~i_r#Q=^i zeB6ikQ1s#$*x&8NzOHo!dpp<4NXJ?kZeL?C)Vf-RT2{#*Dy97mE2OtRP`YcEOK0^m zX{-29TFO6=#?lY4S^t zN*K{1BO{Hl7|GVHTPLr+`l@-%sK)2{y7lYV%cgg48ciilk%U)|@Iq^Mfy74|sbb4P zbf`?fSDH%ZODo3KQMFXMYL-b)U7++~>;sJ}WvF=-?6F$*z%H~8ZAF_Aw4d6Owl%PA z4qw{-81<7sUpnWF@5uoL-e*5~(YHbNG`}Rx;7pT>j!P15C2@&@)DnW*TexDvb-uXx z-&us?ip&|<1hf;*KmYuRd4ZFjWXP{T=%;aNVWhfvkC~~Oc6nsD^<@|{5HsX*gO3M% zV?WM+GH8L19q@lX>Bs*Oy$7%#$NPI6bffKB2BIvJ{hiBXZ-*Bn9ZO}n&5NOy4`i?z zXj%fnEk>%l7zBJDM0`)$D;I*83#7Spfz;)_EV&@8Ejm+3f#|qS+M!zp5M3zt=~zVJ zdTuneWRycHxNgBMvSP&w`RJpMOhjX}qp+~%m6a=3%1bZ3WFGT8pXck=ESrlI@+9A> zB=^~zY9#xhYc>{0xMpJ-$v#tT`B($h=RScif-W>;>#Tkclgs;oIZHB3r6P)>MhHG0Fj}BVP9$Oa3`H6uy2VBj9))*THE!5hIuw z^`_@!M7JH~aCSAE%v7=-sbu3$kC~}jcYEN(IWXq?FzP}W_g%l(@8dahuGfqGY9y(rW9Zus-h#2NoW#Vw+wuymQIx81~ zT)cR(JoC&mvT4&MbDqze*DbscDXI4oGL3HBYqKko{Onj~LtCqnZm|_&@@p!5LE12; z&dN8;7<+5qHe(*BpJ!}9ThJ!MEnd)0YPWr`9c{UvQ2Wx>YIEA3zHt0Ao^L8Nk9Wz_k$;YSj#XjhMLWF@e`uQLb#Ir#)k_=X>Oz12;FvWvVY%p4DrbqU+zXB({CHuPHIDj4;yRg6a z4T#Bseav(C-%)hoe>)v?pe5QZwBZ=o+xoifZFyZrnh#*Od9LhfoGU{Ob7Zi7jttbk zCjB+9N^kXSY+Jk{o#nIe?c`TL)Mup#8?h7}qXnY|3C%LQijIUIvt7W{lKXQkpm1Xv zg4sNCvMinVh%8#PNR}>LYN8siE@32l_uY5pi6@>gLgV>m%a+N9i{6lpb1xQtGr@e1 zjaQOzbDP&j@^UTRYjf6ZEa;fhKh`+xV>VKHMmCDA6q8>|(X-M~{)%)}ydphSv!xGX z<(LQSUNbhJEry%C7-{m_i8eEU{bNyry1I%J>%^aJvPy>v^S*aN*K`T;&_AI27&DekIn1yx0%cI!W z^)ifXq1!pu*8Mym}-_(q8hcv=lyS2usnCz$7vWO=7z%mt4=WYRSv07>R;4%JHi* zh*Znw{!-@6n{IhJDIo*5#)?AS6T()H{ zMCK)1DAtUolHAlr6_rJj45ahyV;)j3ime0$Eyv{7TJSH@S@x_M8^_pR{k$17$4(p2 z7HSvTNTK!{Z5{j4)&{h@`htE@`17m#y!AhO@jiR;etX+z%1FyIMsV#ATpKvlg0!-c z^#ER_1V2>5{+QsUB+wH|4muzom7B^{6(U9GFZKLdg?A`I8zV4ha8uDv1CCC6&vP3V zvB{NiI4eoDa59b43?sFs!eB@Z+Os`y?oANGV=(Abz>`QZpET{>4(FIHFy^to#%V{| z@VtYORvbGRX~F*z%?_HLl;K7%M%XqSz@EA%gcz#zVzBm)AmHQDU-h{3RX#2~6^}_* z*`v}~@~AZD+-?X<;*!85auzo7No*2)bUlYC$8Q>N+V&#!;$hxng~=F6{)ZWJ#so;H_l@%l)nl8A2R zaxG`CjYSgnjeTT9He$n-J(Z~PHD~`)x=J6G-ipV8$IMtc=7E|&n(@;PYL{Vb-Prar z$7)O1b+2RNy=rs%06rP@4Shu)+5UBWtp3&K3hJh9o4Ob1{D1{~vHI@;rM zmwJ|A0o%`6hsLOflN*svHp575SihN>3K6ca;!@eubT@?YFxF8I!MG2Nwmfz}=4%w@ zxfU-*nk_Wp956yO;<(`eM(T0wU{CEsVo-CS9jbm%1|1AkJs|y+51@|^NN?Hw(p`#( zP;$RC?Y`O&mc%V~QcHV1r>Ujx&zY(vqa3fdL|VyjS@X6AykXD!StrUXue@SJ$Ee0= z$Ne`JOn&#f-k2**xbA*@_FIDOQS>;^o!euZkNTSaq~BdW9d7=;3{?Ju5nMY3M-E{f*Mf|x5x%Iy_-Zh*R3fUE2730AgAT|? zAhxr94p66s14lqq0J0vKVaClEp1IWwpX7RztBg3`cVBi>SxQZh6iJO zdasFYy@ls_1&8H`5gdzej^G+FnOK7R6F7JZdFb$wyd*!#Q}UI(wIiRs-t#BC!xHJ- zg5!s4RAVmeOK2R-NzUL-MSD8%t^8%4EJV0J8^K}rX`tW`;f&y5EF(A=uQSIZJ;mqA z5K_yb`rCk8v0y($@U?Y5P>XXl7OHWqsKRlj3l+D@VEI@Kl-(jkKhRfti}aTK3jMrI z+HQ}L8>c|eO&{Sk+;2ghgdk%13{!&jaDn_3g!D0Qtl(GqqHiCn(Xf%_LBdzSr zos1}QsSMWKfVG2zI<&sP=k3?&W1dq~%~UF<%9Bq% zX|@0u>0W;MWfRRFd+af}a7TytWN^?8{E0=V(*f*0!}C(+Bj0?Hd7R7n$h$ zSbc5#)b-k-nqMN#yt-EMEVe zMH3@97EQQNhm%_&I;I32j_A0S>&`nKGwkq>>aKt_hS| zZn?!g=6OE9dDd}b1jk$1@$OoD?>Go95#pxEcfsbYnwsc_be?@!yFr5a zL2vGrGK#z(NKft$q$A^eRK+Gs6C(q}#tnRP5iQ140f+Mol0_I}J_QHI^9D$%Ab%1B z7Y{M;7JL*3Z#c_4J@XFFL5NlxUY;($|NZaH763)XRFWy?gAYC^H{X1-dCc>VKKiI^ zoOP0HLrTdzL-R(hyg@5(=g0TvXY6zYmkz^fC?80qlMjb4nI z74qI!YKhZd&7V8E>AFn|Bn-PuBRM0mlMK&{YBPWfEumeCk!H|pB z0X;+xkd4Pq%j2Fb|LD%VM7p!SC*7IfmCjvf8?kY{V9L-;$sjh8m*09Y-_fGrKyC^y z8xzcKtR>P=Elh$45+DZNK$SOCrAW+e)mdqTcvif4&VQo({}%$^<@yVR^;bl^zutG> zeSf{-h8zBZNN3IyD`tNCKZ9mXF#pTnMhHihlDBW)f%i_p8ZHTIxKw;5KbwNfhv3+! zQlwk#qxpsg(=YCaQgHMGE5{UG;sohPJw>`QE;i#H&o-ma(S{1z)q&bvePsK}-!XkT z#;y01iWzM`8}B&m9qR!;yJhB-5w4g4LzS>rnZXOb&` z9{^Va*B*b2=Vxo4@qCC%rI;uO0*t1XaJn%VH^G@=A{Qr&0FweBykn&^^K9wNMky<0@Iq~Eaw=lIVLi346yCWUoqN?;5%toVV*dkCz4zXcyYIexAFvzgX0@*jj!lCJ@5F@`xu{@@pp)5r=bdYl!?A3 zBVr`x#J~xHlLaFi#!`>0q84N1q+Wr|ehM!3O-}+i$cvb-b@)hLlAq)$`AXiBzvMCb zOkR`U9O|Aj{0k|Ic`LC|>Jdm}> z(@rCB_F-yC(bd8EG#1x%bUGbwz!brmahnq-V^%v63*<8)z_Sh79q6%XQ}LVyK5kFJ zIl#2Z7Lss$h-ghb9qWT*(8mcTDl;7>xV=$F(vrN0*p-ML0}hEiY#^@C8XH4&Yu41oEPq^LQ$j$Rmfr#OiF<=R3!~~%yW3I1nat@ z7oLB*Xyq%H^aWFJh;sb3nkYm}{(uH=7tY(j^D}uf)hq~}ePN$UK*%!Ky^`x3^qGC< z7+A>ScsMSOQPCVT1q44CwmR#O?Pct$w$@|ygD)Ssd^YOC)4_uYX8AD&ZM8lJjhMtCW;#7lXBHr7!plykB9`hWJV_k^BYj_Ur zxY%(LX3t}#F?^D7D$C6ZP87B1Gq*XaA+jovxPoNff+{7W2?(AGqGvO$!+296wj>lZ z5+Jr%M7JnJq;N#0P(-(o*#Uo@|MaDG_uqeiGSbCVtmD$Kj@yltayL@S41&iz$LIJO zq@Br6Kk}=rEwhgO69pTNbzmd}9D^vw&)}`$Q}CJTh;&&H9s9yNT@}OT{FXiY%I_nx z?;Hci!ZF!nO+r1 zS@~Fe_Ef10nkcpGlLbx?M709_u7tDsZDW3^wgjXu1i5)PsT_<0ziP z^Wl6AUwh+?H*SCGx0j{`y)xyKFuYe31iS<9&Cl2g(WO9iyO6@N59|y3#J&}CeZ!&x z`pmxb`qpZUgJaV1xyNlD2Tg!orocY1J?wNaTaG?YyA$+{eQf!vJ{<2CJ{^ z@PB~ez!)eu*cbMdea0A!&@d)VBPq7{w>(8xUF^A^ymRzwEV?3_jG!>YFbOi6SVWL#6$9qFKzF_+3 zpn^^Yfy;Rb5y)JOaTHo}pnjc=W=87w>Sn>Vue}CnVe)OZ&z?!SBx@zq;*Ics>YqyUSS6_YgT0Y0u;0wJg z@%j~)U3OXEy*JL-zUH}UZBcUr{t^u#^D`2WvL>T2lLnFRhVa-I_KAHfgx!nLPxiSC zcIOz(Sgf)68^8B_fU#5cM%W&98?~$2*H^1PU<*Ih0`yt+7TBHs+dK(=o#6Gi4dsK~ zvJdPl`;Gpy7)Krv1xr1jY=&$BATMe0x8 zQO+^KZMXl}^UTu6JsU6+m1ex}>CFAmGg7$B^RK|aV+-NWMS-3_7ZWS|1F!k?00MA4 zVHCxI6F)UrG3fvTal9PofTHDitzsGecNyMmJS@la0QxryT(b5l9Q^te2*(HIc@PDel1#bmScK(6YwkGR^WEv4uD4b4R9B5 zH*ha-AMjh?cfdab{{k>gARYi71Req&cJO<&1aAWR2M3R$B_4C|I9lS57Wkbh#gjO8 z<0+gYo_1i40|Ek`nJ{6(GZQCHd~VXDNzYB5Jo)*lQ>VUYW7@Q7FCBgK(Jw2GJ@(j{ zisOzuZkFPtlTMm_$|zlqt`%&+I$K@GQsT9-lQMd?Ev{iUXfqq8Tm%uk$>bN`Dlxcd?jzmU-H=A z8X(Vg1N>{NQnCbU@5AXj?gX6YI*zk}Zg{iOV~dV^a6bZ=FLPGmfUgIbN2~b$H;(@a zV4kf4H3K9ZLV3Mw|OP?E>wGkJXipzAm8KYwlea1@+< zrHMv4y?#0)O!(s2RG{SAJ#ode?lSrOvQqT=JimEoNRpk{&J`?6d8D zy2W7&M8~Q&u%nM1g;Y2ijnuvxl{7NZ7xWALqfyGApy*>275&c%nS9XbWs8gaQGtvQWkca&qfRIfHs(dl)R zGw>W|4GxHV9GpqGKS%L#?}OA}Dr*Z?MQcY@5=KE1DM&0glyvTvr2Hb#NMMutQ2*awAAI%K z9*;dv6^YtG#o`u>rgv&rjYb-gZpXOk54VVHA<>`otNNJ!rr$XktEk8e@`F4fU&tF3 z7x_e9kzeE)`9|K^mvxbsN#6*Am;%rwQ_LW=U}?YnS}!6EW=A|RD_&;Xduo+ZZR_Nra^5%swl6=d0UtoDd`|z z0#%W!P*tpM!BVs;T#c+s7F)!(<8>sI4HC^4l!*RX686jDVDIg(Pwu{RJPLcfDiYd4 zZKF{~1*6f2Hl=-4JpKfvBC>@F z3}?U`_=S!UGz!u%+<;Uuaz;`?UXEiL(=AFBCQ}BDlynFk;})q#PFtwg<8=fDtD@D2 zY71AzO988hIrG}lR%c|5yd;@I$>*yjIlpR*_jz`|Y$4eF*Rg4I(Q(rb3ff17LYt`# z)uwFS!m*=~`iTBg5z&tto#;q%9Q;f_(xj&xi^Qgphe(`ct_I}U>4W4g(Os0xtbTSdrO zMukYDaQ0zNtr3xiqX9WX(U>YqTbMMuElxV*atF3ZHF|0URk6~+bhL`r7Oq>ojItVO z8ErMvwU@#&b^x<#Twq0Q8Ww5MA%DjYi!sgLL{ zw}@;Z*W8Fq#W=iC>0fX#EG4}BEM8z zRi;pt~2V@J-Ekav}8WA-r z+JaP3sxTQP?MSK7k`7Vl*dp~MR28eHw;EAN0AIo-QB=V0h)Yr_NHSkg68dUMR5!lL z*Zb>}-ETcsVb}uEvAcz0M;zKwQ#sn!EgX$Rwtwg^6_Fj8=vx&MeNO+|g3@TEq9S)x zSZ;B-1x8-#8cju}>7%aKRB&$Yt0oS6Yk#mtIZZKDc$^tD>Z$nb=%;HwTZq2IXh%gF z&z~smNU7rF3`f`kwWFs-P!%gv4}#8CC<%OtcLrXkAc1^AXJ>b-Bpk0*(teTlP~O*H zpZtx%9w(1|iNqF)ibd_I6QX7MM;(c4VS&{fWsIltwIDR2sR+GZmLDFk58G zS+~%>)-=+edi|xBcA9BNJ+}beBINpyhOmXGV${e;<0&*vrExVgkZsDqUb%xcJq_JTW%YCfm8?RNO{w?jHe9n0NbdSkBW{ohugrZ_m zd#Ye;(P$L1Ba!-x{v+s5TSRUlDHq5OU3d8s7P&=X+2Yc4k-XH*Ofxk*i17HoEVB6$ zpSv^m+Rl!8?zB?}$#y(3YE-1rY*G3Xrdym8rVSOSTd3+>b+#|j+QKDK6e?g}txYyx z$4bhtqdiz(#v6w{UOl!aG`Co6!T1u6ipTbiJ)x?I{0T{;l=4Cabudxcyi-p45}Gew z`wKo_`*~lT({t|G!dD9FPmC%=TadoeRNL6<0AB)ii&SSrJCfRtwh5r=u3NzR*ezsV zkCk}er1nty?QhIH@3xU`KVOl@wz+0B+PZyb`_&zxlm~8(*n+ZCLx0iB=Hqxg{@O)# zC?BXD=4;36{Ff11m$bZ_1`XX9Zm&*5fL8j zwFh&AyP)HK>~^p}LL3Tt4&^oDk@RpqcPRZjl-Ky1&<-Y&LrLupHO)I1AHGq=j>9RU zuj0MGs4>6n>kn0=U-otW2>4Ar|7FK`sQ>q6ee^~D@2lY7SN23vf>1F8bAFlgoSA!``?;T)L_>WoGGZoTEG#TCkoI%PW4VQeg^fi-@K~$FB2IfO zu>B!g>R5H-EIW@4JQp=RH7u;gRFYeJ{Kq!HN87?53yZw>|8DHTS5=OWFBt<~mMHKUBSEt1}LS}W| z3r$X)gG@<#T*v0LEdDzSZyXdqN!r3#Y^%v^Z*+ck5Y`7?EqpaS^ndK~_n3@o307|> z*75{ zec?_{^tNKc+-+k0j~WXJq)BzfN|^t?R5y}9}v5v$hk9bq?)5BGOXE)#5SQx(Z8 zEuBhJ&#;e_N)3vY{r*gH%K5BBdd@f4uF(%Z+GXsx5{Zpz^LM%U&waXz^YZ7?*tS>d z9?wbmtM!L3xIPb?y1!-qT|N$nRtI)u0Hgl*&eguJgk4H88RuLDHT{jK6~`k|fD9#{ z@6%agtba5-Oy$;RTVv(0!4ypWOBF_O$G5t9k|5_%IH!PsK>CLdoC-nvY0K@wLMxw% zM!I7NX=M{A*iGjmE>{UJ;Q0PWzrKM(*CgKf^F9bGKfuffbDq5v9ZY36JM!K5P9^8N z7F*CKAG8l=Q3{1#UVF^dW%a+OubxnFo#ePsk@Ws)jxwnZB7QiNzb%HHM11PGP`^~R z?b-V^dh|zE+2F9T?YHXaD=faLD|0iP&&-X7{X_S3rph=8ChT2gT}*L%xw66htaI!q-mv>BpaO#XRa+52U+Mglorvtdw#`eNCoXt-^wXKu7G4iBQ4 zLKo~VQhOo)QMH_V^Gv@;Q9$MHyzKUJJ(buT=WE38@YTKXd>I4HR5p=sum5G6)>?v= zzXZAwviAkEq)K7^_7{2cP`vi3WaHi{NagjR?}Nr~tO)a(y-O~bOE{TIh#G7}iqPk- zf!9H#f2e_~3&6@B5ag3kIb9Mukm0&DnoCVj&!>|kn)Qfj{uT@>Dbvri7ERrcFWL^g zOCPiV3e=uF(2XA&3>?MmN@Dw$Lg$p+036B0UfqfgUEBp)DJ&)v!Swb#C3qLx#Sx}C zmHI^x%A>^=ohs?G8&;X1g7e)O9ZR%pX*kKP?b51GUd+S{gv}dN54QGZYcmQJf&~SfXTU|7irBSWeW>hCZtc!<5Bx6S^upqSSPgO- zYW2XCl2+KaKLF2Bi4$5O?iMh zKrE_q7N>Gy;-_}gS;Qurf8MJ|@+WU{GyP=jl>jTh`USzXaYYIR3^4#!?|SSs1po^x zf34LgQ}WEm6>PY{zE{yI1(MQ!lPBeoS=K9W5REFoFn6BwO<&G<=)97>=@hT|zzRHR zS4;^Eaod8(1wCoykw)Uyp-ChE``#?lk_-X_&ufpCX|>cM>6Jc*gFv#)(Wmfe>1(++ zO7~-VQtuz8PJcQkczVk5>UP;(-bD&hM2<|*;B-mJ*hdQ(iqNk%dIglze5ugO7hErH zmn>yg2&(aGHy-BU8jmlD+IsNx^GaNLDYe%QDZ19%McmLn-h-X?!UT(c& z;oGT3POImD=>O)8oMP;#1B%g#L7{H{u?${9U%siMNh`VSbWLATl;<)y+qr-EJ+_W@ zVl5m`a=oTiNcJZiXTSz8#a0?e>v1&7aGh>1PliqHM&F}|)?e10^(Bv31P&#S+@~MIyu$P>3F{L~zYgBc0s5lEZZt{)_>#Fu%i^O@Z&IaII zSku*)sGMF(;$&sXPa&(%UWU2u;ps3;{Cz?b1?goZ*b=KkS)iKh%801{Jwfoa@Oj^+ zWw(UOP#@;pYw412+Yans;#<|12iDxOvG8}&LOc6zEWHq~{~cxm17Uafm#plMPJGSC znZ6Bks>%RQF_RXwUJG$7>poWq*WbpHr-Q<<1-`YMf7DP|$`lf5F3Cj+cOZ~x5@hH- zHJ|aJhhyQGKkx5U{ESBPNDGx&gT%pjqvaMTDFAl?&5w>wz3nkGHlztjk zr#d^+$Yv}I%#bI3r9;N&PSH9dJ8>vq=9Q_6caTBe&vidGI}%=pqdfpG~un+PDY-E(?fx&yXI0J8+??=kGt|)okSek2JALu$f6vfUgyPFk|QXD zaLCCPu^M_L4^)-be0y_VY01no>wlSY#s5R0(g(!^y}W;XeBn-C@h+qK*L_eVweDha zlEiwS_rZNlTK0j(=xDm6X;Kwsj^FiVp~|o^v$o{h;asU*Pi~s;CN6pcZ~;OR-d2~u ze2m|}LmNy^H=T!ZA=-DFUA<&9CD=6B@c6as^7+>q zLH#D23}2lJm$hb>t?ZEg$w2HS9z&P)*FC+T?0YpSbV;_aFPI&tDn!8Vc=;;ra@b1t z4e4l_hhyaGTOByf#_ldSc;L8%srB$YP6K+ZtVi`nSVwLXycS>bH!?X{ z&`a;*j0OI#o97r%_O5>_oc3Rp$*XTVUS^p5YR?hSaI5Y}i-L2Uh z{&#W{)~}boDsr>jPHp^>A{ggIpoE>Z#JoHAA4x4OuUSgQWGIFp#&;Uo8%=DD({_{=A87Bn&&QM zk6uN3Q~sU)l(|qlXZnh7rh}(H0GQR+=cHKuriM?NX_x^c?(ERMR4`&q!Od1ROfyBp zpB=i_bA4u@Qk`9JSyS!XVRKSkP#*!`R(Jnp)8gJz=IeWA=i$zm)=q@5jHOns!-ET% z)ueBx<&EUj8qWO}0f96v4!P|CHT&0G78Toe51t9Bu>!5sEjxx$4`j^JeVN%%r)EE# zxUA^5u*k2iT%10O@irFSAh$NJn;>NBT8Q?DUj#!#cw)p8mE%d}u5rL)p1$$~FzW zsVs8hI&N+}RqxyuX*Y?8vt#14^=N;ShPcCen2?*d0J1OqKa7?}H0NBTW><4$2Os!e z;_8?D6WGB_5p>E%QDk5)A14FqYB~!IAe`43H$M zLoqRL_gsy1g8&1(rhih=#H)3%{nt;HTBpO(0(7UiSz_n&z3)9uYeisE2dA&Sxdg&I z`FcL18b$W*40=wi!dl79m3KY^J&FqS*YQFGlr}dtPaR z4w4XS^rS>^+zsK%(fNoVVvOJJG&1vWiBqKhMr7jTVd38Zy;-rB22n8~SCk|qy~rG_ zPPR#0-V=&RH&ll})+(^SPfttY@1=EXK&{jlRoegn7hWl^L^B^x9D~rs(}p>y5Ir4w zNk4J{M^Y%?xSP@Sm0RdU{9>WL6}1eyCy7(OET|+pmR#-4Ebl|J-R&$pi~A2QqOe=V z;6ud_`?>$9A=n@-ib%8}L3w#RH3PJo=vxznI6{uqZ#0`rd9dEm!xwc0iuk z$h$-qmiDfJA*lVrmvl}PK@~X|42IOoU0M$S1(dvsf7Wo2@iJfTNojPQBV0ZoF#1yN z#M^!yQ*JWmH7G^@jM94;_fZ=Ld{`T zOtiD$5lQV4sB9!8-Ix}!Z_xX7Nd=NW1iVm~7aA%W-A^20;P!gK>j5;1Y-^}VbQ)B1 zXOV3zSHC)iu=V59`dX05jS4R{+iY2J{_Lk?^?a*oAgh-EFLAc_7y!?ad{Vee{%CWP zfk|(h$;|$~I@Tof<3SkMxkZ>jQw5|c1!T7JJ*E1K?~h@3-L!GtJ9D^! zzznvX-iE{+%2v-^<4o10eY(mLf3A9nJ4C*c<0t?)Z8=3J< zrHQqa7}Y6{yZu(Q=r4=j21GmAPbqZ3$U*ZnVGTaZedV+0I$CXfEShzN(2o9o(mkm#+J~% zLl+rUheJZ!cKNhU8-GYit019`A1zHd0UkcB;4w=G1%T-S+YGnn+VdS5$bz2Pl2tUQ z;*%YYDUN&*jKg^%-9o~7SQqc8QXP{LKYh!_y0?UO7m+$)0YgKVkoV&M6_hmjN8-?; z>b+Yl_)_~V?HANa88rq#&oBQS{Z1gOq%C(E?Reg)6X|zai~|>0YVqRBO_|FAqBi4R z+>W!AcQ`mkrDxKCv4#jHzNWgHe!ISaYEC|+)9~xwZ2)wol6U!*LQfwmwmI+M1{WWQjFo@(ZkuCYBMtO zJIe#|u%!~bY%U6Z5xGmcZH$!Me|7hzw#@DO>jk)S9UT$ujaqdmLwV`45{mwDKldU_ngfL@F^Df`bo}al9g=CMzx(BLw_&#PB z#N5E7S`+ioD0cX27SV`~&7LG)#1IM{?$kf{VgZ+h}Z!eY)xXEz2hBTYme+k@cZ~(7x$+I ziUwV~dCI77Pf!zTk|3g~QPq2Y619gN@wrNM-x?VD^Xw>Xd`#&P@aluSv~jZuF>CfQj9fHvCKU3CY51Z%!W=)B3Cehk*;P9G4dQLNNe z@n;I9TtY;sT3w?V0o1Xjj z6Nww(EubQrh8mSiF?wCp=lRFjNh}+um5;~SOE%t`Im3=TK@!2F;DmXet4kZi0yWnj zX-q?ul?*^E$zR~~*gY|!h+JNvcTJBw~2=rHZdIZZg!SSZF*YA#)bU2-+ zyx;Uk5yl2S8srztiQ>T122j}u(j70UfrpOqS@G4?^7LYR? z39WnwrVV=f1!M?GVaBDMb+KY{bDJ@58455CayA2pYFT2~yvYTA#pdH7qIhgWRaNk*7C{$2QIgS24Wcs`SQFU8oGQ? z8&A@K*4ntIvAfVCGB_`nIJqjXlvQo2NJGh+~{f(*6XnIoUrz9rYs<@M}MpvW+Su4<;J?qyJ+$hLut=4u>-3n4X>SP0C-KIFu0XJfY-5?u?yoP`H z{B?b{53FjKe|ua=S|Qz)OvtSN5DWbinWhu1_BNne%y4w6|CAGOJFT=H8(Ghj<88~ zYi^^MLh$Y%xo~|7UJV|!SW6$mOj; zA~cf>85vtSQ&npU7HvgUN2NnB>T>Lc<1sgd9)|^T#Lo$STj=T`=gG!t<)4^iDY{Q< z&&0jL!QFIE#!Xr$eJe|~6BsK}9vK^p2$SehMRsv#V!Q328qhBYIoM^1b%n%!@Wwsr zeny?i$b*r(Latx)CCNjRAgjGBvU#`&<&wv*z5%gj@*E(^+jODyE1E_z5qQ`!WA1ZR z0TBOAIS)MGl2lVmLmf0o%c_L;q0uBhl&BQ^ub1HaQ72hlP*GATvvSkxAe9;Lg=ZOZDx19raWy~-nvx|&!giN~$~#?8n3+85Nr z@Jg``&2`ZP@hdg8$wCxV(!m^j4Ff;ZsfPaDnX&@Cz^PcleH;7XeR?Kl(rO;rW>x)y zpB5hL=ZFV3u(SlSw)-`-3e|cc3zY*dU74qziLJItQa8H zt-LGY2eTug$VwqR{&V~BZtTW2VoG6bz~k0Soa2h2(oyt48BXghH5{(GB_yv}G4)I7 z$Bfv`--C-Nq(cARlTH8)pW(qB<9JE@{zgv5_8<1smXq~xwHar5$md5n@#BH^dSLl3 z*kte-PYWXH{iCcw3D)^lgd?NUjmQI2N`*ukiGO3;{e>2e4x;RT}H4to_rD{TIU>=thu}mOMGzVuod)l;L>XwR=ecF2xax<80q*N9)1j z(-8#K{tGXm-Oa8)AW&Hc6KE$RJB6vbi?pgy&7g)|S61`SrIA)atipHTjPl5{`vQ4`2cPf5J8%h5v+U!(74G_#h$Y^Im7CefADDY)uzo6 zC=NdMdC602tYq?BRztl{uX=knQw~0l-82OGwb`Mz_i@nX1jC*&J5^sSA&X9>(>W@3 ztS_2f!s)K5%q5eP?+aB}p39w3sQjIWm4|#hjKEP`KC zlK>%sn@#C{(gh@;W7)adUCzSkd@?hlP73j&u{cS3NEYSH^c3Q1rAA9jO?7TjxV^jZ zdJfgiqrwsm8l>=)dFiJnGoN$(U3@QLLCssRC><_+Hi+0Xau;V!%~jUpV6`ynLHKT! ziBFdde}nsbTpzdgpYdN+aB7YiQq57z+L@|hCa=^dg{_I@g}45CFMsK`_RjM9Jcb}^ ze`=>$v=@y;@RTG))|NZ*!_{b|`|6UkhltWtR2|&;eo)w^+J}yF-leWsU-R;f&!|j$ zD4+Dv@BnzBR5MRw+tNp}MU17bL~!0MM__%8e3Rr}d;0YnI`_D8lWf-HR&n+<#%4+L znn*-%sST;N;fSqmG@gJchB@GM#CzH!{I6<0WRITjq{`a$oxmW+e=f1%=iea^fkZ&% zJHN*nO|1>&$n@giv=TqZB4YdvtMl3%{<0SP+sa1Pwkk9zS|&$Kg%`wsx$?&1TWFT2 z8cx3{n$XB6w?Bx}s@2nUi1s`Mr6bHXG8ppJl6aC5NY+K{ZsyLExD&kt)^&O*FYRoY zTn^p~wVw%m)Z%N4h&@&u#iYwC1coaHvwc0B-F#sjnwd0SQ&J6_n4_GS$sLJuk zcfw`>c!G&tS(zF(2Azx4men8Bzu=T)0i9`6n+0X=7kCSoeG@t|M@5VK4KmsRw0h|lyy}mHio2wq2 z=?TmKiqB65CkC^_nZWp4t#A7_UX{(5HwU>Q+h}mZqW|)gBBnQ76@^5Ck5XjAKkknh zy6r4xnL5aONqBw2lhSzcNztB;aedZ@IC&zFxKOTucyy3G!W!9>3IBO;weBagJw8Sg zsUpm*`Gb5dN3Z<@7fnSOstA*j{sRnB2MvKk+CuX6d5ZQk;dH7L&#PO-^AmQQ^`A!R z@lKMnxFo zImcOqW6LlkRE6rHIqe5IcfelT@m);}EdDo5{a!iySxlQz6mr#(MGU7xNGxkQz{H|# zK#<=Cm>kAPR)HA+@z$ez?#h95L4%#VJtRQ5e(hpbB)m+h5uDUcRzS_AO z3>*0GcFrD_%?o$J+Ilj5?*>G=zo7GCCixQ!STFq|WduPGvhcr2X_aWPLCyu_VrRue zG9dN5DXeePG`Xcg3h5l~gsFs%93Q$CGo>%|HIS?5Ij+d?dZ-yM8L&LXr?D=*IOBo6 zm%MfO_ttWd`ZZI`W(J=D#Qlq3hibCR?F3FMIaw26+4AS7c)ccUKI~1gudhVZY0t9- zf&bNzRO0d)K!wDVkZ#>SH_V)1QA5AGAJJQ}cj?Phv7Wq)pX&8jsp&ozC*I~`cT!b- zhv;!@7=TItEF9Hxeu&|YwtW30$mK*u)ZOK8G0mtyd)T=V8Sg3gP98;cTi}Q(1%yYf zl+NqdSI`1Ay7tnVTm(`JOaklhw-E{O2+gQE7f-gL-Q72+uZkn*{7*SH^|9SVTjV{| zd4x&h>9YZ(=N011^@YSElG&COKi?lyDasdphW$HC7JpXNoQaXBoKQv1KXsHVFZpd$ zQKM;KL&jo1HCb!f0+Dlm>Om_%3+uK$FG<4RlGk#t+uo4m67yw54a-w!xYwlTmHsU+ z8}<%1u^8mqGj?j;zD#^)L-4iHb|0gy=VeUL1+}^QI5_U_T*=nvqwNe^-#WrkRZvrC z+aJ}RQu*}*@9e7<+kXhj1A%BzeGR_E+MBnsoHb(_s%<2%V&$dTEmT|S1(zS74^=(X z5Fx1@Py0}YGwTG3DY^QfWYy>|>3MZBbg9NqF}9A^EZ@p&?H^_mxZW{GnJWFzBOe#o zx_+cdJqpc9{NHj-zfU*QYUlB};=K=A5scJcG5wgq$_|4lJ)5y?v|jG?<1r(G6OYdj z=y$R3iXk!a$R;*;oghh|G?p_w8L8C7q$?uA3RFr2-H20*`oiEwtJHjL9P{xK^5KlE zY=CG+f9c9X>3FD$bZv#mFUqU71_k=fzolcL&2sD%#i@=P5WEa&UaP0#!I%poONL(2 z7P2o^NNCO6UXm!5=hXLctRy39!)SFrO3shVnn)xkBE|)t9tpmNFW!K@%GE9`Nth319mKM7Dt`~Y*)=naI}i2R%w{JM#o zkuf&v*DYx$giQ3MwoINu)kIGj!^%u7oL-`6KMwSaLsN>ULY$Od)wM_@Yf0;v%z{K4 zQrHa&rR)T6#M9#G@y?QF=7qnUuqp&WTODFndC55&$b+`eA`~s)-yY1Pt|m1ove0&r zHA4qyeAql}mVl=Ogq8U+JTS5!FDP1DRba;T%y$-GqFWxG=l2Z96;>&@NgDLj#Ae{0 zK}Am&frl3vIil{=U1mJcNmSN8&Z29U+(MmWcx|%qwh(!sgK89mT6nx%!<>D88qdfh zmOLdQ2wm$FgDt|lH*g+-Mnh`thU_ABzPt1q4YN;SA0*MS60e?xAHo!~bJf45Hl7M* zRkPp})Vmx(?_jJiOr(i*<^Stho!Xr?ZEp423}l79|9sJs@wVIh5p27V;D4`)EyLJt{9GwVswD*%2w!$`j}XB_K_mi58ffxub>N&TG=~q zIs(2OLXyz_+z94 zZMo_TfN_;PE=9r>qQ#g?A70Nf>p*EoGsrl5q{YwZA@g#4W9&+V12^qxoOno>P--Be z^4oYueEm>7CU9@YBs~L2{Z&%Z*i^@65UdkeqKlhJFpdQePh>Q7%5m<4I^{fjU)2*k z?SIR^Z6M5StdLTZ%m~O~NCc>Ip*)G;g56#7aNcg!C_v)QBK(J)du6@{?2GScO*d%{ zyn8skO4ixXVXYN4BWa-&dV6C}tG;^l>a}>IcKDNbPeOZ)T-qUBT0X>W-Bz+Fw)^*u zKG*2zSmC!fY*ECoHR^(;TZ>A%-mF9sDgtw-c5x;04X+WdSo+KqPImb#>x7V15|skF zVM<^OhWeAlByoR?1Ps(QKpOoY9W~9=L}ua8WTGV%Fwm7plV!>U_61eLKKiyW*JR5; z5)LjTyBH>*p10Xfg~0~!Xc$#u^+0L?LJdl}A%*E#SQyDwRqoa=0k2QRRTx&hdM%TF z2T`t66JOfC_<72vIPihx+-c*!uv@02>+8e)&3lW)A#~e*RNHb6^dQP@U%z-m(%10t zxJK3f=AKyl+}Zj=YjJko4-5p^)<@#_II&Y`J5( zdyPuX3gs8#;l5;{u~4@c_)n~dXSGrH@iRwn6RAYSc0$lRVdG30M5->NGX@=eofNHj z<-tXa&?KcPcDo4*Zxq8$_(tugU%NNwQwBM&H?z!?RR^ZI%pY(f1v7;I9jQDJ2*Y0- z&`+S{qIb5OLnpCoy!3~tf)Bm;RfvsW-P!Gue)N(p$`T+gYanyt>3h0!S-QbpK-G>} z%rSJru87Cj#>+-TKkj}J%;$mY3meB-_4M%6ow;OzG$#Q7`7=V4a8txbi3m8##rRYh zF3tKZEuB95Y8|oJ7SvHId~)jKB}^mDtML?X(uEmEKK{jLu?D>zme~3~VeGNG!lB=h z;TWpkH?C5Y0P3_-LHT{C4)uJ(XpDEF@|QQHcHVbq#SaAv%^ND)&$fj4fk*8}9Z%_W zD@NUbcR}T^#gAis%z{>aI z@O9VupjdO0*f(xmgXF-qM{A~zaxeH8LVR^I`sxrBdUj??!Rl-9{0mLG>Mzd+Q-Vh7@c^;rDL-NiWAW!YW(j?$W0obEG)FrgUN2ywYf1O?f{Hh_0?n`HT%qdWKD0}Ik*Nu*gG0LX z!05z4Unm{vFBr*4}zI-U;Wc)V=?9s zFxfHMe5I)ujhTvU+pCYb+f!<@+xq#dwCn43(Q9I>#35E`Qe9MOBZ7Bksbt#m&6J5t zmf(AuWUd4A#GV3c@b9QE$0T8&-B^-nQGc5`55a6Pzb$IBu`6y)CX|r?E3m&Y0e&F8 zs>%$PmUP1AjvY1IdYbeV5zC$VMu|6qQW0#nnEkWl>Tw(JELfK}nKDFsbQvo{+8*7yAn{K-yxdO(7rYpsOu0PHAIu9dh#5Gb35;wmiN7|Jh?X`2~~@F)hDKm z{7=4KIEBLb!O@vY{3>)yR}#>;J8{t-eKDMrA0Ha zaXKTs&UOT*XHbt1ytEwjNmc0L);u0m?Je*LCz?arwWPch{{tl?&yPw|G-w9q8e{10 zwqP<-*L0u#>k3&l=A^^uU7@SAaS6cPvW>hl6otz@=PBLzayG6&;$P`hCmitvr6XO! zIy>G|ISlzmHeV(v@g0ym?*lj*iH-d@mr73b<(Gg|?hP2EDr+I&;HC32UF}Ih_@m08 z`&i>}T;pcE?24sN?_ZgnJ@<1;mfwrl{Ygyo>HNJuJE~S*+RamQG4)X{X#3$K@e%K% zX3raYd7GMDx1}$iG4&9h#c+m~UDo!lPw>(NtFmIhdYfQ~lG5U}sb9@kaUwXeHYhnI z2|eD0e;Sj8zAd9JY4Y=>@f?#A_USQ#P=muo@98qLg`G?Cz7ln2xnm`p3#W?N9TLJ* znSlOEjdER;IA^U(-a^{I{~Ub05iPKuueFx)7zL7TL((M(505#}UdTw@bCu_?thOiR zD3kJbb%*FfoWrk;ixTdFqH6qb@co@wnI+)g51sGv(n)Wx zniiQytj%pWyxt?`1QarkSlK(x-Ecf}dma){#U=_i`4iF`e&y_|+>vzZ(dNuvqDqvw z)IU%aneVJksl}V))6UR9$V`}G| zbyare3b6A`9D454LzgOggns#l=;K+mf>b$Cuz%}GWub-(*|#P^k!ONu3HBL81wS60 zp8hklMV`nF}KEjX)Yfdu7~?d@8t{<>EX~WdQ1r>NG3P0CM5BV@L9u zEl63aoXYjAr|xp!K`l8xk4)x8cK6Ar@;i_Vb(bO$uvnbQY`m~AV#UnV&Nkxi;??m+ zX&*Nw8{8!=WqTs$LPysu%O)nH;P6e#W!dxwNdJi4L~+&_V=}Sa`BdLE1=8T78N z(h$^T8QO_%Q#9tIHGH~=<7V4Lnb+3LLfic}pJvs^emj=UmE23KlLlB+V0z&AF*f_n z;z`e-z};6T)oE4tM1~LVsEBL~kXiA`CFxDio;`X{=f?C&6yjDlC^F+EH51W^&0kdm zuEiRt@lDAQbtmk8;3p9w%z>fv9~F=f{^5m5K6NoOZ>esS7pSEebbYQs>4>|<8F{7q z2*ywT=D?Sq>>&7M@0A_6sGIgThY4sF7~4r(`Ry5^AtNQCjdIK<#^J zG(Ke^hAc9+Av92xA@;*qff9!RRV{RygFvZb*oruCTHf`Nkspxn&mangY?iEk@1z8M z{|e&)uo3|%O^nsQAI3AOlX9)y(vb7xybUQw%u8N-dv;MM;;lEoD+FindlF4qhAs z%;5(v%>E1as>ILPlkmiw_*p$11jpG|Da-9i9c zLTbPXbWGGkNTL1~p|MP!1Ck~pz|7rmme*fw=c9`X$Kkyq=YJnDbx&0lbLDX3Y+J8tKoP1zeKu7B-_?qXI;2hAemo8Yo?8Exbo8f>Oy=jY;5ciM$|LWf zgm2pfF9$xe0=j8E<^}?=C!`TIPt|s9@U)jtyh!|1yto|i{|GZVPq6Sv`9>SY<;gtL zuUJET+<@V_6v0`2dr(2#L@6|a`Ri`agfi#+Rb45lRf9{t;s`&I@YI{VcrzI{m5~B( z?GNI&lu8aUut`M{uW674_0rl_MdQY?WTDIb#-G2|&U&1n_Vj)kJ8=NV+h539LmQUJ z?)IONL^!XXQmOL*s0K>7HwY>?ld8)6KVW1j^ghdly{9}?xX>VK`5l6AdsQti9b{)m zn!QX*>EE(oaeJ3bYS5lO!w-cS+=YPqWdOX=HO4Z(-<&Z&nvL~gi>GagYBWa}j_wtP zQ@ui|l*-dp8KJ6KvF#ScEoJ|sHgs~V>-p0@CPt8w8Bp%j;!gU~l>#M1n)k)>}ovAx3{INE$@lrk|Lp7zcp>D}()`~8*5=&K|ihc?V) zyl}LbMt%ofMY?8z1S>SdZ9;=7GL1R832+iYCY8b{El|eILU>fw1R#qgJ+vB3ic4dr zPXGvki1O1YoBmOm7-bFNxg^J>kyQaoQI3u4^waxKY#eKs(*BSWwr;0BW)R68&x1UQn_^l%Jn~&Yo`n3JSv)U{}`ct^*lVp5vm|fsf-4J;%qcb-xaJ{aUHlS6FsR4W^2Y(epkdX?s% z1@d4+lPpIx8G5oeVVn(T$cS(-h27XLg<0lTv;fvwj5W~Td#=H*<1q$dr65gwUR_>E zh-ne|wkn^()DGzHq6_izPApBD($449 z%iX9|MEg89M}lOOXJqwTE2bSS7?iR|?`fD&S?H_X+1j#c!)IwPbt>ENd+G4R7L8H< zAS<+FYw2nFF1(b?ndVr9(CJD(J1)0#l&%m4Yf!dZ}65Stu1+j|)xQ#jT_!Nn*! zpceDFDo3eT;KwM}i|yd*bW1mF0oIc=ccSGQMrI*sIwfCqyrF^g6y*TYyp)fOQRw+v zhu?UWvL@A1T3cK7yw>-C#pZEFh2G~fzr|sHlWaaO1sJ;gi#F%@l73wEA(l>62vDYq z7s=PA|6J5yMLu<%U4|uki0t_9(yNE3^rI{UXGakaH~w_GMF_M(6QQjtSP%fZ06!Dr zu>rR2RTKOmsy$YE%4W$WWxQG%2hEjIfarSB`~I^pB|yN7cQ zpqaC#TS#(onF&hCjY-W|HwL??`pKdxQRb`D+Owpb=LHh3rnTIh)4uB3`Etp*U|m}D z0*KU@;hDghL9ZeL??a4ht^WX6L%}eplj%?I*03Rnq6f6T7_UhkikU=}DTAui6#h#e z!EzN9VElH2gUPVN^!ap+7Lz!SNB?*D`~L5zZO?+VznM73Gqje+Pia!60t%v8$jfWB zNWow!lJrJ#{0eaeifW%wD|2o9Qrrjly#&#Iu3z^I# zmqS4(N+C4gk|fbwi?x=+0~SHU*@2TR=wA@rwbkARGQCRw;;=vS@kP%ci6PO)^zcv% zEGfiwkYV)h(&vY10UohRRjvlRU%rE^FSny}o9&8H2f(RMwIkl5gl81M&HN1oICe@R z3trsi?_+w4G>(L#puLu>4Gn6Z%p~QtZ6DYyWhG6!N3>lC4gA3Di%xhk?y_VULEu>LP4tqrIL=9@fo9ZOm1*H%p8PsX3G2> z0i}ddWG$1{lv?kqMpVhSRx-T^^G7zl;lf4r!_<$WLc!zlgp-cfyt<6JDGEulX0%=v zH3(fuAo%X{x#oa@M43#KXDg9C;)!6L`(0ApMhA+56QKsGwJcX+>q|;LLTXpEa|Rw# z6}0y!aWiU{+P0Z-7}S z7tEXo^Dcn7nP4)0XPq)Wi3fGl-d64Xt?H_Jq-yCH2BUqBZO5T(Os7YXCpBTax{e@~ zN9({zCkw+UQy@L*gyFb(R@*b^&8!*EIb-ZX6)!|LKIpTB`dS?JxoSm>yG9VQ81Wkc`J+4|)(n3Lb}gdVJS*Ii9>gj!hUO$9guC zV~tA7v9ce_alm!_lSk$Fr;o{r&z_VM1Tz0~a`NjJv7z(tt@-l_z`jlrZg~wJNO(CnXqd zJ4!YJN@>UH3EH2OfLy%J`?NG9geYx7p|mRvbv~(M$<9ZRKci18Cp6jo6%j?esnLhf)gt0F-Siq#vOx0<`|?RXHFj5xK@tMpC(6# z_mm?Y>&TH>-^tP9@5oW8pGQA>NR9%;WBDGJW1l}Q$DxiMhl+Zal*h)3|j4(GzULCw%|)l$_{DM@dGQ2-Z^cilqc4a17R~1ps;JIcNg;q&l(N zge;6&%Kt&B;tq&Wfqaa+*Q3$(_yIiY>6!p?TMlWkeT0ngg)2g$O zibo+0k3#)C3ILfpeiRTMJ+NPnW~R#FsUzfYzczBXSp_*%A)g$AG&}t9BXan|2jocJ zhvf*Q;ZdlhN52G^unCVsEj`9n;5h>&z*JD0r6i@6mTD;|V}rS%d_fP)M<0E(TrQY7 z4CdvRUw%8l+(0l}p`FF%9lHRacGmo-OXYPMC>59hLc^$MZ~EY*m)5AXc5|Skg|;3; zDTIu9wd?^zP^peul~fI&b)=!2NfWHH(1UgL#=!hiRc!&MO_+-6!ALdL*o<~?s~%$> zfl`AR4yVdZ^`zzzcwI5%6_W5UAUpyHk3bbY0^9Kj=8+s;wNwtnDRXF4Upd&avK%b= zo*V#d2R^t@4!)1|(Svdb((q8eC*&|x(!+S{$d}Kmbu>R0p$r4lO3R4EJV7wOHeh;i zM(j(%N@yuD7dc=)_Sj<;a>2}5FwX~=w_$?Q`id~@+t#cg>!uEs4M-r^ux*C{Q|D`D zYZ(w-7zrfTI#V6*jff98fwUt?X9Q82*^mq0mw?jtWT_aTqa?LUCwE8c4Q+0zwGnmQ zp_#}`TalSHCYHF9GeOLlIxQJ(T+vELI&pr0?Py1wAMhqBYcR2l`f8=7Cq0cCdk7No zFubY?!kD|D518xU>@;-na4;>s<3uB5|iqzD={5)){~;;tN|h?LzGC%S(!SWIlKIYGWO=PmW$pYavSG_Mwbq*k$9j6z z22VmF;LJDx2_ztF}^7y2}Go!KqW^4k9DxARs(+@<%yz>SsB` z>##!)tXUxk;^)W@;|IyU4s~R2xxBI$D&`(YzP<0_fetkOQARp}|ye0!js^mX;ovfYJ|UM3p_}fEiI|!|lu^^(!MwF($&za;R;wxPN`EDp?_Vt$Z(J@JAN)gBH2GH6CdA45Z98Q>K*U#q9t4C3Pn=Rv9@x2Ee#lIb{c)3J@30=Sr*RqC1u3`_ zAnp3#e%blPt+MOQ+hq5vyV{;m5NvTROlgfYXNz5moe6j{kOI0?Q zbEoGY_mx#ME({^Pr9_DmYb#c-DQ!y^kYykKQmk7iTTDnf;Yy96i;SeRswiWgkuH1L?N{sX?5=D?r&FJG+<20aYO0AXT5qaN z2B&ni%X(K;0ze3y8cL|KkcdA3!XE(PffGN<0mK;@qujq?t?WyjFMB2rmt6==?5L7o zwgZlBc^{JPZ{052Ub#WGzj2G~c;`;p`QF{K6Cmyah`XVts)ghBC@3|Udjnub;M8Cq za8+3=F&(LSn096mPS~0j%m|#?3FMQUo+HRQg#4ETGr3#=1!hf1On_O-K$#0>4(uNa z%s>6|oa@Fhjb$b9z{CIIcTCG6kZ={Z}}cfOEu*+U>tq9@;s$`Y5g=}aRNMqrm21m8gz`?c zwkkL^nA>B538@(aOf4~E*qLEqx>D0~0=aO~&eWlkXj{{z4$^%q%E z;Z0dJZKSM){kRSeA}bvumpa736$F#EV(2W+Sn6v)g|!{u6qqXXu}5|T!rg#x_u-?m z3)gqCGhAkxY@0n%whZeo8xWvh`|ZoJ8UU?&?M7Jz09QTrS6Q9s@3Q8_f5}>axE3I; zd;KP?n`QkQH_Hatij{wB$lK)QQY{0fBQc}FwCXIO^sBQ3GiYb-QFf+v06BK1^3Fcy^Uhj3^K?$2 zBR1hc#WX__4vd%9=L`yjQ*#evyxK$6Bo>8xnSlDlzdf!dC__2o%erVe);7r zg4w)mA<4*l9Xzss_oSqfmbgtdR;jWE%v6F2$(e$c{PtCn_{yIp>AinSMvGFiDrupt z-LhTQAm+)g>r4V*LI6Fvp$(%$;nZP|?F13(=#KpdWXHiHvXhrc64BWf`PaCL~_w(^tvTNB$(4k6*5?FVFKgS^hl2KLBwBq~gk#uEn}eR^iyy zFaH~0{yQ2>ICGT5^x%w0OsmdnFtyawsw}`%Hl|f)?}4;54j|a6QFf+r0C}ES6*hU) zgiS1%)(PZzXMOR^VCaPEY(%A1aH>oos5CRTrEkEo{4Y%RpMXzlO%k6lPu|0 zM^TFioKwb{5jd3~>Gzchf)1#}vEb@^HW~*ER4S}1EdeFLOnh6fgtz`C@vmJei(b4`6281omJaG5t5IycX46)coURI_85RMA z+YE%;0OB^zOj)~HHZGbY>&6U_)!mxNGE~o}LnTZFRH;w?pQJo+p`_k_fuuhACrN+& z3Q2$JN?Gy@)aYjs(t&!K0U(#=xmuPIN(ank*#J|ivw$)JrmM~d?93=Ijnq_jrj?pd zW#I%;U?PU;hD;)0KBzsjSXyd6>^XpRvVoDBsF}102f>(TROlqDj36(M*2$%HlHG06 zI}_hMhY=qCDgQH)S~LP?o;-Ql(hSPAF>?;iivZ^30CRd(17_Ms*UA!rX<<}Ax{?x) zd6LqTmW1+elE4Kp7jwP&H(B_~`WywwbWFqES7ZuDJRewfT`k{R-IK6(@0HU zqCqg8X{DwHGfZmQ^gI_#oj>cQ>iI(`M^r{o#9Ql2c6TLc;QEgMGrd?|slYfUnr*-I z(o5}g!OS@*`N{4Va4v<{MYZ zg4eH-c`yB0=Di58ioGS7^@>X>Vs(j-XbDeTF7fxBCyVboM-uKoPZA!wSP}tZ(&Lv& z@)K96l>%o?3Z!M~lUD*vK*%{m)MU=_P~7g)mJ<6++l)B&Yqrs+*iL4VE*~@&p)3= zFdLUED#;&R2QdGp)m2YzrK5*7WzepqZ5ff47D`IXMQ>iE!Ni(RIA6I+7TtHQEV|W z1ryty*rq?pJyIH`O2j;mt?}9_P#q7htMcOdDS)}$0rU0OU+PWUEQ=q$MB)LX zUT_q_UesV>K~hp$x?uVxreA8N!@i72P1u;QGnI`QVrPasfV5}Uug9 z0EOC_08^*uIqGasYI?S2B-ucN8Axn*oj^_wE!EnrZB7SJ6YI2)MqrJoyH@pOZ=jVW zwZyCeRrbv{-|S{o*_=H)|G=+KFfRp|lL=vo)_@Ws+gws&Z=Ys0I8GO!);AZYC36p z2T&4b9YK-Urdt-~gi#!Ct(^F+5>a3^A zT08SUZ~!fT!GuhVI;$N(Ofm>KfL^^ZDr}+?4WQ1dWCLwyS};SC4NTtbwqUXWOTg#^ zf+`!8qUR$sDr&}84IfMdmYC!!lPY+Doe+=ss?A9N#PGBh; z6O+0*ixin+D?a}C<54KEUxRt2N3ecWb4QWjUb9AI8n>O!ZHELq;}cKebq-=}$C{2+ z7wZ#@>OgaZ$NrQHt9E%`^696aP9&K1E0&f;d2dE04?Lp)GvU?CCGm~FYPHpo2s;-M6B?%>MN^4hIY3T>^VsXK=s;mZ+Hl|i(L)BSjV@4!qv;)WqnMB!{{|Jp| zS}?Ubd%di-o>@1ZX}z;1Jx@za$2%L9o`-}3FRA?=i3T%vvVjVnIB9xb{;XH4X&geP zklGj9B&fa$6kCPjRHHafAq%IyJO-8ZM?9Y(?m_%A?VGn{eBn=|b?G8fvrsESrAy~7=!oA1<10F0PD}@kuxKx>(Wa&)j%k5GP|cb(mnKb{Nux%M zrC|dMgsN9xjZ@_CU_FS~n{|2$tyEWi^2sMH@4x^4_aTw5{G&ojFfYazp}?$Hsf;Z6 z_!db7kV^_ZE}Q$*m*fxsEsI}-x(QfmPsTg;q-#?y0+80(qdc)xUyZb!18F&z&L1T) z9Wa&SN86aL1IU7D;q=*=L8)n-Ke)^=VUut>(*-k3opr+|#?FM)w21~b3n)50FX#kv zRa#qZqBDVXvcbJxOfz==tfSJpjv%LydViq9L3GNVR%;_25B#NKR+1h8j3)sj*VeCI zlttgZC;f`%mpbLkNHtF0ZqiIz0=8}#O~LW>{V@-;|G+`gcL1h-_a7i#`hG86di9Ym z-MUN1F5RR9MpkgHXnXW1Zo~O90JB94Olbq0jhZxr^Ty^FF=}**llY z(vr`qVKRqTrOJw$d1djdSIA<-CEbvS=jbsur45fLNr`18WdzJW$zp^==l}|nnx36$ zBxbbK40>k&f_UatS;R9XF7JKmp5zFS(VTpmIY+gSyOG|S7)`< zj0&BYOd#tBioj_LsBO}L_0pn<+DX-O?alpO;(=9ZBWZh43Gb#Qi3+Q*n;x4ye~#m! z;${|nT?Q5XLTXefC)MlJlZLI@NLLK!9Wr#dj2JaahL0XAgGY^(0mDXMhRi@2-lLn0 z?$}x;v}!DIb<0aql|r(t^k9gF7p1=X z96csx=|VY|k`jwx&Uu*<(}4L%7?{=x6!FZ)2Ggpu1T#F*Aj9XKHDMD4W>|WjKX2A% z0WqPSVUx9PdR`#eV3Vmf@oY`z&c5wdoP;H|M?ADTx!u~D(Y2a7$=!B1Fo_2-;+wWV zP*&3O2pc|s_L%Ja@;RCD-G|b&R8gshlfPlh*3u8qjYDVqiIXPF*eTOw6bA8*9X?E^ z_Ut0_S~ryRnk8gIsgGqJ65J2Kade11YuQK|v(2NFdgr#bpoLn+NS4)CL4IAV9`#XNWy_DHFb)f?rcD{Hc}4eNlh<&5=qqy zD+^PJ?j|EhX9YPuf~@Unx*phmK}P_?2^_Z#K#nbxS8A6lEj3{8b%u&M4s&5RR$|Jm zIWm4aW|Lw7(}FIoWmS#Bvgf_**d7E>lw{k# zcvi-Kmse^5$l8sYN?+KD95XQoBPFKITPQOy_htUTK9bq2y6i0Wo`UZfa(4-&2Jq}4 z%r3Nqm7pHS`<~)P^Z7H90_W4v;`ya+xiV6sVihTcF@T)WS+-1BsaUa+QgaIxDwKH3 zEw{Y=dy}37^Fm~Dbk|^3lxcbIl!Z`N(~A04S)X2OZtR>k2x`caGAGX^GWVq`luhZW zuK;tFfs$a(iUKnv(ZC00h& zY$>S)Aiu|mLe79$5T78k7AH#Fl!=nru7T_<@qtoJj}k^m#Y1N)4YLd4>5e->?=YnN zNvw@gD5c7j6NG92Xc=XP!mIn!8*jYP9U~=g`@I0FY)pXJm0(tf znlL5rU9#Z0OHk%>dN9f7k4F#5hW<@u;fFWM%x5lwEqSGqmXwsU03@ND@seItWfytQ zpDZ$fm}rni*u_2^+YVIijx*Im>FaTPubSWuXw!D-qRYppcETtqU)mu1- z)?yM_L7db7^RZ9`CX$jn*FbQ%T9ryN31H4An1!DX6Ou9SJGyC=WHu-$vtIl^neptU zJ}9TZ^cR`&BEW<#NiY{FRn~C;AvMq1ne@yin7r9YJk#2mS>??db=H>!6jlc2R+|KC zG{cLhLrcM|6Uf)uz)fzC)M{>JA+=Kyrftng4z1^*jnRU{%L;NcgS-+kr??tG9{Kno z*#gPezwl>L5ut~+UAtit+FVIaUm}ZA(=7PM>3D`V;%{~QQRTRL zLN|CT&)U)~9yPi3lb!k%UJNd43IVoPE zl$0n|LNJF%*`D8i`|Z+euDOP`=fzn6bNz3lz?=XuV>bob-hD-IFquVyfocC{( zY0qCS(*WjF!ikk7m^Pt3#Li4cEvA<@Ys$c^IvbTYYt-3b?rbKSZH0F=@T;>cZBo0< z1af)-c@-y4+Yw)y9-wr)=&6#hKN&y+g)&K4JwpRskB8)l$PSfic5*&B~&aFqa_dAdh4wv0VZRgJlFqc z{@Ce^60@U~nBzaXTjm1Hgo2NX{ER6$XYqG@&vu#n(d{xd&t(eADKA_pQ(uUHxd_=m zQR=KOWa1>X$4JlfgK3JVoh+c!6;JDU=IL9GggSwI{eZNssq<%TnqEL^nz*Ldf7bK` z()F57(=IQB5-mC14(_&#JHb5k(fzXavuC7f@$aNc-3Bss+H^IdK5fNHS+XEbwlye& z$zbrT(h+1UQM__7I}gRlwRImOtbsgS1vG)Q%LCdRYX=`0*zNJES+$qTYc>U6clk&H zegs%PM{fXpuHHQKvaiQ*%a8El&MEk=lz}>1R7p-aiLj73&)nV7c=^B4YvOoM(}p^VP%h^Qn_(fhER_@7^YJ0Ok~cIR!vY2AETxCz!M` zF9MV%`$v_48FeAPu3e}{`-wTM%x>V={am~<# z1KZw`aN3?gz65uuv~K@d*GsD^P&AkkFRks~9_gy*tKGETT3jARgRhh?UX)r;U0b&A zB#SV>cNr#Rr>$5et40n`YU^PfN6)M`l*k3`fAP8n-1+PT_c)~IvivVg)nY~ETO&D( z6)gt46A20xD;`B!AG^n2gLTRO0-P4ib~TWa$7JHsAKfFfpSf5Te(`|(c6&iZ-* zMRI37Fuelm0Gw{+(>)#{ zUDfOGdG@(y`x>!cJ9vNi>mSDkv;mHx&V{~Ea2A8qv~ZR$U;YTx+B$&p2CPf}+udY0CQB{`(zftod4N9a_Z0zX9eboy*p&~CwIxjXa1z1ocJ8!1egq$5KI*^ zu{pE;^gLSz7OBsSj%WI%=3jg*N0>Y7>uTU@(q$WU+0F)G9$L2_P>e2mzLGE-*EHdi z5S2D8@j$D!keI&i?T+*eID~8{We6&%2V*VW2UH(%! z3<-PywxrJb(RsA$GHiK8*UsbK=)cH)`uQ3_`??lJ-mjO1(|_sBUWxIz-aMk86Mer1 zH1ab?pxU0e`R1EB-r=VI_K=DK6U~*{YA~zG2sjdE z0?fEi?vxWh>^VCy_wNFj_sE2&0VbfFfHm>CzsNiXOs&oa653TJkkip1s;farjizlk z5-gq$H0okYOJ8S$U}C#cY5najJx7q2rWa`nt+RnbI_bHI2SG0_RN82@Hj)*j)Y?Fd z)0LciQJKPVe!b!Bs8p+tOhUHKvK1>NeI}Cne{9WjIBF`QnQ&wqa#@W$wTqKPWSvMxww+x5@E6JI)f!Ju>Uldu9An zf07A#{!cFt%nMB{ld3FBz;xIos@lZy&W6=!CVSplsI*>5YGLZ|66TN z1?CGcywF;MSzU%AKt28Gi)GgPH_5S`o6ic&lLz+7tbF&&xF;`_@qlt1)_8)cY|IN~ zAss*}(IDaka$}ka!O)451>~zZ3AHsN6(_;`*;sX&{-)4@@JVRLb}KpEHkY<6EHYLh z${Az|s&yDeSD?6E+_yU3TGuJGhvWVr30oEYT530KE_0Dmm%ePdq@<et+A_L>o(tv@V{6)S zFk5xvb!)ddwAMrGcG5F&u8LA=wK}WH!c>=oKp$FbZw97>MOt1)4<&NroK$N$eR>nB zPFf~o@C-~kWx7BmpCfDvUVafV|&+b0|2)>(bpFJ(j3wYD^-ni=Qz=YFi z=4TJd=*KSslvl`@XRw~VQsz2fMoG=n)oA+iXLZ6s?9fScon}KMr&}(#r#m**;}-a=o=@p)A9nz=pU*z#9pk>1e*FV(8JoAsn9{bW&Bka0 zcJr|iI~&u{Paly@pFJy;ix!eX3eMsxLx@ob#5j9_fjn4OVg1)+2yvG<|Cwi=X~ljn z1oQj6kIEE)IrX)F%E5KZ&I-&^M-Ix&FCLark6o;w9Q`yFq~=^WcdW!*NLAJ@$3v@2 z!E9U0Nbz*cen38THfyQr8>8T~xU^u}dQIDZ*3LOu<&=eay@A{bVb&33oIyc2H+nHn zo3a<)#4FO5_AWIdeiJ;i9SVOTb)de^f=wBpnkGrJXUMh+pCerIpbtjd7+PJT49s`i zt=%+$s7e%X1ViMyz2AZ!e4W#60Pgc+T@QQT@Yl`GMv%Qt<|tJC#4lf#(#48NQDg=& zj6!Env0}vzTz1)IwZXx|SpPM(odolOC!c(>A@%MG)oMt;ypPFbfI0c)tL4DzC1(dF zDo$p6@u-Y^^kN0&D6VHvbpoll2=hl4B4px8%qUya)@eq1&iWg5ned5;Yeu)Xqyxx5 zMj>{sW;T)zvWjiSC=K)4kl0CKUI%xb85EVa7qB_E!$GtiV0HqOH5)aN>C>mn;-q9* z95+X{R{T;9A{?T-v}5ry2qJIWWubKY1u1wV{c0mKQbJzOdu{WW_j)e;PU)Gd4Gr5E z{N-ux#t^lM1pc2N%xi|fuK&H`?rW_r0)mbk^&ua)BsW@@_&RP#`veT{IpKuWDqL;;t6D2h@oLXvzcR5(`l7FOv zFUj45)3&<|ObT!xPR!^?@5)~b!F0|$*Oj8!F&B(rx>l)bXALAaMqu0I7B=Y%un?%$GVm1-G0onh{eH~kqsx~9L0oaYi zZa|MJ2iY#DyiE!fknf<lej7>KW7h*$a&9uC7Is0p zj?e!(%nF3AMvjts3l~e=+_|!$`gd{ws_j0vF_#$)uV-pHqvDOsE^TaWkp8p9M`tXG^{K?B@ z7}rx*$ZRVy9WbM$rkkSYg-!h3+CzKKT3gd}H&6qJtV(M}DFkz9BMrNA@899kJO<0pBr|+eUFHCaSXBgQP4S}=P8%(0KtHoRQ+uSh*BFn>CET&8{XlnjB&N+^duahVK#5@142r7F9CUBcNkB2@dxFG~L1^0Hy=Z<>+Sg#k{h=Q-{ZXWh}aO1-LtXtjk=@U|`@HfUw zi)44C>=iCt_|PSnT*BF(uNg1xZzcgskTBc5!DpTji zNkZ?AvImZoeMnljgKeWOeIph0@LS(H-Q&LF32Vq}sFOSF{_tb<2H|c7W+-peeG!T8 zZYXLLp*dDV>)%*{8&LK(7{9i01pSoazj#UK(z1rrID(#d;)x_M!5Yr{e@jP@1+%mQ z6a759fApk`dE!zT@#JMP49=Tb-##xp<7b|cNqzeoHDe)+fo?~k4K@w^3<8LW#+gsvIAoZ_9H)5jZCnBsq1Ep zg1tZLadW(Te=M+q$AsOs&-HzV(|{V>5VE^LWcRpiZxrF5ldvDa_t^g1&yaY4WOq1% z*d7y2zD}U2S8qW1KGr|5eiNyw;+W`gUCM&lE$>q@`msx7I2|^CbMS-btIPPh-^r2f zo3aJy&p-VrQ@_q5127SK5Y$etftcbo6R;^T5i$u?XMO#EVmF1(a?VK>j-YTj-4XGy zH3OXveCc|DfkbZYW|*foQorerTJWdtZNsdTS)b;Svgo1OyKg_4Jaw8(o-|3;m(DBu z;eoZI;DeWhQ{RUsT^_9VwtdXK&Ew2idG#FA7Sp>PxvgJYZvc_k*09_6(=%4ghF==HI0-Xtprb%1(%Dr-Q0{#m9L zd`|jfTJ%6jxPfTo{5{~D31`kiNKry*m$fxj0ksQeXip$B=OkKCwPqWV5jwMXZf1 zvMEJgi?4qG-*G!g&F_rVtbpFNMT-_aiX`{GVB-@kc6|TUr6$2V@4*KjEMdXy{K+#i z;?YZB8(uDh5bhX)QZ41Y!5Rc-&OnT0pH?uB>^O~jJN26vq~E>g$^b%%)gNHaK=?ze zvRY~?D5=gyB^*SWb)C-E^x9m86jG~V>Oc;yo)G4bZK^z4HS|`OhIx6kEUY%^dfMI$ z>qqPFdY~ky*O%5Q6AL(mm{+^$wHu_{cb}kIq_K<{Jz7Rjo+@*Cc0fN_?Cwa#Q+;I# znps|Z5!IYaugGJVu?hIxW8CNQy7wFfyj=!rf~(-QugTlI?p_9tb)Tc2XHI(GYuVRy z;j+iZ*hK86U|%PzO~v=vX)M*iJL^`R*y+>$Q3_ecHJy^MSR>-SxTa@s`c>Mc zfo=yn0YQTq*6~2sZt8qmwT$HS%|Y?tyiqpe@i=(EDDD7|CQzg#%t_O;SWj)B^`%>h z;;Z4*4j~O^WLoulTwjgYW|LyyO4HVDmBVM~gvpXzw~XvVD&B52!vu?$W~m{!_O?3l z^keEiUU!c-193U6dKYqPy~n-daG&pfD^2;D_Br->_E_h2-1p>X34Sg|I>+8j%>Q=U zV@>00`#+!d_=skZ-Hq%Zx*ofNfni=KcrnB+&2z&oExW)^5C3O z=oRU8*EtGEuHFy*Nv0Yb(*u(#ttU0Z()7Y4r<36Bz!}!LJsGjn@N_-fRnJjrt>jc* zTHEcwwj!ZQ8}Zf#$Hp_+eFbBjTrYE3>1pGf{%O^lU;dYj{QOmPNUtXY2M&}WqsPgN zPAz38oEdxI@KMdT{)1(K{ZC%QK373UwHlvmw<<$}?TgK04^j!$LdFvBQ;+jFyODUK z?9C)IXOnR^5&b?6+&<|28;-XzIq#u2ov_WvZfcQD%)jA90N#gs)-@kPdnr;#ikNI5 zg8AHY&#eX@t+AM@$Lf<`?N5Pu&pr1Pv0%3Q^hMZ`fDKTspE}GZ1^2B?m)Yg=O5gj= zm%jI&2Nm^CN=@yL)%%`vrOyKw$?S^xw)fkV8_R6ds8oW7K)ix4avCy;3mCuuT(EzPTF_sEJKEmlu`Zq$R>0~-;3Hy zeWId69!_%AfXmD^3EsB%+hcy&OMC{T|Lvkm4fqJ;PIMI5{#72?R`?CsTn+nXk?z*cmC;3)H9J6h{mt-KMV6QvQ zk#&;>N869^xNev>LPq0@?{()n(&v6iS4c#zz7Jj^J@C9CFW(@8Ubt3z1JphbUMjt@ zdSXqc#6$>XK9^Nzjns@tPQvMygoSi%cSb7cNz`Ucd`KQ`q-HY^+YIywipr&Rn|S#g zLJpihhfuV)*4GMCwZZ(itcNu1{!Lztz-uG}FpskTh|#j3UU}Kalsq-ZL_?_;ZwKx( z&_*At+g+-~=R!TRfJeV3PHg9WeAg-Y2qSWNw-T^Xl9BMWAm=YtV;*L(8UbOI?b(Q~tq z1+z84{2pNTxD65$0LJ<|wr{s2cc?7`p1MkU0MOnKT&yIcl8*OXD7^q|?}sjxUI3D- z2i7D=y#?^7N(= z9sq_aG=SU*>9`q1*eeHiL&IovOIWr-QqZS16|GDZh+McYb@@t3b?@inybp_@E*~>k zHdW4#*S$w}LG=yYNW9I*ZbI&+6n@>^M7#~h0pG&xKIU#rc60D=R@^l1lWmZkwF(!M z!YrnShn7qr6KEwE>45bC*57_DT~@_0(bDf@3ueoFFH3(&x}JBRFEcBk72=Mp`~K`- zw_N5_F9;YflI{Ss7o?_zvDX8TlxB6qg=`@U1an8S^Ow2!O!A(GL)mmF*t<+kmud8vn7Ql8yTSd;N?2lfseFhJe zc#KKk^Y(3ekgZy_w=5e!L)vg`f_cnd>SN6DY;);7*ST(BwE(-%AtZKiuIj=EaCWh} z1xXFd#t(x;OqUdN-m?IvEm}+EMa#hmAP+rR!zs_wD4TlP9uFD%i4cx{Sfj-vyGk z+dbzi)wKs;?D4=Q(*6ERq$}101LizWopn95(aG&PRWFi98#Rc?vo&K^pM*8<@`X^G z@-Q9aG<|8^aeh9vHqvF!wK;uB2!Vg+(wO-WU+!w!DDOh*&ywQXywV|Su`irOsPP00IS-HkNUv!_*Dw26__{Pc;j0Z%;x!Cl|E2KX%{LL6p(d;-8dTA_*)leoilst z=wZqDzPW#ra-%C>I z&tT8Nmg9(oKu=jU)5LUVcdzf@gfP2!;^7!|pBf*pPhd4}A>=+iC&kQ4fum_Bk{mWv z|5h^Q%+S)23+gGQ+(xLO+fY%miq%@#pt)?1I1UnO^9+M4PVX^Au z|9%a1)`Iz_3ufNa#UKkBrKTV9+j?V6AzqD2T_io=%Q-Z8IAwCvEKqjc}nPe!zED%-fT1CYpw1PfyhUt(Otc1W(Z zEvk6ZjZjiTuB%&Iwo|Ggb#QwYpN#-UeQveE08+rr)+ifbt7c9btzcKuc*Sa2F{p>$ zh|p-vxA~ZjM9*>ICSyiMc!QTrmwL4+MLO2|p$)s=9onQfF$Jx?RIr;(&5T8CY?2LV zXA(^G#99j&dt!Zo^{b@lDKKxi;f6Q(0qB)&28r1VU@8^#zKf+ZR8wA3E$w#iMbhaO z#4%sKNiv6a%@WS31Uo6nIh_d;4?b;244`_lz8T52+f)~d9D$`dnI!Jl|w`vYAn z3ATZk+bG%>LJ4-(qs_?>N=WNVx3D_U(Ooz6@=vOcjQ5K;glq~Q8+)w)2toJ02AEyH z`ADkQZz$cmcbBfc`bt8{PvC5U8tL_twH?{br5T-|AHT;e{TNSvo}7{Uc@n$NkKB&H zV+I&O1>FuXSN81yl@$^aDl1jjl|5U_Rum!cfE0}YiT9y2q*DlzeHT2ny8+!EE`0Vq zP-XX^9SXboMS;ra0q(7kx+?~Bl{CDMf)nq>+x!fC?O%OU3foYe`}V$fm-H&|0qji7 zK7r)qD0%dt-3?9{HYtsD`>zo;v0%P#!EBoEHK?x_DrvW{Sp}I@?Q7`*wX`!NW;fW0 zv==)=we5VzxiSOl&aTYxzCcsTek$z%X6JhWH&%yx&=momTLmVP+x=40IDxznijzm{ zmW8>FAh+FRlq1L)OcXLQ-X}FZFvIFMLlO`Id9~~r6rR4PvxHVb-Hm_acBx*WoU~}! zO1kvuDgE2ElJ%%F+<}u?%`ORDX6R7N$74M&i~9j3-)lwhb{b0Be~AgQrgbgZ1_`>I z1>1H*pt=c2DgD-d^NK7h`Jtqi`Aim;FCa53eJf)s6_Lrs^T~n&ugXevR@{yMg^&_9 z@BiTm52)E(Y-R7Z5jdgNu4_l+0sx zW7C)J=78i0Y%=pdc@|z-hE0k~xw7RLIyr#})l&gvO)OTN<*7? z`y0=JA>T(y#kEsM%J7dKk@hzMv^!yQ-gl{VC2WwM-5&U}ENE6q4sG{)Z>OTgVp|;F z2|#kS#~MS4=|Snh8N)-nz)@#U+aD;@ORMcoH~Apa@gR~F6tOpLBd_Q#dogVd83A+Z(zmj^jmuXWb%b4*KW$=iR%4yZHXK!iI zv9mO6(Nb#FZy>cXiM&VQ&n5norx6-~1m%0F_t)=DIN4=>*~ss;TDugn&&7*mGmG{AeCIc}(qg+gL4AKX)K2vBS7XYgjZcymOZ`7X|e zV>h2zn_6UJvheE7%6*=D+uKBN%m&z+wM{(JI)HAw?Y1rPMP?#Z zt2MwRlxLp^yr01EvF|r0p)6hTqb?+m{dZev(~NKNSn^xWMu6M8cL{@c6P~` zToPbC@5Fx@nS!lCr_5qqesc$!GonwpWf2BOK1E~t))qmCQ_$P9pxk`hYkSWl`bol3ww=AHB(F@F=l2A*`aZhg2wKrL0GKAMcNBEOrBOHXNvz3P9f`7QUfHHYs<*ig8`N zW?<1>xLk;>9^5$?ue& zE07G|9tj0ZziZpBowRG;LE^uAN4BHC&lZAtCX0P%Is8@uZI*gI?<1u4^~`N^|5m8X zo4$BjGUmJ0xjT<`6xq;XJZ`AA1&o8S%3!fEbdKiDDlm}`_>u*);g|17C)km#Au$)Us+Oha^~Av+B(Zxl z>6Pc-(vpDQalV4H?d|7dou?#ayF0bCY>mrd4w!NGLvlKy6VF5I=Fyt)N$fTx{@P8i zA8qKEg)o&iGH+ACX~xLAo?4Y16st#VAkOKkwaWl&{3|yrr%xlOv8~#5klu~z$|gz> zHhMOFWTP&<3DkBH_1Rro=(i$AcSZM>+OC9sM;mi1>Owc;bvIy+HDjvT2fVtV!J1)I5}v~1Z@8a8SqwQAK8X3CT; zTUJVxC@uwypqcWwU(2%h?uS=b|Gx@AIFvT#e^xo2m?@N&oFp5NTe}q!+uNwr#$z@i z-=-7T%)HGgxKRb3Z#Oje(wVmAgBr)s13l!+x8yqmCjYPZ-g|EsSQ(AQ-m^?JxF{#p zSq0|5{`IdHJuvgXCmjJ;`@1fbj`yMKK+Phue|^@&g$`_9C)2AJQV_NT(CzNLP{G)i zmso9Zf2%vt4dH&R%EqY`ZELzx(@WR$#Wo|QVP2xU8Gswkx{9GbDX4GPFpSjjcq5%eW6vN>sBpY_XQotX)SLTM?BQXu`GGc3@Xs*v$%F=WTbn z$JzVseZj}f?JcNgSqD2ZEiFxjDKba&mramZZ2rafB_wMxKXcZQ{xWm^0;sJEmHL{F z;|XRuq-zpv(S-{aDs^@W2IYXvgAkZk~F>pL!# zmRN(~EQ)}s0S&b`jns@3RA*7Q={bW!+L2_DPwU#7ZrWbB&FO|x{I#6QA;g}wP=V6{ zd>S&7(h=fW@!~%*d*m~z25)Q&NR^hYT1is=my{ERePlNQF8{Ivhj@Ri>yhUW+VI!V z_Y=NNkP1sDjRKVLgrXv3UGev1GbAV<-vVb0+h)#e-&DpW`CDuz=IXZwyfr-)A&s#9-fAs+zIp=E? z)U4LGo+Hh#Lpc|q+q5X_w7efr9GAqNEv3to*GS7-p%MegR#?q%N53E>8O*=$93wHU zT~-Jf~?X$ued9I2rUk zlJ2{Alg=I5OZ!$WrEB|k(z{1D=>nrJd2P0dqaB1ZEZzfgJ)>wWd1vJWZgti-d| zTR=^11IT97DK0;3TAQWxjB8n4ngZrl0FtZOZ5PV-@ZO#tOt&m7I$h6Sw;Ak7>z`2V zHS!A7Z~A-FItA8Fr#)X10-*(j$$&5!DtHQ{bjIs9%IYGo%a#@uWbed5a%}A~Uvuot z)oUO@um+O&pKtGzUB1}6|UqUzPFsUqXjrAsMw7LrB^LTXOP`z&IX zMqA)#ggTpvoLrlqy9Vido0K$RXpKVNm#RSUrjLna?!u>>r~JhKW+yy4RT^Ay3XTi_#Ua~r?}fRuLbQup0< zzBIiSam>g6A<2E)$;m*kA4}_k_I0HRz-)ON)M0?x6kzs)=XO3?mdsTvA~F3ct;wOy zB9}JUEIQWIu<-g#w*{stuvXbYre_d6wg5R1El(2h84}S@ECu&vq6g{PO8I1akH+%D z+zE2xG(C35j~|Z{w7fKK+(a64=xl-4;dHqHU|_%y0piR|j!96X67;Ykb-%aV0Yv70 zcS5y2&fe#}79=vNS=J!IgMoa4NgGbTAJkheNUY&?DoWQreN|kN@kzGMoIYKvvy_4zE(V@{g^XHkQ^<*BdlwC^a!> zwGuWY4u&lbb+&NfLa;T9N~H$Q-b?vp+vP(O2WP#}atM^G@AR@ZJudeZu1oTlqRR3k5^%U)Ol0#w@s*o5(T|9C){fcH&B zD&4aDPs{pxMP$c-_HrBa+ELC7De)!Qxg4wC^$}6vMu7`a0-FNcw#~&*d6<}7N)Bvazs#mFeyk+A?(xhn< zsIzsXii&BLgLk&1r_R+=sj1*} z@@QjwX(NC}jadj5RtFnLKLjTc;9Cp`7opyim#I+gRzNM?*s_A`K|7UW>sQFnKmM3q z4%Kl#q2%r8s&v^mx|gK2t0UF0!`7)&SL!xyF5j0cj2^OZcyQ_$7RMv3H*3S|09D<0 zi@Hxki%WBy9i@;p%#o1`8<=835))09qSPocBNYfYtl*`s=TA>N2u@dMXcW3D}Nw^4xjnorSF`_sXlU zwQg9qjrW_<}J6}!Vc}6qsbmXESkOmD@Xn;nD>@1Uw%8m ztPL<*-g2HN>8!-d>asbUJPofoN7_Dkl`QJoTuvQ3B1!!_sQU<|0`ry&(9ZHAN0o&- z>xE8Swbtg)>a3uM)Qm2wj&9;*y16@Pdukph;9Cd?7a$RzvCdR@;8vD;M>cn^D|^vC z<-}>aG=vd)3Y`NFr!SJ-!@J8yNY>?FJRxaJG(g_(h}Z5>l{)q6)kn92<}$WOUfGH+ z281%F*9O*pmi+`-KIkR@iMbp-dp4lLh3~r=Nd-yB18oEkYICI1b?DGRc~-yw{(Gg) zPJ;T~0gjz-U{4ZCOj=fwvO6kbk`QlXaskd0<>W!j)8h7weE8u<6_OHVB4FNn>#Z61pP6J(0_&C>2NM57*TCMz;5FBL|b?>D#xD3>!XN2BKRZ?P98~NI{d& zKKo2s!?`mb>g|@TTa>y>Fquq%32~f=rT$PBbs?l^N>k*`HpA=M6g?ixrdEXz3oP?( z0ZDuNZlyV>&kE_d1|gF)sM;!I0?ED(-qH0)c*yC^D?6{x&)Kxd*HWTvc@_R))B>t3 z!5o6c|2;=%Xex;bFz?2fxU~{$&zjb&BYnSlN1DO|OBK~hywhDah16^cPzhoqfZYfw zeZ1ZTP&UD3!<*4=Boxe$@QJT9%z-l)-{f)VX*&-9#v!CLA3cZSQO%Kou*JHD#bxK{ z-g0Dh2K3A`Q%iq5d_az1%>C|h2*|gtA}fo(DJe)QNQ5n_972Gf4kDW=Wa~N!W-?-$ zjY@ncRgqXw2VgdUr!w_J^xTCs@W8~6uCMdby>4Lj-EZ%6FYR*zk70Q3I!K3%u}Bn0 zrVrKGwJ3UC2fK1TRcWZXU5b6BVyg^qFwD`ZQzwPeW z@$cLRsg2LbjRYQ8CO4!nTHwVp*Fgne&(F%o?FMBoPq%sTIgxRPcJrc!;%;Q_?cif( zb2IAx^0)4k+9ireDGR1nWocvns$kv)V|@!8K&obN{-VV)tRAl4bA>d9gNG7NL1)0T zQc&G*7U7FpfU&Vz4RF~5anXoZ)_7+T*QA$LX9ESYf&vbqI35T1<{~$D4ie`1T8Xd2 z?Oqi2VTT&Bd+Ja*wlV80r7%%>5*-=n;Mp;_qpYp@wPc|4Jo9Pe0bxAeBY_|yAwDV* z!KCo%rqW0-!0kBnNUBz`ywrd?SF>&d=~SVFtbGk9fti=dG4N_RW8r-x;tiDUG3%Vs z3hFvm1ZsU@Hy0HCzzPglFl4nc#fCMoPtf{UbTrtHmft( zl)Q~D>^Wy}A7{$o`$}QQi87_7G{7v2su|jtXj(@b^H&A)PJp?YU^YWMDlRTg<}FT; z3H?ys^UA%_@L%x2-gK@5o|b~aWg%>g$L#e+2F&_5p$8CRql{zfa7l0(C>@8;T&SdT z2qCIiW)nm>Zjw=9zM}HyvI${}{fnl{sr`G-TrJ(YLG~}0B3rsQl2w)SNh$)$@vub~ z^FQ>eGGpgPzD=@3oYbXPY;I)SH)3=G zLE~fgGVHjl?sJ|;yA2Jq($Uc_b@e(~-n_D`LzN3(oAz7s+xJM-vT$U;TTFG6sdRMc zbfG%itEV)A1BY?S=bwLGNjj$AtzNxawrts=z?_8ffEG+hRgS6Sp8~U5_3GUTW_u*I zH>DE@ngZL^ls8VGLXeuX-g{U!;d7{sg`YLwYf;&;4g;C&=H+faYUAPa z+)c{a#MH5|HY`sAiQdqH8ys(M!sf6DZAL4?vs?yQKP;9enD9iW8Zdtq8}s}tuDIe3 z>};C|CT)*6R1?fWZe$#CCuh%?E`3p{-uTAzlzQqy=YeS8vk>yqTQ}i(fRbQ#MVN&t zd7)qeh&fP6XG0~Og;2~KTrR)~pN6o-nnopL$Cy5HC?ipRLT1sK{QY$Nm>gZ3DZ9ph zFY8-Yl%<$LmWXn!h1eJtLJg)oXNjMYsETLS?0Yw03U8_p6bHYG5f^3>I{iA(&5Z=-qBYMc%2E`;T-y^aJYUl#I zA8k-x(o?HiVX9EdrE2NQ6t}TgBoRUN69R-(X%nd00^}5&SW61NAj|6&lhp${$@)dJ zW#{(oGHmo1rM|HYs#@*3GWiR%b!0;>1!c~zwaD9D)}pHJ62RU%C{|w!Pch$@9pF>Z z;-p-ul2QS%FhhssTGWu*A#~ESTUTj@OrH0l%D(#AYbq(7$Zct$E*s()}Q!JQ> zZ&tS_<0qed@;s6ee(ceygOa|jsLnQS?4{_HLK1krLSM;h!e+jMwTKn3{_o5|0c zi8|1=Xl&+gN@_#G24yu3ZzFT==Y6gw;vQo+v~X=jKhO7?=JrN-(C46Jt$fAG0JDP1 zWFnY<{p(*B<9}wjgrTAv$<8kgqx&|P>yfg1hsUkZ0_DzRv>!p zJ`E=A&n2)iD;F&!WqG1its=D{A+-~zwRFelX1L>1q}{y+FsbU!!FjM@Lj=s})2F*& zvj2^8{2*32sAZGJ(!YN{m9)^dU0bDjF;AE=%~Fuiz4N~f%>h!CG!UufOr7f5{Z|{V7`+syMzYj^)E|`XdAwQ}VvYDu~5m=^ShRtiVKa z?yaRtm0G93#7@T_gh0;X0-U^@4Yg+OJXEveu>nMxfNv(Ss2nHo&TH zR-Nn4m7Y%{(HmilZRoIfAa$V%%Ad&})!3s5{_mPRL^iaqDNBpICX1iFS~-N`0AU>L zQF>|FuhuuU+UZlPr&c?Qw;=&(TQ0(LnQ)K*$&>QwBa#7Ic15RpvUbvN*|csg;M)xd z0pgy03d+r!H+zdxg-#Nl=+r!_0?fMDWmBQPQEgK|n%SB5`Y(OC1|H!|G-#$8o4RU^ zEUQ~g*5H5P`>aKHBJEZ(MLX1#bDni*%v+nfQTH#s}zFtT~+$J`Aq zc-@RewBr%YM&Uk(8qUOg&!b%mRPpi^RZO;c@#4oXz4X#~_?Maa^Ci|bISwYqTHlIz z(^~#mJh51NHwz$!Ej~u+IkrbfX`SZ|sq^=9q&`$p1!Mq53nedW;s+mSA+l?wBOYeH%^EmuO8zXC^>-JqBRfh3P~IDFDr!GiLyRd8CZ zhAOMU#sA{FG@6Fl+hyzs&~fRVYfpJM&p zY79A{&MJwC)_k|%hgid%fxDcNmH?B+e;Ay+e=Z7Zr%#$Fy^H39R6JkmBK^(c0NERm#(Vea=c#diF^-SApEf31il%Xf2*V|48Mz9Z z4qu0x16Px;K0=)#%b4J4go;_Kb}iV0jo<`or3#-rwQdC|Q68yu#Z|^nI_8)V%DsE{ zDjSnv66jAp{d6)aOg8rD*j{E#oua^GW>EkBXgh-E(Qakiks8Pq9$DZmjEMM0WOJgE zipd2SrNB)jV{i}inAyO5)49)VbF!OMWV&}`R;m9n_kKBfJ;1#B92r#L4F}AhVT*0rf7OE7q5A$E7=5P}^_ zrx35J7-v*Yt?qzed(+y~J$0MlLK4!xoJSDZkPB}3vB0&uoG84d7LZyq$(RA;3=WCwDb=Z^3 z3%#y}0;MsV26IGKnh_0leoDK~&@ux}rph23!VRPboK#E*pc9BO&0gq$*9A6WHJl68 zYE+k=NIn=iaFDW{l{Nsasw~0?)u5gZfOK4dY7|P+iNUrbojOW$Ov`RtvkGk6TV)Nt z2XB+X2C@{hOmr*DOj%wgudKp-YT&QggwzPbs0}IBrlvPM{rXuQ6Kj+6-_H%K1>(IG z0cPb&m8E9Qn)1dQZ)^uEld(Ety@hpUPDo1onhMN|FTVI@)XlA?=ZQa3Rxn0AHgkr| znZHmb4Id(%KYc}N|MMKFgQNrkS=WHc%NlSP^>`Hxct>J)tY1V@zj#vSKYE#l(5yL3 z9>^-j8Aw8yM_{3n(!QJvsTv2VxDYKU6F)~rNi__(>Cs%)#!Zz?^eoazL)#FSo40N| zBWai&P$^Xs&>x52A*D)r{HUGLYjriekA%Yxx78#1?4Vo!rTdtkP;HNmTzBsazUE3w zB21-bA02i+Pse1gl~DgyB2ACaqtu%6_5jvh1J2fBYoL+q$`|B9lOZ1uUN-sW}|8<&FDY9>}AiQML6oH4T$=0~IQ zrKJ)!S85dm6Vs(Pf|ZF_oG{JavN_(t;KB0hm+)W79Ysr3&43LxuTuU9QB_5)IJN=QS($dE}mh%pinAPwgNKB~5J z@fw735x&f%g3n7v9rPNs1 zZ)MSEwcEF!sJSH^lMsPO&ofcCUm%$FwsU^~WEa3JuLI2G@JchyEsecnk&?Fpw%iKX zZfdv@KF2bg*wxTcpfG9-8P=heR1?k{nlNmC(h&`|=)hsc$(T`?c0G8Y^h5H&P;@XD zhZ@Z}P+K$7(`4E5<&uo7pv8+9tArFfim1*GN6sz5?u_{?-`A}w%P7Un|F1R`*uj|% z$|xw68jH>fDkPT^k$R>UPr;7#eHk=T`}HU3mX;_ zF~|f}*@qr_Xcb@_kM*nd{JHS_^Uwe5S6_V<$K8|htLbPnK@ex4a8|GBk>%ZQ?o+qz z^_emoG0)N6&Y~VSlO?5;QfDiu6R$ohVRTHh zomZzxn{hk}sAqR1_Pp z!uzQWhzlO{Vq@!&{5bJNeT* zQn^+=m?hPfMnUrgSwCrjats#3L=R!*c$Yka`Ir3p^Ut+lPJ@v@GYF&$=V`9bo;P2n zP8ciQzWG3EBcxIb>$G5+%pcFu0~qI_h&djEZc?j$CCmD@l{IsqmaavLnDLaV%Wd0# zakVr%AO??N${HnyQe%-RQW`O^?gc+mUQsr-f;xmeI0w-xu3@(WU>U+ zC26$Zu$H#0Cd;AT>rDY_wR*j4q+Wqfq%ewr%fnu*0jBe=%NQ(Hi?b87A;gEHadsKAnASBkiioF#dER>an;CX^iNrV z&yj&q@M&xg#{5_ezg@x2MEzfpjVriGg>6pmhUD9v%mx?rI5iVz^NW5yH;-!&OTAh~ z=6^#f*FokIz+|yIV*IBNx%hv8aX3~vtUKv6&1oBxU|tC@=U97VD%6#k9(>c3nlfXW zBQ-<7RL9ukC~+D4jGHfm8={K;o~xuf978RP#AGu1T!ILjk|7V}ab;ExzP!W&&q+E) z{jC@bwRG`ZPc7YQ)zZ_1EzSn2U*b7RV!{!k(zxL9EM2LZ^!WM%fQge+jp{>J1aD*? zue-}W9=u-P66Lyq}Y1%qXIDx#jBjee2WV*!R|BFW#JtnrRE_ztJ&im$3ot-rYy=N!M zqGBJ&N=!_POxxy$0Ts5u3zCM((@I)Wnt%C>y5GOy1U50Vp+p}O+^GC;`(~B;z_+g- zrokW^2^&Sv;`yaooqCA#)=(Rknf5gkAiBu~Io9vT0)OFo=biU|0CTnnCUPQYAV+ov z0HazveY&{>oZfAFAAT_YXujj{n0hYmpN*u1as7Krvpjc7Q#gibW6ohNEI^!(A0-~O zlIgVz%c?O0WMd}OQmCR^_w2=@T6*STi(dk=vw00yViL?!m8wd&uRoMk05bw40Q3gk z+IgC1b7>(Dfg2Kf85}+;M#!PDoO@a0TUmz6m&oSuPo(Ny1xL{R=rRCX6Q0NFP}k^R zXx6lus?)S>M}`d@=CvK6RHSsIl%%vIm;@{l&70@PC&agtCrpR9yr)c>>jeD*Vq zAFgdnhH_fhkmU^TnB%-n#@T?>ecYIg*5KQqocryjSBXM8LZf>!(5*$nEo%-s{ z(xe(3K1iqJW>p&r5^(%%0xVOox?z2o)1eX{m|uSR@jp*BMabc7p!jci4ke~lWmzUvszPOH|IH_AOu{n! z;A(~@7fwXA%-|t{>fKLh4Y=xYIF5MY^18lXKVRL)$INTkoniy=pr`b#}C}9~l;*t(jodS%SF) zwq_DwTReS=q#;zZ93^nx|G>}6soTgkUeczvQeU}Qq(h2lqKn@$^?6)PBDhIq_1Kwi zXu-`aT1(;gG5f>Eq;@?_FhlPmc4A;$`tG~$UT!?H>?!*qR*p~mBAk?%R{+eJ7EIa{ zvA|^iQ5RNqduj}Tc|R6yR(4>U1661PJfz$9?$ch=-^fvu6Cg8=$)2pLLmVpJO9IT! zkeDl&zX~;y@VNtr!ft!;x*(s;b*QsTKYvov=&YesWAC3@MI;m56@u@v5}$9@TlYxA zQbk}_)swo78XI-Cz1Mbxo>qEXl{yQRburahNX#Wj`%@j;(F}Yk$Ls-0{rYC(L1-is zb*)RQqI&^UUUuyxoJ$e6T!zXa1u((2$J$LC{OFfRj`(+MVbO${c1 z0(8?9SQ;*U+gwh=C4n=?Oy~V-nPa@$`u?dbd%oaHhU+t&Gg~qBN^kNg5(|wq=LT(y2!;%)=arxtOD5 z^u#GL2{z=ch4Hc=FD@Z(M)TF|>lz~nOOL2VEYY}>QhL@tG zE~6rP+j3Lj0+i{)`Y5eosrpXr=hmBp@3zq{BKO;4D2<&7-gbjg$D7U0yRL6r&BQnP z+q}2h9QfW0Y2h=?N9&WuaDdfEe_Yzz1T#;bJWMR$H0j=0`LO<(lipbOwHc4OByZll zErGFO(45N>X4+gJj1e9gZ7Trv>5TZ)rD z!;FZJc?n4Q*itjnPaS9OvzG+fz27^Q_j~K=$nzi_Gf{l-LpkH}zb zOE6K9-hevxvjU1z4o}!kzAB$klMl9_2s>%|~<;aGi zCy$;^mR2<=TtL!!QsKlVP-@7nf)ppbxr~6S?~lIi-fyo5k2Sys;fIQu!Cpi*u1PpE zkp?${Wm7D&kq1#-=tAy8(I6jc6O(jQW=@C=Hsmltv93DT#?X zQ zW3X!F_XZ}VKcQr}glaD{r>M%7K=8h1(eETV&p#vsfGnZ(ahHKp-Dj@{@3W7&$Jp0! zpX0$3@>;Yt5erNo-d}rZA=OoYfBqa*lm!DeNzy{3lMPRAO6^&Qp?SUFZ49aNDiG5?BnGwRJ=!HkND zNYVOPHBv&7GlR~fFm{d7^K|fqKR#JKj}E2Z1DF;>I(rBsRr6)bmZ_{5=7`c1V7R0t z;4F_e9&s<{7m^AdD>P`6R!%#e(i)PN98+LEP`-lT#WQMiQRo3PC#Y_kg6 zsDc|;tlMFmR@ep@c;97DULm6jeISk7pi~XDsg2;7W>2I$?zkfpT-b_|cX0hLzm|Pz zB_`jH4Q%sZS*&Vn9YSFMvQZQ7*OwYbUQ&hSQfXbVTWza~>^fC` z>*InTQsT4jk{~iOhAklZJ#iD`;&;WAypl)~FA1qR{;m5FMz}(Om(DqwaLMcC-1hF* zfO<>aZx*k+x836c*VVkv;Nu9Dq$9YVHmJMt)WY^Nb|=Fslx*n)3|T_y05ttkK&LLT z2p}4eErB|ij^u?Uuocsx3a7L7ldvP_RV5BkN-|c7E!t46k}85 zhOrd(Wv^=Gq$$eO_@7DyAoxZLxV){v3a*|Pnzy0lR z-=pGW4^>;*ovfN*Yr;vWyQ7_Hfs0%MN&}&~bfC0g&P0jWe><2#5VJvC_pyH;XF;;r>Dw1Bml%zMSBxxwPP8;4&(wMn3 z4dq_wTdQKEDq#T9kq#bSM_42stxeKtXF>w&_jWcEbzOfC{>>?{VR@UDxj(omoo<5) z+r(l#hbs2m4<42_sH|y;-bZY+Li-XE%{G98X;^H&RS1i-N^&$mHV8f6jJ0L|!lH3Y zkjJB zRnEkD9_&`m*sgA6SWazF7DQg6CChPyn)YF&z^Z@!>tAs&1=g}Ep(G|<6)jU<+J1@9 z!c!R20MOFlU`TsP!>KRLeF|7y=R|5$&!nMASsEl<8pkdG)HL67^+ap^T=QCiOAD}m zzrb-g5!2ABGws9sBn?tBEd`!aQ?RTgsD+H61s7FR=DG41I(F#o<#RFIHmzqXNkdXY zI$MtNvpb(D)}|EPXzX($pFesdb05py^Ri(#2V ztJGIlQifcgJZZ9$w6s%yYcPW#5=xE$VE!iuxYFUp9g_fB5NS73BJ%%7rNK#*$nAge z#TVCJfBp6U4;=>S9H7^Z0qDL+-CMy)P9W&9w6Q zRML6cJV-4xs!A*JhNL01k;*|xE~K1j9r9Yi*N(bvLFIEH(b6D6)6jG|t$TC*zRF<( z&?q?xAe}fS-_{2yoI1)*or!#03@u8_`;dMusK04&HhCM5{fzF0mKb{$Yz(-wn<8_TDke!36YaI^4xj>M{rbw5^) zmU#uGC2y-P21aVK^Vi*2&tox|S{ADjR)>H7^PiJ2AMt>z+IGaWC`v-5+TwBw0OTTw z`f?H`6=UJ@w*)gN5m&5Op+K|}(SpdrVb$RdAQD0gV!?t154`o(TU#*gDFJg{*!P8X zc?6MaPCu+(Se!K65<6{wY+gSROim*%U#zGsMi4t4c4n%A(^)u)Q@Nn(rXoPDPIR91 zR%#K9+0!MhOA|B;dtOqZhNhw>H5CA);-vDw7Gc%!NA3^1uAx?o?~UeWsem*Ub)2dB z(dV^UWl0;>7s&_{@!r!U4WW*-u|p(n2*wLSO-*Z9TGGmWs-$Bo;+3gv?FlS4oO6Qk0U3;iHR7%Xc7@dfjpDc=IQUQNg zns(GCbG(`)3{FZ-=Ks;woQ^-Qd z(1;7A1=DSZn3Jlk1(BXpD-k&*ISfQ<02V|R3{xT&C{W-B^j6&n5EC)fcP28U#sxrR z76_X%wZm$TRUfMwR%w7+4S*kFg-Hn%BbPwqtI==XuVQ=(CJUpzl#zNUHo6z94JZ16Mib3u(x zg|j9Vtv*ws-ld|bI2E1I6?}Xz^%x)|h`gi}=Z3=9vhNYxc!KxaW5Yg^-Bg}*HNDrMzUQz&eE#lz~NwNqBQYm32X+ zt+;O8I@K79iP!wX*~iGvYqVZwZZ1?$p|1Xj)`SN!-D)!>B0xaFkJR9EEAfH_Lde~!p6$v8i1DSEeZf@+2tKx|)XENa)3nEn2pYgd5L-KFC>#n;}P&qIgFtL|Q7>FHk zKTCZYV%5UpARRi!zQLl3^FG#VSkGZSjz#C$^^mq*X=j$eAe|zm%1X2RA84rq3B!{- z*$yI7mwC_o|6 zQXqvRKw01dn}P>ijK}Tgaxb&mT(WvB_+DrGI%oa7$mT=mR3ciH^lsN$x^(Y}ww+y7 zMGZ2xPD0~hrvf^CTAAPWSB+i90+o`JYAurvF2!Qv!Sz`8VX+R4PN7m*RNdO5gZnVd zx=^aEir+!CrB`bVoG6r@1e20-5~|ugFagn-=F0MTNB0 zDW%5nIo1bQ^w7};XK3j`th=zdtMYrIjeaqvEq~4LgkTnfceWBb1;oP(OBFF0;AOdZ z48Tf;nwkuCGNr`(k~*jdD*qR2DN3nH71u)Q+M^g{m)fejBm?Z^C$5xa^w3QP?8$)C zeNP4d={`rus(%o!o z_AwXS826<^9UosNzjWz4K)QA9CS5ysRhu~+dYke4(V0j8L22{bl7;`8KkE>pxAyCL_pi*^V%vvaP#`s%yUDeo9l^NIn^5^w^Ief17_E&qfWn>Z;AC`pi@ zNjyo_ZF`-!&3!x`aB;F&^4oVvN}XboI&qZthE2a(^y;l@PT8@6CJi=i)?G5whvx;u zhWu^+>;A0WN!6Ao9b3Y4?);-zRBa2G6PX5b$7`>>b_%_=MoOu`J5>a#vh>hq1*Quk zB_h+@Sb)pUYn*n>IgW&$;R`NTA`(QXrbpo7-i-}nDWI5(_$wtML3AY|L1eRDswn)- zwXrA>sR2+Teu4D?mMakn;yqZb!Lt&P9k{99u*!fS^84YgN*i6}QDR)%`S@Ik9N|{H zXmNBtN7y9)hk7(TBq9gk>V@l2J=Hir1>hylW6m)g`^S;;9Qg;gfAZ%~NlM3tI?!+J zPM@mFOdLqo6;Od8X;V>dm4Zy1WVHWJddR*PHwpV5;g{Sn)UaN&2(G>D-tTQB>Nvfz zc(08OM?XLET=lxV-+RnF&)cL7{EnpeHZZe^spmSInzvb)_gA08Y!Ldh>d%#m?|NL7 z!qRi#P<3t*Oln+?wB&ii4f;0;k?{P<&Y!E={s~Xu4#GrUe(0C5sM=E1tBa+)wn&8E zLO2Nz?K{q296xTH3a8NaT!-O2v=N#3ZBNLSUhX>znj<1mY|OH)Zk z%g7|uAo6t*`CdwrXASA^;qerxu=756NWSmgOZxQduVV2Wkj%5|JRX zA1Oh!`KB(2HoJy^V|>F=%#PTD2~#T}nHOLKpx2DSUyj{o=07Je^}r&Ctec~QiXk2j zS9L*T_~$JwZYosE*(SnDM1n{gkswkcGIW$}5Q9GkZ0;8+&1q*6PD;(b?_z@T!xsTc zfJq?OW0f_FtJW%@QXv6T+SQdLtdbeReCPIoPa)>T^=%myw z0aX`0Wf@uts=BmE8G12kc&TXCmC_RS=qHazBD>d98dG{B{1WT^y!Td8AD_eBIMn8$ z@8k2;recpV_v!nw0hrB3JwIxh4dO8#XS53Yyx_6wacB8%+t;?Qhm8)K-RNeurSFj8 z>b&dIyN|LhF+rQnwrE>YTGG=_!Sk!;#RkuxGr8@CR46^D+ET@%YD@L+D=ex2grf89 zx8FV&JJAW72v5*#=QZY=(hjvCx@m57B2glK{`u#7F&uRT5*y|l5J%y4T@X2SsWVm^ ztfp9$+61u-76*&ciyQ=z9_D+oZpXS2>sl;=NGF#Ckv|9}B3ApB@D3@Vv zK{0?7D_RVl&&x>TFF%lEKtyTD0l3K(J_D2}#X@Iu<;=0*;Cd>8`pKAYnF#eW5n}}t zuo4kc(a;bcXHg0R^hAu1NJO|GiK;G>5}3_HRaYgLo7kuqdNJvA92|=r*yP$pB(H&K;7rwK9lQb{#@Ti_G8UzI7>L|ZEQkyX zWlJ?Zn=cIia|=4Blsb!KgR(`7$joQ{4mff0<3vgN;%VLb18p}HlwQozRBJ%GrJ`$j z3YsJnwggCr1k7tmfMiQlk_~`!;kvgTzEn-T=1N4L-XwZ;sp=*r7_YABW?;R#l&;Di zg&K^WuPK zDr~}J14zwwAHSkP7>TeIdBRf#O-3b0DncERn584#OluC>jj7{@Nis^UC`IF8AI5Vk zH$mhm`mn|E^aPpjhc0%>O)E<3lyP2X0hRh^0k!c_Q!$b{Z?>c$hc*cfxD!xJ%rW`r zt2>PA@ksif3lQU=I!s3f(bxcpHs6#W@;UV!5Sf8N5b129s_}{eku`FZ))vI;aGgdw zom5m!DG{w|O0Ox`S*fPMe?B|60p^8}nkkI0Qk^ZTq-J56{>(oli7F#ca!9s#sGteR zgH0;_uA~gCN$K-C!FxBiSiH8*BNcsdo7*E(8K;!LoczfgdK0FS2 zq)7!|kd$snTnBu5xKBXUwT0BC!(Qr)Neb$O5ARn1>GuPq=Kc6S-h0K`B+lx7LKkDx zQDBBWWCUU?wHucVr`H#<2@xG3xM}X8C02 zyvpt|HX*@!ZEwUAA2jeVC{IU zhb3!8UTl_Ak~O;O3~qx1Y0!Wl^Xybq#8~{zD7JGMP%9c!F>atG|?NO-PDDO%gH9(RewG+@TB%Ys{?}uav-+K{M`~C)6-cH~O zJf`6C9gELu?(@L2&kMe;x!-$T`(Eaf4z2m`-6vy*4V95&#>z-^;uwqu){KM0Y}$z5 ziw++;5$U*m0_!)+i48k<{?q%c-ANFr+R~#*$wghAscH;K&>2JNNp+MlLSbtr(f*(0P_Y&&ArwMM5$T6@OLr?$=ZqV&@Kj? zTppm1q>CXz7ZXyn#Yimvo}`RGkuqx@l>~FtPh}r+LHNQ}sRonZtdP8kLpQspC!g7hW?;)s0B)v_p8@oe|V$ z#?qUD^Z)#!*9rXTUfUdl&0;aMiOD@X$(YI0R7oEvk3MAFGz{K$-Vx5Hx6 z49_bShyK0&xvDMINdBYresU*bLIUkUNKa8h_4+R{af%A{v8-3%(N1#?j>Kyi{ShRV2z zfT0X45sj2nMtqOdJ5z-c6$*ium7ZQC9i$BCA_;|Flf}pwvQjkWM!@%f;6nXARCm!+ zHmU3bMqa+EbgYl5SgkQZD|3|wK*#FVJ?Oo?4VK)qS^9bB$ zHy7_%|7Jt=dTxmiWYYARYWmnjj0U8`ht(sGKKkey{5EtpG9iT;8xu7^dKK56eOX@ zIUZpH!lD+XsCj)qtor>H^Sv1=2O+mdUHyQPwR#S*|Jqt}DD=mXlEV_XM|_Q#DKtFp=7dFP#7 zrZWLmSSF&-k@&k+VPnByLn?%fP8q7AbVbu+%1fJF6ZD+^PpGG7x&uIJ-i~!xCAPyu z%j9-S%~3Djj06Gzz-if8EeoeT22iOJoz9o{?*(*aB$ZtUXm6UvSe}}z8a-<%nu=yy zggN1xmt--*2@1UX&(#}&eeJ+TL4ehJVMAEV_$KQ>*=>(7s)`pq?=m#>LRA-?8Is!8 zkpzTZ7Q->4-t#^UskaNFa^!V zIldlUC=Oq7#T5(jyD{yK&c|%0(vF60K|Z9aA*3T{Rg-U!HQ^CFaJnK^ezUzs(3 zp#pOD>^W*wJ-+XsP2*-ddzcH$kQ|dyuFQopJIMY)jscusvs#AjEp@712`LK6`Tgtn zA-e{un1a(TKuQR`Wx%z!DOJ^V|NRRH6(rFDN>TJ^O(^xDBr`2fCAXVqU#?VB*+rD1 z%OwR#@QHBVEJ7lJg46f@&ZgnMFQq79ru0LfpajG@lL4LAP+FBegytE0hy%qqp>?{Hq>o^Z?p11&%ur5Zc z%EZ<+br{6`zn^8AJRFKI8+jt==L#*TsZZuJwgVh-L`H(TSU}#^NkC~lubK_Kp{0S(^XALh> zL3bd-j6Ix~az|&+hgkId|8BB-e)%)>5B!RN^M0)39B^w@+M@8%R{6GoOnU+YZhUZF z5F1i}kR5>4F;Eu?nt}#lkoeLcNwTp;gTSP(S|>^E>geOMxk*GF=e{4)29XAsgrT)e z%GX|9IH?Hh+KmYP^p^#2-l)&$yr128f|u$T+Qi6qS~Q@WEKE(81t=k0xNxEBHN`SQ zv>V-tJngwS&FF#cg2iehMg{1M%>B##2ExAqfLW$eWvH|zODZ@^AZ4#e>2gy0>wGfv z(JPdPaRD4clyu<>Cnp}8Zy(Rqih5}Q`iQj{a}U~{HJ^;}%= zC3W)01XFDacGGY-4_-H)*+K?Ym$oS1b0LbmX%~)~7uw3q6?l*AyZvbFk z4tsO4XK%vJ)H6>iNb`Je$y_9y)5EGxazca}PQ5Igr@QSQ$LsEM{eTmgd5~!HAlbMg z$7b=I7@I|K^U${gufqg$N^bRkMQ=7yuYpV?ZX!wrN8jBfIII#Ak;H)O42@8Ig{0hT z%D4z6izHYK!Iq-GtK{_4pINy_{Kww_Iy~HsLh|hvPD)L}S)^?t@oln82VlP}(tnU5g02^}O@E*RZb>c4?1yA9L^Xfo|b6 z?~&DU_VY#^<388fUHckWT0{+6skhkcg10muwA85@I;2)kqC$&+UjysxwH&5y&P zqlc1`P_mff4;eE*^RqDb8KK_*no+-k?hYQDl$vT{Sh-44=bO)E#-o?ZV%TCDEO%K* z!|u2DSs>lpF5DVc{|eq0c8vSp!RKfHc4VV*HVyu-w?TC+`nF`GCd<;*y2*D2684v1 z4MJTdn|Y&U>1uqTwgU!he(8N>@%$emF+CTjU*Q|L_uhM7t5mVl4(kxIaF!^G!AC{E zlOZqPuHuAroDj}9csu8D1z`=|=iUxGJ_`1b*9_edvU6Nk#{@SF{y*nR9DrQ#^7WF8 zOroV|RF=7N75WS>QIou>zOr8r#u=Qt<(6AA@Ut+Zhm|7i1I6ZRY!H|0==l}S*FV%- zAbspbbQJu-W(N^YCcc*}TT#kjLUm8Hz+6C2CID4n5*UJNAq_wnrykeK2eJb-k5R|P zI@aFrJnkMFEyc5dF~-IaheUcho#L<-BTbJpSu)nHm!$~Zu+`~GB=VTTe73V;1ygRE@()GKulUbG5D2dmgw&`M3hSsJ7LN>!*Vtv`QD zrX$wLYL9tv48>8(s73hf^|0IaK7E{$P6k-_(n1`$PlIo7YtZ#`gPTIE*NfUX-1p`G zK?l!A4@qMG&MMh`3G#TUvSuRbp7TuUmCH0%hYu0Qb^f@y~#|WGGzc~#i~-hWHIUU&ZB?>3E;5D;(UO*aQ+(C zEwpF&UX+kfTjxE8)+9)BNJbN~RAvO3yxL{UkQoHKa^S#$s}d+xdCUF6lS(o?X@3u`*d!x_ZHgbI+J<*L3O4&126*$h+5~*p&2g0ANWYs4Am`@! zhs-Jdfz0jPT;gWVkon1}vJe2;JXdD$FuiWruwkk)1fBU0VZ!$keCzBuz>b4s2D$d+Z+lASzPtSf{_>Zu&GOHR!L!jNqtVIbj zXHmSw&0iq%;^wJp5K2m3vgd2-)~y926^}DE2~B|s1MK2hwsmZLNN);d*B!qaKIRJ6yyZ6ep5_x4xld3YMUk{lwbCyhU7l*i<8BtPoJ)!oI7_elFp~A*_2dS zDIp(!{PDE_l6E8~x-rj{&A{1rm>yU57N#wkDkFunTzS6+FgJsL{?KtSm* zsY0mrWr?@yZ$!T_7X9d1gY z0ebij_ulV5&blj=N@Y@R`eYYezvx@eypypM%0I0Jm{N7%7kPm56uD= zw*Egy(SFmz5Rk-uK+W87X^VbFRqd|wOo(~s_TI-KdCu_tu#1EvT6{d<4-`kELvARZ zaIxW0ml&OJ$?=pMNoCwvCg&!y(=IjbxwN<7Cg+!2ZlU02mI`h*Uv%?@Ww)qa)x4Cm ziYu#bMd2uyHV|*^@tVK&d}Dn>8_=KnJ*}SS`D0nsBD=f0e>5~Syq81)t#nA=AvVl{ ztZQWt$*y4tX?00E>L&+*s;a8<&CSidnpk-zMXO(sG!zQ?UNfXg49M9Z>30tXM9jgc zA5O+&ahFWUdn(uC0%m+{+&z>8dODSMlbK1E%jSHAEN{khb6N+vs4z6Ylvm-u=x;b* z6**DSB3~>>6c!@VIv15%Gp&U^Jw3Z^ZEc^lLUKz;bD=}Hnv~s=v4;owL?jdGaWz7o zoa1QkTU+xgY#WoU9Z$p^hJ5;ABa@(st}9( zuM+0sQ3utZidP*}=*!n3Hm~>lc>DT(tKPV)9QUgsnk)_&m=^pLkE43 zUKs*Xkdcurydxbu+_D-WPt9?(H+m3(iiRn<8+xJ_)N^{Jrl#gbZEbD1v9WQgrKRQ3 zrC{)dN)}tnRbR{Fz0=2UWN-C+ClCm1D@1--Utj-RYFSUzNWQF#n>nrWNbCDCa>axP z-jM#)>oP)Ah9za%t*3{-^gfZ)DSp;Kt+v>d=3p6$`Ob>K_G5Jkwio<64^v9 zWFQ&xiIgueo>N<7_K~7LTBaScb{YG1Xac|^(pb(v0>-c`Z?t1*2pkiEiZ>>d)?KeJmBBT+I z3WmMT5HJJ`0YktLFa!(%L%"; contributorsAboutText += CONTRIBUTOR("Englisch", "LoRd_MuldeR <MuldeR2@GMX.de>", ":/flags/gb.png"); contributorsAboutText += CONTRIBUTOR("Deutsch", "LoRd_MuldeR <MuldeR2@GMX.de>", ":/flags/de.png"); - contributorsAboutText += "
"; + contributorsAboutText += ""; + contributorsAboutText += "

"; + contributorsAboutText += "If you are willing to contribute a LameXP translation, feel free to contact us!
"; QMessageBox *contributorsAboutBox = new QMessageBox(this); contributorsAboutBox->setText(contributorsAboutText); @@ -201,6 +203,7 @@ void AboutDialog::showAboutContributors(void) closeButton->setMinimumWidth(90); contributorsAboutBox->setWindowTitle("About Contributors"); + contributorsAboutBox->setIconPixmap(QIcon(":/images/Logo_Contributors.png").pixmap(QSize(64,74))); contributorsAboutBox->setWindowIcon(QIcon(":/icons/user_suit.png")); contributorsAboutBox->exec(); @@ -239,6 +242,7 @@ void AboutDialog::showMoreAbout(void) closeButton->setMinimumWidth(90); moreAboutBox->setWindowTitle("About Third-party Software"); + moreAboutBox->setIconPixmap(QIcon(":/images/Logo_Software.png").pixmap(QSize(64,71))); moreAboutBox->setWindowIcon(QIcon(":/icons/page_white_cplusplus.png")); moreAboutBox->exec(); diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index be23342d..9cecca05 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -34,6 +34,7 @@ #include "Model_Settings.h" #include "Model_FileList.h" #include "Model_FileSystem.h" +#include "WinSevenTaskbar.h" //Qt includes #include @@ -152,6 +153,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S outputFolderView->setAnimated(true); outputFolderView->installEventFilter(this); outputFolderView->setMouseTracking(false); + outputFolderView->setContextMenuPolicy(Qt::CustomContextMenu); while(saveToSourceFolderCheckBox->isChecked() != m_settings->outputToSourceDir()) saveToSourceFolderCheckBox->click(); connect(outputFolderView, SIGNAL(clicked(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex))); connect(outputFolderView, SIGNAL(activated(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex))); @@ -163,6 +165,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(buttonGotoDesktop, SIGNAL(clicked()), this, SLOT(gotoDesktopButtonClicked())); connect(buttonGotoMusic, SIGNAL(clicked()), this, SLOT(gotoMusicFolderButtonClicked())); connect(saveToSourceFolderCheckBox, SIGNAL(clicked()), this, SLOT(saveToSourceFolderChanged())); + m_outputFolderContextMenu = new QMenu(); + QAction *showFolderContextAction = m_outputFolderContextMenu->addAction(QIcon(":/icons/zoom.png"), "Browse Selected Folder"); + connect(outputFolderView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(outputFolderContextMenu(QPoint))); + connect(showFolderContextAction, SIGNAL(triggered(bool)), this, SLOT(showFolderContextActionTriggered())); //Setup "Meta Data" tab m_metaInfoModel = new MetaInfoModel(m_metaData, 6); @@ -1276,6 +1282,22 @@ void MainWindow::findFileContextActionTriggered(void) } /* + * Show context menu for output folder + */ +void MainWindow::outputFolderContextMenu(const QPoint &pos) +{ + m_outputFolderContextMenu->popup(outputFolderView->mapToGlobal(pos)); +} + +/* + * Show selected folder in explorer + */ +void MainWindow::showFolderContextActionTriggered(void) +{ + QDesktopServices::openUrl(QUrl::fromLocalFile(m_fileSystemModel->filePath(outputFolderView->currentIndex()))); +} + +/* * Disable update reminder action */ void MainWindow::disableUpdateReminderActionTriggered(bool checked) diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 8f5f2067..ed0679d5 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -85,6 +85,8 @@ private slots: void findFileContextActionTriggered(void); void disableUpdateReminderActionTriggered(bool checked); void disableSoundsActionTriggered(bool checked); + void outputFolderContextMenu(const QPoint &pos); + void showFolderContextActionTriggered(void); protected: void showEvent(QShowEvent *event); @@ -114,4 +116,5 @@ private: SettingsModel *m_settings; QLabel *m_dropNoteLabel; QMenu *m_sourceFilesContextMenu; + QMenu *m_outputFolderContextMenu; }; diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index 352c73a1..a8dca62d 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -31,6 +31,7 @@ #include "Encoder_MP3.h" #include "Encoder_Vorbis.h" #include "Encoder_AAC.h" +#include "WinSevenTaskbar.h" #include #include @@ -137,6 +138,9 @@ ProcessingDialog::~ProcessingDialog(void) LAMEXP_DELETE(m_progressModel); LAMEXP_DELETE(m_contextMenu); + WinSevenTaskbar::setOverlayIcon(this, NULL); + WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNoState); + while(!m_threadList.isEmpty()) { ProcessThread *thread = m_threadList.takeFirst(); @@ -219,6 +223,11 @@ void ProcessingDialog::initEncoding(void) button_AbortProcess->setEnabled(true); progressBar->setRange(0, m_pendingJobs.count()); + WinSevenTaskbar::initTaskbar(); + WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNormalState); + WinSevenTaskbar::setTaskbarProgress(this, 0, m_pendingJobs.count()); + WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/control_play_blue.png")); + lamexp_cpu_t cpuFeatures = lamexp_detect_cpu_features(); for(int i = 0; i < min(max(cpuFeatures.count, 1), 4); i++) @@ -248,6 +257,7 @@ void ProcessingDialog::doneEncoding(void) if(!m_userAborted) { label_progress->setText(QString("Encoding: %1 files of %2 completed so far, please wait...").arg(QString::number(progressBar->value()), QString::number(progressBar->maximum()))); + WinSevenTaskbar::setTaskbarProgress(this, progressBar->value(), progressBar->maximum()); } int index = m_threadList.indexOf(dynamic_cast(QWidget::sender())); @@ -282,6 +292,8 @@ void ProcessingDialog::doneEncoding(void) if(m_userAborted) { CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFF3BA")); + WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState); + WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/error.png")); label_progress->setText((m_succeededFiles > 0) ? QString("Process was aborted by the user after %1 file(s)!").arg(QString::number(m_succeededFiles)) : "Process was aborted prematurely by the user!"); QApplication::processEvents(); if(m_settings->soundsEnabled()) PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABORTED), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC); @@ -291,6 +303,8 @@ void ProcessingDialog::doneEncoding(void) if(m_failedFiles) { CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFBABA")); + WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState); + WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/exclamation.png")); label_progress->setText(QString("Error: %1 of %2 files failed. Double-click failed items for detailed information!").arg(QString::number(m_failedFiles), QString::number(m_failedFiles + m_succeededFiles))); QApplication::processEvents(); if(m_settings->soundsEnabled()) PlaySound(MAKEINTRESOURCE(IDR_WAVE_ERROR), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC); @@ -298,6 +312,8 @@ void ProcessingDialog::doneEncoding(void) else { CHANGE_BACKGROUND_COLOR(frame_header, QColor("#D1FFD5")); + WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNormalState); + WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/accept.png")); label_progress->setText("Alle files completed successfully."); QApplication::processEvents(); if(m_settings->soundsEnabled()) PlaySound(MAKEINTRESOURCE(IDR_WAVE_SUCCESS), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC); @@ -310,7 +326,8 @@ void ProcessingDialog::doneEncoding(void) view_log->scrollToBottom(); m_progressIndicator->stop(); - progressBar->setValue(100); + progressBar->setValue(progressBar->maximum()); + WinSevenTaskbar::setTaskbarProgress(this, progressBar->value(), progressBar->maximum()); QApplication::restoreOverrideCursor(); } diff --git a/src/Dialog_WorkingBanner.cpp b/src/Dialog_WorkingBanner.cpp index 618992d9..af92bbc5 100644 --- a/src/Dialog_WorkingBanner.cpp +++ b/src/Dialog_WorkingBanner.cpp @@ -22,6 +22,7 @@ #include "Dialog_WorkingBanner.h" #include "Global.h" +#include "WinSevenTaskbar.h" #include #include @@ -36,7 +37,8 @@ //////////////////////////////////////////////////////////// WorkingBanner::WorkingBanner(QWidget *parent) -: QDialog(parent, Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint) +: + QDialog(parent, Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint) { //Init the dialog, from the .ui file setupUi(this); @@ -49,6 +51,9 @@ WorkingBanner::WorkingBanner(QWidget *parent) //Set wait cursor setCursor(Qt::WaitCursor); + + //Init taskbar + WinSevenTaskbar::initTaskbar(); } //////////////////////////////////////////////////////////// @@ -91,12 +96,20 @@ void WorkingBanner::show(const QString &text, QThread *thread) //Start the thread thread->start(); + //Set taskbar state + WinSevenTaskbar::setOverlayIcon(dynamic_cast(this->parent()), &QIcon(":/icons/hourglass.png")); + WinSevenTaskbar::setTaskbarState(dynamic_cast(this->parent()), WinSevenTaskbar::WinSevenTaskbarIndeterminateState); + //Loop while thread is running while(thread->isRunning()) { QApplication::processEvents(QEventLoop::AllEvents | QEventLoop::WaitForMoreEvents); } + //Set taskbar state + WinSevenTaskbar::setTaskbarState(dynamic_cast(this->parent()), WinSevenTaskbar::WinSevenTaskbarNoState); + WinSevenTaskbar::setOverlayIcon(dynamic_cast(this->parent()), NULL); + //Hide splash this->close(); } diff --git a/src/Tool_Abstract.cpp b/src/Tool_Abstract.cpp index 2b599c31..6c523509 100644 --- a/src/Tool_Abstract.cpp +++ b/src/Tool_Abstract.cpp @@ -77,6 +77,8 @@ AbstractTool::AbstractTool(void) } } } + + m_firstLaunch = true; } /* @@ -118,8 +120,15 @@ bool AbstractTool::startProcess(QProcess &process, const QString &program, const { SetPriorityClass(process.pid()->hProcess, IDLE_PRIORITY_CLASS); } + lock.unlock(); - emit statusUpdated(0); + + if(m_firstLaunch) + { + emit statusUpdated(0); + m_firstLaunch = false; + } + return true; } diff --git a/src/Tool_Abstract.h b/src/Tool_Abstract.h index 902d592f..36772527 100644 --- a/src/Tool_Abstract.h +++ b/src/Tool_Abstract.h @@ -45,4 +45,5 @@ signals: private: static QMutex *m_mutex_startProcess; static void *m_handle_jobObject; + bool m_firstLaunch; }; diff --git a/src/WinSevenTaskbar.cpp b/src/WinSevenTaskbar.cpp new file mode 100644 index 00000000..7fca79ee --- /dev/null +++ b/src/WinSevenTaskbar.cpp @@ -0,0 +1,119 @@ +/////////////////////////////////////////////////////////////////////////////// +// LameXP - Audio Encoder Front-End +// Copyright (C) 2004-2010 LoRd_MuldeR +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// http://www.gnu.org/licenses/gpl-2.0.txt +/////////////////////////////////////////////////////////////////////////////// + +#include "WinSevenTaskbar.h" + +#include +#include + +#ifdef __ITaskbarList3_INTERFACE_DEFINED__ + +ITaskbarList3 *WinSevenTaskbar::m_ptbl = NULL; + +WinSevenTaskbar::WinSevenTaskbar(void) +{ +} + +WinSevenTaskbar::~WinSevenTaskbar(void) +{ +} + +void WinSevenTaskbar::initTaskbar(void) +{ + OSVERSIONINFOW version; + memset(&version, 0, sizeof(OSVERSIONINFOW)); + version.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionEx(&version); + + if(version.dwMajorVersion >= 6 && version.dwMinorVersion >= 1) + { + if(!m_ptbl) + { + ITaskbarList3 *ptbl; + HRESULT hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&ptbl)); + + if (SUCCEEDED(hr)) + { + HRESULT hr2 = ptbl->HrInit(); + if(SUCCEEDED(hr2)) + { + m_ptbl = ptbl; + } + else + { + ptbl->Release(); + qWarning("ITaskbarList3::HrInit() has failed."); + } + } + else + { + qWarning("ITaskbarList3 could not be created."); + } + } + } + else + { + qWarning("This OS doesn't support the ITaskbarList3 interface (needs NT 6.1 or later)"); + } +} + +void WinSevenTaskbar::setTaskbarState(QWidget *window, WinSevenTaskbarState state) +{ + if(m_ptbl && window) + { + switch(state) + { + case WinSevenTaskbarNoState: + m_ptbl->SetProgressState(window->winId(), TBPF_NOPROGRESS); + break; + case WinSevenTaskbarNormalState: + m_ptbl->SetProgressState(window->winId(), TBPF_NORMAL); + break; + case WinSevenTaskbarIndeterminateState: + m_ptbl->SetProgressState(window->winId(), TBPF_INDETERMINATE); + break; + case WinSevenTaskbarErrorState: + m_ptbl->SetProgressState(window->winId(), TBPF_ERROR); + break; + case WinSevenTaskbarPausedState: + m_ptbl->SetProgressState(window->winId(), TBPF_PAUSED); + break; + } + } +} + +void WinSevenTaskbar::setTaskbarProgress(QWidget *window, unsigned __int64 currentValue, unsigned __int64 maximumValue) +{ + if(m_ptbl && window) + { + m_ptbl->SetProgressValue(window->winId(), currentValue, maximumValue); + } +} + +void WinSevenTaskbar::setOverlayIcon(QWidget *window, QIcon *icon) +{ + if(m_ptbl && window) + { + m_ptbl->SetOverlayIcon(window->winId(), (icon ? icon->pixmap(16,16).toWinHICON() : NULL), L"LameXP"); + } +} + +#endif //__ITaskbarList3_INTERFACE_DEFINED__ diff --git a/src/WinSevenTaskbar.h b/src/WinSevenTaskbar.h new file mode 100644 index 00000000..17415415 --- /dev/null +++ b/src/WinSevenTaskbar.h @@ -0,0 +1,84 @@ +/////////////////////////////////////////////////////////////////////////////// +// LameXP - Audio Encoder Front-End +// Copyright (C) 2004-2010 LoRd_MuldeR +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// http://www.gnu.org/licenses/gpl-2.0.txt +/////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + +class QWidget; +class QIcon; + +#ifdef __ITaskbarList3_INTERFACE_DEFINED__ + +class WinSevenTaskbar +{ +public: + WinSevenTaskbar(void); + ~WinSevenTaskbar(void); + + //Taskbar states + enum WinSevenTaskbarState + { + WinSevenTaskbarNoState = 0, + WinSevenTaskbarNormalState = 1, + WinSevenTaskbarIndeterminateState = 2, + WinSevenTaskbarPausedState = 3, + WinSevenTaskbarErrorState = 4 + }; + + //Public interface + static void initTaskbar(void); + static void setTaskbarState(QWidget *window, WinSevenTaskbarState state); + static void setTaskbarProgress(QWidget *window, unsigned __int64 currentValue, unsigned __int64 maximumValue); + static void setOverlayIcon(QWidget *window, QIcon *icon); + +private: + static ITaskbarList3 *m_ptbl; +}; + +#else //__ITaskbarList3_INTERFACE_DEFINED__ + +#pragma message("WARNING: ITaskbarList3 not defined. Compiling *without* support for Win7 taskbar!") + +class WinSevenTaskbar +{ +public: + WinSevenTaskbar(void); + ~WinSevenTaskbar(void); + + //Taskbar states + enum WinSevenTaskbarState + { + WinSevenTaskbarNoState = 0, + WinSevenTaskbarNormalState = 1, + WinSevenTaskbarIndeterminateState = 2, + WinSevenTaskbarPausedState = 3, + WinSevenTaskbarErrorState = 4 + }; + + //Public interface + static void initTaskbar(void) {} + static void setTaskbarState(QWidget *window, WinSevenTaskbarState state) {} + static void setTaskbarProgress(QWidget *window, unsigned __int64 currentValue, unsigned __int64 maximumValue) {} + static void setOverlayIcon(QWidget *window, QIcon *icon) {} +}; + +#endif //__ITaskbarList3_INTERFACE_DEFINED__ -- 2.11.0