From 72d7a750a2053505861d0f681bb895c6265b77e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=84=E5=BF=97=E5=86=9B?= <851516902@qq.com>
Date: Sat, 16 May 2026 23:24:55 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96web=E7=89=88?=
=?UTF-8?q?=E6=9C=ACMyReader?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 6 +
.idea/.gitignore | 8 +
.idea/MyReader-Web.iml | 9 +
.idea/misc.xml | 6 +
.idea/modules.xml | 8 +
.idea/protoPluginMemos.xml | 15 +
README.md | 114 ++
index.html | 13 +
package-lock.json | 3289 +++++++++++++++++++++++++++++++++
package.json | 35 +
public/app-icon.png | Bin 0 -> 1906085 bytes
src/App.tsx | 1490 +++++++++++++++
src/EditorPane.tsx | 370 ++++
src/MarkdownFormatToolbar.tsx | 54 +
src/OutlinePanel.tsx | 110 ++
src/PreviewArticle.tsx | 258 +++
src/appearance-styles.css | 493 +++++
src/appearance.ts | 74 +
src/colorPresets.ts | 11 +
src/downloadTextFile.ts | 28 +
src/env.d.ts | 39 +
src/index.css | 1583 ++++++++++++++++
src/main.tsx | 30 +
src/markdown.ts | 406 ++++
src/outlineTree.ts | 39 +
src/pathLite.ts | 177 ++
src/platform/browserApi.ts | 294 +++
src/platform/pathPrompt.ts | 41 +
src/platform/webVfs.ts | 458 +++++
src/randomId.ts | 18 +
src/types/ipc-types.ts | 32 +
tsconfig.json | 21 +
tsconfig.node.json | 12 +
vite.config.ts | 23 +
34 files changed, 9564 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/MyReader-Web.iml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/protoPluginMemos.xml
create mode 100644 README.md
create mode 100644 index.html
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 public/app-icon.png
create mode 100644 src/App.tsx
create mode 100644 src/EditorPane.tsx
create mode 100644 src/MarkdownFormatToolbar.tsx
create mode 100644 src/OutlinePanel.tsx
create mode 100644 src/PreviewArticle.tsx
create mode 100644 src/appearance-styles.css
create mode 100644 src/appearance.ts
create mode 100644 src/colorPresets.ts
create mode 100644 src/downloadTextFile.ts
create mode 100644 src/env.d.ts
create mode 100644 src/index.css
create mode 100644 src/main.tsx
create mode 100644 src/markdown.ts
create mode 100644 src/outlineTree.ts
create mode 100644 src/pathLite.ts
create mode 100644 src/platform/browserApi.ts
create mode 100644 src/platform/pathPrompt.ts
create mode 100644 src/platform/webVfs.ts
create mode 100644 src/randomId.ts
create mode 100644 src/types/ipc-types.ts
create mode 100644 tsconfig.json
create mode 100644 tsconfig.node.json
create mode 100644 vite.config.ts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b96e3fa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+node_modules
+dist
+.DS_Store
+*.log
+.env
+.env.*
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/MyReader-Web.iml b/.idea/MyReader-Web.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/MyReader-Web.iml
@@ -0,0 +1,9 @@
+
+
Mma-1O?xR!1zGCV*ZjjBTo&fYC%niqW;UA)~4 znZY`f8%8uBl-r~kz?OkrX?mS~aTXD%gaUyZSdAnTd}bQK78(Yibwe2I`K z)Rxn|h!VmYq<$>#O2mcSVju$3qmJ!#fedIK(3f5 ndOu8dX0;cNOA%i*gKs>98QA-Q{w{hV64TCI;7eb^IjsP3+~FM9)q(` zIVP-w01X)qlpG+DMzGpUo#`AH-FS#nj@=`B0$k65S`UU*5Xo-nntF(`dy$5*o%GS2 z7~!ac+R_fsmiePQT`WLw@An=DStDTScEA~rZl^njA;7~FG|c@huHuV4n+U=usvO&C zAlPSy^F(34fC7N*N40JxLgum-(yD;24ByU8z|@-ZnjtgLK(T3ueCQ4n!Ehg`L `P0IM ey8v{18xWKDZ95x> AQ%#{%R<325payOUP8a13Bkx1!QFzh4y|^# zb=xHXVUmLP5?VSpg#uTC5>%cQqm(qL6ahzuQcevMii}_;!4M9$P=TThl^Y0nfD1^& z&Vxl+dAI5zJcj{e08WD?g8-wzE6u(*e5W(rt5Rq|7TUTkC>gM04rIYDN(yBCkQh12 zTk`<>J1wq&^N~X=f>Nkl22g}~GLVOJkP6Koy$7WWr(WkwjF#Cl0o;dhP_A(qS^`1M z?&XjI(MJW44ugFzsRfH%3bbGz+yMqCSTn?G8VQH|N(5=k*!=ERaBi5#w;Bu9YVYP9 z;J_ABTtCUB&ZKe~YIEv+Z(|<;JhB6R@SbBwG))gfNQif{q7G8EB|~jct!Y@Z6#)%U zY*|pqs(^< c;5gm&Sr;Bj`ru%W_OwWb=^JH4Y7%fc}dP}8>iD44zH*u83< zJGI>HSg#iEq8y!Npmd2bb5m6WR*yisd6YiS1#*O{9v86JHZfEqsDv&=Imb#y29AM3 zJZMNQ(L>xtvp#c938Bp^TF}`2_O #@!Gj^A*)N%ndGW25@H1Omk52X7*_Dcr z)Pwz9mCx@VGIT1Zu2}l{f))9%A#VFq8p9hScV&k4`gk0Skct*!E}7n$opY< z$oy(>m99`MC59=5kSq?m--5u-hpL&$1O6SoO1wye!lk=S1XY>Mc7UQIz~}~s*8wYy zz6h1sqQ^ES2Yq-m)ATO z9KE*FIkQ>n{_v22e#1{V1OX1Dnu76;L2zI9DReM~<_*ALG|f}S+QFb+!69QAu>MH6 z(uM5OC5E~zWHx|c0!QOISPViV)c?*yRc;-#s;AQQAp|qXNucCKv4{W#mURiH5K^mj zY=94Ms4!GuM22M(waW}+Vn_k!Tx>^4$UI;cm8Nqw>r5VmgC~8VHmsy5A?*iN0U3)` zP*2Bdl}ZR0s{xMy-uwmu1=dtUVuaxU0g6s`a0;4<T zRsLAU1}hrth%!iWT5**W_>1naArLo!=mI}CGrEAlS~GkRm6asFw*jk10tx6Jz5|Fr zRnvh<3;evB>!BHfvsVidh#1}&f&w*XdlHpcnGTL72Ql87+JLb>z6@{2!jVicEifo0 z0f-=)(l7(^G{CfaI#w9Re9Pto=`w+a0|3RM8jVPWI0 H?DjYq9**-8}S zouICVc(!~zXV(h@lZyo N48?J- z#^Q_jk*d#8>4r)dv0nXASn14fw(E88>|gqMNE2IrswA^&h}f-fkxR+)Ps89(CR#8U zKlk~Ua}G5vT>4?bf~=E+u>;S1k#%VB #4uT_A8WIA;ry|N4T!3@Y5-f=Y-9cpW1%^0mmf?Zh z7=ZEsKLyj>3`7&sm;uOVfGU8gKmir >Xp#fR5rJIG9Cr#0rN2Cf7&667=1O z)1Y83o(}CINXmsk0ihfO;($8fB#eIcK~87iDG)m>Y9J&71`Se`7b0(0Vk{Z5C$I@1 z $tp4Bl}cFoz7ql~xhZ{aaHLkxHD^1F~;R zEfiE~W9>wcDNGIGb{V?Eu7cEHbgslMHR$ Zg2>2f9I;bhWi zfnSg1&S!2|`4t)zBj*K8aEgbMhFD`qvLHS}(h4CFoV^BYsT0bKBrAePWk3<2OJVYb zZp0X?YQ|Rc0}vCqI`9JciyV%+LR*3dK?~uLDFDq)wGK2OGFXM}{B~rt9STVSn{+Iw z@xty7qX5}Fr{4ROHRj26P_=}Ln~So-L5UD8;DmS=(7%veLw7g0=z~X&DRz8b_~p+R zKUTHg-^uvy#Ey?y2ee+3KR>a^^$b7oxS}-6H`=S-XMVZ3u8KBo{xosjv@Nx7d=e?% zP8SOCG%xT_6`t7W)arKP#K(chsZCkB%zAxKE3?(DF|6P6^R(}y{C_^Q`AqA(5oc5e zuSJ1Q6)sh4_fs~;>)tpXKOC2}pAqrJ^{l29rEe|GnEFNcM{_s5Gxd1Fhr8bTf~jA> zkW91)X%q`{$AGdWPj$F950@&VK{Eq_5gAK9!PRJ3a@e}=_9>>#rx~i$JDhrr#{=c= z;6jxCR!Hdx6VwC54!q}1jJA1)$Z~o&)T!I)58ejNFPFGKd=AohtiC%ss}flE#fA|e zGeO(vgYA^zG(&Uu(CQ8v3f1B)d-++@JH2&2)Z`3sM+07!LN4!f_JL4f=Zx=l3g*_C zM3ptns*y-Y!>v#zgRH-E( dLN zW@9DoF>snO=w!6w2HVMyoY}CT6oe5tDCx}vlD89U5F5tsLBb-(LfC3ZRWU|9qY+D7 zoaX}(@8$(r=nx)7Ky9&5h&5oa&<2(a&;``GdQEwr9D+MowKoGR3) = bc2y%i5FNI^YL2vs`Z(B8e%#a+WJtO^9x zY&_bP;SEdydgcV^r?Q~!(&!JhtOt;7*nC=Q%{(t?Z2`+a-q2HXVLAzS5sy-9n)H`f zwBDapY7E)&&4pP(E3fvA#<#w@b4x?=z~tkzHH=-a9v88vk}Ad1q$y6}MHi=?iBQd3 zw;8gtN*`L~MRK>NcO|ir=Hec0wM<0@p4m3=nw9r8QFTD^EPEGE!;YV6&F8g>fWFfW z3!-S75-(1Yr{WjQ|7bfj=ht`Awk{apo# I>$erJJapN2H0ixoemGSh`?v|5pp| zXYJbc%vf&EaG @YX1_Rav2Ax*AjW1X)l;x|1dZq6otov+{IWN1oM((wctKuJv6k(YUwz94HJ(* zQ3c8ffH@EhHBi;Vv 2P#|e zzK7BMA%3DG56ld5DC1PjRyA16!U1YxZE(B!LLkIm3V@3A_D*LlmPSILz(cgP`%e(w zTMaF3XgfC2y|Je4I`^Pj`XE$rgJwd^1knH;18>GEvS8>A>>UG8Xa@`R0s^sc3J^i; zT^KdEOiP;>%4z3#4;!&^#T@+DDp-(!QR_8}F~ovqK+1g^7E`xtn%4M( > z^2Xj$5qCgUacBS *WEhr+Y_G#xE*6h zEtu5ZDvGa)+LQ>T2boVzo @FGg>@*> z1M)%n(h+KJ&KL>0odW(vf!8b?p_1kcRqAr{YPt%b8D3bagL*Oe7fdyGP_W!11(Gc& zv}Og+0fd2Rm~iw_@xbsJufcn{vZ3YnyhDC3yru8GW-Am1J%*N)1Hr;UNCWC my UT0Dxmd;Y|xDM#2jmH~gSbhP}80Z4k)ywM~%1LqEzB030|pe22BB?qh`{9QIli zMj^46YS;)>WgSYZG|`}`(iTN3S^}+p+YZQ$Axj0P2cQC`1!*E+4KPXs FjJfN4M40%Ky6G*q#6HcTSH-5R$yl^W67+eLcX} z&7f1YLB}Sg-edR6#(youM1*D}U8=jh(QjNjO$f$BXT}*pgD1zP(cREG#sA4&x_HXA z-yis3bjH`0uD5;ke)(@+oPPP`4>rHFXY`YbeNnP%)ydgel9jIuTuOD2TOw}prA3eG zeDkm6nacJ0#l_S6^FYUL;=5ekM+HhPw^o&v)ZSH{pw^}tTH=(m6dJzrdb(=F;7BVj zMJcJsZPVtI9k1=TImG?G_U)Ct{+49n7lVbbcjx;Vk5yi;j?hazJ?=||Ii)$El*Qnp z6pUKwb^B{2!j?tXlDE0kX==UlRMYQQ{yzGL`>$@^+Br8rd)IN>UsjhcXnwHnmCv8y zg!}m%cR(N(2zgQ&M+Tt}z%caImeyOqQ5C|HL6R$>Z(yh8TZFKm1+2g>B}^iV@N5W= zrw^Q~=J>#-0E`51duYG`na26h--jj^`mW0;C1-~ssMTiM6f91(MW|j809#39^#GU^ z=1>h72{Cu@EG88I1{c++D-dl!)Tft0T1Tq~iw|Qj2P>0cW2$_i4l1<1wICPAXIR4& zUdZu?CqoNGQxm-gRF(4{HM`lc5;tgw1i;z^Y>EDb0B-s-D|ciU`A|e64d>@Gsd2(j z2OE<`vmMPn^UnNlWis?HNNdCKLF4x0FT!kfOEtiE@8IzGN4OA2O;PiF1V{tP#G8f; zbK;(D{7rPUPknkB|7v2P@7|yB0Y9Wz0iuDfi?7{<7Bge%g7LhY_n W9}%)wv*eE3|;t&h+zvn};JElsKOxN=~4 zdv_|r3`-xqDXMzsuwM{)g99M^km-IgK)?MvW4E>V%_+<%BgLDNxzR*Hl@_s)L_-8a z&TE7m^mpPSa921ZfMHrRPZb$`jT*?JTzdVDfpddf=Y4ec+>89r-(R%B_Q7U(#ix_o zp8HkTs(|d&!e{?{?%#<#V+((;Dr>AfSJ1Y|qC{!%s7>u73k~_hr^F6>>qWz>>v95t zWT9N2Q&uC`bi7?)@})JV#M>hL d4?1TEKUJ%hAI@rGT@ZTDnBMW^5O1szq$!(4zOi z`5&TjSn(#B9b%?grkfTU&Wg}(!h+t!p5*NKf>U6MS?&f=g*W@KHa(5^0W{$MJ0c#; zBp8JSFo5%6dPh5>*Aj3}yAja1^uQe8CHF$|P@Il96Ee&+NCC08;Kzq3iV&4WUnGDN zQaA>5I|mX0bb*UZXkq=>Agl(!d+sob4ZEf3O`=- 1o?xx(>IT~wN3bh3k zbKp313L%5j4t+K!;J}n>#@r ^fbbap2zr4BS@QJ;PHhkOl_pP6u z>x-7TxOK )XOX@QCbw5)*I89O=j{n#WCrT7opxLBbdO5&EXeNg6r zrRM;VJG7!-b`k=DYKTS@Y+D>w^&KF)35jid*IxAl>Irs5 8&mEq5B@9l|IQya(enGF~o%$ifIiXAa+>r@o6SR=+>9v6EidD5hq^2fn_k= z`0Q~~fNkRX%^Ma%)e-^pfp*%XI5 &xv>ppAw;NZE(PE;g+6w&pwe;OZA#A}q# zo-Fv)2#2eb2V(^%(xScg6C9;Q9`E*cuPIu1&}{0dxmYL- uRtTd;E?_U!$85x`!v5Jl5(aqi>af6Du&pM(G(toi~lg4Hk)n;T|-Psg1rZF^g8I zRJM5aX!5D1%G{>MVpPYPq#s(#Z~bC>_Zug~Gq1F?{62O6SATnX Qs?rayUS4kz z&!Ynn0<6P$@+cnE!hQD?RF+VyKF!xN&`D(6pM|Q1 l`bUWd!jCN5pz1amf^c<}Bhuv@@U44OJ@WQa&HUc8K+erKXGOhLjL z^ewL0Q_S@{V` nHi1Ii$jRyucR^umt;PQexvI-=ey@SrRN@#1jaZ_o(c*x@WffO7_g zO~45#{58`c4Z(+wf=JSh@kcMOPxOZ0KsSjYB> maHC=YAIA3aY+H;cg*CqD*GLMhMR`!;AC3;_broJ@3C*QyF*rqDCx7K}7cFL+s zNogz}Sa>jB?q~8(MDc@bnr!7#mp3&zdO2@l!f0%tET%Da>h)ejr(&dzS+q*xQ|@hw zJ>pJF(5^~y+1;*#QeU`2u0&fBye7>Fn>^5x8EEdedDNE28S|b3$7z-Gs~Wc^Gx_Ag z{}w)1JNZvZGbcOk$A7bX?}mik($eFdD`u2ccwUGaZ~gc) YT~R0;de1}V2j}gf6<06wBN_Z; zQZit$z?c>001}blL|^q@0TmHo1t=)%OXY(R2|_QBaIQE2JfGc$00%JGKrw?7ND2%O zP4!#>C^mroPX! facd%k=6B5k+_Z{QTz^%yF_ zi@-6KHIXiX@Wv%*rK$PD&Ln;Z`}M){Q6uAMumYt9|3_a& A^X_L)}Y_8VoId2Ks!B$*kjJf-*i%OI?F zG?Gfg7Jruk`O~-F!lEyjdOu_YXsJoU5{6+Gn0h4N-)Bw{h`D-)`ugt2f3+y;mr;A3 zh kOHC_}Wqw@v?r`ccSEiAX%7%RnYWG2@hbfVB0%k9xu4laA ze0WY$>l18y)Nxf%k6h?d*LqheN}>geW)>FZSH*w4uCj4uj$okE7S_zmu560TmnSJt zg!{Uc>(&W4D+C&Im3>p<^QAdT?})6i+?!dNlX>zdC2Ci=UO&4vwVJ8#o||Rf dVqGp54Y zq>h+V*~uN->o&ZuP}LaL35q=uU+0y7$Ib2hbzSSvUij$vm%ftx^DA~W=pKptVW_ux zwc88#poX7PFV+j<^bFquNE-(cDIwASE!_+KjB-OJ6x(R*23V@-GgimI>iae<4BkJ{ zi0Aqu|1KBWC#)hygDa7tUBL+);?>m< B37>vlJ>QbJ?x6Q`xyrR2MIbU z)O--re>nAq)&jWI^WEE6R?{v}J-CctMuRsh1h$3(QgS2pIB2cz&4aLJVlz?y5g6Ul zS|&uOSck#E9C~zoo<_jC*)q7dcfIB7vi0^Vbrq?~>E|t9pBU$jBJU2#1IcztGYi0D ztZVG{?@csAp< WE{4s0eT;P&&dt_IMZ${VquG*P}eiy*x4)5c+l)$mtaP4>V&>tH@J8j5%n6_nyI) zd(lIn32`_KAH$&TDePQ5&4g0EEd@IVbRY^a4Tx9+cn@e3s3jvvoZ9(N`%Tj%Ng`S= zM#2vUB_soz6m|;V4aS{bz=MB*j9(Ta(ZC--Qv%&TsWx^zMy1pY;pI&Z$|)U+P>{0n z=zZsUz|86)H NBMCt5E(@j
8Vd0&}GZ+baCX~Gu_4uUETQ^XVq<~F}Ir}`mw_P7J*!T zw7^$d?X_18_a!&E%PmLVYU 2o$$RJ zB)D+A1cM4r04#V&<%o6^!d5f1N&1u#jF@%qS&lOUeC~A9{dWnZgRH?fbiS7$Og(*- zwG3X2gop?m)`8y$bC%J!lhzF(i-7D{UI}jj#3$8Z=!D4%A&U%PEJHWC7qsyiwV&h| z7YI#cK|Yvpp?bv2<8VlXY=s4R8OR;slcXGVe>g5hF_6I~!ISmwlG7`@`B^Xco_9?* zcBKXHUj{cPJ+NygMw_Y(bc8lq!#JLZ&>}W&oQwKKv*1n~d>pE5t?aP?-9B{U&< LLCyh<)dJ6wbTWZ}KmmczMqgk4*mgqx=6e`SJhc zeO~>^ClclBIkR3_x1c^ne oa8X*0LOV zy;x?mwOz|oF(Z+E+)>4hevd8Q=@dBqKIe8(u3L~G+b@u-w~SqLbK})6*9f1hURRo& z;BuvLtR;C;A=B zSC~{O$T}JGN~LIJ!4ZYMUf(^HbB*WfomyF#QMbXC^ye>TAOB(fq36DzGopRtziC&V zeoFWA;Tsv7#;?EnQ{z~+a}#<2CfC3hDqwQPD`X&U=0na&;`2eWH9$QEQM#Tx-sY;m zw_jHE-8=}ve(WzMa4c8C^7QKix0FEJFy)Zk63Vv_ipPM`%(%a#W h%|P~A66t MH&oGIvODZdv0k 6U}Z!YP6!6WoN;$4j(LJgNLxWC zJ-(m{LHsPILnMHS=uqq>q7w-IV^JD>f$e~4N0V|LO&c{>!0w2uLVXLti&XDWWw5^C zczgKsp~Hid4w@}H=sgBbJdU~cmReprtr0aDohQzW(2odlaX*$*7I|cehlfxmwmd#x zoC_F8KisC-FN6x8QTQ=zKBng2gDIgQ6!Ro-AiVmE1S^rji$U%8! |ZC{^M^y@%MK>`d78>gO4>IeqE3r!LvMbTdZ&qfZ{fA_r$C; z2p)ILlt?%(wW+6;Tk`hmq_jqF_~>+L#jEM%WyjsARqcbeQL(bES$~ZejH$hNjF;#- z*wW0qoi53L`x8TF6n}Jcd9tE-%y%X&Od6r$1&r4sEhoNk8$>4V3D-f7IubU?Am7zs zl>75b`rF^)4PQ# X?hss=Tim3zIpsB?;WsIT@X)u9%hWh0nhH`=sAA<*&34 zXm8sJlX`?YZi&3Mizg6 oCVtVv$A6`2J^1e?d*zjuj^dNcex}>}($J*m#;<() zvLb)^M^p0|A&(3F2>dWR@^xk!9SB~#gmec;KRtG`<-@JUCKEt7Le_*I*D@L>QtCkS z$3org77RU4J?!+Pa0A$exdN3@3&RTGdiRYz$izsvyA-2;sJUdJi-*YFfA&EijKM=u zMF#jpArLtD@uUtU96 L?w9{I95`W)M1%?FH7ChSZ2)NP#DS z=7cs6`c~kU1d@YI10_uL5rqQ%Sr}H{0Qd)pHXt^%-<^>{dJBX-JY^)Bj@^wfgg`)G zp#wfr*YkPJUK+CKumN^~UxeKm;_3i|8}LZ+E`aU7a~N(Q0{`J>C%o~{hXA;zy;R32 zBksO8cotmXH?!EOD|jD_;;sb`O*j4Qd2}<21z$;dJZ0n8vn-@`BK9Hl;oW>1%`^bQ zd2M7?MiGUc`UlV_Dwff>u?z+3{zqp>5s7Ack9~uhTeX9O1QGa6s8^X+4|~@hI$209 z=FUJPa<`JqWa wK>Qb{;V|IlJQEc5izPjDEr}+IB>iWKa?+^1n`o43fr@YMgvjvxbUt@jtk~(Tt zVz$s@b4nC(5o()skN26Drli8f)%yJ0qRyGdjN=XQ*09dTrqjw%-~9X~4V=c7q_*-% z^YCO#@OBauBhG}Yo`T#kW42DDjb5G8?c dKJCPG@-OVgmmdOhc%Vy{ z^%-Dao(AtIukXH`?X0lyx>=z{7OE6fHeX}i(tbI27{nAn<#4p8^VAshfZpq&Zik@? zi+I`IjQh{gDEjk~@p%&Lf;>z>jIedu1vm{0N-O;^X_2r3Dijyk%tOmefB{etAqYVc zLK(wJLx%+hB?*a P0ZS(CnHBL16~!C+B~2X+CXhn;MpS8wTg~ zi97|;5hin)2-w@U0ulyhNi8ezkyohy##xMS0<;X0uXiu}Vk_Vm3&P3b@eZ90z*M 4Nj()Vb+uZe%2b#noyiGaNuaJjT^4Cwrz#E`2GyoD74tu~1q0@wa!Ynn zgUjpBHfYV!5}!TH?Eo?6TX8Y-!Y45owvR33lyN W(OfcEp;yxBn)uY%G6{>dqH0UTU(sF^{bF%S`1}2^LcTp7|I{q^lBw0;6n? z%AO3|RUve4a;8?VaPd$lO KtyBesWfAO^v`bd!<{Y5@ZDwF4gNf)2_@Zot?I7 zOOj$lC%x8XsPNRPo!xzWeWpX-_fOYHGybfxP9Dt;)`6$Y;RPyOjHK}RtXB++V)x4b z_H*;NWc$kn@5k!&4x`+pz#s&I1yrhlgW0Ys10Os2fTKZH!XBFPuoKI$G1e5!c?2=j z>_t5o$`EO$u&lMA$4)35tG~fY2*;cU+LP6{P654%u9k3zrPRb>fhJ(2VihIq0;DJn z=soJ8J6(&|g?-jT`-Wh6XT2M=yuhPD@bCeP SUBo6b z!V|#=^*i`FxhBK`pdVnN8uSS`90*4h%WEff?wpIb3z)jFqJ_+COuTXW8_vPAalPm3 zP@ld*=|QX#Jl94zZD2H|PmS0L$}Yj*5ulIb1A>uT7GW!nJ+%Jg#IAk!=lMuoU}`7f zMK4_d#WfTiB(fyb6OV-;D=>b9Nm1XydUnt~Tkz4|GS7`h&ktWV_#1LC!?lB^euWu_ zCWA4TLDe3l0ar?3&($Zm3=y7aSb%5YyhKV00G`_Ki5-N*1{e^wJrtrJ6bT56t8#%j zA7pBFMc3Xcbz>57aCovvzD>c19b9?Bp|)S;mBk%8^u~!DznS& o{p-8J`CJ(s5K$nzM+k(cPa^oB3i}|k=T=VOi#J+BwXR9dEaZsOVbo-+C z;v(Kcdr)WgZcQ^F2WY`8W3$2vYPvctN-C3k!~1FmGr184ZD%wB0!DQ%wMHkaO6cGi ze5Sk{$?Z%|pU%t?X`$*i?ThVe@7Bpuwj6h5PM52#!%1lK6Vz&MoG{v#;jz9Z_PBZc z7-emqm}53M7>-dpxmvke9VS$`Tv0c)k2eYiB*x54pqqkZl}g1cMEhOj;faJt4Kb?~ zG1t3P#wup2akB# z%o )zNU$oe+sLhNMIT2}SRDO-0{BBd z$}=R3^}$3EOXZF+60U^xO58jKR}ot9)?0{RAbm5dUzT8LZe&R}VE1TYvDq-SfpdGD z+?k=XD^!k2|3NwxGlTphma>D;89(z!)DjyD`-|x9$p(a5?8rztG=PmtrHX?M`A!~} z5N6s#L^-C@v`XJkwq`IZpcU~aniE<7&eL#qqhodrO{L_fDIiDT+391*XY@O<0p3VI znU?{Cjl-9A^ByE% ;CfVbKpZ0D25${~S3-rV-RbI1kU>kTH1i`rJ>R`1Z^4`m(rReyC9Y zB6H=aDnm7rZp$pa!K<>DSSIDjBce5%rUU&;wndD}g63$8I^|qKxJy}lVPU&%-_)bx z>`PssfYYKgre_`JL JqOb zHU9eG_DVlj&dYxO_)5j-P(@OGqjS4E>XapcyX954x1m8}E=be`0xf*oq^@3Rz$b`r z^R)RS?g}GUZrN91tjt@@n{0_6aI6%#1<6sOYWoRcwcbn-FfEgX!_Dn}bFoJ;pKt0+ z*<*OVW}Ts~Ad@Gm)+ZP|5~H+PEmjC8xmM%!vqC`R{vt0$qbrZ7H~7Lm;>~>yjVg~D za44;UuTLn_;tifu!7sMWP&EDa>wjK3IOBe}ZO7KS7v9%Ba`V6DFXKMs3+kgF{^toa z`&-I78yQ;_t%zBeA(W8^=D2u$3|xdp_@JgJVE$%9^`<$otZ1>YEgkKjoiaQ}9K`H~ zA|{ b8*^joNep=To&I#DRbs#hT`2bw|&7$szAkWdnWB80362@=mj@u41! zl#N)sSB%&vWsR7AVXz%Uu*%s{2M4SLTf?XzL*6;Tl7VE`#^A@+cx;?%R}|FEwCT=Q z(O?<|wjo3e;``v&0a(c(x(v|&Xl#+R26-F!E|$V*ez-fZT}XF@Xh+DWhRz}^3IAvZ z C#jt|fGX5SD6AwVG>fN}1~_k4Gm#oAg!(i61buu$L3 zQV~mYs}%OIk5I-U@ZciBr~r_`u#BoWU^_I0D&emY#1!&-L5qfTM!Xd+OX=QH9|B+L z0vHZiGC7{{ Wt>(QLm@h^NC zIiwda{M4iG=}E3e^>VA0w{z;dF{lUlRVWYxI+@0EFp1gcsn^F|>+*X{OV+m!@?34n z9Z}8dB@NM4oRXAaV)4d^EywLA60DI@-%(+$+a|TvCye@(=q0R6&Y-W5l{A*`L%N$e z-jrxBOb*Ld2-Ox)(b`o?r>j9I+>)qJZppPpcsX+Se55nx&&qUp8|yQq`f6ZT7Pj zHA$A&+)TUM&nS3OCu15)7OD%bWr~Dw<+?SxOo1)f?Cus98hO&X!pa&!R+Cg@GJ0Y> zhHQ~PV9ZW%yKD4HF94u@LZd8KTFKYduH+d6LdM OZN%b$>s*;V)nPa9+2qbk^X&o(zmd0GmI< zg*y+SahG!;M)5xs27j{=B0h+anHxxnVNGcO3H(T0h1(mf94$kjs1vJNCN!v}pJAeX zi2PuTLQh32^FjE{&$?+7r`AsJxD-K!IX45p+k9xC=;S{^bogOM7(lTC97~c<== rb76@&f=8&Fw#;9RFEf{ z#zGKyn01K)gu+Z7gaI!QU=1 @psn`PDP5LLNBvG!3{|aO_dzS5VCl%Q65Spj6hCHL8do0Qs!*->m3 z!%BP30DE$nB9iej8Y9Fhjs|jZ<2M7WZo_$rWIRmJfK4Mx>KPYhC8_VGc)Y24z*t6Z z5WZ#x&VSj}xm|x `gbFr6I1iK!f!+V2y1 ztLujaVJ*$v;vPq>SQbCfA{t%T=>E7~T%=l6Q_yWski!25Yr<8p<2tnosBVo!5Q zmRWD)PP g^Qomjaw_P860!9b)LuiKe z4g_1ec$g$2#2EKRLCv!gF33!%-Fk>35POYfiD`^vNeCB#6t5L(SafVCIE3Rt0Q)i_ zn2^i1*dP2W1dr%^-438chdFR62slMx8ud&+Lfa6qx(I9|J2Aa2fe2)$1O_(9Y0=k` znD~Fh0)99 qh LTjkE+I*5%y2riaGpZ8QqO^1&{QHL7;-IC5j3}K(Eyx_9sKaO?Bbc0 zJ`D;Tk}Y^%gkoK&pn~sv2EJ#NW&G!uF^TvfLBin8&k)L*@t#XA`PHJx> ze%3t%)js$QHTvg6X#t2!(;$xxj<9*ExV>oN3Fgun5A2ExLmRQ@NKsgTfn{#-SB z(@Ck60*Z%$foUzIm$efzqZi;8{XP>f!AzXa=HMoU=B}=6gjSq*0*dC#<76ZmvFs_ z>&~dSV79@a+3)MvXq;tKMOWM0w)*)>X29TMKF?E|fQ)h)Z>Q%kiMo{j)WRtJt8Voo ziNSi@p*WkYipFUr(Jvn9Q(RBa&N-1;s}ZfuI3BJXT~T;8qu)AP)aUkns#3?OIEazv zxKoAUNeA`57$gYl0(_w-y?OZ!?UF`UqysHrZm!dI0x>^e)Z;WoJdVH?zgDlRwyK>` z+}w6ara)h0;F{V~g|+@fgUH!YSSg69OOj+AEeK>9JyC-AMi7riKEmgMiEh2iKF2H9 zdE93+Dmeqbty=|1S>hP;-G=Knp067+9T1Q)D+` u-<^W}m?wX^&A{_MWK>>3RsXmO-p-bj%eC}v35cw*_i z_)!Epz+>y+=w-c#tDtf*krTqtAI<6^5frO=elUlme7cFn*pjdwpcz65#*v$M|8bCp zRoHa%4q#zmO>7h^=BB}W&+=S^CHU@5fy)>@7N$bXZ@a0Pv6IRKdxL0|zA?aUz8e zYdl#MP~Au%2KF4o)+_$^%rq&Q?mvfqYiBG%s{DvT^>bk-xhY~33qznIH^4Ws{7T4^ z22k`(%31)I@_*C|z7(Ml;+L_3!6YBphnx&JXhLBFq%%Qfq+gGb4O 3k;`Y>}*g>;~tL;gtgBP+&V_Rv`bZ}yMo zHDm^XLT#OIl=V*aL?S($LH+=2= Pff5H09qiQqu!iqnpWhEURCh>V `gQDU8;v=K#?XfER;Zq>{e%%iU60|<=UBruMTFKb3fD-ahrVV zT5)+qR_2)T+F+!Km&AQH?lre{j;ie?zi*{WZxH-eT$?si!d3D-QKEP;P|VeppfeMW zWg45Ll9f48uN2nR8~9407xbv1P%OD}YH;edjk{;BH2&7@HzlT*Ma!0tr<=@S#-hym zPWQ;>;ii%4Pwd$K(!URkMv8=bNqD&HSWZ^Q4aMx)NeZ=-i77HBc^kdmX6=gT{X2W2 z=Ed#r_x|xt;?Ey@b!dO#gkYoGHIlC}isFCgZDhb>P-cw+u|7(_46gx7d>jOvtu4Kq z&}2eZ|4>;Aa$OZ#^F#%Jh# R Imp?|HqMV!<))b^>iePLl;vp5Aefw-IC|j>xJ= z ?FvTi1fZ6DSD*l*Q=HzGsvU-kFpQKiN^^4zqb71m>6&6*Z*;9 uF28x;Qt5(=+$B>lC6DNQ(Q4rmJ5S-X z1;t8lxGcrg=lg1~=~$7WLgli(W;^9pd!sOgEg9ikEwh9@w+FkT%w=OfyZi*lpmo^e z_Gr@OWdh-eggaf;2iB=Bay&dC(kVQ{aUR2Hn=aqtva5}z@>wqxj5%UtK|wI~z|9oH z!jU9i|4^TZn_|`X@vE(Jsb6VopD$(NlqHHNM^k?Fy5j{d-omLJ=dSNwjU=nvtCQ>l zh9W^p%9eFTsX~)+yjtCYfQRBEinLrw(QHqQ)F=|BU^0~Y)WLoQ(8qQGul;PYw555j zQn7*~&sAztIa3F4S%s@@jl-3BcEr=(pXeG94H!8|T<+AY6Ms9B_R4Uwh{qH0%5$Y= zD LLI{dwGf12&5bq)JB-F@cEw+fWD`s!{bTgo%T zSP_YMkd5_?2v0{K5}u W((uh@_jgckBgP;^;s2%UdAk+OmI+0~p- zsxy^243a7oh6ghVT%n%z(6ZKDa-?f|(O >~sw!hSw28z?MK57DV}J{SuVLcLKgS;@3(Xd4oKjFfDI z@`yjcQGi+&+O47gc9Xgj@!f0_4&;TL6eX=?T4+O+K!j|50Ydlt=mr3Ux~T@}RuG!l z=qN#{Uxt?lX5wL6{7_yBzb?)+@OHSYKr^9=KorPXgsl={x ~$t!K9qI)>cQqGHh;hClgSe=F8y_O{-pBNWpDkxV`jW7 zZENY`9?1pX)WSkzw+$-*t4QEtzt}_e !Dr-yK z+y!wkNvu~62stvy$Mw%gyqm0=CC@aPPsL>ESGHt4@$GQ^@aJD96=sC<#L2c3O CleWUxg#*j~J>j3Wt9A3<(G|A$d3*O4{->aPl1LUQb5`^E zDHR56IaYEXgIp3tu{o?r0IROA8&Qr1T!gR|&IHzf17!)9h1-FQgY=_n0CJp-!Ula| zWII7n*=!fcf4Jj-!>><7_$?a&f&iymAm6dVqvzp*1LwUd*aW!6rg|tsN%0%?;6rhV z0z1V5+T`^2JCN+hsP&Gh1K{A%N0O?BCeRS!jandtd ^R7v!p5Lsgaq@-a0fdD@M z Pm|u0{YEzJ5m+xk7_8<{--_f990MGbA`W78 zg-kCrWR436iq2sAaqS3T+SXfW*AX|`jn3fwD{91FoNEC!o0WicTIqxqc4Wj1hAA|- zw*lHbl =z=e9#X2BIXqbe?jk|tG81<59B?iU>(K(hZ5_wp z0nN_l8&BgP;X-)8hN?^j7=;-W;aE3CNPt~BMHp}MXH$sJ+E_<5&P=|GJJtB!^Y1=) zb=UeO_b=YQcGv#SK3(=;%-PMpgKLg;byr;Ms#G)#tDaP8YU{jCO|sq>6>Ev?Q97gL z7HNuwnX_dqzpOIB#w%2rnpB@RJ5 Q)}~hJxlPH}w{HXjvLaX2qt2EZCR &u7wuIy`D_Q9R{1&?%`-oJ7} z@a4ZwP8!uErvw$%5-D8)lK>h16ewS+$$ZDuOo(XsL&Nsw#)od1C+GsA@n4f64ohxX zRRgXv0H_YU9R>XEuOZ~Rzl01AH>xGT$=^Agal;8{_0SOVo_1`;g+Ynn3?-K{%zg~1 z(3^u;Bc<43;46!GH9p0V!H-PGnQYaEF zeJ~ saX`7-iI;?14`3L}eL_ye_QI&&gibw_;joSk z1||vw7b);Df B1kG^&jgT<2yKJvdspo{Jy$Q&q*>z1a3E>zt{&~iVG}By zjmO0yh44XegossxR$vxVP(b<3pQ46Uo&6(YfdB&cNZ?>Vxy{D)D)22sFh>s)iOpn$ zzPJ?c9D$_E*|RQ)%u+-?BkeR`R5&^Dc ^Vr~yx)w-r=>25i~+%jpR501&!VfZ z?%DN|uYcHC{8+-CpEj;}>hG~{^*?)i`&fBcdvr>FSEIV7S)r;e?EFc%q#{?XY5&t5 zh3j-uzT0&sZIx&sKPcSYJCt8_u%*_OdZN9#$i)mROnh5}u&Q`E?~?5()3%~;w#qfL zaCsb0F+JaOtt+EHKWxpIJCHik?^}^;D@*+2u#`JTp6NL2diBg%qq{sFx}IoL;h3wZ z?~-8CbW3sJbImc_pbq?nLA0n?xX2W(I;e7Q-EAyx-g1!_*;AQb#Qi)k-dSyvXOt!$ z5xiZm7*RMCQGtajTfJfPB96o&ALZw2`)dvT<$JjCqvh3%ty+`6$JNlo2!almq+ICl z0a9HeS6>&{ >}sn}_?y2d&63ncn)LvSSJsb=#+Y;}_tnCle67SFy6TNG+vY$> zkQzV0`0UAfi>F@cn4cWJGV95oiMMUcPie3IN&E|^;_H%+i@9x4p5cDUlSvEPuh@C} z^f?vligL8w{avLAn;B esA_UtDToGHaB;l_RqerB1Yc6EBe^MvbxOfxX>L|F1K7r3LM6hj z5bVY|Uj_V{N*T?tD3Ryb!ju?h_QNkP03r7S(2uF?WSLlnO#`?Tj-U_ty=iOFEIM)j z1a4$=;fPpYN*c8)1~-tQ2tjho4Rb^}(9*31Yznp`E53F@z>cSYnjUANAIf|sAO>g^ zoeC(^6E9#)C7y&;)Un9Pp=I)t6rSP{pvsUTBGibcQS$gv4h>7yA6kZ-YVJ6W2R26& z5$})+<51gH?YuBvhI1>f7b#OXLmnj~#|Um6q6T+-)&`9nedsvCwuXMFulB>0oT!n3 zjE2UCyv_o8WpJbcAE<)a*tKJ29PZDxD9aSY-b9m!=YZoHYe&2w~v z>%Va?`oJVyfN@Vc4}Jl_ElAXL`LVnAB4}Jo@yoc%X&I!gibIbgWrDd0r2%f-!8D6} zS{#S>|Bi&07GA6jm*&{@HM^X+G6`H5V)5!ZUbo(;Y1}{dl=lmo(Xf83ztE?$Of!-JHh(5JR>o>Cd)wiKu^U5rN1wra;@SH>pHiTUd;3Q z^V^cnI;T1hDy6u+>rgW1=rLo8rM}TPE4#;9`l?_cu;v|gP2Q3iX )x4TBLNXdIgaiT$G zDAFxF==QZU{(vCZXXHbVW}DS6DX&(XGjJgxk{-xA@u^q^Awh;TiHGc3uC3T32sXz^ zbpmfgTmGp`%oS3zJUo`vP4dqLO8wP&28G^vupqwY2y{zv8a&r?J;DZCrekT#Nv4P+ zh<94K9bwZGS98OKTxSN?=8l=Fa?f{td}{7$-RbHJl||yTE5!$oEf3!_wa_uO+|!mc zbo$uqf4eJc-VxQ@`l+IEYo)|oH_)q~{P)_fC<$8Uy<47}@mOu{uET#l@ssnl2lrb( z@A%2ClN&La>iYO jRC2tMu6=Jns_ntr*y! ypjh1Yd24vUJmPw)50sKX*9y0B~ ze`qJNam5Gjz-WmyJbT(?-dg?6paQprAW@qxrGr8hDti_M3$Zoit=I?oGPR`}tRyD| z*GV0B204xK9}w>7tU+p)Y4?vpkflXBMFvQAMEOlp0*+xY6+DEQfWiGJAjGi-I~pXk zbcYRVswCVT2NXp;>#sgRY1%hl )9asBd^_c_`>$>N=9}l=d3;gU>Q$>ni7OYM@gGTd Vtto#hnz%HL*n< zCb7(r<_j%CIT`O#8*9~;i~8EiRJYid7L&-aIHP(-)tjc@u~m#YY++`%*B&ekG*^~s z-+8OPU~vb-*u;W?d|^;v>S 2w;vleJ$dEmODF3l*QH{* +^B5rbnqye2OON>wh4mtr2D=f@VCJugC9JJN=d5n%h?jo#`$QAoP z4uZff>^N*RXm7)sp%|T$!o$5CxH$r`s}HxrJcrHiAeA_3+S7y^{SPuG_?k@$#8>Dl zwh;IFqko13a^1v`kO3H;YglA(G$8K@-;D->{3NuYq2GhOYb{7gTfD}=7<`f*ejIzZ z68(eF!2tCU-eMT;rI@17b8%1B0wf;5|Anh{26WiAL+E-v_0`Do#0@x5It}iM1aWnF z6T;E(D!zLPH{SrVBB~{T5>M%|`uD_in-s3}!_lfES~nC Qnn-^9fp_@t0Q+HZh+ zf!ry$u2Bes^@rn@NSSTh+9Ued*T!v2{`>c<6IB)8emCQiD0h6_G_fA#Sgi>hxOgX1 zTTzLt?*>wZ^{*T;#CXgDoSjLJs_3A67KFQ{wQGZNX7?o1}B z!E5S}Rxv3!UEpHu(LE)T@9T__ta|RPHMV`na9;$%Jo6HTNyrsx_QrD~F1pJV2A_S2 zra!iaStA;bA<=+Yzzm>ly2V_0y&{_g&eSbNX^SpNUEk*8d7_isqA=JO>jXS^ezeDX z+MQv977*(9nX`@8cxom_Sp`9m$30)bNwQV73!DjhgKFfcoBP`&-*Qo7d6oWJx~O*h zF+{nE14jhT#&-tAQl^<(r519srRc|vTo;EI$hqp)1f=< YKycyN&I_$Re>}^U2lE>Kl3Q{$*n3zjrPBe7gOoW3BU!H#{!=D65QF z{(OsDQsfyLM_B|zUt>QsupSBlH{wUTNoq#3@+N?rxEYeM=_!*?MVU;L`l6D|(+Y!3 zKOadEKyUW=-+N~8JaFXorQ>ZFpK;d! WhxDr;Wh>V5Lm(Iu z*K qeppbm%UC@l`h5?jysk32Yt*8&-&fDe%9DA{|%l>)pkpiJP4o0H$e8GF;sP zJ{Ae%Jvu?8z)iNa*iecnrVmW&IA0cx#$Lwgj%I3q92DG86+>4C9N_F|^E-#3A5z@q z(!CG3;18;?`TJ|<@Bkk#GHG#r;XZ)UxN^?@A)E;*U(bp((C>nWW(NcNk&6 fVH t;rvNY6fD_udbnlsRC(Dt;kB-V !K9 8ZA~w{))nK?n@vT$mN==Pni*(uxm<2{+gxRRmaxMPAzk*$ zl(sdQ)00&^-)X@Xm-pGzPf7~EQpF?~B;t-Hw??GTpJT;PoqoVQQm1;QMwHc2_0r#J z>#9W}EyoC5zZTk|&9(Xl+rQO_c+6UP I<=(T01ul6;vByW@Ms!k1#P68~x^Y zM_1Hue(w3?M~5dj?Rob5FO=t0a-~t5U@M94lo+n@N`jaojp5#Et}9}8lB?i|zwfo; z;h80O1z)}Q+tQa+`IWfJQ~|96d8_F1MV%4}G8R8>(m?qtWpHsdwyGYp80B<;w1H{^ z12fBwqPt@?59lIW*f3N!P#35xg$}SPeR5h{-a{FTR3Kp-3yrZrt{(M;QyL0#w}A<> z6FLxQiUEcM3aaLCqmDuN2?M(hmLe&gaN_|+N#wA?(gAM=+Z#jO08E^n= I%<5octGEycwt5N7RM8E`c2P~g_P1JhvpLuwvOa}(2XynP0Q0pBTiBADB8 z<{i3+Qlof8k5pEiUH9KWd VWCgk}4bs9u2U2iLoCckk80HtW3b=(Q#~e>O z;LVgNlgF (zfAm4@!i|!9+PK0lm987Gdev#=-E2f%tXjb{M`7GC5?B4x!2N@(i*}O z&ngFQ?{1G2W|gWWtMb=m*1BCQUEYJ{6k(e#yT`nwdaEHUC{T-Qs~f8QLXqWSjAaJI zz6c+cWIWfxk1O`9+?E4F%AGZaQKQ5&U=z58%S&wje0f_7-<4+H^YO5`#G-EhWO`@8 z^y>CD?Q&Fi#q}n4Pb_zok9#K6cM4;;#f6RPU~&y3trGL!7`>jiC$I6V-i|*G8%35` zu}-^o#qnH;!&=NV!_%g)$As4#PpGTxF^;UH$ZSb=`%I6(A21oE yy-XAbZyO1Ue$}$ zO)uriP5tR%bxc!5K-S94vKylF P`iF`QNTFh6@23M)Iq?5_1(( zouU*=`SRgKvlDkdpWdm&<*1ciqRoA h^rl z!bmy~>as62^$4JG#N}vx*6A|}kH=VM=?e4XL}g l6&N6bEZ*NHg?o)EOTjv?lx1cduG-`NrE7*IHyq=x5u55oaQW8 z&SZC$+Dc-cFCFtq0_71sn>#X}dr7)bX;-Nb{F z=X0|H!r66QBeA>-=@OYyEDG)xj4E7dGnIbdU!@5G+;W}L zBb1g~gG`{P$H%P5Uw*8;#rW#VSFCb<@||=8r#&rUG-|=p>%Gl&LP=dt%WKtdnMRLo zZV7+&Xue3k*5hrMFZ0U~!5NgfzlhA*V_%T9Eq`|W$TLwpT>PGFkC!uogFV6tLUVKt zPtcxJ5ilCe(ShAfBI8?+hrjuoe>`<(*`>38f9tMM_ejU{GhZ#iwLETI?Tg{fZ?5vk za_c3Ci)F%!@Zc#z{t#s$Vvu|%5Bj@Mx+B$)zXyN~am;hih9g>WlaDoh5#md>bvA|d z;YMH$rNF$%bauZO2&|M<0Pdmzc!MGgg_~gKZI}gUY*%8jQEJ`*t~kcZ$Kk@Q0vSxA zt`PIg_P7(4Na9cdiL*iH69SsV2}*!-0loha2IWu~GF >!#T JTqE!+$fBJ{Vq9qIN}K%Uo)>hqh^j3!jCtB zDNepAinqWgF&I%wM;htk;QE8uWiKcQ N6; z5MEU72}zCy5qW|#-6@y1;frkJAN8G6olT~bMh9+dX}2@=ZTUgzAHm!vRWb5hcOW~v zPbpGCht%o9MNcj!Lt%3d$I2S#7H$j^EK%AaZ-(W%(dGy2t!^{i?nQEg#AB0Bk{OEy zn(Q3+%%iq74)09Q5m#kbN{WQr;q7ro=g#dZ;09xCVdZa_!}9m}ta#ggUu{j@X?KJB zOb24Ycn&oq&os+(pI>aieWArnz~!=)h>Q5R(4N=-eCEPNHEui+;zBr&IwmO`z?j=@ zRhQ^}NLb(pWn#st%%%e9dg8qqB76@sFe-(bI^gT6`!@Yl`o~9`ddi 3F4mmB zYgFe*2aMKAyNgk(#X5;Xo)xIn<6^7EsnUfES7=Of=`$Z+y}s#JcP2VsdgPlIQsq-# zd$;8U{$gNR$lk7*gzK`6j*R#8h|gkqUHuL1-TP!IO>4oO9Vozv@1r_-zLiV}4}L-A z6URP5*F?eM-V5Y`5Qzni0_YSHX3+& $@FT(7!xTzD&5*j-6 zcxdJSA5(7w*7SMr|9|r(#DoVMLcn0!`c3$PfS@7R6veGcgqT32h}J4Nmq>t86NeAu z=uS@!5EL-1As`wBD;7k%+C`wTw*F3Iv i)<9 zOaT}O_qTgBAO78lW3Ix=nb`XDVZc|oh6g+y{4Y}I&nqMwwD2n>brEf5h=+bZ6|6AG z&`d|>!Hl~E9+{uwb039qUPn9LEg?;Kp5Ofe%%QNA9k#--$sJeHjhB&I1+)dypfQTL zt%TeqLBzliYG+ZSfQLqkSBPKyx1(h5;|GIY`Kq2lG9Un-@VJ@%_7o&$5ceLfzH#}E zvIvetoKu>F^n@u!PR!lI#y$jcNW7myg?i^Kk~e_n1+SKZSP}sI1u 427Vli I5HthbC2k`O{TKzk`}Y>O+lN*fh*MMdU;DZS3q^7Tb3 zv3RdsyY|HN>;mCGJJ$*{g>KeT9^^6Sj|)QSR%!ieS8<%Ejy~#7thw6Ez4|GW8Kb8U z9DSj3?rWYji!~YEuhPXKA+YGWKv2a)9>pl0d!Dl1C?1?rQKFM2sSd44x^gmZ_@trL z^+2fGGLqh5NayU~Ce6xn#2iaYxt}jCwF{amTP8ZwH0tq*KJIYU8u{^)30Dqf)i;&P z1 us@3g@y2=;$QAO~rjeN^tS5{=8m|vgG6NF@y z*WL8=WEY#MIO=E9$9MxEEftEBl+T%kb=N=D^4n`1T$Kri)Z%FTsod{$PI*pfa+c@6 z)!I|n!K_Sc;}+*V5bueJl)O_~^1|;A#pUd8^7J10X4QG69&+j81p$x9eZSM67#xvA zTbH*leXVuu$OZeg))rNJm*1xeboou}G?g!lrEB@Uo5uA~1;K#(>wF2dis?v89d%_~ zDN4AoW8S}4Klo(Ro4TRB*&nap`fQX5SZ|99xoWd;XgLPBHPJPa@hJnLKCWx2f=;4Z z#wT)~#)l9a4sm=E_ZnzMdkJ-KyN4LguzSHyCfp+vJ9Z+}43O)vExTut(JrV@_}_37 z0B?)~%0ZGghRHz+gP~dIU@=|(!5R*oc7S|A2GdYtkzw{-Ikq*<4~-kDwl|%fShkOg z^Nm^cA2sBJhK&a}m}I^Nz(tt3j4J~ZZL-@YNe5(OhQbyiO!(qRbxY`h moHy$d?fnYY-Dl1B)@x?DhC+;@q2Qi +7k>vz=M8c`T&O`>DL>48ljD%N_A5Ezab z5j2|LDftthKuq>{FKiUkNVfZt&GQW2WDUOp1NjP>gZy;o8J3EUIocU(>ZN+sBg>1= zynNuzyl0+_j^}+U%-;7=N@Uv5*_1(bP&Y_H66~i;W4X3u|6p6&R86!++TYg3mVn42 z&sj-b>gv+y`yNo*EwO^VQ?tht*QPP2T-uw)a%OsqsX|f6Va!T3vagHFwOIRbS|T;* zkLz9W3!bxFXGiqNFoTc0F h2r{HHXN>Q;UU(6jI)fvOCBkG-dL+!x8m?uw zQq#UB3%X)DJxi0(?7c6_-~=hI$hV5AP|{Ydq&IawPd1&Aa$ncbZt2#gIkN33O_YM= zB^v^IU4UT~w6>46H@oyw2ep6= HK7^_^t6?xkJ3{+?7-w?m=n8nKf_!h* zM9$gD l0u?)lYc zH?o)i !EZTG7Zq=y1g1 zG@zHosX{;7e0LMRln}AO*nLtlcqBNG{b4&oCL_er{tPg$c T&E^Nc$guPdZ>Bj`(<3{soN0 z8F!e{3?b%Iw#7^fwphg7_ILqeyzU~qi;rRY2J;bkGw{(})VXUm?Kg1~Nkg16jr5_5 z(aAVPZ;>VRlP^(5;}`+qK Iz}uO*-m%zr&m=ym#BUL-}fuQS)QgQAiYt;3scw%BGMd zUqrq%{>X^Xv>jsDr{w}z5a2-kbv~6z`T6kcA@!`>gdyBvtneIJl(&sS@G1FCQ+A4y zAv;*;LrnFXcj_m$3nAW|XdZ{DDAJ7=mkcC{@ArR+s${E&;^hv(dPD7l7*{~M=S-|i z#J%>|K*!JuABRI%P*S$O{mX^E3op%E^tdYTSEXN@PxchftGrMXy0k~w; rd`r^Z@6SJ`&HM(jy*#9H>q+0d_Dwz0_S&pze+ zdUUw*2HT%ye$h*1#!%V-UuvjJykd3LwwGOxY8Pciq<`Hd7;Fa_UWl(p1>I#u1$ti& z6q&9`QIM7<`#m)w-rmuRi9SPlY2V>m`Fgk)s~U!j(oR_y%FA`DR4YuO)WU2}T^#@H zez|vRI(Mv6MoHBH4?mQfl9ZgD)>4o!Ib#&$X+4S*ohdZQGtWtXknfhkbrj6X(XKNI z4tLG2A7kZKD{Cz<0bZZ2>uWzXx}%v&uHN3csbW4~fGz9R_18^KI;5k|R7FBy{ob_= zg_f!e%k;=4W1nc7uTvZVnL5Q99jcjcs+}wJbh&z3M^n?8qe-&v78d>{Q?p;fPRGRw zFCBY7=O fK{o+5jEIF&({KY%%*TlXy zj@KrL(f1_;?2wV9M|H`;2zGxh2JqgVRUbdl+O2D02ig|*9xF|&pY_`#BY$4IY44|v zi+3x&{GfDJKoUV}#8?I_Vthu z)K~|Ar7vAkkLJ~$hKcNCP_(xS6rMK^-$|>cdZWwQ;n_=<6Q!XI# z?I;5SYe6Fc2_xhYS~K8W5Kqhz@hYeY9s#}W+m$FKM#xwbPO$J@So?%9?-MH>_`h zA=|Z)i;z&dkvK3@^OX4r&!UgWV!<$s;o-<>@bt%ng;yPi6fbnab`DDY8C*mEf>dBA zDVoDjNkV+*Ok5s@$9GT1;oUuQ_H7L`@@NnkL{nEkd4)^T*!KCc-Bv%|7XwEyM%v5f zCm$iO^htOJ*othQ9^D zm`E=XNNOo&&DX 7-0^y*kb)N7Nr!Uosr!!1UK_d%v!bDinqkMXK=dPf)g za==3sq!d$)7`F8x5lBxL1=s3>pIgVeQYu_2(Q$P{TJxcl o^@j_O+HQ6Pc&8FC2L1p}`c}z5_ z4VWm!QDeD|j?wCAx>BSn@U^ut?ZWoragRO D4R0 z6dpb1jj#6>V7E=3v8H5nDFXKvr@#Xu;$@nJP{;7SGND|2Zw+@3^FXM*ml)`J4rZwW zZBQj*Dv#Te)fSOFXY2JrF()W-w5cT_ZOsA{1(71VK3 lwZ_ zf0b$q;=lIOO;{Ef_+zR>uKs7w +Q)~*Y955{Z`nDbV&o)0p z^j*XX{5>Ce-E*4!%*NdMT?_9_U)-Hb#@6JmMxryh0K(@ltQ>zTs6Z!(fYv{*goc_t zQ-8ov2WCGM#IP+*Jd(k14=n|mW}_GdgF$GIk>KE5K-Y-YdpoQZN9IK^#2*QTjL4q- zzMFDE*zuI4NJh-zD+|>KAoieXz>h>&o!h(o? z9BR7XsTMWk&nw*R16qkau?M6@jJe>MB=;f7-h|bv9!=0QEG0AJ+q>B$s{>s*#sCKB zO)KyG+(NK)cFv=Q<^^F}r-o5eJPiGxAI0sNimC*%`mnt;3_Bp$$?#&2 =VbVT$_HBxDJL=&Z5+I6)V$l=9M7t~1Tw!e#4*EB?t$2C;+cOu;e|u}&uFYAi zI}0AviGQE^rKPB@LD9APmN8lk-jg6yEC*|%`nY=A&55eaX^%&sy<~0GZaPykyqNEu zs!5i9T=`Mbe3gKgm)tsO+56h5>DH3X3;Qia&&D-dJATGKi~2jGJ|`u)yTuYg$*wYj zBKQy2rcLP@T!-6G$hNU(c!O<~wZ{c7y2>`Y#iNRvotv!ZU?W)<%tX8LEnzfw%^1 zESEmee6sR_b}-brs$oKO%ko)fLEZ7Vn``kB>u(xYIMg5VL%z+Y^)Va}gPm<&&Ulvv zyDh6YuGliG@POhqiH$w^!Ja^km1$?Y-O8cPO`+iuyNvT*)e1* tZAx41nbA$A|NRTkT}gje zu%16XQhGX8$B&Uzj6v}nbW;Oujt4yLNLp+82Mhk3@Z9=d{jF>KdV^uGDTS) >4JE-$EY7!Up&REE ubW?2V!PmwIro(oLdCbva4(; zPL`(`!I00_qYC;s>n%l1j&2n#+Pf^JsZ?7R)ju`4R_BPf w>T6>d* z?*-GN%dg}1#rU#hW2tie-Y=}``jyu&RY}E2AGE<)5#8T5l<&yy%My*jwHcxfgS{_A zvj&GeyKXL(oZe&ayH@5%sT66Jo(-gRZy6NZWhu+|xV+D4O#^-W>9GW?DEOQf_St&M zQtqyG)DCw=ow;_E? rGuv$B)S{$7(OVFej z_r2q=Wj5JsudllkHD6^KPZOKWRI^-~&NZ>(l4knTjMi4f3!{`@M|-mj^i`Z6j!8%+ zBEE#1uGXTx3$DcN&y dllC|~} zH$;j6;I{~+@lEvWJhTH{9B8YFjf*H+9?v3%PAu-j-98k%JoL_3^pOc8$?3p%LH!}a z5V3&g%!byK+)jX#Jbmn`M%%*xo_%r|;qnAF=?)x@Sh;O{ig83Wjv=5DDbo>J1~0vC z*_;Rr-~r8*#h~|Up3|eCOqmNiKAgDma^kCeIOF0N>JjvEK%$r_1;NYi4r~AM+kqG# z%XAAiTRXSF#}ydS(Lnc1Y>-jJEdcF}1m#yg@<~iZc7$A$7egkvd+S$!`|Y*6yDQIr ze|O1-HUIsyPkOg3?7VcXOsrYDpD((_Q|fw+Mf{Ib jN;zPxbsnl$@ zGS+8Hrpjo#qMC*%T$9z~d(U{a>$R+Y#mzONBOGR+LkpVPE5|-qtL1tenPVgA997&= zq5EnVd&{`JDWyMFq+eW-r(b@k#4u3_`AW!Fwpk7F*pchvRbD11zK oYTTf6YMd2xewauVrt(GLFH%LxSsXenmMv`n`f?X%E!sm!Y$$F zu}PK?Ftv$pf3eh2D<~UE5M5fVl&r|#oSJpZIH$k;XN49zF;MJ`GfB;GF(Er-B4$h? z>NGg4(f#c%L!(ymT8l+3pGwnWs~2&zt4kf&;|c`j57hmg6Kli~M@tT+|E$QERTOK? z4tnxOEvtr&k#@1FSWd&(qlY57HZ^LRCp8;&4g{@Qlg(7#Dt% ST36=F#vm8z3De=KK38_(^qf&*SG&Yuzs0wXx4(_qjHQm zOakYwEn3RtnWf-STsxcuFhJDXSSoWGNrGe(MKtF4j87w37sK==dK!&0A%zoBBhfRG zVVK%}5xyh5>=1I?g;o`XEJZ%O#6AXr8wT6Nw1tkE0HLAs#Eg%`>tMy!@nL|tOkn;Z znl%sfYa -Aj1^(3&r|fyk8?L5ssC4b7DlUv$LOe=>&drcr%nz# z>WDDm4yO*IfO!~8JozPtUYE~5-p9om80U@>kJ+b~C>rUf@mTnEW8W14w`B$D`503& zhiKBbzl5&aM)`Hf!-8@0#Er`!kCD#iGTL^O7Vdv7nm^`4G4mRW3>Kj2voK7Y$?$!L zD5FpE19u`J>Y*gm_LnfiBTTPPCI}I?kwX6W0=)B7Gx=)gC?Ehc&4h@Zc?U+BvO9S7 z4@1&I;=$lRmy2-I68_rrdYtZ+%jTnV$GSuIz5?442!;4gXoiLaNgz|~3)fXo`={dD z)2N9sUd8qUe>xmT8*=GzLm&22Y;ogxhnTyq_%8$RUz&MxrRk5-f4(is)=l3}{M}H& z(tKUqbf%T+Ge$&Jum(3LA~(UL%$k-A6fBLT2bh&n-I8c$PF9kCP&3G}R)l!dD!vkA zNu_GA^6V0gh9Be81}Am2EZJOM$inx`6F4&Q3f3=|Bqc{r>-e+!vdqFRMSYIAWqE3+ zU|qdYUn2~vtLRl ymTFfree#SJpv*tJ}`@rJd8D=`($ z;RJMn7OM~h*GxkiH@7E+ XWb z`E3504e76B2;F{PoclhPjeyz3k`w`8dtgN5b66<_pKW>t5kqtfH%U{r3i7rFKFh}x zU)!aKnx zBEI^^@yDrM=SG6yx(V&~XUiHsXv*{QBEx@dzW>Noqjo5N2PbiT_0<;!R=sL_Z9b zHsP70XMPfa>Jm!Dc9K6u65^H-dN|QX;S*# !I(T-1ITF49 zdx4Bdsoz4X4ya!k&S5 t8f=BWJP%v)_dbu zaE}hRJF?94;nRjaOr%oTAt6Ywo%>7o7|)!% Kun|HpZk812unHqCeuTrkgwP~t!`I{Y%A;(qYy}7|9mDfZgnqcv7uJ;M7 zdk3kS6??onEAu&_E;L$K!O<*APPe6(6(yUyOT3Jx#> w&_rR}X^off+2G%D|v48A&YT%Vz1 z(rYs;P;H$Lit6STVGqJ{^icW$lyVwTu|^-TTY-!NnDex}+ii)a*)iT;hkvAtwTi)E zxmgui7tg6brN5ze-_RA@q(<{^EmpdF)`^N2aCN*q4ZW}A!GB#}@$%^Vk)v^{sif?^k;XuKF2pZn%&tc+l7#DOAKRU5|O zsMS#?!0gSz{@RA!IvQ~BM#ARs@URPWZ%o2bvV)uwt`DH$3VYxnb_X)TKpOv_BQ*2r zBp-DJM(DURQpwi5p0%J TWjKi-#s#MIxIt-U)^(@wM2 ztLUTMr@i|nYI)9i$W{k5qkX6N<8`!3vK;J91e0TAXBEU89X5!4afO*&o@IfxVvO%p zGt!8 &jj3W}cmTRv!i I&@>V>1KV4OMAi^xjh9gmfBkE`D=9PVm8A%da6?U-^~4Lmh} zpj|l9>P;zG;}W-K7(}yKwIoya-liL_S7?Diz(#WUk=V_T22tOLMpS&kdR_sN5qV=i z4ojiHVPvNT?Ucx2Xk61!-CkmMse=xN3S8=Jq73VTIy+}9x4m|`n|}EO ?K^+{`RiY$s-FMNld3D6uG5<4?;(aE;4JMqgyKA7ih<@L z+-QgQNKXgV2-n0z6do#(Q$(iLhTyW7=tsxE4j|u5dR$VK!jhT#yc%{Xt_}#hYO?+o zP*_kxA4pU+kjFe_RR0J1aXh0>lJTDIUK$P|0%vapD6&{1jRSrMRc9lq>><+xgJcd& z;jxYWbLtUo0%)J4aK=3n4h|<`%y7&JF|rXJL>p1WfL#AH3kIb@cNif^K!o9}lUZIH zk;foP0$Z@BLwP9DE~sYGV{U)f!955>Ck6I3TKEIl7tAOz6C+gH3M}sH$-Mn(^YZAo zh_A }ut=9Xs1wst2K{jY6I@N@GF~uD5c5k~zHFLo#M&`}{o5U3TAH`H?Za z;;$ZDfC=6ELV#1UUnPzd!WM>T9dAF`!_f#%f|~~%HOwcmk|g3D76N)$!-#VfchYz9 z5|@9(-hTS5*8cF;&i|hCmq(v?m(Cnm@}Tg8MUR}G7VES`+n++iM6K6sUMQ 92Bf02sim=$#o@ogULUC5IIiKq@FtL~99}KhiMOO~Bov$BUFYC3Q zJetC}cM ZZ)wyJR97S6p+zAK9hW@msmp!M(s#!VEa_DS5JZ)H$#`6z|5Y+lO` zd7>&ywGG2<=Y6ZA*!88ylPv>mc`<8=Ve|uS*n43QMpc*b>c70Irw{XBolYt%qxw=X z_l`6z=)BkL%`YoGzT7mBATw@GDkxmgJ?#~9*Ig- =i*z}A)uHgZ&lOoc=yCMePcM!FpFY(hw$rB4qyx1FYLseSQ9_WQ%FUXAOLcto;* zmVQ0V?q{4UetX1!>m?{;?(D01m{t>y{nP@$ kaR(X20bW*o?+BPI3Sl~rz5B#tRxA`UAB8b$JIcw z1|-||9MeW%w@>e)!je1kf+B0X-f?zfblEI(gbB|x;>)0Eb$_S@&K>nUzA$ EU@e*d||3E8)(*G