From 9382505f99b70fe0ef2495d6b72b2b81bfe95c74 Mon Sep 17 00:00:00 2001 From: filesite Date: Sun, 10 Apr 2022 00:05:23 +0800 Subject: [PATCH] rootDir improved, add icon for machete --- lib/DirScanner.php | 2 +- test/DirScannerTest.php | 2 ++ themes/README.md | 6 ++++-- www/content/README.md | 1 + www/content/machete_icon.png | Bin 0 -> 34572 bytes 5 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 www/content/machete_icon.png diff --git a/lib/DirScanner.php b/lib/DirScanner.php index 36a766d..eadfffe 100644 --- a/lib/DirScanner.php +++ b/lib/DirScanner.php @@ -461,7 +461,7 @@ Class DirScanner { if (is_dir($dir)) { if (!preg_match('/\/$/', $dir)) {$dir .= '/';} if (empty($this->rootDir)) { - $this->rootDir = $dir; + $this->rootDir = realpath($dir); } $this->scanningDirLevel = $this->getScanningLevel($this->rootDir, $dir); $nextLevels = $levels - $this->scanningDirLevel; diff --git a/test/DirScannerTest.php b/test/DirScannerTest.php index 350542a..2b314d9 100644 --- a/test/DirScannerTest.php +++ b/test/DirScannerTest.php @@ -68,6 +68,7 @@ $scanner = new DirScannerTest(); //$dirTree = $scanner->scan(__DIR__); $scanner->setWebRoot('/content/'); $dirTree = $scanner->scan(__DIR__ . '/content/', 4); +//$dirTree = $scanner->scan(__DIR__ . '/../www/content/', 4); echo "Time cost: {$scanner->scanTimeCost} ms\n"; echo "\n"; @@ -77,6 +78,7 @@ echo "\n"; $readmeFile = $scanner->getDefaultReadme('favs/'); +//$readmeFile = $scanner->getDefaultReadme(); if (!empty($readmeFile)) { $readme_id = $readmeFile['id']; $readme_titles = $scanner->getMDTitles($readme_id); diff --git a/themes/README.md b/themes/README.md index c6b45ec..1c1f77f 100644 --- a/themes/README.md +++ b/themes/README.md @@ -2,6 +2,7 @@ 此目录结构为: ``` +{皮肤目录名}/controller/{控制器名}/ {皮肤目录名}/views/layout/ {皮肤目录名}/views/{视图目录名}/ ``` @@ -12,6 +13,7 @@ 皮肤名:**night**,默认首页SiteController使用的视图名:**site**, 其目录结构为: ``` -night/views/layout/ -night/views/site/ +night/controller/SiteController.php +night/views/layout/main.php +night/views/site/index.php ``` \ No newline at end of file diff --git a/www/content/README.md b/www/content/README.md index c6e212e..662a35e 100644 --- a/www/content/README.md +++ b/www/content/README.md @@ -1,4 +1,5 @@ # filesite.io - 无数据库、基于文件和目录的Markdown文档、网址导航、图书、图片、视频网站PHP开源系统 +![Filesite.io - Machete](./machete_icon.png) ## 简介 diff --git a/www/content/machete_icon.png b/www/content/machete_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7371a36da99f5abcc3b79d43bade178fd8a6f8 GIT binary patch literal 34572 zcmYJacQ~8x8#bOqj2NY~wMo@z)hJr4NNj4)qKa10qIQQOVzjkt)E*V8N@G)Mi>)6c zTB}rvRh!rm3GdVI`~HsKKldYX9C_~Nx$o;buj@R|JKEG(mxYms5d;FU=<8{jgFs;5 zPcVpq4!GF+6}y5!Z$|XB)Gc35ZG_NgSZW`J91ZLb+)%9&YiDl9W%>7%W*}vo#KZI8 z>avXDSFgu>%!`tWDJ?-K2{Us2&^Bbq=th^6H-7ZGQMUeOmT~v=NM%ia%zLc`m5+UP zJTiNCV0eVO_FB2fYpi8?#%4q8C3O#T7U$ou9ePIUMa(~*4LQ26GBJ@+a@tBg{H^$H zbB7zXH>lw2^?N}srDA)%qAk9+ZepTWFf`}vyBOvdOItz9+387-6seOHF>taVc$Oh; z2j)3Qcf%qY%j<)mJ{~QqI`xqZzAqTEpY%tKM2HBspi<{pL!&GNht~TQlw4Q1|L)cL zb_Qnf$<^yLWbzffd^5Bzcg%d>@$4w{jPnd1ddhJ&(RS*x_;B{+!n>|)?^fHW!^7X+ z%N34oGp7ht>nVAC>g1C%r%$MN%Yilcz_D+0?5^XWf=@`Gc_{4WDPl^Oo;p`We?9;=Frl}J(YFK!;@Hc@0*nIne?S? zPQ=l)e<06^#HWSSJhR!?FSoln9R~`|6c&y!fq%K5DrAta64nc>yS5izpahpcl^}9% zJJOfKCPas>g#1xH>8zPse>wM>^CzASv3e%*c=W~2hzX+1WtyNEaM~R#IqKay&nR1(j`f1%@K5MaUA?w-UTQ?#8ij-WJ9@WmX zWA6mjLmOCb;HXT*LjA$p^}@Cy%p9;!JOc)<=04Ealao*v#GbAw|A_f`c$D5o5jkB- zcl;Xy?6*KT7|(ikP!amhd%FJo`aZ;t^|fnrcPwYGU@)mL93ILw;Tib*6JNIAAPe;@1)BJqZv zTjrX}75%i3GG}LrDL9#lQ@bZ+SHmzNhTyGm%TSY6@mD#yL6x+xzhN9AdOSHCVoalH1yTZM4Yz1om|2VXhdE2kBjs%VnqJ?zn? zI=|io1aG#>6)_b}-;n$s=GH5!$+BxB2Lf~6Dy}OtY0@^8@Eb{OM>9bao|a5y^t%NGly|DleWX02v?d-+pe%mfxy@M>f5McY<{ zpf>8J_jRwPP5D{Y6g5YU*)pwy?R3&6D|PqO~amdDAg_#({6m!-YOlO ztLWB7otq}9_zo$)z)aW(h2ViOKB7oy?VT_)6|P?|*o!}DZdD9v&B5P7h91gw)#O>L z_sS@{=HPGi{fmM4FlU#Op&TXuc`nEO$^RPsm#x{=$*4CKEr&evPnm#Z_a_n_MzH4Q z7slWmTM_0OK78fP7%u`VZ`TSb%XKn~sst`4DJ zi0S33je$GAi4r%)eEWW0OIIr~6>44K@ZsC@%_*S{@AE2LH#6VPrUz~{Ebn4a*4h-{d~!N?_p0I_wh)PiHTWB4<1PAGtUIWPpw~d zvM7w^{ctnr+}EAGp0{0q;raSxAzv&LIo=}U;3SwGv^8-Rs1H2&#+(KD5^}`wZgnUH6S)cYESJ$=Nf`h9G z1wpRXr8Z`j!N-0eVCBdElEQ;%{WsPvlf`_yoc@`le@cK_1vpy&r=JZoA0GAg7My0~AZ9veSNv~HI0Tig=N;~S-0odfv~pO+Q=`>N zeB;f^WqwmX9x?vQ9}$-hxPQvT6rN(s8`rRLC$G;ILQa|01fLD)EpIEk-uOJcBB$PC znETksAd8jU(n4=S@A2~Oax>H$DR+p7e2*Rc@m3JUm78py z^>wapjI#+zZ^A~}G~#@iCz~PqknSB*S_N2fp5&E0Ex5fA_8eAur;ba*mIg zNQjuR^Cvw4xtB9$6$zywg&^eo|5Xa;H+t=3HD+OFHjhH-82611SKYP5Sd{VG*ku7<`yhOL4 zH7kGT>`S3k(?)fD&w8u{=31+OJ+CYKD%staHNc@@C8DB&@5r*T_gO%Q9T3dDy*<<> zAgS){B=ejm9EFxU>(H6rc8@I%d8En-J3!fj_ zoMUDlTaPb_l6e)pa{kP|=5+XF@AY-2y?TU<4KNbvoLjqziRH8dj-rBR0 z)juW^&-he2_YY{fJsA6`#KkWczg}`A+#Sd z#wqNi{_oS+w@SKk_cYf9HdzCP^VCyEd4}m&1#);4eVqI$@t9>yXzO$KyoEHM&{6jW z#1FUV@26UhwLi~lBiN7P?EF`A$Mq&WKDMd2*ZK)kZqM}28YOU(GX>;E+0|T8bZ4yR z^6p{NFc>^xHoOp2E7;}d)Zk(}M1@Kk@NHNnE!|fDQVdTOUvd5tvi85*dHoyT6a*{h z=!wonJlhU|?Pjb$UiI7gve2{BI+*S{7TPka(VT#Ry`!e;QOC?2 z1LIG5cDOmH`K?K8x0PD&c3AbLg5B5T`WM0d)K+{Jxxc`9T>ofvixpA0 z-Z@+Qjynh8$aMei#bkl4ikFVJTrK6!SiNf0KndKKP{_t(C}saW8Z{et#KX&rA8WV( zFBJijzXif;TG4Z{W5EnAO;6y@D?~f6BZ-U@$_<4m-{B`cZv+P^gA5dwfKJ{Ox{1T} z3F%#$&EMa=FV^bZRCY-9hmV}F%x{ypGoeFD%Q@`sl0Q~na!0%;n+*T^ex*jM^B|RY zFvqi~9^LAD?&oaDO?yl*i{yt1bWmvxLRqKh*6_{;>KsZT=EPPP;jirKgXlodP6`um zOTHd_nUDqvUHMtqZ~W-8?u@Y5b+aR!52oA72}DTcJWj%I7v}@LtzYqC)%WUA|pa zYpcHk9jJ57#1B`gI|p+aKb=xe`a2u+mQxvj3vRJsniS7I^{X1`FJCNdi}OEPkzQzB z2omjO-jds*xfT4m`@vg&Yl%#%M+;6cp?4&2d#bkN+3`~Py+4i5YQh|CY%+FUtOjKh zk1WM+xr|}0T!5Fyx>@%*`r>$gOG-YB^T%7G9%lQy z;*zADB^~%Ij$6TQ7IpIO;CLBh>lnP#@NBczA}d&jtk%SER)tqP;WPdm^t3mg-#{~w zx0F-jzLSfBn8)q8S`%GsByBTf_*|q}?oh#Ou zRcdmxw(0L+jOK#oo36FdyQ0L#b+4j^1vI(AYaRBKSI4AAs2u zzvUfi+dFDZCnJ}6{whVC$_|Z5tN(YT9Xz{|p|n4&8T&o5Ty3j<;rSH~sug&qlu%Sy z$#VK_7S(Upc539&`Q}AgC}rVxiRRmLt1aNvi)hR!Ua0!h_2`#&XKQ!c?$BNK5h|s# zk%xnAAgHtrhS7+J=aZV4IHj2X&VN9JqJn3d0~wCW!j*if2NU${Pon6jVx+!~NrxWy z|J|2crzymLA_o3|461OgjG7dzup&6r$Oe9)ioNiNb3ic&Dz%gj_`hLO+Jx1J0yhq*~$oQF?|fyaSdd~%0bf^rDlY^kkW>=Y|xC0FiDVK(?_%fa}o z^$#y*s!oY-k4oS1B5G%YPLG#2T+j~_;GOJ`f$5oam|HCmefT|moJJD%`TffOo_J$R z-aw%X$j<`}N*w5(6@ZSS_GyJ(i!VUg?&L2)GbU)>K~Q68ybeTtXiys0tcQc45YSW> zCx@eJeGRLijQQ#Jh!L6OsyTWz4J8~}H++^#Xxr&oeL`$I*|H`&!-&g>& zkNp)h2Wy<`jz2%RF?Z;j3qDuX_uY3-ys3?O{$c%N7+Uzc3momzpO&h6yqG*=b4uL~ z6$~ZKy)^)KUL^B%y;p44uH|Fsu{0EQJtRFT0%QaXiD)U}Nr+k_4ih0$FulnsTuIBq z`<&FqjIuiwZ%;Tt@Sx7t9nT(ykml&E*T>8L9Mb$W0F!?YC#aE&Cs&IwtsGHEZ3xi5 zvr7%kTx#2D+HO^xYq$VKl8no3Yji?NYdt1Lvt1s`pkc9);{|Fp0vBvZ;<&cNKPN`{W zQ@G8MqJ#tL(OIR!NsepV^dkcTP{LQos~&PyT`+wQItpSkjw(g#sDo5oA=@s;A*$q+ z0^e#-qVOlu=C@fX3UI@^_|Q+_P=L!|azGs~2~~sc0LU+MMdpwZ$pvnshyDM&(=n9!cG9XXuLc32nGQM0~`6?_TYqL=!dtT!r) zD14SB1$gKmm?Zkl*Ugkm8n-^EWDAq?iOX;CCGl9!bOX}*z zuOp*cAT8bId9`0J+)#EkHQxl{Q$NobnFZ?W`c4m4*&C3vfm~Q7sE;qM*OSqnQ zyxD)R+BEpNe^6JBjF_P+V&qsEZQ=O-);ejy3mc8F!#$<6dZ zKhRzmhsjq3Y7QYC@ojJD_C4t~%KMhfBp_a0Yaz%>4ChhAc9H*B)aRZ*npg<^vUz<- zbvsUOC`vcF*s{e``RQb}OJNiZniDMndXXau5IHt%NEb`}d`x@3(v4mdwrF{F;=<92|HniZcVn(zgOT=ddnsGN+aX$*j#2o*1;#RD z#AQZUHoVU2{8e3E7zZqSygaV)TtPJFgQ%WCFfDj{*{PkScinSrv*EdfF=xH1KLZTC9}QG5E)6=(A_F z|2<3JnE^uX0S)h5yO%Iwnz`%moZ88T^F0t8yh~e#)8f?>- z6lPvJgN>%IGTftu*i<^HlUk%Mq+EcSUcZ}c){>a|+8=DnW^gR-KwxcBuM?ep4P7cxsPjm zUxeZs16SPSOqT!V3tr6kvcg~noBIfEHI9i$yRl_XieH3CCBPsyz6V95-*ECKKDY+@ zfaZk}R4FW&6VgILSv>!3ax`1>y&1MePV=twJ!`b!o6Ov@pI|V1pap*Z&R}!}3Z8!c z`>D3f{R%)#z%oO9zKf)f-Y(gN`%C`PXG2TfO-#RyFUCs8#+as`4EKL<>j+sX6uMcs zw&%C}ga$zqjZV#9>!(ANQjeEw@M<1GP}jk%rN;Apkq|l5pT^qp+0(J)Mez%t*bY}3?1dL6Nknkfn?TAHd_7u2+4d=Q0OG;PJner%vMP#l*` zhbVZloc?+kfSd344ImBX2Mxsx&*<5{KwcTrv3;?O{A?A1MGI^amNPBSEzvs7t@+a+ z6zV`o2tfU1JtMCcx&2|=_)*aGlor?JmL~`6BP<_BS7zO73zKpuz17)Rb!mHe;kLmrwwKR&*`!|oG~Fq~&|=Zy03 zns2-^uyp>=T^&@Q^Ugh9IqGUKBV^d>!|%P>y}R)^Z$Z<*%y*xbkwC2s++f7LhE1HXr-OFAcU^ zG#}&4Lr4`2{tw#n;g@|y^HRxc?@ zu)AM1G*JPp8_(CE>IHd)CD(NtAq&Ji7_!k*I9AgNyIOHJSYA5>$tB&TF$-tn6+wRAux3#@GaK9(>3u{#pFq@;E!7FyI;rMU%Q&XC0&)udZ^laB<8^*jg zOYvtS_YJt`u(xbM<*=X?fu3lPcx@yEDCwJ^58>*d-vwM(-($B!O_?8AYI9wnP?R^n zj=0;7>Ha+|F&jjod2o(3uI~=W>lOFBTaQ0el_(fqX{LV#Z#LYLu*{;)=e)c4-AI<+ zxAHv3LQ^xM>^w3OUc?5}S%_%Ohxd}-Qm+0N7mAwp?cLPp@XP;C@@kt`^Nvo_M}^q1 zzj%z`v|XXJ*S4RNB)0YJvQnkl#RoRTn#oW?7=7Jm^;0^em5mLT`(HN#&Bm|pUI|vh z;nttuGXt9Q2>?TGTa^0>`*ggM;!x+A$r7*vBHq7vo`?dq#Uo+bV z><|PogorE23U>;H;zTb8@T~v66ws>m6jyEP=cIJGZy;0dTW=)X&MM@L2Bsc|Whe;8 z45GTe*I*L>%tFygyLx2plzRPXygZxh_MY|T;@S3W8)C47b;=GT1|z|^k8^c81X}l7y zwZ|2cQ9Zx~%Wx~~Oho>K7WRt<^I8stOW@{v&t@L24Mo^HL+3*`P@k0ISQci2Y=gh@`Wr{wBo6~55|p%M&o+<^OrZCA6p$jbA-{z zj{qj#KKOIH1rJZkXyzl|uDvub&_h+zG~=zz@Sr(eH3^*}{{i-{=yuD|On(tm9aF?G z{kPr@xTN2gwG-|ObjJ;E*iIk_d^t#@gbWH8^FoYo-fwz7*ta0)!DG6>T=Qq%r?#+- zwG6>=E=UV%zCEIwR%lXq_j#6|~+sq7`ZSBgppFVor55o3w` zV(UHSEcLz%Jp(_T;AsBB_OJK>g!Yq4Oi9#LHq!A?tW=}km$ikLR3OfW2Kmy}TWvFj za{`<#JhRuN3cM4~8Tu^JHv`h(CKt#C!Y3Swdcg0bc_U54mqCINppcVIo-;Kjfu@4C zpX%L{WAvMI!BN%I!Mgxa!a}<`pBF!cK7Ip(Pjst)d%?YP7E`Klf%L%@VdyLCOuc%T zLwG^6{x{>Jp`z~5v(=v>M)E@hp+weu0uH?4Zn=SPHvcBmpr;u?(K_lE(j8Hm**a+b z^_pMfkgNF)z-#vsG6G#?9fDSVNTt7fm|n6=P%=G#IvTCYqghPWh`>zD^Yt*jm`%B6 z(ai4A*Nb{Rb=AEn`u_fP+9+8)q~%7Ho0q4WwUt$28E8_qFItmL)6~ptuJLjo{COko zAJ;QLXzVS&O(b^q*GRez$1}UrI>9P|Anb_SB>=>hq7hESAWfJ#JV{~6a6HxG z3)%1e9mB#kxysdI^8*pX_vpRA@GgQ^aCDTvg{MR8i#=1LYd*t377PmqHt ziXVOgEBYlN)VoWSa3G(TlYgy_~zbARGZh-E6P~qM+wi=P4SPV^<>^1|@JFPQ_dl=vrze$2p zhtLbq=d&R%3NPZ$yl0vl?%!p*);^8HpU~v!@Uc73B>PO#XDm!WoD|^qb=kYsqd}ve z)D;wrp{7E#kc(Lmpm`&HS(AHjJe`0w(Ig}ZT4Ai&`woLiIVzSRQ#kxzg@GM_V}fHi)}bo$LL=LMo=vE%pKPBcB_T}d z5DGS6()6tf`{W_y##LbbT?IyV7&JrxK<=1-%ImwYuI0CZzWq=_T>O=h0?9>zj{&XeTJ=OM3B-Z3a99ok zm=lp9KoB4U$h4{5OL_~fWCnF!LE@@3-&q|)D>*^6bBUKVQ-Z*hP==(+*5yGpF;XT- z(Uu|VV`*th8t66mlc7R?igfLtN3zL|-=_Tx-f%@Rz-@x@Km*}}_A6)66OFE*$xD&x z57Pu)H@x3)72B$(tzA$|hOk*(uyQQ+f5$$jOVjey)XK50nQF`gdemN6w-}|a4pGrO zZGRdOx269PC|4zQ-|<*|>z8WELH15A+NgcPpMTJ10~CFhtKCRFMZv76s?HF*ua6(R zC2L5=!1iH*0q~CvT+{BFSUD$edyGq*AamFjW3HDI zg~2H|(%8czZF3_Mh*`!$+ijpe|2Wv%_8-N|9U`GF+FuDb-b*y+baW+NQAm?dI0`p(9v**Yuq^Oa?lJ>5Sa%AXE90z_BZ0nS z43mG*0TqGm1Hq+r2WD*oWpnYDERMOc_BRVNc;^aMEn)D^2dtXoaygi?daDf{hQzjd z5?CY~A)`5gndkWA}SwEBn*nZn3TGa8$j&Cv0 zX$&Xu(ZiELL;Qr^N+nXbOGMY-4?!qIB^P3)RQ{dJ>a zvPy-z7-=#`r_e#c3Nw4FEe7=R=!0k`bLAcLhnY}^ygGX0_pa`qUU&C_q9r%&9RF$= z-r491L=G7|W_5QmB;RDYp)U<2&$z_q0IOU*xXm7?L0otXIz2t|E)`IH^~heZSA1AT zA=c(~(#E`&xoP!q(uJ>dP&9T%c>(G9JX6v4Va!PQ6@Hl+K|r93PPx=9P#9-Ki^+hr zal#hwjET`oWLh3vtLXlOWyQU)IH09%8{zOd+5Dy;)9^Y)F#^h4p ze47ZmmCfQUjT^eHyj-dUypo1YQK0kX_pI)J(&@9w?9>KDw=MWHT#3I{4ZW<%7Ju*l z{SYMq&<8gSV}nI(L?gZYvps%T*Bu=rSl#(pIs}+#O)}r>=Fldw7W1rCCMAw3|Ojtj_q(8N)Wr zp4S7^BIS;4C{b5Cbvn{VsbdzG4Y)tFx)Z`1@CaowIZVY z|L|FO(Eapky8nE#n@*mgzvK;wM*?ckA#}?3T}5`6rPP6{@kVyo1BT|I0jd>W4%(+3 zf$ZS8P90I(xpyCL+5}2)N8EExYUcT(c%O22&Jz5^YOyYZL96WE&?Ngc5Q|_LD&q?@A-y$ zM6DvRlRrMim;z{|4`I}=5M=N3Ip`MBd)4q-1nk!1AWW%Y}qYYPL>o{z>H31 zdaiRB%pH|cmOs7FdR{Yuj;LrKS&n=A_2_f9*MGkbj_giqbRiQ}fV*Te#P`ybtpqvd z%NH_gXk4yz2bTak!)FZipWozR zIg27-lv(>xp!*vMhxB!dLYu%r2WzP}X-}i1N`}2;HN`a?v1%WL3HfXOQi1P9ancdi z3a~z&FzV54+jnNXOY^X0?WwWi9Q5|BdX>GP!P5;evaL^afRG;jI-RCo8ZblDYOA5_ z(K({_E>*bN7-#bneC|FwUKCIU(m8PuHZR<09Jk!Q$dP)jnHdjrE!bkA=Uso4swfkj z)d6&k?dlUoil`p02y0Rlb0ZOJLJuRE9*9J8c32<$kdye~a#$iy2}lMNZT0l<$1|N# zlXL|#lRO;N?n-b}N^SqDDgaaziENd`lUZrf19E}jBJ;F!f@+Eed>?H7c;xfD7Q-Zt zNT7J-Wc-)ir*UTmdN#X7zpRyNHn7rYTDUun^^a%TV&I4Gh0f6elhXeD#yni_5>j9u z^vRU)=^AleI1G(d;}`ER#kO7*W_15TYTC_+< z=;@xfM@QricQ2c38$VQ7BH|*}?d4|e#3eTHC#|bKO8_u;B!gu1@-2BQV+{FCs4}*o zz$j>nJB_GOm?J$b((*tXU_#9gUSAH&J9?|vjKpr)yatUwO|)gTmgQMZUeFb zG`Crx%13iIoFE9Mbgux3A3vpqnjtnI4Q5MU0H5f^!hp)|(w$oH^=RARCAcnE1PB;krf>S%>Y$`qc+q5K6f>9_Hw{{Uw5k)6g>fS z)_V`Y47Z#nfijSqjO%#K#F4`Wbw~CwMI_QkBGu`dM6DdzF6N*6-)IfcoluvkY-Ky7TtaUFJo>PkN1#)mOE}ND=SR=ZHZ`=#dzlAGik53Bd8GMdcKF>nLyP&@C2Qf4&0LS z*3#Nf78D|4HW7l(!S0Uf)N`Q$m}a(KsBLj?k z%~=glnFNp0g1~SwI5sAW@wp5wN}7$!`T(F&mCO#l9~mo<0tXW^jW;yhipc>H2wqqQ z2)Hv*R0#F3h83pz&^9JsmZW|`@9g!cgV)8d9AS_&c;GDCD=X>TBR{m`CFu`*ks#u$ z#U$O`$Kldoa5EqPMF%`ZUZ7L|H=M5p8}yAv_ug!^R9f`UTT5;?O{THJSZM!JNf+19 z^=y+T_Pa_>lty4#Z?6Kvs1C#?G#i3A>JLzjVb(3*{6J zt{2p`#%1Zj zmKhr+kLe%zjB;;D>UcsX=D5vo=|7<-taH1rS1*7U|^n%(_BIc40)rb zPm!s3yX!EL<-w}ud9vBT6A=J=T6MY(vq5dynF6WM>IQPhd$fN`0)~zGKA^W)ySNlS zMRhLTZ8!$(O#^XfFV;rCJJek9#*}X3=}^Y|V50MQZ_lhIt7@@?SWo-iM=n~qR2Y6x z3vT*8O?hTqHROi(&V08^mIuu%?XoAA{~y-Dv1*dSZ02JVcD-4Mdks?j!h{LDUc3C+G%rPXqLsFBHn>Vd@X`{@sF8TboN~j58YAfhC)su0>sm|3yc7di- zLrC@ufIF}NBqOUjKn8^F{!F5EWN(xwOgH#Hy_Ez(t*~O@rsgqoZwtl)T$Ux_fJOFTdsU zoH*!oowa83W|?W1g~66pF0a7HOFwr5%f0hgP_#5Zq8M`zc+ z1DX2#wcx${>xcJv*_6Oaml;?_Z%iHJiEHpW+H7ya#o~OH=|SKZhJPKXK9ZB< z%xERpyWh*K_lo)+?e!qR5E9JtYsvBJV>4wpjNa$Wixl7x&F2M`w6X4G9f<6|HJL~_ zYCwfCkv?2*yYivwG_s0a9mJyfhWQJ>a=_!BjLZEW?NjJR9C;HnN}T4qqHFsYH-Jtm z|89jtqwKFn;MQ2OrMN~iR!s!9LKkY7zqasLj)MTWphR(amfp^1PJ<>+l|~^-I2~FP zcbpg|xSBsNLINm?gN@k}+gSloC!(+D#dZx~?L#^2O+Tl~OooH{Adk7^J#AR#h6Us} zL=CUvfgB5|2DvXyp%uA-`91o)5)Ti!G+5jR;0sN#lIekxK8}IpEQM85s+*0h?A3?# z6+1&HetOdTFug9=H~zO1jbVVC_}?o8kQPatjLQXl?B}_~CZ1{IQap2^%M-S&RtOLcdv{en4TE zkHXv&0AD1{=39&87A@-t8nuf2W9zawz@xE0of^KdD7p@0nCm`87L?L#BBh|J=YBpJ zNd1RqrNKFFj1+MzLC_=fG5S46QGl0jv<&9^8T$(L?%li9JpP6|7526ZJzZC-u% zocwXk*p@#8L#6y$()~LN*pLSQHCS1Z_5&!ln2Mt>wagGyhr<$3HCI7F;G3KV=+VXR z$%9E~dtRT#zNCX2nvY?_(@sy3Zr`!8o#Gm)SZSB{&+3S=;FS8_KpA!;887Z0X`wBFs>H-nzu4O zqt{`N11uZ`vg0adDW2X`C>Gi`Kj6L$X0^h|wbI!JK2>ruwVdlyevJDfaRPt*37v z{{9(s3_(bKD-o7PinN7Jx};w;a6tc;?bWC+2(t(BwzfIkR5Fu~TjskK2=)?ubDVBJ z;DFoo|6(Cn5Zn3*4$6i;{&I1`<bn70j&o+!u?(AI;Y< z#21KkG97NIpn0FSB+PK01M~{S> zu2N0_Z8oOJFw;C12_N0dxaDCTzz!GH2P$hmP$thEb;x-n#23WlPD9?^^RPTm2VnH& zFc7v?m;o37Z-hKR0C=$zgK|8D^Za(&WAbag=?K$6Uwt0FRQ=oM2W|9HdRPJmgm4Yb zF*!LDlfTS!oT&#OWg_nA<=3CihZldF{JNu`giiIsG#yTP#1`t|c7Zbzkz!#029@by zS!^^#-xTpgOQ4}b;47na%oi35)c+rXhNA?nUYQkhU|Rva-{<^{tB8e$qa3v%;>m(z zLFeaxw}zaEDjhGr11Mp2=5K%GuYah0JNO(?MZpfL9bS;Iug6Wfq<^4p?4CuvLUo87 zdpSEV%&EJEG&5LSvzY*LHyCW`a-wn`ne>VF>c7KZ5y|KRd8Zh|SO`Weo6QalsBS|4 zADsSz3-(v<{stO8PRkIXaA`LH--PoPf~rN}Zkqs88MIN_?n#1xdpj+uPpa~W{A5P*+r+NFL zy|a7SemkLE^V74Sz<>5xCw<)o{6t3BElCD=Wo>kv!y~Yd8d~_z?1nIU3jOgW7r-y% z{Z~9!+no066eO>s-eTUW=uAkcPGfC)fvZt%O^D>z`x$*Ug7X#{u?lm{ zjTSR*o~A?9m8y!f`;;H;gj|Irooy#-p3|4Ut}=h@!a0li@&TTE1;;6dyc_-QzN51a z8*+szx_G!4hx{7pUI$3`FW3`3XoRk?VPkn_1}DTfcJhU80@j+k?221;z*eyxduwZ! z``R#Nov}Jw&>Fuj(G~410UX-n*Od0IRBBJi%xHJKfB$L4;DcS7X#mi?(m)gIoipwH zFDOIUiVBmroIzzrBAl~wqjpitHiTc(2db`7Afcd~OVSQN|D9+LsQSwIB4CS50(vD<0)ysGQ~vHe`}90LMq zgkx0oc4#F*AYOU1BKs27aCiol^L{|mA4Czu5va{`7oV8xrhcx+aGY~a`LYY`%;(?7 zfR(_E_eKI!1pGP?IPbaZ%;OjnrB;AddmU3LL622))54fp39{;0A7nz>Fj1|=1UF7W zkjkt5m7BOnmlJXdW;2W0LeKU*;WU*GG+!-Q{)t)&1rF|&0x|x{EyUJ<&7XCZ%BnJt zx*wd?6SvK2dzaRp(+S|VRy*L&pW*=L9WB683KV}4mq(;$oZ6Q#yeKADNA7ogOTYky zN1x61ZMWc}N_sgt>}sRSCX5G6u4S$&xPOQ!^%nIgNuet2< za>?a8^2&Sm;VVIpVTk~*%6|#DB?&6Swqi1!4)z4`qrG<@Fn?|<&hl#epWm?|jpnbQmnTQ>Uk zA;|9=eV$~UVAHawKKwrcH1-C4N-&Ta%4In!I4Gs_H0l6%*faA*j6>e%!8rv^LE&ay zK3}a@vtX8>b3)BF@k{9wCyr+8@CMSZ-%Z!A8{kjrplVK}CuGV24OsZx-g4qfIgxZ{ zB{D2?E!Bai{zOQ<%Vzs>g37MmH@-mbD(a2S9f5(}z`ehdf0c`V={zZ`To1V^AqZ^X zl%XjL>v7AD*q2P|S`4d8eXX}fry@Tbgx-+`&8dtqRbDvJKdF`svDYYU!;(=1<+OfK$J- z5;_Mb3UrS|pFuwTK`DJYq8AOz%E~hEs-Js<1w0s5Z)A=m;<)c8p#daLKhr~^HiscA zL5V+Azl3AG_g8*A1JsmR6CyP+$R4pFuA0h5#{rMY*W+-{88QWtRv`~@+*Sv#MZ#{JNBK!0hB%g)VB0`Emxdfp_8Q4ys^)sL zL(1%Gs|8Rm1IJ5My@d13cOD!AvQJwrc$-<)9PRjgN0o;o^A#^IFH?8MlU19anLKic zcRY!J<7iNPaX#;^W5}}u0QH|Q(nN91>54A%mabVat88}U<_WW1q6FIykogkO-1b9L z92Sin@h~R@&k0&k-S~qMMB_UL1Boj(kW>n)efRtt~S|y#9zDhQ*NMN*46wo4lmut z9cJ3i`*JA`3Fs+q`(K^@Y23?DEtfpN7vfTX{`n$wpY`-tT{ZrR6-L56nw$L)umk21 zUi44VaBsuJauU-9Aq2+bQfjFDvBj5^`*qnhhmo*V7j`Gk%knH$aRg=XkZ1cj;@Q>au5OHN0B; z>%qlIlij-OMz`0cy!VxA_GMu{4N{a=z-3`~{qAY2{&?<<(-7lB7!%0q<&rWuhi6*E zK$>IZ{wO20kpvt!`9Ce4cOcdO_s8$Ou5s-x*&{1EAsJWp9wAC7n`{+X*WNoTJCqe7 zqKs?H-ZJ7QBm3GjelMTzuRm`8-rl|M>zwmE&*$UyR?d8oP}=kFFrmMBFQI9H%x&Qo zT{={B@OCi~Imw0eUoVU2vBYa7;9r;w51PbveRq*n8_pH}g+a?~r_V;B2gR|8m7pGm zSQwi4R71^aM$ZQ%%x5{#CO*StgKAL!zFo~>Wu6>!U~ZItAHM<16ILBuhhZI6tXcgq zS0x61+VVQ&*!x5t=x!Yi*#$w_oLD_6BIv#8>Z6mx9m`YT8+p8e!a35}+3U;ni~C3G z-E>7?Ygt(9f5ClyiWd`ifKfY+DYJrDF*W{l&*HuV&N{AKzdt0hl}z{@Oip5HE*XI? z6VG#Kibv;w@QVpPlV`%mXq`GwELEiJcJsNQPr;DOBy(kg*+txPJ5a2$_0n+^IfHZ0 z9$9al%G7@2(erb*=K9KvRI2(u^Ya}~v9q)BZ?@Sy1 zXp*@Qv**6MTf4Ua4CFlb$?A z(C(Pek%WCNpW&)cAYX{@JYhNkhD9M19V!jtNtqG^slp!~{-~21qK3^hq9_%2@!h^> z7rlj#1tOkDyG|XjROR)~1ZQ6+a;Us9Y&I0c$0PphvNLM=l^GNMJ?@I7Ybl)ihM_kQ zOTTadEk2FNgMjix!tX;`X7ms`UF0*qZkrFp3OY^>HNrBZL0sFZ>*mK=B`Db0EanZI zSQToa!_1oA+#(*hP&N#4zW-IWk#r_h=7TEQ>8trN6L>FrW`c*Z->jG90L@AS+4&me zv}S8$Z$gC5w`zbAztnB}Y)=m4jwT21O9=GmCtxpCkF$w98W-xEW|Iq7X@^GAN7it8 zD4dbwc;#%2GjL_NuHXb7{{-P>$-|GdnmN)9%I-Mg9y!$Cp%e(Ol?+>;AIjNP>5k)< zNU>1B-ihJ*gQjt@H%8-z{P^$=`pCo$vq=6bg&-Qs1FeAu* zf#|ypKmVHi2g#a`s|tj7VAJ_i_j~`j;lge=i@7u5#Wyu{W$wZn6WY7AQze)$JGQ&> zhYoAOa$8^B-Zl`04bG06RM7&CWCQ-am(&FesqQ~)IXb(yu)@D47AeU z>fYq9mjSu%DZ}$HLq9z=w9tun7d`?M`%N<*~a)qQ2?Dzq3G<}|CbdCpHi!ZZbZOkjs-sG zL)#iwLBF0E?+ekz(aseA6qa7}bLcn%lEjZkiO~d4h7_b7sz$!O+<=?Nr)?o3=M@{{KRge?RHLVTf z7PV5?&Jo^=aJ$j<%W&%N8GuY8LiwoEeW@T92#eh{+CNAs> z%rE^6cfLM=q{JjHum$_g9&ab>WS7#T$Z_O{`HKNv_0h=tTH98$Hk`TUWENWg^adR>Xle7+P`ezILE~ehtZ%<3xtg}o2ik3VTV~)H z&R>V!?%lc}8l^aQ>yQ(QQ`%fkW&otWS$(A+fm~gNe$%SpJy}jL%i`cifp$U+nw6Ed zV3JRln<4eGRAvJJNAO?)CyLpP^Wh=KAQ@kK1kTAX3Ed_U4`Eldhzl0|`>HT-Br}6= zf$Sm?fUZYE*gN_7%^K@73>b8sVk-fNr`chm)FzAi07O9|;g>HsEp#VV&yX*Jfti$4 zT7L6haC>1X`0ch?t#t~@k&rurj#!^|B|#0TJsz1bufpv8)9j<=WEd{!AqLB3=I}*f zeSB@kWBg4oUJ6jn-*}WP*KNrqhLFULX7NJ=UP=*6b?Q5zosRzkLQ&*3GsUe0j7^}| z@l-jmPJlc=Cn-C7C$0MsW1G-ZR0@iSqv^ydXCUkK>By=Y{?Nsz;RN#<{FiWNdnP%p zb5!Bi9xQ1}KYQ@zp5qYk?vMVvcX+O-DS9HIhLEn*m9ETn?+@Vu8tpE9wqJ#5Lp3=Z z3yfu)AQMybsrz!hta5K2g#2LS5R!M4H>*B8KTD1>wg)n(1Wo=cY+q5CN6C7!8d_uG zWA6-3(1XdGJVDvQ$umswvB1qc;t0tx*HDquXY!1%=iHo&&|@0>q-!*otJKG~EgSzB zV>605Er>6YigH{K6|HFyCWMT5~$x`)&&x?taRdL8K*8gG0UpG$CnC|C@hz5*)L*x*b%Xgq0qX!|c- z>^+?2M_-B7J}nqLd)KW=O=?6uV` za6xN=uF&fPsUgb_0?Z5<_g`0Jzm%9Q7y5p3H1FdgHMqYveRIQauq8Z%nQ?LBbyK|9 zf+THH*q)3*p!tls8r@3Xa_|Y#Eq6k=X zk0H$7ONmLkydlAruVa!>f8-}mJdf?5ayG_d$($I|{k~L)Dl(;Z71UUrk3aSpM$gO4 z|Bae$SY{7`lC{2n$_BMn6{0)Al*lB_QSZDjWDPVN)BB_S4tPf>>$pFV@O(id->nzs8 znb>`j`69ML0{e!=`;hfJZiM}?*pHT$TFta~@VV-vybd~bzXmVHC3n*&oLCOWp+ql9 zU=?x-ZDaJ5A&K~V9@!luj>X{y#vHNFt0U<=pfbchWxxU;l~a_90a=OzPUhUUfK1lsBMG`H5f{%(Umj|ipBTLf$!VnrB%8A0)Sv?fg6 zx9$cqT`6y!;f_s=n_(^~B^JjY{EC65ywxLf^zmHe^uN98u>6}1x(jDclwYuuiH~V= zgcbFQ1(phXWe6P3^rIV9D>3o(TD=b!{QbECBWj^eTJgiMx1%=>cAlo+f9;$<3@f~z z{d&Pd?1UW}BEaq|0@4b@oa9^cM>6|26#c zr&oyBM)yCID4iwO`#mw&1Trpt3PQ$fC*m80f!iHOYeh)wucBg-9(N1~S$=aEEmX_l zL~>`~|9%iMg9=n*RSz+L`SPW}fVj)5`UG7Vd`{h^%+wd0m6f%?XKK~|g%zs8)JTkE z?;9G^sr)ka*L9@z1sRV2t6jHsAv<{eo(?V6WhJ5oWUj;Q5Too7(L%%sMT2XfN?070 z16CzMQwY9|H%EMU0?s4kFNQZb@)aZ}ATTcV5{T8jYA9{NO0d#9ycU4LBmLb}pI8}f zSCdt87LO9_Z{g@i{w|6LK+6t@Z(u zw?Q0pvis+um6WY1Jlnu*q1kT(DCGU>FsW;Ihiy*@6*2-F?EUF>+YlMT3PF=i_v|v(}=ZQopVIwjawwS~isd4DA1P{SQ#hA?m5iHH1=*+y>2q}Nk zDZF?Krq9(0`eKs5;9Ip0;UuYAM1MKY;(`+Rcm^$yA?gDcOww^Gn%hb5^Xsa*MAHhC z12gj&o~-RJ1kok<6%l1xZGkm;T>^LAC*f`zJzl%5%kv%JmTF=Bz*agG4JR%+YXm!~ zP?;V)c)6RA1@K<#ADO##($uowb|q|(eu+;xT?@S@a1uem;SfelpA-)d#dE|FXM<9K zJYVF-&(Dmt*BF%ghYDf)LhtEnO;tw6e+p6{z1Kmywp=a~u|h=T-+#uM z_{qeF>)W@Js>0`eQOK5zz7RtLgE_U-=Ni?5$s)0AO?;HXKr$#Hh%Gs@(_D!x%p>_v z_odAfO;9B=(>fl{`mhR|q606Tkf3%NVY?YS`9C{%;nCY@K&WcuGBI3gXp#$X%2HFr z;_~;)*MyUpoh<$SkR0q&9cXU7hjY?1HwM<4@V|k1F zP<7CjSqFSD@C#{>F2r5!MSfBIL>DUWU|-^FFl^fbnp}|3xVC2|AY&2OK2CJzBUN7! zmwD;guY-sC?((qe()gMqOp|uD6fWUf=MZ3@%sP55O{^|4Bpig{%4uE#T4C1=sAXe* z^`Qq*xtUeR$kYjz*Wfqtkiu>fKnvcbhqW=9d@5()a{q*z&LC>v2f7;w{ds5`YA<}*kUG3$c___kaRAp!oCqHJA zaWB@|7?+oqr}E?4P*9wAWBm&c`1+r9D871lNN+OyB4f%i*1b8 z^JVD}YR>>fRY2>pn*d3S(n1vR&>6&#es07wyG6!U*c(Q9%K6e=fu{8W!8OU_39HGZfqlX66 zVD6JSAZ+4ovz54AW}0sK3*h=*{RQor2{gII=Xjg2OL5HWKJYL?}G0$<;6QB5nE)IM>{oF(8(SR z!CLLD@gF&dpU*2{nc9@DIC9|!ZTqZrD+zxn=S+Q73;r!emmw||Y|}6N(L=eGlt_NL zS0`U>wlWr{mKON4r?$jqC59FCh_GY(C4_{m3YN+rqlQ6lg#j_VCncZ!BA5UkgqxrX zhjm_W0&l?rzl`I>D3ILvAkJE=OD2|AI#iJbGh~^R2j2>Qi9=cy7RzKy!YDF&^VNv) z2DN=S*n+^bFso70uDfjY_!MuzZ`+u|z3bV8JBncHXv?FHiGJL_b*QCXsRvi~!fMNH z&hhOcvpbN7Q%2pZK7+d9WXEWrgqt)dQlO@ELveyG1OE3O=U;#EJn`!X2B9>YlMh`<#ec7>+kDBll{uTnOXnwL8D z^x({UcM8ro8K0wrQr}E2Xa<3910923!fr2D3k&wU^_KTahT&u@K1j=rj~@r{2KW3l=ky$Kx+3rO z8j~`95oZM=gcGtwg4Z)-0Sp*(1ZqNMXC0_R#AV`SUSdIcYeBbhuyU-pGRzqh9!)m= z8aN2#hRS6cfTQNz3O${4TZJ&ZR58i_04nN+iF+ z^?xrqF54VA;-%6WnnP%wQNJhDgoWh8Yw?UHsvr>%Un&~PQw!MY45}|xU_VX44g6Ew z&K{Jk%%G7Q#?+KPV^?6%o+F3?i#xQ4|eF>$al3joi zCp-|B+^Zz$t$%tCsNtY@T8muOclx>c~`3_&1P-fF&B? z4?kgbB!esW%uwx9jNZO->PcWbl445qH7>h9wQGiXlmX<;)$xZDCO#0~5?JNt;yHdT z^K+pO-cuD%XBD9VU?pZpIoxQnrlOR7Nlby{pg{f|P`{ac6p~XbjsaF&;Bzsy!WB1U z7+&KW5!|G3TXk0}DF=yb`U@#FNKGTLKl}*YiGSsPezb*Ca^fmbW4mB8bjAwN9uau7 zyh{WctJWnI%n0~zU25nP+C%h&-g8}e-LCNW=Vwa}-wP?Ui|h4}sj#gsMDwhx!GfN= zwgn_MS(|-N_b8`kP$z14^w~b*eiTYCC+TUW>@x6k7wPkbtu*5^r_%s!3U#Z)-A+i; zpMBEv9e*X7nLZ(+p}UI_(l_I0GK`aVjw>gNuLX%%`jBbkHGu$2H4ptn(A?q2-QTWX z@ge|=HdXFN6S)33*Q0j2!FA3bl-LpDm`X74P6M%L^BaV|7TO?ogMgK;7Rp5DtT+)K z_!Jp@hE^c04Kwpf6aoftr~xLB1{vZ2io#~5n7w{7 z`HOQZ5-b#I(Ux8au)p{JvTg*SFjHzUkCpzsPN{$ZLqBEmR`o5w!KjB z!aygt?G}Q3^!#4!A1p-b^|t9R&>~EJXsvwK{}*QM0S0wCO4am6<+pgVz~*D5=?5gv zwV7-G>Wlo}nVE$7X{5ORtM3+^IaJPI0mhUVD>~PS-^b!kGsXZRRWniX^gA;2UV;fe z{VR(-k4Yx(VqlsX6#WH``A{M{u^%&3U;_%a(CQ9{UJ&5P2?giL3&B7+I+W&ese46~ zt9u^1!7`=l%3H`as}>k`AK(5DZ*%IK_ZS_Yu^@(UWv8H}e0Bxhuo>*w!1c|zk+4Wq zb0BwB@@lsskfm1+FlKDGu7f`oG%U4i7py(+Ti?~2!2+Tg)0dug#nkzQGZquvNoD+C z7-9@7fBJpW40c_!GbUvzkPl|yFKn>#AAGkf9B^8kj;Oq}5+Ryz?mdo&4lpDd)7F1F zU0#MvE<*$-*9H^JrsFGTupWZ=vKQEPq=^qB*Hu7q_5j&?U}eOGw0KNPH1g8f^#7gr z6f0pjaFV+Dkm5NN7HF{AE-*evoNM_6Y})5Rc<|N-=E7Mm?tRfAf)jc)fIJv0uH9?5 zu`WZVIHh03lW1)A+^;#3wDps~?ynA8AXwvoap!zNE+w(H+j25Z;f;juY+5dk3Fj#v zmf=<3Df69obMDOsem4z6%$!y3;pG|rJUH8P{E>94jv)b?4Tm-!PCnT_jv>f1CWP|= zqRw*WP;j(hUGvM0Ndy%}2gigP@sqD@P#h}{D;9$C3F`Dej{SDT{fNT#u{`zzDz6SbU}F*nsufP) zH9*#{fMpR12Bd2wt^K6KIFjHDEa`Jp|sEO~OG+~=Qa?5WYZt_Um zf-TRra%j9y#vm^ClpM~GL<)0#vSZFC)N&nctT)C#H=JH07$AASK1T750StP;-@o*BL4GOkS#58Y^M%)?B{!`Ofb-El9` zzz?*hfi1VA14C{OOCTgWk=IaY*D_oLt}*GR#MBLSdW~ABLfKglA=pKEudHab3eQ7* zZ7{0aE>;*x=q3#sCW%Gkl;3qU>mSDAXPg4Hva(#}xrci+kIzc~OwGH;x51>W1Kgns zfpY8#1>`C>SRFw~LYE?pi!_|^Mp0|EU|+U726S~H3t#KkK4d0kk#jzo)cY^?sAzN; z=^*;Jm8^F3!gz%aAGtG zM1fNM_p=P35D6^5wE$-Ak|g-q(bkh&Mewl?>&ek3>*=Q|roNGPQILhL{+jY_+e3EN z`0DshPT`(Vcq5u63~oGi6>Wa;Kn-U0`QHg6KfV?8{rT4I!n8h@0wn%F|G)#{7Z5Z~ z0nPPUYIPNBvq+`e5|rM)%RS%){L3T7<5_OM^qe*@QK zDj8U2S3b#x6h+5xFL#4Y(?gYF86By$LeV;iXYj(u`$HlB!D$R8R+k6ImSvX;^H?E? zG?Gk}e>4fBO6R}fL=LMp7%&WT1zsEM)B$Uth%mXubyVR5?nG+OJzoDE3o7H^xuL1B0e&-FO zYXf=#YK8#~z~al+^x;8--i?q{$N(-hPs}*h;6|aO&DmYx)FcEW)aN7$?1nxV?m(kE z$3|z2JL^8%@B{{yC+l3}@~|=^nQS8nXm>+S*`3kWO*<=#=l5#`Whc+?(H$=3wOGX| zDc&W!tnMK?D7p6mi})NL?Y+b5B!~e1#S7wf zBZ_L1mY4Ui?@4?^@UL|xCCB5u(0gY2b!C6%XN5wiT}%V(f+1h1P^FT^-mrS$GuXNX zd71MWj-o@0omjUtnNwP5Kr?;61HHpYM)pjQU(oBn?t1B332b~X)UaiTsZTwQl49NcRSKhvOUr8 z9?Igf%CD4SIKlA7(O3CQ0lg(hn*)4kVNTXE0(l8_OsUR@C`VtTF2(|y| z+sZ)A%GRG(KND4^8KNY+PTRw0SIZtddpRIBe+GS;^7_3@^~rqmbNG|1BN-~N8?dP9 z;l`3SwR{BX>PwUyA7V2BXXD>Cy=_*a3S5^(nN%9|lD=&&);#xwDT7>{kW#t{^eC4_ z{?CDj!S5@w#IgH2c)~Vr;;Xw?ZSUF3R;Qc3CZT&YDbZIVM1Pw6gTsyQzI@sI96tPb zr?F;YV{ZS2#Ba<Wuv>7GW?%20Z!H=xH|b`Lw78tUxxX@H!r0zn z<`V1oljU;6U&{79Afmj%s|wTrsIoD1b!=xKG*vdWlMv&fV(_~)oaNaQ@+yKbz4p&b z1I_YrSvbL+qd1>bDr-K`#>O_IS!QX^e0FIbnd*h!+|356w?d6VBm#?nE0Bq|^@|I0 z@3D-&dKK`Bapw}`#XJmZ0%ylIZ!0+MfvoJJ7LgHP>#(5qeLPhWCVt~3Di>ifeu6N% z&x@n2Nl9L!YSGb|_F-!K1c4#FAwF07sq(l9?&@DbZ^C%K+0ydzahjmfLSXP{sY3mE z6&vCY%!>R3wU6>#jlQ^ zb^V)6q&@)GQ}l4dcyOWhT)466v{_Smebkx$_5tGk9v1;FFimRg9jJwo%R;^a6>Etq ztmre>VNAr+IeZc@C$y}6) zAPH^0FhM5uFUt(d@tBu#cyb1QK3m^icnotLW3Gmu+53TPJ|u5>na1e&&QP_oPJO>r zd~+IJ%j=4Zfw(IdJqqZnz29Rh!=!{s51L;{q-nOA^!sxSyOc2TZ@aWPLNeYSd`kef z{WjJ&YG^A(F0+uGMiBU=2I|!PNI=r_ePW$=ybvJgU@t5kBf;o6DKH3)HxXtU+xaO8 zvi8%2Xq(5YIWnK>VWy&px17o1lF(7oU*DdP2s}B1Ud4}|X99p0S7G0gGUs6mHHn`M zFJgsu`k2lEzvoWN6r?w_M_C?rUp?5KGtiWvhG5l=9QjR>hYAuEe7(Svj}G2jJy*3U zqhv+A3-rmJTKI;3l^bdCPOo4t*f&c}nr7#RMj+|aZ#FbDJ!_q&;ui*(07KXnnb{<& zMy?Y5K3&R@>?(k%R@@A846$NQL-hwnx%vo^mQvc%`-K4yCXXF3?$DwEf2%DO-#ppr zNUrXm+JmPO(hn!NeGmAseQZsGS1$juzOcBid2PJa-hRMf_(p^byMK1h?BJZT{+g1SW;Gi%b??H+iH@o*Uzxuqi+T%$4Fu# z%=HpFT8?^;3j;RL7oLL>OOo9vXPAHbEMwhw0p}K8gw@h-suh`6%Mg%52}OG^QyQhA#Ev?qfhvm<>1wryK~-z;RU1}(BmRZ!fz!r%eZ zGszrk-TIavt2PUNA}p{v5u$yelLQj=n+rCp*N?wDKW7!R_lhJvMKh6IHe_$VS$bDwVrGG-_u!5 zAf^meJ(foadZs=Eof|H)X4WJc`Cm}>)=uHOKIz? zRjg)ZMMcif;o)Ihplr(g1LZYt_-A-7}Vm6e<9EoK}rHbVG_PJ;l(VT#R6fF{9i0UAFEW5 zMD!wgNGX?YQuGczXJtoO?8;p0G|@zacP$1$uBJc=Z7C8i%Y?4pSQr@sC+(Pccebx z=N2;5KONWWxe=SAbz74s{v-GVww3>m`Uw4>)w1f^(mV6_3clQ)Yj_5tgKjOdi^3l& zctYp-BG~!g1K5s5yu;&gU5a(#Pr)EC2v8&ZhU`M|jJ41w!#574ZF`PE#?k6u;wv)S z{&b35ai_<(KEfF!U0G|?o;X~+Odo&sC;hmhMXEg~Hkcfh{XHJ(yBWFVUJx0`*)v2vW1r)-~6N|)>T z+B_S+179l0*?V9&UR9pzQoM7m{9jtJaV}-%X(90C5#&7sua|0Ht{aI}ei{ca4*`n* zbyKTJv9y%iVh8oh84DBiQ#HBID_4pB3+(v6Fn*lB7$vLiQSl3$EH4J{t09lRdjt$_ zHp`-0OlyCy3J+!Sw0Yt;7OSGGN_7yhhfr~55Kn}P^U>t18Rk0l-ylkQ;Dmez6$9_; zQLSdWaDLWU5PlDaW;2wq@EUN!M1gdB`t(;PBGBYuu%5>c#VTNPCM~doAyIO;?lwf4cb{D7i2Ve0V19YJm3HG!n?kZ?W1SGLakk<6XR z0eznS{4?Tb3_psf!`b%@m2O;UWw|=;JiI?u-KWZxqKy(s=o%WWo1(vgKpe=o=JtPP z=U?syuWd3vsC}#dZVQ*Q8^T{VAg>Jw_HV#`>`V<)T2{el zBf-iKf%)L$F&#m?oCYa;Re$)+<0>c!;fSJz5Rt>=E79Z638>xq@v|`Dqk?k$fE8EX z_#Y)sVZv5jskqSv56FrjZ^-vR$S{|J63L`p55c7UT`rN>s%w? zu=(p_pV$u?&G8IE{6UD&@cQ$y8stzyiItonZ}jvvI8%F`8sLEo@IcfKnW6{yWAFs2 zqo0=E0o?~>CN>)Wp!n>4DFMzemg|xMiUnUAdX*ssJ}9+O{+5RX4_4fJvEFIPtX}D-EhcL(fxn4N*GsJ)$s}dN^1hkYuUvS_Y|HfKvhoz>crn%IIW;* zI%Wo?i$hr;Dc^y=LEG1l_f{Sj8X1!P=@Biw0eT;V_+4PK5A{qkenZJQA%0i!L2#)C z0jOulv9du(5&KaZk)gRR&9g!i!H_6j&@M(q3Gcbz3VHb!JWo9Tu#g2$Cp0*XQ)PEM zsHSs&R9p8^0{V&N(dM-E*ZDVP4tUGQtcM3THb6v%0&*K-udlHx3O^8MhnIM;PX& zMd^O;8x0TV^piD)DQ?AM0e=)y)T+zi3R2QqZvTL5MAE)s zzHfbAo#bomA>$qyddJjo`jY@9;sqrqR#JPky4(wB7mrJ#9Nu~50r#^y zrEu}O$3u#nyDxqI%g2G#xg|iw-9T^*0hTL26q+Z9zK)mEEEE$TfSt;++p`3~@%XZo zAI= z)id8%>_|bR0UYQ>Q3;Pjf7nSVjl@JT7N3ctZ68m3WDR`#!!}|Db&c|S@D!yZ_fO26 z3l+jc`uGCS_~B5wCs4XBQ4Z`oa>&I|1o4-LA<-9p^61KH*x>fUg0?iJ%9$Pb7D|ed*N|BUvPJ2 zkgO^fQ4hIXia1Wna_c6Ee1mA!kij!P9RS`PUob_ej?_ggvDs7d@bY>;kXo(Jht9T% z7{~IpF&e({0IqUZNOg~EfKuEgAMwJFH2#l?PU05Elz3p6AIAe2|35~s>(Ig&97&6; z0l*z;yVV!C#QW8-Dl-*V^3rqS8b^4XDv@tc7{a4Q4YR1Rmfp?hf#<#*u)B}Hdk&+5 zV;}Og`IDB)w*PA=IZMK8U6AfJGUQ9M4CDV7!b6f;2U+YOaFd7pg!4bGwo*&S%0t$z z0n5j}k@b&Eou7{$kC-%~#|ol>A&7)ChRT19SbF~|1~Ok(QnH4@TK#2~AVP3k%wNYle@y{X z&1_sPFHL^tRO{RS&?mh$i>vhFa(`m(e2Jk42lZkexFR+6?A{3eUaF9}86P-MuMOnS zR4o9Jo`v&{Z!}*lU9UG8%hy^fF9S+sOzYoWs&a)m$u>Top0A9jh|!|@-|UJR6@a7m z?O-Wcr{XTI|3glU!oxEz7~eC-8W$O344 zn8~NvO)C|+6d#c_C!zhw`%XO&A=MM;ePa&}xwatHDfEaI4Elc3vxMNEGV{9rb+mge zs^Z`uu{?yGvg#7tdqR5GW*cyU!6x$^CKFuSDs?_T6@*K)2gp+*x)TR$WB=au9;qco zK2^DcRe@b(cJx;gQ??BawpDMKF1Yut63hfSb9)W zmZE5GU%2=VW#5+oAUt(8d~GeT>Y+n0y7#bk0!GTyWpFo(8*$*32J}EHDnn8W=51B_ z`tOWWnVsEIag4tCpf98vA1!!`bTMyer{P$3Evh3b!+em+l~Ty$FPnkAZb*@4Am2JV zI**;$C+C@A$g`H~0;DuScVrTB#w-9$D#yFV!T7cK|MQh00``XMDE9R|s~9st^KQBe zWHt3AoZ<{I`y_5eUKo8XZ8o5MC}cmPrlVs~bP4!`B^G0YehIe!CyN3X<>VDZBp+Qa zFJzFDBO=Bveho?YIlP$G$MyFOF{*XSufBFlS36;B|Q;`#)VdmTW2atR5Z7gJ8x97azeEfBPSiPuuGmuJzd4fAc_&b zI&r_8(?OF#?N@j1e80mhiLJhWXEkfpZ^&oRr@~|2r8!X+9`MW-Zm{_5eaq>;@%)y7 zoMgBCfgeqsL0%m3j?G*^WtfB5i+>kCy z+=)JwzC&h4!ejCIj5mJwx%wMV38pV~qP^$uZF5W-A~|;7iYBfJlI#!O_t%7`U*Q?f@L6n}sWX`CG%pQGyFo5m>JBIzm+eZ7r?6zLr{f z8KP00Z_F<~`r;~p#CcVL!4IU{0ZpiX8NGa zr(tGV?5M|#-wf^}7STu()B^sM(efp5ZA)BDT3naZfP(K{)*rpO+Ls$fmcZeZBF%K8 z2~`U28&Uk58AD2F2meXcLuGguCZrL@!jU>fUKMJq#QkF*FH|9kUk;usCVN}piY=6E zRqiA`Vv!}dE7b!F>&LZgyv0Z_^_v$)?N@lh+Ykqa&$z#&J5`;?U zSM7wOzV);uSOz7OX-=^5tbZgek!yKb@3p%~z;~4nF2x<;&?S`Fmt42GMYf}~F;wKU zbGv19Kp0}&04y{PqDWDiRzzsx)I20!*|f{RxIw|a(w^xW9VN%a-u8s7B%FFg{eLw;>U zx;c#AH~;B-_H;cu!6{cRFs%iK4)vISw*ftQ*?jp?3^IKmI!choKA(9Osgo4;wnz|3K-@DkS?`$-U=M`zfOwmNk6shf(JrncVXbIt*uq zp>pq58mWn_a!r5Ltd2QT^o1=_CvxMCovW%Jz(qY^?$3u? zi+E}7^efYOF3cR#3CP`+{zv97PW-3FQ^AHFZ`gR4Z0@0lxeLz2!z6-lityJinr;h2MzPO3;e$1P}JeIN+%)Z`4 z1|l{z8P6YRXM9W?8D-o5886!2JJcXKy|vKf^ZG`LTxhRL#rfB|x;HLxz+U(uAtAAk z!}g6){XKVH8C9?;6Ve6M4wEqdxkg)neIh7{y3Dtq$-_#&FnaZ}E|*lz^7GGGFKK_O zt1Gj;cF}@&aU1G5e~R+y+D!~e?Hz=>)Or4V3h^b~>&L%8D)7DqulQ|s%Omj$wYNZBn-p--_j2r^&wiA?!V%EwLNE_N@8$H{`z0-moJ=yIWi33 zsM#MR$h!YpTh4pWicvWaMr-r)QP3QhX0DY*oC0i?DOfx#FJwFBgI4Cz1Xw-$O90(y z=NaTOs(T^$L-1upPOA{`sqWF-d2VONQ)qAzG{>5cU(o7WB>7SP@%L9-!lAp_fxyN^h*A>kz@%AE8k({ypm^+Y|QXF-eZW zND<2A&o{lA(?nr+q~A$d{d~TwJOAhK@GxaAqi@=OBZOt$Ho|;wuRRx32^Ar;M&m|` zzw7ISU%r0z5OTXG$Jg^(8}f}~#fB|T!-AmxWj%Q)-UsdM$5G5m-%3h&y{|6+)ems0 zQvNFcT(xa!j3!DXGrsxFz*N12E1&zJ?1QPYtY@gcD%{%!A1uSWUyCw&b5`Q^-U!n! zRnx>@bMVHt5t`jdqK<3KqGCK@At1Y>kVH6ZJn|`1Oma+5g|0-^wU$xR<7}t*tF_WY?xP;bNS;aK@rD zr|!GV@Hq@yW8A#rI|V|XsANgKk?bh}EA4HqT-m1zC!8c?+_xweQXaHchDp){EvVa6 zKV`(E8yV|1k}LI|eEF+gF5CTvb5A|z7iOfU=50KSePF`ieu8Z|NjfKgWjEL)=aul~D=H%q)%BQe=s(b~!n)+PqF{lE!yDdx@e8suA2od$sl3e$W5sK8` zW1KvbBh}QR%2dDD9xDrmN=9`LP|k^jO7c>Ux|ZLtNR_V>L+mo{@PP$qZ?{-h7l(_! z?Bjrs3^M6-QNDKWWrt918v8|ZV566`N$PI(u;y5y3ULW)!g%-1P(6tdhqvZRhVoX>-;rLA3w=FAADC%Gu+3#kM>1~E4#k7 z-}l1ibrG^1bfDGe90Yi);2RaAICPN@x&LZW>1AQOA*8u|e9-`<~bxFdTeB?Tg4h~Uw zVpmpdw2i{{%5CgS`Jf`iB1H2Eu*TvghIH?--}mX`+@dVlTO+4&L`i_>!D{Qb?8fA)&MJgO0RXB{YY=qI|d# z^k!$UcxD;V9BJ?OEnd5A&1|b~t;Cufs2-&OcK5X^P%#+aO1dq=xhZO>dwpbAee^Xn zG>TQFN!C)_s*^kcmazP;4Re(1`glpdkM2mHJmx<8=}-!DuAVZR?TDAA&Yq4*Ilhdp zjZ$;<^Qn+{7CB~vllUhu38cqP3kj&gNe|ig$4uQQFUGX8Ws^t)>G|vWvFI3I>#!-1 zCgCtkr8f-MoW+Z8q$yGux80hqu{{G+6P!x(mciUf48{WdK?Yo2Gz{h-Bk}3}C5?%& zrEz&->{L|3?L$xce8_Xhd`h?(9-xZYnu;~QHZ{rcV87JW)%APm)^`*THHP!DAiOd> zPtAL_c$vqN+;zEnxv)V|zIrR6DtjesD`RXg8LD7cE%V z6}Xci!oOVL%vQiHrMNux7k3k2`)AINcfvpZ2=_%0{XRV!16RAk|GrC~S6j=g`u=?u zQ&}JX^3|)GW{V?D^km4lYvv8^o%P^$dE@y%*{kRCYzifsEYy^o%ljl`?wx-}x7H`h z-i|c3fDK$nQM3fNR~Wl_Drw1+^`9G}3g#&XhVt*H_yiq)_`In;s_BQcW1oaee>CsK znSQ|OJ+wD7F|m9a*9>xJ_AIi#H*&VY3+V9#FJ4fa)BOPj_4eA@5AvK1f6T9MFE##9 z_5hPZ8>f^k#Zu-*IcN~^cyrY;?Gn