-
Compare Products
-
- {bikes.map((bike) => (
-
b.bike_id === bike.bike_id)
- ? "border-blue-500"
- : ""
- }`}
- onClick={() => handleSelectBike(bike)}
- >
-
-
{bike.name}
-
- ))}
+
+
+
Compare bikes
+
+ Pick {MIN_COMPARE}–{MAX_COMPARE} bikes, then open the 3D comparison view.
+
+
+
+ {selectedBikes.length === 0
+ ? `Nothing selected`
+ : `${selectedBikes.length} selected${slotsLeft > 0 ? ` · ${slotsLeft} more allowed` : ' · maximum'}`}
+
- {selectedBikes.length > 0 && (
-
-
-
- Feature
- {selectedBikes.map((bike) => (
-
- {bike.name}
-
- ))}
-
-
-
-
- Price
- {selectedBikes.map((bike) => (
-
- ${bike.sell_price}
-
- ))}
-
-
-
- Rental Rate
-
- {selectedBikes.map((bike) => (
-
- ${bike.rental_rate}/day
-
- ))}
-
-
-
- In Stock
-
- {selectedBikes.map((bike) => (
-
- {bike.amount_stocked}
-
- ))}
-
-
-
- )}
+
+ {bikes.map((bike) => {
+ const isSelected = selectedBikes.some((b) => b.bike_id === bike.bike_id);
+ return (
+
handleSelectBike(bike)}
+ aria-pressed={isSelected}
+ className={[
+ "p-4 border rounded-lg text-left transition-colors bg-surface",
+ isSelected
+ ? "border-btn-primary ring-2 ring-btn-primary/30"
+ : "border-border hover:border-border-hover",
+ ].join(" ")}
+ >
+
+ {bike.name}
+
+ );
+ })}
+
+
+
+
+ {canCompare
+ ? `Ready to compare ${selectedBikes.length} bikes side-by-side in 3D.`
+ : `Select at least ${MIN_COMPARE} bikes to enable the 3D comparison.`}
+
+
+ Compare these in 3D →
+
+
);
};
-export default ProductComparison;
\ No newline at end of file
+export default ProductComparison;
diff --git a/components/shop/configurator/BikeViewer.tsx b/components/shop/configurator/BikeViewer.tsx
new file mode 100644
index 0000000..5550522
--- /dev/null
+++ b/components/shop/configurator/BikeViewer.tsx
@@ -0,0 +1,244 @@
+'use client'
+
+import { Component, ReactNode, Suspense, useMemo } from 'react'
+import { Canvas } from '@react-three/fiber'
+import { OrbitControls, useGLTF } from '@react-three/drei'
+import { Vector3, Quaternion, Group } from 'three'
+import type { Bike } from '@/utils/getBike'
+import { getBikeDimensions, type BikeDimensions, type BikeViewerTransform } from './dimensions'
+import SyncedCamera from './SyncedCamera'
+import type { CompareSlot } from './CompareSyncContext'
+
+const FRAME_COLOR = '#3f3f46'
+const WHEEL_COLOR = '#18181b'
+const DEFAULT_ACCENT = '#16a34a'
+const TUBE_RADIUS = 0.022
+
+interface BikeViewerProps {
+ bike: Bike
+ accentColor?: string
+ className?: string
+ /** When provided, this viewer participates in a CompareSyncProvider's camera sync. */
+ syncSlot?: CompareSlot
+}
+
+export default function BikeViewer({ bike, accentColor, className, syncSlot }: BikeViewerProps) {
+ const dims = getBikeDimensions(bike.bike_id)
+ const accent = accentColor ?? dims.accentColor ?? DEFAULT_ACCENT
+
+ return (
+
+
}>
+
+
+
+
+
+ {/*
+ * Two render paths:
+ * - modelUrl set → GltfBike suspends on download; PrimitiveBike is the Suspense fallback.
+ * - no modelUrl → render PrimitiveBike directly (no suspension).
+ * The primitive is always available, so users never see a spinner inside the canvas.
+ */}
+ }>
+ {dims.modelUrl ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+
+ {syncSlot && }
+
+
+
+ )
+}
+
+/**
+ * Loads a glTF/glb from a /public URL and renders it. Applies the per-bike
+ * transform (scale/rotation/position) so CAD exports in mm + Z-up land
+ * correctly in the metre + Y-up scene.
+ *
+ * useGLTF caches by URL, but the parsed scene is shared — if we mounted this
+ * twice on /compare we'd be mutating the same Group. So we clone per instance.
+ */
+function GltfBike({ url, transform }: { url: string; transform?: BikeViewerTransform }) {
+ const { scene } = useGLTF(url)
+ const cloned = useMemo(() => scene.clone(true), [scene])
+
+ const scale = transform?.scale ?? 1
+ const rotation = transform?.rotation ?? [0, 0, 0]
+ const position = transform?.position ?? [0, 0, 0]
+
+ useMemo(() => {
+ cloned.traverse((obj) => {
+ if ('castShadow' in obj) (obj as any).castShadow = true
+ if ('receiveShadow' in obj) (obj as any).receiveShadow = true
+ })
+ }, [cloned])
+
+ return (
+
+
+
+ )
+}
+
+export function PrimitiveBike({
+ dimensions,
+ accentColor,
+}: {
+ dimensions: BikeDimensions
+ accentColor: string
+}) {
+ const { wheelRadiusM: r, wheelbaseM: wb, frameHeightM: fh } = dimensions
+
+ const points = useMemo(() => {
+ const frontHub: [number, number, number] = [+wb / 2, r, 0]
+ const rearHub: [number, number, number] = [-wb / 2, r, 0]
+ const bottomBracket: [number, number, number] = [-0.05, r, 0]
+ const headTubeTop: [number, number, number] = [+wb / 2 - 0.18, r + fh * 0.75, 0]
+ const seatTubeTop: [number, number, number] = [-0.20, r + fh, 0]
+ const saddle: [number, number, number] = [-0.28, r + fh + 0.08, 0]
+ const handlebars: [number, number, number] = [headTubeTop[0] + 0.04, headTubeTop[1] + 0.10, 0]
+ return { frontHub, rearHub, bottomBracket, headTubeTop, seatTubeTop, saddle, handlebars }
+ }, [r, wb, fh])
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+function Wheel({
+ position,
+ radius,
+}: {
+ position: [number, number, number]
+ radius: number
+}) {
+ return (
+
+
+
+
+ )
+}
+
+function Tube({
+ from,
+ to,
+ radius = TUBE_RADIUS,
+ color = FRAME_COLOR,
+}: {
+ from: [number, number, number]
+ to: [number, number, number]
+ radius?: number
+ color?: string
+}) {
+ const { position, quaternion, length } = useMemo(() => {
+ const start = new Vector3(...from)
+ const end = new Vector3(...to)
+ const dir = end.clone().sub(start)
+ const len = dir.length()
+ const mid = start.clone().add(end).multiplyScalar(0.5)
+ const q = new Quaternion().setFromUnitVectors(
+ new Vector3(0, 1, 0),
+ dir.normalize(),
+ )
+ return { position: mid.toArray() as [number, number, number], quaternion: q, length: len }
+ }, [from, to])
+
+ return (
+
+
+
+
+ )
+}
+
+/**
+ * Catches render errors from the
subtree — most importantly WebGL
+ * context creation failure (no GPU, sandboxed iframe, driver crash). Error
+ * Boundaries must be class components; React has no hooks equivalent.
+ */
+class BikeViewerErrorBoundary extends Component<
+ { children: ReactNode; fallback: ReactNode },
+ { hasError: boolean }
+> {
+ state = { hasError: false }
+
+ static getDerivedStateFromError() {
+ return { hasError: true }
+ }
+
+ componentDidCatch(error: Error) {
+ console.warn('BikeViewer falling back to static image:', error.message)
+ }
+
+ render() {
+ return this.state.hasError ? this.props.fallback : this.props.children
+ }
+}
+
+function StaticBikeFallback({ bike }: { bike: Bike }) {
+ return (
+
+ {bike.image ? (
+ // eslint-disable-next-line @next/next/no-img-element
+
+ ) : (
+
3D preview unavailable
+ )}
+
+ )
+}
diff --git a/components/shop/configurator/BikeViewerSkeleton.tsx b/components/shop/configurator/BikeViewerSkeleton.tsx
new file mode 100644
index 0000000..4c07136
--- /dev/null
+++ b/components/shop/configurator/BikeViewerSkeleton.tsx
@@ -0,0 +1,18 @@
+/**
+ * Skeleton shown by `next/dynamic` while the BikeViewer chunk (three.js +
+ * R3F, ~600KB) downloads on the client. Once the Canvas mounts, the
+ * Suspense fallback inside BikeViewer takes over — see PrimitiveBike.
+ */
+export default function BikeViewerSkeleton() {
+ return (
+
+
+ Loading 3D view…
+
+
+ )
+}
diff --git a/components/shop/configurator/CompareContent.tsx b/components/shop/configurator/CompareContent.tsx
new file mode 100644
index 0000000..01fef2f
--- /dev/null
+++ b/components/shop/configurator/CompareContent.tsx
@@ -0,0 +1,181 @@
+'use client'
+
+import dynamic from 'next/dynamic'
+import Link from 'next/link'
+import type { Bike } from '@/utils/getBike'
+import BikeViewerSkeleton from './BikeViewerSkeleton'
+import { CompareSyncProvider, useCompareSync, type CompareSlot } from './CompareSyncContext'
+
+const BikeViewer = dynamic(() => import('./BikeViewer'), {
+ ssr: false,
+ loading: () => ,
+})
+
+const SLOTS: readonly CompareSlot[] = ['A', 'B', 'C']
+
+interface CompareContentProps {
+ bikes: Bike[]
+}
+
+export default function CompareContent({ bikes }: CompareContentProps) {
+ const count = bikes.length
+ const gridClass =
+ count === 3
+ ? 'grid grid-cols-1 lg:grid-cols-3 gap-4'
+ : 'grid grid-cols-1 lg:grid-cols-2 gap-4'
+
+ return (
+
+
+
+
+
+ {bikes.map((bike, i) => (
+
+ ))}
+
+
+
+
+
+ )
+}
+
+function SyncToggleButton() {
+ const sync = useCompareSync()
+ if (!sync) return null
+ const { synced, toggle } = sync
+ return (
+
+
+ Sync cameras: {synced ? 'on' : 'off'}
+
+ )
+}
+
+function LinkIcon({ broken }: { broken: boolean }) {
+ if (broken) {
+ return (
+
+
+
+
+
+ )
+ }
+ return (
+
+
+
+
+ )
+}
+
+function ComparePane({ bike, slot }: { bike: Bike; slot: CompareSlot }) {
+ const slotStyles: Record = {
+ A: 'bg-status-success text-status-success-text',
+ B: 'bg-status-warning text-status-warning-text',
+ C: 'bg-status-info text-status-info-text',
+ }
+
+ return (
+
+
+
+
+
+ {slot}
+
+ {bike.name}
+
+
+
+
+
Sell price
+
+ CA ${bike.sell_price?.toFixed(2) ?? '—'}
+
+
+
+ Rental: CA ${bike.rental_rate?.toFixed(2) ?? '—'}/hr · {bike.amount_stocked} in stock
+
+
+
+ )
+}
+
+function SpecComparisonTable({ bikes }: { bikes: Bike[] }) {
+ const tableColsClass =
+ bikes.length === 3
+ ? 'grid-cols-[1fr_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)]'
+ : 'grid-cols-[1fr_minmax(0,1fr)_minmax(0,1fr)]'
+
+ const rows: Array<{ label: string; values: string[] }> = [
+ { label: 'Sell price', values: bikes.map((b) => `CA $${b.sell_price?.toFixed(2) ?? '—'}`) },
+ { label: 'Rental rate', values: bikes.map((b) => `CA $${b.rental_rate?.toFixed(2) ?? '—'}/hr`) },
+ { label: 'In stock', values: bikes.map((b) => String(b.amount_stocked)) },
+ { label: 'Damage rate', values: bikes.map((b) => `CA $${b.damage_rate?.toFixed(2) ?? '—'}`) },
+ { label: 'Available for rent', values: bikes.map((b) => (b.for_rent ? 'Yes' : 'No')) },
+ ]
+
+ return (
+
+ Side-by-side specs
+
+
+ Feature
+
+ {bikes.map((b, i) => (
+
+ {SLOTS[i]} · {b.name}
+
+ ))}
+ {rows.map((row) => (
+
+ ))}
+
+
+ )
+}
+
+function ComparisonRow({ label, values }: { label: string; values: string[] }) {
+ return (
+ <>
+ {label}
+ {values.map((v, i) => (
+
+ {v}
+
+ ))}
+ >
+ )
+}
diff --git a/components/shop/configurator/CompareSyncContext.tsx b/components/shop/configurator/CompareSyncContext.tsx
new file mode 100644
index 0000000..f4ca144
--- /dev/null
+++ b/components/shop/configurator/CompareSyncContext.tsx
@@ -0,0 +1,46 @@
+'use client'
+
+import { createContext, useCallback, useContext, useMemo, useState, type ReactNode } from 'react'
+
+export type CompareSlot = 'A' | 'B' | 'C'
+
+export interface CameraState {
+ position: [number, number, number]
+ target: [number, number, number]
+ origin: CompareSlot
+ rev: number
+}
+
+interface CompareSyncValue {
+ synced: boolean
+ cameraState: CameraState | null
+ toggle: () => void
+ push: (state: { position: [number, number, number]; target: [number, number, number]; origin: CompareSlot }) => void
+}
+
+const CompareSyncContext = createContext(null)
+
+export function CompareSyncProvider({ children }: { children: ReactNode }) {
+ const [synced, setSynced] = useState(false)
+ const [cameraState, setCameraState] = useState(null)
+
+ const toggle = useCallback(() => setSynced((s) => !s), [])
+
+ const push = useCallback(
+ (state: { position: [number, number, number]; target: [number, number, number]; origin: CompareSlot }) => {
+ setCameraState((prev) => ({ ...state, rev: (prev?.rev ?? 0) + 1 }))
+ },
+ [],
+ )
+
+ const value = useMemo(
+ () => ({ synced, cameraState, toggle, push }),
+ [synced, cameraState, toggle, push],
+ )
+
+ return {children}
+}
+
+export function useCompareSync(): CompareSyncValue | null {
+ return useContext(CompareSyncContext)
+}
diff --git a/components/shop/configurator/CompareWithPicker.tsx b/components/shop/configurator/CompareWithPicker.tsx
new file mode 100644
index 0000000..7e2fb62
--- /dev/null
+++ b/components/shop/configurator/CompareWithPicker.tsx
@@ -0,0 +1,75 @@
+'use client'
+
+import { useEffect, useState } from 'react'
+import { useRouter } from 'next/navigation'
+import { createClient } from '@/utils/supabase/client'
+import type { Bike } from '@/utils/getBike'
+
+interface CompareWithPickerProps {
+ currentBike: Bike
+}
+
+export default function CompareWithPicker({ currentBike }: CompareWithPickerProps) {
+ const router = useRouter()
+ const [bikes, setBikes] = useState([])
+ const [selected, setSelected] = useState('')
+ const [loading, setLoading] = useState(true)
+
+ useEffect(() => {
+ let mounted = true
+ const supabase = createClient()
+ supabase
+ .from('bikes')
+ .select('*')
+ .then(({ data, error }) => {
+ if (!mounted) return
+ setLoading(false)
+ if (error || !data) return
+ setBikes((data as Bike[]).filter((b) => b.bike_id !== currentBike.bike_id))
+ })
+ return () => {
+ mounted = false
+ }
+ }, [currentBike.bike_id])
+
+ if (loading || bikes.length === 0) return null
+
+ const handleCompare = () => {
+ if (!selected) return
+ router.push(`/compare?bikes=${currentBike.bike_id},${selected}`)
+ }
+
+ return (
+
+
+
Compare in 3D
+
+ See {currentBike.name} side-by-side with another bike, with synced cameras.
+
+
+
+ setSelected(e.target.value)}
+ aria-label="Bike to compare with"
+ className="flex-1 px-3 py-2 rounded-md border border-border bg-surface text-text-primary text-sm focus:outline-none focus:ring-2 focus:ring-border-focus focus:border-border-focus"
+ >
+ Pick a bike…
+ {bikes.map((b) => (
+
+ {b.name}
+
+ ))}
+
+
+ Compare →
+
+
+
+ )
+}
diff --git a/components/shop/configurator/SyncedCamera.tsx b/components/shop/configurator/SyncedCamera.tsx
new file mode 100644
index 0000000..b9ebe89
--- /dev/null
+++ b/components/shop/configurator/SyncedCamera.tsx
@@ -0,0 +1,67 @@
+'use client'
+
+import { useEffect, useRef } from 'react'
+import { useThree } from '@react-three/fiber'
+import { useCompareSync, type CompareSlot } from './CompareSyncContext'
+
+interface SyncedCameraProps {
+ slot: CompareSlot
+}
+
+type ControlsLike = {
+ target: { x: number; y: number; z: number; set: (x: number, y: number, z: number) => void }
+ update: () => void
+ addEventListener: (e: 'change', fn: () => void) => void
+ removeEventListener: (e: 'change', fn: () => void) => void
+}
+
+export default function SyncedCamera({ slot }: SyncedCameraProps) {
+ const sync = useCompareSync()
+ const camera = useThree((s) => s.camera)
+ const controls = useThree((s) => s.controls) as ControlsLike | null
+
+ const suppressUntilRef = useRef(0)
+ const syncedRef = useRef(false)
+ syncedRef.current = sync?.synced ?? false
+
+ // When sync flips ON and we're slot A, publish current state so B snaps to it.
+ useEffect(() => {
+ if (!sync?.synced || slot !== 'A' || !controls) return
+ sync.push({
+ position: [camera.position.x, camera.position.y, camera.position.z],
+ target: [controls.target.x, controls.target.y, controls.target.z],
+ origin: 'A',
+ })
+ // Only fire on the sync transition; intentionally omit camera/controls deps.
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [sync?.synced, slot])
+
+ // Apply incoming state from the other slot.
+ useEffect(() => {
+ if (!sync?.synced || !sync.cameraState || sync.cameraState.origin === slot || !controls) return
+ suppressUntilRef.current = performance.now() + 100
+ const [px, py, pz] = sync.cameraState.position
+ const [tx, ty, tz] = sync.cameraState.target
+ camera.position.set(px, py, pz)
+ controls.target.set(tx, ty, tz)
+ controls.update()
+ }, [sync?.cameraState, sync?.synced, slot, controls, camera])
+
+ // Publish our state on OrbitControls 'change' (when sync is on, ignoring programmatic echoes).
+ useEffect(() => {
+ if (!controls || !sync) return
+ const handler = () => {
+ if (performance.now() < suppressUntilRef.current) return
+ if (!syncedRef.current) return
+ sync.push({
+ position: [camera.position.x, camera.position.y, camera.position.z],
+ target: [controls.target.x, controls.target.y, controls.target.z],
+ origin: slot,
+ })
+ }
+ controls.addEventListener('change', handler)
+ return () => controls.removeEventListener('change', handler)
+ }, [controls, sync, slot, camera])
+
+ return null
+}
diff --git a/components/shop/configurator/dimensions.ts b/components/shop/configurator/dimensions.ts
new file mode 100644
index 0000000..c5360db
--- /dev/null
+++ b/components/shop/configurator/dimensions.ts
@@ -0,0 +1,67 @@
+/**
+ * Per-bike 3D viewer config for the BikeViewer.
+ *
+ * v1: hardcoded mapping by bike_id. The bikes table doesn't carry geometry
+ * data yet — once we add a `dimensions` JSONB column to the `bikes` table
+ * (or a sibling `bike_3d_configs` table), this lookup becomes a fallback for
+ * bikes that don't have geometry rows.
+ *
+ * Two render paths:
+ * - If `modelUrl` is set, BikeViewer loads the .glb via useGLTF and uses
+ * the primitive (built from wheelRadius/wheelbase/frameHeight) as the
+ * Suspense fallback while it downloads.
+ * - If `modelUrl` is undefined, BikeViewer renders the primitive directly.
+ *
+ * `transform` is a normalization layer applied to the loaded glTF scene so
+ * the file from the mech team's CAD export lands correctly in our scene:
+ * - scale: uniform multiplier. STEP exports are usually in mm → set 0.001
+ * to convert to metres. Tools that export in metres can leave this 1.
+ * - rotation: [x, y, z] in radians. CAD is usually Z-up; three.js is Y-up,
+ * so a [-Math.PI / 2, 0, 0] rotation is the typical fix-up.
+ * - position: [x, y, z] offset after scale + rotation. Use to centre the
+ * bike at world origin with wheels touching y = 0.
+ *
+ * All measurements are in metres. Defaults approximate a typical commuter
+ * bike (wheelbase ~1m, 700c wheels).
+ */
+
+export interface BikeViewerTransform {
+ /** Uniform scale multiplier applied to the loaded glTF scene. */
+ scale?: number
+ /** Rotation in radians, applied after scale. CAD Z-up → R3F Y-up usually wants [-Math.PI/2, 0, 0]. */
+ rotation?: [number, number, number]
+ /** Position offset applied after scale + rotation. Use to ground the bike at y=0 and centre it. */
+ position?: [number, number, number]
+}
+
+export interface BikeDimensions {
+ wheelRadiusM: number
+ wheelbaseM: number
+ /** Distance from rear-hub height to the top of the seat tube. */
+ frameHeightM: number
+ /** Brand accent for the saddle + handlebars; falls back to the page accent. */
+ accentColor?: string
+ /** Path to a glTF/glb file under /public. When set, BikeViewer renders the model with the primitive as Suspense fallback. */
+ modelUrl?: string
+ /** Normalization applied to the loaded glTF scene. Only used when modelUrl is set. */
+ transform?: BikeViewerTransform
+}
+
+export const DEFAULT_BIKE_DIMENSIONS: BikeDimensions = {
+ wheelRadiusM: 0.34,
+ wheelbaseM: 1.05,
+ frameHeightM: 0.62,
+}
+
+const PER_BIKE: Record = {
+ // bike_id 1 — "Electric Mountain Bike" (sample seed)
+ 1: { wheelRadiusM: 0.36, wheelbaseM: 1.15, frameHeightM: 0.66 },
+ // bike_id 2 — "Electric City Bike"
+ 2: { wheelRadiusM: 0.34, wheelbaseM: 1.05, frameHeightM: 0.60 },
+ // bike_id 3 — "Electric Road Bike"
+ 3: { wheelRadiusM: 0.34, wheelbaseM: 1.00, frameHeightM: 0.58 },
+}
+
+export function getBikeDimensions(bikeId: number): BikeDimensions {
+ return PER_BIKE[bikeId] ?? DEFAULT_BIKE_DIMENSIONS
+}
diff --git a/package.json b/package.json
index 2f9fbb7..a190df5 100644
--- a/package.json
+++ b/package.json
@@ -11,16 +11,19 @@
"@paypal/paypal-js": "^8.2.0",
"@paypal/react-paypal-js": "^8.8.3",
"@playwright/test": "^1.55.1",
+ "@react-three/drei": "^9.122.0",
+ "@react-three/fiber": "^8.18.0",
"@stripe/react-stripe-js": "^3.7.0",
"@stripe/stripe-js": "^7.3.1",
"@supabase/ssr": "^0.5.2",
"@supabase/supabase-js": "latest",
+ "@types/three": "^0.184.1",
"autoprefixer": "10.4.17",
"countries-list": "^3.1.1",
"geist": "^1.2.1",
"install": "^0.13.0",
"lucide-react": "^0.525.0",
- "next": "latest",
+ "next": "^14.2.15",
"nodemailer": "^7.0.3",
"npm": "^10.8.2",
"postcss": "8.4.33",
@@ -35,6 +38,7 @@
"stripe": "^18.1.0",
"tailwindcss": "3.4.1",
"tailwindcss-animate": "^1.0.7",
+ "three": "^0.169.0",
"to-regex-range": "^5.0.1",
"typescript": "5.3.3",
"zod": "^3.24.1"
diff --git a/yarn.lock b/yarn.lock
index 881efb0..2d685b9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -57,6 +57,11 @@
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.3.tgz"
integrity sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==
+"@babel/runtime@^7.17.8", "@babel/runtime@^7.26.0":
+ version "7.29.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.2.tgz#9a6e2d05f4b6692e1801cd4fb176ad823930ed5e"
+ integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==
+
"@babel/template@^7.27.2":
version "7.27.2"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
@@ -87,6 +92,11 @@
"@babel/helper-string-parser" "^7.27.1"
"@babel/helper-validator-identifier" "^7.27.1"
+"@dimforge/rapier3d-compat@~0.12.0":
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz#7b3365e1dfdc5cd957b45afe920b4ac06c7cd389"
+ integrity sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==
+
"@emnapi/runtime@^1.2.0":
version "1.2.0"
resolved "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz"
@@ -236,16 +246,16 @@
resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz"
integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==
-"@img/sharp-libvips-linux-arm@1.0.5":
- version "1.0.5"
- resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz"
- integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==
-
"@img/sharp-libvips-linux-arm64@1.0.4":
version "1.0.4"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz"
integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==
+"@img/sharp-libvips-linux-arm@1.0.5":
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz"
+ integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==
+
"@img/sharp-libvips-linux-s390x@1.0.4":
version "1.0.4"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz"
@@ -266,13 +276,6 @@
resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz"
integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==
-"@img/sharp-linux-arm@0.33.5":
- version "0.33.5"
- resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz"
- integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==
- optionalDependencies:
- "@img/sharp-libvips-linux-arm" "1.0.5"
-
"@img/sharp-linux-arm64@0.33.5":
version "0.33.5"
resolved "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz"
@@ -280,6 +283,13 @@
optionalDependencies:
"@img/sharp-libvips-linux-arm64" "1.0.4"
+"@img/sharp-linux-arm@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz"
+ integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==
+ optionalDependencies:
+ "@img/sharp-libvips-linux-arm" "1.0.5"
+
"@img/sharp-linux-s390x@0.33.5":
version "0.33.5"
resolved "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz"
@@ -325,18 +335,6 @@
resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz"
integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==
-"@isaacs/balanced-match@^4.0.1":
- version "4.0.1"
- resolved "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz"
- integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==
-
-"@isaacs/brace-expansion@^5.0.0":
- version "5.0.0"
- resolved "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz"
- integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==
- dependencies:
- "@isaacs/balanced-match" "^4.0.1"
-
"@isaacs/cliui@^8.0.2":
version "8.0.2"
resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
@@ -393,55 +391,67 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@next/env@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/env/-/env-14.2.15.tgz"
- integrity sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==
-
-"@next/swc-darwin-arm64@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.15.tgz"
- integrity sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==
-
-"@next/swc-darwin-x64@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.15.tgz"
- integrity sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==
-
-"@next/swc-linux-arm64-gnu@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.15.tgz"
- integrity sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==
-
-"@next/swc-linux-arm64-musl@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.15.tgz"
- integrity sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==
-
-"@next/swc-linux-x64-gnu@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.15.tgz"
- integrity sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==
-
-"@next/swc-linux-x64-musl@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.15.tgz"
- integrity sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==
-
-"@next/swc-win32-arm64-msvc@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.15.tgz"
- integrity sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==
-
-"@next/swc-win32-ia32-msvc@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.15.tgz"
- integrity sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==
-
-"@next/swc-win32-x64-msvc@14.2.15":
- version "14.2.15"
- resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.15.tgz"
- integrity sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==
+"@mediapipe/tasks-vision@0.10.17":
+ version "0.10.17"
+ resolved "https://registry.yarnpkg.com/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz#2c1c73ed81902b21d37336a587b96183bb6882d5"
+ integrity sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==
+
+"@monogrid/gainmap-js@^3.0.6":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz#9788a92d34530d3da274fef8d3445d008c640c48"
+ integrity sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==
+ dependencies:
+ promise-worker-transferable "^1.0.4"
+
+"@next/env@14.2.35":
+ version "14.2.35"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.35.tgz#e979016d0ca8500a47d41ffd02625fe29b8df35a"
+ integrity sha512-DuhvCtj4t9Gwrx80dmz2F4t/zKQ4ktN8WrMwOuVzkJfBilwAwGr6v16M5eI8yCuZ63H9TTuEU09Iu2HqkzFPVQ==
+
+"@next/swc-darwin-arm64@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz#9e74a4223f1e5e39ca4f9f85709e0d95b869b298"
+ integrity sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==
+
+"@next/swc-darwin-x64@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz#fcf0c45938da9b0cc2ec86357d6aefca90bd17f3"
+ integrity sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==
+
+"@next/swc-linux-arm64-gnu@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz#837f91a740eb4420c06f34c4677645315479d9be"
+ integrity sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==
+
+"@next/swc-linux-arm64-musl@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz#dc8903469e5c887b25e3c2217a048bd30c58d3d4"
+ integrity sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==
+
+"@next/swc-linux-x64-gnu@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz#344438be592b6b28cc540194274561e41f9933e5"
+ integrity sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==
+
+"@next/swc-linux-x64-musl@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz#3379fad5e0181000b2a4fac0b80f7ca4ffe795c8"
+ integrity sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==
+
+"@next/swc-win32-arm64-msvc@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz#bca8f4dde34656aef8e99f1e5696de255c2f00e5"
+ integrity sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==
+
+"@next/swc-win32-ia32-msvc@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz#a69c581483ea51dd3b8907ce33bb101fe07ec1df"
+ integrity sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==
+
+"@next/swc-win32-x64-msvc@14.2.33":
+ version "14.2.33"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz#f1a40062530c17c35a86d8c430b3ae465eb7cea1"
+ integrity sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@@ -451,7 +461,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -466,6 +476,8 @@
"@npmcli/agent@^2.0.0":
version "2.2.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/agent/-/agent-2.2.2.tgz#967604918e62f620a648c7975461c9c9e74fc5d5"
+ integrity sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==
dependencies:
agent-base "^7.1.0"
http-proxy-agent "^7.0.0"
@@ -541,6 +553,8 @@
"@npmcli/fs@^3.1.0":
version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726"
+ integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==
dependencies:
semver "^7.3.5"
@@ -575,7 +589,9 @@
npm-normalize-package-bin "^4.0.0"
"@npmcli/map-workspaces@^4.0.1":
- version "4.0.1"
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-4.0.2.tgz#d02c5508bf55624f60aaa58fe413748a5c773802"
+ integrity sha512-mnuMuibEbkaBTYj9HQ3dMe6L0ylYW+s/gfz7tBDMFY/la0w9Kf44P9aLn4/+/t3aTR3YUHKoT6XQL9rlicIe3Q==
dependencies:
"@npmcli/name-from-folder" "^3.0.0"
"@npmcli/package-json" "^6.0.0"
@@ -583,11 +599,13 @@
minimatch "^9.0.0"
"@npmcli/metavuln-calculator@^8.0.0":
- version "8.0.0"
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-8.0.1.tgz#c14307a1f0e43524e7ae833d1787c2e0425a9f44"
+ integrity sha512-WXlJx9cz3CfHSt9W9Opi1PTFc4WZLFomm5O8wekxQZmkyljrBRwATwDxfC9iOXJwYVmfiW1C1dUe0W2aN0UrSg==
dependencies:
cacache "^19.0.0"
json-parse-even-better-errors "^4.0.0"
- pacote "^19.0.0"
+ pacote "^20.0.0"
proc-log "^5.0.0"
semver "^7.3.5"
@@ -602,18 +620,22 @@
integrity sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==
"@npmcli/package-json@^6.0.0", "@npmcli/package-json@^6.0.1":
- version "6.0.1"
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-6.2.0.tgz#7c7e61e466eefdf729cb87a34c3adc15d76e2f97"
+ integrity sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==
dependencies:
"@npmcli/git" "^6.0.0"
glob "^10.2.2"
hosted-git-info "^8.0.0"
json-parse-even-better-errors "^4.0.0"
- normalize-package-data "^7.0.0"
proc-log "^5.0.0"
semver "^7.5.3"
+ validate-npm-package-license "^3.0.4"
"@npmcli/promise-spawn@^8.0.0", "@npmcli/promise-spawn@^8.0.1":
- version "8.0.1"
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-8.0.3.tgz#08c5e4c1cab7ff848e442e4b19bbf0ee699d133f"
+ integrity sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==
dependencies:
which "^5.0.0"
@@ -630,12 +652,14 @@
integrity sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==
"@npmcli/run-script@^9.0.0", "@npmcli/run-script@^9.0.1":
- version "9.0.1"
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-9.1.0.tgz#6168c2be4703fe5ed31acb08a2151cb620ed30a4"
+ integrity sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==
dependencies:
"@npmcli/node-gyp" "^4.0.0"
"@npmcli/package-json" "^6.0.0"
"@npmcli/promise-spawn" "^8.0.0"
- node-gyp "^10.0.0"
+ node-gyp "^11.0.0"
proc-log "^5.0.0"
which "^5.0.0"
@@ -666,7 +690,7 @@
resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
-"@playwright/test@^1.41.2", "@playwright/test@^1.55.1":
+"@playwright/test@^1.55.1":
version "1.55.1"
resolved "https://registry.npmjs.org/@playwright/test/-/test-1.55.1.tgz"
integrity sha512-IVAh/nOJaw6W9g+RJVlIQJ6gSiER+ae6mKQ5CX1bERzQgbC1VSeBlwdvczT7pxb0GWiyrxH4TGKbMfDb4Sq/ig==
@@ -682,6 +706,96 @@
prettier "3.5.3"
react-promise-suspense "0.3.4"
+"@react-spring/animated@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.5.tgz#eb0373aaf99b879736b380c2829312dae3b05f28"
+ integrity sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==
+ dependencies:
+ "@react-spring/shared" "~9.7.5"
+ "@react-spring/types" "~9.7.5"
+
+"@react-spring/core@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.7.5.tgz#72159079f52c1c12813d78b52d4f17c0bf6411f7"
+ integrity sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==
+ dependencies:
+ "@react-spring/animated" "~9.7.5"
+ "@react-spring/shared" "~9.7.5"
+ "@react-spring/types" "~9.7.5"
+
+"@react-spring/rafz@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.7.5.tgz#ee7959676e7b5d6a3813e8c17d5e50df98b95df9"
+ integrity sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==
+
+"@react-spring/shared@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.7.5.tgz#6d513622df6ad750bbbd4dedb4ca0a653ec92073"
+ integrity sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==
+ dependencies:
+ "@react-spring/rafz" "~9.7.5"
+ "@react-spring/types" "~9.7.5"
+
+"@react-spring/three@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.7.5.tgz#46bcd22354afa873a809f1c6d7e07b59600b4d08"
+ integrity sha512-RxIsCoQfUqOS3POmhVHa1wdWS0wyHAUway73uRLp3GAL5U2iYVNdnzQsep6M2NZ994BlW8TcKuMtQHUqOsy6WA==
+ dependencies:
+ "@react-spring/animated" "~9.7.5"
+ "@react-spring/core" "~9.7.5"
+ "@react-spring/shared" "~9.7.5"
+ "@react-spring/types" "~9.7.5"
+
+"@react-spring/types@~9.7.5":
+ version "9.7.5"
+ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.7.5.tgz#e5dd180f3ed985b44fd2cd2f32aa9203752ef3e8"
+ integrity sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==
+
+"@react-three/drei@^9.122.0":
+ version "9.122.0"
+ resolved "https://registry.yarnpkg.com/@react-three/drei/-/drei-9.122.0.tgz#9d40ea658b12bc4650baf34b4b73f86e1357c8d3"
+ integrity sha512-SEO/F/rBCTjlLez7WAlpys+iGe9hty4rNgjZvgkQeXFSiwqD4Hbk/wNHMAbdd8vprO2Aj81mihv4dF5bC7D0CA==
+ dependencies:
+ "@babel/runtime" "^7.26.0"
+ "@mediapipe/tasks-vision" "0.10.17"
+ "@monogrid/gainmap-js" "^3.0.6"
+ "@react-spring/three" "~9.7.5"
+ "@use-gesture/react" "^10.3.1"
+ camera-controls "^2.9.0"
+ cross-env "^7.0.3"
+ detect-gpu "^5.0.56"
+ glsl-noise "^0.0.0"
+ hls.js "^1.5.17"
+ maath "^0.10.8"
+ meshline "^3.3.1"
+ react-composer "^5.0.3"
+ stats-gl "^2.2.8"
+ stats.js "^0.17.0"
+ suspend-react "^0.1.3"
+ three-mesh-bvh "^0.7.8"
+ three-stdlib "^2.35.6"
+ troika-three-text "^0.52.0"
+ tunnel-rat "^0.1.2"
+ utility-types "^3.11.0"
+ zustand "^5.0.1"
+
+"@react-three/fiber@^8.18.0":
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.18.0.tgz#73bfa12c82dabf889b572f9dfeefb10485532dd1"
+ integrity sha512-FYZZqD0UUHUswKz3LQl2Z7H24AhD14XGTsIRw3SJaXUxyfVMi+1yiZGmqTcPt/CkPpdU7rrxqcyQ1zJE5DjvIQ==
+ dependencies:
+ "@babel/runtime" "^7.17.8"
+ "@types/react-reconciler" "^0.26.7"
+ "@types/webxr" "*"
+ base64-js "^1.5.1"
+ buffer "^6.0.3"
+ its-fine "^1.0.6"
+ react-reconciler "^0.27.0"
+ react-use-measure "^2.1.7"
+ scheduler "^0.21.0"
+ suspend-react "^0.1.3"
+ zustand "^3.7.1"
+
"@selderee/plugin-htmlparser2@^0.11.0":
version "0.11.0"
resolved "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz"
@@ -690,39 +804,64 @@
domhandler "^5.0.3"
selderee "^0.11.0"
-"@sigstore/bundle@^2.3.2":
- version "2.3.2"
+"@sigstore/bundle@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-3.1.0.tgz#74f8f3787148400ddd364be8a9a9212174c66646"
+ integrity sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==
dependencies:
- "@sigstore/protobuf-specs" "^0.3.2"
+ "@sigstore/protobuf-specs" "^0.4.0"
-"@sigstore/core@^1.0.0", "@sigstore/core@^1.1.0":
- version "1.1.0"
+"@sigstore/core@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sigstore/core/-/core-2.0.0.tgz#f888a8e4c8fdaa27848514a281920b6fd8eca955"
+ integrity sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==
"@sigstore/protobuf-specs@^0.3.2":
- version "0.3.2"
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.3.3.tgz#7dd46d68b76c322873a2ef7581ed955af6f4dcde"
+ integrity sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==
-"@sigstore/sign@^2.3.2":
- version "2.3.2"
+"@sigstore/protobuf-specs@^0.4.0", "@sigstore/protobuf-specs@^0.4.1":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz#5d974eb16c0a1d44a3f0af6e3e7219b35ac57953"
+ integrity sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==
+
+"@sigstore/sign@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-3.1.0.tgz#5d098d4d2b59a279e9ac9b51c794104cda0c649e"
+ integrity sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==
dependencies:
- "@sigstore/bundle" "^2.3.2"
- "@sigstore/core" "^1.0.0"
- "@sigstore/protobuf-specs" "^0.3.2"
- make-fetch-happen "^13.0.1"
- proc-log "^4.2.0"
+ "@sigstore/bundle" "^3.1.0"
+ "@sigstore/core" "^2.0.0"
+ "@sigstore/protobuf-specs" "^0.4.0"
+ make-fetch-happen "^14.0.2"
+ proc-log "^5.0.0"
promise-retry "^2.0.1"
"@sigstore/tuf@^2.3.4":
version "2.3.4"
+ resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-2.3.4.tgz#da1d2a20144f3b87c0172920cbc8dcc7851ca27c"
+ integrity sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==
dependencies:
"@sigstore/protobuf-specs" "^0.3.2"
tuf-js "^2.2.1"
-"@sigstore/verify@^1.2.1":
- version "1.2.1"
+"@sigstore/tuf@^3.1.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-3.1.1.tgz#b01b261288f646e0da57737782893e7d2695c52e"
+ integrity sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==
dependencies:
- "@sigstore/bundle" "^2.3.2"
- "@sigstore/core" "^1.1.0"
- "@sigstore/protobuf-specs" "^0.3.2"
+ "@sigstore/protobuf-specs" "^0.4.1"
+ tuf-js "^3.0.1"
+
+"@sigstore/verify@^2.1.0":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@sigstore/verify/-/verify-2.1.1.tgz#f67730012cd474f595044c3717f32ac2a1e9d2bc"
+ integrity sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==
+ dependencies:
+ "@sigstore/bundle" "^3.1.0"
+ "@sigstore/core" "^2.0.0"
+ "@sigstore/protobuf-specs" "^0.4.1"
"@stripe/react-stripe-js@^3.7.0":
version "3.7.0"
@@ -731,7 +870,7 @@
dependencies:
prop-types "^15.7.2"
-"@stripe/stripe-js@^7.3.1", "@stripe/stripe-js@>=1.44.1 <8.0.0":
+"@stripe/stripe-js@^7.3.1":
version "7.3.1"
resolved "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-7.3.1.tgz"
integrity sha512-pTzb864TQWDRQBPLgSPFRoyjSDUqpCkbEgTzpsjiTjGz1Z5SxZNXJek28w1s6Dyry4CyW4/Izj5jHE/J9hCJYQ==
@@ -750,7 +889,7 @@
dependencies:
"@supabase/node-fetch" "^2.6.14"
-"@supabase/node-fetch@^2.6.14", "@supabase/node-fetch@2.6.15":
+"@supabase/node-fetch@2.6.15", "@supabase/node-fetch@^2.6.14":
version "2.6.15"
resolved "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz"
integrity sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==
@@ -789,7 +928,7 @@
dependencies:
"@supabase/node-fetch" "^2.6.14"
-"@supabase/supabase-js@^2.43.4", "@supabase/supabase-js@latest":
+"@supabase/supabase-js@latest":
version "2.44.3"
resolved "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.44.3.tgz"
integrity sha512-3tYf5ojKSL0RJIpnkwYSdLPdRcza8KMTdRx2SyF9YA6PWnuUfqzmqjZohAHJuGql2CaPMWd9BLPOHupPuGq0lQ==
@@ -821,16 +960,36 @@
"@tufjs/models@2.0.1":
version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-2.0.1.tgz#e429714e753b6c2469af3212e7f320a6973c2812"
+ integrity sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==
dependencies:
"@tufjs/canonical-json" "2.0.0"
minimatch "^9.0.4"
+"@tufjs/models@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-3.0.1.tgz#5aebb782ebb9e06f071ae7831c1f35b462b0319c"
+ integrity sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==
+ dependencies:
+ "@tufjs/canonical-json" "2.0.0"
+ minimatch "^9.0.5"
+
+"@tweenjs/tween.js@~23.1.3":
+ version "23.1.3"
+ resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz#eff0245735c04a928bb19c026b58c2a56460539d"
+ integrity sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==
+
"@types/cookie@^0.6.0":
version "0.6.0"
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==
-"@types/node@*", "@types/node@>=12.x.x", "@types/node@20.11.5":
+"@types/draco3d@^1.4.0":
+ version "1.4.10"
+ resolved "https://registry.yarnpkg.com/@types/draco3d/-/draco3d-1.4.10.tgz#63ec0ba78b30bd58203ec031f4e4f0198c596dca"
+ integrity sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==
+
+"@types/node@*", "@types/node@20.11.5":
version "20.11.5"
resolved "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz"
integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==
@@ -844,6 +1003,11 @@
dependencies:
"@types/node" "*"
+"@types/offscreencanvas@^2019.6.4":
+ version "2019.7.3"
+ resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz#90267db13f64d6e9ccb5ae3eac92786a7c77a516"
+ integrity sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==
+
"@types/parse-json@^4.0.0":
version "4.0.2"
resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz"
@@ -866,6 +1030,18 @@
dependencies:
"@types/react" "*"
+"@types/react-reconciler@^0.26.7":
+ version "0.26.7"
+ resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.26.7.tgz#0c4643f30821ae057e401b0d9037e03e8e9b2a36"
+ integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-reconciler@^0.28.0":
+ version "0.28.9"
+ resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.9.tgz#d24b4864c384e770c83275b3fe73fba00269c83b"
+ integrity sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==
+
"@types/react-transition-group@^4.4.0":
version "4.4.12"
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
@@ -885,6 +1061,11 @@
resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz"
integrity sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==
+"@types/stats.js@*":
+ version "0.17.4"
+ resolved "https://registry.yarnpkg.com/@types/stats.js/-/stats.js-0.17.4.tgz#1933e5ff153a23c7664487833198d685c22e791e"
+ integrity sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==
+
"@types/stripe@^8.0.416":
version "8.0.416"
resolved "https://registry.npmjs.org/@types/stripe/-/stripe-8.0.416.tgz"
@@ -892,6 +1073,23 @@
dependencies:
stripe "*"
+"@types/three@*", "@types/three@^0.184.1":
+ version "0.184.1"
+ resolved "https://registry.yarnpkg.com/@types/three/-/three-0.184.1.tgz#f30e83548c6a653908f4abdc4ce7d3834cd21234"
+ integrity sha512-6q4VdiqVsrTRqmk62/BnlcAvIrnDM0zf2ZDVKI5kZiniWrSaOHaQzmbp+BNzoggc/8tgW412pL//wZIxu2PPTA==
+ dependencies:
+ "@dimforge/rapier3d-compat" "~0.12.0"
+ "@tweenjs/tween.js" "~23.1.3"
+ "@types/stats.js" "*"
+ "@types/webxr" ">=0.5.17"
+ fflate "~0.8.2"
+ meshoptimizer "~1.1.1"
+
+"@types/webxr@*", "@types/webxr@>=0.5.17", "@types/webxr@^0.5.2":
+ version "0.5.24"
+ resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.24.tgz#734d5d90dadc5809a53e422726c60337fa2f4a44"
+ integrity sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==
+
"@types/ws@^8.5.10":
version "8.5.10"
resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz"
@@ -899,18 +1097,32 @@
dependencies:
"@types/node" "*"
+"@use-gesture/core@10.3.1":
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/@use-gesture/core/-/core-10.3.1.tgz#976c9421e905f0079d49822cfd5c2e56b808fc56"
+ integrity sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==
+
+"@use-gesture/react@^10.3.1":
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/@use-gesture/react/-/react-10.3.1.tgz#17a743a894d9bd9a0d1980c618f37f0164469867"
+ integrity sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==
+ dependencies:
+ "@use-gesture/core" "10.3.1"
+
abbrev@^2.0.0:
version "2.0.0"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
+ integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
abbrev@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/abbrev/-/abbrev-3.0.0.tgz"
integrity sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==
-agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1:
- version "7.1.1"
- dependencies:
- debug "^4.3.4"
+agent-base@^7.1.0, agent-base@^7.1.2:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8"
+ integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==
aggregate-error@^3.0.0:
version "3.1.0"
@@ -996,6 +1208,18 @@ balanced-match@^1.0.0:
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base64-js@^1.3.1, base64-js@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+bidi-js@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/bidi-js/-/bidi-js-1.0.3.tgz#6f8bcf3c877c4d9220ddf49b9bb6930c88f877d2"
+ integrity sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==
+ dependencies:
+ require-from-string "^2.0.2"
+
bin-links@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/bin-links/-/bin-links-5.0.0.tgz"
@@ -1007,12 +1231,7 @@ bin-links@^5.0.0:
read-cmd-shim "^5.0.0"
write-file-atomic "^6.0.0"
-binary-extensions@^2.0.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
- integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
-
-binary-extensions@^2.3.0:
+binary-extensions@^2.0.0, binary-extensions@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
@@ -1031,7 +1250,7 @@ braces@^3.0.3, braces@~3.0.2:
dependencies:
fill-range "^7.1.1"
-browserslist@^4.22.2, "browserslist@>= 4.21.0":
+browserslist@^4.22.2:
version "4.23.1"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz"
integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==
@@ -1041,6 +1260,14 @@ browserslist@^4.22.2, "browserslist@>= 4.21.0":
node-releases "^2.0.14"
update-browserslist-db "^1.0.16"
+buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
busboy@1.6.0:
version "1.6.0"
resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz"
@@ -1050,6 +1277,8 @@ busboy@1.6.0:
cacache@^18.0.0:
version "18.0.4"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.4.tgz#4601d7578dadb59c66044e157d02a3314682d6a5"
+ integrity sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==
dependencies:
"@npmcli/fs" "^3.1.0"
fs-minipass "^3.0.0"
@@ -1116,13 +1345,20 @@ camelcase-css@^2.0.1:
resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+camera-controls@^2.9.0:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/camera-controls/-/camera-controls-2.10.1.tgz#78bc58001a2d5925c29312154ce77d16967dec56"
+ integrity sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==
+
caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001629:
version "1.0.30001640"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz"
integrity sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==
chalk@^5.3.0:
- version "5.3.0"
+ version "5.6.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea"
+ integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==
chokidar@^3.5.3:
version "3.6.0"
@@ -1150,7 +1386,9 @@ chownr@^3.0.0:
integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==
ci-info@^4.0.0:
- version "4.0.0"
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.4.0.tgz#7d54eff9f54b45b62401c26032696eb59c8bd18c"
+ integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==
cidr-regex@^4.1.1:
version "4.1.1"
@@ -1246,18 +1484,16 @@ countries-list@^3.1.1:
resolved "https://registry.npmjs.org/countries-list/-/countries-list-3.1.1.tgz"
integrity sha512-nPklKJ5qtmY5MdBKw1NiBAoyx5Sa7p2yPpljZyQ7gyCN1m+eMFs9I6CT37Mxt8zvR5L3VzD3DJBE4WQzX3WF4A==
-cross-spawn@^7.0.0:
+cross-env@^7.0.3:
version "7.0.3"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
+ integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
+ cross-spawn "^7.0.1"
-cross-spawn@^7.0.6:
+cross-spawn@^7.0.1, cross-spawn@^7.0.6:
version "7.0.6"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
dependencies:
path-key "^3.1.0"
@@ -1274,6 +1510,13 @@ csstype@^3.0.2:
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+debug@4, debug@^4.3.4, debug@^4.4.1:
+ version "4.4.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
+ integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ dependencies:
+ ms "^2.1.3"
+
debug@^4.3.1:
version "4.4.1"
resolved "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz"
@@ -1281,16 +1524,18 @@ debug@^4.3.1:
dependencies:
ms "^2.1.3"
-debug@^4.3.4, debug@4:
- version "4.3.6"
- dependencies:
- ms "2.1.2"
-
deepmerge@^4.3.1:
version "4.3.1"
resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
+detect-gpu@^5.0.56:
+ version "5.0.70"
+ resolved "https://registry.yarnpkg.com/detect-gpu/-/detect-gpu-5.0.70.tgz#db2202d3cd440714ba6e789ff8b62d1b584eabf7"
+ integrity sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==
+ dependencies:
+ webgl-constants "^1.1.1"
+
detect-libc@^2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz"
@@ -1349,6 +1594,11 @@ domutils@^3.0.1:
domelementtype "^2.3.0"
domhandler "^5.0.3"
+draco3d@^1.4.1:
+ version "1.5.7"
+ resolved "https://registry.yarnpkg.com/draco3d/-/draco3d-1.5.7.tgz#94f9bce293eb8920c159dc91a4ce9124a9e899e0"
+ integrity sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==
+
dunder-proto@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
@@ -1467,6 +1717,21 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+
+fflate@^0.6.9:
+ version "0.6.10"
+ resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.6.10.tgz#5f40f9659205936a2d18abf88b2e7781662b6d43"
+ integrity sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==
+
+fflate@~0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea"
+ integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==
+
fill-range@^7.1.1:
version "7.1.1"
resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
@@ -1479,7 +1744,7 @@ find-root@^1.1.0:
resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz"
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-foreground-child@^3.1.0, foreground-child@^3.3.1:
+foreground-child@^3.1.0:
version "3.3.1"
resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz"
integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==
@@ -1494,6 +1759,8 @@ fraction.js@^4.3.7:
fs-minipass@^2.0.0:
version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
dependencies:
minipass "^3.0.0"
@@ -1504,16 +1771,16 @@ fs-minipass@^3.0.0, fs-minipass@^3.0.3:
dependencies:
minipass "^7.0.3"
-fsevents@~2.3.2:
- version "2.3.3"
- resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
fsevents@2.3.2:
version "2.3.2"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+fsevents@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -1548,7 +1815,7 @@ get-proto@^1.0.1:
dunder-proto "^1.0.1"
es-object-atoms "^1.0.0"
-glob-parent@^5.1.2:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -1562,13 +1829,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
glob@^10.2.2, glob@^10.3.10, glob@^10.3.7, glob@^10.4.5:
version "10.4.5"
resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
@@ -1581,23 +1841,16 @@ glob@^10.2.2, glob@^10.3.10, glob@^10.3.7, glob@^10.4.5:
package-json-from-dist "^1.0.0"
path-scurry "^1.11.1"
-glob@^11.0.3:
- version "11.0.3"
- resolved "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz"
- integrity sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==
- dependencies:
- foreground-child "^3.3.1"
- jackspeak "^4.1.1"
- minimatch "^10.0.3"
- minipass "^7.1.2"
- package-json-from-dist "^1.0.0"
- path-scurry "^2.0.0"
-
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+glsl-noise@^0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/glsl-noise/-/glsl-noise-0.0.0.tgz#367745f3a33382c0eeec4cb54b7e99cfc1d7670b"
+ integrity sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==
+
gopd@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
@@ -1625,6 +1878,11 @@ hi-base32@^0.5.0:
resolved "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz"
integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==
+hls.js@^1.5.17:
+ version "1.6.16"
+ resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-1.6.16.tgz#e2e7e79b68357cb3f8aa82dec0a36c9c2701f5c0"
+ integrity sha512-VSIRpLfRwlAAdGL4wiTucx2ScRipo0ed1FBatWkyt832jC4CReKstga6yIhYVwGu9LOBjuX9wzmRMeQdBJtzEA==
+
hoist-non-react-statics@^3.3.1:
version "3.3.2"
resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
@@ -1633,7 +1891,9 @@ hoist-non-react-statics@^3.3.1:
react-is "^16.7.0"
hosted-git-info@^8.0.0:
- version "8.0.0"
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-8.1.0.tgz#153cd84c03c6721481e16a5709eb74b1a0ab2ed0"
+ integrity sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==
dependencies:
lru-cache "^10.0.1"
@@ -1672,9 +1932,11 @@ http-proxy-agent@^7.0.0:
debug "^4.3.4"
https-proxy-agent@^7.0.1:
- version "7.0.5"
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9"
+ integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
dependencies:
- agent-base "^7.0.2"
+ agent-base "^7.1.2"
debug "4"
iconv-lite@^0.6.2:
@@ -1684,6 +1946,11 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
ignore-walk@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz"
@@ -1691,6 +1958,11 @@ ignore-walk@^7.0.0:
dependencies:
minimatch "^9.0.0"
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
+
import-fresh@^3.2.1:
version "3.3.1"
resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
@@ -1715,7 +1987,9 @@ ini@^5.0.0:
integrity sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==
init-package-json@^7.0.1:
- version "7.0.1"
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-7.0.2.tgz#62d7fa76d880a7773a7be51981a2b09006d2516f"
+ integrity sha512-Qg6nAQulaOQZjvaSzVLtYRqZmuqOi7gTknqqgdhZy7LV5oO+ppvHWq15tZYzGyxJLTH5BxRTqTa+cPDx2pSD9Q==
dependencies:
"@npmcli/package-json" "^6.0.0"
npm-package-arg "^12.0.0"
@@ -1793,12 +2067,19 @@ is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
is-lambda@^1.0.1:
version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
+ integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+is-promise@^2.1.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
@@ -1809,6 +2090,13 @@ isexe@^3.1.1:
resolved "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz"
integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==
+its-fine@^1.0.6:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.2.5.tgz#5466c287f86a0a73e772c8d8d515626c97195dc9"
+ integrity sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==
+ dependencies:
+ "@types/react-reconciler" "^0.28.0"
+
jackspeak@^3.1.2:
version "3.4.3"
resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz"
@@ -1818,13 +2106,6 @@ jackspeak@^3.1.2:
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"
-jackspeak@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz"
- integrity sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==
- dependencies:
- "@isaacs/cliui" "^8.0.2"
-
jiti@^1.19.1:
version "1.21.6"
resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz"
@@ -1952,7 +2233,9 @@ libnpmpack@^8.0.0:
pacote "^19.0.0"
libnpmpublish@^10.0.0:
- version "10.0.0"
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-10.0.2.tgz#ecc5537c0635164a212288f32f87d75ca7201318"
+ integrity sha512-Q+PlGO6vOZDlZ6jKPDqDLYbARfV5OBusmJZj9GPbNUiys8OK6/yrwJ8ty8ibbc4GkMspqgOMdJ/1dcJwhtpkDg==
dependencies:
ci-info "^4.0.0"
normalize-package-data "^7.0.0"
@@ -1960,7 +2243,7 @@ libnpmpublish@^10.0.0:
npm-registry-fetch "^18.0.1"
proc-log "^5.0.0"
semver "^7.3.7"
- sigstore "^2.2.0"
+ sigstore "^3.0.0"
ssri "^12.0.0"
libnpmsearch@^8.0.0:
@@ -1989,6 +2272,13 @@ libnpmversion@^7.0.0:
proc-log "^5.0.0"
semver "^7.3.7"
+lie@^3.0.2:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
+ integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
+ dependencies:
+ immediate "~3.0.5"
+
lilconfig@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"
@@ -2021,34 +2311,20 @@ lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.2.2:
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
-lru-cache@^11.0.0:
- version "11.2.2"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz"
- integrity sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==
-
lucide-react@^0.525.0:
version "0.525.0"
resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.525.0.tgz"
integrity sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==
-make-fetch-happen@^13.0.0:
- version "13.0.1"
- dependencies:
- "@npmcli/agent" "^2.0.0"
- cacache "^18.0.0"
- http-cache-semantics "^4.1.1"
- is-lambda "^1.0.1"
- minipass "^7.0.2"
- minipass-fetch "^3.0.0"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- negotiator "^0.6.3"
- proc-log "^4.2.0"
- promise-retry "^2.0.1"
- ssri "^10.0.0"
+maath@^0.10.8:
+ version "0.10.8"
+ resolved "https://registry.yarnpkg.com/maath/-/maath-0.10.8.tgz#cf647544430141bf6982da6e878abb6c4b804e24"
+ integrity sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==
-make-fetch-happen@^13.0.1:
+make-fetch-happen@^13.0.0, make-fetch-happen@^13.0.1:
version "13.0.1"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz#273ba2f78f45e1f3a6dca91cede87d9fa4821e36"
+ integrity sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==
dependencies:
"@npmcli/agent" "^2.0.0"
cacache "^18.0.0"
@@ -2063,8 +2339,10 @@ make-fetch-happen@^13.0.1:
promise-retry "^2.0.1"
ssri "^10.0.0"
-make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1:
- version "14.0.1"
+make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1, make-fetch-happen@^14.0.2, make-fetch-happen@^14.0.3:
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz#d74c3ecb0028f08ab604011e0bc6baed483fcdcd"
+ integrity sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==
dependencies:
"@npmcli/agent" "^3.0.0"
cacache "^19.0.1"
@@ -2073,7 +2351,7 @@ make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1:
minipass-fetch "^4.0.0"
minipass-flush "^1.0.5"
minipass-pipeline "^1.2.4"
- negotiator "^0.6.3"
+ negotiator "^1.0.0"
proc-log "^5.0.0"
promise-retry "^2.0.1"
ssri "^12.0.0"
@@ -2093,6 +2371,16 @@ merge2@^1.3.0:
resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+meshline@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/meshline/-/meshline-3.3.1.tgz#20decfd5cdd25c8469e862ddf0ab1ad167759734"
+ integrity sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==
+
+meshoptimizer@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/meshoptimizer/-/meshoptimizer-1.1.1.tgz#20c7d050d59bdc573154814f6a37d47d89908cca"
+ integrity sha512-oRFNWJRDA/WTrVj7NWvqa5HqE1t9MYDj2VaWirQCzCCrAd2GHrqR/sQezCxiWATPNlKTcRaPRHPJwIRoPBAp5g==
+
micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.8"
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
@@ -2101,13 +2389,6 @@ micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.3"
picomatch "^2.3.1"
-minimatch@^10.0.3:
- version "10.0.3"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz"
- integrity sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==
- dependencies:
- "@isaacs/brace-expansion" "^5.0.0"
-
minimatch@^9.0.0, minimatch@^9.0.4, minimatch@^9.0.5:
version "9.0.5"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
@@ -2124,6 +2405,8 @@ minipass-collect@^2.0.1:
minipass-fetch@^3.0.0:
version "3.0.5"
+ resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c"
+ integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==
dependencies:
minipass "^7.0.3"
minipass-sized "^1.0.3"
@@ -2165,17 +2448,21 @@ minipass-sized@^1.0.3:
minipass@^3.0.0:
version "3.3.6"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
+ integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
dependencies:
yallist "^4.0.0"
+minipass@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
+ integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.2, minipass@^7.0.3, minipass@^7.0.4, minipass@^7.1.1, minipass@^7.1.2:
version "7.1.2"
resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
-minipass@^5.0.0:
- version "5.0.0"
-
minizlib@^2.1.1, minizlib@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz"
@@ -2192,29 +2479,23 @@ minizlib@^3.0.1:
minipass "^7.0.4"
rimraf "^5.0.5"
+minizlib@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.1.0.tgz#6ad76c3a8f10227c9b51d1c9ac8e30b27f5a251c"
+ integrity sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==
+ dependencies:
+ minipass "^7.1.2"
+
mkdirp@^1.0.3:
version "1.0.4"
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-mkdirp@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz"
- integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==
-
-ms@^2.1.2:
+ms@^2.1.2, ms@^2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-ms@^2.1.3:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-ms@2.1.2:
- version "2.1.2"
-
mute-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz"
@@ -2235,14 +2516,21 @@ nanoid@^3.3.6, nanoid@^3.3.7:
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
negotiator@^0.6.3:
- version "0.6.3"
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7"
+ integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
+
+negotiator@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a"
+ integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==
-next@>=13.2.0, next@latest:
- version "14.2.15"
- resolved "https://registry.npmjs.org/next/-/next-14.2.15.tgz"
- integrity sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==
+next@^14.2.15:
+ version "14.2.35"
+ resolved "https://registry.yarnpkg.com/next/-/next-14.2.35.tgz#7c68873a15fe5a19401f2f993fea535be3366ee9"
+ integrity sha512-KhYd2Hjt/O1/1aZVX3dCwGXM1QmOV4eNM2UTacK5gipDdPN/oHHK/4oVGy7X8GMfPMsUTUEmGlsy0EY1YGAkig==
dependencies:
- "@next/env" "14.2.15"
+ "@next/env" "14.2.35"
"@swc/helpers" "0.5.5"
busboy "1.6.0"
caniuse-lite "^1.0.30001579"
@@ -2250,15 +2538,15 @@ next@>=13.2.0, next@latest:
postcss "8.4.31"
styled-jsx "5.1.1"
optionalDependencies:
- "@next/swc-darwin-arm64" "14.2.15"
- "@next/swc-darwin-x64" "14.2.15"
- "@next/swc-linux-arm64-gnu" "14.2.15"
- "@next/swc-linux-arm64-musl" "14.2.15"
- "@next/swc-linux-x64-gnu" "14.2.15"
- "@next/swc-linux-x64-musl" "14.2.15"
- "@next/swc-win32-arm64-msvc" "14.2.15"
- "@next/swc-win32-ia32-msvc" "14.2.15"
- "@next/swc-win32-x64-msvc" "14.2.15"
+ "@next/swc-darwin-arm64" "14.2.33"
+ "@next/swc-darwin-x64" "14.2.33"
+ "@next/swc-linux-arm64-gnu" "14.2.33"
+ "@next/swc-linux-arm64-musl" "14.2.33"
+ "@next/swc-linux-x64-gnu" "14.2.33"
+ "@next/swc-linux-x64-musl" "14.2.33"
+ "@next/swc-win32-arm64-msvc" "14.2.33"
+ "@next/swc-win32-ia32-msvc" "14.2.33"
+ "@next/swc-win32-x64-msvc" "14.2.33"
no-case@^2.2.0:
version "2.3.2"
@@ -2267,8 +2555,10 @@ no-case@^2.2.0:
dependencies:
lower-case "^1.1.1"
-node-gyp@^10.0.0, node-gyp@^10.2.0:
- version "10.2.0"
+node-gyp@^10.2.0:
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.3.1.tgz#1dd1a1a1c6c5c59da1a76aea06a062786b2c8a1a"
+ integrity sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==
dependencies:
env-paths "^2.2.0"
exponential-backoff "^3.1.1"
@@ -2281,6 +2571,22 @@ node-gyp@^10.0.0, node-gyp@^10.2.0:
tar "^6.2.1"
which "^4.0.0"
+node-gyp@^11.0.0:
+ version "11.5.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-11.5.0.tgz#82661b5f40647a7361efe918e3cea76d297fcc56"
+ integrity sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==
+ dependencies:
+ env-paths "^2.2.0"
+ exponential-backoff "^3.1.1"
+ graceful-fs "^4.2.6"
+ make-fetch-happen "^14.0.3"
+ nopt "^8.0.0"
+ proc-log "^5.0.0"
+ semver "^7.3.5"
+ tar "^7.4.3"
+ tinyglobby "^0.2.12"
+ which "^5.0.0"
+
node-releases@^2.0.14:
version "2.0.18"
resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz"
@@ -2293,13 +2599,17 @@ nodemailer@^7.0.3:
nopt@^7.0.0:
version "7.2.1"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7"
+ integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==
dependencies:
abbrev "^2.0.0"
nopt@^8.0.0:
- version "8.0.0"
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-8.1.0.tgz#b11d38caf0f8643ce885818518064127f602eae3"
+ integrity sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==
dependencies:
- abbrev "^2.0.0"
+ abbrev "^3.0.0"
normalize-package-data@^7.0.0:
version "7.0.0"
@@ -2333,7 +2643,9 @@ npm-bundled@^4.0.0:
npm-normalize-package-bin "^4.0.0"
npm-install-checks@^7.1.0:
- version "7.1.0"
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-7.1.2.tgz#e338d333930ee18e0fb0be6bd8b67af98be3d2fa"
+ integrity sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==
dependencies:
semver "^7.1.1"
@@ -2343,7 +2655,9 @@ npm-normalize-package-bin@^4.0.0:
integrity sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==
npm-package-arg@^12.0.0:
- version "12.0.0"
+ version "12.0.2"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-12.0.2.tgz#3b1e04ebe651cc45028e298664e8c15ce9c0ca40"
+ integrity sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==
dependencies:
hosted-git-info "^8.0.0"
proc-log "^5.0.0"
@@ -2376,7 +2690,9 @@ npm-profile@^11.0.1:
proc-log "^5.0.0"
npm-registry-fetch@^18.0.0, npm-registry-fetch@^18.0.1:
- version "18.0.1"
+ version "18.0.2"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz#340432f56b5a8b1af068df91aae0435d2de646b5"
+ integrity sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==
dependencies:
"@npmcli/redact" "^3.0.0"
jsonparse "^1.3.1"
@@ -2489,7 +2805,9 @@ p-map@^4.0.0:
aggregate-error "^3.0.0"
p-map@^7.0.2:
- version "7.0.2"
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-7.0.4.tgz#b81814255f542e252d5729dca4d66e5ec14935b8"
+ integrity sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==
package-json-from-dist@^1.0.0:
version "1.0.1"
@@ -2497,7 +2815,9 @@ package-json-from-dist@^1.0.0:
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
pacote@^19.0.0:
- version "19.0.0"
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-19.0.2.tgz#d875c1584b9acca873fafecbf2b969e562640301"
+ integrity sha512-iNInrWMS+PzYbaef5EW/mU8OiCPxGuTmYn6ht5ImeXd5TZIVY4+dDmIrbpB6v0MKG/KIMMvj2UD7eKU9GbTGHA==
dependencies:
"@npmcli/git" "^6.0.0"
"@npmcli/installed-package-contents" "^3.0.0"
@@ -2513,9 +2833,32 @@ pacote@^19.0.0:
npm-registry-fetch "^18.0.0"
proc-log "^5.0.0"
promise-retry "^2.0.1"
- sigstore "^2.2.0"
+ sigstore "^3.0.0"
ssri "^12.0.0"
- tar "^6.1.11"
+ tar "^7.5.10"
+
+pacote@^20.0.0:
+ version "20.0.1"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-20.0.1.tgz#da327a242e6fad570aff1145846300d173be9eb5"
+ integrity sha512-jTMLD/QK7JMUKg3g7K3M/DEqIbGm7sxclj12eQYIkL3viutSiefTs26IrqIqgGlFsviF/9dlDUZxnpGvkRXtjw==
+ dependencies:
+ "@npmcli/git" "^6.0.0"
+ "@npmcli/installed-package-contents" "^3.0.0"
+ "@npmcli/package-json" "^6.0.0"
+ "@npmcli/promise-spawn" "^8.0.0"
+ "@npmcli/run-script" "^9.0.0"
+ cacache "^19.0.0"
+ fs-minipass "^3.0.0"
+ minipass "^7.0.2"
+ npm-package-arg "^12.0.0"
+ npm-packlist "^9.0.0"
+ npm-pick-manifest "^10.0.0"
+ npm-registry-fetch "^18.0.0"
+ proc-log "^5.0.0"
+ promise-retry "^2.0.1"
+ sigstore "^3.0.0"
+ ssri "^12.0.0"
+ tar "^7.5.10"
parent-module@^1.0.0:
version "1.0.1"
@@ -2569,14 +2912,6 @@ path-scurry@^1.11.1:
lru-cache "^10.2.0"
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
-path-scurry@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz"
- integrity sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==
- dependencies:
- lru-cache "^11.0.0"
- minipass "^7.1.2"
-
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
@@ -2597,6 +2932,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+picomatch@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589"
+ integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
+
pify@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
@@ -2652,15 +2992,7 @@ postcss-nested@^6.0.1:
dependencies:
postcss-selector-parser "^6.1.1"
-postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1:
- version "6.1.2"
- resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
- integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-selector-parser@^6.1.2:
+postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
@@ -2673,15 +3005,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@>=8.0.9, postcss@8.4.33:
- version "8.4.33"
- resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz"
- integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
postcss@8.4.31:
version "8.4.31"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz"
@@ -2691,6 +3014,20 @@ postcss@8.4.31:
picocolors "^1.0.0"
source-map-js "^1.0.2"
+postcss@8.4.33, postcss@^8.4.23:
+ version "8.4.33"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz"
+ integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+potpack@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.2.tgz#23b99e64eb74f5741ffe7656b5b5c4ddce8dfc14"
+ integrity sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==
+
prettier@3.5.3:
version "3.5.3"
resolved "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz"
@@ -2698,6 +3035,8 @@ prettier@3.5.3:
proc-log@^4.1.0, proc-log@^4.2.0:
version "4.2.0"
+ resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034"
+ integrity sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==
proc-log@^5.0.0:
version "5.0.0"
@@ -2715,7 +3054,9 @@ promise-all-reject-late@^1.0.0:
integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==
promise-call-limit@^3.0.1:
- version "3.0.1"
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-3.0.2.tgz#524b7f4b97729ff70417d93d24f46f0265efa4f9"
+ integrity sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==
promise-inflight@^1.0.1:
version "1.0.1"
@@ -2735,6 +3076,14 @@ promise-retry@^2.0.1:
err-code "^2.0.2"
retry "^0.12.0"
+promise-worker-transferable@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz#2c72861ba053e5ae42b487b4a83b1ed3ae3786e8"
+ integrity sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==
+ dependencies:
+ is-promise "^2.1.0"
+ lie "^3.0.2"
+
promzard@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/promzard/-/promzard-2.0.0.tgz"
@@ -2768,7 +3117,14 @@ queue-microtask@^1.2.2:
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-"react-dom@^16.8.0 || ^17 || ^18 || ^19", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0 || ^19.0 || ^19.0.0-rc", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react-dom@^18.2.0, react-dom@>=16.6.0, "react-dom@>=16.8.0 <20.0.0", react-dom@18.2.0:
+react-composer@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/react-composer/-/react-composer-5.0.3.tgz#7beb9513da5e8687f4f434ea1333ef36a4f3091b"
+ integrity sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==
+ dependencies:
+ prop-types "^15.6.0"
+
+react-dom@18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -2801,6 +3157,14 @@ react-promise-suspense@0.3.4:
dependencies:
fast-deep-equal "^2.0.1"
+react-reconciler@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.27.0.tgz#360124fdf2d76447c7491ee5f0e04503ed9acf5b"
+ integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==
+ dependencies:
+ loose-envify "^1.1.0"
+ scheduler "^0.21.0"
+
react-select@^5.10.1:
version "5.10.1"
resolved "https://registry.npmjs.org/react-select/-/react-select-5.10.1.tgz"
@@ -2826,7 +3190,12 @@ react-transition-group@^4.3.0:
loose-envify "^1.4.0"
prop-types "^15.6.2"
-react@*, "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18.0 || ^19.0 || ^19.0.0-rc", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react@^18.2.0, "react@>= 16.8.0 || 17.x.x || ^18.0.0-0", react@>=15, react@>=16.6.0, react@>=16.8.0, "react@>=16.8.0 <20.0.0", react@18.2.0:
+react-use-measure@^2.1.7:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.7.tgz#36b8a2e7fd2fa58109ab851b3addcb0aad66ad1d"
+ integrity sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==
+
+react@18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
@@ -2867,6 +3236,11 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
resend@^4.5.1:
version "4.5.1"
resolved "https://registry.npmjs.org/resend/-/resend-4.5.1.tgz"
@@ -2917,6 +3291,13 @@ run-parallel@^1.1.9:
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+scheduler@^0.21.0:
+ version "0.21.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820"
+ integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==
+ dependencies:
+ loose-envify "^1.1.0"
+
scheduler@^0.23.0:
version "0.23.2"
resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz"
@@ -3022,15 +3403,17 @@ signal-exit@^4.0.1:
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-sigstore@^2.2.0:
- version "2.3.1"
+sigstore@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-3.1.0.tgz#08dc6c0c425263e9fdab85ffdb6477550e2c511d"
+ integrity sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==
dependencies:
- "@sigstore/bundle" "^2.3.2"
- "@sigstore/core" "^1.0.0"
- "@sigstore/protobuf-specs" "^0.3.2"
- "@sigstore/sign" "^2.3.2"
- "@sigstore/tuf" "^2.3.4"
- "@sigstore/verify" "^1.2.1"
+ "@sigstore/bundle" "^3.1.0"
+ "@sigstore/core" "^2.0.0"
+ "@sigstore/protobuf-specs" "^0.4.0"
+ "@sigstore/sign" "^3.1.0"
+ "@sigstore/tuf" "^3.1.0"
+ "@sigstore/verify" "^2.1.0"
simple-swizzle@^0.2.2:
version "0.2.2"
@@ -3045,9 +3428,11 @@ smart-buffer@^4.2.0:
integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
socks-proxy-agent@^8.0.3:
- version "8.0.4"
+ version "8.0.5"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee"
+ integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==
dependencies:
- agent-base "^7.1.1"
+ agent-base "^7.1.2"
debug "^4.3.4"
socks "^2.8.3"
@@ -3089,6 +3474,8 @@ spdx-exceptions@^2.1.0:
spdx-expression-parse@^3.0.0:
version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
@@ -3102,7 +3489,9 @@ spdx-expression-parse@^4.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.18"
+ version "3.0.23"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz#b069e687b1291a32f126893ed76a27a745ee2133"
+ integrity sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==
sprintf-js@^1.1.3:
version "1.1.3"
@@ -3111,6 +3500,8 @@ sprintf-js@^1.1.3:
ssri@^10.0.0:
version "10.0.6"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5"
+ integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==
dependencies:
minipass "^7.0.3"
@@ -3121,6 +3512,19 @@ ssri@^12.0.0:
dependencies:
minipass "^7.0.3"
+stats-gl@^2.2.8:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/stats-gl/-/stats-gl-2.4.2.tgz#28a6c869fc3a36a8be608ef21df63c0aad99d1ba"
+ integrity sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==
+ dependencies:
+ "@types/three" "*"
+ three "^0.170.0"
+
+stats.js@^0.17.0:
+ version "0.17.0"
+ resolved "https://registry.yarnpkg.com/stats.js/-/stats.js-0.17.0.tgz#b1c3dc46d94498b578b7fd3985b81ace7131cc7d"
+ integrity sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==
+
streamsearch@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz"
@@ -3216,12 +3620,17 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+suspend-react@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/suspend-react/-/suspend-react-0.1.3.tgz#a52f49d21cfae9a2fb70bd0c68413d3f9d90768e"
+ integrity sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==
+
tailwindcss-animate@^1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz"
integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
-"tailwindcss@>=3.0.0 || insiders", tailwindcss@3.4.1:
+tailwindcss@3.4.1:
version "3.4.1"
resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz"
integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==
@@ -3261,14 +3670,15 @@ tar@^6.1.11, tar@^6.2.1:
mkdirp "^1.0.3"
yallist "^4.0.0"
-tar@^7.4.3:
- version "7.4.3"
+tar@^7.4.3, tar@^7.5.10:
+ version "7.5.15"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.15.tgz#afe6d1316cddf614a566e3813e42fe01aed46fee"
+ integrity sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==
dependencies:
"@isaacs/fs-minipass" "^4.0.0"
chownr "^3.0.0"
minipass "^7.1.2"
- minizlib "^3.0.1"
- mkdirp "^3.0.1"
+ minizlib "^3.1.0"
yallist "^5.0.0"
text-table@~0.2.0:
@@ -3290,11 +3700,46 @@ thenify-all@^1.0.0:
dependencies:
any-promise "^1.0.0"
+three-mesh-bvh@^0.7.8:
+ version "0.7.8"
+ resolved "https://registry.yarnpkg.com/three-mesh-bvh/-/three-mesh-bvh-0.7.8.tgz#83156e4d3945734db076de1c94809331481b3fdd"
+ integrity sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==
+
+three-stdlib@^2.35.6:
+ version "2.36.1"
+ resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.36.1.tgz#7aad805f3de1b8f792274226132bda809fcb15c5"
+ integrity sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==
+ dependencies:
+ "@types/draco3d" "^1.4.0"
+ "@types/offscreencanvas" "^2019.6.4"
+ "@types/webxr" "^0.5.2"
+ draco3d "^1.4.1"
+ fflate "^0.6.9"
+ potpack "^1.0.1"
+
+three@^0.169.0:
+ version "0.169.0"
+ resolved "https://registry.yarnpkg.com/three/-/three-0.169.0.tgz#4a62114988ad9728d73526d1f1de6760c56b4adc"
+ integrity sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w==
+
+three@^0.170.0:
+ version "0.170.0"
+ resolved "https://registry.yarnpkg.com/three/-/three-0.170.0.tgz#6087f97aab79e9e9312f9c89fcef6808642dfbb7"
+ integrity sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==
+
tiny-relative-date@^1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz"
integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==
+tinyglobby@^0.2.12:
+ version "0.2.16"
+ resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6"
+ integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==
+ dependencies:
+ fdir "^6.5.0"
+ picomatch "^4.0.4"
+
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
@@ -3312,6 +3757,26 @@ treeverse@^3.0.0:
resolved "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz"
integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==
+troika-three-text@^0.52.0:
+ version "0.52.4"
+ resolved "https://registry.yarnpkg.com/troika-three-text/-/troika-three-text-0.52.4.tgz#f7b2389a2067d9506a5757457771cf4f6356e738"
+ integrity sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==
+ dependencies:
+ bidi-js "^1.0.2"
+ troika-three-utils "^0.52.4"
+ troika-worker-utils "^0.52.0"
+ webgl-sdf-generator "1.1.1"
+
+troika-three-utils@^0.52.4:
+ version "0.52.4"
+ resolved "https://registry.yarnpkg.com/troika-three-utils/-/troika-three-utils-0.52.4.tgz#9292019e93cab97582af1cf491c4c895e5c03b66"
+ integrity sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==
+
+troika-worker-utils@^0.52.0:
+ version "0.52.0"
+ resolved "https://registry.yarnpkg.com/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz#ba5525fc444345006ebab0bc9cabdd66f1561e66"
+ integrity sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==
+
ts-interface-checker@^0.1.9:
version "0.1.13"
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
@@ -3324,11 +3789,29 @@ tslib@^2.4.0:
tuf-js@^2.2.1:
version "2.2.1"
+ resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-2.2.1.tgz#fdd8794b644af1a75c7aaa2b197ddffeb2911b56"
+ integrity sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==
dependencies:
"@tufjs/models" "2.0.1"
debug "^4.3.4"
make-fetch-happen "^13.0.1"
+tuf-js@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-3.1.0.tgz#61b847fe9aa86a7d5bda655a4647e026aa73a1be"
+ integrity sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==
+ dependencies:
+ "@tufjs/models" "3.0.1"
+ debug "^4.4.1"
+ make-fetch-happen "^14.0.3"
+
+tunnel-rat@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/tunnel-rat/-/tunnel-rat-0.1.2.tgz#1717efbc474ea2d8aa05a91622457a6e201c0aeb"
+ integrity sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==
+ dependencies:
+ zustand "^4.3.2"
+
typescript@5.3.3:
version "5.3.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz"
@@ -3341,6 +3824,8 @@ undici-types@~5.26.4:
unique-filename@^3.0.0:
version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea"
+ integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==
dependencies:
unique-slug "^4.0.0"
@@ -3353,6 +3838,8 @@ unique-filename@^4.0.0:
unique-slug@^4.0.0:
version "4.0.0"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3"
+ integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==
dependencies:
imurmurhash "^0.1.4"
@@ -3381,11 +3868,21 @@ use-isomorphic-layout-effect@^1.2.0:
resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz"
integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==
+use-sync-external-store@^1.2.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d"
+ integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==
+
util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+utility-types@^3.11.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c"
+ integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==
+
validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
@@ -3404,6 +3901,16 @@ walk-up-path@^3.0.1:
resolved "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz"
integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==
+webgl-constants@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/webgl-constants/-/webgl-constants-1.1.1.tgz#f9633ee87fea56647a60b9ce735cbdfb891c6855"
+ integrity sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==
+
+webgl-sdf-generator@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz#3e1b422b3d87cd3cc77f2602c9db63bc0f6accbd"
+ integrity sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==
+
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
@@ -3426,6 +3933,8 @@ which@^2.0.1:
which@^4.0.0:
version "4.0.0"
+ resolved "https://registry.yarnpkg.com/which/-/which-4.0.0.tgz#cd60b5e74503a3fbcfbf6cd6b4138a8bae644c1a"
+ integrity sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==
dependencies:
isexe "^3.1.1"
@@ -3491,3 +4000,20 @@ zod@^3.24.1:
version "3.24.2"
resolved "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz"
integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==
+
+zustand@^3.7.1:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d"
+ integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==
+
+zustand@^4.3.2:
+ version "4.5.7"
+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.7.tgz#7d6bb2026a142415dd8be8891d7870e6dbe65f55"
+ integrity sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==
+ dependencies:
+ use-sync-external-store "^1.2.2"
+
+zustand@^5.0.1:
+ version "5.0.13"
+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.13.tgz#06995c126e8903cd27100af04da91c36ae3051ed"
+ integrity sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ==