From 94d4cb30874b64c050cc31b0cb6262f0cb1282aa Mon Sep 17 00:00:00 2001 From: Jonas Date: Sat, 4 Oct 2025 14:09:35 +0200 Subject: [PATCH] Init --- .gitignore | 24 +- .../17.14.1231.31060/CodeChunks.db | Bin 0 -> 73728 bytes .../17.14.1231.31060/SemanticSymbols.db | Bin 0 -> 53248 bytes .vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 146591 bytes ...432c5285-8fc7-4aae-9d5e-f846982e7804.vsidx | Bin 0 -> 16851 bytes ...8c05cf6d-77be-490d-9450-d64de0268f4b.vsidx | Bin 0 -> 107 bytes .vs/JudoWeb/v17/.futdcache.v2 | Bin 0 -> 214 bytes .vs/JudoWeb/v17/DocumentLayout.backup.json | 12 + .vs/JudoWeb/v17/DocumentLayout.json | 12 + .vs/ProjectEvaluation/judoweb.metadata.v9.bin | Bin 0 -> 1525 bytes .vs/ProjectEvaluation/judoweb.projects.v9.bin | Bin 0 -> 68111 bytes .vs/ProjectEvaluation/judoweb.strings.v9.bin | Bin 0 -> 161099 bytes API/API.csproj | 13 + API/API.http | 6 + API/Controllers/WeatherForecastController.cs | 33 + API/Program.cs | 25 + API/Properties/launchSettings.json | 41 + API/WeatherForecast.cs | 13 + API/appsettings.Development.json | 8 + API/appsettings.json | 9 + GUI/.gitattributes | 1 + GUI/.gitignore | 30 + GUI/.prettierrc.json | 6 + GUI/README.md | 48 + GUI/env.d.ts | 1 + GUI/index.html | 13 + GUI/package-lock.json | 4870 +++++++++++++++++ GUI/package.json | 41 + GUI/public/favicon.ico | Bin 0 -> 4286 bytes GUI/src/App.vue | 11 + GUI/src/__tests__/App.spec.ts | 11 + GUI/src/css/global.css | 0 GUI/src/main.ts | 15 + GUI/src/plugins/vuetify.ts | 27 + GUI/src/router/index.ts | 8 + GUI/tsconfig.app.json | 12 + GUI/tsconfig.json | 14 + GUI/tsconfig.node.json | 19 + GUI/tsconfig.vitest.json | 11 + GUI/vite.config.ts | 18 + GUI/vitest.config.ts | 14 + JudoWeb.sln | 25 + 42 files changed, 5390 insertions(+), 1 deletion(-) create mode 100644 .vs/JudoWeb/CopilotIndices/17.14.1231.31060/CodeChunks.db create mode 100644 .vs/JudoWeb/CopilotIndices/17.14.1231.31060/SemanticSymbols.db create mode 100644 .vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/JudoWeb/FileContentIndex/432c5285-8fc7-4aae-9d5e-f846982e7804.vsidx create mode 100644 .vs/JudoWeb/FileContentIndex/8c05cf6d-77be-490d-9450-d64de0268f4b.vsidx create mode 100644 .vs/JudoWeb/v17/.futdcache.v2 create mode 100644 .vs/JudoWeb/v17/DocumentLayout.backup.json create mode 100644 .vs/JudoWeb/v17/DocumentLayout.json create mode 100644 .vs/ProjectEvaluation/judoweb.metadata.v9.bin create mode 100644 .vs/ProjectEvaluation/judoweb.projects.v9.bin create mode 100644 .vs/ProjectEvaluation/judoweb.strings.v9.bin create mode 100644 API/API.csproj create mode 100644 API/API.http create mode 100644 API/Controllers/WeatherForecastController.cs create mode 100644 API/Program.cs create mode 100644 API/Properties/launchSettings.json create mode 100644 API/WeatherForecast.cs create mode 100644 API/appsettings.Development.json create mode 100644 API/appsettings.json create mode 100644 GUI/.gitattributes create mode 100644 GUI/.gitignore create mode 100644 GUI/.prettierrc.json create mode 100644 GUI/README.md create mode 100644 GUI/env.d.ts create mode 100644 GUI/index.html create mode 100644 GUI/package-lock.json create mode 100644 GUI/package.json create mode 100644 GUI/public/favicon.ico create mode 100644 GUI/src/App.vue create mode 100644 GUI/src/__tests__/App.spec.ts create mode 100644 GUI/src/css/global.css create mode 100644 GUI/src/main.ts create mode 100644 GUI/src/plugins/vuetify.ts create mode 100644 GUI/src/router/index.ts create mode 100644 GUI/tsconfig.app.json create mode 100644 GUI/tsconfig.json create mode 100644 GUI/tsconfig.node.json create mode 100644 GUI/tsconfig.vitest.json create mode 100644 GUI/vite.config.ts create mode 100644 GUI/vitest.config.ts create mode 100644 JudoWeb.sln diff --git a/.gitignore b/.gitignore index 35063fc..1737ef2 100644 --- a/.gitignore +++ b/.gitignore @@ -51,4 +51,26 @@ CodeCoverage/ # NUnit *.VisualState.xml TestResult.xml -nunit-*.xml \ No newline at end of file +nunit-*.xml + +# Frontend (Vue.js / Node) +node_modules/ +ClientApp/node_modules/ +dist/ +build/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.env +.env.local +.env.*.local + +# Editor / IDE +.vscode/ +*.suo +*.user +*.userosscache +*.sln.docstates + +# JetBrains IDEs +.idea/ \ No newline at end of file diff --git a/.vs/JudoWeb/CopilotIndices/17.14.1231.31060/CodeChunks.db b/.vs/JudoWeb/CopilotIndices/17.14.1231.31060/CodeChunks.db new file mode 100644 index 0000000000000000000000000000000000000000..f041218ad75189c168c9091bb58bcf23c61b1cc1 GIT binary patch literal 73728 zcmeI53v^XinSjrI?R}DS_TGdLE>L3AKnMW}_q^_dN6XE9Kp=!iLV*%ULvn#YUgSYR zZ0Uv8zMpEJw$}Pu)2g!^ZFO|4bva|(8N0N0Iy%-mI$9s&qf=+JT9?cD_kWTmfzU}y zyO!2{*W&;G`|rK~bN08-+2P;!JeoH*b`2G(_Vx|*v=3D|+B7W~)K*tjX_{ujzv=LA z^kaY#9{mD3FwQ=cX=+RN{udL!)5^&2HU3laIKQ1QU_I<5^G0K-*;4w2k^}m;bWOjX z=IOIgMST>O&}(_I)m)D3?H+Xjc)hph4T^vsrAx+PcD zlCE#eRgEuMIJBpGNmu8QC9+Lj(G)ZqjRuOBVz`#RgN0rc(Mix zwyGt!9a@dH+}hNzd25c9*40fT(N)oa*45itI5M)=?ZZQT_`MC=w^^vlij|B;=gkY8 z2;iPK$QFgpd{=j2oXIElVqD4D_C;=JQ~S{VGj_$}B-$|VOkEkbCvDcaFQPcjq|pW^ zP_(*aj~ceOW%dvE9>hN92MULV3%wmjeP2W8Bt>kb#|=%{+;$kK*KA)~wXvzHc9JMS z$9Ka(*PUoGXw-26S7wm(B-JNznG?xRQe$icuyC?NYQll@|5kVv&*{hJNTB@2ExCp@ zP4Wm`II_{Ysx7&EZcDBylWVR*--h=7{;uAA3mZD?B%W-pF$X77Cf%G#XLFMT!l99s z#|1*)5 zGB$=I)y8+aWRg)Ei*{Bge^Yx;Ve*q@bd(zlz5C<|b?U@2T0YX3GnJ1YT)*msAsKg) zopE3iB_z7O=1k}8cu;ND_;01fU6e)_FAkhIG={f%sBfUqxo)tp7psna)hB^GR(i^5 zaXOCi^Xw>^OkeL%q4(5zb&`V>cVz;X@%=a>m|`G8qvxF$C~m<1jqUB2MJD!YtYEA| z@(i9h@sInH@!DO1v&JDLy5_ty4bIs1+N?2~_J(QHs|*yQqo-Q7uVc6eP~mANC-6~6 zWMu#SzeRA6jn1E=6<%%OpJ}7+(X$Ny7}RYF5qTW!Kun{5cKuoV)xXsvU&9lColrlt($Lz@9`fL}DZlw-J zby<)^GnHo=)zR*>S)*16{&S_v|6noBG@TvR*wf-}(JW^3Z}9p225_j4BA^H;0*Zhl zpa>`eihv@Z2q*%Iz?(o|$E=7}tRdOut(yk=_6@Z6^mG*l3canF=Kbvh{jKYUJNvd3 z_OzxqHMGh#iGjZE?!v%e>$U=9+J%8UtcY|#vN%?>v|}*vU9b9uocZ+fvar@QrN|H+ z+Vv0g9guCm|E{Hv@k_L5u|_|2x0cVGYRHk^jP6c(dX4y+w&dt(5hv^DwnBY0tR0=w zuAc&8bbH!e?^{y=WXq;!oW~hVX(EkeYm${e{*4I2$n1dmmYxCrsRyUHaw*` zu+TX;zGbc)c7eU_rrE;bLU&)kTvfpxh)oY`g(*dm1G#@_s2>hYw`9KoL*`6ahs*5l{pafj@Two5RJLz^SVM zljZDVD-f@}I5BH^=;)LJo}So8?NHa0nvShK%v=*LmQA(IYb*g&Btyef3UlfTz>HkD z$X<8LQx^crW1+&7f{f<>)2E7RY~`nniLYv5@vtU-Eglx%7ytU_erT%wQv?(NML-cy z1QY>9KoL*`6ahs*5l{sFY6ys6XkK94ojCGJejdQPrH+GH8V*H+_${z{S}0T#7=Lq$ zZU#b?fzkT_W~tx*|7wmJ)lo%25l{pa0YyL&Py`eKML-cy1WqTQe*ecS@c$})|Cggb z?es%Hc@zOfKoL*`6ahs*5l{pa0YyL&Py`eKMd0m2K>q%(^8dHbc&eT#0*Zhlpa>`e zihv@Z2q*%IfFhs>C<2oaVBidwJf!h!%ugFDz)&AWKoL*`6ahs*5l{pafj<`lCz&4B z-hJ+|YP|Ea1zrGIz5H19$UDobm-h~LcQ2{VgOu-xt6p9W5AZtW@#3S8@Ot$D?%Q)!A(e0yTE^7Mh3J z2cSc-CDj>t2KvZ1zfZC_*V|dW+;aR<{36RPTT^|PzZ->~J%!FrctE)Cxa`C*4Qp5Rz4_xY_9U~nZXCw8@jCe1-r4dW+bnkN4RJrY zg@m=M>)w3sPazH_LiO=W1AUlea&5X9i!%)^;t9Jy?Wz=dSW>8)|^aZ&$@f- zPNuPKypCZx`^ju%FBP*h>0~yM@G|)<6uX|| z!3NxXCY86ngk{@VH=WHk(zV2ol#Qnov1~5qxK1qQIQc{@4Y6WgDjmxv(utgtwc;7a z&DPha+x`b;Jsv)%ewJ|54fZ7c1@GFgc0=Hr=s z+D+Rj%YiQEJv(J5+)OT;ag%l`SD&-;v21;EaYSDKALc*R#8UoKF(f|!7c|6bR}}$8 zKoL*`6ahs*5l{pa0YyL&Py`f#(+J=j`ObDRK*uO&yAVMAw*#K#A^`EDoaF+5pZ^QU z|6dXRD}Dur`X~a5fFhs>C<2OrBA^H;0*Zhlpa>`eiojnifk-G2&~+&(m68xCBN2K1 z|NW(RYT|d|Me$?tJ@Ksgn)r(Ng7~y}P&^>+61R$L#TDXG(I@tbU7|%aimX^ET(LyV z7jwl7VTurcg}=mq#=pC`F;F$eiMH;zl;y_9$w(ByoERNEMLKG zzKB=zIea=V9 zKoL*`6oIoMK#Eo2K%hi#BgJ#kh|%IZ!hv9kuH8$EmA-W!EzX6)fW9-N7taA-K-ca8 zbB=G`9U{fq*mx@~&ccf8z!gQ;JW`yA#(Yw&Kw}Xp&OoD%7R$j1=q*7~oQ|%=v{;6& zg%MhuCbv$tTWC@E)=jj?ed}ggWWIGHEt%+8I;ybU@i@NVT zsna6$ombH!@vUoVG2&ZS&|=uPt|rBh+%4Kbi$ULYf))e5Ris7Dx2_?_vDPedIqEs& zGSpG>F4Pfn4E5#Yov06!qo^y$5!A=YrKo3DJHVbr~32=yU42s%J(f^-0l;UGDL zC4;0NbwBOHg84zxi;f=BgSwA)W5Ga}9zj^80_j41knBgjkL*KD=w8qP+CgXm zjRQf_i6wh!2RgdKbPpPPf}~xRkR9X_)R)jUSwMCN$!>IPC%aJZB(131$WGMl^kUEf z(i$W?&~Y){j*eYHvJD-Z$VI5P(yds~6r?R^YzvZREZIV~puUK1#)9S`*@TYGbR#-i z!lVfu8_5RLD@Y^i^>jT}$Oq{-F?7IlKI!Gchb93okOyy!z6>c zp4Nj7kYz!VM#mDm8Xa%~T!@Z&3S&sSwl0uy&Nz_T2039Ib z2WcD)7+ViZ(!@pGKpfOLYGZ{(lvwDV*FgYI`)no~3mn=p-mn=dZ zCv~V}WFhJbQj7XRx&U;5ETE(Y9d&d*I;;?xhmP5_8XZoMoQIB8RL&~_vL;C7yb>Ub zDTR3jjD;Zr(+aR$N#vwbLTU+2DS?v6IRxet&~pe*CXv}h&Lt(0Sp;X2NR;425~(0K zk3?otIgJD&(}EPIkq8e`Ig11$B1q&cQW7brFo%G{3{sdvz+gcFGYFJSCoq42HYm&< zP*4^mFnNGu28F2u95hH^;s8g8z_bB6OkvJ|g3=&`DFX~WOku_V1FFD;0aXZ<(?uXs z5~M*ifM6h492OQ77h!N)Z)h!VnSuC;of>Km3>c zC;SKeIsPoH4m`=f!oSEr%Rj{*;veB3;CJ!&@EiHnyvUEiDnTFb;vIY!-^Mrd^*qNf z|t0p_#5^ib}zew z-O8?qwS(jAC>vxwY#(cf^@FW!BWqw8wu&WS4Ph~>Vdt{htei1MnP&dp{I&UW^GD|M zu#)g~^9l3I=I3E8;p65<%=^qc%v;QB%@gJ^bI9y5_riL@c5}12&diuAVMSr7SqlKw zM-fm26ahs*5l{pa0YyL&cpDHPp+HdA?)TLPe086%?)BCCeRYqo?)KGPzPi&_clhdd zU%k&)@AcJte07_zZj}m_R(y4{uWs_yjlR0USJ(UMI$vGut8099wXfdotE+rV&U~zPdvG7)p<$yd33aDBp$h7|M5|Jc{xN%1comMmdaf2<0Hk0hEVO_M_}W*^9CV zWjD%$C=a0QLb)I1K9qY=7EpGg>_E9kO45$<5|nKycca{evK8e{lozAifpR;_Z7457 zxfNv#%4U>XP;N%K3FStVO(-{@Y(%*pDvOHeLGxd>$)%7rLvQ7%AP zgK|E~c_^z zC<2OrBA^H;0*Zhlpa>`eZ+8MIJ)|9l*QSiTrJ|>+Fi_|neQCCf zq5Xw{eBVH!qkV7)UI}5*kk&Poreklw*aWY!DAr7+&G`2(oU-Y$BDoWhDelDBn*;Fq ze=7ffyC2!Ae~N%2pa>`eihv@Z2q*%IfFhs>C<5aNEDs$GOeG&bB?pJhTem}9Q))Vv z{=@Ad#hNL#8O!kpU-O-iWU4zcmj2`K|0j&3CVne^E`B7Q6W+^$e zKg9RK)%-1d9be58d?{bR=gNEj*`L^N*e}?BvhTnh|BtgT!j=0Eu?N_l>}GZ~T(f^E z>t%b{F1X*nfvtvX^_Rkx`g7qr{ZbY*e`o#*uF?OF`7~Ui|0VMg^AqNW;9mb*&1=ld z&0(|K++*$-xzpb^>&z-MY6`f|{}tm!xXb^$#y5?}jV~IXGCpeDW87+7ZCqvy82gP~ zMvJlDSPc-=M-fm26ahs*5l{pa0YyL&I0J!5@f{(p%(nDmWk`$Kww>@u@tlxW?xrkK zoC8KGkQ2x%2g!j9`j4$g$@xe0h!05}r~Hx3UA01Ikb@UQ@BC1vPR zS<#ByF}+v^q6-z;1Hp=QT$0bd$4KHrf z4d8H6$v9~QN77A@^-`x2WSy*F+q6N(g(1_|VmQ}J(KRxNowW2kxRNO==8_!Lwv#D6 z3m$me8|+v{wo3rfdT_-p&x(<>tdxrD7lOy~95@UvkXujMp1w-DoP?7sSt$ooemt@Q z>Zfc+Uk-%{%Z0-?1(t1Da6~7e%yDd*fC!0HDna9Nr{bxE?#ViKJeky888iu};J3;kqteC=Geo)yi$h+<07HAT4;?UtF&N3;4mIINuNJ(s^LGiBzJbT82$Q zsY~a|7)dw<;q0wQ!g)jC?5%*VCH2`dmXm_`v%rG)0otiZ6i$0M0B6cp^60LRb>glY zqcfx{1>;l>F2_zm$m!s+T{xD@q!IHH1SSMH*c<}0K{=ebI?e^LSlrfODu}`{YNd3T z3Ziz(^V|qb1!cBFVIHV}_x8ngISW{^Bph}y2~@Zal*t(&nY0{Aq{p)2aMiyog5y}u z198uTner7{5Sh8-zq9i!uRoq`P1enO^5x^JZ^3hX+FS{#%&@9ckI6`)|({G_=wTSuHko>FB%_X z`}i^A3HCHIgeAUf_P}!qui)jz`^|5%1;(Iw!MNOfj4v}UW=HsL@n!aLVX!NV=UEFk zjAzVyM6Kv&A!F+qrh4U81QY>9KoL*`6ahs*5l{p)jfTpCwx!)y8j1!n{nzf*L*+q8 z|FwIh0qMVXw=Bf;U%RCwR1uWvzjm{9V*0P$B%Lz-*KU-SO#ihT(1P?|yB;gb^k2J9 znwb7;*BYVOK|lT1uEC&?{%cob1)2V9S4pQ#|FtV|KVpt{Qo3aNubq(fF#XqHbs-wW z^k2K8Boqx`{(qc?$^(%9U#^EL0y6(UEDf3e52FY2|H0DG?0}#D4`3nW|A(*;60v@a zB=i41>5}<>uXJJl-y>Zz|38S;A^$%xQr(JmNtew3_en$M|9hn&^Zx<{kokXybjkdG zk2GZd-!2WA|6hV0$p72W1Nr}Mj4kv3UDCq*zg1e8|L;Vf%>OTzU55OBhioYG|LxL{ z`TsU)$o&5zKW56=Dh-+cw_p+E|IN~n`TrI_Amsm>rG@$bCaezm|3o6|l{|$aP$WYf}5Xk@6NEhb+d089s|D5z-{-4EmkpE|-3-kYa ztdxqUr3dr>3vug^|6hPEng6fC!NmN3rK}J6{|Z@%`TufhVg8?zWsv_TWdxc3Cvc}A zNseP3ng4qjRObIK7DE2-NJHlTHf{#(GG1ZXs@4=Kr;5$^3tTv@rj#842somxj#$=V4gP|EnZ1rK0*Zhlpa>`eihv@Z z2q*%IfFhs>C<1SgfE^0gtS`^(AMQQ4p}oJqt9Revq3*7sLRZO_`){J zt+MKZ;hNNhHVxY+*2;Hv7aBUD>WVTKWzadh-K?L&JsMj-#V3CVKrS4V_jz IR^`V259Hk%vH$=8 literal 0 HcmV?d00001 diff --git a/.vs/JudoWeb/CopilotIndices/17.14.1231.31060/SemanticSymbols.db b/.vs/JudoWeb/CopilotIndices/17.14.1231.31060/SemanticSymbols.db new file mode 100644 index 0000000000000000000000000000000000000000..c4eb2d2aa7bf22caaed3a06a96b843dd848d3911 GIT binary patch literal 53248 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 P;%d<@%;w5ABtG%Ks^U8X literal 0 HcmV?d00001 diff --git a/.vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 b/.vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..fb9027260b865876f4284ee90681858481b6d02f GIT binary patch literal 146591 zcmdU22VmRA)rJLT@4XX8*^64s?hZHJy?b}&Zknd;-*1lBCa>=; z%`fa5+IYQo+{#*^nC~-kQ)Zu4sv3ooJ!Dj>1*6z+R1IynRYuV^wS$K$)>boDT~#Pe znw4^;P^xMdjpxke6H9w?`CQkcuI1z7izjm3-9~p$&RAkBGIPuFU0wNQ=J@ii&Lv&T zdwRON7n$P|%a(TK^4jy^rtcscKEtjw8!#RwPaSu%0_P59*g}^77WIgWjnLoo!ag!%~UHjQ#-Pb@3qV8&1%4>w^=^n z--)bF@3V?Ul@Dp_phUc1w!J61uRqTW#| zLZyq9fl`~WDrnL3**rwNWkCu&Yt<=KX(2~7&-RYn)ryfL^u}<@@%TwuCgjKKHs@i`Hq;C zS+kN>4k6VJb3aRnjPKGC~M1^42tXR{Z94T?)J^^W`d;vX-aj zvxB9oSt%JsTDfUV2>L|sYs~q6vr?F?ci3sni^ysNllH3L$fEP26vk#r1k!ollzh!g zTnDyQ&5|8V2UB>p`wPZo$+9se#egMGM^l)Ei~LEMr>yd7(xkiyK8mMe@>wIW-zq%hjdFC zYD}&+i)GTLQmoWX1#>PmD@$RzvY}Qj*Q#WHn9q??7|Vx^s=2l>QwYY>>Ev5)z2&A* zsy;KmTTGfz3I>5;^V%Brw)@Q-c6>3hC&n$>d~Z!*s}mD@?4jExZ%L6QdJ0nsSq4(> zDGWjZTdCMnu)_?SbCp8X-&9Sbg|R7cq;k_xRhWLKFbXhB6Inox%=@E23R{Yd>)_xB zeQ{IR52dsV=i}+sFK11x|+s+I(PBO=03S z5^!anIB66t<4Inz6g-}|ie!(|%E7CyzA8+?5H~{B+BxbBNjuRL#tb+oh_6Zttq2@9 zRtrT;-&t>Ub+glV!FyEj&W!gT>>HUfDrH)VNlk48%X`ClYf^nd4DWU3jKw@86LUro z*;=KE!eosN`H?wY8igK`U}d3{X9mEe+yNSDPr6~FlwVsY`IG6S)`$%SAid*VNe#CR zxek^2un(8BRz;W`z_!)jahVZ=-EiM$BA=&-7BSb8fgzY_2O5eZN^Y(Z`i?^MfUF z%7ZMmBK>Ys>#nDfgS>Dlv_8=ZDWZB(6EsnE!3m3~d`}8}uBda!3o23oDOW&97*ZNZ zZM+E;5HfJ5G0h=;8x{kz*pG)fKT_mLInszKha|vMqiosSYM0cCs3H4-nQ=3pH}kZ+ zPo4YF)Vz%&IsRT*3d1a^eAw@*=FG)KYkZvVailP}LQ&O}^c}&FA>%c4)y5LRK zOktkQ)uen!tXd`KS8Ix_vBQuv1=dL!B!$x6FizGsLpae)%lY;cX4o6b{)ws3iz|pk z+F1${JuXI^<5dc86=zShO`)ELD%6EzmJNt0EZ$&v9>C#xI*}(z=9{%Ui)Ycx<)<}0 zUot{ZhFSisCMo9>gcrzCr)Vt00+p_TO2j5&k4+deh2mJYRGVZG6^Ikm*h~O@MvP-gEi^htDadHOVuELCIRPx=Sv-lf;?JfJpt*K@UZAXmtemI4d1}69QZQNYa zoJbo;M4iorQcrhQYTy$|sN-`QHYW?%1NWV&H>u+@W9O_2S_bWiFIV?mp`p=7lXw5A zTCF{2*i+-R+%)DjhF!+bA(xrO#|Xz!8C!xT+|64si6Su~;DvV=9}_%fNeqRpvz#F!2UknBxt z!u$v`n8DJ7MSB~CtC<+(FegG_zoaH)qHgem%S}_;6IH9}ot~Boauie8&BPDBLOHI* zQi{xIDCcC~1sb-G@@cwZwx*$E#Y?uCkW%D3WuwZ6zhnly{)#cjWu8}?9ckMB z)O@ASmtgk6u{RcIk`$JqTpj=1A~wVAQWtH#>c?@;V$|^8L-p?m+0d<@2=6nBaIG=e zYE%8BEzFHnOVbA3rYk?pLz znZYDW{hJ%+CXEt_ytzV^Z8oY1D(!c(>W4n4Hi)GpPVDB1_X9Q|Xgh2=jzH7B9~k)# z@av3n*~}9K{h4ahqwJ2%`N55xwkpEmJE{3FV}W5d@=jfqME6iXJ(frV-&lf&JgPtM z*U|`%>=`q(EvR2M!w>&j`sk)(#5LW_=%W#B1b#gA=zr?_ILZbA-VKBu_xHio52}>M zr8Pv=4s69&DsNcAp_I#%Kb&lVlKx-)`#_#dH&@By)mLxu_`q{teM{v$LhIRNN@|@^ z@EfW6@q=hV4!7czyj4U5C3d=4{cMafGOOeg12WQ+pfH?SGKDt8*PH6!Y@&-ai%3R? z;Haw1 z^EaZ?JpE`|&s{RJDBx#Xtm?M%HZhQN;K z)AWj`=~=J9U;uHK=o_hi`$pz6xR$yW)CXeq)(e^C+QQ^ibD1$q=|=mJDs2v*>9H&o$7lfGW8_B*EZ%O#M6>Cj3m^mv+;B5=z`hjm!w+$ z<`-3~>2L+jcO7gig4l{-lfh|SIvcXH8%wq^;ah{6J|402TzyZ|KB}yGzX@^QMg3Zc zKV53^33T_Y&Q`-2n48hmPxrVw%vm~U7-R@*`W*KTw+NZrCC02VlB*QTeuv-mxvZUL z%+!|`o5?jBXpRd8;9~7h-_%b*d4;aEf^IT_Zi}_e^?a^Kno9x$8e@Z2Nj(nhlaS;( zt1vGiIxJC9y{{v$t}xrcB9)e&$?VAfYO3hY`f^)*-L zBHlpMTb#tLY1JvlR{fMHo^2nyBqcR|wttXEeJ2yIA9>r=yW__5qUWKwA+qTs!A*~S z@l45aq7mD-7^l@%rCz4#)4)5a>Sc>Nm-oRNxG+I(5>4c&8*|i)FKXV)sW<-y{77?E zKWPabkBTeh3S}1aLH#Hg!w83}^46R`OG@yir<_e}g!1=K{bY&FseMxytb=sfqkiJY z*ogk2>X!?|O*0$xSL6ojdR%w)_UcUT@hsz z%p((O2{`juD;gDfD?Wi@n}Vl8p1h-dQwDCcLP${391H!k5{57Vh|7kvVKp2&iR@u9k?-?`dk z6l>;at<3yh)w>AsQBHkjlP41wAwQO}zlE&cqAbou)t63k%LDS{1l{n+-$ zVI9IIY#t+Bz53ZE;d5EPm4i)_`G}}*uaw73F~lXA5(6h*Xsi=dKUt#M3>noa+A*o$ zI;}rHTrUcpRoSae&O}osj$CoFsG%3A};uF^FG3XO0`TO+xaH*9ygab}Q~x(+==s+oRX)rQc~M#qk&{ z;W{aS#Sz2g#xUjvUMczwLLoM!D;nmc+183V02)Ze6l3+$$jUlF3-tuHC!~B*A9Y_Fx}(*Azxwg!*;M?T8|tZquMKq)X^haJUFHQWuI= z%?-Oum|fCFg~Avp<;%oNn_BqVwcB=GwUEt!CdD&$ofO2b@6X`V@4kd;VQctZ@t(lm z%M2~iQTL{_-xD&biQUFr+5-3<+3mP#CS}f|*8z3l!sTcFIFk0%r%x0Gx1aRGKWJ7M zRMMUs5=%E$gjMEk9&M#*Pdg-mXqSF(%I!sxA#6BLzZ(%F+e9lU<<*QR46U5BCm*5! z@(m*GS|#0{g_c0tb5U}?0?wx+;1JvSPk%1TuXu02hQ-MB1GvXU^t1(ZWc3 z?zOrKL-7BC7`TxmD#qO@cjNQ`He!hcb1=*aXZ!=e=}*oh!q66*@)V38NpII~-4%5q z52UGgoaCk$@dl`NE#*l#tpHfhYel|DOnLYw0`PkwcFo`g0f_%d1s7tm73wZ10$W@M zU6<~V6j{W3_~1VqY!vJV`z(>EUz8AgrC)n>8G z?vU6uL&Trafu)-8T3I^}AxuB0B)LYunO&AB1-y?b7#I^P`ru^wZviWl@y+ z&72Ufl}hrglsjoGoXWUaz~qfFYGO!x{v=C8izV$rG!R0rpOkHJ!{!_bgYFL+skc(L zl8Cm6v`ax;(xg3fGD{>`<>N4oUlS?s$1@QI2Saz``IDW#$%?SKmiCLuL|J3v zay5kEtS@qQQM2HJ&|c~}DR|I(S1EtwQ#VU~#Vw(&ErNT)Fwm?W_8Q-vINIx!oNlPjf zzX^dUoCI*}hrd;WC3+7{N=E30V${diR9vhY$^kFMA+tiN$)Eb|+83MLeT>K_6>>c6 zf1s@d8wIH>5rjJGHxUIXk26g3gC%mFFaBgtDl6Wnk&4z*+D%yW5{!k_WoT+1K~edEf>buHC0YEqN#y>%@xYlT z?S%mMg^f1bG^`{-fp9@+|B;4&rO2B&7*fV*FE;|GGPKrU+IYm2le ziy_~MXj@FfR3j8gNE%uxX}^}-*E3oasqD*y%3^YoMnMa$wRTBM<%NP}AHSwPr4z+5 z{tFc)t;PwBLMBPr?^z3)0f$mQ3jC`cN%ZJ|K?yKQ)kvv%#F zlvgSn%48*LXG0blK|b16)1C-(p<-P%Q=Z;%S!h9|+&IEPklRxUq$1QkHa=+l*1#d} z+E(^G#Kas4zSbQGM&|plT1g>i@j%7==NwYdu_G3QTW4OY-V%gS2HEY30WRweIUD+ksu0>;rMnp73 zm?d&qdA=JVm+G35u-d(4{|fF}D^f4u85>-;|Z+04=F zf4HSm?6sN>J+}i&!$eEsGWh}fBd3Z&9Y*5pV`s|=jqt&H6)FH)+vzGzm$M`!XTH~- zFR=#K(k@1;wXS56-YRo)p(46$obN?+3jb}h5`Npno%<9rV?=pQ zW%epoIDBz))6{6`E8N=lXG;Z6u8HxZw^ROWvC=h5eAG$rJsY)%Gc@g0T59L5=`Ndz z(`#s?u!CJ@BhkS()#32Cz3MVPfb&?Vko2-UpV zsN&)dHXbB9u0!cTxRKzRlRWW!!mTTQt8OWVPt!d!xccXi*3paji0W(>+R}VtM^;;4 zO^)jpakeIv^#p&P(@?a6Gc&0fkQ*Gs~w^r82YYqb?*kh zXp?U~U=7RrHs)cK>dCiArl%rBUr89|Jfq!q67^mFT|d4yT@(o(p7LwKuUh@0=d*d`s> z_kckUfiCD|(avt9*Ae@#b8F{1cU}hHWxvlCB3W15&}L<_t5wcQew`8?rdUO<#zBn0 zaGUHznJdbUvjk0x4$7?s+}YtaCG)<-m^DUnl|q?~RQE1O)OyvZ2-xQlyFofF4~2q@ zyl@bPjhe~M<#`#bwd&n?!aXT#>+AVEo3^-w2WiF=t(^K_3&x<7y3a6Y-$emFv8;}h z^#kX19G0PO-`pidkn&_HwgCjunv%6e1~#Rb4Xb3wm4I_!(J1g6fD^9nI#2O#)867F z?uD*SaUqhOD#pvuw^KI@H9fjDU~aP`qsjJk@yux#oAAkpc+T{MZeR^>Dc;6T7Cbq} zI%2b}j$P9B<*u%^P#Zg043{nLT;7Ls7=;N0C#v$D`j$)~JK`J=-ztKRH`&dKfH`gd z$xhz_Ua0L-u2ALyppqThW4Pj|Z{C_?6N{8O8!Cng2Zi8GPj(K;Rx7^26sBl@5t{5w znehxc)+f6}BOdM9pabo*@}_VDQnLFtVb=8ZN!BDCW+<<|lYMnVylt|5>v-@NVF{MQsVUw1_G2!KJ zSc$h^Sv2(w&WM2i!aHbe$nS8;5EiYT%TPHiOqlTv_}?nz+0d=zum0lXvoN_?#Nr!l3DG@*&X%B zmCUVx92ch93B=H?zkzi0eXyA#Q7Vk!+khCNh)Y$eN;2W94X#(?YEmlG+QN9nsLaPo zgUB5zOB3oU17}INq9iH@J6K(}#>I<~bmfR*#MtSirXuw6%{LXXw+u(RnU zg@$@xI_?(g&((1~QTkE|Elmy;-_&@orj%IcSwHS$XQk+(r(>>Mtyo1k(b{91O|0K= zg&ij1Im52jzslxpZEtMw;g;|jl0R5NlFv?!pP`^;Dob&=WBarIfwI_DXQ2eg9)$J)URVJoBVnYQh_9+ zBco+#wyCO%$kRmCMSn9NDcqo-7W!W33rDK8e8C#)?(FU!L$^3nD;28qV{ElN*5?OQ z9>aaKW5!H=$s%DzPtZ7$%pmN&3`%`iJ!|cRKzbf!Gt68&j&)?~YZqfJ2gRx*wK5NU zWNRm}uQ!%QErhT%`=-p?G=0naO&j)@QS4l3M@EW~*J1oO<@~sIWNZT<-<(VjZ_mR2 zAUBPG6v1VaxN=(Hd2D>7^bQ(PUE9r14vzJkH6h{A3JQQQ4E<=T;~NSJ&$ z8bdlX98b|sVv_TIv;LJJ_-+$M(KfYQy<&u!KyL{?Qx@z{mHD$5@_w6i+xXwv3;SUA zs8!7KOJ=QFF^Xp|9IA~M3prepI%-XurSpya`0}O8dzN)C&*u$uNvF2ob;HIS>43E`%VOcl%~ znqa1aPq7I;*$usDJu0}F4Y|RUcROvGD%dnuDqxcxvhY$VdH>3>N{LH2lwQDCg?{5t z!%+o~_%al<8Ytz8K^% zo2`Q5=D503@!0@c=|%h$iPj4Y2w3AQ;SxVS5H4(+Mn%;$E-~VqUMb|&lvrb3 zY;|+WYhs%jzgb*GX~kE(cu}_sF7YFf$R#@rUnWK4U3{tWpg1b@iSNd!AIvx|m}K6} zDmcY=G?Y`hfRijmY~m5**+sTrD!CGAKk>0Vk(O5s@RsMtd+%= zmG1(b7572K-vWoFv&B(hD`1eC9L;zv`=a7C^v)Qj)G14e4g zGJeH9Y|bIzh?0@JLDTSOY|1OCfja8uhwfYOG=lhz55{M3a6|=q{Wc!n6oVdiq8f=~S9VkF?BX4TZ7xO^@u z)QERX;A)Vq7b{1ubX2w4h&P)53)s%g%ScmWB=PT2Vy;wL9e80zNG zY*Mp2;f0Uk=HCX>La9YumxN7Gkqr%MoBYu zr^p~DOaz7U3_M)t2TR0pJ_#>OVJ-30oK;j}e6tZ;6O{Md!aPS*FSrq2N!M~iY_}$= zB|1YW*YW8~Rb;QC9)(Q=p;T3xCgVqW(wSf`Jd5o^1T9W*A70cd#FKjB*@`SW!lb_; z!-1J`GoLr}Dypp+enV69i2AL@e=UAQB9-W$l_D28!`olAdyP<*+#f}CQxVpKQEn=# zN^qPI87Oj`h@bB99c^W%Bf-!sC=swB7t^Yl+r>`~#Jw!#orSRO6m%0=s%QrB3lDyr zR&}cu%$OmaCMWTdh9|8ml#6d3Tsh2FS%&$p&KNSki#m)!$QS;E^uP%cM z#)2nd{lQtzI05&I_$JR7s?aFDy6UmaRq%*kBfx}6qaG{T)!$Ta6NtQm{h*4a#0OH? z_C~ZD|AJ!w-bp1(n~im`NeKJivS6y{$}Y)vEo$ccAq<~O7xgS(w4`V0l8Mem-P*y| zt;R7R62WX$1@UpJ=FAP+)pb_>d0IpOE69#dT|Ld7d5oA_r;;$Y%97Gk$(P4!Qg5nV z^w?%I1s72wm$VYZa4fVb1Y_&z7H;>gE7A1f(})g)jtq8$8%>N!iZ4jKTr8Be< zH71g%im;eei8V8J&Z-m(!nrTJbj=<79bdZCSe#qDq-%N4BC~VZa&413p}AO8$o1HW zu&c008x>)x+MVrcPR?9z>3CPq#6&LNozLeNcWIZalT(n4ifY84{m$a!Nt~~)w{Ut? zyqULjN%xY)OY=(?EnT#{bLrycJzD;$Ss)Bf3taNc7Uh>OpBV4#>RG(Fr_<1KPt9fH zU<*tZb@z1VmM`z>UOL{B>t4J_8)acl5HAE1m#Vp~T7PQmUBDJ~)f zM0Frz-$&G`Ocn87AcPV- zraV$MbM!X7mQ17(eTs?Jjvy>mC?7O77Q4;AOJ?VMFUaHnqyjl&{pG{9^ zdb-9ZdX_C-V&r?4EHZl*Yj)DANitLQE{j!9Mc<%sb{{L_Q`HVN>X4wz`Cfaz)QWps zq~RrAJCe*)ycamo zH5n?rIC&RcFVOnwS4+14Bc}EqRmm3R86$v`}ph4SNxX|aO>7J#E%1NN3kCm0GGZUjOiAe9?QbcuH z3+p+#TSSF!+Y)Vf4Fso(#`UbD*!xw|{F3cishCs=Bd)e~YOg#pNT@f4h+TuQu}>9> z>lO&6H3zYXGRbxeOi-%GpkFifcck^X(x~!xgiMq8s-?eT%!Nv~c|ql~Eb3P+OgLJi zW4x{V0xRB+oK#-OTy|*{e>qoUzGTc`YrFMxWV^{=vCLK^%kannG`Q8Rc9^h0tPp4}a5-2+pP|gO2*q zyn(P(AwD36G4+YBii%M`AU2Ygsw51E!ke?%sOE5AlL~zj84#nQQf2tk2^tS#iwZZj zPkFD8;vQLkVPhJJvctTia%4H>|kw~Y=`*HH`76ZRWnzQ@Ho*+t}6-wn!AMw-kzqtHqZ7!f_0CPSp7BJ*iB z(TCirhajU?5wXZ+eZ#>*OMNJF8W zuI6n`a!;8|Ln6{qk@+Y}v{Ji@RzHe{WsH<~i%~KoO(vNVC(==o`Ff0K!vZZUnKP>2 z)Dk6(h>pNlHG~>&<$A(Mi6irOI&6VF9rd_sm7!BK4lb zF@iR#6}2{iL~ErkDpiL2G6~9()1PX6<<$E!H58XB#iuO9zE`Wjmj)&SqqVs2k#?qj z$|6fC)k|FkKevumJFDNfh{{RJJ(xq+O4Y)QnO%)YWQsh45|~4Wg`^5_s}|RfMTq3@zKT~uy;ZA$ zuvDR<^s-9|WiK&ijgefXP*yU5o=fa?Z!9-ev-&h@vLaHviFQ+J>PF?KYRlaQN~u!7 z;z2Y!wQj#puG^@~N!8#cKi-hnTB_!9>P>!O8L9ZeWR!I%>m#PWrt2V$$*3eHRUuf1 zvMyr0^a!6t@|r>{de6?>eRIGF6JtEn-zy(UYs6Tf~Y=mEkcp;}P_x0!0pP>Z3M3 zwaiq#Nw$uPhmxxYM(kGnKqHN?qI~J}lp<5*_`EP4Ss$lWw8^x3#k$l~MRHp^3C$a? z;$@3Fm-it^WnltWi&a}X?i8uW>r$#nS$3)}pG-AScczu58gby^9vz%Xy?Hdh97^7M zl}ksE&iFxti zo}7Prd8U zVc`fq!}Pp1DAzYRUP2T$G|-!8_F_N1zi z9QkBP@CnJ0PnHIskR160?;iUV$&pW%2cMAK@ig?+EU5<^r86sL38&ebOuD}@1uldg$%ZZR) zyS(14lKRR9TxrW`=nSHa-@4hH#Ph~RhWn@IIaZ~O(;mxa1y$=sLAKtgf_4FyhmTAd zm2wt}hjngvR6;TT2;+u|H+g@0P`Mp>tBPjVk+VDMy0dc{c7#_L7l7^hK3wSdN`NywO}atSyXJjLLkR0Q0Go!w5Ye%Tz}kJo>`z?44h6 zy34z3h{Z%s=1QECD0Pu@%&t?o+OKc6)WzPaT*fM9VvNjpx;yLdeC!(_{Vx30r_G&o zMXL(ia6X!xGQ6$nS5H!+73G5o03u-X@qkKkPZCmK6e`Y_7G)QOyQBKX08DO^lf*G1 zXbygvJh*G5*-$1yDREC>+)Hv_Lz$j_aLCeGm^eiF=e5t7Bo_u6B(9GzY76yDf0y;m zP6ad=GH#i9T4Q&nCQoSS^d%zgh@8KslH8J-BtpyaWA+fUKb4{30IH^PSZ`JjrDkUb zXJ%?u62+PFKa+jcXO-titqrwmxmN8jRA|hm`9XMp3NyKj`d5s>p9zltGcyG;2^{n1 zBV(7;@)nt@^$rb=VLEM_RkCl2-A!}WELvq^Cdh8Jt&+C?P{p+2+hwjd=S;h*9s88% zMLWum@;Fd@CjF!-xvlZ7WArB8F-$|yHxossEW4UDx0%`=(2QozYeuB;LMi+x^6PSb z+5I5-Fa)DMx`^cPOPmR}d)2JQcZNkTsldRF6^3)h~Nc2%BKQ(OQAVuwg z>YTv)pdGlOQb31h6iJnjl+B!WkiTd`J(2|$S*mM$;8c784M#gP^c}mqRy$}Kx z$Q7!^`F?W(cOc}o{opJ*i_P?28?D0D4kqnvV|moV#<#i7s7#v`ZO_3x8VJnO+P+*0 z%1*}>+gfG~d^5EJRuS3!)=9tH+n0dm_gqyg7JUJSEsL~XZBKHC1n%QAwY`E@PupkM z#8nx%l!YMn3L3e#?=Xq7X|pemppp}{E7n%L2EoIRl)k7x;1KB>5-V7f;es54_8N2E zS4P{DtE}xainVC9*WPHO*mhrUZ8j<;?NBzr!27OBVtAF|a6ONTz!D2RzP8_BDOapv zf#8?!egoUYe;!c3nR6|96Vd+2%Gb2D3>7g$LbqrcT671nM-m^7N+FLX&niya2R#5i z(@hxeGt$2%sII+N)rb`IS^EX6Yf|*2Oc5)27MFQctQl=DtnSzK(=QGT){o>HJWV@j zU}oIRv#CCj$o8v`3b*I#La9mxJc5LAMaLvB=CyqW?fT>QhTp4InxrD_&&~((!rG&+ zR;<=4rgi{n;KXg6f3pvXl2$b4>CX;}?FzNSR@Mr|JUNPn;e(!J-B2pdYuRQx1oHmp z>@phE{+j>a?nwTS(X>B;9FPn86UYNCz;}N}sw4di(!YZK25Q5<|Bmz@Ao84lBK;TW z-=HT!{{j6Mr0s@hfZ9Ohw>r`cXgARApaTKf11b4E;or(Lh-`b}8C;$N@bA6w@4Z3f znfoB!7ew^h4=K@Sf20S1h>iy$JqUC#=n&A}_&xb;qu(8h@A&VIV!RH+XNQB1038V; ze2+qUG>Gs%26QawIMDH+6F@|sg-A~XwS!3coP_jb&?z9!gUCke;Z&qVSMoc8CEt^O zpN7v*2a&QPxHFI^|J`*y>QlSTS>Uuex|4Bsb9VpxQO+I@EqKV;v)6O>boTO`y`6oW zeesWdo&EfO?Elb$2b}{hatP8Lblb2^Z8cupshPS5E=(&ahbNV+|z2T70TEJCu#a~306>^V!2 zEb*MBNS1oeG9=49XE~DPp0fhU3ePzg$+@0$9+LAs=X@mRd(H(&F7TWSkzD9G7a_UG zb9#}WkXIr>3HBku|N9Af&H$1D&sl|JmFHZHNy*cZ1kK>NH%%S zW+aM?l@SLqkwtCJql4;K=A}M;# z43ZhoDIqC&j)lbXoHCNK=Uj{ATF&o^u0|8$9PmBsY4_O-OF?oSTu{>^Zj}xy5sCMRKd> z+=k>f&v^!tXL!!-NN)F>JCNMrId>wt({t`Za+l{k6Uj3@=WZl-d(J&b?(v*^k=*M! z_aV8@bM8lSzvny)$+JA?0VEH2&VxuE^qhx~JmfhKBYD_!9zpVm=R6z9vpwfINS@<4 z&qeZF&v_n_=XuVfNFMc^=OcN(=ez*P3q0qANM7hUFGBJn&v`MD7kkc2ki5imUW(+U zp7Sy!FY}z2BYC;!yaLH9Jm)bak9p4HNFMi`S0Z_(=e!EZt32n`NM7wZuR-z}&v`A9 z*Lu$Dki5=wUXSGUp7RDIZ}6NqB6*|dya~yhJm<|w-t0MVLGl*Qc`K5)dd}OByv=jo zj^yp0^A05M@SJxdd8g;R3(31Y=iNx&?K$s3@*dB5FOv6q&ijzO&vV|7~tIUhmt5zqN3l8<`M$B=x?b3Tsb*-a zNdDkCe?;;}&vB4Ap5r2MJ?BqI{^U6x63=t~jO5Rr^A{w4@tnUR`K#yr4awg;=kG}V z?m7QJ@(<7XCz5}9&cBfS%X9vXpfA(;#^yOGRp$m~usyCbs)$?Sp5o+Ps;GJBECUdZfCGJ7Ml56SF<%)TVE zFEaa)%znu1Pcr)>a{$R4fXsm;b09JYk<3BJ9859?BXbDJ9D>ZDBy%V-hmp)-$Q({G zha+qktA~@GDnfjQOF!kGDjnG49OgW%&{bMEHcND%yGyZPcp|Na{|enfXqUY zS%}PuBy%D%?IhEV%t<735;7-~%*n`{LNccyb1KQ4ip*&wa~d+Ilg#PJoIx^YAaf?k zoQcd?By$!rXOqm?$ecqm=OB|MnJh9LB-4RRC&_do(?v2}$aIrTH!?jW(}T<+l39ez zVv<>m%o37Wg3MBqS&Gaul39k#a*|n&%nFiOfy}uib1pLHk<59>oKG_6BXa@CT!74l zBy%A$7m>_G$n=s-FET4hW+gIxB-4jXKgskXGe9x}$gConRmfbt;GqQ%xU1>kLHhR+ z`gaZfKIpDp(C@ATYCZjI1N}RMzfVpqa4%hOkvj|;0gZw-f;NFRgDwMI4!Qz#C1?zE z73gZv7SJ^y12hiGf$|^|Gy$3fO@Ruat)OX85i|oTfhcg0dyniCeY2GTR^vhZUa37bUWw{(4C;WK+go-4Y~((FX%qd{h()o9soTE zdIGfLC*m_7xX;PqoC)5UI2O_=tZCxgI)r9Dd=UOmxEpbdJOb9=#`*XfnE)I z4d}I?*MVLSdIRW=#!vNfj$lT4Cu3<&w)M<`U2>Spf7>G4EhS_tDvuez7Bc<^bOEA zLEi#>8}uE}cR}9+eIN7#&<{aB0{s~D6VOjVKLh<7^b620LB9h18uS~`Z$ZBU{T}oO z&>uk#$OZigp<6oZUEf~x(ReM=oZkepxZ#t0NoC{19T_o zF3>YUcZ2Q$-3z)8bU)}>pa(z?f*t}r40;6gY|wK+&jmdX^eE{0pcjB%2zn9d#h{mf zUJ7~{=;feSfF1)q4tgc%RiIacUITh9=yjmigWdpoBj`<_H-p{+dMoH{ptpnG0eUCs zU2Ry*y6U_a&bDZT!alP8-(Y z?sxs4`_DL>CRmtr%=g-`NDpI`C%K@ z{$b3~408;}{HP6vfiUJ6hB=mFe%uDDK^Su^!yLykKWT$WA&fbWVUFjRpSHo?5XKzO zFeh-#&)Q&&2xCrQn1vkk^EOy2!kC2&b0Ww5q77z@Fy=&tY3G<S>a}vXx%rU=igLNeQoRb;m6pr~#8%!r*%qa|WD#!e`4R)0<=2V6`jbnb-2BS+D za~i{(&N07lgGDBcIh|q7;Fv$O!CVu@oWU?>a?BswV9N<(&SaRgI0go-vn0$}40ATe zxNWckg`aaa!<@r0e`g)u!0vxsB<(FSW*7_*3B7IVx$ z+h7U{V-_>a5{~&-8|-9Z%o2uK$}#_LgApx^S;{cWIOfSVSlGgtWel^NWB$_y^II6R zoMBdQ%zxWpn+s!BFwD6eqv-Hl9X7}?W+lV) zam=1N7W!dKAH(!>%w9UImtjml!whiD-a1U1Vax!-tm2q`bl5$^m{kmOF~{ty!zdcY zkZ~3NIjcElKOGj+Fouq-zzlNC{yNO5VGKrB`kYHR<^UbG)-dK0hFQZg2kJ1yhB0dx zW-Z4Yq{B)Z#;j$SbsTfB4ijz|vyNfbbIc(+?7LyidWPA+F^B3f{)RCd7-ooL4%1;7 z4r7KG=2DJ1T!+~>jJcFyhB@X49X91KW|(0{IOa$l2InwlgkeTG<|rN3=rCrKVK#Ei z(K<}kVa!H`*~Br&=&)mlF`F1>GshgO!^j=RY-X6tIOaGV7Vt3UGKRUFV~*Eh9uH$K zXP7HE<^&zK^DyQLhPjes7V0pphcQ<&%oxXFw8X^bBYd2e;9KO!x$WMs*Y`dFveh*agI4n#~wi#GtMwM zjyYX-auO!TFnNwSL&xqy_&IroF*)W;9a|4!jL9$)9CMbAeTgt;f?*~(=4>6C7GcaJ z!%T6^IXZSU!k8(BDR4|y$96{;Q(%~_9Mhp=FC>iF$}rO$)2U;lB#fD6m?Fn?>29|! zfr<?&Fjbkp*u|*ZeY-5;tj=50B{#6(=&oJ9L<{}-NTVc$0 zhPjSodUfo4g)!GL%=H|zQpdJf7;`U@8Mvm#%v7r{m+{iFDam;{@ z-L^31CWg70V^-5cpzhozVQyoX zXK>6VI=279&v^#J+|Ds;bnFd=F}E|!9UQY($Hrk8a|grR$uaA6>?(#acQVXf9J5}> zmSY%m7sEW0V>am6j|^j;$uM_w%#e=F$}r|`hPj7hF4eJ<8OGehF!yrIu#RocFy>x{ zxsPK;bnJnKG50ad{Twr@V}mq|xu0R4#W5Ro?4E`(&tjMdIA)WMt<^B*0fu>yV>av9 zcMW46WSECI<}w|dvSG|a4D&F@T&_D0OPGfl<`Is$LdSM)_&JX-%(FS>N*#N>Va&4` z<~bZQreh;GjCl^jJeOmx(y>b%#ypo{p2sm)>)1jLW1hz_k8;cw9sA2+%%cqRe2%$B z$L4bw^L&PR0mm3RcBaFa7ck5VIc8kPwsjcuLWX$}$K-VEX}fuyevT~u^Zz1!F$bBt zJ0XvRFJ@1A2?tH;?vxCA2?M>9g9^I4RR+D3fnLTz)4E%fK`&#VmvhjJ?v`ZG%Nghu z9AxQkSq8m=fga2SxB0`5GV4|D4A;sG?&JKL9;WLG&-cujC+G#}0o0dL;$X zzW}|8gQ~h)lVy4pWA|zfn$_Jo8T4ufdJP9{)7^O)^cn_wEeCDa-Roq~YZ>Tu9CW?z z-XMcs$3U;=pc{4fCK>d426_Vr-K@K}$e=ec&>K1ER^7c#2ECDi-o!!A(B0c*(3=?O z%^Y-x?%pYb-poL6;h?*8_n9*2Ee!Nl4!T=+?~y@oWuUil(7n2QpA32%1HGMt?$_OC z$)LA0&^tKj0o{F22EBuU-pN4^>F&ca=$#DoE)IG`cb_eT-o-%g=Ah^3?sH|(yBX*` z9P~WheN+a$hk@S9LC@FS7s#OZGSK@t=!LrbA{q2P26{gSy;yf&B7@$~Kp)_sm+J6I z3HM0MN4D?|RdR%v3DT6-DKp)|tSLyDnWza_$ z=%XC;8r^-Z4EiVoeT;)%r@OD0K_6qFk8{u)boY%i=;I9Z2@ZOb?!H+DeS(2L$w6Apf57empJHS zy8Ce%^d$!RG6#J^cRwkEzRW;h;h<0H?x$tYR~YE49P}C8{j3c7Dg%9ugFdIbpO-;j zW1z2d&=+*~i!$iz4Dn(lsG27Qx(zQsXL z= zj|}oL@O$K-eKYQUGU(6jNq^y>{WIbe@fr678T2Fr{fC1VX515H(0>@{zZ}$_aZi##|Mfv|FXgC{Gwvx8ia4Lr z|KNPeVW(!?(_|Q2Q+-%l06RV7o*~2Fxa!070Cr}^Jxhkct<{HR0@&FZ_Z%4pr&k}g zTL8;u+zuHAmslURdjRXqxLq;~4zoUNj{w%4aeHJK+-ZH-o&ju8#$7DK;B4!|_6lH2 zGVW3t23K4kws!zqmT{NMFgWV^uzdp9ii~@%41*i558F3@otJUXmtk=7^pM0CrKv?UiA05cXjQ1hADEw@-$_eb|Q`7{K~7?tlz~bFmLQD1fcXxEISX zxE}kkg9F&=j5{d9;F#>g4hdkFWZX3}3~tLl?9c$VHsh|7VQ^~pVTT2<^%-}A41>$F z4?8@74Q1R*Wf&Zyeb^BJY&heN$S}A|`>-Pe*l5PxD8t}P?Zb`=V4E`TW*G)oYae!W z0J|*XUM|Dni0#9U31C-b+$&`m+_Zhzu>ou><6b4h;Kc32jtgK{XWT6^3@+Y2?Dzn7 zO~y537#zTT*a-n_93AC?@R&+I@L>xBST5t{<)^`U+=rbQz|4$0A;aKW?!(#x*ks0? zl3{Q>_hBamutLV&D#PHG?!!(FVAC15D8t~i?!!(AU^5xFB*Wm+?!!(EU{=O0%P=^+ z`>@jj*tHqABE#Sg@54?HV0Ol>$}l*~`>--k#TRAVK_SA!@2|59U1pd8HR%eKCCBz-IZ~l zDZ_B=z=tggV0UNSdt?|6CHSz#0qow4d!G!$kp&;NB!JzYai1l_aG=45Ee&7~WZVa3 z7>+ymuw?=4p^W>m48vgvAGSPzJ(6*sEyHkB!iTL0V9&|8&y`^~Na4fI4Pej9xR1&( z9JBCY=LN9mXWSRaFdV}0Vdn?17iQcS$uJzz@L?AOuoq|Cm&h<2;P7D=2C$cA+?UBP z9PjX97X`4FXWUoFFdY8yVZ8zDv5fn;48ze7AGR`py)xszN`~R!h!5)vV6V=&uaRLm zR^r3@1K4Xb?(1Y24xRY0fdKaUjQa)|h9fCHY*hezW5#`x48wsHANJ-9aX@|x{rgt@ zeWCld%o_LY8TTDX-kEXVh2-5C_dQ77n{nTV5JTk<9my`98^fADJJJ%ny+HA<6s@nIA#wN8KN1*112)z>C`bX~z9o z@QjE({%S+gr|0o7d;fpmyT0|U^{#il zYkl9|o4WeO5kpeCxi-bW%>y$#h5AVg+SaaKwsy(NmB;n0?OC;;u4DO@1A|q`}T9kHvh4m9oyXRmiOOg-Rf1n zYgeyW(X)2lg6^Iry~}&nPG7yYXX%o4y?;NYh(A88;kEZ0Pfwz*+R>|jK5netXA^mEcJz{7UW*vV46CuEUCvK zIu4WaXi$rAph~2Lv`zI(?dK9zD=VY{YE7r4(btedswvQs>Zs*mIu+&Wbbt<27)_~t zoswfuMhSinphAPL)hqE*1XQTV_*7yPDsKxNG9Zms}U-Bm!DHOR@g?%N}0fnld zq2)R{&f}HpY#ydYs%nW&b5o7#OO5Q%tj>;+Cvrp8!cUDv~wON|Vk%Nhe+^$if`pxA!)(k2qRT34{vI4@4 zl%=-^)0dndoeNb`NF&r&DOVTj+QF$--j+(X7SleFCu)`)(5YylravZwQ&(Bq9{sA9 zy6j9LJ(0)0Lq{5*W@n*PF9l7N!z+9%Ed&OVTgcAKRJaQ1l(O_rc*P=$zLXV=QO=YC zqCjcjZ3=1Rn}Q=(HR@p+bxe>dJK<$2<`HmJR_IvBk^fJ`a?naYO|zy+RGZOko-C$V z^VolF?mBh@#iuVqq#hNe{2pde`TOn7O(zTX%s1qQ18*^ zuNU8-lKkvQl*$a6cN}M^*@xu5_6$bTMNv) zhM=pSjtG~RrHy(;Ynzp3YNy{rHLmUoM4MHRQhju%g)pv|Zih& zRFUTc+1~qSN(0{>dALdK$On0-If`q?^`FX@l$0q*+!_=L<(}d&Qe!NnipT-2&0+m3 zB9eTc{s5}?2;gwVCvGuX>`Y&*n$?9=rHwtdk-jM3DH4X|6C1C3QDj&P>PYcaf|aGA zk-!@M7OlRxiY_#Rk(Okj0;R+*q+vNSa%N!KU7;S7cF$`{{%g9UoxPM8rA=UA1XknH zFy$3lR7_e68oPE*bv;TYG1260j6zw8V~SoRp_UsC$e%o+$~P?sIiS4KvC6en!|gs* zD=nG4()%K$%CvWiY1e#tX>aK&g+DzZvG%E)cU`rdE9bj#S=y9yNn?z#_w^@_ zYGw}=E*;0*DPr1uYQj(Lz}_fgb!$UVHTg_H6y$tUP}*q73d?(EhlGq>LUS}y8-8A) z;jp5o=~GxVxynYV_S+3PoiqhG8qqj6jvU5_o_aq`B{8SEP1M8^Q#<`Tq!RKwDeYXA zKCiJTC-ZD-#x>pQF$SgK7v)AQOmC#IEsTzFeNV2&V0BB9&jX~&f$)$BtJAm(sLsZC z03Z}`$;cdYWyp?k$g4(EP+HWwoP?1xv6E(nbarvmhsX<|k=~jewpgB@(6)UY%wX9IoXhh*ypGJ|xu3b0c+!s55W>AmELvOzZPq?kV>Wk@jx)W&`%K3OOQ+(9> zO8s&DJlAp>DU6?0Yqt@j-u@usMx-V$eXakI8B{$TR zqQQYCYey&5RLqNJ;U5-eo?MOeD)k#f?u#I67u8g%Uu|e371h`rwyT|3tphZQIM6nt z!n2}l`Nk7<+%FU{b(BAqT&N+a5tYdK$UyGM{qE%f<}G^1=VW!NS&j^G<(RUUG_%p2 zBE}=4wm7w1da_a%N(S9r)P?+4^mOCfCqLfAfg+&b6btD+w-t?D9%^)ob6!NTM#dD= zm^|LREoe?-`fAidRP+5Y68H>7KC(;mRbN^H%tcIxl0h@5xqCwQg&dhO_G&q-7%I+s zzTK!qQd6p_5k)@ee$*GM{>ePE;Utg2g)}Jo($p(B-2GLUBct?)W8DjsW7{=5rBKtR zoXL@im?&GAN_D4!$12c5sEfJQwHoGCd6mWVX(08nzv&daTukN2JfTrR!{0Mfr96_S zENkz-rTC}zUl7(TV#8&xx_riTxuR`_K5Vi z%=U8gIP-Y(lOpw2+U83&>@~JeFxQ&v%wF?E^Ca_A=BLfim?xX-%~M4B`K;~FnSJKx z&C|@&%`?n1O>N8(_b-@di?sVC+vk{HHqSM`Vt&;;&-|KszIlOpp}9e19b9bt5|REc zvwgXFh52>!N^_%mmAT3MhPm0?VqR@tV}8@T*1XQV-n_xQ(Y(pL*}O%>|66T;$GlBs z9Cz5h)BLVT{kv`7BU0~P^ZPEp-~55gAF%zPxz&6~WSu>%H|;#C_W->gGq;(Ki`08c zZ~A{$Z|Xg#H`o2ld_koAMZKx_lI@p8>b+|FHQR59MZJGz``04<{7!GK|GoJqk$QjC zn|AcD8XP3jpSJ$6b(ai#u&JAC*h9^o%$?0)BK_ zBG>P4{=3hQG)I}bK}EZx%`xVO%>&Gjm=$KFd7y}YRc5uz$C~3@eu(WuMdI~w+ml4% zI@R_OW{p{EPBZJwdb2^K|3=$0%$epabGF%JHk&PGtJx;fUc2oMQ{Ov8`5fEb=3H~0 zIo~|WTwv-uwutl5<|1>kxx_riTq-hupRm2mTy7p`9&diqTw$&>SDCBLHRcKCT63M* zYn~`FFQ2h}vbo+o#XMES&pwg*XSn=K^DOfV=Gh|g{gUl-%rCqAE4IICp6BxOZC_ws zXm0TNi)>$P`%>GNnU|Ya`23Z&H`?B0Zg%+=^J?=NpTE}jb>{Wv4d#vJP3Fxashs{Ss*5?zp zpERE`pEjQ{pEaKong17Tzi9s4+%Dqh%eG%JUo~GdUl*zOrtP=PUzooX3p)R{?cbQc zHGe1K#~*C}QKY^9wf(O7XY(&2_4U~y>5%V}!Y+!;&rngXw6nR3xtmCReS!&&Fn2fi zF!c>WoZrjb+x&pJkGZe8pQu;b-}VR14~h6Q%67Rq+8pEaAF-{kmZINEk?|d5yV@LU zjx!GyX@9)!3FbueFp+j9+n!<`Zca6iFl$7;(lpz3roJ%Xp82`&Qex*}mPp!@Se{uBcbK%l6$OYezGS{^zGA*A>Xlx%{f7Cb z`Ibl?{Mz>0=5Ng3ih8AYB=r9Wm;cfHlc-mE*Y=;yzqtIbroK#xdV@sPr@oj8>X((E ze&7fWHuVKr*h9^o%$-FwnRc&Jkih8AL+haxAJJ|Li=Aq_zpPy)c%$(%&lg%mS;XZ$a zS?ls?;t=&S%l2%u$!r$!qt$ks$hbR2y;8T!=bH1(`Q}j~*Dthvw7JM!Y%Vd6F_)Uh znmr=zEEDxg$GiNK<_dGAs8?EJ`vh~Xxz6l0Pc%;w8Q00S*NgObsz|<{?(#FtGtIL^ zz0wzLf5|*YDFj(*C=) z|7`xn{6F)rCWB+&(zp6S{QwdiWa>NWu=Nu`P`~8|2aEJG)V6*T3R}M@#ra*#U0trP zyW_lmu8i}0nEG`u;;Ua6;{1N*{vzwIT#S9y9AkdiJiz>jSz%V12a5QqAK{~&gKUqr zJ($5hh^{3gc_xT2My4h&XFlUNf*JQidY%yES zHdDV@M}Hl*J5Bv=7~`B{cAIlW;(4^~Mdo6WewT{)-{bO6n9I!N=5ZpQqgL5oEppun zw%3~LMCyIo_GiqK&Gn}KH&9&vS=*np{dx0r^Gu&V%lv|Qw)sU-uXL^if4=JS^USZA z=bIOZ)Z1WQ+-zE{;P-?DwHd7H~`H}4SjN_W}5+q_4loqKKHXZwB;e;%;C)%K5UKP5ID#-xr^o+{Hq>4AEer-`XrTAP|eTSD7HsX0w&&~|BEni1M6 ztxpZ195*DcnjUo;qkKl9e1`sGKzW*}Ka@I6(OOfSZI1G`xT-^Km&-GH?9eYj<$BX^ zchosbXGg~$-q)oHojFQcsXuhG^q_Qz^x#w_t<_KPXuGsttWYaWp)JyuDCtODI_{LW zw9y%DRY|MW18t4d(YQ24dWd?fP80N39kHs`_4PWgRn2Nerb}9<5uxo;qEQ{us8+w! znHAckGu5eC*P)a*r#aG=C~t`tTBC*bsM8)TGhTe6$BwAkp}1DdV|wh0cDhwQR)4jj zvqGD~o*mjDovGf?PAUG3jk!Qub=;zs#_Fg|%8ZOvjc#dYv`PEKV?sn^tfE}{J5)!9 zrtuN4D(QGd2>n=;mP;qs!Cg=%w~=1ab3B3&9hyrJR$d|DaN&$(Ynxv(3zpLrS*}m z^-+g)RGS+0S1W(WS!%FKXN1yPle|Scq|H&kC0b~StH>z)pszNyf#Owr)NGGB?NQzy z?X*WP?K)4Lc~bHXrN@rAmKDk|kznnhob8NuIu)^6z45IpTI-6M^R&Wh)nbRnU#=Lj zr!{HW1DW9P>(OgbT z#1rLOqKeWcexuZBRZLK7w(1XUml8dc5_UJVB6Mo#Ow9n|&>=O-I6JtY5E2AM+1KB|frHsq@(xnoz z0HtN-mWXmpEb)jvl#!t`r44Dm-qWMb^srgQ4Vo$1A#+e_vYVltWo@9Wq-Kqn^;r>0 zIrEC*A?pR@Dpox@N6PFs=t|0ujB@UR%mMARYkpC@WyeG(hfWD)M<9pMX`%Spu5qCB z$m&ChVSDt#p3gD8x9c8FHq#?_3zSi?22s4qbJwA}VS{YE>WrG5+6OttAF>>!U)Cwg z+;!>?rN_?50eWrF5i#tJHs{6|=SIJCqyGG8VUcPuA5EcM9@BK4Yt%7!+v#eBu@V84 z`mCDiYNcAWSR?2pDR&{_Q4yMFBS)wsN;;*SN9lp}+o)?Oq0L6cp**xQl=j(?8`akg zX_sm>YCH>N@#Mpf)h=asLA#{n2-*@#Iio-+VJs+nA?t|Uq(MpyXGHrm<$a}U^Ax~d zJ55SfqYa@v2eJ0iJo7C&W)9K0Qaq&=B~6k0jFDrqo80F9L<#v^+QrCWjwx?Ze9;^u zW}6(I8S}>;K^-DSA6&&KPDM!v?a7Xly=wynV(iE5k;w!?~9!0 zn6pi~^Khp`*|kx!ho>EsHrW-MWK*A*u!GKAJv}ssw`iA+*$Yt4@;t}WB=zx= zXYH!cNm4SCXVSXR4k^!oE%D^SePWu9X&r5o=ADsyCdW8q*P>jGHxzauutSJf(diouk4N3?jodhNJ|!W>wri!Kxeo1g=#6qr ztWZ4fQcEc3c^)I0_{QBD<*vd$+@@0QcH|}69?I1`P4nbfCuIl2KUNE~h*FdNnLVjG zl$z{nC{LX;(;_KrG_N_v##!ISAz} z`xTm>u82*(^ARhKj|}B0oAr+7yYV6&=X)mi!_xBsYlQLBGVw%dhaDQ7FJ%vA55pgJ zCY1WDC!&_`yR+iBDU{KXaXF?ay^tL!(O|?pmsEt(4jF|Khy0AfeS%}!VNLP8!l!q3 z9&}P%Um40hhR^9d$ME^#@1Kd;xhNsW@~0?1VK8p?B9zQ6J-_2Adl5QY+7Nva`Fual zdpDY&s`9fE`vG^@(kB`2`P}hZLTQt1V|`2yrJQ_6InHy%m`b02Xpdv=79HtSy@?OX zD9A~4YAEgS42IGd^Nn&P`x4J^)L}jHB*)oP^+$`9p;e)iq~tStP$+lnyc<^N8umoK z$socgXY>9@w(~?-E#)&YIwABhDNpGr^_g{)=NeWz_dnX?IUQ{d&E@%tm6~K2&q4Uc zGZac4?q4WZ<=vT`E8iuE1^uuBI~C{hP{zn!g62r!6ae$?w8b8UHcQ#n(YjDd+BCoPN*&fB%C)RK z{K%QhS#k~EIVLvv$C|-Q?%9*2?5O#vpS4t{V^$P9b#3HFV<;u1T%nwKLF+@Cq{Nvg zcxvJUnxEzuY6b9(8Bg;~q3u#Kh$n_BDcQyI&Gd*G-vMxU;d6V1b{f3p>Ayue%G%^x zxmGDp!DMZ1Xlv{OmD=yw@pyJ@m2y{GA6Kmpo~m`y9a%m$e>o}D*Oh5ETl}8|{+%-- JbMQf#e*;_RJ%s=O literal 0 HcmV?d00001 diff --git a/.vs/JudoWeb/FileContentIndex/8c05cf6d-77be-490d-9450-d64de0268f4b.vsidx b/.vs/JudoWeb/FileContentIndex/8c05cf6d-77be-490d-9450-d64de0268f4b.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..70aef67a00f5a48bfb0d87044cf8f151e2685b5d GIT binary patch literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/.vs/JudoWeb/v17/.futdcache.v2 b/.vs/JudoWeb/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..abc9f42249b807128bfa77fb7069ca01730bfb81 GIT binary patch literal 214 zcmZQ#U|`U4v5E;O%1n&6DYq5>LN F1pw+2JkkIF literal 0 HcmV?d00001 diff --git a/.vs/JudoWeb/v17/DocumentLayout.backup.json b/.vs/JudoWeb/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..e514649 --- /dev/null +++ b/.vs/JudoWeb/v17/DocumentLayout.backup.json @@ -0,0 +1,12 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\Programmieren\\CSharp\\JudoWeb\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [] + } + ] +} \ No newline at end of file diff --git a/.vs/JudoWeb/v17/DocumentLayout.json b/.vs/JudoWeb/v17/DocumentLayout.json new file mode 100644 index 0000000..e514649 --- /dev/null +++ b/.vs/JudoWeb/v17/DocumentLayout.json @@ -0,0 +1,12 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\Programmieren\\CSharp\\JudoWeb\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [] + } + ] +} \ No newline at end of file diff --git a/.vs/ProjectEvaluation/judoweb.metadata.v9.bin b/.vs/ProjectEvaluation/judoweb.metadata.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..59814c30ab528ee3dc6ff0ca1ae972d56f038c43 GIT binary patch literal 1525 zcmbu9Yiv|S7>4KU%jMKeQvw79Hy~;Vma2`^7%!1O1Wk-FHiXckAn`&F8W9r=5=24) zxfP@>%hDoLsDQm&Ds6XxLf2ATn@SBq1Xe8?)E@?@NOUIE_spF1Y-0T7CQs(_UFQ4V znX`@%dXp5lKb4&bCEcZZvlOZUx!LnePIIlFbMWS~CA-ahi^Sm7SgD!!IYMuxYbRs5L-16^|sX4h*qz7H=KLPRTI!ZBW%+bNujq(#2f0T&n&&{ z>K$BvAhCL7i&?8iT)ex$Mx8}C_M(lNhnHto+jd7o z6n>L4ee$=i-p`;4@(~#f34K69Kh!_Tl#~Dt-pt!+4me1AB~c-v4q)2SiX7u|&Jn6N z$o4UhJcZ7z>;=ZU5JDY8<*0lktvjO0B{ChsQ_8IxxNrBeetK&kQyG1}}FT#G*-q`QOoDUEq5X4`11^$0TdR{^WzE47CAb z@mt@o?xk;gpyp(0R;cwuMd~HD3B8ys zBCnHQd2hc+5mLfYj_`kyWBS^@^v95N(e}VV$eV=p8;)M)=yx2w%5hZ{GJk$M%`>PT zTzE3mIH!CMN(@D+QHWo=&pHH8H1&PO9V~CpG9F`e6-%lnU!)0L!?BCwm!yZ(a$QI2 zNjKLG96u$ELN!s%fEFCX(cfdCeA@xbl+Q=!XPfOj- zS%TD#)O8~r{kfzle-&C)MsSEO$?tpOzeUk!WS~mQUqh!HQb>33@9N)T@Tfqpln?JK xiQH(_S?|m-x}S}uit_{4*T{9^iQuKZtN{sDQfr*8lN literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/judoweb.projects.v9.bin b/.vs/ProjectEvaluation/judoweb.projects.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea46215c881549ba848ea125e6166b9d1521f1b6 GIT binary patch literal 68111 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�byV$qOR#LY=%QA}`j-OCs`8oxCjPUo3o1(aFmrO|E>X zqE8hh=jF;`|0;3Z;}VC~+L0CK2OH`&IsXb>c&(ATWZU4=-YO`(ZePOd_a(f+NVUe? zJJuF-%QX~Bj(L-jYPsl*v%=kK?`&^2QWLk;ZU1#ax3?InGiNVqU0BF97)us%O~#Ui zT%)n%gzngvkgtO(+43$U_09vYHuy6*MFityaqrgacu!Q^X*zjtMBb;9_ebP(WBTvk z#;1)3qAhcVvGTUUTMd3x-n{;L2#7QT0|i&FiDm ze{9USyf~ibPjdb`5&u)8<%Z5%qRr{ENb_@jWBwxAZa3)r!p3N`|57Kv%K00F&rLe{ zbwqB~$t@ANRVTOQ{LRAr8=d?%(%i0--$mpOo%}u`f6y;Ye$4qhgwLOJ^5=;BMJIpF z`9BHG-*oc#NRumLPHoa_M)hE)`!gc{(#gLga;Hx2ib$@MsZJdKM0s+NOhx_|k-knM zBKPQIE+UIH5-Bd%E~Xyov`!l_Z6;_drtJjn#I#F#Yi@uYT;ZdLZ`tFE|LD9_LOm0! zdkH!l(+4H!(lK2oL6?o`atXS8Ojk(I2Q!s&K`Ip!e5F|ZkOX~bOjjoTUgn(b&x!is zFnT#8@KS~Rm1{4E_^OhxM!x^jEz36s`qd?Wc*1=Rx}PNG<%k4blj?^D?rSCZ+LAw# zeEqW1zP=)GUnh1`H=$lHrt2r@1_90Mj`$*$uQb+5&I>Ysg1GXCuVVS`?xdLdBIiar zjiZ@c!+>v`;G2+d6!1+Gd^7Tm1OAu{zS?5 zO&jM{t2R75b)a9!v!3zC0rb}m!*a8n19TQA(X4-v?!dHh-LKTYyu z68!0sADiIENq&5SKST0oCin>wGWga#C4LD-=XP;-l3yJ1)u#M&H`giQpJ{xXIse=zzELwUU3_V0@O{R7ow0!j z`5tb1d5B;2@Xy2it|u$r_dSP8gr)IeHh7OU@mwworsMg%rsHc}!$oKo=wP7^77=hU zi%@N`1bB>Zgk8dy&hpkyEPaAf8E&Z#p47opI#?zF*7C;I@-&`F%U4Yc=2^a_mUoKc z7|%<64(SDs{%s+`i)k_Bm(o}v?iEE0KBE0A{3egr9)Uey0n4>O_#K<3M6);fV)G>P zRyw2HP-7LvNsZM!;Fgb*TEnE)ilFZVX}rrl`SgO7DK)xc@x(ejUhJE)fO%S z5)*W_jjj%h2l7qi7vBa0*`9>oCE<=F{5}bPNWveJ@TVmFISGGB!e5i{w

M3I8Ch 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 Apa1{> literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/judoweb.strings.v9.bin b/.vs/ProjectEvaluation/judoweb.strings.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..543d8d04dc54990912208639df54b929446402c1 GIT binary patch literal 161099 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 literal 0 HcmV?d00001 diff --git a/API/API.csproj b/API/API.csproj new file mode 100644 index 0000000..5419ef0 --- /dev/null +++ b/API/API.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/API/API.http b/API/API.http new file mode 100644 index 0000000..77c6f69 --- /dev/null +++ b/API/API.http @@ -0,0 +1,6 @@ +@API_HostAddress = http://localhost:5246 + +GET {{API_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/API/Controllers/WeatherForecastController.cs b/API/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..aaf3a93 --- /dev/null +++ b/API/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace API.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/API/Program.cs b/API/Program.cs new file mode 100644 index 0000000..48863a6 --- /dev/null +++ b/API/Program.cs @@ -0,0 +1,25 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/API/Properties/launchSettings.json b/API/Properties/launchSettings.json new file mode 100644 index 0000000..21f4faf --- /dev/null +++ b/API/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:11134", + "sslPort": 44369 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5246", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7248;http://localhost:5246", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/API/WeatherForecast.cs b/API/WeatherForecast.cs new file mode 100644 index 0000000..10c41a8 --- /dev/null +++ b/API/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace API +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/API/appsettings.Development.json b/API/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/API/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/API/appsettings.json b/API/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/API/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/GUI/.gitattributes b/GUI/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/GUI/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/GUI/.gitignore b/GUI/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/GUI/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/GUI/.prettierrc.json b/GUI/.prettierrc.json new file mode 100644 index 0000000..29a2402 --- /dev/null +++ b/GUI/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "singleQuote": true, + "printWidth": 100 +} diff --git a/GUI/README.md b/GUI/README.md new file mode 100644 index 0000000..03eee6a --- /dev/null +++ b/GUI/README.md @@ -0,0 +1,48 @@ +# ./ + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Recommended Browser Setup + +- Chromium-based browsers (Chrome, Edge, Brave, etc.): + - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) + - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters) +- Firefox: + - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/) + - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/) + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` diff --git a/GUI/env.d.ts b/GUI/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/GUI/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/GUI/index.html b/GUI/index.html new file mode 100644 index 0000000..9e5fc8f --- /dev/null +++ b/GUI/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +

+ + + diff --git a/GUI/package-lock.json b/GUI/package-lock.json new file mode 100644 index 0000000..ddda960 --- /dev/null +++ b/GUI/package-lock.json @@ -0,0 +1,4870 @@ +{ + "name": "-frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "-frontend", + "version": "0.0.0", + "dependencies": { + "@fontsource/roboto": "^5.2.8", + "vue": "^3.5.22", + "vue-router": "^4.5.1", + "vuetify": "^3.10.4" + }, + "devDependencies": { + "@mdi/font": "^7.4.47", + "@tsconfig/node22": "^22.0.2", + "@types/jsdom": "^21.1.7", + "@types/node": "^22.18.6", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.8.1", + "jsdom": "^27.0.0", + "npm-run-all2": "^8.0.4", + "prettier": "3.6.2", + "typescript": "~5.9.0", + "vite": "^7.1.7", + "vite-plugin-vue-devtools": "^8.0.2", + "vitest": "^3.2.4", + "vue-tsc": "^3.1.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.0.5.tgz", + "integrity": "sha512-lMrXidNhPGsDjytDy11Vwlb6OIGrT3CmLg3VWNFyWkLWtijKl7xjvForlh8vuj0SHGjgl4qZEQzUmYTeQA2JFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "lru-cache": "^11.2.1" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "6.5.7", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.5.7.tgz", + "integrity": "sha512-cvdTPsi2qC1c22UppvuVmx/PDwuc6+QQkwt9OnwQD6Uotbh//tb2XDF0OoK2V0F4b8d02LIwNp3BieaDMAhIhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.1.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.2" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.14.tgz", + "integrity": "sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", + "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", + "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", + "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", + "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", + "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", + "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", + "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", + "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", + "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", + "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", + "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", + "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", + "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", + "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", + "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", + "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", + "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", + "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", + "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", + "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", + "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", + "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", + "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", + "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", + "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", + "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fontsource/roboto": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-5.2.8.tgz", + "integrity": "sha512-oh9g4Cg3loVMz9MWeKWfDI+ooxxG1aRVetkiKIb2ESS2rrryGecQ/y4pAj4z5A5ebyw450dYRi/c4k/I3UBhHA==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdi/font": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz", + "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.29", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz", + "integrity": "sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz", + "integrity": "sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz", + "integrity": "sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz", + "integrity": "sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz", + "integrity": "sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz", + "integrity": "sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz", + "integrity": "sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz", + "integrity": "sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz", + "integrity": "sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz", + "integrity": "sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz", + "integrity": "sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz", + "integrity": "sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz", + "integrity": "sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz", + "integrity": "sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz", + "integrity": "sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz", + "integrity": "sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz", + "integrity": "sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz", + "integrity": "sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz", + "integrity": "sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz", + "integrity": "sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz", + "integrity": "sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz", + "integrity": "sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz", + "integrity": "sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.2.tgz", + "integrity": "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/node": { + "version": "22.18.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.8.tgz", + "integrity": "sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.1.tgz", + "integrity": "sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.29" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz", + "integrity": "sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.23" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.23.tgz", + "integrity": "sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.23.tgz", + "integrity": "sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.22.tgz", + "integrity": "sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.4", + "@vue/shared": "3.5.22", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.22.tgz", + "integrity": "sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.22", + "@vue/shared": "3.5.22" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.22.tgz", + "integrity": "sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.4", + "@vue/compiler-core": "3.5.22", + "@vue/compiler-dom": "3.5.22", + "@vue/compiler-ssr": "3.5.22", + "@vue/shared": "3.5.22", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.19", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.22.tgz", + "integrity": "sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.22", + "@vue/shared": "3.5.22" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/devtools-core": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.2.tgz", + "integrity": "sha512-V7eKTTHoS6KfK8PSGMLZMhGv/9yNDrmv6Qc3r71QILulnzPnqK2frsTyx3e2MrhdUZnENPEm6hcb4z0GZOqNhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.0.2", + "@vue/devtools-shared": "^8.0.2", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pathe": "^2.0.3", + "vite-hot-client": "^2.1.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.2.tgz", + "integrity": "sha512-yjZKdEmhJzQqbOh4KFBfTOQjDPMrjjBNCnHBvnTGJX+YLAqoUtY2J+cg7BE+EA8KUv8LprECq04ts75wCoIGWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.2", + "birpc": "^2.5.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.2.tgz", + "integrity": "sha512-mLU0QVdy5Lp40PMGSixDw/Kbd6v5dkQXltd2r+mdVQV7iUog2NlZuLxFZApFZ/mObUBDhoCpf0T3zF2FWWdeHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.1.0.tgz", + "integrity": "sha512-a7ns+X9vTbdmk7QLrvnZs8s4E1wwtxG/sELzr6F2j4pU+r/OoAv6jJGSz+5tVTU6e4+3rjepGhSP8jDmBBcb3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.22.tgz", + "integrity": "sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.22" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.22.tgz", + "integrity": "sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.22", + "@vue/shared": "3.5.22" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.22.tgz", + "integrity": "sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.22", + "@vue/runtime-core": "3.5.22", + "@vue/shared": "3.5.22", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.22.tgz", + "integrity": "sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.22", + "@vue/shared": "3.5.22" + }, + "peerDependencies": { + "vue": "3.5.22" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.22.tgz", + "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==", + "license": "MIT" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", + "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^2.0.0" + } + }, + "node_modules/@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/alien-signals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.0.0.tgz", + "integrity": "sha512-JHoRJf18Y6HN4/KZALr3iU+0vW9LKG+8FMThQlbn4+gv8utsLIkwpomjElGPccGeNwh0FI2HN6BLnyFLo6OyLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.11.tgz", + "integrity": "sha512-i+sRXGhz4+QW8aACZ3+r1GAKMt0wlFpeA8M5rOQd0HEYw9zhDrlx9Wc8uQ0IdXakjJRthzglEwfB/yqIjO6iDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/birpc": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.6.1.tgz", + "integrity": "sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.26.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", + "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.9", + "caniuse-lite": "^1.0.30001746", + "electron-to-chromium": "^1.5.227", + "node-releases": "^2.0.21", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001747", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001747.tgz", + "integrity": "sha512-mzFa2DGIhuc5490Nd/G31xN1pnBnYMadtkyTjefPI7wzypqgCEpeWu9bJr0OnDsyKrW75zA9ZAt7pbQFmwLsQg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssstyle": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.1.tgz", + "integrity": "sha512-g5PC9Aiph9eiczFpcgUhd9S4UUO3F+LHGRIi5NUMZ+4xtoIYbHNZwZnWA2JsFGe8OU8nl4WyaEFiZuGuxlutJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^4.0.3", + "@csstools/css-syntax-patches-for-csstree": "^1.0.14", + "css-tree": "^3.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.0.tgz", + "integrity": "sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^15.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.230", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.230.tgz", + "integrity": "sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", + "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.10", + "@esbuild/android-arm": "0.25.10", + "@esbuild/android-arm64": "0.25.10", + "@esbuild/android-x64": "0.25.10", + "@esbuild/darwin-arm64": "0.25.10", + "@esbuild/darwin-x64": "0.25.10", + "@esbuild/freebsd-arm64": "0.25.10", + "@esbuild/freebsd-x64": "0.25.10", + "@esbuild/linux-arm": "0.25.10", + "@esbuild/linux-arm64": "0.25.10", + "@esbuild/linux-ia32": "0.25.10", + "@esbuild/linux-loong64": "0.25.10", + "@esbuild/linux-mips64el": "0.25.10", + "@esbuild/linux-ppc64": "0.25.10", + "@esbuild/linux-riscv64": "0.25.10", + "@esbuild/linux-s390x": "0.25.10", + "@esbuild/linux-x64": "0.25.10", + "@esbuild/netbsd-arm64": "0.25.10", + "@esbuild/netbsd-x64": "0.25.10", + "@esbuild/openbsd-arm64": "0.25.10", + "@esbuild/openbsd-x64": "0.25.10", + "@esbuild/openharmony-arm64": "0.25.10", + "@esbuild/sunos-x64": "0.25.10", + "@esbuild/win32-arm64": "0.25.10", + "@esbuild/win32-ia32": "0.25.10", + "@esbuild/win32-x64": "0.25.10" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-beautify": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", + "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.4.2", + "js-cookie": "^3.0.5", + "nopt": "^7.2.1" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.0.0.tgz", + "integrity": "sha512-lIHeR1qlIRrIN5VMccd8tI2Sgw6ieYXSVktcSHaNe3Z5nE/tcPQYQWOq00wxMvYOsz+73eAkNenVvmPC6bba9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/dom-selector": "^6.5.4", + "cssstyle": "^5.3.0", + "data-urls": "^6.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "parse5": "^7.3.0", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^15.0.0", + "ws": "^8.18.2", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loupe": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz", + "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "picomatch": "^4.0.2", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^20.5.0 || >=22.0.0", + "npm": ">= 10" + } + }, + "node_modules/npm-run-all2/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/npm-run-all2/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.52.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz", + "integrity": "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.4", + "@rollup/rollup-android-arm64": "4.52.4", + "@rollup/rollup-darwin-arm64": "4.52.4", + "@rollup/rollup-darwin-x64": "4.52.4", + "@rollup/rollup-freebsd-arm64": "4.52.4", + "@rollup/rollup-freebsd-x64": "4.52.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.4", + "@rollup/rollup-linux-arm-musleabihf": "4.52.4", + "@rollup/rollup-linux-arm64-gnu": "4.52.4", + "@rollup/rollup-linux-arm64-musl": "4.52.4", + "@rollup/rollup-linux-loong64-gnu": "4.52.4", + "@rollup/rollup-linux-ppc64-gnu": "4.52.4", + "@rollup/rollup-linux-riscv64-gnu": "4.52.4", + "@rollup/rollup-linux-riscv64-musl": "4.52.4", + "@rollup/rollup-linux-s390x-gnu": "4.52.4", + "@rollup/rollup-linux-x64-gnu": "4.52.4", + "@rollup/rollup-linux-x64-musl": "4.52.4", + "@rollup/rollup-openharmony-arm64": "4.52.4", + "@rollup/rollup-win32-arm64-msvc": "4.52.4", + "@rollup/rollup-win32-ia32-msvc": "4.52.4", + "@rollup/rollup-win32-x64-gnu": "4.52.4", + "@rollup/rollup-win32-x64-msvc": "4.52.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.16.tgz", + "integrity": "sha512-5bdPHSwbKTeHmXrgecID4Ljff8rQjv7g8zKQPkCozRo2HWWni+p310FSn5ImI+9kWw9kK4lzOB5q/a6iv0IJsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.16" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.16.tgz", + "integrity": "sha512-XHhPmHxphLi+LGbH0G/O7dmUH9V65OY20R7vH8gETHsp5AZCjBk9l8sqmRKLaGOxnETU7XNSDUPtewAy/K6jbA==", + "dev": true, + "license": "MIT" + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unplugin-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.0.tgz", + "integrity": "sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.9.tgz", + "integrity": "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-hot-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.2.tgz", + "integrity": "sha512-1069qvMBcyAu3yXQlvYrkwoyLOk0lSSR/gTKy/vy+Det7TXnouGei6ZcKwr5TIe938v/14oLlp0ow6FSJkkORA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^8.0.2", + "@vue/devtools-kit": "^8.0.2", + "@vue/devtools-shared": "^8.0.2", + "execa": "^9.6.0", + "sirv": "^3.0.2", + "vite-plugin-inspect": "^11.3.3", + "vite-plugin-vue-inspector": "^5.3.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.22.tgz", + "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.22", + "@vue/compiler-sfc": "3.5.22", + "@vue/runtime-dom": "3.5.22", + "@vue/server-renderer": "3.5.22", + "@vue/shared": "3.5.22" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-router": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.1.0.tgz", + "integrity": "sha512-fbMynMG7kXSnqZTRBSCh9ROYaVpXfCZbEO0gY3lqOjLbp361uuS88n6BDajiUriDIF+SGLWoinjvf6stS2J3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.23", + "@vue/language-core": "3.1.0" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vuetify": { + "version": "3.10.4", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.10.4.tgz", + "integrity": "sha512-aatUQ0RM0i6VdkJaFyj3gydecuFmAgACNO3RwWznvjvIvRENQXxMRiv+vlGFoshbw2UG+zOPPMhO12OCPSa2UQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/johnleider" + }, + "peerDependencies": { + "typescript": ">=4.7", + "vite-plugin-vuetify": ">=2.1.0", + "vue": "^3.5.0", + "webpack-plugin-vuetify": ">=3.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vite-plugin-vuetify": { + "optional": true + }, + "webpack-plugin-vuetify": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", + "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", + "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/GUI/package.json b/GUI/package.json new file mode 100644 index 0000000..9f508d8 --- /dev/null +++ b/GUI/package.json @@ -0,0 +1,41 @@ +{ + "name": "-frontend", + "version": "0.0.0", + "private": true, + "type": "module", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "format": "prettier --write src/" + }, + "dependencies": { + "@fontsource/roboto": "^5.2.8", + "vue": "^3.5.22", + "vue-router": "^4.5.1", + "vuetify": "^3.10.4" + }, + "devDependencies": { + "@mdi/font": "^7.4.47", + "@tsconfig/node22": "^22.0.2", + "@types/jsdom": "^21.1.7", + "@types/node": "^22.18.6", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.8.1", + "jsdom": "^27.0.0", + "npm-run-all2": "^8.0.4", + "prettier": "3.6.2", + "typescript": "~5.9.0", + "vite": "^7.1.7", + "vite-plugin-vue-devtools": "^8.0.2", + "vitest": "^3.2.4", + "vue-tsc": "^3.1.0" + } +} diff --git a/GUI/public/favicon.ico b/GUI/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/GUI/src/App.vue b/GUI/src/App.vue new file mode 100644 index 0000000..abfd315 --- /dev/null +++ b/GUI/src/App.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/GUI/src/__tests__/App.spec.ts b/GUI/src/__tests__/App.spec.ts new file mode 100644 index 0000000..5b17801 --- /dev/null +++ b/GUI/src/__tests__/App.spec.ts @@ -0,0 +1,11 @@ +import { describe, it, expect } from 'vitest' + +import { mount } from '@vue/test-utils' +import App from '../App.vue' + +describe('App', () => { + it('mounts renders properly', () => { + const wrapper = mount(App) + expect(wrapper.text()).toContain('You did it!') + }) +}) diff --git a/GUI/src/css/global.css b/GUI/src/css/global.css new file mode 100644 index 0000000..e69de29 diff --git a/GUI/src/main.ts b/GUI/src/main.ts new file mode 100644 index 0000000..c09854a --- /dev/null +++ b/GUI/src/main.ts @@ -0,0 +1,15 @@ +import { createApp } from 'vue' +import App from './App.vue' +import router from './router' +import vuetify from './plugins/vuetify' + +// Global CSS +import "./css/global.css" + +const app = createApp(App) + +app.use(router) + +app.use(vuetify); + +app.mount('#app') diff --git a/GUI/src/plugins/vuetify.ts b/GUI/src/plugins/vuetify.ts new file mode 100644 index 0000000..ee1dc4a --- /dev/null +++ b/GUI/src/plugins/vuetify.ts @@ -0,0 +1,27 @@ +import 'vuetify/styles' +import '@fontsource/roboto/100.css' +import '@fontsource/roboto/300.css' +import '@fontsource/roboto/400.css' +import '@fontsource/roboto/500.css' +import '@fontsource/roboto/700.css' +import '@fontsource/roboto/900.css' +import { createVuetify } from 'vuetify' +import * as components from 'vuetify/components' +import * as directives from 'vuetify/directives' +import '@mdi/font/css/materialdesignicons.css' +import { aliases, mdi } from 'vuetify/iconsets/mdi' + +export default createVuetify({ + components, + directives, + theme: { + defaultTheme: 'dark', + }, + icons: { + defaultSet: 'mdi', + aliases, + sets: { + mdi, + }, + }, +}) diff --git a/GUI/src/router/index.ts b/GUI/src/router/index.ts new file mode 100644 index 0000000..e1eab52 --- /dev/null +++ b/GUI/src/router/index.ts @@ -0,0 +1,8 @@ +import { createRouter, createWebHistory } from 'vue-router' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [], +}) + +export default router diff --git a/GUI/tsconfig.app.json b/GUI/tsconfig.app.json new file mode 100644 index 0000000..913b8f2 --- /dev/null +++ b/GUI/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/GUI/tsconfig.json b/GUI/tsconfig.json new file mode 100644 index 0000000..100cf6a --- /dev/null +++ b/GUI/tsconfig.json @@ -0,0 +1,14 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ] +} diff --git a/GUI/tsconfig.node.json b/GUI/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/GUI/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/GUI/tsconfig.vitest.json b/GUI/tsconfig.vitest.json new file mode 100644 index 0000000..7d1d8ce --- /dev/null +++ b/GUI/tsconfig.vitest.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.app.json", + "include": ["src/**/__tests__/*", "env.d.ts"], + "exclude": [], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", + + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/GUI/vite.config.ts b/GUI/vite.config.ts new file mode 100644 index 0000000..4217010 --- /dev/null +++ b/GUI/vite.config.ts @@ -0,0 +1,18 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +}) diff --git a/GUI/vitest.config.ts b/GUI/vitest.config.ts new file mode 100644 index 0000000..c328717 --- /dev/null +++ b/GUI/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/**'], + root: fileURLToPath(new URL('./', import.meta.url)), + }, + }), +) diff --git a/JudoWeb.sln b/JudoWeb.sln new file mode 100644 index 0000000..0cbf2db --- /dev/null +++ b/JudoWeb.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36518.9 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "API", "API\API.csproj", "{98166726-DC3A-4D5B-889A-8B4428E28656}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {98166726-DC3A-4D5B-889A-8B4428E28656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {98166726-DC3A-4D5B-889A-8B4428E28656}.Debug|Any CPU.Build.0 = Debug|Any CPU + {98166726-DC3A-4D5B-889A-8B4428E28656}.Release|Any CPU.ActiveCfg = Release|Any CPU + {98166726-DC3A-4D5B-889A-8B4428E28656}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {935585D7-8CCC-4F2C-A3B3-1504EB88C0FE} + EndGlobalSection +EndGlobal