From 1eaa05fcb46d16fe4f00359daf89d9f42faaa255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Wed, 21 May 2025 01:12:16 +0200 Subject: [PATCH 1/2] Move node win to drive desktop --- .github/workflows/publish-npm.yml | 5 +- .github/workflows/pull-request.yml | 31 +- .gitignore | 6 - .prettierrc.js | 17 - README.md | 6 - assets/icon.ico | Bin 285478 -> 0 bytes bin/win32-x64-118/node-win.node | Bin 0 -> 668672 bytes binding.gyp | 6 - eslint.config.mjs | 17 - .../callbacks/cancel-fetch-data.callback.ts | 5 - examples/callbacks/notify-delete.callback.ts | 6 - .../callbacks/notify-fetch-data.callback.ts | 17 - examples/callbacks/notify-message.callback.ts | 11 - examples/callbacks/notify-rename.callback.ts | 6 - examples/disconnect.ts | 3 - examples/drive.ts | 26 - examples/get-state.ts | 27 - examples/handlers/handle-add.ts | 18 - examples/handlers/handle-change-size.ts | 22 - examples/handlers/handle-dehydrate.ts | 14 - examples/handlers/handle-hydrate.ts | 14 - examples/info-items-manager.ts | 44 - examples/populate.ts | 33 - examples/register.ts | 42 - examples/settings.ts | 19 - examples/unregister.ts | 5 - examples/utils.ts | 46 - examples/utils/generate-random-file-tree.ts | 100 - .../utils/generate-random-tree.unit.test.ts | 79 - index.ts | 19 - nodemon.json | 5 - package.json | 51 +- src/addon-wrapper.ts | 176 -- src/addon.ts | 58 - src/addon/addon-zod.ts | 25 - src/logger.ts | 11 - src/queue/queue-manager.ts | 206 -- src/queue/queue-manager.unit.test.ts | 111 - src/queue/queueManager.ts | 20 - src/types/callbacks.type.ts | 33 - src/types/placeholder.type.ts | 46 - src/utils.ts | 3 - src/virtual-drive.ts | 327 --- src/virtual-drive.unit.test.ts | 176 -- .../detect-context-menu-action.service.ts | 87 - src/watcher/events/on-add-dir.service.ts | 33 - src/watcher/events/on-add.service.ts | 48 - .../events/on-add.service.unit.test.ts | 55 - src/watcher/events/on-raw.service.ts | 35 - src/watcher/watcher.ts | 60 - src/watcher/watcher.unit.test.ts | 499 ----- test/utils/setup.helper.test.ts | 7 - tsconfig.build.json | 11 - tsconfig.json | 18 - vitest.config.mts | 13 - yarn.lock | 1961 ----------------- 56 files changed, 20 insertions(+), 4699 deletions(-) delete mode 100644 .prettierrc.js delete mode 100644 assets/icon.ico create mode 100644 bin/win32-x64-118/node-win.node delete mode 100644 eslint.config.mjs delete mode 100644 examples/callbacks/cancel-fetch-data.callback.ts delete mode 100644 examples/callbacks/notify-delete.callback.ts delete mode 100644 examples/callbacks/notify-fetch-data.callback.ts delete mode 100644 examples/callbacks/notify-message.callback.ts delete mode 100644 examples/callbacks/notify-rename.callback.ts delete mode 100644 examples/disconnect.ts delete mode 100644 examples/drive.ts delete mode 100644 examples/get-state.ts delete mode 100644 examples/handlers/handle-add.ts delete mode 100644 examples/handlers/handle-change-size.ts delete mode 100644 examples/handlers/handle-dehydrate.ts delete mode 100644 examples/handlers/handle-hydrate.ts delete mode 100644 examples/info-items-manager.ts delete mode 100644 examples/populate.ts delete mode 100644 examples/register.ts delete mode 100644 examples/settings.ts delete mode 100644 examples/unregister.ts delete mode 100644 examples/utils.ts delete mode 100644 examples/utils/generate-random-file-tree.ts delete mode 100644 examples/utils/generate-random-tree.unit.test.ts delete mode 100644 index.ts delete mode 100644 nodemon.json delete mode 100644 src/addon-wrapper.ts delete mode 100644 src/addon.ts delete mode 100644 src/addon/addon-zod.ts delete mode 100644 src/logger.ts delete mode 100644 src/queue/queue-manager.ts delete mode 100644 src/queue/queue-manager.unit.test.ts delete mode 100644 src/queue/queueManager.ts delete mode 100644 src/types/callbacks.type.ts delete mode 100644 src/types/placeholder.type.ts delete mode 100644 src/utils.ts delete mode 100644 src/virtual-drive.ts delete mode 100644 src/virtual-drive.unit.test.ts delete mode 100644 src/watcher/detect-context-menu-action.service.ts delete mode 100644 src/watcher/events/on-add-dir.service.ts delete mode 100644 src/watcher/events/on-add.service.ts delete mode 100644 src/watcher/events/on-add.service.unit.test.ts delete mode 100644 src/watcher/events/on-raw.service.ts delete mode 100644 src/watcher/watcher.ts delete mode 100644 src/watcher/watcher.unit.test.ts delete mode 100644 test/utils/setup.helper.test.ts delete mode 100644 tsconfig.build.json delete mode 100644 tsconfig.json delete mode 100644 vitest.config.mts delete mode 100644 yarn.lock diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 83f71c80..0817a9a0 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -5,7 +5,7 @@ on: types: [published] jobs: - package: + publish_npm: runs-on: windows-latest permissions: @@ -30,9 +30,6 @@ jobs: - name: Install node-gyp run: npm install -g node-gyp - - name: Install dependencies - run: yarn install --ignore-scripts - - name: Build package run: npm run build diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index ed76c5aa..fa1a624d 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -5,29 +5,30 @@ on: types: [opened, synchronize, reopened] jobs: - checks: + pull_request: runs-on: windows-latest + permissions: + contents: read + id-token: write + packages: write + steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 18 - - name: Install dependencies - run: yarn install --ignore-scripts - - - name: Run TypeScript compiler - run: npm run type-check - - - name: Run Prettier - run: npm run format + - name: Setup Python + uses: actions/setup-python@v3 + with: + python-version: "3.10" - - name: Run Eslint - run: npm run lint + - name: Install node-gyp + run: npm install -g node-gyp - - name: Run tests - run: npm run test:once + - name: Build package + run: npm run build diff --git a/.gitignore b/.gitignore index bc299f21..7d4adc46 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,4 @@ -/.env /.vscode -/addon.node /build /dist -/examples/tmp -/node_modules -/package-lock.json -/test-files /venv \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js deleted file mode 100644 index 56d7ef99..00000000 --- a/.prettierrc.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - arrowParens: "always", - bracketSameLine: true, - bracketSpacing: true, - endOfLine: "crlf", - importOrder: ["^@/(.*)$", "^[./]"], - importOrderParserPlugins: ["typescript", "decorators-legacy"], - importOrderSeparation: true, - plugins: [require.resolve("@trivago/prettier-plugin-sort-imports")], - printWidth: 120, - proseWrap: "never", - semi: true, - singleQuote: false, - tabWidth: 2, - trailingComma: "all", - useTabs: false, -}; diff --git a/README.md b/README.md index 5a52cfcb..ab3cadc3 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,6 @@ Before proceeding, ensure you have the following tools installed: nvm install 18 ``` -- **yarn** - -```bash -npm install -g yarn -``` - - **node-gyp** ```bash diff --git a/assets/icon.ico b/assets/icon.ico deleted file mode 100644 index b0ff735f73829ae1c1fecc292c48524bee6f091a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285478 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�Wj+9YUYE@HpPHY=jTb|dszkd)Ts`z9K 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

A>~Ux3s2Pr--;;yRR@a4 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

@b?^ z#LdF|(J&?mSc#CZSAQSrdc+$ty@uiR{=BAac@V3Qc`jhYH%l&^o z?Q0q9j$P7BsPLf_$zJF>(F$`RT4ToMo2A$-Ce^@gNG(6fw6Y^^D&^ZzzRj2pI%`Zs z58GF=>=2R#8tDfR_h{^;6dTvR10MDGIqFEw2s{_Db+=OM$iamjC3>bN(70Quah5_? z^`QxyZsYB0Ut_0sdEzfe9jKDmZr_2bEeB91{#$lJOn6PAKch1~c8s7e zH^a~%R516_NO%dCXj{}$)1n<91aQq=^Jpzn&E0{FYDyQJZ(7+0)z$2Q^&GAHXZJWm z%~(pfrmq9onpO^=2XSZ`uBl9)KA=FigIwMvdojTaUzIV&bUM|Rrcy;n@)Kk*jXf1d zU+jVw;&C<%1~stC))3&KXQO2FSrp$qw&o5h$P<6+5^WzJpgukVH1MDC)ed6sY*qojXb>Y$p6>S%zJ{8;0i2Jh zEE*AKf5{wY7!R+AWjODsftR4qRWn&Ae}(}kl)E{A_W@1t6mSKUF^)ucyP8)6gochq zJ-09YNrlrn9Z-5qx4BMO1ly*XHaMID1a1WaH7AItIE<;Ll?f=l=AM)6b{yUQif()2 zlj%DG6#C5M=wtJ=K726~Mhdcbc~AQ)s_%<;wQS~X4eRA>NG?mUD?h1~@<5?Y5yUNH z6j!A|sR6&ulFataEER{$ zf>~B_>Hcbg0sx;mN)bp$8S9y2dhy?}k#Z2REXK&uPKTBXTEI;WO~DCwC*HtG=n+_7 zCzA3I&{64(fPFGkv`8gMSJf_3w)|=(BH#ba+_@mR22-Ayid8}=a#O!EX^%dEXMI4n=^$2hM*ui*Xa zR?7Q!ybsNqY3+Fb0*myK^7=gfy4R+X;@4#u^pQyM>oc5`d|%2ffAKLzdZSYIXfrXN zP(f#ZM9)nvMCo_aDhfhTHYds8PXgWtXNjR}C5sii98l^^g>(ugURVxof^READUCxn<5ng6@s+F!l*U=_w) zQSD8j%9h0hl1tAX%m^z-m>Y1lb9~lbh2n9zAtLKG{w*-X5$)KXtS>vJqHg9;S(3X+ zO{$F?F)Fnf{lfCm3NKFfrPS2M8V2;AHd+*(-!SEBg<>2|0H`@pXQX)nh4|}?M=~03 zqQ6SUX40Uh>dPEdRiD0Wj^`WImzxlhC30WBWs1<3Px2cTed{k!u0@T0G?kocemId9 zJyf6=S=gAdlOa^b!)YR)Nr5Cw^UG>hgMq@1O~``G5D^nJE+Jw*J{B04C^gP`kLg1! zbPe7+Ob{YWKJe8NSomeE4SWcd;2GQsQd=i8L>&3wE?4SNpx_5k=HK@^17hDAhyxb7(DV1 z|G`H7I1$^H_y>st8L(!`D5XkEy$Svo3Jf#=0>|J@3J6*z2V4VrCw`6!HNt$bQfF2a zWM-olHXixN(2@AQh;sFFZF4-{xbgpco#Q``_hTPLmMhHqPj=bSoX)G%kRgrDS@r47 zt5IzL%o2A&i=bI6R0>>xS0DidHcl(p1e~Akox*-zu2l!}b?QJ8)PYk&F=5*49qw9S`t z({BM$qm(-mCMk3tJO6`1pq5ZvDX4W%b9YVENqnpc2LhGcMvd1yzc{Muon!2@=-=z+=Is(t#|g&))`LkYzNAkW(~3CQ2qMyVLacczARKL4BMCe`|)`vWDU`k z-)M;5x$l=cdoYYZc@1xnn%4As=QSu9B8K))5*w{|ev4@AXVg1C;17l9ojb69LM+s9 zz4HMtSSM<|vj|UvaT>07c2ueh%Qww9HRVBir?)pJvLSls;-5pZL^v;Lzc;m*uT3^_H?4QNQe~{jJ5xd+Nz4J>P3k%XJ zbiEly3cQ3@8mV_)i3CSX9jKq)nZ#dfoZflxU_jI;dgs@d6T0=&JK0I6Oslkp{5PN- zD#13s!kQL&;V=l~p-BE9ZNg?3Oj+U3vm#E1)jcJZVutYZ8ORrmlNd?>7aWFKM7oefhoSDlY1k<^ zYYIJ|tdKYzxcDcgF5{S!JiaG$Pau2jF~_B%)PX%j-U;{PA!Uaw$WA++-T8o>;j(%P zl9a932YH?T6$jty2aNE)Co@57BtkNMNajE~w6z57Yn~uf{D@C7- zCpFkOD8r!uN}3#ED?>~a#Z*Rw!c?{jPY&o08!-cet;_41x_PErSzOgRFQsngc0o@; zTtu?5NFbBFLUxDE*bGVV;+S(YDWL+>(wFt8_}CB8QoI#U4(RWkuArI2mgmu%1wBed zPJfbWg-V5?$Q{H+QBSzgD&Mg-eQLq@NGQQTl&Uh^%dw%)va8!{l(mzTrJ{A4DMHS@_|nEfKoC#m(CPeRK6 z2ejb^maWF0qM+m$t~D&KH$uRa8y7IaNwWx@-5Z0$s~RV_Vw^w6ZXZn}T`ytNNXT|y z9v)E!UWkiZSKM>Gz^YKadCbV;P9jG1C{^PJM2+8z>T}Fa@<;2)k?%p{6KGrWm?h1e znfO5s#fjSK&E~X)-%Dw{Yt3zNPC0Q~X*+KM_pu^!7U3zk*q(b!!8nEV!dyV5S)~b? zB%E$Um@3wn4aCH@-;c@8{!AQ&VA36rM8c#s?llCHH`ktJO!P6JlEcQ28k8N^3^DT& zz3G7onh;Q1Z5eAt#9G@~Yn67?^n*$j$YYH7`v^%ye1|XuNGpbTd33V768(fAdgKN_ zU3A@MECz$XQic<5?X0;w9d^^I7(5~7@{mW4>##F{;947~BH|buc(Pa?d*^ANtM;@b z*H!Ct^s1;f3FZw*BM=iSx)PhQJ!wJA{ldAD90tJ!6#2f0bU4NXY}48MlS$g({We@2 zI)CUgiiJPfAIKkWp;kJ?>T~oreZbqe&(RA?5^o+@3(d1b4?_z#-tw_j`M&zH}Q-pQp*&N|2}Fy^+RrxNZrSPpi;37QvsX?mHwgfpVgKR9j=UZQ!N6GqpQBM=I(Ihh@Lw#h2`y7RlEtjYUvYsl%`^n zVEKab5ma^%eTee5--+|UAWUh<@xjE+j2$Kt1FX+yeIl9i-RQWrXr2-eOpQsF8I~V4 z@ytvt0cF^DW@mi2`8W+TBWN0v4}NTz{;l9Y=OqpPU}G*l*Qn|)+=f-Tm37E2)!1;l z-Hjdaj^Jsb{1t#{L)vgK^&)%~%AceQ9uY19u)?d-OIUu6HKW>&$dj(x_*tp4VI1*~ zQ2B2>%=j7%p5TR^b-s}SFYkxnJv~rHrQLc&El12qu;y-c;a(M2e@WX+`2SdE|;G|#bnw!$?26ZJoXVks=~Nu&>)CAh*Q*k1O887 zX#sCEF+=}4tNVPTcMBg>pGc+w5&ALxO#OJ@JH#1b`|*tLnr_wfBjfL&91(QB{Q%*J z{O2zyJ!wfaS0b2+&23pt-RHJ%gxmKdSkUHh*YD|=7E6~S-WXdn(&B39muv>GFO^%R z(N5tJk_Jfdpge(lrVw8wuEFIc)R9e*&i^(UbB%eXx~VkuT-Yo>+tB3SSly z=uJsR-XrpF*y0af*b;HlVoP#joJpqTF(iiru3sUf@(}hBm`I4ar?m|;|?0cjMIoSIfVl2dhFZf z18*Vq9AMdx>CV|!SU&17yWII=f^+PC?C?1c^D^e)^@UW%v!KqoePtpco?}0VL;23_ zBGQDhe{&!dgn36GLdD!Kr*(y+(L#X#EaFg(CC?f1H1*i$$)*2@g}W5Huug1=!LxDd z1tN(|`Zq`Pw8ByD6NY4i;oiQo$$ir2?Y*)EJ)OHo6b4~n)`}i6M)N}MCSl%Osx)@9 z^P{Y4Z@l~n78Rn~GLN^QRM!H;{5<(ECUei&dD!TB7T8fl`myt-URjoR;UaAJIr<_3 zDMDysx74x_UlDn9u;{ruk)n`NEY94I5r`7OJwLYP?y?I*K1M83`QtzS2G>|tQ^Z|( z8ZAYXNeU_Ip(emd*<3lx2nlPMMzMRiTerE2IMicV%2u3+Xz({OGov#`9YoHD#Hq8( z@*aDZ8iQ8YVcD?kM@wv;RwmIiC#B(<9VgDZcf;)p7cNi2D-wrmF1!v`J|SEiWLIDqEDQ)ruC1*c#9T z5_pjWii*@xv|2_rEuqF9&F8v|N! zEUhT{f6u)yOG}G|nfd+sd}!Ws-(Ai<_ndRjIrkhmD?8F>Abumo+d_l_1fH2)CS@QS z!hH__@#adG*DXwxW(_+I4=mi&N~^5tdD$WVl)fmL@D83L-fnrQ>MV_B!GNREt-}U> zi1RDjc9d;i@a0^)RQdtdWG?)Y-pHV~{m%XDnxn@!}vt%YLU8MP?$<3{?l}vI5m%rOrve z4kQAzwx3sE{|kIDDQu^eiw!g1ZVnjRic17BKGuRxo1b=E1SPn?*bW zlkzloq6haFw@NHx&|I;Io1O|UV(=SV!x=2%2U>}=%-j>Rh*8zgEn*+`F(TGmh@`|{ z@Y^-%X0eEAA$D5C!#}1){2H2C$sWaDRhH~#4Y%-VPq6==l=v_6+Wya>m;W)ZE%^n{^3j#o&Iplw^S|S@ z1C-wL+I@(ne)_!jq8wVPJ@VR>)jjaqb*sCq)86vhTMz%oytb|@uf3Re=0D-JjfeO$ zJxyNw*|<);_Ep@Tiq{rH4ZV`3001l5S7`9(dF>yb2(Q!L^4b;u?vB^qgr{A2?VsN5 zhS%Y5dMcZ*_4LxfzV2^P=13lQwv4rP^c#QT}im4HVxGAj}N3}Q5? zZ?3aTw#FCru0Hi~Bjr#nzKOfH{4-5|ji&qu4d%+NTl+vT71w%fEp%(=1e0o7v~5l4 z#^ijfvYf|Dr)u)5EOBp`(VKc4@ukWOnEtEdI8bTR$c0T*0=|blmmE?FNb4U{1Fr8N zG|B)ko{N`8h@#jFp(txbm^kQdNssaj4G{v#w$T7m`BoY+TnZ`9d1n{|9{az7fxGuG z(0zI4FgSGINicXPs|yUEvy6#=;h*=i8oN)rxM&0LV&896n9#A3BRmlGQRptkHex?C zqCVSK{yaE<&iuB@w%-ENxMhPT3zFW*Mr@bdWfoJTJ4yEL3HkF=f=lemLq=#hN)xO~ zL-1^h!{$!#-xL=tgncmB$FhMAn%WDSu@g4}Z=6y_y>vsuE4y{H5li^XPMu~U^oBFn z<2l=KZ5$42uRn%R@V51LH?DGPG#h-cw+}iNsQn>D*;30!XtzL#t8K>G`W9j^wzzd; zpcyT`+l4Lg%>59SCG13I?q6u}O!)muqA59$l;BKV`#1{mA1;YZ0yDm zv>797O|{bFbyj6snnkJgwtQQ007sV^=^OvdV|1eU+YC$~KE{shTMBva+>bD*E{g5F zhZqtz?(B=t(TBn&(Yz>ydEjyEp%iGSx`iV9h7%El)d5E2rN9<~!kSVuKR(ZOGJq3+ zvT%WC!lNq)9n_oFJF3Oi=lKD3;t6@ebfj~S*+OG*dljl>u8SnDUm z6SOC>#XMq*w9lrrGlDJdQQ6`?l`Vd77qJ8$D|;pN0BrG7yze?Da?b z_zZoc{J^CG$O8}zh~z^!Q1*6~4Im?gWrLcwS`rR45DsdTy>k(Cb(|0n>do}V z4+IB?MTD2<1pC!|s%_ir`PAsymhb2!B*@wbAPVZuIt}~$;F&YX9dl1&kk4Tg5Gy2v z=SzjfJInu%Vc|XXBJ$sq7=nw~+wD-VI+Rbb zbGfhBa?FyZF@vLz0b}CIYG^wLSfzEgGFh1@TM1R6{DKV;ObM^v$NAS9Y(YMR=Ex3X zo_d1#rC1edG78WM;uqNPv%7aG__a3>ywx7%kNRF}D4*xg* z%uf(hJ7;#8i_W~{;CK$t%e)$2(K|G|nN1zaY1}8Q^f!b=w?PJV?y+UJ!LC6`lRu!O z$sbVCwa75pas!pvc%wV@(2+WG|{LAUKd@G?+R7FVK{)a}Qn&J4N5xnbwkh+?a zqJ*)&Fy4I|j`{7Y@bN$6H>{k2r{cW`3U0d!)7ir{WCWs zdQzFRsqzuj4#!ux9yvb`;%u?)b6ow4{V|6}X0$5CHw`Ee5$`s$oljEU7aPt#s?$Z{ z8jy>;3>30Q!J2}7BYRPU-3{Vak%QlMRN=kmY*&J;JrI1AyWf&H_9?_l%rgb*0s4g} z%QK<9lDHe0h-jjK8=IrXnH~%?WVMMg&aC>do5=#%#aJ+B^HUME8HT+r$hKaKGvZ|9 z8&N!uy__DNtZ#{5ETh}9m3PVCoP+ z5V_~W5ZV8rL0S(}&im}xiW8x^a9C0M46Jp<^qF^8g~zGu8T_lCuLssO9|dBV2akjz zoTSS$z@LWaPB3$+1N-|AZP_8KucVnTj(CS}kwI>ln8pdC)pu2cxfw(Z1i8bW*)H!5 zS(FB;Vke$BFdz$Dp-mmdzjWov%JpfSyi7)pL2J&0NnTKxtDqP_dc3KWV-U8@MPW-K zk}aOJ!HO|)ezhO?>RSwxSJ)~I7648$z9cw+)?Q`@*`AagZ1)PH!7&DI%It_n;4Hj@ zQpNQn?^M3)QQl!QULt(Pe4vP_ec=GU979qiLRg0IKn!9k2GNnYP#r|+GBF6)Xmyif z1`*B}d8$F2|8s*tPxv5`_#o=Yp{0PZw}{Z8gnPBXfd`ly^)LEAp2M>8GoQne@Aq;J zs~;z`L@(#?@Lfc*PHPU|@SOP^-n#E+1`(dacOIiboN5lqUy5v8V(n#N5AfhJm4%U= zUiFqjngsY)W{2RH1w00;cl!Du4~eXtoBb{uYav&ivc%0~U=Lnq&%7+uD8psP^v%+~ zcHfB2v`mA8D{D&6vJ0;rV17MY^dMB#apR~G2Q+4&wB_;CL3VTO z-oiA}f8`5RFf2tlyv2d7R5<|i)sClRrb{;&iVAf9L373Ni&OvHA@75gQ8%Zig zc${(i-Kx^RY2^7;ttHnx?t7MnCT>WdC+dT_a~=)1hZ;0k(ImnYtgPmpnEYcNsK#9?}C_;9uKe;qe8`>*Cy#WF?8h3-sn-`qQsNYOr=b z=Vh)c)_WEsTnQ@b*V~G2jHzf6KlVLRW3GZ9jrSUj8-Gn2SHB>likLKRt$9ovO-`1% z8oCkA7nTSfX1P`My94{`k`I>hqrxc{VkMjr!7e{=n2t)zU}(kg?P=ig$d$^I!#<8j z)BWT7I8DdGnPEK>RxO2qaf(E#NO@Xz%0#JGz6;w+S9*=~s`DI~-^0hI7=&(`U*{&Y zWx@L)OpE-f@F1Z4shG;(a5Zh}E^Z8mO#MEQ1R~z-)}sPj=Ly;v@oR)5F6*EDV~qV+ zj?J}jR#{j;1O{64ga*EuFGBuunPnv}1Hon7I@zB`-hI-nZ4eWi?B2!@WG`n6Qk_op zjE~nK)hUH4`oN5}?Vs6{9pWxi!Sg7ch;;)t=>C~&v)hD7xwhW6mbN&~8hkL8`+*FF2^-O z23*Va6%l#+oNh!o>5+{D@UPE>kRUyf@ay$FK(4KZdWs2H3K^4yHGhvS4)>}Fy#fS! z(EN4Rt6b45hF&#w?p3#fu)v$@BPK%x~9-w0h-RJ?J#8X!bpFO?1wGOn$&d zS$W8y<~}CT(A2SDf$T4iqb-=}L>Q^D#o4lmBKVyu-SK>KvGPypA>HvEdx-WgFhqUa z=K3yO4E%I0ju&Zu&5%TQ@sO-E;k%CrJe3Jg^GN9APN}4`4AcJbSu7qgs{kzE{v}}~ z1tYN)z~8Nz@&G~}b0~KfS;{+bkWGXAOp{GP*w&{TtUlXTi?>0`9VIQ^jzXS{_5-Ul ztsQqsoHo-9!V?7$9$I6~y+-mQ$AgAbEJ#J1VvXj9eohLov@SNl(sOI!Xb!*VgsMqN z6sBUNrhbw>PFgn=d5^8>X>AbkU31j>elCzoob1Dwk=hZ1X0lqldJu9X1yh=&hgv$6 zNT5ta${`%kt(XAGj68wx=-*}hQ6*BziBYY@Mb0FCF09vs+VfI(gCaXFq{`~+F*I^? z$_u6b2?fVzx|6Gr_t5YDAn;FsaQrB#atIowLE{;{0viDrK$M!EBT1b+_G{HnBmtnB zz&6wzhHd}|F9uhCCR29gAH5u1BMOesa?c@PbJ(5!1XikToiu?oS8}PCzR{RIFgWSa z0~k(ypDeg?2b#`gWP^JXqUexoD6-_?~ziSYg4p$$$BBup)_)B6U#LK<;;B&qyM%kY-WT6fu z<3?REG+C7@^7u#`i4v>LVo4o&T9# zsZsM+s?0Ay%{kKZ*>5l4R*);6q(cRel)z6W+(_4zA@>APD33jeLUQhetMS}DSV=hX zbbhjoTDyd8uL=P0F-r*nn6FLM>=!eo4NFZ{MFNgLa=k0mH z`0N9ohtf5!v)DnhA(%?i7T_eVIZ|RW$#)49m2bSP?4#-n*uSApfL-y;4k$4ccg&JB09RD!ety?$HK*eLV(L~ zJSVv9hU+EaOFg+@622tR2OKUdsH8IC-_PPfui^3!vMlrpE}kCXl0`Mdz~#pmI9#5m zZg999JD&=4f=kWar-I8gd_ef}OR7SJ%Y}3u3zv(j*4zpG@tokYZjFG;Kk&=p^8Fu0 z`+2OGw?E+vdeCdQ{Pv>W!X>>2xTH}HF>v|fPaH0ftNqGnpPY9RTwa`aD!7cp2LzWp zs0tM>!|6H}E(566+zEZ~oZ#~NrvzMni(d|x!{mR@@#Qw&{)CU{L9gLbN(O>n;Y%ZY zNV=mh8g6lj(wCjjbGZ1`e&w?U<4JH?dDp4nG8`WeTqaT#DqK!HgX>thbd2C|`4Z0w zE)PE`;8KcT4wqf@0f);J-u{HQ=s~aHGM9*Aui#SE16&v-XX@s;c_`| zf5L0@px1DjMx*K#T;v|$(!|MH6fSF?<#4%E?N>fq#g%8B=u5$!0xn$M;-VIU%b( zG=$|RFi#$v#E6dyw{>bKjrA3k)o}u#R%TQyJJ`2tWu5vwVn?UC3~UogN6Pdx_PV$* zvcGY8DdEo8+Vj=gJtx&3-TT6FN1{LWyo>I`jAp|s5l+ZV=AG;V7?TkjDyiaWDwcbW zRQX$6_@^4#XkKl*@N9sPH%s&4% z3x`7X*YA&q_&!@!mZ#THqtK|%O(M9i;l7EmkLlA>|c<^7>Qn|0SuSpetr8 z>W&K?mA8-&wyc2$t0jRAfl175^>MDgqU66&lDpkG{A;+&6%J*>pW_}Qf^cNmmCqyg zveWH*g`ObM>%PBocewBGZRy_JIrGHup>mTiT4ZQ=R6rKWO#z%TSyA}w})tbP> zwfIzEPRhsc5cK;&M{Tu|9=eHS^~O|q6Jrgn>~VOHqB=f2S_~VgC*@nIk76;1ec$Pf zYh0hmjMPwVKQpd5cZFx9vZniSC5Um=PqJ#F<7yow#+AokcDG#Cp}PNIT-;ZN=8I^X ze_B4fHQ}Uj%|FF_EuR}6*WWjHKdw8)xMXjk0aTFeH{L=cW>7>`h0`c@N0`B7t+2P> zJrzMNCS`O(751R^4G9G3?xs)8w+mCyJ!yy-WwiUI>Z9?c$`5()Av{2yI!zU3qBpId=%{rWr&i$_6l)pOvN^i_FpJlVZYi`%A`VoOOnt;x`7k&Ti_L}Xq=^`5IWQsr_S$qu|tqbIZ2 z=_r}6QJe0pWX71t!-nf)cL{y$*(i8bA9ubw$kSK4?t4NEQYc-KP&pJ)x>CG7uN1G& z*mCR@5hqUTmEz!PNe)?RZlX2m9t;s|5^<{TF@sG)j}{ZFipx=C-wo^d{eMd@pk~Ss zJp-JC+_P+sD)&^bMnzaC6t`iX$QDPg+Ig@~L4K|@P;vMVY zak6qVoH=HDVtwM;S8FxqoYzTvghX*b)e?5`QQ;hidJ5o?&Yz9?F8U0L9M?sWI)e}~7`>Tk$NFUMTvN*^n%UEuF-_NIh!pf9cFDt9w2uISRh zS>Zx_iNY3X004-AfNa15ZmAlZ?w@p2X+_5{v`R6wNV1Sl!#WQ&fZfn=CJ!dXS|fp_ zgt~rNY}Y$h5g}+K<^Z1#jcSlV=Uey-3K65kQHY9sIMz17e-JX$+w{XTZoG*?Bp&eq zeaCf@w=hMcskRO+8gFzB9iJ{$jDq@he5O?K6m|^b7rO2nUm{grj54zKIFg%8%g-ey!$F@E(sX$ ziy$oyARQLIN^z3WUBsRSAb@}5u?VS+US)(*kNg%8f8(1ZpSy|>2ZPF;ogr2H2>KVP z0UlG^QOsK1LaX{Cyn@adE-y>7_&I|#Pi~pyeFu-lJg>&|z6dwDwKUaLvsaUj&AFQ0 zg|l{QT*X_kC!`@C0rGJeJNH07(p+~&r-6~I9+#tQyb_h(A-CwU zXpD4QHNddXu54rbp}3GU`4KooqnHBq>)}mM{11W}n7BzJ9j)@)R%2LeX;`+^p7Gi; zb!XA(`9}0wqe)KViBjkjheH3IYwg|+$u3Q)!G{{D;zJbbs8LkSI;CYd;JQwp4Ec{^bM*cCG<- z!JN+61joEz&~lwpJ;3urnaga?{18htrqZhhY28LrD#O_&+SFBsCH*`P#c4|G;64`I zWUKy~)1Tm39QiI`$3p?i!9hKy23NDecmzt}Ok*jyqLr5ycvCOdV4jMouNDeK{Sh!n z3~;dG??^!pH}iYb=kdt}Q|1vMd&86|CuWo>$E2UJR%>PdjnE(LW}~q*~!64cN zgMih&X(eY6dhhP|2!qf|4_5*@qG(Q}=<}jzKksfG6^+fG1-2b#T&`#U)=nbpUHCeJ z23n{dIEAU2r4J_XtLo`VSnn{KFU1i;(C3^Sy*s}8LntV8t^wXJk5iLa&N=LA40t6T z$GZ&PFMm=Wx3i1zm{7C=JwM}Rv}J|pWH-x*_-YhvPoN<9YG2X(OoRk-HZxs+NF;t| zdte$IXF37e97?@Qe39(kt*4JTC+-C3d;w?_9WRQecy}A9=xGA_#G}0dbUpxG!~vZj z0knYt{jCboe6|lq!wArN0`xKUaXZ_D#{}p{{}Vvpq;~SufCenGP!NEYMDr@3pGp>h zW@FG7?9|4_1zLnegGnlhAnd>W{M-KC-A4Yo_w6e5S>w92>)h->!SdZ^2+N|}QtVk0 z-vnXO1mnjX00_(knavRpyovK+1Q{bi<`eaC340EYD-Mui)+|+=3vHC>ngLg$#SNls z5Cm=#T}$NO3X!+XoThjGQeCp=APXrt<;}2TZ@^47(M-+WaJuyByX7&c5Q*bnB z4k{Vv{5WO>YBA)9KuPgcx(=mSFRhy%cNMA=O8RH2)W3NSE<# zB$pE*XHnd9vuBB}$mkwKBdR#SaSR8VgJM9?1&fG?W?RK!sbV!Yrh)UZ++fsUYLw31 z(!)dPiJx+$&xH2K)@t{*(=zywzJ(u+db>r|!X2_%s@Mg%sOWRxCf=>ef8f#Su9?lg zt`H^fUV$99pD`HkR%?xb5uUsNBMplNO+yT%bG(Q?IC+q+Rrtey)Y zt5u$*8l5}B-ET$@qyswoh~EwQ;0%~1!}lhid~fFYZY*L?9HUumm%VdI=Q!6$e=_I~ zT)RQ*3LO5)GN~Qq9JX*Q7C+o=97+Q{+0AZ0fb7xL)2z0NZLWmsDS1I{^^_UXrW)Vm z9B+H+LY;RmcEX#c+$e3Dew`H;*JIC~`gd%o{Hf>S2cNmmvv}L%i-#Z;cJbNXc3ts+ zi3nNe*Hvk2Yg^)Ro-%h&q75vP(?H8(-HjBbLi7S^r^%@9aN>=Tl*P4 zeOHP1O*We=4!inoNY5-;h$?VTD-s*2nDZHVbT$Ku11My0WQnwe#+ecQ5BKpj^WX{X zR^>CCO@oJO_Pg2JSl|mfw9;ttPmX)9WpBHsa;sGFElpfyn^Z};zTsBkUj}6n45ube zJ#*Nf;}D}J_lkvhOm@?8@Eaw&>1E_UicNaLY${I@Q#%UcdnfKU8c`Sf?i)e{C~Ryk zq#-%a>Vpx%pKvLl2-6V0VeE#nVKdky13$TlX+rpd;7nN=rsEws5b20fbmVZk=*Zs} zi;g^xU*3^_;sx)>1H2={w$eQ&JO>j_K_-}n z84M5lH4PuMPi@Phwv`)ht0>%-RGK_`L^AiYFP zI}Xv#d1^Z!ED~edi(ft_eYl;cP!OGM_lPkq=`^M%&3sHcsp4S>0VwtX73(^tme5Z$ zk#FN2P2_!QTX%-rdX7G#iM(92^%(BOm@esNOz;1-r!kd?c4n&WB&hBD^pHBH@!@tF zP!OHHlejtF7!U5rf%=UycW9;Z}YlTG8WvV+rBg zqd{u6J&baryan9;x{5oqCDu=|ihK`zd%o-kI*jX2_)NScyK``AY&YKii4XQKr2?kc zs@<3v?#8e1g2OafbfcW^F<9rvL|5AR)FEc$Zl=e0`N?FAl@5M@F3hH~F?3}H+5$RG zR@*vQEQb6(e)*6`h1+_DI;Bh)hI=vOr@p2K5xO!;r7O>IKQ%23Z1Bjh;Tnk@Y(<9{ z@+>}NZC4u8xRg2-UH5PO$UF5i9@84JtDUlhJGGk1(;Df=J2k9|?lIo6oz`RD34A>o zq>2Pmb1D<==FI>WWRZ*ofje-6huWv+;7aMdH-#o6A-RY zfv{fy!GY5Q_@9RVM%g!;IhA*a`|V)I{|PhPXO{~z932%W1c(y*w~q7iZv=7Y<5&A* z3HRq2qWXONqCYF?9^;<_Y{!&2&10l|wI~_FB|Sjw`lfh;!f|O^&eJC`<1m<}X*<9>761BN9ND(YaGI{mD01zfN?9 zj3*fg7ho0!94<;gK-mFZv7UsWvqPz)%T#+u0sCb$(XE!?pit_N=+k>Y;7$ zU&D6OUJ5QySwps)&IXWA@PbY^V5h7GafO*+J07m2rw}61I;@x*@I+}oc0iJwAu{n!oh;6}62wNisU^QY>5o{lot)fRq^v0_{4<+8L%i-^q&E|fFd(F1-C zk`uNo(F>$8jq~JaWQ4ruAG&vu-Z}?D8Z5||3}L`n#Y0uS029Vb+=O9UCE#&GIt|~m zv{>UB3LwB<_3Bap!J3|qX~iqR3`tLe=i+Z(D0S7z@1S_TA-w=~gi;^ETYd*5T*ZRC zZ{+e^z86tBC@!vTJ-ogh2n~*I?4fR0tDNiGrljdzqr<(Sn$Q-s1(`9mt!KZB)Rv9f zP>rp+773~B%3h(huXYSd_jDLtS9&_qU6*<~GF|6+Iu^PTJsl;k3xmM(X$HG#SFz6S zcg9&wJLI!!gF|Gk?S)_}{x$?9$jR8X)!-NyqJG=9@W59;=;psDE5#Y06co{-l_FZS z(jq;g+?H1Uc?~ubK$9%*akJ~%^5amXXxs@lC@?0FXS&gS3}z?r)?Flpz(S83R&dULeL;KpbGz;^D+<>!s=AAs!wB=_VuG-{==cxVz|g zp;SSKo5q*8oxBmX6Q)k>Umz5xk=DKK-L;NE@ec5&9old0NQf;hTZG*i&SAY^c^iY% z*iAo453eB};zy8i@6wmJf@W2;wGh1ezW@Te&Z&lpf`)oFHKzR-&)kRjXn7-nU!W2~ zcHr5il{Iciq6h8XQgT_dE5oDpQ9O9D3c~f(AEWv{v1f+dhd7#Z=<%9?@L7Qz-r;7P zVwWCy5?v;+WMJqdYgf~^k>w7p|F%U?Q*$x=0lbPdYtOvZ;5uKl8-bdWKF<6kGG|y} ze6_}QT%B^9b)>-mojaZq)A0Z|yJsHn^{AWLqN9%D3?ILWHDMx#QGNGNcvMf&XR#fm zA;QxGNJoGN*UD_RYi~7l?rC96V}aFV9?NyUAUzB|2U0ULGVe3_yo=hZxnaG4W#H48 zS$>^=GJ8ExWe-P{^${2YsT#oP;ZK1EI=BBh{0hTU97vU)GizV>m zk0FqTFGv+5JA4Hh(dMuYhj#vY2{n`Xy*i<^r_IA)Xdk$qHSH8;v{kHLz1q*-qAQ~O zui`=++B`-Y23HI5+BM-&?ZhHGX&6L47^kuq2g$MR$D(jT4xmH0;E+ybiyh(d!2eS& z)M%8(>>7BrJznG89>TATP;*@(&(UWB&W=n1n3yJ z!!mtbZArtq8E7@Kkn)X)aJ=lBXy6@~m?mtZ-bHDWLz!qGhf&y|cQ6e!D$yF$m|fV= z(~*7Q-XtptZ%$OD0JtI`4i-rQ2q>>qaQ`E6jUiAtl;?OPFJcSxqH*}DE4XtJ2?_K@ zX7v!+S7NJ8>vZ50Qe?SwUZ*CG^tJgK*F@RxLP{mv6c8fenx!2jiK<;m^BOtRfjqIB zt$G5%jUBzc}8F=|9lWrS-#a1 zoX5mWgh`b%wNh@vygOe&KoxK+aj4KZFi#Vym0TqTf zfQv@@kSVZwZC^X?@xkPNczB^EWTXczbGBe}ZG-O+4qqaEEYx29nXQ5AQLe|{6;kg2XgX@VhdE<9 zcL#OOmglWGd{5&X(XT-PC-uvpa1MDm86?rVlkytdTF@r`+nR#a-oW)zg$ETAydI!G zvog24uBVIJp?H)kDNRO?J&I&B<2`z_HVUpLd%*N|3Z2-0+H)G&!6jVXiqJpl;PHAYI1*-ewE$JeGNO)8PNsuZbs4kmN!?(3! z+=+p!&?|4p{nCn?IYNET@#qezLKjA;wJId$69De>2H-kH4x0c8W?m~*PC>ygJq=@z z)o)L-`Yk8a>G?-Z6c}~*3cv_$6H{Xdyn+WRN&+7D<1W}=y-&7m9Dx?qMpP6M;YT=< zs?|?N^-0>m-Bgi3;a_m#iOz8g&2cNBf&Uz@n&`_M-T*GLNEs|3Mg)BqcKHOd6E ztzi`H5zdjC1)O2EKNs;^C~tP)H>k%OD3U6E#{nl*kgga2de#;!>$CDh5f&N^KNtg-<1Ud+(#7a-IY=mopCh#DH4gly7 z{Eh-2(rbT0J6-R_wUuv!{VDtLAiAzBa8gH9mjrJ=gaSZvu~I!%={4(m#@?ATm&&B2#$IA%qg@WYtjHw2zOQ28%r<_NQDMi3CGWlPl8k@3y-nXJ3DvnqI$+rU8u@PNC zH3CYT2g$Wx$G2^Xb6?NdJ`gra7vV6dIE(n=re%;3Uh2kJQVD?qAOhn3;eN5eEpKCS zYXUX+gS_qW?yJC95IU$1x~)0nry+=Z1|h%E=6CkB`6*~L_bG~h8**$?pHRQ-1Kh<9 z-^aPfU>5LwO|tsEGmleqz6kOCaHt*B&+Fdep9dY`p+wdX2X#+FiL4Zzd8Ack**7L$x#)iB$k>j1!o& zu3t1t20XLR(8O$1t0zMuf&*PdQ8K3J)&74D-5&a1F$E+(JM4hEn-qSVFd`gi(CBD* zFXQqwG3?Lxc7tKGgTzv61^6hA}?U*ll{)(FHoI zL)3^N{zp^v(LMjuDO##l-|ZBcky+@ZDasTND@UFF(l@A$C6ISrPfMQ`CoTU6AZDBS zdez&KE(;K)>2?*7D(56(&}9XI7(DjN=n6uukp6~Kjc-E~(ge<;ORRdnpao0C6#f|u zB;*JYq`h)HKUA|ysCv{@7i!KD&Z2V)96k0wvs59FVB z#~^jYJtjgoc|4mlU#Sb#+Pg)A++2YMGQgo?_J!h6WT%yJIx3-Rj8QAUJ_W3Ch!VX1>!_}=*;FON3D(#PDc|mXiB%&dm^Scmcm19m`wI z#1%N>8T9~EcGi;E;EOjV8JE4B|fcOmdRgwlE3Uwj? zL?R%g($_{V?BWmYXksK@Wp^m`;ki+2pw@dm@(G1E@~8wnUdFdTGI0bAI-R0e1rhg~ zm__;-sI%caXM|)$5yc^;eMnn*r3u`I^@o8^X@t<&my}!cy!!Yczbe|>;gb!#nL4zB z{WCwlu{DdITkVoJ9_P-Csul-ME>7iB-U?0~t2v|muoD#$Ao5VX9HMXGG_^aGyDj7hi7LbA5 zG}kZ^c5>57Q$vt%?bzJFV;^}SyN2-cs;%^#Dt;vqh6oy3HkxoB9q3oDV4u|o;f(sn zD}5>4{%J{&ue z!U>@tfnMfve+-%scr8#a_lOErw8?aWp7&=w~` zZ2wFqVb2nRNi>tN6+Q}P$l;H0trkxtTx~0cE=TCJtkwJwbTp0d&VyW=&(jF={6W)r zM<{;~JW!mU^cY1{q1a{=+cYLd{dbG0GpLK_VSxY;iEY|L?%;v-KS7+{ipF>Pa72n(iXTwE zFPy>ex(-b#d>y`3N9&Nf$eWrSX$lK50}T-y&&T3ffzw~K5-B4vmZBrQ%Tj!#cT4g6 zl9(ig)~Y$Q4te8HFC!oD3`|K@*R^;Zl+aIe)hRM6nBn^ds>d@F^0l~SB=v;W;(Dyb zhSOS$ccC}DF1{Am|NL5fcnd8)m=wiYoW*a~^q2y8$epwnUq&k{t1ai$MdLxHQGNmn zk`5+p<~B11R_rZk7Uz-UW$zv2YfgWVp@2}OK3>xho1j40kSZvwD&;50-bU#O=D4P+ z=?SET$cr(=GvT@O`8?U-M1(U1i0mKd(C!zh-%gpCz*!8)L?c~uE~l;6iNXse!Z{@j z6u&bX)4uXuhrg&9u^18fN?MoXkZebxdbcR8P+x``q;(RT{e?yY^YoGG5&lX0Ui`_W zdo>f9tWbkf*<(dCO<{mrg2_`FHxc)>o33^z*nO7;6YQqT+&V1RvpvT%-8$3m;uO#E zQSQr-GZ0L6;e{;pu13?KIUjdU_|GI-8WKS)G=vTw6qKy3@cQn1teIaog1M0A19|gf z5#y`^xf~F?5c@~k{YLExlr1u1&P9CudLj6OB4TKmG31>&;zTeHoyB_|4(>xidXUCj z2Q4tW?{hI;YxPJA7Bmex!SWg(a~-;Qfq%*gZ~OVuBecy!g2YsB$lx}4Oj+)6)sx~b z&42L|_o(1SxOes434TdxabH*>MaQgO7cpcBo)vXBkV6W$bBQ3pfIqxt&o9xo z8||PIFveq(xkJuulry2PC>aleTz0OsN$ir9cQR{DY<}PDcaI%2K}Fyi#?C<`m6K=L zyDJ2sD(@U?ws?LVCE4ELt;xROnAV&aDF9v#U2vDjo)sP*B=(097>1%w2+Se~yynwW zATaC}++ItzatPGs*GJhYq%-~VsF*yCFnJvIl0fC*gvyc(1tB-?u+fF zoeR_1rA^%p)_lpwZ3pBbNLjfxXdu#jtQp_P+-`mnTJxj)DsEeDfulmtXboHjMxPp; zf8WwObp8q>{@+i?yZjpTDuP+f5-s9&vcA{H(|&D@8>79%}C@i2AZ%8t3uA&T)g3cWN##> z0K92O_W;E7lBXMBmq)Ix`GOyFdes@1V;FH3dE0pa8YlQ~W-FY~96*b`C+vF>+-Wxs zE%CI)0lD%pMw?MUQ!tN@_CAdEu=^b3Kq;1{`*q`>dbKON*o?lk8)^$KBCh7Zab!BV z0M>YimBwUKc3U=UAaZf6wsfo!NfA#atjG3r{Z6b3kB!p%jBp% zvl%ErNtn5l;-^k5h_l#;+XNukm$$}Yt+xhY5WinZ-xx$yND@g4l$ zQHG~TzLS?}MH!rjUA_}#Ahqe~NX;Kn&~!qo*oSA{6LHcCI_2RF#g)m5e=RPd(t;bv zPuCK;K^7SPW$8HY(zN*b7edD}JZJWB*RY)YI9Hmby8l)B`AJvFani$&pd4Hy;&am6 zpYvtUea6wD9=?b6i?pr9m%$<+Aumm_mgEm_ODmgsB3>hBw#cO1hGJN% z_yay{(C!4i48mHno&ESeDiZ6dZ-eGz$h+L=OGU{D8tEq;8s`KU55pZbprh2w@p#4& z4)jHQKu1D2-n~KN3Z;HInTFI(g(VawA1a=}8bfN7hisEaHcAz3R57*Osv(h&=PY(P9}G_z5E)E^ftOp2ayaRY`1!@H;X&=@ z1cXOE;e;WSdNuk9igE5{0)!>^YB#((cC$P{3tEZR+}z-;f*0EqC_V)*27lzd7`UuB zai$d{Nv-TxvR1Q+DpJ}lx#L7t3E`?nyAxPDh%Qc4;%vgy*795`iHD!#VRjAb%968p zvFBgG2Ht8nqc(M>GT9vQCh-qQLO$MIKjcmh8T3F3;VOVN- zE8PRIATb%#QcYyk|1C?Z;cixWaV;iK@82{Bm_c;$e9HnG9R*B_{?0tAj7wmJj071nRp8tfn{OH}xy`6Nl+1-T zkey8bZ6W128^~)M^c1>SfaF>$;qU1@@;NMG6qN9Xp@%)+sQAd*AOggVZX zV0Jr~*6MQ{{uy!Bs&g%HPxfE2>Uwf|X518e#L`x$bER9Pb$z{`O4mx8Dn@S@uGdVg zUOu`JzmCi%i!$-Y_n2>@4kh)jz7{3k?%ksEP1NJw5Obf5vkFfCM4dGUVvf52Z{xA; z^j&MP<@R;S_QHX(c3%&z$eGx)UiYKry{~OZnUSf)E7u}<*L8YR1L_ae+K?$D7#!rA zY6waj6ERu4E)MoVKj86?R^oW?^`iHWb?N;Ui<0-_dtdvmheV7>&5lg)UL;pT+6@Am zk$6!CAyHVCg>jmcIIIY>K)Aev(NPYF2{^w%Fec=vj!%yxUPW{kvTitsCj}9edGeJX z*hA=~P!+)-!$w9bgI$j*BRBYMp`gyH$U1SJm&DMTT>6MlE9HgbGfMKMr41(rkkt-q zi!4`)MKNP6$!Hk2R1IlIvzP?)D?Z6U$EaVB7(3^XGg_3QWMpo}0*3eqt_gXHRSzKP zYEU|4ZQtNvp}laj!9OiTF(Q(EvVUlmU3;6}bdRpoZn{TbX0^l74a+AFN~BQgfr&(l zCqV<}&_bVVRi-9e6$8kGYp~s)mn;{?+f7?s{X*a$TLxK7+vXppKYbv7JP{m3N@;4t zUg)SYU@$O0OEhvQYakxn%k?!zArwF%#UrHbwfo`-5U&0fMFs#MmnX;BebC0##>_=z zPZT3Zn#o6DB_@O)V?YKPnqa`drnD;eB(sOH6R>5!YlR=eVX5L1UhX!%#k&(?-^~V_ zvel*>Qug^50nW*r?S7qNH969BrHS-|)u`;p$=*+awFdu06w!H{{$#I1yCbM|D%&l} zyLNx_5YiqEuqYN?Zd~bb{OWTpy0TQOY4j3<)%2jQtgp?q)vA0AC(vA~AO!5unGqLd11q;FA1X&B>jzXR zuMh-CAKIdlpaCig8X!ne4R9VL$l;r!_f1KolD#N5w3p?uFf?|Ya1gbpTTFYUN;`=| z^%x*GnB9c@B4itPacL=*sWno}_w?b>VgPVGcJ0ENTgwy(Ma3^pO_Ib1ndP}_bLOr7BK?$uHF z^oI{+6h02v^c?lpQA2`b2=>vC(2oTme@7XT|p}L9z(&{MRCf4 z;Z@;Xq}Qm8;F#_Z2;E@R`k(1nq`CiEzra#-ky?4*d^2d^=~02A({LbAaH+*Eilz0g z*w9lJb3nFvkEt~pmH04N?B1_&+$R7r0gNatM|>dr1~9l!!Z9E}e?dPso-P$RAK^f@ zk$Q|}(gR;UIG(B*Q{@R#@ED<KHxel@r)D@Br`<%&3-NFqQa1NqR$tJ z=kx)d3*G@KV;*GgBILc`2ECi~;H%_uDELW|7WzmH)J;$NIji4U> zXV?X4^9r(SUrr=Fpan15T4wmuQxXXTzPu-CmeMF+)yR@_k_5a$5zq>`bWZ!*`Z7~IFu=R z?!yQnOe+`IlqB}pzri5TUC>j$ZJ-?ul`q2HCIj?~MkWX&G$z+yMAk|$3~&pugxD+` zvXbynZh~edmtkmLg5W%)mFg2p)l7f^=jLlTvxff8bypP~f$`#`W^Unv`&!)Bdml>E zxt)r|IEqLwh08L-FCdFPzfvyD(*a!u$l4j;T=ooh35ame7#!ZFF}RRU){-IPfD39x zj890Hv>jSG9+b(uRpxyOeHMcghzbLUs z`kE^#R;-)6ga@)}RE?WN_8^`H53Qw9K;KI6e~Bszi~H)cEAcF*3?hv6Wh+nx8-vf) z7vVM$#3uYm-5>NIlOiGlmI{P%=()dURjA3S+@*IaSK5`^a-5m}Zkw!|Yf;K%#NH;h z4GAQRWcr){Ob8l<6d%gBigkw$fmftuWCz8Ko^HH<#f^8#4ueLjct%_%$GL{!buz`* z)^6qEMW_jbtXhHhrKROpb9~B>y%T-|w^og7xa?1<#ufYNP(1eauKq%~L9W3I@EH27 zIQ3+mwgz=7$#r(^PPTF!afkl&R@T;F0YK}j41$_*irKFHrz%EF!NRtZdTRTXsNauI zLJcO9wCob#eSnU(;Ls--)$GaxMtkO=z|**fe#@!dHZd|Yb;PSaU#+INI%2&y&s-aEcd z<1#2ZoET>A5mdkXqTpcei?Yw+n<87OikIV@+O3vQQ>ekJXf24$uxuuVz!mFUWG87I zYaPCyUF7eWeIuzp(nN+s%4N<^njdjFXhmW$R?_W4h3pxhqj4XT{nO*v<8`zUx!QWD zL&1UXSy;P`?1YCjGIf^v$$IRG`iR&&pKb(hgG*p@6<v8P#}`Px4pdIp!SgdX#wX6^}%K$J;a!XwZ$7;X|zxE22cn3m5&8$ zHiuGkau9;QMo>dAtn-OZV$~uWv2{4btEBuB_Y^FunSFzM;^WBdknqhIs-cw+Nx23k*sXYvXVc#B;9LK-7L=5cc&B1sI<$Q3N>L2Fpsrz3 z34|Z)^AMV}HJGBL9E+#Hu|d=l29m#?2p0I+Seh&-U^=Tf1PuKtFQXEsN323$!a7ty zCr~bcKkA30(d|aofEVai|AvGK01~ygHZGXRAS7wV)CgD;{Z>*I(YJtfGSlG`Z_3@c zM_EyXx8*F9hdN2Q6K7F$ao+Y5?tTs^wUq6Qhd7FvH^M$MR66X>NJB>avT)K+(z}=y zs~!hg!t0{&I=IEgS$(?rsDC$vRFHRM2qu^6Uv~N2v_!8f)%oyO00T8am_a83G#>h$ zhhKp^q)`HbUFRsgDa`@KJJqi{mnO|(RV;(B9V4=rHPxTIBISYt~6_$ z&qyD0mc?&Ju3g=BP`)&^*NC$b{GNqCeF=ZM)BnOGjh4L+(Pr#j1n8lD722^sx#Fg4 zXivXLpWWur?tv~y*@x{wQuoTkMw@aI)OtZ15d2>3nGDboouV{!BiQF_;md=-MY0yg zv*!7kRNfM*>7fCOG6VX(&~}@tZvOLtg=F2QYzfB0lnyjAaAjX-O<(MK5%gDBn_yRk zp^>0X9zTKXkR`W7=aQU-B|5ea(w^NvD3NT>`>hHDG=QWSn;{$YwgcEIyaurVcIaen zBOIQTJ?5N;5Si`<6v%*2h5SkP`xzVTEBb z!5jNzb1EbvH^9&>Ra}UVWgk9j4BiG}=^A2JoEg9ise&K>q9Q!kim!k08q^r)y4J4D zL;>{kdrTd#;}9;Kg_EH?+s&+p<8j)zbdX-EBymB`y;`dHBV8!{?fx6}EUOJe^7RQk zif5MG(lnQ3FT6F4)gm}B^kCW`NX8!J6Li2m)}Ff*X-FQUkEt69E>Lz5RYRR*|N5Sw z)5P_hyV(v%6hRYx^K;UM}MobpudGI=fLE6p6TnteR zN9oni-UGfwKD$5qS@eVNvEyAC!zg0}HfA49?;r@l1OVGZxBbu8sRJObKMg<+!$UU% zu*de~i*I`zz=P;d%m4<)e)jk1XVC$SJ;ea3veY>ce246Ion0^s9Ps?8;Sj`xeCF`W zAmjmr*Hk?ghI~cvTh6o3(Mct^MKn@rPz?Ar0O(ERr*IC01R158@d}%MC6|3mY`Ab* zvXgvrD@3w0ZEf{(5z9&0SA_!*@Q5H~yG*b(le9^icL!OmxuD9jzouH(q(6gNL3IjZ z+zxUAqzEjGt}4_M2?h%<;QU7fvd40 zF27CUCJ%!2_ZM+RZYdD%=V6;q%A687oN?&h_Y7<>P@WWElXryOI+8Yctq}L5}`HAHHTV7uCNm5vX`XKW5W-JLZTV>aB9Mx7E^t3KT&nXJ5<$TQFV^S zHJ&|yYgCfM=Hh~%kA+KJL5_x9g0VoakV+m#{nL4Jnugm?6Jc% ze9jG23u0WpXff4GD=4bLTp3SPOOCXHRKl`$njQh_M5Fwz&$*gP zV5BRFiG7J~LvDQz^_HV9s4B`0J{xi-L)!(ncc?6Dpe>pKO0|VnSrNM_`~nZH%B6mI>WC~Ljw>^?8ZXkL9K7?; z1<1J#4B1MA0W-iZ1B(d4!irjh$UcQ1oXe=PKs{hu3gy6~Sh-5#1?a(u3Fl$UEG;_@ zpm@uS8draIBQ3zf=|+sneV#HUy_Utlh?ra-&}@^J*=}~rry(BBq#lnV1uFXk_`He% z>@2>9o8-bNsHF)a5;m7R*b_#Mgq5V{!I2&hcX@^9(@wS@6;|_v0uH5-!vMUB2q0OM zLHlIkw*iSOhYZd5goX(f(VTRnhK>3c20MW;bK#Yqw^yTfEWzL5uK*Z4qI4Aj*j|A)VFzocA^M#!vhT1F z#?Elw9?%}TF9ZjIAKPeX{@8oOPJLMN+vx&sk@MjHk->)Ym;Ipx4f~kIByudF-D~-w zDnex?VdK#-Ndv0A-b#>z>!I>Im#kg_A3lsOf~CV?$_OJ(e`U4z-R zXy02>asqM4LClm=+52sLa0JU%AG-#z3|uNDCCrH51~cD7b62%lC=b~j`XKllk3NoQ zq4vTXA%@(DWFTQDjX2dD6i4Quu(g8(V<@8hXU9;_t?0iXE^pBE#8S^cKE zaoCtN04YH1U(!@`LnyPtFF2tb4+o4;=~e7pJS8$o2L{QnS}xQ(w4VZeP&faRJ*VfS z5^*SqPFg~H@KM`kKlMhvW4S3ZxeJt2Up>*z&4Iy@b3etFlx}j{hWq^>3|#> z*;hbIcK#v0>Ock&p9UeXKn9Ohb23Qus2ehP1hg0PRK*VUCwxx5eLE+ERqPhfN92vU zl*r&t;+8}P>u}-lVacA$pC?}s)fvKL&PsVrU{#8hzsnERU;yR0Sb2~LAa=J1y|h$u z7WJ2SwiWU@ZA`7m&rFC;d76#%>n$;8TsLQL3#HbLAZ1@On?xPS%{RDg3fa>^XHj-&XWC3;%({Pe@Ff(MlY zlx~2e^ceRs64Fvdx(D@Hh$d{pMU2D*%0Q|#7##I*kUbP5GLg6h8BF#Ms+P4MdKc?7 zuF;OdLLJNf475_a)iuOc`2}Q!OK>X}PKBnamgv0)5O?1~0cj2Be4Ezno*n~OS$Qm- z_!eLbE|rgVcjGq?CIJXHvS0L*U}qMKlzV2<-ZDdg{wBWB6Lnic^|a|Ch*(V`RkXCM zg>OjKq^IF2JQ-?e*f?j$-Pv!2GG@*B0^d&BLo|Zn((Hrb%E2(h%?M*1&NozUKwU76 zfd@Z>D~j%iP8Si*mPi$g2o=9#go@A8+*y^kY0DuH@E3%D6Nd=|+=4B)K4W-t@{N2^+B6t3dZ8Y&gFgP=u7+sc=K>F-tZ4V?NJ0Q z0?V5tpmQaA{6o%KR(3@^r^jS_QSz<@5ENUL!=IwLuMtBm;5#R<7;}WhcsM?N zMWf_yR6r%lsYV8BH0x1&ww9R8Wl01uTMc@;7SizsHVj-R{6Lv4o+aU#HyDR}&?v=@ z6EVT9`v_9hX%O`|qGn*ijyUvAur$1ZEpE&U(ih0x9Y&*?vdsk3)hio=QlcY*KNwE@-9aek`^aoMF=v2jG{5!fWhMKSj zC+etHrLV;&r-MBdglg?RvmU&lz~p>UT87-jV8u|rf>2MZsXmn_IOBDz35c*L`E-couEARr;p-&KM zsU6C9IX6MMO!8b?qQ}*@&89I3H7?2zU`bRK^%qV7jX+?3L_SoXK|^gL4Yh1K;+mR! z8johrsXGzoGnoGmL*GINm~z*~SJ*VJ zgtkOITyaVHjLSIJIk?o(r4Bxu6@6T~ibPk!n*fyt=ZF$E(1ohuia0St%_WmrMc5@( z9aq$TPJyab@U?TE1n}vl3gj3e@adUE9am}`+Ip#il-&Y+59nFjM;v?^0(?OZz8%!Q zzgXAS2OvaO0YaiUm4^Y9dMd9lfDmFgBM=7FXQZMQAPl&s=ia7A;U{=uf;S4Q@TO-_ zwf7o?lc^_b;|Wat+WP2SqYy|!N9~@l5GWG}sDLLxiAxU8#Gc@3CYy&$s_{GyN^$DB zCtNH54)TNejRGZE=xh+yM?a_W3$NLY7efws<3jxLmY6l}9MwZ3D_3$GD8RP6zg%8c zKvrPa(A>eUG({^mx##1_{Jw3I(%~Gn0yES$MK@Pu8YSK)RV>CcuQ)*rndv@J!swcv zJJ@|C1ZE?Te6WKZgI0shzBm*23;Fu)bScT6j z`|Moe+}*ChaHRMTARfYnMa0Nw?_k@&Zh%^Wq`?|AnB8XCK*(d+NZ6BGWOiqYJ)>)+ zHCGGlL5Lunk1k&vtb#sPde7gxE+f?4qiF66>l&`(WhJ|6~1 z?aUb7kgM{B+*sZ~+p0g)=R!LyRjv`W8l{St(L1!}F2qqDAQ~XOhqXbj0$OogBS{mj z!r2Zj{!CNze|+y7t7*67$H6;@1=t(ygO-Jr^#f8~f=4t|E8OE%tjxuuUeroQF07_T z$)7~!m8luQ7r5?*j=Hk1_5gQxV+?c>iM)BBu-eZknF$gEcpfs?l)3Po0Kksc^{WIs*U)RR!MnOD9GsMLrnQsV$6`QArp-Bpy_5kX04z(T3h z5jaJlWRv(_Mac%W9#kMuatBb7nh+?7Z`nMku~n2@lkUMQxX&1Yl|Xn3p~l0f-B!n( zX+X*V_K67PC44r_sH#d-g*77tT52{6LVF2yPi%m3Wn`Db2!buiS};ge-vV;r-D<|6 z4qDb9mvfcJyEfyn0bz2NxxvCH~145J?z_j@6=`>V2sv+P^-~}P`r@W3c z{0J5#`})a#0LK6S*n9W*D9U^BKbs2)*9l4_-lN7E4QMn}6Bp_Z*@aoy*dS{0j*Ubr zS`l`+6okMgHJfpjs%`DvUTkf9T5W5&>Cq%$5-v)>8){q8p0AyCv_`EEu(-eX=b72f z27=miJiqf#^LkBo=9!sip3CRq)7E8{!<=TOT5r2=rBWE2v}RcfJ=wWxrm=EfLuO~ z1Q=^l=2SyLm6PIYYK2@FA+jims1N#WvpNx{t;<9fz#i5LsT1rG zYvjbNgUVb|Ca5~wdg)pD>K>_~Dpb94R``T2XZ;EOW?4t8=Z*PB>`v84eZ4HW6zYXY z?(z6h(wN=yGLY@iS$hdiY_j~$vYuz58=dXr5vScSSXmuqg-;O`>ND0KS;`1ok?x1$ z!4hmpip?3h=1_ZND1I@QQ;N;YbIno7A}^_~{m5f9oYi0mnZlR)o_KKAiG~}Bu-%$M zcTgZj&U38@&m!YdZln|rp0-LIYnW`7{zfgM!o!@FlyhZ$j^>I9r*$GHqNNaItuV09 zktEw)x#azn_6mk%L>CnwEaaKgY)kT%`{@sojH^{+x_?%>N4j{*4Km%VI{Ymt_D`98 zC&wC&`#A3B_`da1#gu(;My5lp)i7EE1{CXb0Kig}OKLY~-sgtQm9*4>i20n%mB*Ku zQbO14fVS#K0(Km~Tdw`0C`_2&7?Q@5D6g^NQ;d3u}mrg|2A zi|j{L*vr$f^Bq1Quw$*^1Q?N?#Ec~ZN-_d~lC%ZmP-g;fV&3KJzK@5a_eTmGv1y>- zNQ^a{4+}&Y;+8*zUZdIgWcay-4`LkQ!jFyoX1#%CC?xRnXHEd5GV3``XuFI(ZMUA{ z(k1l*Myoapps-XEN2qJB+GHKX0Zz;TwpX^{d9m`i50j95MUZstE8A0qA9Lvfe=7v1 z4kyYWJOSr}z3rax8U2)XQ1=5ClqaYq>fZM3@F;xNaGZ3PtR+;C`)MjDRjbkL5PPCj zSN6LKy%k+$UBRjC)KC!iO)QKQ2J43f)w5$J#6{-3oSIdidSQ@Tz*5NOU z93!vAM`TOOKK4TcpRICvMaaa*Z?_&T$x;@ediBuA^}1NT>+5CF5jg>)u@b$!P0Zg5 zNuW~}tk%mSL%MPVYvk!l^>k#MZU%X-JGwu6aY-<`v?42Vto7gv0v|qkR7oGsTgt$Q zWhjJ3$-ipVsp99fTQ@?H%-!rX7Fct6Iksd8aHT97dEvTEey}s8R}GaGq-d10a;*rM z_+R#7I7`$H>-uNX=nj1qQxVxVz6yy9E6owqo%B`6eo&Jw9r6BCyX$pMq~xwKG}ya> zmCbNYLiPKsBI?4jpGZ1jm2KeVe7(&)hIGkCryl z6(Ks;1N!WFCnD(G_FVI_}mMw&e5T;0a?iGR+fLS3FnpO389@W^J!RXxAQH?@?3XO zdL`e+xFNpC5ca=BkA5MG9lu%6NxNmoFPhDanO|^r{B*aN9l!HAl^wsc`E|*Xbt>n~ zv=QwrkbT$rY}}$t76z@NC^~$kdS*fRBBLG=Dd!jmSCKn=iatz=!?q)av639H8JLn{ z+{*0yQ|>EmlWw8)RlkbGq5Q|srN0D;2M2j0E}P&yP$KrLfbCQ8j`*GGJuAZQ;+p<< z9PwL3Z)vj#Piy#9S^Pp`6)y{(kav0MEbZ%Ob1KH)2cI}9$d2-XT0BJsL< zd)!D3ue;or)2Q{_&al2gw!qsLDwPa})T^ z&_iyrPGS+d=CC!q=+LmIB3=}WcVOO%ibTqwAX1;*Me2(_fkZXZu&$mrF^%LN`QI%)CKTMGK28ZJ{14N z_Q8Htyg^h9;_CCXyYA+~@@`=u%pQWKR)p$jj|fIL=Z11#w@Ukq5h1Y~nJ|oaH!ChR z>e;i&Z4^kEWhJ|1=lPlnBEtmhb4!h!K5I8cvZFamv_ti^L>|apBW4#l-BvYQYS8*o zdh!|h3e~OrPdi6n=Sg;Y@%6p)HklHjw@zJxagBZzt|xrgxz zqRKTfW9bQy5f^_nC+>f7ZESi8L~6jErGjX^z<1u;f%EnTV>Ja59qP3J!nAl(&!?jw zRadX537GYTu#pIM)V;nxdUWr>$dC|WRn~fZO>c+Ea=SNjoKTzDA}BvEiw}I0ZqHX} zZnOJ!gX|NLv;=nCXp9TuH#?tVB z4W|egKqNbw=F12OOp9S+E9$K)SiIP%o>8#)wjg<=iL(lwms!Wta%poJIS;F+7A*cRd%SMGB&i?NAk$JUJx$l`YicI z+sRGQ4?PQ>RbCowlsR4+%9+Kf$2{>7p0ZD56~9s*-{w|EvaOY#oUG)?Z%~Tc&8y0H zL%k?Sr2ZNjw3C~t)4{9l+mC!LOdJ|>X=$+^^e+r{wTsZ0K>4Cjay!#7;7_g*4qWlf4?}$j^%8EkI3Wc5#H#KEq z1awN=l}RU$VpEIIWhzI7#olJnY)Y2BH;jx^5FJ?)7Kpdc&Mevv*@bScU>}}HN7247MaKK% zHTe=S3A-u$Jgs}LB1BJH_!wqUy`3!jPXBvT$RA33ZyiZ{?`TrrHlk1E2EA`-%{PM; zwRb$K+6@E<@e|57O8{l|03ZjMH&M%(nYHjqQgPw>bsArjkW_MhU6N=_+<8dszwfwH zRc$}$>g2#+_5-(j@gduS(DN84^x<)SEK}f|_cUseFJEOOPu~XYq|Sdtz09WzZ&J+< zcum=6Q&Y^Tsa0yysfjwMYeeeh)fp9iRaKNx&m5@-ArB==-VCRnOQar&?{Y{z7iQFR zjH;)9O(83R_{a+0B#K|W=nSb9B$8T>mg)$f02V&WtkE)Zmi(PTv+)dmLBeq<^6s+I z6mM~93C>5oRQ%3`RLmFh{=x}-hEM#7vkgc_S=PnURIJlg-NT8_n=HE9t^T@n^~|Xo zh-Ltm92wu7$Buj-LRaP}kHN_*!AYOW&f9KX@=pM($6CgZ_)@@+;af-PDomC2c`1#$ zKDvXyf0XmSH}#~`l7Zhlq}Er_Bdc2bJ2&uo*@Q>qi@XC1Ldj_TM&5u_`e-Q$+tV#| zn|W8dLYLR4=A%yk$LeOgHg#)xJ1OAt z_1UI;q@$B!NkAwvUfh3&l2k=DdrY38^z>BTg!HIm)e@v))H%a6Q?7x z%nsU&1AJspBMXcy&|3Ii^v5zt2OXjnl?Vbd-`1_TatVeFQ}N@iN4VUZr(;%?9X@Nr zSlXK`I^lqFgwA)vPdVPt8;i2Ce0to-wk9!;3UjR+`xIwEKZ*GjoM%45ZJlE9J_GXy z_A>hDu|ziA75Tj0>8tSQUA}Q_y0R4V?J-WN+buqQ5alhFHH789!-gTT4t13#Bbywg z8*9v(F>Bhb5v88U*Q6}6)PpXdP1?g?5qzf*w|Rn$E;G{c`FYgy7^hy|91NW{@ z(LL*B=;Ze8(VGfATFbBS`9ijBA^di>wpR8WTs&WnI4U``C3sSFPFq%VQo}z%kDVkNoa$wqlHk9oEu7*Y_eS?dDS;-ByB#LFOlaRt!s2#{v8 z3~yc?&kJAuQ0jc%Xg@F{6q}G^m`_Fb2oSabggrn|Hz3xIN)>(Hkgg#N1itc55x{m9 zhIOn)ls6J$)tT{5twX;eU$O zogGe-&27xVdLaS!sY2`W@l}U%WY{2}r5k=PIvq(FW_-^XFTAd3% zIN~S3SYnvxR>GuS!haAWVE5lv7iQyMNqvkyfCc0SjJ)%3}=ACEVa_hk) zN;BF%Utcf6x%G?RW`pn`NTI&IhsUjNQ6M_4`Jw|b)|;#>bC8^ZTTF_V<# zlaC#CATn9BpAHCDIA1841bQI}i3kurEVPseBHnHk&X$WZRVgPWVtd#rubRyT()L)h zQ?qjwZ7UEZAEgh`()2TdMo4BjS@fU0Sh>aQOBUTLRZzQ;ENbKw3@v1nZA27zfPARn zlCNTUX2xYOL=p7VwFlAQe7{sii=FfIuKBgsvCuSPBS-!tH_P!&cgfUzmrOkgu0f3k zAycg&MQ4gkF(<-HI4QQ(GrpsXp26eIO{-?b=`qMNY*q}2+4Bx`N50% zs*SELh*@!CnuD?lmaW1o<|?lFo^_JQ!%WFk!kbC>Tsij!H_kunOB0NfA4gu2*+6cR zc~G3>Y4lUXKlnhVLsAGr1Pp=UIzG#aR;F_<1mN$ud|2bDJS0&c^47IMfGT$@b{Twj zTP<8c>;FoS598+RU24pn#8WAvE7mS|UnEVdcX8R*KjX-CQL+W3cK=DV&K!aTF)bj6Udxmm*YJ=R*0fs1DI5K`hsDdv-9(22_^a(Gop z#zt*us8CJ24Re_FFsQbM3?|S3$Se}-mhjbPaLgLBz1Ir|*Y%k53m>tR6+ujx# zrfqy}_=4PIwq1oCNns;~>xIsH#3NX<)8hG)4T-Qi)VhH7OBe_0ttm)m+3?kx;%EVY zt65W(^ejXmD%wEBM^)S0^f0rXNK&-!`j154Y@S&CE+n8n?<{^o@d@gUDp?DwJn7N` zXC96bpg5Hnk?H0aWj245YJNcy#<8iu-e{PY)B1~PA!*Q8$9}3$#{V2pf*!Jr z9cqc1SW1Umr&9`aDMG2ns0CGqi@v_-oHEEmpe#D4gwd$oW5fa$vV=t$7!>HmBKW^J zr`dr%NK^58#m)nJVuAm%*3i(#+Y7}FMGFMrqMLo9j!MZgY5j%6KtRAZ0R|bvHNe0Z zfr0Qe(_6l*AX<+(hPkl7h*jcsa=r*>?|u~-6nlPY_X{jkz8NR~Kwo%RZ*=;YLXiND za)egg+roLh(fTn54`R5T-zKUXT5>|@AV;|GI~w|S~?5Q%L2_TPCD z-0e9}Q zL&PM=q#(9hXoT~vzuiL$hCSBueF|iiML{97NI-U*wSZFMGi(NyQgY|~lyWom?bBHg z_3|<2n{62_A!N)4`_;GY%lIUUGRV&wW@nOhy>tr8=U(fgRU&?Ev+lTACQG&>^L?*z#Fo=SSN$W_V0rtXIKZZU^VK|sqPI=)Ax3HNPCVnHdIlP zZAly2C+xu66)9_eWl0%1B^RA$zd=F<5|h!hu>zj{me1L&EuH7WQ~fQa>_WsvYO-FO z4|F1o#MN*j&h5Qa`4z};t1SaDR=I{CRLSr+QZ+=Lcnqi`Tj&j6NZM-$r`@7Ik-wEl zQiiu@(P*V_IIm4K4zdiluV!%&pKz2>y`g|lMTQ!yKFZ=`(NM$tJ2}B7-D6)MhGTso znWI#e1j2E7+$y2jM(hW2?pwzU{83(k;1*Esll?Fy;-{BgnRI<1k4d%jq9e6)wrZzX ztFWH@#I}Y8X>0h_!P|N@H%{}Oth{tnZ+onf6o6aND;bC)w zS$gY)(jd42I_^c^*AB6c4GY9qWb4C|zQ&KpsMQx9!by2#sIT>0gP7g1Vf&uKMK`H6 zw=m}MDLoU1E*>hm!lG?G_DS(6Kbm-K>iU=VsQ8p8xxUP~zXjeot#x!Lu6shUocQF2 z9(px=X7k&acq$o$%tofwv@2X$H9CBbb>^IOrzKW{eWKo4ffFXcl(Syg3VtH8cSK}v zd5vtcmAha~`#!)>JAQFb<9?@A&qUjM?9=*N#q}@kqn%bstGV97juz=`o?eLgRE2JK zY7ajZA5&1d#oMFZ(_YyY@V@IO9`(1|hIhBWmL1(vFnoV7$r$I@_tP9~KXQCcd&5P( zs)}%-6}}X-i?e=j}bB?}`bvD7KXp{470X-MAoGlBXxv~&q9hhN4`~wc`ez`t9BFXmzb|o%WAO*Y=)dCq--~e%(3&gT4 z3b6}NVkO@d*!`jdyIxTfqJjf&7)btfp`%@)WFu3-pp~ zu%WqwrOCQu(UWAOJ;!p=qRG9YkbZ-ISUFZS07@HV6OW4t^SRhqNEKXEy}^aPem0-u zYGN-}{`jm$&V3D7Q0N6^}}U}j;l zD!r4_ifDJ1ipqvScCT^ZFL)zfbqI;A;Yw(ygl)2x%R%SMemgp-Md>` z{R7T6+(c)2Vc~Ed!>%rYI4rlRLCDI60|RciCvI?VzoM;XBO+_VdmB-!k8?@Ek z&hv9AU$9i_xLI5Ms8cpy%H~K}SX=#oQ?^9PW=Pp`ZS|c}c4uj$s_mr(7dCjmuO?Dk zy}-F6Q^|-ll(#oT`-Uz)HgP58@{~-hGhZDnq$8)Aj+e2vZd+V`(%TW&f3zrS0q{Aw@-iUdRqIRf<=&L{c%CAKz!Z~ zVCT=;>IY>C1^NK1ZF>3B37E8i)t|IzM9nVGAlhfGcffDA^m-eQ&6P62KLtbrVsT>_ zgX`SyP8f2(K>-~=c2WBN0tRD|dZ(N+8B3uD3$`MF0c$)eHk2|y6Bewc3^=1q45*}R z;)0)upr*>+;x#GrFSv^`;EU&WyJf)FB7raTh^oBJEeF1?b;^M+o`1+K2fn5_<+D}! z8n+zyI@>7+zIHEIF5d&bj&sU@uiXo{q2OzXQwDtPUT~?D0blP46ggx)ve(PG;J^w)j|iUoYR( zfU~?bTftk3uZGNg-MeF9mB0!tM%Nzhg1hSGRxjCOI^eJw{8eDd;juu}@OKk`R%$ng zr*Q8hiT$;Q5Bw)|3-L0)0qt8+Lv=BX_rt5x;CVkTY`(pnit&$WnY)JB05#*YI7b*x|eEGdVok zxd-1xJu6*WwfO;QV1}2xtk+WOslWvDwjXxR!seejqwGmFH-}e+n4vv+uKkF%?p*uV@|?Vs{-m#o zhzzo`QBy1rK5?#nhqm@ydo`^cqBUI&U_0%;#5v2>nheeo=kQMq@KXv3Sy#GCNhx+$ zn2sQ9J(@@+&udeL?ecvVB>ms-?=l+6`g0QsmCj8h!4ZO`6p%ivF8caD`i-G&h4m{0 z8ChTEM(fL7?W_rrU-T(d2|@2i?402J{}H_1&gbMd#09gatli2-RdHf;nUN(XE;YVJ zgvC)ta=H((+}G);NY)sbGC3-Uv>KYdDE6rk!4A*6oZhSZHw^r1Fz^V$iGYFcxv=^_ zfPsreFwKAg&mk~y6Y`#dfj@(qX&5+7U|?efpLYPEp}G(grD%;0?3?auh>iY4NccBB z_^jx`&j^D9!!HJC|LL%3@FVT{!I`5@9Dvs zS3fIya5mCrCJY=(54N&yRWLv_?|vBgEa(BtdU7sq4VsOjerNHMGT<6X035?yRVSr8 zE%IjJF4BX;Dpo5UD;S-bHFz zb?S3$1n8U75LDmoxZUjbV?UbFebt;)_Zg)m5sb*xi^i}>=y>J`IVH%;)g?a9l{&u-USu$v81 z;S8VsAAxe6p&|_ua(zJ{rqfb2V2)kj;ceY@*w8s`RYT{)h9_5-)?%?)i_@zatZ3dM z6SgZnldfd6_;p&Wt?OuLS8Z;{+0x)I->Ju^G1R*nqWh~Cjml`T_C&Y#L^~vroo4qxsu$>aGj4?hcx(1iq*=bBx6RDg(r33S$+)^>smoyYgWaY>!0t$GP+*tQ26yZT(60-iW3h@;6YJ&**2m7^ z)u4(_24uYS=pNM?PTDE}0Dk+b*%-@cQ=4B~+Xg_AGK9fmiOFDf+YjTZ6j}%l z@}>V44vI}*1`Y=Q_i>Px3J$W%x+`2pw_nRQJ`oGM2EoGAzSg0zja7LjjC=|_6uYWg z2M-N}h~VP(;J&{~yN-a3eB@)W@#lkMJ0vBr;zAIc@%xv}R(&|Am zk`H}ajQs8qF>)X-^tT;F452$d5g(=18Tc6d4DhkP4gVTGN>c{nqqOF;z{j+`i(}{P zq;-iuWH`194+uvz^Io|>WxKEjo@|&2J^WYip3k%4_ja%%yu0U2Mb37S`Zg!I=pZnucJND2jz+|Ok`Ah(bxKn zHHB6xg8|hC3;MjjkC;RO`m(e8^ISJc=v|TXvwU_FyS;y=FL(}%{j~$w!P0r9@ z=)uq^tBRQ=jL=}C)8B6u^HFRr{9X}#(-lt!PNjWT03+xP) zcj&FTg+{WYC7Z|IN04%SSh3_L-db#-GQ?z0_bUYw-jwvO?5GCgY~m-ogR$wo!T3x} z1g;sU|BiHfs28%tv(+%4=Et&rh!h*kNBc=&>?)%oJS4hg+^OUtlZ^|*J4M_RV^a!$ z2Yizxr4LYJ8TvWYcy=KN{1LN$4 zSH3NlY=s%x-~<^3$@6li6FywR1PZ>&Q|HMx_@Me@#xtf2J8xzmdNB^|m=`3@cs@*TKP9a{+%TMG@N@PE5y9*y+YW)&2m;I8p$u~jeTdKdydZpwzgR< z?6BAu3sp<4!%a_fo7t@y&%~xz*yqLORV2R7x71rhcx#;9J@DyR%{WY$hDN8Co9Wf)dxXtb%YB<$n=Y2kDEUmiY{|KmwW*4S5}H6JbAn_gCs80MVh zCOpoGCn31Vt&+q$&PjIS4Ni>MyfQ|;Dz>m9Hg5uFp~Ma;HkTF1g|F(?vIsD;!}|8; zm?-Uun(A7!+wbjM{uP51Lsi8_ z_1pq63cXjJ(akN^KerM8pfjA8tSPZ`KwJQ-(BF#e+QxQ9p}(c3Isj$(TIzMIG{geA zJuyPU1P!Qltd2O&V$7}F`pFS$#-7`VO;1&=HGhv;Ogg~$n1E)s*1U)!BKjwmvV)Nc z;aFN^?vV_D@q2rmX9s)2!4UCaE>Sk?H}Y)aI4b`beYD`EgN-0(^)F?-1|sDdASGKs z3J=eguksal`vx;6X|_Z>N#o%AI~*MRmf*wTIJlf*aPaeI8c^*MD+Ztj&;18#e@Z!UeP_n9lV_MU@0)cY!L+2!Xy`bKu^6ymncQi<- zHDAS71=W5`JSqDoIXgqt!Lu6=WZ+>IhP8I>K+MX(!*c}>=kQ&5$w5PidnVEjiiRpO zW@5a0uOvLN@xW=}vl|bThf5j{j1M2xcmPZ*bnvPmk?)-3Ca_Q!1oI?5a861Rvdv9N zcH*y`41#IfrT8#R8-JRMX@X|A9FAsJ8m1{Ap{RGYPN*th)mMrgG&&75vQGk`jHEC= z2k*=Re+w+jxk&QfAZX?$oBN;F+*(M)L4{>4Gpn0+Y0cOaC0lDs!Q|YD`H^c5K{wMu zH{qhb!3o}{MZ!@MFA2#1G)VY5v4_k~JN7@p!PEaW9K4lJ3Lm@=s2&6dCH6Wv_`84N zOg4ZI3hpT+3~=(_Gn(8FhsR{_b!d7*??PsdylPkgRtI@+0`C z2`(JY13v)F{};#8EM7!6c`>q5LWAey&_R zS}u%o{Al|{(r1n=lKz_49aL0&Loo172Lqj4p@M+*^6&CPQ1OSnD5&^tLB+2sz6cMn zZ(xzXKZ74O;{0Hfts;}fIs9;k$fcFYd5IVKp!1r;5wR-Ie0*?@coN@F{6OCHd!G(h z%KN7&#q<91@NsfAK0H!>Dk9570JS6h&$VwAhG>6f=)5xf2H}MEwMJ|q0_Vc2*s_Y) zLIlo*A$yt#j97!Dc+{Y>BcYX#OUaJfx-Hhe1)i)8NzCCIyzMCwa#@MuZQ45QP7I9e zrWdjxo_=A2#2;(^0y5Vj%x5e`$a8hN-4RKjI|$dG(hO%j-(Z{V1m24-osbpjoEX%a9$`i% zhP0+1$?v63Ecl6Y!#7X7DSY+Bo5K?(hQp;37l+48{F>IhhiAI<2~hB?#BuI)Fjl=M=V)}%{{m%1j$7UrQS|!iV?SGyYX4%iH zC?obWd=aajEPDuC7$ylquChA=C&-y<%4$h#Pgkd6C!83 z_plOn?wvSp*2I#tN;CZcyRN- z=Ycu;^z)#t(=UWprcgqRRMRNY&7^TJg%sjh@h>4o@g_AHlX%ZT3MvCFHUkQrff&DY z&Oi-WY*02gyoCQZg&X*Pb66S{Mt2|WTO2-y|Dee`JO?x>G!em_bA={CHaS;lvW;^= zlZGgGf*lf@YJ(t(m_YM}LX_|HzcDxC4FO>LSqD|N^Q=OZ`J5Y}-!hCIG zB0o00j0G~>^rh#yT^T(vKYVQTz{2pz=z&Ohi}%GyDOTEJt$k8cQI}qUDo7?$M)da{ zYxAEaQCTD(V*D!7MB}omEUo!jkt=4FRkk(60(&a=wgg^J8Gx3{$q+t0q%*K*yggQQ zB63=8k1#uSTHF}QRml?q3a!(t<2v3wkx}xJv^P)3T`VVXUK_^g550;j6grVeE~}~I zJN=*EQ_;A8RyeP5zaGi)t()a*S^jx~19fKm&1K{K++4TO&re0n$t`0KZ@0qME8Fb9+~XYy~*Xj zvvZ@FSLhY_qbdZnuM9LIn)yw{i4b2gy2F~BnIeW5d<2RIM z>+6LQh&F{dNe#-4+3=fzJ#2)AFOqf))JtiprbY7no_u>uMtAY$e8$SBuLQbWXhiO` zC(|T*l3R!0tT967OkYMf52@?uR9!)nph3@AkCPlEdQsN$tCS^-xPQ+O*YV0%K5@hd zjqFVBQrrX&AF)lk_f>bq#JaY&SHfYeJzg~aM5bdeARhDvgFS=uizO+D7G zNK+3*HXt9`6TxbK{MJ}>{|ze_YE9o}oTK|^uB_0So|V&tP!N0tC(6H3_&0=y>fWcd z=0D4PfV?4iM`F8r2_mAX$^I*`7T$k-cu#acL_~DF4xay6=*^Ga_llvdiTl)hx30V_ zTp3Nw2|p~=|4RNnC|^SjoEKRlAMt9?fSZtAp(b*@PAJBeF0|(9O-~&{QSR8u{R^Y} z=Z8;-?iY%(KN5b*yCYH#MLAw7_=!|_EXLo8sMIK;qPIRTx8}W+CM*)|*dZ*7gs?!b z9Ky0o2n%?UD_<^`vmtWkkd|V->1mg=j5OPKTB>zITO<)%YfUxk1EDRNqJ?rZFVOn5 z5SK07Nl}+Ain^TG=`Y$-!HRuWcnJT~^rZ;;(vfX099RBc`9foF`-sRKbdN-Yy%zXI zk{-BfEoxj^OcEUiVlT5Wl|SL1Vp(A+K1g375e_jr zmS;^;c`x~rga6X$kki=!RFSalbak?H^=nK*Zn9muYsNIXD#S75xhdUMzOA|n*k^QA z7vp>f`8SL`4EdMQ8nqEBf&bI7E}#K}#U2*%;g4T)2>_dE+PWDRrl>&t);<3CjWK_G z@fJjh#b42yS_L-`%v|h>5_0uLiCCB%!x`X*c|(V`x_b@3M+Nn(Rk`l$SSI4w!sYFz}wx3704i4Hch z>`POUgx<9I5X8R+CA&RgpeWIeD1oG57h4A6i+#*MQ9^Hh&RR}D_(0{`t~hZCODuoY zyeh3Zz?s5&AY($%{Gfr~Dt%)K&34g$bGXt)|IOjy7=DeEM<&?E>rLCk`RmJh(0^<(Q09R?0;5r{>gbu;n?y^7=nTAxx@J>{KpQ&+4tL+&_{ zxI;}DF9`R=D3ZLk9e1HI==ls)qaQSaOK>$(T5a_0UC4b&xJH zS}8F=3ej`^;r(FwV@e8PhC^DjtmFOF^9=2-qc{`B?XUW(+H8BqIt#!HmGBv>VF*3CcTNPgG1xcs;Q zD&amthoxtJ_xcPmZI+(%C-0vbpf5u6KnS~u>O{0UL@biAAMK8PqyPykaV=_{)SSA4 z(XFypm?G*PEvdI|mJn7x5nSyLqgAi(ZF`5{1@;g`_U!X;b)VsDYC}Ib z+Uy7ycj_U}P78rBUi8Wv*;%esIm1UeS{2-wTw6>6bGX45r70*s-PVYy3?ATTlR^nE zxV_=i#fweos6;q=@Cg}&g?vt12YcshsMDOUjl8A*YxqpzbQMcEO;v~;17WqC(D5l5 zE=|ADq0|ZSqY=u=bLla3ew<$V>fYVQw?+5tkG74(+Rr{NQcQfy8^c5RKQ%G}8Ye)b zyz*JTB2_P~%ezK__zt7K$NKr>_@t@8h!DL}Bl?(_o)XJYT<&oKi@H{}@ijk1I~SW- zVdt2#<$gy2k6~P9XnvxD)%awa6RjmQZ+2=2K4ji2b&=-V6Ed$tu~w-)F|V40-#o+o zMMi|;cV{6@5wp`S4Viam@o-SW>zVS+kn`!_&O~j_R%2%(xYH5~A_JdspL9qT#Z}M_ z+VUdES0?5-C4!T)t)EJCKk-(R1>17*@QW;xeZ9t&Wm(Sd`4uoJ+Up~+Y%!*gr0x2K zY+LA!6AR}EJd4SLluzE9>&uP2hY>>?x0Xb5fj1(LuIiHp#AjrS1q_?+t)7-_EMQu* z_112`I`y}EM}x3gt;xYzVs*AGMnzh$Ywk-Zl{;| zXa;Ii3dRK|p1!!)*mw#bmP0Aoh)z|uud}9lp@GcA_ZugU&Wh}lZM*rhP9WPtY^EXF z)VaV^ounhkfGG)mFc6~j$Hku-BM5wFMMGri4f<)D8}n7Q3r9rwbgJ0@jEXU$v%8eXHAvIKGUgmS)E~i+aXy5&4dbS{ujkbS1`A$#!v*s zyjvasbDFnsn?(RDAj*!NwZ#%*EnzxYYRAdQhg*9rH3jKAw>P?Y!HubR6%!b&x zZh?dIKANBEQARIZwxaBW-AHMNvNP-WE7X#R`uZ)&j$mhl0cc5?N8R`K~YXwTeryxy8QzlJPA6w=#>R-Un zOSR@KY0b$zKugc&HsL?Dzz#7jQZTyBLWwoF7~$B3XUH&D6qxT3Lb`F8!wR=q7xOA? zkcIOumgVQ@jn!GifzsBF1`5QW4D8FD5sU{ty0&qT7Sw9C=t%-=2R(l83(H}C81)kW zAX9QV?3??o>IWe@usAH{NlQXh^EL9-ST<*}@(abLmPl@Q>l)1CoFwmGDv^*}8@M*V zE&;?+QQy@?=hQOHSykw*41o!5R%SY3{2oHFy^4x0KjBtF_1#1YUprr7YM%J&k8?4n zZPy7IBC)@ZCt+uhR3rpo?vK3utk^EvIY_UKUn5ZX8L5ZSSg0W5I9Q-*%-u8{BdZXP z>U$>>DtwG}(ebFIozNnG`jx_rY@j(xNdN6n+Jho=D#Eo1P^WJIkbx?Hn|R*o6cwyt%ZUh=q^PYC;`9NhsqT9Dn0@hhtxs ztd@q5LdPR{7&b_CW}#O2y2(?R0jQSso3 zt6ux0_4Wg9kjZ_j@O@RdTNRcPB68Jc8IS9TCHSw8(KmmP8l(9)e`aHp_w&zmj5`10 zQ;gA;9}O}_kE+7M#z@6LbDbr6oq*(pY>^sf-n|VeX9-!F8D=viRAOL?mqQ)71jVOe zHp$iGm&9)Si7(m6(ZaG&(tl*xh5qW(Cx4&F_(zcw;6%hwoI{of-1$rA0-V^a6Uefz zGtiiZGT=*UF9FDi4dz1Grk|-1OvtXXq%TlWG&dhPiYAE-q!QoYQ8eX~M8kXph`S%y zS>puLY?<>Yu{3+(G)^qdCDP+q;Gs}#&U&71L&GzN?0IwO^qfD5AIBaZ4aII>6N=S7 zfagXZm(~~19vTqw=Dk`|6HutaXr4opBSj1e95rsqW7}X#iEbkhvhERe!$l zyFiR&k+A0q61rI=gqT%Hzbl2-pmqsVDbfV-Kn(J;8#oT0YxXf{WYegO_I(tY&=q*= zRHnhs=R{yho+VF3CbWqf0ceAkUGozKWrxLk_flcM5ERah$P zAyQPZ9D)HaEDoB>N>~tO>f*@(ni>w-e<9$Jw_9sEsG3&0$NJU%$z)}6)rS(JYvFjh zXlZMoB`=QXCQwJ@j`mgE-lsJ^Ezg^QJ?<1HL_=tpmob>P9~J#tfoH`@=BD;OalHIe6{lRWo>iQ(aF8LS7WQ56km=bfxQ5}d0< zT(w2K68oZAP^{Ok@88paXW@cCavw=GhqXl@euZb@ZT^-}Zb>kQq&R&g%X?e1?US{& zJ<6|fEjqM(ZEa{wiT3OE+MG=-oM9Hl0`AZLf~!kQ>>+`iZM8YiN>U-+d{)ONoc(cp zOrL#ya?_=`CE-26`u4PLbL>a|ln~XkHd(*SKPXvT`u{S-5}J+R_p%Wm|F;JY5E|;Q z#7BQGSpGiiTl}rGFTE0s*CgN9ZXHE)M=f4xHZ_m=a$c5^^Hg$=B=+>!v*jn-zCwO- z>`UY)*PbpvdA47EhS-zjC*M9_ehTb!|5nLU(WOGdO0tU^8))zaz0efhpNHZPYzS*{zXzgT+WBv zm2$4SKEggj&PPi5Nc(s>A0_9bY)#JP-%FaEqkU;h^D9c8)|%g*JO<40gpY0mL0&RQ+{$(rw`=Xb#j$w2jypoJz0M8ZLjLkTjmWK@HpmWLOuHyJI$5%M!b1ddq z!O_fdC&#@U-{tr*$3qd znb+rKUCD7h$6StEITmr;&e6nSa@@o59gYV$e!=lujz4ld&LMQlfX2|*BFl?qgS!UY z4Of83+b2f9LfR+nmdOmZ{9Bfqtbj98X8rk|+$`^okI$GDgN~y8 zkB@BRB%Lv<6ib0@Z`UIBvIk3;sYG#Xq@hNzKI#>$fdi2zMXBQzBT#GD z!D7Nc{B1WT{Ba7~_||ai7nB(y(}*TP5YyFL4kXZgz|r%O*Un_3pSJ!wRkRd%PWQ33 z$283>M#)%+u}}dn)U_tfI*RqV6Zf}^&#~wu$&;^j2hqi?ucB;pR(B>|xo)t2cP^E$ zs^osHMKu|W&BTXxdMX{pdN3Ps$hAtwwOd|g4c5c;9)rAF+%M$5T$5mf=i&iiQ4(wfO8D)we$MpRe^6sP zxIF=i-iM%pwy7B-Aedb9P+J&nVj+#6q_v1#B{(J8q_v!* zrDT@(0y>7b7aN|CR?{mRUFZcbdrFCvW#6aBd*=A(&dBRAZ% zyBPODlP(oqlOfduVy^U_4Z9QBo21o}kK_m$;(FJ(3){>Laj&RCNBpLvj{Ln0Nz#?Q zj}&)QLdBCc09nOJ&RFWNT2Lk?5Yq~+GmyFcEepY$h2X}*Vvdpoq!fFQbFo9HUQiqf zWIW!dIgcwL+xqP};5a_BK@_#JeYUSBx@UxTUk9?&eeEsN*{hsc%z1O0f`%G#i>R=F zpcB1arn-!TOCed7m{05R8N;kcg49;u3%DGUEPC8wBml&Xsg|?5E=Uq+%JR@Gl08P@Pb;SwhifL(#}^3GP&GNdQmetQrWPDs~0q#49`T zo9VXhYZW%dnyd2d$}Pd@b|SexQo@@-)Bj8r#wTj$w~(FRS~K??EBx=Z}AE*^41LXR^*aH-$-^E(U0;Mtm%|Y z$JQnY4=M?Q$+EJ9t!JzT>Ac`E>*sl_1{cC#{;FTg)*_NHl93R8$h}&&cibz4=+lm+ z5p%~9+?Sy=oS_WFr;IS-m&0-<&kmZ~8MMZU7)bBKF;3gkUCs<1cFEY`68BJ7j7C z4`XfQH)j`%P0dkaVKdU-a<=Gw@=%OLimjJ{d{-D={0-qn2NRF+{eZbW6uYGhHS?GF z6>D~A=q)U&w(;{S$KU)dx4dKZ?ssxy@tVB^+IW$beU{AJZo!4C`TXKq_Fl~ZFTN-# za*+47Ii1|Pg--I&1$+r5);{@?5xX79_Og9k=c@;A*Z9&{zI3vcEvi)WcJkr`wZK8y zO(G}nHfzUF7)8}B??~9(+83=h=kiIV4*5kI0lr`Qh>WSi0Z?3Gxg2iaiK;X{@|+IY z`q}A^`wG0n!sW@fU`|i8Z~TJy;`-aszR`<^tY<-zwP{tmAEK=ia7Oo!(zPjVEY1Dx zxk86hIlrw;HS*GD&sq5`a3*Q26}Vfn{off)cq3YKI

&KkjC%0;f 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'*@DH@0r+! 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 literal 0 HcmV?d00001 diff --git a/binding.gyp b/binding.gyp index d5767ea6..ca45c750 100644 --- a/binding.gyp +++ b/binding.gyp @@ -53,12 +53,6 @@ "addon" ], "copies": [ - { - "destination": ".", - "files": [ - "<(PRODUCT_DIR)/addon.node" - ] - }, { "destination": "dist", "files": [ diff --git a/eslint.config.mjs b/eslint.config.mjs deleted file mode 100644 index 2eb0cdb7..00000000 --- a/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import js from "@eslint/js"; -import { defineConfig, globalIgnores } from "eslint/config"; -import globals from "globals"; -import tseslint from "typescript-eslint"; - -export default defineConfig([ - { files: ["**/*.{js,mjs,cjs,ts}"], plugins: { js }, extends: ["js/recommended"] }, - { files: ["**/*.{js,mjs,cjs,ts}"], languageOptions: { globals: globals.node } }, - tseslint.configs.recommended, - globalIgnores(["dist"]), - { - rules: { - "@typescript-eslint/no-explicit-any": "warn", - "object-shorthand": "error", - }, - }, -]); diff --git a/examples/callbacks/cancel-fetch-data.callback.ts b/examples/callbacks/cancel-fetch-data.callback.ts deleted file mode 100644 index 8a9ab730..00000000 --- a/examples/callbacks/cancel-fetch-data.callback.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { logger } from "examples/drive"; - -export const cancelFetchDataCallback = (fileId: string) => { - logger.debug({ msg: "cancelFetchDataCallback", fileId }); -}; diff --git a/examples/callbacks/notify-delete.callback.ts b/examples/callbacks/notify-delete.callback.ts deleted file mode 100644 index b8b2fe73..00000000 --- a/examples/callbacks/notify-delete.callback.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { logger } from "examples/drive"; - -export const notifyDeleteCallback = (fileId: string, callback: (response: boolean) => void) => { - logger.debug({ msg: "notifyDeleteCallback", fileId }); - callback(true); -}; diff --git a/examples/callbacks/notify-fetch-data.callback.ts b/examples/callbacks/notify-fetch-data.callback.ts deleted file mode 100644 index 45febbb4..00000000 --- a/examples/callbacks/notify-fetch-data.callback.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { logger } from "examples/drive"; -import { getInfoItem } from "examples/info-items-manager"; - -import { TFetchDataCallback } from "@/types/callbacks.type"; -import { sleep } from "@/utils"; - -export const fetchDataCallback = async (id: string, callback: Parameters[1]) => { - logger.debug({ msg: "fetchDataCallback", id }); - const path = await getInfoItem(id); - - let finish = false; - while (!finish) { - const result = await callback(true, path); - finish = result.finished; - await sleep(1000); - } -}; diff --git a/examples/callbacks/notify-message.callback.ts b/examples/callbacks/notify-message.callback.ts deleted file mode 100644 index 530b5d2c..00000000 --- a/examples/callbacks/notify-message.callback.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { logger } from "examples/drive"; - -export const notifyMessageCallback = ( - message: string, - action: string, - errorName: string, - callback: (response: boolean) => void, -) => { - logger.debug({ msg: "notifyMessageCallback", message, action, errorName }); - callback(true); -}; diff --git a/examples/callbacks/notify-rename.callback.ts b/examples/callbacks/notify-rename.callback.ts deleted file mode 100644 index 513949f4..00000000 --- a/examples/callbacks/notify-rename.callback.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { logger } from "examples/drive"; - -export const notifyRenameCallback = (newName: string, fileId: string, callback: (response: boolean) => void) => { - logger.debug({ msg: "notifyRenameCallback", newName, fileId }); - callback(true); -}; diff --git a/examples/disconnect.ts b/examples/disconnect.ts deleted file mode 100644 index 95a800bc..00000000 --- a/examples/disconnect.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { drive } from "./drive"; - -drive.disconnectSyncRoot(); diff --git a/examples/drive.ts b/examples/drive.ts deleted file mode 100644 index c1b5a5e3..00000000 --- a/examples/drive.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { TBody } from "@/logger"; -import VirtualDrive from "@/virtual-drive"; - -import settings from "./settings"; - -export const logger = { - debug(body: TBody) { - console.debug(body); - }, - info(body: TBody) { - console.info(body); - }, - warn(body: TBody) { - console.warn(body); - }, - error(body: TBody) { - console.error(body); - }, -}; - -export const drive = new VirtualDrive({ - syncRootPath: settings.syncRootPath, - providerId: settings.providerid, - loggerPath: settings.defaultLogPath, - logger, -}); diff --git a/examples/get-state.ts b/examples/get-state.ts deleted file mode 100644 index 980fc5f9..00000000 --- a/examples/get-state.ts +++ /dev/null @@ -1,27 +0,0 @@ -import yargs from "yargs"; -import z from "zod"; - -import { drive, logger } from "./drive"; - -const argv = yargs - .command("file", "El path del archivo para obtener el estado", { - path: { - description: "el path del archivo", - alias: "f", - type: "string", - }, - }) - .help() - .alias("help", "h").argv; - -const { data } = z.object({ file: z.string() }).safeParse(argv); - -if (data) { - const path = data.file; - const state = drive.getPlaceholderState({ - path, - }); - logger.debug({ msg: "state", state }); -} else { - logger.error({ msg: "Please specify a file with --file " }); -} diff --git a/examples/handlers/handle-add.ts b/examples/handlers/handle-add.ts deleted file mode 100644 index 4e6a50da..00000000 --- a/examples/handlers/handle-add.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { drive, logger } from "examples/drive"; -import { addInfoItem } from "examples/info-items-manager"; -import { v4 } from "uuid"; - -import { QueueItem } from "@/queue/queueManager"; - -export const handleAdd = async (task: QueueItem) => { - try { - logger.debug({ msg: "handleAdd", task }); - const id = task.isFolder ? v4() : addInfoItem(task.path); - drive.convertToPlaceholder({ - itemPath: task.path, - id, - }); - } catch (error) { - logger.error({ msg: "handleAdd", error }); - } -}; diff --git a/examples/handlers/handle-change-size.ts b/examples/handlers/handle-change-size.ts deleted file mode 100644 index fcc54712..00000000 --- a/examples/handlers/handle-change-size.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { drive, logger } from "examples/drive"; -import { v4 } from "uuid"; - -import { QueueItem } from "@/queue/queueManager"; - -export const handleChangeSize = async (task: QueueItem) => { - try { - logger.debug({ msg: "handleChangeSize", path: task.path }); - const id = v4(); - drive.convertToPlaceholder({ - itemPath: task.path, - id, - }); - drive.updateFileIdentity({ - itemPath: task.path, - id, - isDirectory: task.isFolder, - }); - } catch (error) { - logger.error({ msg: "handleChangeSize", error }); - } -}; diff --git a/examples/handlers/handle-dehydrate.ts b/examples/handlers/handle-dehydrate.ts deleted file mode 100644 index 6d3da690..00000000 --- a/examples/handlers/handle-dehydrate.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { drive, logger } from "examples/drive"; - -import { QueueItem } from "@/queue/queueManager"; - -export const handleDehydrate = async (task: QueueItem) => { - try { - logger.debug({ msg: "handleDehydrate", path: task.path }); - drive.dehydrateFile({ - itemPath: task.path, - }); - } catch (error) { - logger.error({ msg: "handleDehydrate", error }); - } -}; diff --git a/examples/handlers/handle-hydrate.ts b/examples/handlers/handle-hydrate.ts deleted file mode 100644 index aab8616b..00000000 --- a/examples/handlers/handle-hydrate.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { drive, logger } from "examples/drive"; - -import { QueueItem } from "@/queue/queueManager"; - -export const handleHydrate = async (task: QueueItem) => { - try { - logger.debug({ msg: "handleHydrate", path: task.path }); - await drive.hydrateFile({ - itemPath: task.path, - }); - } catch (error) { - logger.error({ msg: "handleHydrate", error }); - } -}; diff --git a/examples/info-items-manager.ts b/examples/info-items-manager.ts deleted file mode 100644 index 74cf1643..00000000 --- a/examples/info-items-manager.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs"; -import { basename, join } from "path"; -import { v4 } from "uuid"; - -import { TMP_PATH } from "./settings"; - -const infoItemsPath = join(TMP_PATH, "info-items.json"); -const serverPath = join(TMP_PATH, "fake-server"); - -export const initInfoItems = () => { - if (!existsSync(infoItemsPath)) { - writeFileSync(infoItemsPath, JSON.stringify({})); - } - - if (!existsSync(serverPath)) { - mkdirSync(serverPath); - } -}; - -export const getInfoItems = () => { - return JSON.parse(readFileSync(infoItemsPath, "utf8")); -}; - -export const deleteInfoItems = () => { - writeFileSync(infoItemsPath, JSON.stringify({})); -}; - -export const addInfoItem = (itemPath: string) => { - const fileName = basename(itemPath); - const serverItemPath = join(serverPath, fileName); - copyFileSync(itemPath, serverItemPath); - - const id = v4(); - const infoItems = getInfoItems(); - infoItems[id] = serverItemPath; - - writeFileSync(infoItemsPath, JSON.stringify(infoItems, null, 2)); - return id; -}; - -export const getInfoItem = (id: string) => { - const infoItems = getInfoItems(); - return infoItems[id]; -}; diff --git a/examples/populate.ts b/examples/populate.ts deleted file mode 100644 index eea362f8..00000000 --- a/examples/populate.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { execSync } from "child_process"; -import { join } from "path"; -import { v4 } from "uuid"; - -import "@/virtual-drive"; - -import settings from "./settings"; - -const rootFileName1 = v4(); -const rootZipFileName = `${v4()}.zip`; -const rootFile1 = join(settings.syncRootPath, rootFileName1); -const rootFile2ChangeSize = join(settings.syncRootPath, `change-size-${v4()}.txt`); -const rootFile3 = join(settings.syncRootPath, `${v4()}.txt`); -const rootFile3Moved = join(settings.syncRootPath, `moved-${v4()}.txt`); -const rootFile4 = join(settings.syncRootPath, `${v4()}.txt`); -const rootFolder1 = join(settings.syncRootPath, v4()); -const rootFolder2 = join(settings.syncRootPath, v4()); -const folder1File1 = join(rootFolder1, `${v4()}.pdf`); -const folder1Folder1 = join(rootFolder1, v4()); -const folder1Folder1File1 = join(folder1Folder1, `${v4()}.xlsx`); - -execSync(`echo Hello, world! > ${rootFile1}`); // Sync -execSync(`echo Hello, world! > ${rootFile2ChangeSize}`); -execSync(`echo Hello, world! >> ${rootFile2ChangeSize}`); // Sync -execSync(`echo Hello, world! > ${rootFile3}`); -execSync(`type nul > ${rootFile4}`); // No sync (0 bytes) -execSync(`cd ${settings.syncRootPath} && tar -cf ${rootZipFileName} ${rootFileName1}`); // Sync -execSync(`mv ${rootFile3} ${rootFile3Moved}`); // Sync -execSync(`mkdir ${rootFolder1}`); // Sync -execSync(`mkdir ${rootFolder2}`); // Cloud (no files inside) -execSync(`echo Hello, world! > ${folder1File1}`); // Sync -execSync(`mkdir ${folder1Folder1}`); // Sync -execSync(`echo Hello, world! > ${folder1Folder1File1}`); // Sync diff --git a/examples/register.ts b/examples/register.ts deleted file mode 100644 index e09e85ab..00000000 --- a/examples/register.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { QueueManager } from "@/queue/queue-manager"; - -import { cancelFetchDataCallback } from "./callbacks/cancel-fetch-data.callback"; -import { notifyDeleteCallback } from "./callbacks/notify-delete.callback"; -import { fetchDataCallback } from "./callbacks/notify-fetch-data.callback"; -import { notifyMessageCallback } from "./callbacks/notify-message.callback"; -import { notifyRenameCallback } from "./callbacks/notify-rename.callback"; -import { drive, logger } from "./drive"; -import { handleAdd } from "./handlers/handle-add"; -import { handleChangeSize } from "./handlers/handle-change-size"; -import { handleDehydrate } from "./handlers/handle-dehydrate"; -import { handleHydrate } from "./handlers/handle-hydrate"; -import { initInfoItems } from "./info-items-manager"; -import settings from "./settings"; - -const callbacks = { - notifyDeleteCallback, - notifyRenameCallback, - fetchDataCallback, - cancelFetchDataCallback, - notifyMessageCallback, -}; -const handlers = { handleAdd, handleHydrate, handleDehydrate, handleChangeSize }; - -const queueManager = new QueueManager({ handlers, persistPath: settings.queuePersistPath }); - -drive.registerSyncRoot({ - providerName: settings.driveName, - providerVersion: settings.driveVersion, - logoPath: settings.iconPath, -}); - -drive.connectSyncRoot({ callbacks }); - -try { - initInfoItems(); - drive.watchAndWait({ queueManager }); -} catch (error) { - logger.error({ msg: "Error when register", error }); - drive.disconnectSyncRoot(); - drive.unregisterSyncRoot(); -} diff --git a/examples/settings.ts b/examples/settings.ts deleted file mode 100644 index 0653b85a..00000000 --- a/examples/settings.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { mkdirSync } from "fs"; -import { join } from "path"; -import { cwd } from "process"; - -export const TMP_PATH = join(cwd(), "examples", "tmp"); -mkdirSync(TMP_PATH, { recursive: true }); - -const settings = { - driveName: "Internxt", - driveVersion: "2.0.4", - providerid: "{12345678-1234-1234-1234-123456789012}", - syncRootPath: join(TMP_PATH, "sync-root"), - iconPath: join(cwd(), "assets", "icon.ico"), - defaultLogPath: join(TMP_PATH, "drive.log"), - watcherLogPath: join(TMP_PATH, "watcher.log"), - queuePersistPath: join(TMP_PATH, "queue-manager.json"), -}; - -export default settings; diff --git a/examples/unregister.ts b/examples/unregister.ts deleted file mode 100644 index 586814b1..00000000 --- a/examples/unregister.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { drive } from "./drive"; -import { deleteInfoItems } from "./info-items-manager"; - -drive.unregisterSyncRoot(); -deleteInfoItems(); diff --git a/examples/utils.ts b/examples/utils.ts deleted file mode 100644 index fc0dd972..00000000 --- a/examples/utils.ts +++ /dev/null @@ -1,46 +0,0 @@ -import fs from "fs"; -import path from "path"; - -interface FileDetail { - path: string; - size: number; - baseDir: string; -} - -function readFilesRecursively(dir: string, fileList: FileDetail[] = []): FileDetail[] { - fs.readdirSync(dir).forEach((file) => { - const filePath = path.join(dir, file); - if (fs.statSync(filePath).isDirectory()) { - readFilesRecursively(filePath, fileList); - } else { - fileList.push({ - path: filePath, - size: fs.statSync(filePath).size, - baseDir: dir, - }); - } - }); - return fileList; -} - -function createFilesWithSize(sourceFolder: string, destFolder: string): void { - const files: FileDetail[] = readFilesRecursively(sourceFolder); - - if (!fs.existsSync(destFolder)) { - fs.mkdirSync(destFolder, { recursive: true }); - } - - files.forEach((file) => { - const relativePath = path.relative(file.baseDir, file.path); - const destFilePath = path.join(file.baseDir.replace(sourceFolder, destFolder), relativePath); //path.join(destFolder, relativePath); - const destFileDir = file.baseDir.replace(sourceFolder, destFolder); //path.dirname(destFilePath); - - if (!fs.existsSync(destFileDir)) { - fs.mkdirSync(destFileDir, { recursive: true }); - } - - fs.writeFileSync(destFilePath, Buffer.alloc(file.size)); - }); -} - -export { createFilesWithSize }; diff --git a/examples/utils/generate-random-file-tree.ts b/examples/utils/generate-random-file-tree.ts deleted file mode 100644 index fa4c798f..00000000 --- a/examples/utils/generate-random-file-tree.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { v4 as uuidv4 } from "uuid"; - -import VirtualDrive from "@/virtual-drive"; - -interface GenerateOptions { - rootPath: string; - depth: number; - filesPerFolder: number; - foldersPerLevel: number; - meanSize: number; - stdDev: number; - timeOffset?: number; -} - -function generateRandomId(): string { - return uuidv4(); -} - -function randomNormal(mean: number, stdDev: number): number { - const u1 = Math.random() || 1e-10; - const u2 = Math.random() || 1e-10; - const z0 = Math.sqrt(-2.0 * Math.log(u1)) * Math.cos(2.0 * Math.PI * u2); - - const value = z0 * stdDev + mean; - - return Math.max(value, 0); -} - -function getRandomExtension(): string { - const extensions = [".txt", ".pdf", ".rar", ".jpg", ".docx", ".xlsx", ".mp4", ".mkv", ".json", ""]; - const index = Math.floor(Math.random() * extensions.length); - return extensions[index]; -} - -async function createStructureRecursively( - drive: VirtualDrive, - currentPath: string, - level: number, - options: GenerateOptions, - result: Record, -): Promise { - if (level < 0) return; - - const { filesPerFolder, foldersPerLevel, meanSize, stdDev, timeOffset } = options; - - for (let i = 0; i < filesPerFolder; i++) { - const fileName = `file_${generateRandomId()}${getRandomExtension()}`; - const fullPath = `${currentPath}/${fileName}`; - - const fileSize = Math.floor(randomNormal(meanSize, stdDev)); - - const fileId = generateRandomId(); - const createdAt = Date.now() - (timeOffset || 0); - const updatedAt = Date.now() - (timeOffset || 0) + 2000; - - drive.createFileByPath({ - relativePath: fullPath, - itemId: fileId, - size: fileSize, - creationTime: createdAt, - lastWriteTime: updatedAt, - }); - - result[fileId] = fullPath; - } - - for (let j = 0; j < foldersPerLevel; j++) { - const folderName = `folder_${generateRandomId()}`; - const newFolderPath = `${currentPath}/${folderName}`; - - const folderId = generateRandomId(); - const createdAt = Date.now() - (timeOffset || 0) - 10000; // Ejemplo - const updatedAt = Date.now() - (timeOffset || 0); - - drive.createFolderByPath({ - relativePath: newFolderPath, - itemId: folderId, - creationTime: createdAt, - lastWriteTime: updatedAt, - }); - - await createStructureRecursively(drive, newFolderPath, level - 1, options, result); - } -} - -async function generateRandomFilesAndFolders( - drive: VirtualDrive, - options: GenerateOptions, -): Promise> { - const { rootPath } = options; - - const result: Record = {}; - - await createStructureRecursively(drive, rootPath, options.depth, options, result); - - return result; -} - -export { generateRandomFilesAndFolders }; -export type { GenerateOptions }; diff --git a/examples/utils/generate-random-tree.unit.test.ts b/examples/utils/generate-random-tree.unit.test.ts deleted file mode 100644 index 1031c193..00000000 --- a/examples/utils/generate-random-tree.unit.test.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { generateRandomFilesAndFolders } from "examples/utils/generate-random-file-tree"; - -import VirtualDrive from "@/virtual-drive"; - -class MockVirtualDrive implements Partial { - private files: Record = {}; - private folders: Record = {}; - - createFileByPath({ - relativePath, - itemId, - size = 0, - creationTime = Date.now(), - lastWriteTime = Date.now(), - }: { - relativePath: string; - itemId: string; - size?: number; - creationTime?: number; - lastWriteTime?: number; - }): void { - this.files[relativePath] = { itemId, size, creationTime, lastWriteTime }; - } - - createFolderByPath({ - relativePath, - itemId, - size = 0, - creationTime = Date.now(), - lastWriteTime = Date.now(), - }: { - relativePath: string; - itemId: string; - size?: number; - creationTime?: number; - lastWriteTime?: number; - }): void { - this.folders[relativePath] = { itemId, size, creationTime, lastWriteTime }; - } - - getFiles(): Record { - return this.files; - } -} - -describe("When call generateRandomFilesAndFolders", () => { - it("Then it generates the correct structure of files and folders with sizes following a normal distribution", async () => { - // Arrange - const mockDrive = new MockVirtualDrive(); - const meanSizeMB = 1; - const stdDevMB = 0.5; - const options = { - rootPath: "/root", - depth: 2, - filesPerFolder: 100, - foldersPerLevel: 2, - meanSize: meanSizeMB, - stdDev: stdDevMB, - timeOffset: 1000, - }; - - // Act - await generateRandomFilesAndFolders(mockDrive as unknown as VirtualDrive, options); - - // Assert - const files = mockDrive.getFiles(); - expect(Object.keys(files).length).toBeGreaterThan(0); - - const sizes = Object.values(files).map((file) => file.size / (1024 * 1024)); - - const lowerBound = meanSizeMB - 3 * stdDevMB; - const upperBound = meanSizeMB + 3 * stdDevMB; - - const withinRange = sizes.filter((size) => size >= lowerBound && size <= upperBound); - const percentageWithinRange = (withinRange.length / sizes.length) * 100; - - expect(percentageWithinRange).toBeGreaterThanOrEqual(99); - }); -}); diff --git a/index.ts b/index.ts deleted file mode 100644 index dd8d060f..00000000 --- a/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Addon } from "@/addon-wrapper"; -import { QueueManager } from "@/queue/queue-manager"; -import { QueueItem, typeQueue, HandleAction, HandleActions } from "@/queue/queueManager"; -import { Callbacks } from "@/types/callbacks.type"; -import { PinState, SyncState } from "@/types/placeholder.type"; -import VirtualDrive from "@/virtual-drive"; - -export { - Addon, - VirtualDrive, - QueueItem, - typeQueue, - HandleAction, - HandleActions, - QueueManager, - Callbacks, - PinState, - SyncState, -}; diff --git a/nodemon.json b/nodemon.json deleted file mode 100644 index d3e21b5f..00000000 --- a/nodemon.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "watch": ["examples", "src"], - "ext": "ts", - "exec": "ts-node -r tsconfig-paths/register ./examples/register.ts" -} diff --git a/package.json b/package.json index 7362fc49..13be83f1 100644 --- a/package.json +++ b/package.json @@ -2,63 +2,18 @@ "name": "@internxt/node-win", "version": "1.0.12", "description": "Drive desktop node addon", - "main": "dist/index.ts", + "main": "dist/index.js", "types": "dist/index.d.ts", "author": "Internxt ", "license": "MIT", "gypfile": true, "repository": { - "type": "git", - "url": "git+https://github.com/internxt/node-win.git" + "url": "https://github.com/internxt/node-win" }, "scripts": { - "========== Testing ==========": "", - "test": "vitest", - "test:once": "npm run test -- --run", - "test:one": "npm run test -- related x", - "========== Build ==========": "", "clean": "node-gyp clean", "build:gyp": "node-gyp configure build", - "build:ts": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", "config:gyp": "python gyp.config.py", - "build": "python gyp.config.py && node-gyp clean && node-gyp configure build && npm run build:ts", - "========== Linter ==========": "", - "lint": "eslint . --ext .ts,.tsx --max-warnings 13", - "lint:fix": "npm run run lint --fix", - "format": "prettier . --check", - "format:fix": "prettier . --write", - "type-check": "tsc", - "========== Examples ==========": "", - "register": "nodemon", - "populate": "ts-node -r tsconfig-paths/register ./examples/populate.ts", - "get-state": "ts-node -r tsconfig-paths/register ./examples/get-state.ts", - "unregister": "ts-node -r tsconfig-paths/register ./examples/unregister.ts", - "disconnect": "ts-node -r tsconfig-paths/register ./examples/disconnect.ts" - }, - "devDependencies": { - "@eslint/js": "^9.24.0", - "@trivago/prettier-plugin-sort-imports": "^5.2.1", - "@types/lodash.chunk": "^4.2.9", - "@types/node": "^20.5.0", - "@types/yargs": "^17.0.32", - "eslint": "^9.24.0", - "globals": "^16.0.0", - "nodemon": "^3.1.9", - "prettier": "^3.4.2", - "ts-node": "^10.9.2", - "tsc-alias": "^1.8.10", - "tsconfig-paths": "^4.2.0", - "typescript": "^5.1.6", - "typescript-eslint": "^8.30.1", - "uuid": "^11.1.0", - "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.5", - "vitest-mock-extended": "^2.0.2", - "yargs": "^17.7.2" - }, - "dependencies": { - "chokidar": "^3.6.0", - "lodash.chunk": "^4.2.0", - "zod": "^3.24.1" + "build": "python gyp.config.py && node-gyp clean && node-gyp configure build" } } diff --git a/src/addon-wrapper.ts b/src/addon-wrapper.ts deleted file mode 100644 index e245d28f..00000000 --- a/src/addon-wrapper.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { addon } from "./addon"; -import { addonZod } from "./addon/addon-zod"; -import { Callbacks } from "./types/callbacks.type"; - -export class Addon { - syncRootPath!: string; - - private parseAddonZod(fn: keyof typeof addonZod, data: T) { - const schema = addonZod[fn]; - const result = schema.safeParse(data); - if (result.error) console.error(fn, result.error); - return data; - } - - registerSyncRoot({ - providerName, - providerVersion, - providerId, - logoPath, - }: { - providerName: string; - providerVersion: string; - providerId: string; - logoPath: string; - }) { - const result = addon.registerSyncRoot(this.syncRootPath, providerName, providerVersion, providerId, logoPath); - return this.parseAddonZod("registerSyncRoot", result); - } - - getRegisteredSyncRoots() { - const result = addon.getRegisteredSyncRoots(); - return this.parseAddonZod("getRegisteredSyncRoots", result); - } - - connectSyncRoot({ callbacks }: { callbacks: Callbacks }) { - const result = addon.connectSyncRoot(this.syncRootPath, callbacks); - return this.parseAddonZod("connectSyncRoot", result); - } - - unregisterSyncRoot({ providerId }: { providerId: string }) { - const result = addon.unregisterSyncRoot(providerId); - return this.parseAddonZod("unregisterSyncRoot", result); - } - - disconnectSyncRoot({ syncRootPath }: { syncRootPath: string }) { - return addon.disconnectSyncRoot(syncRootPath); - } - - addLogger({ logPath }: { logPath: string }) { - const result = addon.addLoggerPath(logPath); - return this.parseAddonZod("addLoggerPath", result); - } - - getPlaceholderState({ path }: { path: string }) { - const result = addon.getPlaceholderState(path); - return this.parseAddonZod("getPlaceholderState", result); - } - - getPlaceholderWithStatePending() { - const result = addon.getPlaceholderWithStatePending(this.syncRootPath); - return this.parseAddonZod("getPlaceholderWithStatePending", result); - } - - getFileIdentity({ path }: { path: string }) { - const result = addon.getFileIdentity(path); - return this.parseAddonZod("getFileIdentity", result); - } - - async deleteFileSyncRoot({ path }: { path: string }) { - return addon.deleteFileSyncRoot(path); - } - - createPlaceholderFile({ - fileName, - fileId, - fileSize, - fileAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - basePath, - }: { - fileName: string; - fileId: string; - fileSize: number; - fileAttributes: number; - creationTime: string; - lastWriteTime: string; - lastAccessTime: string; - basePath: string; - }) { - return addon.createPlaceholderFile( - fileName, - fileId, - fileSize, - fileAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - basePath, - ); - } - - createPlaceholderDirectory({ - itemName, - itemId, - isDirectory, - itemSize, - folderAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - path, - }: { - itemName: string; - itemId: string; - isDirectory: boolean; - itemSize: number; - folderAttributes: number; - creationTime: string; - lastWriteTime: string; - lastAccessTime: string; - path: string; - }) { - return addon.createEntry( - itemName, - itemId, - isDirectory, - itemSize, - folderAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - path, - ); - } - - /** - * @deprecated - */ - updateSyncStatus({ path, isDirectory, sync }: { path: string; isDirectory: boolean; sync: boolean }) { - const result = addon.updateSyncStatus(path, sync, isDirectory); - return this.parseAddonZod("updateSyncStatus", result); - } - - convertToPlaceholder({ path, id }: { path: string; id: string }) { - const result = addon.convertToPlaceholder(path, id); - return this.parseAddonZod("convertToPlaceholder", result); - } - - updateFileIdentity({ path, id, isDirectory }: { path: string; id: string; isDirectory: boolean }) { - addon.updateFileIdentity(path, id, isDirectory); - } - - dehydrateFile({ path }: { path: string }) { - const result = addon.dehydrateFile(path); - return this.parseAddonZod("dehydrateFile", result); - } - - async hydrateFile({ path }: { path: string }) { - const result = await addon.hydrateFile(path); - return this.parseAddonZod("hydrateFile", result); - } -} - -export class DependencyInjectionAddonProvider { - private static _addon: Addon; - - static get() { - if (DependencyInjectionAddonProvider._addon) return DependencyInjectionAddonProvider._addon; - - DependencyInjectionAddonProvider._addon = new Addon(); - - return DependencyInjectionAddonProvider._addon; - } -} diff --git a/src/addon.ts b/src/addon.ts deleted file mode 100644 index b8ffc373..00000000 --- a/src/addon.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { z } from "zod"; - -import { addonZod } from "./addon/addon-zod"; -import { InputSyncCallbacks } from "./types/callbacks.type"; - -// eslint-disable-next-line @typescript-eslint/no-require-imports -export const addon: TAddon = require("../addon.node"); - -export type TAddon = { - addLoggerPath(path: string): z.infer; - createPlaceholderFile( - fileName: string, - fileId: string, - fileSize: number, - fileAttributes: number, - creationTime: string, - lastWriteTime: string, - lastAccessTime: string, - path: string, - ): any; - createEntry( - itemName: string, - itemId: string, - isDirectory: boolean, - itemSize: number, - fileAttributes: number, - creationTime: string, - lastWriteTime: string, - lastAccessTime: string, - path: string, - ): any; - hydrateFile(path: string): Promise>; - dehydrateFile(path: string): z.infer; - connectSyncRoot(path: string, callbacks: InputSyncCallbacks): z.infer; - convertToPlaceholder(path: string, id: string): z.infer; - deleteFileSyncRoot(path: string): any; - getFileIdentity(path: string): z.infer; - /** - * TODO: Not all paths return value - */ - disconnectSyncRoot(path: string): unknown; - getPlaceholderState(path: string): z.infer; - getPlaceholderWithStatePending(path: string): z.infer; - registerSyncRoot( - providerName: string, - providerVersion: string, - providerId: string, - callbacks: any, - logoPath: string, - ): z.infer; - unregisterSyncRoot(path: string): z.infer; - updateSyncStatus(path: string, sync: boolean, isDirectory: boolean): z.infer; - /** - * TODO: Returns a type in c++ that is not initialized - */ - updateFileIdentity(itemPath: string, id: string, isDirectory: boolean): any; - getRegisteredSyncRoots(): z.infer; -}; diff --git a/src/addon/addon-zod.ts b/src/addon/addon-zod.ts deleted file mode 100644 index c55e8b14..00000000 --- a/src/addon/addon-zod.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { z } from "zod"; - -import { PinState, SyncState } from "@/types/placeholder.type"; - -export const addonZod = { - addLoggerPath: z.boolean(), - connectSyncRoot: z.object({ hr: z.literal(0), connectionKey: z.string() }), - convertToPlaceholder: z.boolean(), - dehydrateFile: z.boolean(), - getFileIdentity: z.string(), - getPlaceholderState: z.object({ pinState: z.nativeEnum(PinState), syncState: z.nativeEnum(SyncState) }), - getPlaceholderWithStatePending: z.array(z.string()), - hydrateFile: z.undefined(), - registerSyncRoot: z.literal(0), - updateSyncStatus: z.boolean(), - unregisterSyncRoot: z.number(), - getRegisteredSyncRoots: z.array( - z.object({ - id: z.string(), - path: z.string(), - displayName: z.string(), - version: z.string(), - }), - ), -}; diff --git a/src/logger.ts b/src/logger.ts deleted file mode 100644 index 6470ab2a..00000000 --- a/src/logger.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type TBody = { - msg: string; - [key: string]: unknown; -}; - -export type TLogger = { - debug: (body: TBody) => void; - info: (body: TBody) => void; - warn: (body: TBody) => void; - error: (body: TBody) => void; -}; diff --git a/src/queue/queue-manager.ts b/src/queue/queue-manager.ts deleted file mode 100644 index 963e0469..00000000 --- a/src/queue/queue-manager.ts +++ /dev/null @@ -1,206 +0,0 @@ -import fs from "fs"; -import lodashChunk from "lodash.chunk"; - -import { TLogger } from "@/logger"; - -import { HandleAction, HandleActions, QueueItem, typeQueue } from "./queueManager"; - -export type QueueHandler = { - handleAdd: HandleAction; - handleHydrate: HandleAction; - handleDehydrate: HandleAction; - handleChange?: HandleAction; - handleChangeSize: HandleAction; -}; - -/** - * * @deprecated - */ -export type QueueManagerCallback = { - onTaskSuccess: () => Promise; - onTaskProcessing: () => Promise; -}; - -export class QueueManager { - private queues: { [key: string]: QueueItem[] } = { - add: [], - hydrate: [], - dehydrate: [], - change: [], - changeSize: [], - }; - - private isProcessing: { [key: string]: boolean } = { - add: false, - hydrate: false, - dehydrate: false, - change: false, - changeSize: false, - }; - - private enqueueTimeout: NodeJS.Timeout | null = null; - private enqueueDelay = 2000; - - // private readonly notify: QueueManagerCallback; - private readonly persistPath: string; - - logger?: TLogger; - actions: HandleActions; - - constructor({ handlers, persistPath }: { handlers: QueueHandler; persistPath: string }) { - this.actions = { - add: handlers.handleAdd, - hydrate: handlers.handleHydrate, - dehydrate: handlers.handleDehydrate, - changeSize: handlers.handleChangeSize, - change: handlers.handleChange || (() => Promise.resolve()), - }; - // this.notify = notify; - this.persistPath = persistPath; - if (!fs.existsSync(this.persistPath)) { - fs.writeFileSync(this.persistPath, JSON.stringify(this.queues)); - } else { - this.loadQueueStateFromFile(); - } - } - private saveQueueStateToFile(): void { - if (!this.persistPath) return; - - fs.writeFileSync( - this.persistPath, - JSON.stringify( - { - add: [], - hydrate: this.queues.hydrate, - dehydrate: this.queues.dehydrate, - change: [], - changeSize: [], - }, - null, - 2, - ), - ); - } - - private loadQueueStateFromFile(): void { - this.logger?.debug({ msg: "Loading queue state from file:" + this.persistPath }); - if (this.persistPath) { - if (!fs.existsSync(this.persistPath)) { - this.saveQueueStateToFile(); - } - - const data = fs.readFileSync(this.persistPath, "utf-8"); - if (!data) { - return; - } - this.queues = JSON.parse(data); - } - } - - public clearQueue(): void { - this.queues = { - add: [], - hydrate: [], - dehydrate: [], - change: [], - changeSize: [], - }; - this.saveQueueStateToFile(); - } - - public enqueue(task: QueueItem): void { - this.logger?.debug({ msg: "enqueue", task }); - const existingTask = this.queues[task.type].find((item) => item.path === task.path && item.type === task.type); - - if (existingTask) { - this.logger?.info({ msg: "Task already exists in queue. Skipping." }); - return; - } - - this.queues[task.type].push(task); - this.sortQueue(task.type); - this.saveQueueStateToFile(); - this.resetEnqueueTimeout(); - } - - private resetEnqueueTimeout(): void { - if (this.enqueueTimeout) { - clearTimeout(this.enqueueTimeout); - } - - // Inicia el temporizador de espera - this.enqueueTimeout = setTimeout(() => { - this.processAll(); - }, this.enqueueDelay); - } - - private sortQueue(type: typeQueue): void { - this.queues[type].sort((a, b) => { - const depthA = a.path.split("\\").length; - const depthB = b.path.split("\\").length; - - if (depthA !== depthB) { - return depthA - depthB; - } - - if (a.isFolder !== b.isFolder) { - return a.isFolder ? 1 : -1; - } - - return a.path.localeCompare(b.path); - }); - } - - private async processQueue(type: typeQueue): Promise { - if (this.isProcessing[type]) return; - - this.isProcessing[type] = true; - - if (type === typeQueue.add) { - await this.processInChunks(type, 7); - } else { - await this.processSequentially(type); - } - - this.isProcessing[type] = false; - } - - private async processInChunks(type: typeQueue, chunkSize: number): Promise { - const chunks = lodashChunk(this.queues[type], chunkSize); - - for (const chunk of chunks) { - // await this.notify.onTaskProcessing(); - await Promise.all(chunk.map((task) => this.processTask(type, task))); - this.queues[type] = this.queues[type].slice(chunk.length); - } - } - - private async processSequentially(type: typeQueue): Promise { - while (this.queues[type].length > 0) { - // await this.notify.onTaskProcessing(); - - const task = this.queues[type].shift(); - this.saveQueueStateToFile(); - - if (task) await this.processTask(type, task); - } - } - - private async processTask(type: typeQueue, task: QueueItem) { - this.logger?.debug({ msg: "processTask", task }); - - try { - await this.actions[task.type](task); - } catch (error) { - this.logger?.error({ msg: `Failed to process ${type} task`, error }); - } - } - - public async processAll(): Promise { - this.logger?.debug({ msg: "processAll" }); - const taskTypes = Object.keys(this.queues) as typeQueue[]; - // await this.notify.onTaskProcessing(); - await Promise.all(taskTypes.map((type: typeQueue) => this.processQueue(type))); - // await this.notify.onTaskSuccess(); - } -} diff --git a/src/queue/queue-manager.unit.test.ts b/src/queue/queue-manager.unit.test.ts deleted file mode 100644 index b47f5ffc..00000000 --- a/src/queue/queue-manager.unit.test.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { join } from "path"; -import { TEST_FILES } from "test/utils/setup.helper.test"; -import { v4 } from "uuid"; -import { describe, it, expect, vi, beforeEach } from "vitest"; -import { mockDeep } from "vitest-mock-extended"; - -import { QueueHandler, QueueManager } from "./queue-manager"; -import { QueueItem, typeQueue } from "./queueManager"; - -describe("QueueManager", () => { - const mockHandlers = mockDeep(); - let queueManager: QueueManager; - - const persistPath = join(TEST_FILES, v4()); - - beforeEach(() => { - vi.clearAllMocks(); - queueManager = new QueueManager({ handlers: mockHandlers, persistPath }); - }); - - it("should add a task to the queue and sort it correctly", async () => { - const tasks: QueueItem[] = [ - { path: "\\test\\folder4", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder\\test.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\test.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test", isFolder: true, type: typeQueue.add }, - { path: "\\test\\test2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder2\\file-pdf", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder3", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder3\\file12.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder3\\folder3", isFolder: true, type: typeQueue.add }, - ]; - - tasks.forEach((task) => queueManager.enqueue(task)); - - expect(queueManager["queues"][typeQueue.add]).toStrictEqual([ - { path: "\\test", isFolder: true, type: typeQueue.add }, - { path: "\\test\\test.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\test2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder3", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder4", isFolder: true, type: typeQueue.add }, - { path: "\\test\\folder\\test.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder2\\file-pdf", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder3\\file12.txt", isFolder: false, type: typeQueue.add }, - { path: "\\test\\folder3\\folder3", isFolder: true, type: typeQueue.add }, - ]); - }); - - it("should not add a duplicate task", () => { - const task: QueueItem = { path: "\\test.txt", isFolder: false, type: typeQueue.add }; - queueManager.enqueue(task); - queueManager.enqueue(task); - - expect(queueManager["queues"][typeQueue.add].length).toBe(1); - }); - - it("should clear the queue", () => { - queueManager.enqueue({ path: "\\test", isFolder: true, type: typeQueue.add }); - queueManager.clearQueue(); - - expect(queueManager["queues"][typeQueue.add].length).toBe(0); - }); - - it("should correctly order deeply nested structures", () => { - const tasks: QueueItem[] = [ - { path: "\\folder", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\subfolder", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\file.txt", isFolder: false, type: typeQueue.add }, - { path: "\\folder\\subfolder\\file2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\folder\\subfolder\\deep", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\subfolder\\deep\\file3.txt", isFolder: false, type: typeQueue.add }, - ]; - - tasks.forEach((task) => queueManager.enqueue(task)); - - expect(queueManager["queues"][typeQueue.add]).toStrictEqual([ - { path: "\\folder", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\file.txt", isFolder: false, type: typeQueue.add }, - { path: "\\folder\\subfolder", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\subfolder\\file2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\folder\\subfolder\\deep", isFolder: true, type: typeQueue.add }, - { path: "\\folder\\subfolder\\deep\\file3.txt", isFolder: false, type: typeQueue.add }, - ]); - }); - - it("should handle mixed folder\\file ordering properly", () => { - const tasks: QueueItem[] = [ - { path: "\\alpha", isFolder: true, type: typeQueue.add }, - { path: "\\alpha\\file1.txt", isFolder: false, type: typeQueue.add }, - { path: "\\alpha\\file2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\beta", isFolder: true, type: typeQueue.add }, - { path: "\\beta\\file3.txt", isFolder: false, type: typeQueue.add }, - { path: "\\gamma\\file4.txt", isFolder: false, type: typeQueue.add }, - { path: "\\gamma", isFolder: true, type: typeQueue.add }, - ]; - - tasks.forEach((task) => queueManager.enqueue(task)); - - expect(queueManager["queues"][typeQueue.add]).toStrictEqual([ - { path: "\\alpha", isFolder: true, type: typeQueue.add }, - { path: "\\beta", isFolder: true, type: typeQueue.add }, - { path: "\\gamma", isFolder: true, type: typeQueue.add }, - { path: "\\alpha\\file1.txt", isFolder: false, type: typeQueue.add }, - { path: "\\alpha\\file2.txt", isFolder: false, type: typeQueue.add }, - { path: "\\beta\\file3.txt", isFolder: false, type: typeQueue.add }, - { path: "\\gamma\\file4.txt", isFolder: false, type: typeQueue.add }, - ]); - }); -}); diff --git a/src/queue/queueManager.ts b/src/queue/queueManager.ts deleted file mode 100644 index 920db88a..00000000 --- a/src/queue/queueManager.ts +++ /dev/null @@ -1,20 +0,0 @@ -export enum typeQueue { - add = "add", - hydrate = "hydrate", - dehydrate = "dehydrate", - change = "change", - changeSize = "changeSize", -} - -export type QueueItem = { - path: string; - isFolder: boolean; - type: typeQueue; - fileId?: string; -}; - -export type HandleAction = (task: QueueItem) => Promise; - -export type HandleActions = { - [key in typeQueue]: HandleAction; -}; diff --git a/src/types/callbacks.type.ts b/src/types/callbacks.type.ts deleted file mode 100644 index 1e99234a..00000000 --- a/src/types/callbacks.type.ts +++ /dev/null @@ -1,33 +0,0 @@ -export type NapiCallbackFunction = (...args: any[]) => any; - -export type FilePlaceholderIdPrefixType = "FILE:"; - -export type FilePlaceholderId = `${FilePlaceholderIdPrefixType}${string}`; - -export type TFetchDataCallback = ( - id: FilePlaceholderId, - callback: ( - data: boolean, - path: string, - errorHandler?: () => void, - ) => Promise<{ finished: boolean; progress: number }>, -) => void; - -export type InputSyncCallbacks = { - fetchDataCallback: TFetchDataCallback; - validateDataCallback?: NapiCallbackFunction; - cancelFetchDataCallback?: NapiCallbackFunction; - fetchPlaceholdersCallback?: NapiCallbackFunction; - cancelFetchPlaceholdersCallback?: NapiCallbackFunction; - notifyFileOpenCompletionCallback?: NapiCallbackFunction; - notifyFileCloseCompletionCallback?: NapiCallbackFunction; - notifyDehydrateCallback?: NapiCallbackFunction; - notifyDehydrateCompletionCallback?: NapiCallbackFunction; - notifyDeleteCallback?: NapiCallbackFunction; - notifyDeleteCompletionCallback?: NapiCallbackFunction; - notifyRenameCallback?: NapiCallbackFunction; - notifyRenameCompletionCallback?: NapiCallbackFunction; - noneCallback?: NapiCallbackFunction; -}; - -export type Callbacks = InputSyncCallbacks; diff --git a/src/types/placeholder.type.ts b/src/types/placeholder.type.ts deleted file mode 100644 index 861bff7f..00000000 --- a/src/types/placeholder.type.ts +++ /dev/null @@ -1,46 +0,0 @@ -export enum SyncState { - /** - * Status that occurs when an error occurs while reading the status. - */ - Undefined = -1, - NotInSync = 0, - InSync = 1, -} - -export enum PinState { - /** - * The pin state is derived from the state of the parent folder. - * For example new remote files start out in this state, following the state of their parent folder. - * This state is used purely for resetting pin states to their derived value. - * The effective state for an item will never be "Inherited". - */ - Inherited = 0, - - /** - * The file shall be available and up to date locally. Also known as "pinned". - * Pinned dehydrated files shall be hydrated as soon as possible. - */ - AlwaysLocal = 1, - - /** - * File shall be a dehydrated placeholder, filled on demand. - * Also known as "unpinned". Unpinned hydrated files shall be dehydrated as soon as possible. - * If a unpinned file becomes hydrated - * (such as due to an implicit hydration where the user requested access to the file's data) - * Its pin state changes to Unspecified. - */ - OnlineOnly = 2, - - /** - * The user hasn't made a decision. - * The client or platform may hydrate or dehydrate as they see fit. - * New remote files in unspecified directories start unspecified, and dehydrated (which is an arbitrary decision). - */ - Unspecified = 3, - - /** - * The file will never be synced to the cloud. - * Useful for ignored files to indicate to the OS the file will never besynced - */ - Excluded = 4, -} diff --git a/src/utils.ts b/src/utils.ts deleted file mode 100644 index 8425be72..00000000 --- a/src/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const sleep = (ms: number) => { - return new Promise((resolve) => setTimeout(resolve, ms)); -}; diff --git a/src/virtual-drive.ts b/src/virtual-drive.ts deleted file mode 100644 index 8712c751..00000000 --- a/src/virtual-drive.ts +++ /dev/null @@ -1,327 +0,0 @@ -import fs from "fs"; -import path, { join, posix, win32 } from "path"; - -import { Addon, DependencyInjectionAddonProvider } from "./addon-wrapper"; -import { TLogger } from "./logger"; -import { QueueManager } from "./queue/queue-manager"; -import { Callbacks } from "./types/callbacks.type"; -import { Watcher } from "./watcher/watcher"; - -const PLACEHOLDER_ATTRIBUTES = { - FILE_ATTRIBUTE_READONLY: 0x1, - FILE_ATTRIBUTE_HIDDEN: 0x2, - FOLDER_ATTRIBUTE_READONLY: 0x1, - FILE_ATTRIBUTE_NORMAL: 0x1, -}; - -class VirtualDrive { - syncRootPath: string; - providerId: string; - callbacks?: Callbacks; - watcher = new Watcher(); - logger: TLogger; - - addon: Addon; - - constructor({ - syncRootPath, - providerId, - loggerPath, - logger, - }: { - syncRootPath: string; - providerId: string; - loggerPath: string; - logger: TLogger; - }) { - this.addon = DependencyInjectionAddonProvider.get(); - this.syncRootPath = this.convertToWindowsPath({ path: syncRootPath }); - loggerPath = this.convertToWindowsPath({ path: loggerPath }); - this.providerId = providerId; - - this.addon.syncRootPath = this.syncRootPath; - - this.createSyncRootFolder(); - this.addLoggerPath(loggerPath); - this.logger = logger; - } - - private convertToWindowsTime(jsTime: number) { - return BigInt(jsTime) * 10000n + 116444736000000000n; - } - - convertToWindowsPath({ path }: { path: string }) { - return path.replaceAll(posix.sep, win32.sep); - } - - fixPath(path: string) { - path = this.convertToWindowsPath({ path }); - if (path.includes(this.syncRootPath)) { - return path; - } else { - return join(this.syncRootPath, path); - } - } - - addLoggerPath(logPath: string) { - this.addon.addLogger({ logPath }); - } - - getPlaceholderState({ path }: { path: string }) { - return this.addon.getPlaceholderState({ path: this.fixPath(path) }); - } - - getPlaceholderWithStatePending() { - return this.addon.getPlaceholderWithStatePending(); - } - - createSyncRootFolder() { - if (!fs.existsSync(this.syncRootPath)) { - fs.mkdirSync(this.syncRootPath, { recursive: true }); - } - } - - getFileIdentity({ path }: { path: string }) { - return this.addon.getFileIdentity({ path: this.fixPath(path) }); - } - - async deleteFileSyncRoot({ path }: { path: string }) { - return this.addon.deleteFileSyncRoot({ path: this.fixPath(path) }); - } - - connectSyncRoot({ callbacks }: { callbacks: Callbacks }) { - const connectionKey = this.addon.connectSyncRoot({ callbacks }); - - this.logger.debug({ msg: "connectSyncRoot", connectionKey }); - return connectionKey; - } - - disconnectSyncRoot() { - this.addon.disconnectSyncRoot({ syncRootPath: this.syncRootPath }); - } - - private createPlaceholderFile({ - fileName, - fileId, - fileSize, - fileAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - basePath = this.syncRootPath, - }: { - fileName: string; - fileId: string; - fileSize: number; - fileAttributes: number; - creationTime: number; - lastWriteTime: number; - lastAccessTime: number; - basePath?: string; - }): any { - const creationTimeStr = this.convertToWindowsTime(creationTime).toString(); - const lastWriteTimeStr = this.convertToWindowsTime(lastWriteTime).toString(); - const lastAccessTimeStr = this.convertToWindowsTime(lastAccessTime).toString(); - - return this.addon.createPlaceholderFile({ - fileName, - fileId, - fileSize, - fileAttributes, - creationTime: creationTimeStr, - lastWriteTime: lastWriteTimeStr, - lastAccessTime: lastAccessTimeStr, - basePath, - }); - } - - private createPlaceholderDirectory({ - itemName, - itemId, - isDirectory, - itemSize, - folderAttributes, - creationTime, - lastWriteTime, - lastAccessTime, - path = this.syncRootPath, - }: { - itemName: string; - itemId: string; - isDirectory: boolean; - itemSize: number; - folderAttributes: number; - creationTime: number; - lastWriteTime: number; - lastAccessTime: number; - path?: string; - }) { - const creationTimeStr = this.convertToWindowsTime(creationTime).toString(); - const lastWriteTimeStr = this.convertToWindowsTime(lastWriteTime).toString(); - const lastAccessTimeStr = this.convertToWindowsTime(lastAccessTime).toString(); - - return this.addon.createPlaceholderDirectory({ - itemName, - itemId, - isDirectory, - itemSize, - folderAttributes, - creationTime: creationTimeStr, - lastWriteTime: lastWriteTimeStr, - lastAccessTime: lastAccessTimeStr, - path, - }); - } - - async registerSyncRoot({ - providerName, - providerVersion, - logoPath, - }: { - providerName: string; - providerVersion: string; - logoPath: string; - }): Promise { - this.logger.debug({ msg: "Registering sync root", syncRootPath: this.syncRootPath }); - return this.addon.registerSyncRoot({ - providerName, - providerVersion, - providerId: this.providerId, - logoPath, - }); - } - - static getRegisteredSyncRoots() { - return DependencyInjectionAddonProvider.get().getRegisteredSyncRoots(); - } - - unregisterSyncRoot() { - return this.addon.unregisterSyncRoot({ providerId: this.providerId }); - } - - static unRegisterSyncRootByProviderId({ providerId }: { providerId: string }) { - return DependencyInjectionAddonProvider.get().unregisterSyncRoot({ providerId }); - } - - watchAndWait({ queueManager }: { queueManager: QueueManager }): void { - this.watcher.addon = this.addon; - this.watcher.queueManager = queueManager; - this.watcher.logger = this.logger; - this.watcher.syncRootPath = this.syncRootPath; - this.watcher.options = { - ignored: /(^|[/\\])\../, - persistent: true, - ignoreInitial: true, - followSymlinks: true, - depth: undefined, - awaitWriteFinish: { - stabilityThreshold: 2000, - pollInterval: 100, - }, - usePolling: true, - }; - - this.watcher.watchAndWait(); - } - - createFileByPath({ - relativePath, - itemId, - size = 0, - creationTime = Date.now(), - lastWriteTime = Date.now(), - }: { - relativePath: string; - itemId: string; - size?: number; - creationTime?: number; - lastWriteTime?: number; - }) { - const fullPath = path.join(this.syncRootPath, relativePath); - const splitPath = relativePath.split("/").filter((p) => p); - const directoryPath = path.resolve(this.syncRootPath); - let currentPath = directoryPath; - try { - for (let i = 0; i < splitPath.length - 1; i++) { - // everything except last element - const dir = splitPath[i]; - - currentPath = path.join(currentPath, dir); - } - // last element is the file - this.createPlaceholderFile({ - fileName: path.basename(fullPath), - fileId: itemId, - fileSize: size, - fileAttributes: PLACEHOLDER_ATTRIBUTES.FILE_ATTRIBUTE_NORMAL, - creationTime, - lastWriteTime, - lastAccessTime: Date.now(), - basePath: currentPath, - }); - } catch (error) { - this.logger.error({ msg: "Error creating placeholder", error }); - } - } - - createFolderByPath({ - relativePath, - itemId, - size = 0, - creationTime = Date.now(), - lastWriteTime = Date.now(), - }: { - relativePath: string; - itemId: string; - size?: number; - creationTime?: number; - lastWriteTime?: number; - }) { - const splitPath = relativePath.split("/").filter((p) => p); - const directoryPath = path.resolve(this.syncRootPath); - let currentPath = directoryPath; - // solo crear el ultimo directorio - for (let i = 0; i < splitPath.length; i++) { - const dir = splitPath[i]; - const last = i === splitPath.length - 1; - if (last) { - if (fs.existsSync(currentPath)) { - this.createPlaceholderDirectory({ - itemName: dir, - itemId, - isDirectory: true, - itemSize: size, - folderAttributes: PLACEHOLDER_ATTRIBUTES.FOLDER_ATTRIBUTE_READONLY, - creationTime, - lastWriteTime, - lastAccessTime: Date.now(), - path: currentPath, - }); - } - } - currentPath = path.join(currentPath, dir); - } - } - - updateSyncStatus({ itemPath, isDirectory, sync = true }: { itemPath: string; isDirectory: boolean; sync?: boolean }) { - return this.addon.updateSyncStatus({ path: this.fixPath(itemPath), isDirectory, sync }); - } - - convertToPlaceholder({ itemPath, id }: { itemPath: string; id: string }) { - return this.addon.convertToPlaceholder({ path: this.fixPath(itemPath), id }); - } - - updateFileIdentity({ itemPath, id, isDirectory }: { itemPath: string; id: string; isDirectory: boolean }) { - return this.addon.updateFileIdentity({ path: this.fixPath(itemPath), id, isDirectory }); - } - - dehydrateFile({ itemPath }: { itemPath: string }) { - return this.addon.dehydrateFile({ path: this.fixPath(itemPath) }); - } - - hydrateFile({ itemPath }: { itemPath: string }) { - return this.addon.hydrateFile({ path: this.fixPath(itemPath) }); - } -} - -export default VirtualDrive; diff --git a/src/virtual-drive.unit.test.ts b/src/virtual-drive.unit.test.ts deleted file mode 100644 index bc19b158..00000000 --- a/src/virtual-drive.unit.test.ts +++ /dev/null @@ -1,176 +0,0 @@ -import fs from "fs"; -import { v4 } from "uuid"; -import { Mock } from "vitest"; -import { mockDeep } from "vitest-mock-extended"; - -import { addon } from "@/addon"; - -import { TLogger } from "./logger"; -import VirtualDrive from "./virtual-drive"; - -vi.mock(import("fs")); -vi.mock("@/addon", () => ({ - addon: { - addLoggerPath: vi.fn().mockReturnValue(true), - connectSyncRoot: vi.fn(), - createPlaceholderFile: vi.fn(), - registerSyncRoot: vi.fn().mockReturnValue(0), - }, -})); - -describe("VirtualDrive", () => { - const mockExistsSync = fs.existsSync as Mock; - const loggerMock = mockDeep(); - - const syncRootPath = "C:\\test-drive"; - const loggerPath = "C:\\test-logs"; - - beforeEach(() => { - vi.clearAllMocks(); - }); - - describe("When convertToWindowsPath is called", () => { - const providerId = v4(); - - // Arrange - const drive = new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - it("When unix path, then convert to windows path", () => { - // Assert - const result = drive.convertToWindowsPath({ path: "C:/test-drive/test.txt" }); - expect(result).toBe("C:\\test-drive\\test.txt"); - }); - - it("When windows path, then do not modify it", () => { - // Assert - const result = drive.convertToWindowsPath({ path: "C:\\test-drive\\test.txt" }); - expect(result).toBe("C:\\test-drive\\test.txt"); - }); - }); - - describe("When fixPath is called", () => { - const providerId = v4(); - - // Arrange - const drive = new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - it("When absolute windows path, then do not modify it", () => { - // Assert - expect(drive.fixPath("C:\\test-drive\\test.txt")).toBe("C:\\test-drive\\test.txt"); - }); - - it("When absolute unix path, then convert to absolute windows path", () => { - // Assert - expect(drive.fixPath("C:/test-drive/test.txt")).toBe("C:\\test-drive\\test.txt"); - }); - - it("When relative path, then convert to absolute windows path", () => { - // Assert - expect(drive.fixPath("test.txt")).toBe("C:\\test-drive\\test.txt"); - }); - - it("When relative windows path, then convert to absolute windows path", () => { - // Assert - expect(drive.fixPath("\\test.txt")).toBe("C:\\test-drive\\test.txt"); - }); - - it("When relative unix path, then convert to absolute windows path", () => { - // Assert - expect(drive.fixPath("/test.txt")).toBe("C:\\test-drive\\test.txt"); - }); - }); - - describe("When VirtualDrive is created", () => { - it("When syncRootPath does not exist, then it creates it", () => { - // Arrange - mockExistsSync.mockReturnValue(false); - - const providerId = v4(); - - // Act - new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - // Assert - expect(fs.mkdirSync).toHaveBeenCalledWith(syncRootPath, { - recursive: true, - }); - }); - - it("When syncRootPath exists, then it doesn't create it", () => { - // Arrange - mockExistsSync.mockReturnValue(true); - - const providerId = v4(); - - // Act - new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - // Assert - expect(fs.mkdirSync).not.toHaveBeenCalled(); - }); - - it("Then it calls addon.addLoggerPath with logPath provided", () => { - // Act - const providerId = v4(); - - new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - // Assert - expect(addon.addLoggerPath).toHaveBeenCalledWith(loggerPath); - }); - }); - - describe("When call createFileByPath", () => { - it("Then it calls addon.createPlaceholderFile", () => { - // Arrange - mockExistsSync.mockReturnValue(true); - const providerId = v4(); - - const drive = new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - - // Act - drive.createFileByPath({ - relativePath: "folder/subfolder/file.txt", - itemId: "file-id", - size: 1234, - creationTime: 1660000000000, - lastWriteTime: 1660000001000, - }); - - // Assert - expect(addon.createPlaceholderFile).toHaveBeenCalledWith( - "file.txt", - "file-id", - 1234, - 1, - expect.any(String), - expect.any(String), - expect.any(String), - expect.stringContaining("C:\\test-drive\\folder\\subfolder"), - ); - }); - }); - - describe("When call registerSyncRoot", () => { - it("Then it assigns callbacks and calls addon.registerSyncRoot", async () => { - // Arrange - const providerId = v4(); - const drive = new VirtualDrive({ syncRootPath, providerId, loggerPath, logger: loggerMock }); - const providerName = "MyProvider"; - const providerVersion = "1.0.0"; - const logoPath = "C:\\iconPath"; - - // Act - await drive.registerSyncRoot({ providerName, providerVersion, logoPath }); - - // Assert - expect(addon.registerSyncRoot).toHaveBeenCalledWith( - syncRootPath, - providerName, - providerVersion, - providerId, - logoPath, - ); - }); - }); -}); diff --git a/src/watcher/detect-context-menu-action.service.ts b/src/watcher/detect-context-menu-action.service.ts deleted file mode 100644 index bb3626e6..00000000 --- a/src/watcher/detect-context-menu-action.service.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { Stats } from "fs"; - -import { typeQueue } from "@/queue/queueManager"; -import { PinState, SyncState } from "@/types/placeholder.type"; - -import { Watcher } from "./watcher"; - -export class DetectContextMenuActionService { - async execute({ self, details, path, isFolder }: TProps) { - const { prev, curr } = details; - - const status = self.addon.getPlaceholderState({ path }); - const itemId = self.addon.getFileIdentity({ path }); - const isInDevice = self.fileInDevice.has(path); - - self.logger.debug({ - msg: "change", - path, - status, - itemId, - isInDevice, - prev: { - size: prev.size, - ctimeMs: prev.ctimeMs, - mtimeMs: prev.mtimeMs, - }, - curr: { - size: curr.size, - ctimeMs: curr.ctimeMs, - mtimeMs: curr.mtimeMs, - }, - }); - - if ( - prev.size === curr.size && - prev.ctimeMs !== curr.ctimeMs && - prev.mtimeMs === curr.mtimeMs && - status.pinState === PinState.AlwaysLocal && - status.syncState === SyncState.InSync && - !isInDevice - ) { - self.fileInDevice.add(path); - - if (curr.blocks !== 0) { - // This event is triggered from the addon - return "Doble click en el archivo"; - } - - self.queueManager.enqueue({ path, type: typeQueue.hydrate, isFolder, fileId: itemId }); - return "Mantener siempre en el dispositivo"; - } - - if ( - prev.size === curr.size && - prev.ctimeMs !== curr.ctimeMs && - status.pinState == PinState.OnlineOnly && - status.syncState == SyncState.InSync - ) { - // TODO: we need to disable this for now even if dehydate it's called two times - // because files that are a .zip have blocks === 0, so they never dehydrate - // because it's seems that it's already been dehydrated - // if (curr.blocks === 0) { - // return "Liberando espacio"; - // } - - self.fileInDevice.delete(path); - self.queueManager.enqueue({ path, type: typeQueue.dehydrate, isFolder, fileId: itemId }); - return "Liberar espacio"; - } - - if (prev.size !== curr.size) { - self.queueManager.enqueue({ path, type: typeQueue.changeSize, isFolder, fileId: itemId }); - self.fileInDevice.add(path); - return "Cambio de tamaño"; - } - } -} - -type TProps = { - self: Watcher; - details: { - prev: Stats; - curr: Stats; - }; - path: string; - isFolder: boolean; -}; diff --git a/src/watcher/events/on-add-dir.service.ts b/src/watcher/events/on-add-dir.service.ts deleted file mode 100644 index bfe7cbdf..00000000 --- a/src/watcher/events/on-add-dir.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Stats } from "fs"; - -import { typeQueue } from "@/queue/queueManager"; -import { PinState, SyncState } from "@/types/placeholder.type"; - -import { Watcher } from "../watcher"; - -export class OnAddDirService { - execute({ self, path }: TProps) { - try { - const status = self.addon.getPlaceholderState({ path }); - self.logger.debug({ msg: "onAddDir", path, status }); - - if ( - status.pinState === PinState.AlwaysLocal || - status.pinState === PinState.OnlineOnly || - status.syncState === SyncState.InSync - ) { - return; - } - - self.queueManager.enqueue({ path, type: typeQueue.add, isFolder: true }); - } catch (error) { - self.logger.error({ msg: "Error en onAddDir", error }); - } - } -} - -type TProps = { - self: Watcher; - path: string; - stats: Stats; -}; diff --git a/src/watcher/events/on-add.service.ts b/src/watcher/events/on-add.service.ts deleted file mode 100644 index 7212efda..00000000 --- a/src/watcher/events/on-add.service.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Stats } from "fs"; - -import { typeQueue } from "@/queue/queueManager"; -import { PinState, SyncState } from "@/types/placeholder.type"; - -import { Watcher } from "../watcher"; - -export class OnAddService { - execute({ self, path, stats }: { self: Watcher; path: string; stats: Stats }) { - try { - const { size, birthtime, mtime } = stats; - - if (size === 0 || size > 20 * 1024 * 1024 * 1024) return; - - const itemId = self.addon.getFileIdentity({ path }); - const status = self.addon.getPlaceholderState({ path }); - - const creationTime = new Date(birthtime).getTime(); - const modificationTime = new Date(mtime).getTime(); - - let isNewFile = false; - let isMovedFile = false; - - if (!itemId) { - isNewFile = true; - } else if (creationTime !== modificationTime) { - isMovedFile = true; - } - - if ( - status.pinState === PinState.AlwaysLocal || - status.pinState === PinState.OnlineOnly || - status.syncState === SyncState.InSync - ) { - return; - } - - if (isNewFile) { - self.fileInDevice.add(path); - self.queueManager.enqueue({ path, type: typeQueue.add, isFolder: false }); - } else if (isMovedFile) { - self.logger.debug({ msg: "File moved", path }); - } - } catch (error) { - self.logger.error({ msg: "onAddService", error }); - } - } -} diff --git a/src/watcher/events/on-add.service.unit.test.ts b/src/watcher/events/on-add.service.unit.test.ts deleted file mode 100644 index a503237f..00000000 --- a/src/watcher/events/on-add.service.unit.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { Stats } from "fs"; -import { mockDeep } from "vitest-mock-extended"; - -import { typeQueue } from "@/queue/queueManager"; -import { PinState, SyncState } from "@/types/placeholder.type"; - -import { Watcher } from "../watcher"; -import { OnAddService } from "./on-add.service"; - -describe("Watcher onAdd", () => { - const watcher = mockDeep(); - const onAdd = new OnAddService(); - - beforeEach(() => { - vi.clearAllMocks(); - }); - - it('Should enqueue an "add" task if the file is new', () => { - // Arrange - watcher.addon.getFileIdentity.mockReturnValue(""); - watcher.addon.getPlaceholderState.mockReturnValue({ - pinState: PinState.Unspecified, - syncState: SyncState.NotInSync, - }); - - const path = "C:\\test-drive\\folder\\newfile.txt"; - const stats = { size: 1024, birthtime: new Date(), mtime: new Date() }; - - // Act - onAdd.execute({ self: watcher, path, stats: stats as unknown as Stats }); - - // Assert - expect(watcher.addon.getFileIdentity).toHaveBeenCalledWith({ path }); - expect(watcher.addon.getPlaceholderState).toHaveBeenCalledWith({ path }); - expect(watcher.queueManager.enqueue).toHaveBeenCalledWith({ path, type: typeQueue.add, isFolder: false }); - }); - - it("Should not enqueue if the file is already in AlwaysLocal and InSync states", () => { - // Arrange - watcher.addon.getFileIdentity.mockReturnValue("existing-file-id"); - watcher.addon.getPlaceholderState.mockReturnValue({ - pinState: PinState.AlwaysLocal, - syncState: SyncState.InSync, - }); - - const path = "C:\\test-drive\\folder\\existingFile.txt"; - const stats = { size: 2048, birthtime: new Date(), mtime: new Date() }; - - // Act - onAdd.execute({ self: watcher, path, stats: stats as unknown as Stats }); - - // Assert - expect(watcher.queueManager.enqueue).not.toHaveBeenCalled(); - }); -}); diff --git a/src/watcher/events/on-raw.service.ts b/src/watcher/events/on-raw.service.ts deleted file mode 100644 index 5dc16d1b..00000000 --- a/src/watcher/events/on-raw.service.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { stat } from "fs/promises"; - -import { DetectContextMenuActionService } from "../detect-context-menu-action.service"; -import { Watcher } from "../watcher"; - -export class OnRawService { - constructor(private readonly detectContextMenuAction = new DetectContextMenuActionService()) {} - - async execute({ self, event, path, details }: TProps) { - try { - if (event === "change" && details.prev && details.curr) { - const item = await stat(path); - if (item.isDirectory()) { - self.logger.debug({ msg: "change", path, details: "Is directory" }); - return; - } - - const action = await this.detectContextMenuAction.execute({ self, details, path, isFolder: false }); - - if (action) { - self.logger.debug({ msg: "change", path, action }); - } - } - } catch (error) { - self.logger.error({ msg: "Error on change", error }); - } - } -} - -type TProps = { - self: Watcher; - event: string; - path: string; - details: any; -}; diff --git a/src/watcher/watcher.ts b/src/watcher/watcher.ts deleted file mode 100644 index fc01d26a..00000000 --- a/src/watcher/watcher.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { watch, WatchOptions, FSWatcher } from "chokidar"; - -import { Addon } from "@/addon-wrapper"; -import { TLogger } from "@/logger"; -import { QueueManager } from "@/queue/queue-manager"; - -import { OnAddDirService } from "./events/on-add-dir.service"; -import { OnAddService } from "./events/on-add.service"; -import { OnRawService } from "./events/on-raw.service"; - -export class Watcher { - syncRootPath!: string; - options!: WatchOptions; - addon!: Addon; - queueManager!: QueueManager; - logger!: TLogger; - fileInDevice = new Set(); - chokidar?: FSWatcher; - - constructor( - private readonly onAdd: OnAddService = new OnAddService(), - private readonly onAddDir: OnAddDirService = new OnAddDirService(), - private readonly onRaw: OnRawService = new OnRawService(), - ) {} - - init(queueManager: QueueManager, syncRootPath: string, options: WatchOptions, logger: TLogger, addon: Addon) { - this.queueManager = queueManager; - this.syncRootPath = syncRootPath; - this.options = options; - this.logger = logger; - this.addon = addon; - } - - private onChange = (path: string) => { - this.logger.debug({ msg: "onChange", path }); - }; - - private onError = (error: Error) => { - this.logger.error({ msg: "onError", error }); - }; - - private onReady = () => { - this.logger.debug({ msg: "onReady" }); - }; - - public watchAndWait() { - try { - this.chokidar = watch(this.syncRootPath, this.options); - this.chokidar - .on("add", (path, stats) => this.onAdd.execute({ self: this, path, stats: stats! })) - .on("change", this.onChange) - .on("addDir", (path, stats) => this.onAddDir.execute({ self: this, path, stats: stats! })) - .on("error", this.onError) - .on("raw", (event, path, details) => this.onRaw.execute({ self: this, event, path, details })) - .on("ready", this.onReady); - } catch (exc) { - this.logger.error({ msg: "watchAndWait", exc }); - } - } -} diff --git a/src/watcher/watcher.unit.test.ts b/src/watcher/watcher.unit.test.ts deleted file mode 100644 index 80fc8226..00000000 --- a/src/watcher/watcher.unit.test.ts +++ /dev/null @@ -1,499 +0,0 @@ -import { execSync } from "child_process"; -import { existsSync } from "fs"; -import { appendFile, mkdir, rename, rm, unlink, writeFile } from "fs/promises"; -import { join } from "path"; -import { TEST_FILES } from "test/utils/setup.helper.test"; -import { v4 } from "uuid"; -import { beforeEach } from "vitest"; -import { mockDeep } from "vitest-mock-extended"; - -import { Addon } from "@/addon-wrapper"; -import { TLogger } from "@/logger"; -import { QueueManager } from "@/queue/queue-manager"; -import { sleep } from "@/utils"; - -import { OnAddDirService } from "./events/on-add-dir.service"; -import { OnAddService } from "./events/on-add.service"; -import { OnRawService } from "./events/on-raw.service"; -import { Watcher } from "./watcher"; - -describe("Watcher", () => { - let watcher: Watcher | undefined; - - const addon = mockDeep(); - const queueManager = mockDeep(); - const logger = mockDeep(); - const options = {}; - - const onAll = vi.fn(); - const onAdd = mockDeep(); - const onAddDir = mockDeep(); - const onRaw = mockDeep(); - - const setupWatcher = async (syncRootPath: string) => { - if (!existsSync(syncRootPath)) { - await mkdir(syncRootPath); - } - - watcher = new Watcher(onAdd, onAddDir, onRaw); - watcher.init(queueManager, syncRootPath, options, logger, addon); - watcher.watchAndWait(); - watcher.chokidar?.on("all", (event, path) => onAll({ event, path })); - }; - - const getEvents = () => { - return onAll.mock.calls.map((call) => ({ event: call[0].event, path: call[0].path })); - }; - - beforeEach(() => { - vi.clearAllMocks(); - }); - - afterEach(() => { - watcher?.chokidar?.close(); - }); - - describe("[Watcher] When call watchAndWait", () => { - it("When folder is empty, then emit one addDir event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - await mkdir(syncRootPath); - - // Act - await sleep(50); - await setupWatcher(syncRootPath); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual([{ event: "addDir", path: syncRootPath }]); - }); - - it("When folder has one file, then emit one addDir and one add event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const file = join(syncRootPath, v4()); - await mkdir(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - await setupWatcher(syncRootPath); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - ]), - ); - }); - }); - - describe("[Watcher] When add items", () => { - it("When add an empty folder, then emit one addDir event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - - // Act - await sleep(50); - await mkdir(folder); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - ]), - ); - }); - - it("When add a file, then emit one add event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const file = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - - // Act - await sleep(50); - await writeFile(file, Buffer.alloc(1000)); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - ]), - ); - }); - - it("When add a file of zero size, then emit one add event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const file = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - - // Act - await sleep(50); - await writeFile(file, Buffer.alloc(0)); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - ]), - ); - }); - - it("When add a folder and a file inside, then emit one addDir and one add event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - const file = join(folder, v4()); - await setupWatcher(syncRootPath); - - // Act - await sleep(50); - await mkdir(folder); - await writeFile(file, Buffer.alloc(1000)); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - { event: "add", path: file }, - ]), - ); - }); - }); - - describe("[Watcher] When modify items", () => { - it("When modify a file, then emit one change event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const fileName = v4(); - const file = join(syncRootPath, fileName); - await setupWatcher(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - await appendFile(file, Buffer.alloc(1000)); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "change", path: file }, - ]), - ); - }); - }); - - describe("[Addon] When rename items", () => { - it("When rename a file, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const fileName1 = v4(); - const fileName2 = v4(); - const file1 = join(syncRootPath, fileName1); - const file2 = join(syncRootPath, fileName2); - await setupWatcher(syncRootPath); - await writeFile(file1, Buffer.alloc(1000)); - - // Act - await sleep(50); - await rename(file1, file2); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file1 }, - { event: "add", path: file2 }, - ]), - ); - }); - - it("When rename a folder, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder1 = join(syncRootPath, v4()); - const folder2 = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await mkdir(folder1); - - // Act - await sleep(50); - await rename(folder1, folder2); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder1 }, - { event: "unlinkDir", path: folder1 }, - { event: "addDir", path: folder2 }, - ]), - ); - }); - }); - - describe("[Addon] When move items", () => { - it("When move a file to a folder, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - const fileName = v4(); - const file = join(syncRootPath, fileName); - const movedFile = join(folder, fileName); - await setupWatcher(syncRootPath); - await mkdir(folder); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - await rename(file, movedFile); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "addDir", path: folder }, - { event: "add", path: movedFile }, - ]), - ); - }); - - it("When move a folder to a folder, then emit one unlinkDir and one addDir event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - const folderName = v4(); - const folder1 = join(syncRootPath, folderName); - const folder2 = join(folder, folderName); - await setupWatcher(syncRootPath); - await mkdir(folder); - await mkdir(folder1); - - // Act - await sleep(50); - await rename(folder1, folder2); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - { event: "addDir", path: folder1 }, - { event: "unlinkDir", path: folder1 }, - { event: "addDir", path: folder2 }, - ]), - ); - }); - }); - - describe("[Addon] When delete items", () => { - it("When delete a file, then emit one unlink event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const file = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - await unlink(file); - await sleep(150); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "unlink", path: file }, - ]), - ); - }); - - it("When delete a folder, then emit one unlinkDir event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await mkdir(folder); - - // Act - await sleep(50); - await rm(folder, { recursive: true, force: true }); - await sleep(150); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - { event: "unlinkDir", path: folder }, - ]), - ); - }); - }); - - describe("[Watcher] When pin items", () => { - it("When pin a file, then emit one change event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const fileName = v4(); - const file = join(syncRootPath, fileName); - await setupWatcher(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - execSync(`attrib +P ${file}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "change", path: file }, - ]), - ); - }); - - it("When pin a folder, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await mkdir(folder); - - // Act - await sleep(50); - execSync(`attrib +P ${folder}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - ]), - ); - }); - }); - - describe("[Watcher] When unpin items", () => { - it("When unpin a file, then emit one change event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const fileName = v4(); - const file = join(syncRootPath, fileName); - await setupWatcher(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - execSync(`attrib +P ${file}`); - await sleep(50); - execSync(`attrib -P ${file}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "change", path: file }, - { event: "change", path: file }, - ]), - ); - }); - - it("When unpin a folder, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await mkdir(folder); - - // Act - await sleep(50); - execSync(`attrib +P ${folder}`); - await sleep(50); - execSync(`attrib -P ${folder}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - ]), - ); - }); - }); - - describe("[Watcher] When set items to online only", () => { - it("When set a file to online only, then emit one change event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const fileName = v4(); - const file = join(syncRootPath, fileName); - await setupWatcher(syncRootPath); - await writeFile(file, Buffer.alloc(1000)); - - // Act - await sleep(50); - execSync(`attrib -P +U ${file}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "add", path: file }, - { event: "change", path: file }, - ]), - ); - }); - - it("When set a folder to online only, then do not emit any event", async () => { - // Arrange - const syncRootPath = join(TEST_FILES, v4()); - const folder = join(syncRootPath, v4()); - await setupWatcher(syncRootPath); - await mkdir(folder); - - // Act - await sleep(50); - execSync(`attrib -P +U ${folder}`); - await sleep(50); - - // Assert - expect(getEvents()).toStrictEqual( - expect.arrayContaining([ - { event: "addDir", path: syncRootPath }, - { event: "addDir", path: folder }, - ]), - ); - }); - }); -}); diff --git a/test/utils/setup.helper.test.ts b/test/utils/setup.helper.test.ts deleted file mode 100644 index f9e72a40..00000000 --- a/test/utils/setup.helper.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { mkdirSync } from "fs"; -import { join } from "path"; -import { cwd } from "process"; - -export const TEST_FILES = join(cwd(), "test-files"); - -mkdirSync(TEST_FILES, { recursive: true }); diff --git a/tsconfig.build.json b/tsconfig.build.json deleted file mode 100644 index 911d3259..00000000 --- a/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "noEmit": false, - "outDir": "./dist", - "types": [] - }, - "exclude": ["**/*.test.ts"], - "extends": "./tsconfig.json", - "include": ["index.ts", "src"] -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 6408cdd1..00000000 --- a/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "esModuleInterop": true, - "lib": ["ES2023"], - "module": "Node16", - "moduleResolution": "node16", - "noEmit": true, - "paths": { - "@/*": ["./src/*"] - }, - "skipLibCheck": true, - "strict": true, - "target": "ES2022", - "types": ["vitest/globals"] - }, - "exclude": ["node_modules", "dist"] -} diff --git a/vitest.config.mts b/vitest.config.mts deleted file mode 100644 index 7ec11eb1..00000000 --- a/vitest.config.mts +++ /dev/null @@ -1,13 +0,0 @@ -import tsconfigPaths from "vite-tsconfig-paths"; -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - plugins: [tsconfigPaths()], - test: { - include: ["**/*.unit.test.ts"], - setupFiles: "./test/utils/setup.helper.test.ts", - globals: true, - root: "./", - watch: true, - }, -}); diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 690862be..00000000 --- a/yarn.lock +++ /dev/null @@ -1,1961 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/generator@^7.26.2", "@babel/generator@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.5.tgz#e44d4ab3176bbcaf78a5725da5f1dc28802a9458" - integrity sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw== - dependencies: - "@babel/parser" "^7.26.5" - "@babel/types" "^7.26.5" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.26.5", "@babel/parser@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.7.tgz#e114cd099e5f7d17b05368678da0fb9f69b3385c" - integrity sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w== - dependencies: - "@babel/types" "^7.26.7" - -"@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.25.9": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.7.tgz#99a0a136f6a75e7fb8b0a1ace421e0b25994b8bb" - integrity sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" - "@babel/parser" "^7.26.7" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.7" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.5", "@babel/types@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.7.tgz#5e2b89c0768e874d4d061961f3a5a153d71dc17a" - integrity sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@esbuild/aix-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz#b87036f644f572efb2b3c75746c97d1d2d87ace8" - integrity sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag== - -"@esbuild/android-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz#5ca7dc20a18f18960ad8d5e6ef5cf7b0a256e196" - integrity sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w== - -"@esbuild/android-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.2.tgz#3c49f607b7082cde70c6ce0c011c362c57a194ee" - integrity sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA== - -"@esbuild/android-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.2.tgz#8a00147780016aff59e04f1036e7cb1b683859e2" - integrity sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg== - -"@esbuild/darwin-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz#486efe7599a8d90a27780f2bb0318d9a85c6c423" - integrity sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA== - -"@esbuild/darwin-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz#95ee222aacf668c7a4f3d7ee87b3240a51baf374" - integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== - -"@esbuild/freebsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz#67efceda8554b6fc6a43476feba068fb37fa2ef6" - integrity sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w== - -"@esbuild/freebsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz#88a9d7ecdd3adadbfe5227c2122d24816959b809" - integrity sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ== - -"@esbuild/linux-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz#87be1099b2bbe61282333b084737d46bc8308058" - integrity sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g== - -"@esbuild/linux-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz#72a285b0fe64496e191fcad222185d7bf9f816f6" - integrity sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g== - -"@esbuild/linux-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz#337a87a4c4dd48a832baed5cbb022be20809d737" - integrity sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ== - -"@esbuild/linux-loong64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz#1b81aa77103d6b8a8cfa7c094ed3d25c7579ba2a" - integrity sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w== - -"@esbuild/linux-mips64el@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz#afbe380b6992e7459bf7c2c3b9556633b2e47f30" - integrity sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q== - -"@esbuild/linux-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz#6bf8695cab8a2b135cca1aa555226dc932d52067" - integrity sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g== - -"@esbuild/linux-riscv64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz#43c2d67a1a39199fb06ba978aebb44992d7becc3" - integrity sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw== - -"@esbuild/linux-s390x@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz#419e25737ec815c6dce2cd20d026e347cbb7a602" - integrity sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q== - -"@esbuild/linux-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz#22451f6edbba84abe754a8cbd8528ff6e28d9bcb" - integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== - -"@esbuild/netbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz#744affd3b8d8236b08c5210d828b0698a62c58ac" - integrity sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw== - -"@esbuild/netbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz#dbbe7521fd6d7352f34328d676af923fc0f8a78f" - integrity sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg== - -"@esbuild/openbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz#f9caf987e3e0570500832b487ce3039ca648ce9f" - integrity sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg== - -"@esbuild/openbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz#d2bb6a0f8ffea7b394bb43dfccbb07cabd89f768" - integrity sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw== - -"@esbuild/sunos-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz#49b437ed63fe333b92137b7a0c65a65852031afb" - integrity sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA== - -"@esbuild/win32-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz#081424168463c7d6c7fb78f631aede0c104373cf" - integrity sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q== - -"@esbuild/win32-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz#3f9e87143ddd003133d21384944a6c6cadf9693f" - integrity sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg== - -"@esbuild/win32-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz#839f72c2decd378f86b8f525e1979a97b920c67d" - integrity sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.6.0.tgz#bfe67b3d334a8579a35e48fe240dc0638d1bcd91" - integrity sha512-WhCn7Z7TauhBtmzhvKpoQs0Wwb/kBcy4CwpuI0/eEIr2Lx2auxmulAzLr91wVZJaz47iUZdkXOK7WlAfxGKCnA== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/config-array@^0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.20.0.tgz#7a1232e82376712d3340012a2f561a2764d1988f" - integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ== - dependencies: - "@eslint/object-schema" "^2.1.6" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/config-helpers@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#26042c028d1beee5ce2235a7929b91c52651646d" - integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== - -"@eslint/core@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.12.0.tgz#5f960c3d57728be9f6c65bd84aa6aa613078798e" - integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/core@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.13.0.tgz#bf02f209846d3bf996f9e8009db62df2739b458c" - integrity sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/eslintrc@^3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" - integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.24.0", "@eslint/js@^9.24.0": - version "9.24.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.24.0.tgz#685277980bb7bf84ecc8e4e133ccdda7545a691e" - integrity sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA== - -"@eslint/object-schema@^2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" - integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== - -"@eslint/plugin-kit@^0.2.7": - version "0.2.8" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#47488d8f8171b5d4613e833313f3ce708e3525f8" - integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== - dependencies: - "@eslint/core" "^0.13.0" - levn "^0.4.1" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" - integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== - -"@humanwhocodes/retry@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.2.tgz#1860473de7dfa1546767448f333db80cb0ff2161" - integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@rollup/rollup-android-arm-eabi@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz#d964ee8ce4d18acf9358f96adc408689b6e27fe3" - integrity sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg== - -"@rollup/rollup-android-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz#9b5e130ecc32a5fc1e96c09ff371743ee71a62d3" - integrity sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w== - -"@rollup/rollup-darwin-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz#ef439182c739b20b3c4398cfc03e3c1249ac8903" - integrity sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ== - -"@rollup/rollup-darwin-x64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz#d7380c1531ab0420ca3be16f17018ef72dd3d504" - integrity sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA== - -"@rollup/rollup-freebsd-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz#cbcbd7248823c6b430ce543c59906dd3c6df0936" - integrity sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg== - -"@rollup/rollup-freebsd-x64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz#96bf6ff875bab5219c3472c95fa6eb992586a93b" - integrity sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw== - -"@rollup/rollup-linux-arm-gnueabihf@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz#d80cd62ce6d40f8e611008d8dbf03b5e6bbf009c" - integrity sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA== - -"@rollup/rollup-linux-arm-musleabihf@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz#75440cfc1e8d0f87a239b4c31dfeaf4719b656b7" - integrity sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg== - -"@rollup/rollup-linux-arm64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz#ac527485ecbb619247fb08253ec8c551a0712e7c" - integrity sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg== - -"@rollup/rollup-linux-arm64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz#74d2b5cb11cf714cd7d1682e7c8b39140e908552" - integrity sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ== - -"@rollup/rollup-linux-loongarch64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz#a0a310e51da0b5fea0e944b0abd4be899819aef6" - integrity sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg== - -"@rollup/rollup-linux-powerpc64le-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz#4077e2862b0ac9f61916d6b474d988171bd43b83" - integrity sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw== - -"@rollup/rollup-linux-riscv64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz#5812a1a7a2f9581cbe12597307cc7ba3321cf2f3" - integrity sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA== - -"@rollup/rollup-linux-riscv64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz#973aaaf4adef4531375c36616de4e01647f90039" - integrity sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ== - -"@rollup/rollup-linux-s390x-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz#9bad59e907ba5bfcf3e9dbd0247dfe583112f70b" - integrity sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw== - -"@rollup/rollup-linux-x64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz#68b045a720bd9b4d905f462b997590c2190a6de0" - integrity sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ== - -"@rollup/rollup-linux-x64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz#8e703e2c2ad19ba7b2cb3d8c3a4ad11d4ee3a282" - integrity sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw== - -"@rollup/rollup-win32-arm64-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz#c5bee19fa670ff5da5f066be6a58b4568e9c650b" - integrity sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ== - -"@rollup/rollup-win32-ia32-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz#846e02c17044bd922f6f483a3b4d36aac6e2b921" - integrity sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA== - -"@rollup/rollup-win32-x64-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz#fd92d31a2931483c25677b9c6698106490cbbc76" - integrity sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ== - -"@trivago/prettier-plugin-sort-imports@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-5.2.1.tgz#34adffe6d2ea48d960d957185b13f62a2e6c901a" - integrity sha512-NDZndt0fmVThIx/8cExuJHLZagUVzfGCoVrwH9x6aZvwfBdkrDFTYujecek6X2WpG4uUFsVaPg5+aNQPSyjcmw== - dependencies: - "@babel/generator" "^7.26.2" - "@babel/parser" "^7.26.2" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" - javascript-natural-sort "^0.7.1" - lodash "^4.17.21" - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/estree@1.0.7", "@types/estree@^1.0.0", "@types/estree@^1.0.6": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" - integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/lodash.chunk@^4.2.9": - version "4.2.9" - resolved "https://registry.yarnpkg.com/@types/lodash.chunk/-/lodash.chunk-4.2.9.tgz#60da44c404dfa8b01b426034c1183e5eb9b09727" - integrity sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.17.15" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.15.tgz#12d4af0ed17cc7600ce1f9980cec48fc17ad1e89" - integrity sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw== - -"@types/node@^20.5.0": - version "20.17.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.16.tgz#b33b0edc1bf925b27349e494b871ca4451fabab4" - integrity sha512-vOTpLduLkZXePLxHiHsBLp98mHGnl8RptV4YAO3HfKO5UHjDvySGbxKtpYfy8Sx5+WKcgc45qNreJJRVM3L6mw== - dependencies: - undici-types "~6.19.2" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.32": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz#9beb9e4fbfdde40410e96587cc56dded1942cdf1" - integrity sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/type-utils" "8.30.1" - "@typescript-eslint/utils" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^2.0.1" - -"@typescript-eslint/parser@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.30.1.tgz#8a9fa650b046e64656e21d4fdff86535b6a084b6" - integrity sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg== - dependencies: - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/typescript-estree" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz#f99c7efd53b5ff9fb57e55be71eb855603fd80b7" - integrity sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg== - dependencies: - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" - -"@typescript-eslint/type-utils@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz#151ee0529d6e6df19d8a3a23e81c809d2e4f6b1a" - integrity sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA== - dependencies: - "@typescript-eslint/typescript-estree" "8.30.1" - "@typescript-eslint/utils" "8.30.1" - debug "^4.3.4" - ts-api-utils "^2.0.1" - -"@typescript-eslint/types@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.30.1.tgz#20ff6d66ab3d8fe0533aeb7092a487393d53f925" - integrity sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw== - -"@typescript-eslint/typescript-estree@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz#f5c133e4a76a54d25607434f2c276409d7bec4ba" - integrity sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ== - dependencies: - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^2.0.1" - -"@typescript-eslint/utils@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.30.1.tgz#23d4824394765948fe73dc7113892f85fdc80efd" - integrity sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/typescript-estree" "8.30.1" - -"@typescript-eslint/visitor-keys@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz#510955ef1fb56e08da4b7953a3377258e5942e36" - integrity sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA== - dependencies: - "@typescript-eslint/types" "8.30.1" - eslint-visitor-keys "^4.2.0" - -"@vitest/expect@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.1.1.tgz#d64ddfdcf9e877d805e1eee67bd845bf0708c6c2" - integrity sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA== - dependencies: - "@vitest/spy" "3.1.1" - "@vitest/utils" "3.1.1" - chai "^5.2.0" - tinyrainbow "^2.0.0" - -"@vitest/mocker@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.1.1.tgz#7689d99f87498684c71e9fe9defdbd13ffb7f1ac" - integrity sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA== - dependencies: - "@vitest/spy" "3.1.1" - estree-walker "^3.0.3" - magic-string "^0.30.17" - -"@vitest/pretty-format@3.1.1", "@vitest/pretty-format@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.1.1.tgz#5b4d577771daccfced47baf3bf026ad59b52c283" - integrity sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA== - dependencies: - tinyrainbow "^2.0.0" - -"@vitest/runner@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.1.1.tgz#76b598700737089d66c74272b2e1c94ca2891a49" - integrity sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA== - dependencies: - "@vitest/utils" "3.1.1" - pathe "^2.0.3" - -"@vitest/snapshot@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.1.1.tgz#42b6aa0d0e2b3b48b95a5c76efdcc66a44cb11f3" - integrity sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw== - dependencies: - "@vitest/pretty-format" "3.1.1" - magic-string "^0.30.17" - pathe "^2.0.3" - -"@vitest/spy@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.1.1.tgz#deca0b025e151302ab514f38390fd7777e294837" - integrity sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ== - dependencies: - tinyspy "^3.0.2" - -"@vitest/utils@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.1.1.tgz#2893c30219ab6bdf109f07ce5cd287fe8058438d" - integrity sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg== - dependencies: - "@vitest/pretty-format" "3.1.1" - loupe "^3.1.3" - tinyrainbow "^2.0.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.4.1: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - -acorn@^8.14.0: - version "8.14.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -chai@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" - integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== - dependencies: - assertion-error "^2.0.1" - check-error "^2.1.1" - deep-eql "^5.0.1" - loupe "^3.1.0" - pathval "^2.0.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" - integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== - -chokidar@^3.5.2, chokidar@^3.5.3, chokidar@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@^9.0.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -deep-eql@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" - integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -es-module-lexer@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" - integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== - -esbuild@^0.25.0: - version "0.25.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.2.tgz#55a1d9ebcb3aa2f95e8bba9e900c1a5061bc168b" - integrity sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.2" - "@esbuild/android-arm" "0.25.2" - "@esbuild/android-arm64" "0.25.2" - "@esbuild/android-x64" "0.25.2" - "@esbuild/darwin-arm64" "0.25.2" - "@esbuild/darwin-x64" "0.25.2" - "@esbuild/freebsd-arm64" "0.25.2" - "@esbuild/freebsd-x64" "0.25.2" - "@esbuild/linux-arm" "0.25.2" - "@esbuild/linux-arm64" "0.25.2" - "@esbuild/linux-ia32" "0.25.2" - "@esbuild/linux-loong64" "0.25.2" - "@esbuild/linux-mips64el" "0.25.2" - "@esbuild/linux-ppc64" "0.25.2" - "@esbuild/linux-riscv64" "0.25.2" - "@esbuild/linux-s390x" "0.25.2" - "@esbuild/linux-x64" "0.25.2" - "@esbuild/netbsd-arm64" "0.25.2" - "@esbuild/netbsd-x64" "0.25.2" - "@esbuild/openbsd-arm64" "0.25.2" - "@esbuild/openbsd-x64" "0.25.2" - "@esbuild/sunos-x64" "0.25.2" - "@esbuild/win32-arm64" "0.25.2" - "@esbuild/win32-ia32" "0.25.2" - "@esbuild/win32-x64" "0.25.2" - -escalade@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-scope@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d" - integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== - -eslint@^9.24.0: - version "9.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.24.0.tgz#9a7f2e6cb2de81c405ab244b02f4584c79dc6bee" - integrity sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.20.0" - "@eslint/config-helpers" "^0.2.0" - "@eslint/core" "^0.12.0" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.24.0" - "@eslint/plugin-kit" "^0.2.7" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.3.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^10.0.1, espree@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -expect-type@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.2.1.tgz#af76d8b357cf5fa76c41c09dafb79c549e75f71f" - integrity sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9, fast-glob@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" - integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== - -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globals@^16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-16.0.0.tgz#3d7684652c5c4fbd086ec82f9448214da49382d8" - integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== - -globby@^11.0.4: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== - -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -javascript-natural-sort@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" - integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.chunk@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" - integrity sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loupe@^3.1.0, loupe@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" - integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== - -magic-string@^0.30.17: - version "0.30.17" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mylas@^2.1.9: - version "2.1.13" - resolved "https://registry.yarnpkg.com/mylas/-/mylas-2.1.13.tgz#1e23b37d58fdcc76e15d8a5ed23f9ae9fc0cbdf4" - integrity sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg== - -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -nodemon@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.9.tgz#df502cdc3b120e1c3c0c6e4152349019efa7387b" - integrity sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg== - dependencies: - chokidar "^3.5.2" - debug "^4" - ignore-by-default "^1.0.1" - minimatch "^3.1.2" - pstree.remy "^1.1.8" - semver "^7.5.3" - simple-update-notifier "^2.0.0" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== - -pathval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" - integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== - -picocolors@^1.0.0, picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -plimit-lit@^1.2.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/plimit-lit/-/plimit-lit-1.6.1.tgz#a34594671b31ee8e93c72d505dfb6852eb72374a" - integrity sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA== - dependencies: - queue-lit "^1.5.1" - -postcss@^8.5.3: - version "8.5.3" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" - integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== - -pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-lit@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/queue-lit/-/queue-lit-1.5.2.tgz#83c24d4f4764802377b05a6e5c73017caf3f8747" - integrity sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rollup@^4.30.1: - version "4.40.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.40.0.tgz#13742a615f423ccba457554f006873d5a4de1920" - integrity sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w== - dependencies: - "@types/estree" "1.0.7" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.40.0" - "@rollup/rollup-android-arm64" "4.40.0" - "@rollup/rollup-darwin-arm64" "4.40.0" - "@rollup/rollup-darwin-x64" "4.40.0" - "@rollup/rollup-freebsd-arm64" "4.40.0" - "@rollup/rollup-freebsd-x64" "4.40.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.40.0" - "@rollup/rollup-linux-arm-musleabihf" "4.40.0" - "@rollup/rollup-linux-arm64-gnu" "4.40.0" - "@rollup/rollup-linux-arm64-musl" "4.40.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.40.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.40.0" - "@rollup/rollup-linux-riscv64-gnu" "4.40.0" - "@rollup/rollup-linux-riscv64-musl" "4.40.0" - "@rollup/rollup-linux-s390x-gnu" "4.40.0" - "@rollup/rollup-linux-x64-gnu" "4.40.0" - "@rollup/rollup-linux-x64-musl" "4.40.0" - "@rollup/rollup-win32-arm64-msvc" "4.40.0" - "@rollup/rollup-win32-ia32-msvc" "4.40.0" - "@rollup/rollup-win32-x64-msvc" "4.40.0" - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -semver@^7.5.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.0: - version "7.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" - integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -simple-update-notifier@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" - integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== - dependencies: - semver "^7.5.3" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.8.1: - version "3.9.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" - integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -tinybench@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" - integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== - -tinyexec@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" - integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== - -tinypool@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" - integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== - -tinyrainbow@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" - integrity sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== - -tinyspy@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" - integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -touch@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694" - integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA== - -ts-api-utils@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" - integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== - -ts-essentials@>=10.0.0: - version "10.0.4" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-10.0.4.tgz#db8381c2e44cddb3339a2286174c4763bc1dcedb" - integrity sha512-lwYdz28+S4nicm+jFi6V58LaAIpxzhg9rLdgNC1VsdP/xiFBseGhF1M/shwCk6zMmwahBZdXcl34LVHrEang3A== - -ts-node@^10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsc-alias@^1.8.10: - version "1.8.10" - resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.8.10.tgz#279f9bf0dd8bc10fb27820393d4881db5a303938" - integrity sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw== - dependencies: - chokidar "^3.5.3" - commander "^9.0.0" - globby "^11.0.4" - mylas "^2.1.9" - normalize-path "^3.0.0" - plimit-lit "^1.2.6" - -tsconfck@^3.0.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.4.tgz#de01a15334962e2feb526824339b51be26712229" - integrity sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ== - -tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -typescript-eslint@^8.30.1: - version "8.30.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.30.1.tgz#c9ed49b459bd98e325fb78e2c86943dce7bb1cc0" - integrity sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row== - dependencies: - "@typescript-eslint/eslint-plugin" "8.30.1" - "@typescript-eslint/parser" "8.30.1" - "@typescript-eslint/utils" "8.30.1" - -typescript@^5.1.6: - version "5.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" - integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== - -undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== - -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -uuid@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" - integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -vite-node@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.1.1.tgz#ad186c07859a6e5fca7c7f563e55fb11b16557bc" - integrity sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w== - dependencies: - cac "^6.7.14" - debug "^4.4.0" - es-module-lexer "^1.6.0" - pathe "^2.0.3" - vite "^5.0.0 || ^6.0.0" - -vite-tsconfig-paths@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz#d9a71106a7ff2c1c840c6f1708042f76a9212ed4" - integrity sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w== - dependencies: - debug "^4.1.1" - globrex "^0.1.2" - tsconfck "^3.0.3" - -"vite@^5.0.0 || ^6.0.0": - version "6.2.6" - resolved "https://registry.yarnpkg.com/vite/-/vite-6.2.6.tgz#7f0ccf2fdc0c1eda079ce258508728e2473d3f61" - integrity sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw== - dependencies: - esbuild "^0.25.0" - postcss "^8.5.3" - rollup "^4.30.1" - optionalDependencies: - fsevents "~2.3.3" - -vitest-mock-extended@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/vitest-mock-extended/-/vitest-mock-extended-2.0.2.tgz#bde329b0ca0cdfc2b0a3c71291e1af64559e23b2" - integrity sha512-n3MBqVITKyclZ0n0y66hkT4UiiEYFQn9tteAnIxT0MPz1Z8nFcPUG3Cf0cZOyoPOj/cq6Ab1XFw2lM/qM5EDWQ== - dependencies: - ts-essentials ">=10.0.0" - -vitest@^3.0.5: - version "3.1.1" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.1.1.tgz#39fa2356e510513fccdc5d16465a9fc066ef1fc6" - integrity sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q== - dependencies: - "@vitest/expect" "3.1.1" - "@vitest/mocker" "3.1.1" - "@vitest/pretty-format" "^3.1.1" - "@vitest/runner" "3.1.1" - "@vitest/snapshot" "3.1.1" - "@vitest/spy" "3.1.1" - "@vitest/utils" "3.1.1" - chai "^5.2.0" - debug "^4.4.0" - expect-type "^1.2.0" - magic-string "^0.30.17" - pathe "^2.0.3" - std-env "^3.8.1" - tinybench "^2.9.0" - tinyexec "^0.3.2" - tinypool "^1.0.2" - tinyrainbow "^2.0.0" - vite "^5.0.0 || ^6.0.0" - vite-node "3.1.1" - why-is-node-running "^2.3.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" - integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zod@^3.24.1: - version "3.24.1" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee" - integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== From d2d376d3b6cc768a52864d5e8301938fd9145a25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Wed, 21 May 2025 12:14:06 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ab3cadc3..e3e45cce 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/internxt/node-win) + # Setup This guide explains how to set up and build the `node-win` project.