From 31df00dff5854233783b8b42b6d5745d8e270df0 Mon Sep 17 00:00:00 2001 From: legiz-ru Date: Sat, 4 Jan 2025 03:32:39 +0300 Subject: [PATCH 1/2] add clash icons add clash meta for android add clash verge rev --- .../static/apps-icon/clash_verge_rev.ico | Bin 0 -> 34385 bytes hiddifypanel/static/apps-icon/cmfa.ico | Bin 0 -> 17956 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 hiddifypanel/static/apps-icon/clash_verge_rev.ico create mode 100644 hiddifypanel/static/apps-icon/cmfa.ico diff --git a/hiddifypanel/static/apps-icon/clash_verge_rev.ico b/hiddifypanel/static/apps-icon/clash_verge_rev.ico new file mode 100644 index 0000000000000000000000000000000000000000..ac1124ca10aa0a492094f7985e7d5ade9c477ebf GIT binary patch literal 34385 zcmW(+2RvI}8@>@@#-33GwToC)HDc4EsMVrk)hvp(b`pEGsM*q5Ew!oLBC*vdikcPD z7S$?h1;OY4CAq)c?fMtGJw*-=q`4l zHw<-e|9AAijRtb@W*_j*?Y~cc0k*PcYtt0P+%k@$jTvWUW!1jo^QyVh%Pzp8CA7hHUuM%QETeILscC-c z~->}`Kk-TqnLY{GBIm!yEwtg=NTjbAehaEp#r+jYsF(*C*46k()#0-F& zX(t?9$Agph>(pVb<1QcD#+eQSWd8YSugt_KXQ{C--60)pPf{@%yp}i)aJBf9+S6== zqqmc(f!2OnU~?$Ih~@{D!yk0qdDU1YC9HfT|BTQzeIt~0}`S!5sA@T ze^!?5!c>-DYc368Oj%aL*bTqkZV5BqZf_M~p-I*8llL#G-CXV_XcZyRSo#QWF6znG zHn9aV;o@ZNPhs7>bQ)afe;cXh%WmvHWY|wa*xh|*1Dt>ty(hPN<71fdGaz-*NE(W- z!$7l?Q*UZ(SLl6M0dLnywIQf#NDNZXZ@qR-ca;-E1trQl>iiPWcA5d>Bch{G1;k|| z)!?&DZfcH>_Yw)E@yO&U>Bk>WbjPd@4RzoBO?_BY>$|3%sx};pIc5#{dnj~LL13P{ zy|c6(SBzs?kU77apVy-Ppd(+P*-@$4KEFRHg#vdu;pFzERiP(41PA>I;j2QS=~DW% zQA%Ua7~olT70b-C|4iyS*H7x2HgxLBiKB=WGzWQ=ff|!ayYlo^buBq& zM}xzKX#X;Looa=b>jPtmVJD}rD-iH+c$~di7#G7;!5_(|yhP{n*+##!zJMMRAjNfj z!{dlQLS8BhXvq*NTB*td?C9>mVTTON8}ZrL74cbDX66nJ+YfjmTT z9sjxI1t~K1&6x+^6wiOj_r`bl%927yd;E!x49TZz5B04pq)j$(r9;_)cm59fq4?U6 zY}%>d@1NGak(yV!lPRyHZ3|ob>=-<-5quzJ=KR*+fgjy*Pg~zwPjhj~w#CoXI8^I_ z=<`f%RNtd*B-c+@Jh%2n_6O-?F9Fhlj0`EGCqMN>f@>-8d)K%^p8(^})l-NbM&7k; zF}3($fbH})x8|3+9}1$(dhh z$hmad<(6q5q#M_FOdyeUmYc5@?dr-1pQ!jlBI$D;cS!C%nmEzETD8|KHDI;}7XRTW zRE!fg!3XHUn@Ne=`+cZEv&$}7xpWIj$=c1&tClme3K%xMgI~oPeWyUGjkdK7WGX~k zhFvs~upJ%Hbl52xO&^Xy&cqAQ;!VTGFN6vGLRJmgvv$f#v{vJG zIVm}vl}gb2#$^vF9@^E+*L17dr)rHm$6-QGT@I-_pXBd$c&l+l$)z;br)Eu*4U%@4@(-^!q)ULc%dnVU_GbJj&Zm;tmtn?NI z9f9A7R0X0eNm(AcG|u+V9#v-1R}JG<1d^;Sql99t3YeQ|?m#WkU4V9YZEbPpfOQ2c z=EW7X9fut714b!r6^U)Ckg2P!dGQ24v`-M47e z$A1|l(>_$+3%<`mIo?*5JBuAGWDAjL`fr>_YtXNUEQ&Gaw`ZHXH#`^f2Ec%=pWiEDYGoSnS&< z7Nj2}3Iv}fskZazvw7^SO}SD!cpS0)I|+)w!JEq0m#U5f77I>$l=8p3*j+ns=4A>F zOzPZdV$a{XTXQ{R1@)G4yEFB9ynPYL+!gdYOQji{_!3B-n32u~{ZQy-MY5e#$3F5w z#!&8{(=OfE<4V)3g^}v(2|{83{}Mo+0%}&a);<6*Y!(cwX)@?nUA_PF>*@UAqwjY1 zsNpqx)Yw`(uKL!ir@^xOM+eAngKcL=;#^*r+QvTC?0pv}-*ecVmQbVU^81v-k^-=S zm@;Tmay0`ix&nj=52v}P1m15`rem|j-rYSiDv`ouZVz)z6HFy>v0R;FLNL5ZoNdyW z?eAS%Z~As`7;cR)vGZZ>@HNp5`A8-U@;A11i}ZVRk^NBN^NH)PkLG(<*~4qa!&!_$ zbZpx!Z*=ix6v!^2+(^*MiBHJhfy!mNzC)vpHzgk{H^w^M!S3f7 zWh#VH?^>Po^FeQ!*2sZ6TeA6bUcRO=TvJQ9u09d#$HHntIlMqqOvRTuBFjSOVx}9* zKa?mON;Lt|bjFQI!eIcbVpfo|6VwoJzL9Zoinw! zdLVo2+utdN0y4$N1(ksorpeu{j>;sBq+*Q(Vo*OvXH?~oCHylDxA1a&teONk!4J@q z-y5E&ApiixxEi&r{74>k4CcA7~N6>-1HQ#H}aZdI5)bfbeezlwMVT4Lu zrfRSFqW5<)+yUav$VIw3=VfZlSte*?5*V_Cn6ZeUWn&r6E36=9!aP8SY$CD-1h2kT z*7i8h+h^d!0OkLTmw3xxX>rU#ifY)u8`*z9kd3LP2lWLL_;>m(Q^|TN+(8J<@|9B8 zRao43mVv#rP!Qs2<}qyWPaOT*`Arl#S9Nz)^dPwVmgSxZ%p7;6;)_8~0>M^<2KA0? zZB2SlIvPZYt@JMu?)xljO$;ltO$hs_eZBhd_PpP9pI3x~*RYWNy%sN(hm>y>FEZp~ zTq=&{oGY+x4x>JB#H93X>wPvkW7u-)hdkGcEQ=g{+6hcQjREX<$ap0iMClUH0>j=W zzc~)8o{?z$=bePQw?6??C30)3UXyO2$+%_Y{_OXQrIr+2bqa6DeJwAkod9Nx!Xd5i zpUttr&+aw2X-^r4_z@uzz0UT!v(p!>2PHp?{H4YULl47umzY_*2J;gBiI5*%Fh{B3-x1PgA|D;h33rY z2Ih-Vx5dm*$kxX9$o9in+t)p`>)xSMTfMT?jwti8EO*8S>A3Arkf(6M7E_0pwDR$i zbbg@8PlHRVU+5W){FyN{JoT`3c}1(Z;`@g8OV6oH00Q8^@;rxUGePR zt&F&kdhyBfgRJ+Yw@w9Wd%GeJfXBxBey+Wy6&O|7@ca8*42AT+y1Ku7`_s6uv8pO} zy72&PhP=JMJd=Hbosb0w_POWWaxUDmt$E6LI+B67LBC z@vlr-Woy`?{B3vat37(Vkm|n0b=05bOQzNxUwtJ*D0p&K8#&9^ zo5w;@Y#S2b*afDSKpga98%KQ+I1@1WXkB>VY+Vw?X+YwDb=xErpnh}BoP?}=tX58k zy~!@R70Z1(*NM}cIN6=X=`cr#37`3f3+&VEMSc77y&*5`@cLJ#4)?u?CVM6unFqqR zn!xm5woJo+(I}I@j^?{q^)39F6B#QZsneK^h(9tBW}fh-XDE%l27y~g6s$gR_Gf&k zB>Im(s;~Esl33KCo_P#~^s~r`R)LZY3vercte6*Zj2BA}#p?-oaz5CSg=rcwfLll5 zyx3Ps1u*QxKeA79kC7VWiO`y?VWTGSr_G~~9RkrhAR2=uV*d40|CzgA_NVjzwjbG>E)dH% zE3^8_bjgmFtfQR-?+La}`=bu=;MbB6r&olb+Wm~7TK033q`V~57(lsVMD(+^!Yl## zoXv+e$*5uAI03XA=2z(XRi5CKn==Qkf4#_~Z-I*stdGPtSCi;ImQ!Gs z@5_n*WQ%+|1=L$;Ju*Vz-s&K$-_@HqcG7BX1yU;>O0vUxVD~mp{jctsO<1ht&}8=8 zF9~-a8rtjBRJInGANk!p?d$|iRc4cmU2q9H8>fA<7&}(nJwY@JJMKQ;Sl4W;*X?f zzXB#*_M9!!j`19gF^Xs{*EPY{fRk-R5*E2v54&L@A|#m-#U#gaQ6B+$L1mY6aQC|*(* zBgKM=hm#oq&J4wrj}O($+cb-b z0%WrP=a3&?E8PNW&lzHo+P$?@a+E3@37Otv;J_OxUp3nv4f+X5-Yn$HT?lZ3$2n%C zPI%QKXLluUy>XUE)G80?_LI=5&rz6mcyqI4!<&g*Jac>(>@i-*0@Y;48CD{;Eo6@7 z%*kr^#Q*w2?oa0=$^)*w$}W5nzE4I;ydVF1uj-@63*ZvZ zndJdqFg<<~k^A}x>>M{_8UJP(PK&=%78N`kN0iZ4fv#T$4U?Y(b4ucj)EQC-6j0X0 z6FoUfR8{2d?TNy5>7VROONZ+)eABgh6hBF#oZ~8qh8A11OHZ>ykTxc}B%+)E&N;ws zG=^XI&k1!o$z8$=%pK`DEG~$6rQYlvy5DQ(hkO6D@_U7aD6=V97&-FYOb?nnDP;8tW4JW(_)VfOyu3?8Fi z{Nh(4@=4QLUrkKHl5~+Qx+PXAlJ~=Drxab=R*)@op!yfX73C8}xvT;uz@JDE+&>H0 z-(q1XG!QvMOOkmMew|Wt@9aV}dy#rPI{i8sr8}pS-eTv3YJ&IoXMrCrL<_l2;&Bn_ zT$qCrdM^R8~nTUJ=!4eHF%~H&=#A}oJAPj}7^T0?kXnPtnucpgViG!mf zX%!%f2h;w?zwI9vouM*w<#~ZuXv25;J>E%eC1wyYgy^*7Y()@w{4Z z`%^T%HSg%#QG9GO4&1_KFi?()kkh|udB|8df~#nQ*%czYLoP>FMrqa#eFt$-# zs4a_2Aze~POcBIuS5lGr#Dy1Yz}#-EQhhAczN{z7Q&S#?ZU?olixzn4{Ro;s7wDy& z?MIP#-;wyDwncU(IkBl{j7F*&Gm!(goVMfd%r4;!%un4%BMgz9wKUOcDWtN|9_Kyx zUenx|8@sN-LSe-5A1{BkG!=tV@{X!|(!-7}3;Dmot);Uq{xRaKg^hI{5ZLBs{;-K! zlVQ2RU^B63&rb{_m9CV#>b&CxEX-_XOf;|Do{t$mDOYUP%|rxkFb>-?!_cIROKnpF$@^gVDKe=5In=$@ zhpLvx+D_jtfTNSML3KpGB8a1M%S{Ng2s#TiQo)LS07OfI;XO!pTnKxt3=B^xFTxEt z(TR>&XjPr%l_}2=5G2#@i<^hgK<4&=tMrLsC*Ez3A7zZSZmzm~FXio_@et09D&?`H zbu)XbAY~>>q4ZoLm&XDz;2`>D6Pv}YMcWzjvw?w&=%o`V%u=5-!sAolVA)$vRu-?C z%^K_uvh@}EF*p!WmcV}WdnafTTkONm97_|pcC-)#V&wa*J<5%z|{!py7nVS0A!>*3$-I<5K z+s?KeR{G`r!b8+f^iw-Y-+8d}46`a-N_wyaPeAl7$PnDk9Y$r(=?sV@eT$X=BfNka z2AJkkI63b*DGOp&<^-7dGhn%piRTS&&cLgQVYD^-MMd(QG!20dU>wN8#`^`9mgps* zl*)~kzgMwibm!$?)0A(#Ioxbw1@{U*_BM6y0Ls}`r=RNoZ1l@nC^7Frm#^QCN|U}6 zdsRzYT^K)OEEHg5R<3d-KP#Il7F5*ej^$y#zz)5X_Sw#(BHeGG5Gbw2*N0>4#~tDi zq;Hmtb4IApu?rfckR~i??Jf35UMs_knH89+Hv}P3EQB0UPjqL%FBS`c-?K@^m@#*%QT~XP72?IWQpu$XUz9ME{9>`|wemm% zpMT1;g-ZmfpV!;OT9bpe^z;TB8;&{#+757PeNU^sf`5BF+59AD0oCQjaw-!`qh}SO z)~BO*o?b3|T%7JoaT_)+hkaKGeaoPUBE|fs<-yLL?_O|6R(m;6Y%N(q@rNsyAJUOA&7%K@HH+3djE7nu zt(x@hnR83YcuBd=h6H0^$3vXCGbhxMGj?oJn@W}*ch4CTcINr#aC)SWWh7xoAQl;G zY)f-G2;9GU=g@`@6H|N4*?esJPqeV&%wg?+9u}uCn$2IHO!5I*o!;c zr@n@o8Ig)NQId*l@K)=IBHj1Bjo>M)`we%vZuTM)Q))c(b~?(_&7de$c;ZTfHhzn1{Cbh0I`@@CTUe$H z(l;3H@t}3BzM@b}oWmQ=w4XWcVDjR#tp;-Odu*-M=`^jT)L)z5#KLKmbg1<<)Vw%n zg7ciAnskLve0#y1SilO!8}|~Dw-V8MKg%5VY;4YMG?A2`n$ONlxKBg4SBzSt20tXa ztJQj*HJPPww|zuTGm3%8A8)HA2Y74z?JnJ@%vFlh zkjS%|?%x%gedPBmjY7~&@6S|?H7bTr@fAK4GM8<=SEH;{w+}%nX6bC`{(>koM=iVINMbd+t76 zi)-K&oCmx(Qk$S~IbpMA`ssS8rksG;-^)`9K*$N=qjq7Fye6gf8xN|#q2M%ItoN=W z_Ifk~&vaH?iOCz^N`{PsEWX-BfgbfM|M%w?Q=?spve47ZY`JA1Gq&wVPk#m@7mg%U zXLe-PUgc2s;=U}9+}BzYPwyQvxhYlgj`%VNAu_+gwMHBhv=%OT6&JcW3OQD4QpfG2 zT##v^z1dj7dCHn!fB4KCVh6PZ!P@VW>$G=^OCB+MtR#9-vxk9;cRcjMpuzQ(iAsx; z$tV9lU4O)fOrpE_sELaTb1!<97-TqQ=wWq!S1O8F@HRq&3AJyhm?m|e;tGWSEO@`j z`s|hBzuiald*ka!6KYHqiMpg0>9it+v^yOzBdM_szM=eedVi-9iZ6Epe0#ydZl*h= z$)%vj=%vq1?JldI=LFz2hswzC^pAM;KIltc^tCiAq-xqUa3y*!MxRPYQBct%7t8sc zC*_N)nGYPw?M+X7^~5-vfp1Rj$tTL8N3~M;f zLSO4@wM5QDBRQuFO{ETkmLuvnlC#dQa-6-d_SiZ+I#UD;#D6cUYZ zBtQ@qp1?ejivb?hj;QZDbX1VTs)|rCgT+@F{U2{>j6r`kh6lqd>qCIpZ>h!Z<}j`3 zAsSeWrCFIgSlT7cF2>yAX&Q|e_tYjfAUgdTJd@=r(+%E)UcsV#h?_~4IQeEDtv;h0 zby4_LL5yvEJ|!tRskJ2Tk={fC@maiYUuw;Pj8jtWn|v)PqRocO#8rTrZ@s*&T-#{- zu{m+A>;x*gqwLKMuyiKa@89>8f}k_*?1zL(xDt_iVVIxGe%WR()s#Ifz)e|WB2|wgFvh;J_ zw-D1;z)Kg)2y61IsO`HuK}J@n#OudwJ50rc@#!p)9y`O`0;#N+N7L?N=f1HdgDaHE zvf&~=C6(<0ZKo}_K8I-3g+n#-kCo9c&*pyE?A=#7|lLgZZF&f&<{pJId#~k{FuleeH zqOKV~NRS7iQChDMi1r)tasOm=vh%tV4X4e+s1ry>8L7VG>*=o-*gP)W$DHzx3GA3_E!t zmx2jSA_Lxo(4>0mn}Krg%TheJr+-X zb_LpunQbE5g8ZxBA4&aO#LpinAGlpD(9(>d)2QqNM(Nm?c`}zxoXlKu#hI9=D`|%! z1qqyWy#xa|49@`TQM{{S_CQe7v+%adAzWC}=}MeS2f6l}zy>8<~I# z4V-mTj#Su{%#TOG{;0Cqoz7Pg4@4H16Rq~EdjT&Vvp?C__4*3la&$&ohrZU=BJ2K< zrWoCmqk=lZpcjOc#aG5$U2tyW6L}pCmL;IS+5@n@O0^9^IIWt?9+{X;7$hU-ftdAF zb<7nocl|b`kQtpx(gSaQ$_@WkqS9&Fe4dr;P2S!9CkMzKqry~AOA>H1dDF)qmqs`R zC~gL`t#c%JQdGof&eJ4502$LnD~i0cVQEa!Y@2+@9xL0;NS`IDnGLOcJDGMwi5CzX zohhj?F*LznW~6!H%^+@EnDT-t^Ajdbm$}2p#kx=z{i=QOjwI$5XHmCQf^hgnJe!>W z+|0Lca!)jj4~;2!uclXGo?Z#BY^~xN175m<5iQI0RG7~+9O%ktpaddLI^papU2EQj zUPS2vuzCFdH3b;{u&FsR9Va0xF3O;MIiR`=r3N-jCR7WeQ*VE+q!4nH#bQAoZ zuYxCxl5K~Rorle&{)oLZe;Wx)IXARc!e~SuL2i!z)1&s^_F zdb8GASEGX=@Fwanc;?hz?(L^4?VbGkueGg9Byx}L0&6ffNGfX3;gRI2EUhFy=lG zaR%-jc}{aN04HZo4H^88A?Ra>Bja7-99c;mHmN!HunZUKSQ~Myd zh13rUwy$g<@RypVQ-RLcmw%Zr`rV(8oehjZCpprvqhHjc?r5b^$L+(06T-s~Ndmk* zGbyYM!4)ij-u5i>J&N=jfxebe9m!_sUVkRaUH=U~bI&F}$~Zpmwl}_p8({-~ZcDi` z4|aQE4c9ToOT5sIO$xB0H!sZt)|D8gy(I6Ckj+sS>i6O}J2~Y=g1uWdzxVc$EgkCH zZ_B!AegV5}jU==!E4m@&t`AVnAdU{?Rd0*`yQ3V0*ZnNbO_+cl5dF!o+VIF#Fd>cl zQr0Bm>6?B52@(>BIhAL*Jh6WK$rArnw^_uNS@Yfo?R~MRpxY}=)dQU+BPHiaH*g)P{Wyx?N8f4`&tn!eqggpsOwaLxtRbn&H5WoPkDHnvv#a zIC8}D5T7tD@TF|$kDiRVN(rGRLd4oHGrD-96MltuGM;^?o^Qw=}BYiD=5AmKGaG6BIzhe@BzfiuNJml{$DbyYouuu@}Uz=+&1A0pC0%=+t7lyQl)aj3mZq^|l2*zYBh~W@S$1$5Lj!d*V{N}e_SiXT zik0QXVrDsy1uAqtn?fDUvmt$(oik@2@_%EB4!b^&JX5E6RBT4uvU9e1rG#4vdll*` zd;x=-ul+}?;u^!n85uqecso^im<5CNxVt5VlIDp#jXmp~)}4HV&pI7{>1KlLCk?3r zm4UMlapIx7N<%3xxPq@VY8+On9Mt(aL9ts$Pr31mbeK!2C1GLsg|*u`p)c0CHT~^- zynHr|#sS@()Je)hMeK`fkmcMwQ0^(hBgqL^WtNL9U9l=UB%JxCsg6-`&HxqsH9vgw zuH(MGKzn~s_|7Rln6moBtxQ);ed&v0tW37?j>bzJQ9ov4#8-yU%kvUn9OXWm1U(s- zt>R}$itc&*beZ?zuMWRPf?anw+?5H>-b~rkHjT(O$%gug-@5*iIfsd=l>LO3bV~Io zzUXd$u;e)Lr4#9#{|M$=7_wM6;K??|ps=2o&3qE>WBy3sB0 zR30nG;rz28GY0uU)OY{^#0wp>tqfl%EnDW?_`*3cmw!gO$;d%otO~o9^+Ih=gpwb< zH2Hnuo`HI&eGl}(UyP2s{+cJ{Dnu@safwFvy|0$dlQPPX5w>qK+%IIee-)Z2^Nde} zEfhK#E%1>G%m=Z=w}#(%k6K*cI(qm(MI*20!gIaW?LHB>9cPs_-F^T z^7mzm{_xhW&ua<|Z<{y0(W90f`gDa~;fG5vQp?laIzoQbJ-4^j^y_Y!aZ5eHFaAZP zF!KTBD#?ywUM5AL>r8{!1e+9b$5GdOXPO~T%<8`zEW0)BzT;KM-q}n77n3BSOU<^% zj|UCx_@T0|K|gT+Bxmk#9viT~5A1{#>MKUy>Su3!u1yv!X(w~5>#}EPO6|F~6wWDj zyY5^YS<}ypb)>wcGB1py5Q|8!MTYqkHsc|#$IH? zG$xG>X~=_!b%Kk%|6~rTtvOX#q7MIp zU>|J+oE1;(G z6Z9`gAjG!DN?~II104-p>o|{?d1KfLID>^RvHmZ}s)kTW3^t3Sc5hg`g6G?oOLNb(`U>JEw?A}KKKF)1ZI31<;a;*}UTJT?-~Qcn60T4x z)xfgTqQ`?5=cg{%q6muD$!*cR&2TYSyVgt1jXj4t3GYA*w9H`U_zMA*`we7y6^eJo z1I9PO+?wF^oN-PJvivNYCRODhv3F_E+l$Z%NNAFK_^k@ce_r?L@Y^ul8rmBCqwPwzLtqa}kH{t#Bz=#~rkhn4esAmE8 z>ux-oIBU{FiZ87XSy>69mQu!!+A!|-pO*Efo;wq{*;ILKZ{3Lz*2nN0%l6_&Mh=A# zp1ycVS!`56Vewijo9GI+$eA^_L04+Y_JA}WyAWB9eoP#OAIx5OWPp0_m##_KkLva) zkftGMSDfeGBnes2C2Uhm%<3m(pl^`Wq80yr^!O?8#Sj3q*U|~}hd7YH&q0)wQx~$D za(v&$m`hR$!=0W2pCbxCUitA_ZJo?`FiLGJ9?J&r`b0`-(-mC zz%2|RJo>gVb{=$UuXr{Q!A~@ka&APF2rdayr~G};rECl4=xHr?_@4O#_7oZ1o&2n} zeH!MLCjKBLb@W=7_Om9#SJ+^jLt!KcCtLN;OLSy3YMo~#FQk9e=lSfwm6o(yi7Y8+ zJqy0{!{MLKJJL*59^a?vQ|V1E=!Rh(eiXPd;AI4@(YN& z_l`s;!J3Awg?GAD|MWe?oKow2THq6R_|dR2xo=M>T~U7IdSDMHqKv`gaV9*r)p3YB zZ%$bEo)!wzm$=W7q7sl-7I&YvIzHgCR zNHOcxaH30++p$cv?UAX#C?93R)&uBHNbzuo%99hDF*G86$%vzp*MEIwZFXLS*7STiscuf; z4+|4z!7$Oi9_P~wdoJe%8H#zBY;ftaq%Eb2;G;Ao*R&!%eZ+2Rh@h~LDL7j&omZ&W((F*@ClyU94BHg2FK_y)8& z^&F4nzy#Xsi`bU0-%nWglVEV1O8N7*yYa`WvV&|Lh%ye0*xN%exlpH=rH}7G zmQyVDJ7D!l2YNV6hXFjuNZ=oVp5OmHqrHnXfL~gsrn{ed_2Fi7=U9u|UP?~P!Wzm3R(@G#hW;)O5ZVgqxlb33h`$@v$sH8k34+Uuz;7MR&DOdDjG)K+IW6Q38?^dL zC7Y(9W*Y_kOBtN?uY$q*Pt$E18vL&bUclWGTZ*lN}mGs??F=h8X?e`v9wv+eg zCEik`rW`Hw_7|67SmsSRaGfr{Nb4jl7rU zWD|-2?X(Q-4yS&z-ibn|JC?b>mEg5LmJ_|Yq0$Iqp6xGlP7Tz~FEi6(a9eDIvURu- z*Lkp?GUh5l=!{W&32_!Aw!MY~MQ7h2^BL22bd014?nqUh0dzQ2)0A={bEjAwh?4c! zp~%kROFbbPW?x1P@Rr9Jb?yn3?%StGl=sj1fMeu%{?bBQ8U$W^^dZGJQ5Sl_f4M%x zx^6d4rasoTvlZLh;>V`RHhTDJ-2OJme*iCimLAJAq!7QGhojk1B_?d(#DCI~Q*tO12C!z__Rjd3?>tO;^(nbVClZmu|DwO( z{IVawsSY+v!r+NmG_4rj)Z3_3@*n7XHib^w8nVXeMqV+vuBIb_FI+@vC8jfw=`LG%D{-wR^H>0 zAE||n@OD}=9fX8zgodsi<@fHHmr^OY8%hZx;nvI2{vK?_oeA8Bs_)k05gSa2JA@Qu zP=MMj{TVIt%E8l`@faZl+6w~Jlmd;=SY4<|Soj%8D3nEO`(|(?le{;XEMM?)7BXI@ znQ-XF(H#h*1;&9}On$L5EvEo$0hMly!r9Hv@u6??2=eM`%9%4|HZmgIE6rGInAz3B z!(=Nez2Q4C^jk5GmbQyWF;cjLWF!U|kJI)m+Qb)@-}vq)HiR*Ie5bu4{TdQ6ysZ%9 z5jUMSQ{1YjFRdobxuOz^)9YU>4mbAfTeEw?Ur>FZ{dNG2F>{<;g)2Of(yVI0Zzbu79aqjBHa)t20SI(>F?#;QPf(~ zCC1S%pa$KV=q(2&>jZ}4PH)L$*EzNGMH03}$5SL6+k;`*#QwjRE`!S_a!#n&Jc<+| zwJcmNyj9xNi6(T0QE7Ix{PK>LxLe)DuH3Psld$-!{DHi}p-?b_Z6}CW&qno#zMqlF ziJqOk6SIRMbL4Q!VY?n>fkUfHw8;gmlIJOLplg>Wq!{q+DHmfDWE!Hn(y1oXr4D*? zE_)I{t?ck8*eY;!`Ri(mmWS@3ebS}0dZ-(O?e70^n>r^T%? z&7{s5Fu@w|GJs9p>h28-cCe_1G{ee($h$h;5*CfmV=&V9G?;ucqD8)&Q}=U{LrH;6 z(mik$Ihy;_0L99@RU{#c={`P*I;e8@@bU80_BuKbX?T} z!djtiZ-Z;;L@&(*^K@h`@OB=@+Q@^(pkG|`J zFg%lP3y_Ct$uJ>(!l^VZybNez~B1cwF;ODlCg|0Gv34_k+9Y)20U2ksvixqo9gdyp^gK&=Gg zKdms0A$U9ONUk?r7!7WdE}YDZ2?7FadyHyOfd}X5k?a@bP?W)ZTk~UKfqpt9JXv26 za3Ck%u8o|S;fXbcwzu-ihcp@&%4J|oTzrw&KB^l{MD^$2nmj3@nawLLT2nb=dczFn zPBXp;{JPth1=A{d_g#0pH+3etgE{*?H1NhfbL>_@(pcz~AnvI%)@0w^UJ8h88HO%t zD6i_At#9gm*gmpjeAsNre04T%_|~tcJI0XZc{P<>1Vu zR(vQO7!ma4#yP-pu5iz>Hm{U09MFCgXXau0`Ew7@K1={cnAe9R&(*ql6oF?abcd8d zFTDq0$Iv86Zo5Z4g9%A1A??0S=_!%iR5#=+sk;<@#QzKxc3b8N=vp?qH}0c1ale?R z;rhB&N~p=G_>=IzAyq@vADz?$^c;}1{OpQttv3eQV$9%*xXJt-LflSZjGExFN}|(< zqH$O6v^lrNRP_0#9ZBiYc7(=D&<&cNxfX=yVq7FRV!3}t$93*3SP&7Z9TrL#YTQfd zRy5{XmQcK<6DlF2zsGN~GEAb3Jh60M`z1%kkn~DKZsHLBjX~Y|n%sLPhlOLm3tt^E zUVU+sOU%KpK;@Bq=et!GfauMYp_SwTnEZ~z8z>jYzcwV+7bc&^)8Aulpz*FM9a|yl%bEJETHK5|Q~rcmh*+R%_?dw?_y_FyZANw7 zi$GW?QE9m|XP-O`KUL=yGtZobT$tC^-65C=bE0W4P}hMtGE1REa$ILQzgQ&KLVJ9o zjF0!#V0E!bYdygH>fy5=p0AJpJsEfMo!+aru+Csrk54cXWUs@C}lWFaUPTF2iu885DyV zO#YQ^8GfEC8wv*KNaD_zP3x!Pt2)tp_2L&p{ML8ESK%q(^#wZN16sjLRrO8Wcdb#T z!E#38kyG!JYj#PgV&RjLHj*Q9ZPUPk@a&9A4!G@-C5oq1O*o!1YU<| z%A8n{55FyrtDKxdUkIOY>C84>FH7XO2VQY$GJN_llP7jw(Sf8i1?VfCNBDeb2Bo=v zdGAC?ZVP8YzR}YD&5K z;mZtV>|v=(-G6EJaE1(cs#DS1ecuvo(2>4Ep&T2W*l`~^ZLXx(u`eU_Ok6voQv2z~ zmRllFJu_AiO$hdU_$M11spEKLVmf?}|EF-PrjND|uM79gPf@{$^rG`kxpxjKbfbCw zg1Pe8unU*YlVXtT$HK8c>7nQRic!8^kc3Y>FX=ueRliLz5)+bO&#y5A{!Fr)u zZ>U=LJY<8s*G71~LNS$yn zeEJ@0@5(17tcaBcbUsx9rw;$tK5TcE*{e!wP2;pk9&V=im} zC@u6fs-QCD!Fm9lD!kZcQna~_##`EvF~FB?>9Rn~Z9(9^mA!55sl=4K*M+O;Vl zr8tf!9<#3TnqC5Ubsyk=9G!(*)9?4j-`im1=mtrpI|L*KNJ~nGjFeJZX||CAR4@P) zkWdjs2?;@JG)Rkl2#HY=(m7zT-@dQJQBZUx%FevYBsqqx#Zoa#cLA?U5LubRX|1D@ycz{^KxBm)U3VH>%v|?7Cv;B zj}nc{xzFMqXy(my@b})N=AD@|htlXcD0r9@5ar79z|NczEvoChTOMegk*NlmgjJ@P zPsCEda6c!ZjXj@A77~_PhiLMWFmcB1I%&<+WhUb~=hm65~Vug%csqK;zL(T#G+2l^gg7`*mxDODk-3 z@+QzvW|AHNByJILhG2XTrJYCa)&6nTOU-YJJv9vRIeIQx!tz2Mh2eI#k6JMB@>{nQ ztHwF8Pd^E_t8tr%E%LUI%UwPS4C&Z@fQ*MSD2iTTs7H0*&gPQF{69k6GQQLE;#2~Z zQou?wN26vuqumv_aVX4H-(aezls^>3YSz#iz@$Eoe#Nvi=7fC)-D~FlQ4=3l4BwrS z;Q%yVh{3l{H-2kK-x;M|39n324tdVsTr#8B@^2aw=8-!oh}b*O03V5Vv*bu8N|b^$0&v0$F{JwsU61&MI|pj^Q+Y~w|A&}WNoOY|@`^=kaDz9@ zRi5%5w{wR$3Z4pOc*E|u?>|Jdw0)KC58SUhRj0@ZR%%qBM>xr86u#>j7s#J#`sABA zIvUV}Wt!WHPrWw+d=3$5m&^SBeA#39+g!Dps~9f@V$sXw+$*!Ri+JZW82d(7PlniJ zzhuXO#;B;XG6CP!TegG7A{f<-v?fzjJOk0Ahe z!llw-Q!+x3(U0Wg-d(#{n_j06Unt5S=a;^Q&#Vf6>`I^wh$|#(*14@XmeUS}3*r|1 zrN+A$=DPT4pSAXz|Dq$y&tJ0^d73cD1nCa4O97aVrG4suSny~+>3dL@G5B)DHq2B` zB;J8t*)B`Yia~8g<^xDYDX83D6oMr~L1pcI&8e1Llu%qEicWb(HvxMWsOvLWihHHm z-%;u3==^#W_D&$rB73J0I*NGlmXvwE_lrLON%FE7lg6X1!6Yl1;AanTHG*Sa>J^?G z5>zYl{hJ!QOiyLl0VQjTNsL(o-yh(9(e;PaQI$XL8aIeQNX_|ym{IqW_x6G$6~B(b zFIv|fDmRx7Wzjg2qCdMF^vYKN(;D^>Vr-|fUQNd5Z~6KBd)i2TK<}hU=hwp;hSU$k z*iW9o6<^fR)H>u8%zdX}PRWAVU&sGg!QGK+7f|9?iWDih%w@v0x<|I@qvZq$PV6&|ebuJp)c&k~YLX4i55E0Jo4s}`?DqI$ky>~9 z`N-ci3EjLVejvZh^jPk%d)hB=h(0Vc)xUwLr4CG!BHaIA)HT?dm8-$N!v?{mU9zy> zJC{Hxke_HT2(qxX#t)rD6x|=W{>ssNqpbJihJwZ0n+b@FYiSA$QQAyuuRNFhLqrPw z22{fG3X;p{M(!zoSW$Soz?+=P2A|bjMkkv}m%6Mb``_ntRv^bkJ*NEpJQqAMt=-^z zpuHU>6P6#E5GY<-iYWJ&1-_b}7e0CxOLRAgDEsV>X>mCIQQ`x3PMVG__3X|^oYi%k z@98kckqAXw9K_D_1O2xf$2#4~RHDYYNxx{7UwJh!P|SX1@sC{|!3amwyjJkqWG+sP#r;5Zh+joXY(Uqlk4ZouhYI-+ zuWnA;sZR4q?UQSBKcqM2KeNXg|MZjEgdh@6!wX_6;Gz277Tl&7MX;&lp$?nH8&7cVDb*h<{SpTPQ zw5t25mcPbbu{UF(vU6)mFKos+_V+OpZDiffFBYvW(gbCO+=K7_O!V;0&gH!$Ume?* zpL}w-m3n93c>M5^-Xix$lj1lnQ8u>%A96NGah|m}PfDmCA)d zW8j-SU_$fpeooK{!qbwLe?47myVXI|B$V?es#x;w#$3!t_8oRF1FP5DXmI=lNJDw< zP6aVjhW2akH48rhLHhR~etV@dPEiwnL%3P#F9x_jSdmH=YVounx^y;u$cck(9DF|@ zvPgB3J37>~xoA#3ISfYglvCJIxr4niwP)0Sz;r(02FWb(SSd;Fb$V%fW{2YY1{eyF zG7V$iZq>U3tklrkG_CVj$qLPoQGa{IV9D-v*x4G9IeAa-VE@oMARINq>sb6_gc$g3 zoZ{oZEsJI=45$Aw7eggd@+ba9_*i3g7Ra2y8)GHNKRmISg96~LzQqq`2)^V z?fP@GD>{1LH*Krp73kU~?Ov5cPa04mK7Hf%isV4$o(u^+eW#}Ygd7e-7tgbOMKKbgFA%N}n8)IJPz>Cqfd7-0Jgr&+82tHq+p>>X~y99XUwj%SLVUd)wt69hq z;;&JR3Z*1v$p=_zTpC=&Rg5;^gCuZVUlp_TM2~fx-N)iP2h_s6HQQN5K8Dk!H=pn< zz1(^Af|`2L<#p9)T{ohkBL#{x*BT6Me+|m4EZe}Ozw=^qNaPpW5jj-r3<@2Q?0Liz zU<>RQO|>xD)nG7L&a9&Rl|v`S6E2Au_{d5E;lcHBa-|CqffahGR8WI~IF@sHusy5^!mk*;F&(T!(2J-QXp zww+rKyf;ld#=!p!&)4W;+xu<4o?hxLGQUGNrrvv+ahKE)*oR@6^*|+W51uOE^68A` z{<(7iji!$-3Rn6${lMhKRh*Df9r=VUp94!0A&T;~WWY`?x-ig}7AuDlME>gL(Be-9 zCBBzS@%1ak8YB9HU}YT{O52C=3%rgmI6nnKi5E^WqptC4zW@yG9|pH?@BiO*i#F;w zhXWy8Lqb7#=xXB?Tr#G^PApAX?7HQa-I})cTbhcuC2qCTHKNc$+W`xylYamEh5V4V z920ojA9kBFudxevK`t#`VYGw~pkz?85edE%d}!jfK>Pwpt0EWGS!8zui+&@s#53N0 z<^D*D^iI^pqo{y#O;z^=MAIB>cro)=Fx&pkxwL&GD;E&=@Q%1U=<8as?7uV(F6P0T z8Zd#1`bPSTvM)a%ySM;zwwldOi(IsB&p(vcgXWHv;-PFS`GE zSAWL4jTzk6F_)d*NZGt*#vIC3?4mq?mWO$))p*e&$&uR-rm9t6=!1e*9>I z0*kO z?=Hxx=%M;9t;XN%IXQztg$o1M$fZRiX6Pb4RWSNNtS}sP2o?Eo2xnt)JUbGosCcA} z%%{+K{!v3uWhF!F53BOZ`v@8fe3C7r3AwEtqmNZuY+P9?2RYZWtqiTr#rlo*>;wH_ zHogYqWMmP!Q~6~2Ufo|+_c7MSc&>EdO!?+id|mTX$TW*1Pg{%D|0wFBokzomXn5rd??I98=M>U9ki+z_>Hg{Gc7bU`FHkRMnj|jzso@V#q6OQJO0c0HG5wB7mNt-Wh=); zUE>q6!pr#E_KuEQEnZtm(q})n+jV7Umy-V*Fl#`&i!Q9AJCvq`S5yRKdO?wmk42r= z64QpHOQWZ$E|qwLMv~X-I9kB16*3ZMp%QY-&XJFm_ z8Wum=DJJ_pFRR#pq^rx$v7%6Fx@{B(Es50xeZj>WeO@{_$qTo4S!I5|)v+#x-EXAN zVE^-xSA(wZuc+Js>vZw$FQ27P4?`YJvNgXg>-mH`w7UZNoUaKA;LPGiIvWjyD#eHQ z9-1eESc-#aHZ*}Y+0jFZOqWh|TS^jxBuUqB$V;;nam3t zz*R>1*H0Je6?$%P2S<#-9DIS3R)*i|+ak;%GsJYL?3z!7T%JdHh;xxYmD9b6r&KPc z9*3cO!=VKrx=S_~KczFm5~D_}bfJUcazr;#ihb#NlKb2rv=SL(TTzm6a^#}@A|Gfd zPY>O(pCI!lest4ixNO_oOZ`TUfxT1FwAsY0_TLLBlEJIJLY8MfVgV~HqgUT@Tw+Vj zIJ%6WnZPEiOP@#0uu?0b)HvcX&STq;8 z3(UhZB%&6T$e&ErS#W77Ms9?PEUYA7iJNckCd|H9PCCZrFLHw#s>NM>UT4$(6%W(c zw{xOpF1vYq1|1HB@8xUNnFo5(1>we}E6yE=PU*Ji6+^uMb(n7D#PWy@;ZO-Bf#1DD zY7e{tA&p_D4ImYY1dG$=4C=BTdHTUSx8tF*RzyX@T-NS^9^xkO1gr*MS(+7kZpY?@ zuOA)&>_O$xQBO+)yMP0#4RA-SsT=o-d_5Wa_?$(}0tDnO4xKG$V+hhK+%Dv+7)#IO zcrq3&Snu}YXyJ|)A*d7l)HHW7{}V5{Di&H=EOVp z?~E}Rc4_a%!sXBYMpt0d&H7s9sJS*B8I6t7TiOD1sk8hm*sG$u4a61pL{On8K(g7@ zH!lojRi40|t2!1CRWEeImz}dlnZF~FhW~Y?jkxOK?U@I3ArU`SSnyqTDG>dsVd8>*_>jA`!@V=mYj*)QLQHwo`X9XE1 z60!v2uI*D;-?tKv-bQlTOI9re6c|!f5b*Zg&^tD^n zl>@$SEQ9(IX-|@XZC{&ZNr@lU5~T45xQN11t$QyY0>$4p&0|qD4T>CzSo}4v*>J?dTX1Aip}w6|K5||dkxo;wd#ZC8NgrktJti9e zTYV>+R$FpRi8uK?KQ4+ZBugn0>~sQkMN2%*#lb}2m7BzgP}DWPqmYmPVb^HhQJM@d z00d|kA4)yO)aC6j;CFn6AbJWZ2FVa#58XJ3)j4)aS(4eCO=Zm4V&d7Q*69Y(=Q*t< zjc4=c$)(`FsM44>1Foa6;c zYY#pNq<<1b)O{M=^ZWHDXgi(^}^0 zRrufv${?%j@)p!y{<&>zGfu3NBWFC}=(x_n`N&W6x!P}l$4a~J&sO|P2LY9Yz@r-5 z>?-I=B!lZNBu}Kom8y^`LV)K-C=5l0JWzY6`uC%qQ1Q}ahxlu7f@P7E4*4hI*Uycv z=>A;u_O*;Swhua$kwU^%hn<=S@e2|rG%L~u5C&$Q0~kM$^Q$vRY@Gh-rx=F4#9c$k zYfc($BTQQ5p&-d99Br6@fqoOn>sblf#<1(4)v90&t)6Xav|rc27VbiJ0^nH4s4Urg zL8t$qt_i=+P4`L&hyy)dLDGmGj@hX?wbHEk&4w4O2U!(kE4f%|9(U1Wv+TPRfWMFW zSu_UpR&?}H@cWTPJ5MM~al_m+$?e zsu#tr|61g_WH^CV9HH&3F--}rT)dZ_O~RKR{Hrqdr{A~e@@*}Brx^^vnc{SAo%H*F zk3VVPLX$qUg|`tFt_Vb)m)fE;t3{VYUrR!t7z7$*EDN~vh=lHW2Tk8_ek>W1!l9-6 zgN~+*@Nn(YB9HsSl8l!qa|YX+5Qz2l7yQ|f`>(&mG4X2bd%2zS4FFRbpv3qr^p|o8 z@bhvKVdw2@Xw@$n%DKw3{ei?FMTpnYAWb8)vK79F?B5r4c;WzK07VlfWM&~!8S4`KK zMN_@0sY(*PbW7#g-|@dB693X-3i2U5SIGrUjT-nLgj#I>syk54Z$-Gn+0!7J3aTWGwQMdYJO zBVU}+=38-#wn7PtR_Sx2xP&%P53lWTKxA(tj-e6wEqdA>}elRO@XeerOQ%54xt$H^#Z48?-!kr52E`h2=vJ z-(u;eW~ZNc;@yIZuVK@ZAWk@rP%M`GjxcWxwe^gUu@M;ovzYgY?1$wT|EyCNtovi)kao2G(@~DSkf3PEqjCOe@uqe;%`Mi!eg#27{th^&@VGpw> zQn*z3dF(xkl!zC3-zCGLHP6He=ot`el15Z# zK3$y}p+B)N9j)=KE?51i_ZTo++9yOQ*Jeemza;@AcV-V}=0pNQ1mVlih}MN{P#9V@5|dqla5Tz z#LNPTepm~u9wONY(8b_oDrt*KZ^u)0t%W!;BuN*;r!!I{Pxx<>1OuN>ygh6qJVqzI zQz8t-tMG*c6h+B-!qJoFpr6neO`VL$ycI6!s!SyAf%Fxf6yfn|sO>aRTPW2IeLwU%Z&O^OU}P)5OTF(p8dCjo&HLra?aJ27s~G<8#dydFe{--5w0Y3gou>T zL94TyhQF=Oh1(%0H#N_BQQ$>5k7wC3KU)vi(&i{OW6S&DZ zdfoLoOj|KYy@%m<8L9=T)czsUFbbm_D*J@>*~C`j>Dc2J=8%$q_?q{dJU zm%{u8q;h{>XAGqLBG+_|iKVS7HTCG+qeVbeZ6!g${Ap`Bnue!aj8VItABiYc2g|m4>iJ+Bgex>;4Cl*j@ zc+49)^r|1=-ETWj`z?;IMD6^A7w}{^L*R86(T73F;|JH7N8iN*}Tcc6-xm61N#*=$j2L#+8@dpFmg-6(Z{)x*$l>4x41WB~*nGLwV!yv9U*W^S_;$0~ zkL*g}TT3Zq&j*&^VlS>GGdqw~pC9J&j|lZX_rT-5qMl&oVzvi_;VTaxX-~rV@b?ZJ z9zC}XFASy`|8L{Ol+StoFZ#VL!Qn0F*>diMO4?rH)4UH|1z*Bug!!+7Lx@lKuM~8+ zGEKB}z4ftlv@%Y$Pf<#!nDXWk{x`z1d=-w^q+Y%UXDUHH;KPh7N8zgD<+!No%sb{} zHQg*E+Q(g+*v9jeNQj|GM@|t`tGm)PEXkW}grC|uomrSg?LZ#Hm!7%yEO&1x{eDo# zW z9V;u6HxrqRKsrRe@&iQIBm*0%dM+lRyChG>!CT9o9N1v}BR^7^gyQMkV~UK+VmE%) z;9A&8AII19AR=QGv?xf^MN1JtUU=li$Ae%;y}wCtC_=f^qdkG%uRmF|R5&|TF=@4H_ zc#+dAJG%2JXUq0#f3OLOHLs{w9OXqVy?0Uhp$Vi|;tj~g_-^1Xg}}v(3>a0O0c{0_ z>TWY~?+0Ut=o;u#t#X@&FEdU-4nhLDZcm?PTdpWT`XUngz}$J|vt;zw-u$ay(DepU zv@+t1Cn*-5LM@mp57H&;K~-Y~uiH0Nmdvw3&0iRzU-$B47rX=_sNg3gZF)OMIc(wr zyG%QGEQVdCTt3}QDNnf!@|2=ph==n@$Q-?YGIdO=6)zWWU#9h(R?$Rjj%%H>LvNy4 zOP(xvt;prpC<*X0rAVt4t^B^l2NvUhDDtS{v>=RGE4)8eD4#qiN1>ywwN`$s=@lFF z=TF%*4HCZLZ-=qqPLPSGWr~so?7~_!QO25RrF*2i)e+m#KWJexmfqRSJpB!y;ali% zMt*&)MmH6aNSqRg8CrBE-2h|cQeK*`dFd#T6;HmtdEW5nB&_a=w%oslzg__)uTe`n*%0u*vEiAq|b$Sr?a-%id2rRF17U6 zC&1!TTGdT_HI46ip1DUi-xz;fr3@WGcfa6wyb{XfYM(0P_s0IRZ8WrQU9Y|EI)|2| zO9uk)7N0sx-_Z|qDOK4>p1%)oxPP00&fn1K_*I1JAiv}URm+kcmYFVP-=F@ravc4~ zPt8GF4)Cq-Nft+pDw#AvKzA%wIFv#474wiA^gr5KM~FL_yP!&$8>M48bWIWC$4FaG z^|pyY$prn7uVVd8%Jb`P$K|-)By2RkD={61M}cA?DfDvS`58jz$7bN+Z_Lz zWB60GO`ID{>+|`bI!^bA0Ae-{VR?LZ_3kNAhN?>e)p@@ipo}0gpb1U0K;GO^!e<(n z^}y5d!?VsJ%zZM9Kw*=$c{&wg{ zU0#YEAHH4ChUf#K3|<{cM1=3B?g>aOGNTdpoVN)tK)PX+|I%Ex{!OggA+^_QH(z=r z3excIdM|Q|N)(F`-V5umPcy*MPB5uQ$C7S(Bjy)z`s-;zA(X13TBbn8#eTyiPsh|& z%6P82Me0Ot%}roj2(%Zi6ZSoChCz@eGC4oU>|Fw_~r5+p^96t zjbfqUf^2d3_Q?wp?fED0+fcvoCDfg>U2Y-`O=4Lof$Ie9-+M#X9)>EAKjIFy^d{FC zzb-lY_z^57Xe2zT?S$F+`hLw<>>W5&uxcQ6aL#yVMj_RaFDEu~X4#(-IY!Gr_);vb zKn^AOKYOb}q|3VmP_t*+UyR?n0fR)d^}f^$6sr^E)uBxY3c2`6hmHmDR~*c9$@k~`q#g9G)|M6=voU0uE8`Ll8M{t(Hi(VyzDOuw}KnA z(fj}A(h>h$oX9}$cpjdtu5-7eRfG$(pj{IQ@8hX>JnUeKGx0A6GczB;bceefG+w8J zIP`rqr2Sq4Z*_6TbcAPLdfv>xUAc!$9R~l`BGmWvx53VBNLA5#r!Jn|_F$BZ;SOmk zqnKFG6H2%H@?o=M-f*Vs$E6QomMDGQQoNhq@h2$1mN;=>NzSQ%?1A7phX2aYdGStW znv8x7oBp1p;}RUpfd!R6puE^?pogEj+@aKCN$mUw3Gz$lJD_VUI%uZn`q?}>!IAj9 z0x+RFYu98X`>sK&sk}rrex#Mncj=-YmAJ-u@YW$_yDO7Exrq?eBnQA&<4Un3k!OY6 z&jJrR+C^fkylu2f4;W3K?-~Jq(3{f?x>hQM@`(wKp`fSJ*ykKy+k+>Vis!Kw)oHHj z&uQJih+ZF{Eq0`$ah8hVn*Xt!8+`S9GX6Vh{lwOpBc{oZhA8(|Yn5DoRxU}VSl}uY zPiRyWjEgn%-pkW5>(OFrg7%Km8g`3}6<~-y_4b$A?Tpus5|Q@gWq69AkS~)=S0IIq zcX*F#bJ@g}Y|1S;=8mdAX+4?TiMRb@gI0`Wc#u5?u%$sdcwX!n&02UQju7xBRIMe5 z4gQ!35z2yy#v9S|bRnDA;l0xS_Wbe124gdx`#Waf=&)aC7kP#?$o><4KYjiWpzLM2 z8Au&fo}4S$17pJ|aon5cS2T!)BQMQ!nKvZ05Kcwy`}sqGZ<6>+8i|gRLviL&);960 zg3ey=anJpNeumKoI3Gmiomg+I*olNVaTcbq4W`c7@?Och#93ys+80>Ay5V#7%mc;A6W_D3JxeC1Yh>UX|~H%~J0`dCace z=7~ss+!x~&$2{YznSxPf1V%<{fl z(u_p;;$;)>aye3^wrk0bs8sZc$YiDU7(ZgU0^7Vo=&}%1i_XXWMlc9@R9F_yXkkP> zT;2$(^&V+UNGp(pxF+#U0+R9gHCG_|L8u60_3mJ51>Sn)CRBr&Vd|qBG@6zR)hCbz zTK~$1;ZCi+$ iOZ-XpWSHu@P!*R#Ld2gJHcR2oeMx+p&pO}-|MXl=6n^MU9a%8& zkvGtAF7g#17=y)?FGS0UjkQ%QXCtMSy)iM*xKI{nPpyf|T!xkfg+f;(!!O-&;zi05 z2a5L#Xv^y8h~IQ#nJO+Y9$KXaeJf}uq+ZET;{)9EfEFGHIxrj7N{u>6Mf8_wh^o7f zo00WCoayXH9Mtk*9OjTEZ^_4`eQ-_MW>s5kuj6yVF~|Lly~M&Zf0G>uHu0 z;ZGS`vC~;xB>x7z1c?EJ8@K)(_Iu1C;l+H z4!xq|w?^gAjbB)NINKTXS%R#06NSE_-Jb1pqW{C~)&3_d_jo`yG=Mb*+1-R1I4k#J zyF9)Ra^j^5CblOTO6*-@xp*Z>pj?#<5l#kKR4XjO-|*U|@$y;8*LonW3uL-uH4oC8 zB{426ntIM_>`Bi~>AejUbI$1Gv#v6YoCp^a9m)nZlPG-mUIZ z_SX-P@f(D?ztQ@liwzKqOVu7AD;_l>dk`I@vo@RX@|FU)MPSMIYf&+)j&~@oY=$|A z7`RZ2{d6uIoiN%KqFr%fxH2J1urbV31`6{`$CXi5Tt3qK8yu*sLUUiheHEF?3RePb zvPSOzca#)I%*1M2J!y5ZIX>OAj*|NDQGMc&M6>m;{Vo+-r|b@v*&KwPtk*%g?iYR! zXO!Id6z@9wN(9E*;6K(hgny_%~X}z}EBKN`?R1=uOkb2014^w`O3b2`fNA3Wly| zB3s~0jkjr0bY%PK$7acmwG=|LHxy!4wy1snc4rKiEQP%dnKH;Z`(^aImyfGmYnM+d zrm#7WihAs@!&?Hr=Q+Si%rquYLkvG0aAPiBG<@Z<537=%J&!3~QWoEQ*l7IM9c+{f zTYs%R=;rnWT@+=m{l(g~kL(Lhy@@N%=;XYTnCtaz(Yt~>@e1;OfEdEK6LU+QgmM4q z4-6g^%;wPYd%S~Ye)IwuO(7QPL|G3YW-Eh4NWQZK&BWll(3Xt_r^YHzC8R$~Io%h^M|u3n07 zLP1)+z)ATsT;pku!+>&c0O&Wg>P}Zj;Mk4cd$##?=REnx;eVFs&Pq!s)=AD?#x27R z6aIIMRYo|5rf_}(#X%pW%p_wmQvO}o3 zF3_U~kWBNaj)ic2rq)4U!4t*IM5K-)#Fntp1@Ql^cM0A!zlhBOHGgOqfGzT|bjj$& zEjB_*I5gUz(ULuuc2T|ynzz4Dw{^0a%6A2X^|70;gesx8ga3jKA5zp-=(GG2*EM+Z zKs4<+-S4Wus0{954RYjVU?oMxW!E*A%ZUrfvrD#y1r5sCk39Hsg$;`seJ|isEv*)Y zSi7{m?2*c)WxY`F8pPw-HNpirZJ)mV8wfaBB6C3dF*P$E2A-7{>C>$*nbw)FlHy3C2NxM$lp zT}ZAh7JLk8J4-^l{r##1>}ucC!)|@kc8hZCvMw{8{&!z2ykS@RGr{pI_WS5u2%M6q z9zekBn4rhBC~G1K#pJ;Wkl_8+7mXZ%1gRbTdkNtKv7m8j=jk#pZ#FfO++PrbGDuKe z|CTjnC}{XW14H7arK~v5lT}v7?n|?_MZFyDjOmK(-XQH!;KFY8hi#Juso#4D6fzLU zXuUGby9>$!ffQI8kz{#@%Z`15pB5;%9-u%k5pmM0GMKI-bdsLXd<~j9J<`k2)MqOg z29n4AsmClS|B$b`?a^B})?Ro%*b#e6xNu(ggUaeu2^YuAD>YhXE`CRWm@e?2VNF;Y zk&uD9ICDZBM(^I;FaJ)n7Dw6eLMjN(rPY(F7}U$$_5jdXC2hjtz%xQ3`nB3*sP7E` zC%LuLmDJUG-2*&wkpc*-7idx)>i(&J~^2Mt0n7VnSA1)1q`P zUgQ@w!^tJMVT&FJ|BpKGRz3J}5h(GQm#)Q%F(ks_(>Y(N8$h9OY|8%*|45?E71;b~ zu3Mq>+rvn|&b$P~QAW7?<+~I^6r$64n168MCd!_j^G%?W>ro|Fsw+(}^V!tMJY;s5 z*ksUM`IrWDDuLg>>MT$o#QDNYm&yoHC2g`&IKMGxD%p}v` z@voKOKj6iTci-4=w6AejmBt94HXY~}M1NjWmS?#R=WqvmM=+~|J*kCM|F41UhR#VO zEz7!072~J)_E%-^4k;91SJ^W_b~>)k5&hLDkK(!?n52ZTzo0sCDtd>3r?4VLZ^YeW z#tRsMZ6p4SWmSBhJSUDb3fC`jZVptd^7m zz(fqZbXTDF8;;)cD3=jweIx?S6yU~cldANBfnN;Bdi2l0UzO)?E%_oX`R`9;c!2+` zO)ZGL=aTsd>XMIFMc5eTL;vn6Q~mwTwxUI{wf4R{_cbO^_% zugBdM&g^P0>>yjBrG#w@S`(#iKZJ;?9IMByBS;YjZ_&7MrTPX)D~LW(!{$5CRO;<} zzsFze0_eIiSMGHpmsfG1`csjmg`68SNW|l?iOF)j8t3{<>(Qrr&&8T7MES44@49w` z?R4u!cB|Qb`S^!4vh1YRRRxDHcD)re@ypGpfYpo#37x+fNJ0NON0y-%@<#Zt6aHSq zKEy+V&T?@|qF2N&62-6!IQho`M4HgL7Cgfr)4G0|0VKydGQ0p?ykK|}=t2KebHQz` zZ_3ow_Zj~A8HdUO3z{?!qJ6Is+5#^@LHV$ zh`TPR!8}zKe)susE69|&3eEfno#(;5c#1r;!%nwGX9OM?l~CcG3G@d|Ja7}$DkjYY z_sUzPZor2%J3FM@$*u=!pA>w4;pJD2t#M{z`mHR4BGB@)ZLWBn&Hkm;cFw)pk$gz# zw33f3YnL&&dIk*nlbVu=D3}FTI$SX0q_<2`;b)(iQdYe>h%qujy_47iKEo6b(Q{M> zU_F6EX5S@&S{S-3mG>0<05!7uf7X}Vq;c|SIU)Q`MgfKsllzKPn}s?E{+5rwcT0rL zcjtPowniG!pW|@%VxbMPqZY_Mym{xCKvVmO!xR_l1BN3hf<*r7$hAEBM|U4(b%$Wt zF=G7SDg60nn+EjHm*A-A^1 z#sL?4p-@DY#5X1nR8QJjU#Z#>uW?;>ykxamxOFYWG9|odui#G(m09ptlGttQ zF5fqaKT|IXeoQXB1Aa`ncmd(d=W*Yj@Xv4bJFyGEaB?JV_U8PfJGwui0ae2^m{^giJG9Sd#<+5o-tc12^da{M+7y3d~2a`~r<(p1{GulseKCfBobFh!v?)A65#lTI$)%SA z&p?aX5-}m>H}j_QVJ=1l;lC@q&28f!S_T4B+NauVbU)1mTBahdZ7cg$*=Hfg!JOC< zmBC)JdcVT?OO;*;n4YZm?;U$`xOyE8FM+k^vX?KrJkHN)_nJIAgEyqD2Qgo%iIHlL zilEdZ7KmQi)|2?AZKART=mlFC^Ar!H{!<3)Df^Fuwkq8Rj@WxiTfFgKRjKkF)fdnqcYKf@MEr>a2P_+3T{0POZ#Eq|fvctL&seus=P714 zhW4;7+%bpU4;s=)4Bb-Ylh+<5hf?PcQiTYnRFp`~r3Ftby@37DzmkZXQWjiO+2spt zxaE^;<%{7I@6g|`xEA=}1pCjM3ljrLD>)bAZMq70@gR!HPN&BXi^x&nEvfTfc96T~ z24t_04zQ8-AWU=e5FDNW8uT_0cuB2aUm3rq(@OG#1LPYryhq4a^e%YP7IwOgpy0a=nff+F z*7-I!%H8^E=s*0R(s@lectoTxUzl(vDbmvn7)dwmMJ#q7?`>OM;Ev%@ELOPXvbmVk z7$>ZO2CntY3>SAIhC9gUxcu{VZ~Ec=2u9B5U4hT8UB2`MmR`&r)}I9{V~9y-_2jC! zjy37!{es7VsFbUXaqQ*hKdhIgK-Z<~=2pw^7jE_yVEC0NSGzY_t%<^=rW0DASN|SQ z@%?R9f@aHc?4y;8x{6BnWkl5wf-u4e>A$DWR({RU6^@SmC*FV(-b=_g@8E7bh{Ij2 z@vSb@Owo}xVRN@RqHOqCG8gy}v1&oYD`o5iOXuZ9LA-h4p7H~^&WBrvo%)|+i=Pvd zu2U7ngCnHFgB_$3ZY$0hsq=Q062CG>;{=$F|1V+$o%?_MH!0z#ZV4Cx`OC%P8|I%M z2JU~q0bJ`%c;(JD@RwVykcHx|-fRJ{?yyf_(G4I+X0Z)`{co#Tgme%_;df)T-?D8D zeDTC?c->F`4!HmN4sdusCH&NFZuW*OT!1EjD-x#ovIbz_Zu}Aa3q?KKGt6fDnGqeOUDm zZd(WcxbJy*8!_ede*^BZN0_tqLaE_i>b3x>Aj}L5SNt<@zs8Ew+X46Oe-{3D$69zC zqv)aMt0 zpCq0W$>9aMm@HC4prXfkU$S`>Sa)uK&+Xp?50NF?-#iA~<6lS(_ENWHHYXtb7gnSd zKj!xqoH+om-TN$j2;acJ!pM3U&7cF{)b3;$z_U5ai+LGzX0xsp9k(Q9{}#`VR!)h)%R{)3;&33 z@MnJevzMcx-rKHS9xvwQm!A!uTL__$m?*aGYzXk4#@5L(iFZ8)r;G6tS`(A)gY*`Jz*t{CHqajoZ zhTy%M3_ybaeuCJtOrhW#H?4&uo7TX}ozKFT4sL^YR#(FPkADfc?>++DzkG@LbJ}50 z{5(^))a{OI6V&P8Xa9iJ?NQ)>e_R#q$}puIX+8XM$FuOaFFp%@y6Xja2*0OSrD2@^#dmqZ|M1Jeed3R0!HY(jIt@2< zyQk8Dh-e65JU)u8!nZ#S+~X*c|9A|zv|sX(c(@-P*#0!UaqlL0_s(bFQ+qeVW7s$U z7R9%I>v}kXRrV_0uSbCnqPRUtGyqb~$DhfC)@N5i>6Rzq)bnfL1$-_Izm}iueh&V2 z#|HQS@|LoEcpYhReuqZ(n;!%Bs~-UOt-sxjOihL|59G P00000NkvXXu0mjfzPnDG literal 0 HcmV?d00001 diff --git a/hiddifypanel/static/apps-icon/cmfa.ico b/hiddifypanel/static/apps-icon/cmfa.ico new file mode 100644 index 0000000000000000000000000000000000000000..31bc79f1afd5c0e5b954d3c1d0cf981a7c9b17bf GIT binary patch literal 17956 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 literal 0 HcmV?d00001 From a6837ee7f448962028fd54695e6c4a0f23e73660 Mon Sep 17 00:00:00 2001 From: legiz-ru Date: Sat, 4 Jan 2025 03:33:55 +0300 Subject: [PATCH 2/2] add mihomo and fix sb fix subname for sing-box app add clash meta for android add clash verge rev --- .../commercial/restapi/v2/user/apps_api.py | 82 +++++++++++++++++-- 1 file changed, 76 insertions(+), 6 deletions(-) diff --git a/hiddifypanel/panel/commercial/restapi/v2/user/apps_api.py b/hiddifypanel/panel/commercial/restapi/v2/user/apps_api.py index eb8cd777..67fb2813 100644 --- a/hiddifypanel/panel/commercial/restapi/v2/user/apps_api.py +++ b/hiddifypanel/panel/commercial/restapi/v2/user/apps_api.py @@ -111,15 +111,17 @@ def get(self, data): singbox_dto = self.__get_singbox_app_dto() # hiddifyng_dto = self.__get_hiddifyng_app_dto() v2rayng_dto = self.__get_v2rayng_app_dto() + cmfa_dto = self.__get_cmfa_app_dto() # hiddify_clash_android_dto = self.__get_hiddify_clash_android_app_dto() nekobox_dto = self.__get_nekobox_app_dto() - apps_data += ([hiddify_next_dto, singbox_dto, v2rayng_dto, nekobox_dto]) + apps_data += ([hiddify_next_dto, singbox_dto, v2rayng_dto, cmfa_dto, nekobox_dto]) case Platform.windows: hiddify_next_dto = self.__get_hiddify_next_app_dto() + clash_verge_rev_dto = self.__get_clash_verge_rev_app_dto() # hiddify_clash_dto = self.__get_hiddify_clash_desktop_app_dto() # hiddifyn_dto = self.__get_hiddifyn_app_dto() v2rayn_dto = self.__get_v2rayn_app_dto() - apps_data += ([hiddify_next_dto, v2rayn_dto]) + apps_data += ([hiddify_next_dto, v2rayn_dto, clash_verge_rev_dto ]) case Platform.ios: hiddify_next_dto = self.__get_hiddify_next_app_dto() singbox_dto = self.__get_singbox_app_dto() @@ -131,13 +133,15 @@ def get(self, data): apps_data += ([hiddify_next_dto, singbox_dto, streisand_dto, stash_dto, shadowrocket_dto, foxray_dto, loon_dto]) case Platform.linux: hiddify_next_dto = self.__get_hiddify_next_app_dto() + clash_verge_rev_dto = self.__get_clash_verge_rev_app_dto() # hiddify_clash_dto = self.__get_hiddify_clash_desktop_app_dto() - apps_data += ([hiddify_next_dto]) + apps_data += ([hiddify_next_dto, clash_verge_rev_dto ]) case Platform.mac: hiddify_next_dto = self.__get_hiddify_next_app_dto() singbox_dto = self.__get_singbox_app_dto() + clash_verge_rev_dto = self.__get_clash_verge_rev_app_dto() # hiddify_clash_dto = self.__get_hiddify_clash_desktop_app_dto() - apps_data += ([hiddify_next_dto, singbox_dto]) + apps_data += ([hiddify_next_dto, singbox_dto, clash_verge_rev_dto ]) return apps_data @@ -168,11 +172,13 @@ def __get_all_apps_dto(self): stash_app_dto = self.__get_stash_app_dto() # hiddify_clash_app_dto = self.__get_hiddify_clash_desktop_app_dto() singbox_app_dto = self.__get_singbox_app_dto() + cmfa_app_dto = self.__get_cmfa_app_dto() + clash_verge_rev_app_dto = self.__get_clash_verge_rev_app_dto() hiddify_next_app_dto = self.__get_hiddify_next_app_dto() return [ v2rayn_app_dto, v2rayng_app_dto, foxray_app_dto, shadowrocket_app_dto, streisand_app_dto, - loon_app_dto, stash_app_dto, singbox_app_dto, hiddify_next_app_dto + loon_app_dto, stash_app_dto, singbox_app_dto, cmfa_app_dto, clash_verge_rev_app_dto, hiddify_next_app_dto ] def __get_app_icon_url(self, app_name): @@ -182,6 +188,10 @@ def __get_app_icon_url(self, app_name): url = base + static_url_for(filename='apps-icon/hiddify_next.ico') elif app_name == _('app.singbox.title'): url = base + static_url_for(filename='apps-icon/singbox.ico') + elif app_name == _('app.cmfa.title'): + url = base + static_url_for(filename='apps-icon/cmfa.ico') + elif app_name == _('app.clash_verge_rev.title'): + url = base + static_url_for(filename='apps-icon/clash_verge_rev.ico') elif app_name == _('app.hiddifyn.title'): url = base + static_url_for(filename='apps-icon/hiddifyn.ico') elif app_name == _('app.v2rayng.title'): @@ -356,7 +366,7 @@ def __get_singbox_app_dto(self): dto.description = _('app.singbox.description') dto.icon_url = self.__get_app_icon_url(_('app.singbox.title')) dto.guide_url = '' - dto.deeplink = f'sing-box://import-remote-profile/?url={self.user_panel_url}' + dto.deeplink = f'sing-box://import-remote-profile/?url={self.user_panel_url}#{self.profile_title}' # availabe installatoin types installation_types = [] @@ -409,6 +419,66 @@ def remove_v_from_filename(url): dto.install = install_dtos return dto + def __get_clash_verge_rev_app_dto(self): + dto = AppSchema() + dto.title = _('app.clash_verge_rev.title') + dto.description = _('app.clash_verge_rev.description') + dto.icon_url = self.__get_app_icon_url(_('app.clash_verge_rev.title')) + dto.guide_url = '' + dto.deeplink = f'clash://install-config/?url={self.user_panel_encoded_url}&name={self.profile_title}' + + # availabe installatoin types + installation_types = [] + if self.platform == Platform.all: + installation_types = [AppInstallType.setup, AppInstallType.appimage, AppInstallType.dmg] + else: + match self.platform: + case Platform.windows: + installation_types = [AppInstallType.setup] + case Platform.linux: + installation_types = [AppInstallType.appimage] + case Platform.mac: + installation_types = [AppInstallType.dmg] + + install_dtos = [] + for install_type in installation_types: + install_dto = AppInstall() + ins_url = '' + match install_type: + case AppInstallType.appimage: + ins_url = 'https://www.clashverge.dev/install.html#__tabbed_1_2' + case AppInstallType.setup: + ins_url = 'https://www.clashverge.dev/install.html#__tabbed_1_1' + case AppInstallType.dmg: + ins_url = 'https://www.clashverge.dev/install.html#__tabbed_1_3' + + install_dto = self.__get_app_install_dto(install_type, ins_url) + install_dtos.append(install_dto) + + dto.install = install_dtos + return dto + + def __get_cmfa_app_dto(self): + dto = AppSchema() + dto.title = _('app.cmfa.title') + dto.description = _('app.cmfa.description') + dto.icon_url = self.__get_app_icon_url(_('app.cmfa.title')) + dto.guide_url = '' + dto.deeplink = f'clash://install-config/?url={self.user_panel_encoded_url}&name={self.profile_title}' + + latest_url, version = get_latest_release_url(f'https://github.com/MetaCubeX/ClashMetaForAndroid') + ins_url = latest_url.split('releases/')[0] + f'releases/download/{version}/cmfa-{version}-meta-universal-release.apk' + def remove_v_from_filename(url): + parts = url.split('/') + filename = parts[-1] + new_filename = filename.replace('cmfa-v', 'cmfa-') + parts[-1] = new_filename + new_url = '/'.join(parts) + return new_url + ins_url = remove_v_from_filename(ins_url) + dto.install = [self.__get_app_install_dto(AppInstallType.apk, ins_url)] + return dto + def __get_hiddify_next_app_dto(self): dto = AppSchema() dto.title = _('app.hiddify.next.title')