From 20fba6610fc3075c048ea41ce2e8a2618c0b5360 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Sat, 27 Jun 2026 05:05:41 -0700 Subject: [PATCH 1/4] ui: add v9.6 assets, update misc resources --- README.md | 2 +- REUSE.toml | 9 +- docs/assets/favicon.png | Bin 0 -> 48773 bytes docs/assets/github_header.png | Bin 162038 -> 0 bytes docs/assets/icon.ico | Bin 370070 -> 0 bytes docs/assets/icon.png | Bin 693030 -> 0 bytes docs/assets/icon_mono.svg | 9 +- docs/assets/tag_bubbles.png | Bin 134762 -> 160006 bytes docs/assets/tagstudio_logo-text_color.png | Bin 239898 -> 100 bytes mkdocs.yml | 2 +- src/tagstudio/core/library/alchemy/enums.py | 2 +- src/tagstudio/qt/global_settings.py | 1 + src/tagstudio/qt/helpers/color_overlay.py | 7 +- src/tagstudio/qt/mixed/about_modal.py | 19 +- src/tagstudio/qt/mixed/field_widget.py | 36 ++- src/tagstudio/qt/mixed/item_thumb.py | 48 ++-- src/tagstudio/qt/mixed/landing.py | 48 ++-- src/tagstudio/qt/mixed/media_player.py | 77 +++--- src/tagstudio/qt/mixed/pagination.py | 4 +- src/tagstudio/qt/mixed/settings_panel.py | 1 + src/tagstudio/qt/previews/renderer.py | 16 +- src/tagstudio/qt/resource_manager.py | 70 +++--- src/tagstudio/qt/resource_manager.pyi | 62 +++++ src/tagstudio/qt/resources.json | 220 ++++++++++-------- src/tagstudio/qt/resources.qrc | 3 - .../qt/views/library_info_window_view.py | 6 +- src/tagstudio/qt/views/main_window.py | 4 +- src/tagstudio/qt/views/splash.py | 63 +++-- src/tagstudio/resources/icon.icns | Bin 1024079 -> 2487208 bytes src/tagstudio/resources/icon.ico | Bin 370070 -> 43847 bytes src/tagstudio/resources/icon.png | Bin 693030 -> 116388 bytes .../qt/images/box_icon_empty_128 - Copy.png | Bin 3349 -> 0 bytes .../qt/images/box_icon_filled_128 - Copy.png | Bin 3756 -> 0 bytes .../qt/images/bxs-clipboard-regular.png | Bin 0 -> 991 bytes .../resources/qt/images/bxs-pencil-solid.png | Bin 0 -> 1404 bytes .../resources/qt/images/bxs-trash-solid.png | Bin 0 -> 993 bytes .../qt/images/bxs-volume-full-solid.png | Bin 0 -> 2238 bytes .../qt/images/bxs-volume-mute-solid.png | Bin 0 -> 2763 bytes .../qt/images/clipboard_icon_128.png | Bin 4075 -> 0 bytes .../resources/qt/images/edit_icon_128.png | Bin 3026 -> 0 bytes .../qt/images/edit_icon_dark_128.png | Bin 2042 -> 0 bytes src/tagstudio/resources/qt/images/pause.png | Bin 0 -> 2055 bytes src/tagstudio/resources/qt/images/pause.svg | 1 - src/tagstudio/resources/qt/images/play.svg | 1 - .../resources/qt/images/splash/aurora.png | Bin 0 -> 812451 bytes .../qt/images/splitter_handle_128.png | Bin 2206 -> 0 bytes .../qt/images/star_icon_empty_128 - Copy.png | Bin 5689 -> 0 bytes .../qt/images/star_icon_filled_128 - Copy.png | Bin 6804 -> 0 bytes .../qt/images/tag_group_icon_128.png | Bin 6222 -> 0 bytes .../qt/images/tag_group_icon_dark_128.png | Bin 5254 -> 0 bytes .../qt/images/tagstudio_logo-text_color.png | Bin 0 -> 199447 bytes .../qt/images/tagstudio_logo-text_mono.png | Bin 0 -> 57500 bytes .../qt/images/tagstudio_logo_text_mono.png | Bin 43358 -> 0 bytes .../resources/qt/images/trash_icon_128.png | Bin 2974 -> 0 bytes .../qt/images/trash_icon_dark_128.png | Bin 1036 -> 0 bytes src/tagstudio/resources/qt/images/volume.svg | 1 - .../resources/qt/images/volume_mute.svg | 1 - src/tagstudio/resources/translations/en.json | 42 ++-- tests/qt/test_resource_manager.py | 2 +- 59 files changed, 417 insertions(+), 340 deletions(-) create mode 100644 docs/assets/favicon.png delete mode 100644 docs/assets/github_header.png delete mode 100644 docs/assets/icon.ico delete mode 100644 docs/assets/icon.png mode change 100644 => 120000 docs/assets/tagstudio_logo-text_color.png create mode 100644 src/tagstudio/qt/resource_manager.pyi delete mode 100644 src/tagstudio/resources/qt/images/box_icon_empty_128 - Copy.png delete mode 100644 src/tagstudio/resources/qt/images/box_icon_filled_128 - Copy.png create mode 100644 src/tagstudio/resources/qt/images/bxs-clipboard-regular.png create mode 100644 src/tagstudio/resources/qt/images/bxs-pencil-solid.png create mode 100644 src/tagstudio/resources/qt/images/bxs-trash-solid.png create mode 100644 src/tagstudio/resources/qt/images/bxs-volume-full-solid.png create mode 100644 src/tagstudio/resources/qt/images/bxs-volume-mute-solid.png delete mode 100644 src/tagstudio/resources/qt/images/clipboard_icon_128.png delete mode 100644 src/tagstudio/resources/qt/images/edit_icon_128.png delete mode 100644 src/tagstudio/resources/qt/images/edit_icon_dark_128.png create mode 100644 src/tagstudio/resources/qt/images/pause.png delete mode 100644 src/tagstudio/resources/qt/images/pause.svg delete mode 100644 src/tagstudio/resources/qt/images/play.svg create mode 100644 src/tagstudio/resources/qt/images/splash/aurora.png delete mode 100644 src/tagstudio/resources/qt/images/splitter_handle_128.png delete mode 100644 src/tagstudio/resources/qt/images/star_icon_empty_128 - Copy.png delete mode 100644 src/tagstudio/resources/qt/images/star_icon_filled_128 - Copy.png delete mode 100644 src/tagstudio/resources/qt/images/tag_group_icon_128.png delete mode 100644 src/tagstudio/resources/qt/images/tag_group_icon_dark_128.png create mode 100644 src/tagstudio/resources/qt/images/tagstudio_logo-text_color.png create mode 100644 src/tagstudio/resources/qt/images/tagstudio_logo-text_mono.png delete mode 100644 src/tagstudio/resources/qt/images/tagstudio_logo_text_mono.png delete mode 100644 src/tagstudio/resources/qt/images/trash_icon_128.png delete mode 100644 src/tagstudio/resources/qt/images/trash_icon_dark_128.png delete mode 100644 src/tagstudio/resources/qt/images/volume.svg delete mode 100644 src/tagstudio/resources/qt/images/volume_mute.svg diff --git a/README.md b/README.md index 2d685ee91..955e4c20a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [](https://github.com/TagStudioDev/TagStudio/actions/workflows/ruff.yaml)
-
+
(U)9FscZ9MCQ(zxeE7Qn(JW5bI0}nm zvd{Fvf{9p6qn5ksM}+P8JC*CsN{w*TZ3F_aNifKZkFXUOR&2?l|d1rF?t zdg)hpo-3Zjw8Dnr1P>n OCUMnl!@)TZiIZ{Gc` z4YW6~p=vZQpMoS4tXyeCtx}4n!)5K_dfGd{nyVj>EWIU@yS=W-*Di{Vs|v^&^=p2) z*`ix=gC7Wgw_|=kyv#bv(b-Jv_*Iw)c%5tjIJ@?uOs6&MYggr;iJT|?enE-#;QRJh z9&Yegl}~yLVtJz_A!`%os75}FQmet~M`4niF`cj#a>NM 4Nf+#{nko6N9#^Q>p1T$q@2cfXO}oPCbQ4&jouEqRx>BHnQuv;Ov&6fX(v z_5tiR;cSFJg!jFwpse)Q*C&sH^tH&Ut$>cSjEC)4d4YM(l wJt8S3`kzP%J5OZr=6wtn>&EK?8)n$ z&$`?h3l^-s?jQYFUVA~L=o>ql^Jem=@D~;lec&`f&PDla`UunuVfDJtRH}AT=G0s} zB+Ss;i^x>Pu|OzP)8V1y_4jD=;N;?+W6lDXBLp!YKtwEh2G{=wt3Xu0J7BGWhM(Ts z-E!&w+agDpNn-c%-2GA#NE;7{X2pt0M#YcUZMyd*pB*S9fVuZ5LzoH_7JyrD%k`?M zBF`VJns2D*tLG}%uTUnZ0&T$$ibc%}`O3`8s8hCXzaeYbW2n)p&*bexGXEcc9|2Lg zYa0c-?}whB))Bz&lvppjBbQx?6b%o4C2ktz+-PlBngk3m5!ZoR5GuP9f~R=D?$ zJSI?AWxowkZfRu%R>4ru)fd|op@KIY4rg@v1SQjhVGqO38p!Gslp=c0`vSd7mXUQT zqMfF9R)HoPi8y;#mISW7Z))qs-{}bhgWijC&zEHejN3LDRasTH`R fH(o!WC(#v;P=-le^_vji0Ix-K}g3$GH8bO&UmA vciF7R^yj+|?8~lI(MM(H_~6&sjTI-f9>?X=F06|7D*=Ab=NG{}2ko z8~T 9J^ P(S{1Jz;D!T?$N&-7S`3d?L&I2t-Ad3k&5+Ga7 z=g{<%`?_1N{P8*}Ns@Ik>IQXmCZR_>wp^|O5y@TA)?dA(x*Q+c1qijjs@~SD+uINH zhJ%^@)%ky&ZJ*zCG*?Z(xElNu@y!0Pl22k0&~h4#{eZ6xU63bghsmFWh9k&!9 e=?Oj-nPa(8inRA3@a&*#o%V9u=E63FhSGBU`? zD 4)Word= zm*#I7iT1BPQbzo9?|**N(R^k4r9>*qKknw*;137rY V`7r>;=cU@;5K$g3Y zG}|xzEPYGT6rs@~9hmw5E-;ALZb{&0_a8pyf@`+rLp+o9CxHAWY`G{Q8#zrvRaWY) zzkW#!LspvrOilpKVnV(@vAr#t)Oa8_tEK&=>F?$KQ5@T{gs;xHijuC&-+ci7tUZ6& zlaGPc*F)3E_9Lo5(o4?f28hKr1sxxN=A-3n@aJ-SIPHEIw%U3Eu7AEkwR?fo^r?g8 z5J(j}gqPAV=XjVluNaJSo0opG(}rzu`+X@1Xk{${c|UipTF(`dTyE42{%k5I0j1!q zPB?3l(EfIwcIxS_Ycdl&T^3{zDRzGLZ|FT?vC#VNBet%ARyhfPAOS_wwGVWTx!{_f zth;ght;jCNy)uaGfJqw=tFVyfy;^nQb;IioVR?A_O-cf;`R}|}!4XGMW%_69;+kQ+V9jQ@{r h zQ@Y-C?Smcd7yMvb`mq^2i$GWcMphkm 4N9yx8onmie!EeL^RhgzHwFHa} z=5@RaT7)Iw9;oVl6d>d2hhWQ1WW#|)L$w_UWe7k?@xbRuz@D_=BshFda2-hkfps7O zy=oKOdVlT?G!(QQC^F}3Y5Q9KzX^^p))H_j!nb$8>n4!(+G8@nnY@30ukOBe1G4OZ zX4fbGjNTI$2`j+e-&q6&DMGuw>E{o2j=AuEY+%s%{RvdL1A>gw@=OJDyLu6mK<$b^ ziFE;j4_8M2mDt~?+iHB`A@K8MPy3sk7-luh hgqb9t8Iz8|sw7-JpQ=s{^ z_BlfE52A51OTd!Ar1wBm_|p|>{y+-??7Sbg{?d|wvjp fE=OfCklEGxAxxa*#&>C=?}C;>u~464`$H zjR6|1*{>}4_Xe7uoBotpl}kPX_AMRW6K^XIY mc*MRI)xPgQ zZYb;expgJJx+@O5lyRl8*^5=p5V^F_UJHKLPCfvC^BK^5dI9)_81ePh(o`6-9)eMD z*k3@?%mPhZ{cyf{t6;|iu*s$f(NJm{iv~JM9V}>>m)FK?glMYO{IVObBF+DLXg<|$bCLZ)zQiGY zaw7;t!ITd`>)e0@qz0`%J(Hae!-nhg^TO gB9zt%UN>iGCZo!$RnM(2 zn#w|h6M$i(vG2}(Y?-xW--%nVS53|75knzMS^>E=pirDU`R^!^r~67r0Ciw`$$fqc zc#^zLf8%jB+K&J~gP6)g7cu)S-MD{BL+87oZN4z2#p6niR%8zEdK5O?kS-Tx2deIE zuU%y(*En7hQ3#^49lb|uSiBTw9x0Af{ 8#&gKnAjHNie%DJX-9G&?`{A$m_ )O%EXn*n-&Q=AS*%G4^vm z+FnHho+V)NvbYpsN&=I>Jgj THAfs$MFqkH-0>**A*6jRp#WsdgaO^UeF*5*bxa`VhmlM1H$*pjmB!SW( z_Z3z|QJJ!54c@&ZQAsQ*2^h43bH*ypYS$L8#%8~Ud&)6n*?}-H zn2~@a3FSy&(%1`ryori2E=6bp63Cui)?T!hfWiEVo?Bn=21J7sfDtZ0Kmy@=oe)hu zz KGk;3o z3G?uLe+&N19Vo0P0L?#nxNGbsKVPTHN$dp&hl&ZL>s=^w8#`{DUhvAEH#r~+zyVI4 zq!dJ!2(*GWJz;Fo1!}eYlY0$Nr|M8fXU(zIm{e0H19q~&58LwB&9Wbd>&MTPH~4ys z0)Dlugj(Ar2~2%AG)=1kltHd%fb9>!#@orNAV-b0&ke65HFJ25mus&f10p+c{Bbbb zj^kIA2?(y2Sps%> 9k;$< zor(+|1Bh9lwU5Tv_!9hD!IAY#_l~p>3dN+-lpNp*P)|BqkDF{Af3Fh{$ea0Qg)VrG z;b{B8jun;w8V>&uG#^0@oPyiSk6M1v+a84Vx7b^%bVOh8{t_I6l&L1!$R8`%*Dpw5 z`C^!RB)Qe%%3822%VK~H&%pnCxY`{E-H4*HhL%NOXnGbyCMrK-zp>c?1s@z&&zr{7 zRcm{f6;NW5 WCw<_0Ct35uzV+4< >*dGCFyV7bV$ zA^k?OEy|IAA;!7`W9oVP7~60mv;x8wgc%`_Spz20Z2$5{=sRIf3U(dV4pcb_Ks5>c z +{~x=->p9u-W-EDpLo(g`}0W1{CV3`s1rUQ)B;% zCEqt-`iV`Fn*9k>cH57q4w5J*fvj6EYc2F|gm`yaG!^!3Hwb7BN=zOYM8je4hA}S3 zP7Ttj0fe64!`fevz0{~7cQ x)__s))GqkZ z6M2+ABmsA95x|SeT9gr}5__%vi6OSD?`W&%?6!Kck2I_=kXZz>JfZ}VX6ME4rT5kI z1>jZwq05*61SFtn{@Ejw#((A~d5X|5h&x~>S02q|RI-8{w@e%A(GR5zMF5+O;TZxm zI|Dx=wxM82)9FFqfJHxJ@#oo_^iodZOv4XswNdN(bV{&pK+xP51$%BJJs<)dwo5dH zi^KE(YXDAK0$pdrn0W=D!~f8;dk8RW|2?d^m8>m(QD89C6 z6xRNVtVwS)#E8B%%P7k#0bJu80}Pb&@AK7*VD7XW uD)#2? zL$qZYSe+izI1A7zAWelr5Y+;GO~9!^j#X*7R4E1Sn7OcT6ZG%K2cei}%c3r|(Xe+b z!~-y98d+EONgUiiC__=Mz3P4i+f8uIN&=D9MAIk3-hSA=2NIo6#?6&Km&-l B+BJ>MN?L^{xZ$=Ndb za-``yWiAa*Zltv7X&lzmW0XBlWizjEN>Ts#ma)-}{cC$qp4E;Pzk>VStM2Lju46F# z34i~AYxvTC71XaebTU*BkR)ME7=1^)!$|qlvZmA98dT$+YE5H;_3EXa@lICsKba9` zWgqmdOYcn!s1`5{X{D5~OYa!ib2~ik2JR?w2VhXZ*V2;3 t-ARUSaXLho)+1GAtby{sBt~ONf3%-`)qc=0H-a01>L@>Uo}^`GLXwFcf&Ux zBWpm^nD?OTm$|??IS`{QzgBRxGBz-n?)z|SD`z$}Q8NROfzb#{z+~4pk*4RW_cE~H zF#ION &;S?|rKiAoTAqhaiGbCJ><=MsLNK9L% zkN$u5-aAgO;=cEP&v~9_dy!VV5(tC@2uT!!v2g)|!C(j6;~L`FI8J=;@8;%rbK^MJ z#uZ*pxz|o{s*^a56G-9`+cCrqi~)lUrkN@vgg^pmceUD8TkY;s&&>T}%9)vSp4CbS zaMA4R>^aXVQ_h*s=Ub)$B_TR4U-G#kxeMfp05rqfzyC9JC3{+XoHMXF4fRpe4Z)H? zhklPKxVh~>=WqWHVb3>A#Ks(mE7pQ4nfC&U&Z+pCZw?4p{T}E)J|9P}(nk_e0pkzC z=I`s@Lg;=1?K=9z=Zb(<6bhdO>UKT>0WUuV&Rj*HHTaS|HWPg5y?quw|ESkbpj3Qc z(YFZRjSuz$`@g8HRjIN8M7@3da!+3 93q(zeyszRt-Y}%PXt;-o5Cf zJM=6;MXdlT`18-t$Qk~0*B??-P4}Lfv(VV7!A?JjehqA^2{;YK ox)CC~)CG%P7^nue>N(DgkL&|PZt8V~qxRB&(Z4xxg3l)z~MLcm+QdwEND zZzSo-Bz`=eAR0SBk}&muf0gR_CwqW51mF#h$&-LS?)}dPmJNOI+WY{b`A8sh3?7AO zZDHzr(V+Ch6AtJD0QhgiSIz-%Q?M*j0)WgU(m(VkIkvL8Z=c*X^;GlGUMTVd#FKw! zwQyHD#dvF!7k24opcT4bfJ!0hMK||ZMzt%udJ &4>2wcenSX&;CiM&%u)8_5C6-Eh9v6dEg5qbEIA5 zG#5Wzyn94O0EvKABQVo|@tFeKKgj@ZfBWZl)M26yr!Iz)(G;7iINgAZT)tKK?%i)s z1Mte~6GBrcXPU07bf5%mOlx607Vs{OC|-M<2x{lAqq2R9%9crA$mc492p-g-W8*|` zd35hY^;PR^$Mt;vi|U%L+r21$l@DBYEuXq(H-|AShyea!@+$uO$dz|0_zh*A3FLN` z(JbS@X cuY;SGjtgdqqLOTUzLp#NiUJ#w8!Yfd% zVz4&0YBK0NL4(IR2K{^eGDPKy!LIy$(KCMKHI6|N7+eFjU3v=^xQxK>lY(^;?w^Eu z4Tg@>Wk?JO#DER*Tm<;2k_8Szzii%?nidHmVD(a%uEUNQf+@wNC?EnuWR@hx>v}tV zk!dk1X@{Nk^4ylRi1rq|Mdgjp0WC`cz$xVp>cD2{lYmbsDvYa$1kPPc<*6wuTc tK+jZ@yf2T;1s24Ghj-$f+w$d19% *q=4EMO&r~8$TWe}Pd8uILiL}hf(Chyo-@Ct zM*@pahUu-)nDIdFy{97ZTdiQ dWB zKu7}pDBi*4@BTcWzPjB!*9#5@MF9Uebye**hOeAea7j+$*!)b6wUr{(Ug z+nSpehtq=jqXn~ k>p14Gh&EGcT0Xzo1M+pA$t`=;n!iyK{xXMZB z6A0hoq1*o%u(NxcRud3#M!AcoP(13J14ZB1Pv2>n`oi4Br_uS)Hp)Bp>3UXR3x*^h zTy{Fvk1r~ZO^;V!xi*|9aA73S3+mlm{+_?%)Bn=sX@r9!0D$+7TzQX#l?tApvpwx$ z!FfR YfbzPVz+>K(IKbfPGU?n}d;6 z`gc->w5YR?pPvE}@b8J$aCbg>E>$=`#PLIV`tEHrZNTnJf8RVvV5$XA)!_w$+7z%P zAlsIqjbko8*X|zgxG6FcIHlYL0ye0smu4HkfZZ$ad?J{8)v0tmK0*1(U1&d+pJrIc zV?oogVMl*u``*d9SFH=1`Q{^mjEMR`{w5!I_doNgtLHexaL@$s`Khbadxo#P6}UtS zj>6?9%d9mAT<}QX)UI;|_oO? ^Sp7z 5=wWg36v15D;W}y)re?RJ`cWc0P{N$RL@^W<*8j% zwoXN2%|_S05>+-#^d1xm*u5nIrQU6P0(&`xaL@z*@P( qg zCM=RBgvasov2!kHB1~Y-kai4O5(u;bPYdt~!u}p@z-SZB9MBTEoEV<~kn8^I10EuP z`tQ5l`EcJvQ4+$DKnuktS#AHUAHNMwf(dHpt)=qRF3L|%Ww%A QHF6U?53@bc=t%+tHi>)mBY zz}<__mLl^fxY%?| yj5c9w9bPnOx@#oaS^zm|AA>Om)<}Z; zT0z0SWgLSg;M7t#Go);xmNSL&L>Z%4pRb;`hK|Q3C~w=72^|}h$d4KDZs^#sqrbd! z=E>U2R}U Z-YS4`2CN3BLjK1(nQX)Xk#g zRW@rfJg?`x-rebrvF**x{pON+ETcC|ApRABU`K0|Cz>01QP25Ub3oQLh)V+?ED6Yn z1iZ>$+p4d1pGc?)96);HLR7Z-K9&QL%s@N52KJ3YZH55&vHkDc(iUX9r}U8Ck>$7n zM7DJx=u=Pxc0d0`l`MKLb{;mRmfAwV$wRQOsYxIw{XOz38dx;mf(=!8*`Uz`geC!< z&I0ZKw%^HjB*rSd?-&$3ztqDtDNm>xfiFOKteOx7m33$kg6er|>Avf6O1o!r5+X1K zA`TH~$6#q{W^48Q)d$}?ph@8ETz=WV@#$+8JUdseI0qYEu~EzlI7PuuJ5!G$bH- 6AcP#$k(P#I*ZmYgG-!)jFv^t2r1C)t t7N+zM0Q$|`rzZMXpJIqqKwK@>fspk)T%hy+f13-lkI2coaNC~xo1 z33z-1+<%veI?*fo<^Ww#hIad+{00))ySHlQ699PA32^pNS-L8^f4*&F6|Ne^bl+9< zBp_nD-p^ss{Z~cT$RGQJ5Zyb6BsF#D*E@!JP1#IunUIly?H=q*jEGFkB~>o5^Dp0p z?C-*j7qIUzXw@(vFxTz7>ig2Y#}9wxo1?CRE_CdG77{iB5bgi~AOJ~3K~zV9df;Hj z4m@oF0Jw0Y*rVXZ3dR&!zkD}T*w42i0XLWmA>Ow5eaD^C`}!^VzKjGc+%*Ygz_%oz zP&`_Hh`- i z!86GUH$NUn0%gYk^|wd|yS;n82M!=4dcS(#is8$zod`(4Z{oIbSQ5wx00c`>t<6k+ ze?iNTJuMT!4_8lJweMZSSAG+Cv$BrCA}02Zm3tqFSl9j1!M*9u?W4`jgYk{-Q8(zo zmR=uEv__d|ZRd=h%rWRU5hiwW4Vg9j3BNKb(?r;W9%~LHUK8Pb(!HGqP#}GCPB?R% zrkOb~auUq$hPgc+V0@d}^QH&A@DkXw8|JET^szc#XAb!9J0g`FFrzXY$f;<_q6KbZ zm^FhilfqL~FQ1V)Q0NyBu%iXrTJWM?9amZCxDWV#gLmo?hC82E{{yW;KohAu3n4f; z=|KP+)LdIlDw8Bu;$@Ogl}j{EJ(iyDuSfW^0om-?q-`~}Nf?cwW8;p#%C@L=ATE1R zz0`5_A=P{Nz-3?J)7MNF<=lqDMgRcUOkK6>UBg#i2fPjFSKw@a5oI*)G7LhT)_v~a zu5^52thu=_yA-{7j|6;Q!FY2!J6mI%-lLlch45MjOt)c?5cmWF5)e>*N}umJp3E^Q z{j{S3TVR-DUux&B7hLnfmZrK*UnDTR8fN#x>>ix`9}L3r02L3$*}WI$>TvWiXp<(1 zIt$q{7v;GC=s_8h4ERLPNs&1Q69K0zg1s$xszzaxpc^>k{kG*AYe~jhinDr5KLH_V zIh4e}o@ejWb;4(9cYoA6kaQzaY_zM*#KEb#gc929(~$v^eRFhf9P?hHuDLm;H9NnG zb!?dEt&HxQn6m?jiU==0m!;E- |9xlqK!3keZ(J98j`lV1t_W(B#x10Urjmc$C!yczDj zSC>napc1X<8 2b;II$FLlwzRB2)OWVbN*a-mO;*DZd3XYesLqae=Vn6~E zlfbVIT`_W2? uq$W|+Fk zJRFe#6ca%aNd)&5fH!xKGAsHjtqrWbz>C*P&q!;@5rO&r=woo-1G;a3NJ0`QB(hlg z&r_~A#O0}`S^fO=Rj|~X?mXyM5T&X2%5C>l6`z`FA`KXO63>r*P-I(>`vW{*MY<`+ z-&I=5^Gbc~qqT)~wt80KRZ?R5(sSCUeV{3zfxiFv$;u@k|MrujW#$<4iN+5Jd7psd zG?e@zV>d<<_GXVfBjME>#H@nV5+*J1eP?DsULtc0Cgy!yI`pAsFY0~GlLtov5{2a9 z>b?Bsjt@IcKmm rEa@;p#np2qdW=+DTk !2C~O@t@o(G=xBn!IKW-g}Lr^|1J-l? #zAyh|)$j+tFWC 1S+Ix 0RX&agV+pQs9?;#ulY#8ngs$ViBj^Gq03jjp!bsTgCzll &E_w(3JBe2idDfDNpPax7(0zZb+0PNlzdqi+=y~*E9 zSKT5Y0SVyU8=uQ*0|n&_Zc&AYNlwjIc@3aNP6HqXIZ)t3I8bQwetW<6z{v3LePd^k zN6T%(Y^EvOa|i;g=85lJ?#K145CFhyH;7FN&QY+_0^bLltpr6RkO+AD(1(sbvrX#& zZAieLzjx*~u9^HZq}Qfb-wU-#T>(q|Q0{}ol7Ow0Dtot+x53U^aU_uVn!ti35H80> z$2KI!UDK$- ~flf*;mZD$L7L(6qdsW zyMLFTKcTp@-r%qI&5>dpgLVk+0f@CY%u`xFd2_s7) >89<@0Z8>pHs9zv2|a5B0PwmE;z?kgIza0{5eWzZZy&m1 z `AkqZP?};D4ghv9Ut_1+5 zh#W*%)gc2ysiHdt0X+3^b}jBW697Mwsy6MSZT(ibV|_NFucI90H_l^3BC*sjdIq4& zR6YsZwyS`wV(D+u7W)CL1ox!)UG)Zkx^E_H9S})~t3ru?Almg#tL#LVnVqGDVr#P+ zg1Z$R`}Tj-gD;tl7R*v@@^BEL_sjPkyZ8@p93_=9EI$ala TxBZuhHz-NDS zZ0~jJr)-&o5N0#S20VewA(j8Yrki`=IUoRl*X!1S(_#`(-Z6wE;P2l&bouhL`d+uy zR*XUtAkze}$4DNnKFH_BuhQm#c`1#3rgfmCI|`NhBA &e oFkkX-Uk{Jml95mRObl)c_JMuvJ#V)Mw!qEnah0RXwi0_p;FlvO=_8HCKGT`# z5rP2U*$FpHhWQSTeGR~$-*3K|dNKE+c(m2zll%4BwK)=S2M3V$MHduwA*h&0Zf)%2 z*4pk2_)RqMTjV#tHNfj(*7yB;Lr(MaprY~}WElSKua8tV?%d~Q*)rcW5!M$VVx%Xe zt>@{3=P11X5itdvtzgtjGJkOorwQ1?*kd3OiFp0c@2+@Z-|M#e1BM_Z0sT8q0vqP; z=U;aG-@q~0oQ65uPhcSO33ytH)dnW-h0z=I!|fb{ssKnuA*pC0QNZ?x;L+Q{-idLu zufI`nE@&by&<5=B!%xAD57`&3H32{5C3IL86 )DUN`Ud(N>c`ncb@g5HXJ?(Dt0lo$e-~VxVzTV=sR &4~@Fjn4uR`_TGXuKs z+eF9X6Ioh8C7G{gEHFqVmi+H)Q-of}G!c*_!Z`w+Heg?jevQ8g&mjQ-yx|eC1-MW~ zB+$+$;FCaEluK_M`n{De=zaC*LP@}B1xOy4xr2Y7_%l+|)kC6N2j(VlK7n$-CIKl3 z%mAfyJ}2*m(VO*2x2!h>)y;l)FAf_V_!W#k0+0Ssj|+%Q$Q-z1LV#lF?=}(b&GyiC zxM97?i$?-ZGMl}9wq58*biaLo?@z*Y vzf z_P7B_IiElf=FtcgbYazg#f^k7pky=wzYl{YfgN|i*loCF z$Vz@k8~d$e0Gac? iqI_#*-dz#W0izBIq5UarFs83}yv5u8uJItB~n zW`T**;i>&MPr=v63M77X?B_kF@_YFYz#b3*!F_i%Yy3@hPu4`}OFTcmpfKSJ?NXWA z|GoNN{%Lkc27U{8p9GrZ?fu{bDTY7$b;>*TwB?;FF9*23fYA51ci1s(dO(wz20anN z%;+4bq}? %jD_ z{M*>4Q3WJG0_6cu6G)1s@7Ry@rW8>29E0{A?}wFsG58<;p6MT9w%jqeu?qn)2ro|} z+Wb8DMBtw{`Fmg+-1w*-IhY9OEN6I$>!$y^vt-r`0B)ItuWgUwj?!~+c=^f1C7~an zNCSv-@7;H2v&vsocasV=k2z2rx=5%PfZW*F!x!c}@HbWH>Gvgn d@8SqU(Vz zL6$YosqDoo@6F_n;b2UJjys=PRGFIHT^0!?gjp6%xar(olVB!M&OEHcfuBzJ^5j)B zZy&kxvr6dc#Vk;)+ES!``Vwtz&w0Ij(;eeG8k_qw%{6?;4j&dGtlATe?QE|-#u kt1`^PDSMn4@sgPH#WDA8IMATB0k9o2l0`1)L+(XbNTX?9DsjKeuP`6-@~i zuOA= }Vq6s%cb_itSCp`*|2d+pX(6R^kgwGKQob1(n+ z)W`IF=CRs7m^F^UvS}Six=baud9%_P7`+3YywN1-^%L;5fTY8-`5%IZuGdmGRo*7O zxcxM2J@eAEEfqd6eeZfKiDOg2X%r@&JGa60n@nB>be9XHxG<96#C78ixNbY4??I5$ zl<@L^muF8jW|hGQLQDef&Y9=dH|u wN0$%&TN~4Se%63rs?4$HBtM!F zTi(Zrr|Uv7@>gG?_XiJq1@|SsmGCOaP9Un d!;`Leu0tKec z6rqQG?r!d6ytakY2hPPV_nbCBHjNoz?0e~H0&c=fbUm2ap?mNxKGEd4qKEd1vgzSx zD0kZfu>NKPc08xC@b(2#J80K087XSD0Mqp|&;kmcO(RJh-#fM+rki>hFhtg-4_Yhe zC}$48@9lu^jA@O jE&0`1)c25HM+4gF$ zSG=bu{sBZuAb#sS>ymLZW6Ko1h^}7-DM~+e1OV`r$*ZQ{zVyofQt)O30|5zm(k<{( zn`0poabovN2B*`hr*?je*pFR;tGPBuoFYK(Epz}X0&1dKW0)*>{L8p3ZX z1?(S(nMqiDf(F0y%$w&n-VBf3sY%4uBZZr@FcqN*;H&!a>^kvc9Pz!ry6*@D@4U&g zA|#8k8JMcVx)GiCk|Ba5$;$cdQTX0?HUUU5{g+QZ2{|ItdleEua7=hUu=ycJ4z@ld z+3%gI$u`yGta1-!1RX+95rPhp(1G@r1KiNq%RkNS$iN(cUqwWK$JRK|R<`e8 MFn0l=gNU1alm@=r00Oo7hdG5nkPE{u< zxJ3w-gZak3(c-DIK9KCUxo+zJOguRA-DSenj(BnM#QaLKYi16vGZ$UJTUWeKCuk~d z=VItys?%%CKx0<>3j9er{0g3Q>cv00mH-LN?t`6AKy@|)dpjFnCZI~$o|4{+vN><0 zzbs|cJh30{n1sh?O&m#-UMY*i zT^HeAYat3mYNWr6j{SY=kwJV-dB2S&V2{o9HKk78Rawl5NhcY?6nj*Quh)0+{rX;< zx3#4*Ctou@ChPepGZ1&*zk$X7b_2;w4W!DXziZDn(%*X~AOK(b&qn|Y;e$%4UYYvi zPNkr!6pd6;Z%P_ i=0AD&)tpM&7f)Qu?`? sD-b(sHHQfT= zZiWD`rbMScmWdHeR?0@34{%EYQbc6nU3UQWh{Ff8^nRy)TID=>q@@t-(ofHs0T$4y z2CYv5MPL_2ptr#H&wC_bhVTiYI6moMO{tTL5^R$-);H&9O4IIY9WX7W!EOO>_m&v! zy#~;Ix7^L5um1pAX#{lT_731N36Lo?IRZEo@B@@Yt9SRO%Bg~;lGIW~t&!5GD;hOP zI%fz#FR9lmA27n_I9$43Z2Quw>O`g3gy1NJ)7G8e$S(FFlr{-7a{yj9e8mVb@zBim z%gkda>jMB361~`{-Dd>zz}{PFss@*?`Y@O$YI}7Z=w7CK3#OQgT@SSn`>j)v?Ng=m zmU;x`tIf)k#nvBFyr3D;nz@~wK*dbD(IRsMn!LL_Se4(T?dMH-_bCNRk~MXj-%5mg zY4!o}ntWSr%;wc!<;b13B +mDr?U$Up#2Wr3l@K)-&N@34ud3{3Gc|umR zdxPdU1K4>+^!XoGv{DAXc? ZqykV?7=U)=}$cW5w_dri0DE)Ucy6Bt&gSWkabW M7mAal5dg2{ngDv(ldN@irB%z3-_J0dBv_wIf>aA#XU zFy5!ip0pQLzTkd`2)}=Q(EMgL;)EjB^fMe}+RLbO#+dtE2Mn(u=4B0CeO(^>e!Mx7 zDaf1uGUmhlLGVE`*qxNo%bg`k1in<|%HZ<3|7U^#0N$})%qloTDLs_feG8&*E3#RI zd=j{L`0``U=ntnC(~o5&5EB9@l#pzmd4Ml&{R2`%0!l$`8m7l|9Vzwbg-MfcP^A#? zE$Nw+rtSuySNSa%A!#iVGJvNFW@a_$`v#zY06M#IT|RAx4=3@x_ 1cv$QJ&Q(f} z9q>s&LO=q6CLkaYN%G1izq|5z{dyE(5efL`vpxg*c;ob4eEq3UBULsrYkd~>jq90w zlMYP;Nf%&jVh40(q`lNzD)Znks^dYu@c?8rIwmHyDKIbqy*+yRFgpv3vL=!zk%PD` z;5`Cx65j&f)MZ=GbDQ_dUA48~7uk86f9aJc0HM8r&wMJBz`i=}s}*VVjL$|ynJj9D ziy1Pvg~T!VjhpDbb7OEWQ02}2h0S{Hezzlo;KeR1bew)nO`tmf*(d|>`+LNupL!oa z9DeO#@%X= GCV~XOtW4zlmK2`dkFSY&pg@z(#MFI^ z?!1S6v!gUyRVp3b^z|*{q?0dZ$x$adU%|c^Sb7x9HDRU+4X;(g0?#KB-}bl8QakmT zRA{H33hyJ)&4AW7;&;*ZG3=KIn|7oPC}*SlCHDYZH2Tl!um){519sv|n*l-gj4iND z&kylSSL6#3J9L2FJMO3Nrk}KD!XQrnyb7`q%vW-d06$RZd(X>St`C3&B^634-4rN2 zGSGS3@H0mM0PlQQY`Xe1bslgBpq+clYaOs3US#JJTOWiFmyCR9xl(HKk(uj9vfDNE z?V}kv;EoiMhxhz|YC6LkkN*(mQnv *Qb0C`8dkDZtB %JegD{05NGq7o@34@kZQ-HlzQY}Z&`1h zCHuzm<#BH_(#(`Ky=6cf%oZ&goB+kGP~6?2xO;IcP^3_xSfL-T30ADd-Cc`Qpt!qJ ziW4aAPLPn?oO|EP|70>Vd-kj?vleJ~4W2a1dQHPNb=bNj&Zdq*hLMXSL9|;Yek(+h zKUukjfx%BfZuO$2A@mhDltM@MGucojtm68JJR%HTws)&8pQ*1!$*D5G3@4M*Q1dsw zoC>aPiUjRLCJO-UBg ;=;sJ8390FpquBY$?6G){jjhyS2Hhtse^zkI*eL+7cOK4au?MkOrE z{(__;ZE7jFK~r+X2>v#Dbr7~G{w&q_xy+wz%f3n^q!0hFPR>NiX;w_Sh#VzS96}py z73VC L|mqsd)QlP_pn>c$$<@qwNTF_cJ%TyQImB4|Nr )AxVz71;5j2H%v8O(7K%BCL85$K;SayRUyL(Y+(QqMi=+uQQIgvo4L!w4&y#s z4 Ewd_pDZeM#7~ 1T~o^=TJ_{X*vg)b(^8RW2F*Ezi1bPeE*;#^y*-+g9EF# z_s&N}?>(dLLrFsRB6qrrlCVzG*vvP0Yu>M7M0!3X-E54HY|3!ng>(L!g6I!mLX`_U ze`x?pFl#PYd0UK@SO>mybWGN(#U9tN35w9TO=$i9djVFm(TF55F_=@5a8)*21&wN4 zsqaC^RBD7%jd-I)w9rV-e;n_`Sby7{K(3Ro>YAF}Xt*LRhpnMF5)$MFZc`1dqT>(U z0h!BC{tk!ysFF{V6n)}FkkG_EHe`94MOWpnl_r|djM|;}4S{nwl~3)Xg`9-g*y)B< z;V)Z~Dw){BLlthxxN8hIFvq8Rj2jU_;Q}<`< z2FoB&b3Q+ml~n;lgX5lS$ai%&B~JTElWeEO=# M;fp3H$ zQz;%F^%Vo-w=H<6J9eP1skl@JOeh_HLW!AgScII#pO-xrs$RJEpl(*BEW~7}4_| zoJ(c<0NH=K`CPDk`+H##qqnAa&Uovg2JNrBy?U=Wwo%fD=G!nX=Kuc9y)5xfsL}5P z=Tl qc-vEv3ZR7l`>ARIoqn1Ug_xKwS;+* z!8Z?(DkKxz7HQcWf@jOdIvHC0HT1$PV^gQ=NS~j8s9le@7LK fOd`>A? zon@XC+>eqKRj`#wP7A@@()6tCd}pqn+f_Jz=*?MN%zVdrR76WPBN=yFA@4JT?4M~q z?yQ*CQumzIjro@FN6GB+y!hdz>#F$B)Z#xnL1y&ocW=IblEte6`91#oy(kM;V+`Qj zD? Eu!m+&C9wThR9YOm4Gxj9>K9YTgfj+_=q$4hDSPW6F!Bnbf_DX4(f8G&ZxCO zy*}lM+V`06WZDr=iFlXfS}i?t_mZ+lDKAMa2)V+!qf81JGlIabrt0+4ky>Grp1#J! zN%f`1RupB-yA8= zBeu0OFzmB+TOaORzl^vxJZ&cf3jJ;JNn)l)Xl*Z7Pb$8jjcz6q)il)wa6E&~0(T26 zZ{78OE%O+})fiSJ309l^ncA&eIk}Z-m(5uYmHjm`2bCmj!zGPHlkvgcx_B@0!NOyP z?UNZ%5Yk4}Uct;bE5(?nzLo3|fjvr+VBk1jC^3jP5b*Wkf*?i@IHI}W`t}~!=El%S zjxs77ikogB(CEGO4>+sO)%+3!r1?SPKH_H;(i8EOBU$64N!B5yaZNDFo<>m+fQ<6Z zpLqxo*!cvHr6-?+?NRGLN3X0d$U}IdH|Mx&3y}1>n~uKcrVf8yqj&iA8QS|*AR5^j zvbKs*pG1>tH+aEKgx4+rMaCvQUNi%sX97c&5$Q!`s&&q%Za*wV(8EQP{lebSNR6pP zgte*uM?L*QA@xR|9W`}3I%#^8y>p{feS1anmc{3Tm|BWAvRZ3B|E(t-XLZOXj%&;> z>BqF||0%@;)l`;(stZ3alFe&?&SW#ogfBI7JmMyLXIM}Guz0MYpYv!@p+`e+xP=(b zqbz;(w?d0+-?w;QF6!6|eCwSSTU5Vzi=GH6E5JFA?|K=Rj2pAw%c6LTWnHT1GwIk| z@KNO#=9D|BOU#Gq>iEEPmy)Pf4!%0hiP+AwwfZ|Eu@8PfQJ(eB@ZKDQznl<~eguA~ z3OU;r@L1PV&>**f8a;h!Uqma&@8Pz}J<0!ci7O@ntR>DU8A>Xd)YUIq6G_f+c|UgU z%$|l$eBmQr7(6bp8>WNJ$@>ZWdSLeyjXfT3vi5l_Ro{ylx#yK!>e5=3rAbbjBy!cY zVk^28-x?6V&JbcBF8}qGJ^n^Q28h2LGUPGf7!KN^a6~11LML=TzlK;fe7QPl8Kj>i zr@v$A)*%vH-cP<9%2KWs{au_|t+S{FVtL=GwzlN8Amiq+|8>)suO;W~Vl(8^`Syjc z&oDhxlsbFmt3nXM+)y1&3y^K^bx=@ nryv|g~Rh!vB(+p-i_b+D=U7NiQ9F(NwFNcFztaMkv*8ga4MqR7#IQTXV iL4Hvm1+Q)bQR{27mkb)$%b&fpNddf4b-*u!KjJG9G&Q!0y9Qj>ZCYk1EoJKZ2 z(ys-uoCR7t)6X3w+{T2TGXtN|+kRsd^IX+t+Zt)BMPm8ZD)@b}_CB+qqZm`OivRWK ztgoM(v|_CBD^Xu;%WaXgF|O`uNj*vP_a&LF@>hfcvY?It^(>ccy|E*wyNb{O2%S(| z<~TBjc*J-7J0wZ}@Gq_XHk!V=$ZsqU`uahqIl2Ao>_MD`S5mTeSC<4xL=jNQ=-?v> zJUv5uB?qoBERrGxYx-fy04Jvk?%#=X$o`#80u{KVVd(^3s@j>rzcvGvp<%LP>JK)u z;8u0zMxSZ4=7P8)o4-$*p?hV@*iT9k+Wk?a_dRfB42Uw;-2M0hLF!JLq0Z)IWYo|G zCTzaqg`-L972Hf~o_|Z{1V?buDk+6`uPFA*7YYO)9@6Pdzx-3jI4QAFwGRFVl%aN^ zxnf=MU8y37&v_d-Hf;kKA&l>{;$A$!0^J8Js`C|r<``801Bzv!U?va1^in!MJ<7%V zTRf#B9+xH(tF$i h zQhA}lvoL#{*bQTf4E@ WSSKxTX8s7m&%d1&6?Pl`jyzyAcEt2&zoNV|Mq_)jXVGfdH` zm*E+3j{;o_yE=8OaYkU;8Jg5=wP=CZ!Bs6==-(Kkyc%80Zr?9w()nt?TCKu*SPiNK z?P^&voi&{9QdG3&s+=yX@n9UK*V%2CMSQgExmItH5e6g(8DUH%fphIA{)$Pa=Pd%l zeZGU!a~}Hks?)nZItvsWFojV*tTc>oBx5iTr*T^xgV)x|Z{E9pzJr8r`cynm1$`ao zM70~a;)}l4x$VgK!wndkl#zB7ude~-0zFq!!(zyxQF7EJETp;dZurx7a`DXF<2r+x z_)x5*E?jw<&jpQ}J^gDVBO&?pfjS<1G8}<2{;iQ*DJq!uOB*j=OF0=HoQKzB*VHN( zg&(p-)Xka aum*(PdQmD7iE0;Y3)q9>84_{H9PdD)c0fH%Vj{Vl=${J3Cd;RC yhE$IIAVLEg^8YFw=giZmp!1?4ZJeu#o7sg+@%Gh0KAy?9eK9dd8s zsnv1*QxzuCTI{HZ!ZBcCO55(#g;!EXwPrTp*Eer~=qV-OTI)#W!D2elqc?@a)J3wr znIWYAKf4)&TrVM_rCBOp< #?HTSEo>odt=5~x_5}x{TJET5&M+27iqPdtxI*3Z-JZ*>zKRS{-uE+0JIp| z!|7-w{mUv0A=Y-7ity)mge#B$dM_Ysq8xAOI@Og&4flF&c^kX_;t*dId6~RvIzH6& zR=^|Zv{HUP{X+HuR}q9D3<^VwOL%&|9qn;4Adx%1J0hTGDf$!G13tjg1s}dH>Ae0E z8rX` YY;OAY>n9TRKt=_6$#ee)l#B8@uR-Q5yM-Lhc++<`4@3?<`FWlT zx-l;$hDI?lBJl+kPQl7kpE?>^DonPJKFv0AUpx3RIf{khq1y2{#7bfea_tH)Lqo{Y zxwQ9OB5#|J{HPJT{!AR{$|xq(I_ 9M;`A6d@91peoWc{0R`vyMthqKZ>HVToNKPGg+ zsE7Xp!9ED1q&y8bS{O$YK1@GMmhX{IlJs(b2-SUC5gJ9K?;c8gdPy ?G_>7XnG_ zb)m~vu?#EAa?W(u_lf=Fsc!7uVm&|g0UNjYT8XzUW0wT%tUN& zH2z(~arp{wyg=f!A3b{K_kS&?IKsw!GnubkYoaj1$75JLoG;)?RqMU9>LP%i+to*p zEghoLR=S_77m-ZpTM+~h9(%o?i81Ou@p9ARheRO|zun1$pxwh%F3S!POpUKg1($I} z{GGRNCH&hrmNSN8e>_<&ZGbkyi{UEEzd6`irG ={g@DphBorH`X3J58)}p9QX+ zQqfn|!jA7dFzEc*UqNS(*9XbC+i~@HN|xSp(4|-`Ge|#pqVFv%rk@Bks$cb-^f`4a z0%tfzVhLcncV~wA(`xJc0 T%Yju^==N3yz<;>Y1Gl>$I%i`5f1AbrNxLOPt& z3e;D9<2o4{=V2>kjUo?zbLzo^ gVn4c*is3w Bc!d<)7pLmiAAcK{!okE*=@q{ zV2;{nd@rjC*-!hps@MhefiUj|Eg-M1LY>@h=V|!jtP>zuwXnocBM;gMt^4qG-8mo6 zHrFbb7pGb$xRRR2ob$x7$60IPxh~b}Bl`jNcQFXjXOHa{?Y~_g2!uX-u2&LVzWB%c z`iEM)yg&)X)G>*7XLJ;UFJB%xVN(W3!S5<7h|k|bs*-d*Ny%wN-@i9Ln%+jIha#~O zy{bbfkN|7s x&dl%hYh9kNgx~wGup|84Ff<8*U*FP@Ty()!PaRLWz#;e8OVW(L zfYP{n=Xz`TRP*~gdvyBAH+lWqa>WYK7ua%pefbF@FJu}^+~$420MG=zk-EN6k9-lS zI)8TkNE-PTk01}dC0UysTEU98CQvc)&QQk5{mX`Q{w3x;<>f)=i|d5`sc+ovgdr`~YeC5p%50D@his(V*NV&=!v}Pj+=IYWk zM&q!j6`RY7aWhEqJ|EI17EC*K?364mP^7W}g6oQqip$uNjgq#7Sn-pL7wW( z8 z2-=tyZ?8b-DV+oh?_85wN@3BXF6!}XmCoV(`-?(UAvD|Yah=T9WEC0dY-r3fVbEyz zQ!~1sydtbswLX|`x*>gXsgx5oH*C3>-c(%w^xA$dB5vnfwe!W3@77rz&-z*&VX4(# zk%^^6&TJvliPVEHBgJA~H0sUzwYfNWGU$adY#8NwEBPKT8~4~cz0GCz?-`5d=d?Iq z&6=0VWU;ibKmN(N`GrE3i878B*e5{v)YR@DBSeaBu150-l)nH-OYw3jsM2qy*MBj3 zyI~BIL@~;o8L0g)GIOk;!eup)OxKC0fbpYT>Y)Kkc E6d(U@k94;068W6&|e^S3y%XC zyNy3!tZQ`UsajwYvdpNnZ|$ak2%Z#R>k8I Ita^5A5iBq#PQZjYYP#_>m837A z213B9=x~3qi~xE!DoV;E4DfX-&J52bVI&`XIyTI~T_ *}QsRfWM&+nF!9DuO=oRBSsS}+(qlEEZQ4pX9Zj=+;08{+LgO% zl`2e6!=J3}+OZ{lb;@ylPoV)v0y7KVe*>gQ6Os={+_*NN_5B{FmLz<;{?q9+C#3A0 zHG#SG(^M?TZSOkSvek>haj|+Kvn0LVhw6u>ZQb*J$RavY_aOw*9EV{hCkJSe(YeTC zGw};3xT?Cj^N=eC53ytz@jKL$-NOeKuumJJM?0IIR+EcJ8FiJnS`W~5SA{eo6rfWV zsI+73^NG-88Ha`bESu(S8IY!u9?8JU_n3REV|kt3%(=#P7<>tw$(*-*p^!s{Z1!ga zvfQZIvZx4@&X 2NvPqNLf<#C8@SENdR*}z|_B?V{LiP3`ZkQ$W$*|2djRQ7Z$pKT4N>EEp z(@YBYgk#cd+ojz!+)Dp%T+i#$3Qp-)PMbGwkl5?{%xGOnJ1y$2_N@;gw=@s1nkch{ zhV^^n+>v9CQ`eS+%Ay>c@ygjOuu`(zI?h%+-pzI61LO<8N8M3#KN-ldo{t9!(E^@T zlRmY%$!i6 y(dfsT%Cl@GtaZvc5D_d zW>_&S*u8(XWas`CTRtp1~eNq+R `zv&qXmHdk1wIlyQVAu@hT9$JZFl=Iitl_GjJHQJS{zr?VEbT@I~2{CyS#YcBuR z9GP1z99h?-+qFzCxD7r?LuvhFZEz)Z``-;gp&l-m$jY5d9l`GLVntj`6T-x}`AL>1 z)slw&3%qI117F`tXcW8X7mS_HmEftNohBZa|Mf+u1FmBJgGAA)=VoB0LJdo$7z++4bwTOa&$3<_`Iq+F&DhRj(FUqR z!{P<5*{tN>FUn#)o!*ZN#2);8d9W>PMQmZ-cSgioK3-t?-b9MLVE~uEhX3P2_UCCQ zy4q8>=!>3 |BTzpmgN=!FLYCTQV3a1Y769fBF#K^OUrFBMYgt{J!N~`X2w$ ze@|!d2!;YCRQM@@2pXwmMluy$w#JG1bWnSL`5mj`C0kTY2RvOZcR)Em3)3(qk;m1- zF>YMhtWAr0bE#~ >5Oyp<@umumu`QXN6KTi6pZ)#Wjip0`w%1U zR|?_m;t-rKIBvg4#!R6O?Q%bO=raz17;~|s#>C2-znFUMJE2CJW-W?gIJsosiZE-R zdC?G$U6aEm#6(bQCsn|2LEjP7U2B3G7PQfjFNR6<`s#ufrOg3Z^WDEYv*KkR*$a2+ zkgm?>Br-zwhsoX6(|ymuO7r86`yl$;@7ql#v0B)?x}Thh+VjGcjB8wJ+@G0EA2rkK z-v4)8&8qMsueZ^Y{6qG^Ijg2D`Ow2_S^Cw2hyQ;G_FOk;q+a(Zb?2eR&qlGg`#lO@ zxBv*L!n@D~b!2tl_@ ;;m_d9PV&!tw213+&tTVhmUlP-Cy+lRE2t{k2Xl;y@}@ zy8K>K?S69Z>H)v~d`$t`6~EwxAeYFaEN}Mt`)n=nu+vr;cw6+_;QR^ww>T`XI7B)U ziEw*A;)9?V4W>X#<`)ztPJ-@&wR$mc>%D5(HkZRcCR#|kiPw-zX PIhk`G@3Ua^2lrDk zl&5ZhCb^u)(0^H6@iO&sRg*$z?P9}x%s%-(ApRJfR!sRrzS-xv)PY3 &H1xQDGb~kd*^6{WExE>>ZMUn@ zUna8|Ysrg_o&H?K?O#@#(B9)Fco+!xJjv{q(Y13i03R4&Jn^!5e@z|Uu7NBfEh#^@ z8lD=(sOafP 4rjNz>Dx1joW4=#m?NIBgXz> zW!g~EetsWMd)!MK&2I7J;(2YVhP?4+bRR}$qD?WXQ|Hj>t99bgXGi+oX!xz)U$ql( zn+FaL=?pX1g94=qU=w!lq_165Dif3&*FvRd-zJn~cPqXeTd8V)VK}7u)c5Z{v!58k zo9@vAp@8YrQ1Q~`)c&97j`^`8Czw+p+J~1bfF3C1shwnC(AHIMC6K~i#0_7q6ouC) zgUo~XaF@gxb9#G8HsCs!E*bar@`628otX5(MgRfpo3E%c1KUd=bDCn}b7PjcmN #?qSFbtEhnrIfa;U~PC_KkAM?5oo);STMXDxB| zw&5#YK7oc&%KnAZMIq9QtDOr-=`10Usta9Y2Ev!T-wvT!V+?GqAReh8_J7UeR#)^F zWlb=FikK2{?~u0|0P!(?oJM0?`EmZ?oR0N~mig#ZmBr3*RqoeuNmKIZZ|O{FYsI;A zv0jtuXF6iJ8 Dl9e#0f1=L<8=(G)j9{I69Orgr%50{&uFe>u#X$oy?*i=6!SK beH_01IGc_MzVAKGBpV9r^E&!5O(!-jR& zq4Fr&^NYo^e?K_KwyxXX$oL!Twk0 &zYd9z*z*7MRyy*s5-cQiI_1}88CSl!cxZBKiy {Im&7xQpx8y`wM!GH4>6<4mBp5{>T-s{&`fSw*c z0NygAOf6B1%+M?v&_1ErTsnv%bY^<<6oE((Y>J0~m;X}-o}^@2PX0AnTEYlr?Qe^) zUNM(>JC6u8Ih%B<6c+lYl)H+XeQU#bNo+*87}#}_61MNmC!aRK8}HzGB!CFe&qyu^ zZ65m EPh=Gy%s^}e!HC3He zK<(Ni!T;ilrZ?TUjt#0ue?y}2hGj~Cz}_`OR87czU+Ig3g%nkSoG6og%aqtZyG>Eh z#WI@P%|DZN$w(4c)YIg8E6(F!x8e-!z=UV~*8ZT|PRE0st}Pd7_-|L;kEEg(t}Q=J z`3>b@ {Gs9`;>L;WSjYjY)lSs-*0=)pb<4WL^?R!Gd<*DKXo&PMk`Vb) z*fO0qPFXVV2Qp5~E54)yF_(dxSp4l7A_+V! @v#~N`n(23=FtXI-QfoY^ @?J? zep)9S;HZ%sTl-a%prUg1H`brVE^TJ6LA?>(u&>icG8@q8dID?97o&~i^ML33v)>*) z7qICI7%iY*Za?>Gr8MZm$8|JD28BZ!XZjoL*j5UVGRA>AeLQw+qyB09XmPRRCF_}P zqVZ7aUf?{8eX}~&6SX(*9RGp_Yx;2cpl2(Wu{L!1hD zM<3j5nOABp0(K1^{gNr@iD2Oa(N`#M!(?C9-66p8FI?X*X` ?xr%GjMH)1HHWO1L&aA{o*B2!D2OR11I%I% zT0wp^zhciuO6$s!uXN1?L7#^B{wk8+(tLhhhs)a33gR|I f#9?UZC31(1 z(!F~LM5&vtz~*
$iuE0O{YG>I`dnuzo0c;+j>G7H#jM3({fgU^j9Rtnu0h=;TkyCWy*L}`N z9rLC@_zU~a-BqRi{c{DnHSsoEx_WM}AdYvMpHT%HJ@{>T!2}1P_4H#p&AdlZtAwuT zqa;zcOZxz%T`?=J#M{TmMnSDZPDy6_W%4&S3wTKN*cCTb k64bVZz&8&w0xp`-cBLcqy;|lJQzCIo${!6jAw#1}<{tEG@Z( zjltoMf2{Att$a U5 zSP?lsVJk?!Mc+L}&`oB3|3f5MsD3?R5&xm&^UZ(-8{*1iGn2i0!KKvwL)(8x1K2C( zGw0h88T29IsJ9AJ!t~T#lHVV?=|7De!q_tqql5I6ucyv2E~R0%fzhrq0JmMb<2pJ& zNNULB#fer$RASxTh3!b5j#dPHevmwJbW)#S?YuH;vS^AXh{R1u3!&f#@=!C%Tg!*i z?OGC@0C6_86-ItSpKWdPiy)jRaGGWcHvlaE`6_1JP}grGK3&T%kz|sg@l4fe_6> zzE|jFD(Dt|{8f$X=#qy_ne#bdSiaf!d^BciNsV8)qg7e?T~VPy_4g(7XygeK2!1m4 zqY8zFEg!vcmvhwE62#iT3AuTN&3{rfL9wVU;pOl( mEJ!<2Usjt@kx$@Z<+vEg}6h!ybh0`B}o6uVByA?h4;zUi$1fy;S6> p%C$;BSN%t`18e9|I$w-&&?o1$h>;Iua*in?HvCXY$n-lHGt0T3$k1jQ z5HAZ$UKYb5^XMWIwi0!Li!L#PI0CiUY=U5I72bBLYUMA)MMEB{X>Q$rHBUcA4(55D zQU%N3HjEjM9n>JL-vAvNY<7$uoWB<(Kk~XDL&0V2f)jsHCTJ|leM2>Ws_uOb&i4aC zPh~MD^E~;B;e0y}m@$sjwMxvAxe^697{%UzUlT(QCkj%~n~&41n}c{ZGN9?hIP~+! z_0N0w@jD)N6!@f19HD)KaIfg;hJ{prRDrLrh#hyn)QD-FKB61fz%O19@mjBt9xtN) zYQ|17gaqiqg$*`&X(i-6O#_}C%iU7s)8YTkg|A)7mJ0Vw2V!_Db#I$jNFxGO{`wdB zw%0B%>NXS8>lef-X-x%hjb7+rjMuc~qUqku{IJ{z!+`v5Q0xv4&OU3k?1X;a?%mvj zT5t%?O52an3LWT-T;J!5W#agD(;&T2%r+eN6D~%zV-vRI5D>r~j@vP<6xC1P`4BtM zxX;9wHmxEv?jH^vy-?XKup9|JsZ+chK3VCM){dfSurbLg+SC^&Q6LG$5XwK>?%LDG z@WxJWj>bUTqoLO=c0E&-!zk8N5$^Rp-GK{6J8buZaj-WNYqA^~K0Ud};c@;Q9E=$d z=Abj0?{ncL1*7V5L}Q1jU9L>vr;3!Xu7}J=K`@~xe!oIj{~k0PUTYGat)>Q5a1ya8 zb=kGlq^PA@x4`57NkMdcFJ;(1f48|@gQzaKS<2<<=n^wS*D1YFoHQxEzj=8up}+AD zAbE(E&Q%F!e7(qFG<;Gs7+m(=Fyq}@IM$m_V8kL}?AG{?wWJ-V_(ciKran=3a L%Q-?r6BA7NcMN-SKJlq3aP=2^M==JLtftqq2baF8VFtm(V^YPp;94=`%M_KbpGy zdBkr$%u_>J#n6?iSYtd&-W+!9$LM(MS#0+aDpF-R40 nDAWW^adU*h2 zW|s0OOQb_u22!&sc<|%5 !+8ma43&{vDdP zg`?0e5Gq~ l3hHH*pE_H z{4$T}_;IzqTdO&+yoI{Fl4VKE$2sOdgZCiRY7?y!?4F?itrex}W}l3TuV@px0=N*h zkcx|bb`s}utS-%S&IGad`|@wcw>71LPKB+WeI(mh56M-N1^Em|bO>dn)ytt3O!__U z6EVAr`e0U3pT36M>CEHNs1EwC_>XrS3!*I`ke)KCwk_;wK%dQ>J1V^qXCs&D2K!n9 zm4TiCg~1FIG&g@+?3^!R?>}acKQ(rCoyYZli`Hz_hX6}9wzB^A;2Ds>bNBk1;E%~V z=trAn&@0v8x}
>v8-ssdNx{~I+v!UkUK$6tkM<4jxV|WjGMJPMT z&%)Lt2FCJ#KJg?dW7FH#@}X