diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index b1d6da95..8b49c056 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -8,22 +8,20 @@ env:
jobs:
lint:
name: Lint
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
strategy:
matrix:
- node-version: [18]
+ node-version: [20]
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Setup Pnpm
- uses: pnpm/action-setup@v2
- with:
- version: 8
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- cache: 'pnpm'
+ cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Run Lint
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c4b18cb..fc21c48c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,86 @@
+
+
+## [4.0.0-rc.2](https://github.com/Tresjs/cientos/compare/4.0.0-rc.1...4.0.0-rc.2) (2024-07-26)
+
+## [4.0.0-rc.1](https://github.com/Tresjs/cientos/compare/4.0.0-rc.0...4.0.0-rc.1) (2024-07-25)
+
+
+### Features
+
+* **fbo:** add autoRender flag as an option to useFBO ([#458](https://github.com/Tresjs/cientos/issues/458)) ([ddcd4ac](https://github.com/Tresjs/cientos/commit/ddcd4ac36cfd5b5cbb06e967878a9468b390a17c))
+
+## [4.0.0-rc.0](https://github.com/Tresjs/cientos/compare/4.0.0-next.1...4.0.0-rc.0) (2024-07-24)
+
+
+### Features
+
+* **Sparkles:** invalidate on update ([#446](https://github.com/Tresjs/cientos/issues/446)) ([cbfd226](https://github.com/Tresjs/cientos/commit/cbfd226b94fb363f3a59a735365c679e8142420f))
+
+
+### Bug Fixes
+
+* reimplement ContactShadows for v4 ([#449](https://github.com/Tresjs/cientos/issues/449)) ([d71c328](https://github.com/Tresjs/cientos/commit/d71c328969da64beee05088ced05bd7b632d6f31))
+* update to core v4.2.2 to remove warning on invalidation ([42afa6e](https://github.com/Tresjs/cientos/commit/42afa6e67962796d2ce076a29917262f9ca09ea5))
+
+## [4.0.0-next.1](https://github.com/Tresjs/cientos/compare/3.9.0...4.0.0-next.1) (2024-07-17)
+
+
+### ⚠ BREAKING CHANGES
+
+* **MeshReflectionMaterial:** add features/docs, reorganize
+
+### Features
+
+* 423 enable on demand render mode usage ([#436](https://github.com/Tresjs/cientos/issues/436)) ([b3eef40](https://github.com/Tresjs/cientos/commit/b3eef40430d23e2ba6c5a195c0cf510c0bc54ce9))
+* **AnimatedSprite:** add asSprite prop ([7a14b55](https://github.com/Tresjs/cientos/commit/7a14b5592d78f57785d04bd1484a35e501b7cceb))
+* **AnimatedSprite:** dispose texture onUnmounted ([18d6904](https://github.com/Tresjs/cientos/commit/18d6904570cc34ca9c3e64e6b42ec5c639a6e885))
+* **AnimatedSprite:** remove explicit click event ([042c350](https://github.com/Tresjs/cientos/commit/042c350883aec53bdf0331cc4b3378e06d87fb88))
+* **AnimatedSprite:** remove unnecessary Suspense ([082d695](https://github.com/Tresjs/cientos/commit/082d695f1a6843a8fa5edcd8e6c32ec8530a03a9))
+* **app:** 421 Update components to use useLoop instead of useRenderLoop ([ad3b290](https://github.com/Tresjs/cientos/commit/ad3b290c4afb3adf5bf36ccf02d08ea1beb98bc8))
+* **app:** Add the option for x and y in mouseparallax component ([#444](https://github.com/Tresjs/cientos/issues/444)) ([12d5834](https://github.com/Tresjs/cientos/commit/12d5834becba2cdfc26300fd5bf1ec1f9e26afe3))
+* re-remove tweakpane ([#425](https://github.com/Tresjs/cientos/issues/425)) ([72284ce](https://github.com/Tresjs/cientos/commit/72284ce2e0e378d353b3573a6216ad6f6dcd4425))
+* update to core v4.2 ([14b30f9](https://github.com/Tresjs/cientos/commit/14b30f99282ed3cb1d21cbdf31e672867d79f27c))
+
+
+### Bug Fixes
+
+* **Lensflare demo:** add camera [#435](https://github.com/Tresjs/cientos/issues/435) ([#441](https://github.com/Tresjs/cientos/issues/441)) ([981de57](https://github.com/Tresjs/cientos/commit/981de572c97183b8d2070925daa8209d2fa6b55e))
+* **MeshReflectionMaterial:** add features/docs, reorganize ([58703e3](https://github.com/Tresjs/cientos/commit/58703e362bbe731a56b7ce903160df13513ec18a))
+* remove hardcoded speed number, that setting at 0 doesn't stop the effect ([e67f3a2](https://github.com/Tresjs/cientos/commit/e67f3a295025ca1bfb1c0f664ceccefac389e0af))
+* **SkyDemo:** value.value -> value ([82fe77b](https://github.com/Tresjs/cientos/commit/82fe77b4dc11fd23b47e40bc33a843dc69cf017f))
+* **types:** fixed types generics for `useGLTF` ([#448](https://github.com/Tresjs/cientos/issues/448)) ([62a9bcc](https://github.com/Tresjs/cientos/commit/62a9bcc2d4490c7493667c3316441b5363cb42fc))
+* uncomment section ([fac2253](https://github.com/Tresjs/cientos/commit/fac22534818a15d49f631b790185f4f1266c7339))
+* vue attrs hyphenation issues ([4f9b61b](https://github.com/Tresjs/cientos/commit/4f9b61b954a916d8f8880798f06c03b79092896b))
+
+## [4.0.0-next.0](https://github.com/Tresjs/cientos/compare/3.9.0...4.0.0-next.1) (2024-03-27)
+
+
+### ⚠ BREAKING CHANGES
+
+* **app:** 349 Remove directives from cientos
+* **app:** 227 Change the keyboardcontrols implementation
+
+### Features
+
+* add arrow keys support ([39e2094](https://github.com/Tresjs/cientos/commit/39e2094338ba37613b189e7d593ecc2b0a35680b))
+* **AnimatedSprite:** add AnimatedSprite, playground, docs ([d6ea81b](https://github.com/Tresjs/cientos/commit/d6ea81b5540c2f4bf0f233e269ed98992ee8a551))
+* **AnimatedSprite:** allow [numCols, numRows] as atlas prop ([3309d9c](https://github.com/Tresjs/cientos/commit/3309d9c24ee1d006b41bdeaa29eac7c8f9658342))
+* **AnimatedSprite:** always emit last frame name on loop and on end ([ed16136](https://github.com/Tresjs/cientos/commit/ed16136a84143396ae8accc327429c1ef1fbdd1b))
+* **AnimatedSprite:** change default fps ([44831a4](https://github.com/Tresjs/cientos/commit/44831a492e6a881061b9a113d1a627026b172056))
+* **app:** 227 Change the keyboardcontrols implementation ([fed0f86](https://github.com/Tresjs/cientos/commit/fed0f86b3c92aa8ea86be0e6193e1639d421bcc2))
+* **app:** 227 Final details, ready to go ([6f06213](https://github.com/Tresjs/cientos/commit/6f06213d92f9b389c3d1fca377002ae0b060c87b))
+
+
+### Bug Fixes
+
+* **AnimatedSprite:** return nullFrame animation if requested animation not found ([453819e](https://github.com/Tresjs/cientos/commit/453819e0237b58177a34bbeee0af4ce44252195c))
+* **Atlas:** add missing argument to function call ([e6b147e](https://github.com/Tresjs/cientos/commit/e6b147e45520238e8fd467863972af8fe8f8ec37))
+
+
+### Code Refactoring
+
+* **app:** 349 Remove directives from cientos ([8fc4cd5](https://github.com/Tresjs/cientos/commit/8fc4cd582ba85cc09e000627449622e8861ec76a))
+
## [3.9.0](https://github.com/Tresjs/cientos/compare/3.8.0...3.9.0) (2024-05-07)
### Features
@@ -38,6 +121,22 @@
* transformControls throws error when switching active camera ([f1a477a](https://github.com/Tresjs/cientos/commit/f1a477a46c341f6ed4e58fce1e8999e19feba8d0))
* **type:** correct the east description ([c26da1f](https://github.com/Tresjs/cientos/commit/c26da1f11524f2445a1b0653f35354de4d3b10ed))
+## [4.0.0-next.0](https://github.com/Tresjs/cientos/compare/3.8.0...4.0.0-next.0) (2024-03-27)
+
+
+### Features
+
+* **app:** 252 adding ocean component ([7efb293](https://github.com/Tresjs/cientos/commit/7efb29300a5cda624801316e6bc4f33a88e8de04))
+* **app:** 252 Renamed as ocean, add sky support ([473bac6](https://github.com/Tresjs/cientos/commit/473bac61d9831b9334f4ba78b0d4ab979b7b167f))
+* **app:** Add RoundedBox component ([8b6cb67](https://github.com/Tresjs/cientos/commit/8b6cb67b686bf242aa6e96c3b68af535ddb944d1))
+
+
+### Bug Fixes
+
+* **app:** 252 Apply review feedback ([4449208](https://github.com/Tresjs/cientos/commit/4449208fccedca0a37ea2e62142b00188a21e0ad))
+* apply feedback ([3a50bc2](https://github.com/Tresjs/cientos/commit/3a50bc29c00dd64775643ab08fe3e5ba569c8248))
+* little detail in the interface ([fb6456a](https://github.com/Tresjs/cientos/commit/fb6456a063cc28868fe0178b28695c04ad812ccc))
+
## [3.8.0](https://github.com/Tresjs/cientos/compare/3.7.0...3.8.0) (2024-02-07)
### Features
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index 69987042..bd03f28e 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -1,20 +1,8 @@
import { defineConfig } from 'vitepress'
import { resolve } from 'pathe'
-import componentList from '../component-list/components'
const whitelist = ['TresCanvas', 'TresLeches', 'TresScene']
-const collapsedSidebarCategories = new Set(['Materials', 'Shapes', 'Misc', 'Directives'])
-const sidebar = [
- {
- text: 'Guide',
- items: [{ text: 'Introduction', link: '/guide/' }],
- },
- ...componentList,
-].map(
- c => collapsedSidebarCategories.has(c.text) ? Object.assign(c, { collapsed: true }) : c,
-)
-
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: 'Cientos',
@@ -65,7 +53,116 @@ export default defineConfig({
{ text: 'Examples', link: 'https://lab.tresjs.org/' },
],
- sidebar,
+ sidebar: [
+ {
+ text: 'Guide',
+ items: [
+ { text: 'Introduction', link: '/guide/' },
+ { text: 'Migration from v3', link: '/guide/migrating-from-v3' },
+ ],
+ },
+ {
+ text: 'Abstractions',
+ items: [
+ { text: 'Text3D', link: '/guide/abstractions/text-3d' },
+ { text: 'Levioso (Float)', link: '/guide/abstractions/levioso' },
+ { text: 'useAnimations', link: '/guide/abstractions/use-animations' },
+ { text: 'MouseParallax', link: '/guide/abstractions/mouse-parallax' },
+ { text: 'Lensflare', link: '/guide/abstractions/lensflare' },
+ { text: 'Reflector', link: '/guide/abstractions/reflector' },
+ { text: 'GlobalAudio', link: '/guide/abstractions/global-audio' },
+ { text: 'Fbo', link: '/guide/abstractions/fbo' },
+ { text: 'useFBO', link: '/guide/abstractions/use-fbo' },
+ { text: 'useSurfaceSampler', link: '/guide/abstractions/use-surface-sampler' },
+ { text: 'Sampler', link: '/guide/abstractions/sampler' },
+ { text: 'AnimatedSprite', link: '/guide/abstractions/animated-sprite' },
+ ],
+ },
+ {
+ text: 'Controls',
+ items: [
+ { text: 'OrbitControls', link: '/guide/controls/orbit-controls' },
+ { text: 'CameraControls', link: '/guide/controls/camera-controls' },
+ { text: 'TransformControls', link: '/guide/controls/transform-controls' },
+ { text: 'PointerLockControls', link: '/guide/controls/pointer-lock-controls' },
+ { text: 'KeyboardControls', link: '/guide/controls/keyboard-controls' },
+ { text: 'ScrollControls', link: '/guide/controls/scroll-controls' },
+ { text: 'MapControls', link: '/guide/controls/map-controls' },
+ ],
+ },
+ {
+ text: 'Loaders',
+ items: [
+ { text: 'useProgress', link: '/guide/loaders/use-progress' },
+ { text: 'useGLTF', link: '/guide/loaders/use-gltf' },
+ { text: 'GLTFModel', link: '/guide/loaders/gltf-model' },
+ { text: 'useFBX', link: '/guide/loaders/use-fbx' },
+ { text: 'FBXModel', link: '/guide/loaders/fbx-model' },
+ { text: 'useVideoTexture', link: '/guide/loaders/use-video-texture' },
+ { text: 'SVG', link: '/guide/loaders/svg' },
+ ],
+ },
+ {
+ text: 'Materials',
+ collapsed: true,
+ items: [
+ { text: 'WobbleMaterial', link: '/guide/materials/wobble-material' },
+ { text: 'MeshGlassMaterial', link: '/guide/materials/glass-material' },
+ { text: 'CustomShaderMaterial', link: '/guide/materials/custom-shader-material' },
+ { text: 'MeshReflectionMaterial', link: '/guide/materials/mesh-reflection-material' },
+ ],
+ },
+ {
+ text: 'Shapes',
+ collapsed: true,
+ items: [
+ { text: 'Box', link: '/guide/shapes/box' },
+ { text: 'CatmullRomCurve3', link: '/guide/shapes/catmullromcurve3' },
+ { text: 'Circle', link: '/guide/shapes/circle' },
+ { text: 'Cone', link: '/guide/shapes/cone' },
+ { text: 'Cylinder', link: '/guide/shapes/cylinder' },
+ { text: 'Dodecahedron', link: '/guide/shapes/dodecahedron' },
+ { text: 'Icosahedron', link: '/guide/shapes/icosahedron' },
+ { text: 'Line2', link: '/guide/shapes/line2' },
+ { text: 'Octahedron', link: '/guide/shapes/octahedron' },
+ { text: 'Plane', link: '/guide/shapes/plane' },
+ { text: 'Ring', link: '/guide/shapes/ring' },
+ { text: 'RoundedBox', link: '/guide/shapes/rounded-box' },
+ { text: 'Sphere', link: '/guide/shapes/sphere' },
+ { text: 'Superformula', link: '/guide/shapes/superformula' },
+ { text: 'Tetrahedron', link: '/guide/shapes/tetrahedron' },
+ { text: 'Torus', link: '/guide/shapes/torus' },
+ { text: 'TorusKnot', link: '/guide/shapes/torus-knot' },
+ { text: 'Tube', link: '/guide/shapes/tube' },
+ ],
+ },
+ {
+ text: 'Staging',
+ items: [
+ { text: 'Backdrop', link: '/guide/staging/backdrop' },
+ { text: 'Environment', link: '/guide/staging/environment' },
+ { text: 'useEnvironment', link: '/guide/staging/use-environment' },
+ { text: 'Sky', link: '/guide/staging/sky' },
+ { text: 'Stars', link: '/guide/staging/stars' },
+ { text: 'Smoke', link: '/guide/staging/smoke' },
+ { text: 'ContactShadows', link: '/guide/staging/contact-shadows' },
+ { text: 'Precipitation', link: '/guide/staging/precipitation' },
+ { text: 'Sparkles', link: '/guide/staging/sparkles' },
+ { text: 'Ocean', link: '/guide/staging/ocean' },
+ ],
+ },
+ {
+ text: 'Misc',
+ collapsed: true,
+ items: [
+ { text: 'Stats', link: '/guide/misc/stats' },
+ { text: 'Html', link: '/guide/misc/html-component' },
+ { text: 'StatsGl', link: '/guide/misc/stats-gl' },
+ { text: 'useGLTFExporter', link: '/guide/misc/use-gltf-exporter' },
+ { text: 'BakeShadows', link: '/guide/misc/bake-shadows' },
+ ],
+ },
+ ],
socialLinks: [
{ icon: 'github', link: 'https://github.com/tresjs/cientos' },
diff --git a/docs/.vitepress/theme/components/AnimatedSpriteCenterDemo.vue b/docs/.vitepress/theme/components/AnimatedSpriteCenterDemo.vue
new file mode 100644
index 00000000..4fd22426
--- /dev/null
+++ b/docs/.vitepress/theme/components/AnimatedSpriteCenterDemo.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/AnimatedSpriteDefinitionsDemo.vue b/docs/.vitepress/theme/components/AnimatedSpriteDefinitionsDemo.vue
new file mode 100644
index 00000000..c16760c0
--- /dev/null
+++ b/docs/.vitepress/theme/components/AnimatedSpriteDefinitionsDemo.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/AnimatedSpriteDemo.vue b/docs/.vitepress/theme/components/AnimatedSpriteDemo.vue
new file mode 100644
index 00000000..04ce50ed
--- /dev/null
+++ b/docs/.vitepress/theme/components/AnimatedSpriteDemo.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/AnimatedSpriteNamedAnimationDemo.vue b/docs/.vitepress/theme/components/AnimatedSpriteNamedAnimationDemo.vue
new file mode 100644
index 00000000..69373371
--- /dev/null
+++ b/docs/.vitepress/theme/components/AnimatedSpriteNamedAnimationDemo.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ { animations.push(animations.shift() as string) }"
+ />
+
+
+
diff --git a/docs/.vitepress/theme/components/ContactShadowDemo.vue b/docs/.vitepress/theme/components/ContactShadowDemo.vue
deleted file mode 100644
index 656d09bb..00000000
--- a/docs/.vitepress/theme/components/ContactShadowDemo.vue
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/.vitepress/theme/components/ContactShadowsDemo.vue b/docs/.vitepress/theme/components/ContactShadowsDemo.vue
new file mode 100644
index 00000000..840f6655
--- /dev/null
+++ b/docs/.vitepress/theme/components/ContactShadowsDemo.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/FboDemo.vue b/docs/.vitepress/theme/components/FboDemo.vue
index 1823255d..f3416160 100644
--- a/docs/.vitepress/theme/components/FboDemo.vue
+++ b/docs/.vitepress/theme/components/FboDemo.vue
@@ -55,7 +55,7 @@ onMounted(async () => {
diff --git a/docs/.vitepress/theme/components/KeyboardControlsDemo.vue b/docs/.vitepress/theme/components/KeyboardControlsDemo.vue
new file mode 100644
index 00000000..ac20b564
--- /dev/null
+++ b/docs/.vitepress/theme/components/KeyboardControlsDemo.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/MeshReflectionMaterialDemo.vue b/docs/.vitepress/theme/components/MeshReflectionMaterialDemo.vue
new file mode 100644
index 00000000..639b307f
--- /dev/null
+++ b/docs/.vitepress/theme/components/MeshReflectionMaterialDemo.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/MouseParallaxDemo.vue b/docs/.vitepress/theme/components/MouseParallaxDemo.vue
index 91a5f101..202d6402 100644
--- a/docs/.vitepress/theme/components/MouseParallaxDemo.vue
+++ b/docs/.vitepress/theme/components/MouseParallaxDemo.vue
@@ -14,7 +14,7 @@ import { MouseParallax, TorusKnot } from '@tresjs/cientos'
diff --git a/docs/.vitepress/theme/components/ScrollControlsDemo.vue b/docs/.vitepress/theme/components/ScrollControlsDemo.vue
index 34dc3f24..34097ea2 100644
--- a/docs/.vitepress/theme/components/ScrollControlsDemo.vue
+++ b/docs/.vitepress/theme/components/ScrollControlsDemo.vue
@@ -16,8 +16,8 @@ useControls({
const { onLoop } = useRenderLoop()
onLoop(() => {
if (boxRef.value) {
- boxRef.value.value.rotation.x = progress.value * 10
- boxRef.value.value.rotation.y = progress.value * 2
+ boxRef.value.instance.rotation.x = progress.value * 10
+ boxRef.value.instance.rotation.y = progress.value * 2
}
})
diff --git a/docs/.vitepress/theme/components/ScrollControlsProgressCameraDemo.vue b/docs/.vitepress/theme/components/ScrollControlsProgressCameraDemo.vue
index 243994d3..49d1680b 100644
--- a/docs/.vitepress/theme/components/ScrollControlsProgressCameraDemo.vue
+++ b/docs/.vitepress/theme/components/ScrollControlsProgressCameraDemo.vue
@@ -9,9 +9,9 @@ const progress = ref(0)
const { onLoop } = useRenderLoop()
onLoop(() => {
if (boxRef.value) {
- boxRef.value.value.rotation.x = progress.value * 10
- boxRef.value.value.rotation.y = progress.value * 2
- boxRef.value.value.position.x = progress.value * 4.5
+ boxRef.value.instance.rotation.x = progress.value * 10
+ boxRef.value.instance.rotation.y = progress.value * 2
+ boxRef.value.instance.position.x = progress.value * 4.5
}
})
diff --git a/docs/.vitepress/theme/components/ScrollControlsProgressDemo.vue b/docs/.vitepress/theme/components/ScrollControlsProgressDemo.vue
index 12d2db60..41b8ae4d 100644
--- a/docs/.vitepress/theme/components/ScrollControlsProgressDemo.vue
+++ b/docs/.vitepress/theme/components/ScrollControlsProgressDemo.vue
@@ -9,9 +9,9 @@ const progress = ref(0)
const { onLoop } = useRenderLoop()
onLoop(() => {
if (boxRef.value) {
- boxRef.value.value.rotation.x = progress.value * 10
- boxRef.value.value.rotation.y = progress.value * 2
- boxRef.value.value.position.x = progress.value * 4.5
+ boxRef.value.instance.rotation.x = progress.value * 10
+ boxRef.value.instance.rotation.y = progress.value * 2
+ boxRef.value.instance.position.x = progress.value * 4.5
}
})
diff --git a/docs/.vitepress/theme/components/ScrollControlsSlotsDemo.vue b/docs/.vitepress/theme/components/ScrollControlsSlotsDemo.vue
index de420a20..2e06e6de 100644
--- a/docs/.vitepress/theme/components/ScrollControlsSlotsDemo.vue
+++ b/docs/.vitepress/theme/components/ScrollControlsSlotsDemo.vue
@@ -10,8 +10,8 @@ const progress = ref(0)
const { onLoop } = useRenderLoop()
onLoop(() => {
if (boxRef.value) {
- boxRef.value.value.rotation.x = progress.value * 10
- boxRef.value.value.rotation.y = progress.value * 2
+ boxRef.value.instance.rotation.x = progress.value * 10
+ boxRef.value.instance.rotation.y = progress.value * 2
}
})
diff --git a/docs/component-list/components.ts b/docs/component-list/components.ts
index 59f4f26c..ebc3cc8b 100644
--- a/docs/component-list/components.ts
+++ b/docs/component-list/components.ts
@@ -68,7 +68,7 @@ export default [
{ text: 'CatmullRomCurve3', link: '/guide/shapes/catmullromcurve3' },
{ text: 'Circle', link: '/guide/shapes/circle' },
{ text: 'Cone', link: '/guide/shapes/cone' },
- { text: 'Cylinder', link: '/guide/shapes/cylinder' },
+ { text: 'Cylinder', link: '/guide/shapes/cylinder' },
{ text: 'Dodecahedron', link: '/guide/shapes/dodecahedron' },
{ text: 'Icosahedron', link: '/guide/shapes/icosahedron' },
{ text: 'Line2', link: '/guide/shapes/line2' },
@@ -93,7 +93,7 @@ export default [
{ text: 'Sky', link: '/guide/staging/sky' },
{ text: 'Stars', link: '/guide/staging/stars' },
{ text: 'Smoke', link: '/guide/staging/smoke' },
- { text: 'Contact Shadows', link: '/guide/staging/contact-shadows' },
+ { text: 'ContactShadows', link: '/guide/staging/contact-shadows' },
{ text: 'Precipitation', link: '/guide/staging/precipitation' },
{ text: 'Sparkles', link: '/guide/staging/sparkles' },
{ text: 'Ocean', link: '/guide/staging/ocean' },
@@ -103,7 +103,6 @@ export default [
{
text: 'Misc',
items: [
- { text: 'useTweakpane', link: '/guide/misc/use-tweakpane' },
{ text: 'Stats', link: '/guide/misc/stats' },
{ text: 'Html', link: '/guide/misc/html-component' },
{ text: 'StatsGl', link: '/guide/misc/stats-gl' },
diff --git a/docs/guide/abstractions/animated-sprite.md b/docs/guide/abstractions/animated-sprite.md
new file mode 100644
index 00000000..f2d5e973
--- /dev/null
+++ b/docs/guide/abstractions/animated-sprite.md
@@ -0,0 +1,174 @@
+# AnimatedSprite
+
+
+
+
+
+` ` displays 2D animations defined in a [texture atlas](https://en.wikipedia.org/wiki/Texture_atlas). A typical ` ` will use:
+
+* an image containing multiple sprites
+* a JSON atlas containing the individual sprite coordinates in the image
+
+## Usage
+
+<<< @/.vitepress/theme/components/AnimatedSpriteDemo.vue{3,12-20}
+
+::: warning Suspense
+` ` loads resources asynchronously, so it must be wrapped in a ` `.
+:::
+
+## Compiling an atlas
+
+In typical usage, ` ` requires both the URL to a texture of compiled sprite images and a JSON atlas containing information about the sprites in the texture.
+
+* [example compiled texture](https://raw.githubusercontent.com/Tresjs/assets/main/textures/animated-sprite/cientosTexture.png)
+* [example JSON atlas](https://raw.githubusercontent.com/Tresjs/assets/main/textures/animated-sprite/cientosAtlas.json)
+
+Compiling source images into a texture atlas is usually handled by third-party software. You may find [TexturePacker](https://www.codeandweb.com/texturepacker) useful.
+
+## Without an atlas
+
+There may be cases where you don't want to supply an atlas to the `atlas` prop. To do so:
+
+* Compile your source images into a single image texture.
+* Space each sprite into equally sized columns and rows in the compiled image texture.
+* Ensure no extra padding has been added to the compiled image texture.
+* Set the `atlas` prop to number of columns, number of rows as `[number, number]`.
+
+## Spritesheets in the wild
+
+::: warning
+In the wild, spritesheets are often distributed without atlases and the images are often compiled by hand. It can be difficult or impossible to use these resources directly with ` `. In many cases, it's advisable to recompile the spritesheet.
+:::
+
+### How to recompile an existing spritesheet image
+
+* Cut individual sprites from the spritesheet and paste them into separate layers in an image editing application, e.g., GIMP.
+* Align the layers for animation. Toggling layer visibility on/off will show you how the animation will display, frame to frame.
+* Export layers as individual images.
+* Name the individual images according to the following pattern: `[animation name][frame number].[extension]` E.g., walk000.png, walk001.png, idle000.png, idle001.png
+* Compile individual images into an image texture and atlas using a texture packing application, like TexturePacker.
+
+## Props
+
+
+
+Name Description Default
+
+
+image string
–
+ URL of the image texture or an image dataURL. This prop is not reactive.
+
+atlas string | Atlasish
–
+
+ If string
, the URL of the JSON atlas.
+ If number
, the number of columns in the texture.
+ If [number, number]
, the number of columns/rows in the texture.
+ If AtlasData
, the atlas as a JS object.
+
+ This prop is not reactive.
+
+definitions Record<string, string>
– Specify playback frame order and repeated frames (delays). definitions
is a record where keys are atlas animation names and values are strings containing an animation definition.
+ A "animation definition" comma-separated string of frame numbers with optional parentheses-surrounded durations.
+ Here is how various definition strings convert to arrays of frames for playback:
+
+ "0,2,1" - [0,2,1], i.e., play frame 0, 2, then 1.
+ "2(10)" - [2,2,2,2,2,2,2,2,2,2], i.e., play from 2 10 times.
+ "1-4" - [1,2,3,4]
+ "10-5(2)" - [10,10,9,9,8,8,7,7,6,6,5,5]
+ "1-4(3),10(2)" - [1,1,1,2,2,2,3,3,3,4,4,4,10,10]
+
+
+fps number
– Desired frames per second of the animation.30
+loop boolean
– Whether or not the animation should loop.true
+animation string | [number, number] | number
– If string
, name of the animation to play. If [number, number]
, start and end frames of the animation. If number
, frame number to display.0
+paused boolean
– Whether the animation is paused.false
+reversed boolean
– Whether to play the animation in reverse.false
+flipX boolean
– Whether the sprite should be flipped, left to right.false
+resetOnEnd boolean
– For a non-looping animation, when the animation ends, whether to display the zeroth frame.false
+asSprite boolean
– Whether to display the object as a THREE.Sprite. See THREE.Sprite true
+center TresVector2
– Anchor point of the object. A value of [0.5, 0.5] corresponds to the center. [0, 0] is left, bottom.[0.5, 0.5]
+alphaTest number
– Alpha test value for the material. See THREE.Material.alphaTest 0.0
+depthTest boolean
– Depth test value for the material. See THREE.Material.depthTest true
+depthWrite boolean
– Depth write value for the material. See THREE.Material.depthWrite true
+
+
+
+## Events
+
+| Event | Description | Argument |
+| - | - | - |
+| `frame` | Emitted when the displayed animation frame changes – at most once per tick, frames may be dropped | `string` – Name of the newly displayed frame |
+| `end` | Emitted when the animation ends – `props.loop` must be set to `false` | `string` – Name of the ending frame |
+| `loop` | Emitted when the animation loops – `props.loop` must be set to `true` | `string` – Name of the frame at the end of the loop |
+
+## `animation`
+
+The `:animation` prop holds either the name of the currently playing animation or a range of frames to play, or a frame number to display.
+
+### Using named animations as `animation`
+
+When individual files are converted to a spritesheet/atlas, typically the original images' filenames will be included in the atlas.
+
+` ` uses those filenames to automatically group images into animations.
+
+Use either of the following naming conventions for your source images ...
+
+* `[animation name][frame number].[file_extension]`
+* `[animation name]_[frame number].[file_extension]`
+
+... then ` ` will automatically make all `[animation name]` available for playback. Just pass `[animation name]` to the component's `:animation` prop.
+
+#### Example
+
+For our Cientos heart cartoon character animation, here's how the filenames map to animation names.
+
+| Filenames | Animation name |
+| - | - |
+| cientosIdle0000.png, cientosIdle0001.png, ... | cientosIdle |
+| cientosIdleToWalkTransition0000.png | cientosIdleToWalkTransition |
+| cientosWalk0000.png, cientosWalk0001.png, ... | cientosWalk |
+
+Try it out by clicking a few times on the character below:
+
+
+
+
+
+<<< @/.vitepress/theme/components/AnimatedSpriteNamedAnimationDemo.vue
+
+## `definitions`
+
+You can supply an object to the `:definitions` prop. Any [named animation](#animation) can be a key. The value is a string that specifies frame order and delays.
+
+### Demo
+
+In this demo, the 'idle' animation is comprised of six different images. By default, those images will play sequentially when the `:animation` prop is `'idle'`.
+
+But below, we've added a `:definitions` prop with this value for the `idle` key:
+
+```
+'0-5, 0(10), 1-2, 3(20), 4-5, 0-5(3)'
+```
+
+So, instead of playing images 0-5 sequentially, this animation will play instead:
+
+* `0-5` – Play all six images (`0-5`) of the animation normally.
+* `0(10), 1-2, 3(20), 4-5` – Play all six images again with a delay of ten frames at the bottom of the bounce (`0(10)`) and a delay of twenty frames at the top of the bounce (`3(20)`).
+* `0-5(3)` – Finally, play all six images of the animation with a delay of three frames each.
+
+
+
+
+
+<<< @/.vitepress/theme/components/AnimatedSpriteDefinitionsDemo.vue{17-19}
+
+## `center`
+
+In addition to being the sprite's anchor point, the `:center` prop also controls how differently sized source images will "grow" and "shrink". Namely, they "grow out from" and "shrink towards" the center.
+
+Below is a simple animation containing differently sized source images. The anchor is visible at world position `0, 0, 0`.
+
+
+
+
diff --git a/docs/guide/abstractions/fbo.md b/docs/guide/abstractions/fbo.md
index 27ffd352..37efbca6 100644
--- a/docs/guide/abstractions/fbo.md
+++ b/docs/guide/abstractions/fbo.md
@@ -20,3 +20,4 @@ Cientos provides an ` ` component make it easy to use FBOs in your applica
| **`height`** | `number` - the height of the FBO | Height of the canvas |
| **`depth`** | `boolean` - Whether or not the FBO should render the depth to a [`depthTexture`](https://threejs.org/docs/?q=webglre#api/en/renderers/WebGLRenderTarget.depthTexture). | `false` |
| **`settings`** | `WebGLRenderTargetOptions` - Every other configuration property for the [`WebGLRenderTarget` class](https://threejs.org/docs/#api/en/renderers/WebGLRenderTarget) | `{}` |
+| **`autoRender`** | `boolean` - Whether to automatically render the FBO on the default scene. | `true` |
diff --git a/docs/guide/abstractions/mouse-parallax.md b/docs/guide/abstractions/mouse-parallax.md
index 4af59899..f9d48393 100644
--- a/docs/guide/abstractions/mouse-parallax.md
+++ b/docs/guide/abstractions/mouse-parallax.md
@@ -10,9 +10,11 @@
You only need to import it and add it to your template as ` `. Additionally, you can pass the following props:
-`factor` is a number to increase the movement range of the camera. `ease` is a number that smoothes the movement. You can also disable the effect with the `disabled` prop.
+`factor` is a number to increase the movement range of the camera. This could be an array of two values corresponding to the x and y values, in that order: `:factor=[x,y]`.
-`local` is a boolean that enables movement based on the position of the mouse on the element rather than the window.
+`ease` is a number that smooths the movement. This could be an array of two values corresponding to the x and y values, in that order: `:ease=[x,y]`.
+
+`local` is a boolean that enables movement based on the position of the mouse on the canvas rather than the window.
<<< @/.vitepress/theme/components/MouseParallaxDemo.vue{3,15-18}
diff --git a/docs/guide/controls/keyboard-controls.md b/docs/guide/controls/keyboard-controls.md
index 16ee264f..ec883338 100644
--- a/docs/guide/controls/keyboard-controls.md
+++ b/docs/guide/controls/keyboard-controls.md
@@ -1,43 +1,31 @@
# KeyboardControls
-KeyboardControls is a special type of controller that allows you to move using your keyboard.
+KeyboardControls is a special type of controller that allows you to move through the scene using your keyboard, is based on the Unreal Engine Controls.
-## Usage
-
-### In combination with PointerLockControls
-
-Here you need to use the PointerLockControls with make-default props, KeyboardControls will automatically adapt to it, creating a really good effect first player experiences.
-
-```vue{5}
-
-
-
-
-
-
-
-
-```
+
+
+
-Just by doing this, works great but in addition the TresJs team give some special props (only available with this mode) to create more realistic sensation
+::: info
+:memo: KeyboardControls uses `PointerLockControls` under the hood, meaning you can use [all the props from ` `](pointer-lock-controls#props) as well as it events.
+:::
-- headBobbing: To simulate the walk balance of the head
-- Jump: to jump
-- gravity: to control the gravity related to the jump
+## Usage
-### In combination with slots
+You can use the ASDW or the arrows keys to move and your mouse to explore your scene.
-Here you can move meshes by using your keyboard, by default you move through the X and Z axis, but you can change it with the is2D prop, to move your meshes on the X and Y axis
+```vue{3,10}
+
-```vue{4-8}
-
-
-
-
-
-
-
+
+
+
+
+
```
@@ -48,14 +36,21 @@ Is really important that the Perspective camera is set first in the canvas. Othe
## Props
-| Prop | Description | Default |
-| :-------------- | :-------------------------------------------------------------------------------------------- | ---------- |
-| **forward** | Keys to go forward. | ['w', 'W'] |
-| **back** | Keys to go back. | ['s', 'S'] |
-| **left** | Keys to go left. | ['a', 'A'] |
-| **right** | Keys to go right. | ['d', 'D'] |
-| **headBobbing** | Indicates if the forward movement is in the Z axis or Y axis. (only with PointerLockControls) | false |
-| **jump** | Key to jump (only with PointerLockControls). | [' '] |
-| **gravity** | Default gravity number for jump. | 9.8 |
-| **moveSpeed** | Speed movement | 0.1 |
-| **is2D** | Indicates if the forward movement is in the Z axis or Y axis. (only for meshes) | false |
+| Prop | Description | Default |
+| :---------------------- | :----------------------------------- | ------- |
+| **moveSpeed** | Speed movement. | 0.2 |
+| **makeDefault** | If `true`, the controls will be set as the default controls for the scene. | `true` |
+| **camera** | The camera to control. | `undefined` |
+| **domElement** | The dom element to listen to. | `undefined` |
+| **selector** | Accept an id element as string, if it is set, the new element will be used as the trigger | `undefined` |
+
+## Events
+
+```vue
+ isActive(state)" />
+```
+
+| Event | Description |
+| :--------- | :--------------------------------------------------------------- |
+| **isLock** | Return `true` if "lock", `false` if "unlock" events are trigger. |
+| **change** | Dispatched when the control changes. |
diff --git a/docs/guide/directives/v-always-look-at.md b/docs/guide/directives/v-always-look-at.md
deleted file mode 100644
index b13fdcae..00000000
--- a/docs/guide/directives/v-always-look-at.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# v-always-look-at 👀
-
-With the new directive v-always-look-at provided by **TresJS**, you can add easily command an [Object3D](https://threejs.org/docs/index.html?q=object#api/en/core/Object3D) to always look at a specific position, this could be passed as a Vector3 or an Array.
-
-## Usage
-
-```vue{3,9}
-
-
-
-
-
-
-
-```
-No matter where the Box move will always look-at the position [0,0,0]
-
-### Why not use the in built method look-at?
-
-You could ask, this is fine but I can use the :look-at method directly in the component, why should I need this?
-
-The answers is that with the method :look-at you will indicated to look at that position just once, when the instance is mounted, then if the object changes this will not get updated
-
-### You can look at other instance too!
-
-Another advantage is that you can look at an instance in movement, for example with the camera, like so:
-
-```vue{4,6,20,23}
-
-
-
-
-
-
-
-```
diff --git a/docs/guide/directives/v-distance-to.md b/docs/guide/directives/v-distance-to.md
deleted file mode 100644
index 86797d8c..00000000
--- a/docs/guide/directives/v-distance-to.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# v-distance-to
-
-Have you tried to calculate the distance between two Object3Ds?
-
-With the new directive `v-distance-to` it's easier than ever, you should only indicate the target object to perform the measure and the result will appear in your console.
-
-In addition, an arrow will be created to indicate which objects you're measuring.
-
-```vue{2,8,13}
-
-
-
-
-
-
-
-
-
-
-```
-
-The use of `v-distance-to` is reactive, so it works perfectly with @tres/leches 🍰.
-
-::: warning
-`v-distance-to` will not measure an object in movement within the renderLoop.
-:::
diff --git a/docs/guide/directives/v-light-helper.md b/docs/guide/directives/v-light-helper.md
deleted file mode 100644
index bd16e2a1..00000000
--- a/docs/guide/directives/v-light-helper.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# v-light-helper 🔆
-
-With the new directive v-light-helper provided by **TresJS**, you can add fast the respective helper to your lights with just one line of code 😍.
-
-## Usage
-
-```vue{2,8,11,14,17}
-
-
-
-
-
-
-
-
-
-
-```
-
-::: warning
-This directive just work with the following lights:DirectionalLight,PointLight, SpotLight, HemisphereLight.
-By this way you can't tweaks the props for the helper if you need to do that, please use the normal helper instance
-:::
diff --git a/docs/guide/directives/v-log.md b/docs/guide/directives/v-log.md
deleted file mode 100644
index ccfbbf29..00000000
--- a/docs/guide/directives/v-log.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# v-log
-
-### Problem
-
-When you have to log your instance you have to use the template reference and then log them:
-
-```vue
-
-
-
-
-
-
-
-
-
-```
-
-And is A LOT of code just for a simple log right?
-
-## Usage
-
-With the new directive v-log provided by **TresJS**, you can do this by just adding `v-log` to the instance.
-
-```vue{2,10,12}
-
-
-
-
-
- />
-
-
-
-```
-
-Note that you can pass a modifier with the name of a property, for example `v-log:material`, and will log directly the `material` property 😍
-
-::: warning
-The component `` will not log the canvas or the scene.
-:::
diff --git a/docs/guide/materials/glass-material.md b/docs/guide/materials/glass-material.md
index 9d1376e3..f39afe37 100644
--- a/docs/guide/materials/glass-material.md
+++ b/docs/guide/materials/glass-material.md
@@ -25,10 +25,10 @@ const boxRef = shallowRef()
watch(glassMaterialRef, value => {
// For good practice we dispose the old material
- boxRef.value.value.material.dispose()
+ boxRef.value.instance.material.dispose()
// We assign the new MeshGlassMaterialClass
- boxRef.value.value.material = value.MeshGlassMaterialClass
+ boxRef.value.instance.material = value.MeshGlassMaterialClass
})
diff --git a/docs/guide/materials/mesh-reflection-material.md b/docs/guide/materials/mesh-reflection-material.md
new file mode 100644
index 00000000..a59edc37
--- /dev/null
+++ b/docs/guide/materials/mesh-reflection-material.md
@@ -0,0 +1,29 @@
+# MeshReflectionMaterial
+
+
+
+
+
+The `cientos` package provides a ` ` component for making floors or walls that reflect the objects in your `Scene`.
+
+The component is based on the excellent [Drei](https://github.com/pmndrs/drei) component of the same name.
+
+It extends `THREE.MeshStandardMaterial` and accepts all the same props.
+
+## Usage
+
+<<< @/.vitepress/theme/components/MeshReflectionMaterialDemo.vue{3,16-19}
+
+## Props
+
+No props are required.
+
+ {
+ if (fieldName === 'description') {
+ const t = getFieldFormatted('type')
+ return t ? t + value : value
+ }
+}"
+component-path="src/core/materials/meshReflectionMaterial/index.vue" />
diff --git a/docs/guide/migrating-from-v3.md b/docs/guide/migrating-from-v3.md
new file mode 100644
index 00000000..14c0b515
--- /dev/null
+++ b/docs/guide/migrating-from-v3.md
@@ -0,0 +1,96 @@
+# Migration Guide from v3
+
+This guide is intended to help you migrate from Cientos v3 to v4 🤩✨.
+
+::: code-group
+
+```bash [pnpm]
+pnpm update @tresjs/cientos
+```
+
+```bash [npm]
+npm update @tresjs/cientos
+```
+
+```bash [yarn]
+yarn upgrade @tresjs/cientos
+```
+
+:::
+
+## What's new?
+
+### Updated `defineExport` properties
+
+Since the beginning we exported our components' underlying `Three.js` instances using the name `value`. This created a very ambiguos situation with some components. When we access them using a `ref` in ``, we ended up with something like:
+
+```vue{6}
+
+
+
+ ...
+
+ ...
+
+
+```
+
+This created confusion and was not good DX. Unfortunately, to fix this, a breaking change needed to be introduced, and we felt this was the right moment.
+
+The new implementation is very similar, but instead of two confusing `value`s we have standardized all our components with `instance`, so to access the components now use:
+
+```js
+// Correct in v4 ✅
+console.log(starsRef.value.instance)
+```
+
+### Remove `TweakPane` from deps
+
+After some iteration, we decided to drop the instance of `useTweakPane`. Some of the reasons are:
+
+- No compatibility with the v4 of [TweakPane](https://tweakpane.github.io/docs/)
+- Massive bundle size
+- Not so intuitive, lots of code repetition
+- Support for the upcoming pkg [Leches](https://tresleches.tresjs.org/)
+
+You can check this recipe on the tres docs on how to use tweakpane with tres: [TweakPane](https://docs.tresjs.org/cookbook/tweakpane.html)
+
+### Move directives to core
+
+The use of `directives` started as a experiment to see how valuable it would be for the ecosystem. Since it has had a good reception, we have decided that it is appropriate for the `directives` to live under the core pkg [Directives section](https://docs.tresjs.org/directives/v-log.html).
+
+So now you have to import your directives from the core:
+```ts
+// Correct ✅
+import { vLog } from '@tresjs/core'
+```
+
+Instead of:
+```ts
+// Wrong ❌
+import { vLog } from '@tresjs/cientos'
+```
+
+::: info
+Since the addition of the new `useLoop` method, `vAlwaysLookAt` and `vRotate` have been temporarily removed.
+:::
+
+### Changes in `KeyboardControls`
+
+The implementation of `KeyboardControls` has been changed, since this component doesn't provide the right setup for what was originally developed. We took the decision to adopt floating controls similar to Unreal Engine 5, which make more sense given the name of this component.
+
+We have also brought the `PointerLockControls` inside `KeyboardControls`, so you don't have to set it up manually.
+
+Learn more about it [here](https://cientos.tresjs.org/guide/controls/keyboard-controls.html).
diff --git a/docs/guide/misc/use-tweakpane.md b/docs/guide/misc/use-tweakpane.md
deleted file mode 100644
index e7cda032..00000000
--- a/docs/guide/misc/use-tweakpane.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# useTweakPane
-
-::: warning
-
-useTweakPane is deprecated as of Cientos v3.7.0 and will no longer be part of this package. Please migrate to [`@tresjs/leches` package](https://github.com/Tresjs/leches) or [v-tweakpane](https://github.com/vinayakkulkarni/v-tweakpane) instead.
-
-:::
-
-[TweakPane](https://cocopon.github.io/tweakpane/) is a JavaScript library for creating a user interface for tweaking values of JavaScript variables. It's a great tool for fine-tuning parameters and monitoring value changes on your three.js applications.
-
-::: code-group
-
-```bash [pnpm]
-pnpm add @tweakpane/core @tweakpane/essentials -D
-```
-
-```bash [npm]
-npm install @tweakpane/core @tweakpane/essentials -D
-
-```
-
-```bash [yarn]
-yarn add @tweakpane/core @tweakpane/plugin-essentials -D
-```
-
-:::
-
-**TresJS** provides a composables called `useTweakPane` that creates a Tweakpane panel to your container so you can add tweaks to it. By default, the panel is created on the top right corner of the canvas and includes a FPS graph monitor to keep and eye on the performance of your scene.
-
-::: info
-You can change the container of the panel by passing the `selector` option to the `useTweakPane` function.
-:::
-
-## Basic usage
-
-```ts
-import { useTweakPane } from '@tresjs/cientos'
-
-const { pane } = useTweakPane()
-
-const experiment = reactive({
- clearColor: '#000000',
- alpha: true,
- shadow: true,
-})
-
-pane.addInput(experiment, 'clearColor', {
- label: 'Clear Color',
- colorMode: 'hex',
-})
-
-pane.addInput(experiment, 'alpha')
-```
-
-The result will be something like this:
-
-![](/use-tweakpane.png)
-
-## Options
-
-| Name | Type | Default | Description |
-| :----------- | -------- | ----------- | -------------------------------------------------------------- |
-| **selector** | `string` | `undefined` | The selector of the container where the panel will be created. |
diff --git a/docs/guide/shapes/cylinder.md b/docs/guide/shapes/cylinder.md
index e3578d67..0dc10977 100644
--- a/docs/guide/shapes/cylinder.md
+++ b/docs/guide/shapes/cylinder.md
@@ -4,7 +4,7 @@
The `cientos` package provides a ` ` component that serves as a short-cut for a `CylinderGeometry` and a `MeshBasicMaterial` with a `Mesh` object.
-```
+```
args: [
radiusTop: number,
radiusBottom: number,
@@ -28,4 +28,4 @@ Reference: [CylinderGeometry](https://threejs.org/docs/?q=cylinder#api/en/geomet
-```
\ No newline at end of file
+```
diff --git a/docs/guide/staging/contact-shadows.md b/docs/guide/staging/contact-shadows.md
index 97ccdb35..d6b7e506 100644
--- a/docs/guide/staging/contact-shadows.md
+++ b/docs/guide/staging/contact-shadows.md
@@ -1,45 +1,28 @@
-# Contact Shadows
+# ContactShadows
-
+
-A contact shadow implementation is a technique used in 3D graphics to create shadows that appear where objects meet or "contact" each other. This is different from traditional shadowing techniques, which often only create shadows based on the position of a light source relative to an object.
-
-This component is used to create and manage contact shadows in a 3D scene. It is based on the original code by [@mrdoob](https://twitter.com/mrdoob) and the implementation in [pmndrs drei](https://github.com/pmndrs/drei/blob/master/src/core/ContactShadows.tsx#L113) but adapted for Vue Composition API.
+` ` is a "fake", non-lighting-based shadow component. It displays shadows on a single plane. The component is based on the [THREE.js contact shadows example](https://threejs.org/examples/webgl_shadow_contact.html) by [@mrdoob](https://twitter.com/mrdoob).
## Usage
-```vue{11}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
+<<< @/.vitepress/theme/components/ContactShadowsDemo.vue
+
+## Props
-| Prop | Description | Default |
-| ------------ | ------------------------------------------------------------------------------ | --------- |
-| `opacity` | The opacity of the shadows. | 1 |
-| `width` | The width of the shadows. | 1 |
-| `height` | The height of the shadows. | 1 |
-| `blur` | The blur of the shadows. | 1 |
-| `far` | How far the OrthographicCamera should be to capture the shadows. | 10 |
-| `smooth` | Whether the shadows should be smooth or not. | true |
-| `resolution` | The resolution of the shadows. | 512 |
-| `frames` | The number of frames to render the shadows. | Infinity |
-| `scale` | The scale of the shadows. Can be a number or an array of two numbers `[x, y]`. | 10 |
-| `color` | The color of the shadows. | '#000000' |
-| `depthWrite` | Whether the shadows should write to the depth buffer or not. | false |
+| Prop | Description | Default |
+| ------------ | ------------------------------------------------------------------------------ | ----------- |
+| `opacity` | The opacity of the shadows. | `1` |
+| `blur` | The blur of the shadows. | `1` |
+| `color` | The color of the shadows. | `'#000000'` |
+| `tint` | If provided, the color of the "core" of the shadows. "Added" to `color`. | `undefined` |
+| `scale` | The scale of the shadows/shadow plane. Can be a number or an array of two numbers `[x, y]`. | 10 |
+| `width` | The width of the shadow plane. | `1` |
+| `height` | The height of the shadow plane. | `1` |
+| `far` | The distance of the orthographic shadow camera extends above the shadow plane. | `10` |
+| `smooth` | Whether the shadows should be smoothed to reduce artifacts. | `true` |
+| `resolution` | The resolution of the shadow textures. | `512` |
+| `frames` | For performance, optionally stop updating shadows after `frames` frames. | `Math.POSITIVE_INFINITY` |
+| `depthWrite` | Whether the shadows should write to the depth buffer or not. | `false` |
diff --git a/docs/guide/staging/environment.md b/docs/guide/staging/environment.md
index 8315f624..d6fa7296 100644
--- a/docs/guide/staging/environment.md
+++ b/docs/guide/staging/environment.md
@@ -11,22 +11,26 @@ It uses the composable [useEnvironment](/guide/staging/use-environment) under th
## Usage
```vue
-
+
+
+
```
You can also pass the `.hdr` file directly:
```vue
-
+
+
+
```
![Environment](/cientos/envmaps.png)
@@ -39,17 +43,15 @@ You can access the model reference by pasing a `ref` to the ` ` pr
-
+
@@ -89,24 +91,24 @@ You can incorporate `Lightformer` into the environment just like a slot.
### Props for Lightformer
Lightformer inherits from mesh, and its extension parameters include:
-| Prop | Description | Default |
+| Prop | Description | Default |
| :----------- | :------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `from` | 'circle' , 'ring' , 'rect' , any:other Mesh.The type of Lightformer | `rect` |
-| `intensity` | number : the intensity of the light. | 1 |
-| `color` | the color of the light. | `0xffffff` |
-| `args` | the arguments of the Geometry | When using other geometries, set the corresponding arguments. |
+| `from` | 'circle' , 'ring' , 'rect' , any:other Mesh.The type of Lightformer | `rect` |
+| `intensity` | number : the intensity of the light. | 1 |
+| `color` | the color of the light. | `0xffffff` |
+| `args` | the arguments of the Geometry | When using other geometries, set the corresponding arguments. |
## Props
-| Prop | Description | Default |
-| :----------- | :------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `files` | Array of 6 urls to images, one for each side of the CubeTexture. | `undefined` |
-| `path` | Path to the environment map files. | `undefined` |
-| `encoding` | Encoding of the environment map. | `SRGBColorSpace` for an array of files and `LinearEncoding` for a single texture |
-| `background` | If `true`, the environment map will be used as the scene background. | `false` |
-| `blur` | Blur factor between 0 and 1. (only works with three 0.146 and up) | 0 |
-| `preset` | Preset environment map. | `undefined` |
-| `resolution` | The resolution of the WebGLCubeRenderTarget. | 256 |
-| `near` | The near of the CubeCamera. | 1 |
-| `far` | The far of the CubeCamera. | 1000 |
-| `frames` | The frames of the cubeCamera.update. | Infinity |
+| Prop | Description | Default |
+| :----------- | :-------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| `files` | Array of 6 urls to images, one for each side of the CubeTexture. or and HDR | `undefined` |
+| `path` | Path to the environment map files. | `undefined` |
+| `encoding` | Encoding of the environment map. | `SRGBColorSpace` for an array of files and `LinearEncoding` for a single texture |
+| `background` | If `true`, the environment map will be used as the scene background. | `false` |
+| `blur` | Blur factor between 0 and 1. (only works with three 0.146 and up) | 0 |
+| `preset` | Preset environment map. | `undefined` |
+| `resolution` | The resolution of the WebGLCubeRenderTarget. | 256 |
+| `near` | The near of the CubeCamera. | 1 |
+| `far` | The far of the CubeCamera. | 1000 |
+| `frames` | The frames of the cubeCamera.update. | Infinity |
diff --git a/docs/guide/staging/use-environment.md b/docs/guide/staging/use-environment.md
index e33ffd85..b6c32d6e 100644
--- a/docs/guide/staging/use-environment.md
+++ b/docs/guide/staging/use-environment.md
@@ -10,6 +10,10 @@ It uses the [CubeTextureLoader](https://threejs.org/docs/#api/en/loaders/CubeTex
## Usage
+::: warning
+`UseEnvironment` needs to be wrapped by a Suspense component
+:::
+
```ts
import { useEnvironment } from '@tresjs/cientos'
@@ -36,13 +40,25 @@ Then you can use the `texture` in your scene:
```
+You can also pass the `.hdr` file directly
+
+```ts
+import { useEnvironment } from '@tresjs/cientos'
+
+const texture = await useEnvironment({
+ files: '/sunset.hdr',
+ path: '',
+ encoding: SRGBColorSpace,
+})
+```
+
## Options
-| Name | Type | Default | Description |
-| :------------- | ---------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
-| **files** | `Array` | `undefined` | Array of 6 urls to images, one for each side of the CubeTexture. |
-| **path** | `boolean` | `false` | Path to the environment map files. |
-| **encoding** | `Encoding` | `SRGBColorSpace` for an array of files and `LinearEncoding` for a single texture | Encoding of the environment map. |
-| **background** | `boolean` | `false` | If `true` the texture will be used as the scene background. |
-| **blur** | `number` | `0` | Blur factor between 0 and 1. (only works with three 0.146 and up) |
-| **preset** | `string` | `undefined` | Preset environment map. |
+| Name | Type | Default | Description |
+| :------------- | ---------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| **files** | `Array` | `undefined` | Array of 6 urls to images, one for each side of the CubeTexture. or and HDR |
+| **path** | `boolean` | `false` | Path to the environment map files. |
+| **encoding** | `Encoding` | `SRGBColorSpace` for an array of files and `LinearEncoding` for a single texture | Encoding of the environment map. |
+| **background** | `boolean` | `false` | If `true` the texture will be used as the scene background. |
+| **blur** | `number` | `0` | Blur factor between 0 and 1. (only works with three 0.146 and up) |
+| **preset** | `string` | `undefined` | Preset environment map. |
diff --git a/docs/package.json b/docs/package.json
index aa005264..b0b530c1 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -14,7 +14,7 @@
"devDependencies": {
"@tresjs/leches": "^0.14.0",
"markdown-it": "^14.0.0",
- "unocss": "^0.59.4",
+ "unocss": "^0.61.8",
"vite-svg-loader": "^5.1.0"
}
}
diff --git a/package.json b/package.json
index fad9971d..25d87378 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@tresjs/cientos",
"type": "module",
- "version": "3.9.0",
+ "version": "4.0.0-rc.2",
"packageManager": "pnpm@8.10.2",
"description": "Collection of useful helpers and fully functional, ready-made abstractions for Tres",
"author": "Alvaro Saburido (https://github.com/alvarosabu/)",
@@ -53,48 +53,44 @@
"prepare": "node .husky/install.mjs"
},
"peerDependencies": {
- "@tresjs/core": ">=3.2",
+ "@tresjs/core": ">=4.2.1",
"three": ">=0.133",
- "tweakpane": ">=3.0.0",
"vue": ">=3.3"
},
"dependencies": {
- "@tresjs/core": "3.9.0",
- "@vueuse/core": "^10.9.0",
- "camera-controls": "^2.8.3",
- "stats-gl": "^2.2.8",
+ "@vueuse/core": "^11.0.1",
+ "camera-controls": "^2.9.0",
+ "stats-gl": "^2.0.1",
"stats.js": "^0.17.0",
"three-custom-shader-material": "^5.4.0",
- "three-stdlib": "^2.29.11"
+ "three-stdlib": "^2.32.2"
},
"devDependencies": {
"@release-it/conventional-changelog": "^8.0.1",
- "@tresjs/core": "^3.2.1",
+ "@tresjs/core": "4.2.7",
"@tresjs/eslint-config": "^1.1.0",
- "@tweakpane/core": "^1.1.9",
- "@types/node": "^20.12.10",
- "@types/three": "^0.164.0",
- "@typescript-eslint/eslint-plugin": "^7.8.0",
- "@typescript-eslint/parser": "^7.8.0",
- "@vitejs/plugin-vue": "^5.0.4",
- "eslint": "^9.1.1",
- "eslint-plugin-vue": "^9.25.0",
+ "@types/node": "^22.4.1",
+ "@types/three": "^0.167.1",
+ "@typescript-eslint/eslint-plugin": "^8.2.0",
+ "@typescript-eslint/parser": "^8.2.0",
+ "@vitejs/plugin-vue": "^5.1.2",
+ "eslint": "^9.9.0",
+ "eslint-plugin-vue": "^9.27.0",
"gsap": "^3.12.5",
- "husky": "^9.0.11",
+ "husky": "^9.1.4",
"kolorist": "^1.8.0",
"pathe": "^1.1.2",
- "release-it": "^17.2.1",
+ "release-it": "^17.6.0",
"rollup-plugin-analyzer": "^4.0.0",
"rollup-plugin-visualizer": "^5.12.0",
- "three": "^0.164.1",
- "tweakpane": "^3.1.10",
- "typescript": "^5.4.5",
- "unocss": "^0.59.4",
- "vite": "^5.2.11",
+ "three": "^0.167.1",
+ "typescript": "^5.5.4",
+ "unocss": "^0.62.2",
+ "vite": "^5.4.1",
"vite-plugin-banner": "^0.7.1",
- "vite-plugin-dts": "3.9.1",
+ "vite-plugin-dts": "4.0.3",
"vite-plugin-glsl": "^1.3.0",
"vite-svg-loader": "^5.1.0",
- "vitepress": "1.1.4"
+ "vitepress": "1.3.3"
}
}
diff --git a/playground/components.d.ts b/playground/components.d.ts
index d54b8cdb..40a84940 100644
--- a/playground/components.d.ts
+++ b/playground/components.d.ts
@@ -10,8 +10,11 @@ declare module 'vue' {
AkuAku: typeof import('./src/components/AkuAku.vue')['default']
FboCube: typeof import('./src/components/FboCube.vue')['default']
Gltf: typeof import('./src/components/gltf/index.vue')['default']
+ GraphPane: typeof import('./src/components/GraphPane.vue')['default']
ModelsDemo: typeof import('./src/components/ModelsDemo.vue')['default']
+ OverlayInfo: typeof import('./src/components/OverlayInfo.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
+ StarsForTest: typeof import('./src/components/StarsForTest.vue')['default']
}
}
diff --git a/playground/package.json b/playground/package.json
index a01a1e97..af299776 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -9,15 +9,15 @@
"preview": "vite preview"
},
"dependencies": {
- "@tresjs/core": "3.9.0",
- "vue-router": "^4.2.5"
+ "@tresjs/core": "4.2.2",
+ "vue-router": "^4.4.0"
},
"devDependencies": {
"@tresjs/leches": "^0.14.0",
- "unplugin-auto-import": "^0.17.5",
- "unplugin-vue-components": "^0.27.0",
+ "unplugin-auto-import": "^0.18.2",
+ "unplugin-vue-components": "^0.27.3",
"vite-plugin-glsl": "^1.2.1",
"vite-plugin-qrcode": "^0.2.3",
- "vue-tsc": "^2.0.16"
+ "vue-tsc": "^2.0.28"
}
}
diff --git a/playground/src/components/GraphPane.vue b/playground/src/components/GraphPane.vue
new file mode 100644
index 00000000..e952173e
--- /dev/null
+++ b/playground/src/components/GraphPane.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
Rendering Activity
+
+
+
+
diff --git a/playground/src/components/ModelsDemo.vue b/playground/src/components/ModelsDemo.vue
index 47d49bbb..d5d0308a 100644
--- a/playground/src/components/ModelsDemo.vue
+++ b/playground/src/components/ModelsDemo.vue
@@ -25,10 +25,10 @@ const { onLoop } = useRenderLoop()
onLoop(() => {
if (akuAkuRef.value) {
- akuAkuRef.value.value.rotation.y += 0.01
+ akuAkuRef.value.instance.rotation.y += 0.01
}
if (jeepRef.value) {
- jeepRef.value.value.rotation.y -= 0.01
+ jeepRef.value.instance.rotation.y -= 0.01
}
})
diff --git a/playground/src/components/OverlayInfo.vue b/playground/src/components/OverlayInfo.vue
new file mode 100644
index 00000000..58294127
--- /dev/null
+++ b/playground/src/components/OverlayInfo.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
diff --git a/playground/src/components/StarsForTest.vue b/playground/src/components/StarsForTest.vue
new file mode 100644
index 00000000..4a14607d
--- /dev/null
+++ b/playground/src/components/StarsForTest.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
diff --git a/playground/src/composables/state.ts b/playground/src/composables/state.ts
new file mode 100644
index 00000000..227164b7
--- /dev/null
+++ b/playground/src/composables/state.ts
@@ -0,0 +1,11 @@
+import { reactive, toRefs } from 'vue'
+
+const state = reactive({
+ renderingTimes: 0,
+})
+export function useState() {
+ return {
+ ...toRefs(state),
+
+ }
+}
diff --git a/playground/src/pages/abstractions/AnimatedSpriteDemo.vue b/playground/src/pages/abstractions/AnimatedSpriteDemo.vue
new file mode 100644
index 00000000..1fe23c4a
--- /dev/null
+++ b/playground/src/pages/abstractions/AnimatedSpriteDemo.vue
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
@frame: {{ lastFrame }}
+
@end: {{ lastEnd }}
+
@loop: {{ lastLoop }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lastEnd = frameName"
+ @frame="(frameName) => lastFrame = frameName"
+ @loop="(frameName) => lastLoop = frameName"
+ />
+
+
+
+
+
diff --git a/playground/src/pages/abstractions/FBODemo.vue b/playground/src/pages/abstractions/FBODemo.vue
deleted file mode 100644
index 0621b7bf..00000000
--- a/playground/src/pages/abstractions/FBODemo.vue
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/abstractions/GlobalAudioDemo.vue b/playground/src/pages/abstractions/GlobalAudioDemo.vue
index 2743b87b..3c2ab0c8 100644
--- a/playground/src/pages/abstractions/GlobalAudioDemo.vue
+++ b/playground/src/pages/abstractions/GlobalAudioDemo.vue
@@ -7,11 +7,11 @@ const exampleAudio
= 'https://raw.githubusercontent.com/Tresjs/assets/main/music/sunny-afternoon.mp3'
const isPlaying = shallowRef(false)
-const sound = shallowRef(false)
+const soundRef = shallowRef()
-watch(sound, (value) => {
+watch(soundRef, (value) => {
// eslint-disable-next-line no-console
- console.log(value)
+ console.log(value.instance)
})
@@ -32,7 +32,7 @@ watch(sound, (value) => {
:far="1000"
/>
-import { shallowRef, watch } from 'vue'
-import type { TresColor } from '@tresjs/core'
import { TresCanvas, useRenderLoop } from '@tresjs/core'
-import { Dodecahedron, Lensflare, Levioso, OrbitControls } from '@tresjs/cientos'
-import { Color, MeshPhongMaterial } from 'three'
+import { Lensflare, OrbitControls, Torus } from '@tresjs/cientos'
import { TresLeches, useControls } from '@tresjs/leches'
+import { shallowRef } from 'vue'
import '@tresjs/leches/styles'
-const gl = {
- clearColor: '#000000',
- shadows: false,
- alpha: false,
-}
-
-const colors = ['white', 'yellow', 'red', 'orange', 'purple']
-const randomColor = () => new Color(colors[Math.trunc(Math.random() * colors.length)])
-
-const colorRef = shallowRef(randomColor() as TresColor)
-const seedPropsRef = shallowRef()
-const speedRef = shallowRef(1)
-
-const { onLoop } = useRenderLoop()
-
-let cooldown = 5
-onLoop(({ delta }) => {
- cooldown -= delta
- while (cooldown < 0) {
- colorRef.value = randomColor()
- cooldown += 5
- }
+const [x, z] = [shallowRef(0), shallowRef(0)]
+useRenderLoop().onLoop(({ elapsed }) => {
+ z.value = Math.cos(elapsed * 0.5) * 2
+ x.value = Math.sin(elapsed)
})
-const TEXTURE_PATH
- = 'https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/'
-const circle = `${TEXTURE_PATH}circle.png`
-const circleBlur = `${TEXTURE_PATH}circleBlur.png`
-const circleRainbow = `${TEXTURE_PATH}circleRainbow.png`
-const line = `${TEXTURE_PATH}line.png`
-const poly6 = `${TEXTURE_PATH}poly6.png`
-const polyStroke6 = `${TEXTURE_PATH}polyStroke6.png`
-const rays = `${TEXTURE_PATH}rays.png`
-const rays6 = `${TEXTURE_PATH}rays6.png`
-const ring = `${TEXTURE_PATH}ring.png`
-
-const float = (lo: number, hi: number) => Math.random() * (hi - lo) + lo
-const floatSpread = (range: number) => Math.random() * range - range * 0.5
-const ROCK_COUNT = 1000
-const ROCK_DISTANCE = 200
-const ROCK_SCALE = 3
-const rocks = Array.from({ length: ROCK_COUNT }).fill(0).map((_, i) => ({
- position: [0, 0, 0].map(() => floatSpread(ROCK_DISTANCE)),
- rotation: [0, 0, 0].map(() => floatSpread(Math.PI * 2)),
- scale: [0, 0, 0].map(() => float(ROCK_SCALE, ROCK_SCALE * 2)),
- key: i,
-}))
-
-const rockMaterial = new MeshPhongMaterial({ color: 0x123141, specular: 0xFFFFFF, shininess: 1000 })
-
-const [seedRef, scaleRef] = useControls(
- {
- seed: { value: 847, min: 0, max: 2 ** 31, step: 1 },
- scale: { value: 1, min: 0, max: 2, step: 0.01 },
- },
-)
-
-{
- const [oversizeSize, oversizeSizeRand, oversizeNumElements, oversizeNumElementsRand, oversizeColorA, oversizeColorB, oversizeColorC, oversizeSeed] = useControls(
- 'Oversize',
- {
- size0: { value: 768, min: 0, max: 1024, step: 1 },
- sizeRand0: { value: 512, min: 0, max: 1024, step: 1 },
- count0: { value: 1, min: 0, max: 20, step: 1 },
- countRand0: { value: 2, min: 0, max: 20, step: 1 },
- colorA0: '#ffffff',
- colorB0: '#ffffff',
- colorC0: '#ffffff',
- seed0: { value: 930104199, min: 0, max: 2 ** 31, step: 1 },
- },
- )
-
- const [raysSize, raysSizeRand, raysNumElements, raysNumElementsRand, raysColorA, raysColorB, raysColorC, raysSeed] = useControls(
- 'Rays',
- {
- size1: { value: 180, min: 0, max: 512, step: 1 },
- sizeRand1: { value: 256, min: 0, max: 512, step: 1 },
- count1: { value: 2, min: 0, max: 20, step: 1 },
- countRand1: { value: 1, min: 0, max: 20, step: 1 },
- colorA1: '#ffffff',
- colorB1: '#ffffff',
- colorC1: '#808080',
- seed1: { value: 1021142105, min: 0, max: 2 ** 31, step: 1 },
- },
- )
-
- const [bodySize, bodySizeRand, bodyNumElements, bodyNumElementsRand, bodyColorA, bodyColorB, bodyColorC, bodySeed] = useControls(
- 'Body',
- {
- size2: { value: 180, min: 0, max: 512, step: 1 },
- sizeRand2: { value: 256, min: 0, max: 512, step: 1 },
- count2: { value: 2, min: 0, max: 20, step: 1 },
- countRand2: { value: 1, min: 0, max: 20, step: 1 },
- colorA2: '#ffffff',
- colorB2: '#ffffff',
- colorC2: '#808080',
- seed2: { value: 1248736959, min: 0, max: 2 ** 31, step: 1 },
- },
- )
-
- const [frontSize, frontSizeRand, frontOffset, frontSpread, frontNumElements, frontNumElementsRand, frontColorA, frontColorB, frontColorC, frontSeed] = useControls(
- 'Front',
- {
- size3: { value: 20, min: 0, max: 512, step: 1 },
- sizeRand3: { value: 160, min: 0, max: 512, step: 1 },
- offset3: { value: 0.5, min: 0, max: 4, step: 0.1 },
- spread3: { value: 1, min: 0, max: 4, step: 0.1 },
- count3: { value: 5, min: 0, max: 20, step: 1 },
- countRand3: { value: 16, min: 0, max: 20, step: 1 },
- colorA3: '#ffffff',
- colorB3: '#808080',
- colorC3: '#a9a9a9',
- seed3: { value: 1673580564, min: 0, max: 2 ** 31, step: 1 },
- },
- )
-
- const [backSize, backSizeRand, backOffset, backSpread, backNumElements, backNumElementsRand, backColorA, backColorB, backColorC, backSeed] = useControls(
- 'Back',
- {
- size4: { value: 180, min: 0, max: 512, step: 1 },
- sizeRand4: { value: 90, min: 0, max: 512, step: 1 },
- offset4: { value: 0.5, min: 0, max: 4, step: 0.1 },
- spread4: { value: 0.5, min: 0, max: 4, step: 0.1 },
- count4: { value: 3, min: 0, max: 20, step: 1 },
- countRand4: { value: 2, min: 0, max: 20, step: 1 },
- colorA4: '#ffffff',
- colorB4: '#a9a9a9',
- colorC4: '#00008b',
- seed4: { value: 1764618553, min: 0, max: 2 ** 31, step: 1 },
- },
- )
-
- const updateSeedProps = () => {
- seedPropsRef.value = [
- {
- texture: [line, ring],
- color: [oversizeColorA.value.value, oversizeColorB.value.value, oversizeColorC.value.value],
- distance: [0, 0],
- size: [
- Math.max(0, Math.floor(oversizeSize.value.value - 0.5 * oversizeSizeRand.value.value)),
- Math.max(0, Math.floor(oversizeSize.value.value + 0.5 * oversizeSizeRand.value.value)),
- ],
- length: [
- Math.max(0, Math.floor(oversizeNumElements.value.value - 0.5 * oversizeNumElementsRand.value.value)),
- Math.max(0, Math.floor(oversizeNumElements.value.value + 0.5 * oversizeNumElementsRand.value.value)),
- ],
- seed: oversizeSeed.value.value,
- },
- {
- texture: [rays, rays6],
- color: [raysColorA.value.value, raysColorB.value.value, raysColorC.value.value],
- distance: [0, 0],
- size: [
- Math.max(0, Math.floor(raysSize.value.value - 0.5 * raysSizeRand.value.value)),
- Math.max(0, Math.floor(raysSize.value.value + 0.5 * raysSizeRand.value.value)),
- ],
- length: [
- Math.max(0, Math.floor(raysNumElements.value.value - 0.5 * raysNumElementsRand.value.value)),
- Math.max(0, Math.floor(raysNumElements.value.value + 0.5 * raysNumElementsRand.value.value)),
- ],
- seed: raysSeed.value.value,
- },
- {
- texture: [circleBlur, circleRainbow, circle],
- color: [bodyColorA.value.value, bodyColorB.value.value, bodyColorC.value.value],
- distance: [0, 0],
- size: [
- Math.max(0, Math.floor(bodySize.value.value - 0.5 * bodySizeRand.value.value)),
- Math.max(0, Math.floor(bodySize.value.value + 0.5 * bodySizeRand.value.value)),
- ],
- length: [
- Math.max(0, Math.floor(bodyNumElements.value.value - 0.5 * bodyNumElementsRand.value.value)),
- Math.max(0, Math.floor(bodyNumElements.value.value + 0.5 * bodyNumElementsRand.value.value)),
- ],
- seed: bodySeed.value.value,
- },
- {
- texture: [circleBlur, ring, poly6, polyStroke6],
- color: [frontColorA.value.value, frontColorB.value.value, frontColorC.value.value],
- distance: [frontOffset.value.value, frontOffset.value.value + frontSpread.value.value],
- size: [
- Math.max(0, Math.floor(frontSize.value.value - 0.5 * frontSizeRand.value.value)),
- Math.max(0, Math.floor(frontSize.value.value + 0.5 * frontSizeRand.value.value)),
- ],
- length: [
- Math.max(0, Math.floor(frontNumElements.value.value - 0.5 * frontNumElementsRand.value.value)),
- Math.max(0, Math.floor(frontNumElements.value.value + 0.5 * frontNumElementsRand.value.value)),
- ],
- seed: frontSeed.value.value,
- },
- {
- texture: [circleBlur, ring, poly6, polyStroke6],
- color: [backColorA.value.value, backColorB.value.value, backColorC.value.value],
- distance: [-backOffset.value.value, -backOffset.value.value - backSpread.value.value],
- size: [
- Math.max(0, Math.floor(backSize.value.value - 0.5 * backSizeRand.value.value)),
- Math.max(0, Math.floor(backSize.value.value + 0.5 * backSizeRand.value.value)),
- ],
- length: [
- Math.max(0, Math.floor(backNumElements.value.value - 0.5 * backNumElementsRand.value.value)),
- Math.max(0, Math.floor(backNumElements.value.value + 0.5 * backNumElementsRand.value.value)),
- ],
- seed: backSeed.value.value,
- },
- ]
- }
-
- watch(() => [
- seedRef.value,
-
- oversizeSize.value.value,
- oversizeSizeRand.value.value,
- oversizeNumElements.value.value,
- oversizeNumElementsRand.value.value,
- oversizeColorA.value.value,
- oversizeColorB.value.value,
- oversizeColorC.value.value,
- oversizeSeed.value.value,
-
- raysSize.value.value,
- raysSizeRand.value.value,
- raysNumElements.value.value,
- raysNumElementsRand.value.value,
- raysColorA.value.value,
- raysColorB.value.value,
- raysColorC.value.value,
- raysSeed.value.value,
-
- bodySize.value.value,
- bodySizeRand.value.value,
- bodyNumElements.value.value,
- bodyNumElementsRand.value.value,
- bodyColorA.value.value,
- bodyColorB.value.value,
- bodyColorC.value.value,
- bodySeed.value.value,
-
- frontSize.value.value,
- frontSizeRand.value.value,
- frontNumElements.value.value,
- frontNumElementsRand.value.value,
- frontOffset.value.value,
- frontSpread.value.value,
- frontColorA.value.value,
- frontColorB.value.value,
- frontColorC.value.value,
- frontSeed.value.value,
-
- backSize.value.value,
- backSizeRand.value.value,
- backNumElements.value.value,
- backNumElementsRand.value.value,
- backOffset.value.value,
- backSpread.value.value,
- backColorA.value.value,
- backColorB.value.value,
- backColorC.value.value,
- backSeed.value.value,
- ], updateSeedProps)
-
- updateSeedProps()
-}
+const { value: scale } = useControls({
+ scale: { value: 0.33, min: 0.01, max: 2, step: 0.01 },
+})
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
+
-
-
+
+
+
+
diff --git a/playground/src/pages/abstractions/MouseParallaxDemo.vue b/playground/src/pages/abstractions/MouseParallaxDemo.vue
index d062f5eb..47f7edfe 100644
--- a/playground/src/pages/abstractions/MouseParallaxDemo.vue
+++ b/playground/src/pages/abstractions/MouseParallaxDemo.vue
@@ -17,27 +17,11 @@ const gl = {
-
-
-
-
-
-
-
-
-
+
diff --git a/playground/src/pages/abstractions/PositionalAudio.vue b/playground/src/pages/abstractions/PositionalAudioDemo.vue
similarity index 92%
rename from playground/src/pages/abstractions/PositionalAudio.vue
rename to playground/src/pages/abstractions/PositionalAudioDemo.vue
index bb4cab7b..1423acbd 100644
--- a/playground/src/pages/abstractions/PositionalAudio.vue
+++ b/playground/src/pages/abstractions/PositionalAudioDemo.vue
@@ -1,6 +1,7 @@
@@ -65,8 +72,8 @@ const onContinue = () => {
-
-
+
+
diff --git a/playground/src/pages/abstractions/Sampler.vue b/playground/src/pages/abstractions/Sampler.vue
index 1e103e0e..c0412f09 100644
--- a/playground/src/pages/abstractions/Sampler.vue
+++ b/playground/src/pages/abstractions/Sampler.vue
@@ -1,7 +1,9 @@
-
+
-
+
diff --git a/playground/src/pages/abstractions/fbo/FBODemo.vue b/playground/src/pages/abstractions/fbo/FBODemo.vue
new file mode 100644
index 00000000..506f7278
--- /dev/null
+++ b/playground/src/pages/abstractions/fbo/FBODemo.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/abstractions/fbo/index.vue b/playground/src/pages/abstractions/fbo/index.vue
new file mode 100644
index 00000000..39df979a
--- /dev/null
+++ b/playground/src/pages/abstractions/fbo/index.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/abstractions/useFBODemo.vue b/playground/src/pages/abstractions/fbo/useFBODemo.vue
similarity index 100%
rename from playground/src/pages/abstractions/useFBODemo.vue
rename to playground/src/pages/abstractions/fbo/useFBODemo.vue
diff --git a/playground/src/pages/abstractions/lensflare/LensflareDemo.vue b/playground/src/pages/abstractions/lensflare/LensflareDemo.vue
new file mode 100644
index 00000000..b19fffde
--- /dev/null
+++ b/playground/src/pages/abstractions/lensflare/LensflareDemo.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/abstractions/lensflare/index.vue b/playground/src/pages/abstractions/lensflare/index.vue
new file mode 100644
index 00000000..3dfba338
--- /dev/null
+++ b/playground/src/pages/abstractions/lensflare/index.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/controls/KeyboardControlsDemo.vue b/playground/src/pages/controls/KeyboardControlsDemo.vue
new file mode 100644
index 00000000..3928fbdb
--- /dev/null
+++ b/playground/src/pages/controls/KeyboardControlsDemo.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+ hasChange(state)"
+ @is-lock="state => isActive(state)"
+ />
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/controls/OrbitControlsDemo.vue b/playground/src/pages/controls/OrbitControlsDemo.vue
index 3e3d4216..08d1fbaa 100644
--- a/playground/src/pages/controls/OrbitControlsDemo.vue
+++ b/playground/src/pages/controls/OrbitControlsDemo.vue
@@ -6,6 +6,7 @@ import { OrbitControls } from '@tresjs/cientos'
import { reactive } from 'vue'
import { TresLeches, useControls } from '@tresjs/leches'
import '@tresjs/leches/styles'
+import { useState } from '../../composables/state'
const gl = {
clearColor: '#82DBC5',
@@ -174,11 +175,18 @@ function onStart() {
function onEnd() {
/* console.log('end') */
}
+
+const { renderingTimes } = useState()
+
+function onRender() {
+ renderingTimes.value = 1
+}
-
+
+
import { TresCanvas } from '@tresjs/core'
import { BasicShadowMap, NoToneMapping } from 'three'
-import { KeyboardControls, PointerLockControls, Sky, Stats } from '@tresjs/cientos'
+import { PointerLockControls, Sky, StatsGl } from '@tresjs/cientos'
const gl = {
clearColor: '#82DBC5',
@@ -12,21 +12,20 @@ const gl = {
toneMapping: NoToneMapping,
}
-const isActive = (state: boolean) => console.log(state)
+const isActive = (state: boolean) => console.log('is-active', state)
const hasChange = (state: any) => console.log('change', state)
-
+
isActive(state)"
@change="state => hasChange(state)"
/>
-
diff --git a/playground/src/pages/controls/ScrollControlsDemo.vue b/playground/src/pages/controls/ScrollControlsDemo.vue
index 30e0c275..74685faa 100644
--- a/playground/src/pages/controls/ScrollControlsDemo.vue
+++ b/playground/src/pages/controls/ScrollControlsDemo.vue
@@ -31,8 +31,8 @@ useControls({
const { onLoop } = useRenderLoop()
onLoop(() => {
if (boxRef.value) {
- boxRef.value.value.rotation.x = progress.value * 10
- boxRef.value.value.rotation.y = progress.value * 2
+ boxRef.value.instance.rotation.x = progress.value * 10
+ boxRef.value.instance.rotation.y = progress.value * 2
}
})
diff --git a/playground/src/pages/controls/TransformControlsDemo.vue b/playground/src/pages/controls/TransformControlsDemo.vue
index 0c0ce451..1748dbf2 100644
--- a/playground/src/pages/controls/TransformControlsDemo.vue
+++ b/playground/src/pages/controls/TransformControlsDemo.vue
@@ -5,6 +5,7 @@ import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
import { OrbitControls, TransformControls } from '@tresjs/cientos'
import { TresLeches, useControls } from '@tresjs/leches'
import '@tresjs/leches/styles'
+import type { TransformControlsProps } from '../../../../src/core/controls/TransformControls.vue'
const gl = {
clearColor: '#82DBC5',
@@ -26,7 +27,7 @@ function changeObject(object: any) {
const context = ref()
-const controlsState = reactive({
+const controlsState = reactive>({
mode: 'translate',
enabled: true,
space: 'world',
@@ -37,6 +38,8 @@ const controlsState = reactive({
showZ: true,
})
+useControls('fpsgraph')
+
const { mode, enabled, space, axis, size, showX, showY, showZ } = useControls({
mode: {
label: 'Mode',
@@ -84,7 +87,7 @@ watch([mode.value, enabled.value, space.value, axis.value, size.value, showX.val
v-bind="gl"
ref="context"
>
-
+
-import { shallowRef } from 'vue'
-import { TresCanvas, useRenderLoop } from '@tresjs/core'
-import { Box, Sphere, Stars, vAlwaysLookAt } from '@tresjs/cientos'
-import { NoToneMapping, SRGBColorSpace, Vector3 } from 'three'
-
-const gl = {
- clearColor: '#333',
- outputColorSpace: SRGBColorSpace,
- toneMapping: NoToneMapping,
-}
-const sphereRef = shallowRef()
-const box1Ref = shallowRef()
-const box2Ref = shallowRef()
-
-const { onLoop } = useRenderLoop()
-
-onLoop(({ elapsed }) => {
- if (sphereRef.value && box1Ref.value && box2Ref.value) {
- sphereRef.value.value.position.y = Math.sin(elapsed) * 1.5
- box2Ref.value.value.position.y = Math.sin(elapsed * 1.2) * 1.5 + 2
- const boxAngle = elapsed * 0.75
- box1Ref.value.value.position.x = Math.cos(boxAngle) * 5
- }
-})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/directives/vDistanceTo.vue b/playground/src/pages/directives/vDistanceTo.vue
deleted file mode 100644
index 1664a9f2..00000000
--- a/playground/src/pages/directives/vDistanceTo.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/directives/vLightHelper.vue b/playground/src/pages/directives/vLightHelper.vue
deleted file mode 100644
index 0e14b7d2..00000000
--- a/playground/src/pages/directives/vLightHelper.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/directives/vLog.vue b/playground/src/pages/directives/vLog.vue
deleted file mode 100644
index 87dac956..00000000
--- a/playground/src/pages/directives/vLog.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/index.vue b/playground/src/pages/index.vue
index f9ade706..40f42d40 100644
--- a/playground/src/pages/index.vue
+++ b/playground/src/pages/index.vue
@@ -2,7 +2,6 @@
import {
abstractionsRoutes,
controlsRoutes,
- directivesRoutes,
loadersRoutes,
materialsRoutes,
miscRoutes,
@@ -16,7 +15,6 @@ const sections = [
{ icon: '🎭', title: 'Staging', routes: stagingRoutes },
{ icon: '⏳', title: 'Loaders', routes: loadersRoutes },
{ icon: '👔', title: 'Materials', routes: materialsRoutes },
- { icon: '📢', title: 'Directives', routes: directivesRoutes },
{ icon: '🔷', title: 'Shapes', routes: shapesRoutes },
{ icon: '🛠️', title: 'Misc', routes: miscRoutes },
]
diff --git a/playground/src/pages/loaders/SVGDemo.vue b/playground/src/pages/loaders/SVGDemo.vue
index 8a9edc04..f6441dee 100644
--- a/playground/src/pages/loaders/SVGDemo.vue
+++ b/playground/src/pages/loaders/SVGDemo.vue
@@ -47,6 +47,7 @@ const gl = {
diff --git a/playground/src/pages/materials/GlassMaterialDemo.vue b/playground/src/pages/materials/GlassMaterialDemo.vue
index 48364927..abb69529 100644
--- a/playground/src/pages/materials/GlassMaterialDemo.vue
+++ b/playground/src/pages/materials/GlassMaterialDemo.vue
@@ -18,8 +18,8 @@ const glassMaterialRef = shallowRef()
const boxRef = shallowRef()
watch(glassMaterialRef, (value) => {
- boxRef.value.value.material.dispose()
- boxRef.value.value.material = value.MeshGlassMaterialClass
+ boxRef.value.instance.material.dispose()
+ boxRef.value.instance.material = value.instance
})
diff --git a/playground/src/pages/materials/MeshReflectionMaterialDemo.vue b/playground/src/pages/materials/MeshReflectionMaterialDemo.vue
new file mode 100644
index 00000000..50e9377c
--- /dev/null
+++ b/playground/src/pages/materials/MeshReflectionMaterialDemo.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/materials/ReflectionMaterial.vue b/playground/src/pages/materials/ReflectionMaterial.vue
deleted file mode 100644
index f8f4cf9a..00000000
--- a/playground/src/pages/materials/ReflectionMaterial.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/materials/WobbleMaterial.vue b/playground/src/pages/materials/WobbleMaterialDemo.vue
similarity index 97%
rename from playground/src/pages/materials/WobbleMaterial.vue
rename to playground/src/pages/materials/WobbleMaterialDemo.vue
index 02ed09e5..74ecaab6 100644
--- a/playground/src/pages/materials/WobbleMaterial.vue
+++ b/playground/src/pages/materials/WobbleMaterialDemo.vue
@@ -20,6 +20,7 @@ const context = ref()
diff --git a/playground/src/pages/misc/BakeShadows.vue b/playground/src/pages/misc/BakeShadowsDemo.vue
similarity index 89%
rename from playground/src/pages/misc/BakeShadows.vue
rename to playground/src/pages/misc/BakeShadowsDemo.vue
index 41c60cbc..14912060 100644
--- a/playground/src/pages/misc/BakeShadows.vue
+++ b/playground/src/pages/misc/BakeShadowsDemo.vue
@@ -1,7 +1,7 @@
@@ -31,15 +24,8 @@ onBeforeLoop(() => {
v-bind="gl"
>
-
-
+
+
diff --git a/playground/src/pages/misc/StatsGlDemo.vue b/playground/src/pages/misc/StatsGlDemo.vue
index 3e24dd05..6d0f5fe4 100644
--- a/playground/src/pages/misc/StatsGlDemo.vue
+++ b/playground/src/pages/misc/StatsGlDemo.vue
@@ -1,28 +1,21 @@
@@ -31,15 +24,8 @@ onBeforeLoop(() => {
v-bind="gl"
>
-
-
+
+
diff --git a/playground/src/pages/shapes/Cylinder.vue b/playground/src/pages/shapes/Cylinder.vue
new file mode 100644
index 00000000..cecc553c
--- /dev/null
+++ b/playground/src/pages/shapes/Cylinder.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/shapes/OnDemandShapesDemo.vue b/playground/src/pages/shapes/OnDemandShapesDemo.vue
new file mode 100644
index 00000000..13ec6e9d
--- /dev/null
+++ b/playground/src/pages/shapes/OnDemandShapesDemo.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ render-mode="on-demand" Shapes
+ Setup
+ The canvas' "render-mode" is set to "on-demand". This means it only rerenders when invalidate()
is called.
+ There should be 1 shape on the canvas at a time.
+ The shape should constantly be visibly changing properties. A pause indicates that a shape is not calling invalidate()
.
+
+
diff --git a/playground/src/pages/staging/ContactShadowsDemo.vue b/playground/src/pages/staging/ContactShadowsDemo.vue
index 19de6744..10bea4c0 100644
--- a/playground/src/pages/staging/ContactShadowsDemo.vue
+++ b/playground/src/pages/staging/ContactShadowsDemo.vue
@@ -1,13 +1,13 @@
-
+
-
-
-
-
-
+
+
+
+
+
+
diff --git a/playground/src/pages/staging/FitDemo.vue b/playground/src/pages/staging/FitDemo.vue
deleted file mode 100644
index b63d6752..00000000
--- a/playground/src/pages/staging/FitDemo.vue
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
-
:into
value
-
-
-
- { choice = c; }"
- />
- {{ `${c.label} - ${JSON.stringify(c.value)?.substring(0, 25)}` }}
-
-
- {{ c.label }}
-
-
-
-
N.B.: fit.update()
is called continuously in the update loop.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/playground/src/pages/staging/fit/FitDemo.vue b/playground/src/pages/staging/fit/FitDemo.vue
new file mode 100644
index 00000000..2b5d92be
--- /dev/null
+++ b/playground/src/pages/staging/fit/FitDemo.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/staging/fit/index.vue b/playground/src/pages/staging/fit/index.vue
new file mode 100644
index 00000000..2114a513
--- /dev/null
+++ b/playground/src/pages/staging/fit/index.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
:into
value
+
+
+
+ { choice = c; }"
+ />
+ {{ `${c.label} - ${JSON.stringify(c.value)?.substring(0, 25)}` }}
+
+
+ {{ c.label }}
+
+
+
+
N.B.: fit.update()
is called continuously in the update loop.
+
+
+
+
+
+
+
+
diff --git a/playground/src/router/index.ts b/playground/src/router/index.ts
index 92dcfdbc..7cdb3e7a 100644
--- a/playground/src/router/index.ts
+++ b/playground/src/router/index.ts
@@ -2,7 +2,6 @@ import { createRouter, createWebHistory } from 'vue-router'
import {
abstractionsRoutes,
controlsRoutes,
- directivesRoutes,
loadersRoutes,
materialsRoutes,
miscRoutes,
@@ -22,7 +21,6 @@ const routes = [
...loadersRoutes,
...materialsRoutes,
...miscRoutes,
- ...directivesRoutes,
...shapesRoutes,
...miscRoutes,
]
diff --git a/playground/src/router/routes/abstractions.ts b/playground/src/router/routes/abstractions.ts
index 815463a1..1c10a6f8 100644
--- a/playground/src/router/routes/abstractions.ts
+++ b/playground/src/router/routes/abstractions.ts
@@ -17,7 +17,7 @@ export const abstractionsRoutes = [
{
path: '/abstractions/lensflare',
name: 'Lensflare',
- component: () => import('../../pages/abstractions/LensflareDemo.vue'),
+ component: () => import('../../pages/abstractions/lensflare/index.vue'),
},
{
path: '/abstractions/reflector-mesh',
@@ -32,12 +32,12 @@ export const abstractionsRoutes = [
{
path: '/abstractions/fbo',
name: 'Fbo',
- component: () => import('../../pages/abstractions/FBODemo.vue'),
+ component: () => import('../../pages/abstractions/fbo/index.vue'),
},
{
path: '/abstractions/use-fbo',
name: 'useFbo',
- component: () => import('../../pages/abstractions/useFBODemo.vue'),
+ component: () => import('../../pages/abstractions/fbo/useFBODemo.vue'),
},
{
path: '/abstractions/use-surface-sampler',
@@ -52,6 +52,11 @@ export const abstractionsRoutes = [
{
path: '/abstractions/positional-audio',
name: 'PositionalAudio',
- component: () => import('../../pages/abstractions/PositionalAudio.vue'),
+ component: () => import('../../pages/abstractions/PositionalAudioDemo.vue'),
+ },
+ {
+ path: '/abstractions/animated-sprite',
+ name: 'AnimatedSprite',
+ component: () => import('../../pages/abstractions/AnimatedSpriteDemo.vue'),
},
]
diff --git a/playground/src/router/routes/controls.ts b/playground/src/router/routes/controls.ts
index cd10f5f5..931aa55f 100644
--- a/playground/src/router/routes/controls.ts
+++ b/playground/src/router/routes/controls.ts
@@ -20,9 +20,14 @@ export const controlsRoutes = [
component: () => import('../../pages/controls/TransformControlsDemo.vue'),
},
{
- path: '/controls/first-person-controls',
- name: 'FirstPersonControls',
- component: () => import('../../pages/controls/FirstPersonControlsDemo.vue'),
+ path: '/controls/keyboard-controls',
+ name: 'KeyboardControls',
+ component: () => import('../../pages/controls/KeyboardControlsDemo.vue'),
+ },
+ {
+ path: '/controls/pointerlock-controls',
+ name: 'PointerLockControls',
+ component: () => import('../../pages/controls/PointerLockControlsDemo.vue'),
},
{
path: '/controls/scroll-controls',
diff --git a/playground/src/router/routes/directives.ts b/playground/src/router/routes/directives.ts
deleted file mode 100644
index 0de0c37a..00000000
--- a/playground/src/router/routes/directives.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-export const directivesRoutes = [
- {
- path: '/directives/vlog',
- name: 'vLog',
- component: () => import('../../pages/directives/vLog.vue'),
- },
- {
- path: '/directives/v-light-helper',
- name: 'vLightHelper',
- component: () => import('../../pages/directives/vLightHelper.vue'),
- },
- {
- path: '/directives/v-always-look-at',
- name: 'vAlwaysLookAt',
- component: () => import('../../pages/directives/vAlwaysLookAt.vue'),
- },
- {
- path: '/directives/v-distance-to',
- name: 'vDistanceTo',
- component: () => import('../../pages/directives/vDistanceTo.vue'),
- },
-]
diff --git a/playground/src/router/routes/index.ts b/playground/src/router/routes/index.ts
index 0ed34aea..d3234654 100644
--- a/playground/src/router/routes/index.ts
+++ b/playground/src/router/routes/index.ts
@@ -3,7 +3,6 @@ import { abstractionsRoutes } from './abstractions'
import { stagingRoutes } from './staging'
import { loadersRoutes } from './loaders'
import { materialsRoutes } from './materials'
-import { directivesRoutes } from './directives'
import { shapesRoutes } from './shapes'
import { miscRoutes } from './misc'
@@ -13,7 +12,6 @@ export {
stagingRoutes,
loadersRoutes,
materialsRoutes,
- directivesRoutes,
shapesRoutes,
miscRoutes,
}
diff --git a/playground/src/router/routes/materials.ts b/playground/src/router/routes/materials.ts
index 5a499e7a..976a558a 100644
--- a/playground/src/router/routes/materials.ts
+++ b/playground/src/router/routes/materials.ts
@@ -2,7 +2,7 @@ export const materialsRoutes = [
{
path: '/materials/wobble-material',
name: 'WobbleMaterial',
- component: () => import('../../pages/materials/WobbleMaterial.vue'),
+ component: () => import('../../pages/materials/WobbleMaterialDemo.vue'),
},
{
path: '/materials/glass-material',
@@ -17,7 +17,7 @@ export const materialsRoutes = [
{
path: '/materials/reflection-material',
name: 'ReflectionMaterial',
- component: () => import('../../pages/materials/ReflectionMaterial.vue'),
+ component: () => import('../../pages/materials/MeshReflectionMaterialDemo.vue'),
},
{
path: '/materials/holographic-material',
diff --git a/playground/src/router/routes/misc.ts b/playground/src/router/routes/misc.ts
index d2f98785..ee134671 100644
--- a/playground/src/router/routes/misc.ts
+++ b/playground/src/router/routes/misc.ts
@@ -22,7 +22,7 @@ export const miscRoutes = [
{
path: '/misc/bake-shadows',
name: 'BakeShadows',
- component: () => import('../../pages/misc/BakeShadows.vue'),
+ component: () => import('../../pages/misc/BakeShadowsDemo.vue'),
},
{
path: '/misc/gltfExporter',
diff --git a/playground/src/router/routes/shapes.ts b/playground/src/router/routes/shapes.ts
index 6105c65c..acd6bdc9 100644
--- a/playground/src/router/routes/shapes.ts
+++ b/playground/src/router/routes/shapes.ts
@@ -4,6 +4,11 @@ export const shapesRoutes = [
name: 'CatmullRomCurve3',
component: () => import('../../pages/shapes/CatmullRomCurve3Demo.vue'),
},
+ {
+ path: '/shapes/cylinder',
+ name: 'Cylinder',
+ component: () => import('../../pages/shapes/Cylinder.vue'),
+ },
{
path: '/shapes/line2',
name: 'Line2',
@@ -19,4 +24,9 @@ export const shapesRoutes = [
name: 'RoundedBox',
component: () => import('../../pages/shapes/RoundedBoxDemo.vue'),
},
+ {
+ path: '/shapes/on-demand-shapes',
+ name: 'on-demand Shapes',
+ component: () => import('../../pages/shapes/OnDemandShapesDemo.vue'),
+ },
]
diff --git a/playground/src/router/routes/staging.ts b/playground/src/router/routes/staging.ts
index 895e678c..e6141523 100644
--- a/playground/src/router/routes/staging.ts
+++ b/playground/src/router/routes/staging.ts
@@ -47,6 +47,6 @@ export const stagingRoutes = [
{
path: '/staging/fit',
name: 'Fit',
- component: () => import('../../pages/staging/FitDemo.vue'),
+ component: () => import('../../pages/staging/fit/index.vue'),
},
]
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 58186cd6..58d8f7dc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.0'
+lockfileVersion: '9.0'
settings:
autoInstallPeers: true
@@ -8,67 +8,64 @@ importers:
.:
dependencies:
- '@tresjs/core':
- specifier: 3.9.0
- version: 3.9.0(three@0.164.1)(vue@3.4.27)
'@vueuse/core':
- specifier: ^10.9.0
- version: 10.9.0(vue@3.4.27)
+ specifier: ^11.0.1
+ version: 11.0.1(vue@3.4.38(typescript@5.5.4))
camera-controls:
- specifier: ^2.8.3
- version: 2.8.3(three@0.164.1)
+ specifier: ^2.9.0
+ version: 2.9.0(three@0.167.1)
stats-gl:
- specifier: ^2.2.8
+ specifier: ^2.0.1
version: 2.2.8
stats.js:
specifier: ^0.17.0
version: 0.17.0
three-custom-shader-material:
specifier: ^5.4.0
- version: 5.4.0(three@0.164.1)
+ version: 5.4.0(three@0.167.1)
three-stdlib:
- specifier: ^2.29.11
- version: 2.29.11(three@0.164.1)
+ specifier: ^2.32.2
+ version: 2.32.2(three@0.167.1)
vue:
specifier: '>=3.3'
- version: 3.4.27(typescript@5.4.5)
+ version: 3.4.38(typescript@5.5.4)
devDependencies:
'@release-it/conventional-changelog':
specifier: ^8.0.1
- version: 8.0.1(release-it@17.2.1)
+ version: 8.0.1(release-it@17.6.0(typescript@5.5.4))
+ '@tresjs/core':
+ specifier: 4.2.7
+ version: 4.2.7(three@0.167.1)(vue@3.4.38(typescript@5.5.4))
'@tresjs/eslint-config':
specifier: ^1.1.0
- version: 1.1.0(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)(typescript@5.4.5)
- '@tweakpane/core':
- specifier: ^1.1.9
- version: 1.1.9
+ version: 1.1.0(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
'@types/node':
- specifier: ^20.12.10
- version: 20.12.10
+ specifier: ^22.4.1
+ version: 22.4.1
'@types/three':
- specifier: ^0.164.0
- version: 0.164.0
+ specifier: ^0.167.1
+ version: 0.167.1
'@typescript-eslint/eslint-plugin':
- specifier: ^7.8.0
- version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5)
+ specifier: ^8.2.0
+ version: 8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
'@typescript-eslint/parser':
- specifier: ^7.8.0
- version: 7.8.0(eslint@9.2.0)(typescript@5.4.5)
+ specifier: ^8.2.0
+ version: 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
'@vitejs/plugin-vue':
- specifier: ^5.0.4
- version: 5.0.4(vite@5.2.11)(vue@3.4.27)
+ specifier: ^5.1.2
+ version: 5.1.2(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))
eslint:
- specifier: ^9.1.1
- version: 9.2.0
+ specifier: ^9.9.0
+ version: 9.9.0(jiti@1.21.6)
eslint-plugin-vue:
- specifier: ^9.25.0
- version: 9.25.0(eslint@9.2.0)
+ specifier: ^9.27.0
+ version: 9.27.0(eslint@9.9.0(jiti@1.21.6))
gsap:
specifier: ^3.12.5
version: 3.12.5
husky:
- specifier: ^9.0.11
- version: 9.0.11
+ specifier: ^9.1.4
+ version: 9.1.4
kolorist:
specifier: ^1.8.0
version: 1.8.0
@@ -76,44 +73,41 @@ importers:
specifier: ^1.1.2
version: 1.1.2
release-it:
- specifier: ^17.2.1
- version: 17.2.1(typescript@5.4.5)
+ specifier: ^17.6.0
+ version: 17.6.0(typescript@5.5.4)
rollup-plugin-analyzer:
specifier: ^4.0.0
version: 4.0.0
rollup-plugin-visualizer:
specifier: ^5.12.0
- version: 5.12.0
+ version: 5.12.0(rollup@4.21.0)
three:
- specifier: ^0.164.1
- version: 0.164.1
- tweakpane:
- specifier: ^3.1.10
- version: 3.1.10
+ specifier: ^0.167.1
+ version: 0.167.1
typescript:
- specifier: ^5.4.5
- version: 5.4.5
+ specifier: ^5.5.4
+ version: 5.5.4
unocss:
- specifier: ^0.59.4
- version: 0.59.4(postcss@8.4.38)(vite@5.2.11)
+ specifier: ^0.62.2
+ version: 0.62.2(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
vite:
- specifier: ^5.2.11
- version: 5.2.11(@types/node@20.12.10)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@22.4.1)
vite-plugin-banner:
specifier: ^0.7.1
version: 0.7.1
vite-plugin-dts:
- specifier: 3.9.1
- version: 3.9.1(@types/node@20.12.10)(typescript@5.4.5)(vite@5.2.11)
+ specifier: 4.0.3
+ version: 4.0.3(@types/node@22.4.1)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.1(@types/node@22.4.1))
vite-plugin-glsl:
specifier: ^1.3.0
- version: 1.3.0(vite@5.2.11)
+ version: 1.3.0(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
vite-svg-loader:
specifier: ^5.1.0
- version: 5.1.0(vue@3.4.27)
+ version: 5.1.0(vue@3.4.38(typescript@5.5.4))
vitepress:
- specifier: 1.1.4
- version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
+ specifier: 1.3.3
+ version: 1.3.3(@algolia/client-search@5.0.2)(@types/node@22.4.1)(postcss@8.4.41)(search-insights@2.16.3)(typescript@5.5.4)
docs:
dependencies:
@@ -123,219 +117,145 @@ importers:
devDependencies:
'@tresjs/leches':
specifier: ^0.14.0
- version: 0.14.0(vite@5.2.11)(vue@3.4.27)
+ version: 0.14.0(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))
markdown-it:
specifier: ^14.0.0
version: 14.1.0
unocss:
- specifier: ^0.59.4
- version: 0.59.4(postcss@8.4.38)(vite@5.2.11)
+ specifier: ^0.61.8
+ version: 0.61.8(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
vite-svg-loader:
specifier: ^5.1.0
- version: 5.1.0(vue@3.4.27)
+ version: 5.1.0(vue@3.4.38(typescript@5.5.4))
playground:
dependencies:
'@tresjs/core':
- specifier: 3.9.0
- version: 3.9.0(three@0.164.1)(vue@3.4.27)
+ specifier: 4.2.2
+ version: 4.2.2(three@0.167.1)(vue@3.4.38(typescript@5.5.4))
vue-router:
- specifier: ^4.2.5
- version: 4.3.2(vue@3.4.27)
+ specifier: ^4.4.0
+ version: 4.4.0(vue@3.4.38(typescript@5.5.4))
devDependencies:
'@tresjs/leches':
specifier: ^0.14.0
- version: 0.14.0(vite@5.2.11)(vue@3.4.27)
+ version: 0.14.0(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))
unplugin-auto-import:
- specifier: ^0.17.5
- version: 0.17.5(@vueuse/core@10.9.0)
+ specifier: ^0.18.2
+ version: 0.18.2(@vueuse/core@11.0.1(vue@3.4.38(typescript@5.5.4)))(rollup@4.21.0)
unplugin-vue-components:
- specifier: ^0.27.0
- version: 0.27.0(vue@3.4.27)
+ specifier: ^0.27.3
+ version: 0.27.3(@babel/parser@7.25.3)(rollup@4.21.0)(vue@3.4.38(typescript@5.5.4))
vite-plugin-glsl:
specifier: ^1.2.1
- version: 1.3.0(vite@5.2.11)
+ version: 1.3.0(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
vite-plugin-qrcode:
specifier: ^0.2.3
- version: 0.2.3(vite@5.2.11)
+ version: 0.2.3(vite@5.4.1(@types/node@22.4.1))
vue-tsc:
- specifier: ^2.0.16
- version: 2.0.16(typescript@5.4.5)
+ specifier: ^2.0.28
+ version: 2.0.28(typescript@5.5.4)
packages:
- /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
+ '@algolia/autocomplete-core@1.9.3':
resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
- dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- - search-insights
- dev: true
- /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
+ '@algolia/autocomplete-plugin-algolia-insights@1.9.3':
resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
peerDependencies:
search-insights: '>= 1 < 3'
- dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
- search-insights: 2.13.0
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- dev: true
- /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
+ '@algolia/autocomplete-preset-algolia@1.9.3':
resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
- '@algolia/client-search': 4.23.3
- algoliasearch: 4.23.3
- dev: true
- /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
+ '@algolia/autocomplete-shared@1.9.3':
resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- dependencies:
- '@algolia/client-search': 4.23.3
- algoliasearch: 4.23.3
- dev: true
- /@algolia/cache-browser-local-storage@4.23.3:
- resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==}
- dependencies:
- '@algolia/cache-common': 4.23.3
- dev: true
+ '@algolia/cache-browser-local-storage@4.24.0':
+ resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==}
- /@algolia/cache-common@4.23.3:
- resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==}
- dev: true
+ '@algolia/cache-common@4.24.0':
+ resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==}
- /@algolia/cache-in-memory@4.23.3:
- resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==}
- dependencies:
- '@algolia/cache-common': 4.23.3
- dev: true
+ '@algolia/cache-in-memory@4.24.0':
+ resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==}
- /@algolia/client-account@4.23.3:
- resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==}
- dependencies:
- '@algolia/client-common': 4.23.3
- '@algolia/client-search': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/client-account@4.24.0':
+ resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==}
- /@algolia/client-analytics@4.23.3:
- resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==}
- dependencies:
- '@algolia/client-common': 4.23.3
- '@algolia/client-search': 4.23.3
- '@algolia/requester-common': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/client-analytics@4.24.0':
+ resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==}
- /@algolia/client-common@4.23.3:
- resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==}
- dependencies:
- '@algolia/requester-common': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/client-common@4.24.0':
+ resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==}
- /@algolia/client-personalization@4.23.3:
- resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==}
- dependencies:
- '@algolia/client-common': 4.23.3
- '@algolia/requester-common': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/client-common@5.0.2':
+ resolution: {integrity: sha512-wXZn4Ne+oFr1vaJuT2El5cbobm4sUgYqWiiWyy4QDr8AIoUfROtCkV7YhwZLzmZRBfn6ptPB5MB8ely7iFZXnw==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/client-search@4.23.3:
- resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==}
- dependencies:
- '@algolia/client-common': 4.23.3
- '@algolia/requester-common': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/client-personalization@4.24.0':
+ resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==}
- /@algolia/logger-common@4.23.3:
- resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==}
- dev: true
+ '@algolia/client-search@4.24.0':
+ resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==}
- /@algolia/logger-console@4.23.3:
- resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==}
- dependencies:
- '@algolia/logger-common': 4.23.3
- dev: true
+ '@algolia/client-search@5.0.2':
+ resolution: {integrity: sha512-dOAekvG7S85n1x3Nibc1UUADQCZpFXP7m/bYoxzIQe2+bGKAPa2zQ4s9E1H+qIDiWa7EzhVfwGlSxRi9S2SeVg==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/recommend@4.23.3:
- resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==}
- dependencies:
- '@algolia/cache-browser-local-storage': 4.23.3
- '@algolia/cache-common': 4.23.3
- '@algolia/cache-in-memory': 4.23.3
- '@algolia/client-common': 4.23.3
- '@algolia/client-search': 4.23.3
- '@algolia/logger-common': 4.23.3
- '@algolia/logger-console': 4.23.3
- '@algolia/requester-browser-xhr': 4.23.3
- '@algolia/requester-common': 4.23.3
- '@algolia/requester-node-http': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
+ '@algolia/logger-common@4.24.0':
+ resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==}
- /@algolia/requester-browser-xhr@4.23.3:
- resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==}
- dependencies:
- '@algolia/requester-common': 4.23.3
- dev: true
+ '@algolia/logger-console@4.24.0':
+ resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==}
- /@algolia/requester-common@4.23.3:
- resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==}
- dev: true
+ '@algolia/recommend@4.24.0':
+ resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==}
- /@algolia/requester-node-http@4.23.3:
- resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==}
- dependencies:
- '@algolia/requester-common': 4.23.3
- dev: true
+ '@algolia/requester-browser-xhr@4.24.0':
+ resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==}
- /@algolia/transporter@4.23.3:
- resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==}
- dependencies:
- '@algolia/cache-common': 4.23.3
- '@algolia/logger-common': 4.23.3
- '@algolia/requester-common': 4.23.3
- dev: true
+ '@algolia/requester-browser-xhr@5.0.2':
+ resolution: {integrity: sha512-GrLWa9jo+tqnieXtpdUMM6NHZV/bDbAJ8uBgyDF5PpaKtk44/3vQk8LVcKQsT3/nnVb/5T+AprNbJmIjsVaRqA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-common@4.24.0':
+ resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==}
+
+ '@algolia/requester-node-http@4.24.0':
+ resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==}
+
+ '@algolia/requester-node-http@5.0.2':
+ resolution: {integrity: sha512-6Kt1MQcdCyefs//ie3JtcDo/73QRwHoA1JX4J5t1yZp0W3J3o1QPb6mueFswJ+nHg+cVbSpbsL2xamtZ/rjj7w==}
+ engines: {node: '>= 14.0.0'}
- /@alvarosabu/utils@3.2.0:
+ '@algolia/transporter@4.24.0':
+ resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==}
+
+ '@alvarosabu/utils@3.2.0':
resolution: {integrity: sha512-aoGWRfaQjOo9TUwrBA6W0zwTHktgrXy69GIFNILT4gHsqscw6+X8P6uoSlZVQFr887SPm8x3aDin5EBVq8y4pw==}
- dev: false
- /@ampproject/remapping@2.3.0:
+ '@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
- /@antfu/eslint-config@2.18.0(@vue/compiler-sfc@3.4.27)(eslint-plugin-format@0.1.1)(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-aK9xjU8jnOfEO449A34wypCUiAz9S4/d0Tvup6FS7IsR3Y1xtF3KQI4OYYM2OqFLHEsRLrGAcE9FbUb+oC6EiA==}
+ '@antfu/eslint-config@2.22.2':
+ resolution: {integrity: sha512-LKC61Rm1VC0CduV4XAZzzEQ1nmTd+H4Y1rVvNg47MgcaCVGftUpY50MD2us3QCC+ktt3AAQYT9Kmbr/nsFW73g==}
hasBin: true
peerDependencies:
'@eslint-react/eslint-plugin': ^1.5.8
'@prettier/plugin-xml': ^3.4.1
'@unocss/eslint-plugin': '>=0.50.0'
- astro-eslint-parser: ^0.16.3
+ astro-eslint-parser: ^1.0.2
eslint: '>=8.40.0'
- eslint-plugin-astro: ^0.31.4
+ eslint-plugin-astro: ^1.2.0
eslint-plugin-format: '>=0.1.0'
eslint-plugin-react-hooks: ^4.6.0
eslint-plugin-react-refresh: ^0.4.4
@@ -343,7 +263,7 @@ packages:
eslint-plugin-svelte: '>=2.35.1'
prettier-plugin-astro: ^0.13.0
prettier-plugin-slidev: ^1.0.5
- svelte-eslint-parser: ^0.33.1
+ svelte-eslint-parser: '>=0.37.0'
peerDependenciesMeta:
'@eslint-react/eslint-plugin':
optional: true
@@ -371,419 +291,208 @@ packages:
optional: true
svelte-eslint-parser:
optional: true
- dependencies:
- '@antfu/install-pkg': 0.3.3
- '@clack/prompts': 0.7.0
- '@stylistic/eslint-plugin': 2.1.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0)(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
- eslint-config-flat-gitignore: 0.1.5
- eslint-flat-config-utils: 0.2.4
- eslint-merge-processors: 0.1.0(eslint@9.2.0)
- eslint-plugin-antfu: 2.2.0(eslint@9.2.0)
- eslint-plugin-command: 0.2.1(eslint@9.2.0)
- eslint-plugin-eslint-comments: 3.2.0(eslint@9.2.0)
- eslint-plugin-format: 0.1.1(eslint@9.2.0)
- eslint-plugin-import-x: 0.5.0(eslint@9.2.0)(typescript@5.4.5)
- eslint-plugin-jsdoc: 48.2.5(eslint@9.2.0)
- eslint-plugin-jsonc: 2.15.1(eslint@9.2.0)
- eslint-plugin-markdown: 5.0.0(eslint@9.2.0)
- eslint-plugin-n: 17.7.0(eslint@9.2.0)
- eslint-plugin-no-only-tests: 3.1.0
- eslint-plugin-perfectionist: 2.10.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2)
- eslint-plugin-regexp: 2.5.0(eslint@9.2.0)
- eslint-plugin-toml: 0.11.0(eslint@9.2.0)
- eslint-plugin-unicorn: 52.0.0(eslint@9.2.0)
- eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.9.0)(eslint@9.2.0)
- eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.9.0)(eslint@9.2.0)(typescript@5.4.5)
- eslint-plugin-vue: 9.26.0(eslint@9.2.0)
- eslint-plugin-yml: 1.14.0(eslint@9.2.0)
- eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)
- globals: 15.2.0
- jsonc-eslint-parser: 2.4.0
- local-pkg: 0.5.0
- parse-gitignore: 2.0.0
- picocolors: 1.0.0
- toml-eslint-parser: 0.9.3
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
- yaml-eslint-parser: 1.2.2
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@vue/compiler-sfc'
- - supports-color
- - svelte
- - typescript
- - vitest
- dev: true
- /@antfu/install-pkg@0.1.1:
+ '@antfu/install-pkg@0.1.1':
resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
- dependencies:
- execa: 5.1.1
- find-up: 5.0.0
- dev: true
- /@antfu/install-pkg@0.3.3:
+ '@antfu/install-pkg@0.3.3':
resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==}
- dependencies:
- '@jsdevtools/ez-spawn': 3.0.4
- dev: true
- /@antfu/utils@0.7.7:
- resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
- dev: true
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
- /@antfu/utils@0.7.8:
- resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==}
- dev: true
+ '@babel/code-frame@7.24.7':
+ resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
+ engines: {node: '>=6.9.0'}
- /@babel/code-frame@7.24.2:
- resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ '@babel/compat-data@7.25.2':
+ resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.5
- picocolors: 1.0.0
- dev: true
- /@babel/compat-data@7.24.4:
- resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
+ '@babel/core@7.25.2':
+ resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/core@7.24.5:
- resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
+ '@babel/generator@7.24.8':
+ resolution: {integrity: sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.5
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
- '@babel/helpers': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/generator@7.24.5:
- resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
+ '@babel/generator@7.25.0':
+ resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
- dev: true
- /@babel/helper-annotate-as-pure@7.22.5:
- resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ '@babel/helper-annotate-as-pure@7.24.7':
+ resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-compilation-targets@7.23.6:
- resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ '@babel/helper-compilation-targets@7.25.2':
+ resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.24.4
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.23.0
- lru-cache: 5.1.1
- semver: 6.3.1
- dev: true
- /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5):
- resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
+ '@babel/helper-create-class-features-plugin@7.24.8':
+ resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-member-expression-to-functions': 7.24.5
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/helper-split-export-declaration': 7.24.5
- semver: 6.3.1
- dev: true
- /@babel/helper-environment-visitor@7.22.20:
- resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ '@babel/helper-environment-visitor@7.24.7':
+ resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-function-name@7.23.0:
- resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ '@babel/helper-function-name@7.24.7':
+ resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-hoist-variables@7.22.5:
- resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ '@babel/helper-hoist-variables@7.24.7':
+ resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-member-expression-to-functions@7.24.5:
- resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
+ '@babel/helper-member-expression-to-functions@7.24.8':
+ resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-module-imports@7.24.3:
- resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
+ '@babel/helper-module-imports@7.24.7':
+ resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5):
- resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
+ '@babel/helper-module-transforms@7.24.8':
+ resolution: {integrity: sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.24.3
- '@babel/helper-simple-access': 7.24.5
- '@babel/helper-split-export-declaration': 7.24.5
- '@babel/helper-validator-identifier': 7.24.5
- dev: true
- /@babel/helper-optimise-call-expression@7.22.5:
- resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ '@babel/helper-module-transforms@7.25.2':
+ resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.24.7':
+ resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-plugin-utils@7.24.5:
- resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
+ '@babel/helper-plugin-utils@7.24.8':
+ resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5):
- resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
+ '@babel/helper-replace-supers@7.24.7':
+ resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-member-expression-to-functions': 7.24.5
- '@babel/helper-optimise-call-expression': 7.22.5
- dev: true
- /@babel/helper-simple-access@7.24.5:
- resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
+ '@babel/helper-simple-access@7.24.7':
+ resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
- resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
+ resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-split-export-declaration@7.24.5:
- resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
+ '@babel/helper-split-export-declaration@7.24.7':
+ resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-string-parser@7.24.1:
- resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
+ '@babel/helper-string-parser@7.24.8':
+ resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.24.5:
- resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
+ '@babel/helper-validator-identifier@7.24.7':
+ resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-option@7.23.5:
- resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ '@babel/helper-validator-option@7.24.8':
+ resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helpers@7.24.5:
- resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
+ '@babel/helpers@7.25.0':
+ resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/highlight@7.24.5:
- resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==}
+ '@babel/highlight@7.24.7':
+ resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.24.5
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.0
- dev: true
- /@babel/parser@7.24.5:
- resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
+ '@babel/parser@7.24.8':
+ resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==}
engines: {node: '>=6.0.0'}
hasBin: true
- dependencies:
- '@babel/types': 7.24.5
- /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5):
- resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
+ '@babel/parser@7.25.3':
+ resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-syntax-jsx@7.24.7':
+ resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
- dev: true
- /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5):
- resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
+ '@babel/plugin-syntax-typescript@7.24.7':
+ resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
- dev: true
- /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5):
- resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
+ '@babel/plugin-transform-modules-commonjs@7.24.8':
+ resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
- '@babel/helper-plugin-utils': 7.24.5
- '@babel/helper-simple-access': 7.24.5
- dev: true
- /@babel/plugin-transform-typescript@7.24.5(@babel/core@7.24.5):
- resolution: {integrity: sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==}
+ '@babel/plugin-transform-typescript@7.24.8':
+ resolution: {integrity: sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
- '@babel/helper-plugin-utils': 7.24.5
- '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
- dev: true
- /@babel/preset-typescript@7.24.1(@babel/core@7.24.5):
- resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
+ '@babel/preset-typescript@7.24.7':
+ resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
- '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
- '@babel/plugin-transform-typescript': 7.24.5(@babel/core@7.24.5)
- dev: true
- /@babel/template@7.24.0:
- resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
+ '@babel/template@7.24.7':
+ resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/parser': 7.24.5
- '@babel/types': 7.24.5
- dev: true
- /@babel/traverse@7.24.5:
- resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
+ '@babel/template@7.25.0':
+ resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-split-export-declaration': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/types': 7.24.5
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/types@7.24.5:
- resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
+ '@babel/traverse@7.24.8':
+ resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.25.3':
+ resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.24.8':
+ resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.25.2':
+ resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.24.1
- '@babel/helper-validator-identifier': 7.24.5
- to-fast-properties: 2.0.0
- /@clack/core@0.3.4:
+ '@clack/core@0.3.4':
resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==}
- dependencies:
- picocolors: 1.0.0
- sisteransi: 1.0.5
- dev: true
- /@clack/prompts@0.7.0:
+ '@clack/prompts@0.7.0':
resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==}
- dependencies:
- '@clack/core': 0.3.4
- picocolors: 1.0.0
- sisteransi: 1.0.5
- dev: true
bundledDependencies:
- is-unicode-supported
- /@docsearch/css@3.6.0:
- resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
- dev: true
+ '@docsearch/css@3.6.1':
+ resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==}
- /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
- resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
- dependencies:
- '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
- preact: 10.21.0
- transitivePeerDependencies:
- - '@algolia/client-search'
- - '@types/react'
- - react
- - react-dom
- - search-insights
- dev: true
+ '@docsearch/js@3.6.1':
+ resolution: {integrity: sha512-erI3RRZurDr1xES5hvYJ3Imp7jtrXj6f1xYIzDzxiS7nNBufYWPbJwrmMqWC5g9y165PmxEmN9pklGCdLi0Iqg==}
- /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
- resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
+ '@docsearch/react@3.6.1':
+ resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==}
peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0'
react: '>= 16.8.0 < 19.0.0'
@@ -798,626 +507,485 @@ packages:
optional: true
search-insights:
optional: true
- dependencies:
- '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
- '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
- '@docsearch/css': 3.6.0
- algoliasearch: 4.23.3
- search-insights: 2.13.0
- transitivePeerDependencies:
- - '@algolia/client-search'
- dev: true
- /@dprint/formatter@0.2.1:
- resolution: {integrity: sha512-GCzgRt2o4mhZLy8L47k2A+q9EMG/jWhzZebE29EqKsxmjDrSfv2VisEj/Q+39OOf04jTkEfB/TRO+IZSyxHdYg==}
- dev: true
+ '@dprint/formatter@0.3.0':
+ resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==}
- /@dprint/markdown@0.16.4:
- resolution: {integrity: sha512-WjsC4yLybR5/76+d/2s36nOBGjETe+jJR//ddFHohDXKdis+FTUv7dJ00kmd6g0AKQwDITayM1Nid10gFNG0Yg==}
- dev: true
+ '@dprint/markdown@0.17.1':
+ resolution: {integrity: sha512-Mk9C9tHHSScB3JOUd2PEP3keWnJZ8Kqcd99qaVhknzhxgZF/gGTx0CMyd+lpsIV+Moe+OtbRnqAjp+hKVtT1zQ==}
- /@dprint/toml@0.6.1:
- resolution: {integrity: sha512-1fmGui+BNLKNonG3fvjT+thtL8u0pL1GsIuRbhgRnP+UOkcfPgoUsgNFctDmOE13y6MX4TVvxXKKrMY/qwXqkA==}
- dev: true
+ '@dprint/toml@0.6.2':
+ resolution: {integrity: sha512-Mk5unEANsL/L+WHYU3NpDXt1ARU5bNU5k5OZELxaJodDycKG6RoRnSlZXpW6+7UN2PSnETAFVUdKrh937ZwtHA==}
- /@es-joy/jsdoccomment@0.43.0:
- resolution: {integrity: sha512-Q1CnsQrytI3TlCB1IVWXWeqUIPGVEKGaE7IbVdt13Nq/3i0JESAkQQERrfiQkmlpijl+++qyqPgaS31Bvc1jRQ==}
+ '@es-joy/jsdoccomment@0.43.1':
+ resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==}
+ engines: {node: '>=16'}
+
+ '@es-joy/jsdoccomment@0.46.0':
+ resolution: {integrity: sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==}
engines: {node: '>=16'}
- dependencies:
- '@types/eslint': 8.56.10
- '@types/estree': 1.0.5
- '@typescript-eslint/types': 7.8.0
- comment-parser: 1.4.1
- esquery: 1.5.0
- jsdoc-type-pratt-parser: 4.0.0
- dev: true
- /@esbuild/aix-ppc64@0.20.2:
- resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm64@0.20.2:
- resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ '@esbuild/aix-ppc64@0.23.0':
+ resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm@0.20.2:
- resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ '@esbuild/android-arm64@0.23.0':
+ resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-x64@0.20.2:
- resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ '@esbuild/android-arm@0.23.0':
+ resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-arm64@0.20.2:
- resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ '@esbuild/android-x64@0.23.0':
+ resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-x64@0.20.2:
- resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ '@esbuild/darwin-arm64@0.23.0':
+ resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-arm64@0.20.2:
- resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ '@esbuild/darwin-x64@0.23.0':
+ resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-x64@0.20.2:
- resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ '@esbuild/freebsd-arm64@0.23.0':
+ resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm64@0.20.2:
- resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ '@esbuild/freebsd-x64@0.23.0':
+ resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm@0.20.2:
- resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ '@esbuild/linux-arm64@0.23.0':
+ resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ia32@0.20.2:
- resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ '@esbuild/linux-arm@0.23.0':
+ resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-loong64@0.20.2:
- resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ '@esbuild/linux-ia32@0.23.0':
+ resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-mips64el@0.20.2:
- resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ '@esbuild/linux-loong64@0.23.0':
+ resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ppc64@0.20.2:
- resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ '@esbuild/linux-mips64el@0.23.0':
+ resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-riscv64@0.20.2:
- resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ '@esbuild/linux-ppc64@0.23.0':
+ resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-s390x@0.20.2:
- resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ '@esbuild/linux-riscv64@0.23.0':
+ resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-x64@0.20.2:
- resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ '@esbuild/linux-s390x@0.23.0':
+ resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/netbsd-x64@0.20.2:
- resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ '@esbuild/linux-x64@0.23.0':
+ resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/openbsd-x64@0.20.2:
- resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ '@esbuild/netbsd-x64@0.23.0':
+ resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.23.0':
+ resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/sunos-x64@0.20.2:
- resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ '@esbuild/openbsd-x64@0.23.0':
+ resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-arm64@0.20.2:
- resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ '@esbuild/sunos-x64@0.23.0':
+ resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-ia32@0.20.2:
- resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ '@esbuild/win32-arm64@0.23.0':
+ resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-x64@0.20.2:
- resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ '@esbuild/win32-ia32@0.23.0':
+ resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@9.2.0):
+ '@esbuild/win32-x64@0.23.0':
+ resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.4.0':
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 9.2.0
- eslint-visitor-keys: 3.4.3
- dev: true
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ '@eslint-community/regexpp@4.11.0':
+ resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@eslint/config-array@0.17.1':
+ resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- /@eslint/eslintrc@3.0.2:
- resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==}
+ '@eslint/eslintrc@3.1.0':
+ resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 10.0.1
- globals: 14.0.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@eslint/js@9.2.0:
- resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==}
+ '@eslint/js@9.9.0':
+ resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dev: true
- /@humanwhocodes/config-array@0.13.0:
- resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@eslint/object-schema@2.1.4':
+ resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- /@humanwhocodes/module-importer@1.0.1:
+ '@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- dev: true
- /@humanwhocodes/object-schema@2.0.3:
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- dev: true
-
- /@humanwhocodes/retry@0.2.4:
- resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==}
+ '@humanwhocodes/retry@0.3.0':
+ resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'}
- dev: true
- /@hutson/parse-repository-url@5.0.0:
+ '@hutson/parse-repository-url@5.0.0':
resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==}
engines: {node: '>=10.13.0'}
- dev: true
- /@iarna/toml@2.2.5:
+ '@iarna/toml@2.2.5':
resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
- dev: true
- /@iconify/types@2.0.0:
+ '@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- dev: true
- /@iconify/utils@2.1.23:
- resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
- dependencies:
- '@antfu/install-pkg': 0.1.1
- '@antfu/utils': 0.7.7
- '@iconify/types': 2.0.0
- debug: 4.3.4
- kolorist: 1.8.0
- local-pkg: 0.5.0
- mlly: 1.7.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@iconify/utils@2.1.29':
+ resolution: {integrity: sha512-wCcTsmlJvTi1VWBgcJ7HeuWlh7gLGWY7L9HmbgMfjOfsoo7DADemB2Nqnrw1KvCdEAxLL5wTMBAOP5BesFrtng==}
- /@inquirer/figures@1.0.1:
- resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==}
+ '@iconify/utils@2.1.30':
+ resolution: {integrity: sha512-bY0IO5xLOlbzJBnjWLxknp6Sss3yla03sVY9VeUz9nT6dbc+EGKlLfCt+6uytJnWm5CUvTF/BNotsLWF7kI61A==}
+
+ '@inquirer/figures@1.0.3':
+ resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==}
engines: {node: '>=18'}
- dev: true
- /@jridgewell/gen-mapping@0.3.5:
+ '@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
- /@jridgewell/resolve-uri@3.1.2:
+ '@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- dev: true
- /@jridgewell/set-array@1.2.1:
+ '@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- dev: true
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
- /@jridgewell/trace-mapping@0.3.25:
+ '@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
- /@jsdevtools/ez-spawn@3.0.4:
+ '@jsdevtools/ez-spawn@3.0.4':
resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==}
engines: {node: '>=10'}
- dependencies:
- call-me-maybe: 1.0.2
- cross-spawn: 7.0.3
- string-argv: 0.3.2
- type-detect: 4.0.8
- dev: true
-
- /@ljharb/through@2.3.13:
- resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- dev: true
- /@microsoft/api-extractor-model@7.28.13(@types/node@20.12.10):
- resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==}
- dependencies:
- '@microsoft/tsdoc': 0.14.2
- '@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10)
- transitivePeerDependencies:
- - '@types/node'
- dev: true
+ '@microsoft/api-extractor-model@7.29.4':
+ resolution: {integrity: sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw==}
- /@microsoft/api-extractor@7.43.0(@types/node@20.12.10):
- resolution: {integrity: sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==}
+ '@microsoft/api-extractor@7.47.4':
+ resolution: {integrity: sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg==}
hasBin: true
- dependencies:
- '@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.10)
- '@microsoft/tsdoc': 0.14.2
- '@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10)
- '@rushstack/rig-package': 0.5.2
- '@rushstack/terminal': 0.10.0(@types/node@20.12.10)
- '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10)
- lodash: 4.17.21
- minimatch: 3.0.8
- resolve: 1.22.8
- semver: 7.5.4
- source-map: 0.6.1
- typescript: 5.4.2
- transitivePeerDependencies:
- - '@types/node'
- dev: true
- /@microsoft/tsdoc-config@0.16.2:
- resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
- dependencies:
- '@microsoft/tsdoc': 0.14.2
- ajv: 6.12.6
- jju: 1.4.0
- resolve: 1.19.0
- dev: true
+ '@microsoft/tsdoc-config@0.17.0':
+ resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==}
- /@microsoft/tsdoc@0.14.2:
- resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
- dev: true
+ '@microsoft/tsdoc@0.15.0':
+ resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==}
- /@nodelib/fs.scandir@2.1.5:
+ '@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
- /@nodelib/fs.stat@2.0.5:
+ '@nodelib/fs.stat@2.0.5':
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
- dev: true
- /@nodelib/fs.walk@1.2.8:
+ '@nodelib/fs.walk@1.2.8':
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
- dev: true
- /@octokit/auth-token@4.0.0:
+ '@octokit/auth-token@4.0.0':
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
engines: {node: '>= 18'}
- dev: true
- /@octokit/core@5.2.0:
+ '@octokit/core@5.2.0':
resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/auth-token': 4.0.0
- '@octokit/graphql': 7.1.0
- '@octokit/request': 8.4.0
- '@octokit/request-error': 5.1.0
- '@octokit/types': 13.5.0
- before-after-hook: 2.2.3
- universal-user-agent: 6.0.1
- dev: true
- /@octokit/endpoint@9.0.5:
+ '@octokit/endpoint@9.0.5':
resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/types': 13.5.0
- universal-user-agent: 6.0.1
- dev: true
- /@octokit/graphql@7.1.0:
+ '@octokit/graphql@7.1.0':
resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/request': 8.4.0
- '@octokit/types': 13.5.0
- universal-user-agent: 6.0.1
- dev: true
- /@octokit/openapi-types@20.0.0:
- resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==}
- dev: true
-
- /@octokit/openapi-types@22.2.0:
+ '@octokit/openapi-types@22.2.0':
resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==}
- dev: true
- /@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.2.0):
- resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==}
+ '@octokit/plugin-paginate-rest@11.3.1':
+ resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '5'
- dependencies:
- '@octokit/core': 5.2.0
- '@octokit/types': 12.6.0
- dev: true
- /@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0):
+ '@octokit/plugin-request-log@4.0.1':
resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '5'
- dependencies:
- '@octokit/core': 5.2.0
- dev: true
- /@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.2.0):
- resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==}
+ '@octokit/plugin-rest-endpoint-methods@13.2.2':
+ resolution: {integrity: sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==}
engines: {node: '>= 18'}
peerDependencies:
- '@octokit/core': '5'
- dependencies:
- '@octokit/core': 5.2.0
- '@octokit/types': 12.6.0
- dev: true
+ '@octokit/core': ^5
- /@octokit/request-error@5.1.0:
+ '@octokit/request-error@5.1.0':
resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/types': 13.5.0
- deprecation: 2.3.1
- once: 1.4.0
- dev: true
- /@octokit/request@8.4.0:
+ '@octokit/request@8.4.0':
resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/endpoint': 9.0.5
- '@octokit/request-error': 5.1.0
- '@octokit/types': 13.5.0
- universal-user-agent: 6.0.1
- dev: true
- /@octokit/rest@20.1.0:
- resolution: {integrity: sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==}
+ '@octokit/rest@20.1.1':
+ resolution: {integrity: sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==}
engines: {node: '>= 18'}
- dependencies:
- '@octokit/core': 5.2.0
- '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.2.0)
- '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0)
- '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.2.0)
- dev: true
-
- /@octokit/types@12.6.0:
- resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==}
- dependencies:
- '@octokit/openapi-types': 20.0.0
- dev: true
- /@octokit/types@13.5.0:
+ '@octokit/types@13.5.0':
resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==}
- dependencies:
- '@octokit/openapi-types': 22.2.0
- dev: true
- /@pkgr/core@0.1.1:
+ '@pkgr/core@0.1.1':
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- dev: true
- /@pnpm/config.env-replace@1.1.0:
+ '@pnpm/config.env-replace@1.1.0':
resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
engines: {node: '>=12.22.0'}
- dev: true
- /@pnpm/network.ca-file@1.0.2:
+ '@pnpm/network.ca-file@1.0.2':
resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
engines: {node: '>=12.22.0'}
- dependencies:
- graceful-fs: 4.2.10
- dev: true
- /@pnpm/npm-conf@2.2.2:
+ '@pnpm/npm-conf@2.2.2':
resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==}
engines: {node: '>=12'}
- dependencies:
- '@pnpm/config.env-replace': 1.1.0
- '@pnpm/network.ca-file': 1.0.2
- config-chain: 1.1.13
- dev: true
- /@polka/url@1.0.0-next.25:
+ '@polka/url@1.0.0-next.25':
resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
- dev: true
- /@release-it/conventional-changelog@8.0.1(release-it@17.2.1):
+ '@release-it/conventional-changelog@8.0.1':
resolution: {integrity: sha512-pwc9jaBYDaSX5TXw6rEnPfqDkKJN2sFBhYpON1kBi9T3sA9EOBncC4ed0Bv3L1ciNb6eqEJXPfp+tQMqVlv/eg==}
engines: {node: '>=18'}
peerDependencies:
release-it: ^17.0.0
- dependencies:
- concat-stream: 2.0.0
- conventional-changelog: 5.1.0
- conventional-recommended-bump: 9.0.0
- release-it: 17.2.1(typescript@5.4.5)
- semver: 7.6.0
- dev: true
- /@rollup/pluginutils@5.1.0:
+ '@rollup/pluginutils@5.1.0':
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1425,1429 +993,5755 @@ packages:
peerDependenciesMeta:
rollup:
optional: true
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
- /@rollup/rollup-android-arm-eabi@4.17.2:
- resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
+ '@rollup/rollup-android-arm-eabi@4.20.0':
+ resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm-eabi@4.21.0':
+ resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==}
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-android-arm64@4.17.2:
- resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
+ '@rollup/rollup-android-arm64@4.20.0':
+ resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.21.0':
+ resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==}
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-arm64@4.17.2:
- resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
+ '@rollup/rollup-darwin-arm64@4.20.0':
+ resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-arm64@4.21.0':
+ resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==}
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-x64@4.17.2:
- resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
+ '@rollup/rollup-darwin-x64@4.20.0':
+ resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.21.0':
+ resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==}
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.17.2:
- resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.20.0':
+ resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm-musleabihf@4.17.2:
- resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
+ resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.20.0':
+ resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.21.0':
+ resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-gnu@4.17.2:
- resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
+ '@rollup/rollup-linux-arm64-gnu@4.20.0':
+ resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-musl@4.17.2:
- resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
+ '@rollup/rollup-linux-arm64-gnu@4.21.0':
+ resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.20.0':
+ resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.21.0':
+ resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
- resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
+ '@rollup/rollup-linux-powerpc64le-gnu@4.20.0':
+ resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
+ resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==}
cpu: [ppc64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.17.2:
- resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
+ '@rollup/rollup-linux-riscv64-gnu@4.20.0':
+ resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.21.0':
+ resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==}
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-s390x-gnu@4.17.2:
- resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
+ '@rollup/rollup-linux-s390x-gnu@4.20.0':
+ resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.21.0':
+ resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==}
cpu: [s390x]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-gnu@4.17.2:
- resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
+ '@rollup/rollup-linux-x64-gnu@4.20.0':
+ resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-musl@4.17.2:
- resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
+ '@rollup/rollup-linux-x64-gnu@4.21.0':
+ resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.20.0':
+ resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.21.0':
+ resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-arm64-msvc@4.17.2:
- resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
+ '@rollup/rollup-win32-arm64-msvc@4.20.0':
+ resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-arm64-msvc@4.21.0':
+ resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==}
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-ia32-msvc@4.17.2:
- resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
+ '@rollup/rollup-win32-ia32-msvc@4.20.0':
+ resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.21.0':
+ resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==}
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-x64-msvc@4.17.2:
- resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
+ '@rollup/rollup-win32-x64-msvc@4.20.0':
+ resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.21.0':
+ resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==}
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rushstack/node-core-library@4.0.2(@types/node@20.12.10):
- resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==}
+ '@rtsao/scc@1.1.0':
+ resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+
+ '@rushstack/node-core-library@5.5.1':
+ resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==}
peerDependencies:
'@types/node': '*'
peerDependenciesMeta:
'@types/node':
optional: true
- dependencies:
- '@types/node': 20.12.10
- fs-extra: 7.0.1
- import-lazy: 4.0.0
- jju: 1.4.0
- resolve: 1.22.8
- semver: 7.5.4
- z-schema: 5.0.5
- dev: true
- /@rushstack/rig-package@0.5.2:
- resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==}
- dependencies:
- resolve: 1.22.8
- strip-json-comments: 3.1.1
- dev: true
+ '@rushstack/rig-package@0.5.3':
+ resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==}
- /@rushstack/terminal@0.10.0(@types/node@20.12.10):
- resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==}
+ '@rushstack/terminal@0.13.3':
+ resolution: {integrity: sha512-fc3zjXOw8E0pXS5t9vTiIPx9gHA0fIdTXsu9mT4WbH+P3mYvnrX0iAQ5a6NvyK1+CqYWBTw/wVNx7SDJkI+WYQ==}
peerDependencies:
'@types/node': '*'
peerDependenciesMeta:
'@types/node':
optional: true
- dependencies:
- '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10)
- '@types/node': 20.12.10
- supports-color: 8.1.1
- dev: true
- /@rushstack/ts-command-line@4.19.1(@types/node@20.12.10):
- resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==}
- dependencies:
- '@rushstack/terminal': 0.10.0(@types/node@20.12.10)
- '@types/argparse': 1.0.38
- argparse: 1.0.10
- string-argv: 0.3.2
- transitivePeerDependencies:
- - '@types/node'
- dev: true
+ '@rushstack/ts-command-line@4.22.3':
+ resolution: {integrity: sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA==}
- /@shikijs/core@1.4.0:
- resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==}
- dev: true
+ '@shikijs/core@1.14.1':
+ resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==}
- /@shikijs/transformers@1.4.0:
- resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==}
- dependencies:
- shiki: 1.4.0
- dev: true
+ '@shikijs/transformers@1.14.1':
+ resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==}
- /@sindresorhus/is@5.6.0:
+ '@sindresorhus/is@5.6.0':
resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
engines: {node: '>=14.16'}
- dev: true
- /@sindresorhus/merge-streams@2.3.0:
+ '@sindresorhus/merge-streams@2.3.0':
resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
engines: {node: '>=18'}
- dev: true
- /@stylistic/eslint-plugin-js@2.1.0(eslint@9.2.0):
- resolution: {integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==}
+ '@stylistic/eslint-plugin-js@2.6.0-beta.0':
+ resolution: {integrity: sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- dependencies:
- '@types/eslint': 8.56.10
- acorn: 8.11.3
- eslint: 9.2.0
- eslint-visitor-keys: 4.0.0
- espree: 10.0.1
- dev: true
- /@stylistic/eslint-plugin-jsx@2.1.0(eslint@9.2.0):
- resolution: {integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==}
+ '@stylistic/eslint-plugin-jsx@2.6.0-beta.0':
+ resolution: {integrity: sha512-TOimEpr3vndXHRhuQ5gMqmJv1SBlFI3poIJzyeNMmXi3NWVHoPxfd4QAJHGNJe5G3EO2NAXGf2H7nl8gY5QaZA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- dependencies:
- '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0)
- '@types/eslint': 8.56.10
- eslint: 9.2.0
- estraverse: 5.3.0
- picomatch: 4.0.2
- dev: true
- /@stylistic/eslint-plugin-plus@2.1.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==}
+ '@stylistic/eslint-plugin-plus@2.6.0-beta.0':
+ resolution: {integrity: sha512-Wp+e4sTbFq0Uk5ncU3PETYfg1IcCZ1KycdlqFYXIA7/bgcieeShXouXUcA+S/S5+gWLXGuVJ12IxNzY8yfe4IA==}
peerDependencies:
eslint: '*'
- dependencies:
- '@types/eslint': 8.56.10
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
- /@stylistic/eslint-plugin-ts@2.1.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==}
+ '@stylistic/eslint-plugin-ts@2.6.0-beta.0':
+ resolution: {integrity: sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- dependencies:
- '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0)
- '@types/eslint': 8.56.10
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
- /@stylistic/eslint-plugin@2.1.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==}
+ '@stylistic/eslint-plugin@2.6.0-beta.0':
+ resolution: {integrity: sha512-1NJy1iIDSFC4gelDJ82VMTq9J32tNvQ9k1lnxOsipZ0YQB826U5zGLiH37QAM8dRfNY6yeYhjlrUVtZUxFR19w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- dependencies:
- '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0)
- '@stylistic/eslint-plugin-jsx': 2.1.0(eslint@9.2.0)
- '@stylistic/eslint-plugin-plus': 2.1.0(eslint@9.2.0)(typescript@5.4.5)
- '@stylistic/eslint-plugin-ts': 2.1.0(eslint@9.2.0)(typescript@5.4.5)
- '@types/eslint': 8.56.10
- eslint: 9.2.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
- /@szmarczak/http-timer@5.0.1:
+ '@szmarczak/http-timer@5.0.1':
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
- dependencies:
- defer-to-connect: 2.0.1
- dev: true
- /@tootallnate/quickjs-emscripten@0.23.0:
+ '@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
- dev: true
- /@tresjs/core@3.9.0(three@0.164.1)(vue@3.4.27):
- resolution: {integrity: sha512-6el70oXSduTvSA3XCI8/rQV2GzcgCLceZKA443CTU/MBPmRDULJ12q/UYl18Ij4CJ68rTqgVi0Da+WNMrs784A==}
+ '@tresjs/core@4.2.2':
+ resolution: {integrity: sha512-CpNrICgqg9jGCrNMjWv+W2mNWChzbukA7hPi9D16YaQDNEzUFuc0fFwGVA5wLEigtEWcEJfQvkYiyEQ1uGcyjg==}
peerDependencies:
three: '>=0.133'
- vue: '>=3.3'
- dependencies:
- '@alvarosabu/utils': 3.2.0
- '@vue/devtools-api': 6.6.1
- '@vueuse/core': 10.9.0(vue@3.4.27)
- three: 0.164.1
- vue: 3.4.27(typescript@5.4.5)
- transitivePeerDependencies:
- - '@vue/composition-api'
- dev: false
+ vue: '>=3.4'
+
+ '@tresjs/core@4.2.7':
+ resolution: {integrity: sha512-xHDkR+TTtJjB5Bs4UGQ3NzdheAQ+DXfwyXRRfOxgB9FfV9PwM2K5rWrByLcZNF98uZ8tMoEsjE4pWAi9G0VdFw==}
+ peerDependencies:
+ three: '>=0.133'
+ vue: '>=3.4'
- /@tresjs/eslint-config@1.1.0(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)(typescript@5.4.5):
+ '@tresjs/eslint-config@1.1.0':
resolution: {integrity: sha512-Iyxqj1MMLC6TnFxFG9UtPkJgxOWqxF2gJfuMvHF/oRpQQKrMNlPUqJdV6ieQoGjLVTfudnHOSYv9Sl96zZSgfA==}
peerDependencies:
eslint: 9.x
- dependencies:
- '@antfu/eslint-config': 2.18.0(@vue/compiler-sfc@3.4.27)(eslint-plugin-format@0.1.1)(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
- eslint-plugin-format: 0.1.1(eslint@9.2.0)
- transitivePeerDependencies:
- - '@eslint-react/eslint-plugin'
- - '@prettier/plugin-xml'
- - '@unocss/eslint-plugin'
- - '@vue/compiler-sfc'
- - astro-eslint-parser
- - eslint-plugin-astro
- - eslint-plugin-react-hooks
- - eslint-plugin-react-refresh
- - eslint-plugin-solid
- - eslint-plugin-svelte
- - prettier-plugin-astro
- - prettier-plugin-slidev
- - supports-color
- - svelte
- - svelte-eslint-parser
- - typescript
- - vitest
- dev: true
- /@tresjs/leches@0.14.0(vite@5.2.11)(vue@3.4.27):
+ '@tresjs/leches@0.14.0':
resolution: {integrity: sha512-X/UIeldHkx9RZdLuwGh/0XN8uM5JDOjIZH0tUodmXb+AEO/97F90FgSuRyl+xyTTOekh+z3VFavkWpoRS64KVw==}
peerDependencies:
vue: '>=3.3.4'
- dependencies:
- '@unocss/core': 0.57.7
- '@vueuse/components': 10.9.0(vue@3.4.27)
- vite-plugin-css-injected-by-js: 3.5.1(vite@5.2.11)
- vue: 3.4.27(typescript@5.4.5)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vite
- dev: true
- /@trysound/sax@0.2.0:
+ '@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
- dev: true
- /@tweakpane/core@1.1.9:
- resolution: {integrity: sha512-9tq+KAhaqPiOgsFyLPAz1IMXkVfhRqxGzAgy1ps3As6o3W7XjnU7sev6OlD/Z+Pzw8uZVMukkSHf2e0uCU6u0A==}
- dev: true
-
- /@tweenjs/tween.js@23.1.2:
+ '@tweenjs/tween.js@23.1.2':
resolution: {integrity: sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ==}
- /@types/argparse@1.0.38:
+ '@tweenjs/tween.js@23.1.3':
+ resolution: {integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==}
+
+ '@types/argparse@1.0.38':
resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
- dev: true
- /@types/draco3d@1.4.9:
- resolution: {integrity: sha512-4MMUjMQb4yA5fJ4osXx+QxGHt0/ZSy4spT6jL1HM7Tn8OJEC35siqdnpOo+HxPhYjqEFumKfGVF9hJfdyKBIBA==}
- dev: false
+ '@types/draco3d@1.4.10':
+ resolution: {integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==}
- /@types/eslint@8.56.10:
+ '@types/eslint@8.56.10':
resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/json-schema': 7.0.15
- dev: true
- /@types/estree@1.0.5:
+ '@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
- /@types/http-cache-semantics@4.0.4:
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
- dev: true
- /@types/json-schema@7.0.15:
+ '@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- dev: true
- /@types/linkify-it@5.0.0:
+ '@types/linkify-it@5.0.0':
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
- dev: true
- /@types/markdown-it@14.1.1:
- resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==}
- dependencies:
- '@types/linkify-it': 5.0.0
- '@types/mdurl': 2.0.0
- dev: true
+ '@types/markdown-it@14.1.2':
+ resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
- /@types/mdast@3.0.15:
+ '@types/mdast@3.0.15':
resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
- /@types/mdurl@2.0.0:
+ '@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
- dev: true
- /@types/node@20.12.10:
- resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==}
- dependencies:
- undici-types: 5.26.5
- dev: true
+ '@types/node@22.4.1':
+ resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==}
- /@types/normalize-package-data@2.4.4:
+ '@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
- dev: true
- /@types/offscreencanvas@2019.7.3:
+ '@types/offscreencanvas@2019.7.3':
resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
- dev: false
- /@types/semver@7.5.8:
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
- dev: true
-
- /@types/stats.js@0.17.3:
+ '@types/stats.js@0.17.3':
resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
- /@types/three@0.163.0:
+ '@types/three@0.163.0':
resolution: {integrity: sha512-uIdDhsXRpQiBUkflBS/i1l3JX14fW6Ot9csed60nfbZNXHDTRsnV2xnTVwXcgbvTiboAR4IW+t+lTL5f1rqIqA==}
- dependencies:
- '@tweenjs/tween.js': 23.1.2
- '@types/stats.js': 0.17.3
- '@types/webxr': 0.5.16
- fflate: 0.8.2
- meshoptimizer: 0.18.1
- dev: false
- /@types/three@0.164.0:
- resolution: {integrity: sha512-SFDofn9dJVrE+1DKta7xj7lc4ru7B3S3yf10NsxOserW57aQlB6GxtAS1UK5To3LfEMN5HUHMu3n5v+M5rApgA==}
- dependencies:
- '@tweenjs/tween.js': 23.1.2
- '@types/stats.js': 0.17.3
- '@types/webxr': 0.5.16
- fflate: 0.8.2
- meshoptimizer: 0.18.1
- dev: true
+ '@types/three@0.167.1':
+ resolution: {integrity: sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==}
- /@types/unist@2.0.10:
+ '@types/unist@2.0.10':
resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
- dev: true
- /@types/web-bluetooth@0.0.20:
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
- /@types/webxr@0.5.16:
- resolution: {integrity: sha512-0E0Cl84FECtzrB4qG19TNTqpunw0F1YF0QZZnFMF6pDw1kNKJtrlTKlVB34stGIsHbZsYQ7H0tNjPfZftkHHoA==}
+ '@types/webxr@0.5.19':
+ resolution: {integrity: sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==}
- /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/eslint-plugin@8.0.0-alpha.40':
+ resolution: {integrity: sha512-yku4NjpP0UujYq8d1GWXYELpKYwuoESSgvXPd9uAiO24OszGxQhPsGWTe4fmZV05J47qILfaGANO9SCa9fEU0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
+ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/scope-manager': 7.8.0
- '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.8.0
- debug: 4.3.4
- eslint: 9.2.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0)(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/eslint-plugin@8.2.0':
+ resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
+ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/scope-manager': 7.9.0
- '@typescript-eslint/type-utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.9.0
- eslint: 9.2.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/parser@8.0.0-alpha.40':
+ resolution: {integrity: sha512-cjIgiaxmGtjlA6rRSs0Gsh0mWR08kPv1W+HsrZcuFwWxoGavBZPKtNctXND0NVf6MgSKyIcd4AHqBwE0htp5uw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 7.8.0
- '@typescript-eslint/types': 7.8.0
- '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.8.0
- debug: 4.3.4
- eslint: 9.2.0
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/parser@8.2.0':
+ resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 7.9.0
- '@typescript-eslint/types': 7.9.0
- '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.9.0
- debug: 4.3.4
- eslint: 9.2.0
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/scope-manager@7.8.0:
- resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
+ '@typescript-eslint/scope-manager@7.18.0':
+ resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
engines: {node: ^18.18.0 || >=20.0.0}
- dependencies:
- '@typescript-eslint/types': 7.8.0
- '@typescript-eslint/visitor-keys': 7.8.0
- dev: true
- /@typescript-eslint/scope-manager@7.9.0:
- resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
+ '@typescript-eslint/scope-manager@8.0.0-alpha.40':
+ resolution: {integrity: sha512-KQL502sCGZW+dYvxIzF6rEozbgppN0mBkYV6kT8ciY5OtFIRlLDTP7NdVAMMDk7q35T7Ad8negaQ9AGpZ8+Y5w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/scope-manager@8.2.0':
+ resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/type-utils@8.0.0-alpha.40':
+ resolution: {integrity: sha512-/Aynkgxy3x22i6Zxy73MR/r0y1OELOMC9Atn7MO97NsjBOrQQYJHi/UEklZ423aB8SCkYH34lO6EAzXX/lIN3g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/type-utils@8.2.0':
+ resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/types@7.18.0':
+ resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
engines: {node: ^18.18.0 || >=20.0.0}
- dependencies:
- '@typescript-eslint/types': 7.9.0
- '@typescript-eslint/visitor-keys': 7.9.0
- dev: true
- /@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==}
+ '@typescript-eslint/types@8.0.0-alpha.40':
+ resolution: {integrity: sha512-44mUq4VZVydxNlOM8Xtp/BXDkyfuvvjgPIBf7vRQDutrLDeNS0pJ9pcSloSbop5MwKLfJjBU+PbwnJPQM+DWNg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/types@8.2.0':
+ resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@7.18.0':
+ resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- debug: 4.3.4
- eslint: 9.2.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/type-utils@7.9.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/typescript-estree@8.0.0-alpha.40':
+ resolution: {integrity: sha512-bz1rX5GXvGdx686FghDxPqGwgntlseZCQSRrVGDDOZlLSoWJnbfkzxXGOWch9c3ttcGkdFy/DiCyKKga3hrq0g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
- '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5)
- debug: 4.3.4
- eslint: 9.2.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@typescript-eslint/types@7.8.0:
- resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- dev: true
+ '@typescript-eslint/typescript-estree@8.2.0':
+ resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- /@typescript-eslint/types@7.9.0:
- resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
+ '@typescript-eslint/utils@7.18.0':
+ resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
engines: {node: ^18.18.0 || >=20.0.0}
- dev: true
+ peerDependencies:
+ eslint: ^8.56.0
+
+ '@typescript-eslint/utils@8.0.0-alpha.40':
+ resolution: {integrity: sha512-ijxO1Hs3YWveuWK+Vbt25D05Q41UeK08JwEJbWTzV38LmkdCBktQd7X1sTw4W9Qku692HWuHgesZf6OhC8t3aA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+ '@typescript-eslint/utils@8.2.0':
+ resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
- /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5):
- resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
+ '@typescript-eslint/visitor-keys@7.18.0':
+ resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/visitor-keys@8.0.0-alpha.40':
+ resolution: {integrity: sha512-y1stojSPb5D3M8VlGGpaiBU5XxGLe+sPuW0YbLe09Lxvo4AwKGvhAr5lhqJZo4z6qHNz385+6+BS63+qIQdYLw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/visitor-keys@8.2.0':
+ resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@unocss/astro@0.61.8':
+ resolution: {integrity: sha512-79xWWbi5bPWTnL7NLH2bHzRF3RSdPkEAE85BpgxYn9uXfLkv+QEdmMVY9FJsaiIjwoDZodoTMVR7pJPMq7EXlA==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ '@unocss/astro@0.62.2':
+ resolution: {integrity: sha512-RUPGmbNEyfbBOuS22PC23Dy9gmNBQHpLCmpuj6ehr6UcKeRy3xOwlbJDnCv08Vfd3mp3n45Va24wTK/yM6I1YQ==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ '@unocss/cli@0.61.8':
+ resolution: {integrity: sha512-e+eQIoMAUcf+hXvHpARz3eAvjlDFcDUmRyoGHHfGyW9ko8ANKJZmyLyzjIHco7Ncg68rGqU/fZUMRYSMTZFulw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ '@unocss/cli@0.62.2':
+ resolution: {integrity: sha512-M1Itw4CVTnoBS1rTLYZvEV5lhq3r711Dwes4GlCHmCwuwEJcp7b83Saim2x6+h1BZbMY3CxgendGNQAIJ9rHkw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ '@unocss/config@0.61.8':
+ resolution: {integrity: sha512-q+QlX+X4kkKwOWCR+CEWzMdLJhC+m+MsbL7BI+KNE25ntoDTVEaN2AhC8T4lznlPc04ykKl/U8VxVCju9m0Y/A==}
+ engines: {node: '>=14'}
+
+ '@unocss/config@0.62.2':
+ resolution: {integrity: sha512-TgWhO0hkTADnuSgcUZvFP3i4AVpaiMvr41hhQqCPQTaiLMRrroXFnqL33cpkEbHLIfbTh74pXrDxnzMLaEKVdQ==}
+ engines: {node: '>=14'}
+
+ '@unocss/core@0.57.7':
+ resolution: {integrity: sha512-1d36M0CV3yC80J0pqOa5rH1BX6g2iZdtKmIb3oSBN4AWnMCSrrJEPBrUikyMq2TEQTrYWJIVDzv5A9hBUat3TA==}
+
+ '@unocss/core@0.61.8':
+ resolution: {integrity: sha512-WFCJVGrhyNyF5i2SBTO3vR9HE+hMi7aP+e3VpAkveiqoCh3QBm2AeoEGUGpBPTLTZpb7AhcqOkRPiPeYk3+z+A==}
+
+ '@unocss/core@0.62.2':
+ resolution: {integrity: sha512-86jEFUJ/PSwdb1qqiEi0lWlewfKLQwiH+JAfnh8c2hLjOPVmCkb0nnsYSMh8drmtN5kpk6E06mN0IrKMO7OnvQ==}
+
+ '@unocss/extractor-arbitrary-variants@0.61.8':
+ resolution: {integrity: sha512-4vFExQhUBNWtrZS7jOYJrX9VzNLE6ynUFK+W1E5NJpozQqHbzFvbNYT5KC6+IMzmWPQQswd2ktMuDQwL+C1Qpg==}
+
+ '@unocss/extractor-arbitrary-variants@0.62.2':
+ resolution: {integrity: sha512-k0+QifbKe3Wp6dznQIhn1bQ/shR8yMk1ypfWQFOAr0ylXXlKMXFxfpRyxH3awbTDRBpi/SxIIaBTAzflGxBSgg==}
+
+ '@unocss/inspector@0.61.8':
+ resolution: {integrity: sha512-e6xuMkJB3CHp/fr6uzU3lJjkvhQiMmiiwIDhWnDDZV7VMNbvqlULijhEwu4A1Y/SKAsSMQMqLGioND7W9xZuvA==}
+
+ '@unocss/inspector@0.62.2':
+ resolution: {integrity: sha512-P2J8xx4MeB8VHCwjick+PzMyLPKvUNZBuUxuFVhh3xpMsbGlvSIKMH4PRCriwWih+7wqHlrI+fv1gAjoiGHe3Q==}
+
+ '@unocss/postcss@0.61.8':
+ resolution: {integrity: sha512-0ZIIwLXBQv5cLOXDHJfN+VaJkZlh18i7dzG5+wI1FlGEYBckL7/4oeV4MJX0NAV7l03AzMEbChsIv+MMPZEGOQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ '@unocss/postcss@0.62.2':
+ resolution: {integrity: sha512-x0vSz1l2eWpkfqLPcAO0kO36oKcMqtC6JmmM2tRB9WSxiz6xu9qHibfj6VXLe+KqggvFRnKObok4Fr1GIe0Srw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ '@unocss/preset-attributify@0.61.8':
+ resolution: {integrity: sha512-p0eo9m1UfUw0O1usBsYDRQErjpvPKwHpuBlJc+No4zXz5b+0+hCFg1QuzT9fqpAZh1YfqJUNeLhu02Mao0cPOg==}
+
+ '@unocss/preset-attributify@0.62.2':
+ resolution: {integrity: sha512-QBxm62Lq6O7pN47TBD25LrH6CXZGDyTORguKL+IvIxuf8/VTEwwLl1z9FJ10u+kTwHX11RDnAF7KmZsTpcezgA==}
+
+ '@unocss/preset-icons@0.61.8':
+ resolution: {integrity: sha512-dOMtDCVCQJgMas8gjAXeE0AtzfUJlvpdqFDmoScf66N8pmWFkcWa1VWW3uUtUJjirjWRn0OVW7fpMvMcwbmSxg==}
+
+ '@unocss/preset-icons@0.62.2':
+ resolution: {integrity: sha512-cj5fhhgyMK2Wio2nsR4hJuorRtqrgeX8sApffCRxpdKb/rg0De7IzXlTRQvAivFingRLXxwMKcpR4hgw/kw/pA==}
+
+ '@unocss/preset-mini@0.61.8':
+ resolution: {integrity: sha512-woLvWUn9hgR8+UOk9KGA7bjIFq2WrGgw5KyYnA0uZ27yFtwkvaAq3FZ7voKF5mdNnhepnDL8mw8IgnaQnDRiAg==}
+
+ '@unocss/preset-mini@0.62.2':
+ resolution: {integrity: sha512-NeyYGwGCmMbjzMMhQGzn4qk74LYIsLM4zpQru2Krt1snw1DgVpp3iV8hCWIH4y0Y+ud+K5SUFMAvIe18vq2OQw==}
+
+ '@unocss/preset-tagify@0.61.8':
+ resolution: {integrity: sha512-zcXfc/WYayrWU1fksSQQhcKC/HeW9pDZYfAgYbXBf2oliNkEcI1uvtDtXBTiGOpPad738oagF4BSd6Qs698ESA==}
+
+ '@unocss/preset-tagify@0.62.2':
+ resolution: {integrity: sha512-xfxyKqBxBFOtKRifpM+9co9GqXj5PmGNdLcoWoYninmtO1CvCc50IBIob2h85X18jsa6Vm3sATzEfgOSggcGzQ==}
+
+ '@unocss/preset-typography@0.61.8':
+ resolution: {integrity: sha512-qkoC59R69evxNokNorED2qGzqq/tnBNlT7A7lAy4ZGehmePWNU/3zohyHp7i2/NEra+fkzsrUCTw/2UctJ1vkg==}
+
+ '@unocss/preset-typography@0.62.2':
+ resolution: {integrity: sha512-NnoblEZX+dDZeM537l6HcNfPJC8KPGcD5LimVO/HS7GuDarTXeu1JgnCqYc2d5q69OAbyfJfO9k1iKqnAHkqug==}
+
+ '@unocss/preset-uno@0.61.8':
+ resolution: {integrity: sha512-+7mK5sTEk0KvMf/Phw2QqfL3WxuwK4Drz7BLGD8bzHZAJWLMUDifbcERM2b9rbZWdJW8yhwxI7PXa+q/2Ww0PA==}
+
+ '@unocss/preset-uno@0.62.2':
+ resolution: {integrity: sha512-oMwSP3haSiyiSqI0KqrYkda8mnkWu9lJDdm4bZ5iO6v/rDxmcydBr7MEl8iEy9EdOy1lv3xsyzwMrRer392JEw==}
+
+ '@unocss/preset-web-fonts@0.61.8':
+ resolution: {integrity: sha512-N4NIP2S4a2b0pThP9F9vxcBL4rujDEWIXU7T3BVZki2endLJoZvEX2un5l+WHUfewlVojIjUYex8FIiQQ+9oTA==}
+
+ '@unocss/preset-web-fonts@0.62.2':
+ resolution: {integrity: sha512-LawmODVu8jjluVGxCIFePkqHLPkhU6S3xJIq8harZAt/uzfkosO3ozzWrRHcVR7SQGPWdATie0ggTFcmVRxFzw==}
+
+ '@unocss/preset-wind@0.61.8':
+ resolution: {integrity: sha512-rYUBzRKAPN1+x57u4NFH+wTp26hI/8barFoI440d24Z5IhGq5Amtjmi5WJpZ5wDTbOdresgpp+Fbbaan+7MhSw==}
+
+ '@unocss/preset-wind@0.62.2':
+ resolution: {integrity: sha512-1pohITLsjhUfEA774Ftz2EAaolbUmhM8yircxTaQEty9qYF1dEcLM2Fm6Y0+ZNhPOcKCAOYZkExuu6JEjbEACg==}
+
+ '@unocss/reset@0.61.8':
+ resolution: {integrity: sha512-tG2FhdT3OXDM+tLZj9vXKlloHYxeXVxLR5TKpNjD/WQr4p6/xUFKGHvNfLHpiz4EsXLugEn0prqTxASB4c5gNg==}
+
+ '@unocss/reset@0.62.2':
+ resolution: {integrity: sha512-5hgxcBMMbw5tMSSd4kUX70H0pZK9SwRHtm8Q4VvDV6xOZJa2/fvFR4qyxbuAM9nhOwYUqAAX23lxfmY0bXX73A==}
+
+ '@unocss/rule-utils@0.61.8':
+ resolution: {integrity: sha512-Sz4JTTOoXX32Dq+T3U761RIHsf+VCnrw/mKSqbn6XUruxivFBr80YC22dKxawzRjBHGdUAIGDRv38ZKgui+4KA==}
+ engines: {node: '>=14'}
+
+ '@unocss/rule-utils@0.62.2':
+ resolution: {integrity: sha512-0za00pkDHsGZhiXBiZfOuUyT+GjCInPxMXj+QsybRU4UrjJS+d3gAteC34BqNFfDAoKQb9G5q9etXztcNHXQbg==}
+ engines: {node: '>=14'}
+
+ '@unocss/scope@0.61.8':
+ resolution: {integrity: sha512-m8A3gmcYlWs3NIRhEAunfibnkdR05xBessusmXndHSgL4/Fyeo/P2TNaFbEACXOm7Q7wjzi0+q0DnOp876uLLg==}
+
+ '@unocss/scope@0.62.2':
+ resolution: {integrity: sha512-AEQ1CV8s8NAkBJPO1NCSjADoNyCOYiqkW1DXMvB9mA6lTff5SgmFqIiNmBtMsnBs7/dO0iOSMEDIpdgtDg/KhA==}
+
+ '@unocss/transformer-attributify-jsx-babel@0.61.8':
+ resolution: {integrity: sha512-SL+1bryAX1G3fSBTN7naEgAFjm0W4xHx2eTj8r1LVWIMjDL02y1RtLC/sVJdU3jkUvzhtgcNEx/YpxwQCD3aSw==}
+
+ '@unocss/transformer-attributify-jsx-babel@0.62.2':
+ resolution: {integrity: sha512-t0/3TFc29vwurjRR0akGkYv1VdzqLXHJn6d+d4BSzYhsH0YIhNFxU7r7Gf9iea38IqW6av+OlPBgCZknbG9K+g==}
+
+ '@unocss/transformer-attributify-jsx@0.61.8':
+ resolution: {integrity: sha512-zecigX25BGPKEMiz42N2cL1Cp60iEUFC33VEOre9C+aotf6drKCHDB3cobAuvYxgKczeYoBSXwixkE1dixdBuA==}
+
+ '@unocss/transformer-attributify-jsx@0.62.2':
+ resolution: {integrity: sha512-Lgv6OH3rtO7fn0DzBH8C2tEN4247d2Bsm9eP3jIU2w/jTxuv+1XEh8Wir67winLdn/ZNBzVxJb3popnNo9qhcA==}
+
+ '@unocss/transformer-compile-class@0.61.8':
+ resolution: {integrity: sha512-3EWjP+8oVIHx37GU122VV7FBqK3Ig2eZpTIo1/HSdOyex7G2Arz+7ZMhTUETVn398LukC0wfDI+P19YfM2erfA==}
+
+ '@unocss/transformer-compile-class@0.62.2':
+ resolution: {integrity: sha512-Kjyt7+NYLBRUSY0OA8tC6CDTC0qh9HkNt+WEEWvtTcrWwRvTU0VUroTkndHI3Fmv/yczuwmPXI71J+jJeLBQ6w==}
+
+ '@unocss/transformer-directives@0.61.8':
+ resolution: {integrity: sha512-pXjnvscGtLXCLs2lXwMxd9JtYh20SHTl4qPrSV9JOQGYSnytLFVnUUwIa4K1NV/fX7CFJsAn6UDEZziaSuO2qQ==}
+
+ '@unocss/transformer-directives@0.62.2':
+ resolution: {integrity: sha512-5ZGTmsXkAkFd7pHjHkGy6LGgxhh6bPbZ3jLltf98OhgBZH558y9iui6LKq3n2LpUsSZox6ey3yh1AibvakQeeg==}
+
+ '@unocss/transformer-variant-group@0.61.8':
+ resolution: {integrity: sha512-KSW2llbc/epl8iI+GRuVFt3+EagKj7sFVAa8Qpm9hsqq94gsDXNTlTVbK5sesJ++wdsjRCAccU1pl0rkr2lGRQ==}
+
+ '@unocss/transformer-variant-group@0.62.2':
+ resolution: {integrity: sha512-WknoFYRAik2NJfo0AHoId912jzzZaOV9bKgoSh7Lpx7dMxgngfU027Gx7Wnd8mR+TSqQzsfYaXdPa+PqyTv6Xg==}
+
+ '@unocss/vite@0.61.8':
+ resolution: {integrity: sha512-CWv0VFXoghQbuXXbeiVUyoiJv9Yc7BgH/ZuDY1mHJcXfB4h0nk2g1ImoXjMPUpzgwckoII2dJaREG2qXOI2HYw==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+
+ '@unocss/vite@0.62.2':
+ resolution: {integrity: sha512-ES39SL7+0UDTM5IvIiDVodH4duUIzGXug/bhuDHHhhtUBoengH+Oe59jURzRChDj4Pf3cyqMtTwo5amoz3lV2Q==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+
+ '@vitejs/plugin-vue@5.1.2':
+ resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+
+ '@volar/language-core@2.3.4':
+ resolution: {integrity: sha512-wXBhY11qG6pCDAqDnbBRFIDSIwbqkWI7no+lj5+L7IlA7HRIjRP7YQLGzT0LF4lS6eHkMSsclXqy9DwYJasZTQ==}
+
+ '@volar/language-core@2.4.0-alpha.18':
+ resolution: {integrity: sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==}
+
+ '@volar/source-map@2.3.4':
+ resolution: {integrity: sha512-C+t63nwcblqLIVTYXaVi/+gC8NukDaDIQI72J3R7aXGvtgaVB16c+J8Iz7/VfOy7kjYv7lf5GhBny6ACw9fTGQ==}
+
+ '@volar/source-map@2.4.0-alpha.18':
+ resolution: {integrity: sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==}
+
+ '@volar/typescript@2.3.4':
+ resolution: {integrity: sha512-acCvt7dZECyKcvO5geNybmrqOsu9u8n5XP1rfiYsOLYGPxvHRav9BVmEdRyZ3vvY6mNyQ1wLL5Hday4IShe17w==}
+
+ '@volar/typescript@2.4.0-alpha.18':
+ resolution: {integrity: sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==}
+
+ '@vue/compiler-core@3.4.34':
+ resolution: {integrity: sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==}
+
+ '@vue/compiler-core@3.4.38':
+ resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==}
+
+ '@vue/compiler-dom@3.4.34':
+ resolution: {integrity: sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==}
+
+ '@vue/compiler-dom@3.4.38':
+ resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==}
+
+ '@vue/compiler-sfc@3.4.38':
+ resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==}
+
+ '@vue/compiler-ssr@3.4.38':
+ resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==}
+
+ '@vue/compiler-vue2@2.7.16':
+ resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+
+ '@vue/devtools-api@6.6.3':
+ resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
+
+ '@vue/devtools-api@7.3.8':
+ resolution: {integrity: sha512-NURFwmxz4WukFU54IHgyGI2KSejdgHG5JC4xTcWmTWEBIc8aelj9fBy4qsboObGHFp3JIdRxxANO9s2wZA/pVQ==}
+
+ '@vue/devtools-kit@7.3.8':
+ resolution: {integrity: sha512-HYy3MQP1nZ6GbE4vrgJ/UB+MvZnhYmEwCa/UafrEpdpwa+jNCkz1ZdUrC5I7LpkH1ShREEV2/pZlAQdBj+ncLQ==}
+
+ '@vue/devtools-shared@7.3.8':
+ resolution: {integrity: sha512-1NiJbn7Yp47nPDWhFZyEKpB2+5/+7JYv8IQnU0ccMrgslPR2dL7u1DIyI7mLqy4HN1ll36gQy0k8GqBYSFgZJw==}
+
+ '@vue/language-core@2.0.28':
+ resolution: {integrity: sha512-0z4tyCCaqqPbdyz0T4yTFQeLpCo4TOM/ZHAC3geGLHeCiFAjVbROB9PiEtrXR1AoLObqUPFHSmKZeWtEMssSqw==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@vue/language-core@2.0.29':
+ resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
+
+ '@vue/reactivity@3.4.38':
+ resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==}
+
+ '@vue/runtime-core@3.4.38':
+ resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==}
+
+ '@vue/runtime-dom@3.4.38':
+ resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==}
+
+ '@vue/server-renderer@3.4.38':
+ resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==}
+ peerDependencies:
+ vue: 3.4.38
+
+ '@vue/shared@3.4.34':
+ resolution: {integrity: sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==}
+
+ '@vue/shared@3.4.38':
+ resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
+
+ '@vueuse/components@10.11.0':
+ resolution: {integrity: sha512-ZvLZI23d5ZAtva5fGyYh/jQtZO8l+zJ5tAXyYNqHJZkq1o5yWyqZhENvSv5mfDmN5IuAOp4tq02mRmX/ipFGcg==}
+
+ '@vueuse/core@10.11.0':
+ resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
+
+ '@vueuse/core@10.11.1':
+ resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
+
+ '@vueuse/core@11.0.1':
+ resolution: {integrity: sha512-YTrekI18WwEyP3h168Fir94G/HNC27wvXJI21Alm0sPOwvhihfkrvHIe+5PNJq+MpgWdRcsjvE/38JaoKrgZhQ==}
+
+ '@vueuse/integrations@11.0.1':
+ resolution: {integrity: sha512-V/FQTS/aiV6RTFXOj8cXgqhtNJBvxvbHeLElOUR7N7F3Kr0btS+dkymLB54mFd0Or6uEGpgwwb41cs/q2/rdOg==}
+ peerDependencies:
+ async-validator: ^4
+ axios: ^1
+ change-case: ^5
+ drauu: ^0.4
+ focus-trap: ^7
+ fuse.js: ^7
+ idb-keyval: ^6
+ jwt-decode: ^4
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^7
+ peerDependenciesMeta:
+ async-validator:
+ optional: true
+ axios:
+ optional: true
+ change-case:
+ optional: true
+ drauu:
+ optional: true
+ focus-trap:
+ optional: true
+ fuse.js:
+ optional: true
+ idb-keyval:
+ optional: true
+ jwt-decode:
+ optional: true
+ nprogress:
+ optional: true
+ qrcode:
+ optional: true
+ sortablejs:
+ optional: true
+ universal-cookie:
+ optional: true
+
+ '@vueuse/metadata@10.11.0':
+ resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==}
+
+ '@vueuse/metadata@10.11.1':
+ resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
+
+ '@vueuse/metadata@11.0.1':
+ resolution: {integrity: sha512-dTFvuHFAjLYOiSd+t9Sk7xUiuL6jbfay/eX+g+jaipXXlwKur2VCqBCZX+jfu+2vROUGcUsdn3fJR9KkpadIOg==}
+
+ '@vueuse/shared@10.11.0':
+ resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
+
+ '@vueuse/shared@10.11.1':
+ resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
+
+ '@vueuse/shared@11.0.1':
+ resolution: {integrity: sha512-eAPf5CQB3HR0S76HqrhjBqFYstZfiHWZq8xF9EQmobGBkrhPfErJEhr8aMNQMqd6MkENIx2pblIEfJGlHpClug==}
+
+ JSONStream@1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ hasBin: true
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.12.1:
+ resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ add-stream@1.0.0:
+ resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
+
+ agent-base@7.1.1:
+ resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
+ engines: {node: '>= 14'}
+
+ ajv-draft-04@1.0.0:
+ resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+ peerDependencies:
+ ajv: ^8.5.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.12.0:
+ resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+
+ ajv@8.13.0:
+ resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
+
+ algoliasearch@4.24.0:
+ resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ are-docs-informative@0.0.2:
+ resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
+ engines: {node: '>=14'}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-ify@1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
+
+ async-retry@1.3.3:
+ resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ basic-ftp@5.0.5:
+ resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
+ engines: {node: '>=10.0.0'}
+
+ before-after-hook@2.2.3:
+ resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ birpc@0.2.17:
+ resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ boxen@7.1.1:
+ resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
+ engines: {node: '>=14.16'}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist@4.23.2:
+ resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ bundle-require@5.0.0:
+ resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ esbuild: '>=0.18'
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ cacheable-lookup@7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
+
+ cacheable-request@10.2.14:
+ resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
+ engines: {node: '>=14.16'}
+
+ call-me-maybe@1.0.2:
+ resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+
+ camera-controls@2.9.0:
+ resolution: {integrity: sha512-TpCujnP0vqPppTXXJRYpvIy0xq9Tro6jQf2iYUxlDpPCNxkvE/XGaTuwIxnhINOkVP/ob2CRYXtY3iVYXeMEzA==}
+ peerDependencies:
+ three: '>=0.126.1'
+
+ caniuse-lite@1.0.30001642:
+ resolution: {integrity: sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ character-entities-legacy@1.1.4:
+ resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
+
+ character-entities@1.2.4:
+ resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
+
+ character-reference-invalid@1.1.4:
+ resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
+
+ chardet@0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ ci-info@4.0.0:
+ resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
+ engines: {node: '>=8'}
+
+ clean-regexp@1.0.0:
+ resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
+ engines: {node: '>=4'}
+
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-cursor@4.0.0:
+ resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cli-width@4.1.0:
+ resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
+ engines: {node: '>= 12'}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ comment-parser@1.4.1:
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
+ engines: {node: '>= 12.0.0'}
+
+ compare-func@2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+
+ compare-versions@6.1.1:
+ resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
+
+ computeds@0.0.1:
+ resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ concat-stream@2.0.0:
+ resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
+ engines: {'0': node >= 6.0}
+
+ confbox@0.1.7:
+ resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
+
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
+ configstore@6.0.0:
+ resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
+ engines: {node: '>=12'}
+
+ consola@3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ conventional-changelog-angular@7.0.0:
+ resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-atom@4.0.0:
+ resolution: {integrity: sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-codemirror@4.0.0:
+ resolution: {integrity: sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-conventionalcommits@7.0.2:
+ resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-core@7.0.0:
+ resolution: {integrity: sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-ember@4.0.0:
+ resolution: {integrity: sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-eslint@5.0.0:
+ resolution: {integrity: sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-express@4.0.0:
+ resolution: {integrity: sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-jquery@5.0.0:
+ resolution: {integrity: sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-jshint@4.0.0:
+ resolution: {integrity: sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-preset-loader@4.1.0:
+ resolution: {integrity: sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-writer@7.0.1:
+ resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ conventional-changelog@5.1.0:
+ resolution: {integrity: sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==}
+ engines: {node: '>=16'}
+
+ conventional-commits-filter@4.0.0:
+ resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==}
+ engines: {node: '>=16'}
+
+ conventional-commits-parser@5.0.0:
+ resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ conventional-recommended-bump@9.0.0:
+ resolution: {integrity: sha512-HR1yD0G5HgYAu6K0wJjLd7QGRK8MQDqqj6Tn1n/ja1dFwBCE6QmV+iSgQ5F7hkx7OUR/8bHpxJqYtXj2f/opPQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
+ core-js-compat@3.37.1:
+ resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cosmiconfig@9.0.0:
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
+ crypto-random-string@4.0.0:
+ resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
+ engines: {node: '>=12'}
+
+ css-select@5.1.0:
+ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ dargs@8.1.0:
+ resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
+ engines: {node: '>=12'}
+
+ data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+
+ data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
+
+ de-indent@1.0.2:
+ resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.5:
+ resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.6:
+ resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
+ engines: {node: '>= 14'}
+
+ deprecation@2.3.1:
+ resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
+
+ destr@2.0.3:
+ resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ domutils@3.1.0:
+ resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+
+ dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+
+ dot-prop@6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+
+ draco3d@1.5.7:
+ resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
+
+ duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ electron-to-chromium@1.4.827:
+ resolution: {integrity: sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==}
+
+ emoji-regex@10.3.0:
+ resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ enhanced-resolve@5.17.0:
+ resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==}
+ engines: {node: '>=10.13.0'}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ es-module-lexer@1.5.4:
+ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.23.0:
+ resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+
+ escape-goat@4.0.0:
+ resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
+ engines: {node: '>=12'}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
+ eslint-compat-utils@0.5.1:
+ resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-config-flat-gitignore@0.1.7:
+ resolution: {integrity: sha512-K4UcPriNg6IvNozipPVnLRxuhxys9vRkxYoLLdMPgPDngtWEP/xBT946oUYQHUWLoz4jvX5k+AF/MWh3VN5Lrg==}
+
+ eslint-flat-config-utils@0.2.5:
+ resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==}
+
+ eslint-formatting-reporter@0.0.0:
+ resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==}
+ peerDependencies:
+ eslint: '>=8.40.0'
+
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+ eslint-merge-processors@0.1.0:
+ resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-parser-plain@0.1.0:
+ resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==}
+
+ eslint-plugin-antfu@2.3.4:
+ resolution: {integrity: sha512-5RIjJpBK1tuNHuLyFyZ90/iW9s439dP1u2cxA4dH70djx9sKq1CqI+O6Q95aVjgFNTDtQzSC9uYdAD5uEEKciQ==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-plugin-command@0.2.3:
+ resolution: {integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-plugin-es-x@7.8.0:
+ resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=8'
+
+ eslint-plugin-eslint-comments@3.2.0:
+ resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
+ engines: {node: '>=6.5.0'}
+ peerDependencies:
+ eslint: '>=4.19.1'
+
+ eslint-plugin-format@0.1.2:
+ resolution: {integrity: sha512-ZrcO3aiumgJ6ENAv65IWkPjtW77ML/5mp0YrRK0jdvvaZJb+4kKWbaQTMr/XbJo6CtELRmCApAziEKh7L2NbdQ==}
+ peerDependencies:
+ eslint: ^8.40.0 || ^9.0.0
+
+ eslint-plugin-import-x@3.0.1:
+ resolution: {integrity: sha512-jzQgJuE4ssxwNi0aMBkOL8whd4eHb0Z/uFWsk8uEoYB7xwTkAptSKojLzRswxgf/1bhH6QgcLjgabUBQqluBIg==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ eslint: ^8.56.0 || ^9.0.0-0
+
+ eslint-plugin-jsdoc@48.7.0:
+ resolution: {integrity: sha512-5oiVf7Y+ZxGYQTlLq81X72n+S+hjvS/u0upAdbpPEeaIZILK3MKN8lm/6QqKioBjm/qZ0B5XpMQUtc2fUkqXAg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
+
+ eslint-plugin-jsonc@2.16.0:
+ resolution: {integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-plugin-markdown@5.1.0:
+ resolution: {integrity: sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8'
+
+ eslint-plugin-n@17.9.0:
+ resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.23.0'
+
+ eslint-plugin-no-only-tests@3.1.0:
+ resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
+ engines: {node: '>=5.0.0'}
+
+ eslint-plugin-perfectionist@2.11.0:
+ resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==}
+ peerDependencies:
+ astro-eslint-parser: ^1.0.2
+ eslint: '>=8.0.0'
+ svelte: '>=3.0.0'
+ svelte-eslint-parser: ^0.37.0
+ vue-eslint-parser: '>=9.0.0'
+ peerDependenciesMeta:
+ astro-eslint-parser:
+ optional: true
+ svelte:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+ vue-eslint-parser:
+ optional: true
+
+ eslint-plugin-regexp@2.6.0:
+ resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==}
+ engines: {node: ^18 || >=20}
+ peerDependencies:
+ eslint: '>=8.44.0'
+
+ eslint-plugin-toml@0.11.1:
+ resolution: {integrity: sha512-Y1WuMSzfZpeMIrmlP1nUh3kT8p96mThIq4NnHrYUhg10IKQgGfBZjAWnrg9fBqguiX4iFps/x/3Hb5TxBisfdw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-plugin-unicorn@54.0.0:
+ resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==}
+ engines: {node: '>=18.18'}
+ peerDependencies:
+ eslint: '>=8.56.0'
+
+ eslint-plugin-unused-imports@4.0.0:
+ resolution: {integrity: sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': '8'
+ eslint: '9'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+
+ eslint-plugin-vitest@0.5.4:
+ resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
+ engines: {node: ^18.0.0 || >= 20.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': '*'
+ eslint: ^8.57.0 || ^9.0.0
+ vitest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ vitest:
+ optional: true
+
+ eslint-plugin-vue@9.27.0:
+ resolution: {integrity: sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+
+ eslint-plugin-yml@1.14.0:
+ resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-processor-vue-blocks@0.1.2:
+ resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==}
+ peerDependencies:
+ '@vue/compiler-sfc': ^3.3.0
+ eslint: ^8.50.0 || ^9.0.0
+
+ eslint-rule-composer@0.3.0:
+ resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
+ engines: {node: '>=4.0.0'}
+
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-scope@8.0.2:
+ resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.0.0:
+ resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.9.0:
+ resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.1.0:
+ resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ external-editor@3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+ fdir@6.2.0:
+ resolution: {integrity: sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ fetch-blob@3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+
+ fflate@0.6.10:
+ resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
+
+ fflate@0.8.2:
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ find-up@6.3.0:
+ resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ find-up@7.0.0:
+ resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
+ engines: {node: '>=18'}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+
+ focus-trap@7.5.4:
+ resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
+
+ form-data-encoder@2.1.4:
+ resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
+ engines: {node: '>= 14.17'}
+
+ formdata-polyfill@4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+
+ fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+
+ fs-extra@7.0.1:
+ resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.2.0:
+ resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
+ engines: {node: '>=18'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ get-tsconfig@4.7.5:
+ resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+
+ get-tsconfig@4.7.6:
+ resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==}
+
+ get-uri@6.0.3:
+ resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
+ engines: {node: '>= 14'}
+
+ git-raw-commits@4.0.0:
+ resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ git-semver-tags@7.0.1:
+ resolution: {integrity: sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ git-up@7.0.0:
+ resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+
+ git-url-parse@14.0.0:
+ resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ global-directory@4.0.1:
+ resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
+ engines: {node: '>=18'}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@15.8.0:
+ resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==}
+ engines: {node: '>=18'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ globby@14.0.2:
+ resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
+ engines: {node: '>=18'}
+
+ glsl-token-functions@1.0.1:
+ resolution: {integrity: sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==}
+
+ glsl-token-string@1.0.1:
+ resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
+
+ glsl-tokenizer@2.1.5:
+ resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
+
+ got@13.0.0:
+ resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==}
+ engines: {node: '>=16'}
+
+ graceful-fs@4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ gsap@3.12.5:
+ resolution: {integrity: sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==}
+
+ gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+
+ handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ hosted-git-info@7.0.2:
+ resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ http-cache-semantics@4.1.1:
+ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+
+ http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
+
+ http2-wrapper@2.2.1:
+ resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
+ engines: {node: '>=10.19.0'}
+
+ https-proxy-agent@7.0.5:
+ resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
+ engines: {node: '>= 14'}
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ husky@9.1.4:
+ resolution: {integrity: sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ import-lazy@4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+
+ importx@0.4.3:
+ resolution: {integrity: sha512-x6E6OxmWq/SUaj7wDeDeSjyHP+rMUbEaqJ5fw0uEtC/FTX9ocxNMFJ+ONnpJIsRpFz3ya6qJAK4orwSKqw0BSQ==}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ ini@4.1.1:
+ resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ inquirer@9.3.2:
+ resolution: {integrity: sha512-+ynEbhWKhyomnaX0n2aLIMSkgSlGB5RrWbNXnEqj6mdaIydu6y40MdBjL38SAB0JcdmOaIaMua1azdjLEr3sdw==}
+ engines: {node: '>=18'}
+
+ interpret@1.4.0:
+ resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ engines: {node: '>= 0.10'}
+
+ ip-address@9.0.5:
+ resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ engines: {node: '>= 12'}
+
+ is-alphabetical@1.0.4:
+ resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
+
+ is-alphanumerical@1.0.4:
+ resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+
+ is-ci@3.0.1:
+ resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
+ hasBin: true
+
+ is-core-module@2.14.0:
+ resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.15.0:
+ resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@1.0.4:
+ resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@1.0.4:
+ resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
+
+ is-in-ci@0.1.0:
+ resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-installed-globally@1.0.0:
+ resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==}
+ engines: {node: '>=18'}
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-interactive@2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
+ is-npm@6.0.0:
+ resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ is-path-inside@4.0.0:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
+ is-ssh@1.4.0:
+ resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-text-path@2.0.0:
+ resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
+ engines: {node: '>=8'}
+
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ is-unicode-supported@1.3.0:
+ resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
+ engines: {node: '>=12'}
+
+ is-unicode-supported@2.0.0:
+ resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
+ engines: {node: '>=18'}
+
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ issue-parser@7.0.1:
+ resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==}
+ engines: {node: ^18.17 || >=20.6.1}
+
+ jiti@1.21.6:
+ resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ hasBin: true
+
+ jiti@2.0.0-beta.2:
+ resolution: {integrity: sha512-c+PHQZakiQuMKbnhvrjZUvrK6E/AfmTOf4P+E3Y4FNVHcNMX9e/XrnbEvO+m4wS6ZjsvhHh/POQTlfy8uXFc0A==}
+ hasBin: true
+
+ jju@1.4.0:
+ resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-tokens@9.0.0:
+ resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsbn@1.1.0:
+ resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+
+ jsdoc-type-pratt-parser@4.0.0:
+ resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
+ engines: {node: '>=12.0.0'}
+
+ jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-parse-even-better-errors@3.0.2:
+ resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json-stringify-safe@5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonc-eslint-parser@2.4.0:
+ resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+
+ jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+
+ jsonparse@1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+ ky@1.4.0:
+ resolution: {integrity: sha512-tPhhoGUiEiU/WXR4rt8klIoLdnTtyu+9jVKHd/wauEjYud32jyn63mzKWQweaQrHWxBQtYoVtdcEnYX1LosnFQ==}
+ engines: {node: '>=18'}
+
+ latest-version@9.0.0:
+ resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==}
+ engines: {node: '>=18'}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ lines-and-columns@2.0.4:
+ resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ linkify-it@5.0.0:
+ resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+
+ load-tsconfig@0.2.5:
+ resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lodash.capitalize@4.2.1:
+ resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==}
+
+ lodash.escaperegexp@4.1.2:
+ resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ lodash.isstring@4.0.1:
+ resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.uniqby@4.7.0:
+ resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ log-symbols@6.0.0:
+ resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
+ engines: {node: '>=18'}
+
+ lowercase-keys@3.0.0:
+ resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ lru-cache@7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
+
+ macos-release@3.2.0:
+ resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ magic-string@0.30.10:
+ resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+
+ magic-string@0.30.11:
+ resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
+
+ mark.js@8.11.1:
+ resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+
+ markdown-it@14.1.0:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+
+ mdast-util-from-markdown@0.8.5:
+ resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
+
+ mdast-util-to-string@2.0.0:
+ resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
+
+ mdn-data@2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
+ meow@12.1.1:
+ resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
+ engines: {node: '>=16.10'}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ meshoptimizer@0.18.1:
+ resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
+
+ micromark@2.11.4:
+ resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
+
+ micromatch@4.0.7:
+ resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+
+ mimic-response@4.0.0:
+ resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+ minimatch@3.0.8:
+ resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minisearch@7.1.0:
+ resolution: {integrity: sha512-tv7c/uefWdEhcu6hvrfTihflgeEi2tN6VV7HJnCjK6VxM75QQJh4t9FwJCsA2EsRS8LCnu3W87CuGPWMocOLCA==}
+
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
+ mlly@1.7.1:
+ resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
+
+ mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+
+ ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ muggle-string@0.4.1:
+ resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+
+ mute-stream@1.0.0:
+ resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ netmask@2.0.2:
+ resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
+ engines: {node: '>= 0.4.0'}
+
+ new-github-release-url@2.0.0:
+ resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+
+ node-fetch-native@1.6.4:
+ resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+
+ node-fetch@3.3.2:
+ resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-package-data@6.0.2:
+ resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@8.0.1:
+ resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
+ engines: {node: '>=14.16'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
+ ofetch@1.3.4:
+ resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+ open@10.1.0:
+ resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ ora@8.0.1:
+ resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==}
+ engines: {node: '>=18'}
+
+ os-name@5.1.0:
+ resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ p-cancelable@3.0.0:
+ resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
+ engines: {node: '>=12.20'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ pac-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==}
+ engines: {node: '>= 14'}
+
+ pac-resolver@7.0.1:
+ resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
+ engines: {node: '>= 14'}
+
+ package-json@10.0.1:
+ resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==}
+ engines: {node: '>=18'}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-entities@2.0.0:
+ resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
+
+ parse-gitignore@2.0.0:
+ resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
+ engines: {node: '>=14'}
+
+ parse-imports@2.1.1:
+ resolution: {integrity: sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==}
+ engines: {node: '>= 18'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse-json@7.1.1:
+ resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==}
+ engines: {node: '>=16'}
+
+ parse-path@7.0.0:
+ resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+
+ parse-url@8.1.0:
+ resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ path-type@5.0.0:
+ resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
+ engines: {node: '>=12'}
+
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+ picocolors@1.0.1:
+ resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+
+ pkg-types@1.1.3:
+ resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==}
+
+ pluralize@8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@6.1.1:
+ resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==}
+ engines: {node: '>=4'}
+
+ postcss@8.4.41:
+ resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ potpack@1.0.2:
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+
+ preact@10.23.2:
+ resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+
+ prettier@3.3.3:
+ resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ proto-list@1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+
+ protocols@2.0.1:
+ resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
+
+ proxy-agent@6.4.0:
+ resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
+ engines: {node: '>= 14'}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ pupa@3.1.0:
+ resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
+ engines: {node: '>=12.20'}
+
+ qrcode-terminal@0.12.0:
+ resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
+ hasBin: true
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+
+ read-pkg-up@10.1.0:
+ resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==}
+ engines: {node: '>=16'}
+
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+
+ read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+ read-pkg@8.1.0:
+ resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==}
+ engines: {node: '>=16'}
+
+ readable-stream@1.0.34:
+ resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ rechoir@0.6.2:
+ resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
+ engines: {node: '>= 0.10'}
+
+ refa@0.12.1:
+ resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ regexp-ast-analysis@0.7.1:
+ resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ regexp-tree@0.1.27:
+ resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
+ hasBin: true
+
+ registry-auth-token@5.0.2:
+ resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
+ engines: {node: '>=14'}
+
+ registry-url@6.0.1:
+ resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
+ engines: {node: '>=12'}
+
+ regjsparser@0.10.0:
+ resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
+ hasBin: true
+
+ release-it@17.6.0:
+ resolution: {integrity: sha512-EE34dtRPL7BHpYQC7E+zAU8kjkyxFHxLk5Iqnmn/5nGcjgOQu34Au29M2V9YvxiP3tZbIlEn4gItEzu7vAPRbw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || ^22.0.0}
+ hasBin: true
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-alpn@1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ responselike@3.0.0:
+ resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
+ engines: {node: '>=14.16'}
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ restore-cursor@4.0.0:
+ resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rollup-plugin-analyzer@4.0.0:
+ resolution: {integrity: sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==}
+ engines: {node: '>=8.0.0'}
+
+ rollup-plugin-visualizer@5.12.0:
+ resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ rollup@4.20.0:
+ resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ rollup@4.21.0:
+ resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-applescript@7.0.0:
+ resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
+ engines: {node: '>=18'}
+
+ run-async@3.0.0:
+ resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
+ engines: {node: '>=0.12.0'}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ rxjs@7.8.1:
+ resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ scslre@0.3.0:
+ resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
+ engines: {node: ^14.0.0 || >=16.0.0}
+
+ scule@1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+
+ search-insights@2.16.3:
+ resolution: {integrity: sha512-hSHy/s4Zk2xibhj9XTCACB+1PqS+CaJxepGNBhKc/OsHRpqvHAUAm5+uZ6kJJbGXn0pb3XqekHjg6JAqPExzqg==}
+
+ semver-diff@4.0.0:
+ resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
+ engines: {node: '>=12'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.6.2:
+ resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shelljs@0.8.5:
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ shiki@1.14.1:
+ resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+
+ slashes@3.0.12:
+ resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
+
+ smart-buffer@4.2.0:
+ resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
+ engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
+
+ socks-proxy-agent@8.0.4:
+ resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
+ engines: {node: '>= 14'}
+
+ socks@2.8.3:
+ resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
+ engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+
+ source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-expression-parse@4.0.0:
+ resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+
+ spdx-license-ids@3.0.18:
+ resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==}
+
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
+ split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ sprintf-js@1.1.3:
+ resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+
+ stable-hash@0.0.4:
+ resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
+
+ stats-gl@2.2.8:
+ resolution: {integrity: sha512-94G5nZvduDmzxBS7K0lYnynYwreZpkknD8g5dZmU6mpwIhy3caCrjAm11Qm1cbyx7mqix7Fp00RkbsonzKWnoQ==}
+
+ stats.js@0.17.0:
+ resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
+
+ stdin-discarder@0.2.2:
+ resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
+ engines: {node: '>=18'}
+
+ string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string_decoder@0.10.31:
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ strip-literal@2.1.0:
+ resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+
+ superjson@2.2.1:
+ resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ engines: {node: '>=16'}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svgo@3.3.2:
+ resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ synckit@0.6.2:
+ resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==}
+ engines: {node: '>=12.20'}
+
+ synckit@0.9.1:
+ resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ text-extensions@2.4.0:
+ resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
+ engines: {node: '>=8'}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ three-custom-shader-material@5.4.0:
+ resolution: {integrity: sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==}
+ peerDependencies:
+ '@react-three/fiber': '>=8.0'
+ react: '>=18.0'
+ three: '>=0.154'
+ peerDependenciesMeta:
+ '@react-three/fiber':
+ optional: true
+ react:
+ optional: true
+
+ three-stdlib@2.32.2:
+ resolution: {integrity: sha512-ZN25Na/Xg7APhGKwJ1zhGdhZDsDGGnnm1k5Z+9LLlnfsFye4jigvbN3eA/Ta8hQmBNmEHXoozpmpKK1x8dCePQ==}
+ peerDependencies:
+ three: '>=0.128.0'
+
+ three@0.167.1:
+ resolution: {integrity: sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==}
+
+ through2@0.6.5:
+ resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
+
+ through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ tinyglobby@0.2.2:
+ resolution: {integrity: sha512-mZ2sDMaySvi1PkTp4lTo1In2zjU+cY8OvZsfwrDrx3YGRbXPX1/cbPwCR9zkm3O/Fz9Jo0F1HNgIQ1b8BepqyQ==}
+ engines: {node: '>=12.0.0'}
+
+ tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ toml-eslint-parser@0.10.0:
+ resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
+ ts-api-utils@1.3.0:
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
+ tslib@2.6.3:
+ resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+
+ tsx@4.16.3:
+ resolution: {integrity: sha512-MP8AEUxVnboD2rCC6kDLxnpDBNWN9k3BSVU/0/nNxgm70bPBnfn+yCKcnOsIVPQwdkbKYoFOlKjjWZWJ2XCXUg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+
+ type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+ type-fest@1.4.0:
+ resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
+ engines: {node: '>=10'}
+
+ type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+
+ type-fest@3.13.1:
+ resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
+ engines: {node: '>=14.16'}
+
+ type-fest@4.21.0:
+ resolution: {integrity: sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==}
+ engines: {node: '>=16'}
+
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
+ typedarray@0.0.6:
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+
+ typescript@5.4.2:
+ resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typescript@5.5.4:
+ resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
+ ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+
+ ufo@1.5.4:
+ resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+
+ uglify-js@3.18.0:
+ resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ unconfig@0.5.4:
+ resolution: {integrity: sha512-7p6w1UxFKPFRMnLJdvXPouMxbY4jEh3L8Q3A5dCVOAtXmgYZ72KJjnPAUHfEa6YLxuPt4DZ7ma21grNrYeVgjA==}
+
+ unconfig@0.5.5:
+ resolution: {integrity: sha512-VQZ5PT9HDX+qag0XdgQi8tJepPhXiR/yVOkn707gJDKo31lGjRilPREiQJ9Z6zd/Ugpv6ZvO5VxVIcatldYcNQ==}
+
+ undici-types@6.19.8:
+ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+
+ unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+
+ unimport@3.9.0:
+ resolution: {integrity: sha512-H2ftTISja1BonUVdOKRos6HC6dqYDR40dQTZY3zIDJ/5/z4ihncuL0LqLvtxYqUDMib41eAtunQUhXIWTCZ8rA==}
+
+ unique-string@3.0.0:
+ resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
+ engines: {node: '>=12'}
+
+ unist-util-stringify-position@2.0.3:
+ resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+
+ universal-user-agent@6.0.1:
+ resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
+
+ universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unocss@0.61.8:
+ resolution: {integrity: sha512-N7uq3NxLd5RZ3olnXWumg3FkouLa4+NacxvC4FE+kBHRZ1bA+J+ze6yqhsOqiAgv7jACjtvQEHeSToE422OvCg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 0.61.8
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ vite:
+ optional: true
+
+ unocss@0.62.2:
+ resolution: {integrity: sha512-XLLOXyLrbLX7xIChdCPZAmfLR+1aqIHGN/y7QOn4t3g8C3Kk1tAH2aMMQHWhWFfNzskfNiPjKeVYhWQ8QV53Mg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 0.62.2
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ vite:
+ optional: true
+
+ unplugin-auto-import@0.18.2:
+ resolution: {integrity: sha512-Dwb3rAic75harVBrVjwiq6H24PT+nBq2dpxV5BH8NNI6sDFaTytvP+iyo4xy7prQbR3r5K6nMs4f5Wp9PE4g8A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-vue-components@0.27.3:
+ resolution: {integrity: sha512-5wg7lbdg5ZcrAQNzyYK+6gcg/DG8K6rO+f5YeuvqGHs/PhpapBvpA4O/0ex/pFthE5WgRk43iWuRZEMLVsdz4Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/parser': ^7.15.8
+ '@nuxt/kit': ^3.2.2
+ vue: 2 || 3
+ peerDependenciesMeta:
+ '@babel/parser':
+ optional: true
+ '@nuxt/kit':
+ optional: true
+
+ unplugin@1.12.0:
+ resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==}
+ engines: {node: '>=14.0.0'}
+
+ update-browserslist-db@1.1.0:
+ resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ update-notifier@7.1.0:
+ resolution: {integrity: sha512-8SV3rIqVY6EFC1WxH6L0j55s0MO79MFBS1pivmInRJg3pCEDgWHBj1Q6XByTtCLOZIFA0f6zoG9ZWf2Ks9lvTA==}
+ engines: {node: '>=18'}
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ url-join@5.0.0:
+ resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ vite-plugin-banner@0.7.1:
+ resolution: {integrity: sha512-Bww2Xd5tOGsZ1yZ9rQiGneryvsL1u86znPrqeQjCsXPsG72pnSdV5lcQA+cy8UNDguMqyTJiCevlNUbLnT85UA==}
+
+ vite-plugin-css-injected-by-js@3.5.1:
+ resolution: {integrity: sha512-9ioqwDuEBxW55gNoWFEDhfLTrVKXEEZgl5adhWmmqa88EQGKfTmexy4v1Rh0pAS6RhKQs2bUYQArprB32JpUZQ==}
+ peerDependencies:
+ vite: '>2.0.0-0'
+
+ vite-plugin-dts@4.0.3:
+ resolution: {integrity: sha512-+xnTsaONwU2kV6zhRjtbRJSGN41uFR/whqmcb4k4fftLFDJElxthp0PP5Fq8gMeM9ytWMt1yk5gGgekLREWYQQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ vite-plugin-glsl@1.3.0:
+ resolution: {integrity: sha512-SzEoLet9Bp5VSozjrhUiSc3xX1+u7rCTjXAsq4qWM3u8UjilI76A9ucX/T+CRGQCe25j50GSY+9mKSGUVPET1w==}
+ engines: {node: '>= 16.15.1', npm: '>= 8.11.0'}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+
+ vite-plugin-qrcode@0.2.3:
+ resolution: {integrity: sha512-TFzhf20v29hnh2XEoZ2kxg8Ff/ui36pR7PGDaHaKEmsQaRagv31XacHxbw5O07HcC1Mkr4tKcYb+PFASSceHmw==}
+ engines: {node: ^14.13.1 || ^16.0.0 || >=18}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+
+ vite-svg-loader@5.1.0:
+ resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==}
+ peerDependencies:
+ vue: '>=3.2.13'
+
+ vite@5.4.1:
+ resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ vitepress@1.3.3:
+ resolution: {integrity: sha512-6UzEw/wZ41S/CATby7ea7UlffvRER/uekxgN6hbEvSys9ukmLOKsz87Ehq9yOx1Rwiw+Sj97yjpivP8w1sUmng==}
+ hasBin: true
+ peerDependencies:
+ markdown-it-mathjax3: ^4
+ postcss: ^8
+ peerDependenciesMeta:
+ markdown-it-mathjax3:
+ optional: true
+ postcss:
+ optional: true
+
+ vscode-uri@3.0.8:
+ resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
+
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-demi@0.14.8:
+ resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-eslint-parser@9.4.3:
+ resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ vue-router@4.4.0:
+ resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ vue-template-compiler@2.7.16:
+ resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
+
+ vue-tsc@2.0.28:
+ resolution: {integrity: sha512-PQ/OFDM3NtQVMThaVlQf8plyL0j7UGdak4lb1KkUOSL0uyx/F9Liu6aOclgHiMMBKNGIjJWoiFh3HjIdV6DS/Q==}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.0.0'
+
+ vue-tsc@2.0.29:
+ resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.0.0'
+
+ vue@3.4.38:
+ resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ web-streams-polyfill@3.3.3:
+ resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
+ engines: {node: '>= 8'}
+
+ webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ widest-line@4.0.1:
+ resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
+ engines: {node: '>=12'}
+
+ wildcard-match@5.1.3:
+ resolution: {integrity: sha512-a95hPUk+BNzSGLntNXYxsjz2Hooi5oL7xOfJR6CKwSsSALh7vUNuTlzsrZowtYy38JNduYFRVhFv19ocqNOZlg==}
+
+ windows-release@5.1.1:
+ resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
+ xdg-basedir@5.1.0:
+ resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
+ engines: {node: '>=12'}
+
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml-eslint-parser@1.2.3:
+ resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+
+ yaml@2.4.5:
+ resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yocto-queue@1.1.1:
+ resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
+ engines: {node: '>=12.20'}
+
+ yoctocolors-cjs@2.1.2:
+ resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
+ engines: {node: '>=18'}
+
+snapshots:
+
+ '@algolia/autocomplete-core@1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)(search-insights@2.16.3)':
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)(search-insights@2.16.3)
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ - search-insights
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)(search-insights@2.16.3)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)
+ search-insights: 2.16.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+
+ '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)
+ '@algolia/client-search': 5.0.2
+ algoliasearch: 4.24.0
+
+ '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)':
+ dependencies:
+ '@algolia/client-search': 5.0.2
+ algoliasearch: 4.24.0
+
+ '@algolia/cache-browser-local-storage@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+
+ '@algolia/cache-common@4.24.0': {}
+
+ '@algolia/cache-in-memory@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+
+ '@algolia/client-account@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-analytics@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-common@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-common@5.0.2': {}
+
+ '@algolia/client-personalization@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-search@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-search@5.0.2':
+ dependencies:
+ '@algolia/client-common': 5.0.2
+ '@algolia/requester-browser-xhr': 5.0.2
+ '@algolia/requester-node-http': 5.0.2
+
+ '@algolia/logger-common@4.24.0': {}
+
+ '@algolia/logger-console@4.24.0':
+ dependencies:
+ '@algolia/logger-common': 4.24.0
+
+ '@algolia/recommend@4.24.0':
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.24.0
+ '@algolia/cache-common': 4.24.0
+ '@algolia/cache-in-memory': 4.24.0
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/logger-console': 4.24.0
+ '@algolia/requester-browser-xhr': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/requester-node-http': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/requester-browser-xhr@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+
+ '@algolia/requester-browser-xhr@5.0.2':
+ dependencies:
+ '@algolia/client-common': 5.0.2
+
+ '@algolia/requester-common@4.24.0': {}
+
+ '@algolia/requester-node-http@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+
+ '@algolia/requester-node-http@5.0.2':
+ dependencies:
+ '@algolia/client-common': 5.0.2
+
+ '@algolia/transporter@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+
+ '@alvarosabu/utils@3.2.0': {}
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@antfu/eslint-config@2.22.2(@vue/compiler-sfc@3.4.38)(eslint-plugin-format@0.1.2(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@antfu/install-pkg': 0.3.3
+ '@clack/prompts': 0.7.0
+ '@stylistic/eslint-plugin': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-config-flat-gitignore: 0.1.7
+ eslint-flat-config-utils: 0.2.5
+ eslint-merge-processors: 0.1.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-antfu: 2.3.4(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-command: 0.2.3(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-eslint-comments: 3.2.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-import-x: 3.0.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint-plugin-jsdoc: 48.7.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-jsonc: 2.16.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-markdown: 5.1.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-n: 17.9.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-no-only-tests: 3.1.0
+ eslint-plugin-perfectionist: 2.11.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6)))
+ eslint-plugin-regexp: 2.6.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-toml: 0.11.1(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-unicorn: 54.0.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-unused-imports: 4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint-plugin-vue: 9.27.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-plugin-yml: 1.14.0(eslint@9.9.0(jiti@1.21.6))
+ eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))
+ globals: 15.8.0
+ jsonc-eslint-parser: 2.4.0
+ local-pkg: 0.5.0
+ parse-gitignore: 2.0.0
+ picocolors: 1.0.1
+ toml-eslint-parser: 0.10.0
+ vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6))
+ yaml-eslint-parser: 1.2.3
+ yargs: 17.7.2
+ optionalDependencies:
+ eslint-plugin-format: 0.1.2(eslint@9.9.0(jiti@1.21.6))
+ transitivePeerDependencies:
+ - '@vue/compiler-sfc'
+ - supports-color
+ - svelte
+ - typescript
+ - vitest
+
+ '@antfu/install-pkg@0.1.1':
+ dependencies:
+ execa: 5.1.1
+ find-up: 5.0.0
+
+ '@antfu/install-pkg@0.3.3':
+ dependencies:
+ '@jsdevtools/ez-spawn': 3.0.4
+
+ '@antfu/utils@0.7.10': {}
+
+ '@babel/code-frame@7.24.7':
+ dependencies:
+ '@babel/highlight': 7.24.7
+ picocolors: 1.0.1
+
+ '@babel/compat-data@7.25.2': {}
+
+ '@babel/core@7.25.2':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/helper-compilation-targets': 7.25.2
+ '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
+ '@babel/helpers': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ convert-source-map: 2.0.0
+ debug: 4.3.6
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.24.8':
+ dependencies:
+ '@babel/types': 7.24.8
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/generator@7.25.0':
+ dependencies:
+ '@babel/types': 7.25.2
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-annotate-as-pure@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/helper-compilation-targets@7.25.2':
+ dependencies:
+ '@babel/compat-data': 7.25.2
+ '@babel/helper-validator-option': 7.24.8
+ browserslist: 4.23.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-annotate-as-pure': 7.24.7
+ '@babel/helper-environment-visitor': 7.24.7
+ '@babel/helper-function-name': 7.24.7
+ '@babel/helper-member-expression-to-functions': 7.24.8
+ '@babel/helper-optimise-call-expression': 7.24.7
+ '@babel/helper-replace-supers': 7.24.7(@babel/core@7.25.2)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+ '@babel/helper-split-export-declaration': 7.24.7
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-environment-visitor@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/helper-function-name@7.24.7':
+ dependencies:
+ '@babel/template': 7.24.7
+ '@babel/types': 7.24.8
+
+ '@babel/helper-hoist-variables@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/helper-member-expression-to-functions@7.24.8':
+ dependencies:
+ '@babel/traverse': 7.24.8
+ '@babel/types': 7.24.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-imports@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.24.8
+ '@babel/types': 7.24.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.24.8(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-environment-visitor': 7.24.7
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-simple-access': 7.24.7
+ '@babel/helper-split-export-declaration': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-simple-access': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ '@babel/traverse': 7.25.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-optimise-call-expression@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/helper-plugin-utils@7.24.8': {}
+
+ '@babel/helper-replace-supers@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-environment-visitor': 7.24.7
+ '@babel/helper-member-expression-to-functions': 7.24.8
+ '@babel/helper-optimise-call-expression': 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-simple-access@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.24.8
+ '@babel/types': 7.24.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.24.8
+ '@babel/types': 7.24.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-split-export-declaration@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/helper-string-parser@7.24.8': {}
+
+ '@babel/helper-validator-identifier@7.24.7': {}
+
+ '@babel/helper-validator-option@7.24.8': {}
+
+ '@babel/helpers@7.25.0':
+ dependencies:
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+
+ '@babel/highlight@7.24.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.1
+
+ '@babel/parser@7.24.8':
+ dependencies:
+ '@babel/types': 7.24.8
+
+ '@babel/parser@7.25.3':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-transforms': 7.24.8(@babel/core@7.25.2)
+ '@babel/helper-plugin-utils': 7.24.8
+ '@babel/helper-simple-access': 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-annotate-as-pure': 7.24.7
+ '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2)
+ '@babel/helper-plugin-utils': 7.24.8
+ '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+ '@babel/helper-validator-option': 7.24.8
+ '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
+ '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2)
+ '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/template@7.24.7':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.24.8
+ '@babel/types': 7.24.8
+
+ '@babel/template@7.25.0':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+
+ '@babel/traverse@7.24.8':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.24.8
+ '@babel/helper-environment-visitor': 7.24.7
+ '@babel/helper-function-name': 7.24.7
+ '@babel/helper-hoist-variables': 7.24.7
+ '@babel/helper-split-export-declaration': 7.24.7
+ '@babel/parser': 7.24.8
+ '@babel/types': 7.24.8
+ debug: 4.3.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/traverse@7.25.3':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+ debug: 4.3.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.24.8':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.8
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@babel/types@7.25.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.8
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@clack/core@0.3.4':
+ dependencies:
+ picocolors: 1.0.1
+ sisteransi: 1.0.5
+
+ '@clack/prompts@0.7.0':
+ dependencies:
+ '@clack/core': 0.3.4
+ picocolors: 1.0.1
+ sisteransi: 1.0.5
+
+ '@docsearch/css@3.6.1': {}
+
+ '@docsearch/js@3.6.1(@algolia/client-search@5.0.2)(search-insights@2.16.3)':
+ dependencies:
+ '@docsearch/react': 3.6.1(@algolia/client-search@5.0.2)(search-insights@2.16.3)
+ preact: 10.23.2
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/react'
+ - react
+ - react-dom
+ - search-insights
+
+ '@docsearch/react@3.6.1(@algolia/client-search@5.0.2)(search-insights@2.16.3)':
+ dependencies:
+ '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)(search-insights@2.16.3)
+ '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@5.0.2)(algoliasearch@4.24.0)
+ '@docsearch/css': 3.6.1
+ algoliasearch: 4.24.0
+ optionalDependencies:
+ search-insights: 2.16.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+
+ '@dprint/formatter@0.3.0': {}
+
+ '@dprint/markdown@0.17.1': {}
+
+ '@dprint/toml@0.6.2': {}
+
+ '@es-joy/jsdoccomment@0.43.1':
+ dependencies:
+ '@types/eslint': 8.56.10
+ '@types/estree': 1.0.5
+ '@typescript-eslint/types': 7.18.0
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 4.0.0
+
+ '@es-joy/jsdoccomment@0.46.0':
+ dependencies:
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 4.0.0
+
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
+ '@esbuild/aix-ppc64@0.23.0':
+ optional: true
+
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/android-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
+ '@esbuild/android-arm@0.23.0':
+ optional: true
+
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
+ '@esbuild/android-x64@0.23.0':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
+ '@esbuild/darwin-x64@0.23.0':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
+ '@esbuild/linux-arm@0.23.0':
+ optional: true
+
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
+ '@esbuild/linux-ia32@0.23.0':
+ optional: true
+
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-loong64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.23.0':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
+ '@esbuild/linux-s390x@0.23.0':
+ optional: true
+
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-x64@0.23.0':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
+ '@esbuild/sunos-x64@0.23.0':
+ optional: true
+
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/win32-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
+ '@esbuild/win32-ia32@0.23.0':
+ optional: true
+
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
+ '@esbuild/win32-x64@0.23.0':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0(jiti@1.21.6))':
+ dependencies:
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.11.0': {}
+
+ '@eslint/config-array@0.17.1':
+ dependencies:
+ '@eslint/object-schema': 2.1.4
+ debug: 4.3.6
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/eslintrc@3.1.0':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.6
+ espree: 10.1.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.9.0': {}
+
+ '@eslint/object-schema@2.1.4': {}
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.3.0': {}
+
+ '@hutson/parse-repository-url@5.0.0': {}
+
+ '@iarna/toml@2.2.5': {}
+
+ '@iconify/types@2.0.0': {}
+
+ '@iconify/utils@2.1.29':
+ dependencies:
+ '@antfu/install-pkg': 0.1.1
+ '@antfu/utils': 0.7.10
+ '@iconify/types': 2.0.0
+ debug: 4.3.6
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@iconify/utils@2.1.30':
+ dependencies:
+ '@antfu/install-pkg': 0.1.1
+ '@antfu/utils': 0.7.10
+ '@iconify/types': 2.0.0
+ debug: 4.3.6
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@inquirer/figures@1.0.3': {}
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@jsdevtools/ez-spawn@3.0.4':
+ dependencies:
+ call-me-maybe: 1.0.2
+ cross-spawn: 7.0.3
+ string-argv: 0.3.2
+ type-detect: 4.0.8
+
+ '@microsoft/api-extractor-model@7.29.4(@types/node@22.4.1)':
+ dependencies:
+ '@microsoft/tsdoc': 0.15.0
+ '@microsoft/tsdoc-config': 0.17.0
+ '@rushstack/node-core-library': 5.5.1(@types/node@22.4.1)
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@microsoft/api-extractor@7.47.4(@types/node@22.4.1)':
+ dependencies:
+ '@microsoft/api-extractor-model': 7.29.4(@types/node@22.4.1)
+ '@microsoft/tsdoc': 0.15.0
+ '@microsoft/tsdoc-config': 0.17.0
+ '@rushstack/node-core-library': 5.5.1(@types/node@22.4.1)
+ '@rushstack/rig-package': 0.5.3
+ '@rushstack/terminal': 0.13.3(@types/node@22.4.1)
+ '@rushstack/ts-command-line': 4.22.3(@types/node@22.4.1)
+ lodash: 4.17.21
+ minimatch: 3.0.8
+ resolve: 1.22.8
+ semver: 7.5.4
+ source-map: 0.6.1
+ typescript: 5.4.2
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@microsoft/tsdoc-config@0.17.0':
+ dependencies:
+ '@microsoft/tsdoc': 0.15.0
+ ajv: 8.12.0
+ jju: 1.4.0
+ resolve: 1.22.8
+
+ '@microsoft/tsdoc@0.15.0': {}
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@octokit/auth-token@4.0.0': {}
+
+ '@octokit/core@5.2.0':
+ dependencies:
+ '@octokit/auth-token': 4.0.0
+ '@octokit/graphql': 7.1.0
+ '@octokit/request': 8.4.0
+ '@octokit/request-error': 5.1.0
+ '@octokit/types': 13.5.0
+ before-after-hook: 2.2.3
+ universal-user-agent: 6.0.1
+
+ '@octokit/endpoint@9.0.5':
+ dependencies:
+ '@octokit/types': 13.5.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/graphql@7.1.0':
+ dependencies:
+ '@octokit/request': 8.4.0
+ '@octokit/types': 13.5.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/openapi-types@22.2.0': {}
+
+ '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.2.0)':
+ dependencies:
+ '@octokit/core': 5.2.0
+ '@octokit/types': 13.5.0
+
+ '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0)':
+ dependencies:
+ '@octokit/core': 5.2.0
+
+ '@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@5.2.0)':
+ dependencies:
+ '@octokit/core': 5.2.0
+ '@octokit/types': 13.5.0
+
+ '@octokit/request-error@5.1.0':
+ dependencies:
+ '@octokit/types': 13.5.0
+ deprecation: 2.3.1
+ once: 1.4.0
+
+ '@octokit/request@8.4.0':
+ dependencies:
+ '@octokit/endpoint': 9.0.5
+ '@octokit/request-error': 5.1.0
+ '@octokit/types': 13.5.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/rest@20.1.1':
+ dependencies:
+ '@octokit/core': 5.2.0
+ '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@5.2.0)
+ '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0)
+ '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@5.2.0)
+
+ '@octokit/types@13.5.0':
+ dependencies:
+ '@octokit/openapi-types': 22.2.0
+
+ '@pkgr/core@0.1.1': {}
+
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@2.2.2':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
+ '@polka/url@1.0.0-next.25': {}
+
+ '@release-it/conventional-changelog@8.0.1(release-it@17.6.0(typescript@5.5.4))':
+ dependencies:
+ concat-stream: 2.0.0
+ conventional-changelog: 5.1.0
+ conventional-recommended-bump: 9.0.0
+ release-it: 17.6.0(typescript@5.5.4)
+ semver: 7.6.2
+
+ '@rollup/pluginutils@5.1.0(rollup@4.21.0)':
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.21.0
+
+ '@rollup/rollup-android-arm-eabi@4.20.0':
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.21.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.20.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.21.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.20.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.21.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.20.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.21.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.20.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.21.0':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.20.0':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.21.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.20.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.21.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.20.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.21.0':
+ optional: true
+
+ '@rtsao/scc@1.1.0': {}
+
+ '@rushstack/node-core-library@5.5.1(@types/node@22.4.1)':
+ dependencies:
+ ajv: 8.13.0
+ ajv-draft-04: 1.0.0(ajv@8.13.0)
+ ajv-formats: 3.0.1(ajv@8.13.0)
+ fs-extra: 7.0.1
+ import-lazy: 4.0.0
+ jju: 1.4.0
+ resolve: 1.22.8
+ semver: 7.5.4
+ optionalDependencies:
+ '@types/node': 22.4.1
+
+ '@rushstack/rig-package@0.5.3':
+ dependencies:
+ resolve: 1.22.8
+ strip-json-comments: 3.1.1
+
+ '@rushstack/terminal@0.13.3(@types/node@22.4.1)':
+ dependencies:
+ '@rushstack/node-core-library': 5.5.1(@types/node@22.4.1)
+ supports-color: 8.1.1
+ optionalDependencies:
+ '@types/node': 22.4.1
+
+ '@rushstack/ts-command-line@4.22.3(@types/node@22.4.1)':
+ dependencies:
+ '@rushstack/terminal': 0.13.3(@types/node@22.4.1)
+ '@types/argparse': 1.0.38
+ argparse: 1.0.10
+ string-argv: 0.3.2
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@shikijs/core@1.14.1':
+ dependencies:
+ '@types/hast': 3.0.4
+
+ '@shikijs/transformers@1.14.1':
+ dependencies:
+ shiki: 1.14.1
+
+ '@sindresorhus/is@5.6.0': {}
+
+ '@sindresorhus/merge-streams@2.3.0': {}
+
+ '@stylistic/eslint-plugin-js@2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))':
+ dependencies:
+ '@types/eslint': 8.56.10
+ acorn: 8.12.1
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-visitor-keys: 4.0.0
+ espree: 10.1.0
+
+ '@stylistic/eslint-plugin-jsx@2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))':
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))
+ '@types/eslint': 8.56.10
+ eslint: 9.9.0(jiti@1.21.6)
+ estraverse: 5.3.0
+ picomatch: 4.0.2
+
+ '@stylistic/eslint-plugin-plus@2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@stylistic/eslint-plugin-ts@2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@stylistic/eslint-plugin@2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))
+ '@stylistic/eslint-plugin-jsx': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))
+ '@stylistic/eslint-plugin-plus': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@stylistic/eslint-plugin-ts': 2.6.0-beta.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@types/eslint': 8.56.10
+ eslint: 9.9.0(jiti@1.21.6)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@szmarczak/http-timer@5.0.1':
+ dependencies:
+ defer-to-connect: 2.0.1
+
+ '@tootallnate/quickjs-emscripten@0.23.0': {}
+
+ '@tresjs/core@4.2.2(three@0.167.1)(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ '@alvarosabu/utils': 3.2.0
+ '@vue/devtools-api': 6.6.3
+ '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4))
+ three: 0.167.1
+ vue: 3.4.38(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ '@tresjs/core@4.2.7(three@0.167.1)(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ '@alvarosabu/utils': 3.2.0
+ '@vue/devtools-api': 6.6.3
+ '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4))
+ three: 0.167.1
+ vue: 3.4.38(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ '@tresjs/eslint-config@1.1.0(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@antfu/eslint-config': 2.22.2(@vue/compiler-sfc@3.4.38)(eslint-plugin-format@0.1.2(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-plugin-format: 0.1.2(eslint@9.9.0(jiti@1.21.6))
+ transitivePeerDependencies:
+ - '@eslint-react/eslint-plugin'
+ - '@prettier/plugin-xml'
+ - '@unocss/eslint-plugin'
+ - '@vue/compiler-sfc'
+ - astro-eslint-parser
+ - eslint-plugin-astro
+ - eslint-plugin-react-hooks
+ - eslint-plugin-react-refresh
+ - eslint-plugin-solid
+ - eslint-plugin-svelte
+ - prettier-plugin-astro
+ - prettier-plugin-slidev
+ - supports-color
+ - svelte
+ - svelte-eslint-parser
+ - typescript
+ - vitest
+
+ '@tresjs/leches@0.14.0(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ '@unocss/core': 0.57.7
+ '@vueuse/components': 10.11.0(vue@3.4.38(typescript@5.5.4))
+ vite-plugin-css-injected-by-js: 3.5.1(vite@5.4.1(@types/node@22.4.1))
+ vue: 3.4.38(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vite
+
+ '@trysound/sax@0.2.0': {}
+
+ '@tweenjs/tween.js@23.1.2': {}
+
+ '@tweenjs/tween.js@23.1.3': {}
+
+ '@types/argparse@1.0.38': {}
+
+ '@types/draco3d@1.4.10': {}
+
+ '@types/eslint@8.56.10':
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+
+ '@types/estree@1.0.5': {}
+
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/http-cache-semantics@4.0.4': {}
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/linkify-it@5.0.0': {}
+
+ '@types/markdown-it@14.1.2':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+
+ '@types/mdast@3.0.15':
+ dependencies:
+ '@types/unist': 2.0.10
+
+ '@types/mdurl@2.0.0': {}
+
+ '@types/node@22.4.1':
+ dependencies:
+ undici-types: 6.19.8
+
+ '@types/normalize-package-data@2.4.4': {}
+
+ '@types/offscreencanvas@2019.7.3': {}
+
+ '@types/stats.js@0.17.3': {}
+
+ '@types/three@0.163.0':
+ dependencies:
+ '@tweenjs/tween.js': 23.1.2
+ '@types/stats.js': 0.17.3
+ '@types/webxr': 0.5.19
+ fflate: 0.8.2
+ meshoptimizer: 0.18.1
+
+ '@types/three@0.167.1':
+ dependencies:
+ '@tweenjs/tween.js': 23.1.3
+ '@types/stats.js': 0.17.3
+ '@types/webxr': 0.5.19
+ fflate: 0.8.2
+ meshoptimizer: 0.18.1
+
+ '@types/unist@2.0.10': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@types/web-bluetooth@0.0.20': {}
+
+ '@types/webxr@0.5.19': {}
+
+ '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@eslint-community/regexpp': 4.11.0
+ '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/scope-manager': 8.0.0-alpha.40
+ '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.0.0-alpha.40
+ eslint: 9.9.0(jiti@1.21.6)
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/eslint-plugin@8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@eslint-community/regexpp': 4.11.0
+ '@typescript-eslint/parser': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/scope-manager': 8.2.0
+ '@typescript-eslint/type-utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.2.0
+ eslint: 9.9.0(jiti@1.21.6)
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.0.0-alpha.40
+ '@typescript-eslint/types': 8.0.0-alpha.40
+ '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.0.0-alpha.40
+ debug: 4.3.6
+ eslint: 9.9.0(jiti@1.21.6)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.2.0
+ '@typescript-eslint/types': 8.2.0
+ '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.2.0
+ debug: 4.3.6
+ eslint: 9.9.0(jiti@1.21.6)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/scope-manager@7.18.0':
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
+
+ '@typescript-eslint/scope-manager@8.0.0-alpha.40':
+ dependencies:
+ '@typescript-eslint/types': 8.0.0-alpha.40
+ '@typescript-eslint/visitor-keys': 8.0.0-alpha.40
+
+ '@typescript-eslint/scope-manager@8.2.0':
+ dependencies:
+ '@typescript-eslint/types': 8.2.0
+ '@typescript-eslint/visitor-keys': 8.2.0
+
+ '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ debug: 4.3.6
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+
+ '@typescript-eslint/type-utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ debug: 4.3.6
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+
+ '@typescript-eslint/types@7.18.0': {}
+
+ '@typescript-eslint/types@8.0.0-alpha.40': {}
+
+ '@typescript-eslint/types@8.2.0': {}
+
+ '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)':
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
+ debug: 4.3.6
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/typescript-estree@8.0.0-alpha.40(typescript@5.5.4)':
dependencies:
- '@typescript-eslint/types': 7.8.0
- '@typescript-eslint/visitor-keys': 7.8.0
- debug: 4.3.4
+ '@typescript-eslint/types': 8.0.0-alpha.40
+ '@typescript-eslint/visitor-keys': 8.0.0-alpha.40
+ debug: 4.3.6
globby: 11.1.0
is-glob: 4.0.3
- minimatch: 9.0.4
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5):
- resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/typescript-estree@8.2.0(typescript@5.5.4)':
dependencies:
- '@typescript-eslint/types': 7.9.0
- '@typescript-eslint/visitor-keys': 7.9.0
- debug: 4.3.4
+ '@typescript-eslint/types': 8.2.0
+ '@typescript-eslint/visitor-keys': 8.2.0
+ debug: 4.3.6
globby: 11.1.0
is-glob: 4.0.3
- minimatch: 9.0.4
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- typescript: 5.4.5
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
+ '@typescript-eslint/utils@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.8.0
- '@typescript-eslint/types': 7.8.0
- '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
- eslint: 9.2.0
- semver: 7.6.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@typescript-eslint/utils@7.9.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
+ '@typescript-eslint/utils@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@typescript-eslint/scope-manager': 7.9.0
- '@typescript-eslint/types': 7.9.0
- '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
- eslint: 9.2.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@typescript-eslint/scope-manager': 8.0.0-alpha.40
+ '@typescript-eslint/types': 8.0.0-alpha.40
+ '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@typescript-eslint/visitor-keys@7.8.0:
- resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@typescript-eslint/scope-manager': 8.2.0
+ '@typescript-eslint/types': 8.2.0
+ '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@typescript-eslint/visitor-keys@7.18.0':
dependencies:
- '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
- dev: true
- /@typescript-eslint/visitor-keys@7.9.0:
- resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/visitor-keys@8.0.0-alpha.40':
dependencies:
- '@typescript-eslint/types': 7.9.0
+ '@typescript-eslint/types': 8.0.0-alpha.40
eslint-visitor-keys: 3.4.3
- dev: true
- /@unocss/astro@0.59.4(vite@5.2.11):
- resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
- peerDependencies:
- vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
- peerDependenciesMeta:
- vite:
- optional: true
+ '@typescript-eslint/visitor-keys@8.2.0':
+ dependencies:
+ '@typescript-eslint/types': 8.2.0
+ eslint-visitor-keys: 3.4.3
+
+ '@unocss/astro@0.61.8(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/reset': 0.59.4
- '@unocss/vite': 0.59.4(vite@5.2.11)
- vite: 5.2.11(@types/node@20.12.10)
+ '@unocss/core': 0.61.8
+ '@unocss/reset': 0.61.8
+ '@unocss/vite': 0.61.8(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ optionalDependencies:
+ vite: 5.4.1(@types/node@22.4.1)
transitivePeerDependencies:
- rollup
- dev: true
+ - supports-color
- /@unocss/cli@0.59.4:
- resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
- engines: {node: '>=14'}
- hasBin: true
+ '@unocss/astro@0.62.2(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))':
+ dependencies:
+ '@unocss/core': 0.62.2
+ '@unocss/reset': 0.62.2
+ '@unocss/vite': 0.62.2(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ optionalDependencies:
+ vite: 5.4.1(@types/node@22.4.1)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ '@unocss/cli@0.61.8(rollup@4.21.0)':
dependencies:
'@ampproject/remapping': 2.3.0
- '@rollup/pluginutils': 5.1.0
- '@unocss/config': 0.59.4
- '@unocss/core': 0.59.4
- '@unocss/preset-uno': 0.59.4
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ '@unocss/config': 0.61.8
+ '@unocss/core': 0.61.8
+ '@unocss/preset-uno': 0.61.8
cac: 6.7.14
chokidar: 3.6.0
colorette: 2.0.20
consola: 3.2.3
fast-glob: 3.3.2
- magic-string: 0.30.10
+ magic-string: 0.30.11
pathe: 1.1.2
perfect-debounce: 1.0.0
transitivePeerDependencies:
- rollup
- dev: true
+ - supports-color
- /@unocss/config@0.59.4:
- resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
- engines: {node: '>=14'}
+ '@unocss/cli@0.62.2(rollup@4.21.0)':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ '@unocss/config': 0.62.2
+ '@unocss/core': 0.62.2
+ '@unocss/preset-uno': 0.62.2
+ cac: 6.7.14
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ consola: 3.2.3
+ magic-string: 0.30.11
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ tinyglobby: 0.2.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ '@unocss/config@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- unconfig: 0.3.13
- dev: true
+ '@unocss/core': 0.61.8
+ unconfig: 0.5.4
+ transitivePeerDependencies:
+ - supports-color
- /@unocss/core@0.57.7:
- resolution: {integrity: sha512-1d36M0CV3yC80J0pqOa5rH1BX6g2iZdtKmIb3oSBN4AWnMCSrrJEPBrUikyMq2TEQTrYWJIVDzv5A9hBUat3TA==}
- dev: true
+ '@unocss/config@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+ unconfig: 0.5.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@unocss/core@0.57.7': {}
- /@unocss/core@0.59.4:
- resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
- dev: true
+ '@unocss/core@0.61.8': {}
- /@unocss/extractor-arbitrary-variants@0.59.4:
- resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
+ '@unocss/core@0.62.2': {}
+
+ '@unocss/extractor-arbitrary-variants@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+
+ '@unocss/extractor-arbitrary-variants@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
- /@unocss/inspector@0.59.4:
- resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
+ '@unocss/inspector@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/rule-utils': 0.59.4
+ '@unocss/core': 0.61.8
+ '@unocss/rule-utils': 0.61.8
gzip-size: 6.0.0
sirv: 2.0.4
- dev: true
- /@unocss/postcss@0.59.4(postcss@8.4.38):
- resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
- engines: {node: '>=14'}
- peerDependencies:
- postcss: ^8.4.21
+ '@unocss/inspector@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+ '@unocss/rule-utils': 0.62.2
+ gzip-size: 6.0.0
+ sirv: 2.0.4
+
+ '@unocss/postcss@0.61.8(postcss@8.4.41)':
dependencies:
- '@unocss/config': 0.59.4
- '@unocss/core': 0.59.4
- '@unocss/rule-utils': 0.59.4
+ '@unocss/config': 0.61.8
+ '@unocss/core': 0.61.8
+ '@unocss/rule-utils': 0.61.8
css-tree: 2.3.1
fast-glob: 3.3.2
- magic-string: 0.30.10
- postcss: 8.4.38
- dev: true
+ magic-string: 0.30.11
+ postcss: 8.4.41
+ transitivePeerDependencies:
+ - supports-color
+
+ '@unocss/postcss@0.62.2(postcss@8.4.41)':
+ dependencies:
+ '@unocss/config': 0.62.2
+ '@unocss/core': 0.62.2
+ '@unocss/rule-utils': 0.62.2
+ css-tree: 2.3.1
+ magic-string: 0.30.11
+ postcss: 8.4.41
+ tinyglobby: 0.2.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@unocss/preset-attributify@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
- /@unocss/preset-attributify@0.59.4:
- resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
+ '@unocss/preset-attributify@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
+
+ '@unocss/preset-icons@0.61.8':
+ dependencies:
+ '@iconify/utils': 2.1.29
+ '@unocss/core': 0.61.8
+ ofetch: 1.3.4
+ transitivePeerDependencies:
+ - supports-color
- /@unocss/preset-icons@0.59.4:
- resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
+ '@unocss/preset-icons@0.62.2':
dependencies:
- '@iconify/utils': 2.1.23
- '@unocss/core': 0.59.4
+ '@iconify/utils': 2.1.30
+ '@unocss/core': 0.62.2
ofetch: 1.3.4
transitivePeerDependencies:
- supports-color
- dev: true
- /@unocss/preset-mini@0.59.4:
- resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
+ '@unocss/preset-mini@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+ '@unocss/extractor-arbitrary-variants': 0.61.8
+ '@unocss/rule-utils': 0.61.8
+
+ '@unocss/preset-mini@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+ '@unocss/extractor-arbitrary-variants': 0.62.2
+ '@unocss/rule-utils': 0.62.2
+
+ '@unocss/preset-tagify@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+
+ '@unocss/preset-tagify@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+
+ '@unocss/preset-typography@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/extractor-arbitrary-variants': 0.59.4
- '@unocss/rule-utils': 0.59.4
- dev: true
+ '@unocss/core': 0.61.8
+ '@unocss/preset-mini': 0.61.8
- /@unocss/preset-tagify@0.59.4:
- resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
+ '@unocss/preset-typography@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
+ '@unocss/preset-mini': 0.62.2
- /@unocss/preset-typography@0.59.4:
- resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
+ '@unocss/preset-uno@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/preset-mini': 0.59.4
- dev: true
+ '@unocss/core': 0.61.8
+ '@unocss/preset-mini': 0.61.8
+ '@unocss/preset-wind': 0.61.8
+ '@unocss/rule-utils': 0.61.8
- /@unocss/preset-uno@0.59.4:
- resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
+ '@unocss/preset-uno@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/preset-mini': 0.59.4
- '@unocss/preset-wind': 0.59.4
- '@unocss/rule-utils': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
+ '@unocss/preset-mini': 0.62.2
+ '@unocss/preset-wind': 0.62.2
+ '@unocss/rule-utils': 0.62.2
- /@unocss/preset-web-fonts@0.59.4:
- resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
+ '@unocss/preset-web-fonts@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
+ '@unocss/core': 0.61.8
ofetch: 1.3.4
- dev: true
- /@unocss/preset-wind@0.59.4:
- resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
+ '@unocss/preset-web-fonts@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/preset-mini': 0.59.4
- '@unocss/rule-utils': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
+ ofetch: 1.3.4
- /@unocss/reset@0.59.4:
- resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
- dev: true
+ '@unocss/preset-wind@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+ '@unocss/preset-mini': 0.61.8
+ '@unocss/rule-utils': 0.61.8
- /@unocss/rule-utils@0.59.4:
- resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
- engines: {node: '>=14'}
+ '@unocss/preset-wind@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- magic-string: 0.30.10
- dev: true
+ '@unocss/core': 0.62.2
+ '@unocss/preset-mini': 0.62.2
+ '@unocss/rule-utils': 0.62.2
+
+ '@unocss/reset@0.61.8': {}
+
+ '@unocss/reset@0.62.2': {}
+
+ '@unocss/rule-utils@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+ magic-string: 0.30.11
+
+ '@unocss/rule-utils@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+ magic-string: 0.30.11
+
+ '@unocss/scope@0.61.8': {}
- /@unocss/scope@0.59.4:
- resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
- dev: true
+ '@unocss/scope@0.62.2': {}
+
+ '@unocss/transformer-attributify-jsx-babel@0.61.8':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
+ '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2)
+ '@unocss/core': 0.61.8
+ transitivePeerDependencies:
+ - supports-color
- /@unocss/transformer-attributify-jsx-babel@0.59.4:
- resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
+ '@unocss/transformer-attributify-jsx-babel@0.62.2':
dependencies:
- '@babel/core': 7.24.5
- '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
- '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
- '@unocss/core': 0.59.4
+ '@babel/core': 7.25.2
+ '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
+ '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2)
+ '@unocss/core': 0.62.2
transitivePeerDependencies:
- supports-color
- dev: true
- /@unocss/transformer-attributify-jsx@0.59.4:
- resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
+ '@unocss/transformer-attributify-jsx@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.61.8
- /@unocss/transformer-compile-class@0.59.4:
- resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
+ '@unocss/transformer-attributify-jsx@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
- /@unocss/transformer-directives@0.59.4:
- resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
+ '@unocss/transformer-compile-class@0.61.8':
dependencies:
- '@unocss/core': 0.59.4
- '@unocss/rule-utils': 0.59.4
+ '@unocss/core': 0.61.8
+
+ '@unocss/transformer-compile-class@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+
+ '@unocss/transformer-directives@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+ '@unocss/rule-utils': 0.61.8
css-tree: 2.3.1
- dev: true
- /@unocss/transformer-variant-group@0.59.4:
- resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
+ '@unocss/transformer-directives@0.62.2':
dependencies:
- '@unocss/core': 0.59.4
- dev: true
+ '@unocss/core': 0.62.2
+ '@unocss/rule-utils': 0.62.2
+ css-tree: 2.3.1
- /@unocss/vite@0.59.4(vite@5.2.11):
- resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
- peerDependencies:
- vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ '@unocss/transformer-variant-group@0.61.8':
+ dependencies:
+ '@unocss/core': 0.61.8
+
+ '@unocss/transformer-variant-group@0.62.2':
+ dependencies:
+ '@unocss/core': 0.62.2
+
+ '@unocss/vite@0.61.8(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))':
dependencies:
'@ampproject/remapping': 2.3.0
- '@rollup/pluginutils': 5.1.0
- '@unocss/config': 0.59.4
- '@unocss/core': 0.59.4
- '@unocss/inspector': 0.59.4
- '@unocss/scope': 0.59.4
- '@unocss/transformer-directives': 0.59.4
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ '@unocss/config': 0.61.8
+ '@unocss/core': 0.61.8
+ '@unocss/inspector': 0.61.8
+ '@unocss/scope': 0.61.8
+ '@unocss/transformer-directives': 0.61.8
chokidar: 3.6.0
fast-glob: 3.3.2
- magic-string: 0.30.10
- vite: 5.2.11(@types/node@20.12.10)
+ magic-string: 0.30.11
+ vite: 5.4.1(@types/node@22.4.1)
transitivePeerDependencies:
- rollup
- dev: true
+ - supports-color
- /@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.27):
- resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- vite: ^5.0.0
- vue: ^3.2.25
+ '@unocss/vite@0.62.2(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))':
dependencies:
- vite: 5.2.11(@types/node@20.12.10)
- vue: 3.4.27(typescript@5.4.5)
- dev: true
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ '@unocss/config': 0.62.2
+ '@unocss/core': 0.62.2
+ '@unocss/inspector': 0.62.2
+ '@unocss/scope': 0.62.2
+ '@unocss/transformer-directives': 0.62.2
+ chokidar: 3.6.0
+ magic-string: 0.30.11
+ tinyglobby: 0.2.2
+ vite: 5.4.1(@types/node@22.4.1)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
- /@volar/language-core@1.11.1:
- resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==}
+ '@vitejs/plugin-vue@5.1.2(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@volar/source-map': 1.11.1
- dev: true
+ vite: 5.4.1(@types/node@22.4.1)
+ vue: 3.4.38(typescript@5.5.4)
- /@volar/language-core@2.2.1:
- resolution: {integrity: sha512-iHJAZKcYldZgyS8gx6DfIZApViVBeqbf6iPhqoZpG5A6F4zsZiFldKfwaKaBA3/wnOTWE2i8VUbXywI1WywCPg==}
+ '@volar/language-core@2.3.4':
dependencies:
- '@volar/source-map': 2.2.1
- dev: true
+ '@volar/source-map': 2.3.4
- /@volar/source-map@1.11.1:
- resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==}
+ '@volar/language-core@2.4.0-alpha.18':
dependencies:
- muggle-string: 0.3.1
- dev: true
+ '@volar/source-map': 2.4.0-alpha.18
- /@volar/source-map@2.2.1:
- resolution: {integrity: sha512-w1Bgpguhbp7YTr7VUFu6gb4iAZjeEPsOX4zpgiuvlldbzvIWDWy4t0jVifsIsxZ99HAu+c3swiME7wt+GeNqhA==}
- dependencies:
- muggle-string: 0.4.1
- dev: true
+ '@volar/source-map@2.3.4': {}
- /@volar/typescript@1.11.1:
- resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==}
+ '@volar/source-map@2.4.0-alpha.18': {}
+
+ '@volar/typescript@2.3.4':
dependencies:
- '@volar/language-core': 1.11.1
+ '@volar/language-core': 2.3.4
path-browserify: 1.0.1
- dev: true
+ vscode-uri: 3.0.8
- /@volar/typescript@2.2.1:
- resolution: {integrity: sha512-Z/tqluR7Hz5/5dCqQp7wo9C/6tSv/IYl+tTzgzUt2NjTq95bKSsuO4E+V06D0c+3aP9x5S9jggLqw451hpnc6Q==}
+ '@volar/typescript@2.4.0-alpha.18':
dependencies:
- '@volar/language-core': 2.2.1
+ '@volar/language-core': 2.4.0-alpha.18
path-browserify: 1.0.1
- dev: true
+ vscode-uri: 3.0.8
+
+ '@vue/compiler-core@3.4.34':
+ dependencies:
+ '@babel/parser': 7.24.8
+ '@vue/shared': 3.4.34
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
- /@vue/compiler-core@3.4.27:
- resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
+ '@vue/compiler-core@3.4.38':
dependencies:
- '@babel/parser': 7.24.5
- '@vue/shared': 3.4.27
+ '@babel/parser': 7.25.3
+ '@vue/shared': 3.4.38
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
- /@vue/compiler-dom@3.4.27:
- resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
+ '@vue/compiler-dom@3.4.34':
+ dependencies:
+ '@vue/compiler-core': 3.4.34
+ '@vue/shared': 3.4.34
+
+ '@vue/compiler-dom@3.4.38':
dependencies:
- '@vue/compiler-core': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/compiler-core': 3.4.38
+ '@vue/shared': 3.4.38
- /@vue/compiler-sfc@3.4.27:
- resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
+ '@vue/compiler-sfc@3.4.38':
dependencies:
- '@babel/parser': 7.24.5
- '@vue/compiler-core': 3.4.27
- '@vue/compiler-dom': 3.4.27
- '@vue/compiler-ssr': 3.4.27
- '@vue/shared': 3.4.27
+ '@babel/parser': 7.25.3
+ '@vue/compiler-core': 3.4.38
+ '@vue/compiler-dom': 3.4.38
+ '@vue/compiler-ssr': 3.4.38
+ '@vue/shared': 3.4.38
estree-walker: 2.0.2
- magic-string: 0.30.10
- postcss: 8.4.38
+ magic-string: 0.30.11
+ postcss: 8.4.41
source-map-js: 1.2.0
- /@vue/compiler-ssr@3.4.27:
- resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
+ '@vue/compiler-ssr@3.4.38':
+ dependencies:
+ '@vue/compiler-dom': 3.4.38
+ '@vue/shared': 3.4.38
+
+ '@vue/compiler-vue2@2.7.16':
dependencies:
- '@vue/compiler-dom': 3.4.27
- '@vue/shared': 3.4.27
+ de-indent: 1.0.2
+ he: 1.2.0
- /@vue/devtools-api@6.6.1:
- resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
- dev: false
+ '@vue/devtools-api@6.6.3': {}
- /@vue/devtools-api@7.1.3(vue@3.4.27):
- resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
+ '@vue/devtools-api@7.3.8':
dependencies:
- '@vue/devtools-kit': 7.1.3(vue@3.4.27)
- transitivePeerDependencies:
- - vue
- dev: true
+ '@vue/devtools-kit': 7.3.8
- /@vue/devtools-kit@7.1.3(vue@3.4.27):
- resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
- peerDependencies:
- vue: ^3.0.0
+ '@vue/devtools-kit@7.3.8':
dependencies:
- '@vue/devtools-shared': 7.1.3
+ '@vue/devtools-shared': 7.3.8
+ birpc: 0.2.17
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
- vue: 3.4.27(typescript@5.4.5)
- dev: true
+ superjson: 2.2.1
- /@vue/devtools-shared@7.1.3:
- resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==}
+ '@vue/devtools-shared@7.3.8':
dependencies:
- rfdc: 1.3.1
- dev: true
+ rfdc: 1.4.1
- /@vue/language-core@1.8.27(typescript@5.4.5):
- resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@vue/language-core@2.0.28(typescript@5.5.4)':
dependencies:
- '@volar/language-core': 1.11.1
- '@volar/source-map': 1.11.1
- '@vue/compiler-dom': 3.4.27
- '@vue/shared': 3.4.27
+ '@volar/language-core': 2.4.0-alpha.18
+ '@vue/compiler-dom': 3.4.34
+ '@vue/shared': 3.4.34
computeds: 0.0.1
- minimatch: 9.0.4
- muggle-string: 0.3.1
+ minimatch: 9.0.5
+ muggle-string: 0.4.1
path-browserify: 1.0.1
- typescript: 5.4.5
vue-template-compiler: 2.7.16
- dev: true
+ optionalDependencies:
+ typescript: 5.5.4
- /@vue/language-core@2.0.16(typescript@5.4.5):
- resolution: {integrity: sha512-Bc2sexRH99pznOph8mLw2BlRZ9edm7tW51kcBXgx8adAoOcZUWJj3UNSsdQ6H9Y8meGz7BoazVrVo/jUukIsPw==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@vue/language-core@2.0.29(typescript@5.5.4)':
dependencies:
- '@volar/language-core': 2.2.1
- '@vue/compiler-dom': 3.4.27
- '@vue/shared': 3.4.27
+ '@volar/language-core': 2.4.0-alpha.18
+ '@vue/compiler-dom': 3.4.38
+ '@vue/compiler-vue2': 2.7.16
+ '@vue/shared': 3.4.38
computeds: 0.0.1
- minimatch: 9.0.4
+ minimatch: 9.0.5
+ muggle-string: 0.4.1
path-browserify: 1.0.1
- typescript: 5.4.5
- vue-template-compiler: 2.7.16
- dev: true
+ optionalDependencies:
+ typescript: 5.5.4
- /@vue/reactivity@3.4.27:
- resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
+ '@vue/reactivity@3.4.38':
dependencies:
- '@vue/shared': 3.4.27
+ '@vue/shared': 3.4.38
- /@vue/runtime-core@3.4.27:
- resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
+ '@vue/runtime-core@3.4.38':
dependencies:
- '@vue/reactivity': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/reactivity': 3.4.38
+ '@vue/shared': 3.4.38
- /@vue/runtime-dom@3.4.27:
- resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
+ '@vue/runtime-dom@3.4.38':
dependencies:
- '@vue/runtime-core': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/reactivity': 3.4.38
+ '@vue/runtime-core': 3.4.38
+ '@vue/shared': 3.4.38
csstype: 3.1.3
- /@vue/server-renderer@3.4.27(vue@3.4.27):
- resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
- peerDependencies:
- vue: 3.4.27
+ '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@vue/compiler-ssr': 3.4.27
- '@vue/shared': 3.4.27
- vue: 3.4.27(typescript@5.4.5)
+ '@vue/compiler-ssr': 3.4.38
+ '@vue/shared': 3.4.38
+ vue: 3.4.38(typescript@5.5.4)
- /@vue/shared@3.4.27:
- resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
+ '@vue/shared@3.4.34': {}
- /@vueuse/components@10.9.0(vue@3.4.27):
- resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==}
+ '@vue/shared@3.4.38': {}
+
+ '@vueuse/components@10.11.0(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@vueuse/core': 10.9.0(vue@3.4.27)
- '@vueuse/shared': 10.9.0(vue@3.4.27)
- vue-demi: 0.14.7(vue@3.4.27)
+ '@vueuse/core': 10.11.0(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/shared': 10.11.0(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.8(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
- /@vueuse/core@10.9.0(vue@3.4.27):
- resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
+ '@vueuse/core@10.11.0(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.9.0
- '@vueuse/shared': 10.9.0(vue@3.4.27)
- vue-demi: 0.14.7(vue@3.4.27)
+ '@vueuse/metadata': 10.11.0
+ '@vueuse/shared': 10.11.0(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.8(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.27):
- resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
- peerDependencies:
- async-validator: '*'
- axios: '*'
- change-case: '*'
- drauu: '*'
- focus-trap: '*'
- fuse.js: '*'
- idb-keyval: '*'
- jwt-decode: '*'
- nprogress: '*'
- qrcode: '*'
- sortablejs: '*'
- universal-cookie: '*'
- peerDependenciesMeta:
- async-validator:
- optional: true
- axios:
- optional: true
- change-case:
- optional: true
- drauu:
- optional: true
- focus-trap:
- optional: true
- fuse.js:
- optional: true
- idb-keyval:
- optional: true
- jwt-decode:
- optional: true
- nprogress:
- optional: true
- qrcode:
- optional: true
- sortablejs:
- optional: true
- universal-cookie:
- optional: true
+ '@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 10.11.1
+ '@vueuse/shared': 10.11.1(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/core@11.0.1(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 11.0.1
+ '@vueuse/shared': 11.0.1(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/integrations@11.0.1(focus-trap@7.5.4)(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@vueuse/core': 10.9.0(vue@3.4.27)
- '@vueuse/shared': 10.9.0(vue@3.4.27)
+ '@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/shared': 11.0.1(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
+ optionalDependencies:
focus-trap: 7.5.4
- vue-demi: 0.14.7(vue@3.4.27)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
- /@vueuse/metadata@10.9.0:
- resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
+ '@vueuse/metadata@10.11.0': {}
- /@vueuse/shared@10.9.0(vue@3.4.27):
- resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
+ '@vueuse/metadata@10.11.1': {}
+
+ '@vueuse/metadata@11.0.1': {}
+
+ '@vueuse/shared@10.11.0(vue@3.4.38(typescript@5.5.4))':
dependencies:
- vue-demi: 0.14.7(vue@3.4.27)
+ vue-demi: 0.14.8(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- /JSONStream@1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
- hasBin: true
+ '@vueuse/shared@10.11.1(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/shared@11.0.1(vue@3.4.38(typescript@5.5.4))':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
through: 2.3.8
- dev: true
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-jsx@5.3.2(acorn@8.12.1):
dependencies:
- acorn: 8.11.3
- dev: true
+ acorn: 8.12.1
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
+ acorn@8.12.1: {}
- /add-stream@1.0.0:
- resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
- dev: true
+ add-stream@1.0.0: {}
- /agent-base@7.1.1:
- resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
- engines: {node: '>= 14'}
+ agent-base@7.1.1:
dependencies:
- debug: 4.3.4
+ debug: 4.3.6
transitivePeerDependencies:
- supports-color
- dev: true
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ ajv-draft-04@1.0.0(ajv@8.13.0):
+ optionalDependencies:
+ ajv: 8.13.0
+
+ ajv-formats@3.0.1(ajv@8.13.0):
+ optionalDependencies:
+ ajv: 8.13.0
+
+ ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- dev: true
-
- /algoliasearch@4.23.3:
- resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
- dependencies:
- '@algolia/cache-browser-local-storage': 4.23.3
- '@algolia/cache-common': 4.23.3
- '@algolia/cache-in-memory': 4.23.3
- '@algolia/client-account': 4.23.3
- '@algolia/client-analytics': 4.23.3
- '@algolia/client-common': 4.23.3
- '@algolia/client-personalization': 4.23.3
- '@algolia/client-search': 4.23.3
- '@algolia/logger-common': 4.23.3
- '@algolia/logger-console': 4.23.3
- '@algolia/recommend': 4.23.3
- '@algolia/requester-browser-xhr': 4.23.3
- '@algolia/requester-common': 4.23.3
- '@algolia/requester-node-http': 4.23.3
- '@algolia/transporter': 4.23.3
- dev: true
-
- /ansi-align@3.0.1:
- resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ajv@8.12.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+
+ ajv@8.13.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+
+ algoliasearch@4.24.0:
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.24.0
+ '@algolia/cache-common': 4.24.0
+ '@algolia/cache-in-memory': 4.24.0
+ '@algolia/client-account': 4.24.0
+ '@algolia/client-analytics': 4.24.0
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-personalization': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/logger-console': 4.24.0
+ '@algolia/recommend': 4.24.0
+ '@algolia/requester-browser-xhr': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/requester-node-http': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ ansi-align@3.0.1:
dependencies:
string-width: 4.2.3
- dev: true
- /ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
+ ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
- dev: true
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
+ ansi-regex@5.0.1: {}
- /ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
- dev: true
+ ansi-regex@6.0.1: {}
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ ansi-styles@3.2.1:
dependencies:
color-convert: 1.9.3
- dev: true
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+
+ ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- dev: true
- /ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
- dev: true
+ ansi-styles@6.2.1: {}
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
+ anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
- dev: true
- /are-docs-informative@0.0.2:
- resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
- engines: {node: '>=14'}
- dev: true
+ are-docs-informative@0.0.2: {}
- /argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
- dev: true
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
- dev: true
+ argparse@2.0.1: {}
- /array-ify@1.0.0:
- resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
- dev: true
-
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
+ array-ify@1.0.0: {}
- /array.prototype.map@1.0.7:
- resolution: {integrity: sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-array-method-boxes-properly: 1.0.0
- es-object-atoms: 1.0.0
- is-string: 1.0.7
- dev: true
+ array-union@2.1.0: {}
- /arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
- dev: true
-
- /ast-types@0.13.4:
- resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
- engines: {node: '>=4'}
+ ast-types@0.13.4:
dependencies:
- tslib: 2.6.2
- dev: true
+ tslib: 2.6.3
- /async-retry@1.3.3:
- resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==}
+ async-retry@1.3.3:
dependencies:
retry: 0.13.1
- dev: true
- /available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- possible-typed-array-names: 1.0.0
- dev: true
+ balanced-match@1.0.2: {}
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
+ base64-js@1.5.1: {}
- /base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- dev: true
+ basic-ftp@5.0.5: {}
- /basic-ftp@5.0.5:
- resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
- engines: {node: '>=10.0.0'}
- dev: true
+ before-after-hook@2.2.3: {}
- /before-after-hook@2.2.3:
- resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
- dev: true
+ binary-extensions@2.3.0: {}
- /binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
- dev: true
+ birpc@0.2.17: {}
- /bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ bl@4.1.0:
dependencies:
buffer: 5.7.1
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- dev: true
+ boolbase@1.0.0: {}
- /boxen@7.1.1:
- resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
- engines: {node: '>=14.16'}
+ boxen@7.1.1:
dependencies:
ansi-align: 3.0.1
camelcase: 7.0.1
@@ -2857,75 +6751,50 @@ packages:
type-fest: 2.19.0
widest-line: 4.0.1
wrap-ansi: 8.1.0
- dev: true
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- dev: true
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
- dev: true
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ braces@3.0.3:
dependencies:
- fill-range: 7.0.1
- dev: true
+ fill-range: 7.1.1
- /browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ browserslist@4.23.2:
dependencies:
- caniuse-lite: 1.0.30001616
- electron-to-chromium: 1.4.757
+ caniuse-lite: 1.0.30001642
+ electron-to-chromium: 1.4.827
node-releases: 2.0.14
- update-browserslist-db: 1.0.15(browserslist@4.23.0)
- dev: true
+ update-browserslist-db: 1.1.0(browserslist@4.23.2)
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
+ buffer-from@1.1.2: {}
- /buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ buffer@5.7.1:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
- dev: true
- /builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
- dev: true
+ builtin-modules@3.3.0: {}
- /bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
+ bundle-name@4.1.0:
dependencies:
run-applescript: 7.0.0
- dev: true
- /cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
- dev: true
+ bundle-require@5.0.0(esbuild@0.23.0):
+ dependencies:
+ esbuild: 0.23.0
+ load-tsconfig: 0.2.5
- /cacheable-lookup@7.0.0:
- resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
- engines: {node: '>=14.16'}
- dev: true
+ cac@6.7.14: {}
- /cacheable-request@10.2.14:
- resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
- engines: {node: '>=14.16'}
+ cacheable-lookup@7.0.0: {}
+
+ cacheable-request@10.2.14:
dependencies:
'@types/http-cache-semantics': 4.0.4
get-stream: 6.0.1
@@ -2934,89 +6803,44 @@ packages:
mimic-response: 4.0.0
normalize-url: 8.0.1
responselike: 3.0.0
- dev: true
-
- /call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.2
- dev: true
- /call-me-maybe@1.0.2:
- resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
- dev: true
+ call-me-maybe@1.0.2: {}
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
+ callsites@3.1.0: {}
- /camelcase@7.0.1:
- resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
- engines: {node: '>=14.16'}
- dev: true
+ camelcase@7.0.1: {}
- /camera-controls@2.8.3(three@0.164.1):
- resolution: {integrity: sha512-zFjqUR6onLkG+z1A6vAWfzovxZxWVSvp6e5t3lfZgfgPZtX3n74aykNAUaoRbq8Y3tOxadHkDjbfGDOP9hFf2w==}
- peerDependencies:
- three: '>=0.126.1'
+ camera-controls@2.9.0(three@0.167.1):
dependencies:
- three: 0.164.1
- dev: false
+ three: 0.167.1
- /caniuse-lite@1.0.30001616:
- resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==}
- dev: true
+ caniuse-lite@1.0.30001642: {}
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- dev: true
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- dev: true
- /chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- dev: true
+ chalk@5.3.0: {}
- /character-entities-legacy@1.1.4:
- resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
- dev: true
+ character-entities-legacy@1.1.4: {}
- /character-entities@1.2.4:
- resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
- dev: true
+ character-entities@1.2.4: {}
- /character-reference-invalid@1.1.4:
- resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
- dev: true
+ character-reference-invalid@1.1.4: {}
- /chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- dev: true
+ chardet@0.7.0: {}
- /chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
+ chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
- braces: 3.0.2
+ braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
@@ -3024,189 +6848,103 @@ packages:
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
- dev: true
- /ci-info@3.9.0:
- resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
- engines: {node: '>=8'}
- dev: true
+ ci-info@3.9.0: {}
- /ci-info@4.0.0:
- resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
- engines: {node: '>=8'}
- dev: true
+ ci-info@4.0.0: {}
- /clean-regexp@1.0.0:
- resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
- engines: {node: '>=4'}
+ clean-regexp@1.0.0:
dependencies:
escape-string-regexp: 1.0.5
- dev: true
- /cli-boxes@3.0.0:
- resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
- engines: {node: '>=10'}
- dev: true
+ cli-boxes@3.0.0: {}
- /cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
+ cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
- dev: true
- /cli-cursor@4.0.0:
- resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ cli-cursor@4.0.0:
dependencies:
restore-cursor: 4.0.0
- dev: true
- /cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
- dev: true
+ cli-spinners@2.9.2: {}
- /cli-width@4.1.0:
- resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
- engines: {node: '>= 12'}
- dev: true
+ cli-width@4.1.0: {}
- /cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
+ cliui@8.0.1:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- dev: true
- /clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
- dev: true
+ clone@1.0.4: {}
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ color-convert@1.9.3:
dependencies:
color-name: 1.1.3
- dev: true
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ color-convert@2.0.1:
dependencies:
color-name: 1.1.4
- dev: true
-
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- dev: true
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
+ color-name@1.1.3: {}
- /colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
- dev: true
+ color-name@1.1.4: {}
- /commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
- dev: true
+ colorette@2.0.20: {}
- /commander@9.5.0:
- resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
- engines: {node: ^12.20.0 || >=14}
- requiresBuild: true
- dev: true
- optional: true
+ commander@7.2.0: {}
- /comment-parser@1.4.1:
- resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
- engines: {node: '>= 12.0.0'}
- dev: true
+ comment-parser@1.4.1: {}
- /compare-func@2.0.0:
- resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ compare-func@2.0.0:
dependencies:
array-ify: 1.0.0
dot-prop: 5.3.0
- dev: true
- /computeds@0.0.1:
- resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
- dev: true
+ compare-versions@6.1.1: {}
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
+ computeds@0.0.1: {}
- /concat-stream@2.0.0:
- resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
- engines: {'0': node >= 6.0}
+ concat-map@0.0.1: {}
+
+ concat-stream@2.0.0:
dependencies:
buffer-from: 1.1.2
inherits: 2.0.4
readable-stream: 3.6.2
typedarray: 0.0.6
- dev: true
- /confbox@0.1.7:
- resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
- dev: true
+ confbox@0.1.7: {}
- /config-chain@1.1.13:
- resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+ config-chain@1.1.13:
dependencies:
ini: 1.3.8
proto-list: 1.2.4
- dev: true
- /configstore@6.0.0:
- resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
- engines: {node: '>=12'}
+ configstore@6.0.0:
dependencies:
dot-prop: 6.0.1
graceful-fs: 4.2.11
unique-string: 3.0.0
write-file-atomic: 3.0.3
xdg-basedir: 5.1.0
- dev: true
- /consola@3.2.3:
- resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
- engines: {node: ^14.18.0 || >=16.10.0}
- dev: true
+ consola@3.2.3: {}
- /conventional-changelog-angular@7.0.0:
- resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
- engines: {node: '>=16'}
+ conventional-changelog-angular@7.0.0:
dependencies:
compare-func: 2.0.0
- dev: true
- /conventional-changelog-atom@4.0.0:
- resolution: {integrity: sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-atom@4.0.0: {}
- /conventional-changelog-codemirror@4.0.0:
- resolution: {integrity: sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-codemirror@4.0.0: {}
- /conventional-changelog-conventionalcommits@7.0.2:
- resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
- engines: {node: '>=16'}
+ conventional-changelog-conventionalcommits@7.0.2:
dependencies:
compare-func: 2.0.0
- dev: true
- /conventional-changelog-core@7.0.0:
- resolution: {integrity: sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==}
- engines: {node: '>=16'}
+ conventional-changelog-core@7.0.0:
dependencies:
'@hutson/parse-repository-url': 5.0.0
add-stream: 1.0.0
@@ -3215,59 +6953,34 @@ packages:
git-raw-commits: 4.0.0
git-semver-tags: 7.0.1
hosted-git-info: 7.0.2
- normalize-package-data: 6.0.1
+ normalize-package-data: 6.0.2
read-pkg: 8.1.0
read-pkg-up: 10.1.0
- dev: true
- /conventional-changelog-ember@4.0.0:
- resolution: {integrity: sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-ember@4.0.0: {}
- /conventional-changelog-eslint@5.0.0:
- resolution: {integrity: sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-eslint@5.0.0: {}
- /conventional-changelog-express@4.0.0:
- resolution: {integrity: sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-express@4.0.0: {}
- /conventional-changelog-jquery@5.0.0:
- resolution: {integrity: sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-jquery@5.0.0: {}
- /conventional-changelog-jshint@4.0.0:
- resolution: {integrity: sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==}
- engines: {node: '>=16'}
+ conventional-changelog-jshint@4.0.0:
dependencies:
compare-func: 2.0.0
- dev: true
- /conventional-changelog-preset-loader@4.1.0:
- resolution: {integrity: sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==}
- engines: {node: '>=16'}
- dev: true
+ conventional-changelog-preset-loader@4.1.0: {}
- /conventional-changelog-writer@7.0.1:
- resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==}
- engines: {node: '>=16'}
- hasBin: true
+ conventional-changelog-writer@7.0.1:
dependencies:
conventional-commits-filter: 4.0.0
handlebars: 4.7.8
json-stringify-safe: 5.0.1
meow: 12.1.1
- semver: 7.6.0
+ semver: 7.6.2
split2: 4.2.0
- dev: true
- /conventional-changelog@5.1.0:
- resolution: {integrity: sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==}
- engines: {node: '>=16'}
+ conventional-changelog@5.1.0:
dependencies:
conventional-changelog-angular: 7.0.0
conventional-changelog-atom: 4.0.0
@@ -3280,28 +6993,17 @@ packages:
conventional-changelog-jquery: 5.0.0
conventional-changelog-jshint: 4.0.0
conventional-changelog-preset-loader: 4.1.0
- dev: true
- /conventional-commits-filter@4.0.0:
- resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==}
- engines: {node: '>=16'}
- dev: true
+ conventional-commits-filter@4.0.0: {}
- /conventional-commits-parser@5.0.0:
- resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
- engines: {node: '>=16'}
- hasBin: true
+ conventional-commits-parser@5.0.0:
dependencies:
JSONStream: 1.3.5
is-text-path: 2.0.0
meow: 12.1.1
split2: 4.2.0
- dev: true
- /conventional-recommended-bump@9.0.0:
- resolution: {integrity: sha512-HR1yD0G5HgYAu6K0wJjLd7QGRK8MQDqqj6Tn1n/ja1dFwBCE6QmV+iSgQ5F7hkx7OUR/8bHpxJqYtXj2f/opPQ==}
- engines: {node: '>=16'}
- hasBin: true
+ conventional-recommended-bump@9.0.0:
dependencies:
conventional-changelog-preset-loader: 4.1.0
conventional-commits-filter: 4.0.0
@@ -3309,814 +7011,434 @@ packages:
git-raw-commits: 4.0.0
git-semver-tags: 7.0.1
meow: 12.1.1
- dev: true
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: true
+ convert-source-map@2.0.0: {}
- /core-js-compat@3.37.0:
- resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
+ copy-anything@3.0.5:
dependencies:
- browserslist: 4.23.0
- dev: true
+ is-what: 4.1.16
- /core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
- dev: false
+ core-js-compat@3.37.1:
+ dependencies:
+ browserslist: 4.23.2
- /cosmiconfig@9.0.0(typescript@5.4.5):
- resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ core-util-is@1.0.3: {}
+
+ cosmiconfig@9.0.0(typescript@5.5.4):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
- typescript: 5.4.5
- dev: true
+ optionalDependencies:
+ typescript: 5.5.4
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- dev: true
- /crypto-random-string@4.0.0:
- resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
- engines: {node: '>=12'}
+ crypto-random-string@4.0.0:
dependencies:
type-fest: 1.4.0
- dev: true
- /css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ css-select@5.1.0:
dependencies:
boolbase: 1.0.0
css-what: 6.1.0
domhandler: 5.0.3
domutils: 3.1.0
nth-check: 2.1.1
- dev: true
- /css-tree@2.2.1:
- resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
source-map-js: 1.2.0
- dev: true
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ css-tree@2.3.1:
dependencies:
mdn-data: 2.0.30
source-map-js: 1.2.0
- dev: true
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
- dev: true
+ css-what@6.1.0: {}
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ cssesc@3.0.0: {}
- /csso@5.0.5:
- resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ csso@5.0.5:
dependencies:
css-tree: 2.2.1
- dev: true
-
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- /dargs@8.1.0:
- resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
- engines: {node: '>=12'}
- dev: true
+ csstype@3.1.3: {}
- /data-uri-to-buffer@4.0.1:
- resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
- engines: {node: '>= 12'}
- dev: true
+ dargs@8.1.0: {}
- /data-uri-to-buffer@6.0.2:
- resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
- engines: {node: '>= 14'}
- dev: true
+ data-uri-to-buffer@4.0.1: {}
- /data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
+ data-uri-to-buffer@6.0.2: {}
- /data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
+ de-indent@1.0.2: {}
- /data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
+ debug@3.2.7:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
-
- /de-indent@1.0.2:
- resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
- dev: true
+ ms: 2.1.3
- /debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@4.3.5:
dependencies:
- ms: 2.1.3
- dev: true
+ ms: 2.1.2
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@4.3.6:
dependencies:
ms: 2.1.2
- dev: true
- /decompress-response@6.0.0:
- resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
- engines: {node: '>=10'}
+ decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
- dev: true
- /deep-extend@0.6.0:
- resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
- engines: {node: '>=4.0.0'}
- dev: true
+ deep-extend@0.6.0: {}
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
+ deep-is@0.1.4: {}
- /default-browser-id@5.0.0:
- resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
- engines: {node: '>=18'}
- dev: true
+ default-browser-id@5.0.0: {}
- /default-browser@5.2.1:
- resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
- engines: {node: '>=18'}
+ default-browser@5.2.1:
dependencies:
bundle-name: 4.1.0
default-browser-id: 5.0.0
- dev: true
- /defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ defaults@1.0.4:
dependencies:
clone: 1.0.4
- dev: true
-
- /defer-to-connect@2.0.1:
- resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
- engines: {node: '>=10'}
- dev: true
-
- /define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- gopd: 1.0.1
- dev: true
- /define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
- dev: true
+ defer-to-connect@2.0.1: {}
- /define-lazy-prop@3.0.0:
- resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
- engines: {node: '>=12'}
- dev: true
+ define-lazy-prop@2.0.0: {}
- /define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
- dev: true
+ define-lazy-prop@3.0.0: {}
- /defu@6.1.4:
- resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
- dev: true
+ defu@6.1.4: {}
- /degenerator@5.0.1:
- resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
- engines: {node: '>= 14'}
+ degenerator@5.0.1:
dependencies:
ast-types: 0.13.4
escodegen: 2.1.0
esprima: 4.0.1
- dev: true
- /deprecation@2.3.1:
- resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
- dev: true
+ deprecation@2.3.1: {}
- /destr@2.0.3:
- resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
- dev: true
+ destr@2.0.3: {}
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- dev: true
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ doctrine@3.0.0:
dependencies:
esutils: 2.0.3
- dev: true
- /dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dom-serializer@2.0.0:
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.5.0
- dev: true
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
- dev: true
+ domelementtype@2.3.0: {}
- /domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
+ domhandler@5.0.3:
dependencies:
domelementtype: 2.3.0
- dev: true
- /domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+ domutils@3.1.0:
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
- dev: true
- /dot-prop@5.3.0:
- resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
- engines: {node: '>=8'}
+ dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
- dev: true
- /dot-prop@6.0.1:
- resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
- engines: {node: '>=10'}
+ dot-prop@6.0.1:
dependencies:
is-obj: 2.0.0
- dev: true
- /draco3d@1.5.7:
- resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
- dev: false
+ draco3d@1.5.7: {}
- /duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
- dev: true
+ duplexer@0.1.2: {}
- /eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- dev: true
+ eastasianwidth@0.2.0: {}
- /electron-to-chromium@1.4.757:
- resolution: {integrity: sha512-jftDaCknYSSt/+KKeXzH3LX5E2CvRLm75P3Hj+J/dv3CL0qUYcOt13d5FN1NiL5IJbbhzHrb3BomeG2tkSlZmw==}
- dev: true
+ electron-to-chromium@1.4.827: {}
- /emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
- dev: true
+ emoji-regex@10.3.0: {}
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
+ emoji-regex@8.0.0: {}
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- dev: true
+ emoji-regex@9.2.2: {}
- /enhanced-resolve@5.16.0:
- resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
- engines: {node: '>=10.13.0'}
+ enhanced-resolve@5.17.0:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
- dev: true
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ entities@4.5.0: {}
- /env-paths@2.2.1:
- resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
- engines: {node: '>=6'}
- dev: true
+ env-paths@2.2.1: {}
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
- dev: true
-
- /es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
- globalthis: 1.0.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
- is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.1
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
- dev: true
-
- /es-array-method-boxes-properly@1.0.0:
- resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
- dev: true
-
- /es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
- dev: true
-
- /es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /es-get-iterator@1.1.3:
- resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- is-arguments: 1.1.1
- is-map: 2.0.3
- is-set: 2.0.3
- is-string: 1.0.7
- isarray: 2.0.5
- stop-iteration-iterator: 1.0.0
- dev: true
-
- /es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- dev: true
-
- /es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
- has-tostringtag: 1.0.2
- hasown: 2.0.2
- dev: true
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
- dev: true
+ es-module-lexer@1.5.4: {}
- /esbuild@0.20.2:
- resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
+ esbuild@0.21.5:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.20.2
- '@esbuild/android-arm': 0.20.2
- '@esbuild/android-arm64': 0.20.2
- '@esbuild/android-x64': 0.20.2
- '@esbuild/darwin-arm64': 0.20.2
- '@esbuild/darwin-x64': 0.20.2
- '@esbuild/freebsd-arm64': 0.20.2
- '@esbuild/freebsd-x64': 0.20.2
- '@esbuild/linux-arm': 0.20.2
- '@esbuild/linux-arm64': 0.20.2
- '@esbuild/linux-ia32': 0.20.2
- '@esbuild/linux-loong64': 0.20.2
- '@esbuild/linux-mips64el': 0.20.2
- '@esbuild/linux-ppc64': 0.20.2
- '@esbuild/linux-riscv64': 0.20.2
- '@esbuild/linux-s390x': 0.20.2
- '@esbuild/linux-x64': 0.20.2
- '@esbuild/netbsd-x64': 0.20.2
- '@esbuild/openbsd-x64': 0.20.2
- '@esbuild/sunos-x64': 0.20.2
- '@esbuild/win32-arm64': 0.20.2
- '@esbuild/win32-ia32': 0.20.2
- '@esbuild/win32-x64': 0.20.2
- dev: true
-
- /escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
- dev: true
-
- /escape-goat@4.0.0:
- resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
- engines: {node: '>=12'}
- dev: true
-
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
- dev: true
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: true
-
- /escape-string-regexp@5.0.0:
- resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
- engines: {node: '>=12'}
- dev: true
-
- /escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+
+ esbuild@0.23.0:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.23.0
+ '@esbuild/android-arm': 0.23.0
+ '@esbuild/android-arm64': 0.23.0
+ '@esbuild/android-x64': 0.23.0
+ '@esbuild/darwin-arm64': 0.23.0
+ '@esbuild/darwin-x64': 0.23.0
+ '@esbuild/freebsd-arm64': 0.23.0
+ '@esbuild/freebsd-x64': 0.23.0
+ '@esbuild/linux-arm': 0.23.0
+ '@esbuild/linux-arm64': 0.23.0
+ '@esbuild/linux-ia32': 0.23.0
+ '@esbuild/linux-loong64': 0.23.0
+ '@esbuild/linux-mips64el': 0.23.0
+ '@esbuild/linux-ppc64': 0.23.0
+ '@esbuild/linux-riscv64': 0.23.0
+ '@esbuild/linux-s390x': 0.23.0
+ '@esbuild/linux-x64': 0.23.0
+ '@esbuild/netbsd-x64': 0.23.0
+ '@esbuild/openbsd-arm64': 0.23.0
+ '@esbuild/openbsd-x64': 0.23.0
+ '@esbuild/sunos-x64': 0.23.0
+ '@esbuild/win32-arm64': 0.23.0
+ '@esbuild/win32-ia32': 0.23.0
+ '@esbuild/win32-x64': 0.23.0
+
+ escalade@3.1.2: {}
+
+ escape-goat@4.0.0: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@4.0.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ escodegen@2.1.0:
dependencies:
esprima: 4.0.1
estraverse: 5.3.0
esutils: 2.0.3
optionalDependencies:
source-map: 0.6.1
- dev: true
- /eslint-compat-utils@0.5.0(eslint@9.2.0):
- resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==}
- engines: {node: '>=12'}
- peerDependencies:
- eslint: '>=6.0.0'
+ eslint-compat-utils@0.5.1(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- eslint: 9.2.0
- semver: 7.6.0
- dev: true
+ eslint: 9.9.0(jiti@1.21.6)
+ semver: 7.6.3
- /eslint-config-flat-gitignore@0.1.5:
- resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==}
+ eslint-config-flat-gitignore@0.1.7:
dependencies:
find-up: 7.0.0
parse-gitignore: 2.0.0
- dev: true
- /eslint-flat-config-utils@0.2.4:
- resolution: {integrity: sha512-k7MJkSIfF0bs5eQu1KXyV0AhsvdsqSt1pQfZNLwf6qkozuHQV6aNHg5f8+3Ya+WTzpB+e7I3hMhs4qBwx7nEkw==}
+ eslint-flat-config-utils@0.2.5:
dependencies:
'@types/eslint': 8.56.10
pathe: 1.1.2
- dev: true
- /eslint-formatting-reporter@0.0.0(eslint@9.2.0):
- resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==}
- peerDependencies:
- eslint: '>=8.40.0'
+ eslint-formatting-reporter@0.0.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- eslint: 9.2.0
+ eslint: 9.9.0(jiti@1.21.6)
prettier-linter-helpers: 1.0.0
- dev: true
- /eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ eslint-import-resolver-node@0.3.9:
dependencies:
debug: 3.2.7
- is-core-module: 2.13.1
+ is-core-module: 2.14.0
resolve: 1.22.8
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-merge-processors@0.1.0(eslint@9.2.0):
- resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==}
- peerDependencies:
- eslint: '*'
+ eslint-merge-processors@0.1.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- eslint: 9.2.0
- dev: true
+ eslint: 9.9.0(jiti@1.21.6)
- /eslint-parser-plain@0.1.0:
- resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==}
- dev: true
+ eslint-parser-plain@0.1.0: {}
- /eslint-plugin-antfu@2.2.0(eslint@9.2.0):
- resolution: {integrity: sha512-QHzHYP+fyfhSkIdcuT9JZ4rCPuJOoHRE27gglPYHlJ6lxB7pO9i45yAy4aurx/rleBuEC27U4c//1Nwtbasj4Q==}
- peerDependencies:
- eslint: '*'
+ eslint-plugin-antfu@2.3.4(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@antfu/utils': 0.7.8
- eslint: 9.2.0
- dev: true
+ '@antfu/utils': 0.7.10
+ eslint: 9.9.0(jiti@1.21.6)
- /eslint-plugin-command@0.2.1(eslint@9.2.0):
- resolution: {integrity: sha512-dA44MFCzjNpGlKa1xRA+qi2bTbpf5+zr2JgWUp9IFPteN+qCIS8DHu4EGmPs1680STcwQPvYBANFudpvIOeCYA==}
- peerDependencies:
- eslint: '*'
+ eslint-plugin-command@0.2.3(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@es-joy/jsdoccomment': 0.43.0
- eslint: 9.2.0
- dev: true
+ '@es-joy/jsdoccomment': 0.43.1
+ eslint: 9.9.0(jiti@1.21.6)
- /eslint-plugin-es-x@7.6.0(eslint@9.2.0):
- resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- eslint: '>=8'
+ eslint-plugin-es-x@7.8.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@eslint-community/regexpp': 4.10.0
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
- dev: true
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@eslint-community/regexpp': 4.11.0
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6))
- /eslint-plugin-eslint-comments@3.2.0(eslint@9.2.0):
- resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
- engines: {node: '>=6.5.0'}
- peerDependencies:
- eslint: '>=4.19.1'
+ eslint-plugin-eslint-comments@3.2.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
escape-string-regexp: 1.0.5
- eslint: 9.2.0
- ignore: 5.3.1
- dev: true
+ eslint: 9.9.0(jiti@1.21.6)
+ ignore: 5.3.2
- /eslint-plugin-format@0.1.1(eslint@9.2.0):
- resolution: {integrity: sha512-jzk70D3RbaseNIdMtimMqiJHDPUw9bzZjmZTT9tQ6x3HU9U9bGqnsieQK5H0FIZUpx4qC41CidLDWwVCylICRQ==}
- peerDependencies:
- eslint: ^8.40.0 || ^9.0.0
+ eslint-plugin-format@0.1.2(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@dprint/formatter': 0.2.1
- '@dprint/markdown': 0.16.4
- '@dprint/toml': 0.6.1
- eslint: 9.2.0
- eslint-formatting-reporter: 0.0.0(eslint@9.2.0)
+ '@dprint/formatter': 0.3.0
+ '@dprint/markdown': 0.17.1
+ '@dprint/toml': 0.6.2
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-formatting-reporter: 0.0.0(eslint@9.9.0(jiti@1.21.6))
eslint-parser-plain: 0.1.0
- prettier: 3.2.5
- synckit: 0.9.0
- dev: true
+ prettier: 3.3.3
+ synckit: 0.9.1
- /eslint-plugin-import-x@0.5.0(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==}
- engines: {node: '>=16'}
- peerDependencies:
- eslint: ^8.56.0 || ^9.0.0-0
+ eslint-plugin-import-x@3.0.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4):
dependencies:
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- debug: 4.3.4
+ '@rtsao/scc': 1.1.0
+ '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ debug: 4.3.6
doctrine: 3.0.0
- eslint: 9.2.0
+ eslint: 9.9.0(jiti@1.21.6)
eslint-import-resolver-node: 0.3.9
- get-tsconfig: 4.7.4
+ get-tsconfig: 4.7.5
is-glob: 4.0.3
- minimatch: 9.0.4
- semver: 7.6.0
+ minimatch: 9.0.5
+ semver: 7.6.2
+ stable-hash: 0.0.4
+ tslib: 2.6.3
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /eslint-plugin-jsdoc@48.2.5(eslint@9.2.0):
- resolution: {integrity: sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==}
- engines: {node: '>=18'}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
+ eslint-plugin-jsdoc@48.7.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@es-joy/jsdoccomment': 0.43.0
+ '@es-joy/jsdoccomment': 0.46.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
- debug: 4.3.4
+ debug: 4.3.6
escape-string-regexp: 4.0.0
- eslint: 9.2.0
- esquery: 1.5.0
- is-builtin-module: 3.2.1
+ eslint: 9.9.0(jiti@1.21.6)
+ esquery: 1.6.0
+ parse-imports: 2.1.1
semver: 7.6.2
spdx-expression-parse: 4.0.0
+ synckit: 0.9.1
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-jsonc@2.15.1(eslint@9.2.0):
- resolution: {integrity: sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '>=6.0.0'
+ eslint-plugin-jsonc@2.16.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6))
espree: 9.6.1
graphemer: 1.4.0
jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0
synckit: 0.6.2
- dev: true
- /eslint-plugin-markdown@5.0.0(eslint@9.2.0):
- resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: '>=8'
+ eslint-plugin-markdown@5.1.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- eslint: 9.2.0
+ eslint: 9.9.0(jiti@1.21.6)
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-n@17.7.0(eslint@9.2.0):
- resolution: {integrity: sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: '>=8.23.0'
+ eslint-plugin-n@17.9.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- enhanced-resolve: 5.16.0
- eslint: 9.2.0
- eslint-plugin-es-x: 7.6.0(eslint@9.2.0)
- get-tsconfig: 4.7.4
- globals: 15.2.0
- ignore: 5.3.1
- minimatch: 9.0.4
- semver: 7.6.0
- dev: true
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ enhanced-resolve: 5.17.0
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-plugin-es-x: 7.8.0(eslint@9.9.0(jiti@1.21.6))
+ get-tsconfig: 4.7.5
+ globals: 15.8.0
+ ignore: 5.3.2
+ minimatch: 9.0.5
+ semver: 7.6.2
- /eslint-plugin-no-only-tests@3.1.0:
- resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
- engines: {node: '>=5.0.0'}
- dev: true
+ eslint-plugin-no-only-tests@3.1.0: {}
- /eslint-plugin-perfectionist@2.10.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2):
- resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==}
- peerDependencies:
- astro-eslint-parser: ^0.16.0
- eslint: '>=8.0.0'
- svelte: '>=3.0.0'
- svelte-eslint-parser: ^0.33.0
- vue-eslint-parser: '>=9.0.0'
- peerDependenciesMeta:
- astro-eslint-parser:
- optional: true
- svelte:
- optional: true
- svelte-eslint-parser:
- optional: true
- vue-eslint-parser:
- optional: true
+ eslint-plugin-perfectionist@2.11.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))):
dependencies:
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
- minimatch: 9.0.4
+ '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ minimatch: 9.0.5
natural-compare-lite: 1.4.0
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ optionalDependencies:
+ vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6))
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /eslint-plugin-regexp@2.5.0(eslint@9.2.0):
- resolution: {integrity: sha512-I7vKcP0o75WS5SHiVNXN+Eshq49sbrweMQIuqSL3AId9AwDe9Dhbfug65vw64LxmOd4v+yf5l5Xt41y9puiq0g==}
- engines: {node: ^18 || >=20}
- peerDependencies:
- eslint: '>=8.44.0'
+ eslint-plugin-regexp@2.6.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@eslint-community/regexpp': 4.10.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@eslint-community/regexpp': 4.11.0
comment-parser: 1.4.1
- eslint: 9.2.0
+ eslint: 9.9.0(jiti@1.21.6)
jsdoc-type-pratt-parser: 4.0.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
- dev: true
- /eslint-plugin-toml@0.11.0(eslint@9.2.0):
- resolution: {integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '>=6.0.0'
+ eslint-plugin-toml@0.11.1(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- debug: 4.3.4
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ debug: 4.3.6
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6))
lodash: 4.17.21
- toml-eslint-parser: 0.9.3
+ toml-eslint-parser: 0.10.0
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-unicorn@52.0.0(eslint@9.2.0):
- resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==}
- engines: {node: '>=16'}
- peerDependencies:
- eslint: '>=8.56.0'
+ eslint-plugin-unicorn@54.0.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@babel/helper-validator-identifier': 7.24.5
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@eslint/eslintrc': 2.1.4
+ '@babel/helper-validator-identifier': 7.24.7
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@eslint/eslintrc': 3.1.0
ci-info: 4.0.0
clean-regexp: 1.0.0
- core-js-compat: 3.37.0
- eslint: 9.2.0
- esquery: 1.5.0
+ core-js-compat: 3.37.1
+ eslint: 9.9.0(jiti@1.21.6)
+ esquery: 1.6.0
indent-string: 4.0.0
is-builtin-module: 3.2.1
jsesc: 3.0.2
@@ -4124,171 +7446,99 @@ packages:
read-pkg-up: 7.0.1
regexp-tree: 0.1.27
regjsparser: 0.10.0
- semver: 7.6.0
+ semver: 7.6.2
strip-indent: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.9.0)(eslint@9.2.0):
- resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- '@typescript-eslint/eslint-plugin': 6 - 7
- eslint: '8'
- peerDependenciesMeta:
- '@typescript-eslint/eslint-plugin':
- optional: true
+ eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0)(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ eslint: 9.9.0(jiti@1.21.6)
eslint-rule-composer: 0.3.0
- dev: true
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
- /eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.9.0)(eslint@9.2.0)(typescript@5.4.5):
- resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
- engines: {node: ^18.0.0 || >= 20.0.0}
- peerDependencies:
- '@typescript-eslint/eslint-plugin': '*'
- eslint: ^8.57.0 || ^9.0.0
- vitest: '*'
- peerDependenciesMeta:
- '@typescript-eslint/eslint-plugin':
- optional: true
- vitest:
- optional: true
+ eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4):
dependencies:
- '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0)(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.9.0(jiti@1.21.6)
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
-
- /eslint-plugin-vue@9.25.0(eslint@9.2.0):
- resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- eslint: 9.2.0
- globals: 13.24.0
- natural-compare: 1.4.0
- nth-check: 2.1.1
- postcss-selector-parser: 6.0.16
- semver: 7.6.0
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
- xml-name-validator: 4.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /eslint-plugin-vue@9.26.0(eslint@9.2.0):
- resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+ eslint-plugin-vue@9.27.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- eslint: 9.2.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ eslint: 9.9.0(jiti@1.21.6)
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
- postcss-selector-parser: 6.0.16
- semver: 7.6.0
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ postcss-selector-parser: 6.1.1
+ semver: 7.6.2
+ vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6))
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-yml@1.14.0(eslint@9.2.0):
- resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '>=6.0.0'
+ eslint-plugin-yml@1.14.0(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- debug: 4.3.4
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ debug: 4.3.6
+ eslint: 9.9.0(jiti@1.21.6)
+ eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6))
lodash: 4.17.21
natural-compare: 1.4.0
- yaml-eslint-parser: 1.2.2
+ yaml-eslint-parser: 1.2.3
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0):
- resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==}
- peerDependencies:
- '@vue/compiler-sfc': ^3.3.0
- eslint: ^8.50.0 || ^9.0.0
+ eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- '@vue/compiler-sfc': 3.4.27
- eslint: 9.2.0
- dev: true
+ '@vue/compiler-sfc': 3.4.38
+ eslint: 9.9.0(jiti@1.21.6)
- /eslint-rule-composer@0.3.0:
- resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
- engines: {node: '>=4.0.0'}
- dev: true
+ eslint-rule-composer@0.3.0: {}
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- dev: true
- /eslint-scope@8.0.1:
- resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-scope@8.0.2:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- dev: true
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
+ eslint-visitor-keys@3.4.3: {}
- /eslint-visitor-keys@4.0.0:
- resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dev: true
+ eslint-visitor-keys@4.0.0: {}
- /eslint@9.2.0:
- resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
+ eslint@9.9.0(jiti@1.21.6):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 3.0.2
- '@eslint/js': 9.2.0
- '@humanwhocodes/config-array': 0.13.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6))
+ '@eslint-community/regexpp': 4.11.0
+ '@eslint/config-array': 0.17.1
+ '@eslint/eslintrc': 3.1.0
+ '@eslint/js': 9.9.0
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.2.4
+ '@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.4
+ debug: 4.3.6
escape-string-regexp: 4.0.0
- eslint-scope: 8.0.1
+ eslint-scope: 8.0.2
eslint-visitor-keys: 4.0.0
- espree: 10.0.1
- esquery: 1.5.0
+ espree: 10.1.0
+ esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- ignore: 5.3.1
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -4300,70 +7550,44 @@ packages:
optionator: 0.9.4
strip-ansi: 6.0.1
text-table: 0.2.0
+ optionalDependencies:
+ jiti: 1.21.6
transitivePeerDependencies:
- supports-color
- dev: true
- /espree@10.0.1:
- resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ espree@10.1.0:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
+ acorn: 8.12.1
+ acorn-jsx: 5.3.2(acorn@8.12.1)
eslint-visitor-keys: 4.0.0
- dev: true
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ espree@9.6.1:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
+ acorn: 8.12.1
+ acorn-jsx: 5.3.2(acorn@8.12.1)
eslint-visitor-keys: 3.4.3
- dev: true
- /esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ esprima@4.0.1: {}
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
+ esquery@1.6.0:
dependencies:
estraverse: 5.3.0
- dev: true
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
- dev: true
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
+ estraverse@5.3.0: {}
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@2.0.2: {}
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.5
- dev: true
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ esutils@2.0.3: {}
- /execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
+ execa@5.1.1:
dependencies:
cross-spawn: 7.0.3
get-stream: 6.0.1
@@ -4374,11 +7598,8 @@ packages:
onetime: 5.1.2
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- dev: true
- /execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
+ execa@8.0.1:
dependencies:
cross-spawn: 7.0.3
get-stream: 8.0.1
@@ -4389,307 +7610,167 @@ packages:
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- dev: true
- /external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
+ external-editor@3.1.0:
dependencies:
chardet: 0.7.0
iconv-lite: 0.4.24
tmp: 0.0.33
- dev: true
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
+ fast-deep-equal@3.1.3: {}
- /fast-diff@1.3.0:
- resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
- dev: true
+ fast-diff@1.3.0: {}
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
- micromatch: 4.0.5
- dev: true
+ micromatch: 4.0.7
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
+ fast-json-stable-stringify@2.1.0: {}
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
+ fast-levenshtein@2.0.6: {}
- /fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fastq@1.17.1:
dependencies:
reusify: 1.0.4
- dev: true
- /fetch-blob@3.2.0:
- resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
- engines: {node: ^12.20 || >= 14.13}
+ fdir@6.2.0(picomatch@4.0.2):
+ optionalDependencies:
+ picomatch: 4.0.2
+
+ fetch-blob@3.2.0:
dependencies:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
- dev: true
- /fflate@0.6.10:
- resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
- dev: false
+ fflate@0.6.10: {}
- /fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+ fflate@0.8.2: {}
- /file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
+ file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
- dev: true
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- dev: true
- /find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
+ find-up@4.1.0:
dependencies:
locate-path: 5.0.0
path-exists: 4.0.0
- dev: true
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ find-up@5.0.0:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
- dev: true
- /find-up@6.3.0:
- resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ find-up@6.3.0:
dependencies:
locate-path: 7.2.0
path-exists: 5.0.0
- dev: true
- /find-up@7.0.0:
- resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
- engines: {node: '>=18'}
+ find-up@7.0.0:
dependencies:
locate-path: 7.2.0
path-exists: 5.0.0
unicorn-magic: 0.1.0
- dev: true
- /flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
+ flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
- dev: true
- /flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- dev: true
+ flatted@3.3.1: {}
- /focus-trap@7.5.4:
- resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
+ focus-trap@7.5.4:
dependencies:
tabbable: 6.2.0
- dev: true
-
- /for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- dependencies:
- is-callable: 1.2.7
- dev: true
- /form-data-encoder@2.1.4:
- resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
- engines: {node: '>= 14.17'}
- dev: true
+ form-data-encoder@2.1.4: {}
- /formdata-polyfill@4.0.10:
- resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
- engines: {node: '>=12.20.0'}
+ formdata-polyfill@4.0.10:
dependencies:
fetch-blob: 3.2.0
- dev: true
- /fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
- engines: {node: '>=14.14'}
+ fs-extra@11.2.0:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
- dev: true
- /fs-extra@7.0.1:
- resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
- engines: {node: '>=6 <7 || >=8'}
+ fs-extra@7.0.1:
dependencies:
graceful-fs: 4.2.11
jsonfile: 4.0.0
universalify: 0.1.2
- dev: true
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
+ fs.realpath@1.0.0: {}
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
+ fsevents@2.3.3:
optional: true
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- dev: true
-
- /function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- functions-have-names: 1.2.3
- dev: true
-
- /functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- dev: true
-
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
- dev: true
+ function-bind@1.1.2: {}
- /get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
- engines: {node: '>=18'}
- dev: true
+ gensync@1.0.0-beta.2: {}
- /get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- dev: true
+ get-caller-file@2.0.5: {}
- /get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
+ get-east-asian-width@1.2.0: {}
- /get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
- dev: true
+ get-stream@6.0.1: {}
- /get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
+ get-stream@8.0.1: {}
+
+ get-tsconfig@4.7.5:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- dev: true
+ resolve-pkg-maps: 1.0.0
- /get-tsconfig@4.7.4:
- resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==}
+ get-tsconfig@4.7.6:
dependencies:
resolve-pkg-maps: 1.0.0
- dev: true
- /get-uri@6.0.3:
- resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
- engines: {node: '>= 14'}
+ get-uri@6.0.3:
dependencies:
basic-ftp: 5.0.5
data-uri-to-buffer: 6.0.2
- debug: 4.3.4
+ debug: 4.3.6
fs-extra: 11.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- /git-raw-commits@4.0.0:
- resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
- engines: {node: '>=16'}
- hasBin: true
+ git-raw-commits@4.0.0:
dependencies:
dargs: 8.1.0
meow: 12.1.1
split2: 4.2.0
- dev: true
- /git-semver-tags@7.0.1:
- resolution: {integrity: sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==}
- engines: {node: '>=16'}
- hasBin: true
+ git-semver-tags@7.0.1:
dependencies:
meow: 12.1.1
- semver: 7.6.0
- dev: true
+ semver: 7.6.2
- /git-up@7.0.0:
- resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+ git-up@7.0.0:
dependencies:
is-ssh: 1.4.0
parse-url: 8.1.0
- dev: true
- /git-url-parse@14.0.0:
- resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==}
+ git-url-parse@14.0.0:
dependencies:
git-up: 7.0.0
- dev: true
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- dev: true
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
- dev: true
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
@@ -4697,60 +7778,31 @@ packages:
minimatch: 3.1.2
once: 1.4.0
path-is-absolute: 1.0.1
- dev: true
- /global-dirs@3.0.1:
- resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
- engines: {node: '>=10'}
+ global-directory@4.0.1:
dependencies:
- ini: 2.0.0
- dev: true
+ ini: 4.1.1
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
- dev: true
+ globals@11.12.0: {}
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@13.24.0:
dependencies:
type-fest: 0.20.2
- dev: true
-
- /globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
- dev: true
- /globals@15.2.0:
- resolution: {integrity: sha512-FQ5YwCHZM3nCmtb5FzEWwdUc9K5d3V/w9mzcz8iGD1gC/aOTHc6PouYu0kkKipNJqHAT7m51sqzQjEjIP+cK0A==}
- engines: {node: '>=18'}
- dev: true
+ globals@14.0.0: {}
- /globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-properties: 1.2.1
- gopd: 1.0.1
- dev: true
+ globals@15.8.0: {}
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.2
- ignore: 5.3.1
+ ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
- dev: true
- /globby@14.0.1:
- resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
- engines: {node: '>=18'}
+ globby@14.0.2:
dependencies:
'@sindresorhus/merge-streams': 2.3.0
fast-glob: 3.3.2
@@ -4758,48 +7810,16 @@ packages:
path-type: 5.0.0
slash: 5.1.0
unicorn-magic: 0.1.0
- dev: true
- /glsl-token-functions@1.0.1:
- resolution: {integrity: sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==}
- dev: false
+ glsl-token-functions@1.0.1: {}
- /glsl-token-string@1.0.1:
- resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
- dev: false
+ glsl-token-string@1.0.1: {}
- /glsl-tokenizer@2.1.5:
- resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
+ glsl-tokenizer@2.1.5:
dependencies:
through2: 0.6.5
- dev: false
-
- /gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
- dependencies:
- get-intrinsic: 1.2.4
- dev: true
-
- /got@12.6.1:
- resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
- engines: {node: '>=14.16'}
- dependencies:
- '@sindresorhus/is': 5.6.0
- '@szmarczak/http-timer': 5.0.1
- cacheable-lookup: 7.0.0
- cacheable-request: 10.2.14
- decompress-response: 6.0.0
- form-data-encoder: 2.1.4
- get-stream: 6.0.1
- http2-wrapper: 2.2.1
- lowercase-keys: 3.0.0
- p-cancelable: 3.0.0
- responselike: 3.0.0
- dev: true
- /got@13.0.0:
- resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==}
- engines: {node: '>=16'}
+ got@13.0.0:
dependencies:
'@sindresorhus/is': 5.6.0
'@szmarczak/http-timer': 5.0.1
@@ -4812,226 +7832,124 @@ packages:
lowercase-keys: 3.0.0
p-cancelable: 3.0.0
responselike: 3.0.0
- dev: true
- /graceful-fs@4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
- dev: true
+ graceful-fs@4.2.10: {}
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- dev: true
+ graceful-fs@4.2.11: {}
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
+ graphemer@1.4.0: {}
- /gsap@3.12.5:
- resolution: {integrity: sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==}
- dev: true
+ gsap@3.12.5: {}
- /gzip-size@6.0.0:
- resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
- engines: {node: '>=10'}
+ gzip-size@6.0.0:
dependencies:
duplexer: 0.1.2
- dev: true
- /handlebars@4.7.8:
- resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
- engines: {node: '>=0.4.7'}
- hasBin: true
+ handlebars@4.7.8:
dependencies:
minimist: 1.2.8
neo-async: 2.6.2
source-map: 0.6.1
wordwrap: 1.0.0
optionalDependencies:
- uglify-js: 3.17.4
- dev: true
-
- /has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
- dev: true
-
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
- dev: true
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- dependencies:
- es-define-property: 1.0.0
- dev: true
-
- /has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
- dev: true
+ uglify-js: 3.18.0
- /has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
- dev: true
+ has-flag@3.0.0: {}
- /has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: true
+ has-flag@4.0.0: {}
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ hasown@2.0.2:
dependencies:
function-bind: 1.1.2
- dev: true
- /he@1.2.0:
- resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
- dev: true
+ he@1.2.0: {}
- /hookable@5.5.3:
- resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
- dev: true
+ hookable@5.5.3: {}
- /hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
- dev: true
+ hosted-git-info@2.8.9: {}
- /hosted-git-info@7.0.2:
- resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ hosted-git-info@7.0.2:
dependencies:
- lru-cache: 10.2.2
- dev: true
+ lru-cache: 10.4.3
- /http-cache-semantics@4.1.1:
- resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
- dev: true
+ http-cache-semantics@4.1.1: {}
- /http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
+ http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.1
- debug: 4.3.4
+ debug: 4.3.6
transitivePeerDependencies:
- supports-color
- dev: true
- /http2-wrapper@2.2.1:
- resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
- engines: {node: '>=10.19.0'}
+ http2-wrapper@2.2.1:
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
- dev: true
- /https-proxy-agent@7.0.4:
- resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
- engines: {node: '>= 14'}
+ https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.1
- debug: 4.3.4
+ debug: 4.3.6
transitivePeerDependencies:
- supports-color
- dev: true
- /human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
+ human-signals@2.1.0: {}
- /human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
- dev: true
+ human-signals@5.0.0: {}
- /husky@9.0.11:
- resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
- engines: {node: '>=18'}
- hasBin: true
- dev: true
+ husky@9.1.4: {}
- /iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
- dev: true
- /ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- dev: true
+ ieee754@1.2.1: {}
- /ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
- dev: true
+ ignore@5.3.1: {}
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ ignore@5.3.2: {}
+
+ import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- dev: true
- /import-lazy@4.0.0:
- resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
- engines: {node: '>=8'}
- dev: true
+ import-lazy@4.0.0: {}
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
+ importx@0.4.3:
+ dependencies:
+ bundle-require: 5.0.0(esbuild@0.23.0)
+ debug: 4.3.6
+ esbuild: 0.23.0
+ jiti: 2.0.0-beta.2
+ jiti-v1: jiti@1.21.6
+ pathe: 1.1.2
+ pkg-types: 1.1.3
+ tsx: 4.16.3
+ transitivePeerDependencies:
+ - supports-color
- /indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
- dev: true
+ imurmurhash@0.1.4: {}
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ indent-string@4.0.0: {}
+
+ inflight@1.0.6:
dependencies:
once: 1.4.0
wrappy: 1.0.2
- dev: true
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ inherits@2.0.4: {}
- /ini@1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
- dev: true
+ ini@1.3.8: {}
- /ini@2.0.0:
- resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
- engines: {node: '>=10'}
- dev: true
+ ini@4.1.1: {}
- /inquirer@9.2.19:
- resolution: {integrity: sha512-WpxOT71HGsFya6/mj5PUue0sWwbpbiPfAR+332zLj/siB0QA1PZM8v3GepegFV1Op189UxHUCF6y8AySdtOMVA==}
- engines: {node: '>=18'}
+ inquirer@9.3.2:
dependencies:
- '@inquirer/figures': 1.0.1
- '@ljharb/through': 2.3.13
+ '@inquirer/figures': 1.0.3
ansi-escapes: 4.3.2
- chalk: 5.3.0
- cli-cursor: 3.1.0
cli-width: 4.1.0
external-editor: 3.1.0
- lodash: 4.17.21
mute-stream: 1.0.0
ora: 5.4.1
run-async: 3.0.0
@@ -5039,636 +7957,281 @@ packages:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 6.2.0
- dev: true
-
- /internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.0.6
- dev: true
+ yoctocolors-cjs: 2.1.2
- /interpret@1.4.0:
- resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
- engines: {node: '>= 0.10'}
- dev: true
+ interpret@1.4.0: {}
- /ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
- engines: {node: '>= 12'}
+ ip-address@9.0.5:
dependencies:
jsbn: 1.1.0
sprintf-js: 1.1.3
- dev: true
- /is-alphabetical@1.0.4:
- resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
- dev: true
+ is-alphabetical@1.0.4: {}
- /is-alphanumerical@1.0.4:
- resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
+ is-alphanumerical@1.0.4:
dependencies:
is-alphabetical: 1.0.4
is-decimal: 1.0.4
- dev: true
-
- /is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
- dev: true
-
- /is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- dev: true
-
- /is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- dev: true
- /is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
- dependencies:
- has-bigints: 1.0.2
- dev: true
+ is-arrayish@0.2.1: {}
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ is-binary-path@2.1.0:
dependencies:
binary-extensions: 2.3.0
- dev: true
- /is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
- dev: true
-
- /is-builtin-module@3.2.1:
- resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
- engines: {node: '>=6'}
+ is-builtin-module@3.2.1:
dependencies:
builtin-modules: 3.3.0
- dev: true
-
- /is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
- dev: true
- /is-ci@3.0.1:
- resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
- hasBin: true
+ is-ci@3.0.1:
dependencies:
ci-info: 3.9.0
- dev: true
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ is-core-module@2.14.0:
dependencies:
hasown: 2.0.2
- dev: true
-
- /is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
- dependencies:
- is-typed-array: 1.1.13
- dev: true
- /is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ is-core-module@2.15.0:
dependencies:
- has-tostringtag: 1.0.2
- dev: true
+ hasown: 2.0.2
- /is-decimal@1.0.4:
- resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
- dev: true
+ is-decimal@1.0.4: {}
- /is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
- dev: true
+ is-docker@2.2.1: {}
- /is-docker@3.0.0:
- resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- hasBin: true
- dev: true
+ is-docker@3.0.0: {}
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ is-extglob@2.1.1: {}
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
- dev: true
+ is-fullwidth-code-point@3.0.0: {}
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- dev: true
- /is-hexadecimal@1.0.4:
- resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
- dev: true
+ is-hexadecimal@1.0.4: {}
- /is-in-ci@0.1.0:
- resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==}
- engines: {node: '>=18'}
- hasBin: true
- dev: true
+ is-in-ci@0.1.0: {}
- /is-inside-container@1.0.0:
- resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
- engines: {node: '>=14.16'}
- hasBin: true
+ is-inside-container@1.0.0:
dependencies:
is-docker: 3.0.0
- dev: true
- /is-installed-globally@0.4.0:
- resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
- engines: {node: '>=10'}
+ is-installed-globally@1.0.0:
dependencies:
- global-dirs: 3.0.1
- is-path-inside: 3.0.3
- dev: true
-
- /is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
- dev: true
-
- /is-interactive@2.0.0:
- resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
- engines: {node: '>=12'}
- dev: true
-
- /is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
- dev: true
+ global-directory: 4.0.1
+ is-path-inside: 4.0.0
- /is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /is-npm@6.0.0:
- resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ is-interactive@1.0.0: {}
- /is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
- dev: true
-
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
+ is-interactive@2.0.0: {}
- /is-obj@2.0.0:
- resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
- engines: {node: '>=8'}
- dev: true
+ is-npm@6.0.0: {}
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
+ is-number@7.0.0: {}
- /is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
- dev: true
+ is-obj@2.0.0: {}
- /is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-path-inside@3.0.3: {}
- /is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- dev: true
+ is-path-inside@4.0.0: {}
- /is-ssh@1.4.0:
- resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==}
+ is-ssh@1.4.0:
dependencies:
protocols: 2.0.1
- dev: true
-
- /is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
- /is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
- dev: true
+ is-stream@2.0.1: {}
- /is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: true
+ is-stream@3.0.0: {}
- /is-text-path@2.0.0:
- resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
- engines: {node: '>=8'}
+ is-text-path@2.0.0:
dependencies:
text-extensions: 2.4.0
- dev: true
-
- /is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
- dependencies:
- which-typed-array: 1.1.15
- dev: true
- /is-typedarray@1.0.0:
- resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
- dev: true
+ is-typedarray@1.0.0: {}
- /is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
- dev: true
+ is-unicode-supported@0.1.0: {}
- /is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
- dev: true
+ is-unicode-supported@1.3.0: {}
- /is-unicode-supported@2.0.0:
- resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
- engines: {node: '>=18'}
- dev: true
+ is-unicode-supported@2.0.0: {}
- /is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
- dependencies:
- call-bind: 1.0.7
- dev: true
+ is-what@4.1.16: {}
- /is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ is-wsl@2.2.0:
dependencies:
is-docker: 2.2.1
- dev: true
- /is-wsl@3.1.0:
- resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
- engines: {node: '>=16'}
+ is-wsl@3.1.0:
dependencies:
is-inside-container: 1.0.0
- dev: true
-
- /isarray@0.0.1:
- resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
- dev: false
- /isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- dev: true
+ isarray@0.0.1: {}
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
+ isexe@2.0.0: {}
- /issue-parser@7.0.0:
- resolution: {integrity: sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==}
- engines: {node: ^18.17 || >=20.6.1}
+ issue-parser@7.0.1:
dependencies:
lodash.capitalize: 4.2.1
lodash.escaperegexp: 4.1.2
lodash.isplainobject: 4.0.6
lodash.isstring: 4.0.1
lodash.uniqby: 4.7.0
- dev: true
- /iterate-iterator@1.0.2:
- resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==}
- dev: true
+ jiti@1.21.6: {}
- /iterate-value@1.0.2:
- resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==}
- dependencies:
- es-get-iterator: 1.1.3
- iterate-iterator: 1.0.2
- dev: true
+ jiti@2.0.0-beta.2: {}
- /jiti@1.21.0:
- resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
- hasBin: true
- dev: true
+ jju@1.4.0: {}
- /jju@1.4.0:
- resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
- dev: true
+ js-tokens@4.0.0: {}
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- dev: true
+ js-tokens@9.0.0: {}
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
+ js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
- dev: true
- /jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
- dev: true
+ jsbn@1.1.0: {}
- /jsdoc-type-pratt-parser@4.0.0:
- resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
- engines: {node: '>=12.0.0'}
- dev: true
+ jsdoc-type-pratt-parser@4.0.0: {}
- /jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
- dev: true
+ jsesc@0.5.0: {}
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ jsesc@2.5.2: {}
- /jsesc@3.0.2:
- resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
+ jsesc@3.0.2: {}
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
+ json-buffer@3.0.1: {}
- /json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- dev: true
+ json-parse-even-better-errors@2.3.1: {}
- /json-parse-even-better-errors@3.0.2:
- resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ json-parse-even-better-errors@3.0.2: {}
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
+ json-schema-traverse@0.4.1: {}
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
+ json-schema-traverse@1.0.0: {}
- /json-stringify-safe@5.0.1:
- resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
- dev: true
+ json-stable-stringify-without-jsonify@1.0.1: {}
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
+ json-stringify-safe@5.0.1: {}
- /jsonc-eslint-parser@2.4.0:
- resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ json5@2.2.3: {}
+
+ jsonc-eslint-parser@2.4.0:
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.1
eslint-visitor-keys: 3.4.3
espree: 9.6.1
- semver: 7.6.0
- dev: true
+ semver: 7.6.2
- /jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
- dev: true
- /jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ jsonfile@6.1.0:
dependencies:
universalify: 2.0.1
optionalDependencies:
graceful-fs: 4.2.11
- dev: true
- /jsonparse@1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
- dev: true
+ jsonparse@1.3.1: {}
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
- dev: true
- /kolorist@1.8.0:
- resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
- dev: true
+ kolorist@1.8.0: {}
- /latest-version@7.0.0:
- resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
- engines: {node: '>=14.16'}
+ ky@1.4.0: {}
+
+ latest-version@9.0.0:
dependencies:
- package-json: 8.1.1
- dev: true
+ package-json: 10.0.1
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- dev: true
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
+ lines-and-columns@1.2.4: {}
- /lines-and-columns@2.0.4:
- resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ lines-and-columns@2.0.4: {}
- /linkify-it@5.0.0:
- resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+ linkify-it@5.0.0:
dependencies:
uc.micro: 2.1.0
- dev: true
- /local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
- engines: {node: '>=14'}
+ load-tsconfig@0.2.5: {}
+
+ local-pkg@0.5.0:
dependencies:
- mlly: 1.7.0
- pkg-types: 1.1.0
- dev: true
+ mlly: 1.7.1
+ pkg-types: 1.1.3
- /locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
+ locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
- dev: true
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
- dev: true
- /locate-path@7.2.0:
- resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ locate-path@7.2.0:
dependencies:
p-locate: 6.0.0
- dev: true
- /lodash.capitalize@4.2.1:
- resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==}
- dev: true
-
- /lodash.escaperegexp@4.1.2:
- resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==}
- dev: true
-
- /lodash.get@4.4.2:
- resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
- dev: true
+ lodash.capitalize@4.2.1: {}
- /lodash.isequal@4.5.0:
- resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
- dev: true
+ lodash.escaperegexp@4.1.2: {}
- /lodash.isplainobject@4.0.6:
- resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
- dev: true
+ lodash.isplainobject@4.0.6: {}
- /lodash.isstring@4.0.1:
- resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
- dev: true
+ lodash.isstring@4.0.1: {}
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
+ lodash.merge@4.6.2: {}
- /lodash.uniqby@4.7.0:
- resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==}
- dev: true
+ lodash.uniqby@4.7.0: {}
- /lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: true
+ lodash@4.17.21: {}
- /log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
+ log-symbols@4.1.0:
dependencies:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- dev: true
- /log-symbols@6.0.0:
- resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
- engines: {node: '>=18'}
+ log-symbols@6.0.0:
dependencies:
chalk: 5.3.0
is-unicode-supported: 1.3.0
- dev: true
- /lowercase-keys@3.0.0:
- resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ lowercase-keys@3.0.0: {}
- /lru-cache@10.2.2:
- resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
- engines: {node: 14 || >=16.14}
- dev: true
+ lru-cache@10.4.3: {}
- /lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
- dev: true
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
+ lru-cache@6.0.0:
dependencies:
yallist: 4.0.0
- dev: true
- /lru-cache@7.18.3:
- resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
- engines: {node: '>=12'}
- dev: true
+ lru-cache@7.18.3: {}
- /macos-release@3.2.0:
- resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ macos-release@3.2.0: {}
- /magic-string@0.30.10:
- resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+ magic-string@0.30.10:
dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/sourcemap-codec': 1.5.0
- /mark.js@8.11.1:
- resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
- dev: true
+ magic-string@0.30.11:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
- /markdown-it@14.1.0:
- resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
- hasBin: true
+ mark.js@8.11.1: {}
+
+ markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
@@ -5676,10 +8239,8 @@ packages:
mdurl: 2.0.0
punycode.js: 2.3.1
uc.micro: 2.1.0
- dev: true
- /mdast-util-from-markdown@0.8.5:
- resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
+ mdast-util-from-markdown@0.8.5:
dependencies:
'@types/mdast': 3.0.15
mdast-util-to-string: 2.0.0
@@ -5688,335 +8249,175 @@ packages:
unist-util-stringify-position: 2.0.3
transitivePeerDependencies:
- supports-color
- dev: true
- /mdast-util-to-string@2.0.0:
- resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
- dev: true
+ mdast-util-to-string@2.0.0: {}
- /mdn-data@2.0.28:
- resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
- dev: true
+ mdn-data@2.0.28: {}
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: true
+ mdn-data@2.0.30: {}
- /mdurl@2.0.0:
- resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
- dev: true
+ mdurl@2.0.0: {}
- /meow@12.1.1:
- resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
- engines: {node: '>=16.10'}
- dev: true
+ meow@12.1.1: {}
- /merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
+ merge-stream@2.0.0: {}
- /merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
- dev: true
+ merge2@1.4.1: {}
- /meshoptimizer@0.18.1:
- resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
+ meshoptimizer@0.18.1: {}
- /micromark@2.11.4:
- resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
+ micromark@2.11.4:
dependencies:
- debug: 4.3.4
+ debug: 4.3.6
parse-entities: 2.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
+ micromatch@4.0.7:
dependencies:
- braces: 3.0.2
+ braces: 3.0.3
picomatch: 2.3.1
- dev: true
- /mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
- dev: true
+ mime-db@1.52.0: {}
- /mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
- dev: true
- /mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
+ mimic-fn@2.1.0: {}
- /mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
- dev: true
+ mimic-fn@4.0.0: {}
- /mimic-response@3.1.0:
- resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
- engines: {node: '>=10'}
- dev: true
+ mimic-response@3.1.0: {}
- /mimic-response@4.0.0:
- resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ mimic-response@4.0.0: {}
- /min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
- dev: true
+ min-indent@1.0.1: {}
- /minimatch@3.0.8:
- resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
+ minimatch@3.0.8:
dependencies:
brace-expansion: 1.1.11
- dev: true
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
- dev: true
- /minimatch@9.0.4:
- resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
- dev: true
- /minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- dev: true
+ minimist@1.2.8: {}
- /minisearch@6.3.0:
- resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
- dev: true
+ minisearch@7.1.0: {}
- /mitt@3.0.1:
- resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
- dev: true
+ mitt@3.0.1: {}
- /mlly@1.7.0:
- resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==}
+ mlly@1.7.1:
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.1
pathe: 1.1.2
- pkg-types: 1.1.0
- ufo: 1.5.3
- dev: true
-
- /mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
- dev: true
+ pkg-types: 1.1.3
+ ufo: 1.5.4
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
+ mrmime@2.0.0: {}
- /ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- dev: true
+ ms@2.1.2: {}
- /muggle-string@0.3.1:
- resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
- dev: true
+ ms@2.1.3: {}
- /muggle-string@0.4.1:
- resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- dev: true
+ muggle-string@0.4.1: {}
- /mute-stream@1.0.0:
- resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ mute-stream@1.0.0: {}
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
+ nanoid@3.3.7: {}
- /natural-compare-lite@1.4.0:
- resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
- dev: true
+ natural-compare-lite@1.4.0: {}
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
+ natural-compare@1.4.0: {}
- /neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- dev: true
+ neo-async@2.6.2: {}
- /netmask@2.0.2:
- resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
- engines: {node: '>= 0.4.0'}
- dev: true
+ netmask@2.0.2: {}
- /new-github-release-url@2.0.0:
- resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ new-github-release-url@2.0.0:
dependencies:
type-fest: 2.19.0
- dev: true
- /node-domexception@1.0.0:
- resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
- engines: {node: '>=10.5.0'}
- dev: true
+ node-domexception@1.0.0: {}
- /node-fetch-native@1.6.4:
- resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
- dev: true
+ node-fetch-native@1.6.4: {}
- /node-fetch@3.3.2:
- resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ node-fetch@3.3.2:
dependencies:
data-uri-to-buffer: 4.0.1
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
- dev: true
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: true
+ node-releases@2.0.14: {}
- /normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ normalize-package-data@2.5.0:
dependencies:
hosted-git-info: 2.8.9
resolve: 1.22.8
semver: 5.7.2
validate-npm-package-license: 3.0.4
- dev: true
- /normalize-package-data@6.0.1:
- resolution: {integrity: sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ normalize-package-data@6.0.2:
dependencies:
hosted-git-info: 7.0.2
- is-core-module: 2.13.1
- semver: 7.6.0
+ semver: 7.6.2
validate-npm-package-license: 3.0.4
- dev: true
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ normalize-path@3.0.0: {}
- /normalize-url@8.0.1:
- resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
- engines: {node: '>=14.16'}
- dev: true
+ normalize-url@8.0.1: {}
- /npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
+ npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
- dev: true
- /npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
- dev: true
- /nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
- dev: true
-
- /object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
- dev: false
- /object-inspect@1.13.1:
- resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
- dev: true
-
- /object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- has-symbols: 1.0.3
- object-keys: 1.1.1
- dev: true
+ object-hash@3.0.0: {}
- /ofetch@1.3.4:
- resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
+ ofetch@1.3.4:
dependencies:
destr: 2.0.3
node-fetch-native: 1.6.4
ufo: 1.5.3
- dev: true
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ once@1.4.0:
dependencies:
wrappy: 1.0.2
- dev: true
- /onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
+ onetime@5.1.2:
dependencies:
mimic-fn: 2.1.0
- dev: true
- /onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
+ onetime@6.0.0:
dependencies:
mimic-fn: 4.0.0
- dev: true
- /open@10.1.0:
- resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
- engines: {node: '>=18'}
+ open@10.1.0:
dependencies:
default-browser: 5.2.1
define-lazy-prop: 3.0.0
is-inside-container: 1.0.0
is-wsl: 3.1.0
- dev: true
- /open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
- engines: {node: '>=12'}
+ open@8.4.2:
dependencies:
define-lazy-prop: 2.0.0
is-docker: 2.2.1
is-wsl: 2.2.0
- dev: true
- /optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ optionator@0.9.4:
dependencies:
deep-is: 0.1.4
fast-levenshtein: 2.0.6
@@ -6024,11 +8425,8 @@ packages:
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.5
- dev: true
- /ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
+ ora@5.4.1:
dependencies:
bl: 4.1.0
chalk: 4.1.2
@@ -6039,11 +8437,8 @@ packages:
log-symbols: 4.1.0
strip-ansi: 6.0.1
wcwidth: 1.0.1
- dev: true
- /ora@8.0.1:
- resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==}
- engines: {node: '>=18'}
+ ora@8.0.1:
dependencies:
chalk: 5.3.0
cli-cursor: 4.0.0
@@ -6052,118 +8447,74 @@ packages:
is-unicode-supported: 2.0.0
log-symbols: 6.0.0
stdin-discarder: 0.2.2
- string-width: 7.1.0
+ string-width: 7.2.0
strip-ansi: 7.1.0
- dev: true
- /os-name@5.1.0:
- resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ os-name@5.1.0:
dependencies:
macos-release: 3.2.0
windows-release: 5.1.1
- dev: true
- /os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ os-tmpdir@1.0.2: {}
- /p-cancelable@3.0.0:
- resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
- engines: {node: '>=12.20'}
- dev: true
+ p-cancelable@3.0.0: {}
- /p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
+ p-limit@2.3.0:
dependencies:
p-try: 2.2.0
- dev: true
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
- dev: true
- /p-limit@4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ p-limit@4.0.0:
dependencies:
- yocto-queue: 1.0.0
- dev: true
+ yocto-queue: 1.1.1
- /p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
+ p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
- dev: true
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ p-locate@5.0.0:
dependencies:
p-limit: 3.1.0
- dev: true
- /p-locate@6.0.0:
- resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ p-locate@6.0.0:
dependencies:
p-limit: 4.0.0
- dev: true
- /p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
- dev: true
+ p-try@2.2.0: {}
- /pac-proxy-agent@7.0.1:
- resolution: {integrity: sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==}
- engines: {node: '>= 14'}
+ pac-proxy-agent@7.0.2:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.1
- debug: 4.3.4
+ debug: 4.3.6
get-uri: 6.0.3
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.5
pac-resolver: 7.0.1
- socks-proxy-agent: 8.0.3
+ socks-proxy-agent: 8.0.4
transitivePeerDependencies:
- supports-color
- dev: true
- /pac-resolver@7.0.1:
- resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
- engines: {node: '>= 14'}
+ pac-resolver@7.0.1:
dependencies:
degenerator: 5.0.1
netmask: 2.0.2
- dev: true
- /package-json@8.1.1:
- resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
- engines: {node: '>=14.16'}
+ package-json@10.0.1:
dependencies:
- got: 12.6.1
+ ky: 1.4.0
registry-auth-token: 5.0.2
registry-url: 6.0.1
- semver: 7.6.0
- dev: true
+ semver: 7.6.2
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ parent-module@1.0.1:
dependencies:
callsites: 3.1.0
- dev: true
- /parse-entities@2.0.0:
- resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
+ parse-entities@2.0.0:
dependencies:
character-entities: 1.2.4
character-entities-legacy: 1.1.4
@@ -6171,389 +8522,220 @@ packages:
is-alphanumerical: 1.0.4
is-decimal: 1.0.4
is-hexadecimal: 1.0.4
- dev: true
- /parse-gitignore@2.0.0:
- resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
- engines: {node: '>=14'}
- dev: true
+ parse-gitignore@2.0.0: {}
- /parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ parse-imports@2.1.1:
+ dependencies:
+ es-module-lexer: 1.5.4
+ slashes: 3.0.12
+
+ parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.7
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- dev: true
- /parse-json@7.1.1:
- resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==}
- engines: {node: '>=16'}
+ parse-json@7.1.1:
dependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.7
error-ex: 1.3.2
json-parse-even-better-errors: 3.0.2
lines-and-columns: 2.0.4
type-fest: 3.13.1
- dev: true
- /parse-path@7.0.0:
- resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+ parse-path@7.0.0:
dependencies:
protocols: 2.0.1
- dev: true
- /parse-url@8.1.0:
- resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+ parse-url@8.1.0:
dependencies:
parse-path: 7.0.0
- dev: true
- /path-browserify@1.0.1:
- resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
- dev: true
+ path-browserify@1.0.1: {}
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
+ path-exists@4.0.0: {}
- /path-exists@5.0.0:
- resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ path-exists@5.0.0: {}
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ path-is-absolute@1.0.1: {}
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
+ path-key@3.1.1: {}
- /path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
- dev: true
+ path-key@4.0.0: {}
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
+ path-parse@1.0.7: {}
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: true
+ path-type@4.0.0: {}
- /path-type@5.0.0:
- resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
- engines: {node: '>=12'}
- dev: true
+ path-type@5.0.0: {}
- /pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- dev: true
+ pathe@1.1.2: {}
- /perfect-debounce@1.0.0:
- resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
- dev: true
+ perfect-debounce@1.0.0: {}
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ picocolors@1.0.1: {}
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
+ picomatch@2.3.1: {}
- /picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
- engines: {node: '>=12'}
- dev: true
+ picomatch@4.0.2: {}
- /pkg-types@1.1.0:
- resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
+ pkg-types@1.1.3:
dependencies:
confbox: 0.1.7
- mlly: 1.7.0
+ mlly: 1.7.1
pathe: 1.1.2
- dev: true
-
- /pluralize@8.0.0:
- resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
- engines: {node: '>=4'}
- dev: true
- /possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
- dev: true
+ pluralize@8.0.0: {}
- /postcss-selector-parser@6.0.16:
- resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
- engines: {node: '>=4'}
+ postcss-selector-parser@6.1.1:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- dev: true
- /postcss@8.4.38:
- resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
- engines: {node: ^10 || ^12 || >=14}
+ postcss@8.4.41:
dependencies:
nanoid: 3.3.7
- picocolors: 1.0.0
+ picocolors: 1.0.1
source-map-js: 1.2.0
- /potpack@1.0.2:
- resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
- dev: false
+ potpack@1.0.2: {}
- /preact@10.21.0:
- resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==}
- dev: true
+ preact@10.23.2: {}
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
+ prelude-ls@1.2.1: {}
- /prettier-linter-helpers@1.0.0:
- resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
- engines: {node: '>=6.0.0'}
+ prettier-linter-helpers@1.0.0:
dependencies:
fast-diff: 1.3.0
- dev: true
- /prettier@3.2.5:
- resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /promise.allsettled@1.0.7:
- resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==}
- engines: {node: '>= 0.4'}
- dependencies:
- array.prototype.map: 1.0.7
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- get-intrinsic: 1.2.4
- iterate-value: 1.0.2
- dev: true
+ prettier@3.3.3: {}
- /proto-list@1.2.4:
- resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
- dev: true
+ proto-list@1.2.4: {}
- /protocols@2.0.1:
- resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
- dev: true
+ protocols@2.0.1: {}
- /proxy-agent@6.4.0:
- resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
- engines: {node: '>= 14'}
+ proxy-agent@6.4.0:
dependencies:
agent-base: 7.1.1
- debug: 4.3.4
+ debug: 4.3.6
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.5
lru-cache: 7.18.3
- pac-proxy-agent: 7.0.1
+ pac-proxy-agent: 7.0.2
proxy-from-env: 1.1.0
- socks-proxy-agent: 8.0.3
+ socks-proxy-agent: 8.0.4
transitivePeerDependencies:
- supports-color
- dev: true
- /proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- dev: true
+ proxy-from-env@1.1.0: {}
- /punycode.js@2.3.1:
- resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
- engines: {node: '>=6'}
- dev: true
+ punycode.js@2.3.1: {}
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
+ punycode@2.3.1: {}
- /pupa@3.1.0:
- resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
- engines: {node: '>=12.20'}
+ pupa@3.1.0:
dependencies:
escape-goat: 4.0.0
- dev: true
- /qrcode-terminal@0.12.0:
- resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
- hasBin: true
- dev: true
-
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
+ qrcode-terminal@0.12.0: {}
- /quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
- dev: true
+ queue-microtask@1.2.3: {}
- /rc@1.2.8:
- resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
- hasBin: true
+ quick-lru@5.1.1: {}
+
+ rc@1.2.8:
dependencies:
deep-extend: 0.6.0
ini: 1.3.8
minimist: 1.2.8
strip-json-comments: 2.0.1
- dev: true
- /read-pkg-up@10.1.0:
- resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==}
- engines: {node: '>=16'}
+ read-pkg-up@10.1.0:
dependencies:
find-up: 6.3.0
read-pkg: 8.1.0
- type-fest: 4.18.2
- dev: true
+ type-fest: 4.21.0
- /read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
+ read-pkg-up@7.0.1:
dependencies:
find-up: 4.1.0
read-pkg: 5.2.0
type-fest: 0.8.1
- dev: true
- /read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
+ read-pkg@5.2.0:
dependencies:
'@types/normalize-package-data': 2.4.4
normalize-package-data: 2.5.0
parse-json: 5.2.0
type-fest: 0.6.0
- dev: true
- /read-pkg@8.1.0:
- resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==}
- engines: {node: '>=16'}
+ read-pkg@8.1.0:
dependencies:
'@types/normalize-package-data': 2.4.4
- normalize-package-data: 6.0.1
+ normalize-package-data: 6.0.2
parse-json: 7.1.1
- type-fest: 4.18.2
- dev: true
+ type-fest: 4.21.0
- /readable-stream@1.0.34:
- resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
+ readable-stream@1.0.34:
dependencies:
core-util-is: 1.0.3
inherits: 2.0.4
isarray: 0.0.1
string_decoder: 0.10.31
- dev: false
- /readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
+ readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
- dev: true
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
- dev: true
- /rechoir@0.6.2:
- resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
- engines: {node: '>= 0.10'}
+ rechoir@0.6.2:
dependencies:
resolve: 1.22.8
- dev: true
- /refa@0.12.1:
- resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ refa@0.12.1:
dependencies:
- '@eslint-community/regexpp': 4.10.0
- dev: true
+ '@eslint-community/regexpp': 4.11.0
- /regexp-ast-analysis@0.7.1:
- resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ regexp-ast-analysis@0.7.1:
dependencies:
- '@eslint-community/regexpp': 4.10.0
+ '@eslint-community/regexpp': 4.11.0
refa: 0.12.1
- dev: true
- /regexp-tree@0.1.27:
- resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
- hasBin: true
- dev: true
-
- /regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-errors: 1.3.0
- set-function-name: 2.0.2
- dev: true
+ regexp-tree@0.1.27: {}
- /registry-auth-token@5.0.2:
- resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
- engines: {node: '>=14'}
+ registry-auth-token@5.0.2:
dependencies:
'@pnpm/npm-conf': 2.2.2
- dev: true
- /registry-url@6.0.1:
- resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
- engines: {node: '>=12'}
+ registry-url@6.0.1:
dependencies:
rc: 1.2.8
- dev: true
- /regjsparser@0.10.0:
- resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
- hasBin: true
+ regjsparser@0.10.0:
dependencies:
jsesc: 0.5.0
- dev: true
- /release-it@17.2.1(typescript@5.4.5):
- resolution: {integrity: sha512-zBOpaHyjrXC3g/9rHyQlvuDw9yCn9AGphrlL+t3gWNEhbZKEQ62WNY45JxllcJMNx9orQUxBZ3o7pVCqkeuTbg==}
- engines: {node: ^18.18.0 || ^20.8.0 || ^21.0.0}
- hasBin: true
+ release-it@17.6.0(typescript@5.5.4):
dependencies:
'@iarna/toml': 2.2.5
- '@octokit/rest': 20.1.0
+ '@octokit/rest': 20.1.1
async-retry: 1.3.3
chalk: 5.3.0
- cosmiconfig: 9.0.0(typescript@5.4.5)
+ cosmiconfig: 9.0.0(typescript@5.5.4)
execa: 8.0.1
git-url-parse: 14.0.0
- globby: 14.0.1
+ globby: 14.0.2
got: 13.0.0
- inquirer: 9.2.19
+ inquirer: 9.3.2
is-ci: 3.0.1
- issue-parser: 7.0.0
+ issue-parser: 7.0.1
lodash: 4.17.21
mime-types: 2.1.35
new-github-release-url: 2.0.0
@@ -6561,587 +8743,313 @@ packages:
open: 10.1.0
ora: 8.0.1
os-name: 5.1.0
- promise.allsettled: 1.0.7
proxy-agent: 6.4.0
- semver: 7.6.0
+ semver: 7.6.2
shelljs: 0.8.5
- update-notifier: 7.0.0
+ update-notifier: 7.1.0
url-join: 5.0.0
wildcard-match: 5.1.3
yargs-parser: 21.1.1
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
- dev: true
+ require-directory@2.1.1: {}
- /resolve-alpn@1.2.1:
- resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
- dev: true
+ require-from-string@2.0.2: {}
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
+ resolve-alpn@1.2.1: {}
- /resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- dev: true
+ resolve-from@4.0.0: {}
- /resolve@1.19.0:
- resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
- dependencies:
- is-core-module: 2.13.1
- path-parse: 1.0.7
- dev: true
+ resolve-pkg-maps@1.0.0: {}
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
+ resolve@1.22.8:
dependencies:
- is-core-module: 2.13.1
+ is-core-module: 2.15.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- dev: true
- /responselike@3.0.0:
- resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
- engines: {node: '>=14.16'}
+ responselike@3.0.0:
dependencies:
lowercase-keys: 3.0.0
- dev: true
- /restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
+ restore-cursor@3.1.0:
dependencies:
onetime: 5.1.2
signal-exit: 3.0.7
- dev: true
- /restore-cursor@4.0.0:
- resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ restore-cursor@4.0.0:
dependencies:
onetime: 5.1.2
signal-exit: 3.0.7
- dev: true
- /retry@0.13.1:
- resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
- engines: {node: '>= 4'}
- dev: true
+ retry@0.13.1: {}
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
+ reusify@1.0.4: {}
- /rfdc@1.3.1:
- resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
- dev: true
+ rfdc@1.4.1: {}
- /rollup-plugin-analyzer@4.0.0:
- resolution: {integrity: sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==}
- engines: {node: '>=8.0.0'}
- dev: true
+ rollup-plugin-analyzer@4.0.0: {}
- /rollup-plugin-visualizer@5.12.0:
- resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
- engines: {node: '>=14'}
- hasBin: true
- peerDependencies:
- rollup: 2.x || 3.x || 4.x
- peerDependenciesMeta:
- rollup:
- optional: true
+ rollup-plugin-visualizer@5.12.0(rollup@4.21.0):
dependencies:
open: 8.4.2
picomatch: 2.3.1
source-map: 0.7.4
yargs: 17.7.2
- dev: true
+ optionalDependencies:
+ rollup: 4.21.0
- /rollup@4.17.2:
- resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
+ rollup@4.20.0:
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.17.2
- '@rollup/rollup-android-arm64': 4.17.2
- '@rollup/rollup-darwin-arm64': 4.17.2
- '@rollup/rollup-darwin-x64': 4.17.2
- '@rollup/rollup-linux-arm-gnueabihf': 4.17.2
- '@rollup/rollup-linux-arm-musleabihf': 4.17.2
- '@rollup/rollup-linux-arm64-gnu': 4.17.2
- '@rollup/rollup-linux-arm64-musl': 4.17.2
- '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
- '@rollup/rollup-linux-riscv64-gnu': 4.17.2
- '@rollup/rollup-linux-s390x-gnu': 4.17.2
- '@rollup/rollup-linux-x64-gnu': 4.17.2
- '@rollup/rollup-linux-x64-musl': 4.17.2
- '@rollup/rollup-win32-arm64-msvc': 4.17.2
- '@rollup/rollup-win32-ia32-msvc': 4.17.2
- '@rollup/rollup-win32-x64-msvc': 4.17.2
+ '@rollup/rollup-android-arm-eabi': 4.20.0
+ '@rollup/rollup-android-arm64': 4.20.0
+ '@rollup/rollup-darwin-arm64': 4.20.0
+ '@rollup/rollup-darwin-x64': 4.20.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.20.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.20.0
+ '@rollup/rollup-linux-arm64-gnu': 4.20.0
+ '@rollup/rollup-linux-arm64-musl': 4.20.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.20.0
+ '@rollup/rollup-linux-s390x-gnu': 4.20.0
+ '@rollup/rollup-linux-x64-gnu': 4.20.0
+ '@rollup/rollup-linux-x64-musl': 4.20.0
+ '@rollup/rollup-win32-arm64-msvc': 4.20.0
+ '@rollup/rollup-win32-ia32-msvc': 4.20.0
+ '@rollup/rollup-win32-x64-msvc': 4.20.0
fsevents: 2.3.3
- dev: true
- /run-applescript@7.0.0:
- resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
- engines: {node: '>=18'}
- dev: true
+ rollup@4.21.0:
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.21.0
+ '@rollup/rollup-android-arm64': 4.21.0
+ '@rollup/rollup-darwin-arm64': 4.21.0
+ '@rollup/rollup-darwin-x64': 4.21.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.21.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.21.0
+ '@rollup/rollup-linux-arm64-gnu': 4.21.0
+ '@rollup/rollup-linux-arm64-musl': 4.21.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.21.0
+ '@rollup/rollup-linux-s390x-gnu': 4.21.0
+ '@rollup/rollup-linux-x64-gnu': 4.21.0
+ '@rollup/rollup-linux-x64-musl': 4.21.0
+ '@rollup/rollup-win32-arm64-msvc': 4.21.0
+ '@rollup/rollup-win32-ia32-msvc': 4.21.0
+ '@rollup/rollup-win32-x64-msvc': 4.21.0
+ fsevents: 2.3.3
+ optional: true
- /run-async@3.0.0:
- resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
- engines: {node: '>=0.12.0'}
- dev: true
+ run-applescript@7.0.0: {}
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
+ run-async@3.0.0: {}
- /rxjs@7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+ run-parallel@1.2.0:
dependencies:
- tslib: 2.6.2
- dev: true
+ queue-microtask: 1.2.3
- /safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
+ rxjs@7.8.1:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- isarray: 2.0.5
- dev: true
-
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: true
+ tslib: 2.6.3
- /safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-regex: 1.1.4
- dev: true
+ safe-buffer@5.2.1: {}
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: true
+ safer-buffer@2.1.2: {}
- /scslre@0.3.0:
- resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
- engines: {node: ^14.0.0 || >=16.0.0}
+ scslre@0.3.0:
dependencies:
- '@eslint-community/regexpp': 4.10.0
+ '@eslint-community/regexpp': 4.11.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
- dev: true
- /scule@1.3.0:
- resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
- dev: true
+ scule@1.3.0: {}
- /search-insights@2.13.0:
- resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
- dev: true
+ search-insights@2.16.3: {}
- /semver-diff@4.0.0:
- resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
- engines: {node: '>=12'}
+ semver-diff@4.0.0:
dependencies:
- semver: 7.6.0
- dev: true
-
- /semver@5.7.2:
- resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
- hasBin: true
- dev: true
+ semver: 7.6.2
- /semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
- dev: true
+ semver@5.7.2: {}
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
+ semver@6.3.1: {}
- /semver@7.6.0:
- resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
- engines: {node: '>=10'}
- hasBin: true
+ semver@7.5.4:
dependencies:
lru-cache: 6.0.0
- dev: true
- /semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
- engines: {node: '>=10'}
- hasBin: true
- dev: true
-
- /set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- dev: true
+ semver@7.6.2: {}
- /set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
- dev: true
+ semver@7.6.3: {}
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
- dev: true
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
+ shebang-regex@3.0.0: {}
- /shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
- engines: {node: '>=4'}
- hasBin: true
+ shelljs@0.8.5:
dependencies:
glob: 7.2.3
interpret: 1.4.0
rechoir: 0.6.2
- dev: true
- /shiki@1.4.0:
- resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==}
+ shiki@1.14.1:
dependencies:
- '@shikijs/core': 1.4.0
- dev: true
+ '@shikijs/core': 1.14.1
+ '@types/hast': 3.0.4
- /side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.1
- dev: true
-
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: true
+ signal-exit@3.0.7: {}
- /signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
- dev: true
+ signal-exit@4.1.0: {}
- /sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
+ sirv@2.0.4:
dependencies:
'@polka/url': 1.0.0-next.25
mrmime: 2.0.0
totalist: 3.0.1
- dev: true
- /sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- dev: true
+ sisteransi@1.0.5: {}
- /slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
- dev: true
+ slash@3.0.0: {}
- /slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
- dev: true
+ slash@5.1.0: {}
- /smart-buffer@4.2.0:
- resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
- engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- dev: true
+ slashes@3.0.12: {}
- /socks-proxy-agent@8.0.3:
- resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==}
- engines: {node: '>= 14'}
+ smart-buffer@4.2.0: {}
+
+ socks-proxy-agent@8.0.4:
dependencies:
agent-base: 7.1.1
- debug: 4.3.4
+ debug: 4.3.6
socks: 2.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /socks@2.8.3:
- resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
- engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+ socks@2.8.3:
dependencies:
ip-address: 9.0.5
smart-buffer: 4.2.0
- dev: true
- /source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
+ source-map-js@1.2.0: {}
- /source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ source-map@0.6.1: {}
- /source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
- dev: true
+ source-map@0.7.4: {}
- /spdx-correct@3.2.0:
- resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.17
- dev: true
+ spdx-license-ids: 3.0.18
- /spdx-exceptions@2.5.0:
- resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
- dev: true
+ spdx-exceptions@2.5.0: {}
- /spdx-expression-parse@3.0.1:
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.17
- dev: true
+ spdx-license-ids: 3.0.18
- /spdx-expression-parse@4.0.0:
- resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+ spdx-expression-parse@4.0.0:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.17
- dev: true
+ spdx-license-ids: 3.0.18
- /spdx-license-ids@3.0.17:
- resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
- dev: true
+ spdx-license-ids@3.0.18: {}
- /speakingurl@14.0.1:
- resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ speakingurl@14.0.1: {}
- /split2@4.2.0:
- resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
- engines: {node: '>= 10.x'}
- dev: true
+ split2@4.2.0: {}
- /sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- dev: true
+ sprintf-js@1.0.3: {}
- /sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
- dev: true
+ sprintf-js@1.1.3: {}
- /stats-gl@2.2.8:
- resolution: {integrity: sha512-94G5nZvduDmzxBS7K0lYnynYwreZpkknD8g5dZmU6mpwIhy3caCrjAm11Qm1cbyx7mqix7Fp00RkbsonzKWnoQ==}
+ stable-hash@0.0.4: {}
+
+ stats-gl@2.2.8:
dependencies:
'@types/three': 0.163.0
- dev: false
-
- /stats.js@0.17.0:
- resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
- dev: false
- /stdin-discarder@0.2.2:
- resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
- engines: {node: '>=18'}
- dev: true
+ stats.js@0.17.0: {}
- /stop-iteration-iterator@1.0.0:
- resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- internal-slot: 1.0.7
- dev: true
+ stdin-discarder@0.2.2: {}
- /string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
- dev: true
+ string-argv@0.3.2: {}
- /string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- dev: true
- /string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ string-width@5.1.2:
dependencies:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
strip-ansi: 7.1.0
- dev: true
- /string-width@7.1.0:
- resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
- engines: {node: '>=18'}
+ string-width@7.2.0:
dependencies:
emoji-regex: 10.3.0
get-east-asian-width: 1.2.0
strip-ansi: 7.1.0
- dev: true
-
- /string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
- dev: true
-
- /string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
- dev: true
-
- /string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
- dev: true
- /string_decoder@0.10.31:
- resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
- dev: false
+ string_decoder@0.10.31: {}
- /string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
- dev: true
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
- dev: true
- /strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
+ strip-ansi@7.1.0:
dependencies:
ansi-regex: 6.0.1
- dev: true
- /strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
- dev: true
+ strip-final-newline@2.0.0: {}
- /strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
- dev: true
+ strip-final-newline@3.0.0: {}
- /strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ strip-indent@3.0.0:
dependencies:
min-indent: 1.0.1
- dev: true
- /strip-json-comments@2.0.1:
- resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ strip-json-comments@2.0.1: {}
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
+ strip-json-comments@3.1.1: {}
- /strip-literal@1.3.0:
- resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
+ strip-literal@2.1.0:
dependencies:
- acorn: 8.11.3
- dev: true
+ js-tokens: 9.0.0
- /supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ superjson@2.2.1:
+ dependencies:
+ copy-anything: 3.0.5
+
+ supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
- dev: true
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
- dev: true
- /supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
+ supports-color@8.1.1:
dependencies:
has-flag: 4.0.0
- dev: true
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: true
+ supports-preserve-symlinks-flag@1.0.0: {}
- /svgo@3.2.0:
- resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ svgo@3.3.2:
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
@@ -7149,633 +9057,384 @@ packages:
css-tree: 2.3.1
css-what: 6.1.0
csso: 5.0.5
- picocolors: 1.0.0
- dev: true
+ picocolors: 1.0.1
- /synckit@0.6.2:
- resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==}
- engines: {node: '>=12.20'}
+ synckit@0.6.2:
dependencies:
- tslib: 2.6.2
- dev: true
+ tslib: 2.6.3
- /synckit@0.9.0:
- resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ synckit@0.9.1:
dependencies:
'@pkgr/core': 0.1.1
- tslib: 2.6.2
- dev: true
+ tslib: 2.6.3
- /tabbable@6.2.0:
- resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- dev: true
+ tabbable@6.2.0: {}
- /tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
- dev: true
+ tapable@2.2.1: {}
- /text-extensions@2.4.0:
- resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
- engines: {node: '>=8'}
- dev: true
+ text-extensions@2.4.0: {}
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
+ text-table@0.2.0: {}
- /three-custom-shader-material@5.4.0(three@0.164.1):
- resolution: {integrity: sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==}
- peerDependencies:
- '@react-three/fiber': '>=8.0'
- react: '>=18.0'
- three: '>=0.154'
- peerDependenciesMeta:
- '@react-three/fiber':
- optional: true
- react:
- optional: true
+ three-custom-shader-material@5.4.0(three@0.167.1):
dependencies:
glsl-token-functions: 1.0.1
glsl-token-string: 1.0.1
glsl-tokenizer: 2.1.5
object-hash: 3.0.0
- three: 0.164.1
- dev: false
+ three: 0.167.1
- /three-stdlib@2.29.11(three@0.164.1):
- resolution: {integrity: sha512-vSyUavKCwOJQd2ch9IHhyJVx6eNG3y+z3/LulqHM7OLMy81OqnmIrvc2b4phKr/c1aVjHRNG2X7JOklfrDDcmQ==}
- peerDependencies:
- three: '>=0.128.0'
+ three-stdlib@2.32.2(three@0.167.1):
dependencies:
- '@types/draco3d': 1.4.9
+ '@types/draco3d': 1.4.10
'@types/offscreencanvas': 2019.7.3
- '@types/webxr': 0.5.16
+ '@types/webxr': 0.5.19
draco3d: 1.5.7
fflate: 0.6.10
potpack: 1.0.2
- three: 0.164.1
- dev: false
+ three: 0.167.1
- /three@0.164.1:
- resolution: {integrity: sha512-iC/hUBbl1vzFny7f5GtqzVXYjMJKaTPxiCxXfrvVdBi1Sf+jhd1CAkitiFwC7mIBFCo3MrDLJG97yisoaWig0w==}
+ three@0.167.1: {}
- /through2@0.6.5:
- resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
+ through2@0.6.5:
dependencies:
readable-stream: 1.0.34
xtend: 4.0.2
- dev: false
-
- /through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
- dev: true
-
- /tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
- dependencies:
- os-tmpdir: 1.0.2
- dev: true
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
+ through@2.3.8: {}
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ tinyglobby@0.2.2:
dependencies:
- is-number: 7.0.0
- dev: true
+ fdir: 6.2.0(picomatch@4.0.2)
+ picomatch: 4.0.2
- /toml-eslint-parser@0.9.3:
- resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ tmp@0.0.33:
dependencies:
- eslint-visitor-keys: 3.4.3
- dev: true
+ os-tmpdir: 1.0.2
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: true
+ to-fast-properties@2.0.0: {}
- /ts-api-utils@1.3.0(typescript@5.4.5):
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
+ to-regex-range@5.0.1:
dependencies:
- typescript: 5.4.5
- dev: true
-
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: true
-
- /tweakpane@3.1.10:
- resolution: {integrity: sha512-rqwnl/pUa7+inhI2E9ayGTqqP0EPOOn/wVvSWjZsRbZUItzNShny7pzwL3hVlaN4m9t/aZhsP0aFQ9U5VVR2VQ==}
- dev: true
+ is-number: 7.0.0
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ toml-eslint-parser@0.10.0:
dependencies:
- prelude-ls: 1.2.1
- dev: true
+ eslint-visitor-keys: 3.4.3
- /type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
- dev: true
+ totalist@3.0.1: {}
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
+ ts-api-utils@1.3.0(typescript@5.5.4):
+ dependencies:
+ typescript: 5.5.4
- /type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
- dev: true
+ tslib@2.6.3: {}
- /type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
- dev: true
+ tsx@4.16.3:
+ dependencies:
+ esbuild: 0.21.5
+ get-tsconfig: 4.7.6
+ optionalDependencies:
+ fsevents: 2.3.3
- /type-fest@0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
- engines: {node: '>=8'}
- dev: true
+ type-check@0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
- /type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
- dev: true
+ type-detect@4.0.8: {}
- /type-fest@2.19.0:
- resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
- engines: {node: '>=12.20'}
- dev: true
+ type-fest@0.20.2: {}
- /type-fest@3.13.1:
- resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
- engines: {node: '>=14.16'}
- dev: true
+ type-fest@0.21.3: {}
- /type-fest@4.18.2:
- resolution: {integrity: sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==}
- engines: {node: '>=16'}
- dev: true
+ type-fest@0.6.0: {}
- /typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-typed-array: 1.1.13
- dev: true
+ type-fest@0.8.1: {}
- /typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- dev: true
+ type-fest@1.4.0: {}
- /typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- dev: true
+ type-fest@2.19.0: {}
- /typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- possible-typed-array-names: 1.0.0
- dev: true
+ type-fest@3.13.1: {}
- /typedarray-to-buffer@3.1.5:
- resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ type-fest@4.21.0: {}
+
+ typedarray-to-buffer@3.1.5:
dependencies:
is-typedarray: 1.0.0
- dev: true
- /typedarray@0.0.6:
- resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
- dev: true
+ typedarray@0.0.6: {}
- /typescript@5.4.2:
- resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
- engines: {node: '>=14.17'}
- hasBin: true
- dev: true
+ typescript@5.4.2: {}
- /typescript@5.4.5:
- resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
- engines: {node: '>=14.17'}
- hasBin: true
+ typescript@5.5.4: {}
- /uc.micro@2.1.0:
- resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
- dev: true
+ uc.micro@2.1.0: {}
- /ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
- dev: true
+ ufo@1.5.3: {}
- /uglify-js@3.17.4:
- resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- requiresBuild: true
- dev: true
+ ufo@1.5.4: {}
+
+ uglify-js@3.18.0:
optional: true
- /unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ unconfig@0.5.4:
dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
- dev: true
+ '@antfu/utils': 0.7.10
+ defu: 6.1.4
+ importx: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
- /unconfig@0.3.13:
- resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
+ unconfig@0.5.5:
dependencies:
- '@antfu/utils': 0.7.7
+ '@antfu/utils': 0.7.10
defu: 6.1.4
- jiti: 1.21.0
- dev: true
+ importx: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
- /undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- dev: true
+ undici-types@6.19.8: {}
- /unicorn-magic@0.1.0:
- resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
- engines: {node: '>=18'}
- dev: true
+ unicorn-magic@0.1.0: {}
- /unimport@3.7.1:
- resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==}
+ unimport@3.9.0(rollup@4.21.0):
dependencies:
- '@rollup/pluginutils': 5.1.0
- acorn: 8.11.3
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ acorn: 8.12.1
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.10
- mlly: 1.7.0
+ mlly: 1.7.1
pathe: 1.1.2
- pkg-types: 1.1.0
+ pkg-types: 1.1.3
scule: 1.3.0
- strip-literal: 1.3.0
- unplugin: 1.10.1
+ strip-literal: 2.1.0
+ unplugin: 1.12.0
transitivePeerDependencies:
- rollup
- dev: true
- /unique-string@3.0.0:
- resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
- engines: {node: '>=12'}
+ unique-string@3.0.0:
dependencies:
crypto-random-string: 4.0.0
- dev: true
- /unist-util-stringify-position@2.0.3:
- resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+ unist-util-stringify-position@2.0.3:
dependencies:
'@types/unist': 2.0.10
- dev: true
-
- /universal-user-agent@6.0.1:
- resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
- dev: true
-
- /universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
- dev: true
- /universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
- dev: true
+ universal-user-agent@6.0.1: {}
+
+ universalify@0.1.2: {}
+
+ universalify@2.0.1: {}
+
+ unocss@0.61.8(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1)):
+ dependencies:
+ '@unocss/astro': 0.61.8(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ '@unocss/cli': 0.61.8(rollup@4.21.0)
+ '@unocss/core': 0.61.8
+ '@unocss/extractor-arbitrary-variants': 0.61.8
+ '@unocss/postcss': 0.61.8(postcss@8.4.41)
+ '@unocss/preset-attributify': 0.61.8
+ '@unocss/preset-icons': 0.61.8
+ '@unocss/preset-mini': 0.61.8
+ '@unocss/preset-tagify': 0.61.8
+ '@unocss/preset-typography': 0.61.8
+ '@unocss/preset-uno': 0.61.8
+ '@unocss/preset-web-fonts': 0.61.8
+ '@unocss/preset-wind': 0.61.8
+ '@unocss/reset': 0.61.8
+ '@unocss/transformer-attributify-jsx': 0.61.8
+ '@unocss/transformer-attributify-jsx-babel': 0.61.8
+ '@unocss/transformer-compile-class': 0.61.8
+ '@unocss/transformer-directives': 0.61.8
+ '@unocss/transformer-variant-group': 0.61.8
+ '@unocss/vite': 0.61.8(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ optionalDependencies:
+ vite: 5.4.1(@types/node@22.4.1)
+ transitivePeerDependencies:
+ - postcss
+ - rollup
+ - supports-color
- /unocss@0.59.4(postcss@8.4.38)(vite@5.2.11):
- resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@unocss/webpack': 0.59.4
- vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
- peerDependenciesMeta:
- '@unocss/webpack':
- optional: true
- vite:
- optional: true
- dependencies:
- '@unocss/astro': 0.59.4(vite@5.2.11)
- '@unocss/cli': 0.59.4
- '@unocss/core': 0.59.4
- '@unocss/extractor-arbitrary-variants': 0.59.4
- '@unocss/postcss': 0.59.4(postcss@8.4.38)
- '@unocss/preset-attributify': 0.59.4
- '@unocss/preset-icons': 0.59.4
- '@unocss/preset-mini': 0.59.4
- '@unocss/preset-tagify': 0.59.4
- '@unocss/preset-typography': 0.59.4
- '@unocss/preset-uno': 0.59.4
- '@unocss/preset-web-fonts': 0.59.4
- '@unocss/preset-wind': 0.59.4
- '@unocss/reset': 0.59.4
- '@unocss/transformer-attributify-jsx': 0.59.4
- '@unocss/transformer-attributify-jsx-babel': 0.59.4
- '@unocss/transformer-compile-class': 0.59.4
- '@unocss/transformer-directives': 0.59.4
- '@unocss/transformer-variant-group': 0.59.4
- '@unocss/vite': 0.59.4(vite@5.2.11)
- vite: 5.2.11(@types/node@20.12.10)
+ unocss@0.62.2(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1)):
+ dependencies:
+ '@unocss/astro': 0.62.2(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ '@unocss/cli': 0.62.2(rollup@4.21.0)
+ '@unocss/core': 0.62.2
+ '@unocss/extractor-arbitrary-variants': 0.62.2
+ '@unocss/postcss': 0.62.2(postcss@8.4.41)
+ '@unocss/preset-attributify': 0.62.2
+ '@unocss/preset-icons': 0.62.2
+ '@unocss/preset-mini': 0.62.2
+ '@unocss/preset-tagify': 0.62.2
+ '@unocss/preset-typography': 0.62.2
+ '@unocss/preset-uno': 0.62.2
+ '@unocss/preset-web-fonts': 0.62.2
+ '@unocss/preset-wind': 0.62.2
+ '@unocss/reset': 0.62.2
+ '@unocss/transformer-attributify-jsx': 0.62.2
+ '@unocss/transformer-attributify-jsx-babel': 0.62.2
+ '@unocss/transformer-compile-class': 0.62.2
+ '@unocss/transformer-directives': 0.62.2
+ '@unocss/transformer-variant-group': 0.62.2
+ '@unocss/vite': 0.62.2(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1))
+ optionalDependencies:
+ vite: 5.4.1(@types/node@22.4.1)
transitivePeerDependencies:
- postcss
- rollup
- supports-color
- dev: true
- /unplugin-auto-import@0.17.5(@vueuse/core@10.9.0):
- resolution: {integrity: sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@nuxt/kit': ^3.2.2
- '@vueuse/core': '*'
- peerDependenciesMeta:
- '@nuxt/kit':
- optional: true
- '@vueuse/core':
- optional: true
+ unplugin-auto-import@0.18.2(@vueuse/core@11.0.1(vue@3.4.38(typescript@5.5.4)))(rollup@4.21.0):
dependencies:
- '@antfu/utils': 0.7.7
- '@rollup/pluginutils': 5.1.0
- '@vueuse/core': 10.9.0(vue@3.4.27)
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.10
- minimatch: 9.0.4
- unimport: 3.7.1
- unplugin: 1.10.1
+ minimatch: 9.0.5
+ unimport: 3.9.0(rollup@4.21.0)
+ unplugin: 1.12.0
+ optionalDependencies:
+ '@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- rollup
- dev: true
- /unplugin-vue-components@0.27.0(vue@3.4.27):
- resolution: {integrity: sha512-77eTEy23sQ0UpzGWnZ9I2mY3cnmXwklz4ITcn3JfxjCoX643ghImkiZ4nFm58sxbdVcc4Fo/o4LIoFnlqEqsSg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/parser': ^7.15.8
- '@nuxt/kit': ^3.2.2
- vue: 2 || 3
- peerDependenciesMeta:
- '@babel/parser':
- optional: true
- '@nuxt/kit':
- optional: true
+ unplugin-vue-components@0.27.3(@babel/parser@7.25.3)(rollup@4.21.0)(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@antfu/utils': 0.7.7
- '@rollup/pluginutils': 5.1.0
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
chokidar: 3.6.0
- debug: 4.3.4
+ debug: 4.3.5
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.10
- minimatch: 9.0.4
- resolve: 1.22.8
- unplugin: 1.10.1
- vue: 3.4.27(typescript@5.4.5)
+ minimatch: 9.0.5
+ mlly: 1.7.1
+ unplugin: 1.12.0
+ vue: 3.4.38(typescript@5.5.4)
+ optionalDependencies:
+ '@babel/parser': 7.25.3
transitivePeerDependencies:
- rollup
- supports-color
- dev: true
- /unplugin@1.10.1:
- resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==}
- engines: {node: '>=14.0.0'}
+ unplugin@1.12.0:
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.1
chokidar: 3.6.0
webpack-sources: 3.2.3
- webpack-virtual-modules: 0.6.1
- dev: true
+ webpack-virtual-modules: 0.6.2
- /update-browserslist-db@1.0.15(browserslist@4.23.0):
- resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
+ update-browserslist-db@1.1.0(browserslist@4.23.2):
dependencies:
- browserslist: 4.23.0
+ browserslist: 4.23.2
escalade: 3.1.2
- picocolors: 1.0.0
- dev: true
+ picocolors: 1.0.1
- /update-notifier@7.0.0:
- resolution: {integrity: sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ==}
- engines: {node: '>=18'}
+ update-notifier@7.1.0:
dependencies:
boxen: 7.1.1
chalk: 5.3.0
configstore: 6.0.0
import-lazy: 4.0.0
is-in-ci: 0.1.0
- is-installed-globally: 0.4.0
+ is-installed-globally: 1.0.0
is-npm: 6.0.0
- latest-version: 7.0.0
+ latest-version: 9.0.0
pupa: 3.1.0
- semver: 7.6.0
+ semver: 7.6.2
semver-diff: 4.0.0
xdg-basedir: 5.1.0
- dev: true
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- dev: true
- /url-join@5.0.0:
- resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ url-join@5.0.0: {}
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
+ util-deprecate@1.0.2: {}
- /validate-npm-package-license@3.0.4:
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ validate-npm-package-license@3.0.4:
dependencies:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
- dev: true
-
- /validator@13.11.0:
- resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==}
- engines: {node: '>= 0.10'}
- dev: true
- /vite-plugin-banner@0.7.1:
- resolution: {integrity: sha512-Bww2Xd5tOGsZ1yZ9rQiGneryvsL1u86znPrqeQjCsXPsG72pnSdV5lcQA+cy8UNDguMqyTJiCevlNUbLnT85UA==}
- dev: true
+ vite-plugin-banner@0.7.1: {}
- /vite-plugin-css-injected-by-js@3.5.1(vite@5.2.11):
- resolution: {integrity: sha512-9ioqwDuEBxW55gNoWFEDhfLTrVKXEEZgl5adhWmmqa88EQGKfTmexy4v1Rh0pAS6RhKQs2bUYQArprB32JpUZQ==}
- peerDependencies:
- vite: '>2.0.0-0'
+ vite-plugin-css-injected-by-js@3.5.1(vite@5.4.1(@types/node@22.4.1)):
dependencies:
- vite: 5.2.11(@types/node@20.12.10)
- dev: true
+ vite: 5.4.1(@types/node@22.4.1)
- /vite-plugin-dts@3.9.1(@types/node@20.12.10)(typescript@5.4.5)(vite@5.2.11):
- resolution: {integrity: sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- vite: '*'
- peerDependenciesMeta:
- vite:
- optional: true
+ vite-plugin-dts@4.0.3(@types/node@22.4.1)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.1(@types/node@22.4.1)):
dependencies:
- '@microsoft/api-extractor': 7.43.0(@types/node@20.12.10)
- '@rollup/pluginutils': 5.1.0
- '@vue/language-core': 1.8.27(typescript@5.4.5)
- debug: 4.3.4
+ '@microsoft/api-extractor': 7.47.4(@types/node@22.4.1)
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ '@volar/typescript': 2.3.4
+ '@vue/language-core': 2.0.29(typescript@5.5.4)
+ compare-versions: 6.1.1
+ debug: 4.3.6
kolorist: 1.8.0
- magic-string: 0.30.10
- typescript: 5.4.5
- vite: 5.2.11(@types/node@20.12.10)
- vue-tsc: 1.8.27(typescript@5.4.5)
+ local-pkg: 0.5.0
+ magic-string: 0.30.11
+ typescript: 5.5.4
+ vue-tsc: 2.0.29(typescript@5.5.4)
+ optionalDependencies:
+ vite: 5.4.1(@types/node@22.4.1)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
- dev: true
- /vite-plugin-glsl@1.3.0(vite@5.2.11):
- resolution: {integrity: sha512-SzEoLet9Bp5VSozjrhUiSc3xX1+u7rCTjXAsq4qWM3u8UjilI76A9ucX/T+CRGQCe25j50GSY+9mKSGUVPET1w==}
- engines: {node: '>= 16.15.1', npm: '>= 8.11.0'}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ vite-plugin-glsl@1.3.0(rollup@4.21.0)(vite@5.4.1(@types/node@22.4.1)):
dependencies:
- '@rollup/pluginutils': 5.1.0
- vite: 5.2.11(@types/node@20.12.10)
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ vite: 5.4.1(@types/node@22.4.1)
transitivePeerDependencies:
- rollup
- dev: true
- /vite-plugin-qrcode@0.2.3(vite@5.2.11):
- resolution: {integrity: sha512-TFzhf20v29hnh2XEoZ2kxg8Ff/ui36pR7PGDaHaKEmsQaRagv31XacHxbw5O07HcC1Mkr4tKcYb+PFASSceHmw==}
- engines: {node: ^14.13.1 || ^16.0.0 || >=18}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ vite-plugin-qrcode@0.2.3(vite@5.4.1(@types/node@22.4.1)):
dependencies:
qrcode-terminal: 0.12.0
- vite: 5.2.11(@types/node@20.12.10)
- dev: true
+ vite: 5.4.1(@types/node@22.4.1)
- /vite-svg-loader@5.1.0(vue@3.4.27):
- resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==}
- peerDependencies:
- vue: '>=3.2.13'
+ vite-svg-loader@5.1.0(vue@3.4.38(typescript@5.5.4)):
dependencies:
- svgo: 3.2.0
- vue: 3.4.27(typescript@5.4.5)
- dev: true
+ svgo: 3.3.2
+ vue: 3.4.38(typescript@5.5.4)
- /vite@5.2.11(@types/node@20.12.10):
- resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ vite@5.4.1(@types/node@22.4.1):
dependencies:
- '@types/node': 20.12.10
- esbuild: 0.20.2
- postcss: 8.4.38
- rollup: 4.17.2
+ esbuild: 0.21.5
+ postcss: 8.4.41
+ rollup: 4.20.0
optionalDependencies:
+ '@types/node': 22.4.1
fsevents: 2.3.3
- dev: true
- /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
- resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
- hasBin: true
- peerDependencies:
- markdown-it-mathjax3: ^4
- postcss: ^8
- peerDependenciesMeta:
- markdown-it-mathjax3:
- optional: true
- postcss:
- optional: true
- dependencies:
- '@docsearch/css': 3.6.0
- '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
- '@shikijs/core': 1.4.0
- '@shikijs/transformers': 1.4.0
- '@types/markdown-it': 14.1.1
- '@vitejs/plugin-vue': 5.0.4(vite@5.2.11)(vue@3.4.27)
- '@vue/devtools-api': 7.1.3(vue@3.4.27)
- '@vueuse/core': 10.9.0(vue@3.4.27)
- '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27)
+ vitepress@1.3.3(@algolia/client-search@5.0.2)(@types/node@22.4.1)(postcss@8.4.41)(search-insights@2.16.3)(typescript@5.5.4):
+ dependencies:
+ '@docsearch/css': 3.6.1
+ '@docsearch/js': 3.6.1(@algolia/client-search@5.0.2)(search-insights@2.16.3)
+ '@shikijs/core': 1.14.1
+ '@shikijs/transformers': 1.14.1
+ '@types/markdown-it': 14.1.2
+ '@vitejs/plugin-vue': 5.1.2(vite@5.4.1(@types/node@22.4.1))(vue@3.4.38(typescript@5.5.4))
+ '@vue/devtools-api': 7.3.8
+ '@vue/shared': 3.4.38
+ '@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/integrations': 11.0.1(focus-trap@7.5.4)(vue@3.4.38(typescript@5.5.4))
focus-trap: 7.5.4
mark.js: 8.11.1
- minisearch: 6.3.0
- postcss: 8.4.38
- shiki: 1.4.0
- vite: 5.2.11(@types/node@20.12.10)
- vue: 3.4.27(typescript@5.4.5)
+ minisearch: 7.1.0
+ shiki: 1.14.1
+ vite: 5.4.1(@types/node@22.4.1)
+ vue: 3.4.38(typescript@5.5.4)
+ optionalDependencies:
+ postcss: 8.4.41
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/node'
@@ -7795,6 +9454,7 @@ packages:
- react
- react-dom
- sass
+ - sass-embedded
- search-insights
- sortablejs
- stylus
@@ -7802,262 +9462,142 @@ packages:
- terser
- typescript
- universal-cookie
- dev: true
- /vue-demi@0.14.7(vue@3.4.27):
- resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
+ vscode-uri@3.0.8: {}
+
+ vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)):
dependencies:
- vue: 3.4.27(typescript@5.4.5)
+ vue: 3.4.38(typescript@5.5.4)
- /vue-eslint-parser@9.4.2(eslint@9.2.0):
- resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '>=6.0.0'
+ vue-demi@0.14.8(vue@3.4.38(typescript@5.5.4)):
+ dependencies:
+ vue: 3.4.38(typescript@5.5.4)
+
+ vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6)):
dependencies:
- debug: 4.3.4
- eslint: 9.2.0
+ debug: 4.3.5
+ eslint: 9.9.0(jiti@1.21.6)
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
- esquery: 1.5.0
+ esquery: 1.6.0
lodash: 4.17.21
- semver: 7.6.0
+ semver: 7.6.2
transitivePeerDependencies:
- supports-color
- dev: true
- /vue-router@4.3.2(vue@3.4.27):
- resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==}
- peerDependencies:
- vue: ^3.2.0
+ vue-router@4.4.0(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@vue/devtools-api': 6.6.1
- vue: 3.4.27(typescript@5.4.5)
- dev: false
+ '@vue/devtools-api': 6.6.3
+ vue: 3.4.38(typescript@5.5.4)
- /vue-template-compiler@2.7.16:
- resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
+ vue-template-compiler@2.7.16:
dependencies:
de-indent: 1.0.2
he: 1.2.0
- dev: true
- /vue-tsc@1.8.27(typescript@5.4.5):
- resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==}
- hasBin: true
- peerDependencies:
- typescript: '*'
+ vue-tsc@2.0.28(typescript@5.5.4):
dependencies:
- '@volar/typescript': 1.11.1
- '@vue/language-core': 1.8.27(typescript@5.4.5)
- semver: 7.6.0
- typescript: 5.4.5
- dev: true
+ '@volar/typescript': 2.4.0-alpha.18
+ '@vue/language-core': 2.0.28(typescript@5.5.4)
+ semver: 7.6.3
+ typescript: 5.5.4
- /vue-tsc@2.0.16(typescript@5.4.5):
- resolution: {integrity: sha512-/gHAWJa216PeEhfxtAToIbxdWgw01wuQzo48ZUqMYVEyNqDp+OYV9xMO5HaPS2P3Ls0+EsjguMZLY4cGobX4Ew==}
- hasBin: true
- peerDependencies:
- typescript: '*'
+ vue-tsc@2.0.29(typescript@5.5.4):
dependencies:
- '@volar/typescript': 2.2.1
- '@vue/language-core': 2.0.16(typescript@5.4.5)
- semver: 7.6.0
- typescript: 5.4.5
- dev: true
+ '@volar/typescript': 2.4.0-alpha.18
+ '@vue/language-core': 2.0.29(typescript@5.5.4)
+ semver: 7.6.3
+ typescript: 5.5.4
- /vue@3.4.27(typescript@5.4.5):
- resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ vue@3.4.38(typescript@5.5.4):
dependencies:
- '@vue/compiler-dom': 3.4.27
- '@vue/compiler-sfc': 3.4.27
- '@vue/runtime-dom': 3.4.27
- '@vue/server-renderer': 3.4.27(vue@3.4.27)
- '@vue/shared': 3.4.27
- typescript: 5.4.5
+ '@vue/compiler-dom': 3.4.38
+ '@vue/compiler-sfc': 3.4.38
+ '@vue/runtime-dom': 3.4.38
+ '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4))
+ '@vue/shared': 3.4.38
+ optionalDependencies:
+ typescript: 5.5.4
- /wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
- dev: true
-
- /web-streams-polyfill@3.3.3:
- resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
- engines: {node: '>= 8'}
- dev: true
-
- /webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
- dev: true
- /webpack-virtual-modules@0.6.1:
- resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
- dev: true
+ web-streams-polyfill@3.3.3: {}
- /which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
- dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
- dev: true
+ webpack-sources@3.2.3: {}
- /which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-tostringtag: 1.0.2
- dev: true
+ webpack-virtual-modules@0.6.2: {}
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ which@2.0.2:
dependencies:
isexe: 2.0.0
- dev: true
- /widest-line@4.0.1:
- resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
- engines: {node: '>=12'}
+ widest-line@4.0.1:
dependencies:
string-width: 5.1.2
- dev: true
- /wildcard-match@5.1.3:
- resolution: {integrity: sha512-a95hPUk+BNzSGLntNXYxsjz2Hooi5oL7xOfJR6CKwSsSALh7vUNuTlzsrZowtYy38JNduYFRVhFv19ocqNOZlg==}
- dev: true
+ wildcard-match@5.1.3: {}
- /windows-release@5.1.1:
- resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ windows-release@5.1.1:
dependencies:
execa: 5.1.1
- dev: true
- /word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ word-wrap@1.2.5: {}
- /wordwrap@1.0.0:
- resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
- dev: true
+ wordwrap@1.0.0: {}
- /wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
+ wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: true
- /wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: true
- /wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
+ wrap-ansi@8.1.0:
dependencies:
ansi-styles: 6.2.1
string-width: 5.1.2
strip-ansi: 7.1.0
- dev: true
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
+ wrappy@1.0.2: {}
- /write-file-atomic@3.0.3:
- resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+ write-file-atomic@3.0.3:
dependencies:
imurmurhash: 0.1.4
is-typedarray: 1.0.0
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
- dev: true
- /xdg-basedir@5.1.0:
- resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
- engines: {node: '>=12'}
- dev: true
+ xdg-basedir@5.1.0: {}
- /xml-name-validator@4.0.0:
- resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
- engines: {node: '>=12'}
- dev: true
+ xml-name-validator@4.0.0: {}
- /xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
- dev: false
+ xtend@4.0.2: {}
- /y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
- dev: true
+ y18n@5.0.8: {}
- /yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: true
+ yallist@3.1.1: {}
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
+ yallist@4.0.0: {}
- /yaml-eslint-parser@1.2.2:
- resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==}
- engines: {node: ^14.17.0 || >=16.0.0}
+ yaml-eslint-parser@1.2.3:
dependencies:
eslint-visitor-keys: 3.4.3
lodash: 4.17.21
- yaml: 2.4.2
- dev: true
+ yaml: 2.4.5
- /yaml@2.4.2:
- resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
- engines: {node: '>= 14'}
- hasBin: true
- dev: true
+ yaml@2.4.5: {}
- /yargs-parser@21.1.1:
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
- engines: {node: '>=12'}
- dev: true
+ yargs-parser@21.1.1: {}
- /yargs@17.7.2:
- resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
- engines: {node: '>=12'}
+ yargs@17.7.2:
dependencies:
cliui: 8.0.1
escalade: 3.1.2
@@ -8066,26 +9606,9 @@ packages:
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1
- dev: true
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
+ yocto-queue@0.1.0: {}
- /yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
- dev: true
+ yocto-queue@1.1.1: {}
- /z-schema@5.0.5:
- resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==}
- engines: {node: '>=8.0.0'}
- hasBin: true
- dependencies:
- lodash.get: 4.4.2
- lodash.isequal: 4.5.0
- validator: 13.11.0
- optionalDependencies:
- commander: 9.5.0
- dev: true
+ yoctocolors-cjs@2.1.2: {}
diff --git a/src/core/abstractions/AnimatedSprite/Atlas.ts b/src/core/abstractions/AnimatedSprite/Atlas.ts
new file mode 100644
index 00000000..2a8f55f4
--- /dev/null
+++ b/src/core/abstractions/AnimatedSprite/Atlas.ts
@@ -0,0 +1,305 @@
+import { type Texture, TextureLoader } from 'three'
+import type { LoaderProto } from '@tresjs/core'
+import { useLoader, useLogger } from '@tresjs/core'
+import { getNumbersFromEnd, stripUnderscoresNumbersFromEnd } from './StringOps'
+import { expand } from './AtlasAnimationDefinitionParser'
+
+export async function getTextureAndAtlasAsync(
+ imagePathOrImageData: string,
+ atlasPathOrAtlasish: string | Atlasish,
+): Promise<[Texture | Texture[], Atlas]> {
+ const texturePromise: Promise = useLoader(
+ TextureLoader as LoaderProto,
+ imagePathOrImageData,
+ )
+ const atlasishPromise: Promise
+ = typeof atlasPathOrAtlasish !== 'string'
+ ? new Promise(resolve => resolve(atlasPathOrAtlasish as Atlasish))
+ : fetch(atlasPathOrAtlasish)
+ .then(response => response.json())
+ .catch(e => useLogger().logError(`Cientos Atlas - ${e}`))
+ return Promise.all([texturePromise, atlasishPromise]).then(
+ ([texture, atlasish]) => {
+ const atlas = getAtlas(
+ atlasish,
+ (texture as Texture).image.width,
+ (texture as Texture).image.height,
+ )
+ return [texture, atlas]
+ },
+ )
+}
+
+export interface AtlasFrame {
+ name: string
+ width: number
+ height: number
+ offsetX: number
+ offsetY: number
+ repeatX: number
+ repeatY: number
+}
+
+export interface Atlas {
+ frames: AtlasFrame[]
+ animations: Record
+}
+
+export function getAtlas(
+ atlasish: Atlasish,
+ textureWidth: number,
+ textureHeight: number,
+): Atlas {
+ const frames
+ = typeof atlasish === 'number' || Array.isArray(atlasish)
+ ? getAtlasFramesFromNumColsNumRows(atlasish, textureWidth, textureHeight)
+ : getAtlasFramesFromTexturePackerData(
+ atlasish,
+ textureWidth,
+ textureHeight,
+ )
+
+ return { frames, animations: groupAtlasFramesByKey(frames) }
+}
+
+export function getAtlasFrames(
+ atlas: Atlas,
+ animationNameOrFrameNumber: string | number | [number, number],
+ reversed: boolean,
+): AtlasFrame[] {
+ let frames: AtlasFrame[]
+ if (typeof animationNameOrFrameNumber === 'string') { frames = getAtlasFramesByAnimationName(atlas, animationNameOrFrameNumber) }
+ else if (typeof animationNameOrFrameNumber === 'number') {
+ frames = getAtlasFramesByIndices(
+ atlas,
+ animationNameOrFrameNumber,
+ animationNameOrFrameNumber,
+ )
+ }
+ else {
+ frames = getAtlasFramesByIndices(
+ atlas,
+ animationNameOrFrameNumber[0],
+ animationNameOrFrameNumber[1],
+ )
+ }
+ return reversed ? frames.toReversed() : frames
+}
+
+export function getNullAtlasFrame(): AtlasFrame {
+ return {
+ name: 'null',
+ width: 0,
+ height: 0,
+ offsetX: 0,
+ offsetY: 0,
+ repeatX: 0,
+ repeatY: 0,
+ }
+}
+
+export type AtlasData =
+ | TexturePackerFrameDataArray
+ | TexturePackerFrameDataObject
+export type Atlasish = AtlasData | [number, number] | number
+
+interface TexturePackerFrameData {
+ filename: string
+ frame: { x: number, y: number, w: number, h: number }
+}
+
+interface TexturePackerFrameDataArray {
+ frames: TexturePackerFrameData[]
+}
+
+interface TexturePackerFrameDataObject {
+ frames: Record
+}
+
+function getAtlasFramesFromTexturePackerData(
+ data: TexturePackerFrameDataArray | TexturePackerFrameDataObject,
+ width: number,
+ height: number,
+) {
+ return Array.isArray(data.frames)
+ ? getAtlasFramesFromTexturePackerDataArray(
+ data as TexturePackerFrameDataArray,
+ width,
+ height,
+ )
+ : getAtlasFramesFromTexturePackerDataObject(
+ data as TexturePackerFrameDataObject,
+ width,
+ height,
+ )
+}
+
+function getAtlasFramesFromTexturePackerDataArray(
+ data: TexturePackerFrameDataArray,
+ width: number,
+ height: number,
+): AtlasFrame[] {
+ const invWidth = 1 / width
+ const invHeight = 1 / height
+ return data.frames.map(d => ({
+ name: d.filename,
+ offsetX: d.frame.x * invWidth,
+ offsetY: 1 - (d.frame.y + d.frame.h) * invHeight,
+ repeatX: d.frame.w * invWidth,
+ repeatY: d.frame.h * invHeight,
+ width: d.frame.w,
+ height: d.frame.h,
+ }))
+}
+
+function getAtlasFramesFromTexturePackerDataObject(
+ data: TexturePackerFrameDataObject,
+ width: number,
+ height: number,
+): AtlasFrame[] {
+ const invWidth = 1 / width
+ const invHeight = 1 / height
+ return Object.entries(data.frames).map(([k, v]) => ({
+ name: k,
+ offsetX: v.frame.x * invWidth,
+ offsetY: 1 - (v.frame.y + v.frame.h) * invHeight,
+ repeatX: v.frame.w * invWidth,
+ repeatY: v.frame.h * invHeight,
+ width: v.frame.w,
+ height: v.frame.h,
+ }))
+}
+
+function getAtlasFramesFromNumColsNumRows(
+ numColsOrNumColsNumRows: number | [number, number],
+ width: number,
+ height: number,
+ name = 'default',
+): AtlasFrame[] {
+ const [numCols, numRows] = Array.isArray(numColsOrNumColsNumRows)
+ ? numColsOrNumColsNumRows
+ : [numColsOrNumColsNumRows, 1]
+ const frameWidth = width / numCols
+ const frameHeight = height / numRows
+ const padAmount = (numCols * numRows).toString().length
+ const repeatX = 1 / numCols
+ const repeatY = 1 / numRows
+ const result: AtlasFrame[] = []
+
+ let i = 0
+ for (let row = numRows - 1; row >= 0; row--) {
+ for (let col = 0; col < numCols; col++) {
+ i++
+ result.push({
+ name: name + String(i).padStart(padAmount, '0'),
+ offsetX: col * repeatX,
+ offsetY: row * repeatY,
+ repeatX,
+ repeatY,
+ width: frameWidth,
+ height: frameHeight,
+ })
+ }
+ }
+ return result
+}
+
+export function setAtlasDefinitions(atlas: Atlas, definitions: Record = {}) {
+ const animations = groupAtlasFramesByKey(atlas.frames)
+ for (const [animationName, definitionStr] of Object.entries(definitions)) {
+ const frames: AtlasFrame[] = getAtlasFrames(atlas, animationName, false)
+ const expandedFrameIndices = expand(definitionStr)
+ for (const frameIndex of expandedFrameIndices) {
+ if (frameIndex < 0 || frames.length <= frameIndex) {
+ useLogger().logError(
+ 'Cientos Atlas: Attempting to access frame index '
+ + `${frameIndex} in animation ${animationName}, but it does not exist.`,
+ )
+ }
+ }
+ animations[animationName] = expandedFrameIndices.map(frameIndex => frames[frameIndex])
+ }
+ atlas.animations = animations
+}
+
+function getAtlasFramesByAnimationName(
+ atlas: Atlas,
+ name: string,
+): AtlasFrame[] {
+ if (!(name in atlas.animations)) {
+ const animationsMsg = Object.keys(atlas.animations)
+ .map(n => `* ${n}\n`)
+ .join('')
+ useLogger().logError(
+ `Cientos Atlas: getAtlasFramesByAnimationName
+The animation name "${name}" does not exist in this atlas.
+Available names:
+${animationsMsg}`,
+ )
+ return [getNullAtlasFrame()]
+ }
+ return atlas.animations[name]
+}
+
+function getAtlasFramesByIndices(
+ atlas: Atlas,
+ startI: number,
+ endI: number,
+): AtlasFrame[] {
+ if (
+ startI < 0
+ || atlas.frames.length <= startI
+ || endI < 0
+ || atlas.frames.length <= endI
+ ) {
+ useLogger().logError(
+ `Cientos Atlas: getFramesByIndex – [${startI}, ${endI}] is out of bounds.`,
+ )
+ return [getNullAtlasFrame()]
+ }
+ const result = []
+ const sign = Math.sign(endI - startI)
+ if (sign === 0) { return [atlas.frames[startI]] }
+ for (let i = startI; i !== endI + sign; i += sign) {
+ result.push(atlas.frames[i])
+ }
+ return result
+}
+
+/**
+ * @returns An object where all AtlasFrames with the same key are grouped in an ordered array by name in ascending value.
+ * A key is defined as an alphanumeric string preceding a trailing numeric string.
+ * E.g.:
+ * "hero0Idle" has no key as it does not have trailing numeric string.
+ * "heroIdle0" has the key "heroIdle".
+ * @example ```
+ * groupFramesByKey([{name: hero, ...}, {name: heroJump3, ...}, {name: heroJump0, ...}, {name: heroIdle0, ...}, {name: heroIdle1, ...}]) returns
+ * {
+ * heroJump: [{name: heroJump0, ...}, {name: heroJump3, ...}],
+ * heroIdle: [{name: heroIdle0, ...}, {name: heroIdle1, ...}]
+ * }
+ * ```
+ */
+function groupAtlasFramesByKey(
+ frames: AtlasFrame[],
+): Record {
+ const result: Record = {}
+
+ for (const frame of frames) {
+ if (getNumbersFromEnd(frame.name) !== null) {
+ const key = stripUnderscoresNumbersFromEnd(frame.name)
+ if (Object.prototype.hasOwnProperty.call(result, key)) {
+ result[key].push(frame)
+ }
+ else {
+ result[key] = [frame]
+ }
+ }
+ }
+
+ for (const entry of Object.values(result)) {
+ entry.sort((a, b) => a.name.localeCompare(b.name))
+ }
+
+ return result
+}
diff --git a/src/core/abstractions/AnimatedSprite/AtlasAnimationDefinitionParser.ts b/src/core/abstractions/AnimatedSprite/AtlasAnimationDefinitionParser.ts
new file mode 100644
index 00000000..1f0b4e83
--- /dev/null
+++ b/src/core/abstractions/AnimatedSprite/AtlasAnimationDefinitionParser.ts
@@ -0,0 +1,245 @@
+import { useLogger } from '@tresjs/core'
+
+/**
+ * Expand an animation definition string into an array of numbers.
+ * @param definitionStr - A comma-separated string of frame numbers with optional parentheses-surrounded durations.
+ * @example - expand("0,2") === [0,2]
+ * @example - expand("2(10)") === [2,2,2,2,2,2,2,2,2,2]
+ * @example - expand("1-4") === [1,2,3,4]
+ * @example - expand("10-5(2)") === [10,10,9,9,8,8,7,7,6,6,5,5]
+ * @example - expand("1-4(3),10(2)") === [1,1,1,2,2,2,3,3,3,4,4,4,10,10]
+ */
+
+export function expand(definitionStr: string): number[] {
+ const parsed = parse(definitionStr)
+ const result: number[] = []
+ for (const { startFrame, endFrame, duration } of parsed) {
+ if (duration <= 0) {
+ continue
+ }
+ else if (endFrame < 0 || startFrame === endFrame) {
+ for (let _ = 0; _ < duration; _++) {
+ result.push(startFrame)
+ }
+ continue
+ }
+ else {
+ const sign = Math.sign(endFrame - startFrame)
+ for (
+ let frame = startFrame;
+ frame !== endFrame + sign;
+ frame += sign
+ ) {
+ for (let _ = 0; _ < duration; _++) {
+ result.push(frame)
+ }
+ }
+ }
+ }
+ return result
+}
+
+interface AnimationDefinition {
+ startFrame: number
+ endFrame: number
+ duration: number
+}
+
+/**
+ * Parse an animation defintion string into an array of AnimationDefinition.
+ * @param definitionStr - A comma-separated string of frame numbers with optional parentheses-surrounded durations.
+ * @example - parse("0,2") === [{startFrame:0, endFrame:0, duration:1}, {startFrame:2, endFrame:2, duration:1}]
+ * @example - parse("2(10)") === [{startFrame:2, endFrame:2, duration:10}]
+ * @example - parse("1-4") === [{startFrame:1, endFrame:4, duration:1}]
+ * @example - parse("10-5(2)") === [{startFrame:10, endFrame:5, duration:2}]
+ * @example - parse("1-4(3),10(2)") === [{startFrame:1, endFrame:4, duration:3}, {startFrame:10, endFrame:10, duration:2}]
+ */
+
+function parse(definitionStr: string): AnimationDefinition[] {
+ let transition: Transition = 'START_FRAME_IN'
+ const result: AnimationDefinition[] = []
+ for (const { name, value, startI } of tokenize(definitionStr)) {
+ if (transition === 'START_FRAME_IN') {
+ if (name === 'NUMBER') {
+ result.push({
+ startFrame: value,
+ endFrame: value,
+ duration: 1,
+ })
+ transition = 'START_FRAME_OUT'
+ }
+ else {
+ logDefinitionSyntaxError(
+ 'number',
+ name,
+ definitionStr,
+ startI,
+ )
+ }
+ }
+ else if (transition === 'START_FRAME_OUT') {
+ if (name === 'COMMA') {
+ transition = 'START_FRAME_IN'
+ }
+ else if (name === 'HYPHEN') {
+ transition = 'END_FRAME_IN'
+ }
+ else if (name === 'OPEN_PAREN') {
+ transition = 'DURATION_IN'
+ }
+ else {
+ logDefinitionSyntaxError(
+ '",", "-", "("',
+ name,
+ definitionStr,
+ startI,
+ )
+ }
+ }
+ else if (transition === 'END_FRAME_IN') {
+ if (name === 'NUMBER') {
+ result[result.length - 1].endFrame = value
+ transition = 'END_FRAME_OUT'
+ }
+ else {
+ logDefinitionSyntaxError(
+ 'number',
+ name,
+ definitionStr,
+ startI,
+ )
+ }
+ }
+ else if (transition === 'END_FRAME_OUT') {
+ if (name === 'COMMA') {
+ transition = 'START_FRAME_IN'
+ }
+ else if (name === 'OPEN_PAREN') {
+ transition = 'DURATION_IN'
+ }
+ else {
+ logDefinitionSyntaxError(
+ '\',\' or \'(\'',
+ name,
+ definitionStr,
+ startI,
+ )
+ }
+ }
+ else if (transition === 'DURATION_IN') {
+ if (name === 'NUMBER') {
+ result[result.length - 1].duration = value
+ transition = 'DURATION_OUT'
+ }
+ else {
+ logDefinitionSyntaxError(
+ 'number',
+ name,
+ definitionStr,
+ startI,
+ )
+ }
+ }
+ else if (transition === 'DURATION_OUT') {
+ if (name === 'CLOSE_PAREN') {
+ transition = 'NEXT_OR_DONE'
+ }
+ else {
+ logDefinitionSyntaxError('"("', name, definitionStr, startI)
+ }
+ }
+ else if (transition === 'NEXT_OR_DONE') {
+ if (name === 'COMMA') {
+ transition = 'START_FRAME_IN'
+ }
+ else {
+ logDefinitionSyntaxError('","', name, definitionStr, startI)
+ }
+ }
+ }
+
+ return result
+}
+
+type Transition =
+ | 'START_FRAME_IN'
+ | 'START_FRAME_OUT'
+ | 'END_FRAME_IN'
+ | 'END_FRAME_OUT'
+ | 'DURATION_IN'
+ | 'DURATION_OUT'
+ | 'NEXT_OR_DONE'
+
+type TokenName = 'COMMA' | 'HYPHEN' | 'OPEN_PAREN' | 'CLOSE_PAREN' | 'NUMBER'
+interface Token {
+ name: TokenName
+ value: number
+ startI: number
+}
+
+function tokenize(definition: string): Token[] {
+ const result: Token[] = []
+ for (let ii = 0; ii < definition.length; ii++) {
+ const c = definition[ii]
+ if ('0123456789'.includes(c)) {
+ if (
+ result.length
+ && result[result.length - 1].name === 'NUMBER'
+ ) {
+ result[result.length - 1].value *= 10
+ result[result.length - 1].value += Number.parseInt(c)
+ }
+ else {
+ result.push({ name: 'NUMBER', value: Number.parseInt(c), startI: ii })
+ }
+ }
+ else if (c === ' ') {
+ continue
+ }
+ else if (c === ',') {
+ result.push({ name: 'COMMA', value: -1, startI: ii })
+ }
+ else if (c === '(') {
+ result.push({ name: 'OPEN_PAREN', value: -1, startI: ii })
+ }
+ else if (c === ')') {
+ result.push({ name: 'CLOSE_PAREN', value: -1, startI: ii })
+ }
+ else if (c === '-') {
+ result.push({ name: 'HYPHEN', value: -1, startI: ii })
+ }
+ else {
+ logDefinitionBadCharacter('0123456789,-()', c, definition, ii)
+ }
+ }
+
+ return result
+}
+
+function logDefinitionBadCharacter(
+ expected: string,
+ found: string,
+ definition: string,
+ index: number,
+) {
+ useLogger().logError(
+ 'Cientos AnimationDefinitionParser: '
+ + `Unexpected character while processing animation definition: expected ${expected}, got ${found}.
+${definition}
+${Array(index + 1).join(' ')}^`,
+ )
+}
+
+function logDefinitionSyntaxError(
+ expected: string,
+ found: string,
+ definition: string,
+ index: number,
+) {
+ useLogger().logError(
+ 'Cientos AnimationDefinitionParser: '
+ + `Syntax error while processing animation definition: expected ${expected}, got ${found}.
+${definition}
+${Array(index + 1).join(' ')}^`,
+ )
+}
diff --git a/src/core/abstractions/AnimatedSprite/StringOps.ts b/src/core/abstractions/AnimatedSprite/StringOps.ts
new file mode 100644
index 00000000..1c331d40
--- /dev/null
+++ b/src/core/abstractions/AnimatedSprite/StringOps.ts
@@ -0,0 +1,14 @@
+const numbersAtEnd = /\d*$/
+const underscoresNumbersAtEnd = /_*\d*$/
+
+export function stripUnderscoresNumbersFromEnd(str: string) {
+ return str.replace(underscoresNumbersAtEnd, '')
+}
+
+export function getNumbersFromEnd(str: string) {
+ const matches = str.match(numbersAtEnd)
+ if (matches) {
+ return Number.parseInt(matches[matches.length - 1])
+ }
+ return null
+}
diff --git a/src/core/abstractions/AnimatedSprite/component.vue b/src/core/abstractions/AnimatedSprite/component.vue
new file mode 100644
index 00000000..f6e10650
--- /dev/null
+++ b/src/core/abstractions/AnimatedSprite/component.vue
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/abstractions/GlobalAudio.ts b/src/core/abstractions/GlobalAudio.ts
index a3880ac4..ec5c2b26 100644
--- a/src/core/abstractions/GlobalAudio.ts
+++ b/src/core/abstractions/GlobalAudio.ts
@@ -74,7 +74,7 @@ export const GlobalAudio = defineComponent({
const sound = new Audio(listener)
const audioLoader = new AudioLoader()
- expose({ sound })
+ expose({ instance: sound })
onUnmounted(() => {
if (sound) {
diff --git a/src/core/abstractions/Lensflare/component.vue b/src/core/abstractions/Lensflare/component.vue
index 9c49ca89..e5c80954 100644
--- a/src/core/abstractions/Lensflare/component.vue
+++ b/src/core/abstractions/Lensflare/component.vue
@@ -41,7 +41,7 @@ export interface LensflareProps {
/**
* default texture of lensflare elements
*/
- texture?: Texture | string[]
+ texture?: Texture | string
}
const props = withDefaults(defineProps(), {
@@ -61,7 +61,7 @@ const userDefaultLensflareElementPropsRef
= shallowRef>(filterLensflareElementProps(props))
defineExpose({
- value: lensflareRef,
+ instance: lensflareRef,
})
const textureLoader = new TextureLoader()
diff --git a/src/core/abstractions/Levioso.vue b/src/core/abstractions/Levioso.vue
index e10c7f52..e204b2a9 100644
--- a/src/core/abstractions/Levioso.vue
+++ b/src/core/abstractions/Levioso.vue
@@ -1,5 +1,5 @@
diff --git a/src/core/abstractions/MouseParallax.vue b/src/core/abstractions/MouseParallax.vue
index e4327d52..d5b8a31b 100644
--- a/src/core/abstractions/MouseParallax.vue
+++ b/src/core/abstractions/MouseParallax.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/abstractions/PositionalAudio.vue b/src/core/abstractions/PositionalAudio.vue
index 824efc28..396eb072 100644
--- a/src/core/abstractions/PositionalAudio.vue
+++ b/src/core/abstractions/PositionalAudio.vue
@@ -1,6 +1,8 @@
diff --git a/src/core/abstractions/Text3D.vue b/src/core/abstractions/Text3D.vue
index 63b92030..5b293d77 100644
--- a/src/core/abstractions/Text3D.vue
+++ b/src/core/abstractions/Text3D.vue
@@ -1,5 +1,5 @@
diff --git a/src/core/abstractions/useFBO/index.ts b/src/core/abstractions/useFBO/index.ts
index ba123ca0..962b313b 100644
--- a/src/core/abstractions/useFBO/index.ts
+++ b/src/core/abstractions/useFBO/index.ts
@@ -1,8 +1,8 @@
-import { useRenderLoop, useTresContext } from '@tresjs/core'
-import type { Camera, WebGLRenderTargetOptions } from 'three'
+import { useLoop, useTresContext } from '@tresjs/core'
+import type { Camera, RenderTargetOptions } from 'three'
import { DepthTexture, FloatType, HalfFloatType, LinearFilter, WebGLRenderTarget } from 'three'
import type { Ref } from 'vue'
-import { isReactive, onBeforeUnmount, reactive, ref, toRefs, watchEffect } from 'vue'
+import { isReactive, onBeforeUnmount, reactive, ref, toRefs, watch } from 'vue'
export interface FboOptions {
/*
@@ -35,21 +35,30 @@ export interface FboOptions {
* See https://threejs.org/docs/#api/en/renderers/WebGLRenderTarget for more information.
*
* @default {}
- * @type {WebGLRenderTargetOptions}
+ * @type {RenderTargetOptions}
* @memberof FboProps
*/
- settings?: WebGLRenderTargetOptions
+ settings?: RenderTargetOptions
+
+ /**
+ * Whether to automatically render the FBO on the default scene.
+ *
+ * @default true
+ * @type {boolean}
+ * @memberof FboProps
+ */
+ autoRender?: boolean
}
export function useFBO(options: FboOptions) {
const target: Ref = ref(null)
- const { height, width, settings, depth } = isReactive(options) ? toRefs(options) : toRefs(reactive(options))
+ const { height, width, settings, depth, autoRender = ref(true) } = isReactive(options) ? toRefs(options) : toRefs(reactive(options))
- const { onLoop } = useRenderLoop()
- const { camera, renderer, scene, sizes } = useTresContext()
+ const { onBeforeRender } = useLoop()
+ const { camera, renderer, scene, sizes, invalidate } = useTresContext()
- watchEffect(() => {
+ watch(() => [width?.value, sizes.width.value, height?.value, sizes.height.value], () => {
target.value?.dispose()
target.value = new WebGLRenderTarget(width?.value || sizes.width.value, height?.value || sizes.height.value, {
@@ -66,15 +75,19 @@ export function useFBO(options: FboOptions) {
FloatType,
)
}
- })
- onLoop(() => {
- renderer.value.setRenderTarget(target.value)
- renderer.value.clear()
- renderer.value.render(scene.value, camera.value as Camera)
+ invalidate()
+ }, { immediate: true })
- renderer.value.setRenderTarget(null)
- })
+ onBeforeRender(() => {
+ if (autoRender.value) {
+ renderer.value.setRenderTarget(target.value)
+ renderer.value.clear()
+ renderer.value.render(scene.value, camera.value as Camera)
+
+ renderer.value.setRenderTarget(null)
+ }
+ }, Number.POSITIVE_INFINITY)
onBeforeUnmount(() => {
target.value?.dispose()
diff --git a/src/core/abstractions/useSurfaceSampler/component.vue b/src/core/abstractions/useSurfaceSampler/component.vue
index 8c3dca7f..9aeddcfb 100644
--- a/src/core/abstractions/useSurfaceSampler/component.vue
+++ b/src/core/abstractions/useSurfaceSampler/component.vue
@@ -1,6 +1,7 @@
diff --git a/src/core/controls/KeyboardControls.vue b/src/core/controls/KeyboardControls.vue
index 2d8cfc75..0585ffd4 100644
--- a/src/core/controls/KeyboardControls.vue
+++ b/src/core/controls/KeyboardControls.vue
@@ -1,208 +1,128 @@
-
-
-
+
diff --git a/src/core/controls/MapControls.vue b/src/core/controls/MapControls.vue
index ee0c0640..59c32967 100644
--- a/src/core/controls/MapControls.vue
+++ b/src/core/controls/MapControls.vue
@@ -1,8 +1,10 @@
@@ -63,5 +330,24 @@ onUnmounted(() => {
v-if="(camera || activeCamera) && (domElement || renderer)"
ref="controlsRef"
:args="[camera || activeCamera, domElement || renderer.domElement]"
+ :auto-rotate="autoRotate"
+ :auto-rotate-speed="autoRotateSpeed"
+ :enable-damping="enableDamping"
+ :damping-factor="dampingFactor"
+ :enable-pan="enablePan"
+ :key-pan-speed="keyPanSpeed"
+ :keys="keys"
+ :max-azimuth-angle="maxAzimuthAngle"
+ :min-azimuth-angle="minAzimuthAngle"
+ :max-polar-angle="maxPolarAngle"
+ :min-polar-angle="minPolarAngle"
+ :min-distance="minDistance"
+ :max-distance="maxDistance"
+ :min-zoom="minZoom"
+ :max-zoom="maxZoom"
+ :enable-zoom="enableZoom"
+ :zoom-speed="zoomSpeed"
+ :enable-rotate="enableRotate"
+ :rotate-speed="rotateSpeed"
/>
diff --git a/src/core/controls/OrbitControls.vue b/src/core/controls/OrbitControls.vue
index d78d9b34..6f08a220 100644
--- a/src/core/controls/OrbitControls.vue
+++ b/src/core/controls/OrbitControls.vue
@@ -4,7 +4,7 @@ import { TOUCH } from 'three'
import { OrbitControls } from 'three-stdlib'
import { onUnmounted, ref, toRefs, watch } from 'vue'
import type { TresVector3 } from '@tresjs/core'
-import { useRenderLoop, useTresContext } from '@tresjs/core'
+import { useLoop, useTresContext } from '@tresjs/core'
import { useEventListener } from '@vueuse/core'
export interface OrbitControlsProps {
@@ -280,7 +280,7 @@ const {
target,
} = toRefs(props)
-const { camera: activeCamera, renderer, extend, controls } = useTresContext()
+const { camera: activeCamera, renderer, extend, controls, invalidate } = useTresContext()
const controlsRef = ref(null)
@@ -297,16 +297,23 @@ watch(controlsRef, (value) => {
})
function addEventListeners() {
- useEventListener(controlsRef.value as any, 'change', () => emit('change', controlsRef.value))
+ useEventListener(controlsRef.value as any, 'change', () => {
+ emit('change', controlsRef.value)
+ invalidate()
+ })
useEventListener(controlsRef.value as any, 'start', () => emit('start', controlsRef.value))
useEventListener(controlsRef.value as any, 'end', () => emit('end', controlsRef.value))
}
-const { onLoop } = useRenderLoop()
+const { onBeforeRender } = useLoop()
-onLoop(() => {
+onBeforeRender(({ invalidate }) => {
if (controlsRef.value && (enableDamping.value || autoRotate.value)) {
controlsRef.value.update()
+
+ if (autoRotate.value) {
+ invalidate()
+ }
}
})
@@ -316,7 +323,7 @@ onUnmounted(() => {
}
})
-defineExpose({ value: controlsRef })
+defineExpose({ instance: controlsRef })
diff --git a/src/core/controls/PointerLockControls.vue b/src/core/controls/PointerLockControls.vue
index 37fdb174..6ee6e9d1 100644
--- a/src/core/controls/PointerLockControls.vue
+++ b/src/core/controls/PointerLockControls.vue
@@ -3,6 +3,7 @@ import { onUnmounted, ref, watch } from 'vue'
import { PointerLockControls } from 'three-stdlib'
import type { Camera } from 'three'
import { useEventListener } from '@vueuse/core'
+import type { TresControl } from '@tresjs/core'
import { useTresContext } from '@tresjs/core'
export interface PointerLockControlsProps {
@@ -48,9 +49,13 @@ const props = withDefaults(defineProps(), {
const emit = defineEmits(['isLock', 'change'])
-const { camera: activeCamera, renderer, extend, controls } = useTresContext()
+const { camera: activeCamera, renderer, extend, controls, invalidate } = useTresContext()
-const controlsRef = ref(null)
+watch(props, () => {
+ invalidate()
+})
+
+const controlsRef = ref(null)
let triggerSelector: HTMLElement | undefined
extend({ PointerLockControls })
@@ -69,11 +74,15 @@ watch(controlsRef, (value) => {
const selector = document.getElementById(props.selector || '')
triggerSelector = selector || renderer.value.domElement
- useEventListener(controls.value as any, 'change', () => emit('change', controls.value))
+ useEventListener(controls.value as any, 'change', () => {
+ emit('change', controls.value)
+ invalidate()
+ })
useEventListener(triggerSelector, 'click', () => {
- controls.value?.lock()
- controls.value?.addEventListener('lock', () => isLockEmitter(true))
- controls.value?.addEventListener('unlock', () => isLockEmitter(false))
+ controlsRef.value?.lock()
+ controlsRef.value?.addEventListener('lock', () => isLockEmitter(true))
+ controlsRef.value?.addEventListener('unlock', () => isLockEmitter(false))
+ invalidate()
})
})
@@ -86,7 +95,7 @@ onUnmounted(() => {
})
defineExpose({
- value: controls,
+ instance: controls,
})
diff --git a/src/core/controls/ScrollControls.vue b/src/core/controls/ScrollControls.vue
index a24ea7e6..a33ceec8 100644
--- a/src/core/controls/ScrollControls.vue
+++ b/src/core/controls/ScrollControls.vue
@@ -1,6 +1,6 @@
diff --git a/src/core/controls/TransformControls.vue b/src/core/controls/TransformControls.vue
index 679cbc69..9153a381 100644
--- a/src/core/controls/TransformControls.vue
+++ b/src/core/controls/TransformControls.vue
@@ -1,6 +1,5 @@
diff --git a/src/core/directives/index.ts b/src/core/directives/index.ts
deleted file mode 100644
index fd692c69..00000000
--- a/src/core/directives/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { vLog } from './vLog'
-import { vLightHelper } from './vLightHelper'
-import { vAlwaysLookAt } from './vAlwaysLookAt'
-import { vDistanceTo } from './vDistanceTo'
-
-export { vLog, vLightHelper, vAlwaysLookAt, vDistanceTo }
diff --git a/src/core/directives/vAlwaysLookAt.ts b/src/core/directives/vAlwaysLookAt.ts
deleted file mode 100644
index 31776e67..00000000
--- a/src/core/directives/vAlwaysLookAt.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { useLogger, useRenderLoop } from '@tresjs/core'
-import type { Object3D } from 'three'
-import { extractBindingPosition } from '../../utils/index'
-
-const { logWarning } = useLogger()
-
-export const vAlwaysLookAt = {
- updated: (el: Object3D, binding: any) => {
- const observer = extractBindingPosition(binding)
- if (!observer) {
- logWarning(`v-always-look-at: problem with binding value: ${binding.value}`)
- return
- }
- const { onLoop } = useRenderLoop()
- onLoop(() => {
- el.lookAt(observer)
- })
- },
-}
diff --git a/src/core/directives/vDistanceTo.ts b/src/core/directives/vDistanceTo.ts
deleted file mode 100644
index ac8ce262..00000000
--- a/src/core/directives/vDistanceTo.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { useLogger } from '@tresjs/core'
-import { ArrowHelper } from 'three'
-import { extractBindingPosition } from '../../utils/index'
-
-const { logWarning } = useLogger()
-
-let arrowHelper: ArrowHelper | null = null
-
-export const vDistanceTo = {
- updated: (el: any, binding: any) => {
- const observer = extractBindingPosition(binding)
- if (!observer) {
- logWarning(`v-distance-to: problem with binding value: ${binding.value}`)
- return
- }
- if (arrowHelper) {
- arrowHelper.dispose()
- el.parent.remove(arrowHelper)
- }
- const dir = observer.clone().sub(el.position)
- dir.normalize()
- arrowHelper = new ArrowHelper(dir, el.position, el.position.distanceTo(observer) / 1.5, 0xFFFF00)
- el.parent.add(arrowHelper)
- // eslint-disable-next-line no-console
- console.table([
- ['Distance:', el.position.distanceTo(observer)],
- [`origin: ${el.name || el.type}`, `x:${el.position.x}, y:${el.position.y}, z:${el.position?.z}`],
- [`Destiny: ${el.name || el.type}`, `x:${observer.x}, y:${observer.y}, z:${observer?.z}`],
- ],
- )
- },
- unmounted: (el: any) => {
- arrowHelper?.dispose()
- el.parent.remove(arrowHelper)
- },
-}
diff --git a/src/core/directives/vLightHelper.ts b/src/core/directives/vLightHelper.ts
deleted file mode 100644
index 727cd78e..00000000
--- a/src/core/directives/vLightHelper.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { useLogger } from '@tresjs/core'
-import type { Light } from 'three'
-import { DirectionalLightHelper, HemisphereLightHelper, PointLightHelper, SpotLightHelper } from 'three'
-import { RectAreaLightHelper } from 'three-stdlib'
-
-type LightHelper = typeof DirectionalLightHelper | typeof PointLightHelper | typeof SpotLightHelper | typeof HemisphereLightHelper | typeof RectAreaLightHelper
-const { logWarning } = useLogger()
-
-let CurrentHelper: LightHelper
-let currentInstance: any
-
-const helpers: Record = {
- DirectionalLight: DirectionalLightHelper,
- PointLight: PointLightHelper,
- SpotLight: SpotLightHelper,
- HemisphereLight: HemisphereLightHelper,
- RectAreaLight: RectAreaLightHelper,
-}
-
-export const vLightHelper = {
- mounted: (el: Light) => {
- if (!el.isLight) {
- logWarning(`${el.type} is not a light`)
- return
- }
- CurrentHelper = helpers[el.type]
- el?.parent?.add(new CurrentHelper(el as never, el.intensity))
- },
- updated: (el: any) => {
- currentInstance = el.parent.children.find((child: any) => child instanceof CurrentHelper)
- if (currentInstance instanceof RectAreaLightHelper) { return }
- currentInstance.update()
- },
- unmounted: (el: any) => {
- if (!el.isLight) {
- logWarning(`${el.type} is not a light`)
- return
- }
- currentInstance = el.parent.children.find((child: any) => child instanceof CurrentHelper)
- currentInstance.dispose()
- el.parent.remove(currentInstance)
- },
-}
diff --git a/src/core/directives/vLog.ts b/src/core/directives/vLog.ts
deleted file mode 100644
index 2f8b1bd1..00000000
--- a/src/core/directives/vLog.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export const vLog = {
- mounted: (el: any, binding: any) => {
- if (binding.arg) {
- // eslint-disable-next-line no-console
- console.log(`v-log:${binding.arg}`, el[binding.arg])
- return
- }
- // eslint-disable-next-line no-console
- console.log('v-log', el)
- },
-}
diff --git a/src/core/index.ts b/src/core/index.ts
index d46d7f66..9e07a17f 100644
--- a/src/core/index.ts
+++ b/src/core/index.ts
@@ -5,4 +5,3 @@ export * from './materials'
export * from './shapes'
export * from './staging'
export * from './misc'
-export * from './directives'
diff --git a/src/core/loaders/SVG/component.vue b/src/core/loaders/SVG/component.vue
index e648d23b..11bb2d32 100644
--- a/src/core/loaders/SVG/component.vue
+++ b/src/core/loaders/SVG/component.vue
@@ -2,7 +2,7 @@
import { onUnmounted, shallowRef, toRefs, watch, watchEffect } from 'vue'
import type { TresOptions } from '@tresjs/core'
import { useLoader } from '@tresjs/core'
-import type { SVGResultPaths } from 'three-stdlib'
+import type { SVGResult, SVGResultPaths } from 'three-stdlib'
import { SVGLoader } from 'three-stdlib'
import type { BufferGeometry, MeshBasicMaterialParameters } from 'three'
import { DoubleSide, ShapeGeometry, Vector2 } from 'three'
@@ -107,14 +107,14 @@ const svgRef = shallowRef()
const layers = shallowRef([] as SVGLayer[])
const paths = shallowRef([] as SVGResultPaths[])
-defineExpose({ value: svgRef })
+defineExpose({ instance: svgRef })
watchEffect(async () => useSVG(src.value).then(SVGResult => paths.value = SVGResult.paths))
watch([skipFills, skipStrokes, fillMaterial, strokeMaterial, paths], updateLayers)
async function useSVG(src: string) {
const srcStr = !src.startsWith('
};
onUnmounted(dispose)
diff --git a/src/core/loaders/useFBX/component.vue b/src/core/loaders/useFBX/component.vue
index 726f0448..6f96b88a 100644
--- a/src/core/loaders/useFBX/component.vue
+++ b/src/core/loaders/useFBX/component.vue
@@ -1,5 +1,6 @@
diff --git a/src/core/materials/holographicMaterial/HolographicMaterialParameters.ts b/src/core/materials/holographicMaterial/HolographicMaterialParameters.ts
index a5de3dfa..89b94c98 100644
--- a/src/core/materials/holographicMaterial/HolographicMaterialParameters.ts
+++ b/src/core/materials/holographicMaterial/HolographicMaterialParameters.ts
@@ -24,6 +24,7 @@ interface HolographicMaterialParameters {
depthTest?: boolean
}
class HolographicMaterial extends ShaderMaterial {
+ clock: Clock
/**
* Create a HolographicMaterial.
*
diff --git a/src/core/materials/holographicMaterial/index.vue b/src/core/materials/holographicMaterial/index.vue
index 2168bf4a..dbc2d42b 100644
--- a/src/core/materials/holographicMaterial/index.vue
+++ b/src/core/materials/holographicMaterial/index.vue
@@ -1,6 +1,6 @@
diff --git a/src/core/materials/meshGlassMaterial/index.vue b/src/core/materials/meshGlassMaterial/index.vue
index 7d6a066d..cfeda4d2 100644
--- a/src/core/materials/meshGlassMaterial/index.vue
+++ b/src/core/materials/meshGlassMaterial/index.vue
@@ -10,7 +10,7 @@ const { extend } = useTresContext()
extend({ MeshGlassMaterial })
-defineExpose({ MeshGlassMaterialClass })
+defineExpose({ instance: MeshGlassMaterialClass })
diff --git a/src/core/materials/blurPass.ts b/src/core/materials/meshReflectionMaterial/BlurPass.ts
similarity index 58%
rename from src/core/materials/blurPass.ts
rename to src/core/materials/meshReflectionMaterial/BlurPass.ts
index f9672f40..b5af0a9e 100644
--- a/src/core/materials/blurPass.ts
+++ b/src/core/materials/meshReflectionMaterial/BlurPass.ts
@@ -1,3 +1,31 @@
+/*
+Adapted from Drei BlurPass
+https://github.com/pmndrs/drei/blob/master/
+
+MIT License
+
+Copyright (c) 2020 react-spring
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+import type { Material, WebGLRenderer } from 'three'
import {
BufferAttribute,
BufferGeometry,
@@ -10,16 +38,16 @@ import {
WebGLRenderTarget,
} from 'three'
-import { ConvolutionMaterial } from './convolutionMaterial'
+import { ConvolutionMaterial } from './ConvolutionMaterial'
export interface BlurPassProps {
resolution: number
width?: number
height?: number
- minDepthThreshold?: number
- maxDepthThreshold?: number
+ depthEdge0?: number
+ depthEdge1?: number
depthScale?: number
- depthToBlurRatioBias?: number
+ depthBias?: number
}
export class BlurPass {
@@ -35,10 +63,10 @@ export class BlurPass {
resolution,
width = 500,
height = 500,
- minDepthThreshold = 0,
- maxDepthThreshold = 1,
+ depthEdge0 = 0,
+ depthEdge1 = 1,
depthScale = 0,
- depthToBlurRatioBias = 0.25,
+ depthBias = 0.25,
}: BlurPassProps) {
this.renderTargetA = new WebGLRenderTarget(resolution, resolution, {
minFilter: LinearFilter,
@@ -53,10 +81,10 @@ export class BlurPass {
this.convolutionMaterial.setResolution(new Vector2(width, height))
this.scene = new Scene()
this.camera = new Camera()
- this.convolutionMaterial.uniforms.minDepthThreshold.value = minDepthThreshold
- this.convolutionMaterial.uniforms.maxDepthThreshold.value = maxDepthThreshold
+ this.convolutionMaterial.uniforms.depthEdge0.value = depthEdge0
+ this.convolutionMaterial.uniforms.depthEdge1.value = depthEdge1
this.convolutionMaterial.uniforms.depthScale.value = depthScale
- this.convolutionMaterial.uniforms.depthToBlurRatioBias.value = depthToBlurRatioBias
+ this.convolutionMaterial.uniforms.depthBias.value = depthBias
this.convolutionMaterial.defines.USE_DEPTH = depthScale > 0
const vertices = new Float32Array([-1, -1, 0, 3, -1, 0, -1, 3, 0])
const uvs = new Float32Array([0, 0, 2, 0, 0, 2])
@@ -68,7 +96,7 @@ export class BlurPass {
this.scene.add(this.screen)
}
- render(renderer, inputBuffer, outputBuffer) {
+ render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget) {
const scene = this.scene
const camera = this.camera
const renderTargetA = this.renderTargetA
@@ -95,4 +123,12 @@ export class BlurPass {
renderer.setRenderTarget(this.renderToScreen ? null : outputBuffer)
renderer.render(scene, camera)
}
+
+ dispose() {
+ (this.screen.material as Material).dispose()
+ this.screen.geometry.dispose()
+ this.renderTargetA.dispose()
+ this.renderTargetB.dispose()
+ this.convolutionMaterial.dispose()
+ }
}
diff --git a/src/core/materials/convolutionMaterial.ts b/src/core/materials/meshReflectionMaterial/ConvolutionMaterial.ts
similarity index 56%
rename from src/core/materials/convolutionMaterial.ts
rename to src/core/materials/meshReflectionMaterial/ConvolutionMaterial.ts
index 1fc1085c..f01c1002 100644
--- a/src/core/materials/convolutionMaterial.ts
+++ b/src/core/materials/meshReflectionMaterial/ConvolutionMaterial.ts
@@ -1,5 +1,32 @@
+/*
+Adapted from Drei ConvolutionMaterial
+https://github.com/pmndrs/drei/blob/master/
+
+MIT License
+
+Copyright (c) 2020 react-spring
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
import { NoBlending, ShaderMaterial, Uniform, Vector2 } from 'three'
-import { version } from '../../utils/constants'
+import { version } from '../../../utils/constants'
export class ConvolutionMaterial extends ShaderMaterial {
readonly kernel: Float32Array
@@ -15,10 +42,10 @@ export class ConvolutionMaterial extends ShaderMaterial {
scale: new Uniform(1.0),
cameraNear: new Uniform(0.0),
cameraFar: new Uniform(1.0),
- minDepthThreshold: new Uniform(0.0),
- maxDepthThreshold: new Uniform(1.0),
+ depthEdge0: new Uniform(0.0),
+ depthEdge1: new Uniform(1.0),
depthScale: new Uniform(0.0),
- depthToBlurRatioBias: new Uniform(0.25),
+ depthBias: new Uniform(0.25),
},
fragmentShader: `#include
#include
@@ -26,10 +53,10 @@ export class ConvolutionMaterial extends ShaderMaterial {
uniform sampler2D depthBuffer;
uniform float cameraNear;
uniform float cameraFar;
- uniform float minDepthThreshold;
- uniform float maxDepthThreshold;
+ uniform float depthEdge0;
+ uniform float depthEdge1;
uniform float depthScale;
- uniform float depthToBlurRatioBias;
+ uniform float depthBias;
varying vec2 vUv;
varying vec2 vUv0;
varying vec2 vUv1;
@@ -41,17 +68,20 @@ export class ConvolutionMaterial extends ShaderMaterial {
#ifdef USE_DEPTH
vec4 depth = texture2D(depthBuffer, vUv);
- depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));
- depthFactor *= depthScale;
- depthFactor = max(0.0, min(1.0, depthFactor + 0.25));
+ depthFactor = smoothstep(
+ 1.0 - depthEdge1, 1.0 - depthEdge0,
+ 1.0 - (depth.r * depth.a) + depthBias
+ );
+ depthFactor = clamp(depthScale * depthFactor + 0.25, 0.0, 1.0);
#endif
-
- vec4 sum = texture2D(inputBuffer, mix(vUv0, vUv, depthFactor));
- sum += texture2D(inputBuffer, mix(vUv1, vUv, depthFactor));
- sum += texture2D(inputBuffer, mix(vUv2, vUv, depthFactor));
- sum += texture2D(inputBuffer, mix(vUv3, vUv, depthFactor));
- gl_FragColor = sum * 0.25 ;
+ gl_FragColor = 0.25 * (
+ texture2D(inputBuffer, mix(vUv0, vUv, depthFactor))
+ + texture2D(inputBuffer, mix(vUv1, vUv, depthFactor))
+ + texture2D(inputBuffer, mix(vUv2, vUv, depthFactor))
+ + texture2D(inputBuffer, mix(vUv3, vUv, depthFactor))
+ );
+
#include
#include
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
diff --git a/src/core/materials/meshReflectionMaterial/index.vue b/src/core/materials/meshReflectionMaterial/index.vue
index 2fadc019..3ef24d47 100644
--- a/src/core/materials/meshReflectionMaterial/index.vue
+++ b/src/core/materials/meshReflectionMaterial/index.vue
@@ -1,83 +1,168 @@
-
diff --git a/src/core/materials/meshReflectionMaterial/material.ts b/src/core/materials/meshReflectionMaterial/material.ts
index 30498c06..59010a4e 100644
--- a/src/core/materials/meshReflectionMaterial/material.ts
+++ b/src/core/materials/meshReflectionMaterial/material.ts
@@ -1,50 +1,96 @@
+/*
+Inspired by and adapted from MeshReflectorMaterial
+https://github.com/pmndrs/drei/blob/master/src/materials/MeshReflectorMaterial.tsx
+
+MIT License
+
+Copyright (c) 2020 react-spring
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
import type { Matrix4, Texture } from 'three'
import { MeshStandardMaterial } from 'three'
-// Borrowed from @pmdrs drei implementation https://github.com/pmndrs/drei/blob/master/src/materials/MeshReflectorMaterial.tsx
interface UninitializedUniform { value: Value | null }
-export class MeshReflectorMaterial extends MeshStandardMaterial {
+export class MeshReflectionMaterial extends MeshStandardMaterial {
private _tDepth: UninitializedUniform = { value: null }
private _distortionMap: UninitializedUniform = { value: null }
- private _tDiffuse: UninitializedUniform = { value: null }
- private _tDiffuseBlur: UninitializedUniform = { value: null }
+ private _tSharp: UninitializedUniform = { value: null }
+ private _tBlur: UninitializedUniform = { value: null }
private _textureMatrix: UninitializedUniform = { value: null }
- private _hasBlur: { value: boolean } = { value: false }
- private _mirror: { value: number } = { value: 0.0 }
- private _mixBlur: { value: number } = { value: 0.0 }
- private _blurStrength: { value: number } = { value: 0.5 }
- private _minDepthThreshold: { value: number } = { value: 0.9 }
- private _maxDepthThreshold: { value: number } = { value: 1 }
- private _depthScale: { value: number } = { value: 0 }
- private _depthToBlurRatioBias: { value: number } = { value: 0.25 }
+ private _mix: { value: number } = { value: 0.5 }
+ private _sharpMix: { value: number } = { value: 0.0 }
+ private _blurMixSmooth: { value: number } = { value: 0.0 }
+ private _blurMixRough: { value: number } = { value: 0.0 }
+ private _sharpDepthEdgeMin: { value: number } = { value: 0.9 }
+ private _sharpDepthEdgeMax: { value: number } = { value: 1 }
+ private _sharpDepthScale: { value: number } = { value: 0 }
+ private _sharpDepthBias: { value: number } = { value: 0 }
private _distortion: { value: number } = { value: 1 }
- private _mixContrast: { value: number } = { value: 1.0 }
constructor(parameters = {}) {
super(parameters)
this.setValues(parameters)
}
- onBeforeCompile(shader) {
+ onBeforeCompile(shader: any) {
if (!shader.defines?.USE_UV) {
shader.defines.USE_UV = ''
}
- shader.uniforms.hasBlur = this._hasBlur
- shader.uniforms.tDiffuse = this._tDiffuse
+ // NOTE: Start #605 fix
+ // Tres lowercases pierced props. As a result, a component
+ // can't set "defines", which are written in ALL_CAPS by
+ // convention in the Three.js codebase.
+ //
+ // Issue: https://github.com/Tresjs/tres/issues/605
+ //
+ // A fix has been merged into TresJS v4:
+ // https://github.com/Tresjs/tres/pull/608
+ //
+ // TODO: This code can be removed for TresJS v4.
+ //
+ // Workaround: UPPER_CASE all defines
+ for (const key of Object.keys(shader.defines)) {
+ shader.defines[key.toUpperCase()] = shader.defines[key]
+ }
+ // NOTE: End #605 fix
+
+ shader.uniforms.tSharp = this._tSharp
shader.uniforms.tDepth = this._tDepth
+ shader.uniforms.tBlur = this._tBlur
shader.uniforms.distortionMap = this._distortionMap
- shader.uniforms.tDiffuseBlur = this._tDiffuseBlur
shader.uniforms.textureMatrix = this._textureMatrix
- shader.uniforms.mirror = this._mirror
- shader.uniforms.mixBlur = this._mixBlur
- shader.uniforms.mixStrength = this._blurStrength
- shader.uniforms.minDepthThreshold = this._minDepthThreshold
- shader.uniforms.maxDepthThreshold = this._maxDepthThreshold
- shader.uniforms.depthScale = this._depthScale
- shader.uniforms.depthToBlurRatioBias = this._depthToBlurRatioBias
+ shader.uniforms.mixMain = this._mix
+
+ shader.uniforms.sharpMix = this._sharpMix
+ shader.uniforms.sharpDepthScale = this._sharpDepthScale
+ shader.uniforms.sharpDepthEdgeMin = this._sharpDepthEdgeMin
+ shader.uniforms.sharpDepthEdgeMax = this._sharpDepthEdgeMax
+ shader.uniforms.sharpDepthBias = this._sharpDepthBias
+
+ shader.uniforms.blurMixSmooth = this._blurMixSmooth
+ shader.uniforms.blurMixRough = this._blurMixRough
+
shader.uniforms.distortion = this._distortion
- shader.uniforms.mixContrast = this._mixContrast
+
shader.vertexShader = `
uniform mat4 textureMatrix;
varying vec4 my_vUv;
@@ -56,99 +102,103 @@ export class MeshReflectorMaterial extends MeshStandardMaterial {
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );`,
)
shader.fragmentShader = `
- uniform sampler2D tDiffuse;
- uniform sampler2D tDiffuseBlur;
+ uniform sampler2D tSharp;
+ uniform sampler2D tBlur;
uniform sampler2D tDepth;
uniform sampler2D distortionMap;
uniform float distortion;
uniform float cameraNear;
uniform float cameraFar;
- uniform bool hasBlur;
- uniform float mixBlur;
- uniform float mirror;
- uniform float mixStrength;
- uniform float minDepthThreshold;
- uniform float maxDepthThreshold;
- uniform float mixContrast;
- uniform float depthScale;
- uniform float depthToBlurRatioBias;
+ uniform float mixMain;
+ uniform float sharpMix;
+ uniform float blurMixSmooth;
+ uniform float blurMixRough;
+ uniform float sharpDepthScale;
+ uniform float sharpDepthBias;
+ uniform float sharpDepthEdgeMin;
+ uniform float sharpDepthEdgeMax;
varying vec4 my_vUv;
${shader.fragmentShader}`
shader.fragmentShader = shader.fragmentShader.replace(
'#include ',
`#include
- float distortionFactor = 0.0;
- #ifdef USE_DISTORTION
- distortionFactor = texture2D(distortionMap, vUv).r * distortion;
- #endif
-
vec4 new_vUv = my_vUv;
- new_vUv.x += distortionFactor;
- new_vUv.y += distortionFactor;
- vec4 base = texture2DProj(tDiffuse, new_vUv);
- vec4 blur = texture2DProj(tDiffuseBlur, new_vUv);
-
- vec4 merge = base;
+ #ifdef USE_DISTORTION
+ float distortionFactor = (texture(distortionMap, vUv).r - 0.5) * distortion;
+ new_vUv.x += distortionFactor;
+ new_vUv.y += distortionFactor;
+ #endif
#ifdef USE_NORMALMAP
- vec2 normal_uv = vec2(0.0);
- vec4 normalColor = texture2D(normalMap, vUv * normalScale);
+
+ vec4 normalColor = texture(normalMap, vUv * normalScale);
vec3 my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );
vec3 coord = new_vUv.xyz / new_vUv.w;
- normal_uv = coord.xy + coord.z * my_normal.xz * 0.05;
- vec4 base_normal = texture2D(tDiffuse, normal_uv);
- vec4 blur_normal = texture2D(tDiffuseBlur, normal_uv);
- merge = base_normal;
- blur = blur_normal;
- #endif
+ vec2 normal_uv = coord.xy + coord.z * my_normal.xz * 0.05;
- float depthFactor = 0.0001;
- float blurFactor = 0.0;
+ vec4 sharp = texture(tSharp, normal_uv);
- #ifdef USE_DEPTH
- vec4 depth = texture2DProj(tDepth, new_vUv);
- depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));
- depthFactor *= depthScale;
- depthFactor = max(0.0001, min(1.0, depthFactor));
+ #ifdef USE_BLUR
+ vec4 blur = texture(tBlur, normal_uv);
+ #endif
+
+ #ifdef USE_DEPTH
+ vec4 depth = texture(tDepth, normal_uv);
+ #endif
+
+ #else
+
+ vec4 sharp = textureProj(tSharp, new_vUv);
#ifdef USE_BLUR
- blur = blur * min(1.0, depthFactor + depthToBlurRatioBias);
- merge = merge * min(1.0, depthFactor + 0.5);
- #else
- merge = merge * depthFactor;
+ vec4 blur = textureProj(tBlur, new_vUv);
+ #endif
+
+ #ifdef USE_DEPTH
+ vec4 depth = textureProj(tDepth, new_vUv);
#endif
#endif
- float reflectorRoughnessFactor = roughness;
- #ifdef USE_ROUGHNESSMAP
- vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );
- reflectorRoughnessFactor *= reflectorTexelRoughness.g;
+ #ifdef USE_DEPTH
+ float depthFactor = smoothstep(
+ 1.0 - sharpDepthEdgeMax, 1.0 - sharpDepthEdgeMin,
+ 1.0 - (depth.r * depth.a) + sharpDepthBias
+ );
+ depthFactor = clamp(sharpDepthScale * depthFactor, 0.0, 1.0);
+
+ sharp *= depthFactor;
#endif
+ sharp *= (1.0 - roughnessFactor);
+ `,
+ )
+ shader.fragmentShader = shader.fragmentShader.replace(
+ '#include ',
+ `
+
#ifdef USE_BLUR
- blurFactor = min(1.0, mixBlur * reflectorRoughnessFactor);
- merge = mix(merge, blur, blurFactor);
+ outgoingLight += mixMain * (
+ vec3(sharp) * sharpMix
+ + vec3(blur) * (blurMixSmooth * (1.0 - roughnessFactor) + blurMixRough * roughnessFactor)
+ );
+ #else
+ outgoingLight += mixMain * vec3(sharp) * sharpMix;
#endif
- vec4 newMerge = vec4(0.0, 0.0, 0.0, 1.0);
- newMerge.r = (merge.r - 0.5) * mixContrast + 0.5;
- newMerge.g = (merge.g - 0.5) * mixContrast + 0.5;
- newMerge.b = (merge.b - 0.5) * mixContrast + 0.5;
-
- diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);
+ #include
`,
)
}
- get tDiffuse(): Texture | null {
- return this._tDiffuse.value
+ get tSharp(): Texture | null {
+ return this._tSharp.value
}
- set tDiffuse(v: Texture | null) {
- this._tDiffuse.value = v
+ set tSharp(v: Texture | null) {
+ this._tSharp.value = v
}
get tDepth(): Texture | null {
@@ -167,12 +217,12 @@ export class MeshReflectorMaterial extends MeshStandardMaterial {
this._distortionMap.value = v
}
- get tDiffuseBlur(): Texture | null {
- return this._tDiffuseBlur.value
+ get tBlur(): Texture | null {
+ return this._tBlur.value
}
- set tDiffuseBlur(v: Texture | null) {
- this._tDiffuseBlur.value = v
+ set tBlur(v: Texture | null) {
+ this._tBlur.value = v
}
get textureMatrix(): Matrix4 | null {
@@ -183,68 +233,68 @@ export class MeshReflectorMaterial extends MeshStandardMaterial {
this._textureMatrix.value = v
}
- get hasBlur(): boolean {
- return this._hasBlur.value
+ get sharpMix(): number {
+ return this._sharpMix.value
}
- set hasBlur(v: boolean) {
- this._hasBlur.value = v
+ set sharpMix(v: number) {
+ this._sharpMix.value = v
}
- get mirror(): number {
- return this._mirror.value
+ get blurMixSmooth(): number {
+ return this._blurMixSmooth.value
}
- set mirror(v: number) {
- this._mirror.value = v
+ set blurMixSmooth(v: number) {
+ this._blurMixSmooth.value = v
}
- get mixBlur(): number {
- return this._mixBlur.value
+ get blurMixRough(): number {
+ return this._blurMixRough.value
}
- set mixBlur(v: number) {
- this._mixBlur.value = v
+ set blurMixRough(v: number) {
+ this._blurMixRough.value = v
}
- get mixStrength(): number {
- return this._blurStrength.value
+ get mix(): number {
+ return this._mix.value
}
- set mixStrength(v: number) {
- this._blurStrength.value = v
+ set mix(v: number) {
+ this._mix.value = v
}
- get minDepthThreshold(): number {
- return this._minDepthThreshold.value
+ get sharpDepthScale(): number {
+ return this._sharpDepthScale.value
}
- set minDepthThreshold(v: number) {
- this._minDepthThreshold.value = v
+ set sharpDepthScale(v: number) {
+ this._sharpDepthScale.value = v
}
- get maxDepthThreshold(): number {
- return this._maxDepthThreshold.value
+ get sharpDepthBias(): number {
+ return this._sharpDepthBias.value
}
- set maxDepthThreshold(v: number) {
- this._maxDepthThreshold.value = v
+ set sharpDepthBias(v: number) {
+ this._sharpDepthBias.value = v
}
- get depthScale(): number {
- return this._depthScale.value
+ get sharpDepthEdgeMin(): number {
+ return this._sharpDepthEdgeMin.value
}
- set depthScale(v: number) {
- this._depthScale.value = v
+ set sharpDepthEdgeMin(v: number) {
+ this._sharpDepthEdgeMin.value = v
}
- get depthToBlurRatioBias(): number {
- return this._depthToBlurRatioBias.value
+ get sharpDepthEdgeMax(): number {
+ return this._sharpDepthEdgeMax.value
}
- set depthToBlurRatioBias(v: number) {
- this._depthToBlurRatioBias.value = v
+ set sharpDepthEdgeMax(v: number) {
+ this._sharpDepthEdgeMax.value = v
}
get distortion(): number {
@@ -254,12 +304,4 @@ export class MeshReflectorMaterial extends MeshStandardMaterial {
set distortion(v: number) {
this._distortion.value = v
}
-
- get mixContrast(): number {
- return this._mixContrast.value
- }
-
- set mixContrast(v: number) {
- this._mixContrast.value = v
- }
}
diff --git a/src/core/materials/meshWobbleMaterial/index.vue b/src/core/materials/meshWobbleMaterial/index.vue
index 4a115a2d..89a27bec 100644
--- a/src/core/materials/meshWobbleMaterial/index.vue
+++ b/src/core/materials/meshWobbleMaterial/index.vue
@@ -1,6 +1,6 @@
diff --git a/src/core/materials/meshWobbleMaterial/material.ts b/src/core/materials/meshWobbleMaterial/material.ts
index 62bcd256..4ca3b0d9 100644
--- a/src/core/materials/meshWobbleMaterial/material.ts
+++ b/src/core/materials/meshWobbleMaterial/material.ts
@@ -1,4 +1,4 @@
-import type { MeshStandardMaterialParameters, Shader } from 'three'
+import type { MeshStandardMaterialParameters } from 'three'
import { MeshStandardMaterial } from 'three'
// Borrowed from @pmdrs drei implementation https://github.com/pmndrs/drei/blob/master/src/core/MeshWobbleMaterial.tsx
@@ -17,7 +17,7 @@ export class WobbleMaterialImpl extends MeshStandardMaterial {
this._factor = { value: 1 }
}
- onBeforeCompile(shader: Shader) {
+ onBeforeCompile(shader: { uniforms: { time?: Uniform, factor?: Uniform }, vertexShader: string }) {
if (!shader.uniforms) { shader.uniforms = {} }
shader.uniforms.time = this._time
shader.uniforms.factor = this._factor
diff --git a/src/core/misc/Stats.ts b/src/core/misc/Stats.ts
index 710cfbf6..f827cd29 100644
--- a/src/core/misc/Stats.ts
+++ b/src/core/misc/Stats.ts
@@ -1,5 +1,5 @@
import { defineComponent, onUnmounted } from 'vue'
-import { useRenderLoop } from '@tresjs/core'
+import { useLoop } from '@tresjs/core'
import StatsImpl from 'stats.js'
export const Stats = defineComponent({
@@ -14,16 +14,15 @@ export const Stats = defineComponent({
setup(props, { expose }) {
const stats = new StatsImpl()
- expose({ stats })
+ expose({ instance: stats })
const node = document.body
stats.showPanel(props.showPanel || 0)
node?.appendChild(stats.dom)
- const { onBeforeLoop, onAfterLoop, resume } = useRenderLoop()
- resume()
- onBeforeLoop(() => stats.begin())
- onAfterLoop(() => stats.end())
+ const { onBeforeRender, onAfterRender } = useLoop()
+ onBeforeRender(() => stats.begin(), Number.NEGATIVE_INFINITY)
+ onAfterRender(() => stats.end(), Number.POSITIVE_INFINITY)
onUnmounted(() => {
node?.removeChild(stats.dom)
diff --git a/src/core/misc/StatsGl.ts b/src/core/misc/StatsGl.ts
index ce1dbbed..df2fafb3 100644
--- a/src/core/misc/StatsGl.ts
+++ b/src/core/misc/StatsGl.ts
@@ -1,6 +1,6 @@
import { defineComponent, onUnmounted } from 'vue'
import StatsGlImpl from 'stats-gl'
-import { useRenderLoop, useTresContext } from '@tresjs/core'
+import { useLoop, useTresContext } from '@tresjs/core'
export interface StatsGlProps {
/*
@@ -79,7 +79,7 @@ export const StatsGl = defineComponent({
'mode',
] as unknown as undefined,
- async setup(props, { expose }) {
+ setup(props, { expose }) {
const statsGl = new StatsGlImpl({
logsPerSecond: props.logsPerSecond,
samplesLog: props.samplesLog,
@@ -90,7 +90,7 @@ export const StatsGl = defineComponent({
mode: props.mode,
})
- expose({ statsGl })
+ expose({ instance: statsGl })
const node = document.body
const statContainer = statsGl.dom || statsGl.container
@@ -98,14 +98,12 @@ export const StatsGl = defineComponent({
node?.appendChild(statContainer)
const { renderer } = useTresContext()
- const { onAfterLoop, resume } = useRenderLoop()
+
+ const { onAfterRender } = useLoop()
statsGl.init(renderer.value)
- resume()
- onAfterLoop(() => {
- statsGl.update()
- })
+ onAfterRender(() => statsGl.update(), Number.POSITIVE_INFINITY)
onUnmounted(() => {
node?.removeChild(statContainer)
diff --git a/src/core/misc/html/HTML.vue b/src/core/misc/html/HTML.vue
index e91a6a60..9637df67 100644
--- a/src/core/misc/html/HTML.vue
+++ b/src/core/misc/html/HTML.vue
@@ -1,9 +1,8 @@
diff --git a/src/core/misc/index.ts b/src/core/misc/index.ts
index 7bbcc888..501110f3 100644
--- a/src/core/misc/index.ts
+++ b/src/core/misc/index.ts
@@ -1,9 +1,7 @@
-import { useTweakPane } from './useTweakPane'
-
import { Stats } from './Stats'
import { StatsGl } from './StatsGl'
import { BakeShadows } from './BakeShadows'
import Html from './html/HTML.vue'
import { useGLTFExporter } from './useGLTFExporter'
-export { useTweakPane, Html, Stats, StatsGl, BakeShadows, useGLTFExporter }
+export { Html, Stats, StatsGl, BakeShadows, useGLTFExporter }
diff --git a/src/core/misc/useTweakPane/index.ts b/src/core/misc/useTweakPane/index.ts
deleted file mode 100644
index 0a7dda9d..00000000
--- a/src/core/misc/useTweakPane/index.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { onMounted, onUnmounted } from 'vue'
-import { Pane } from 'tweakpane'
-import { useRenderLoop } from '@tresjs/core'
-import { useLogger } from '../../../composables/useLogger'
-
-type TweakPane = Pane & { addBlade: (blade: any) => void, addInput: (blade: any) => void }
-let pane: TweakPane
-
-export const useTweakPane = (selector = 'body') => {
- if (!pane) {
- pane = new Pane({
- container: document.querySelector(selector) as HTMLElement,
- }) as TweakPane
- pane.element.style.position = 'absolute'
- pane.element.style.top = '1rem'
- pane.element.style.right = '1rem'
- pane.element.style.zIndex = '9999'
- }
-
- const { logWarning } = useLogger()
-
- logWarning('useTweakPane is deprecated as of Cientos v3.7.0 and will no longer be part of this package. Please migrate to @tresjs/leches package https://github.com/Tresjs/leches or v-tweakpane https://github.com/vinayakkulkarni/v-tweakpane instead.')
- // eslint-enabled
-
- /**
- * Disposes the TweakPane instance.
- *
- */
- function disposeTweakPane() {
- if (pane) {
- pane.dispose()
- }
- }
-
- onMounted(() => {
- const { resume } = useRenderLoop()
- resume()
- })
- onUnmounted(() => {
- disposeTweakPane()
- })
-
- return { pane, disposeTweakPane }
-}
diff --git a/src/core/shapes/Box.vue b/src/core/shapes/Box.vue
index 0d576dfd..d6265d1e 100644
--- a/src/core/shapes/Box.vue
+++ b/src/core/shapes/Box.vue
@@ -1,8 +1,8 @@
diff --git a/src/core/shapes/CatmullRomCurve3.vue b/src/core/shapes/CatmullRomCurve3.vue
index d21977b4..cb0b628e 100644
--- a/src/core/shapes/CatmullRomCurve3.vue
+++ b/src/core/shapes/CatmullRomCurve3.vue
@@ -1,7 +1,7 @@
-import type { TresColor } from '@tresjs/core'
+import { type TresColor, useTresContext } from '@tresjs/core'
import type { CircleGeometry } from 'three'
-import { shallowRef, toRefs } from 'vue'
+import { shallowRef, toRefs, watch } from 'vue'
export interface CircleProps {
/**
@@ -24,11 +24,13 @@ export interface CircleProps {
const props = withDefaults(defineProps(), { args: () => [1, 32, 0, Math.PI * 2], color: '#ffffff' })
const { args, color } = toRefs(props)
+const { invalidate } = useTresContext()
+watch(args, () => invalidate())
const circleRef = shallowRef()
defineExpose({
- value: circleRef,
+ instance: circleRef,
})
diff --git a/src/core/shapes/Cone.vue b/src/core/shapes/Cone.vue
index 9d393410..0640e59f 100644
--- a/src/core/shapes/Cone.vue
+++ b/src/core/shapes/Cone.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Cylinder.vue b/src/core/shapes/Cylinder.vue
index 4566ef42..62007cea 100644
--- a/src/core/shapes/Cylinder.vue
+++ b/src/core/shapes/Cylinder.vue
@@ -1,45 +1,47 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/core/shapes/Dodecahedron.vue b/src/core/shapes/Dodecahedron.vue
index 2a20b33e..29337cd1 100644
--- a/src/core/shapes/Dodecahedron.vue
+++ b/src/core/shapes/Dodecahedron.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Icosahedron.vue b/src/core/shapes/Icosahedron.vue
index 4aacf7e8..ee43cff6 100644
--- a/src/core/shapes/Icosahedron.vue
+++ b/src/core/shapes/Icosahedron.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Line2.vue b/src/core/shapes/Line2.vue
index a5a5cfb4..26d46ba3 100644
--- a/src/core/shapes/Line2.vue
+++ b/src/core/shapes/Line2.vue
@@ -4,7 +4,7 @@ import { Vector2, Vector3 } from 'three'
import { Line2 } from 'three/examples/jsm/lines/Line2'
import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial'
import { LineGeometry } from 'three/examples/jsm/lines/LineGeometry'
-import { computed, onUnmounted, watch } from 'vue'
+import { computed, onUnmounted, shallowRef, watch } from 'vue'
import type { TresColor } from '@tresjs/core'
import { normalizeColor, useTresContext } from '@tresjs/core'
@@ -69,7 +69,7 @@ function getInterpolatedVertexColors(vertexColors: VertexColors | null, numPoint
const lineMaterial = new LineMaterial()
const lineGeometry = new LineGeometry()
const line = new Line2(lineGeometry, lineMaterial)
-const sizes = useTresContext().sizes
+const { sizes, invalidate } = useTresContext()
const hasVertexColors = computed(() => Array.isArray(props.vertexColors))
function updateLineMaterial(material: LineMaterial, props: PropsType) {
@@ -123,18 +123,31 @@ watch(() => [
props.dashScale,
props.dashSize,
props.dashOffset,
-], () => updateLineMaterial(lineMaterial, props))
-watch([props.points, props.vertexColors], () => updateLineGeometry(lineGeometry, props.points, props.vertexColors))
-watch(() => props.vertexColors, () => updateLineGeometry(lineGeometry, props.points, props.vertexColors))
-watch(() => props.points, () => updateLineGeometry(lineGeometry, props.points, props.vertexColors))
-watch([sizes.height, sizes.width], () => lineMaterial.resolution = new Vector2(sizes.width.value, sizes.height.value))
+], () => {
+ updateLineMaterial(lineMaterial, props)
+ invalidate()
+})
+watch(() => [props.points, props.vertexColors], () => {
+ updateLineGeometry(lineGeometry, props.points, props.vertexColors)
+ invalidate()
+})
+watch(() => [sizes.height, sizes.width], () => {
+ lineMaterial.resolution = new Vector2(sizes.width.value, sizes.height.value)
+ invalidate()
+})
onUnmounted(() => {
lineGeometry.dispose()
lineMaterial.dispose()
})
+
+const lineRef = shallowRef()
+defineExpose({ instance: lineRef })
-
+
diff --git a/src/core/shapes/Octahedron.vue b/src/core/shapes/Octahedron.vue
index 72fc1301..c590b738 100644
--- a/src/core/shapes/Octahedron.vue
+++ b/src/core/shapes/Octahedron.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Plane.vue b/src/core/shapes/Plane.vue
index 02fe7f6b..7c7c1f1c 100644
--- a/src/core/shapes/Plane.vue
+++ b/src/core/shapes/Plane.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Ring.vue b/src/core/shapes/Ring.vue
index fc99976b..402b2f9e 100644
--- a/src/core/shapes/Ring.vue
+++ b/src/core/shapes/Ring.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/RoundedBox.vue b/src/core/shapes/RoundedBox.vue
index 661748fe..619a05c1 100644
--- a/src/core/shapes/RoundedBox.vue
+++ b/src/core/shapes/RoundedBox.vue
@@ -4,7 +4,7 @@ import type { TresColor } from '@tresjs/core'
import type { BoxGeometry } from 'three'
import { RoundedBoxGeometry } from 'three-stdlib'
-import { shallowRef, toRefs } from 'vue'
+import { shallowRef, toRefs, watch } from 'vue'
export interface BoxProps {
/**
@@ -29,14 +29,13 @@ export interface BoxProps {
const props = withDefaults(defineProps(), { args: () => [1, 1, 1, 2, 0.1], color: '#ffffff' })
const { args, color } = toRefs(props)
-
-const { extend } = useTresContext()
-
+const { invalidate, extend } = useTresContext()
extend({ RoundedBoxGeometry })
+watch(args, () => invalidate())
const roundedBoxRef = shallowRef()
-defineExpose({ value: roundedBoxRef })
+defineExpose({ instance: roundedBoxRef })
diff --git a/src/core/shapes/Sphere.vue b/src/core/shapes/Sphere.vue
index 25d2c4f0..f211f53c 100644
--- a/src/core/shapes/Sphere.vue
+++ b/src/core/shapes/Sphere.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Superformula.vue b/src/core/shapes/Superformula.vue
index 41721f6c..465bf6ce 100644
--- a/src/core/shapes/Superformula.vue
+++ b/src/core/shapes/Superformula.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Tetrahedron.vue b/src/core/shapes/Tetrahedron.vue
index a013872f..ae6b99f7 100644
--- a/src/core/shapes/Tetrahedron.vue
+++ b/src/core/shapes/Tetrahedron.vue
@@ -27,7 +27,7 @@ const { args, color } = toRefs(props)
const tetrahedronRef = shallowRef()
defineExpose({
- value: tetrahedronRef,
+ instance: tetrahedronRef,
})
diff --git a/src/core/shapes/Torus.vue b/src/core/shapes/Torus.vue
index a3412a7a..e4786b43 100644
--- a/src/core/shapes/Torus.vue
+++ b/src/core/shapes/Torus.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/TorusKnot.vue b/src/core/shapes/TorusKnot.vue
index d704745d..931933b5 100644
--- a/src/core/shapes/TorusKnot.vue
+++ b/src/core/shapes/TorusKnot.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/shapes/Tube.vue b/src/core/shapes/Tube.vue
index ed96fa99..54b1976d 100644
--- a/src/core/shapes/Tube.vue
+++ b/src/core/shapes/Tube.vue
@@ -1,9 +1,9 @@
diff --git a/src/core/staging/Backdrop.vue b/src/core/staging/Backdrop.vue
index 122c26e9..65dc3092 100644
--- a/src/core/staging/Backdrop.vue
+++ b/src/core/staging/Backdrop.vue
@@ -1,7 +1,7 @@
-
+
-// The author of the original code is @mrdoob https://twitter.com/mrdoob
+// NOTE: The author of the original code is @mrdoob https://twitter.com/mrdoob
// https://threejs.org/examples/?q=con#webgl_shadow_contact
-// As well, basically the same implementation as in pmndrs drei but with Vue Composition API
-// https://github.com/pmndrs/drei/blob/master/src/core/ContactShadows.tsx#L113
+// NOTE: Shader inspiration taken from R3F/Drei:
+// https://github.com/pmndrs/drei/blob/b50a2d4b1a1278ae36058b9b53b85a00ef195762/src/core/ContactShadows.tsx#L10
import type { TresColor } from '@tresjs/core'
-import { useRenderLoop, useTresContext } from '@tresjs/core'
+import { useLoop } from '@tresjs/core'
import type {
ColorRepresentation,
- Material,
- Texture,
+ Scene,
+ WebGLRenderer,
} from 'three'
import {
Color,
+ Group,
Mesh,
+ MeshBasicMaterial,
MeshDepthMaterial,
OrthographicCamera,
PlaneGeometry,
ShaderMaterial,
WebGLRenderTarget,
} from 'three'
-import { computed, shallowRef, watchEffect } from 'vue'
import { HorizontalBlurShader, VerticalBlurShader } from 'three-stdlib'
+import { onUnmounted, watch } from 'vue'
export interface ContactShadowsProps {
/**
- *
* The opacity of the shadows.
*
* @default 1
@@ -36,32 +37,54 @@ export interface ContactShadowsProps {
*/
opacity?: number
/**
- * The width of the shadows.
+ * The blur of the shadows.
*
* @default 1
* @type {number}
* @memberof ContactShadowsProps
*
*/
- width?: number
+ blur?: number
+ /**
+ * The color of the shadows.
+ *
+ * @default '#000000'
+ * @type {TresColor}
+ * @memberof ContactShadowsProps
+ *
+ */
+ color?: TresColor
+ /**
+ * The tint at the "core" of the shadows.
+ *
+ * @default undefined
+ * @type {TresColor}
+ * @memberof ContactShadowsProps
+ *
+ */
+ tint?: TresColor
+ /**
+ * The scale of the shadows.
+ */
+ scale?: number | [x: number, y: number]
/**
- * The height of the shadows.
+ * The width of the shadow plane.
*
* @default 1
* @type {number}
* @memberof ContactShadowsProps
*
*/
- height?: number
+ width?: number
/**
- * The blur of the shadows.
+ * The height of the shadow plane.
*
* @default 1
* @type {number}
* @memberof ContactShadowsProps
*
*/
- blur?: number
+ height?: number
/**
* How far the OrthographicCamera should be to capture the shadows.
*
@@ -98,24 +121,6 @@ export interface ContactShadowsProps {
*
*/
frames?: number
- /**
- * The scale of the shadows.
- *
- * @default 10
- * @type {(number | [x: number, y: number])}
- * @memberof ContactShadowsProps
- *
- */
- scale?: number | [x: number, y: number]
- /**
- * The color of the shadows.
- *
- * @default '#000000'
- * @type {TresColor}
- * @memberof ContactShadowsProps
- *
- */
- color?: TresColor
/**
* Whether the shadows should write to the depth buffer or not.
*
@@ -126,195 +131,234 @@ export interface ContactShadowsProps {
*/
depthWrite?: boolean
/**
- * Whether the OrthographicCamera helper should be visible or not.
+ * Whether the shadows should write to the depth buffer or not.
*
* @default false
* @type {boolean}
* @memberof ContactShadowsProps
*
*/
- helper?: boolean
}
const props = withDefaults(defineProps(), {
- scale: 10,
- frames: Number.POSITIVE_INFINITY,
opacity: 1,
+ blur: 1,
+ color: '#000000',
+ tint: undefined,
+ scale: 10,
width: 1,
height: 1,
- blur: 1,
far: 10,
- resolution: 512,
smooth: true,
- color: '#000000',
+ resolution: 512,
+ frames: Number.POSITIVE_INFINITY,
depthWrite: false,
- helper: false,
})
-const groupRef = shallowRef()
-const shadowCamera = shallowRef()
-
-defineExpose(groupRef)
-
-let renderTarget: WebGLRenderTarget, renderTargetBlur: WebGLRenderTarget
-let planeGeometry: PlaneGeometry, blurPlane: Mesh
-let depthMaterial: MeshDepthMaterial
-
-const { renderer, scene } = useTresContext()
-
-const cameraW = computed(() => props.width * (Array.isArray(props.scale) ? props.scale[0] : props.scale || 1))
-const cameraH = computed(() => props.height * (Array.isArray(props.scale) ? props.scale[1] : props.scale || 1))
-
-watchEffect(() => {
- // the render target that will show the shadows in the plane texture and
- // the target that we will use to blur the first render target
- if (renderTarget) { renderTarget.dispose() }
- if (renderTargetBlur) { renderTargetBlur.dispose() }
- if (planeGeometry) { planeGeometry.dispose() }
- if (blurPlane) { blurPlane.geometry.dispose() }
- renderTarget = new WebGLRenderTarget(props.resolution, props.resolution)
- renderTargetBlur = new WebGLRenderTarget(props.resolution, props.resolution)
- renderTargetBlur.texture.generateMipmaps = renderTarget.texture.generateMipmaps = false
-
- shadowCamera.value = new OrthographicCamera(
- -cameraW.value / 2,
- cameraW.value / 2,
- cameraH.value / 2,
- -cameraH.value / 2,
- 0,
- props.far,
- )
-
- planeGeometry = new PlaneGeometry(cameraW.value, cameraH.value).rotateX(Math.PI / 2)
- blurPlane = new Mesh(planeGeometry)
- blurPlane.visible = false
-})
+function blurShadow(
+ blur: number,
+ renderer: WebGLRenderer,
+ pool: ReturnType,
+) {
+ pool.blurPlane.visible = true
+ pool.blurPlane.material = pool.horizontalBlurMaterial
+ pool.horizontalBlurMaterial.uniforms.tDiffuse.value = pool.renderTarget.texture
+ pool.horizontalBlurMaterial.uniforms.h.value = blur / 256
-watchEffect(() => {
- if (props.color) {
- if (depthMaterial) { depthMaterial.dispose() }
- depthMaterial = new MeshDepthMaterial()
- depthMaterial.depthTest = depthMaterial.depthWrite = false
-
- // Overwrite depthMaterial sahders
- depthMaterial.onBeforeCompile = (shader) => {
- shader.uniforms = {
- ...shader.uniforms,
- ucolor: { value: props.color ? new Color(props.color as ColorRepresentation) : new Color() },
- }
- shader.fragmentShader = shader.fragmentShader.replace(
- 'void main() {', //
- `uniform vec3 ucolor;
- void main() {
- `,
- )
- shader.fragmentShader = shader.fragmentShader.replace(
- 'vec4( vec3( 1.0 - fragCoordZ ), opacity );',
- // Colorize the shadow, multiply by the falloff so that the center can remain darker
- 'vec4( ucolor * fragCoordZ * 2.0, ( 1.0 - fragCoordZ ) * 1.0 );',
- )
- }
- }
-})
-
-// make a plane and make it face up
-
-// Initialize the blur shaders
-const horizontalBlurMaterial = new ShaderMaterial(HorizontalBlurShader)
-const verticalBlurMaterial = new ShaderMaterial(VerticalBlurShader)
-verticalBlurMaterial.depthTest = horizontalBlurMaterial.depthTest = false
+ renderer.setRenderTarget(pool.renderTargetBlur)
+ renderer.render(pool.blurPlane, pool.shadowCamera)
-// Blur the shadow
+ pool.blurPlane.material = pool.verticalBlurMaterial
+ pool.verticalBlurMaterial.uniforms.tDiffuse.value = pool.renderTargetBlur.texture
+ pool.verticalBlurMaterial.uniforms.v.value = blur / 256
-function blurShadows(blur: number) {
- if (!renderer.value || !shadowCamera.value) { return }
+ renderer.setRenderTarget(pool.renderTarget)
+ renderer.render(pool.blurPlane, pool.shadowCamera)
- blurPlane.visible = true
- blurPlane.material = horizontalBlurMaterial
- horizontalBlurMaterial.uniforms.tDiffuse.value = renderTarget.texture
- horizontalBlurMaterial.uniforms.h.value = blur / 256
-
- renderer.value.setRenderTarget(renderTargetBlur)
- renderer.value.render(blurPlane, shadowCamera.value)
+ pool.blurPlane.visible = false
+}
- blurPlane.material = verticalBlurMaterial
- verticalBlurMaterial.uniforms.tDiffuse.value = renderTargetBlur.texture
- verticalBlurMaterial.uniforms.v.value = blur / 256
+function update(
+ ps: typeof props,
+ scene: Scene,
+ renderer: WebGLRenderer,
+ pool: ReturnType,
+) {
+ const {
+ renderTarget,
+ shadowCamera,
+ depthMaterial,
+ } = pool
+ const initialBackground = scene.background
+ scene.background = null
+
+ // NOTE: Force the depthMaterial to everything
+ scene.overrideMaterial = depthMaterial
+
+ // NOTE: Set renderer clear alpha
+ const initialClearAlpha = renderer.getClearAlpha()
+ renderer.setClearAlpha(0)
+
+ // NOTE: Render to the render target to get the depths
+ renderer.setRenderTarget(renderTarget)
+ renderer.render(scene, shadowCamera)
+
+ // NOTE: Reset the override material
+ scene.overrideMaterial = null
+
+ blurShadow(ps.blur, renderer, pool)
+
+ // NOTE: A second pass to reduce the artifacts
+ // (0.4 is the minimum blur amount so that the artifacts are gone)
+ if (ps.smooth) {
+ blurShadow(ps.blur * 0.4, renderer, pool)
+ }
- renderer.value.setRenderTarget(renderTarget)
- renderer.value.render(blurPlane, shadowCamera.value)
+ // NOTE: Reset and render the normal scene
+ renderer.setRenderTarget(null)
+ renderer.setClearAlpha(initialClearAlpha)
+ scene.background = initialBackground
+}
+function init(p: typeof props) {
+ const shadowGroup = new Group()
+
+ // NOTE: The render target that will show the shadows in the plane texture
+ const renderTarget = new WebGLRenderTarget(p.resolution, p.resolution)
+ renderTarget.texture.generateMipmaps = false
+
+ // NOTE: The render target that we will use to blur the first render target
+ const renderTargetBlur = new WebGLRenderTarget(p.resolution, p.resolution)
+ renderTargetBlur.texture.generateMipmaps = false
+
+ // NOTE: Make a plane and make it face up
+ const planeGeometry = new PlaneGeometry(p.width, p.height).rotateX(Math.PI / 2)
+ const planeMaterial = new MeshBasicMaterial({
+ map: renderTarget.texture,
+ opacity: p.opacity,
+ transparent: true,
+ depthWrite: p.depthWrite,
+ color: new Color((p.color as ColorRepresentation) ?? 'black'),
+ })
+ const plane = new Mesh(planeGeometry, planeMaterial)
+ shadowGroup.add(plane)
+
+ // NOTE: The y from the texture is flipped!
+ plane.scale.y = -1
+
+ // NOTE: The plane onto which to blur the texture
+ const blurPlane = new Mesh(planeGeometry)
blurPlane.visible = false
+ shadowGroup.add(blurPlane)
+
+ // NOTE: The camera to render the depth material from
+ const shadowCamera = new OrthographicCamera(-p.width / 2, p.width / 2, p.height / 2, -p.height / 2, 0, 0.3)
+ shadowCamera.rotation.x = Math.PI / 2 // get the camera to look up
+ shadowGroup.add(shadowCamera)
+
+ const depthMaterial = new MeshDepthMaterial()
+ const horizontalBlurMaterial = new ShaderMaterial(HorizontalBlurShader)
+ horizontalBlurMaterial.depthTest = false
+
+ const verticalBlurMaterial = new ShaderMaterial(VerticalBlurShader)
+ verticalBlurMaterial.depthTest = false
+
+ return {
+ renderTarget,
+ renderTargetBlur,
+ shadowCamera,
+ depthMaterial,
+ horizontalBlurMaterial,
+ verticalBlurMaterial,
+ shadowGroup,
+ plane,
+ blurPlane,
+ }
+};
+
+function setSize(ps: typeof props, pool: ReturnType) {
+ const shadowCamera = pool.shadowCamera
+ shadowCamera.left = -ps.width / 2
+ shadowCamera.right = ps.width / 2
+ shadowCamera.top = ps.height / 2
+ shadowCamera.bottom = -ps.height / 2
+ shadowCamera.far = ps.far
+
+ const w = ps.width * (Array.isArray(ps.scale) ? ps.scale[0] : (ps.scale || 1))
+ const h = ps.height * (Array.isArray(ps.scale) ? ps.scale[1] : (ps.scale || 1))
+ pool.shadowGroup.scale.set(w, ps.far, h)
}
-const { onLoop } = useRenderLoop()
-
-let count = 0
-let initialBackground: Color | Texture | null
-let initialOverrideMaterial: Material | null
+function setResolution(resolution: number, pool: ReturnType) {
+ pool.renderTarget.dispose()
+ pool.renderTargetBlur.dispose()
-onLoop(() => {
- if (!shadowCamera.value || scene.value === undefined || renderer.value === undefined) { return }
+ pool.renderTarget = new WebGLRenderTarget(resolution, resolution)
+ pool.renderTarget.texture.generateMipmaps = false
- if (props.frames === Number.POSITIVE_INFINITY || count < props.frames) {
- count++
+ pool.renderTargetBlur = new WebGLRenderTarget(resolution, resolution)
+ pool.renderTargetBlur.texture.generateMipmaps = false
- // Save the initial background and override material
- initialBackground = scene.value.background
- initialOverrideMaterial = scene.value.overrideMaterial
-
- // Render the shadows
- groupRef.value.visible = false
- scene.value.background = null
- scene.value.overrideMaterial = depthMaterial
+ pool.plane.material.map = pool.renderTarget.texture
+}
- renderer.value.setRenderTarget(renderTarget)
- renderer.value.render(scene.value, shadowCamera.value)
+function setColors(ps: typeof props, pool: ReturnType) {
+ pool.plane.material.color = new Color(ps.color as ColorRepresentation ?? 'black')
+
+ pool.depthMaterial.dispose()
+ pool.depthMaterial = new MeshDepthMaterial()
+ pool.depthMaterial.onBeforeCompile = function (shader) {
+ const tint = ps.tint ? new Color(ps.tint as ColorRepresentation) : new Color('white')
+ const { r, g, b } = tint
+ shader.fragmentShader = /* glsl */`
+ ${shader.fragmentShader.replace(
+ 'gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );',
+ `gl_FragColor = vec4( ${r}, ${g}, ${b}, ( 1.0 - fragCoordZ ) * opacity);`,
+ )}
+ `
+ }
+}
- // Blur the shadows
- blurShadows(props.blur)
+const { onBeforeRender } = useLoop()
+const pool = init(props)
- if (props.smooth) {
- blurShadows(props.blur * 0.4)
+let count = 0
+const updateOnNextRender = () => count = count >= props.frames ? props.frames - 1 : count
+onBeforeRender(
+ ({ renderer, scene, invalidate }) => {
+ if (count < props.frames) {
+ count++
+ update(props, scene, renderer, pool)
+ invalidate()
+ }
+ },
+)
+
+watch(() => [props.opacity, props.depthWrite, props.blur, props.smooth], () => {
+ pool.plane.material.opacity = props.opacity ?? 1
+ pool.plane.material.depthWrite = props.depthWrite ?? false
+ updateOnNextRender()
+}, { immediate: true })
+
+watch(() => [props.color, props.tint], () => {
+ setColors(props, pool)
+ updateOnNextRender()
+}, { immediate: true })
+
+watch(() => [props.resolution], () => { setResolution(props.resolution, pool); updateOnNextRender() })
+watch(() => [props.width, props.height, props.scale, props.far], () => { setSize(props, pool); updateOnNextRender() }, { immediate: true })
+
+onUnmounted(() => {
+ for (const obj of Object.values(pool)) {
+ if (obj && 'dispose' in obj && typeof obj.dispose === 'function') {
+ obj.dispose()
}
-
- // Restore the initial background and override material
- renderer.value.setRenderTarget(null)
-
- groupRef.value.visible = true
- scene.value.background = initialBackground
- scene.value.overrideMaterial = initialOverrideMaterial
}
})
+
+defineExpose({ instance: pool.shadowGroup })
-
-
-
-
-
-
-
-
-
+
diff --git a/src/core/staging/Fit.vue b/src/core/staging/Fit.vue
index 8c155082..7dc18cdf 100644
--- a/src/core/staging/Fit.vue
+++ b/src/core/staging/Fit.vue
@@ -2,6 +2,7 @@
import { nextTick, onMounted, shallowRef, watch } from 'vue'
import type { Object3D } from 'three'
import { Box3, Group, Vector3 } from 'three'
+import { useTresContext } from '@tresjs/core'
export interface Props {
/**
@@ -19,10 +20,15 @@ export interface Props {
precise?: boolean
}
-const props: Props = withDefaults(defineProps(), {
- into: () => new Box3(new Vector3(-0.5, -0.5, -0.5), new Vector3(0.5, 0.5, 0.5)),
- precise: false,
-})
+const props = withDefaults(
+ defineProps(),
+ {
+ into: () => new Box3(new Vector3(-0.5, -0.5, -0.5), new Vector3(0.5, 0.5, 0.5)),
+ precise: false,
+ },
+)
+
+const { invalidate } = useTresContext()
const middle = shallowRef(new Group())
const inner = shallowRef(new Group())
@@ -78,6 +84,8 @@ function fit(container: typeof props.into, precise: typeof props.precise) {
// of the "inner" THREE.Group).
middle.value.position.copy(childBoxCenter.sub(childBoxCenter.multiplyScalar(scale)))
}
+
+ invalidate()
}
function normalizeContainer(container: typeof props.into, precise: typeof props.precise): IntoPropNormalized {
diff --git a/src/core/staging/Ocean.vue b/src/core/staging/Ocean.vue
index 8e55926d..9ab00851 100644
--- a/src/core/staging/Ocean.vue
+++ b/src/core/staging/Ocean.vue
@@ -1,11 +1,11 @@
diff --git a/src/core/staging/Precipitation.vue b/src/core/staging/Precipitation.vue
index e23ae811..4c98f1de 100644
--- a/src/core/staging/Precipitation.vue
+++ b/src/core/staging/Precipitation.vue
@@ -1,7 +1,7 @@
-
+
// eslint-disable-file vue/attribute-hyphenation
import { MathUtils, Vector3 } from 'three'
-import { Sky as SkyImpl } from 'three/examples/jsm/objects/Sky'
-import { computed, shallowRef } from 'vue'
+import { Sky as SkyImpl } from 'three-stdlib'
+import { computed, shallowRef, watch } from 'vue'
+import { useTresContext } from '@tresjs/core'
export interface SkyProps {
/**
@@ -46,6 +47,10 @@ const props = withDefaults(defineProps(), {
distance: 450000,
})
+const { invalidate } = useTresContext()
+
+watch(props, () => invalidate())
+
const skyRef = shallowRef()
const skyImpl = new SkyImpl()
const sunPosition = computed(() =>
@@ -59,7 +64,7 @@ function getSunPosition(azimuth: number, elevation: number) {
}
defineExpose({
- root: skyRef,
+ instance: skyRef,
sunPosition: sunPosition.value,
})
diff --git a/src/core/staging/Smoke.vue b/src/core/staging/Smoke.vue
index a2ef64af..48e37647 100644
--- a/src/core/staging/Smoke.vue
+++ b/src/core/staging/Smoke.vue
@@ -1,7 +1,7 @@
diff --git a/src/core/staging/Sparkles/ShaderDataBuilder.ts b/src/core/staging/Sparkles/ShaderDataBuilder.ts
index 8f374019..2f4fce56 100644
--- a/src/core/staging/Sparkles/ShaderDataBuilder.ts
+++ b/src/core/staging/Sparkles/ShaderDataBuilder.ts
@@ -15,11 +15,11 @@ import {
ShaderDataEntryXyzGradient,
} from './ShaderData'
-const rgbaSuffixes = ['r', 'rg', 'rgb', 'rgba'] as const
-const xyzwSuffixes = ['x', 'xy', 'xyz', 'xyzw'] as const
+type rgbaSuffixes = ['r', 'rg', 'rgb', 'rgba']
+type xyzwSuffixes = ['x', 'xy', 'xyz', 'xyzw']
type ShaderSuffix =
- | (typeof rgbaSuffixes)[number]
- | (typeof xyzwSuffixes)[number]
+ | (rgbaSuffixes)[number]
+ | (xyzwSuffixes)[number]
export default class ShaderDataBuilder {
private entries: ShaderDataEntry[]
diff --git a/src/core/staging/Sparkles/component.vue b/src/core/staging/Sparkles/component.vue
index db77d56d..146d6cae 100644
--- a/src/core/staging/Sparkles/component.vue
+++ b/src/core/staging/Sparkles/component.vue
@@ -11,11 +11,10 @@ import {
Uniform,
Vector3,
} from 'three'
-import type { TresColor } from '@tresjs/core'
-import { useRenderLoop, useTexture, useTresContext } from '@tresjs/core'
+import type { TresColor, VectorFlexibleParams } from '@tresjs/core'
+import { useLoop, useTexture, useTresContext } from '@tresjs/core'
import type { Ref } from 'vue'
import { onMounted, onUnmounted, shallowRef, toRefs, watch } from 'vue'
-import type { VectorFlexibleParams } from '@tresjs/core/dist/utils/normalize'
import type { Gradient } from '../../../utils/Gradient'
import ShaderDataBuilder from './ShaderDataBuilder'
import useEmptyDataTexture from './useEmptyDataTexture'
@@ -356,12 +355,13 @@ watch(refs.map, () => {
const rotation = new Quaternion()
const normal = new Vector3()
-useRenderLoop().onLoop(({ elapsed }) => {
+useLoop().onBeforeRender(({ elapsed, invalidate }) => {
sparkles.getWorldQuaternion(rotation)
normal.copy(props.directionalLight ? props.directionalLight.position : Object3D.DEFAULT_UP).normalize()
normal.applyQuaternion(rotation.invert())
mat.uniforms.uNormal.value = normal
mat.uniforms.uTime.value = elapsed / (props.cooldownSec + props.lifetimeSec)
+ invalidate()
})
function isObject3D(o: any): o is Object3D {
@@ -400,11 +400,9 @@ onUnmounted(() => {
})
const sparkleRef = shallowRef()
+defineExpose({ instance: sparkles })
-
+
diff --git a/src/core/staging/Stars.vue b/src/core/staging/Stars.vue
index 5fad46d6..22fa8319 100644
--- a/src/core/staging/Stars.vue
+++ b/src/core/staging/Stars.vue
@@ -1,6 +1,7 @@
diff --git a/src/core/staging/useEnvironment/component.vue b/src/core/staging/useEnvironment/component.vue
index 727fe316..cb097fa0 100644
--- a/src/core/staging/useEnvironment/component.vue
+++ b/src/core/staging/useEnvironment/component.vue
@@ -3,7 +3,7 @@ import type { Ref } from 'vue'
import { onUnmounted, ref, toRaw, useSlots, watch } from 'vue'
import { CubeCamera, HalfFloatType, WebGLCubeRenderTarget } from 'three'
import type { CubeTexture, Texture } from 'three'
-import { useRenderLoop, useTresContext } from '@tresjs/core'
+import { useLoop, useTresContext } from '@tresjs/core'
import type { EnvironmentOptions } from './const'
import EnvSence from './envSence'
import { useEnvironment } from '.'
@@ -11,7 +11,7 @@ import { useEnvironment } from '.'
const props = withDefaults(defineProps(), {
background: false,
blur: 0,
- files: [],
+ files: () => [],
path: '',
preset: undefined,
resolution: 256,
@@ -25,26 +25,23 @@ defineExpose({ texture })
const { extend, renderer, scene } = useTresContext()
let slots = null as any
-const fbo = ref(null as null | WebGLCubeRenderTarget)
-let cubeCamera = null as null | CubeCamera
+const fbo = ref(null)
+let cubeCamera: CubeCamera | null = null
const envSence = ref(null)
-onUnmounted(() => {
- envSence.value?.destructor()
- fbo.value?.dispose()
-})
-const { onBeforeLoop } = useRenderLoop()
+
+const { onBeforeRender } = useLoop()
let count = 1
-onBeforeLoop(() => {
+onBeforeRender(() => {
if (cubeCamera && envSence.value && fbo.value) {
if (props.frames === Number.POSITIVE_INFINITY || count < props.frames) {
cubeCamera.update(renderer.value, toRaw(envSence.value.virtualScene))
count++
}
}
-})
-const useEnvironmentTexture = (await useEnvironment(props, fbo as any)).texture
-const setTextureEnvAndBG = (fbo: WebGLCubeRenderTarget) => {
+}, -1)
+const useEnvironmentTexture = await useEnvironment(props, fbo)
+const setTextureEnvAndBG = (fbo?: WebGLCubeRenderTarget) => {
if (fbo) {
scene.value.environment = fbo.texture
if (props.background) {
@@ -64,7 +61,7 @@ watch(useEnvironmentTexture, () => {
}
}, { immediate: true, deep: true })
-watch(useSlots().default, (value) => {
+watch(() => useSlots().default, (value) => {
if (value) {
slots = value
if (Array.isArray(slots) && slots.length > 0) {
@@ -82,7 +79,13 @@ watch(useSlots().default, (value) => {
fbo.value = null
setTextureEnvAndBG()
}, { immediate: true, deep: true })
-texture.value = useEnvironmentTexture
+
+texture.value = useEnvironmentTexture.value
+
+onUnmounted(() => {
+ envSence.value?.destructor()
+ fbo.value?.dispose()
+})
diff --git a/src/core/staging/useEnvironment/index.ts b/src/core/staging/useEnvironment/index.ts
index ee249837..0def6391 100644
--- a/src/core/staging/useEnvironment/index.ts
+++ b/src/core/staging/useEnvironment/index.ts
@@ -1,3 +1,4 @@
+import type { LoaderProto, TresLoader } from '@tresjs/core'
import { useLoader, useTresContext } from '@tresjs/core'
import type {
CubeTexture,
@@ -27,38 +28,43 @@ import { environmentPresets } from './const'
* preset = undefined,
* colorSpace = undefined,
* }
- * @return {*} {(Promise)}
+ * @return {*} {(Promise[>)}
*/
const PRESET_ROOT = 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/hdr/'
export async function useEnvironment(
options: Partial],
- fbo: Ref,
-): Promise {
- const { scene } = useTresContext()
+ fbo: Ref,
+): Promise[> {
+ const { scene, invalidate } = useTresContext()
const {
preset,
blur,
- files = [],
- path = '',
+ files = ref([]),
+ path = ref(''),
background,
} = toRefs(options)
- const texture: Ref] = ref()
+ watch(options, () => {
+ invalidate()
+ })
+
+ const texture: Ref = ref(null)
const isCubeMap = computed(() => Array.isArray((files as Ref).value))
- const loader = computed(() => isCubeMap.value ? CubeTextureLoader : RGBELoader)
+ const loader = computed(() => isCubeMap.value ? CubeTextureLoader as unknown as LoaderProto : RGBELoader as unknown as LoaderProto)
- const result = ref(null)
+ const result = ref()
- watch(() => [files, path], async ([_files, _path]: [Ref, Ref]) => {
- if (_files.value.length > 0 && !preset.value) {
+ watch([files, path], async ([files, path]) => {
+ if (!files) { return }
+ if (files.length > 0 && !preset?.value) {
try {
- result.value = await useLoader(
- unref(loader),
- isCubeMap.value ? [unref(_files)] : unref(_files),
+ result.value = await useLoader(
+ loader.value,
+ isCubeMap.value ? [...unref(files)] : unref(files),
(loader: any) => {
- if (_path.value) { loader.setPath(unref(_path)) }
+ if (path) { loader.setPath(unref(path)) }
/* if (colorSpace) loader.colorSpace = colorSpace */
},
)
@@ -68,48 +74,52 @@ export async function useEnvironment(
}
if (result.value) {
texture.value = isCubeMap.value ? result.value[0] : result.value
- texture.value.mapping = isCubeMap.value ? CubeReflectionMapping : EquirectangularReflectionMapping
+ if (texture.value) {
+ texture.value.mapping = isCubeMap.value ? CubeReflectionMapping : EquirectangularReflectionMapping
+ }
}
}
}, {
immediate: true,
})
- watch(() => texture.value, (value) => {
- if (scene.value) {
+ watch(texture, (value) => {
+ if (scene.value && value) {
scene.value.environment = value
}
}, {
immediate: true,
})
- watch(() => [background.value, texture.value], ([_background, _texture]) => {
+ watch([background, texture], ([background, texture]) => {
if (scene.value) {
- const bTexture = fbo?.value ? fbo.value.texture : _texture
- scene.value.background = _background ? bTexture : undefined as unknown as Texture
+ const bTexture = fbo?.value ? fbo.value.texture : texture
+ if (bTexture) {
+ scene.value.background = background ? bTexture as Texture : null
+ }
}
}, {
immediate: true,
})
watch(() => blur?.value, (value) => {
- if (scene.value) {
+ if (scene.value && value) {
scene.value.backgroundBlurriness = value
}
}, {
immediate: true,
})
- watch(preset, async (value) => {
+ watch(() => preset?.value, async (value) => {
if (value && value in environmentPresets) {
const _path = PRESET_ROOT
const _files = environmentPresets[value as unknown as keyof typeof environmentPresets]
try {
- result.value = await useLoader(
- RGBELoader,
+ result.value = await useLoader(
+ RGBELoader as unknown as LoaderProto,
_files,
- (loader: any) => {
+ (loader: TresLoader) => {
if (_path) { loader.setPath(_path) }
/* if (colorSpace) loader.colorSpace = colorSpace */
},
@@ -120,8 +130,11 @@ export async function useEnvironment(
}
if (result.value) {
texture.value = result.value
- texture.value.mapping = EquirectangularReflectionMapping
+ if (texture.value) {
+ texture.value.mapping = EquirectangularReflectionMapping
+ }
}
+ invalidate()
}
else if (value && !(value in environmentPresets)) {
throw new Error(`Preset must be one of: ${Object.keys(environmentPresets).join(', ')}`)
@@ -130,5 +143,5 @@ export async function useEnvironment(
immediate: true,
})
- return { texture }
+ return texture
}
diff --git a/src/utils/Gradient.ts b/src/utils/Gradient.ts
index c5549a12..eb1a1bb1 100644
--- a/src/utils/Gradient.ts
+++ b/src/utils/Gradient.ts
@@ -1,6 +1,5 @@
import { Color } from 'three'
-import type { TresColor } from '@tresjs/core'
-import type { VectorFlexibleParams } from '@tresjs/core/dist/utils/normalize'
+import type { TresColor, VectorFlexibleParams } from '@tresjs/core'
import { normalizeColor, normalizeVectorFlexibleParam } from '@tresjs/core'
export type Gradient = T | T[] | NormalizedGradient
diff --git a/vite.config.ts b/vite.config.ts
index 5562755c..886a5c64 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -3,7 +3,7 @@ import { defineConfig } from 'vite'
import banner from 'vite-plugin-banner'
import dts from 'vite-plugin-dts'
-import analyze from 'rollup-plugin-analyzer'
+/* import analyze from 'rollup-plugin-analyzer' */
/* import { visualizer } from 'rollup-plugin-visualizer' */
import { templateCompilerOptions } from '@tresjs/core'
@@ -31,8 +31,9 @@ export default defineConfig({
}),
glsl(),
banner({
- content: `/**\n * name: ${pkg.name}\n * version: v${pkg.version
- }\n * (c) ${new Date().getFullYear()}\n * description: ${pkg.description}\n * author: ${pkg.author}\n */`,
+ content: `/**\n * name: ${pkg.name}\n * version: v${
+ pkg.version
+ }\n * (c) ${new Date().getFullYear()}\n * description: ${pkg.description}\n * author: ${pkg.author}\n */`,
}),
],
build: {
@@ -47,14 +48,14 @@ export default defineConfig({
},
rollupOptions: {
plugins: [
- analyze(),
+ /* analyze(), */
/* visualizer({
gzipSize: true,
brotliSize: true,
open: true,
}), */
],
- external: ['three', 'vue', '@tresjs/core', 'tweakpane', '@tweakpane/core', '@tweakpane/plugin-essentials'],
+ external: ['three', 'vue', '@tresjs/core'],
output: {
exports: 'named',
// Provide global variables to use in the UMD build
@@ -68,6 +69,6 @@ export default defineConfig({
},
},
optimizeDeps: {
- exclude: ['three', 'vue', '@tresjs/core', 'tweakpane', '@tweakpane/core', '@tweakpane/plugin-essentials'],
+ exclude: ['three', 'vue', '@tresjs/core'],
},
})