From d5f7e4dbfd007bd9bccbf67e789959202af727e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80?= <6terio9@vk.com> Date: Thu, 19 Mar 2026 12:48:05 +1000 Subject: [PATCH] v0.3.0: split modules, screenshots, localization, icons, version check --- README.md | 118 +-- data/Vual.png | Bin 1252417 -> 1044930 bytes .../hicolor/128x128/apps/io.github.vual.png | Bin 27352 -> 26111 bytes .../hicolor/16x16/apps/io.github.vual.png | Bin 911 -> 899 bytes .../hicolor/24x24/apps/io.github.vual.png | Bin 1721 -> 1687 bytes .../hicolor/256x256/apps/io.github.vual.png | Bin 87147 -> 83106 bytes .../hicolor/32x32/apps/io.github.vual.png | Bin 2803 -> 2720 bytes .../hicolor/48x48/apps/io.github.vual.png | Bin 5581 -> 5298 bytes .../hicolor/512x512/apps/io.github.vual.png | Bin 299969 -> 285594 bytes .../hicolor/64x64/apps/io.github.vual.png | Bin 8940 -> 8560 bytes data/io.github.vual.metainfo.xml | 23 +- data/screenshots/main_page.png | Bin 0 -> 2246734 bytes data/screenshots/pref_app.png | Bin 0 -> 68210 bytes data/screenshots/pref_ce.png | Bin 0 -> 85962 bytes data/screenshots/pref_steam.png | Bin 0 -> 58860 bytes po/en.po | 17 +- po/ru.po | 11 +- pyproject.toml | 2 +- src/vual/__init__.py | 2 +- src/vual/locale/en/LC_MESSAGES/vual.mo | Bin 12259 -> 12532 bytes src/vual/locale/ru/LC_MESSAGES/vual.mo | Bin 16089 -> 16268 bytes src/vual/ui/covers.py | 117 +++ src/vual/ui/game_tile.py | 263 ++++++ src/vual/ui/guide_page.py | 189 +++++ src/vual/ui/main_page.py | 396 +-------- src/vual/ui/pref_appearance.py | 225 +++++ src/vual/ui/pref_ce.py | 460 +++++++++++ src/vual/ui/pref_steam.py | 174 ++++ src/vual/ui/preferences.py | 772 +----------------- src/vual/window.py | 182 +---- 30 files changed, 1576 insertions(+), 1375 deletions(-) create mode 100644 data/screenshots/main_page.png create mode 100644 data/screenshots/pref_app.png create mode 100644 data/screenshots/pref_ce.png create mode 100644 data/screenshots/pref_steam.png create mode 100644 src/vual/ui/covers.py create mode 100644 src/vual/ui/game_tile.py create mode 100644 src/vual/ui/guide_page.py create mode 100644 src/vual/ui/pref_appearance.py create mode 100644 src/vual/ui/pref_ce.py create mode 100644 src/vual/ui/pref_steam.py diff --git a/README.md b/README.md index 62460a0..9843d88 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,8 @@ ## О проекте -Vual — приложение для запуска Cheat Engine в Steam-играх, работающих через Proton. -Показывает библиотеку Steam, управляет protonhax и launch options, скачивает и +Vual — приложение для запуска [Cheat Engine](https://github.com/cheat-engine/cheat-engine) в Steam-играх, работающих через Proton. +Показывает библиотеку Steam, управляет [protonhax](https://github.com/jcnils/protonhax) и launch options, скачивает и распаковывает CE автоматически, запускает его в нужном Wine-префиксе — всё из одного окна. @@ -35,6 +35,15 @@ Vual — приложение для запуска Cheat Engine в Steam-игр - **Прозрачность окна** — полупрозрачный фон в стиле frosted glass - **Гайд** — встроенная страница быстрого старта при первом запуске и из меню +## Скриншоты + +
+
+
+
+
+
nJnDMjWnUi$THZ5QK3&9OfPUK?klOlzhqn$Z7ufSWKF)E+6ck`eaviR zYxhM1pq!0MP}N@eAcW8@L9OvF>#^)D7$IKk60;gd6*anhf2Qu$Mi;;J(}~C*V2#meO{>%N zRL5__ps>)ym?F`mjleiR3;S?yan;d@!RRSOpvLjdWKJ(M#yQGONSEE5WsiV&> E13Eb4bHBVZ_Ay`}!s?y^r*2P1h`+H@-U@ptZaQ99wPS;+|U3SHh6riw_^2{jC( z?FWEYaDwv=LreZ>CG_usM&EtWnsi_Bm&x#ts4=F@$|&q*7MH7UR>7gfUTp)|8hd_W z&-O77$dhVZk-A3 _kh$Ntx66qLQv00BUE zAEf<8>;5XFlWG96x#ZO5OC+;kt#L_{)N^>{F%Iq8_3S*rhw9yU;JK{z`XuSkD4;Si z%W(NWg4yH4AN@R~J{@3Q{109G1S!APawA5^BhNwlA}~SL6_Zv_G^>K(!()b(f&1&Q zj=zM_x7?Jvi>|=OQZV(&+4FrljVc3M;-Ou3M&1S)-sCvWKwdFMIk1ol%ZXx3Ie=wk zkwQb8s)L@NdR0R>mU!~34|yFf8F;XF6M`hI>I-1?xi^tq?JSNMZ&Hse|J;yNa3P&> zH@`?sd|_5KzhDyRYV1z5&H62ZsEbHYfEFUegk?J6PFj0pUA^z|Sk%t==SWEJka3N& zaGn#qmBUNVn{BoS6Ab}dKId8_xppAlAX{^Ue`(HWnod0f@7hw|3Uq_Cepgdz4ms-@ zg5AERuM<*hZm5_Eq%>2^8N{@#*I8d60Z0;GKjrn&drgKYDH*-SsOt%G crd+y 7+)nr7NlU!Xc3 98*4?s1L`UWyE)jw2 zRNcXl4f(k%Y126qjo2NUd@1n6sy;YSf z-X>`W;ruWMw1eD^5iR~S&;1|~U!0da)siOBsd}@-&kquN40+Oa+$Pj2x)tzbv0WwJ zXXZmEnRKsJeRX#H-CUSce_G|G!BHnoWocHzwNaIDAZ^O_qq{~irjK``Pqi$~90v>_ zpzHNaYOGZ4exz?42^p!`9jp2^u_8@IA|A%|R1z4{oBaz*zPzR{J_EKB%SoEr>9|ZE z{}8^wImvp+1xGB<*)J$EklkWBvVNe3bP%~4Cq;@Qyy53yUr5L7OU?j=7%Jm~3A(_& z+me^#c(nhR+Lxg(y)^Y6uG0z`Xl}J9sdv{=1C4sz41B^-I{LKRA$*_0PJOZGxa!Am zB{9}h?9GL&mKuE{%aK WoSyJOX@Sz<0yqMmGW zo7RESwtffzf2F8_Uk>oE-zc(ThAq3k8&ezKno+wEiE(qk * Y@YFD}g8XV0Co^ zoW-D8)3AbL&8WjeO6ZmwG_=W|m&PZy4#)vr)Idi)^!LC5iU%~T?D=wsmpo8H-f^@~ zKGl;6Oma{$40D2Yk)HL=R!(+BDx1%-%iH~}rmrGHQ2<-inZ6%- (bW$TpdMr67PD~>WeictQTlI&}n#*%H6>1dNcZ+Y0@gvKy@OQ=PN{XWca ztYT!L8EVf@3(Dg{ti_|M2yI}HX^H6%bkrW(_DeLS90mfYkxGH}vk9^*QDvZ t+KUzwOBmRzppR9y%ZK&IUo
q%|e_Gdp~=l;<|%>$1DiM1vxFCZ9%Q`C1Kw(?Z(iB5EGw z%CTc?m0Oz0 kJkqOZaxjL92Q9)R zPTM{MAvyVGz8x2MJV{<@)FV7Sb*M~EftXJVCG3dEiw)Vn2f(0NEvJUHBoO%7*ZkLm z@OGNdMcC}XQZV;ceO`Q_?*8vzMEUtL !H=QUBe-D z_m$&0e7|@6VMxZ25C8?a{cc*Mg)XO4mIS8cJNXMHal`U6W|aiS0d6X?+tpLWL!*!1 z{m%7^h`BlT`_Ssf{jGnijN{LL&bgfd=ScoIb-=(3^`GA$+-7I+)x~t!8sWszTez9W z=8;scnO{~N8@mbCuu^tN!}39&Opa6&)wlNM@oe@Nor4SZ*N0mL!I2jXyQ!bvRuRs! z1 lViQ?BxU@v-~UI`H3n4HaNTTcvZrP; zCfk#3+qP}jG#OKqt(#pp+qP}p>g#!)_xpLy-?PugT5GSZLxhoDzn2$o<8y#n6J*QT zii-xBy9OaRCF)9-wT7zC$FPxFOM|p!tL1h<>A$KOFC<1y%1%emT3Sa%eXKqHuE&0^ z;IVf^E2;A1z+TL+j!b^T_J~NI2ZQ%e9#ZB AmgTF7xIj8^~d<*VdJ)7p&drOqVm6DkUN5y!vKyL57(Crr1rbC>MG zKegjK?q_&BxS#M(s#^;`9^SvKGy7htVCu?)RckYGwa=yd=^spXym=|!-D3HhVEL}S zUb2?C*--*Abb>0elNGpgtfT^b=w+0SN!xR}SytF$FlTcXF3<@Mz{(({(x|k!y{7NV z0@O?PHsx0zaYy2q1NX?M-d%Wp3SE$=JPUVjEb%7mivaDaJ1#tzI2JLsw}VOo>Vz_S z8S(5CEtUsQhd3&K6>@B{G*m`){PLc@T Vs(;Hjl-$4FVrL&&z&FvEw;!OyPkqbABMdYeoN@G@sTK^(Wc6ZPATR@PVs${&w^; ziQ>{QIu);Dep!nv2-8>}pbQRP^L!9|fL3T@yJJyfz3mj+jMNnS7;Ia+hIc;LnC`!V z11HC|je15xO5?kM7}u$^G>oE9Ro_JT1L2(;u)h+)K2UXEYJ)%OtrVscH~^_0-|}*@ z(NW+{^Uej<-2}Tg0>&qp5Db;{>>S03N@~2@e$O%s-aBh7;BYnS8gMr0l(7AKE}r*B z_T%!oqh5aPZIAk6!du`9vkPwTKjC;g7T(e1T&mGU@+Y(M`CX#}IrwgdV!extH?@js zKK@YqzDCwl`G=EuoRB5R%7?86)j#vL$5&tQ@XYQhq2BGf7FA#EvMA=he63^d=}E4v zQIm<1jkem5Box!~0&7_MB9KAZZ>>Fq9NAPcXRUc?y;f(Heb5OoU4JAsP6D~5P9csP zHj0`1pPemDH&m_-)el;vM}IX<0{^KVXLA)9@NHshnPQSr90iE?DthST;~VdpRM$n; z#u)z&1Un>iXWR>wgEY4$A}pDuYM3H(U_X*duN}liHy)ijQ|wEi(k0^gGtD0Gpv1gV zGthxe0+hq3n~^sJvcj`zkB%chj{xKpc!Uq*x%tl%ZLju2{_IX2;DjDTO6Op=+-Pm= z@BEm5fJ8Jkh9j6?8s5}_TZlB&c4If=4S;TOM%pBzzl JKac@kgh&-_Q_MXdqLeBG4D54UM=0n4x^D%f80Ev0aZPAC~;Fba@>qw zIu`GYU84`9=6ooyI3B;8m!lv8d(#svI9pAetzyMA-n}Uq-nU9gF%CvS- g9!0ax{tov(bC z@v{}-|Cqmc95Zdjx1`FoCLjMBEa6CNoo`QHq;I@`Sikya41MI4iO6s9a#c$*1Z9kR z*&V{OC(BIoTQ3ZXPA2nVzth|}FCVTK$Zx!vFx(%?bX7l3nEVO{7ABnfbeA7nib#De zJ!cWxpsIN=Vu=!BoS+U`O3jbSpKhftJ3qX>r{o=J{w49u!&80=77*~VC5TYD7rz*F zIe{<-?@4ePlNd<&)B-D)Ej+)+v)}W(z1~{DiJ7LQ=Ne!`oahJ!hR3xqwFb22E0M$D zJtycRj=rTedBxLE8UyJ`>bNw3oH6jMP!MV<&2EvcOnQEHncDDl5`kj~E|JGwAxlf! zx-e{XOW0FZuh)Ob9q5dffkx80@w5?jSZSglUKUV?BZp@Oa(FPfQj=K8D-4Wcp|kxo zjI602`6iMU9nLrX84b=HZ5SVch~zpY`$h?%Au!oP1Q`CMyy+yOf-tC~IqIgH-rfg1 zYbSd=?L*bhXAcAYJT4s+Cy5kMV-s&!_pY~O2^JwoB0xRat~6JV*v?cG4$0M#A!fpB zV#cip+YL^#ju#RT0Lfyb5$b)bVi;k>-XY+I=NYgU6}YzoocM_$E+? _+?HLV+%{-regEuprTMDeiXhko!}~WF9QC#x%r_Yf6=M&n>r3xq zXSsZ-(yt8K_Pd?S4Q7+ePYabaVw{rI9)^!Ve&bGw4_d$T E!FzMvp@S z(Luo-9SoXI??F|S;VPSN2#Y&KYUc$9a+zzkXU7g}O3ac?nhf*`8Lri@L$;8RY?zBw zV!?S!94nk+L#F@&VoR5W{)Mu-eJ};-?FvUP4>p&+uzp_?{PCLZhUW{+^c*Al zt)8hgjDa^&iUi%18F*++$5Pl%at`;NbaZFPgf!8HdbY86q^mLRUmps{Nqfuy2x9M* zH0OZw4~2-s5ayJ%KlP1{1ILi8?;;dPXd6@o9-`X>4xo4OD4BzpzSx^`_RQd~f-FfL zH<9iRt5sYUHhZ76HY+&s3 aOpdY3sZnECevY#4z~ty;seGxuQ?Uv zJBee;2i_Wv+k1r(sQmF_qwQsC(&wnJ>!mi{P3k{s&X(A4H!tLtSc^7Q>1Wz`Lc)Er zH@USpT^VXfl_aaL?~~jPc4Sd)pVRccIGikeZynS}ec0vyKpggjQ#t6!yI{sHr3&mR z5>YYq+Q7AL>+e1lt%x+0t=J8)8TC7?%kYhKI%5(3)lczK%LuC`-OQ(1O}9YFUvFb` zS6;tTuCLflmK_#Ym-Y zq+bvtFwk~cWpcOpy#6EYK49;#$bb-7(hyl7Cz&b0Ky1)*6Qhqj7O@|g#36Vir!}!$ zez98}FcC@xHdDBC1VI)41?P9)9sk`C<#bSP6ZmA|n8!4Ag5LA}lWkP9(Qgh2$q?z8 zcUynJ>%c^BS+BVxU6WI!n9mRe)%ha&F(xyot^&8MP9X~9-rvq0?1Wt? X+kdz)NAO`uK?C*hJy46gwAJF?amf~sf^?8fvM7{gKE&5 zEQDuD3;b!b9 o<$FPGagra~-ay7t %ZOTEwjVxLw1t||AXp`f21BN(UK+k@~!e0Gt`%mS-Ln@ z4jH7kdta{rtYi`2=i6!McmCC2idnu&*3;F4k|Z&Lw<^M#xBJfZQ=UeG*)ToH)1WX( zvxy-yhW4*=(a+RP)F#X1f4hZpW10c;YB7Dlts5G3#90X#lc}0Tp?K^+_-vQ}DxlKV zA00l#-$3&ObbE8B>kVOqbk04YUv^F4KrLJWJ>4wsV?ZLN0H|&xt<^&q2h{K_`&Trr z2g0Ptf_p+{Zb%?-iT(?;ougXA?>Om2SOggx=AYLqPEB>a#i?vzvL^F5fmOgmj@o4! zbwU$UkpW|ylw!|1)u_H0^)RAEw 0qUBj|4|H3J|p$M$pF6g(Z`1oJIVGUzy zM5Cd+SF4ipl;52`_ym_2k+yniOA5FLmw-VqGbRL}qwQ&oNw_e39QHs}u+&JeM%a>N zEp6unIK`Whoo2;b)7L(1{e_sX#{KGROY;86EWPu*dBPJ?KN2Onir3W=_VoN2pO&fN zx5EA6o1799N>&(u5dO_-Jl>OzDKs5TC++{1YWijKDVe}+s3Cv0`FCBfAXomEG>-jb zloQzJ0q&yx#dpDToK;*8YMt>Xx1k7TyRp*@upZhbm~Q$e=qIoMJM^ncaBj42RftZh z!l2X2T(LKhJer@Q&|k4=kwfPM`-sGG#`QM$OQmXi&yQFCo%2wZ%>Q5v6(mAGrOpzi zOp|}HZn#fktIhfJ= U$3Ka7Ca}0>Nlo&BL{BI`v)(J%n;vvg3PzQjcx2TUbxu-fo-WCUc4+U zhi_h>A?(#YN#^{bkeEW7xeG;))nm(5Cmn8XGWu#CouBhtF{PCK`G|WFea2n%?CCZT zR2KMjDa!Z0yuun-+US;aAeHu~e%dz0cR|-0;U9xKj(?#2FSXria#pxlM;2_nkTl$T z5`${as}H+}3X{tv@%l~ z{JH`uq=&!%<&A4ERWiXIgxT^f$%T?46N_kf@2Pj&zCM78XI>J|= cv=`^YUVvikBAambLDr-`n~(R0eeh%hh!(Qwl54CvMW%U zLV9%3f=9B{a6Q^x{41u=9$OX8e1w&MN+gGzjKy9^ce=&uQ#N#K()1ZX^zB_=D?&$l zmp*>RhFv3sXBf>oYZ`~~6O$M2f-RsUWXD^_DOJtfUWj7Yg=WQn;4y#mB<>bza*+ NlnL6f&bUj3J^sCt_3N89GxM%Sk1 z#D7jzUmzhL{lhwO>oN%c4W@4}b^?xvw0A=HZ(eWT5A<>ZO1CB1lZE7mUJB?C^dIOU z|H@3fZ20N#T-Lumb9b$6R_ANk$zUjNp=sn`F}#!E41_`c8G~X|tNW(^H)jk2Xu_U) z6}0VFc=Rr%&b<;9>I>3kmR>?cXM)(=fKpklVWw%f`DJ~tXw*c%P3fVvm^S2AP9L!- z%_9xyPZCOl;zzesF5?_tSxb>`U9+1qpZ)gxY5bdo_ni2Zrcx8P#4?-Sz(SU8^xcWK zzlTGi3lGW< >fL@^m6a8d){vt#XLp#|O)ITe~; z$=%qD8_xVJl>h~m=VXjJ{Kuy(waVmxl`U#eY&vSpr!6!bXZt~;PY5hBx}B@%$7L*y z5uY0;A_LF^$QW_`g`+Mqg{e|0K8$lK9FiOunS`MA@G=cv69d&{pe3h7TLqfGuY`Z% z#8IP+X?IehaBI#loLu;QVQs1dG^+I>Wc%|~reHqpv5thJS;tXngW2)DMlfz)^~qM< zKGwDZx5_{Re(}}%D VEvFRJ3rL*pk~K*xt3OJ?{`{Z($+&8fG`nEf|0(|pi6KDy9ZN#(mi zrrCXaR@T~7A&9z_To4t}=ZS0`r<)bR?kOsOptYTZ^3tBD`#KQOm@O}_9FKtXbSeSM zb!+QwrSl#Hx>+{Q@mzf5Jo=A$`&_d6)HOcwUIxGmeAY8mvro6g91occe_7><&0?;F z+!9J=G$>Xd3Q8~y*zl1ticf_==#jFIi`_aTT6#{e8 z7C&RosIRq>AmW|f(#8_ttqZEDuypi9|2`wKY27i|ZL&|LJ;vjlst C+J%7bPpdlgW_TqG1=}VQ@&^yCJi~rGZhRQBpZTUdhcvwf`NI zZ(ksSclkT6ss6M`HKnvxyGL#MO}f7!Ha5Gp8PMLLv-YzVxPf4=EVwJ((|(hGoU;L4 zML27ZD5c=%Jn1(ed-V_n={Q=ttA3zFTKc&NrHJ*x+^EC8-hg~5tvp3+eOiu>V86T9 z&9#DY?+mfPN>rt8MT!}N{pt@ZMut@F8~Io^vSMx?{Y?-f>?q=Q7VtJ6(Y6_LTdvpJ zLkQ@tEkP!F$nfmjV$jyo)H+_!;lJ)Cy;}>`;7PvXntCh*d3*SZ=`qD$ zS0p^IB{$*|$+Ao*G&-r{1J+UicVNsDJKBDlAdK@#t~g@NVg^`?%u z^Uc@qIudOE_AiH7fs pYmj|m5yrqO}yl8&O*L7k8Qq>xdrd`_A6SKX)t>M XfuvV2pqoheAz=~N|lwhcGizG|J_J9J5%UaBM*1O?RLAgOf zgu&*co&_WAd#>Gyq_;p0&!r55Z)?TpuXT~JV}5mzv)d|mCmlON7O18mY!qDBZPH+h zspuH-eZjtQtwe3mNb^~Z)y2@9-YA;j^Kds8O%9`ZYV`!k4j!a&`TDa;g(}@BgK>R9 z4PcFheOR*{y$s&e|LC%x1%%BbYDzlf$tZ+L_#FOdUSlK`7Mb#htfrNP6pNo~+E6>0 zrWTiWJ3~_k6tqL$n696XMryD0*>(2-1Ixr0Zl)*k=I#QZDFwHZiFi}#dxb~WIYC@g zuuEU|-GNsWX1FE7b% kFUepm+5G+7161R*iB~9=zDFpp7VdPC4!deE z4Tctg#Ts`As&!)6c&z%_B%Q<3Iik;Ogfknc?E$*H{z#-eDs4RP?Ll&n#s^}R7}JTd zRly==q$urQ8ssL0Eb5w^bwPGq+J81Xt$bT#L`YjvV4bpCVO2OxaUXgdhX-^ZmY1{L zeoFfQ)5*=GcMhW59G}$dmznx?O(3$ti4Ql%3oK@Fz@wXMwg87to z#h3!R*Ea4gz0CBY7OIyD-DPO!PoSn!`e?MKhL@8KX-#WPIBS0XmeR82g-lB$;8fO3 zCKHo4K^*y}$EGQ>LL_g&()*64uC-n9T0}7G_ctrhg^)&2y8Q%{gvx#uH#dp4G|)S_ zTaIL_T`XkT21AcnaB@cYr;Sq*zb-j;tg&n@B60>0Q!7r5H+vCs1kcIu$d1U9#SbRf zj!E685rECK{Y#!i)PXliA?AJ!Dhh0%T!fwBZ(vgweuF0UqJh> )c!uq=n7Z;EZ>~Z9c2&wR)U?^K7 z%i(I~--+8V`&qPvO`6caN4$w|(0E(o0GznR!%^75<`^b>g+(;xagP;wUG>^i1+lxs z)Hd>Z9W9;rRuCdkdfxg`qaf-usy1wQi(DCS+d&>0$k_;8{lV$RDo6yQHmUM(z&%}X zMzUcDuA?v~U05Od1%gRwUn?qq_$~CH?eQJ!gT8S6J?ycJSCIhG@L5yeC{iZVSS&1k z9mFAqe|?JE(TE*-C(N)FHQRBjz2)@*BnYtT2?fsYUOdw1qYtS=D?K@jb<0*EObLPW zU2m#GT`hNWYH)9EP|1IfM8sS2Oina#ulkTq@*TY1pI^Q6KQ+(w8|3j@HmLtk@&|1Y z5MTJ88t|!|$>DXFT3#+b{{F{Dx%&6O+-X{BGCoZysj*o=WQqyKl)Go7oY+U -8k&98=C9^=4w2b1k>N zI+HHc9b@-Tn%>dM=6kcF5RGnts?6$0ScqewvYN(g`ME`ZVE-|+IOn?9oH^=nFiFiy z9*X)Bs&8E~KF{O+ChAu~9P?X)D%$rRa4;04gf73~s71Gj?5$o(3ENESLp4br;${|7 zRK~)BSou~RXyIJe+pDkM@GoFu6AS8~znBE8@S4E(tMf +Tg}_d0frrjp zUZ)3ns!m5DFZ2Zzq4e^Ou{K+VwL(y6)eg46k%pH2K}_N!T`eZZ<@nPjQw%liTV2ro z9z@X#bj( A~Pyq$adrhNvf|wlN-)jX=bmuZ?$q{y~) z^)Be~Z@<(rPdSm&L`w30c z{7m=hRu-J&Zs!zoeZhPFQr#z{sfSYU8x9a(9skwWuM~2AWpT576{%CbiEPdLq_oN3 zCU?ByUpV Q=E`FwUKfLEm|RpqEKZ$I z_6W4L=s#ilZu2>hO;pUO& iWZ!g7fJtK% z`okkYBXotZBwUaY^g4VGpi09zoGAbx>0!*nY%uFi(J;a)@B <_eOBJ&5Y23 z6!+iqa8GXidM2QYk-k}w7d-9HKQI4O_p%t>k=@Uqb{6c%bu!5E4UM#&KMdCg!yLu0 zJTVB?+UtYBk-gka+CF1#Buqdf@v|qjwprbkwc3;VmPDCzRymE}4J&mK`T6f!Dx(tG z)+8+3ZYCh#gWhc%fIk5f5Y~)O+_1K^?M>qYNy8Z>v}qrLNVRB{sTQ&D#I20p@9fXE zZAY!Ck1P?i#n7T6ZrNifCSSl8VHpCa-}MuX-MZ}Ql2dKC**In+s}j|M+L-OX>kLkQ zqnzjTKn+FzziR&9%7G6G-VpWqAyc>DzrG-! zI(3fDYh-`9y2}N+v!a6oeI?hw<7p&?2?qHYp``?3qlKO3>8zPpAaj~0SCYaeLO6%o z{1p;?KPP~DW`ZYBHJMStJ1ESSQ3fT^+BT6nW>D0rUZlD-Q_o3*|LMXu4UMIC55sdf zwr{Vl0KLd|1+@nEjM7mMDGV#!#whd5QBzN)@wJe;kj3GTF#CSZ#WS$8)&g=|EgI1Z zL8#G_*~~A&C2<{9pQ7o3lH@ir72AxgrTmC873G(aoY|Sva3MhIG|V{}MWO%Dy}E%= zKeuCo@7?!cvM5cR0{3KupTb%dX~FMTXP?K}g?GXTl crA0 zaKZHJ4`bu%)VVXwC>*ULTy@6ZCzs$JdVorS)b>kb&E-)T)aAg;6e6yA)QU#EVG-ZD z?y9awV$CM?ZF*l|RHIL~qFguRRP8G%im~AQwJ|j xUX zP*k>jy1^Oeds}iQ$YeivFPhGAxCfeC>&jhvHK?(4#!5TBXFB25o%kjK$L7X52ZQ6) zh2+~gwuC}nqO&yywbLouH~8uE(CeB#`T(Ylvj>a1Fv)kT#D_{c+vx4Dxe|3pUq8ji zKoj4q8fWS9GxaIldgunEl*WvaOp@dd80^YNNH6z}L-&n+_3IeJJ*{Q)R1UHyMdGEG zj`D|*zET7I7Qw#)E(oY8IAMlJ_dT^;A=ED~-2`6idk vO##l)%TaQ7d8>{B68RzP*Xs>;rdYL;Cn{}K2l3Jyi!Q=I 3zPY<~;EoQ`5&wbBV?>g#N6dq5htV3QikWd$jnp)y3;p*&hpoD(mvK z747o9m6Q7`1r?uO#hS!qblN&Qg7|kyxDybQ7@ZJ9y*e-Gj=Y*UI9jW}PTa18bE{Jq z<>wx;KN1e9njStyT<_f8<|PX9#-)JfSNxX#%>r`Nmm+nXUN^fXZLx`v1UBwhDYe%e zkFB(*wB-deD sNL(ozXDdz`LJ8Wa;x; z!PY*MJ$FK|qbr&S1S@~Dn2U1PMp!&oW7b$v!s_Vje*DIZEWCkJL8{NiaQM&@k1o7V z(3Hf^V%^pq7z}!(_ZgzWO;jZfJ4-dpf-WE780RM4caLzW^H;d%2j^|lIbwulz>X(u zN$Jr5#CC8^y^`5ri)%jHhr+4GP&IwpXiAisllN=iNUit+g$Vsj(ymV~m0LUlW>TiY zmaY#BPP69j)ym_Vf#IS6!X2;>SAu1nKu}Q1*$NDd#+rMl$52r)_ov-FneON{GegP4 zZ)Bby&zg-td~xG{HYTw6OTReU4QLAuM5xqsvy;(X0zNvwHl^RYuuOC+0bwCsumez` z=5W$cVTK4%7GLF##w``-B4lLag`d>D!orO@?+ZxYmIyXpJKZ;3mHyYBH6?)i|9!*R zL7w{;Cx2wl>-~WJas5m_p7WkY#r`2hz{EWAmoX{lTMIRj`DpW8F7@+mtGgQ`>f -XL!MDaZi$l~ zC4Mnd8yV*%cjBo?Dwm+f+n83RqkL+Uf`*lu7*ejeK24F83A}p}X>taF`v(Nub*KRY z&GjGX2o9w BeSt&-J3Xmu9UeOLsU-ZMCv}3G z!+l7yA6AxhHM$j%K7-YSUYiDX+75Sp-~zkX92GDEAPh!CWK#uS5;UPrx3)DmIk$1Y zfkldl6@MkXFUBYp`3T9l@Z+k)4T-Blz9!5LPog!-d&s0VNIu=9&0BY!H3a2RVsR#m zUMnHTlb8*Z`)`m{t|zJbN-G@_Uuz`y5t43iEq2auzkxlBX0J=RrKz un{bx!3no5b3A~+lW zKzM_tw@?(}VAU?C8{uUKiZlIt*XD=kAjiR)HIE$aa}D2yy`ORWrSp?OI5Y5(?-F;H zz`3OskNb~kRWYKM41**`H)YKEib0*u>(Vg%+mxGyHOYP)7%|$AJfz(Q? 1V>%?5v}Ad4Y#(dC+;Rr%N0XAs#2o6>56mE*{uN z0zB_r{O21FHyFPI^Y@`Q9qd ;>lHZajR6|E02DCA#oT-RD%I|e9@q?>+Y zsWSCqd4k|i$#G>4Sv04}8+4g*JEZ0%sja@sfR{I<)lX56 v> z{?siHl>pS<@-hk4k7gK?qa?B>6I$ZGjFOc(wK_zQ8AUE(u|2<1g!&+9;#!Yld?u`O z!@-n~dPbWab@uC|X<^%)_JLArX9Un5$b@EaU`nAkMAsdj{CC>;&sqeFR;1$%Mq+ug zov3fUe-&jJ>du}Ul{ke)SE86)pXRKa??Wit@-b9BgvZI{i=tj6Liu3$nj@r-NjH6s zgpLIdTkH#FGUZ>)QeyKg3qj3{li) WnAOk1V6XHvybGuApK^_HS}wSx4b7)6a^fam z)2c@ yg!VVpR y>zx99ORDUPgEAwB- zLUNcfa0N&e(UPhoa5TS00 niRuf=`4w)grSFD7^*-#JaG3Q<@>8`GQZr99VezTe|%4K;i zsN`i)hyG1bF!`5 2ui8cx{?OeXH13cQA|DV>)upRl)QW+f z;v~jl@6Ph}1_7=vxUh0*J#WwwSm-7U-%C{=j@Ss0su-h_ec2INm1Z#-BOrFa%Cb0U zVoGhm30kFJ^{FEnH*d_A-H}?8ojnubc{puUzjOG#r6nNkCC@WV@BihoU$Yhk7Fe~~ z{QEAhB_yX-+)6Tk5 9F#>W32M3X zzW}{F>-+Dgq;6!xV)*SR=Yr<+Jpl_sd@K$oTSMKKIf3`f_ifU|82^hO9K0tHfwyo! zUhL6TR`=&r@&|i`_A7u*5s4Avd5{8xCX6Cw(M&O?|F6iduFFYPf4fKXG5ZhS2>cmU zh5FF18p>hJWP$SNgx=W2`jPX?QNCaaBB9u=mQQCQ1^GwxGhC2NMmN~2D&?s3?p3fs z#P%^4f-Ms`A978K>ZqFiYI 1gWd#>wgx#OWu-vaZ` uG$Lv|#;oBVx&x^I0yKghz&K*#vrHBZZv$KXM5e}1cDjXUz>myL4TZpkkx zDJBslm{reALA6tM`E=l?x>+;7Mt9$H0M^-`V97hDBF9f+o~Pb;b=u*MVmkwyTvynN zW+D)$4oaU-vZ?lB{7KSsq1H}53#d0oH!mHU*hgy>b`Q{e=_!`lk&bR{w`*;0ulI}d z(>p6Fi5~CUUNQeYyi2^>Ke3q@xG4?uVtMO5&1v#a_2gu!8SR!3c!Awa)S_yfXzWTG z*^j^Zv%}MmqgbeLSz(0X8il9z;Yy+|<23NWM)m&IA)v05Z(vwN%tWK=j2(;>w_14u z21L7AQTt>1>xa(_dS1}(zTB@OX6 l6H`a%3#}Unk`ANFzDRMN+xABL&*l7MGCfYf2ju0_zC%o5$_6Y9fp!mh$ zN@0ucqm>;B7!9hx0hupKP<+g!TzV``{rXvfu;9!%f1YPj&E&Z}ER}wfBsMakHYQga zIT#6#)vC+NFn^DFJF1qHdJ}j?bh%|AJA$ lMc+lSpJF5XZ(mZSpum zue0k8Z;`OQ4J9*E({@ASD4jL_Nyb;qiW5`>t%J5lv_<*jPM{Mwk?CAxKsfiH1CfSj zZyez4FA2cUBTwc6h *cED6SyFQ zr`?^A;?n_=uaAaV1!Ax~z#j3yU+! #Bbl3E)`4V*Whc4R)Vgg!OQMZ;WrY>SB5h)SZZ 0c5@ z Uz4EXv@Np7N&l-g z5v0!JX7r2peaPU{Wgj!s8Y6($^K$+JsQIBwrD=paYng9HzKh%X!?|q-MOG$@Ohs?I zvc0DA-u^h05rO65gz<-ug8MKMJxoIngY;2<(@pLlSzW3v8GPaGr5Z>Y84EgKHa|~Z z-9B0PW(q46iVU2k?n<_pX~$@<23jSSWgV=qg%3=?u*3Ajv#8<68j{hTy=*V@$n5N} z+T{ IbVJ$D4XNBhtv%0A6r %pwxre_+AUs3^y zUp#2lKzhD=7F+otT^3OciOe7y( Ql^`Sx-P5Kyw~q7JDNc+wSNmj zo)2o?$<4=xVv@CHQL$V&D+a=U{HV>CJPBIRSwIEI-sRPy|H$bPq~G+qnXU{2+%PP; z?ee%V4L0C1nE6j#96dN&pNZw3$N9G=*u711zDCgWfDy<)bB>`G`o! O~MUjz`{7O1iVcYMXM(w<%8%J0ozwyLtVY&op*tp zpC%xnr9rkvc;ajd$bSlZyAVv3-$;Alk`VuYb^kkLb^FbTxAL0LNbkwYGS3?+7kx#- zo@P_Xv;cS->8r^HNc?6ycyWSwuS}pTrQIVb(w`V)o+x3-?tx>4<)Ur9c{82Qmah`2 z;%!(<0|Sj+$D (N!&PRD)>Rz9x zM9y(M)mU2{P-~oqbymh7Se6%Wd>()AkxccqQ`}vrXSvXsjKjlMd5G+m=%Su5aPjX$ z@!3Nl$N3@e2R21$w+cVKwRG?ohWFw2fIQ1Fm-#ZMW{6d4R==fke8s(ul0ioy#TT2L zp7zCv3k94yT$d<>v|jg`YY>j#i1LSC<6w=3-QZ6za^|rV3gDKglTpT-Qozo(_*W)$ zEqv)X-3P{> (jOhPfI#=Z<{E74TU`6h}E_Clr zOBs=fXwQ;^Ff`exb8*7K1L%rVkMTX67^5j$w_oC^K)tBTK`B~}A>sJF^4z<~mmqdN z>)(-9+HrF@?SFt^1Q44&-40PE;kHD($Is%q&}+nmvP^7NTpB`+qk9f#XN$Y;zjYxF z={kQbQ1d^RcGalF-T#wEC15tbLHfiH{x6ems=?@aUGEEINK^T 3?Wcr)8;V z-{}xbOJ7U(469yApxy>_>D>D>slT-#20);6ihU0qe@`A34$tRelQ*$4W&{g%l r~qku(|D+WJVjv!6MvvC2W=hsZ;Zaljn5?*94&2a(QQ?ygg-^7hL_=S-vJr zAF%F&uUeoT)6u9LUSy%6%t&9YT*(0B@E4)#{Q5@2gLR)^_B*N4X!-t#BQyJe-;8XE z0@>|WuvRV{GQVb^tOyY&oBuFUpx@%E|3TE?42VN^)W-`wW-n@^M9`bQT4X2gJ%-YQ z8yz%q*F3wHOgC!F-Hx8fV%dUcX_Dug@;P%72+r4nXKU>@8{_KqsBGr=A&EbIIm1JR zdXbF}Mq7Xe``xb+NhMl0$eAccj!Q#>>9>wgN;^Me1apazF%lAv=1%`feGVDF1Jc@1 z%E!G=0FV2{m^|b}z5IcP3hM9*-*K-6txp%v`bRGBGbnj5zVjC*_{S !6>Tbc$(<~Q?uH03)V zM)Lcjp7;6LygJEK_1hCNMKXW%z_)sU9mcoNcxdHvDk-v+&aLy5^Y2Ry#Q{z!g&t+7 z<+#Qnv2>cvChf5$Wo{Zv^Id-;zu>h?dTP-Th6-GoVvN0L6F %KCafj=@w8F*YlC0~NdT CkRJ2dUTWh-stgsHQ7D|SR`CcBza11|RMz! j_5~d|Ff``6)r(Mq)KD{CtEy6Ybz^Lm`gBaWkY7&!<9La<>Po zOnb=iZd3V@DdKgeo;9Ob5(4>L!KJ3B8nYWR4r*#4SI7mpYka-cd^;E%<1QF5bC;tA zMsB*Nv(-KFD9kL~&>c( 8{2 s0Uo|^wV8wM(42KB45OA}VB3D#MqAe55vF`WlAE?w{4UkP4o#GeYs^>V=*5Dfz* zqGcuDwba2ar^9igoE0-J!XoqQdD 0pWU>;6nx3h~J} zV|SgJ!}WZRWlJ8Gp-iWa$D y`~8gnR+aY z5ZpM8gPv#pWip3TVk;*;jk*w}zjD lr`L0cF84z; !|+C)#j(-EACKw2V69agV<_20P~Y zb@w%rNlX!Ri13Vq{Y(sY>FZuf+GR>^qX=CdFSobH8X9e>5LCM!j{jc^;Og*Op0|mj zRhr*A-us*>;-1PJvrKiJ=Qy zR&6IC+Aq0(YdoKrx^DgNx`(?$$92x_r(^j!{Itm7#RI8hRJS%TSfnRdl%C5GUEJ-E zyuY<>bUM}6B7C}iBILLzJ2WvBuUW%rSwvz4Q*Q!iJf!HbJfmBK2_tC FQwy7nN z4`D*uJ9~-6Z1V$Sk@KDkztt}z#-7(cfyvW;A1xH1^Luen9m(2@!O6wBXG9kt!o*?T z@U^^)04Km4G~@YO-keG(A=c>SmW0fVOailfP5cF77dz*)_nWtC&qGW9fy}S>1qgSi zDIDVV6^e@vb1v6Dc<>$#B*t~=rv#1%J%1IqUMED{gZdRXb%j-RG>$^COT(I&X7@P% z=!NFd(pD^E+Njs=FrO&-Y*UM#^F6>tQlf%%FyV+E`Y2J~=Bo=H?OMkQQ?Ag;+);uS zQ;%JYg0oW6;pUzwm;l!f)bqG@{KSRM-7^?3V_s$lal!Nh%mSyP*TWtCGRJ#?wP#iL z=T+}*MgcF-(J3l1@6%}44Xyv{sr0J`$v^B#aAx2xHJCv2>U#uesGF7bYCBcG^S$%2 z^Rc)Ow5coxip0`;O!v?XkbM(c7W$F_?fEiwbbI+qychXiy$|kR-I?KT_w4_R2P|)L zeK^s_jaJVgo$}K;*E&n?-O8`xRQb(d*qU}-i4)M@8wW ZT^5-umiK6=zhWie*gU*TfW_YtkVJ zfa>wq8QN^6eZgU&c?8}i?h5JQA8SeUQSGVn_I&D#{V#ODt2MKTxay^!n4v*##~}x- z6up4}IRrZXmCS*sr77WAl!ztsl+br4Y JiWwC zn-twm@vjKf`uVt;gH?ELbae0Z?{$VbCOSKb-kI;R{#+7ymhTr?b{l)HhM4kWKb7sC z;S?cGP4oUHh5M5?!g{(46UY8hKOSBeWQ(QUFu}u1mqrwGNuT;PdoAd)8#S5#XdT0+ z;$0;Ej#FN+oU;Pi_3(fm6f`+ihL|&=pk}@hlUUIm;+KSX?K*U4E>z+|U@_EP*87eu z+cM;kU*H$RxMy^1*C|Tw209a^uEu6{8T|Bra!PYj%>EirR#Pi+3Ll10_X+>GO`r9M z@GCt>yB2cPGIdA>Pm*i=5XJtyg;2oz5Z+9FP)BxCB#?bHt$mVtxs(R*Kzgi;8Hrv{ z(%~M8+Zi_THg=?JYyEUGbjrM*UI&hv^Ua`MOtfs-f&Cv%XW zbJ}=e!3tu>rFEiapsZxg >BL@4KIS0;W2q{;@m1qDG%NlbjVj>Olm?wPx lZ+6TYfzw7PQf&Xx7{>g`M+h()|`8CSUH(Yw5?%&LNsuk;gTX8s1N?C}FCj zkg=I=*KNDF9 {S-6R^588!R_tDoD8Ys9;7rC&J0^W*K)obXa!t+e!+ T66^^W|J#nPHA#;zlfx`9#UD45&JAk1EoT^;*&tc)!0 zHcyPHv(zj;-XC1P3Ft hbQ6o|& JKZOjoe}V^N=A zRm#n+Jb#C-NFg9Abf)iN5!%dfX?-`YC$d{pfUEFKP+vU9K^=kZhgnN_dqpL{s$a{+ z`7A#;FhEjO_B~!}`^&-Z>^Wp%s>vzYN#6Kv(kVD9HKhTuNi~{HLF2S{r*2#jT=sxS zt8Iag-N;C?wlAVu*#BB4fQyg}FNB-w&iI=t1Q9ZrsqOQNtsmD^c=wGD^jw#@(bDUG zl^0h7W#4iKm1Ud$-~Vc_NoJ_TW|HQkdgK*Q^HyV3&&*1O_Q2O(H549 O&n0lp0?=UE0T=IFd-77(JH%GLL`; z!#m6Fu(|LKzCC584w?1|BdSayEh?XDkjdkN)r+J*sD~@9r`W2EOgVGw*H<|o*)llY zRgb5hC1tDVq-{QK=1(ceK21+_pY)vuhn+JGygTH#t`TeA%k13}yzjA_o)xD4>gR>P ztSf#`*TD1dXIo$N90CQ|4ssA9y3whXqz 4X&W*fwz~o> B?<1M^h{}T0Hi%D4bGAL-gJ9Efo%7$ps9cQC {zEEY~w-T9m_M!d1d5 zyiCPe@AShyd?GZWxtJa(a8`D*Yx6gmJkTmRzNHY-wiztaV|u%Ias>{=2Q2CSHP*YO zVnQ@uz+GfR1dzKl%ZtfS&c*xZxe(Mzmet##qHff76Uym(o5^`sj*dp=tTByQsmN8I zXCAoh(o2JeB6G7SO^^QmY5}o)<>OV;;%df`5_F+R%-WPjPjuOJ&B2e4WJe!k>?qN2 z0O1{#m>H4~9M Bo0zAZHphJ(6|2cw!6+xgM+q&ybOoj#6SLVe7SpLipI?I4jl(N8SOIkAc9A4 z4oS{eyKaWxX6vb1-o*d*Ja5l7(H8Cn>}j?{ k+P zvHpOutfixJ57^Iuy>v~d!5Nuv%38~-aXv{qmLOvW;+NAc52du&=_98osL1%2)+r>k z66?^{jOej@u*O6a@;0(WG{ug(3M76uQ(v+bQ`{dNL+gnZEF0k=k_R}JhK$DjVBP&k zD$0 |;##;jsj~u0X$8dmk?u$tMZ9?vORM#56c%5QV`2|MdwEk=rN4^O&LjKo>-r5~F zS^ h$RI7EpEuF{9Xb+A`KXFxK@u>K&~((v!t;XPVw0oba%Tg zlDnA$6*$V9( L3@;1sg@Zi(O|5KtZm;VUfVBz~4oK^Aq;sC6H90 f)rQo^+P}Ijm9tiVwc9GA(x^06qXaGg%Dx_#$25s6ZKr;&x-aQBY%${cM_f5) zw9Z#N6$f4Su@=D0pM-p7w#iH9(;vWRAf5Fn<{%3stu6apif3WX%g*PTl80XCzppDt z7Pb&WwvMURRhNW=ksS&ddm}^sIf^{bvs_XVY9COg#jPe7th2@WMT2M4dL1jlEm6Fo zlZ)5p&@%zg#D}33q*_c%6xGR*eXoy^i`rX urrRK;O*y~v($ndjTjO^88uhJHjpOkp}IXXU3XN1d*MviZm(c{{sFUmoO% zztXHu$pH`x`c@uv+u1?m8KfD8Gv-`FDJ(tH)6l!JMT;wh@Z%RQ62?;5bZZC8?`xW< zwilUX5)hR5cPq1slg)F7s(`?`QQbt)z-k^nvQDrV-tuV_`Oja_e )i_0!{L&Xr#kUbu?G9h_mD39Kohbr3T?x;W zs^y!AN N+pDKg5M&v3y~P z{y|l#I}>`J74>3013Rv$Dfpcc^&;t;yz=VT0}%YKT|RbPlG$7%HSe2DqTI%zneeYm zr$TfvzJLWdh%Gj9V=(vWeXL`vAv51${?L!_wpTju-`j^dw^H0Qh5tU*3Cid MuvDuBuI*-E_3>vB!t& zUfwio>CCBESL}DO_Ai!ZF4ZnqRtO^kBA=4-`eYU%7onKbph+qwP*M2Jk)IMwAAi6M z{5S9e#4 -d7HHighHUsN!WTfPqA4enpSI z)ly8_;_%X}f!F5uHbP3EQO6c<-Ja99!E<$yyfY6*f|0el?@lZ)$LsOAHChBObGq1; zl8nXSUT921CxL%*w5 zgH3DGdgEvF_@KMRVfdNZu_XOMAra5$$geME((uBB6xY8!l-~R0u0vv{1a3!w^mYb# z!j`I=hEBhD10S@W|1Lrrs7O1&o6$N(B*@D%@W}Ku4oiaMLWFo5D00+K*6Z>}%{9k5 z-${qW?83F4apIlrx3?KTC>)RQ WP#avczwBlbkJ?w5^ zcO6u@1fD3Z-&K &b>s}b+sM_Bj*wdXaATo>vw2OLC;MB$TJ_AL0DO N$ac>eCuN8&k!L|Kp9hLn6XHmw}*8Lt)E1l9S@ z1#9`ZN4%M2!!&ZxERfg|@kI^FX1X%)m(o8S030YQwg!)4RAv+I^e@NF4`?^&3vhK- z%;e;?aq^-MZL$;bZj%zswTPh5{cBA=O1`R2<65k(8+*1&ySkiFSWAK882cU0%HRlE zWs{bx8!|hbHl(3g{w@qvHLUg~tm~aiK&!IEc^V@k_Hibr0G&468_S=1;u;jNc8#(M zcC{jV5yiXeg+!{)X89Tc!Qzzr g|Eu;zWK=`eYIZ|`t=o@D9=mvGpO zZH|?pVm$<#xLzC!3XdP&Mvw(m43HVSBby#iQ_2qoim%LozP7xs4#F9;w4YUIJE|Pf z%Yc^23o`0^?!PFjVI#dy4I^5Hu(6s=4iW>Xpn6)id(m60K1 h&&?RsXH79lW%> iy & z*|p*riJf0fFoD5>mg} gYeB>3tbKIf;yTd5hr#j$$6X6(0~j(saUuP1ru zV`qsubL~~iV?`k*PGs*8#}TYV_`xl<>4R5Tc~KovTa#+jfr|g0q`#ww`!5Y `DyI3^j^Q86^|+KMUF-+uDTPoY*CK?1SP4qKwYi6geID@$sD7^8s?ThwxquLr z%47bh$)N|_@a!g_u1)nP#F2E}>%0klNqHLY@IT#Zkx|gAm}KlFe5b)sK750hEHtsV zwU3$RIyi+B446%H3F3VHeW)O&zbb)6uQ^p~xON?VQW7x7&Jf;`z5Jn?Ykx@b#*@r4 zCe$3(sNs46n4kBZrDzpgkMcl1F2M{ZQ2)S&yY<^Q50LGq96Yo_^-=d5_fkTN@(v`u z1FrB@D;YLQc>{bY@acXYTG@c!w*)?pn?eJ2w(G?H*D$KS9TuZrXQ-nz|IZs9|3911 z8~fn#;ouqi`qL6hq5SP^L>-?;d#S4=Y~Vtg+xKv~Uj=&eEM0I7gvpMeBM7E-H<;*Q znhjMFvxa&6?b8%3MVaH9)U1sE$D;9#!&r37Fz2I@!niCk5~NBRG0AU=&6x$NQ$b2v z2M~>8d`$n#m#k$LR;-_!3l57B_ vVj RSa%1qOf;TKAXQ;$e97Ee4t6-$@78#`VrZvCX9Ru!++G2hV331q%3FjS!d}6sA z5G{Y+-Q5;y FK<1q0UGIiYrzGzTM(GQ^A%n1Fmu&&^;OTq?WySegwHdF}t z<9lQORGyc=I#Z4&3`0w0H^@9L3Ak3ZQva8KummSTd3o -ga5h9W3e2EpL6MQ=%fE9IB{8Trt6wK6@jW?sI<_4 z=RUcjpV4^(%7xK(F}<^2pFLr#*WJ|D!s-v@EG^$+L|z4p!rF6?m)V##A2nVyKs9s~ z)@);}iyT=j?|(V5B4P$Q7J^AEp9Xs6)daOQ@>YJQtYHix6gv?3y0XU7uSC&A;(t1M z$;bB0aFJT&XeEA)P69~Bg4N Gg| z7>IsnNhofbVB#oTcIc=(8+)RC$@0WAY$y5w?Yz|xAiIE{$NS_=&^SaCE-;jUhb{EO z((&%l>@b(C0eVA#aXmr(8Cds~sxLZ+SQNe|Xf0|EyC5ck#pc@iUoWk0+nvv=p%Qp6 z#S-9>vUHtABPmt9N}zK||EchWLgvK)H*tXZbn~e37QHU9_}f?dM@v9qcwBBDmL9Dl zy-lQStH#3jx=ytAHQ5E{d50Cc*qU*Q!>%F=GY?xbHuJNVLyMgGPF-aCT6MMAsIRzZ z3sEy7H?)3BxoHgPT5f$w|5T(iB_8(%edE+W+HL1M6055+x <3cGzlNH2*ntfNztW!0^nFdGwD6a?p$s ckCZH{gAsqS_Y)$K#&&|bJlb}j>oBy~T|8JFX%~pR3m@8Y13(m+9F9!$ zdI`-Esgh%vaCeCYa0xHJw50u?EAm|;8_gu=F?3eRsYt@|DL@r z-{p)l_q7$E>mLlH2m4q9XSMpJ_sQ~PQn-8YQ}plSDLE*$?@BPN3P2FcTQ4Q}!?4%^ z-g1u!n%Ke?n_ !QhSm#!8krH*p)dJMbRhM}WGb6MsH6Du(& zLHL-xY8?K5Sb~HJnQ>JJYZI(m)XT^x Vb!JhmwI?Bw3WLHgJSY z_3b!ig474s0C~cjx&}2kmgdX)vMqv74XTZz-haUG=cg0$NC4L*dZE~ak`~%D!bBC5 z7r_ oP;%lCfay?Xzcf*wIr|oUW`BGlN zCqgojFpI)m{lkXX2?7v92emv(V_n13X*Q;^0rB_)5!*?@4|>IW8LQg4jXMHP+ui@~ z1pwP#2S2O94BzgBAG~7auhwaLCuF9qk-wCybGtv7a-+yYC0iz^V9;Tyt5LD;G|Be= zxkW)RtIe0^;ko|V|NYg2aLFJJDX%f0-y0hk3~Z0A0#Bvu+`+LZ>x3ss?&;u$7hLMf zQJ8-pPll482f}amUF~-?Y#vwrg?#!iP3z{(EX76`9*~v1FAYnRHp2PDroVG?(Hux# z^F`Nw{u)mU;Did#&x|j3CeT=|bI_cv+E_V!h>A|lRG?uD`o03f(Nr)N)h&ruE8o^v z$I0YAiPdn@*yVks`6^VSSVZuZK%sWX{MBKP+&o4fmDPA;c{5n@nxy#MQFtU3#ZD)0 zOy@c8WE`uZHM~*RXV1^y6#G8tGJA*bV*s;_F(m7GNM{XtY$ %QS&1TFA-%nJExc ztdqT4^74UC<8Y**3b{&<`J{J}W_f@36oZgvLRg=>%S=qkYcLWL!wp(0TJVwe0njOC z{ZOX2AtXIu+t|VE7^7j&{y^hPw!{DG8nR>%tsI5znec%a1=4-Jw4Qx(lN+%a(SCkU z>wS+Lnw)?|A cYwAN~l;j5HN1$7gsj)fY!F-him@e&0%E$&ux)r0zD)Sh-@ RX6GOBZJ{#w!n4}C2uBA2@*s2S#PrU7?bDMuE3D+0m_ zrX@*BmS$2euCz>hjG1}s oZ`&_y5i=S8tAd`r%`6-_7k1AZ#INe2QQpBz2t@m!BJ+YLp$TwgTiQNe8 zx37|JctzcZ)=?u@#xlD|?!O&J93zh0E0a+TdoICF4F+{zTBPC~k#4<^ye#wNSL!6N zBk;yFjrSYp;NAY#POM4i^*jWg{9RhhL)*0Kc}(~QW!_}7YJ1O45 FXLNNhd4R&X6p8>PPLPueK-96v= z6(UWqKQmk=sE3XtZJIN^)?7_?-y7mSHn8RV3em)h{w-x))R^*ya@zPsE}(v|ZaqXu zqC=5#>B1V<81torrJuzFGo2Mg!`b8(%X{&;_3lBQ^ZEy;li&yiH`D;mR^D9LF0Px& z8dFZJy-WEnW-=RY6ZMf8_wXw1itS#E%n3fmn>j~hYqQ=t&k#y;GC;CAiS#X!dS?C< zbv&;&p<2MbefU-$A!s?d{0-b4)A}ujaco}&`XMpD zFwbGT=m zebl%-2EEGGqy>*a_|g#6F;q;hMzf0frNWvFoIEA~xq}L;N8UWSOiUa+e>KtUqnJ0W zF~;RPbi0)e>rhpp^-JbfvL+(Wfe7}JhR;4|Pv3FPZ8~~u=vO}K?ZTn7qy^j5u2mPf z^2X0(1Pazm>K05pRU}=HqEp@aVXIk_HK d-H zjOEjJ1*LvCbe?@Qax120t7+=?-DYwRks %# zN_ng#{=Wh9SrQTOG!nIu;c^e-BEasNh50h;B#a?^LAVW>3L_7Z4G9aWK$O}7Z#*4@ z2ES7AL?+LTwx}dD$zy3&OqcuChHe~}StB7dvM1-7v~ej{Y-%Dd8dh4$cO&@d 5 zcIKLfpL|ocKuf7OClqPdvCbg2!M_x&B@RL=*W {ZX3>sKD)_-v*vvKD`ZP7U2r zx}Mx?*Pbpv7w;IE6DkuMsU#)EIfQU9242=7dfRh~h0CN= WVlHC`d!DI#K57WREL^&vGQ0gouQ*jr9&g0~)!a0v*0`nOs4?j(NN z9ckm`4QnjfWZd?!a89gka^IF;9OdDKONl%lq&JoiO%hOd-PQ3|Yc$%mqAN^DXuY{7 zJ@nSKzBg?gC2J%S_H}Mp<(0nXNm#w645AP!q$5zT%`RLvC7@~z6!hL@XLkKca Y2c5jPN352U=wr8PUMkRmuj{So5SF3pv%NoBQ&2^tu4S ziw4etkE@gy=M(xHW-w!^6e|>hmEugrr|%@MO)e=)_lD IVLrTY{P0F!4bz zE-JtENNB7MdiBDw2@80FYzIRj+^;jHtK)#z|FtGv5B#n#NSgt{6japIWWN1aoiM}; z*iR5GY!pNfd;cpIERL?3+z2u-T_&U I%&A%UQ={YeoS+DPy`3jEFGEi; z D+tqR2C(F<276PK}j<@_qOEwh^knNLLjDDytl z9{C4+37p~Mth;JdwF_yST3o{>Lez5goT}>#9yrh Ccki*HlvQq%eIw|Ux*co zAvW&@O2{ypeF-wL0mD sDc%Cqmw6Qa6WJQneXQ*s?)e7(;XL7m#b*0M#yC&L0E zCR@9Fh>9`xD5tq6LbpWwVT-WSY4?7j4-y-kQbgpZFO$^zbnn|!IDZoL@h~zTfRKP~ zM?odo{2BW4Qw}7TSDU+0`q8 #wWlZBSk~*}5h@B)7rbf~@nr467$9+UQv$JxYWwz|= zRhiYAA6Fb4uhbrF9<)Dx3r)R4@DcbEsw0dh?t47H(rfh90*Fxl%)0@PS8Yp?e10NI z!xG}MKk;_NFG>=3{_Mqh&t| RazW}yRWUuc^qF9E;k*3yNK~gTxK60 zWHx=7VtncbAz7jwU8!144SpD!knn Vu-PPm=3PL5vf-g2b$czjYIMi3r zJ8hd|M>UzeCE8${eQBPncMpg6J9%iW9^T^mt@zI;i;Gw|t{#E)GkOI<3~!u;_g&-A z9%b$>-&YdgeO zDJnZTj~ Ss?__Iux2 z;}W5~$B$y4%`z$A9hKafTz~M$`*hYTT{Ty)=O1Q96n|GBdUy&DBWu9>howonzH(e> zlHfvncIBN|biBKQeZXQVWRbJpniXU>gr7qfM?&J?q$~L43