maomao88 commited on
Commit
9bdefe0
·
1 Parent(s): 1a618da

add frontend and backend

Browse files
.idea/.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
.idea/inspectionProfiles/profiles_settings.xml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ <component name="InspectionProjectProfileManager">
2
+ <settings>
3
+ <option name="USE_PROJECT_PROFILE" value="false" />
4
+ <version value="1.0" />
5
+ </settings>
6
+ </component>
.idea/misc.xml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Black">
4
+ <option name="sdkName" value="Python 3.13" />
5
+ </component>
6
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13" project-jdk-type="Python SDK" />
7
+ </project>
.idea/model_structure_viewer.iml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="jdk" jdkName="Python 3.13" jdkType="Python SDK" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ </component>
8
+ </module>
.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/model_structure_viewer.iml" filepath="$PROJECT_DIR$/.idea/model_structure_viewer.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
Dockerfile CHANGED
@@ -9,8 +9,27 @@ ENV PATH="/home/user/.local/bin:$PATH"
9
 
10
  WORKDIR /app
11
 
12
- COPY --chown=user ./requirements.txt requirements.txt
13
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- COPY --chown=user . /app
16
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
9
 
10
  WORKDIR /app
11
 
12
+ # Copy backend requirements
13
+ COPY backend/requirements.txt /app/requirements.txt
14
+ RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt
15
+
16
+ # Copy backend and frontend
17
+ COPY backend/ /app/backend/
18
+ COPY frontend/ /app/frontend/
19
+
20
+ # Build frontend
21
+ WORKDIR /app/frontend
22
+ RUN npm install && npm run build
23
+
24
+ # Back to backend
25
+ WORKDIR /app/backend
26
+
27
+ #COPY --chown=user ./requirements.txt requirements.txt
28
+ #RUN pip install --no-cache-dir --upgrade -r requirements.txt
29
+
30
+ #COPY --chown=user . /app
31
+
32
+ # Expose port
33
+ EXPOSE 7860
34
 
 
35
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py DELETED
@@ -1,7 +0,0 @@
1
- from fastapi import FastAPI
2
-
3
- app = FastAPI()
4
-
5
- @app.get("/")
6
- def greet_json():
7
- return {"Hello": "World!"}
 
 
 
 
 
 
 
 
backend/__pycache__/app.cpython-313.pyc ADDED
Binary file (757 Bytes). View file
 
backend/app.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.middleware.cors import CORSMiddleware
3
+
4
+ app = FastAPI()
5
+
6
+ # Allow React dev server (port 5173 by default)
7
+ app.add_middleware(
8
+ CORSMiddleware,
9
+ allow_origins=[
10
+ "http://localhost:5173", # optional, keep for local dev
11
+ ],
12
+ allow_credentials=False, # safer, enable only if using cookies/sessions
13
+ allow_methods=["GET", "POST"], # restrict to what your API actually uses
14
+ allow_headers=["Content-Type", "Authorization"], # only required headers
15
+ )
16
+
17
+ @app.get("/api/hello")
18
+ def greet_json():
19
+ return {"Hello": "World!"}
requirements.txt → backend/requirements.txt RENAMED
File without changes
frontend/.gitignore ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ .DS_Store
20
+ *.suo
21
+ *.ntvs*
22
+ *.njsproj
23
+ *.sln
24
+ *.sw?
frontend/README.md ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # React + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## Expanding the ESLint configuration
11
+
12
+ If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
frontend/eslint.config.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import { defineConfig, globalIgnores } from 'eslint/config'
6
+
7
+ export default defineConfig([
8
+ globalIgnores(['dist']),
9
+ {
10
+ files: ['**/*.{js,jsx}'],
11
+ extends: [
12
+ js.configs.recommended,
13
+ reactHooks.configs['recommended-latest'],
14
+ reactRefresh.configs.vite,
15
+ ],
16
+ languageOptions: {
17
+ ecmaVersion: 2020,
18
+ globals: globals.browser,
19
+ parserOptions: {
20
+ ecmaVersion: 'latest',
21
+ ecmaFeatures: { jsx: true },
22
+ sourceType: 'module',
23
+ },
24
+ },
25
+ rules: {
26
+ 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
27
+ },
28
+ },
29
+ ])
frontend/index.html ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.jsx"></script>
12
+ </body>
13
+ </html>
frontend/package-lock.json ADDED
@@ -0,0 +1,2808 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "frontend",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "frontend",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "react": "^19.1.1",
12
+ "react-dom": "^19.1.1"
13
+ },
14
+ "devDependencies": {
15
+ "@eslint/js": "^9.33.0",
16
+ "@types/react": "^19.1.10",
17
+ "@types/react-dom": "^19.1.7",
18
+ "@vitejs/plugin-react": "^5.0.0",
19
+ "eslint": "^9.33.0",
20
+ "eslint-plugin-react-hooks": "^5.2.0",
21
+ "eslint-plugin-react-refresh": "^0.4.20",
22
+ "globals": "^16.3.0",
23
+ "vite": "^7.1.2"
24
+ }
25
+ },
26
+ "node_modules/@babel/code-frame": {
27
+ "version": "7.27.1",
28
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
29
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
30
+ "dev": true,
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "@babel/helper-validator-identifier": "^7.27.1",
34
+ "js-tokens": "^4.0.0",
35
+ "picocolors": "^1.1.1"
36
+ },
37
+ "engines": {
38
+ "node": ">=6.9.0"
39
+ }
40
+ },
41
+ "node_modules/@babel/compat-data": {
42
+ "version": "7.28.4",
43
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz",
44
+ "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==",
45
+ "dev": true,
46
+ "license": "MIT",
47
+ "engines": {
48
+ "node": ">=6.9.0"
49
+ }
50
+ },
51
+ "node_modules/@babel/core": {
52
+ "version": "7.28.4",
53
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz",
54
+ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
55
+ "dev": true,
56
+ "license": "MIT",
57
+ "dependencies": {
58
+ "@babel/code-frame": "^7.27.1",
59
+ "@babel/generator": "^7.28.3",
60
+ "@babel/helper-compilation-targets": "^7.27.2",
61
+ "@babel/helper-module-transforms": "^7.28.3",
62
+ "@babel/helpers": "^7.28.4",
63
+ "@babel/parser": "^7.28.4",
64
+ "@babel/template": "^7.27.2",
65
+ "@babel/traverse": "^7.28.4",
66
+ "@babel/types": "^7.28.4",
67
+ "@jridgewell/remapping": "^2.3.5",
68
+ "convert-source-map": "^2.0.0",
69
+ "debug": "^4.1.0",
70
+ "gensync": "^1.0.0-beta.2",
71
+ "json5": "^2.2.3",
72
+ "semver": "^6.3.1"
73
+ },
74
+ "engines": {
75
+ "node": ">=6.9.0"
76
+ },
77
+ "funding": {
78
+ "type": "opencollective",
79
+ "url": "https://opencollective.com/babel"
80
+ }
81
+ },
82
+ "node_modules/@babel/generator": {
83
+ "version": "7.28.3",
84
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
85
+ "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
86
+ "dev": true,
87
+ "license": "MIT",
88
+ "dependencies": {
89
+ "@babel/parser": "^7.28.3",
90
+ "@babel/types": "^7.28.2",
91
+ "@jridgewell/gen-mapping": "^0.3.12",
92
+ "@jridgewell/trace-mapping": "^0.3.28",
93
+ "jsesc": "^3.0.2"
94
+ },
95
+ "engines": {
96
+ "node": ">=6.9.0"
97
+ }
98
+ },
99
+ "node_modules/@babel/helper-compilation-targets": {
100
+ "version": "7.27.2",
101
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
102
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
103
+ "dev": true,
104
+ "license": "MIT",
105
+ "dependencies": {
106
+ "@babel/compat-data": "^7.27.2",
107
+ "@babel/helper-validator-option": "^7.27.1",
108
+ "browserslist": "^4.24.0",
109
+ "lru-cache": "^5.1.1",
110
+ "semver": "^6.3.1"
111
+ },
112
+ "engines": {
113
+ "node": ">=6.9.0"
114
+ }
115
+ },
116
+ "node_modules/@babel/helper-globals": {
117
+ "version": "7.28.0",
118
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
119
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
120
+ "dev": true,
121
+ "license": "MIT",
122
+ "engines": {
123
+ "node": ">=6.9.0"
124
+ }
125
+ },
126
+ "node_modules/@babel/helper-module-imports": {
127
+ "version": "7.27.1",
128
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
129
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
130
+ "dev": true,
131
+ "license": "MIT",
132
+ "dependencies": {
133
+ "@babel/traverse": "^7.27.1",
134
+ "@babel/types": "^7.27.1"
135
+ },
136
+ "engines": {
137
+ "node": ">=6.9.0"
138
+ }
139
+ },
140
+ "node_modules/@babel/helper-module-transforms": {
141
+ "version": "7.28.3",
142
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
143
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
144
+ "dev": true,
145
+ "license": "MIT",
146
+ "dependencies": {
147
+ "@babel/helper-module-imports": "^7.27.1",
148
+ "@babel/helper-validator-identifier": "^7.27.1",
149
+ "@babel/traverse": "^7.28.3"
150
+ },
151
+ "engines": {
152
+ "node": ">=6.9.0"
153
+ },
154
+ "peerDependencies": {
155
+ "@babel/core": "^7.0.0"
156
+ }
157
+ },
158
+ "node_modules/@babel/helper-plugin-utils": {
159
+ "version": "7.27.1",
160
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
161
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
162
+ "dev": true,
163
+ "license": "MIT",
164
+ "engines": {
165
+ "node": ">=6.9.0"
166
+ }
167
+ },
168
+ "node_modules/@babel/helper-string-parser": {
169
+ "version": "7.27.1",
170
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
171
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
172
+ "dev": true,
173
+ "license": "MIT",
174
+ "engines": {
175
+ "node": ">=6.9.0"
176
+ }
177
+ },
178
+ "node_modules/@babel/helper-validator-identifier": {
179
+ "version": "7.27.1",
180
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
181
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
182
+ "dev": true,
183
+ "license": "MIT",
184
+ "engines": {
185
+ "node": ">=6.9.0"
186
+ }
187
+ },
188
+ "node_modules/@babel/helper-validator-option": {
189
+ "version": "7.27.1",
190
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
191
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
192
+ "dev": true,
193
+ "license": "MIT",
194
+ "engines": {
195
+ "node": ">=6.9.0"
196
+ }
197
+ },
198
+ "node_modules/@babel/helpers": {
199
+ "version": "7.28.4",
200
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
201
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
202
+ "dev": true,
203
+ "license": "MIT",
204
+ "dependencies": {
205
+ "@babel/template": "^7.27.2",
206
+ "@babel/types": "^7.28.4"
207
+ },
208
+ "engines": {
209
+ "node": ">=6.9.0"
210
+ }
211
+ },
212
+ "node_modules/@babel/parser": {
213
+ "version": "7.28.4",
214
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz",
215
+ "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==",
216
+ "dev": true,
217
+ "license": "MIT",
218
+ "dependencies": {
219
+ "@babel/types": "^7.28.4"
220
+ },
221
+ "bin": {
222
+ "parser": "bin/babel-parser.js"
223
+ },
224
+ "engines": {
225
+ "node": ">=6.0.0"
226
+ }
227
+ },
228
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
229
+ "version": "7.27.1",
230
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
231
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
232
+ "dev": true,
233
+ "license": "MIT",
234
+ "dependencies": {
235
+ "@babel/helper-plugin-utils": "^7.27.1"
236
+ },
237
+ "engines": {
238
+ "node": ">=6.9.0"
239
+ },
240
+ "peerDependencies": {
241
+ "@babel/core": "^7.0.0-0"
242
+ }
243
+ },
244
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
245
+ "version": "7.27.1",
246
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
247
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
248
+ "dev": true,
249
+ "license": "MIT",
250
+ "dependencies": {
251
+ "@babel/helper-plugin-utils": "^7.27.1"
252
+ },
253
+ "engines": {
254
+ "node": ">=6.9.0"
255
+ },
256
+ "peerDependencies": {
257
+ "@babel/core": "^7.0.0-0"
258
+ }
259
+ },
260
+ "node_modules/@babel/template": {
261
+ "version": "7.27.2",
262
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
263
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
264
+ "dev": true,
265
+ "license": "MIT",
266
+ "dependencies": {
267
+ "@babel/code-frame": "^7.27.1",
268
+ "@babel/parser": "^7.27.2",
269
+ "@babel/types": "^7.27.1"
270
+ },
271
+ "engines": {
272
+ "node": ">=6.9.0"
273
+ }
274
+ },
275
+ "node_modules/@babel/traverse": {
276
+ "version": "7.28.4",
277
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz",
278
+ "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==",
279
+ "dev": true,
280
+ "license": "MIT",
281
+ "dependencies": {
282
+ "@babel/code-frame": "^7.27.1",
283
+ "@babel/generator": "^7.28.3",
284
+ "@babel/helper-globals": "^7.28.0",
285
+ "@babel/parser": "^7.28.4",
286
+ "@babel/template": "^7.27.2",
287
+ "@babel/types": "^7.28.4",
288
+ "debug": "^4.3.1"
289
+ },
290
+ "engines": {
291
+ "node": ">=6.9.0"
292
+ }
293
+ },
294
+ "node_modules/@babel/types": {
295
+ "version": "7.28.4",
296
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz",
297
+ "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==",
298
+ "dev": true,
299
+ "license": "MIT",
300
+ "dependencies": {
301
+ "@babel/helper-string-parser": "^7.27.1",
302
+ "@babel/helper-validator-identifier": "^7.27.1"
303
+ },
304
+ "engines": {
305
+ "node": ">=6.9.0"
306
+ }
307
+ },
308
+ "node_modules/@esbuild/aix-ppc64": {
309
+ "version": "0.25.9",
310
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
311
+ "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
312
+ "cpu": [
313
+ "ppc64"
314
+ ],
315
+ "dev": true,
316
+ "license": "MIT",
317
+ "optional": true,
318
+ "os": [
319
+ "aix"
320
+ ],
321
+ "engines": {
322
+ "node": ">=18"
323
+ }
324
+ },
325
+ "node_modules/@esbuild/android-arm": {
326
+ "version": "0.25.9",
327
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
328
+ "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
329
+ "cpu": [
330
+ "arm"
331
+ ],
332
+ "dev": true,
333
+ "license": "MIT",
334
+ "optional": true,
335
+ "os": [
336
+ "android"
337
+ ],
338
+ "engines": {
339
+ "node": ">=18"
340
+ }
341
+ },
342
+ "node_modules/@esbuild/android-arm64": {
343
+ "version": "0.25.9",
344
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
345
+ "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
346
+ "cpu": [
347
+ "arm64"
348
+ ],
349
+ "dev": true,
350
+ "license": "MIT",
351
+ "optional": true,
352
+ "os": [
353
+ "android"
354
+ ],
355
+ "engines": {
356
+ "node": ">=18"
357
+ }
358
+ },
359
+ "node_modules/@esbuild/android-x64": {
360
+ "version": "0.25.9",
361
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
362
+ "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
363
+ "cpu": [
364
+ "x64"
365
+ ],
366
+ "dev": true,
367
+ "license": "MIT",
368
+ "optional": true,
369
+ "os": [
370
+ "android"
371
+ ],
372
+ "engines": {
373
+ "node": ">=18"
374
+ }
375
+ },
376
+ "node_modules/@esbuild/darwin-arm64": {
377
+ "version": "0.25.9",
378
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
379
+ "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
380
+ "cpu": [
381
+ "arm64"
382
+ ],
383
+ "dev": true,
384
+ "license": "MIT",
385
+ "optional": true,
386
+ "os": [
387
+ "darwin"
388
+ ],
389
+ "engines": {
390
+ "node": ">=18"
391
+ }
392
+ },
393
+ "node_modules/@esbuild/darwin-x64": {
394
+ "version": "0.25.9",
395
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
396
+ "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
397
+ "cpu": [
398
+ "x64"
399
+ ],
400
+ "dev": true,
401
+ "license": "MIT",
402
+ "optional": true,
403
+ "os": [
404
+ "darwin"
405
+ ],
406
+ "engines": {
407
+ "node": ">=18"
408
+ }
409
+ },
410
+ "node_modules/@esbuild/freebsd-arm64": {
411
+ "version": "0.25.9",
412
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
413
+ "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
414
+ "cpu": [
415
+ "arm64"
416
+ ],
417
+ "dev": true,
418
+ "license": "MIT",
419
+ "optional": true,
420
+ "os": [
421
+ "freebsd"
422
+ ],
423
+ "engines": {
424
+ "node": ">=18"
425
+ }
426
+ },
427
+ "node_modules/@esbuild/freebsd-x64": {
428
+ "version": "0.25.9",
429
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
430
+ "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
431
+ "cpu": [
432
+ "x64"
433
+ ],
434
+ "dev": true,
435
+ "license": "MIT",
436
+ "optional": true,
437
+ "os": [
438
+ "freebsd"
439
+ ],
440
+ "engines": {
441
+ "node": ">=18"
442
+ }
443
+ },
444
+ "node_modules/@esbuild/linux-arm": {
445
+ "version": "0.25.9",
446
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
447
+ "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
448
+ "cpu": [
449
+ "arm"
450
+ ],
451
+ "dev": true,
452
+ "license": "MIT",
453
+ "optional": true,
454
+ "os": [
455
+ "linux"
456
+ ],
457
+ "engines": {
458
+ "node": ">=18"
459
+ }
460
+ },
461
+ "node_modules/@esbuild/linux-arm64": {
462
+ "version": "0.25.9",
463
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
464
+ "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
465
+ "cpu": [
466
+ "arm64"
467
+ ],
468
+ "dev": true,
469
+ "license": "MIT",
470
+ "optional": true,
471
+ "os": [
472
+ "linux"
473
+ ],
474
+ "engines": {
475
+ "node": ">=18"
476
+ }
477
+ },
478
+ "node_modules/@esbuild/linux-ia32": {
479
+ "version": "0.25.9",
480
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
481
+ "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
482
+ "cpu": [
483
+ "ia32"
484
+ ],
485
+ "dev": true,
486
+ "license": "MIT",
487
+ "optional": true,
488
+ "os": [
489
+ "linux"
490
+ ],
491
+ "engines": {
492
+ "node": ">=18"
493
+ }
494
+ },
495
+ "node_modules/@esbuild/linux-loong64": {
496
+ "version": "0.25.9",
497
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
498
+ "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
499
+ "cpu": [
500
+ "loong64"
501
+ ],
502
+ "dev": true,
503
+ "license": "MIT",
504
+ "optional": true,
505
+ "os": [
506
+ "linux"
507
+ ],
508
+ "engines": {
509
+ "node": ">=18"
510
+ }
511
+ },
512
+ "node_modules/@esbuild/linux-mips64el": {
513
+ "version": "0.25.9",
514
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
515
+ "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
516
+ "cpu": [
517
+ "mips64el"
518
+ ],
519
+ "dev": true,
520
+ "license": "MIT",
521
+ "optional": true,
522
+ "os": [
523
+ "linux"
524
+ ],
525
+ "engines": {
526
+ "node": ">=18"
527
+ }
528
+ },
529
+ "node_modules/@esbuild/linux-ppc64": {
530
+ "version": "0.25.9",
531
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
532
+ "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
533
+ "cpu": [
534
+ "ppc64"
535
+ ],
536
+ "dev": true,
537
+ "license": "MIT",
538
+ "optional": true,
539
+ "os": [
540
+ "linux"
541
+ ],
542
+ "engines": {
543
+ "node": ">=18"
544
+ }
545
+ },
546
+ "node_modules/@esbuild/linux-riscv64": {
547
+ "version": "0.25.9",
548
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
549
+ "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
550
+ "cpu": [
551
+ "riscv64"
552
+ ],
553
+ "dev": true,
554
+ "license": "MIT",
555
+ "optional": true,
556
+ "os": [
557
+ "linux"
558
+ ],
559
+ "engines": {
560
+ "node": ">=18"
561
+ }
562
+ },
563
+ "node_modules/@esbuild/linux-s390x": {
564
+ "version": "0.25.9",
565
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
566
+ "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
567
+ "cpu": [
568
+ "s390x"
569
+ ],
570
+ "dev": true,
571
+ "license": "MIT",
572
+ "optional": true,
573
+ "os": [
574
+ "linux"
575
+ ],
576
+ "engines": {
577
+ "node": ">=18"
578
+ }
579
+ },
580
+ "node_modules/@esbuild/linux-x64": {
581
+ "version": "0.25.9",
582
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
583
+ "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
584
+ "cpu": [
585
+ "x64"
586
+ ],
587
+ "dev": true,
588
+ "license": "MIT",
589
+ "optional": true,
590
+ "os": [
591
+ "linux"
592
+ ],
593
+ "engines": {
594
+ "node": ">=18"
595
+ }
596
+ },
597
+ "node_modules/@esbuild/netbsd-arm64": {
598
+ "version": "0.25.9",
599
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
600
+ "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
601
+ "cpu": [
602
+ "arm64"
603
+ ],
604
+ "dev": true,
605
+ "license": "MIT",
606
+ "optional": true,
607
+ "os": [
608
+ "netbsd"
609
+ ],
610
+ "engines": {
611
+ "node": ">=18"
612
+ }
613
+ },
614
+ "node_modules/@esbuild/netbsd-x64": {
615
+ "version": "0.25.9",
616
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
617
+ "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
618
+ "cpu": [
619
+ "x64"
620
+ ],
621
+ "dev": true,
622
+ "license": "MIT",
623
+ "optional": true,
624
+ "os": [
625
+ "netbsd"
626
+ ],
627
+ "engines": {
628
+ "node": ">=18"
629
+ }
630
+ },
631
+ "node_modules/@esbuild/openbsd-arm64": {
632
+ "version": "0.25.9",
633
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
634
+ "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
635
+ "cpu": [
636
+ "arm64"
637
+ ],
638
+ "dev": true,
639
+ "license": "MIT",
640
+ "optional": true,
641
+ "os": [
642
+ "openbsd"
643
+ ],
644
+ "engines": {
645
+ "node": ">=18"
646
+ }
647
+ },
648
+ "node_modules/@esbuild/openbsd-x64": {
649
+ "version": "0.25.9",
650
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
651
+ "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
652
+ "cpu": [
653
+ "x64"
654
+ ],
655
+ "dev": true,
656
+ "license": "MIT",
657
+ "optional": true,
658
+ "os": [
659
+ "openbsd"
660
+ ],
661
+ "engines": {
662
+ "node": ">=18"
663
+ }
664
+ },
665
+ "node_modules/@esbuild/openharmony-arm64": {
666
+ "version": "0.25.9",
667
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
668
+ "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
669
+ "cpu": [
670
+ "arm64"
671
+ ],
672
+ "dev": true,
673
+ "license": "MIT",
674
+ "optional": true,
675
+ "os": [
676
+ "openharmony"
677
+ ],
678
+ "engines": {
679
+ "node": ">=18"
680
+ }
681
+ },
682
+ "node_modules/@esbuild/sunos-x64": {
683
+ "version": "0.25.9",
684
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
685
+ "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
686
+ "cpu": [
687
+ "x64"
688
+ ],
689
+ "dev": true,
690
+ "license": "MIT",
691
+ "optional": true,
692
+ "os": [
693
+ "sunos"
694
+ ],
695
+ "engines": {
696
+ "node": ">=18"
697
+ }
698
+ },
699
+ "node_modules/@esbuild/win32-arm64": {
700
+ "version": "0.25.9",
701
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
702
+ "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
703
+ "cpu": [
704
+ "arm64"
705
+ ],
706
+ "dev": true,
707
+ "license": "MIT",
708
+ "optional": true,
709
+ "os": [
710
+ "win32"
711
+ ],
712
+ "engines": {
713
+ "node": ">=18"
714
+ }
715
+ },
716
+ "node_modules/@esbuild/win32-ia32": {
717
+ "version": "0.25.9",
718
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
719
+ "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
720
+ "cpu": [
721
+ "ia32"
722
+ ],
723
+ "dev": true,
724
+ "license": "MIT",
725
+ "optional": true,
726
+ "os": [
727
+ "win32"
728
+ ],
729
+ "engines": {
730
+ "node": ">=18"
731
+ }
732
+ },
733
+ "node_modules/@esbuild/win32-x64": {
734
+ "version": "0.25.9",
735
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
736
+ "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
737
+ "cpu": [
738
+ "x64"
739
+ ],
740
+ "dev": true,
741
+ "license": "MIT",
742
+ "optional": true,
743
+ "os": [
744
+ "win32"
745
+ ],
746
+ "engines": {
747
+ "node": ">=18"
748
+ }
749
+ },
750
+ "node_modules/@eslint-community/eslint-utils": {
751
+ "version": "4.9.0",
752
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
753
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
754
+ "dev": true,
755
+ "license": "MIT",
756
+ "dependencies": {
757
+ "eslint-visitor-keys": "^3.4.3"
758
+ },
759
+ "engines": {
760
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
761
+ },
762
+ "funding": {
763
+ "url": "https://opencollective.com/eslint"
764
+ },
765
+ "peerDependencies": {
766
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
767
+ }
768
+ },
769
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
770
+ "version": "3.4.3",
771
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
772
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
773
+ "dev": true,
774
+ "license": "Apache-2.0",
775
+ "engines": {
776
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
777
+ },
778
+ "funding": {
779
+ "url": "https://opencollective.com/eslint"
780
+ }
781
+ },
782
+ "node_modules/@eslint-community/regexpp": {
783
+ "version": "4.12.1",
784
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
785
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
786
+ "dev": true,
787
+ "license": "MIT",
788
+ "engines": {
789
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
790
+ }
791
+ },
792
+ "node_modules/@eslint/config-array": {
793
+ "version": "0.21.0",
794
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
795
+ "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
796
+ "dev": true,
797
+ "license": "Apache-2.0",
798
+ "dependencies": {
799
+ "@eslint/object-schema": "^2.1.6",
800
+ "debug": "^4.3.1",
801
+ "minimatch": "^3.1.2"
802
+ },
803
+ "engines": {
804
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
805
+ }
806
+ },
807
+ "node_modules/@eslint/config-helpers": {
808
+ "version": "0.3.1",
809
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
810
+ "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
811
+ "dev": true,
812
+ "license": "Apache-2.0",
813
+ "engines": {
814
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
815
+ }
816
+ },
817
+ "node_modules/@eslint/core": {
818
+ "version": "0.15.2",
819
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
820
+ "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
821
+ "dev": true,
822
+ "license": "Apache-2.0",
823
+ "dependencies": {
824
+ "@types/json-schema": "^7.0.15"
825
+ },
826
+ "engines": {
827
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
828
+ }
829
+ },
830
+ "node_modules/@eslint/eslintrc": {
831
+ "version": "3.3.1",
832
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
833
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
834
+ "dev": true,
835
+ "license": "MIT",
836
+ "dependencies": {
837
+ "ajv": "^6.12.4",
838
+ "debug": "^4.3.2",
839
+ "espree": "^10.0.1",
840
+ "globals": "^14.0.0",
841
+ "ignore": "^5.2.0",
842
+ "import-fresh": "^3.2.1",
843
+ "js-yaml": "^4.1.0",
844
+ "minimatch": "^3.1.2",
845
+ "strip-json-comments": "^3.1.1"
846
+ },
847
+ "engines": {
848
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
849
+ },
850
+ "funding": {
851
+ "url": "https://opencollective.com/eslint"
852
+ }
853
+ },
854
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
855
+ "version": "14.0.0",
856
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
857
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
858
+ "dev": true,
859
+ "license": "MIT",
860
+ "engines": {
861
+ "node": ">=18"
862
+ },
863
+ "funding": {
864
+ "url": "https://github.com/sponsors/sindresorhus"
865
+ }
866
+ },
867
+ "node_modules/@eslint/js": {
868
+ "version": "9.35.0",
869
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz",
870
+ "integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==",
871
+ "dev": true,
872
+ "license": "MIT",
873
+ "engines": {
874
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
875
+ },
876
+ "funding": {
877
+ "url": "https://eslint.org/donate"
878
+ }
879
+ },
880
+ "node_modules/@eslint/object-schema": {
881
+ "version": "2.1.6",
882
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
883
+ "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
884
+ "dev": true,
885
+ "license": "Apache-2.0",
886
+ "engines": {
887
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
888
+ }
889
+ },
890
+ "node_modules/@eslint/plugin-kit": {
891
+ "version": "0.3.5",
892
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
893
+ "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
894
+ "dev": true,
895
+ "license": "Apache-2.0",
896
+ "dependencies": {
897
+ "@eslint/core": "^0.15.2",
898
+ "levn": "^0.4.1"
899
+ },
900
+ "engines": {
901
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
902
+ }
903
+ },
904
+ "node_modules/@humanfs/core": {
905
+ "version": "0.19.1",
906
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
907
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
908
+ "dev": true,
909
+ "license": "Apache-2.0",
910
+ "engines": {
911
+ "node": ">=18.18.0"
912
+ }
913
+ },
914
+ "node_modules/@humanfs/node": {
915
+ "version": "0.16.7",
916
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
917
+ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
918
+ "dev": true,
919
+ "license": "Apache-2.0",
920
+ "dependencies": {
921
+ "@humanfs/core": "^0.19.1",
922
+ "@humanwhocodes/retry": "^0.4.0"
923
+ },
924
+ "engines": {
925
+ "node": ">=18.18.0"
926
+ }
927
+ },
928
+ "node_modules/@humanwhocodes/module-importer": {
929
+ "version": "1.0.1",
930
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
931
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
932
+ "dev": true,
933
+ "license": "Apache-2.0",
934
+ "engines": {
935
+ "node": ">=12.22"
936
+ },
937
+ "funding": {
938
+ "type": "github",
939
+ "url": "https://github.com/sponsors/nzakas"
940
+ }
941
+ },
942
+ "node_modules/@humanwhocodes/retry": {
943
+ "version": "0.4.3",
944
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
945
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
946
+ "dev": true,
947
+ "license": "Apache-2.0",
948
+ "engines": {
949
+ "node": ">=18.18"
950
+ },
951
+ "funding": {
952
+ "type": "github",
953
+ "url": "https://github.com/sponsors/nzakas"
954
+ }
955
+ },
956
+ "node_modules/@jridgewell/gen-mapping": {
957
+ "version": "0.3.13",
958
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
959
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
960
+ "dev": true,
961
+ "license": "MIT",
962
+ "dependencies": {
963
+ "@jridgewell/sourcemap-codec": "^1.5.0",
964
+ "@jridgewell/trace-mapping": "^0.3.24"
965
+ }
966
+ },
967
+ "node_modules/@jridgewell/remapping": {
968
+ "version": "2.3.5",
969
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
970
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
971
+ "dev": true,
972
+ "license": "MIT",
973
+ "dependencies": {
974
+ "@jridgewell/gen-mapping": "^0.3.5",
975
+ "@jridgewell/trace-mapping": "^0.3.24"
976
+ }
977
+ },
978
+ "node_modules/@jridgewell/resolve-uri": {
979
+ "version": "3.1.2",
980
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
981
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
982
+ "dev": true,
983
+ "license": "MIT",
984
+ "engines": {
985
+ "node": ">=6.0.0"
986
+ }
987
+ },
988
+ "node_modules/@jridgewell/sourcemap-codec": {
989
+ "version": "1.5.5",
990
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
991
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
992
+ "dev": true,
993
+ "license": "MIT"
994
+ },
995
+ "node_modules/@jridgewell/trace-mapping": {
996
+ "version": "0.3.31",
997
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
998
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
999
+ "dev": true,
1000
+ "license": "MIT",
1001
+ "dependencies": {
1002
+ "@jridgewell/resolve-uri": "^3.1.0",
1003
+ "@jridgewell/sourcemap-codec": "^1.4.14"
1004
+ }
1005
+ },
1006
+ "node_modules/@rolldown/pluginutils": {
1007
+ "version": "1.0.0-beta.34",
1008
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.34.tgz",
1009
+ "integrity": "sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==",
1010
+ "dev": true,
1011
+ "license": "MIT"
1012
+ },
1013
+ "node_modules/@rollup/rollup-android-arm-eabi": {
1014
+ "version": "4.50.2",
1015
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.2.tgz",
1016
+ "integrity": "sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==",
1017
+ "cpu": [
1018
+ "arm"
1019
+ ],
1020
+ "dev": true,
1021
+ "license": "MIT",
1022
+ "optional": true,
1023
+ "os": [
1024
+ "android"
1025
+ ]
1026
+ },
1027
+ "node_modules/@rollup/rollup-android-arm64": {
1028
+ "version": "4.50.2",
1029
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.2.tgz",
1030
+ "integrity": "sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==",
1031
+ "cpu": [
1032
+ "arm64"
1033
+ ],
1034
+ "dev": true,
1035
+ "license": "MIT",
1036
+ "optional": true,
1037
+ "os": [
1038
+ "android"
1039
+ ]
1040
+ },
1041
+ "node_modules/@rollup/rollup-darwin-arm64": {
1042
+ "version": "4.50.2",
1043
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.2.tgz",
1044
+ "integrity": "sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==",
1045
+ "cpu": [
1046
+ "arm64"
1047
+ ],
1048
+ "dev": true,
1049
+ "license": "MIT",
1050
+ "optional": true,
1051
+ "os": [
1052
+ "darwin"
1053
+ ]
1054
+ },
1055
+ "node_modules/@rollup/rollup-darwin-x64": {
1056
+ "version": "4.50.2",
1057
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.2.tgz",
1058
+ "integrity": "sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==",
1059
+ "cpu": [
1060
+ "x64"
1061
+ ],
1062
+ "dev": true,
1063
+ "license": "MIT",
1064
+ "optional": true,
1065
+ "os": [
1066
+ "darwin"
1067
+ ]
1068
+ },
1069
+ "node_modules/@rollup/rollup-freebsd-arm64": {
1070
+ "version": "4.50.2",
1071
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.2.tgz",
1072
+ "integrity": "sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==",
1073
+ "cpu": [
1074
+ "arm64"
1075
+ ],
1076
+ "dev": true,
1077
+ "license": "MIT",
1078
+ "optional": true,
1079
+ "os": [
1080
+ "freebsd"
1081
+ ]
1082
+ },
1083
+ "node_modules/@rollup/rollup-freebsd-x64": {
1084
+ "version": "4.50.2",
1085
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.2.tgz",
1086
+ "integrity": "sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==",
1087
+ "cpu": [
1088
+ "x64"
1089
+ ],
1090
+ "dev": true,
1091
+ "license": "MIT",
1092
+ "optional": true,
1093
+ "os": [
1094
+ "freebsd"
1095
+ ]
1096
+ },
1097
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1098
+ "version": "4.50.2",
1099
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.2.tgz",
1100
+ "integrity": "sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==",
1101
+ "cpu": [
1102
+ "arm"
1103
+ ],
1104
+ "dev": true,
1105
+ "license": "MIT",
1106
+ "optional": true,
1107
+ "os": [
1108
+ "linux"
1109
+ ]
1110
+ },
1111
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1112
+ "version": "4.50.2",
1113
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.2.tgz",
1114
+ "integrity": "sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==",
1115
+ "cpu": [
1116
+ "arm"
1117
+ ],
1118
+ "dev": true,
1119
+ "license": "MIT",
1120
+ "optional": true,
1121
+ "os": [
1122
+ "linux"
1123
+ ]
1124
+ },
1125
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
1126
+ "version": "4.50.2",
1127
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.2.tgz",
1128
+ "integrity": "sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==",
1129
+ "cpu": [
1130
+ "arm64"
1131
+ ],
1132
+ "dev": true,
1133
+ "license": "MIT",
1134
+ "optional": true,
1135
+ "os": [
1136
+ "linux"
1137
+ ]
1138
+ },
1139
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
1140
+ "version": "4.50.2",
1141
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.2.tgz",
1142
+ "integrity": "sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==",
1143
+ "cpu": [
1144
+ "arm64"
1145
+ ],
1146
+ "dev": true,
1147
+ "license": "MIT",
1148
+ "optional": true,
1149
+ "os": [
1150
+ "linux"
1151
+ ]
1152
+ },
1153
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
1154
+ "version": "4.50.2",
1155
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.50.2.tgz",
1156
+ "integrity": "sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==",
1157
+ "cpu": [
1158
+ "loong64"
1159
+ ],
1160
+ "dev": true,
1161
+ "license": "MIT",
1162
+ "optional": true,
1163
+ "os": [
1164
+ "linux"
1165
+ ]
1166
+ },
1167
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1168
+ "version": "4.50.2",
1169
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.2.tgz",
1170
+ "integrity": "sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==",
1171
+ "cpu": [
1172
+ "ppc64"
1173
+ ],
1174
+ "dev": true,
1175
+ "license": "MIT",
1176
+ "optional": true,
1177
+ "os": [
1178
+ "linux"
1179
+ ]
1180
+ },
1181
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1182
+ "version": "4.50.2",
1183
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.2.tgz",
1184
+ "integrity": "sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==",
1185
+ "cpu": [
1186
+ "riscv64"
1187
+ ],
1188
+ "dev": true,
1189
+ "license": "MIT",
1190
+ "optional": true,
1191
+ "os": [
1192
+ "linux"
1193
+ ]
1194
+ },
1195
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
1196
+ "version": "4.50.2",
1197
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.2.tgz",
1198
+ "integrity": "sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==",
1199
+ "cpu": [
1200
+ "riscv64"
1201
+ ],
1202
+ "dev": true,
1203
+ "license": "MIT",
1204
+ "optional": true,
1205
+ "os": [
1206
+ "linux"
1207
+ ]
1208
+ },
1209
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
1210
+ "version": "4.50.2",
1211
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.2.tgz",
1212
+ "integrity": "sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==",
1213
+ "cpu": [
1214
+ "s390x"
1215
+ ],
1216
+ "dev": true,
1217
+ "license": "MIT",
1218
+ "optional": true,
1219
+ "os": [
1220
+ "linux"
1221
+ ]
1222
+ },
1223
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
1224
+ "version": "4.50.2",
1225
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.2.tgz",
1226
+ "integrity": "sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==",
1227
+ "cpu": [
1228
+ "x64"
1229
+ ],
1230
+ "dev": true,
1231
+ "license": "MIT",
1232
+ "optional": true,
1233
+ "os": [
1234
+ "linux"
1235
+ ]
1236
+ },
1237
+ "node_modules/@rollup/rollup-linux-x64-musl": {
1238
+ "version": "4.50.2",
1239
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.2.tgz",
1240
+ "integrity": "sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==",
1241
+ "cpu": [
1242
+ "x64"
1243
+ ],
1244
+ "dev": true,
1245
+ "license": "MIT",
1246
+ "optional": true,
1247
+ "os": [
1248
+ "linux"
1249
+ ]
1250
+ },
1251
+ "node_modules/@rollup/rollup-openharmony-arm64": {
1252
+ "version": "4.50.2",
1253
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.2.tgz",
1254
+ "integrity": "sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==",
1255
+ "cpu": [
1256
+ "arm64"
1257
+ ],
1258
+ "dev": true,
1259
+ "license": "MIT",
1260
+ "optional": true,
1261
+ "os": [
1262
+ "openharmony"
1263
+ ]
1264
+ },
1265
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
1266
+ "version": "4.50.2",
1267
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.2.tgz",
1268
+ "integrity": "sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==",
1269
+ "cpu": [
1270
+ "arm64"
1271
+ ],
1272
+ "dev": true,
1273
+ "license": "MIT",
1274
+ "optional": true,
1275
+ "os": [
1276
+ "win32"
1277
+ ]
1278
+ },
1279
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
1280
+ "version": "4.50.2",
1281
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.2.tgz",
1282
+ "integrity": "sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==",
1283
+ "cpu": [
1284
+ "ia32"
1285
+ ],
1286
+ "dev": true,
1287
+ "license": "MIT",
1288
+ "optional": true,
1289
+ "os": [
1290
+ "win32"
1291
+ ]
1292
+ },
1293
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
1294
+ "version": "4.50.2",
1295
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.2.tgz",
1296
+ "integrity": "sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==",
1297
+ "cpu": [
1298
+ "x64"
1299
+ ],
1300
+ "dev": true,
1301
+ "license": "MIT",
1302
+ "optional": true,
1303
+ "os": [
1304
+ "win32"
1305
+ ]
1306
+ },
1307
+ "node_modules/@types/babel__core": {
1308
+ "version": "7.20.5",
1309
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1310
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1311
+ "dev": true,
1312
+ "license": "MIT",
1313
+ "dependencies": {
1314
+ "@babel/parser": "^7.20.7",
1315
+ "@babel/types": "^7.20.7",
1316
+ "@types/babel__generator": "*",
1317
+ "@types/babel__template": "*",
1318
+ "@types/babel__traverse": "*"
1319
+ }
1320
+ },
1321
+ "node_modules/@types/babel__generator": {
1322
+ "version": "7.27.0",
1323
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1324
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1325
+ "dev": true,
1326
+ "license": "MIT",
1327
+ "dependencies": {
1328
+ "@babel/types": "^7.0.0"
1329
+ }
1330
+ },
1331
+ "node_modules/@types/babel__template": {
1332
+ "version": "7.4.4",
1333
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1334
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1335
+ "dev": true,
1336
+ "license": "MIT",
1337
+ "dependencies": {
1338
+ "@babel/parser": "^7.1.0",
1339
+ "@babel/types": "^7.0.0"
1340
+ }
1341
+ },
1342
+ "node_modules/@types/babel__traverse": {
1343
+ "version": "7.28.0",
1344
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
1345
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
1346
+ "dev": true,
1347
+ "license": "MIT",
1348
+ "dependencies": {
1349
+ "@babel/types": "^7.28.2"
1350
+ }
1351
+ },
1352
+ "node_modules/@types/estree": {
1353
+ "version": "1.0.8",
1354
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1355
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1356
+ "dev": true,
1357
+ "license": "MIT"
1358
+ },
1359
+ "node_modules/@types/json-schema": {
1360
+ "version": "7.0.15",
1361
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
1362
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
1363
+ "dev": true,
1364
+ "license": "MIT"
1365
+ },
1366
+ "node_modules/@types/react": {
1367
+ "version": "19.1.13",
1368
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.13.tgz",
1369
+ "integrity": "sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==",
1370
+ "dev": true,
1371
+ "license": "MIT",
1372
+ "dependencies": {
1373
+ "csstype": "^3.0.2"
1374
+ }
1375
+ },
1376
+ "node_modules/@types/react-dom": {
1377
+ "version": "19.1.9",
1378
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz",
1379
+ "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==",
1380
+ "dev": true,
1381
+ "license": "MIT",
1382
+ "peerDependencies": {
1383
+ "@types/react": "^19.0.0"
1384
+ }
1385
+ },
1386
+ "node_modules/@vitejs/plugin-react": {
1387
+ "version": "5.0.2",
1388
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz",
1389
+ "integrity": "sha512-tmyFgixPZCx2+e6VO9TNITWcCQl8+Nl/E8YbAyPVv85QCc7/A3JrdfG2A8gIzvVhWuzMOVrFW1aReaNxrI6tbw==",
1390
+ "dev": true,
1391
+ "license": "MIT",
1392
+ "dependencies": {
1393
+ "@babel/core": "^7.28.3",
1394
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
1395
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
1396
+ "@rolldown/pluginutils": "1.0.0-beta.34",
1397
+ "@types/babel__core": "^7.20.5",
1398
+ "react-refresh": "^0.17.0"
1399
+ },
1400
+ "engines": {
1401
+ "node": "^20.19.0 || >=22.12.0"
1402
+ },
1403
+ "peerDependencies": {
1404
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
1405
+ }
1406
+ },
1407
+ "node_modules/acorn": {
1408
+ "version": "8.15.0",
1409
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
1410
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
1411
+ "dev": true,
1412
+ "license": "MIT",
1413
+ "bin": {
1414
+ "acorn": "bin/acorn"
1415
+ },
1416
+ "engines": {
1417
+ "node": ">=0.4.0"
1418
+ }
1419
+ },
1420
+ "node_modules/acorn-jsx": {
1421
+ "version": "5.3.2",
1422
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1423
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1424
+ "dev": true,
1425
+ "license": "MIT",
1426
+ "peerDependencies": {
1427
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1428
+ }
1429
+ },
1430
+ "node_modules/ajv": {
1431
+ "version": "6.12.6",
1432
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1433
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1434
+ "dev": true,
1435
+ "license": "MIT",
1436
+ "dependencies": {
1437
+ "fast-deep-equal": "^3.1.1",
1438
+ "fast-json-stable-stringify": "^2.0.0",
1439
+ "json-schema-traverse": "^0.4.1",
1440
+ "uri-js": "^4.2.2"
1441
+ },
1442
+ "funding": {
1443
+ "type": "github",
1444
+ "url": "https://github.com/sponsors/epoberezkin"
1445
+ }
1446
+ },
1447
+ "node_modules/ansi-styles": {
1448
+ "version": "4.3.0",
1449
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1450
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1451
+ "dev": true,
1452
+ "license": "MIT",
1453
+ "dependencies": {
1454
+ "color-convert": "^2.0.1"
1455
+ },
1456
+ "engines": {
1457
+ "node": ">=8"
1458
+ },
1459
+ "funding": {
1460
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1461
+ }
1462
+ },
1463
+ "node_modules/argparse": {
1464
+ "version": "2.0.1",
1465
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1466
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1467
+ "dev": true,
1468
+ "license": "Python-2.0"
1469
+ },
1470
+ "node_modules/balanced-match": {
1471
+ "version": "1.0.2",
1472
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1473
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1474
+ "dev": true,
1475
+ "license": "MIT"
1476
+ },
1477
+ "node_modules/baseline-browser-mapping": {
1478
+ "version": "2.8.4",
1479
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.4.tgz",
1480
+ "integrity": "sha512-L+YvJwGAgwJBV1p6ffpSTa2KRc69EeeYGYjRVWKs0GKrK+LON0GC0gV+rKSNtALEDvMDqkvCFq9r1r94/Gjwxw==",
1481
+ "dev": true,
1482
+ "license": "Apache-2.0",
1483
+ "bin": {
1484
+ "baseline-browser-mapping": "dist/cli.js"
1485
+ }
1486
+ },
1487
+ "node_modules/brace-expansion": {
1488
+ "version": "1.1.12",
1489
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
1490
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
1491
+ "dev": true,
1492
+ "license": "MIT",
1493
+ "dependencies": {
1494
+ "balanced-match": "^1.0.0",
1495
+ "concat-map": "0.0.1"
1496
+ }
1497
+ },
1498
+ "node_modules/browserslist": {
1499
+ "version": "4.26.0",
1500
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.0.tgz",
1501
+ "integrity": "sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==",
1502
+ "dev": true,
1503
+ "funding": [
1504
+ {
1505
+ "type": "opencollective",
1506
+ "url": "https://opencollective.com/browserslist"
1507
+ },
1508
+ {
1509
+ "type": "tidelift",
1510
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1511
+ },
1512
+ {
1513
+ "type": "github",
1514
+ "url": "https://github.com/sponsors/ai"
1515
+ }
1516
+ ],
1517
+ "license": "MIT",
1518
+ "dependencies": {
1519
+ "baseline-browser-mapping": "^2.8.2",
1520
+ "caniuse-lite": "^1.0.30001741",
1521
+ "electron-to-chromium": "^1.5.218",
1522
+ "node-releases": "^2.0.21",
1523
+ "update-browserslist-db": "^1.1.3"
1524
+ },
1525
+ "bin": {
1526
+ "browserslist": "cli.js"
1527
+ },
1528
+ "engines": {
1529
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1530
+ }
1531
+ },
1532
+ "node_modules/callsites": {
1533
+ "version": "3.1.0",
1534
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1535
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1536
+ "dev": true,
1537
+ "license": "MIT",
1538
+ "engines": {
1539
+ "node": ">=6"
1540
+ }
1541
+ },
1542
+ "node_modules/caniuse-lite": {
1543
+ "version": "1.0.30001741",
1544
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz",
1545
+ "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==",
1546
+ "dev": true,
1547
+ "funding": [
1548
+ {
1549
+ "type": "opencollective",
1550
+ "url": "https://opencollective.com/browserslist"
1551
+ },
1552
+ {
1553
+ "type": "tidelift",
1554
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1555
+ },
1556
+ {
1557
+ "type": "github",
1558
+ "url": "https://github.com/sponsors/ai"
1559
+ }
1560
+ ],
1561
+ "license": "CC-BY-4.0"
1562
+ },
1563
+ "node_modules/chalk": {
1564
+ "version": "4.1.2",
1565
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1566
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1567
+ "dev": true,
1568
+ "license": "MIT",
1569
+ "dependencies": {
1570
+ "ansi-styles": "^4.1.0",
1571
+ "supports-color": "^7.1.0"
1572
+ },
1573
+ "engines": {
1574
+ "node": ">=10"
1575
+ },
1576
+ "funding": {
1577
+ "url": "https://github.com/chalk/chalk?sponsor=1"
1578
+ }
1579
+ },
1580
+ "node_modules/color-convert": {
1581
+ "version": "2.0.1",
1582
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1583
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1584
+ "dev": true,
1585
+ "license": "MIT",
1586
+ "dependencies": {
1587
+ "color-name": "~1.1.4"
1588
+ },
1589
+ "engines": {
1590
+ "node": ">=7.0.0"
1591
+ }
1592
+ },
1593
+ "node_modules/color-name": {
1594
+ "version": "1.1.4",
1595
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1596
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1597
+ "dev": true,
1598
+ "license": "MIT"
1599
+ },
1600
+ "node_modules/concat-map": {
1601
+ "version": "0.0.1",
1602
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1603
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1604
+ "dev": true,
1605
+ "license": "MIT"
1606
+ },
1607
+ "node_modules/convert-source-map": {
1608
+ "version": "2.0.0",
1609
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1610
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1611
+ "dev": true,
1612
+ "license": "MIT"
1613
+ },
1614
+ "node_modules/cross-spawn": {
1615
+ "version": "7.0.6",
1616
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1617
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1618
+ "dev": true,
1619
+ "license": "MIT",
1620
+ "dependencies": {
1621
+ "path-key": "^3.1.0",
1622
+ "shebang-command": "^2.0.0",
1623
+ "which": "^2.0.1"
1624
+ },
1625
+ "engines": {
1626
+ "node": ">= 8"
1627
+ }
1628
+ },
1629
+ "node_modules/csstype": {
1630
+ "version": "3.1.3",
1631
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
1632
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
1633
+ "dev": true,
1634
+ "license": "MIT"
1635
+ },
1636
+ "node_modules/debug": {
1637
+ "version": "4.4.3",
1638
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1639
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1640
+ "dev": true,
1641
+ "license": "MIT",
1642
+ "dependencies": {
1643
+ "ms": "^2.1.3"
1644
+ },
1645
+ "engines": {
1646
+ "node": ">=6.0"
1647
+ },
1648
+ "peerDependenciesMeta": {
1649
+ "supports-color": {
1650
+ "optional": true
1651
+ }
1652
+ }
1653
+ },
1654
+ "node_modules/deep-is": {
1655
+ "version": "0.1.4",
1656
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
1657
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
1658
+ "dev": true,
1659
+ "license": "MIT"
1660
+ },
1661
+ "node_modules/electron-to-chromium": {
1662
+ "version": "1.5.218",
1663
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.218.tgz",
1664
+ "integrity": "sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==",
1665
+ "dev": true,
1666
+ "license": "ISC"
1667
+ },
1668
+ "node_modules/esbuild": {
1669
+ "version": "0.25.9",
1670
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
1671
+ "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
1672
+ "dev": true,
1673
+ "hasInstallScript": true,
1674
+ "license": "MIT",
1675
+ "bin": {
1676
+ "esbuild": "bin/esbuild"
1677
+ },
1678
+ "engines": {
1679
+ "node": ">=18"
1680
+ },
1681
+ "optionalDependencies": {
1682
+ "@esbuild/aix-ppc64": "0.25.9",
1683
+ "@esbuild/android-arm": "0.25.9",
1684
+ "@esbuild/android-arm64": "0.25.9",
1685
+ "@esbuild/android-x64": "0.25.9",
1686
+ "@esbuild/darwin-arm64": "0.25.9",
1687
+ "@esbuild/darwin-x64": "0.25.9",
1688
+ "@esbuild/freebsd-arm64": "0.25.9",
1689
+ "@esbuild/freebsd-x64": "0.25.9",
1690
+ "@esbuild/linux-arm": "0.25.9",
1691
+ "@esbuild/linux-arm64": "0.25.9",
1692
+ "@esbuild/linux-ia32": "0.25.9",
1693
+ "@esbuild/linux-loong64": "0.25.9",
1694
+ "@esbuild/linux-mips64el": "0.25.9",
1695
+ "@esbuild/linux-ppc64": "0.25.9",
1696
+ "@esbuild/linux-riscv64": "0.25.9",
1697
+ "@esbuild/linux-s390x": "0.25.9",
1698
+ "@esbuild/linux-x64": "0.25.9",
1699
+ "@esbuild/netbsd-arm64": "0.25.9",
1700
+ "@esbuild/netbsd-x64": "0.25.9",
1701
+ "@esbuild/openbsd-arm64": "0.25.9",
1702
+ "@esbuild/openbsd-x64": "0.25.9",
1703
+ "@esbuild/openharmony-arm64": "0.25.9",
1704
+ "@esbuild/sunos-x64": "0.25.9",
1705
+ "@esbuild/win32-arm64": "0.25.9",
1706
+ "@esbuild/win32-ia32": "0.25.9",
1707
+ "@esbuild/win32-x64": "0.25.9"
1708
+ }
1709
+ },
1710
+ "node_modules/escalade": {
1711
+ "version": "3.2.0",
1712
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1713
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1714
+ "dev": true,
1715
+ "license": "MIT",
1716
+ "engines": {
1717
+ "node": ">=6"
1718
+ }
1719
+ },
1720
+ "node_modules/escape-string-regexp": {
1721
+ "version": "4.0.0",
1722
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1723
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1724
+ "dev": true,
1725
+ "license": "MIT",
1726
+ "engines": {
1727
+ "node": ">=10"
1728
+ },
1729
+ "funding": {
1730
+ "url": "https://github.com/sponsors/sindresorhus"
1731
+ }
1732
+ },
1733
+ "node_modules/eslint": {
1734
+ "version": "9.35.0",
1735
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz",
1736
+ "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==",
1737
+ "dev": true,
1738
+ "license": "MIT",
1739
+ "dependencies": {
1740
+ "@eslint-community/eslint-utils": "^4.8.0",
1741
+ "@eslint-community/regexpp": "^4.12.1",
1742
+ "@eslint/config-array": "^0.21.0",
1743
+ "@eslint/config-helpers": "^0.3.1",
1744
+ "@eslint/core": "^0.15.2",
1745
+ "@eslint/eslintrc": "^3.3.1",
1746
+ "@eslint/js": "9.35.0",
1747
+ "@eslint/plugin-kit": "^0.3.5",
1748
+ "@humanfs/node": "^0.16.6",
1749
+ "@humanwhocodes/module-importer": "^1.0.1",
1750
+ "@humanwhocodes/retry": "^0.4.2",
1751
+ "@types/estree": "^1.0.6",
1752
+ "@types/json-schema": "^7.0.15",
1753
+ "ajv": "^6.12.4",
1754
+ "chalk": "^4.0.0",
1755
+ "cross-spawn": "^7.0.6",
1756
+ "debug": "^4.3.2",
1757
+ "escape-string-regexp": "^4.0.0",
1758
+ "eslint-scope": "^8.4.0",
1759
+ "eslint-visitor-keys": "^4.2.1",
1760
+ "espree": "^10.4.0",
1761
+ "esquery": "^1.5.0",
1762
+ "esutils": "^2.0.2",
1763
+ "fast-deep-equal": "^3.1.3",
1764
+ "file-entry-cache": "^8.0.0",
1765
+ "find-up": "^5.0.0",
1766
+ "glob-parent": "^6.0.2",
1767
+ "ignore": "^5.2.0",
1768
+ "imurmurhash": "^0.1.4",
1769
+ "is-glob": "^4.0.0",
1770
+ "json-stable-stringify-without-jsonify": "^1.0.1",
1771
+ "lodash.merge": "^4.6.2",
1772
+ "minimatch": "^3.1.2",
1773
+ "natural-compare": "^1.4.0",
1774
+ "optionator": "^0.9.3"
1775
+ },
1776
+ "bin": {
1777
+ "eslint": "bin/eslint.js"
1778
+ },
1779
+ "engines": {
1780
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1781
+ },
1782
+ "funding": {
1783
+ "url": "https://eslint.org/donate"
1784
+ },
1785
+ "peerDependencies": {
1786
+ "jiti": "*"
1787
+ },
1788
+ "peerDependenciesMeta": {
1789
+ "jiti": {
1790
+ "optional": true
1791
+ }
1792
+ }
1793
+ },
1794
+ "node_modules/eslint-plugin-react-hooks": {
1795
+ "version": "5.2.0",
1796
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
1797
+ "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
1798
+ "dev": true,
1799
+ "license": "MIT",
1800
+ "engines": {
1801
+ "node": ">=10"
1802
+ },
1803
+ "peerDependencies": {
1804
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
1805
+ }
1806
+ },
1807
+ "node_modules/eslint-plugin-react-refresh": {
1808
+ "version": "0.4.20",
1809
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz",
1810
+ "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==",
1811
+ "dev": true,
1812
+ "license": "MIT",
1813
+ "peerDependencies": {
1814
+ "eslint": ">=8.40"
1815
+ }
1816
+ },
1817
+ "node_modules/eslint-scope": {
1818
+ "version": "8.4.0",
1819
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
1820
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
1821
+ "dev": true,
1822
+ "license": "BSD-2-Clause",
1823
+ "dependencies": {
1824
+ "esrecurse": "^4.3.0",
1825
+ "estraverse": "^5.2.0"
1826
+ },
1827
+ "engines": {
1828
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1829
+ },
1830
+ "funding": {
1831
+ "url": "https://opencollective.com/eslint"
1832
+ }
1833
+ },
1834
+ "node_modules/eslint-visitor-keys": {
1835
+ "version": "4.2.1",
1836
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
1837
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
1838
+ "dev": true,
1839
+ "license": "Apache-2.0",
1840
+ "engines": {
1841
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1842
+ },
1843
+ "funding": {
1844
+ "url": "https://opencollective.com/eslint"
1845
+ }
1846
+ },
1847
+ "node_modules/espree": {
1848
+ "version": "10.4.0",
1849
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
1850
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
1851
+ "dev": true,
1852
+ "license": "BSD-2-Clause",
1853
+ "dependencies": {
1854
+ "acorn": "^8.15.0",
1855
+ "acorn-jsx": "^5.3.2",
1856
+ "eslint-visitor-keys": "^4.2.1"
1857
+ },
1858
+ "engines": {
1859
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1860
+ },
1861
+ "funding": {
1862
+ "url": "https://opencollective.com/eslint"
1863
+ }
1864
+ },
1865
+ "node_modules/esquery": {
1866
+ "version": "1.6.0",
1867
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
1868
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
1869
+ "dev": true,
1870
+ "license": "BSD-3-Clause",
1871
+ "dependencies": {
1872
+ "estraverse": "^5.1.0"
1873
+ },
1874
+ "engines": {
1875
+ "node": ">=0.10"
1876
+ }
1877
+ },
1878
+ "node_modules/esrecurse": {
1879
+ "version": "4.3.0",
1880
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1881
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1882
+ "dev": true,
1883
+ "license": "BSD-2-Clause",
1884
+ "dependencies": {
1885
+ "estraverse": "^5.2.0"
1886
+ },
1887
+ "engines": {
1888
+ "node": ">=4.0"
1889
+ }
1890
+ },
1891
+ "node_modules/estraverse": {
1892
+ "version": "5.3.0",
1893
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1894
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1895
+ "dev": true,
1896
+ "license": "BSD-2-Clause",
1897
+ "engines": {
1898
+ "node": ">=4.0"
1899
+ }
1900
+ },
1901
+ "node_modules/esutils": {
1902
+ "version": "2.0.3",
1903
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1904
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1905
+ "dev": true,
1906
+ "license": "BSD-2-Clause",
1907
+ "engines": {
1908
+ "node": ">=0.10.0"
1909
+ }
1910
+ },
1911
+ "node_modules/fast-deep-equal": {
1912
+ "version": "3.1.3",
1913
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1914
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1915
+ "dev": true,
1916
+ "license": "MIT"
1917
+ },
1918
+ "node_modules/fast-json-stable-stringify": {
1919
+ "version": "2.1.0",
1920
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1921
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1922
+ "dev": true,
1923
+ "license": "MIT"
1924
+ },
1925
+ "node_modules/fast-levenshtein": {
1926
+ "version": "2.0.6",
1927
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1928
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1929
+ "dev": true,
1930
+ "license": "MIT"
1931
+ },
1932
+ "node_modules/fdir": {
1933
+ "version": "6.5.0",
1934
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
1935
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
1936
+ "dev": true,
1937
+ "license": "MIT",
1938
+ "engines": {
1939
+ "node": ">=12.0.0"
1940
+ },
1941
+ "peerDependencies": {
1942
+ "picomatch": "^3 || ^4"
1943
+ },
1944
+ "peerDependenciesMeta": {
1945
+ "picomatch": {
1946
+ "optional": true
1947
+ }
1948
+ }
1949
+ },
1950
+ "node_modules/file-entry-cache": {
1951
+ "version": "8.0.0",
1952
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
1953
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
1954
+ "dev": true,
1955
+ "license": "MIT",
1956
+ "dependencies": {
1957
+ "flat-cache": "^4.0.0"
1958
+ },
1959
+ "engines": {
1960
+ "node": ">=16.0.0"
1961
+ }
1962
+ },
1963
+ "node_modules/find-up": {
1964
+ "version": "5.0.0",
1965
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1966
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1967
+ "dev": true,
1968
+ "license": "MIT",
1969
+ "dependencies": {
1970
+ "locate-path": "^6.0.0",
1971
+ "path-exists": "^4.0.0"
1972
+ },
1973
+ "engines": {
1974
+ "node": ">=10"
1975
+ },
1976
+ "funding": {
1977
+ "url": "https://github.com/sponsors/sindresorhus"
1978
+ }
1979
+ },
1980
+ "node_modules/flat-cache": {
1981
+ "version": "4.0.1",
1982
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
1983
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
1984
+ "dev": true,
1985
+ "license": "MIT",
1986
+ "dependencies": {
1987
+ "flatted": "^3.2.9",
1988
+ "keyv": "^4.5.4"
1989
+ },
1990
+ "engines": {
1991
+ "node": ">=16"
1992
+ }
1993
+ },
1994
+ "node_modules/flatted": {
1995
+ "version": "3.3.3",
1996
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
1997
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
1998
+ "dev": true,
1999
+ "license": "ISC"
2000
+ },
2001
+ "node_modules/fsevents": {
2002
+ "version": "2.3.3",
2003
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
2004
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
2005
+ "dev": true,
2006
+ "hasInstallScript": true,
2007
+ "license": "MIT",
2008
+ "optional": true,
2009
+ "os": [
2010
+ "darwin"
2011
+ ],
2012
+ "engines": {
2013
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
2014
+ }
2015
+ },
2016
+ "node_modules/gensync": {
2017
+ "version": "1.0.0-beta.2",
2018
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2019
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2020
+ "dev": true,
2021
+ "license": "MIT",
2022
+ "engines": {
2023
+ "node": ">=6.9.0"
2024
+ }
2025
+ },
2026
+ "node_modules/glob-parent": {
2027
+ "version": "6.0.2",
2028
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2029
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
2030
+ "dev": true,
2031
+ "license": "ISC",
2032
+ "dependencies": {
2033
+ "is-glob": "^4.0.3"
2034
+ },
2035
+ "engines": {
2036
+ "node": ">=10.13.0"
2037
+ }
2038
+ },
2039
+ "node_modules/globals": {
2040
+ "version": "16.4.0",
2041
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz",
2042
+ "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==",
2043
+ "dev": true,
2044
+ "license": "MIT",
2045
+ "engines": {
2046
+ "node": ">=18"
2047
+ },
2048
+ "funding": {
2049
+ "url": "https://github.com/sponsors/sindresorhus"
2050
+ }
2051
+ },
2052
+ "node_modules/has-flag": {
2053
+ "version": "4.0.0",
2054
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2055
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2056
+ "dev": true,
2057
+ "license": "MIT",
2058
+ "engines": {
2059
+ "node": ">=8"
2060
+ }
2061
+ },
2062
+ "node_modules/ignore": {
2063
+ "version": "5.3.2",
2064
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
2065
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
2066
+ "dev": true,
2067
+ "license": "MIT",
2068
+ "engines": {
2069
+ "node": ">= 4"
2070
+ }
2071
+ },
2072
+ "node_modules/import-fresh": {
2073
+ "version": "3.3.1",
2074
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
2075
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
2076
+ "dev": true,
2077
+ "license": "MIT",
2078
+ "dependencies": {
2079
+ "parent-module": "^1.0.0",
2080
+ "resolve-from": "^4.0.0"
2081
+ },
2082
+ "engines": {
2083
+ "node": ">=6"
2084
+ },
2085
+ "funding": {
2086
+ "url": "https://github.com/sponsors/sindresorhus"
2087
+ }
2088
+ },
2089
+ "node_modules/imurmurhash": {
2090
+ "version": "0.1.4",
2091
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2092
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
2093
+ "dev": true,
2094
+ "license": "MIT",
2095
+ "engines": {
2096
+ "node": ">=0.8.19"
2097
+ }
2098
+ },
2099
+ "node_modules/is-extglob": {
2100
+ "version": "2.1.1",
2101
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2102
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
2103
+ "dev": true,
2104
+ "license": "MIT",
2105
+ "engines": {
2106
+ "node": ">=0.10.0"
2107
+ }
2108
+ },
2109
+ "node_modules/is-glob": {
2110
+ "version": "4.0.3",
2111
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2112
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
2113
+ "dev": true,
2114
+ "license": "MIT",
2115
+ "dependencies": {
2116
+ "is-extglob": "^2.1.1"
2117
+ },
2118
+ "engines": {
2119
+ "node": ">=0.10.0"
2120
+ }
2121
+ },
2122
+ "node_modules/isexe": {
2123
+ "version": "2.0.0",
2124
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2125
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2126
+ "dev": true,
2127
+ "license": "ISC"
2128
+ },
2129
+ "node_modules/js-tokens": {
2130
+ "version": "4.0.0",
2131
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2132
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2133
+ "dev": true,
2134
+ "license": "MIT"
2135
+ },
2136
+ "node_modules/js-yaml": {
2137
+ "version": "4.1.0",
2138
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2139
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2140
+ "dev": true,
2141
+ "license": "MIT",
2142
+ "dependencies": {
2143
+ "argparse": "^2.0.1"
2144
+ },
2145
+ "bin": {
2146
+ "js-yaml": "bin/js-yaml.js"
2147
+ }
2148
+ },
2149
+ "node_modules/jsesc": {
2150
+ "version": "3.1.0",
2151
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
2152
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
2153
+ "dev": true,
2154
+ "license": "MIT",
2155
+ "bin": {
2156
+ "jsesc": "bin/jsesc"
2157
+ },
2158
+ "engines": {
2159
+ "node": ">=6"
2160
+ }
2161
+ },
2162
+ "node_modules/json-buffer": {
2163
+ "version": "3.0.1",
2164
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
2165
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
2166
+ "dev": true,
2167
+ "license": "MIT"
2168
+ },
2169
+ "node_modules/json-schema-traverse": {
2170
+ "version": "0.4.1",
2171
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2172
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2173
+ "dev": true,
2174
+ "license": "MIT"
2175
+ },
2176
+ "node_modules/json-stable-stringify-without-jsonify": {
2177
+ "version": "1.0.1",
2178
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2179
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2180
+ "dev": true,
2181
+ "license": "MIT"
2182
+ },
2183
+ "node_modules/json5": {
2184
+ "version": "2.2.3",
2185
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2186
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2187
+ "dev": true,
2188
+ "license": "MIT",
2189
+ "bin": {
2190
+ "json5": "lib/cli.js"
2191
+ },
2192
+ "engines": {
2193
+ "node": ">=6"
2194
+ }
2195
+ },
2196
+ "node_modules/keyv": {
2197
+ "version": "4.5.4",
2198
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
2199
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
2200
+ "dev": true,
2201
+ "license": "MIT",
2202
+ "dependencies": {
2203
+ "json-buffer": "3.0.1"
2204
+ }
2205
+ },
2206
+ "node_modules/levn": {
2207
+ "version": "0.4.1",
2208
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2209
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2210
+ "dev": true,
2211
+ "license": "MIT",
2212
+ "dependencies": {
2213
+ "prelude-ls": "^1.2.1",
2214
+ "type-check": "~0.4.0"
2215
+ },
2216
+ "engines": {
2217
+ "node": ">= 0.8.0"
2218
+ }
2219
+ },
2220
+ "node_modules/locate-path": {
2221
+ "version": "6.0.0",
2222
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2223
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2224
+ "dev": true,
2225
+ "license": "MIT",
2226
+ "dependencies": {
2227
+ "p-locate": "^5.0.0"
2228
+ },
2229
+ "engines": {
2230
+ "node": ">=10"
2231
+ },
2232
+ "funding": {
2233
+ "url": "https://github.com/sponsors/sindresorhus"
2234
+ }
2235
+ },
2236
+ "node_modules/lodash.merge": {
2237
+ "version": "4.6.2",
2238
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
2239
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
2240
+ "dev": true,
2241
+ "license": "MIT"
2242
+ },
2243
+ "node_modules/lru-cache": {
2244
+ "version": "5.1.1",
2245
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2246
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2247
+ "dev": true,
2248
+ "license": "ISC",
2249
+ "dependencies": {
2250
+ "yallist": "^3.0.2"
2251
+ }
2252
+ },
2253
+ "node_modules/minimatch": {
2254
+ "version": "3.1.2",
2255
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2256
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2257
+ "dev": true,
2258
+ "license": "ISC",
2259
+ "dependencies": {
2260
+ "brace-expansion": "^1.1.7"
2261
+ },
2262
+ "engines": {
2263
+ "node": "*"
2264
+ }
2265
+ },
2266
+ "node_modules/ms": {
2267
+ "version": "2.1.3",
2268
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2269
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2270
+ "dev": true,
2271
+ "license": "MIT"
2272
+ },
2273
+ "node_modules/nanoid": {
2274
+ "version": "3.3.11",
2275
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2276
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
2277
+ "dev": true,
2278
+ "funding": [
2279
+ {
2280
+ "type": "github",
2281
+ "url": "https://github.com/sponsors/ai"
2282
+ }
2283
+ ],
2284
+ "license": "MIT",
2285
+ "bin": {
2286
+ "nanoid": "bin/nanoid.cjs"
2287
+ },
2288
+ "engines": {
2289
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2290
+ }
2291
+ },
2292
+ "node_modules/natural-compare": {
2293
+ "version": "1.4.0",
2294
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2295
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2296
+ "dev": true,
2297
+ "license": "MIT"
2298
+ },
2299
+ "node_modules/node-releases": {
2300
+ "version": "2.0.21",
2301
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz",
2302
+ "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==",
2303
+ "dev": true,
2304
+ "license": "MIT"
2305
+ },
2306
+ "node_modules/optionator": {
2307
+ "version": "0.9.4",
2308
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
2309
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
2310
+ "dev": true,
2311
+ "license": "MIT",
2312
+ "dependencies": {
2313
+ "deep-is": "^0.1.3",
2314
+ "fast-levenshtein": "^2.0.6",
2315
+ "levn": "^0.4.1",
2316
+ "prelude-ls": "^1.2.1",
2317
+ "type-check": "^0.4.0",
2318
+ "word-wrap": "^1.2.5"
2319
+ },
2320
+ "engines": {
2321
+ "node": ">= 0.8.0"
2322
+ }
2323
+ },
2324
+ "node_modules/p-limit": {
2325
+ "version": "3.1.0",
2326
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2327
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2328
+ "dev": true,
2329
+ "license": "MIT",
2330
+ "dependencies": {
2331
+ "yocto-queue": "^0.1.0"
2332
+ },
2333
+ "engines": {
2334
+ "node": ">=10"
2335
+ },
2336
+ "funding": {
2337
+ "url": "https://github.com/sponsors/sindresorhus"
2338
+ }
2339
+ },
2340
+ "node_modules/p-locate": {
2341
+ "version": "5.0.0",
2342
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2343
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2344
+ "dev": true,
2345
+ "license": "MIT",
2346
+ "dependencies": {
2347
+ "p-limit": "^3.0.2"
2348
+ },
2349
+ "engines": {
2350
+ "node": ">=10"
2351
+ },
2352
+ "funding": {
2353
+ "url": "https://github.com/sponsors/sindresorhus"
2354
+ }
2355
+ },
2356
+ "node_modules/parent-module": {
2357
+ "version": "1.0.1",
2358
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2359
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2360
+ "dev": true,
2361
+ "license": "MIT",
2362
+ "dependencies": {
2363
+ "callsites": "^3.0.0"
2364
+ },
2365
+ "engines": {
2366
+ "node": ">=6"
2367
+ }
2368
+ },
2369
+ "node_modules/path-exists": {
2370
+ "version": "4.0.0",
2371
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2372
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2373
+ "dev": true,
2374
+ "license": "MIT",
2375
+ "engines": {
2376
+ "node": ">=8"
2377
+ }
2378
+ },
2379
+ "node_modules/path-key": {
2380
+ "version": "3.1.1",
2381
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2382
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2383
+ "dev": true,
2384
+ "license": "MIT",
2385
+ "engines": {
2386
+ "node": ">=8"
2387
+ }
2388
+ },
2389
+ "node_modules/picocolors": {
2390
+ "version": "1.1.1",
2391
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2392
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2393
+ "dev": true,
2394
+ "license": "ISC"
2395
+ },
2396
+ "node_modules/picomatch": {
2397
+ "version": "4.0.3",
2398
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
2399
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
2400
+ "dev": true,
2401
+ "license": "MIT",
2402
+ "engines": {
2403
+ "node": ">=12"
2404
+ },
2405
+ "funding": {
2406
+ "url": "https://github.com/sponsors/jonschlinkert"
2407
+ }
2408
+ },
2409
+ "node_modules/postcss": {
2410
+ "version": "8.5.6",
2411
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
2412
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
2413
+ "dev": true,
2414
+ "funding": [
2415
+ {
2416
+ "type": "opencollective",
2417
+ "url": "https://opencollective.com/postcss/"
2418
+ },
2419
+ {
2420
+ "type": "tidelift",
2421
+ "url": "https://tidelift.com/funding/github/npm/postcss"
2422
+ },
2423
+ {
2424
+ "type": "github",
2425
+ "url": "https://github.com/sponsors/ai"
2426
+ }
2427
+ ],
2428
+ "license": "MIT",
2429
+ "dependencies": {
2430
+ "nanoid": "^3.3.11",
2431
+ "picocolors": "^1.1.1",
2432
+ "source-map-js": "^1.2.1"
2433
+ },
2434
+ "engines": {
2435
+ "node": "^10 || ^12 || >=14"
2436
+ }
2437
+ },
2438
+ "node_modules/prelude-ls": {
2439
+ "version": "1.2.1",
2440
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2441
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2442
+ "dev": true,
2443
+ "license": "MIT",
2444
+ "engines": {
2445
+ "node": ">= 0.8.0"
2446
+ }
2447
+ },
2448
+ "node_modules/punycode": {
2449
+ "version": "2.3.1",
2450
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
2451
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
2452
+ "dev": true,
2453
+ "license": "MIT",
2454
+ "engines": {
2455
+ "node": ">=6"
2456
+ }
2457
+ },
2458
+ "node_modules/react": {
2459
+ "version": "19.1.1",
2460
+ "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
2461
+ "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==",
2462
+ "license": "MIT",
2463
+ "engines": {
2464
+ "node": ">=0.10.0"
2465
+ }
2466
+ },
2467
+ "node_modules/react-dom": {
2468
+ "version": "19.1.1",
2469
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz",
2470
+ "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==",
2471
+ "license": "MIT",
2472
+ "dependencies": {
2473
+ "scheduler": "^0.26.0"
2474
+ },
2475
+ "peerDependencies": {
2476
+ "react": "^19.1.1"
2477
+ }
2478
+ },
2479
+ "node_modules/react-refresh": {
2480
+ "version": "0.17.0",
2481
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
2482
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2483
+ "dev": true,
2484
+ "license": "MIT",
2485
+ "engines": {
2486
+ "node": ">=0.10.0"
2487
+ }
2488
+ },
2489
+ "node_modules/resolve-from": {
2490
+ "version": "4.0.0",
2491
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2492
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2493
+ "dev": true,
2494
+ "license": "MIT",
2495
+ "engines": {
2496
+ "node": ">=4"
2497
+ }
2498
+ },
2499
+ "node_modules/rollup": {
2500
+ "version": "4.50.2",
2501
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.2.tgz",
2502
+ "integrity": "sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==",
2503
+ "dev": true,
2504
+ "license": "MIT",
2505
+ "dependencies": {
2506
+ "@types/estree": "1.0.8"
2507
+ },
2508
+ "bin": {
2509
+ "rollup": "dist/bin/rollup"
2510
+ },
2511
+ "engines": {
2512
+ "node": ">=18.0.0",
2513
+ "npm": ">=8.0.0"
2514
+ },
2515
+ "optionalDependencies": {
2516
+ "@rollup/rollup-android-arm-eabi": "4.50.2",
2517
+ "@rollup/rollup-android-arm64": "4.50.2",
2518
+ "@rollup/rollup-darwin-arm64": "4.50.2",
2519
+ "@rollup/rollup-darwin-x64": "4.50.2",
2520
+ "@rollup/rollup-freebsd-arm64": "4.50.2",
2521
+ "@rollup/rollup-freebsd-x64": "4.50.2",
2522
+ "@rollup/rollup-linux-arm-gnueabihf": "4.50.2",
2523
+ "@rollup/rollup-linux-arm-musleabihf": "4.50.2",
2524
+ "@rollup/rollup-linux-arm64-gnu": "4.50.2",
2525
+ "@rollup/rollup-linux-arm64-musl": "4.50.2",
2526
+ "@rollup/rollup-linux-loong64-gnu": "4.50.2",
2527
+ "@rollup/rollup-linux-ppc64-gnu": "4.50.2",
2528
+ "@rollup/rollup-linux-riscv64-gnu": "4.50.2",
2529
+ "@rollup/rollup-linux-riscv64-musl": "4.50.2",
2530
+ "@rollup/rollup-linux-s390x-gnu": "4.50.2",
2531
+ "@rollup/rollup-linux-x64-gnu": "4.50.2",
2532
+ "@rollup/rollup-linux-x64-musl": "4.50.2",
2533
+ "@rollup/rollup-openharmony-arm64": "4.50.2",
2534
+ "@rollup/rollup-win32-arm64-msvc": "4.50.2",
2535
+ "@rollup/rollup-win32-ia32-msvc": "4.50.2",
2536
+ "@rollup/rollup-win32-x64-msvc": "4.50.2",
2537
+ "fsevents": "~2.3.2"
2538
+ }
2539
+ },
2540
+ "node_modules/scheduler": {
2541
+ "version": "0.26.0",
2542
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
2543
+ "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
2544
+ "license": "MIT"
2545
+ },
2546
+ "node_modules/semver": {
2547
+ "version": "6.3.1",
2548
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
2549
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2550
+ "dev": true,
2551
+ "license": "ISC",
2552
+ "bin": {
2553
+ "semver": "bin/semver.js"
2554
+ }
2555
+ },
2556
+ "node_modules/shebang-command": {
2557
+ "version": "2.0.0",
2558
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2559
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2560
+ "dev": true,
2561
+ "license": "MIT",
2562
+ "dependencies": {
2563
+ "shebang-regex": "^3.0.0"
2564
+ },
2565
+ "engines": {
2566
+ "node": ">=8"
2567
+ }
2568
+ },
2569
+ "node_modules/shebang-regex": {
2570
+ "version": "3.0.0",
2571
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2572
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2573
+ "dev": true,
2574
+ "license": "MIT",
2575
+ "engines": {
2576
+ "node": ">=8"
2577
+ }
2578
+ },
2579
+ "node_modules/source-map-js": {
2580
+ "version": "1.2.1",
2581
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2582
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2583
+ "dev": true,
2584
+ "license": "BSD-3-Clause",
2585
+ "engines": {
2586
+ "node": ">=0.10.0"
2587
+ }
2588
+ },
2589
+ "node_modules/strip-json-comments": {
2590
+ "version": "3.1.1",
2591
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2592
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
2593
+ "dev": true,
2594
+ "license": "MIT",
2595
+ "engines": {
2596
+ "node": ">=8"
2597
+ },
2598
+ "funding": {
2599
+ "url": "https://github.com/sponsors/sindresorhus"
2600
+ }
2601
+ },
2602
+ "node_modules/supports-color": {
2603
+ "version": "7.2.0",
2604
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2605
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2606
+ "dev": true,
2607
+ "license": "MIT",
2608
+ "dependencies": {
2609
+ "has-flag": "^4.0.0"
2610
+ },
2611
+ "engines": {
2612
+ "node": ">=8"
2613
+ }
2614
+ },
2615
+ "node_modules/tinyglobby": {
2616
+ "version": "0.2.15",
2617
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
2618
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
2619
+ "dev": true,
2620
+ "license": "MIT",
2621
+ "dependencies": {
2622
+ "fdir": "^6.5.0",
2623
+ "picomatch": "^4.0.3"
2624
+ },
2625
+ "engines": {
2626
+ "node": ">=12.0.0"
2627
+ },
2628
+ "funding": {
2629
+ "url": "https://github.com/sponsors/SuperchupuDev"
2630
+ }
2631
+ },
2632
+ "node_modules/type-check": {
2633
+ "version": "0.4.0",
2634
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
2635
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
2636
+ "dev": true,
2637
+ "license": "MIT",
2638
+ "dependencies": {
2639
+ "prelude-ls": "^1.2.1"
2640
+ },
2641
+ "engines": {
2642
+ "node": ">= 0.8.0"
2643
+ }
2644
+ },
2645
+ "node_modules/update-browserslist-db": {
2646
+ "version": "1.1.3",
2647
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
2648
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
2649
+ "dev": true,
2650
+ "funding": [
2651
+ {
2652
+ "type": "opencollective",
2653
+ "url": "https://opencollective.com/browserslist"
2654
+ },
2655
+ {
2656
+ "type": "tidelift",
2657
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2658
+ },
2659
+ {
2660
+ "type": "github",
2661
+ "url": "https://github.com/sponsors/ai"
2662
+ }
2663
+ ],
2664
+ "license": "MIT",
2665
+ "dependencies": {
2666
+ "escalade": "^3.2.0",
2667
+ "picocolors": "^1.1.1"
2668
+ },
2669
+ "bin": {
2670
+ "update-browserslist-db": "cli.js"
2671
+ },
2672
+ "peerDependencies": {
2673
+ "browserslist": ">= 4.21.0"
2674
+ }
2675
+ },
2676
+ "node_modules/uri-js": {
2677
+ "version": "4.4.1",
2678
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2679
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2680
+ "dev": true,
2681
+ "license": "BSD-2-Clause",
2682
+ "dependencies": {
2683
+ "punycode": "^2.1.0"
2684
+ }
2685
+ },
2686
+ "node_modules/vite": {
2687
+ "version": "7.1.5",
2688
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz",
2689
+ "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==",
2690
+ "dev": true,
2691
+ "license": "MIT",
2692
+ "dependencies": {
2693
+ "esbuild": "^0.25.0",
2694
+ "fdir": "^6.5.0",
2695
+ "picomatch": "^4.0.3",
2696
+ "postcss": "^8.5.6",
2697
+ "rollup": "^4.43.0",
2698
+ "tinyglobby": "^0.2.15"
2699
+ },
2700
+ "bin": {
2701
+ "vite": "bin/vite.js"
2702
+ },
2703
+ "engines": {
2704
+ "node": "^20.19.0 || >=22.12.0"
2705
+ },
2706
+ "funding": {
2707
+ "url": "https://github.com/vitejs/vite?sponsor=1"
2708
+ },
2709
+ "optionalDependencies": {
2710
+ "fsevents": "~2.3.3"
2711
+ },
2712
+ "peerDependencies": {
2713
+ "@types/node": "^20.19.0 || >=22.12.0",
2714
+ "jiti": ">=1.21.0",
2715
+ "less": "^4.0.0",
2716
+ "lightningcss": "^1.21.0",
2717
+ "sass": "^1.70.0",
2718
+ "sass-embedded": "^1.70.0",
2719
+ "stylus": ">=0.54.8",
2720
+ "sugarss": "^5.0.0",
2721
+ "terser": "^5.16.0",
2722
+ "tsx": "^4.8.1",
2723
+ "yaml": "^2.4.2"
2724
+ },
2725
+ "peerDependenciesMeta": {
2726
+ "@types/node": {
2727
+ "optional": true
2728
+ },
2729
+ "jiti": {
2730
+ "optional": true
2731
+ },
2732
+ "less": {
2733
+ "optional": true
2734
+ },
2735
+ "lightningcss": {
2736
+ "optional": true
2737
+ },
2738
+ "sass": {
2739
+ "optional": true
2740
+ },
2741
+ "sass-embedded": {
2742
+ "optional": true
2743
+ },
2744
+ "stylus": {
2745
+ "optional": true
2746
+ },
2747
+ "sugarss": {
2748
+ "optional": true
2749
+ },
2750
+ "terser": {
2751
+ "optional": true
2752
+ },
2753
+ "tsx": {
2754
+ "optional": true
2755
+ },
2756
+ "yaml": {
2757
+ "optional": true
2758
+ }
2759
+ }
2760
+ },
2761
+ "node_modules/which": {
2762
+ "version": "2.0.2",
2763
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2764
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2765
+ "dev": true,
2766
+ "license": "ISC",
2767
+ "dependencies": {
2768
+ "isexe": "^2.0.0"
2769
+ },
2770
+ "bin": {
2771
+ "node-which": "bin/node-which"
2772
+ },
2773
+ "engines": {
2774
+ "node": ">= 8"
2775
+ }
2776
+ },
2777
+ "node_modules/word-wrap": {
2778
+ "version": "1.2.5",
2779
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
2780
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
2781
+ "dev": true,
2782
+ "license": "MIT",
2783
+ "engines": {
2784
+ "node": ">=0.10.0"
2785
+ }
2786
+ },
2787
+ "node_modules/yallist": {
2788
+ "version": "3.1.1",
2789
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2790
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2791
+ "dev": true,
2792
+ "license": "ISC"
2793
+ },
2794
+ "node_modules/yocto-queue": {
2795
+ "version": "0.1.0",
2796
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2797
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2798
+ "dev": true,
2799
+ "license": "MIT",
2800
+ "engines": {
2801
+ "node": ">=10"
2802
+ },
2803
+ "funding": {
2804
+ "url": "https://github.com/sponsors/sindresorhus"
2805
+ }
2806
+ }
2807
+ }
2808
+ }
frontend/package.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "frontend",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview"
11
+ },
12
+ "dependencies": {
13
+ "react": "^19.1.1",
14
+ "react-dom": "^19.1.1"
15
+ },
16
+ "devDependencies": {
17
+ "@eslint/js": "^9.33.0",
18
+ "@types/react": "^19.1.10",
19
+ "@types/react-dom": "^19.1.7",
20
+ "@vitejs/plugin-react": "^5.0.0",
21
+ "eslint": "^9.33.0",
22
+ "eslint-plugin-react-hooks": "^5.2.0",
23
+ "eslint-plugin-react-refresh": "^0.4.20",
24
+ "globals": "^16.3.0",
25
+ "vite": "^7.1.2"
26
+ }
27
+ }
frontend/public/vite.svg ADDED
frontend/src/App.css ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #root {
2
+ max-width: 1280px;
3
+ margin: 0 auto;
4
+ padding: 2rem;
5
+ text-align: center;
6
+ }
7
+
8
+ .logo {
9
+ height: 6em;
10
+ padding: 1.5em;
11
+ will-change: filter;
12
+ transition: filter 300ms;
13
+ }
14
+ .logo:hover {
15
+ filter: drop-shadow(0 0 2em #646cffaa);
16
+ }
17
+ .logo.react:hover {
18
+ filter: drop-shadow(0 0 2em #61dafbaa);
19
+ }
20
+
21
+ @keyframes logo-spin {
22
+ from {
23
+ transform: rotate(0deg);
24
+ }
25
+ to {
26
+ transform: rotate(360deg);
27
+ }
28
+ }
29
+
30
+ @media (prefers-reduced-motion: no-preference) {
31
+ a:nth-of-type(2) .logo {
32
+ animation: logo-spin infinite 20s linear;
33
+ }
34
+ }
35
+
36
+ .card {
37
+ padding: 2em;
38
+ }
39
+
40
+ .read-the-docs {
41
+ color: #888;
42
+ }
frontend/src/App.jsx ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useState } from "react";
2
+ import reactLogo from './assets/react.svg'
3
+ import viteLogo from '/vite.svg'
4
+ import './App.css'
5
+
6
+
7
+
8
+ function App() {
9
+ const [message, setMessage] = useState("");
10
+
11
+ useEffect(() => {
12
+ fetch("http://localhost:8000/api/hello") // backend dev server
13
+ .then(res => res.json())
14
+ .then(data => setMessage(data.Hello))
15
+ .catch(err => console.error(err));
16
+ }, []);
17
+
18
+ return (
19
+ <div style={{ textAlign: "center", marginTop: "2rem" }}>
20
+ <h1>React + FastAPI</h1>
21
+ <p>Message from backend: {message}</p>
22
+ </div>
23
+ );
24
+ }
25
+
26
+ export default App;
frontend/src/assets/react.svg ADDED
frontend/src/index.css ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
3
+ line-height: 1.5;
4
+ font-weight: 400;
5
+
6
+ color-scheme: light dark;
7
+ color: rgba(255, 255, 255, 0.87);
8
+ background-color: #242424;
9
+
10
+ font-synthesis: none;
11
+ text-rendering: optimizeLegibility;
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
15
+
16
+ a {
17
+ font-weight: 500;
18
+ color: #646cff;
19
+ text-decoration: inherit;
20
+ }
21
+ a:hover {
22
+ color: #535bf2;
23
+ }
24
+
25
+ body {
26
+ margin: 0;
27
+ display: flex;
28
+ place-items: center;
29
+ min-width: 320px;
30
+ min-height: 100vh;
31
+ }
32
+
33
+ h1 {
34
+ font-size: 3.2em;
35
+ line-height: 1.1;
36
+ }
37
+
38
+ button {
39
+ border-radius: 8px;
40
+ border: 1px solid transparent;
41
+ padding: 0.6em 1.2em;
42
+ font-size: 1em;
43
+ font-weight: 500;
44
+ font-family: inherit;
45
+ background-color: #1a1a1a;
46
+ cursor: pointer;
47
+ transition: border-color 0.25s;
48
+ }
49
+ button:hover {
50
+ border-color: #646cff;
51
+ }
52
+ button:focus,
53
+ button:focus-visible {
54
+ outline: 4px auto -webkit-focus-ring-color;
55
+ }
56
+
57
+ @media (prefers-color-scheme: light) {
58
+ :root {
59
+ color: #213547;
60
+ background-color: #ffffff;
61
+ }
62
+ a:hover {
63
+ color: #747bff;
64
+ }
65
+ button {
66
+ background-color: #f9f9f9;
67
+ }
68
+ }
frontend/src/main.jsx ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import { StrictMode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import './index.css'
4
+ import App from './App.jsx'
5
+
6
+ createRoot(document.getElementById('root')).render(
7
+ <StrictMode>
8
+ <App />
9
+ </StrictMode>,
10
+ )
frontend/vite.config.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ })