From 0811db60d105da203a4a0bcc2273e67658ae4e21 Mon Sep 17 00:00:00 2001 From: mglae Date: Sun, 27 Oct 2024 00:47:14 +0200 Subject: [PATCH] ntfs3g: new addon "ntfs-3g for udevil" --- packages/addons/service/ntfs3g/changelog.txt | 1 + packages/addons/service/ntfs3g/icon/icon.png | Bin 0 -> 36782 bytes packages/addons/service/ntfs3g/package.mk | 26 ++++++++++++++++++ .../service/ntfs3g/source/bin/mount.ntfs3g | 6 ++++ .../addons/service/ntfs3g/source/default.py | 20 ++++++++++++++ .../source/system.d/service.ntfs3g.service | 12 ++++++++ 6 files changed, 65 insertions(+) create mode 100644 packages/addons/service/ntfs3g/changelog.txt create mode 100644 packages/addons/service/ntfs3g/icon/icon.png create mode 100644 packages/addons/service/ntfs3g/package.mk create mode 100755 packages/addons/service/ntfs3g/source/bin/mount.ntfs3g create mode 100644 packages/addons/service/ntfs3g/source/default.py create mode 100644 packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service diff --git a/packages/addons/service/ntfs3g/changelog.txt b/packages/addons/service/ntfs3g/changelog.txt new file mode 100644 index 0000000000..927b2407d4 --- /dev/null +++ b/packages/addons/service/ntfs3g/changelog.txt @@ -0,0 +1 @@ +initial release diff --git a/packages/addons/service/ntfs3g/icon/icon.png b/packages/addons/service/ntfs3g/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..36b91022493653c5b7e35ba18a66c9ecd9cc4269 GIT binary patch literal 36782 zcmV)6K*+y|P)yb&!-TX?0Q5Vab$COJ3RE+Fq@!PulfbE3dS=Wy!KF*_K4^ zN)$y}0&jr0L12Ix%-ubGcURY4c|~lVk&#DLS9Mo)S5;?n*r>|NjEszk_s4rLUi=T< zd+)uViw6XN^jb;r(RWAO`Gegptrvv4{7R%*9XnLgppJ$3XruGv_S%7=NVczkw+pah z0NSKD#R^6H?G=MoSHQcch9Zh5sTiH(Rvs)BnC#RGZbO@(9hNHC=VK$b?_zX}UvL}S z1ocC!ka%#%mQ2srDV~+Kqs39&LYr>8c!UldmPOZTpk~2d@!3SR8D>oyhh|@FspG{nzoW9o0y%CwqM-1}fT?cN&;s345yZc9}I0x5_S?y}JWgyJ}dHe(n8O zafy$C5Ej%M^0X@_i|y?FSaFGufjCfa$Wy1`qtgHr%X>WI#IMo|b?(bJEYg81;$v40 zcQQDyO9oA1+v;A_TjQ$Z)qs5SV_hG_Q^8IZ-<{!(`m+PNAW++@nC)J5Xji)z z$xijzz-);`@#yO-^ng9uNwJOCldwJrTO#3ZFbTUakZ@;4BI(W6=oNv8H-ZnILP7co zuwbt|iNw0)w!b{=&x*mOm-OLA@SYN0)Z3LL115vJa+=@lV|%tsTG$9q;t|)|TXVYI z3$c%60MI%1c*aMs0al-n^%xi9V;3KNF#HG4hqa|fk9B~S8#u=H!9$cj82&vDSY#j@ zy}u_#5@Y+0bx+*raacp29~}S~oppNRILPM4%-Ye9Oy zd17m>7n=qRRByq)7VKR#$HG3XcYN&hfd)!AV&LhMIhOQkz2hSWtc`K1{|6Zy>`KLI zORQ^e*TECgt9Y=x`0n7gzcA@oU3OpSTdb&UwevUIh$x;gdt*8x{XYhGi_Q?ERf~-X zyU>WJL0K_qbp^ahZ&V{bVnEu4M(jpI_QWb79Q47vprAw#gwyDpvz2Jt|Hg9?K+ zXOsS@G}(n+6B`=41F&E}woiQYr3A$TXi#B&8v%>N@l>%P(-jHoFva|CiudTdfrPfP zO=1}8@fi=st%2d;?aJw7@KSOcWO#@hJyqhky(1E$~hJYbQ*X-^W5tDUO` z+$Ap^tM9Q%7~2c|*$!k|>$KqmHW67B&rSVj62?k!HwO)j+i%+xv!0Et+M&4#_Q9}0 zyJ_HW+khaOuOjL9_UXb4Zm(jtd)1*{Zd%g!fJJs{Q1r=`$k-a*X7qqP+DU_@v+n|v zu*12LVfup@2Z@9fRjB#qGT7QElk+`R}{pGvU`K|aA z(ayj5M!&+1YZxzJZ@+0k222KbOTTsGA*6fHfxT@Kwy@Kj#6!BLz%j)9NPEt^py0JLdq1j~;au#DLYG{k9!Q)cpEQykJYWP@D=pm$Zg!@u1t` zvDf7%^Sixs`(4N0EH<$}34)Lic%UicL)jz`L9INR8y-J)`swGMNs6d0E4nPd=WP!R zjqO2Nb$R}p1`vQqB3hDY1QW9;xdvq!AQX58KpaS=fxsD`b;wnqpc9he`H_9cHN;)M z_^s#PygD>ARIFA<#`hjOa5#VYl?nkWpU@!67t7_kio`^%R%-%Pk?+_OD7Is{aR-{5 z>r!VLsFZ+_4w&ifYbC^=|EK# zBwhsySFFMLeDdrOz(KRsiH=`?v$nLt59JaE512?~oF&Ngf$AF2G{Ex~T9IIv8CTL@ zjn5DRo&%*yb!HY|oH{fOruPCJgLE3KtXHqkq3H=dn?lCb6}%*Ii^;@TV(9kr>MO;{ zk*Na1HJ5z07&5E{>> z#zj(7)zb&39@;xHtd;hqxG9bZ)d~>>cxwf65GO@#VI`Bz0x3~>^O}&!a)MOJ7qOuf zi3uI+nyLW>18hl(0XG~+5CpoR|CkCEu;rgvA2!4Sg58T<88l$a_>WP4T?d$$$i_j) zL!Re2h_Ip%tV%-}DJ_*27t@&(n%-BRU(iQKcmqH&#(T#&O|5ZK0SL3z`s;O}#3lab z`PWkd4-@H`^@^;h4bjRH{GG?I4e+N8c-meh+hN@77+}FIr8SPHj!lA;$RR@TNG@|~ zBKy`!k=LqwhjIsbd_b;pJOahCJhuV_QK@32=$eMHs_TaJXCj56Awg4pBEUl&Lm8t2 zZX(eRI6jDVm`^u=Ow)l?NAt8%TWtIXBZ1>|!(>E;+NdDHCy*rZFq;5-hJYq4V=yCT z-Yits%km9X{L1wexvuEIP~%7=ZEHust2YLHR4sa29N~ov7rNj6F(hrZX&9U`?>IU! zG@gVB5&qzrJr{_gLm8Lrd{yQR^`}s;*A!XCs;m=3Qbpdu9}YUVL+cNfQdV4hjeZs~ z`wNKsUt)bW{$sTrF^~vjX#6uRNg$f|C2*q|!w7C;V6H_}Nt@U#!2rSXwAn zJWa0$kSjiR1hC?x>-yB5Tq>7Kz4yq-II6xS0j3N9s@AI47lEv+HEgINx*@WrYC;Ub zg&cwi?zWl2)XfZ|RmYZ&X22H~0OpfW$RvcRVUUn+3&M<$oR!7jfA(6wB9~>&2B|?p zt}XU?j}MtG09LFvZ3|RM0)Ki>_UvTpr%#Q5^>u!Bg;Q{4wN$HUrj8--kmpR0GK9=V zD7#~JbJsZjHAC|v)*k>=6=)a=Ae&7XDp)-ui3ca-WbRKE)tl?JZ(LtpDpUp!xnd0~ zKDH01M$?I-les4kWloCPU1<)?uB=~K)ayj&1;m-yWZ;zL--#!URw2wZ9(5gSrb#Ja z%nLZXHwz|4Zsvw(p!A>LSbcM`IG-f?7#eJG{XUb~^^m0Dc~qG;fhqfZ&y0LIWd z0vOjsgaU97z^1^Bb}#`#s1cYpxi?V0T@+i}O(QA&8?J5h7jIPOK${q!&4#stT1|~h z2c)Km5)zY~bZYO-v9W*uTK-Fym+PwD7`Ea;zpV$iXV0Fv6?Raonixv{%9E#mW(uFa zdTZtRTQvm{K|o0Xa)@pWiv%W$2&_o665i-8#@KOwqG%Y{>_RVN%VbLkJkCC8pkCk% z#jgO+*k4&}3e=OmFzN5oW z+OXbu{Q2{-g0&-Pb!z|E&%Sl~t<_cV#?0DcRWrmT zDVhRhIava@W9vSFs8L&B47dqn6D!^}9yM&fC>CXvc1TN(COEbBy7hI4{=d}`s)!C!iA;i)&~F#)lWxP$g1 zH#IdCx6*b(m1X3?C(cg&+S~R_Kle)hTXSUv!IS_6&i1H-#=fBd9))c^)~0LD%FyW7 zMq~*A5e@5cjdn5ybSoC-A|naH7}~@<3}AG)8Z7oTZikNf9Bz2E^3?=}!iG|#3z~lpD`gu#A`-}2bZ2g z5=s14Q?*3-q`;QT+yuU~QdBD-vWd$&*@+>Q&G{@KkPs?GRlPF*NKQX@@3Bkk+DfUm zU8+|9!eEDMzB49a&!*gk9cgL;`!v6{{&%mI>yXPP5$cMVbwh?7ji%F2 z=|;7?*Azy%oXBI2ug#Z^m)5@f+wc0yOmV3!haGSO4M07nVGTIk?~oZtF#eSfoc^|j zTPrW$RwYSD3f%~*f?WUz7 zV=Q;E(|sGz3IY9#A3t~cFlwuUt8{FJqvc=ik&}Dcm&5shcFBO z_wP76^!%&KOSMEc*(e80Aexc*%`p;k{XphCwDcWY>v0q-Dz^bh@;{!0?LMY9Uhp?_ zFJ`u9LuU)N6XHZdNbNm^)qt!|#03|~){q8&0h1D@$s7PEB`H&guOh6H-z!g0PSn<&*^-AQq|NPz)N51*W z>})0B*R4Dtuyi8RtIh5*@$Za*t^@`G4XDUc z$_MW{clFxhVoe&!m}`X050=+J4)hgC?dv6+Mexm9Ua0MfbJM;{paO3{NenG*m z!NqEARF@(2Go!g+2E_t+Ve_(h+L?=|gb{mIaU+bc-K#T&T^7FW5lO917rAuTJx77S zLs<890u?5K3Iv>hOnqSB7Qf%kb=?6h%X*~@EcOPvOUN$Y=v|}EdM3T{rC0y#uH50V zOaQGm*mBT=`WNYYz#^?9+5ll2+yq(~f8TfKfp^|`V_~Mmk7S9i+lGTDoE(SiHFa(# zQO)OoEELz&Lcv|fG%ps0E)K*! zY}h_@XC^Kd(g;Z3`Msr&{pjs`-p-x6W292lW^QPL$b|xb5s&JGPhYz+efP1?UtI}2 zJq~n;0jn41sL%i4gYxITR!ikL4uz#bFO^cGBP&1tFTjs{ia&GVYsa;V=w3Nvq?J{qX0GJus}) zB~7ibtr`l~i)*FK*$annU8=3Ea$+Jp4xp6KW>-G=;E~^YV}(tI2zqSMu$QD~(|`p# zVAbwI7nVH`Pfq3jkCUn87q1H=Ie??Ord&)OJO14L?>27WRpk%<_&>gO@%7Uuj!p__ z28z>qUA%HhH|Fg&4bjeScIiNj<)$_s2BW1~e6NttzP*-dazU*o96bE|{qIsCpXT}B z`@=tc=7kqe9XULmM7J?_2&(+Wmvu(T^0uG@QX^bqZvKu3Pyf}MtJH0`jY<~mJrU{H zfg(I5%}(qpr&K%b2*IzNNtM3*Dj3QEy5i<;B(&F>1fth-DH(7RN%88ntEo)-$dN+} zYsG^H4)UT@5K_Fz5lsVOMk-pGTP7>6#C7gQX0E5Vdn;CfpaEum&_^6d>+dY}<3J=g zVG)7)wrNpr#Hsgaj6HXFBn=KzGGQrYnCl5sRWHWMc7bC|--XuJw@$|fjakXI^KvqiIe+fldZjutxnE3V){}{Z2(YTt*P$y3MuCZxxKhyHxw`m) zyNJ8fThx7<(a?bOjv~j5twM z1+0@~`i_$)Qn?XTQO@0QT1=&r`E_Y^-uMOZhNNI;C>S3&&Jk~x1(*rxbkZoeeqwK( zo?giWeA8uqr{>m!Jl5dwUYvlcLIYNT7lq`Zj~!}nlxbf~--3B4WI_!9v*{1A0S8P# z83+qGz1^<2O{VHrn=o~Q3}Tu;*;}~TS8!Xv!7L{g7clq_CI;?qwszqs^-@!CoVq$otTkjaqN%sMkbN7YlfhDJwcvwO!69X@yJ#9bFI?BBa*wpc+gJay#N zXKJ?>VKPaJrE`fJ%?m3U7^|&ck)$gHbqj`Jm&s~i3|PDG_{DptPTXEB5P^gK$OFG> z0C^s-e&8)fe&cc;go#Px6~oP$gd|QKyftGmD}eWl>fB6$8_5|aO3;7AiU-GO z$rO6=xqIaL&4n8)ukI@%ATBSSD=ew6y;N0*kWLX@4?D2hs?(-lWb4<2L8{}UtK9-g z)9B4+6z>4&iDdERS5DOH*}0o@Z#;W-WGuNncjwYA?&8bUnu^jH(6n$v*Ddmi+Nw#@=ecB(^j&Q9j?Naa`-&&lbyBUQM}~xSQUyFv>e}kE0t9HHmEJ-b zNUB%Rg_C!G@ftES;-c0K!~kD|1I^ zQHKX+Z$Ei_>TjMqR0 za}j$ow3%ucPdujYXsuANL}0*<3ZNgXGIjTTiG4jYtV|{?H$BKZvlokHQ-7kQS-jj(Sm@Mi{Ckx_{B94&LbNiZ2`$P_^<{O zt&Cy!;Y1zhWiIX6gOpB_xSTRL5UbfJJ+gmqN>~@Ll@aVO2U{ZNAcZYg9Ius&5F4L0 z7Apx2Y@%_X#0EHDz!PwvLK^LmakU;o*_a)m^yy;uoht{BnadkeU!Gpje0i9yL?-e2Hry}e;gccpqJ5LT?f=y3PwK*qj73+ zrTYCBCV%yMUD18Z1>3N6FhC+_X;@v;OE;ld^^GoOG}=f?c<+d`x|~O8K0y3N6)PO& zFamCf7NI&3%RklFatW8i3YaZF`rNJD&;HBA1MdKuvP<2z9EYow!oT{*WNihdvysNN zuSuCiJ|twD`|Lhu*O9k3AOvb8YFO6=5iG5~ZSTKn8& z{+<${R8dzAZ9n905APadH-!X5A&`o_(fmOg*Th#;sl=Z;mpFg#ZXVM*)}fAps*-j_ z9;@Uw+?C0C_59e^e6;XMQP0;uFqHWpMjtUf9;;XF9x=>s616@!JuI&l0BUWCx^WH& z(Al&uJg2R#?DD?RmKMy_j5bx6=4N|XX==+H;0RgM@PiqCdL+G@R|(;kZ|UADVK2OF zx1NIld4EE!)D?iZ#t_wzItxTav2S7!M+DPbn^AT-V3{otNMvXf6@xG0(VBpsXt@ z8uh{iFLXhjarx^c&KF|qJ_NIwzQUjrrkZiNcNz`~hM&hb_XMbQSTY>18?D-CwJ=wK5enf=vD)+Cjk0uErAD*fWsB=jVQ4*gHT$AqRMU-*9TKB-?3q?6tx;xS@3bKwYmz zj~RShL@VR(L{d1eX%#ErCtxG^IAL5O$|h8kq;(fYfNnG@8h#VLm0gW%ku6UdS%II6 zwb7L}&1r+Lf$Om#sMXpNdviN$7524z3w0N#`oAw=Xp~E8Z4@GfG+g{9QLxf*&__Nr z%#s`*odu>wQ$pjeiCoNu?L3qhIaF2eRq8#`x&5frbqBBpNXo*ma%YwUnyh!TyJMW{ z7x-(dpNuK4py;Q^_*_zKF_HZaD>c0bX>lA@d()Be_j{&B>+5yM#mjNMjVwLLEk=mS zaR(JL21!G$yyvFt-WumIV6}SK3vjBc+==C~tZXjasnK4-#y`ah*H-74Kzg9I^w~`X z$2D8`&nmEBDr${KMT_ zbdLnJ7|5ET6|$LLm@_ac&>?Csj!j4t?yt}s({M)dr}m;}0ES3cMJBkZ{K!QG&B?Zz*Adf)+8AZjE@IF(9xWNf-RGit`OiD1w8i`CVcq9(4 z3T8nK2isXlg8FeLIQVd`}mHO zD7P-W-Km%u){S<%S5gBn>y?)o;(Je+}!GZ3+%>fqN z4KUQAJ!t%uboB^^ilNE_|K`EafNSL6ZDhDL_tb`|b^Wx!j5j1U3Zq)jRz+zp>elW8 zA^sk)VaIKVJEpG3ArbQD#ErWPwx}8mUZ;~y0#-a<`^MrBQAN3~V6tWTfgP+>+)b^a z&vr~{t;|mdBBUsjvJ5ub>Oi(E-h+3K3CvH#Sreo=K74pZDjMFK7P699 zRkU~)bbEjmH$jUB2jO`jD=GwT!WTR7iaRbb&1T@@kxMxOJXR*Uzz4h~a{zo)D2T}^ z!P*qW4^JMSxSO-a{I4`JH1qk-7H-{!wQ6TQ@aC>wLoayvp^-bzZ@o0NRJi=v|1MWm z#CO;Oqaz`ulry?!Ce9&Y#Ak8G2U3*9+U-rq`f%Nt2H#Jvcgzc9v9n;<-gfsg@3Tum zqt_ukBFobPysY@*>;@36HjWx-FRma4tX8#pRnzX|5;E2RC%WSsT6jSnNj41GScaHT zPd}eY&{AN-eC)JXKEuvEkG$ky9+uHiFKmAwnV$Z$-};T`7nN+M8^L%$1%QwKU;q0f zodB%D>gu2T$Pd+PKQ=@5uONMOmz0uQj zr$|766&hWaK{E=StUr(In~Vn&HxroJI&6n4V8f? zzyf^`k;WlK)ed7FMS11pqnSy#n^p;1QGz3`v7JZziB3v&z;W#Pz%mdOo-V*suw)l# zU{l?Vex=DSVBi9Kw+e7#ATceLaU{boP03cO2%Dla=-#GYB*xF(OiN|9{zV|Wwe`}6 z44X^8+(B?Lu}+NP`zbhoXW(Sqd}hpZjMZlHCE2W*-LuRub4 z%jeYWVpT;OG8lJ0B&1t3ZgiQ#rA#n`ClCUZIKhS$>m(Zv;^V_`RT6JAc_23<(=XoE zWou0W`ps&ma9TAs28A+b(4L~d(ijwXt|H8?X=>5}fAVjraeP{-5lw>}-zZ|M|MjNM zzd&zCx|5DI+osE-gKSJy6B41@uHYz?G)ZW-|)E?Ywc%+W_#=~^5S zuugg}1bvASgVv}e{Ddl8RF9xp#~9UsUPFm%963j*t7On@-Ynu}3G%QWvh)?SPnhk; zY!}d6Xg(q;zh3N7I52haD#K=6V~32c`<~8J39^~kLiQ#dDuj{(nf;Dm@-)` zBkXQo8zfoz@pAz9Y(rWZhAfbQklo32T_vJ&uZv41f_M8#Q6 zjmFCzHM<7XhebC2m29m>{|jw1;vyErOsW^1O(d4T0ts@;ATeR zDi^j(4FYF*v>P$8nD~$aGf!vX1A3Sg{D}?>J18M4la1wjXF4vRK+*UTOaS%`H8+OB z>(+)kAog`cAj*th<}77kG9)F|)(if@)5AFmd*kTKtvTD@pF;^A2vAjZgm`<-cLHZD z*a3kxIA$-NGtOsNJ`a1Zg;xRUkyryD>^rZ~)GJ zrpf2!UmP$&40^8sePX;-ouy?rk4wGcdtxX+%zYieysW<^jn?oW2|8^{7e?tx$b?GK zDZvehARhcd530;&2MiSqfWCPM0(y<}D`2n>vP?qG0Kl4hG+~&8S`0&N09Fj=8`>#m z6V>ZL^Zmac~3n0-s{*cYd{q^=u1ldV28F_eC!bhShKaQA*X4 z5O>O8*)e-(8y_5pHMGSS@pvF#ACy|V}+!nl!{r66`$h|uMv zCgzEMkBA8_bdQR29un5{APm*7PH^*IC&0`EjeyBcE&l)tVWsg1|8XU@W@67KjO6HsRPg$U~e4|5Vi|E_c?T*;@6vuGtk+j7*vkf-R|CE z3+47=y!duijh>j&>W@^vn%3G7=deoAv?PSqt39a@4&?1cU=wJcZE;=-89s7m9_!TWu#@ zgFLipYjXD}W>%U&)TPwG8@t;<7bA39Ur_JD-jNP3M0T~Iy5m5Gydq;&1#xtH%kYAB z9sF!c6TtBvulVSS7Y~Ri9$W2zeB1;Z>L7+Cn8ua^Yu5vJe|21s*H9w_awyHkGT6ou zJKb9t^n_#~QE{UbH4&-C+sb{i>0B&ZOybh+?Yce)n)vo~O-t=*5zY$j80OuclA3pL zFSxB^bZ=qE0wASC)$}#MFq}~?U3O$QPD>TxXJHrYFvg7(gvc8MCASrT8mMIRjeEwW zy4p!U9&socx}_zB-)_UMiEN@Ra4`mN#5Pqkn;ufr1dMxUum|9&+0Q)(Se=_!df$@R zu!aQjddMoop+s7N5s90Q#V{@eP%nTZuqib&leuT3eZnCc^8kTwbwsxIi4jx@Hby;E5SKQdukrh*m)1Vh3>; zI2yrLqg$vXu;SOGwA05`k1cz~R2nY}8R_J0n<+W*%BL!?o+p5`d_n+w7ZU+wR)g z16#)~S0YTy5OF%<48YnJ0>5n%$F7QU=T-^Hj^5tQL&dnlCAiqtK;nSx4!asGUTe|{ z1Z??=?GwkXAl-()#$gRDjVzPB5AAlZf=R8=p+skq3!1wO{O!%9P-`KqfpiZfdaO-0 z{51xw)>K?YHq*vH)J8LtPV~|iZrLOnG~!>jR^jcHyB#nIN$&}2q`pa7coBz75nuvj zRZAqKSa014lW?FlERsy?8fKFk1XNgp-7rX&y~)liL7KRJn=vl^z-#^vBpDMzwN( z+2R2l&O7@?yC%kI6hJRX*#T{n&8&};ILCM^D{V!093_qnW8gKKhhk<05P}Z(6t*f( zi8Cl104JfL{ZbBJnRS+C6$FsE3q%qnT3ulL!ubjZHdP0(5+-t1A*`zHG`^Ej$nFlB zaLnvA-8^ajYUM*R+u!Lwz+tR#f{Zx;w(NA@#CZ4J(pAxqD16h;aR7eX`#rAuGUObGTUvgo$( zj*WM+ZKgHppnUd399C~>b`kl~p(OCSuJh25BJ6PEdiIE;i`dqatr_43){Y4iz)iRb z7}@i3iCR)(@^HE6V~B*6SeQx|)h4jV0&EG5c^Wp zadjjafG*jBmSW}PWcKo&Sv9vH)qyk4OLvNOmgCTAD~f^Udl4qdBh3qm9kbcif1PHx z5sd+VR|9p`G^cf(>BPxOZELj{IMV=h>fk&DSqMcbuiX$?r#Ey*LpR@oK#k*c!h!hc zFTm-2N-N@-qh&nbwBncVD3F3Mx8Y}L;ew_mi4NlXQY!>K=@UEj>9;DXfKt0=? zz4KV(Y$}rhfU`oe;xQ8+olzNyu3;$&6T8PG?11o~p6$*adMv>*FMyFT0DYdL_}Kag zZqD8nW=-fL-8@oT_m4JA(mBA3yGAo0Td!6eINDO{>0+Xu$zWs$N=1*qc8BtYv<+>f zv|+PIHK5Z9li{@}W?db@f!IryICtPa;Uz|M#u)OB3X4si)-YXAbb z1wwj7VTl22<3m+c#B++Q0PI7MCVZGp2ra|BeNCvHA{m{+k7&-;6s{ioXqKlbk`k+X zu;u2!CXvjXls+ur&}l>^+61bwOAW;Gg|W>QE;CHZO4}!rZj`oRBXDHPHwxkqGX7KL zlZ4~91|Yjj<&RehH$F;*btt7&PEd7?mqb;^ESiLA`2yO3{lTW1q#Nk$zq+ooyqaO0 ziUf}4%zrExv1J<13e%GYR5Om_0@Q<)9Xva$8#FiVIskCYAj-H09L=a2E6p(+c>4T zVhis-Le+>J)P{^my3t0YfMHFckq|b@e-YqN4yYjv zpKph)rU1%>d5T#QPWUV3n}!Hg3@pp$&`K@* zf}NL}?UK)KA86-ssI{NTMhb9O-G_!Esv%CP%g|NeS#IJ+;1$-4B84ho2Q>mgR)>l- zquM3Ij64}hj^1r&R;2b6CN*Z2(XxOCd!?w1)nMjtgmK))^ zo0o9AX7}xS&JLS|aD!=^Y)gy5$o)8MY_cYb!pMZC62OFEZDRGR$;B;})1v2i)1~dW z#=YSSc6F^|)BV!6dP%U#^Kf{iTq^CHz0!Zj4r^Gw(Q2gmIdk_2g!1T=N+946h$H$2 zr|Wm@&><@GoRG<`FV4q}-#;c{p9q((V=^|T5#8Ra3*w9>Tb|)D0R-&QI9!B~CMyaj z3S*N<$MJY*!z7G%0BmRun49tIb$)WPnh>;_j0E1<(7#!EYrx2~i*zERC=NQ@2krKV zO%Mi~UeJ*m!gi|E&MN>;;AC0WbL0BhgsLjeNP{3wQP`@6)sw>0E4inQ!Bo$$3VWvI zQ$@s$l-aAnWsXaJGYqU7 zKRt3nYZo60)(OvHjc~)`B$1wcJ+Qk7=Z1b=mSzD6X!+{Rgy>Jy=#j zLc|u&j1Mf>AkYqJ#aG=$mVtd+my0 z{|*Bd-<=ktU0}zlSOwAAVk@kV1F%@Gq0v!EQR40N?MY(X1g#vpq99$@4jwK&qmCfN zK_6$H&%F}Zf)lbbFso3w?wEiwMH=k;g&|9gy(Tc>1OF3!pQ+4K>2>3{=t)fJ7$U4c+t5%z}i8ld+$3L9TN#-lcvG=yZ>NKLy$AnEr_FB zt*xY7XN3VW!b7&EKodWrfz~okg{vM=F}khM5++xVPgnJ0O+%L!aJZ$xMmx!aJ;E4$ zaKpB36dK01TO*@2a62JLNa!YR31EB*>&8?lH;S|GQ$x;HIk`MLlTK&C z{e`B`#+#qpXlS%+VW_P`)wKlCxol1!-&a{LgVe^^dZ`1b zRoQEKm&_LBEtJiIS);_;9>mD3Y&HzXjoLU#fAW?o!tVA)9n*1LriC)C8bS^sEg{s3 zbvV8sC(|Owfe<5DEN)#k2?zba7#H$+fkTQYf$5`4U4c@Px42Mf-atdtO=zKJE>qWj8bao!j@MKtv0=~^K+P!rl+BP zN^>PQX87`&8bacKDH!=Kf%55RyWMDI>>bOIdY`{cuUPjyJ>ztc>x|P?MNB3Xf@(F4 zjvpt2pec&3X|ag4e#EPUEvY2cTFuIp%%Ot^YIRlR1y1DUY8{Cp40AR)xj!+R)5b|y z?EXZrce6&3Fdvq4-e!q%CCV-*BJ2w?snDsf*U9v0#3dME0|i)3ffZCwK_C&ir2@83ghk0j z;j?8Ds>iw2gMsz6u$Dn_&@Bpf60|&1ju2n^KyTTOFbT0knrZmmVJQ0FgJ~C8SmoEB zuaHS77$Bu#EoG)3g8>jOqQQWM>sH2?YG5i|o0%bdM!@tDAlGDB(RHnxd{~1bv~KCW zX%do-3B;Ce@v5=9vI3z2RCTcTkUlhATv!w)#;s)Im>s*p!5uo&$P*uyJuhA~((Vhn zP?|fch~JP2U(--pwuJ^O?0fPWiisoj`3FgB3DDWMZa_ud#8=onpdsQBO^U;C5kG-<8l8_{#sCaZ795_^1%;Q8t%;m7I z1K`?g?Bm@iI=?> z-S0bHr`YMP{qp z%JMQC8zWBEhBm~+zX8QtS&A}`+Q`b+@#v!N?8OO;ebS`~JM8`QNAfp^J2U zZ`(!&dZcL~6UgJ5gSSZAC3~e1TA66@JOL(4NURf5!gsyAK z(Nl@>q`WvUpFEKm9j&jf!lVR3sSpAKk!2#GKhaB~oKPOb*}i)_9R~HqhZEmLRz6Z5 z7-u>NhgGm%`)=9*kS+j6K)Ant(l7v~0fS*4^t`=+kC`M0LJ(sg#Y4C`-P_p^E)XV$ zFpG7a=D>doj9MtATNndRbp7b&1xEE0Sx)Xdta6+@UnCDb%ny%%^}Lcv+8*}-G)=mu zilHu5x1UVzjjl09o~o*~T8$S3P{_kQ2hN`m9u{&rtSato>;&jA<^y49W?0Gh#Lv2m*nflFgMb|s};K`!1JLVwe z&Y);T8<~c1urD6KWeSV-jTjRatsH=JyW8L9#7YHc4W7E3938>QRPp95JkF~pP6Jti z=Fg~DDux}Ver+u_fOf=()#uG_;MIDez;m3LJhN8U?zvwZ66KYZlA&|+8AXOAA6|SBI*hGa)sy@nO5Yg5obg=UV8|F==+SLSEHYfI_TK3tr zJ}8`*b)HDu$5l~1WzfH6fKZA(7cXcK2w(`ooVo{E*Z>OmO@ld~t>{|sAMm&$7|-7C#%N*tIrQz*Yo)` zK@g3J5tmEk?A_Yblvu5<&Cewc97L%kv6#6-p7m(Y6qN@`0|$c}%2?MDjI?qL6@yV0 z*hH-j<13=F4L0IO3GOnoL=cFXY)9Ht7#=b73nx~yaa99KU-QY(uc?vnR2j0`g5ECn zan!9Ah7!h`7HxjA*Wh}M%Vyx-eZ_@ELn|jI&!XXBBG-+dbqosY>#=afPWKKw-R%#m z>g@R<^=e}5p!U{B^uPR*^4z?7=ur0L$@Q0B5{5<^<&*mSHSpcERLQ{Yu9Kc@ zy%Efa{RGP2x<=+_F=NPVW|B;%l=&G$mJ!cy=;HFLSFKmLz0PgDYuf7(2=!WZ_|9{c zno?O>#7SPc{}B-&MXvLbB-bmtrnA>?W4wF6X1v&my@dVQR*MVsyq$i+P^J_Gy!A2s zng4?1df~>6sk3Jbm)^vRibSEOCV(cK1#Nd4;)V{4ef`&d^^ITtHz}fTrBD^13API@S?FJ0U^+ zs;2A&V3GbBb2U|3Qmt+Vt-!8!#K&w6tsa$1S=Tk2F9Fxf__NS_fPo$Hl(n;In4O~_TXe&V!mn>(!^*?B{MgaGE z%fLfAB+yVTFu_~iOC5-P+nGj-d@e!;S_wl#LwB6L{@in*E<=Fi``<1i&USbSVq#%_ zJ{GIC{Rwdsw0O+U%+_i$K+qnJT&;@V@uZv`&gxqJ)(xe!KJvDQ)LM=5n~>IL!~k0P zo#>H;G@^kgO()~#nIxK^l{ddZ$Ro%@;Qlr9p>pmA`qlY|jO(rQ)=#{9ULqs`K_ggf zlv4{ty$ED>4#K9p2;1n6O(@}E$Gonq_4@E*k5>zY%G_*HQ%Y0Q@ceyfJ#QwZfKU|0 zD_5?>9^|$)tTvmh5ByIZucF;V%gales)&MMpTvcAbofN^!UJR9{5x&${-u{*JoeuA zm#NhY>b$jqJ63pCWb`?8J7^knx^YIXIMuNF*#Wps$Ib4OYwq~0`cIHHD@C4 zqd|}V}y^eBq=KVfRidGl1Nn3uIFR+ucI2=D&lIz#yCO%S};3v!7vx ztpQnyv)Ed}K-c^A9rhL21Vw;R%Iw@+*k!N^-e{dPqwsW{7e&IvlEBE|cQdmyFE20U z?l_Y=cIw9GKFbLSzP_S8`FLt%OuKd6xP#+3p5v~(c`58`9{`@2p3<;L8?e!77}{9_ zU(>YPvoq;T23srMSg9wCLHzCyuL)906zc2ig_}3W-}NNndA(f5%-|#boT=u@5ysWq zOJrd!RW9JU6}eI|R5oI+b7Q+p0*Vl1fYZ1JyR3d}8f3!cBBdTA8v<}3!xfY05Hi8$ zZk!|Vhi>_@mXZjj7k`L`n<5NB4?E1SQ7$hxPoK4Y+>V4|=&RTquFyT$7_-QJCrpAh z!T`F1$c%c1-C{8lkO~;`Rh!_EXNZ?78r;ZF^s`dk)+cT zPrk44=B0YEn84b4Dyuy59#F4Y^d5lcd9162LV?xNb|Ly~;+?zZ!y-LiUi;9F(2ZL+ zPoBP`XpJ+BIFw%z?s-e~%-v(xUg0OEmR@}R@CQFK{+{53454a;yIBspTv3>cw>|9` zI0zgDWIKN+D}|II&cHil@z}9D8>tq%0dd_Py4lZHPBMI4{m@N5TxA27uK; zH;z*(RiRSe|LDW@2Op~o;@;V7^51`cWoC{WALp&>Y0_Dq4^maVTATX#_h87a zzV-^AO7nBKYWF;}Pn{~VhTYA%z>#Cm3n$JprjTOWF; zR4Q@ywhK)&6Mtcx{LoxHD;WK+5esto-YlWFvm`p)HSm}j+M-}HXmlHRcFr<IKBM~#7U`-^`qmrDr zBY`wCu7aRb7G_59kZbRNK=!>*!V4!f)P1_naG7I2IVWKtfXx)I+vzRLT`x|QI0--` zwbcCRV1LlvO@lU6u`f;-JqY_ZMw5`&j|FaweVZVo6KgkME;U}m(5?9I`N8L&_}I18 zVoK8v@=#s8{r~2bg-`y|;r)AXr9v1B)O-;R)t6V2r;d(4`TnKno++=c3ZvuP@?!1y zo&4M00oGP%=Sq@vYi1_)Rc+$n(&=>E3a$9v?U3safA~9U^|~V)CU1x$O-xk@Nqy~q zh!f*PlOq@P>`9t4Vtkp+!^>=>%4_|%b@;!In z0n6*RQ@JB@0bjaE63Nyre;C-W7?Mm|A8CEk-t^?&5-CQ5+O~3|uaM^J3|n!jF!VH} zS{ph%ef1+hkeAgd4*by{|HtQFdHMXQ6OyhhrbkW!S$_U`U6Lq1ay+jsuksUP)1Uas z`pnJ6XTQPahB!@?mzLMR?hljuX)Zbrx?X}(Hts)({Ki06?7|kW~ zC~_R{t^FBF*4k3yJs(~@cR#ekZgk$rn4L0HU<@e)tm3|)}t)a50^NSyxR zA1A7|@a)qdnL>#Kzc{yk_k-d)KLAa%LR9bLdH&X|o3XcQ6Za1oV0G92S5@`;jT<7f z|He?V>a}Vrl_`Dn6Q%WnSS|^vBvxvxPyOxCsngTn_kDU*HrJIb%)$tQazWB%n2=5$ zIeh-Ed&b8n&Ye9oK7D9dybllhdb<9zTBSbV`zjM~0u9nM>Zjn!0(l zq-rR`gY8eh93KI=LQv;eHD6(+i*ZuUfS%rqgu|lUp|y-tmFlgO8D!>khG*HC_@4u~se5&dxUC zfryW0KCF0^uyuRE7*AuPWAAwU@qB)rL&#oDLx=;qCP~uzkyG$1f1AT9$mTd+tgkGQ zYI*dLcS#c?YfnFGsAt?zR>`kTNkU$bmZfZVbaZ@jyjUvTeCqRizy1a7nP*hQA=`e8 zkDWe{AgF8kQ67|&=@leqC&tI8CM&XX{i!cZe*JIZvrik4#3v zKlc~4r8z#6Gps*heQlLXRDb$k=Mo8XanK6#Fjq5leRz2I){X0*{mfq?m*Ov8BHXna zRu|FA{&0Klwyxno@otU`!@BU9^ZnZit$$Wp#~ zW6xXjO7uh(cWGEdTeBOav;xlE>b`X2Pu=SGx@ znj1EL<9IfwvS2MUL|T%fc+4 zR4SRHC)URHq`vssbULXeBooO*Nn2e~*4C1Tj}E`{FEKxM%1Z6T1a>|W$eq?0-PygiPcYR#GdZqZ)FKFv|K506FF(AoeKEGC2{q(Qw zIetQ&pCvAt3@A%xNI|>{E&15zO(Xnk7kkrKH}vCZw_>?|Hv;_EhcimHL%=kU%KG0~}4%3t{8L zfbMyFC!UvUFR;HPM7QAVN5RZqU)+>Zrg3IM^G1j9Y9p03bU~2g!J^Nyd9<2kT@Jop z)8{t*mF73x_!e_Nv-z6p!it`+kG%8I13&*yGG{MTp8b0Dn_mU0iqaXw5;P<7>Xq`+ z;!X_t#TlqWHhi)NsHYhur9j)uI)qsA02BG|> zly=a>ddOLOWpuAGt-ag~PbxCgCE{X9oh?bz`}h9nCno;E$2o#(-*`&7^eW&uC`snZ zAAu>grrx@K={r6#{?Q-iZ(mnb6~G{1X__`RHuf9;_ph(5t%U(AMyr+pE0s#^@+R2O zm&oMiGLKTJbpQSLPfSk9vdjem%YY_MQ{)j2DsOw|t;?78UB8G&C+&T|D3vm7KW*-o zzP8LwO%Ff(SoV(7da+QwbX_l1xr_u1qf*DVgklOJwvZ!8#n{JkW!o&sI*;v4ehzDl z!+Bu+k2rg&-E=yLA%;Sba#dkRUxUteBH(8FW6u*8`0Ran#6d^nz)_*1!+xth%vf6vfE4++zI z_0@d+#w;#Xfy6`J;t0eR4+?=U89Jn58NoElj2SNpm80FjaPBLI8;?+n2ReyV?WbT{ z4Was&r_|9~sD@`NOSU#dO*)^g>QLg)+PN=c!5=LXFzLKZbjB{N0`VaW#ZmVKsm^GD zm%oNSLyuvCWzwKQhiD#pndph7q2g*)TP-00jlApe{h#>c$P@3zHKp>x)B2mQLb(nS z666pzcWlF?rfRpYz5MV8M}FexM=R@oEOpnsgcpKD_1Uk_A{Sh)vLhg-XH(5 zN!U*gEPGT{tCbH~ZY<7ry!!#mT&p&8rBY#XbgcUD`_?XhYx345JUs4Fn-IsghA#vXnsg=~3MYUK#0z`u7W@-+@6NvVAKu^I5PJA$UuP==|_Fv|j zM}#ySuMm2W7pxnMAS8CvvRWr#^c#g%I6@CakSWlAC2V8e0ycCD8X7RrOC_yP;d1Gb zM<3t!ecwO!{tt1SP`~)9a`6Sca9c=9C?V?h{|cW6$*`oH^yW8eCkbnvj8NJ5Ji*S|)AD&kB)DV-3cR(kgTz_OyQM!EIH>DHQS@5X=$FL4z1a)*GJif%F=DJw!$L-#e_*Hswft-C?}QH*OrzpKK9`~Kk(CIl|pfKMYo2BZXNCiY=1T^ z-+lY`{=@J2=#3jU9IB5HX2qQmYgnDsu&6W37=lxillR_tf1y}plq^QWa&1FWDURo| z_~CaitgZ~d`fMhhRzwN8#uO4oVvOgNMQ!o6vM_G|RN~O#+`adujvhB7vxu&(tr?(3 zG~G0KI1a>Px|2v{8MB&dSbv~i1p+UfIz9f#BjfM=!0-bP0bWqAzEQt)QN4Ww)vH`0 z0c<*dn@kmP>Eh!0+Uli`d~*NyesW}erBqlq`IH;zRt8*Uv)P%Mn}6{8zlZEh-yvUn z3|O(#y#s#1P*P=wwXISrefLMddwsp&!BZHp%&q*qUM-ELllNbq5}Y- zgsvs#Z(f6mTR-^E55M=@(`!q$atTW?|{vWw<=;*>9{M$Qbud4eF z$;fouI*AJek;~+CxlZP1c$thB6}%QteVzRTPCM-u>={g@r^SVL?ZPhUKVP9A{oH z%M<6$t>63j^@Ww;tKS+Ws*=uPcV){o8;BWt3Ne<81$kvbo|~1I7W8t__*EDl&Ww$7 z<72}3D3?itga~y=iY#j<)aTc1>GUmoW9`TtJ9Lfo! zqsc=DQb!IY4;@PH+bcw|`Ec+v$J~}xn&(CTe*D`3NVd=U)Iy$;AfBQFo^EZISp$0+>4Y57gYA276kH@Xh zqE#61N*GP|xzB&$_U$=q3grV%ch36cezndZPJlQ&J~fMk)zAFt@L&C>{b~t~P1O^U z>8e##O*I5eH9jbsnTJy;7W7J0l@)B zXgW|7qUwaR;<8);_Bp>G91ul}eGxMhL$?BLouCHDAs`4)5V(ZMr6eLIxMY$~C1E0A zHVHBs1ZhUw)~Z^iqSk80J))T4vl$_mL%i{cM}lCKz#H9ae1I@rDaytC#Y5-7`#(PY zz}qtALLr~mEp@`^H)Avypon!{^L*`|)7_Y>jvqh%%fI|ffAYtFWQ+nEo2b*>euGWs ztlxb{OfRz;1=*ewmzI{k`jsy~{PuU;x^=5X>rw+;VRd<5HnaCTKYHcCN5A!_zjx%N zFO5U2j!u?19;>>Ozt0LZFziH>Bm{A_a#>lQE2^dgi#M!`Y(~mu66rKDAS{-sTFc&`L@+D;wp8`L2z^G z1DolGezxO0jK8|YC2g-?nERg)mk@v`f<%H#r#LBrl1V6v$eJ{a8kpcwuWPHTO0^~% z|0-3iCr*jcb#*R>foxsC&9C(z{_qbTf9Jbc$3&wN>_SWvgX7B8nozHw z**BH{)c-vDm51m5>c1Sk`T8)@%ee^|BI1TeQprJv5E^5>R@3TAty(Rut{KnclMNGd6ejW}{`LYRh4%u)Q#(cn+L28aPh#wj}Y>u_GP@7FFgPJ8?U`Oedx&2(xPFqHM!kNBkJk@#$YcmEoYL_ znYTYOfB%D5zW!zDi+?`#=8Gvay;M@;MTK?bTP7$lQ=l9FOB(aO88lRv4KuJx@-`gu zq9CTzhSejcl6)c|8geU$ra_d+hyw4ZZRUP9$IWjRXvGtmxTb2R1IcTeh~@=YM8Kk`-B!Wm|US_ zt`y-xo}hjNp4UUz%$Ryww`*E#r?ql}Bw5*$f=Ekc@ckg6@zOGbKI3nz7*x7c#= zRnzM03soiD)gF))y#Q)f>w3gqQB+}}=fyRv6P>=Kr8IK8JpHNN9GMXhAxx}z#@O1z z`t)M`camKF|JMBSS8L$?Ipjmpv>=ES-&O5$mS1}5@h@F?Y|DGv|NhDT`Ocz_R+h1Z zX;v{NA19?;h?;DS(Y<2KG}OCKBqiMASG#=CZhi}^G2renV2J6Vt>E~8O<}Ww8A2L8 zZD65jHmhzaKnsiorjmwH6LTS>iv*et-kcm0ZEdhae0g^$o}$LrVvSx}Lc*NnFnE$O zmsB-p)ASo~q(0oKPhWyRK&NOb+9wrrRQ0o{`XB>rltobuhC!rcNmRgq0`o}}WnR#? zi;`;e9_dFn^Zzgu6vG>-%UOZD~J#P08 zpZQrdu}4aOP$S}|H!^sW@p`>j3)y>xi7N)HvEjn6e(h_&_{A@G?f$0?Oqghhdx}v) z#&B@pchj1*|C{wY;cJYX!N4hF4ByiR33aZ zc*<2Rvl=G!jOzt8iydFcT{Bud8O^9_{+|RfGa|W3Q=k|y#A4Hh!Ji^&D%$@|>U~DB z+%jg56FI=XP-9by``r|y`>bES^ynu=QDw#417wLb3@g1_WhI)2A)0hS-$55leSYwhiG*G! zEmnuHS-0Wzsn05rev}Z*=aQ1*j`rhUz3R%iU=7TEg_CknutvQbD>31WE;J!!E09XB;ANwC0n(SK$Xte9aWgP8$OFl)65R=Zy&I*zvnc6>y9_`dwlP)~=8y z5|oqBER1SpRU@MlscOUX1Ps?!OQFlA(`Q-`iCyJdsy_0Bj`YL>l4+++4=9A0z{~iZ ziUnchsu^ohX(MPsAw`i8G({jthTy$6p{|}h=R9)3qN2I;DoRQnASa4rpVlcG+X z3pEVEI_s=6zkc=ATeog8Ut{J)#eX3%2x}NmY*A5Bz7;7y-SDJ-cTI~&d+N-YGv}}G z{cXpmpITTZu2+eIMVmsU&j`#cSY|`eL`k9yLx!-~W!B=8wNS_L@PWOdojZt~TPzLx zn8U5CLa=5~ferqp2!_=&h?5CIp$@kuPht}qN%wQi$^!-0Ej5r`QKrI#CKF(-31Gpw z8M1b&aN23)oG&=fn9J4Gd&(zyK=i{wQsDJvGtZ$?viq=h2tcF2?bxdu6$*#Q1U1QC zup~)>-Dc04dFiE>?A^16iV0tmd4>MqsbOJ_53exsr)g(-JcXZZ+ve}>>+S8cTDe>a zmeDqJFGH5)Xr!XWLfajL)gGZ}o{uQOfY^0Ba`=$2_cN;bfTg)v^ZCfG4l*n-V1g+G zZRXo!3C#|AW~9d>^}#{o{cc!fR5YDua?{bqaDF10!ikJ$c-L)BO*6Z$MdY(XIj;NivcE#*fDHge)4N zXC&Mdr^}@oD#Nl&S!v13YuEkyw`-qV@#6*a&+G2#8AcygBoaAu?%WkC9$WeBGv*8} zBAt1K0q#QtM+t}YMklp|{J;I%jq$slp6+G$EPMHPFYny7do-FeJohR^K|3J?L4qcy zb%876(Z~2WW%4woZl<>QYC%>)y*)~wU+icX{63|nIil-Vht| zutfCnK3)EFBSkmO7~^l+{7D;eq^hcCfuf?_)d_QTM;Nyk9}I|lfs~}`L0Gb4sFGnH z8OfA&bx`yo>EdAIs!&0dtb}Z{3Pn!M<|Yb@h|+Spq@0~RnXH-2RZg~6RN9RVX6xQHfA}i{y-Mg9(HGcZ(&Py-8a6l^k z6#i@CC?Wh`6vZi1YFm%Byzu<<Xjn`j)_0?Cdx#rqk zyLUTsJ*!-cCUGaD3(Oc12B1)c9412{bE374VeMdlm6Q^dRVoA470DZh0Le#$Ucc1a z!~44Aa7YXEDP0{(IHU&q7=I@bGs-G9-agsjR{p@$i~x?bxyQm0Hmhb~K%p3$opriN&dNGnl+}oIW%RrhtUh2z5yrG+@CSAG5Pm{o zB#}~OrMFwwoiQb>#p1zYTA-+!*XxBdc6ayaf^M@0gMpnpcAkFvES6>6Zueeb&u2Z| zzSg$m_4P9ZK{S@P8P*~ZdZZh5#_2PcELqaf&|rjKkSDAd6nnkJ^6pRYbU?#tgiJn3 z!5E%)#6?VW597}w0PW$r>#p0reS0LrN5bKuhLR4c?>}wH5?ZVbja8N@aHs^4GzzI2 z+G^$-w3B*JsJRR*X|G7_VQ z7sYeVp0|3#I*|%@sUH|&8 zYgVt`v#$Z(`?>8{9mc$~et(4Q?_AdpqQ}jHM;T4l&~F78qXD`RX3VyWt$k%iwo|GR zz-cj#NhOF>$_A(<+!<9fGvfCz{bk04^xr*A69^&_T?$N1^cmF?rY90+e|e%?Ik5ek zS&4gkx_|uGqhO*v`Q(!YF1P*`;l;A@iask#xyt!03HSmW{4Fu*U12UXG(4Zg{`wQH-ZYyRWkf3$aBL#`}; zZGcMVT!o|R7H?xDm2{mdNyb)6HP>fNm~)f1`JCtwC2Z96<7-5s@POzOM55_5Y}X0C z1rFezJ#D%*M#`O?9VI0tydZEE4(v(r)^k#gX0?SQ{Os8?kGHj6am5wjOq(NvW-e4Qf_as*OHOt@VUrVuIeZJV3qvXtvT;hpX{M6_?1B4(5 zGiICy4(RODPj6{yF`dEKIw8p`O(b@DBExhE$KV-?IoqeE(>*Y^QM5zEm>qrBU3YOD zcinZ@H6J|&rWV5t-Un|^_HnyhVZFyih=&i5v4amoSw`4M;yrX3wq&pJiOMyqk6%0= z>L?)y()7AIQ54Vp;<>HIj+wD?M$icrb(~KemKowDk5zlgmv)&|Ij9jGKf8~$!JKY# ztm|d8tgUFBMw7Bc=eyo=>#dJJ{&-FGB#XtON2_PifXd2B;ju3C7FX2P+U#~{0g@=_ z>!J_6@HrVl&tczLmIujaGX#pJ8q1^B&zQb_`?hJ*rZzV>$A$&TSXf1h9;+c<)L5xV zzE}}im4h0!<7@d^V_MGDDn3UnQM0tz+%b6TKK9sS_uO-Dd3k9`Nin>TGaOBpmCDMB z%^z$&Z~pxMd;9H2{<+s~FD$E`UQ#v9;Vv{ngd}sYKg*V%LpNk#_tTIhEcGOTGzH5| zk2o>3CG4{V?vd5TO`AI9-FM%;{PN5Fet&{mkvUQ;B#ldmRggpFN^E9Ec1qnQq75zk zXI#;6aDnZdZ@L_nUWr=ktbr!M6RIou4SKI$Lq=ecG!WGa1uGxXC+H;fG3k97L^Mtl8vNUDzcr(N=70U>Hy2zmKN5}vf+3owl0?Dj zaQ^M@|2Ta32+0*st+iZydQZc#t$Vk>MIC#6w^Cg`b3vSFctY-)$-pKzj6SS^-sLETXhgIA46P4~jHcdC({*4h!b;WD)O2I1*tDhZ)Bue{o;%7zyJPo&pmhHf(5dyr+F}@l~DZ;zmcci#xg{S;*?3J!{e=x zYkO>BnR{+sFcj)_(toxb-nye9NL6~mWSw8|PC5HLSt)cDPboTW4xve`%d3$LNt2Sk z)}cm`G9T)d6@3j>RhB@!%*2=jXAY4=5uo9z*sudZwOEXTqNt|&8EZ4AaN_zyOtKvt zGG&DTN$TwMeX?!a4cFgbo>Y+}Q>t29TW`Jfwm<&yjrjWB{VE(gPm&ur9*wL#S5_3P z(bBBMaEE@)qKr)HD)D(k!{Wt@Z@Tfu|NPm{N=izCp&%dT&8Ob&c6+^rDre~m+ru4% z!{u{2c*4oMos7V+Ru5NFUQ=GA6c@@WT`;9A(9`$nho8xw&tKnh(9YTlrkpl;XG5U$ zv~%2LlX;QzPO7&$>;!4Gd#4t-9V}4ND`nXzQ)Ttf5G zhUyZgldAZ9ay6PP-s`2w0kxdk1tgp>7jLYS8x!s~5HXb}EtLjK5Y=Q}Dv2gkt zJ-U)haDx^vUc~eKWtUyn*VhLpEcO=jys%=$`9GXn#!upyvejT@4D zfrJ@|=Ja8`QNH~0%WuB<)(?Mp?>+b2<8(NK!4PaLEh{hf7J@z2DX2er$@BFyTm@c@ z5LG*?IP5AY7enhQtSB1(Wj%#1+UlyVa?P9HEj!6@Sg0@h=OL1)2sB#4#7FxCOC{G5 zR+_rJb+hMn`x%0<)Xl8@)%MnqTJXdB?<*@S?dzZk*;m!RqU(Jy1F*@ZN^cEBne>Jt-E|(b0LyC6``v_0@6X@uinudh*F94<9}}u*Zr> zKc5-Z3I%IiYL;nRC7D|0bQNPc8lt<~_s~NRty;Be$&w}C|Ni%(Nz6Ip^hs4!2lnr) zm{hfHd*H)HM}3ub^2b%Dm1@&!gkqmsR^YTbds$B4z}T<~glw@{B!X5sYoXOfluWly z?{ZX^3r?%T6T+-1)WKtf)z){0``s-qa&JJZbSb;vBHn5w8V@$T{)gX(LLoCc3_L`u z)mmOrwt36ua5&^GEcQ;CLXip~DON`*Nr`&mV5@^tMT%x9&PHjXL|QmwRWLy%Y@jRf zi$Yjwed$%WHuxnX6SUrqr%E7PDo@a?ENV0<$^@&6paSCSr9@s;!#qU^UG1P_ydVa9 z4$%zf_XqlVd@Myqx(^=rD|SL?J=W6Qeb`D%uWasU>+FHr`}Iq|{rWZ6?BCx2+Lrk) zMEjNWxDZ`)ji02iySuKg?#jiBi%W_tDk}nkppn;1mp?%eH@&jynV8o&GJWU*m(@b=q(`RiZ*`la*dw=^Fmbiq<8Bt4 zkAH{a&8c?$`(1O7_h{Yi!RpD={NVstTE*V7*0vsx$Km$4+S>iK(`&+gp}xNGZwF!JrAMHY7K|OyLa#Y>es$z<*e-;ogSC_ z$B#Y=wiQ^H<>lp^g>7$dfArCn>o=@F)YKFW7%>-rP2&clT8*h-;V9vl$=1Nkf93~f znm72_*4p}u7hZVjzy9k>U;2{6VGo7F-s0i{w_6egUJ&}i(&s*Lf2T(6?Jc%gCl%Vf z9=g^xxuQreD`8y!bgRLL+r6OnY+S?EY(}S#M<*>*V z@kB`=(stZhQNSPb(Y=1Ml#`p9Xw{)isv+8r5}pV_Q$(PN_K+IiqxSYP6)yR(-{R5a zN|rv-OILe%No6RJnnf#(49VGD=M~eGPbu|s)2i)%Wh*Z@(-sQTEuF$SGngF>nw<-u zKAHOHbEeS6oi#18{uBR>V-(AZhYlZse&{k|AVHms{W?Z@lrw#{b^%-h1x_0s%8BBsRUfzprh8RFNs?-ympV zog$_dL8O>sW@g4SR{2!H1OUUwjB+Y0EG*S2D<~)|^bn#Xg(EzOmrvwd+f<^JkW`wZ z$r3x^VO+Dz*vc}>_HnJnN>&|Fi;GlI)jGQZd|0*V?hxy;(iVq6Fl=Y2ke~yELUjAO zR9P`a)8TY&-TaCoMM_G`JG*7OLoABJ|udM8)AK^(vD}1jSx- z_Pp-WcCM|9J?or+;^N#+aYii};i#H&&1RJem;Jmi$VZOJN7@{7&ku&!g397ZZH*G5 zEN9OQ_XSyZCvoN+)pn5V4Kg$5h(3WWE2gGb2@OZQr_~1i0jo;TQ|jcdK8<0m)%DiH zK7LviSvb?;u+ap`IGq+rltXY}i$zN{?$P7-Pn$aJ%U}KqXR%aQ*8~Frcn3_MK7GN0 z1%Y4?G`hNKQeR(S$Icyp`r{k#yz|bXLx;?pGO({IeRmbkXGX!AV6v5{U(pVc*bshq zcel^y`~1KGm(y8UIjNw)ZL``6J>X9X-~`E%9N`5~QTs%-J>uKv*Qh-b!#cnTvJ$l0 zs+BrbmT{Fj*-FN;?Xd1`6}!VbjyOL#<}0fpJC6Ay!JwXIQ%~ci=Q}^#e2k=Mj^p(F zqpV0cd8doChgtZ=ZgXeLp>I~+E*TOeFwNl}5dIOrw= z1%*z+8!0Q~G?F2lfr>&$NfBJF`)D7-SbbnpNu&~+QIG-&{6q`!$nro7$FNS93w8$aQWcpOC2)DbMiXSdPgT18N>dLJ z5jC3S^mV)x#bY5jhVcbEM2#;lbafpEmywR0Ru7Ma%p-YuR$TeC;y3lv^C@UgwK z!>K4lQ0wtABihW*AO)0~sUTGo@;Jj`pK1 zEsdWy9Bgd-=;M!?j~wah>Pnd!DCM2PRU}ZbP_|B3k050jL{g_c{1649qobp}y`431 zxm<2{fx}^Ux%GeCE*I<#=9j*fC!v7}rhp8|swC^{DuiXNPmoAPb+8VV&}fF9R9#J) zA!Eh}n#b+5+pSict&(OAg{`YLx$Dcwut?JlHbrB=!m>9N$s*m{D%-6pAK`ZVLt+__ zODgHo!KtSS(;Cfo&BI1>3tiKii{o=-|O)t;dcwH-|!@L|bW4okGJ31q(@j z?o-B#CrviiPRuxJq;1d%hr=LVdTL4vsc;+BEo@@i`-bJ45SJ0Sa7<(^_a@Nbv6>f!=T2_>CF$(+@Qr zwsKr&m#?YmVDphfpMJXQa8naF)4@=vudgpjce3>F(oG~nsXEC`2A*%Mg?u1!fGOSY z$y?0u`GjdJM8f(#(4@f*VfFtp4zR&=+sUe{m@!g+yuD-5qD4RZ*?)HX`@kFntE9Bp z+u7~A^Nu@uyM17*!GT0YuJE>%%d zq$i8TzGZgLGtYKJsY1a*GRaobmXt&0NgJbmUMGGU-(co!iiSawWK~slf!=>F*40h- zz%R0N=9%-FnwtLpxBvB)lo)vqjFq$Wxzn`STtNcO{HJ<9J=RhSb)|ydzP^wU{ zkX$NPW}7R;_PETQ_+g@i4NS-de{vjWPKr)UXUxQsJ;Y5UV{KL@%a&{&B$hhD_$9W; zkf~6nC1sjXpi0r?FllC1CuviE+Pv7u*^ADg2_#UeP_U5P7+l0)VTvg}OyQcOm$>rl32T&@ zeM;#ZJT02=X@DS_Yi;zWB2FLeO`d4`#0#JJUy83}u$YD@G1(-0L7f^0f`yX_MoDVo z-dN5vqGdL_ve}-xz+~cjrdqN%nAz}jRXb5S6T&aDZ}#cBz>{S%YX!|+_cvVI7bl~J z;6)fUh!P@tj823k7$M>1>5L#G7`^uqJVA!hiB3ctEovC`38O_sON=&#n20i3WDMUc zKYYLI{RiK>?%H?VweH$?owIg1pS|}vdq{8^bXNYyefYtA*}GVt8+XTao( zV4Ulm213HWw9Y@pUOdPDhV2!U-QyghthhM?B9ZrD9UF~y&mA_JAw}g(&k?ToV>X-j z^1GF^%4vm1-^E8~gl$T*N>wKY2xTVXKvl~&*p|t)A5ue4ZW#}k59{>w`Xd7v1zvf9 zE^;CS&sqK^g)kuo#Ht$CbaH+ul7*{^M8NCr{E_bMCgYMg1{pKqFNsMHxpmV{b1FKc z(d2pgiu)%c96diRlXkKfy;8-i@f$bn8 zPVgTDB3`$SCn+steMONer$8;F!W6-fe_#U8L)1lewpJSDQ=s`&LPA2PZEc&}<@j4l zN;-au5D5IsyJva_kd8PetmnjC@MxY|OKGX&KqB|<_=@OUy~Bsv@PjHoO(D$R%KGDw?cUreG zWHja%v9hvK`)L0-lo#UmbHg}76;hti=(9d1W!0Rx)4|SmrMi0IHLntUq)rD49i|0a zCyy4H5P3S1@m+oIl_od`Ie^`5UpkK#a`lDGj8IshW;R%^`EWH|~_n6dyu)WGV zFGD=bsxa?AhVl`ZgBp)ZeZ(lA9`3l{cHOqn-G9J7R-kgoY@DKUbi2_14TNI%S&8#Nll}q zXn_;h>Ic9tmOSc!$!7JH98*sFwalu`Q+!h0XX%EyI{XZMNl9X%PrVqix<7itIT1`5nx+`6%o|?o^<=PJfjbgsbk^ zT>Y~qRP%h5$ivG!x_5z=mKOHvLAHDu2BS#`kTVTxMkv-#iDeoys{ak_cGywsIv!2o zTg{~7mOdIx5e8{JcX9cNHN(jFl32F|m2keM*dJ;ETODgTu9sUv-Kfmy{~GyJ1}!4! zB>DOKzZ!5?`fv(?&nxdxQY^fPM54S}7gC+1N7sZZ1Jci2E{?*LJnL zn7WGCG-C@gWnnH$o0iUs>pDHCRnRkuHH{uaWM_=!ge=E^Z|^EprCU%1R`n2cRFP|>T^~sib@8SN6I6(K(Vh0M7*!+J^Aj8wX_GT6FMi2N$W#GI% z@az0|fiRl@ewJ%ga~r{~LC}_a974dR2P_0#SKgd06pM`UGns34&pi${TtP5Nb7=@m zvJRzg9qQI9wTNG;7R zb&JCKdO5-&FT7Q#Op5WZLv~~Js8MQK$wdhX32Nvmpi6qk8z@nzn4U(KPq1nGfa?r! zdWigD#2IBneeQflC0Yt1PLCyktQ>~2YUGgblGvwQ-NC&aQ)$)a?SyU3=T>+cnbHKu zwY$9xTan^gBM??KS@41%ttV+ibw)R5>mB-HFKHbQ8I#tz%{u~j`2*%tNWy`X(EW+~ z5?YnDwZ?6ffG#qB?8Bm%^tQ)@M;1%RM$S(}crCstcXZs;TLg3JFjo0se^N{QLA@KHE=Gt0*ZcI$fW7#_yGIkgs_mXyx^A>WR7aT;V2jLRS zPJNu!K}Jjl)PCdHy}wh! z$be1k$x`xIP{QmcmC7LYBcGNf8bGgG33{HF!;9PKsYbg9E>!_tPNSK?(j(R2UFLdy zUtix+GByTmo8`p4Bs9df90P=hGg8t?C8jb{kFe8B_a=cNx~m1>b00{C5i82O$5h*9 zF8m5v3_Gf^YGFxicwH57sOHd2ccr>sEH7RTlUV&nYMO%1Acjqm> zd&WLE{bJMwl1~HGX%KY6iEep*`&i@)x(9RAh7OXH`y}reFBnMU2kX1A>|6G~3_=JuK$_z|5DhSaGvT(njNFD8~A+1d74GeVtjBb0kdy zw73jt&N_)OY|IV4vBy$~E7Uf9V`$OrW`Vt^zj8|6HfA=Du649P0fs{o-MTUk*z)cR z^ZsAm^))Q&_Vza>okw%h(e$`^`dhBBL>ECey|##ULyqoW2j9Wc*2|^hlMZ# z^W>m`O3_(m6&f4SbD?BuJK`*4Ev#@OpY2j^JtTuC@;>vgbbIEB{TzH>g^oea=5FAp zis!2KoyTjrT}PeUWvNoL=LWjecBeDs=*_%}&ZCGYvYsJ_xKM_R)8o0w?t$#j zVtc7*G+VF0q+FKtNXdI^L!L|E+Cr(vOa;w2sM5lC248H05fpjjH zau=M`fA8zPF<6t54qrLd&1Z49v>Mks3vK7WTz-vJqAE;Pg8QBNx#4U#?umPFv5o7S z-$2`PEbmVJ{T`kVk=iK@eSRy<;HPi1XKX{H^31r-G{{5JOSVqQsFBFNR=@%K7L4U6 zNEsLhX2i{g#)OMW)ubGw<7r_WkDe3ln#Lt3PRT$wDN0=jxWU0Dl zy2{J9KBv=dd|GmnwT&gNMB!-0eoog|2}GRirioJ9hpp!Y$oIc@<_dbT{WNPIlulI+ zk)%$Ols4XBI%#`4nxox#Bp8i|Dk&L!$suVQb}$w1)A{j9t%Bg?6{?pB2@2&{gEq}Q z25OC8T6FQE)Ip<#rd|i3YuV19!Y&f5+kKy@68Oy-0eK6&mh1Mq{Dy^54oGo`txqLG zRF1j{Tb&P!7zOGE$JDk*s%W_B<%1uY#r0R1+bR`3CKfXr$mG~wXjxAD9M$s;6huyBZ z9p5l7uvs0$1YWB|UN&pE-Gde00;*P+OQ3kmvD@(5zULzo%I4K9VEw$@Ff2XnJ~Q>D z$+aMGCB8_k_*&vrC%p4udUNVV_zyb@(M%w4DawAB^G}}FJg<_IEaI|0is(O)a(q); z>jA8Rt|H@{=2~SM?fYVZ6ut7WFtBO+{IpYMP#j5gr(BEj>@DNv=dP|c(q`J)+Qk(Y zP$^;d-hOQCU5l)Ay}+gedY5p|sEtnrxqx#5jd>4CwKzW9N!b~?UQlh>RN2{yd)lbN z_i7~j`I6Y__}R(015)DyoyS^Ny2j&T6PXxCd>==KenCtX^O44ZmMo0gJNWYQAIdLr3cHj_XKyU(>hv8pv v<$vhsHw5}k5HY}~zX|aCzrIWQ&cHA#TRV^28uX?(D&W$;Yov?514H}=4HI7U literal 0 HcmV?d00001 diff --git a/packages/addons/service/ntfs3g/package.mk b/packages/addons/service/ntfs3g/package.mk new file mode 100644 index 0000000000..110cc0159a --- /dev/null +++ b/packages/addons/service/ntfs3g/package.mk @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="ntfs3g" +PKG_REV="0" +PKG_LICENSE="GPLv3" +PKG_DEPENDS_TARGET="toolchain fuse ntfs-3g_ntfsprogs" +PKG_SECTION="service" +PKG_SHORTDESC="ntfs-3g for udevil" +PKG_LONGDESC="ntfs-3g for udevil" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="ntfs3g" +PKG_ADDON_TYPE="xbmc.service" + +addon() { + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib.private} + + cp -PL $(get_install_dir fuse)/usr/lib/libfuse.so.2 \ + ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private + + cp $(get_install_dir ntfs-3g_ntfsprogs)/usr/bin/ntfs-3g \ + ${ADDON_BUILD}/${PKG_ADDON_ID}/bin + patchelf --add-rpath '${ORIGIN}/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/ntfs-3g +} diff --git a/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g b/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g new file mode 100755 index 0000000000..9aab436d05 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g @@ -0,0 +1,6 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) + +exec /storage/.kodi/addons/service.ntfs3g/bin/ntfs-3g "$@" diff --git a/packages/addons/service/ntfs3g/source/default.py b/packages/addons/service/ntfs3g/source/default.py new file mode 100644 index 0000000000..d0b79c3227 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/default.py @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +import subprocess +import xbmc +import xbmcaddon + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.id = xbmcaddon.Addon().getAddonInfo('id') + + def onSettingsChanged(self): + subprocess.call(['systemctl', 'restart', self.id]) + + +if __name__ == "__main__": + Monitor().waitForAbort() diff --git a/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service b/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service new file mode 100644 index 0000000000..d4b6928492 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service @@ -0,0 +1,12 @@ +[Unit] +Description=ntfs3g for udevil +Before=samba-config.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/mount -o bind /storage/.kodi/addons/service.ntfs3g/bin/mount.ntfs3g /usr/sbin/mount.ntfs +ExecStop=/usr/bin/umount /usr/sbin/mount.ntfs +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target