diff --git a/docs/examples.md b/docs/examples.md
index af18733..db7a575 100644
--- a/docs/examples.md
+++ b/docs/examples.md
@@ -1,7 +1,7 @@
# Examples
-Examples are located in the `apps` directory.
+Examples are located in the `examples` directory.
## Adding New Examples
-To add a new example, create a new directory in the `apps` directory, copy the `package.json` from another example, and then start building!
+To add a new example, create a new directory in the `examples` directory, copy the `package.json` from another example, and then start building!
diff --git a/examples/dzi.html b/examples/dzi.html
new file mode 100644
index 0000000..f459824
--- /dev/null
+++ b/examples/dzi.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/examples/index.html b/examples/index.html
index 307c49e..4b9835d 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -1,17 +1,11 @@
-
-
+ EXAMPLES
+
+
-
diff --git a/examples/layers.html b/examples/layers.html
new file mode 100644
index 0000000..307c49e
--- /dev/null
+++ b/examples/layers.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/examples/package.json b/examples/package.json
index 15f03b9..fb913ea 100644
--- a/examples/package.json
+++ b/examples/package.json
@@ -23,7 +23,7 @@
"email": "su.li@alleninstitute.org"
}
],
- "license": "TBD",
+ "license": "BSD-3-Clause",
"type": "module",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -45,6 +45,7 @@
"dependencies": {
"@alleninstitute/vis-geometry": "workspace:*",
"@alleninstitute/vis-scatterbrain": "workspace:*",
+ "@alleninstitute/vis-dzi": "workspace:*",
"@czi-sds/components": "^20.0.1",
"@emotion/css": "^11.11.2",
"@emotion/react": "^11.11.4",
diff --git a/examples/readme.md b/examples/readme.md
index 5d58807..30e37bf 100644
--- a/examples/readme.md
+++ b/examples/readme.md
@@ -7,15 +7,23 @@
3. run `pnpm build`
4. `cd examples/`
5. `pnpm run dev`
-6. navigate to the running app (default `localhost://5173`)
+6. navigate to the running app (default `localhost://5173`). you can click a link to a specific example, or just use the address bar (`localhost://5173/{path_to_desired_example}`)
-## Why?
+## DZI Example
+
+### Why?
+
+A simple proof of concept for displaying DZI (Deep zoom images) using our utilities, as well as demonstrating how to share an Offscreen canvas to render WebGL to multiple client canvases.
+
+## Layers Example
+
+### Why?
the goal of this (rather complicated) example app is not to show off a cool app - rather its goal is to show that we can build complexity by composing simple, focused modules. As we (the AIBS Apps team) have developed ABC-Atlas, we've tried to make sure our visualization code stays general, and that each part does as little as possible. The result is that it was fairly easy to combine those components into this new app, which mixes a (terrible) UI, scatter-plot rendering, polygon-mesh rendering (for annotations) and multi-channel volumetric rendering into independent layers. Although each of these data types appear different, our caching, fetching, visibility determination, and render-scheduling code is the same regardless of the datatype to be rendered. All that is required is to fill in a simple interface, and provide a low-level "renderer" plugin in order to add a new "layer" type.
-## Demo Script
+### Demo Script
-### Programmatic Configuration
+#### Programmatic Configuration
After starting the app in a browser, you'll be greeted by a blank screen. We're going to demonstrate programmatic access to the features of this demo. The goal here is not to make users invoke command-line arguments, but rather just an easy way for interested parties to "peak under the hood". All the visualizations are configured here via simple json objects - it would not be a stretch to read these configuration options at initialization-time via URL parameters for example.
diff --git a/examples/src/common/loaders/ome-zarr/zarr-data.ts b/examples/src/common/loaders/ome-zarr/zarr-data.ts
index e2b9b7b..1c14120 100644
--- a/examples/src/common/loaders/ome-zarr/zarr-data.ts
+++ b/examples/src/common/loaders/ome-zarr/zarr-data.ts
@@ -120,7 +120,7 @@ export function pickBestScale(
const choice = datasets.reduce(
(bestSoFar, cur) =>
dstToDesired(vxlPitch(planeSizeInVoxels(plane, axes, bestSoFar)!), pxPitch) >
- dstToDesired(vxlPitch(planeSizeInVoxels(plane, axes, cur)!), pxPitch)
+ dstToDesired(vxlPitch(planeSizeInVoxels(plane, axes, cur)!), pxPitch)
? cur
: bestSoFar,
datasets[0]
@@ -135,9 +135,9 @@ export function sizeInUnits(
plane:
| AxisAlignedPlane
| {
- u: OmeDimension;
- v: OmeDimension;
- },
+ u: OmeDimension;
+ v: OmeDimension;
+ },
axes: readonly AxisDesc[],
dataset: DatasetWithShape
): vec2 | undefined {
diff --git a/examples/src/dzi/app.tsx b/examples/src/dzi/app.tsx
new file mode 100644
index 0000000..2dfeced
--- /dev/null
+++ b/examples/src/dzi/app.tsx
@@ -0,0 +1,6 @@
+import React from 'react';
+import { TwoClientsPOC } from './double';
+
+export function AppUi() {
+ return ;
+}
diff --git a/examples/src/dzi/double.tsx b/examples/src/dzi/double.tsx
new file mode 100644
index 0000000..1870904
--- /dev/null
+++ b/examples/src/dzi/double.tsx
@@ -0,0 +1,70 @@
+import { useContext, useEffect, useMemo, useRef, useState } from 'react';
+import { RenderServerProvider } from './render-server-provider';
+import React from 'react';
+import { DziView } from './dziView';
+import type { DziImage, DziRenderSettings } from '@alleninstitute/vis-dzi';
+import { Box2D, Vec2, type box2D } from '@alleninstitute/vis-geometry';
+
+const example: DziImage = {
+ format: 'jpeg',
+ imagesUrl:
+ 'https://idk-etl-prod-download-bucket.s3.amazonaws.com/idf-23-10-pathology-images/pat_images_HPW332DMO29NC92JPWA/H20.33.029-A12-I6-primary/H20.33.029-A12-I6-primary_files/',
+ overlap: 1,
+ size: {
+ width: 13446,
+ height: 11596,
+ },
+ tileSize: 512,
+};
+const exampleDzi: DziImage = {
+ imagesUrl: 'https://openseadragon.github.io/example-images/highsmith/highsmith_files/',
+ format: 'jpg',
+ overlap: 2,
+ size: {
+ width: 7026,
+ height: 9221,
+ },
+ tileSize: 256,
+};
+const exampleSettings: DziRenderSettings = {
+ camera: {
+ screenSize: [500, 500],
+ view: Box2D.create([0, 0], [1, 1]),
+ },
+};
+
+export function TwoClientsPOC() {
+ const [view, setView] = useState(Box2D.create([0, 0], [1, 1]));
+ const zoom = (e: React.WheelEvent) => {
+ const scale = e.deltaY > 0 ? 1.1 : 0.9;
+ const m = Box2D.midpoint(view);
+ const v = Box2D.translate(Box2D.scale(Box2D.translate(view, Vec2.scale(m, -1)), [scale, scale]), m);
+ setView(v);
+ };
+ const overlay = useRef(new Image());
+ useEffect(() => {
+ overlay.current.onload = () => {
+ console.log('loaded svg!');
+ };
+ overlay.current.src =
+ 'https://idk-etl-prod-download-bucket.s3.amazonaws.com/idf-22-07-pathology-image-move/pat_images_JGCXWER774NLNWX2NNR/7179-A6-I6-MTG-classified/annotation.svg';
+ }, []);
+ return (
+
+
+
+
+ );
+}
diff --git a/examples/src/dzi/dzi.ts b/examples/src/dzi/dzi.ts
new file mode 100644
index 0000000..90a8fc7
--- /dev/null
+++ b/examples/src/dzi/dzi.ts
@@ -0,0 +1,5 @@
+import { createRoot } from 'react-dom/client';
+import { AppUi } from './app';
+
+const uiroot = createRoot(document.getElementById('main')!);
+uiroot.render(AppUi());
diff --git a/examples/src/dzi/dziView.tsx b/examples/src/dzi/dziView.tsx
new file mode 100644
index 0000000..f50667c
--- /dev/null
+++ b/examples/src/dzi/dziView.tsx
@@ -0,0 +1,110 @@
+import { useContext, useEffect, useRef, useState } from 'react';
+import {
+ buildDziRenderer,
+ type DziImage,
+ type DziRenderSettings,
+ type DziTile,
+ type GpuProps as CachedPixels,
+ buildAsyncDziRenderer,
+} from '@alleninstitute/vis-dzi';
+import React from 'react';
+import { buildAsyncRenderer, type RenderFrameFn } from '@alleninstitute/vis-scatterbrain';
+import { isEqual } from 'lodash';
+import { renderServerContext } from './render-server-provider';
+import { Vec2, type vec2 } from '@alleninstitute/vis-geometry';
+
+type Props = {
+ id: string;
+ dzi: DziImage;
+ svgOverlay: HTMLImageElement;
+ wheel: (e: React.WheelEvent) => void;
+} & DziRenderSettings;
+
+function buildCompositor(svg: HTMLImageElement, settings: DziRenderSettings) {
+ return (ctx: CanvasRenderingContext2D, image: ImageData) => {
+ const { width, height } = svg;
+ const { camera } = settings;
+ const svgSize: vec2 = [width, height];
+ const start = Vec2.mul(camera.view.minCorner, svgSize);
+ const wh = Vec2.sub(Vec2.mul(camera.view.maxCorner, svgSize), start);
+ const [sx, sy] = start;
+ const [sw, sh] = wh;
+ // first, draw the results from webGL
+ ctx.putImageData(image, 0, 0);
+ // then add our svg overlay
+ ctx.drawImage(svg, sx, sy, sw, sh, 0, 0, ctx.canvas.width, ctx.canvas.height);
+ };
+}
+
+export function DziView(props: Props) {
+ const { svgOverlay, camera, dzi, wheel, id } = props;
+ const server = useContext(renderServerContext);
+ const cnvs = useRef(null);
+
+ // this is a demo, so rather than work hard to have a referentially stable camera,
+ // we just memoize it like so to prevent over-rendering
+ const [cam, setCam] = useState(camera);
+ useEffect(() => {
+ if (!isEqual(cam, camera)) {
+ setCam(camera);
+ }
+ }, [camera]);
+
+ // the renderer needs WebGL for us to create it, and WebGL needs a canvas to exist, and that canvas needs to be the same canvas forever
+ // hence the awkwardness of refs + an effect to initialize the whole hting
+ const renderer =
+ useRef<
+ ReturnType>
+ >();
+
+ useEffect(() => {
+ if (server && server.regl) {
+ renderer.current = buildAsyncDziRenderer(server.regl);
+ }
+ return () => {
+ if (cnvs.current) {
+ server?.destroyClient(cnvs.current);
+ }
+ };
+ }, [server]);
+
+ useEffect(() => {
+ if (server && renderer.current && cnvs.current) {
+ const renderMyData: RenderFrameFn = (target, cache, callback) => {
+ if (renderer.current) {
+ // erase the frame before we start drawing on it
+ return renderer.current(dzi, { camera: cam }, callback, target, cache);
+ }
+ return null;
+ };
+ const compose = buildCompositor(svgOverlay, { camera: cam });
+ server.beginRendering(
+ renderMyData,
+ (e) => {
+ switch (e.status) {
+ case 'begin':
+ server.regl?.clear({ framebuffer: e.target, color: [0, 0, 0, 0], depth: 1 });
+ break;
+ case 'progress':
+ // wanna see the tiles as they arrive?
+ e.server.copyToClient(compose);
+ break;
+ case 'finished': {
+ e.server.copyToClient(compose);
+ }
+ }
+ },
+ cnvs.current
+ );
+ }
+ }, [server, renderer.current, cnvs.current, cam]);
+ return (
+
+ );
+}
diff --git a/examples/src/dzi/render-server-provider.tsx b/examples/src/dzi/render-server-provider.tsx
new file mode 100644
index 0000000..4a0ad6b
--- /dev/null
+++ b/examples/src/dzi/render-server-provider.tsx
@@ -0,0 +1,13 @@
+import { RenderServer } from '@alleninstitute/vis-scatterbrain';
+import React, { createContext, useEffect, useRef, type PropsWithChildren } from 'react';
+
+export const renderServerContext = createContext(null);
+
+export function RenderServerProvider(props: PropsWithChildren<{}>) {
+ const server = useRef();
+ const { children } = props;
+ useEffect(() => {
+ server.current = new RenderServer([2048, 2048], []);
+ }, []);
+ return {children};
+}
diff --git a/examples/vite.config.ts b/examples/vite.config.ts
index fb5ef50..9c51638 100644
--- a/examples/vite.config.ts
+++ b/examples/vite.config.ts
@@ -3,6 +3,14 @@ import react from '@vitejs/plugin-react-swc';
import path from 'path';
// https://vitejs.dev/config/
export default defineConfig({
+ build: {
+ rollupOptions: {
+ input: {
+ layers: path.resolve(__dirname, './layers.html'),
+ dzi: path.resolve(__dirname, './dzi.html'),
+ },
+ },
+ },
plugins: [react()],
resolve: {
alias: {
diff --git a/packages/dzi/package.json b/packages/dzi/package.json
new file mode 100644
index 0000000..dd7e021
--- /dev/null
+++ b/packages/dzi/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@alleninstitute/vis-dzi",
+ "version": "0.0.3",
+ "contributors": [
+ {
+ "name": "Lane Sawyer",
+ "email": "lane.sawyer@alleninstitute.org"
+ },
+ {
+ "name": "Noah Shepard",
+ "email": "noah.shepard@alleninstitute.org"
+ },
+ {
+ "name": "Skyler Moosman",
+ "email": "skyler.moosman@alleninstitute.org"
+ },
+ {
+ "name": "Su Li",
+ "email": "su.li@alleninstitute.org"
+ }
+ ],
+ "license": "BSD-3-Clause",
+ "source": "src/index.ts",
+ "main": "dist/main.js",
+ "module": "dist/module.js",
+ "types": "dist/types.d.ts",
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "preinstall": "npx only-allow pnpm",
+ "typecheck": "tsc --noEmit",
+ "build": "parcel build --no-cache",
+ "watch": "parcel watch",
+ "test": "vitest --watch"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/AllenInstitute/vis.git"
+ },
+ "publishConfig": {
+ "registry": "https://npm.pkg.github.com/AllenInstitute"
+ },
+ "devDependencies": {
+ "@parcel/packager-ts": "^2.12.0",
+ "@parcel/transformer-typescript-types": "^2.12.0",
+ "@types/lodash": "^4.14.202",
+ "parcel": "2.12.0",
+ "typescript": "^5.3.3",
+ "vitest": "^1.4.0"
+ },
+ "dependencies": {
+ "@alleninstitute/vis-geometry": "workspace:*",
+ "@alleninstitute/vis-scatterbrain": "workspace:*",
+ "lodash": "^4.17.21",
+ "regl": "^2.1.0"
+ }
+}
\ No newline at end of file
diff --git a/packages/dzi/src/index.ts b/packages/dzi/src/index.ts
new file mode 100644
index 0000000..93f9b5c
--- /dev/null
+++ b/packages/dzi/src/index.ts
@@ -0,0 +1,2 @@
+export { getVisibleTiles, type DziImage, type DziTile } from './loader';
+export { buildDziRenderer, buildAsyncDziRenderer, type RenderSettings as DziRenderSettings } from './renderer';
diff --git a/packages/dzi/src/loader.test.ts b/packages/dzi/src/loader.test.ts
new file mode 100644
index 0000000..59f9529
--- /dev/null
+++ b/packages/dzi/src/loader.test.ts
@@ -0,0 +1,72 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+import { tilesInLayer, type DziImage, tileWithOverlap, imageSizeAtLayer, firstSuitableLayer } from './loader';
+import { Box2D } from '@alleninstitute/vis-geometry';
+
+describe('tiling math', () => {
+ const highsmith: DziImage = {
+ format: 'jpeg',
+ imagesUrl: 'https://openseadragon.github.io/example-images/highsmith/highsmith_files/',
+ overlap: 2,
+ size: {
+ width: 7026,
+ height: 9221,
+ },
+ tileSize: 256,
+ };
+ describe('layer selection', () => {
+ it('picks layer 9 when the screen is 512 px wide (and the image is much larger)', () => {
+ expect(firstSuitableLayer(highsmith.size.width, 512)).toEqual(9);
+ });
+ it('picks layer 8 when the screen is less than 256 px wide (and the image is much larger)', () => {
+ expect(firstSuitableLayer(highsmith.size.width, 255)).toEqual(8);
+ });
+ it('wont pick a layer that wont exist (screen larger than image)', () => {
+ const pretend_max_image_width = 512;
+ expect(firstSuitableLayer(pretend_max_image_width, 4096)).toEqual(9);
+ });
+ });
+ it('divide 512 into 2 chunks', () => {
+ const intervals = tileWithOverlap(512, 256, 1);
+ console.log(intervals);
+ expect(intervals.length).toEqual(2);
+ expect(intervals[0].min).toBe(0);
+ expect(intervals[0].max).toBe(257);
+ expect(intervals[1].min).toBe(255);
+ expect(intervals[1].max).toBe(512);
+ });
+ // these sizes were all checked manually against the returned tile sizes from the example dzi in the given link
+ it('matches observed image dimensions (https://openseadragon.github.io/example-images/highsmith/highsmith.dzi) at layer 7', () => {
+ const tiles = tilesInLayer(highsmith, 7);
+ expect(tiles.length).toBe(1);
+ const s = Box2D.size(tiles[0][0]);
+ expect(s).toEqual([55, 73]);
+ });
+ it('matches observed image dimensions (https://openseadragon.github.io/example-images/highsmith/highsmith.dzi) at layer 8', () => {
+ const tiles = tilesInLayer(highsmith, 8);
+ expect(tiles.length).toBe(1);
+ const s = Box2D.size(tiles[0][0]);
+ expect(s).toEqual([110, 145]);
+ });
+ it('image size is as expected for real data (layer 9) ', () => {
+ const size = imageSizeAtLayer(highsmith, 9);
+ expect(size).toEqual([220, 289]);
+ });
+ it('matches observed image dimensions (https://openseadragon.github.io/example-images/highsmith/highsmith.dzi) at layer 9', () => {
+ const tiles = tilesInLayer(highsmith, 9);
+ expect(tiles.length).toBe(2);
+ expect(Box2D.size(tiles[0][0])).toEqual([220, 258]);
+ expect(Box2D.size(tiles[1][0])).toEqual([220, 35]);
+ });
+
+ it('matches observed image dimensions (https://openseadragon.github.io/example-images/highsmith/highsmith.dzi) at layer 10', () => {
+ const tiles = tilesInLayer(highsmith, 10);
+ expect(tiles.length).toBe(3);
+ expect(tiles[0].length).toBe(2);
+ expect(Box2D.size(tiles[0][0])).toEqual([258, 258]); // 0_0
+ expect(Box2D.size(tiles[0][1])).toEqual([186, 258]); // 1_0
+ expect(Box2D.size(tiles[1][0])).toEqual([258, 260]); // 0_1
+ expect(Box2D.size(tiles[1][1])).toEqual([186, 260]); // 1_1
+ expect(Box2D.size(tiles[2][0])).toEqual([258, 67]); // 0_2
+ expect(Box2D.size(tiles[2][1])).toEqual([186, 67]); // 1_2
+ });
+});
diff --git a/packages/dzi/src/loader.ts b/packages/dzi/src/loader.ts
new file mode 100644
index 0000000..0edda84
--- /dev/null
+++ b/packages/dzi/src/loader.ts
@@ -0,0 +1,141 @@
+import { type vec2, type box2D, Box2D, type Interval, Vec2 } from '@alleninstitute/vis-geometry';
+
+type DziTilesRoot = `${string}_files/`;
+// see https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc645077(v=vs.95)?redirectedfrom=MSDN
+// TODO find a less ancient spec...
+export type DziImage = {
+ imagesUrl: DziTilesRoot; // lets say you found a dzi at http://blah.com/deepzoom.dzi
+ // imagesUrl would be the path which contains all the files for the actual image tiles:
+ // in this example:
+ // http://blah.com/deepzoom_files/
+ format: 'jpeg' | 'png' | 'jpg' | 'JPG' | 'PNG';
+ overlap: number; // in pixels, ADDED every side of any given tile (for example, with overlap=1 and tilesize=256, you could see a jpeg of size 258x258).
+ // note that tiles on the edge wont have padding (on a per edge basis!)
+ tileSize: number;
+ size: {
+ width: number;
+ height: number;
+ };
+};
+type TileIndex = {
+ row: number;
+ col: number;
+};
+export type DziTile = {
+ url: string;
+ index: TileIndex;
+ relativeLocation: box2D;
+ layer: number;
+};
+function tileUrl(dzi: DziImage, level: number, tile: TileIndex): string {
+ return `${dzi.imagesUrl}${level.toFixed(0)}/${tile.col.toFixed(0)}_${tile.row.toFixed(0)}.${dzi.format}`;
+}
+// some quick notes on this deepzoom image format:
+// 1. image / tile names are given by {column}_{row}.{format}
+// 2. a layer (which may contain multiple tiles) is a folder
+// 2.1 that folder contains all the tiles for that layer.
+// layer 0 should contain a single image, 0_0, which is a single pixel!
+// the origin of this tile indexing system is the top left of the image.
+// the spec says that the "size" of a layer is 2*layer... but its closer to pow(2, layer).
+// note also that is more of a maximum size... for example I've seen 9/0_0.jpeg have a size of 421x363, both of those are lower than pow(2,9)=512
+// note also that overlap is ADDED to the tile-size, which is a weird choice, as tileSize seems like it must be a power of 2...🤷♀️
+
+/**
+ *
+ * @param dzi the dzi image to read tiles from
+ * @param camera.view a parametric box [0:1] relative the the image as a whole. note that 0 is the TOP of the image.
+ * @param camera.screenSize the size, in output pixels, at which the requested region will be displayed.
+ * @return a list of tiles at the most appropriate resolution which may be fetched and displayed
+ */
+export function getVisibleTiles(dzi: DziImage, camera: { view: box2D; screenSize: vec2 }): DziTile[] {
+ const viewWidth = Box2D.size(camera.view)[0];
+ const layer = firstSuitableLayer(dzi.size.width, camera.screenSize[0] / viewWidth);
+ const layerResolution = imageSizeAtLayer(dzi, layer);
+
+ const availableTiles = tilesInLayer(dzi, layer);
+ const baseLayer = findLargestSingleTileLayer(dzi);
+ const baseIndex: TileIndex = { col: 0, row: 0 }
+ const baseTile: DziTile = {
+ index: baseIndex,
+ layer: baseLayer,
+ relativeLocation: Box2D.create([0, 0], [1, 1]),
+ url: tileUrl(dzi, baseLayer, baseIndex)
+ }
+
+ // note that the tile boxes are in pixels relative to the layer in which they reside
+ // the given view is assumed to be a parameter (in the space [0:1]) of the image as a whole
+ // so, we must convert literal pixel boxes into their relative position in the image as a whole:
+ const tileBoxAsParameter = (tile: box2D) =>
+ Box2D.create(Vec2.div(tile.minCorner, layerResolution), Vec2.div(tile.maxCorner, layerResolution));
+
+ const tiles: DziTile[] = availableTiles
+ .flatMap((row, rowIndex) => {
+ return row.map((tile, colIndex) => {
+ const index = { col: colIndex, row: rowIndex };
+ return {
+ index,
+ layer,
+ relativeLocation: tileBoxAsParameter(tile),
+ url: tileUrl(dzi, layer, index),
+ };
+ });
+ // filter out tiles which are not in view
+ })
+ .filter((t) => !!Box2D.intersection(t.relativeLocation, camera.view));
+ return (baseLayer < layer) ? [baseTile, ...tiles] : tiles;
+}
+/**
+ * NOTE: THE REMAINDER OF THIS FILE IS EXPORTED ONLY FOR TESTING PURPOSES
+ * **/
+
+// starting with the width of an image, and the width of the screen on which to display that image
+// return the highest-numbered (aka highest resolution) dzi-layer folder which has a size that would be lower than the screen resolution
+export function firstSuitableLayer(imageWidth: number, screenWidth: number) {
+ const idealLayer = Math.ceil(Math.log2(screenWidth));
+ const biggestRealLayer = Math.ceil(Math.log2(imageWidth));
+ return Math.min(biggestRealLayer, idealLayer);
+}
+
+/**
+ *
+ * @param dzi
+ * @returns the index of the largest layer which contains only a single tile
+ *
+ */
+function findLargestSingleTileLayer(dzi: DziImage): number {
+ return Math.floor(Math.log2(dzi.tileSize))
+}
+export function tileWithOverlap(total: number, step: number, overlap: number): Interval[] {
+ const blocks: Interval[] = [];
+ let start = 0;
+ while (start < total) {
+ const next = Math.min(total, start + step + overlap + (start > 0 ? overlap : 0));
+ blocks.push({ min: start, max: next });
+ if (next >= total) {
+ return blocks;
+ }
+ start = next - 2 * overlap;
+ }
+ return blocks;
+}
+function boxFromRowCol(row: Interval, col: Interval) {
+ return Box2D.create([col.min, row.min], [col.max, row.max]);
+}
+export function imageSizeAtLayer(dzi: DziImage, layer: number) {
+ const { size } = dzi;
+ const layerMaxSize = 2 ** layer;
+ let total: vec2 = [size.width, size.height];
+ while (total[0] > layerMaxSize || total[1] > layerMaxSize) {
+ total = Vec2.ceil(Vec2.scale(total, 1 / 2));
+ }
+ return total;
+}
+export function tilesInLayer(dzi: DziImage, layer: number): box2D[][] {
+ const { overlap, tileSize } = dzi;
+ // figure out the effective size of a layer by dividing the total size by 2 until its less than our layerMax
+ // note: if this all feels weird, its because I can find no reference implementation or specification, its a bit of reverse engineering
+ const total: vec2 = imageSizeAtLayer(dzi, layer);
+ const rows = tileWithOverlap(Math.ceil(total[1]), tileSize, overlap);
+ const cols = tileWithOverlap(Math.ceil(total[0]), tileSize, overlap);
+ return rows.map((r) => cols.map((c) => boxFromRowCol(r, c)));
+}
diff --git a/packages/dzi/src/renderer.ts b/packages/dzi/src/renderer.ts
new file mode 100644
index 0000000..4962a41
--- /dev/null
+++ b/packages/dzi/src/renderer.ts
@@ -0,0 +1,74 @@
+import { Box2D, type box2D, type vec2 } from '@alleninstitute/vis-geometry';
+import {
+ type Renderer,
+ type ReglCacheEntry,
+ type CachedTexture,
+ buildAsyncRenderer,
+} from '@alleninstitute/vis-scatterbrain';
+import type REGL from 'regl';
+import { type DziImage, type DziTile, getVisibleTiles } from './loader';
+import { buildTileRenderer } from './tile-renderer';
+
+export type RenderSettings = {
+ camera: {
+ view: box2D;
+ screenSize: vec2;
+ };
+};
+
+type GpuProps = {
+ pixels: CachedTexture;
+};
+export function buildDziRenderer(regl: REGL.Regl): Renderer {
+ const renderCmd = buildTileRenderer(regl, { enable: false });
+ const fetchDziTile = (
+ tile: DziTile,
+ _img: DziImage,
+ _settings: RenderSettings,
+ _abort?: AbortSignal
+ ): Record Promise> => {
+ return {
+ pixels: () => {
+ return new Promise((resolve, reject) => {
+ try {
+ const img = new Image();
+ img.crossOrigin = 'anonymous';
+ img.onload = (ev) => {
+ resolve({ type: 'texture', texture: regl.texture(img), bytes: img.width * img.height * 4 }); // close enough
+ };
+ img.src = tile.url;
+ } catch (err) {
+ reject(err);
+ }
+ });
+ },
+ };
+ };
+ return {
+ destroy: () => { }, // no private resources to destroy
+ cacheKey: (item, _requestKey, _data, _settings) => `${item.url}`,
+ fetchItemContent: fetchDziTile,
+ getVisibleItems: (dzi, settings) => {
+ return getVisibleTiles(dzi, settings.camera);
+ },
+ isPrepared: (cacheData): cacheData is GpuProps => {
+ const pixels = cacheData['pixels'];
+ return !!pixels && pixels.type === 'texture';
+ },
+ renderItem: (target, tile, _dzi, settings, gpuData) => {
+ const { pixels } = gpuData;
+ const { camera } = settings;
+ renderCmd({
+ target,
+ depth: -tile.layer / 1000,
+ img: pixels.texture,
+ tile: Box2D.toFlatArray(tile.relativeLocation),
+ view: Box2D.toFlatArray(camera.view),
+ });
+ },
+ };
+}
+
+export function buildAsyncDziRenderer(regl: REGL.Regl) {
+ return buildAsyncRenderer(buildDziRenderer(regl));
+}
diff --git a/packages/dzi/src/tile-renderer.ts b/packages/dzi/src/tile-renderer.ts
new file mode 100644
index 0000000..6d2391f
--- /dev/null
+++ b/packages/dzi/src/tile-renderer.ts
@@ -0,0 +1,59 @@
+import type { vec4 } from '@alleninstitute/vis-geometry';
+import REGL from 'regl';
+type Props = {
+ img: REGL.Texture2D;
+ view: vec4;
+ tile: vec4;
+ depth: number;
+ target: REGL.Framebuffer2D | null;
+};
+const vert = `
+precision highp float;
+uniform vec4 view;
+uniform vec4 tile;
+uniform float depth;
+attribute vec2 position;
+varying vec2 uv;
+void main(){
+ uv = position;
+ vec2 size = view.zw-view.xy;
+ vec2 tileSize = tile.zw-tile.xy;
+ vec2 tilePosition = (position * tileSize)+tile.xy;
+ vec2 pos =(tilePosition-view.xy)/size;
+ // to clip space:
+ pos = (pos*2.0)-1.0;
+ gl_Position = vec4(pos.x,pos.y,depth,1);
+}`;
+
+const frag = `
+precision highp float;
+varying vec2 uv;
+uniform sampler2D img;
+
+void main(){
+ gl_FragColor = texture2D(img, uv);
+}
+`;
+export function buildTileRenderer(regl: REGL.Regl, blend: REGL.BlendingOptions) {
+ const cmd = regl({
+ vert,
+ frag,
+ depth: {
+ enable: true,
+ },
+ blend,
+ count: 4,
+ primitive: 'triangle fan',
+ attributes: {
+ position: [0, 0, 1, 0, 1, 1, 0, 1],
+ },
+ uniforms: {
+ img: regl.prop('img'),
+ view: regl.prop('view'),
+ tile: regl.prop('tile'),
+ depth: regl.prop('depth'),
+ },
+ framebuffer: regl.prop('target'),
+ });
+ return (p: Props) => cmd(p);
+}
diff --git a/packages/dzi/tsconfig.json b/packages/dzi/tsconfig.json
new file mode 100644
index 0000000..baaee9e
--- /dev/null
+++ b/packages/dzi/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "paths": {
+ "~/*": ["./*"]
+ },
+ "moduleResolution": "Bundler",
+ "module": "ES2022",
+ "target": "ES2022",
+ "lib": ["es2022", "DOM"]
+ },
+ "include": ["./src/index.ts"]
+}
diff --git a/packages/geometry/package.json b/packages/geometry/package.json
index fd1b2fe..f7ed500 100644
--- a/packages/geometry/package.json
+++ b/packages/geometry/package.json
@@ -23,7 +23,7 @@
"email": "su.li@alleninstitute.org"
}
],
- "license": "TBD",
+ "license": "BSD-3-Clause",
"source": "src/index.ts",
"main": "dist/main.js",
"module": "dist/module.js",
@@ -52,4 +52,4 @@
"typescript": "^5.3.3",
"vitest": "^1.4.0"
}
-}
+}
\ No newline at end of file
diff --git a/packages/scatterbrain/package.json b/packages/scatterbrain/package.json
index 941b8a9..682be44 100644
--- a/packages/scatterbrain/package.json
+++ b/packages/scatterbrain/package.json
@@ -23,7 +23,7 @@
"email": "su.li@alleninstitute.org"
}
],
- "license": "TBD",
+ "license": "BSD-3-Clause",
"source": "src/index.ts",
"main": "dist/main.js",
"module": "dist/module.js",
@@ -58,4 +58,4 @@
"lodash": "^4.17.21",
"regl": "^2.1.0"
}
-}
+}
\ No newline at end of file
diff --git a/packages/scatterbrain/src/abstract/README.md b/packages/scatterbrain/src/abstract/README.md
new file mode 100644
index 0000000..e91196f
--- /dev/null
+++ b/packages/scatterbrain/src/abstract/README.md
@@ -0,0 +1,64 @@
+# How To use generic rendering tools for your cool data
+
+## Use case
+
+Lets say you have a big dataset, and you'd like to view it and interact with that view. The dataset is big enough that having your users download the whole thing is prohibitive. Often, datasets like this are partitioned in some way - [OME-ZARR](https://ngff.openmicroscopy.org/latest/) as an example, uses a pyramid of chunks - each successive "layer" of the pyramid is a higher resolution view of the data, and is divided into chunks or tiles.
+
+However your data is subdivided, we should be able to start with a renderer for the smallest, simplest unit (a single tile or chunk) and build up from there - the tools in this folder provide patterns for dealing with two common issues - caching chunks, and coordinating render scheduling when the data lives elsewhere.
+
+### Walkthrough
+
+#### prerequisites
+
+1. you plan to do your rendering with [reGL](https://github.com/regl-project/regl/tree/master) and you have some familiarity with its basic concepts and verbiage (framebuffer, command, etc.)
+2. you have data that is partitioned in some way, preferably spatially.
+
+Lets start with scheduling first. Our goal is to be able to call the function `buildAsyncRenderer` from `async-frame.ts`. Its signature is thus:
+`function buildAsyncRenderer>(renderer: Renderer)`
+
+It takes only a single argument, `Renderer`, but that argument is highly generic. Renderer is an interface that you will use to describe your data. The generic parameters end up being fairly simple:
+
+1. `Dataset` is the type of the whole thing you're rendering - for example a large tiled image or volume. Because we're assuming the dataset is remote, it need not be literally the dataset - often its just basic metadata and a URL.
+
+2. `Item` is the type of a renderable subdivision - a tile or small chunk. Again, it need not be the literal pixels, triangles, whatever! A placeholder (e.g. a path from the main url where the data lives) is great.
+
+3. `Settings` - a general bucket for things that dont change for a complete view - think camera angles, point sizes, color settings, etc.
+
+4. `SemanticKey` and `CacheKey` - ignore these for now - just think "string".
+
+5. `GpuData` - this is probably a bad name. As you will see later, we're going to write a function that looks like `renderItem(dataset, item, settings, gpuData)`. when we get there, gpuData will be a collection of entries from our cache.
+
+Even though I just described these, they dont need to be planned out in advance or anything - they'll arise naturally as we write the functions that form the interface of the Renderer we're trying to build to pass to `buildAsyncRenderer`.
+
+### Renderer Interface
+
+Lets take a look at the Renderer interface items, one at a time. Each describes something the framework needs to be able to manage rendering properly, and they tend to be simple:
+
+1. `getVisibleItems` - the first step of any good renderer is knowing the minimum amount of work to do! Given a Dataset and some Settings, return an array of Items that are in view. This is a strong hint that whatever concept of a "Camera" that makes sense should be in your settings object.
+2. `fetchItemContent` - given a single item (and dataset and settings of course), return functions that fetch the raw, renderable data that an Item represents. In many cases, this could be very simple:
+ `return {pixels: ()=>${dataset.url}/${item.path}.jpg}` would be reasonable! the shape of this interface is this way to support "Columnar" data - imagine rows in a database describing cells - the columns of the table contain X and Y positions, and perhaps colors or other measurements. In this analogy, an Item is a group of rows of the table, and what is returned would be a `SELECT` of each column of interest to the renderer.
+3. `isPrepared` is a simple convenience feature - because the system supports independent, cacheable columns, it can be awkward in the final step to render - you end up with a bunch of boilerplate to prove to Typescript that you have all the data! `isPrepared` is a [type guard](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates) that helps make working with the data from the cache slightly more tidy.
+4. `renderItem` Is the main event! given a buffer to render to, and everything about the Item you're rendering, actually do the drawing. This usually involves calling one (or more!) reGL commands with the given target buffer and cached gpu data.
+5. `cacheKey` - the cache system needs to know how to uniquely identify any data it fetches. What makes sense here will depend on your data entirely. Make sure this is a pure function of its input!
+6. `destroy` - if you allocated (excluding cache data!) any resources, particularly GPU resources, you can release them here, think lookup tables or textures, etc.
+
+Think of the flow of rendering like this:
+
+`getVisibleItems(dataset).map(item=>Promise.awaitAll(fetchItemContent(item).map(fetcher=>fetcher())).then(gpuData)=>renderItem(dataset,item,gpuData))`
+
+### Now make it easy
+
+That was fun! now we can finally call `buildAsyncRenderer` on an object containing the functions we just wrote. TS will likely infer the generic types for you. The result of buildAsyncRenderer is a function that when called, will return a handle to a running frame which represents progress rendering to the given framebuffer. Because the data my not be in the cache yet, this frame may take a very long time to complete, and thus, there are options for cancelling it, as well as responding to various events (begin, progress, finished, etc).
+
+## Using it on a page
+
+Now that we have a function that can render, how do we deploy it? there are a few options. The first is the most direct - create a canvas, initialize WebGL and REGL on that canvas, then repeatedly call your renderer in response to events (move the camera, etc). The catch here is that GPU resources are bound to this canvas, and cannot be shared with other canvases. Often, this is a non-issue: you have a single page with a single view of big data, and your done. If so, feel free to stop reading. If however, you need multiple views of potentially shared data, you can use the render-server, which lets you draw to many canvases as though they shared a single WebGL context and cache. This will incur a small performance penalty when copying rendered results from the server to the client - in practice for a handful of views, this cost will be dwarfed by other bottlenecks.
+
+### Walkthrough
+
+1. Create a RenderServer instance. It will create its own reGL context, cache, and offscreen canvas.
+2. Create your AsyncRenderer as described earlier in this document, you must use `server.regl` to construct your renderer.
+3. Build your canvas component with access to a reference to this shared server. When its time to render a frame, call `server.beginRendering`. This function requires a wrapper around your Async Renderer, a callback for handling Render frame lifecycle events, and a reference to the Client canvas (where you want the rendering to appear when its done).
+4. The first issue will be the render function wrapper - because the server is generic, and could be shared between renderers of different data types, it cant really know about a particular renderer's dataset types. We could make opaque placeholder types, but those are often confusing. Instead, you can simply wrap your renderer like so:
+ `const wrapper = (target,cache,callback)=>myFancyAsyncRenderer(myDataset, mySettings, callback,target,cache)`
+5. Next up is the callback. At minimum, you must at some point handle an event (for example, the `finished` event) by copying the results of the rendering to the client, like so: `if(evnt.status == 'finished') evnt.server.copyToClient(compose)`. As you can see, how the pixels get to the client can be controlled by authoring a `compose` function. This function is given the 2D rendering [context](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D) on which to draw, and an [ImageData](https://developer.mozilla.org/docs/Web/API/ImageData) object representing the pixels rendered by reGL. In our testing, the most performant (over all browsers tested) way to deal with this is `context.putImageData(imageData, 0,0)`
diff --git a/packages/scatterbrain/src/abstract/async-frame.ts b/packages/scatterbrain/src/abstract/async-frame.ts
new file mode 100644
index 0000000..2879831
--- /dev/null
+++ b/packages/scatterbrain/src/abstract/async-frame.ts
@@ -0,0 +1,214 @@
+import { partial } from 'lodash';
+import { AsyncDataCache } from '../dataset-cache';
+import type { ReglCacheEntry, Renderer } from './types';
+import type REGL from 'regl';
+
+/// THIS file is a copy of render-queue, but with some changes made that I hope will make the idea of beginLongRunningFrame easier to use ///
+// TODO: delete (or make deprecated) the old one
+// the most obvious difference: a config parameter, rather than a function over 11 arguments!
+// the second difference is more subtle - you'll notice an "isPrepared" parameter, which we use to deal with some competing interests
+// 1. it would be nice to write render functions that use objects (see the type GpuData) rather than records from strings to the data we want
+// 2. this desire is complicated by our desire to share GPU-resident data if possible! because different renderers might want different "objects" to render which *could* all share raw gpu resources
+// it becomes very difficult to express the types of such a system statically.
+// SO: by having render-authors provide a type-guard, we can safely (provided the guard is reasonable) cast a record to a nice, friendly object 'GpuData' at runtime!
+// note also: the cache is set up to dissuade users from holding on to references to data in the cache - its still possible of course (this is typescript!) but the whole system is set up to accept
+// a generic useWithCache(...) function, which also makes this tricky
+
+export type FrameLifecycle = {
+ cancelFrame: (reason?: string) => void;
+};
+
+export type FrameBegin = { status: 'begin' };
+export type FrameProgress = { status: 'progress'; dataset: Dataset; renderedItems: ReadonlyArray- };
+export type FrameCancelled = { status: 'cancelled' };
+export type FrameFinished = { status: 'finished' };
+export type FrameError = { status: 'error'; error: unknown };
+
+export type AsyncFrameEvent =
+ | FrameBegin
+ | FrameProgress
+ | FrameFinished
+ | FrameCancelled
+ | FrameError;
+export type RenderCallback = (event: AsyncFrameEvent) => void;
+
+export type RenderFrameConfig<
+ Dataset,
+ Item,
+ Settings,
+ RqKey extends string,
+ CacheKey extends string,
+ CacheEntryType,
+ GpuData extends Record,
+> = {
+ maximumInflightAsyncTasks: number; // Maximum number of in-flight fetches to run at any time for this frame
+ queueProcessingIntervalMS: number; // The length of time to wait between processing the queue in milliseconds.
+ queueTimeBudgetMS: number; // Spend at most (soft limit) this many milliseconds working on the queue at a time
+ items: Item[]; // the items to render
+ mutableCache: AsyncDataCache; // the cached results of fetching item contents
+ dataset: Dataset; // the dataset comprised of all Items
+ settings: Settings; // the settings (anything that is the same for the entire frame, think colors, point-sizes etc.)
+ requestsForItem: (
+ item: Item,
+ dataset: Dataset,
+ settings: Settings,
+ signal?: AbortSignal
+ ) => Record Promise>;
+ lifecycleCallback: RenderCallback;
+ cacheKeyForRequest: (item: Item, requestKey: RqKey, dataset: Dataset, settings: Settings) => CacheKey;
+ isPrepared: (cacheData: Record) => cacheData is GpuData;
+ renderItem: (item: Item, dataset: Dataset, settings: Settings, gpuData: GpuData) => void;
+};
+
+export function beginFrame<
+ Dataset,
+ Item,
+ Settings,
+ RqKey extends string,
+ CacheKey extends string,
+ CacheEntryType,
+ GpuData extends Record,
+>(config: RenderFrameConfig): FrameLifecycle {
+ const {
+ maximumInflightAsyncTasks,
+ queueTimeBudgetMS,
+ queueProcessingIntervalMS,
+ cacheKeyForRequest,
+ settings,
+ items,
+ mutableCache,
+ lifecycleCallback,
+ renderItem,
+ requestsForItem,
+ isPrepared,
+ dataset,
+ } = config;
+
+ const abort = new AbortController();
+ const queue: Item[] = [...items];
+ const taskCancelCallbacks: Array<() => void> = [];
+ const fancy = (itemToRender: Item, maybe: Record) => {
+ if (isPrepared(maybe)) {
+ renderItem(itemToRender, dataset, settings, maybe);
+ }
+ };
+ const reportStatus = (event: AsyncFrameEvent, synchronous: boolean = false) => {
+ // we want to report our status, however the flow of events can be confusing -
+ // our callers anticipate an asynchronous (long running) frame to be started,
+ // but there are scenarios in which the whole thing is completely synchronous
+ // callers who are scheduling things may be surprised that their frame finished
+ // before the code that handles it appears to start. thus, we make the entire lifecycle callback
+ // system async, to prevent surprises.
+ if (synchronous) {
+ lifecycleCallback(event);
+ } else {
+ Promise.resolve().then(() => lifecycleCallback(event));
+ }
+ };
+
+ const doWorkOnQueue = (intervalId: number) => {
+ // try our best to cleanup if something goes awry
+ const startWorkTime = performance.now();
+ const cleanupOnError = (err: unknown) => {
+ // clear the queue and the staging area (inFlight)
+ taskCancelCallbacks.forEach((cancelMe) => cancelMe());
+ queue.splice(0, queue.length);
+ // stop fetching
+ abort.abort(err);
+ clearInterval(intervalId);
+ // pass the error somewhere better:
+ reportStatus({ status: 'error', error: err }, true);
+ };
+ while (mutableCache.getNumPendingTasks() < Math.max(maximumInflightAsyncTasks, 1)) {
+ // We know there are items in the queue because of the check above, so we assert the type exist
+ const itemToRender = queue.shift();
+ if (!itemToRender) {
+ break;
+ }
+ const toCacheKey = (rq: RqKey) => cacheKeyForRequest(itemToRender, rq, dataset, settings);
+ try {
+ const result = mutableCache.cacheAndUse(
+ requestsForItem(itemToRender, dataset, settings, abort.signal),
+ partial(fancy, itemToRender),
+ toCacheKey,
+ () => reportStatus({ status: 'progress', dataset, renderedItems: [itemToRender] }, true)
+ );
+ if (result !== undefined) {
+ // put this cancel callback in a list where we can invoke if something goes wrong
+ // note that it is harmless to cancel a task that was completed
+ taskCancelCallbacks.push(result);
+ }
+ } catch (err) {
+ cleanupOnError(err);
+ }
+ if (performance.now() - startWorkTime > queueTimeBudgetMS) {
+ // used up all our time - leave remaining work for later
+ break;
+ }
+ }
+ if (queue.length < 1) {
+ // we cant add anything to the in-flight staging area, the final task
+ // is already in flight
+ if (mutableCache.getNumPendingTasks() < 1) {
+ // we do want to wait for that last in-flight task to actually finish though:
+ clearInterval(intervalId);
+ reportStatus({ status: 'finished' });
+ }
+ return;
+ }
+ };
+ const interval = setInterval(() => doWorkOnQueue(interval), queueProcessingIntervalMS);
+
+ // do some work right now...
+ if (queue.length > 0) {
+ reportStatus({ status: 'begin' }, true);
+ doWorkOnQueue(interval);
+ // return a function to allow our caller to cancel the frame - guaranteed that no settings/data will be
+ // touched/referenced after cancellation, unless the author of render() did some super weird bad things
+ return {
+ cancelFrame: (reason?: string) => {
+ taskCancelCallbacks.forEach((cancelMe) => cancelMe());
+ abort.abort(new DOMException(reason, 'AbortError'));
+ clearInterval(interval);
+ reportStatus({ status: 'cancelled' });
+ },
+ };
+ }
+ return {
+ cancelFrame: () => {},
+ };
+}
+
+export function buildAsyncRenderer<
+ Dataset,
+ Item,
+ Settings,
+ SemanticKey extends string,
+ CacheKeyType extends string,
+ GpuData extends Record,
+>(renderer: Renderer) {
+ return (
+ data: Dataset,
+ settings: Settings,
+ callback: RenderCallback,
+ target: REGL.Framebuffer2D | null,
+ cache: AsyncDataCache
+ ) => {
+ const { renderItem, isPrepared, cacheKey, fetchItemContent, getVisibleItems } = renderer;
+ const config: RenderFrameConfig = {
+ queueProcessingIntervalMS: 33,
+ maximumInflightAsyncTasks: 5,
+ queueTimeBudgetMS: 16,
+ cacheKeyForRequest: cacheKey,
+ dataset: data,
+ isPrepared: isPrepared,
+ items: getVisibleItems(data, settings),
+ lifecycleCallback: callback,
+ mutableCache: cache,
+ renderItem: partial(renderItem, target),
+ requestsForItem: fetchItemContent,
+ settings,
+ };
+ return beginFrame(config);
+ };
+}
diff --git a/packages/scatterbrain/src/abstract/render-server.ts b/packages/scatterbrain/src/abstract/render-server.ts
new file mode 100644
index 0000000..0f1acda
--- /dev/null
+++ b/packages/scatterbrain/src/abstract/render-server.ts
@@ -0,0 +1,179 @@
+import { AsyncDataCache } from '../dataset-cache';
+import type { ReglCacheEntry } from './types';
+import { Vec2, type vec2 } from '@alleninstitute/vis-geometry';
+import REGL from 'regl';
+import { type AsyncFrameEvent, type RenderCallback } from './async-frame';
+import { type FrameLifecycle } from '../render-queue';
+
+function destroyer(item: ReglCacheEntry) {
+ switch (item.type) {
+ case 'texture':
+ item.texture.destroy();
+ break;
+ case 'buffer':
+ item.buffer.destroy();
+ break;
+ }
+}
+// return the size, in bytes, of some cached entity!
+function sizeOf(item: ReglCacheEntry) {
+ return Math.max(1, item.bytes ?? 0);
+}
+const oneMB = 1024 * 1024;
+
+type ClientEntry = {
+ frame: FrameLifecycle | null;
+ image: REGL.Framebuffer2D;
+ resolution: vec2;
+ copyBuffer: ArrayBuffer;
+ updateRequested: Compositor | null;
+};
+type ServerActions = {
+ copyToClient: (composite: Compositor) => void;
+};
+type Compositor = (ctx: CanvasRenderingContext2D, glImage: ImageData) => void;
+type RenderEvent = AsyncFrameEvent & { target: REGL.Framebuffer2D | null; server: ServerActions };
+type ServerCallback = (event: RenderEvent) => void;
+type RenderFrameFn = (
+ target: REGL.Framebuffer2D | null,
+ cache: AsyncDataCache,
+ callback: RenderCallback
+) => FrameLifecycle | null;
+
+type Client = HTMLCanvasElement;
+export class RenderServer {
+ private canvas: OffscreenCanvas;
+ private refreshRequested: boolean;
+ regl: REGL.Regl | null;
+ cache: AsyncDataCache;
+ private clients: Map;
+ private maxSize: vec2;
+ constructor(maxSize: vec2, extensions: string[], cacheByteLimit: number = 2000 * oneMB) {
+ this.canvas = new OffscreenCanvas(10, 10); // we always render to private buffers, so we dont need a real resolution here...
+ this.clients = new Map();
+ this.maxSize = maxSize;
+ this.refreshRequested = false;
+ const gl = this.canvas.getContext('webgl', {
+ alpha: true,
+ preserveDrawingBuffer: false,
+ antialias: true,
+ premultipliedAlpha: true,
+ });
+ if (!gl) {
+ throw new Error('WebGL not supported!');
+ }
+ const regl = REGL({
+ gl,
+ extensions,
+ });
+ this.regl = regl;
+ this.cache = new AsyncDataCache(destroyer, sizeOf, cacheByteLimit);
+ }
+ private copyToClient(frameInfo: ClientEntry, client: Client) {
+ // note: compared transferImageFromBitmap(transferImageToBitmap()), drawImage(canvas) and a few other variations
+ // this method seems to have the most consistent performance across various browsers
+ const { resolution, copyBuffer, image, updateRequested } = frameInfo;
+ const [width, height] = resolution;
+ if (updateRequested) {
+ try {
+ // read directly from the framebuffer to which we render:
+ this.regl?.read({ framebuffer: image, x: 0, y: 0, width, height, data: new Uint8Array(copyBuffer) });
+ // then put those bytes in the client canvas:
+ const ctx: CanvasRenderingContext2D = client.getContext('2d')!;
+ const img = new ImageData(new Uint8ClampedArray(copyBuffer), width, height);
+ updateRequested(ctx, img);
+ } catch (err) {
+ console.error(
+ 'error - we tried to copy to a client buffer, but maybe it got unmounted? that can happen, its ok'
+ );
+ }
+ }
+ }
+ private onAnimationFrame() {
+ if (this.refreshRequested) {
+ for (const [client, entry] of this.clients) {
+ if (entry.updateRequested) {
+ this.copyToClient(entry, client);
+ // mark our progress:
+ entry.updateRequested = null;
+ }
+ }
+ this.refreshRequested = false;
+ }
+ }
+ private requestComposition(client: Client, composite: Compositor) {
+ const c = this.clients.get(client);
+ if (c) {
+ if (!c.updateRequested) {
+ c.updateRequested = composite;
+ if (!this.refreshRequested) {
+ this.refreshRequested = true;
+ // as of 2023, requestAnimationFrame should be generally available globally in both workers* and a window
+ // if this becomes an issue, we can have our caller pass requestAnimationFrame in to the constructor
+ requestAnimationFrame(() => this.onAnimationFrame());
+ }
+ }
+ }
+ }
+ private clientFrameFinished(client: Client) {
+ const C = this.clients.get(client);
+ if (C) {
+ C.frame = null;
+ }
+ }
+ destroyClient(client: Client) {
+ const C = this.clients.get(client);
+ if (C) {
+ C.frame?.cancelFrame();
+ }
+ this.clients.delete(client);
+ }
+ private prepareToRenderToClient(client: Client) {
+ const previousEntry = this.clients.get(client);
+ if (previousEntry) {
+ // the client is mutable - so every time we get a request, we have to check to see if it got resized
+ if (client.width !== previousEntry.resolution[0] || client.height !== previousEntry.resolution[1]) {
+ // handle resizing by deleting previously allocated resources:
+ previousEntry.image.destroy();
+ // the rest will get GC'd normally
+ } else {
+ // use the existing resources!
+ return previousEntry;
+ }
+ }
+ const resolution = Vec2.min(this.maxSize, [client.width, client.height]);
+ const copyBuffer = new ArrayBuffer(resolution[0] * resolution[1] * 4);
+ const image = this.regl!.framebuffer(...resolution);
+ return { resolution, copyBuffer, image };
+ }
+ beginRendering(renderFn: RenderFrameFn, callback: ServerCallback, client: Client) {
+ if (this.regl) {
+ const clientFrame = this.clients.get(client);
+ if (clientFrame && clientFrame.frame) {
+ clientFrame.frame.cancelFrame();
+ }
+ const { image, resolution, copyBuffer } = this.prepareToRenderToClient(client);
+ const hijack: RenderCallback = (e) => {
+ callback({
+ ...e,
+ target: image,
+ server: {
+ copyToClient: (compose: Compositor) => {
+ this.requestComposition(client, compose);
+ },
+ },
+ });
+ if (e.status === 'finished' || e.status === 'cancelled') {
+ this.clientFrameFinished(client);
+ }
+ };
+ this.clients.set(client, {
+ frame: renderFn(image, this.cache, hijack),
+ image,
+ copyBuffer,
+ resolution,
+ updateRequested: null,
+ });
+ }
+ }
+}
diff --git a/packages/scatterbrain/src/abstract/types.ts b/packages/scatterbrain/src/abstract/types.ts
new file mode 100644
index 0000000..fcb3996
--- /dev/null
+++ b/packages/scatterbrain/src/abstract/types.ts
@@ -0,0 +1,33 @@
+import type REGL from 'regl';
+
+export type CachedTexture = {
+ texture: REGL.Texture2D;
+ bytes: number;
+ type: 'texture';
+};
+export type CachedVertexBuffer = {
+ buffer: REGL.Buffer;
+ bytes: number;
+ type: 'buffer';
+};
+export type ReglCacheEntry = CachedTexture | CachedVertexBuffer;
+
+export type Renderer> = {
+ getVisibleItems: (data: Dataset, settings: Settings) => Array
- ;
+ fetchItemContent: (
+ item: Item,
+ dataset: Dataset,
+ settings: Settings,
+ signal?: AbortSignal
+ ) => Record Promise>;
+ isPrepared: (cacheData: Record) => cacheData is GpuData;
+ renderItem: (
+ target: REGL.Framebuffer2D | null,
+ item: Item,
+ data: Dataset,
+ settings: Settings,
+ gpuData: GpuData
+ ) => void;
+ cacheKey: (item: Item, requestKey: string, data: Dataset, settings: Settings) => string;
+ destroy: (regl: REGL.Regl) => void;
+};
diff --git a/packages/scatterbrain/src/index.ts b/packages/scatterbrain/src/index.ts
index e4a2f6d..66dbd4c 100644
--- a/packages/scatterbrain/src/index.ts
+++ b/packages/scatterbrain/src/index.ts
@@ -2,3 +2,7 @@ export { beginLongRunningFrame } from './render-queue';
export { AsyncDataCache } from './dataset-cache';
export { ReglLayer2D } from './layers/layer-2D';
export * from './layers/buffer-pair';
+
+export { beginFrame, buildAsyncRenderer, type RenderFrameConfig } from './abstract/async-frame';
+export type { CachedTexture, CachedVertexBuffer, ReglCacheEntry, Renderer } from './abstract/types';
+export { RenderServer } from './abstract/render-server';
diff --git a/packages/scatterbrain/src/render-queue.ts b/packages/scatterbrain/src/render-queue.ts
index 88e8cd1..13fd568 100644
--- a/packages/scatterbrain/src/render-queue.ts
+++ b/packages/scatterbrain/src/render-queue.ts
@@ -38,6 +38,7 @@ export type RenderCallback = (event: { status: NormalStatus } | { status: 'error
* In addition, you can cancel the frame at any time, which will stop the frame from running and prevent any further
* rendering or data fetching from occurring.
*
+ * @deprecated consider using beginFrame instead
* @param maximumInflightAsyncTasks The maximum number of async tasks to run at once.
* @param queueProcessingIntervalMS The length of time to wait between processing the queue in milliseconds.
* @param items An array of generic items to render
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2770d04..d8ffb39 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4167 +1,5248 @@
lockfileVersion: '6.0'
settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
importers:
-
- .:
- devDependencies:
- '@parcel/packager-ts':
- specifier: 2.12.0
- version: 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-typescript-types':
- specifier: 2.12.0
- version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- buffer:
- specifier: ^5.5.0||^6.0.0
- version: 6.0.3
- parcel:
- specifier: 2.12.0
- version: 2.12.0(typescript@5.3.3)
- prettier:
- specifier: 3.3.2
- version: 3.3.2
- process:
- specifier: ^0.11.10
- version: 0.11.10
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- examples:
- dependencies:
- '@alleninstitute/vis-geometry':
- specifier: workspace:*
- version: link:../packages/geometry
- '@alleninstitute/vis-scatterbrain':
- specifier: workspace:*
- version: link:../packages/scatterbrain
- '@czi-sds/components':
- specifier: ^20.0.1
- version: 20.0.1(@emotion/core@11.0.0)(@emotion/css@11.11.2)(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/base@5.0.0-beta.40)(@mui/icons-material@5.15.15)(@mui/lab@5.0.0-alpha.170)(@mui/material@5.15.15)(react-dom@18.3.0)(react@18.3.0)
- '@emotion/css':
- specifier: ^11.11.2
- version: 11.11.2
- '@emotion/react':
- specifier: ^11.11.4
- version: 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled':
- specifier: ^11.11.5
- version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- '@mui/base':
- specifier: 5.0.0-beta.40
- version: 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/icons-material':
- specifier: ^5.15.15
- version: 5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0)
- '@mui/lab':
- specifier: 5.0.0-alpha.170
- version: 5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/material':
- specifier: ^5.15.15
- version: 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@types/lodash':
- specifier: ^4.14.202
- version: 4.14.202
- file-saver:
- specifier: ^2.0.5
- version: 2.0.5
- json5:
- specifier: ^2.2.3
- version: 2.2.3
- kiwi-schema:
- specifier: ^0.5.0
- version: 0.5.0
- lodash:
- specifier: ^4.17.21
- version: 4.17.21
- react:
- specifier: ^18.3.0
- version: 18.3.0
- react-dom:
- specifier: ^18.3.0
- version: 18.3.0(react@18.3.0)
- regl:
- specifier: ^2.1.0
- version: 2.1.0
- zarrita:
- specifier: 0.4.0-next.14
- version: 0.4.0-next.14
- devDependencies:
- '@parcel/packager-ts':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-typescript-types':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- '@types/file-saver':
- specifier: ^2.0.7
- version: 2.0.7
- '@types/node':
- specifier: ^22.1.0
- version: 22.1.0
- '@types/react':
- specifier: ^18.3.0
- version: 18.3.0
- '@types/react-dom':
- specifier: ^18.3.0
- version: 18.3.0
- '@vitejs/plugin-react-swc':
- specifier: ^3.5.0
- version: 3.7.0(vite@5.3.5)
- esbuild:
- specifier: ^0.19.12
- version: 0.19.12
- parcel:
- specifier: 2.12.0
- version: 2.12.0(typescript@5.3.3)
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
- vite:
- specifier: ^5.3.5
- version: 5.3.5(@types/node@22.1.0)
-
- packages/geometry:
- devDependencies:
- '@parcel/packager-ts':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-typescript-types':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- parcel:
- specifier: 2.12.0
- version: 2.12.0(typescript@5.3.3)
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
- vitest:
- specifier: ^1.4.0
- version: 1.4.0
-
- packages/scatterbrain:
- dependencies:
- '@alleninstitute/vis-geometry':
- specifier: workspace:*
- version: link:../geometry
- lodash:
- specifier: ^4.17.21
- version: 4.17.21
- regl:
- specifier: ^2.1.0
- version: 2.1.0
- devDependencies:
- '@parcel/packager-ts':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-typescript-types':
- specifier: ^2.12.0
- version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- '@types/lodash':
- specifier: ^4.14.202
- version: 4.14.202
- parcel:
- specifier: 2.12.0
- version: 2.12.0(typescript@5.3.3)
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
- vitest:
- specifier: ^1.4.0
- version: 1.4.0
+ .:
+ devDependencies:
+ '@parcel/packager-ts':
+ specifier: 2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-typescript-types':
+ specifier: 2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ buffer:
+ specifier: ^5.5.0||^6.0.0
+ version: 6.0.3
+ parcel:
+ specifier: 2.12.0
+ version: 2.12.0(typescript@5.3.3)
+ prettier:
+ specifier: 3.3.2
+ version: 3.3.2
+ process:
+ specifier: ^0.11.10
+ version: 0.11.10
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+
+ examples:
+ dependencies:
+ '@alleninstitute/vis-dzi':
+ specifier: workspace:*
+ version: link:../packages/dzi
+ '@alleninstitute/vis-geometry':
+ specifier: workspace:*
+ version: link:../packages/geometry
+ '@alleninstitute/vis-scatterbrain':
+ specifier: workspace:*
+ version: link:../packages/scatterbrain
+ '@czi-sds/components':
+ specifier: ^20.0.1
+ version: 20.0.1(@emotion/core@11.0.0)(@emotion/css@11.11.2)(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/base@5.0.0-beta.40)(@mui/icons-material@5.15.15)(@mui/lab@5.0.0-alpha.170)(@mui/material@5.15.15)(react-dom@18.3.0)(react@18.3.0)
+ '@emotion/css':
+ specifier: ^11.11.2
+ version: 11.11.2
+ '@emotion/react':
+ specifier: ^11.11.4
+ version: 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled':
+ specifier: ^11.11.5
+ version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/base':
+ specifier: 5.0.0-beta.40
+ version: 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/icons-material':
+ specifier: ^5.15.15
+ version: 5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/lab':
+ specifier: 5.0.0-alpha.170
+ version: 5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/material':
+ specifier: ^5.15.15
+ version: 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@types/lodash':
+ specifier: ^4.14.202
+ version: 4.14.202
+ file-saver:
+ specifier: ^2.0.5
+ version: 2.0.5
+ json5:
+ specifier: ^2.2.3
+ version: 2.2.3
+ kiwi-schema:
+ specifier: ^0.5.0
+ version: 0.5.0
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
+ react:
+ specifier: ^18.3.0
+ version: 18.3.0
+ react-dom:
+ specifier: ^18.3.0
+ version: 18.3.0(react@18.3.0)
+ regl:
+ specifier: ^2.1.0
+ version: 2.1.0
+ zarrita:
+ specifier: 0.4.0-next.14
+ version: 0.4.0-next.14
+ devDependencies:
+ '@types/file-saver':
+ specifier: ^2.0.7
+ version: 2.0.7
+ '@types/node':
+ specifier: ^22.1.0
+ version: 22.1.0
+ '@types/react':
+ specifier: ^18.3.0
+ version: 18.3.0
+ '@types/react-dom':
+ specifier: ^18.3.0
+ version: 18.3.0
+ '@vitejs/plugin-react-swc':
+ specifier: ^3.5.0
+ version: 3.7.0(vite@5.3.5)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ vite:
+ specifier: ^5.3.5
+ version: 5.3.5(@types/node@22.1.0)
+
+ packages/dzi:
+ dependencies:
+ '@alleninstitute/vis-geometry':
+ specifier: workspace:*
+ version: link:../geometry
+ '@alleninstitute/vis-scatterbrain':
+ specifier: workspace:*
+ version: link:../scatterbrain
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
+ regl:
+ specifier: ^2.1.0
+ version: 2.1.0
+ devDependencies:
+ '@parcel/packager-ts':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-typescript-types':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ '@types/lodash':
+ specifier: ^4.14.202
+ version: 4.14.202
+ parcel:
+ specifier: 2.12.0
+ version: 2.12.0(typescript@5.3.3)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ vitest:
+ specifier: ^1.4.0
+ version: 1.4.0
+
+ packages/geometry:
+ devDependencies:
+ '@parcel/packager-ts':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-typescript-types':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ parcel:
+ specifier: 2.12.0
+ version: 2.12.0(typescript@5.3.3)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ vitest:
+ specifier: ^1.4.0
+ version: 1.4.0
+
+ packages/scatterbrain:
+ dependencies:
+ '@alleninstitute/vis-geometry':
+ specifier: workspace:*
+ version: link:../geometry
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
+ regl:
+ specifier: ^2.1.0
+ version: 2.1.0
+ devDependencies:
+ '@parcel/packager-ts':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-typescript-types':
+ specifier: ^2.12.0
+ version: 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ '@types/lodash':
+ specifier: ^4.14.202
+ version: 4.14.202
+ parcel:
+ specifier: 2.12.0
+ version: 2.12.0(typescript@5.3.3)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ vitest:
+ specifier: ^1.4.0
+ version: 1.4.0
packages:
+ /@babel/code-frame@7.23.5:
+ resolution:
+ {
+ integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+
+ /@babel/helper-module-imports@7.24.3:
+ resolution:
+ {
+ integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.24.5
+ dev: false
+
+ /@babel/helper-string-parser@7.24.1:
+ resolution:
+ {
+ integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: false
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution:
+ {
+ integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-validator-identifier@7.24.5:
+ resolution:
+ {
+ integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: false
+
+ /@babel/highlight@7.23.4:
+ resolution:
+ {
+ integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/runtime@7.24.5:
+ resolution:
+ {
+ integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ regenerator-runtime: 0.14.1
+ dev: false
+
+ /@babel/types@7.24.5:
+ resolution:
+ {
+ integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.24.5
+ to-fast-properties: 2.0.0
+ dev: false
+
+ /@czi-sds/components@20.0.1(@emotion/core@11.0.0)(@emotion/css@11.11.2)(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/base@5.0.0-beta.40)(@mui/icons-material@5.15.15)(@mui/lab@5.0.0-alpha.170)(@mui/material@5.15.15)(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-vB3gGl+tzxDmV00J8ioLr/LIj1WU26448Pot9orgyGeZy+AaJM7WMT/qsSpPSCGEKLN5ykcIUBIDIGK1E/JZmQ==,
+ }
+ peerDependencies:
+ '@emotion/core': ^11.0.0
+ '@emotion/css': ^11.11.2
+ '@emotion/react': ^11.11.3
+ '@emotion/styled': ^11.11.0
+ '@mui/base': ^5.0.0-beta.30
+ '@mui/icons-material': ^5.15.3
+ '@mui/lab': ^5.0.0-alpha.159
+ '@mui/material': ^5.15.3
+ react: '>=17.0.1'
+ react-dom: '>=17.0.1'
+ dependencies:
+ '@emotion/core': 11.0.0
+ '@emotion/css': 11.11.2
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/icons-material': 5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/lab': 5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ dev: false
+
+ /@emotion/babel-plugin@11.11.0:
+ resolution:
+ {
+ integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==,
+ }
+ dependencies:
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/runtime': 7.24.5
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/serialize': 1.1.4
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/cache@11.11.0:
+ resolution:
+ {
+ integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==,
+ }
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/core@11.0.0:
+ resolution:
+ {
+ integrity: sha512-w4sE3AmHmyG6RDKf6mIbtHpgJUSJ2uGvPQb8VXFL7hFjMPibE8IiehG8cMX3Ztm4svfCQV6KqusQbeIOkurBcA==,
+ }
+ dev: false
+
+ /@emotion/css@11.11.2:
+ resolution:
+ {
+ integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==,
+ }
+ dependencies:
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.4
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ dev: false
+
+ /@emotion/hash@0.9.1:
+ resolution:
+ {
+ integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==,
+ }
+ dev: false
+
+ /@emotion/is-prop-valid@1.2.2:
+ resolution:
+ {
+ integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==,
+ }
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ dev: false
+
+ /@emotion/memoize@0.8.1:
+ resolution:
+ {
+ integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==,
+ }
+ dev: false
+
+ /@emotion/react@11.11.4(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==,
+ }
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.4
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.0)
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ '@types/react': 18.3.0
+ hoist-non-react-statics: 3.3.2
+ react: 18.3.0
+ dev: false
+
+ /@emotion/serialize@1.1.4:
+ resolution:
+ {
+ integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==,
+ }
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/unitless': 0.8.1
+ '@emotion/utils': 1.2.1
+ csstype: 3.1.3
+ dev: false
+
+ /@emotion/sheet@1.2.2:
+ resolution:
+ {
+ integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==,
+ }
+ dev: false
+
+ /@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==,
+ }
+ peerDependencies:
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/is-prop-valid': 1.2.2
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/serialize': 1.1.4
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.0)
+ '@emotion/utils': 1.2.1
+ '@types/react': 18.3.0
+ react: 18.3.0
+ dev: false
+
+ /@emotion/unitless@0.8.1:
+ resolution:
+ {
+ integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==,
+ }
+ dev: false
+
+ /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==,
+ }
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.3.0
+ dev: false
+
+ /@emotion/utils@1.2.1:
+ resolution:
+ {
+ integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==,
+ }
+ dev: false
+
+ /@emotion/weak-memoize@0.3.1:
+ resolution:
+ {
+ integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==,
+ }
+ dev: false
+
+ /@esbuild/aix-ppc64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.21.5:
+ resolution:
+ {
+ integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.21.5:
+ resolution:
+ {
+ integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.21.5:
+ resolution:
+ {
+ integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.21.5:
+ resolution:
+ {
+ integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.21.5:
+ resolution:
+ {
+ integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.21.5:
+ resolution:
+ {
+ integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.21.5:
+ resolution:
+ {
+ integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@floating-ui/core@1.6.1:
+ resolution:
+ {
+ integrity: sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==,
+ }
+ dependencies:
+ '@floating-ui/utils': 0.2.2
+ dev: false
+
+ /@floating-ui/dom@1.6.4:
+ resolution:
+ {
+ integrity: sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==,
+ }
+ dependencies:
+ '@floating-ui/core': 1.6.1
+ '@floating-ui/utils': 0.2.2
+ dev: false
+
+ /@floating-ui/react-dom@2.0.9(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==,
+ }
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/dom': 1.6.4
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ dev: false
+
+ /@floating-ui/utils@0.2.2:
+ resolution:
+ {
+ integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==,
+ }
+ dev: false
+
+ /@jest/schemas@29.6.3:
+ resolution:
+ {
+ integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+ dev: true
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution:
+ {
+ integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
+ }
+ dev: true
+
+ /@lezer/common@1.2.1:
+ resolution:
+ {
+ integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==,
+ }
+ dev: true
+
+ /@lezer/lr@1.4.0:
+ resolution:
+ {
+ integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==,
+ }
+ dependencies:
+ '@lezer/common': 1.2.1
+ dev: true
+
+ /@lmdb/lmdb-darwin-arm64@2.8.5:
+ resolution:
+ {
+ integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@lmdb/lmdb-darwin-x64@2.8.5:
+ resolution:
+ {
+ integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@lmdb/lmdb-linux-arm64@2.8.5:
+ resolution:
+ {
+ integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@lmdb/lmdb-linux-arm@2.8.5:
+ resolution:
+ {
+ integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@lmdb/lmdb-linux-x64@2.8.5:
+ resolution:
+ {
+ integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@lmdb/lmdb-win32-x64@2.8.5:
+ resolution:
+ {
+ integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==,
+ }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@mischnic/json-sourcemap@0.1.1:
+ resolution:
+ {
+ integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==,
+ }
+ engines: { node: '>=12.0.0' }
+ dependencies:
+ '@lezer/common': 1.2.1
+ '@lezer/lr': 1.4.0
+ json5: 2.2.3
+ dev: true
+
+ /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2:
+ resolution:
+ {
+ integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2:
+ resolution:
+ {
+ integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2:
+ resolution:
+ {
+ integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2:
+ resolution:
+ {
+ integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2:
+ resolution:
+ {
+ integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2:
+ resolution:
+ {
+ integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==,
+ }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@mui/base@5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@floating-ui/react-dom': 2.0.9(react-dom@18.3.0)(react@18.3.0)
+ '@mui/types': 7.2.14(@types/react@18.3.0)
+ '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@popperjs/core': 2.11.8
+ '@types/react': 18.3.0
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ dev: false
+
+ /@mui/core-downloads-tracker@5.15.15:
+ resolution:
+ {
+ integrity: sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==,
+ }
+ dev: false
+
+ /@mui/icons-material@5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@mui/material': ^5.0.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@types/react': 18.3.0
+ react: 18.3.0
+ dev: false
+
+ /@mui/lab@5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@mui/material': '>=5.15.0'
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/types': 7.2.14(@types/react@18.3.0)
+ '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@types/react': 18.3.0
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ dev: false
+
+ /@mui/material@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
+ '@mui/core-downloads-tracker': 5.15.15
+ '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/types': 7.2.14(@types/react@18.3.0)
+ '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@types/react': 18.3.0
+ '@types/react-transition-group': 4.4.10
+ clsx: 2.1.1
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ react-is: 18.2.0
+ react-transition-group: 4.4.5(react-dom@18.3.0)(react@18.3.0)
+ dev: false
+
+ /@mui/private-theming@5.15.14(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@types/react': 18.3.0
+ prop-types: 15.8.1
+ react: 18.3.0
+ dev: false
+
+ /@mui/styled-engine@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@emotion/react': ^11.4.1
+ '@emotion/styled': ^11.3.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/cache': 11.11.0
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.0
+ dev: false
+
+ /@mui/system@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
+ '@mui/private-theming': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.0)
+ '@mui/types': 7.2.14(@types/react@18.3.0)
+ '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
+ '@types/react': 18.3.0
+ clsx: 2.1.1
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.0
+ dev: false
+
+ /@mui/types@7.2.14(@types/react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==,
+ }
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.3.0
+ dev: false
+
+ /@mui/utils@5.15.14(@types/react@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==,
+ }
+ engines: { node: '>=12.0.0' }
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@types/prop-types': 15.7.12
+ '@types/react': 18.3.0
+ prop-types: 15.8.1
+ react: 18.3.0
+ react-is: 18.2.0
+ dev: false
+
+ /@parcel/bundler-default@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/graph': 3.2.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/cache@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/logger': 2.12.0
+ '@parcel/utils': 2.12.0
+ lmdb: 2.8.5
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/codeframe@2.12.0:
+ resolution:
+ {
+ integrity: sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ chalk: 4.1.2
+ dev: true
+
+ /@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/config-default@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==,
+ }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/core': 2.12.0
+ '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/optimizer-swc': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-js': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - cssnano
+ - postcss
+ - purgecss
+ - relateurl
+ - srcset
+ - terser
+ - typescript
+ - uncss
+ dev: true
+
+ /@parcel/core@2.12.0:
+ resolution:
+ {
+ integrity: sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@mischnic/json-sourcemap': 0.1.1
+ '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/events': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/graph': 3.2.0
+ '@parcel/logger': 2.12.0
+ '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/profiler': 2.12.0
+ '@parcel/rust': 2.12.0
+ '@parcel/source-map': 2.1.1
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ abortcontroller-polyfill: 1.7.5
+ base-x: 3.0.9
+ browserslist: 4.22.3
+ clone: 2.1.2
+ dotenv: 7.0.0
+ dotenv-expand: 5.1.0
+ json5: 2.2.3
+ msgpackr: 1.10.1
+ nullthrows: 1.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/diagnostic@2.12.0:
+ resolution:
+ {
+ integrity: sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@mischnic/json-sourcemap': 0.1.1
+ nullthrows: 1.1.1
+ dev: true
+
+ /@parcel/events@2.12.0:
+ resolution:
+ {
+ integrity: sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dev: true
+
+ /@parcel/fs@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/rust': 2.12.0
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ '@parcel/watcher': 2.4.1
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/graph@3.2.0:
+ resolution:
+ {
+ integrity: sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ nullthrows: 1.1.1
+ dev: true
+
+ /@parcel/logger@2.12.0:
+ resolution:
+ {
+ integrity: sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/events': 2.12.0
+ dev: true
+
+ /@parcel/markdown-ansi@2.12.0:
+ resolution:
+ {
+ integrity: sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ chalk: 4.1.2
+ dev: true
+
+ /@parcel/namer-default@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/node-resolver-core@3.3.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@mischnic/json-sourcemap': 0.1.1
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@parcel/core'
+ dev: true
+
+ /@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ browserslist: 4.22.3
+ lightningcss: 1.24.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ htmlnano: 2.1.0(svgo@2.8.0)(typescript@5.3.3)
+ nullthrows: 1.1.1
+ posthtml: 0.16.6
+ svgo: 2.8.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ - cssnano
+ - postcss
+ - purgecss
+ - relateurl
+ - srcset
+ - terser
+ - typescript
+ - uncss
+ dev: true
+
+ /@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ '@parcel/utils': 2.12.0
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ svgo: 2.8.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/optimizer-swc@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ '@swc/core': 1.7.6
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/package-manager@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
+ resolution:
+ {
+ integrity: sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/logger': 2.12.0
+ '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0)
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ '@swc/core': 1.3.107(@swc/helpers@0.5.6)
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-css@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ lightningcss: 1.24.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-html@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ posthtml: 0.16.6
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-js@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ '@parcel/source-map': 2.1.1
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ globals: 13.24.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-raw@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-svg@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ posthtml: 0.16.6
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-ts@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-8wR0BNN2NBD+IIU0tjioK+lRD4p2Qi/fKxDH5ixEW912tRV+Vd4kE8k++U6YQIpSlK4FRnjFod5zYYhNSLuiXg==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==,
+ }
+ engines: { node: '>=12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/plugin@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/plugin@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
+ resolution:
+ {
+ integrity: sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/profiler@2.12.0:
+ resolution:
+ {
+ integrity: sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/events': 2.12.0
+ chrome-trace-event: 1.0.3
+ dev: true
+
+ /@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ chalk: 4.1.2
+ term-size: 2.2.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ chrome-trace-event: 1.0.3
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/resolver-default@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0)
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/runtime-js@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ react-error-overlay: 6.0.9
+ react-refresh: 0.9.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/rust@2.12.0:
+ resolution:
+ {
+ integrity: sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dev: true
+
+ /@parcel/source-map@2.1.1:
+ resolution:
+ {
+ integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==,
+ }
+ engines: { node: ^12.18.3 || >=14 }
+ dependencies:
+ detect-libc: 1.0.3
+ dev: true
+
+ /@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ browserslist: 4.22.3
+ json5: 2.2.3
+ nullthrows: 1.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-css@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ browserslist: 4.22.3
+ lightningcss: 1.24.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-html@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ nullthrows: 1.1.1
+ posthtml: 0.16.6
+ posthtml-parser: 0.10.2
+ posthtml-render: 3.0.0
+ semver: 7.5.4
+ srcset: 4.0.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-image@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-js@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ '@parcel/rust': 2.12.0
+ '@parcel/source-map': 2.1.1
+ '@parcel/utils': 2.12.0
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ '@swc/helpers': 0.5.6
+ browserslist: 4.22.3
+ nullthrows: 1.1.1
+ regenerator-runtime: 0.13.11
+ semver: 7.5.4
+ dev: true
+
+ /@parcel/transformer-json@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ json5: 2.2.3
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ '@parcel/utils': 2.12.0
+ clone: 2.1.2
+ nullthrows: 1.1.1
+ postcss-value-parser: 4.2.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ posthtml: 0.16.6
+ posthtml-parser: 0.10.2
+ posthtml-render: 3.0.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ react-refresh: 0.9.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/rust': 2.12.0
+ nullthrows: 1.1.1
+ posthtml: 0.16.6
+ posthtml-parser: 0.10.2
+ posthtml-render: 3.0.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/transformer-typescript-types@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-uxF4UBMYvbjiV3zHTWMrZX8cFD92VUvD3ArcGi5WEtuVROUm9Sc47o0mOzxKfMFlJu2KOfZVHYlzK9f/UKA2kQ==,
+ }
+ engines: { node: '>= 12.0.0', parcel: ^2.12.0 }
+ peerDependencies:
+ typescript: '>=3.0.0'
+ dependencies:
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/source-map': 2.1.1
+ '@parcel/ts-utils': 2.12.0(typescript@5.3.3)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/ts-utils@2.12.0(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-zou+W6dcqnXXUOfN5zGM+ePIWbYOhGp8bVB2jICoNkoKmNAHd4l4zeHl5yQXnbZfynVw88cZVqxtXS8tYebelg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ typescript: '>=3.0.0'
+ dependencies:
+ nullthrows: 1.1.1
+ typescript: 5.3.3
+ dev: true
+
+ /@parcel/types@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==,
+ }
+ dependencies:
+ '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ '@parcel/source-map': 2.1.1
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ utility-types: 3.11.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/types@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
+ resolution:
+ {
+ integrity: sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==,
+ }
+ dependencies:
+ '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ '@parcel/source-map': 2.1.1
+ '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
+ utility-types: 3.11.0
+ transitivePeerDependencies:
+ - '@parcel/core'
+ - '@swc/helpers'
+ dev: true
+
+ /@parcel/utils@2.12.0:
+ resolution:
+ {
+ integrity: sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ '@parcel/codeframe': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/logger': 2.12.0
+ '@parcel/markdown-ansi': 2.12.0
+ '@parcel/rust': 2.12.0
+ '@parcel/source-map': 2.1.1
+ chalk: 4.1.2
+ nullthrows: 1.1.1
+ dev: true
+
+ /@parcel/watcher-android-arm64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/code-frame@7.23.5:
- resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.23.4
- chalk: 2.4.2
-
- /@babel/helper-module-imports@7.24.3:
- resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: false
-
- /@babel/helper-string-parser@7.24.1:
- resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
- engines: {node: '>=6.9.0'}
- dev: false
-
- /@babel/helper-validator-identifier@7.22.20:
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
-
- /@babel/helper-validator-identifier@7.24.5:
- resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
- engines: {node: '>=6.9.0'}
- dev: false
-
- /@babel/highlight@7.23.4:
- resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
-
- /@babel/runtime@7.24.5:
- resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.14.1
- dev: false
-
- /@babel/types@7.24.5:
- resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.24.1
- '@babel/helper-validator-identifier': 7.24.5
- to-fast-properties: 2.0.0
- dev: false
-
- /@czi-sds/components@20.0.1(@emotion/core@11.0.0)(@emotion/css@11.11.2)(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/base@5.0.0-beta.40)(@mui/icons-material@5.15.15)(@mui/lab@5.0.0-alpha.170)(@mui/material@5.15.15)(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-vB3gGl+tzxDmV00J8ioLr/LIj1WU26448Pot9orgyGeZy+AaJM7WMT/qsSpPSCGEKLN5ykcIUBIDIGK1E/JZmQ==}
- peerDependencies:
- '@emotion/core': ^11.0.0
- '@emotion/css': ^11.11.2
- '@emotion/react': ^11.11.3
- '@emotion/styled': ^11.11.0
- '@mui/base': ^5.0.0-beta.30
- '@mui/icons-material': ^5.15.3
- '@mui/lab': ^5.0.0-alpha.159
- '@mui/material': ^5.15.3
- react: '>=17.0.1'
- react-dom: '>=17.0.1'
- dependencies:
- '@emotion/core': 11.0.0
- '@emotion/css': 11.11.2
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/icons-material': 5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0)
- '@mui/lab': 5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- dev: false
-
- /@emotion/babel-plugin@11.11.0:
- resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
- dependencies:
- '@babel/helper-module-imports': 7.24.3
- '@babel/runtime': 7.24.5
- '@emotion/hash': 0.9.1
- '@emotion/memoize': 0.8.1
- '@emotion/serialize': 1.1.4
- babel-plugin-macros: 3.1.0
- convert-source-map: 1.9.0
- escape-string-regexp: 4.0.0
- find-root: 1.1.0
- source-map: 0.5.7
- stylis: 4.2.0
- dev: false
-
- /@emotion/cache@11.11.0:
- resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==}
- dependencies:
- '@emotion/memoize': 0.8.1
- '@emotion/sheet': 1.2.2
- '@emotion/utils': 1.2.1
- '@emotion/weak-memoize': 0.3.1
- stylis: 4.2.0
- dev: false
-
- /@emotion/core@11.0.0:
- resolution: {integrity: sha512-w4sE3AmHmyG6RDKf6mIbtHpgJUSJ2uGvPQb8VXFL7hFjMPibE8IiehG8cMX3Ztm4svfCQV6KqusQbeIOkurBcA==}
- dev: false
-
- /@emotion/css@11.11.2:
- resolution: {integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==}
- dependencies:
- '@emotion/babel-plugin': 11.11.0
- '@emotion/cache': 11.11.0
- '@emotion/serialize': 1.1.4
- '@emotion/sheet': 1.2.2
- '@emotion/utils': 1.2.1
- dev: false
-
- /@emotion/hash@0.9.1:
- resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
- dev: false
-
- /@emotion/is-prop-valid@1.2.2:
- resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==}
- dependencies:
- '@emotion/memoize': 0.8.1
- dev: false
-
- /@emotion/memoize@0.8.1:
- resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
- dev: false
-
- /@emotion/react@11.11.4(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==}
- peerDependencies:
- '@types/react': '*'
- react: '>=16.8.0'
- peerDependenciesMeta:
- '@types/react':
+ /@parcel/watcher-darwin-arm64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/babel-plugin': 11.11.0
- '@emotion/cache': 11.11.0
- '@emotion/serialize': 1.1.4
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.0)
- '@emotion/utils': 1.2.1
- '@emotion/weak-memoize': 0.3.1
- '@types/react': 18.3.0
- hoist-non-react-statics: 3.3.2
- react: 18.3.0
- dev: false
-
- /@emotion/serialize@1.1.4:
- resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==}
- dependencies:
- '@emotion/hash': 0.9.1
- '@emotion/memoize': 0.8.1
- '@emotion/unitless': 0.8.1
- '@emotion/utils': 1.2.1
- csstype: 3.1.3
- dev: false
-
- /@emotion/sheet@1.2.2:
- resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
- dev: false
-
- /@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==}
- peerDependencies:
- '@emotion/react': ^11.0.0-rc.0
- '@types/react': '*'
- react: '>=16.8.0'
- peerDependenciesMeta:
- '@types/react':
+
+ /@parcel/watcher-darwin-x64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-freebsd-x64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm-glibc@2.4.1:
+ resolution:
+ {
+ integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm64-glibc@2.4.1:
+ resolution:
+ {
+ integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm64-musl@2.4.1:
+ resolution:
+ {
+ integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-x64-glibc@2.4.1:
+ resolution:
+ {
+ integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-x64-musl@2.4.1:
+ resolution:
+ {
+ integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-win32-arm64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-win32-ia32@2.4.1:
+ resolution:
+ {
+ integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-win32-x64@2.4.1:
+ resolution:
+ {
+ integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher@2.4.1:
+ resolution:
+ {
+ integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ node-addon-api: 7.1.0
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.4.1
+ '@parcel/watcher-darwin-arm64': 2.4.1
+ '@parcel/watcher-darwin-x64': 2.4.1
+ '@parcel/watcher-freebsd-x64': 2.4.1
+ '@parcel/watcher-linux-arm-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-musl': 2.4.1
+ '@parcel/watcher-linux-x64-glibc': 2.4.1
+ '@parcel/watcher-linux-x64-musl': 2.4.1
+ '@parcel/watcher-win32-arm64': 2.4.1
+ '@parcel/watcher-win32-ia32': 2.4.1
+ '@parcel/watcher-win32-x64': 2.4.1
+ dev: true
+
+ /@parcel/workers@2.12.0(@parcel/core@2.12.0):
+ resolution:
+ {
+ integrity: sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@parcel/core': ^2.12.0
+ dependencies:
+ '@parcel/core': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/logger': 2.12.0
+ '@parcel/profiler': 2.12.0
+ '@parcel/types': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ nullthrows: 1.1.1
+ dev: true
+
+ /@popperjs/core@2.11.8:
+ resolution:
+ {
+ integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==,
+ }
+ dev: false
+
+ /@rollup/rollup-android-arm-eabi@4.14.1:
+ resolution:
+ {
+ integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==,
+ }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.14.1:
+ resolution:
+ {
+ integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==,
+ }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.14.1:
+ resolution:
+ {
+ integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.14.1:
+ resolution:
+ {
+ integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/babel-plugin': 11.11.0
- '@emotion/is-prop-valid': 1.2.2
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/serialize': 1.1.4
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.0)
- '@emotion/utils': 1.2.1
- '@types/react': 18.3.0
- react: 18.3.0
- dev: false
-
- /@emotion/unitless@0.8.1:
- resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
- dev: false
-
- /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.0):
- resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
- peerDependencies:
- react: '>=16.8.0'
- dependencies:
- react: 18.3.0
- dev: false
-
- /@emotion/utils@1.2.1:
- resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==}
- dev: false
-
- /@emotion/weak-memoize@0.3.1:
- resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
- dev: false
-
- /@esbuild/aix-ppc64@0.19.12:
- resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/aix-ppc64@0.21.5:
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.19.12:
- resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.21.5:
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.19.12:
- resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.21.5:
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.19.12:
- resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.21.5:
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.19.12:
- resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.21.5:
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.19.12:
- resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.21.5:
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.19.12:
- resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.21.5:
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.19.12:
- resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.21.5:
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.19.12:
- resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.21.5:
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.19.12:
- resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.21.5:
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.19.12:
- resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.21.5:
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.19.12:
- resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.21.5:
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.19.12:
- resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.21.5:
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.19.12:
- resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.21.5:
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.19.12:
- resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.21.5:
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.19.12:
- resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.21.5:
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.19.12:
- resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.21.5:
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.19.12:
- resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.21.5:
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.19.12:
- resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.21.5:
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.19.12:
- resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.21.5:
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.19.12:
- resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.21.5:
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.19.12:
- resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.21.5:
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.19.12:
- resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.21.5:
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@floating-ui/core@1.6.1:
- resolution: {integrity: sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==}
- dependencies:
- '@floating-ui/utils': 0.2.2
- dev: false
-
- /@floating-ui/dom@1.6.4:
- resolution: {integrity: sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==}
- dependencies:
- '@floating-ui/core': 1.6.1
- '@floating-ui/utils': 0.2.2
- dev: false
-
- /@floating-ui/react-dom@2.0.9(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
- dependencies:
- '@floating-ui/dom': 1.6.4
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- dev: false
-
- /@floating-ui/utils@0.2.2:
- resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
- dev: false
-
- /@jest/schemas@29.6.3:
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@sinclair/typebox': 0.27.8
- dev: true
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
-
- /@lezer/common@1.2.1:
- resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==}
- dev: true
-
- /@lezer/lr@1.4.0:
- resolution: {integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==}
- dependencies:
- '@lezer/common': 1.2.1
- dev: true
-
- /@lmdb/lmdb-darwin-arm64@2.8.5:
- resolution: {integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@lmdb/lmdb-darwin-x64@2.8.5:
- resolution: {integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@lmdb/lmdb-linux-arm64@2.8.5:
- resolution: {integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@lmdb/lmdb-linux-arm@2.8.5:
- resolution: {integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@lmdb/lmdb-linux-x64@2.8.5:
- resolution: {integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@lmdb/lmdb-win32-x64@2.8.5:
- resolution: {integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@mischnic/json-sourcemap@0.1.1:
- resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==}
- engines: {node: '>=12.0.0'}
- dependencies:
- '@lezer/common': 1.2.1
- '@lezer/lr': 1.4.0
- json5: 2.2.3
- dev: true
-
- /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2:
- resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2:
- resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2:
- resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2:
- resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2:
- resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2:
- resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@mui/base@5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- react-dom: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.14.1:
+ resolution:
+ {
+ integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@floating-ui/react-dom': 2.0.9(react-dom@18.3.0)(react@18.3.0)
- '@mui/types': 7.2.14(@types/react@18.3.0)
- '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@popperjs/core': 2.11.8
- '@types/react': 18.3.0
- clsx: 2.1.1
- prop-types: 15.8.1
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- dev: false
-
- /@mui/core-downloads-tracker@5.15.15:
- resolution: {integrity: sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==}
- dev: false
-
- /@mui/icons-material@5.15.15(@mui/material@5.15.15)(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@mui/material': ^5.0.0
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
+
+ /@rollup/rollup-linux-arm64-gnu@4.14.1:
+ resolution:
+ {
+ integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@types/react': 18.3.0
- react: 18.3.0
- dev: false
-
- /@mui/lab@5.0.0-alpha.170(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@emotion/react': ^11.5.0
- '@emotion/styled': ^11.3.0
- '@mui/material': '>=5.15.0'
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- react-dom: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@emotion/react':
+
+ /@rollup/rollup-linux-arm64-musl@4.14.1:
+ resolution:
+ {
+ integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@emotion/styled':
+
+ /@rollup/rollup-linux-powerpc64le-gnu@4.14.1:
+ resolution:
+ {
+ integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==,
+ }
+ cpu: [ppc64le]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@types/react':
+
+ /@rollup/rollup-linux-riscv64-gnu@4.14.1:
+ resolution:
+ {
+ integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==,
+ }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/material': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0)
- '@mui/types': 7.2.14(@types/react@18.3.0)
- '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@types/react': 18.3.0
- clsx: 2.1.1
- prop-types: 15.8.1
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- dev: false
-
- /@mui/material@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@emotion/react': ^11.5.0
- '@emotion/styled': ^11.3.0
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- react-dom: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@emotion/react':
+
+ /@rollup/rollup-linux-s390x-gnu@4.14.1:
+ resolution:
+ {
+ integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==,
+ }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.14.1:
+ resolution:
+ {
+ integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@emotion/styled':
+
+ /@rollup/rollup-linux-x64-musl@4.14.1:
+ resolution:
+ {
+ integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@types/react':
+
+ /@rollup/rollup-win32-arm64-msvc@4.14.1:
+ resolution:
+ {
+ integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==,
+ }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- '@mui/base': 5.0.0-beta.40(@types/react@18.3.0)(react-dom@18.3.0)(react@18.3.0)
- '@mui/core-downloads-tracker': 5.15.15
- '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0)
- '@mui/types': 7.2.14(@types/react@18.3.0)
- '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@types/react': 18.3.0
- '@types/react-transition-group': 4.4.10
- clsx: 2.1.1
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- react-is: 18.2.0
- react-transition-group: 4.4.5(react-dom@18.3.0)(react@18.3.0)
- dev: false
-
- /@mui/private-theming@5.15.14(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
+
+ /@rollup/rollup-win32-ia32-msvc@4.14.1:
+ resolution:
+ {
+ integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==,
+ }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@types/react': 18.3.0
- prop-types: 15.8.1
- react: 18.3.0
- dev: false
-
- /@mui/styled-engine@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.0):
- resolution: {integrity: sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@emotion/react': ^11.4.1
- '@emotion/styled': ^11.3.0
- react: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@emotion/react':
+
+ /@rollup/rollup-win32-x64-msvc@4.14.1:
+ resolution:
+ {
+ integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==,
+ }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- '@emotion/styled':
+
+ /@sinclair/typebox@0.27.8:
+ resolution:
+ {
+ integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==,
+ }
+ dev: true
+
+ /@swc/core-darwin-arm64@1.3.107:
+ resolution:
+ {
+ integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/cache': 11.11.0
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.0
- dev: false
-
- /@mui/system@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@emotion/react': ^11.5.0
- '@emotion/styled': ^11.3.0
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@emotion/react':
+
+ /@swc/core-darwin-arm64@1.7.6:
+ resolution:
+ {
+ integrity: sha512-6lYHey84ZzsdtC7UuPheM4Rm0Inzxm6Sb8U6dmKc4eCx8JL0LfWG4LC5RsdsrTxnjTsbriWlnhZBffh8ijUHIQ==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- '@emotion/styled':
+
+ /@swc/core-darwin-x64@1.3.107:
+ resolution:
+ {
+ integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- '@types/react':
+
+ /@swc/core-darwin-x64@1.7.6:
+ resolution:
+ {
+ integrity: sha512-Fyl+8aH9O5rpx4O7r2KnsPpoi32iWoKOYKiipeTbGjQ/E95tNPxbmsz4yqE8Ovldcga60IPJ5OKQA3HWRiuzdw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@emotion/react': 11.11.4(@types/react@18.3.0)(react@18.3.0)
- '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.0)(react@18.3.0)
- '@mui/private-theming': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.0)
- '@mui/types': 7.2.14(@types/react@18.3.0)
- '@mui/utils': 5.15.14(@types/react@18.3.0)(react@18.3.0)
- '@types/react': 18.3.0
- clsx: 2.1.1
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.0
- dev: false
-
- /@mui/types@7.2.14(@types/react@18.3.0):
- resolution: {integrity: sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
+
+ /@swc/core-linux-arm-gnueabihf@1.3.107:
+ resolution:
+ {
+ integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@types/react': 18.3.0
- dev: false
-
- /@mui/utils@5.15.14(@types/react@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
+
+ /@swc/core-linux-arm-gnueabihf@1.7.6:
+ resolution:
+ {
+ integrity: sha512-2WxYTqFaOx48GKC2cbO1/IntA+w+kfCFy436Ij7qRqqtV/WAvTM9TC1OmiFbqq436rSot52qYmX8fkwdB5UcLQ==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@babel/runtime': 7.24.5
- '@types/prop-types': 15.7.12
- '@types/react': 18.3.0
- prop-types: 15.8.1
- react: 18.3.0
- react-is: 18.2.0
- dev: false
-
- /@parcel/bundler-default@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/graph': 3.2.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/cache@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/logger': 2.12.0
- '@parcel/utils': 2.12.0
- lmdb: 2.8.5
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/codeframe@2.12.0:
- resolution: {integrity: sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- chalk: 4.1.2
- dev: true
-
- /@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/config-default@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
- resolution: {integrity: sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0)
- '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0)
- '@parcel/core': 2.12.0
- '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0)
- '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0)
- '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0)
- '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0)
- '@parcel/optimizer-swc': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0)
- '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0)
- '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0)
- '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0)
- '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0)
- '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0)
- '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0)
- '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-js': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0)
- '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@swc/helpers'
- - cssnano
- - postcss
- - purgecss
- - relateurl
- - srcset
- - terser
- - typescript
- - uncss
- dev: true
-
- /@parcel/core@2.12.0:
- resolution: {integrity: sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@mischnic/json-sourcemap': 0.1.1
- '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
- '@parcel/diagnostic': 2.12.0
- '@parcel/events': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/graph': 3.2.0
- '@parcel/logger': 2.12.0
- '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/profiler': 2.12.0
- '@parcel/rust': 2.12.0
- '@parcel/source-map': 2.1.1
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- abortcontroller-polyfill: 1.7.5
- base-x: 3.0.9
- browserslist: 4.22.3
- clone: 2.1.2
- dotenv: 7.0.0
- dotenv-expand: 5.1.0
- json5: 2.2.3
- msgpackr: 1.10.1
- nullthrows: 1.1.1
- semver: 7.5.4
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/diagnostic@2.12.0:
- resolution: {integrity: sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@mischnic/json-sourcemap': 0.1.1
- nullthrows: 1.1.1
- dev: true
-
- /@parcel/events@2.12.0:
- resolution: {integrity: sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==}
- engines: {node: '>= 12.0.0'}
- dev: true
-
- /@parcel/fs@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/rust': 2.12.0
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- '@parcel/watcher': 2.4.1
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/graph@3.2.0:
- resolution: {integrity: sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- nullthrows: 1.1.1
- dev: true
-
- /@parcel/logger@2.12.0:
- resolution: {integrity: sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/events': 2.12.0
- dev: true
-
- /@parcel/markdown-ansi@2.12.0:
- resolution: {integrity: sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- chalk: 4.1.2
- dev: true
-
- /@parcel/namer-default@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/node-resolver-core@3.3.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@mischnic/json-sourcemap': 0.1.1
- '@parcel/diagnostic': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- semver: 7.5.4
- transitivePeerDependencies:
- - '@parcel/core'
- dev: true
-
- /@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- browserslist: 4.22.3
- lightningcss: 1.24.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
- resolution: {integrity: sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- htmlnano: 2.1.0(svgo@2.8.0)(typescript@5.3.3)
- nullthrows: 1.1.1
- posthtml: 0.16.6
- svgo: 2.8.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- - cssnano
- - postcss
- - purgecss
- - relateurl
- - srcset
- - terser
- - typescript
- - uncss
- dev: true
-
- /@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- '@parcel/utils': 2.12.0
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- svgo: 2.8.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/optimizer-swc@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- '@swc/core': 1.7.6
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/package-manager@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
- resolution: {integrity: sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/logger': 2.12.0
- '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0)
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- '@swc/core': 1.3.107(@swc/helpers@0.5.6)
- semver: 7.5.4
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-css@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- lightningcss: 1.24.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-html@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- posthtml: 0.16.6
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-js@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- '@parcel/source-map': 2.1.1
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- globals: 13.24.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-raw@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-svg@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- posthtml: 0.16.6
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-ts@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-8wR0BNN2NBD+IIU0tjioK+lRD4p2Qi/fKxDH5ixEW912tRV+Vd4kE8k++U6YQIpSlK4FRnjFod5zYYhNSLuiXg==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==}
- engines: {node: '>=12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/plugin@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/plugin@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
- resolution: {integrity: sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/profiler@2.12.0:
- resolution: {integrity: sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/events': 2.12.0
- chrome-trace-event: 1.0.3
- dev: true
-
- /@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- chalk: 4.1.2
- term-size: 2.2.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- chrome-trace-event: 1.0.3
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/resolver-default@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0)
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/runtime-js@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- react-error-overlay: 6.0.9
- react-refresh: 0.9.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/rust@2.12.0:
- resolution: {integrity: sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==}
- engines: {node: '>= 12.0.0'}
- dev: true
-
- /@parcel/source-map@2.1.1:
- resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==}
- engines: {node: ^12.18.3 || >=14}
- dependencies:
- detect-libc: 1.0.3
- dev: true
-
- /@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- browserslist: 4.22.3
- json5: 2.2.3
- nullthrows: 1.1.1
- semver: 7.5.4
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-css@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- browserslist: 4.22.3
- lightningcss: 1.24.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-html@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- nullthrows: 1.1.1
- posthtml: 0.16.6
- posthtml-parser: 0.10.2
- posthtml-render: 3.0.0
- semver: 7.5.4
- srcset: 4.0.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-image@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-js@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- '@parcel/rust': 2.12.0
- '@parcel/source-map': 2.1.1
- '@parcel/utils': 2.12.0
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- '@swc/helpers': 0.5.6
- browserslist: 4.22.3
- nullthrows: 1.1.1
- regenerator-runtime: 0.13.11
- semver: 7.5.4
- dev: true
-
- /@parcel/transformer-json@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- json5: 2.2.3
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- '@parcel/utils': 2.12.0
- clone: 2.1.2
- nullthrows: 1.1.1
- postcss-value-parser: 4.2.0
- semver: 7.5.4
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- posthtml: 0.16.6
- posthtml-parser: 0.10.2
- posthtml-render: 3.0.0
- semver: 7.5.4
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- react-refresh: 0.9.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/rust': 2.12.0
- nullthrows: 1.1.1
- posthtml: 0.16.6
- posthtml-parser: 0.10.2
- posthtml-render: 3.0.0
- semver: 7.5.4
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/transformer-typescript-types@2.12.0(@parcel/core@2.12.0)(typescript@5.3.3):
- resolution: {integrity: sha512-uxF4UBMYvbjiV3zHTWMrZX8cFD92VUvD3ArcGi5WEtuVROUm9Sc47o0mOzxKfMFlJu2KOfZVHYlzK9f/UKA2kQ==}
- engines: {node: '>= 12.0.0', parcel: ^2.12.0}
- peerDependencies:
- typescript: '>=3.0.0'
- dependencies:
- '@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0)
- '@parcel/source-map': 2.1.1
- '@parcel/ts-utils': 2.12.0(typescript@5.3.3)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- typescript: 5.3.3
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/ts-utils@2.12.0(typescript@5.3.3):
- resolution: {integrity: sha512-zou+W6dcqnXXUOfN5zGM+ePIWbYOhGp8bVB2jICoNkoKmNAHd4l4zeHl5yQXnbZfynVw88cZVqxtXS8tYebelg==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- typescript: '>=3.0.0'
- dependencies:
- nullthrows: 1.1.1
- typescript: 5.3.3
- dev: true
-
- /@parcel/types@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==}
- dependencies:
- '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
- '@parcel/diagnostic': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- '@parcel/source-map': 2.1.1
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- utility-types: 3.11.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/types@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6):
- resolution: {integrity: sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==}
- dependencies:
- '@parcel/cache': 2.12.0(@parcel/core@2.12.0)
- '@parcel/diagnostic': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- '@parcel/source-map': 2.1.1
- '@parcel/workers': 2.12.0(@parcel/core@2.12.0)
- utility-types: 3.11.0
- transitivePeerDependencies:
- - '@parcel/core'
- - '@swc/helpers'
- dev: true
-
- /@parcel/utils@2.12.0:
- resolution: {integrity: sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- '@parcel/codeframe': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/logger': 2.12.0
- '@parcel/markdown-ansi': 2.12.0
- '@parcel/rust': 2.12.0
- '@parcel/source-map': 2.1.1
- chalk: 4.1.2
- nullthrows: 1.1.1
- dev: true
-
- /@parcel/watcher-android-arm64@2.4.1:
- resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-darwin-arm64@2.4.1:
- resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-darwin-x64@2.4.1:
- resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-freebsd-x64@2.4.1:
- resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-linux-arm-glibc@2.4.1:
- resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-linux-arm64-glibc@2.4.1:
- resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-linux-arm64-musl@2.4.1:
- resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-linux-x64-glibc@2.4.1:
- resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-linux-x64-musl@2.4.1:
- resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-win32-arm64@2.4.1:
- resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-win32-ia32@2.4.1:
- resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
- engines: {node: '>= 10.0.0'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher-win32-x64@2.4.1:
- resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@parcel/watcher@2.4.1:
- resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
- engines: {node: '>= 10.0.0'}
- dependencies:
- detect-libc: 1.0.3
- is-glob: 4.0.3
- micromatch: 4.0.5
- node-addon-api: 7.1.0
- optionalDependencies:
- '@parcel/watcher-android-arm64': 2.4.1
- '@parcel/watcher-darwin-arm64': 2.4.1
- '@parcel/watcher-darwin-x64': 2.4.1
- '@parcel/watcher-freebsd-x64': 2.4.1
- '@parcel/watcher-linux-arm-glibc': 2.4.1
- '@parcel/watcher-linux-arm64-glibc': 2.4.1
- '@parcel/watcher-linux-arm64-musl': 2.4.1
- '@parcel/watcher-linux-x64-glibc': 2.4.1
- '@parcel/watcher-linux-x64-musl': 2.4.1
- '@parcel/watcher-win32-arm64': 2.4.1
- '@parcel/watcher-win32-ia32': 2.4.1
- '@parcel/watcher-win32-x64': 2.4.1
- dev: true
-
- /@parcel/workers@2.12.0(@parcel/core@2.12.0):
- resolution: {integrity: sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@parcel/core': ^2.12.0
- dependencies:
- '@parcel/core': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/logger': 2.12.0
- '@parcel/profiler': 2.12.0
- '@parcel/types': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- nullthrows: 1.1.1
- dev: true
-
- /@popperjs/core@2.11.8:
- resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
- dev: false
-
- /@rollup/rollup-android-arm-eabi@4.14.1:
- resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-android-arm64@4.14.1:
- resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-arm64@4.14.1:
- resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-x64@4.14.1:
- resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm-gnueabihf@4.14.1:
- resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-gnu@4.14.1:
- resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-musl@4.14.1:
- resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-powerpc64le-gnu@4.14.1:
- resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==}
- cpu: [ppc64le]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-riscv64-gnu@4.14.1:
- resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-s390x-gnu@4.14.1:
- resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-gnu@4.14.1:
- resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-musl@4.14.1:
- resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-arm64-msvc@4.14.1:
- resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-ia32-msvc@4.14.1:
- resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-x64-msvc@4.14.1:
- resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@sinclair/typebox@0.27.8:
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
- dev: true
-
- /@swc/core-darwin-arm64@1.3.107:
- resolution: {integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-darwin-arm64@1.7.6:
- resolution: {integrity: sha512-6lYHey84ZzsdtC7UuPheM4Rm0Inzxm6Sb8U6dmKc4eCx8JL0LfWG4LC5RsdsrTxnjTsbriWlnhZBffh8ijUHIQ==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-darwin-x64@1.3.107:
- resolution: {integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-darwin-x64@1.7.6:
- resolution: {integrity: sha512-Fyl+8aH9O5rpx4O7r2KnsPpoi32iWoKOYKiipeTbGjQ/E95tNPxbmsz4yqE8Ovldcga60IPJ5OKQA3HWRiuzdw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm-gnueabihf@1.3.107:
- resolution: {integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm-gnueabihf@1.7.6:
- resolution: {integrity: sha512-2WxYTqFaOx48GKC2cbO1/IntA+w+kfCFy436Ij7qRqqtV/WAvTM9TC1OmiFbqq436rSot52qYmX8fkwdB5UcLQ==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-gnu@1.3.107:
- resolution: {integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-gnu@1.7.6:
- resolution: {integrity: sha512-TBEGMSe0LhvPe4S7E68c7VzgT3OMu4VTmBLS7B2aHv4v8uZO92Khpp7L0WqgYU1y5eMjk+XLDLi4kokiNHv/Hg==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-musl@1.3.107:
- resolution: {integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-musl@1.7.6:
- resolution: {integrity: sha512-QI8QGL0HGT42tj7F1A+YAzhGkJjUcvvTfI1e2m704W0Enl2/UIK9v5D1zvQzYwusRyKuaQfbeBRYDh0NcLOGLg==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-gnu@1.3.107:
- resolution: {integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-gnu@1.7.6:
- resolution: {integrity: sha512-61AYVzhjuNQAVIKKWOJu3H0/pFD28RYJGxnGg3YMhvRLRyuWNyY5Nyyj2WkKcz/ON+g38Arlz00NT1LDIViRLg==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-musl@1.3.107:
- resolution: {integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-musl@1.7.6:
- resolution: {integrity: sha512-hQFznpfLK8XajfAAN9Cjs0w/aVmO7iu9VZvInyrTCRcPqxV5O+rvrhRxKvC1LRMZXr5M6JRSRtepp5w+TK4kAw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-arm64-msvc@1.3.107:
- resolution: {integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-arm64-msvc@1.7.6:
- resolution: {integrity: sha512-Aqsd9afykVMuekzjm4X4TDqwxmG4CrzoOSFe0hZrn9SMio72l5eAPnMtYoe5LsIqtjV8MNprLfXaNbjHjTegmA==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-ia32-msvc@1.3.107:
- resolution: {integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-ia32-msvc@1.7.6:
- resolution: {integrity: sha512-9h0hYnOeRVNeQgHQTvD1Im67faNSSzBZ7Adtxyu9urNLfBTJilMllFd2QuGHlKW5+uaT6ZH7ZWDb+c/enx7Lcg==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-x64-msvc@1.3.107:
- resolution: {integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-x64-msvc@1.7.6:
- resolution: {integrity: sha512-izeoB8glCSe6IIDQmrVm6bvR9muk9TeKgmtY7b6l1BwL4BFnTUk4dMmpbntT90bEVQn3JPCaPtUG4HfL8VuyuA==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core@1.3.107(@swc/helpers@0.5.6):
- resolution: {integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==}
- engines: {node: '>=10'}
- requiresBuild: true
- peerDependencies:
- '@swc/helpers': ^0.5.0
- peerDependenciesMeta:
- '@swc/helpers':
+
+ /@swc/core-linux-arm64-gnu@1.3.107:
+ resolution:
+ {
+ integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@swc/counter': 0.1.2
- '@swc/helpers': 0.5.6
- '@swc/types': 0.1.5
- optionalDependencies:
- '@swc/core-darwin-arm64': 1.3.107
- '@swc/core-darwin-x64': 1.3.107
- '@swc/core-linux-arm-gnueabihf': 1.3.107
- '@swc/core-linux-arm64-gnu': 1.3.107
- '@swc/core-linux-arm64-musl': 1.3.107
- '@swc/core-linux-x64-gnu': 1.3.107
- '@swc/core-linux-x64-musl': 1.3.107
- '@swc/core-win32-arm64-msvc': 1.3.107
- '@swc/core-win32-ia32-msvc': 1.3.107
- '@swc/core-win32-x64-msvc': 1.3.107
- dev: true
-
- /@swc/core@1.7.6:
- resolution: {integrity: sha512-FZxyao9eQks1MRmUshgsZTmlg/HB2oXK5fghkoWJm/1CU2q2kaJlVDll2as5j+rmWiwkp0Gidlq8wlXcEEAO+g==}
- engines: {node: '>=10'}
- requiresBuild: true
- peerDependencies:
- '@swc/helpers': '*'
- peerDependenciesMeta:
- '@swc/helpers':
+
+ /@swc/core-linux-arm64-gnu@1.7.6:
+ resolution:
+ {
+ integrity: sha512-TBEGMSe0LhvPe4S7E68c7VzgT3OMu4VTmBLS7B2aHv4v8uZO92Khpp7L0WqgYU1y5eMjk+XLDLi4kokiNHv/Hg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@swc/counter': 0.1.3
- '@swc/types': 0.1.12
- optionalDependencies:
- '@swc/core-darwin-arm64': 1.7.6
- '@swc/core-darwin-x64': 1.7.6
- '@swc/core-linux-arm-gnueabihf': 1.7.6
- '@swc/core-linux-arm64-gnu': 1.7.6
- '@swc/core-linux-arm64-musl': 1.7.6
- '@swc/core-linux-x64-gnu': 1.7.6
- '@swc/core-linux-x64-musl': 1.7.6
- '@swc/core-win32-arm64-msvc': 1.7.6
- '@swc/core-win32-ia32-msvc': 1.7.6
- '@swc/core-win32-x64-msvc': 1.7.6
- dev: true
-
- /@swc/counter@0.1.2:
- resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
- dev: true
-
- /@swc/counter@0.1.3:
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
- dev: true
-
- /@swc/helpers@0.5.6:
- resolution: {integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /@swc/types@0.1.12:
- resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==}
- dependencies:
- '@swc/counter': 0.1.3
- dev: true
-
- /@swc/types@0.1.5:
- resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
- dev: true
-
- /@trysound/sax@0.2.0:
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
-
- /@types/file-saver@2.0.7:
- resolution: {integrity: sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==}
- dev: true
-
- /@types/lodash@4.14.202:
- resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
-
- /@types/node@22.1.0:
- resolution: {integrity: sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==}
- dependencies:
- undici-types: 6.13.0
- dev: true
-
- /@types/parse-json@4.0.2:
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
- dev: false
-
- /@types/prop-types@15.7.12:
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
-
- /@types/react-dom@18.3.0:
- resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
- dependencies:
- '@types/react': 18.3.0
- dev: true
-
- /@types/react-transition-group@4.4.10:
- resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==}
- dependencies:
- '@types/react': 18.3.0
- dev: false
-
- /@types/react@18.3.0:
- resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==}
- dependencies:
- '@types/prop-types': 15.7.12
- csstype: 3.1.3
-
- /@vitejs/plugin-react-swc@3.7.0(vite@5.3.5):
- resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==}
- peerDependencies:
- vite: ^4 || ^5
- dependencies:
- '@swc/core': 1.7.6
- vite: 5.3.5(@types/node@22.1.0)
- transitivePeerDependencies:
- - '@swc/helpers'
- dev: true
-
- /@vitest/expect@1.4.0:
- resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==}
- dependencies:
- '@vitest/spy': 1.4.0
- '@vitest/utils': 1.4.0
- chai: 4.4.1
- dev: true
-
- /@vitest/runner@1.4.0:
- resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==}
- dependencies:
- '@vitest/utils': 1.4.0
- p-limit: 5.0.0
- pathe: 1.1.2
- dev: true
-
- /@vitest/snapshot@1.4.0:
- resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==}
- dependencies:
- magic-string: 0.30.9
- pathe: 1.1.2
- pretty-format: 29.7.0
- dev: true
-
- /@vitest/spy@1.4.0:
- resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==}
- dependencies:
- tinyspy: 2.2.1
- dev: true
-
- /@vitest/utils@1.4.0:
- resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==}
- dependencies:
- diff-sequences: 29.6.3
- estree-walker: 3.0.3
- loupe: 2.3.7
- pretty-format: 29.7.0
- dev: true
-
- /@zarrita/core@0.1.0-next.12:
- resolution: {integrity: sha512-Y3TsUBqyQ86Z7Z/1uI9CllI8clm0fFGi0URlVn+YrSfuoZV377DBfYwksoycyb2KtPyo/tfRvwahYXW71RrWhQ==}
- dependencies:
- '@zarrita/storage': 0.1.0-next.5
- '@zarrita/typedarray': 0.1.0-next.3
- numcodecs: 0.3.1
- dev: false
-
- /@zarrita/indexing@0.1.0-next.14:
- resolution: {integrity: sha512-13Af1eQgdkp9Cw+tQf3jQ5YYirkR2YEIiPFRcwNuHV3u2ycM1okuY2lilIjQ1hgeJzrmIc3q/y72ioT4bgiwcQ==}
- dependencies:
- '@zarrita/core': 0.1.0-next.12
- '@zarrita/storage': 0.1.0-next.5
- '@zarrita/typedarray': 0.1.0-next.3
- dev: false
-
- /@zarrita/storage@0.1.0-next.5:
- resolution: {integrity: sha512-E1VSxhNGZHL4RsKfIuyaz0HRsDk7hOU8Y7R+8yvKolaHDjK31XQsUgu97oaR24qS1j1OOg5vGyFyd+y0q7FNOA==}
- dependencies:
- reference-spec-reader: 0.2.0
- unzipit: 1.4.3
- dev: false
-
- /@zarrita/typedarray@0.1.0-next.3:
- resolution: {integrity: sha512-DpSaU3Cr6HmYDC/v8oM+e219cHU/kzKma309Z9E+QbpRnZycKNbSTKcxFR7FqB6HgB9640gzNUVFG5P+wzX5Xg==}
- dev: false
-
- /abortcontroller-polyfill@1.7.5:
- resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==}
- dev: true
-
- /acorn-walk@8.3.2:
- resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
- dev: true
-
- /ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
- dev: true
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
- dev: true
-
- /babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
- dependencies:
- '@babel/runtime': 7.24.5
- cosmiconfig: 7.1.0
- resolve: 1.22.8
- dev: false
-
- /base-x@3.0.9:
- resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- dev: true
-
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- dev: true
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
- dev: true
-
- /browserslist@4.22.3:
- resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001581
- electron-to-chromium: 1.4.650
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.22.3)
- dev: true
-
- /buffer@6.0.3:
- resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
- dev: true
-
- /cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
- dev: true
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
- /caniuse-lite@1.0.30001581:
- resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==}
- dev: true
-
- /chai@4.4.1:
- resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
- engines: {node: '>=4'}
- dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.3
- deep-eql: 4.1.3
- get-func-name: 2.0.2
- loupe: 2.3.7
- pathval: 1.1.1
- type-detect: 4.0.8
- dev: true
-
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /check-error@1.0.3:
- resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
- dependencies:
- get-func-name: 2.0.2
- dev: true
-
- /chrome-trace-event@1.0.3:
- resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
- engines: {node: '>=6.0'}
- dev: true
-
- /clone@2.1.2:
- resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
- engines: {node: '>=0.8'}
- dev: true
-
- /clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
- dev: false
-
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
- dev: true
-
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
-
- /commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
- dev: true
-
- /convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
- dev: false
-
- /cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
- engines: {node: '>=10'}
- dependencies:
- '@types/parse-json': 4.0.2
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
- dev: false
-
- /cosmiconfig@8.3.6(typescript@5.3.3):
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
+
+ /@swc/core-linux-arm64-musl@1.3.107:
+ resolution:
+ {
+ integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- parse-json: 5.2.0
- path-type: 4.0.0
- typescript: 5.3.3
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /css-select@4.3.0:
- resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
- dependencies:
- boolbase: 1.0.0
- css-what: 6.1.0
- domhandler: 4.3.1
- domutils: 2.8.0
- nth-check: 2.1.1
- dev: true
-
- /css-tree@1.1.3:
- resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
- engines: {node: '>=8.0.0'}
- dependencies:
- mdn-data: 2.0.14
- source-map: 0.6.1
- dev: true
-
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
- dev: true
-
- /csso@4.2.0:
- resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
- engines: {node: '>=8.0.0'}
- dependencies:
- css-tree: 1.1.3
- dev: true
-
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
+
+ /@swc/core-linux-arm64-musl@1.7.6:
+ resolution:
+ {
+ integrity: sha512-QI8QGL0HGT42tj7F1A+YAzhGkJjUcvvTfI1e2m704W0Enl2/UIK9v5D1zvQzYwusRyKuaQfbeBRYDh0NcLOGLg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deep-eql@4.1.3:
- resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
- engines: {node: '>=6'}
- dependencies:
- type-detect: 4.0.8
- dev: true
-
- /detect-libc@1.0.3:
- resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
- engines: {node: '>=0.10'}
- hasBin: true
- dev: true
-
- /detect-libc@2.0.2:
- resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
- engines: {node: '>=8'}
- dev: true
-
- /diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
- dependencies:
- '@babel/runtime': 7.24.5
- csstype: 3.1.3
- dev: false
-
- /dom-serializer@1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- entities: 2.2.0
- dev: true
-
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
- dev: true
-
- /domhandler@4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
- engines: {node: '>= 4'}
- dependencies:
- domelementtype: 2.3.0
- dev: true
-
- /domutils@2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
- dependencies:
- dom-serializer: 1.4.1
- domelementtype: 2.3.0
- domhandler: 4.3.1
- dev: true
-
- /dotenv-expand@5.1.0:
- resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
- dev: true
-
- /dotenv@7.0.0:
- resolution: {integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==}
- engines: {node: '>=6'}
- dev: true
-
- /electron-to-chromium@1.4.650:
- resolution: {integrity: sha512-sYSQhJCJa4aGA1wYol5cMQgekDBlbVfTRavlGZVr3WZpDdOPcp6a6xUnFfrt8TqZhsBYYbDxJZCjGfHuGupCRQ==}
- dev: true
-
- /entities@2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
- dev: true
-
- /entities@3.0.1:
- resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
- engines: {node: '>=0.12'}
- dev: true
-
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- dependencies:
- is-arrayish: 0.2.1
-
- /esbuild@0.19.12:
- resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.12
- '@esbuild/android-arm': 0.19.12
- '@esbuild/android-arm64': 0.19.12
- '@esbuild/android-x64': 0.19.12
- '@esbuild/darwin-arm64': 0.19.12
- '@esbuild/darwin-x64': 0.19.12
- '@esbuild/freebsd-arm64': 0.19.12
- '@esbuild/freebsd-x64': 0.19.12
- '@esbuild/linux-arm': 0.19.12
- '@esbuild/linux-arm64': 0.19.12
- '@esbuild/linux-ia32': 0.19.12
- '@esbuild/linux-loong64': 0.19.12
- '@esbuild/linux-mips64el': 0.19.12
- '@esbuild/linux-ppc64': 0.19.12
- '@esbuild/linux-riscv64': 0.19.12
- '@esbuild/linux-s390x': 0.19.12
- '@esbuild/linux-x64': 0.19.12
- '@esbuild/netbsd-x64': 0.19.12
- '@esbuild/openbsd-x64': 0.19.12
- '@esbuild/sunos-x64': 0.19.12
- '@esbuild/win32-arm64': 0.19.12
- '@esbuild/win32-ia32': 0.19.12
- '@esbuild/win32-x64': 0.19.12
- dev: true
-
- /esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
- dev: true
-
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
- dev: true
-
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: false
-
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
- dev: true
-
- /fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
- dev: false
-
- /file-saver@2.0.5:
- resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
- dev: false
-
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
- dev: true
-
- /find-root@1.1.0:
- resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
- dev: false
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- dev: false
-
- /get-func-name@2.0.2:
- resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
- dev: true
-
- /get-port@4.2.0:
- resolution: {integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==}
- engines: {node: '>=6'}
- dev: true
-
- /get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
- dev: true
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- function-bind: 1.1.2
- dev: false
-
- /hoist-non-react-statics@3.3.2:
- resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
- dependencies:
- react-is: 16.13.1
- dev: false
-
- /htmlnano@2.1.0(svgo@2.8.0)(typescript@5.3.3):
- resolution: {integrity: sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==}
- peerDependencies:
- cssnano: ^6.0.0
- postcss: ^8.3.11
- purgecss: ^5.0.0
- relateurl: ^0.2.7
- srcset: 4.0.0
- svgo: ^3.0.2
- terser: ^5.10.0
- uncss: ^0.17.3
- peerDependenciesMeta:
- cssnano:
+
+ /@swc/core-linux-x64-gnu@1.3.107:
+ resolution:
+ {
+ integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- postcss:
+
+ /@swc/core-linux-x64-gnu@1.7.6:
+ resolution:
+ {
+ integrity: sha512-61AYVzhjuNQAVIKKWOJu3H0/pFD28RYJGxnGg3YMhvRLRyuWNyY5Nyyj2WkKcz/ON+g38Arlz00NT1LDIViRLg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- purgecss:
+
+ /@swc/core-linux-x64-musl@1.3.107:
+ resolution:
+ {
+ integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- relateurl:
+
+ /@swc/core-linux-x64-musl@1.7.6:
+ resolution:
+ {
+ integrity: sha512-hQFznpfLK8XajfAAN9Cjs0w/aVmO7iu9VZvInyrTCRcPqxV5O+rvrhRxKvC1LRMZXr5M6JRSRtepp5w+TK4kAw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- srcset:
+
+ /@swc/core-win32-arm64-msvc@1.3.107:
+ resolution:
+ {
+ integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- svgo:
+
+ /@swc/core-win32-arm64-msvc@1.7.6:
+ resolution:
+ {
+ integrity: sha512-Aqsd9afykVMuekzjm4X4TDqwxmG4CrzoOSFe0hZrn9SMio72l5eAPnMtYoe5LsIqtjV8MNprLfXaNbjHjTegmA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- terser:
+
+ /@swc/core-win32-ia32-msvc@1.3.107:
+ resolution:
+ {
+ integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- uncss:
+
+ /@swc/core-win32-ia32-msvc@1.7.6:
+ resolution:
+ {
+ integrity: sha512-9h0hYnOeRVNeQgHQTvD1Im67faNSSzBZ7Adtxyu9urNLfBTJilMllFd2QuGHlKW5+uaT6ZH7ZWDb+c/enx7Lcg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- cosmiconfig: 8.3.6(typescript@5.3.3)
- posthtml: 0.16.6
- svgo: 2.8.0
- timsort: 0.3.0
- transitivePeerDependencies:
- - typescript
- dev: true
-
- /htmlparser2@7.2.0:
- resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- domutils: 2.8.0
- entities: 3.0.1
- dev: true
-
- /human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
- dev: true
-
- /ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- dev: true
-
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- /is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
- dependencies:
- hasown: 2.0.2
- dev: false
-
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-json@2.0.1:
- resolution: {integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==}
- dev: true
-
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
-
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- /js-tokens@9.0.0:
- resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
- dev: true
-
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
- dependencies:
- argparse: 2.0.1
- dev: true
-
- /json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- /jsonc-parser@3.2.1:
- resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
- dev: true
-
- /kiwi-schema@0.5.0:
- resolution: {integrity: sha512-X+FpfU0yTEtc6aTHS7VwbOpvQwRt70+pXXWRI5fd6CvWhe7pSVC854TVo4Zo0x5/wwcWj+/9KUlXpdcP0dY9AA==}
- hasBin: true
- dev: false
-
- /lightningcss-darwin-arm64@1.24.0:
- resolution: {integrity: sha512-rTNPkEiynOu4CfGdd5ZfVOQe2gd2idfQd4EfX1l2ZUUwd+2SwSdbb7cG4rlwfnZckbzCAygm85xkpekRE5/wFw==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-darwin-x64@1.24.0:
- resolution: {integrity: sha512-4KCeF2RJjzp9xdGY8zIH68CUtptEg8uz8PfkHvsIdrP4t9t5CIgfDBhiB8AmuO75N6SofdmZexDZIKdy9vA7Ww==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-freebsd-x64@1.24.0:
- resolution: {integrity: sha512-FJAYlek1wXuVTsncNU0C6YD41q126dXcIUm97KAccMn9C4s/JfLSqGWT2gIzAblavPFkyGG2gIADTWp3uWfN1g==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-linux-arm-gnueabihf@1.24.0:
- resolution: {integrity: sha512-N55K6JqzMx7C0hYUu1YmWqhkHwzEJlkQRMA6phY65noO0I1LOAvP4wBIoFWrzRE+O6zL0RmXJ2xppqyTbk3sYw==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-linux-arm64-gnu@1.24.0:
- resolution: {integrity: sha512-MqqUB2TpYtFWeBvvf5KExDdClU3YGLW5bHKs50uKKootcvG9KoS7wYwd5UichS+W3mYLc5yXUPGD1DNWbLiYKw==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-linux-arm64-musl@1.24.0:
- resolution: {integrity: sha512-5wn4d9tFwa5bS1ao9mLexYVJdh3nn09HNIipsII6ZF7z9ZA5J4dOEhMgKoeCl891axTGTUYd8Kxn+Hn3XUSYRQ==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-linux-x64-gnu@1.24.0:
- resolution: {integrity: sha512-3j5MdTh+LSDF3o6uDwRjRUgw4J+IfDCVtdkUrJvKxL79qBLUujXY7CTe5X3IQDDLKEe/3wu49r8JKgxr0MfjbQ==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-linux-x64-musl@1.24.0:
- resolution: {integrity: sha512-HI+rNnvaLz0o36z6Ki0gyG5igVGrJmzczxA5fznr6eFTj3cHORoR/j2q8ivMzNFR4UKJDkTWUH5LMhacwOHWBA==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss-win32-x64-msvc@1.24.0:
- resolution: {integrity: sha512-oeije/t7OZ5N9vSs6amyW/34wIYoBCpE6HUlsSKcP2SR1CVgx9oKEM00GtQmtqNnYiMIfsSm7+ppMb4NLtD5vg==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /lightningcss@1.24.0:
- resolution: {integrity: sha512-y36QEEDVx4IM7/yIZNsZJMRREIu26WzTsauIysf5s76YeCmlSbRZS7aC97IGPuoFRnyZ5Wx43OBsQBFB5Ne7ng==}
- engines: {node: '>= 12.0.0'}
- dependencies:
- detect-libc: 1.0.3
- optionalDependencies:
- lightningcss-darwin-arm64: 1.24.0
- lightningcss-darwin-x64: 1.24.0
- lightningcss-freebsd-x64: 1.24.0
- lightningcss-linux-arm-gnueabihf: 1.24.0
- lightningcss-linux-arm64-gnu: 1.24.0
- lightningcss-linux-arm64-musl: 1.24.0
- lightningcss-linux-x64-gnu: 1.24.0
- lightningcss-linux-x64-musl: 1.24.0
- lightningcss-win32-x64-msvc: 1.24.0
- dev: true
-
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- /lmdb@2.8.5:
- resolution: {integrity: sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==}
- hasBin: true
- requiresBuild: true
- dependencies:
- msgpackr: 1.10.1
- node-addon-api: 6.1.0
- node-gyp-build-optional-packages: 5.1.1
- ordered-binary: 1.5.1
- weak-lru-cache: 1.2.2
- optionalDependencies:
- '@lmdb/lmdb-darwin-arm64': 2.8.5
- '@lmdb/lmdb-darwin-x64': 2.8.5
- '@lmdb/lmdb-linux-arm': 2.8.5
- '@lmdb/lmdb-linux-arm64': 2.8.5
- '@lmdb/lmdb-linux-x64': 2.8.5
- '@lmdb/lmdb-win32-x64': 2.8.5
- dev: true
-
- /local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
- engines: {node: '>=14'}
- dependencies:
- mlly: 1.6.1
- pkg-types: 1.0.3
- dev: true
-
- /lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: false
-
- /loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
- dependencies:
- js-tokens: 4.0.0
- dev: false
-
- /loupe@2.3.7:
- resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
- dependencies:
- get-func-name: 2.0.2
- dev: true
-
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /magic-string@0.30.9:
- resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /mdn-data@2.0.14:
- resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
- dev: true
-
- /merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
-
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
- dev: true
-
- /mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
- dev: true
-
- /mlly@1.6.1:
- resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
- dependencies:
- acorn: 8.11.3
- pathe: 1.1.2
- pkg-types: 1.0.3
- ufo: 1.5.3
- dev: true
-
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /msgpackr-extract@3.0.2:
- resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==}
- hasBin: true
- requiresBuild: true
- dependencies:
- node-gyp-build-optional-packages: 5.0.7
- optionalDependencies:
- '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2
- dev: true
- optional: true
-
- /msgpackr@1.10.1:
- resolution: {integrity: sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ==}
- optionalDependencies:
- msgpackr-extract: 3.0.2
- dev: true
-
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /node-addon-api@6.1.0:
- resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
- dev: true
-
- /node-addon-api@7.1.0:
- resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==}
- engines: {node: ^16 || ^18 || >= 20}
- dev: true
-
- /node-gyp-build-optional-packages@5.0.7:
- resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==}
- hasBin: true
- requiresBuild: true
- dev: true
- optional: true
-
- /node-gyp-build-optional-packages@5.1.1:
- resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==}
- hasBin: true
- dependencies:
- detect-libc: 2.0.2
- dev: true
-
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: true
-
- /npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- path-key: 4.0.0
- dev: true
-
- /nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- dependencies:
- boolbase: 1.0.0
- dev: true
-
- /nullthrows@1.1.1:
- resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
- dev: true
-
- /numcodecs@0.3.1:
- resolution: {integrity: sha512-ywIyGpJ+c6Ojktq9a8jsWSy12ZSUcW/W+I3jlH0q0zv9aR/ZiMsN7IrWaNq9YV2FRdLu6r/M6lp35jMA6fug/A==}
- dependencies:
- fflate: 0.8.2
- dev: false
-
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
- dependencies:
- mimic-fn: 4.0.0
- dev: true
-
- /ordered-binary@1.5.1:
- resolution: {integrity: sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==}
- dev: true
-
- /p-limit@5.0.0:
- resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
- engines: {node: '>=18'}
- dependencies:
- yocto-queue: 1.0.0
- dev: true
-
- /parcel@2.12.0(typescript@5.3.3):
- resolution: {integrity: sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==}
- engines: {node: '>= 12.0.0'}
- hasBin: true
- peerDependenciesMeta:
- '@parcel/core':
+
+ /@swc/core-win32-x64-msvc@1.3.107:
+ resolution:
+ {
+ integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@parcel/config-default': 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
- '@parcel/core': 2.12.0
- '@parcel/diagnostic': 2.12.0
- '@parcel/events': 2.12.0
- '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
- '@parcel/logger': 2.12.0
- '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
- '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0)
- '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0)
- '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0)
- '@parcel/utils': 2.12.0
- chalk: 4.1.2
- commander: 7.2.0
- get-port: 4.2.0
- transitivePeerDependencies:
- - '@swc/helpers'
- - cssnano
- - postcss
- - purgecss
- - relateurl
- - srcset
- - terser
- - typescript
- - uncss
- dev: true
-
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
- dependencies:
- callsites: 3.1.0
-
- /parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
- dependencies:
- '@babel/code-frame': 7.23.5
- error-ex: 1.3.2
- json-parse-even-better-errors: 2.3.1
- lines-and-columns: 1.2.4
-
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
- dev: true
-
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: false
-
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
-
- /pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- dev: true
-
- /pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
- dev: true
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
- /picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
- dev: true
-
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
-
- /pkg-types@1.0.3:
- resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
- dependencies:
- jsonc-parser: 3.2.1
- mlly: 1.6.1
- pathe: 1.1.2
- dev: true
-
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: true
-
- /postcss@8.4.41:
- resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.1
- source-map-js: 1.2.0
- dev: true
-
- /posthtml-parser@0.10.2:
- resolution: {integrity: sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==}
- engines: {node: '>=12'}
- dependencies:
- htmlparser2: 7.2.0
- dev: true
-
- /posthtml-parser@0.11.0:
- resolution: {integrity: sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==}
- engines: {node: '>=12'}
- dependencies:
- htmlparser2: 7.2.0
- dev: true
-
- /posthtml-render@3.0.0:
- resolution: {integrity: sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==}
- engines: {node: '>=12'}
- dependencies:
- is-json: 2.0.1
- dev: true
-
- /posthtml@0.16.6:
- resolution: {integrity: sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==}
- engines: {node: '>=12.0.0'}
- dependencies:
- posthtml-parser: 0.11.0
- posthtml-render: 3.0.0
- dev: true
-
- /prettier@3.3.2:
- resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: true
-
- /process@0.11.10:
- resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
- engines: {node: '>= 0.6.0'}
- dev: true
-
- /prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
- dev: false
-
- /react-dom@18.3.0(react@18.3.0):
- resolution: {integrity: sha512-zaKdLBftQJnvb7FtDIpZtsAIb2MZU087RM8bRDZU8LVCCFYjPTsDZJNFUWPcVz3HFSN1n/caxi0ca4B/aaVQGQ==}
- peerDependencies:
- react: ^18.3.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.0
- scheduler: 0.23.1
- dev: false
-
- /react-error-overlay@6.0.9:
- resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==}
- dev: true
-
- /react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- dev: false
-
- /react-is@18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
-
- /react-refresh@0.9.0:
- resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /react-transition-group@4.4.5(react-dom@18.3.0)(react@18.3.0):
- resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
- peerDependencies:
- react: '>=16.6.0'
- react-dom: '>=16.6.0'
- dependencies:
- '@babel/runtime': 7.24.5
- dom-helpers: 5.2.1
- loose-envify: 1.4.0
- prop-types: 15.8.1
- react: 18.3.0
- react-dom: 18.3.0(react@18.3.0)
- dev: false
-
- /react@18.3.0:
- resolution: {integrity: sha512-RPutkJftSAldDibyrjuku7q11d3oy6wKOyPe5K1HA/HwwrXcEqBdHsLypkC2FFYjP7bPUa6gbzSBhw4sY2JcDg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
- /reference-spec-reader@0.2.0:
- resolution: {integrity: sha512-q0mfCi5yZSSHXpCyxjgQeaORq3tvDsxDyzaadA/5+AbAUwRyRuuTh0aRQuE/vAOt/qzzxidJ5iDeu1cLHaNBlQ==}
- dev: false
-
- /regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: true
-
- /regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
- dev: false
-
- /regl@2.1.0:
- resolution: {integrity: sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==}
- dev: false
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
- dependencies:
- is-core-module: 2.13.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: false
-
- /rollup@4.14.1:
- resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.14.1
- '@rollup/rollup-android-arm64': 4.14.1
- '@rollup/rollup-darwin-arm64': 4.14.1
- '@rollup/rollup-darwin-x64': 4.14.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.14.1
- '@rollup/rollup-linux-arm64-gnu': 4.14.1
- '@rollup/rollup-linux-arm64-musl': 4.14.1
- '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1
- '@rollup/rollup-linux-riscv64-gnu': 4.14.1
- '@rollup/rollup-linux-s390x-gnu': 4.14.1
- '@rollup/rollup-linux-x64-gnu': 4.14.1
- '@rollup/rollup-linux-x64-musl': 4.14.1
- '@rollup/rollup-win32-arm64-msvc': 4.14.1
- '@rollup/rollup-win32-ia32-msvc': 4.14.1
- '@rollup/rollup-win32-x64-msvc': 4.14.1
- fsevents: 2.3.3
- dev: true
-
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: true
-
- /scheduler@0.23.1:
- resolution: {integrity: sha512-5GKS5JGfiah1O38Vfa9srZE4s3wdHbwjlCrvIookrg2FO9aIwKLOJXuJQFlEfNcVSOXuaL2hzDeY20uVXcUtrw==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
- dev: true
-
- /signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
- dev: true
-
- /source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /srcset@4.0.0:
- resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
- engines: {node: '>=12'}
- dev: true
-
- /stable@0.1.8:
- resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
- deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
- dev: true
-
- /stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
- dev: true
-
- /std-env@3.7.0:
- resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
- dev: true
-
- /strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
- dev: true
-
- /strip-literal@2.1.0:
- resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
- dependencies:
- js-tokens: 9.0.0
- dev: true
-
- /stylis@4.2.0:
- resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
- dev: false
-
- /supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
- dependencies:
- has-flag: 3.0.0
-
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /svgo@2.8.0:
- resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- dependencies:
- '@trysound/sax': 0.2.0
- commander: 7.2.0
- css-select: 4.3.0
- css-tree: 1.1.3
- csso: 4.2.0
- picocolors: 1.0.1
- stable: 0.1.8
- dev: true
-
- /term-size@2.2.1:
- resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
- engines: {node: '>=8'}
- dev: true
-
- /timsort@0.3.0:
- resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==}
- dev: true
-
- /tinybench@2.6.0:
- resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
- dev: true
-
- /tinypool@0.8.3:
- resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /tinyspy@2.2.1:
- resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
- dev: false
-
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
- dev: true
-
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: true
-
- /type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
- dev: true
-
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
-
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
- engines: {node: '>=14.17'}
- hasBin: true
- dev: true
-
- /ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
- dev: true
-
- /undici-types@6.13.0:
- resolution: {integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==}
- dev: true
-
- /unzipit@1.4.3:
- resolution: {integrity: sha512-gsq2PdJIWWGhx5kcdWStvNWit9FVdTewm4SEG7gFskWs+XCVaULt9+BwuoBtJiRE8eo3L1IPAOrbByNLtLtIlg==}
- engines: {node: '>=12'}
- dependencies:
- uzip-module: 1.0.3
- dev: false
-
- /update-browserslist-db@1.0.13(browserslist@4.22.3):
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.22.3
- escalade: 3.1.1
- picocolors: 1.0.0
- dev: true
-
- /utility-types@3.11.0:
- resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
- engines: {node: '>= 4'}
- dev: true
-
- /uzip-module@1.0.3:
- resolution: {integrity: sha512-AMqwWZaknLM77G+VPYNZLEruMGWGzyigPK3/Whg99B3S6vGHuqsyl5ZrOv1UUF3paGK1U6PM0cnayioaryg/fA==}
- dev: false
-
- /vite-node@1.4.0:
- resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- dependencies:
- cac: 6.7.14
- debug: 4.3.4
- pathe: 1.1.2
- picocolors: 1.0.0
- vite: 5.3.5(@types/node@22.1.0)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /vite@5.3.5(@types/node@22.1.0):
- resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
+
+ /@swc/core-win32-x64-msvc@1.7.6:
+ resolution:
+ {
+ integrity: sha512-izeoB8glCSe6IIDQmrVm6bvR9muk9TeKgmtY7b6l1BwL4BFnTUk4dMmpbntT90bEVQn3JPCaPtUG4HfL8VuyuA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- less:
+
+ /@swc/core@1.3.107(@swc/helpers@0.5.6):
+ resolution:
+ {
+ integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==,
+ }
+ engines: { node: '>=10' }
+ requiresBuild: true
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+ dependencies:
+ '@swc/counter': 0.1.2
+ '@swc/helpers': 0.5.6
+ '@swc/types': 0.1.5
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.3.107
+ '@swc/core-darwin-x64': 1.3.107
+ '@swc/core-linux-arm-gnueabihf': 1.3.107
+ '@swc/core-linux-arm64-gnu': 1.3.107
+ '@swc/core-linux-arm64-musl': 1.3.107
+ '@swc/core-linux-x64-gnu': 1.3.107
+ '@swc/core-linux-x64-musl': 1.3.107
+ '@swc/core-win32-arm64-msvc': 1.3.107
+ '@swc/core-win32-ia32-msvc': 1.3.107
+ '@swc/core-win32-x64-msvc': 1.3.107
+ dev: true
+
+ /@swc/core@1.7.6:
+ resolution:
+ {
+ integrity: sha512-FZxyao9eQks1MRmUshgsZTmlg/HB2oXK5fghkoWJm/1CU2q2kaJlVDll2as5j+rmWiwkp0Gidlq8wlXcEEAO+g==,
+ }
+ engines: { node: '>=10' }
+ requiresBuild: true
+ peerDependencies:
+ '@swc/helpers': '*'
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+ dependencies:
+ '@swc/counter': 0.1.3
+ '@swc/types': 0.1.12
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.7.6
+ '@swc/core-darwin-x64': 1.7.6
+ '@swc/core-linux-arm-gnueabihf': 1.7.6
+ '@swc/core-linux-arm64-gnu': 1.7.6
+ '@swc/core-linux-arm64-musl': 1.7.6
+ '@swc/core-linux-x64-gnu': 1.7.6
+ '@swc/core-linux-x64-musl': 1.7.6
+ '@swc/core-win32-arm64-msvc': 1.7.6
+ '@swc/core-win32-ia32-msvc': 1.7.6
+ '@swc/core-win32-x64-msvc': 1.7.6
+ dev: true
+
+ /@swc/counter@0.1.2:
+ resolution:
+ {
+ integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==,
+ }
+ dev: true
+
+ /@swc/counter@0.1.3:
+ resolution:
+ {
+ integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==,
+ }
+ dev: true
+
+ /@swc/helpers@0.5.6:
+ resolution:
+ {
+ integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==,
+ }
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /@swc/types@0.1.12:
+ resolution:
+ {
+ integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==,
+ }
+ dependencies:
+ '@swc/counter': 0.1.3
+ dev: true
+
+ /@swc/types@0.1.5:
+ resolution:
+ {
+ integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==,
+ }
+ dev: true
+
+ /@trysound/sax@0.2.0:
+ resolution:
+ {
+ integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==,
+ }
+ engines: { node: '>=10.13.0' }
+ dev: true
+
+ /@types/estree@1.0.5:
+ resolution:
+ {
+ integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
+ }
+ dev: true
+
+ /@types/file-saver@2.0.7:
+ resolution:
+ {
+ integrity: sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==,
+ }
+ dev: true
+
+ /@types/lodash@4.14.202:
+ resolution:
+ {
+ integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==,
+ }
+
+ /@types/node@22.1.0:
+ resolution:
+ {
+ integrity: sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==,
+ }
+ dependencies:
+ undici-types: 6.13.0
+ dev: true
+
+ /@types/parse-json@4.0.2:
+ resolution:
+ {
+ integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==,
+ }
+ dev: false
+
+ /@types/prop-types@15.7.12:
+ resolution:
+ {
+ integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==,
+ }
+
+ /@types/react-dom@18.3.0:
+ resolution:
+ {
+ integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==,
+ }
+ dependencies:
+ '@types/react': 18.3.0
+ dev: true
+
+ /@types/react-transition-group@4.4.10:
+ resolution:
+ {
+ integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==,
+ }
+ dependencies:
+ '@types/react': 18.3.0
+ dev: false
+
+ /@types/react@18.3.0:
+ resolution:
+ {
+ integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==,
+ }
+ dependencies:
+ '@types/prop-types': 15.7.12
+ csstype: 3.1.3
+
+ /@vitejs/plugin-react-swc@3.7.0(vite@5.3.5):
+ resolution:
+ {
+ integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==,
+ }
+ peerDependencies:
+ vite: ^4 || ^5
+ dependencies:
+ '@swc/core': 1.7.6
+ vite: 5.3.5(@types/node@22.1.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
+ /@vitest/expect@1.4.0:
+ resolution:
+ {
+ integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==,
+ }
+ dependencies:
+ '@vitest/spy': 1.4.0
+ '@vitest/utils': 1.4.0
+ chai: 4.4.1
+ dev: true
+
+ /@vitest/runner@1.4.0:
+ resolution:
+ {
+ integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==,
+ }
+ dependencies:
+ '@vitest/utils': 1.4.0
+ p-limit: 5.0.0
+ pathe: 1.1.2
+ dev: true
+
+ /@vitest/snapshot@1.4.0:
+ resolution:
+ {
+ integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==,
+ }
+ dependencies:
+ magic-string: 0.30.9
+ pathe: 1.1.2
+ pretty-format: 29.7.0
+ dev: true
+
+ /@vitest/spy@1.4.0:
+ resolution:
+ {
+ integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==,
+ }
+ dependencies:
+ tinyspy: 2.2.1
+ dev: true
+
+ /@vitest/utils@1.4.0:
+ resolution:
+ {
+ integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==,
+ }
+ dependencies:
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
+ dev: true
+
+ /@zarrita/core@0.1.0-next.12:
+ resolution:
+ {
+ integrity: sha512-Y3TsUBqyQ86Z7Z/1uI9CllI8clm0fFGi0URlVn+YrSfuoZV377DBfYwksoycyb2KtPyo/tfRvwahYXW71RrWhQ==,
+ }
+ dependencies:
+ '@zarrita/storage': 0.1.0-next.5
+ '@zarrita/typedarray': 0.1.0-next.3
+ numcodecs: 0.3.1
+ dev: false
+
+ /@zarrita/indexing@0.1.0-next.14:
+ resolution:
+ {
+ integrity: sha512-13Af1eQgdkp9Cw+tQf3jQ5YYirkR2YEIiPFRcwNuHV3u2ycM1okuY2lilIjQ1hgeJzrmIc3q/y72ioT4bgiwcQ==,
+ }
+ dependencies:
+ '@zarrita/core': 0.1.0-next.12
+ '@zarrita/storage': 0.1.0-next.5
+ '@zarrita/typedarray': 0.1.0-next.3
+ dev: false
+
+ /@zarrita/storage@0.1.0-next.5:
+ resolution:
+ {
+ integrity: sha512-E1VSxhNGZHL4RsKfIuyaz0HRsDk7hOU8Y7R+8yvKolaHDjK31XQsUgu97oaR24qS1j1OOg5vGyFyd+y0q7FNOA==,
+ }
+ dependencies:
+ reference-spec-reader: 0.2.0
+ unzipit: 1.4.3
+ dev: false
+
+ /@zarrita/typedarray@0.1.0-next.3:
+ resolution:
+ {
+ integrity: sha512-DpSaU3Cr6HmYDC/v8oM+e219cHU/kzKma309Z9E+QbpRnZycKNbSTKcxFR7FqB6HgB9640gzNUVFG5P+wzX5Xg==,
+ }
+ dev: false
+
+ /abortcontroller-polyfill@1.7.5:
+ resolution:
+ {
+ integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==,
+ }
+ dev: true
+
+ /acorn-walk@8.3.2:
+ resolution:
+ {
+ integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==,
+ }
+ engines: { node: '>=0.4.0' }
+ dev: true
+
+ /acorn@8.11.3:
+ resolution:
+ {
+ integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==,
+ }
+ engines: { node: '>=0.4.0' }
+ hasBin: true
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution:
+ {
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@5.2.0:
+ resolution:
+ {
+ integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /argparse@2.0.1:
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
+ dev: true
+
+ /assertion-error@1.1.0:
+ resolution:
+ {
+ integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==,
+ }
+ dev: true
+
+ /babel-plugin-macros@3.1.0:
+ resolution:
+ {
+ integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==,
+ }
+ engines: { node: '>=10', npm: '>=6' }
+ dependencies:
+ '@babel/runtime': 7.24.5
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+ dev: false
+
+ /base-x@3.0.9:
+ resolution:
+ {
+ integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==,
+ }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /base64-js@1.5.1:
+ resolution:
+ {
+ integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==,
+ }
+ dev: true
+
+ /boolbase@1.0.0:
+ resolution:
+ {
+ integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
+ }
+ dev: true
+
+ /braces@3.0.2:
+ resolution:
+ {
+ integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /browserslist@4.22.3:
+ resolution:
+ {
+ integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==,
+ }
+ engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001581
+ electron-to-chromium: 1.4.650
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.3)
+ dev: true
+
+ /buffer@6.0.3:
+ resolution:
+ {
+ integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==,
+ }
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: true
+
+ /cac@6.7.14:
+ resolution:
+ {
+ integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /callsites@3.1.0:
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: '>=6' }
+
+ /caniuse-lite@1.0.30001581:
+ resolution:
+ {
+ integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==,
+ }
+ dev: true
+
+ /chai@4.4.1:
+ resolution:
+ {
+ integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ assertion-error: 1.1.0
+ check-error: 1.0.3
+ deep-eql: 4.1.3
+ get-func-name: 2.0.2
+ loupe: 2.3.7
+ pathval: 1.1.1
+ type-detect: 4.0.8
+ dev: true
+
+ /chalk@2.4.2:
+ resolution:
+ {
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@4.1.2:
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /check-error@1.0.3:
+ resolution:
+ {
+ integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==,
+ }
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
+ /chrome-trace-event@1.0.3:
+ resolution:
+ {
+ integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==,
+ }
+ engines: { node: '>=6.0' }
+ dev: true
+
+ /clone@2.1.2:
+ resolution:
+ {
+ integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==,
+ }
+ engines: { node: '>=0.8' }
+ dev: true
+
+ /clsx@2.1.1:
+ resolution:
+ {
+ integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==,
+ }
+ engines: { node: '>=6' }
+ dev: false
+
+ /color-convert@1.9.3:
+ resolution:
+ {
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+ }
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: '>=7.0.0' }
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution:
+ {
+ integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
+ }
+
+ /color-name@1.1.4:
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
+ dev: true
+
+ /commander@7.2.0:
+ resolution:
+ {
+ integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==,
+ }
+ engines: { node: '>= 10' }
+ dev: true
+
+ /convert-source-map@1.9.0:
+ resolution:
+ {
+ integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==,
+ }
+ dev: false
+
+ /cosmiconfig@7.1.0:
+ resolution:
+ {
+ integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: false
+
+ /cosmiconfig@8.3.6(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==,
+ }
+ engines: { node: '>=14' }
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.3.3
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /css-select@4.3.0:
+ resolution:
+ {
+ integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==,
+ }
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
+ /css-tree@1.1.3:
+ resolution:
+ {
+ integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==,
+ }
+ engines: { node: '>=8.0.0' }
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+ dev: true
+
+ /css-what@6.1.0:
+ resolution:
+ {
+ integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==,
+ }
+ engines: { node: '>= 6' }
+ dev: true
+
+ /csso@4.2.0:
+ resolution:
+ {
+ integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==,
+ }
+ engines: { node: '>=8.0.0' }
+ dependencies:
+ css-tree: 1.1.3
+ dev: true
+
+ /csstype@3.1.3:
+ resolution:
+ {
+ integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==,
+ }
+
+ /debug@4.3.4:
+ resolution:
+ {
+ integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==,
+ }
+ engines: { node: '>=6.0' }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /deep-eql@4.1.3:
+ resolution:
+ {
+ integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
+ /detect-libc@1.0.3:
+ resolution:
+ {
+ integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==,
+ }
+ engines: { node: '>=0.10' }
+ hasBin: true
+ dev: true
+
+ /detect-libc@2.0.2:
+ resolution:
+ {
+ integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /diff-sequences@29.6.3:
+ resolution:
+ {
+ integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dev: true
+
+ /dom-helpers@5.2.1:
+ resolution:
+ {
+ integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==,
+ }
+ dependencies:
+ '@babel/runtime': 7.24.5
+ csstype: 3.1.3
+ dev: false
+
+ /dom-serializer@1.4.1:
+ resolution:
+ {
+ integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==,
+ }
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /domelementtype@2.3.0:
+ resolution:
+ {
+ integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==,
+ }
+ dev: true
+
+ /domhandler@4.3.1:
+ resolution:
+ {
+ integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==,
+ }
+ engines: { node: '>= 4' }
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils@2.8.0:
+ resolution:
+ {
+ integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==,
+ }
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
+ /dotenv-expand@5.1.0:
+ resolution:
+ {
+ integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==,
+ }
+ dev: true
+
+ /dotenv@7.0.0:
+ resolution:
+ {
+ integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /electron-to-chromium@1.4.650:
+ resolution:
+ {
+ integrity: sha512-sYSQhJCJa4aGA1wYol5cMQgekDBlbVfTRavlGZVr3WZpDdOPcp6a6xUnFfrt8TqZhsBYYbDxJZCjGfHuGupCRQ==,
+ }
+ dev: true
+
+ /entities@2.2.0:
+ resolution:
+ {
+ integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==,
+ }
+ dev: true
+
+ /entities@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==,
+ }
+ engines: { node: '>=0.12' }
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution:
+ {
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+ }
+ dependencies:
+ is-arrayish: 0.2.1
+
+ /esbuild@0.21.5:
+ resolution:
+ {
+ integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==,
+ }
+ engines: { node: '>=12' }
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+ dev: true
+
+ /escalade@3.1.1:
+ resolution:
+ {
+ integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /escape-string-regexp@1.0.5:
+ resolution:
+ {
+ integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+ }
+ engines: { node: '>=0.8.0' }
+
+ /escape-string-regexp@4.0.0:
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: '>=10' }
+ dev: false
+
+ /estree-walker@3.0.3:
+ resolution:
+ {
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+ }
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: true
+
+ /execa@8.0.1:
+ resolution:
+ {
+ integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
+ }
+ engines: { node: '>=16.17' }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.3.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /fflate@0.8.2:
+ resolution:
+ {
+ integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==,
+ }
+ dev: false
+
+ /file-saver@2.0.5:
+ resolution:
+ {
+ integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==,
+ }
+ dev: false
+
+ /fill-range@7.0.1:
+ resolution:
+ {
+ integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /find-root@1.1.0:
+ resolution:
+ {
+ integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==,
+ }
+ dev: false
+
+ /fsevents@2.3.3:
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- lightningcss:
+
+ /function-bind@1.1.2:
+ resolution:
+ {
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
+ }
+ dev: false
+
+ /get-func-name@2.0.2:
+ resolution:
+ {
+ integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==,
+ }
+ dev: true
+
+ /get-port@4.2.0:
+ resolution:
+ {
+ integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /get-stream@8.0.1:
+ resolution:
+ {
+ integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
+ }
+ engines: { node: '>=16' }
+ dev: true
+
+ /globals@13.24.0:
+ resolution:
+ {
+ integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution:
+ {
+ integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
+ }
+ engines: { node: '>=4' }
+
+ /has-flag@4.0.0:
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /hasown@2.0.2:
+ resolution:
+ {
+ integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ function-bind: 1.1.2
+ dev: false
+
+ /hoist-non-react-statics@3.3.2:
+ resolution:
+ {
+ integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==,
+ }
+ dependencies:
+ react-is: 16.13.1
+ dev: false
+
+ /htmlnano@2.1.0(svgo@2.8.0)(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==,
+ }
+ peerDependencies:
+ cssnano: ^6.0.0
+ postcss: ^8.3.11
+ purgecss: ^5.0.0
+ relateurl: ^0.2.7
+ srcset: 4.0.0
+ svgo: ^3.0.2
+ terser: ^5.10.0
+ uncss: ^0.17.3
+ peerDependenciesMeta:
+ cssnano:
+ optional: true
+ postcss:
+ optional: true
+ purgecss:
+ optional: true
+ relateurl:
+ optional: true
+ srcset:
+ optional: true
+ svgo:
+ optional: true
+ terser:
+ optional: true
+ uncss:
+ optional: true
+ dependencies:
+ cosmiconfig: 8.3.6(typescript@5.3.3)
+ posthtml: 0.16.6
+ svgo: 2.8.0
+ timsort: 0.3.0
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /htmlparser2@7.2.0:
+ resolution:
+ {
+ integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==,
+ }
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 3.0.1
+ dev: true
+
+ /human-signals@5.0.0:
+ resolution:
+ {
+ integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
+ }
+ engines: { node: '>=16.17.0' }
+ dev: true
+
+ /ieee754@1.2.1:
+ resolution:
+ {
+ integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==,
+ }
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ /is-arrayish@0.2.1:
+ resolution:
+ {
+ integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+ }
+
+ /is-core-module@2.13.1:
+ resolution:
+ {
+ integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==,
+ }
+ dependencies:
+ hasown: 2.0.2
+ dev: false
+
+ /is-extglob@2.1.1:
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-json@2.0.1:
+ resolution:
+ {
+ integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==,
+ }
+ dev: true
+
+ /is-number@7.0.0:
+ resolution:
+ {
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==,
+ }
+ engines: { node: '>=0.12.0' }
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution:
+ {
+ integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dev: true
+
+ /isexe@2.0.0:
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
+
+ /js-tokens@9.0.0:
+ resolution:
+ {
+ integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==,
+ }
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution:
+ {
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+ }
+
+ /json5@2.2.3:
+ resolution:
+ {
+ integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==,
+ }
+ engines: { node: '>=6' }
+ hasBin: true
+
+ /jsonc-parser@3.2.1:
+ resolution:
+ {
+ integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==,
+ }
+ dev: true
+
+ /kiwi-schema@0.5.0:
+ resolution:
+ {
+ integrity: sha512-X+FpfU0yTEtc6aTHS7VwbOpvQwRt70+pXXWRI5fd6CvWhe7pSVC854TVo4Zo0x5/wwcWj+/9KUlXpdcP0dY9AA==,
+ }
+ hasBin: true
+ dev: false
+
+ /lightningcss-darwin-arm64@1.24.0:
+ resolution:
+ {
+ integrity: sha512-rTNPkEiynOu4CfGdd5ZfVOQe2gd2idfQd4EfX1l2ZUUwd+2SwSdbb7cG4rlwfnZckbzCAygm85xkpekRE5/wFw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- sass:
+
+ /lightningcss-darwin-x64@1.24.0:
+ resolution:
+ {
+ integrity: sha512-4KCeF2RJjzp9xdGY8zIH68CUtptEg8uz8PfkHvsIdrP4t9t5CIgfDBhiB8AmuO75N6SofdmZexDZIKdy9vA7Ww==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
optional: true
- stylus:
+
+ /lightningcss-freebsd-x64@1.24.0:
+ resolution:
+ {
+ integrity: sha512-FJAYlek1wXuVTsncNU0C6YD41q126dXcIUm97KAccMn9C4s/JfLSqGWT2gIzAblavPFkyGG2gIADTWp3uWfN1g==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
optional: true
- sugarss:
+
+ /lightningcss-linux-arm-gnueabihf@1.24.0:
+ resolution:
+ {
+ integrity: sha512-N55K6JqzMx7C0hYUu1YmWqhkHwzEJlkQRMA6phY65noO0I1LOAvP4wBIoFWrzRE+O6zL0RmXJ2xppqyTbk3sYw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- terser:
+
+ /lightningcss-linux-arm64-gnu@1.24.0:
+ resolution:
+ {
+ integrity: sha512-MqqUB2TpYtFWeBvvf5KExDdClU3YGLW5bHKs50uKKootcvG9KoS7wYwd5UichS+W3mYLc5yXUPGD1DNWbLiYKw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@types/node': 22.1.0
- esbuild: 0.21.5
- postcss: 8.4.41
- rollup: 4.14.1
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /vitest@1.4.0:
- resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 1.4.0
- '@vitest/ui': 1.4.0
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
+
+ /lightningcss-linux-arm64-musl@1.24.0:
+ resolution:
+ {
+ integrity: sha512-5wn4d9tFwa5bS1ao9mLexYVJdh3nn09HNIipsII6ZF7z9ZA5J4dOEhMgKoeCl891axTGTUYd8Kxn+Hn3XUSYRQ==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@types/node':
+
+ /lightningcss-linux-x64-gnu@1.24.0:
+ resolution:
+ {
+ integrity: sha512-3j5MdTh+LSDF3o6uDwRjRUgw4J+IfDCVtdkUrJvKxL79qBLUujXY7CTe5X3IQDDLKEe/3wu49r8JKgxr0MfjbQ==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@vitest/browser':
+
+ /lightningcss-linux-x64-musl@1.24.0:
+ resolution:
+ {
+ integrity: sha512-HI+rNnvaLz0o36z6Ki0gyG5igVGrJmzczxA5fznr6eFTj3cHORoR/j2q8ivMzNFR4UKJDkTWUH5LMhacwOHWBA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- '@vitest/ui':
+
+ /lightningcss-win32-x64-msvc@1.24.0:
+ resolution:
+ {
+ integrity: sha512-oeije/t7OZ5N9vSs6amyW/34wIYoBCpE6HUlsSKcP2SR1CVgx9oKEM00GtQmtqNnYiMIfsSm7+ppMb4NLtD5vg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
optional: true
- happy-dom:
+
+ /lightningcss@1.24.0:
+ resolution:
+ {
+ integrity: sha512-y36QEEDVx4IM7/yIZNsZJMRREIu26WzTsauIysf5s76YeCmlSbRZS7aC97IGPuoFRnyZ5Wx43OBsQBFB5Ne7ng==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.24.0
+ lightningcss-darwin-x64: 1.24.0
+ lightningcss-freebsd-x64: 1.24.0
+ lightningcss-linux-arm-gnueabihf: 1.24.0
+ lightningcss-linux-arm64-gnu: 1.24.0
+ lightningcss-linux-arm64-musl: 1.24.0
+ lightningcss-linux-x64-gnu: 1.24.0
+ lightningcss-linux-x64-musl: 1.24.0
+ lightningcss-win32-x64-msvc: 1.24.0
+ dev: true
+
+ /lines-and-columns@1.2.4:
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
+
+ /lmdb@2.8.5:
+ resolution:
+ {
+ integrity: sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==,
+ }
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ msgpackr: 1.10.1
+ node-addon-api: 6.1.0
+ node-gyp-build-optional-packages: 5.1.1
+ ordered-binary: 1.5.1
+ weak-lru-cache: 1.2.2
+ optionalDependencies:
+ '@lmdb/lmdb-darwin-arm64': 2.8.5
+ '@lmdb/lmdb-darwin-x64': 2.8.5
+ '@lmdb/lmdb-linux-arm': 2.8.5
+ '@lmdb/lmdb-linux-arm64': 2.8.5
+ '@lmdb/lmdb-linux-x64': 2.8.5
+ '@lmdb/lmdb-win32-x64': 2.8.5
+ dev: true
+
+ /local-pkg@0.5.0:
+ resolution:
+ {
+ integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ mlly: 1.6.1
+ pkg-types: 1.0.3
+ dev: true
+
+ /lodash@4.17.21:
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
+ dev: false
+
+ /loose-envify@1.4.0:
+ resolution:
+ {
+ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
+ }
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+ dev: false
+
+ /loupe@2.3.7:
+ resolution:
+ {
+ integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==,
+ }
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
+ /lru-cache@6.0.0:
+ resolution:
+ {
+ integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /magic-string@0.30.9:
+ resolution:
+ {
+ integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /mdn-data@2.0.14:
+ resolution:
+ {
+ integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==,
+ }
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution:
+ {
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
+ }
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution:
+ {
+ integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==,
+ }
+ engines: { node: '>=8.6' }
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution:
+ {
+ integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /mlly@1.6.1:
+ resolution:
+ {
+ integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==,
+ }
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.5.3
+ dev: true
+
+ /ms@2.1.2:
+ resolution:
+ {
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+ }
+ dev: true
+
+ /msgpackr-extract@3.0.2:
+ resolution:
+ {
+ integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==,
+ }
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ node-gyp-build-optional-packages: 5.0.7
+ optionalDependencies:
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2
+ '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2
+ '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2
+ '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2
+ '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2
+ '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2
+ dev: true
optional: true
- jsdom:
+
+ /msgpackr@1.10.1:
+ resolution:
+ {
+ integrity: sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ==,
+ }
+ optionalDependencies:
+ msgpackr-extract: 3.0.2
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution:
+ {
+ integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
+ dev: true
+
+ /node-addon-api@6.1.0:
+ resolution:
+ {
+ integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==,
+ }
+ dev: true
+
+ /node-addon-api@7.1.0:
+ resolution:
+ {
+ integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==,
+ }
+ engines: { node: ^16 || ^18 || >= 20 }
+ dev: true
+
+ /node-gyp-build-optional-packages@5.0.7:
+ resolution:
+ {
+ integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==,
+ }
+ hasBin: true
+ requiresBuild: true
+ dev: true
optional: true
- dependencies:
- '@vitest/expect': 1.4.0
- '@vitest/runner': 1.4.0
- '@vitest/snapshot': 1.4.0
- '@vitest/spy': 1.4.0
- '@vitest/utils': 1.4.0
- acorn-walk: 8.3.2
- chai: 4.4.1
- debug: 4.3.4
- execa: 8.0.1
- local-pkg: 0.5.0
- magic-string: 0.30.9
- pathe: 1.1.2
- picocolors: 1.0.0
- std-env: 3.7.0
- strip-literal: 2.1.0
- tinybench: 2.6.0
- tinypool: 0.8.3
- vite: 5.3.5(@types/node@22.1.0)
- vite-node: 1.4.0
- why-is-node-running: 2.2.2
- transitivePeerDependencies:
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /weak-lru-cache@1.2.2:
- resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==}
- dev: true
-
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /why-is-node-running@2.2.2:
- resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
- engines: {node: '>=8'}
- hasBin: true
- dependencies:
- siginfo: 2.0.0
- stackback: 0.0.2
- dev: true
-
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
-
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: false
-
- /yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
- dev: true
-
- /zarrita@0.4.0-next.14:
- resolution: {integrity: sha512-B5a3Nw31EEaxjI0yh+CJuSdqDo3f0KnCrf8aZiDj4Nhrsi/Jau7Mtc7Yo6T3SmM6AInTmA/VNv/FKT5ZLfADTQ==}
- dependencies:
- '@zarrita/core': 0.1.0-next.12
- '@zarrita/indexing': 0.1.0-next.14
- '@zarrita/storage': 0.1.0-next.5
- dev: false
+
+ /node-gyp-build-optional-packages@5.1.1:
+ resolution:
+ {
+ integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==,
+ }
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.2
+ dev: true
+
+ /node-releases@2.0.14:
+ resolution:
+ {
+ integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==,
+ }
+ dev: true
+
+ /npm-run-path@5.3.0:
+ resolution:
+ {
+ integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
+ /nth-check@2.1.1:
+ resolution:
+ {
+ integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==,
+ }
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
+ /nullthrows@1.1.1:
+ resolution:
+ {
+ integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==,
+ }
+ dev: true
+
+ /numcodecs@0.3.1:
+ resolution:
+ {
+ integrity: sha512-ywIyGpJ+c6Ojktq9a8jsWSy12ZSUcW/W+I3jlH0q0zv9aR/ZiMsN7IrWaNq9YV2FRdLu6r/M6lp35jMA6fug/A==,
+ }
+ dependencies:
+ fflate: 0.8.2
+ dev: false
+
+ /object-assign@4.1.1:
+ resolution:
+ {
+ integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: false
+
+ /onetime@6.0.0:
+ resolution:
+ {
+ integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
+ /ordered-binary@1.5.1:
+ resolution:
+ {
+ integrity: sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==,
+ }
+ dev: true
+
+ /p-limit@5.0.0:
+ resolution:
+ {
+ integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==,
+ }
+ engines: { node: '>=18' }
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
+ /parcel@2.12.0(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ hasBin: true
+ peerDependenciesMeta:
+ '@parcel/core':
+ optional: true
+ dependencies:
+ '@parcel/config-default': 2.12.0(@parcel/core@2.12.0)(typescript@5.3.3)
+ '@parcel/core': 2.12.0
+ '@parcel/diagnostic': 2.12.0
+ '@parcel/events': 2.12.0
+ '@parcel/fs': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/logger': 2.12.0
+ '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.6)
+ '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0)
+ '@parcel/utils': 2.12.0
+ chalk: 4.1.2
+ commander: 7.2.0
+ get-port: 4.2.0
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - cssnano
+ - postcss
+ - purgecss
+ - relateurl
+ - srcset
+ - terser
+ - typescript
+ - uncss
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ callsites: 3.1.0
+
+ /parse-json@5.2.0:
+ resolution:
+ {
+ integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ /path-key@3.1.1:
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /path-key@4.0.0:
+ resolution:
+ {
+ integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
+ dev: false
+
+ /path-type@4.0.0:
+ resolution:
+ {
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+ }
+ engines: { node: '>=8' }
+
+ /pathe@1.1.2:
+ resolution:
+ {
+ integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
+ }
+ dev: true
+
+ /pathval@1.1.1:
+ resolution:
+ {
+ integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==,
+ }
+ dev: true
+
+ /picocolors@1.0.0:
+ resolution:
+ {
+ integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
+ }
+ dev: true
+
+ /picocolors@1.0.1:
+ resolution:
+ {
+ integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==,
+ }
+ dev: true
+
+ /picomatch@2.3.1:
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: '>=8.6' }
+ dev: true
+
+ /pkg-types@1.0.3:
+ resolution:
+ {
+ integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==,
+ }
+ dependencies:
+ jsonc-parser: 3.2.1
+ mlly: 1.6.1
+ pathe: 1.1.2
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution:
+ {
+ integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
+ }
+ dev: true
+
+ /postcss@8.4.41:
+ resolution:
+ {
+ integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.1
+ source-map-js: 1.2.0
+ dev: true
+
+ /posthtml-parser@0.10.2:
+ resolution:
+ {
+ integrity: sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ htmlparser2: 7.2.0
+ dev: true
+
+ /posthtml-parser@0.11.0:
+ resolution:
+ {
+ integrity: sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ htmlparser2: 7.2.0
+ dev: true
+
+ /posthtml-render@3.0.0:
+ resolution:
+ {
+ integrity: sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ is-json: 2.0.1
+ dev: true
+
+ /posthtml@0.16.6:
+ resolution:
+ {
+ integrity: sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==,
+ }
+ engines: { node: '>=12.0.0' }
+ dependencies:
+ posthtml-parser: 0.11.0
+ posthtml-render: 3.0.0
+ dev: true
+
+ /prettier@3.3.2:
+ resolution:
+ {
+ integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==,
+ }
+ engines: { node: '>=14' }
+ hasBin: true
+ dev: true
+
+ /pretty-format@29.7.0:
+ resolution:
+ {
+ integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+ dev: true
+
+ /process@0.11.10:
+ resolution:
+ {
+ integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==,
+ }
+ engines: { node: '>= 0.6.0' }
+ dev: true
+
+ /prop-types@15.8.1:
+ resolution:
+ {
+ integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
+ }
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: false
+
+ /react-dom@18.3.0(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-zaKdLBftQJnvb7FtDIpZtsAIb2MZU087RM8bRDZU8LVCCFYjPTsDZJNFUWPcVz3HFSN1n/caxi0ca4B/aaVQGQ==,
+ }
+ peerDependencies:
+ react: ^18.3.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.0
+ scheduler: 0.23.1
+ dev: false
+
+ /react-error-overlay@6.0.9:
+ resolution:
+ {
+ integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==,
+ }
+ dev: true
+
+ /react-is@16.13.1:
+ resolution:
+ {
+ integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
+ }
+ dev: false
+
+ /react-is@18.2.0:
+ resolution:
+ {
+ integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==,
+ }
+
+ /react-refresh@0.9.0:
+ resolution:
+ {
+ integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /react-transition-group@4.4.5(react-dom@18.3.0)(react@18.3.0):
+ resolution:
+ {
+ integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==,
+ }
+ peerDependencies:
+ react: '>=16.6.0'
+ react-dom: '>=16.6.0'
+ dependencies:
+ '@babel/runtime': 7.24.5
+ dom-helpers: 5.2.1
+ loose-envify: 1.4.0
+ prop-types: 15.8.1
+ react: 18.3.0
+ react-dom: 18.3.0(react@18.3.0)
+ dev: false
+
+ /react@18.3.0:
+ resolution:
+ {
+ integrity: sha512-RPutkJftSAldDibyrjuku7q11d3oy6wKOyPe5K1HA/HwwrXcEqBdHsLypkC2FFYjP7bPUa6gbzSBhw4sY2JcDg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /reference-spec-reader@0.2.0:
+ resolution:
+ {
+ integrity: sha512-q0mfCi5yZSSHXpCyxjgQeaORq3tvDsxDyzaadA/5+AbAUwRyRuuTh0aRQuE/vAOt/qzzxidJ5iDeu1cLHaNBlQ==,
+ }
+ dev: false
+
+ /regenerator-runtime@0.13.11:
+ resolution:
+ {
+ integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==,
+ }
+ dev: true
+
+ /regenerator-runtime@0.14.1:
+ resolution:
+ {
+ integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
+ }
+ dev: false
+
+ /regl@2.1.0:
+ resolution:
+ {
+ integrity: sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==,
+ }
+ dev: false
+
+ /resolve-from@4.0.0:
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: '>=4' }
+
+ /resolve@1.22.8:
+ resolution:
+ {
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
+ }
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
+ /rollup@4.14.1:
+ resolution:
+ {
+ integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==,
+ }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.14.1
+ '@rollup/rollup-android-arm64': 4.14.1
+ '@rollup/rollup-darwin-arm64': 4.14.1
+ '@rollup/rollup-darwin-x64': 4.14.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.14.1
+ '@rollup/rollup-linux-arm64-gnu': 4.14.1
+ '@rollup/rollup-linux-arm64-musl': 4.14.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.14.1
+ '@rollup/rollup-linux-s390x-gnu': 4.14.1
+ '@rollup/rollup-linux-x64-gnu': 4.14.1
+ '@rollup/rollup-linux-x64-musl': 4.14.1
+ '@rollup/rollup-win32-arm64-msvc': 4.14.1
+ '@rollup/rollup-win32-ia32-msvc': 4.14.1
+ '@rollup/rollup-win32-x64-msvc': 4.14.1
+ fsevents: 2.3.3
+ dev: true
+
+ /safe-buffer@5.2.1:
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
+ dev: true
+
+ /scheduler@0.23.1:
+ resolution:
+ {
+ integrity: sha512-5GKS5JGfiah1O38Vfa9srZE4s3wdHbwjlCrvIookrg2FO9aIwKLOJXuJQFlEfNcVSOXuaL2hzDeY20uVXcUtrw==,
+ }
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /semver@7.5.4:
+ resolution:
+ {
+ integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /shebang-command@2.0.0:
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex@3.0.0:
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /siginfo@2.0.0:
+ resolution:
+ {
+ integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==,
+ }
+ dev: true
+
+ /signal-exit@4.1.0:
+ resolution:
+ {
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
+ }
+ engines: { node: '>=14' }
+ dev: true
+
+ /source-map-js@1.2.0:
+ resolution:
+ {
+ integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /source-map@0.5.7:
+ resolution:
+ {
+ integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: false
+
+ /source-map@0.6.1:
+ resolution:
+ {
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /srcset@4.0.0:
+ resolution:
+ {
+ integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /stable@0.1.8:
+ resolution:
+ {
+ integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==,
+ }
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ dev: true
+
+ /stackback@0.0.2:
+ resolution:
+ {
+ integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==,
+ }
+ dev: true
+
+ /std-env@3.7.0:
+ resolution:
+ {
+ integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==,
+ }
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution:
+ {
+ integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /strip-literal@2.1.0:
+ resolution:
+ {
+ integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==,
+ }
+ dependencies:
+ js-tokens: 9.0.0
+ dev: true
+
+ /stylis@4.2.0:
+ resolution:
+ {
+ integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==,
+ }
+ dev: false
+
+ /supports-color@5.5.0:
+ resolution:
+ {
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ has-flag: 3.0.0
+
+ /supports-color@7.2.0:
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: '>= 0.4' }
+ dev: false
+
+ /svgo@2.8.0:
+ resolution:
+ {
+ integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==,
+ }
+ engines: { node: '>=10.13.0' }
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.1
+ stable: 0.1.8
+ dev: true
+
+ /term-size@2.2.1:
+ resolution:
+ {
+ integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /timsort@0.3.0:
+ resolution:
+ {
+ integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==,
+ }
+ dev: true
+
+ /tinybench@2.6.0:
+ resolution:
+ {
+ integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==,
+ }
+ dev: true
+
+ /tinypool@0.8.3:
+ resolution:
+ {
+ integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==,
+ }
+ engines: { node: '>=14.0.0' }
+ dev: true
+
+ /tinyspy@2.2.1:
+ resolution:
+ {
+ integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==,
+ }
+ engines: { node: '>=14.0.0' }
+ dev: true
+
+ /to-fast-properties@2.0.0:
+ resolution:
+ {
+ integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==,
+ }
+ engines: { node: '>=4' }
+ dev: false
+
+ /to-regex-range@5.0.1:
+ resolution:
+ {
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==,
+ }
+ engines: { node: '>=8.0' }
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /tslib@2.6.2:
+ resolution:
+ {
+ integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
+ }
+ dev: true
+
+ /type-detect@4.0.8:
+ resolution:
+ {
+ integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /type-fest@0.20.2:
+ resolution:
+ {
+ integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /typescript@5.3.3:
+ resolution:
+ {
+ integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==,
+ }
+ engines: { node: '>=14.17' }
+ hasBin: true
+ dev: true
+
+ /ufo@1.5.3:
+ resolution:
+ {
+ integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==,
+ }
+ dev: true
+
+ /undici-types@6.13.0:
+ resolution:
+ {
+ integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==,
+ }
+ dev: true
+
+ /unzipit@1.4.3:
+ resolution:
+ {
+ integrity: sha512-gsq2PdJIWWGhx5kcdWStvNWit9FVdTewm4SEG7gFskWs+XCVaULt9+BwuoBtJiRE8eo3L1IPAOrbByNLtLtIlg==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ uzip-module: 1.0.3
+ dev: false
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.3):
+ resolution:
+ {
+ integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==,
+ }
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.3
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+
+ /utility-types@3.11.0:
+ resolution:
+ {
+ integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==,
+ }
+ engines: { node: '>= 4' }
+ dev: true
+
+ /uzip-module@1.0.3:
+ resolution:
+ {
+ integrity: sha512-AMqwWZaknLM77G+VPYNZLEruMGWGzyigPK3/Whg99B3S6vGHuqsyl5ZrOv1UUF3paGK1U6PM0cnayioaryg/fA==,
+ }
+ dev: false
+
+ /vite-node@1.4.0:
+ resolution:
+ {
+ integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ pathe: 1.1.2
+ picocolors: 1.0.1
+ vite: 5.3.5(@types/node@22.1.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite@5.3.5(@types/node@22.1.0):
+ resolution:
+ {
+ integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 22.1.0
+ esbuild: 0.21.5
+ postcss: 8.4.41
+ rollup: 4.14.1
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vitest@1.4.0:
+ resolution:
+ {
+ integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 1.4.0
+ '@vitest/ui': 1.4.0
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ dependencies:
+ '@vitest/expect': 1.4.0
+ '@vitest/runner': 1.4.0
+ '@vitest/snapshot': 1.4.0
+ '@vitest/spy': 1.4.0
+ '@vitest/utils': 1.4.0
+ acorn-walk: 8.3.2
+ chai: 4.4.1
+ debug: 4.3.4
+ execa: 8.0.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.9
+ pathe: 1.1.2
+ picocolors: 1.0.1
+ std-env: 3.7.0
+ strip-literal: 2.1.0
+ tinybench: 2.6.0
+ tinypool: 0.8.3
+ vite: 5.3.5(@types/node@22.1.0)
+ vite-node: 1.4.0
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /weak-lru-cache@1.2.2:
+ resolution:
+ {
+ integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==,
+ }
+ dev: true
+
+ /which@2.0.2:
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: '>= 8' }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /why-is-node-running@2.2.2:
+ resolution:
+ {
+ integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==,
+ }
+ engines: { node: '>=8' }
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
+ /yallist@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
+ dev: true
+
+ /yaml@1.10.2:
+ resolution:
+ {
+ integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==,
+ }
+ engines: { node: '>= 6' }
+ dev: false
+
+ /yocto-queue@1.0.0:
+ resolution:
+ {
+ integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==,
+ }
+ engines: { node: '>=12.20' }
+ dev: true
+
+ /zarrita@0.4.0-next.14:
+ resolution:
+ {
+ integrity: sha512-B5a3Nw31EEaxjI0yh+CJuSdqDo3f0KnCrf8aZiDj4Nhrsi/Jau7Mtc7Yo6T3SmM6AInTmA/VNv/FKT5ZLfADTQ==,
+ }
+ dependencies:
+ '@zarrita/core': 0.1.0-next.12
+ '@zarrita/indexing': 0.1.0-next.14
+ '@zarrita/storage': 0.1.0-next.5
+ dev: false