diff --git a/miner_objects/dashboard.py b/miner_objects/dashboard.py
index b61bccbb4..31e7245ad 100644
--- a/miner_objects/dashboard.py
+++ b/miner_objects/dashboard.py
@@ -67,18 +67,9 @@ def get_next_unused_port(self, start, stop):
for port in range(start, stop):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
if s.connect_ex(("127.0.0.1", port)) != 0:
- self.write_env_file(port)
return port # found a free port
raise OSError(f"All ports from [{start}, {stop}) in use. Aborting dashboard.")
- def write_env_file(self, api_port):
- """
- write the miner_url to the miner_dashboard .env file
- """
- env_file_path = MinerConfig.BASE_DIR + "/miner_objects/miner_dashboard/.env"
- with open(env_file_path, 'w') as env_file:
- env_file.write(f'VITE_MINER_URL=http://127.0.0.1:{api_port}\n')
-
def run(self):
uvicorn.run(self.app, host="127.0.0.1", port=self.port)
diff --git a/miner_objects/miner_dashboard/.gitignore b/miner_objects/miner_dashboard/.gitignore
deleted file mode 100644
index a547bf36d..000000000
--- a/miner_objects/miner_dashboard/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/miner_objects/miner_dashboard/eslint.config.js b/miner_objects/miner_dashboard/eslint.config.js
deleted file mode 100644
index 092408a9f..000000000
--- a/miner_objects/miner_dashboard/eslint.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import js from '@eslint/js'
-import globals from 'globals'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import tseslint from 'typescript-eslint'
-
-export default tseslint.config(
- { ignores: ['dist'] },
- {
- extends: [js.configs.recommended, ...tseslint.configs.recommended],
- files: ['**/*.{ts,tsx}'],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
- },
- },
-)
diff --git a/miner_objects/miner_dashboard/index.html b/miner_objects/miner_dashboard/index.html
deleted file mode 100644
index 3f20f6a10..000000000
--- a/miner_objects/miner_dashboard/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
- PTN Miner Dashboard
-
-
-
-
-
-
diff --git a/miner_objects/miner_dashboard/package.json b/miner_objects/miner_dashboard/package.json
deleted file mode 100644
index 586a96c09..000000000
--- a/miner_objects/miner_dashboard/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "name": "local-dashboard",
- "private": true,
- "version": "0.0.0",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "tsc -b && vite build",
- "lint": "eslint .",
- "preview": "vite preview"
- },
- "dependencies": {
- "@fontsource-variable/dm-sans": "^5.0.7",
- "@fontsource/adlam-display": "^5.0.6",
- "@fontsource/open-sans": "^5.0.29",
- "@mantine/core": "^7.12.2",
- "@mantine/hooks": "^7.12.2",
- "@radix-ui/react-progress": "^1.1.0",
- "@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-tooltip": "^1.1.2",
- "@tabler/icons-react": "^3.14.0",
- "@tanstack/react-table": "^8.20.5",
- "axios": "^1.7.5",
- "boring-avatars": "^1.10.2",
- "chroma-js": "^3.0.0",
- "clsx": "^2.1.1",
- "dayjs": "^1.11.13",
- "decimal.js": "^10.4.3",
- "lodash": "^4.17.21",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "recharts": "^2.12.7",
- "tailwind-merge": "^2.5.2",
- "tailwind-variants": "^0.2.1"
- },
- "devDependencies": {
- "@eslint/js": "^9.9.0",
- "@tailwindcss/forms": "^0.5.9",
- "@types/chroma-js": "^2.4.4",
- "@types/lodash": "^4.17.7",
- "@types/react": "^18.3.3",
- "@types/react-dom": "^18.3.0",
- "@vitejs/plugin-react": "^4.3.1",
- "autoprefixer": "^10.4.20",
- "eslint": "^9.9.0",
- "eslint-plugin-react-hooks": "^5.1.0-rc.0",
- "eslint-plugin-react-refresh": "^0.4.9",
- "globals": "^15.9.0",
- "postcss": "^8.4.41",
- "postcss-preset-mantine": "^1.17.0",
- "postcss-simple-vars": "^7.0.1",
- "tailwindcss": "^3.4.11",
- "typescript": "^5.5.3",
- "typescript-eslint": "^8.0.1",
- "vite": "^5.4.1"
- }
-}
diff --git a/miner_objects/miner_dashboard/pnpm-lock.yaml b/miner_objects/miner_dashboard/pnpm-lock.yaml
deleted file mode 100644
index ddc8d27d1..000000000
--- a/miner_objects/miner_dashboard/pnpm-lock.yaml
+++ /dev/null
@@ -1,3788 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- '@fontsource-variable/dm-sans':
- specifier: ^5.0.7
- version: 5.1.1
- '@fontsource/adlam-display':
- specifier: ^5.0.6
- version: 5.1.1
- '@fontsource/open-sans':
- specifier: ^5.0.29
- version: 5.1.1
- '@mantine/core':
- specifier: ^7.12.2
- version: 7.16.1(@mantine/hooks@7.16.1(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks':
- specifier: ^7.12.2
- version: 7.16.1(react@18.3.1)
- '@radix-ui/react-progress':
- specifier: ^1.1.0
- version: 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot':
- specifier: ^1.1.0
- version: 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-tooltip':
- specifier: ^1.1.2
- version: 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@tabler/icons-react':
- specifier: ^3.14.0
- version: 3.28.1(react@18.3.1)
- '@tanstack/react-table':
- specifier: ^8.20.5
- version: 8.20.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- axios:
- specifier: ^1.7.5
- version: 1.7.9
- boring-avatars:
- specifier: ^1.10.2
- version: 1.11.2
- chroma-js:
- specifier: ^3.0.0
- version: 3.1.2
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- dayjs:
- specifier: ^1.11.13
- version: 1.11.13
- decimal.js:
- specifier: ^10.4.3
- version: 10.4.3
- lodash:
- specifier: ^4.17.21
- version: 4.17.21
- react:
- specifier: ^18.3.1
- version: 18.3.1
- react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
- recharts:
- specifier: ^2.12.7
- version: 2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- tailwind-merge:
- specifier: ^2.5.2
- version: 2.6.0
- tailwind-variants:
- specifier: ^0.2.1
- version: 0.2.1(tailwindcss@3.4.17)
- devDependencies:
- '@eslint/js':
- specifier: ^9.9.0
- version: 9.18.0
- '@tailwindcss/forms':
- specifier: ^0.5.9
- version: 0.5.10(tailwindcss@3.4.17)
- '@types/chroma-js':
- specifier: ^2.4.4
- version: 2.4.5
- '@types/lodash':
- specifier: ^4.17.7
- version: 4.17.14
- '@types/react':
- specifier: ^18.3.3
- version: 18.3.18
- '@types/react-dom':
- specifier: ^18.3.0
- version: 18.3.5(@types/react@18.3.18)
- '@vitejs/plugin-react':
- specifier: ^4.3.1
- version: 4.3.4(vite@5.4.14(sugarss@4.0.1(postcss@8.5.1)))
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.5.1)
- eslint:
- specifier: ^9.9.0
- version: 9.18.0(jiti@1.21.7)
- eslint-plugin-react-hooks:
- specifier: ^5.1.0-rc.0
- version: 5.1.0(eslint@9.18.0(jiti@1.21.7))
- eslint-plugin-react-refresh:
- specifier: ^0.4.9
- version: 0.4.18(eslint@9.18.0(jiti@1.21.7))
- globals:
- specifier: ^15.9.0
- version: 15.14.0
- postcss:
- specifier: ^8.4.41
- version: 8.5.1
- postcss-preset-mantine:
- specifier: ^1.17.0
- version: 1.17.0(postcss@8.5.1)
- postcss-simple-vars:
- specifier: ^7.0.1
- version: 7.0.1(postcss@8.5.1)
- tailwindcss:
- specifier: ^3.4.11
- version: 3.4.17
- typescript:
- specifier: ^5.5.3
- version: 5.7.3
- typescript-eslint:
- specifier: ^8.0.1
- version: 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- vite:
- specifier: ^5.4.1
- version: 5.4.14(sugarss@4.0.1(postcss@8.5.1))
-
-packages:
-
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
- '@babel/code-frame@7.26.2':
- resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/compat-data@7.26.5':
- resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.26.0':
- resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.26.5':
- resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-compilation-targets@7.26.5':
- resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.25.9':
- resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-transforms@7.26.0':
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-plugin-utils@7.26.5':
- resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-option@7.25.9':
- resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helpers@7.26.0':
- resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.26.5':
- resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/plugin-transform-react-jsx-self@7.25.9':
- resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-jsx-source@7.25.9':
- resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/runtime@7.26.0':
- resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/template@7.25.9':
- resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/traverse@7.26.5':
- resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.26.5':
- resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==}
- engines: {node: '>=6.9.0'}
-
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/config-array@0.19.1':
- resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.10.0':
- resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/eslintrc@3.2.0':
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/js@9.18.0':
- resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/object-schema@2.1.5':
- resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/plugin-kit@0.2.5':
- resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@floating-ui/core@1.6.9':
- resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
-
- '@floating-ui/dom@1.6.13':
- resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
-
- '@floating-ui/react-dom@2.1.2':
- resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
-
- '@floating-ui/react@0.26.28':
- resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
-
- '@floating-ui/utils@0.2.9':
- resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
-
- '@fontsource-variable/dm-sans@5.1.1':
- resolution: {integrity: sha512-oOroo1rQurZR8giuNLF64W+EqvZt6prsdJS6gGCAZgD/AMIHKmL6RzVjznGb8ZGXCeiJpVWO/xd4DPgMqr7ayQ==}
-
- '@fontsource/adlam-display@5.1.1':
- resolution: {integrity: sha512-KqL3bRif8nbP6PMm5k+r4FB0EW50ceVl/bLi1VJTB3U6mBZIo+h+Ez5tEr+HI/oClbhbhlhmhodqfDoqAFB5fg==}
-
- '@fontsource/open-sans@5.1.1':
- resolution: {integrity: sha512-Wfio5om0XH24ZUu6FfW4r50e4xLdoLzvd8midtqUFT2unniyWQj6GJ05RW1YQsHp4Sug3i+agFBIxEmYQzUHSg==}
-
- '@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
-
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
-
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
- '@humanwhocodes/retry@0.4.1':
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
- engines: {node: '>=18.18'}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.8':
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@mantine/core@7.16.1':
- resolution: {integrity: sha512-HYdjCeMU3dUJbc1CrAAedeAASTG5kVyL/qsiuYh5b7BoG0qsRtK8WJxBpUjW6VqtJpUaE94c5tlBJ8MgAmPHTQ==}
- peerDependencies:
- '@mantine/hooks': 7.16.1
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
-
- '@mantine/hooks@7.16.1':
- resolution: {integrity: sha512-+hER8E4d2ByfQ/DKIXGM3Euxb7IH5ArSjzzzoF21sG095iXIryOCob22ZanrmiXCoAzKKdxqgVj4Di67ikLYSQ==}
- peerDependencies:
- react: ^18.x || ^19.x
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@radix-ui/primitive@1.1.1':
- resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
-
- '@radix-ui/react-arrow@1.1.1':
- resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-compose-refs@1.1.1':
- resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-context@1.1.1':
- resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-dismissable-layer@1.1.3':
- resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-id@1.1.0':
- resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-popper@1.2.1':
- resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-portal@1.1.3':
- resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-presence@1.1.2':
- resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-primitive@2.0.1':
- resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-progress@1.1.1':
- resolution: {integrity: sha512-6diOawA84f/eMxFHcWut0aE1C2kyE9dOyCTQOMRR2C/qPiXz/X0SaiA/RLbapQaXUCmy0/hLMf9meSccD1N0pA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-slot@1.1.1':
- resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-tooltip@1.1.6':
- resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-use-callback-ref@1.1.0':
- resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-controllable-state@1.1.0':
- resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-escape-keydown@1.1.0':
- resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-layout-effect@1.1.0':
- resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-rect@1.1.0':
- resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-size@1.1.0':
- resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-visually-hidden@1.1.1':
- resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/rect@1.1.0':
- resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
-
- '@rollup/rollup-android-arm-eabi@4.31.0':
- resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.31.0':
- resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.31.0':
- resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.31.0':
- resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-freebsd-arm64@4.31.0':
- resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==}
- cpu: [arm64]
- os: [freebsd]
-
- '@rollup/rollup-freebsd-x64@4.31.0':
- resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==}
- cpu: [x64]
- os: [freebsd]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
- resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
- resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
- resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-musl@4.31.0':
- resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
- resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==}
- cpu: [loong64]
- os: [linux]
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
- resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
- resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==}
- cpu: [riscv64]
- os: [linux]
-
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
- resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==}
- cpu: [s390x]
- os: [linux]
-
- '@rollup/rollup-linux-x64-gnu@4.31.0':
- resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-linux-x64-musl@4.31.0':
- resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
- resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
- resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.31.0':
- resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==}
- cpu: [x64]
- os: [win32]
-
- '@tabler/icons-react@3.28.1':
- resolution: {integrity: sha512-KNBpA2kbxr3/2YK5swt7b/kd/xpDP1FHYZCxDFIw54tX8slELRFEf95VMxsccQHZeIcUbdoojmUUuYSbt/sM5Q==}
- peerDependencies:
- react: '>= 16'
-
- '@tabler/icons@3.28.1':
- resolution: {integrity: sha512-h7nqKEvFooLtFxhMOC1/2eiV+KRXhBUuDUUJrJlt6Ft6tuMw2eU/9GLQgrTk41DNmIEzp/LI83K9J9UUU8YBYQ==}
-
- '@tailwindcss/forms@0.5.10':
- resolution: {integrity: sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1'
-
- '@tanstack/react-table@8.20.6':
- resolution: {integrity: sha512-w0jluT718MrOKthRcr2xsjqzx+oEM7B7s/XXyfs19ll++hlId3fjTm+B2zrR3ijpANpkzBAr15j1XGVOMxpggQ==}
- engines: {node: '>=12'}
- peerDependencies:
- react: '>=16.8'
- react-dom: '>=16.8'
-
- '@tanstack/table-core@8.20.5':
- resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==}
- engines: {node: '>=12'}
-
- '@types/babel__core@7.20.5':
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
- '@types/babel__generator@7.6.8':
- resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
-
- '@types/babel__template@7.4.4':
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
- '@types/babel__traverse@7.20.6':
- resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
-
- '@types/chroma-js@2.4.5':
- resolution: {integrity: sha512-6ISjhzJViaPCy2q2e6PgK+8HcHQDQ0V2LDiKmYAh+jJlLqDa6HbwDh0wOevHY0kHHUx0iZwjSRbVD47WOUx5EQ==}
-
- '@types/d3-array@3.2.1':
- resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
-
- '@types/d3-color@3.1.3':
- resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
-
- '@types/d3-ease@3.0.2':
- resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
-
- '@types/d3-interpolate@3.0.4':
- resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
-
- '@types/d3-path@3.1.0':
- resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
-
- '@types/d3-scale@4.0.8':
- resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
-
- '@types/d3-shape@3.1.7':
- resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
-
- '@types/d3-time@3.0.4':
- resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
-
- '@types/d3-timer@3.0.2':
- resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
-
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
-
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
- '@types/lodash@4.17.14':
- resolution: {integrity: sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==}
-
- '@types/prop-types@15.7.14':
- resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
-
- '@types/react-dom@18.3.5':
- resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
- peerDependencies:
- '@types/react': ^18.0.0
-
- '@types/react@18.3.18':
- resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
-
- '@typescript-eslint/eslint-plugin@8.21.0':
- resolution: {integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/parser@8.21.0':
- resolution: {integrity: sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/scope-manager@8.21.0':
- resolution: {integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/type-utils@8.21.0':
- resolution: {integrity: sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/types@8.21.0':
- resolution: {integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@8.21.0':
- resolution: {integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/utils@8.21.0':
- resolution: {integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/visitor-keys@8.21.0':
- resolution: {integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@vitejs/plugin-react@4.3.4':
- resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0
-
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
-
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
- axios@1.7.9:
- resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- boring-avatars@1.11.2:
- resolution: {integrity: sha512-3+wkwPeObwS4R37FGXMYViqc4iTrIRj5yzfX9Qy4mnpZ26sX41dGMhsAgmKks1r/uufY1pl4vpgzMWHYfJRb2A==}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.24.4:
- resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- caniuse-lite@1.0.30001695:
- resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==}
-
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- chroma-js@3.1.2:
- resolution: {integrity: sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==}
-
- clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
-
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- d3-array@3.2.4:
- resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
- engines: {node: '>=12'}
-
- d3-color@3.1.0:
- resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
- engines: {node: '>=12'}
-
- d3-ease@3.0.1:
- resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
- engines: {node: '>=12'}
-
- d3-format@3.1.0:
- resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
- engines: {node: '>=12'}
-
- d3-interpolate@3.0.1:
- resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
- engines: {node: '>=12'}
-
- d3-path@3.1.0:
- resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
- engines: {node: '>=12'}
-
- d3-scale@4.0.2:
- resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
- engines: {node: '>=12'}
-
- d3-shape@3.2.0:
- resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
- engines: {node: '>=12'}
-
- d3-time-format@4.1.0:
- resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
- engines: {node: '>=12'}
-
- d3-time@3.1.0:
- resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
- engines: {node: '>=12'}
-
- d3-timer@3.0.1:
- resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
- engines: {node: '>=12'}
-
- dayjs@1.11.13:
- resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
-
- debug@4.4.0:
- resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decimal.js-light@2.5.1:
- resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==}
-
- decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
-
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
-
- delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
-
- detect-node-es@1.1.0:
- resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
-
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.5.84:
- resolution: {integrity: sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-plugin-react-hooks@5.1.0:
- resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
-
- eslint-plugin-react-refresh@0.4.18:
- resolution: {integrity: sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==}
- peerDependencies:
- eslint: '>=8.40'
-
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint@9.18.0:
- resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
- espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
- eventemitter3@4.0.7:
- resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
-
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fast-equals@5.2.2:
- resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==}
- engines: {node: '>=6.0.0'}
-
- fast-glob@3.3.3:
- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
- engines: {node: '>=8.6.0'}
-
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
- fastq@1.18.0:
- resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
-
- file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
-
- flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
-
- flatted@3.3.2:
- resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
-
- follow-redirects@1.15.9:
- resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
-
- form-data@4.0.1:
- resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
- engines: {node: '>= 6'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
-
- get-nonce@1.0.1:
- resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
- engines: {node: '>=6'}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
-
- globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
-
- globals@15.14.0:
- resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
- engines: {node: '>=18'}
-
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
-
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
-
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
- internmap@2.0.3:
- resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
- engines: {node: '>=12'}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
- engines: {node: '>= 0.4'}
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
-
- jsesc@3.1.0:
- resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
- engines: {node: '>=6'}
- hasBin: true
-
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
-
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
- json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
-
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
-
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
-
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
- mini-svg-data-uri@1.4.4:
- resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
- hasBin: true
-
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
- node-releases@2.0.19:
- resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
-
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
-
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
-
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
-
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-mixins@9.0.4:
- resolution: {integrity: sha512-XVq5jwQJDRu5M1XGkdpgASqLk37OqkH4JCFDXl/Dn7janOJjCTEKL+36cnRVy7bMtoBzALfO7bV7nTIsFnUWLA==}
- engines: {node: '>=14.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-preset-mantine@1.17.0:
- resolution: {integrity: sha512-ji1PMDBUf2Vsx/HE5faMSs1+ff6qE6YRulTr4Ja+6HD3gop8rSMTCYdpN7KrdsEg079kfBKkO/PaKhG9uR0zwQ==}
- peerDependencies:
- postcss: '>=8.0.0'
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-simple-vars@7.0.1:
- resolution: {integrity: sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==}
- engines: {node: '>=14.0'}
- peerDependencies:
- postcss: ^8.2.1
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.5.1:
- resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
- engines: {node: ^10 || ^12 || >=14}
-
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
-
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
-
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
-
- react-is@18.3.1:
- resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
-
- react-number-format@5.4.3:
- resolution: {integrity: sha512-VCY5hFg/soBighAoGcdE+GagkJq0230qN6jcS5sp8wQX1qy1fYN/RX7/BXkrs0oyzzwqR8/+eSUrqXbGeywdUQ==}
- peerDependencies:
- react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- react-refresh@0.14.2:
- resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
- engines: {node: '>=0.10.0'}
-
- react-remove-scroll-bar@2.3.8:
- resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- react-remove-scroll@2.6.2:
- resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- react-smooth@4.0.4:
- resolution: {integrity: sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- react-style-singleton@2.2.3:
- resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- react-textarea-autosize@8.5.6:
- resolution: {integrity: sha512-aT3ioKXMa8f6zHYGebhbdMD2L00tKeRX1zuVuDx9YQK/JLLRSaSxq3ugECEmUB9z2kvk6bFSIoRHLkkUv0RJiw==}
- engines: {node: '>=10'}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- react-transition-group@4.4.5:
- resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
- peerDependencies:
- react: '>=16.6.0'
- react-dom: '>=16.6.0'
-
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
-
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- recharts-scale@0.4.5:
- resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
-
- recharts@2.15.0:
- resolution: {integrity: sha512-cIvMxDfpAmqAmVgc4yb7pgm/O1tmmkl/CjrvXuW+62/+7jj/iF9Ykm+hb/UJt42TREHMyd3gb+pkgoa2MxgDIw==}
- engines: {node: '>=14'}
- peerDependencies:
- react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
- resolve@1.22.10:
- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
- engines: {node: '>= 0.4'}
- hasBin: true
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rollup@4.31.0:
- resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
-
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
-
- semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
- hasBin: true
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
- sugarss@4.0.1:
- resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.3.3
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- tabbable@6.2.0:
- resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
-
- tailwind-merge@2.6.0:
- resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
-
- tailwind-variants@0.2.1:
- resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==}
- engines: {node: '>=16.x', pnpm: '>=7.x'}
- peerDependencies:
- tailwindcss: '*'
-
- tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
- tiny-invariant@1.3.3:
- resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- ts-api-utils@2.0.0:
- resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
-
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
-
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- type-fest@4.33.0:
- resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==}
- engines: {node: '>=16'}
-
- typescript-eslint@8.21.0:
- resolution: {integrity: sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- update-browserslist-db@1.1.2:
- resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
-
- use-callback-ref@1.3.3:
- resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-composed-ref@1.4.0:
- resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-isomorphic-layout-effect@1.2.0:
- resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-latest@1.3.0:
- resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-sidecar@1.1.3:
- resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- victory-vendor@36.9.2:
- resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==}
-
- vite@5.4.14:
- resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
-
- yaml@2.7.0:
- resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
- engines: {node: '>= 14'}
- hasBin: true
-
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
-
-snapshots:
-
- '@alloc/quick-lru@5.2.0': {}
-
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
-
- '@babel/code-frame@7.26.2':
- dependencies:
- '@babel/helper-validator-identifier': 7.25.9
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
- '@babel/compat-data@7.26.5': {}
-
- '@babel/core@7.26.0':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.5
- '@babel/helper-compilation-targets': 7.26.5
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
- '@babel/helpers': 7.26.0
- '@babel/parser': 7.26.5
- '@babel/template': 7.25.9
- '@babel/traverse': 7.26.5
- '@babel/types': 7.26.5
- convert-source-map: 2.0.0
- debug: 4.4.0
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/generator@7.26.5':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.1.0
-
- '@babel/helper-compilation-targets@7.26.5':
- dependencies:
- '@babel/compat-data': 7.26.5
- '@babel/helper-validator-option': 7.25.9
- browserslist: 4.24.4
- lru-cache: 5.1.1
- semver: 6.3.1
-
- '@babel/helper-module-imports@7.25.9':
- dependencies:
- '@babel/traverse': 7.26.5
- '@babel/types': 7.26.5
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.5
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-plugin-utils@7.26.5': {}
-
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/helper-validator-option@7.25.9': {}
-
- '@babel/helpers@7.26.0':
- dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.26.5
-
- '@babel/parser@7.26.5':
- dependencies:
- '@babel/types': 7.26.5
-
- '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.26.5
-
- '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.26.5
-
- '@babel/runtime@7.26.0':
- dependencies:
- regenerator-runtime: 0.14.1
-
- '@babel/template@7.25.9':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
-
- '@babel/traverse@7.26.5':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.5
- '@babel/parser': 7.26.5
- '@babel/template': 7.25.9
- '@babel/types': 7.26.5
- debug: 4.4.0
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
- '@babel/types@7.26.5':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- '@esbuild/aix-ppc64@0.21.5':
- optional: true
-
- '@esbuild/android-arm64@0.21.5':
- optional: true
-
- '@esbuild/android-arm@0.21.5':
- optional: true
-
- '@esbuild/android-x64@0.21.5':
- optional: true
-
- '@esbuild/darwin-arm64@0.21.5':
- optional: true
-
- '@esbuild/darwin-x64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-arm64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-x64@0.21.5':
- optional: true
-
- '@esbuild/linux-arm64@0.21.5':
- optional: true
-
- '@esbuild/linux-arm@0.21.5':
- optional: true
-
- '@esbuild/linux-ia32@0.21.5':
- optional: true
-
- '@esbuild/linux-loong64@0.21.5':
- optional: true
-
- '@esbuild/linux-mips64el@0.21.5':
- optional: true
-
- '@esbuild/linux-ppc64@0.21.5':
- optional: true
-
- '@esbuild/linux-riscv64@0.21.5':
- optional: true
-
- '@esbuild/linux-s390x@0.21.5':
- optional: true
-
- '@esbuild/linux-x64@0.21.5':
- optional: true
-
- '@esbuild/netbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/openbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/sunos-x64@0.21.5':
- optional: true
-
- '@esbuild/win32-arm64@0.21.5':
- optional: true
-
- '@esbuild/win32-ia32@0.21.5':
- optional: true
-
- '@esbuild/win32-x64@0.21.5':
- optional: true
-
- '@eslint-community/eslint-utils@4.4.1(eslint@9.18.0(jiti@1.21.7))':
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/regexpp@4.12.1': {}
-
- '@eslint/config-array@0.19.1':
- dependencies:
- '@eslint/object-schema': 2.1.5
- debug: 4.4.0
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/core@0.10.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.2.0':
- dependencies:
- ajv: 6.12.6
- debug: 4.4.0
- espree: 10.3.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@9.18.0': {}
-
- '@eslint/object-schema@2.1.5': {}
-
- '@eslint/plugin-kit@0.2.5':
- dependencies:
- '@eslint/core': 0.10.0
- levn: 0.4.1
-
- '@floating-ui/core@1.6.9':
- dependencies:
- '@floating-ui/utils': 0.2.9
-
- '@floating-ui/dom@1.6.13':
- dependencies:
- '@floating-ui/core': 1.6.9
- '@floating-ui/utils': 0.2.9
-
- '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/dom': 1.6.13
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@floating-ui/utils': 0.2.9
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- tabbable: 6.2.0
-
- '@floating-ui/utils@0.2.9': {}
-
- '@fontsource-variable/dm-sans@5.1.1': {}
-
- '@fontsource/adlam-display@5.1.1': {}
-
- '@fontsource/open-sans@5.1.1': {}
-
- '@humanfs/core@0.19.1': {}
-
- '@humanfs/node@0.16.6':
- dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/retry@0.3.1': {}
-
- '@humanwhocodes/retry@0.4.1': {}
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/gen-mapping@0.3.8':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@mantine/core@7.16.1(@mantine/hooks@7.16.1(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.16.1(react@18.3.1)
- clsx: 2.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-number-format: 5.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.3.1)
- react-textarea-autosize: 8.5.6(@types/react@18.3.18)(react@18.3.1)
- type-fest: 4.33.0
- transitivePeerDependencies:
- - '@types/react'
-
- '@mantine/hooks@7.16.1(react@18.3.1)':
- dependencies:
- react: 18.3.1
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.18.0
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@radix-ui/primitive@1.1.1': {}
-
- '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/rect': 1.1.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-progress@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-tooltip@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/rect': 1.1.0
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/rect@1.1.0': {}
-
- '@rollup/rollup-android-arm-eabi@4.31.0':
- optional: true
-
- '@rollup/rollup-android-arm64@4.31.0':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.31.0':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.31.0':
- optional: true
-
- '@rollup/rollup-freebsd-arm64@4.31.0':
- optional: true
-
- '@rollup/rollup-freebsd-x64@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.31.0':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.31.0':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.31.0':
- optional: true
-
- '@tabler/icons-react@3.28.1(react@18.3.1)':
- dependencies:
- '@tabler/icons': 3.28.1
- react: 18.3.1
-
- '@tabler/icons@3.28.1': {}
-
- '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17)':
- dependencies:
- mini-svg-data-uri: 1.4.4
- tailwindcss: 3.4.17
-
- '@tanstack/react-table@8.20.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@tanstack/table-core': 8.20.5
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- '@tanstack/table-core@8.20.5': {}
-
- '@types/babel__core@7.20.5':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
- '@types/babel__generator': 7.6.8
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.6
-
- '@types/babel__generator@7.6.8':
- dependencies:
- '@babel/types': 7.26.5
-
- '@types/babel__template@7.4.4':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
-
- '@types/babel__traverse@7.20.6':
- dependencies:
- '@babel/types': 7.26.5
-
- '@types/chroma-js@2.4.5': {}
-
- '@types/d3-array@3.2.1': {}
-
- '@types/d3-color@3.1.3': {}
-
- '@types/d3-ease@3.0.2': {}
-
- '@types/d3-interpolate@3.0.4':
- dependencies:
- '@types/d3-color': 3.1.3
-
- '@types/d3-path@3.1.0': {}
-
- '@types/d3-scale@4.0.8':
- dependencies:
- '@types/d3-time': 3.0.4
-
- '@types/d3-shape@3.1.7':
- dependencies:
- '@types/d3-path': 3.1.0
-
- '@types/d3-time@3.0.4': {}
-
- '@types/d3-timer@3.0.2': {}
-
- '@types/estree@1.0.6': {}
-
- '@types/json-schema@7.0.15': {}
-
- '@types/lodash@4.17.14': {}
-
- '@types/prop-types@15.7.14': {}
-
- '@types/react-dom@18.3.5(@types/react@18.3.18)':
- dependencies:
- '@types/react': 18.3.18
-
- '@types/react@18.3.18':
- dependencies:
- '@types/prop-types': 15.7.14
- csstype: 3.1.3
-
- '@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/scope-manager': 8.21.0
- '@typescript-eslint/type-utils': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 8.21.0
- eslint: 9.18.0(jiti@1.21.7)
- graphemer: 1.4.0
- ignore: 5.3.2
- natural-compare: 1.4.0
- ts-api-utils: 2.0.0(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.21.0
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 8.21.0
- debug: 4.4.0
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@8.21.0':
- dependencies:
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/visitor-keys': 8.21.0
-
- '@typescript-eslint/type-utils@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
- '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- debug: 4.4.0
- eslint: 9.18.0(jiti@1.21.7)
- ts-api-utils: 2.0.0(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@8.21.0': {}
-
- '@typescript-eslint/typescript-estree@8.21.0(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/visitor-keys': 8.21.0
- debug: 4.4.0
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 2.0.0(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
- '@typescript-eslint/scope-manager': 8.21.0
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@8.21.0':
- dependencies:
- '@typescript-eslint/types': 8.21.0
- eslint-visitor-keys: 4.2.0
-
- '@vitejs/plugin-react@4.3.4(vite@5.4.14(sugarss@4.0.1(postcss@8.5.1)))':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
- '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
- '@types/babel__core': 7.20.5
- react-refresh: 0.14.2
- vite: 5.4.14(sugarss@4.0.1(postcss@8.5.1))
- transitivePeerDependencies:
- - supports-color
-
- acorn-jsx@5.3.2(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
- acorn@8.14.0: {}
-
- ajv@6.12.6:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.1.0: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@6.2.1: {}
-
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@5.0.2: {}
-
- argparse@2.0.1: {}
-
- asynckit@0.4.0: {}
-
- autoprefixer@10.4.20(postcss@8.5.1):
- dependencies:
- browserslist: 4.24.4
- caniuse-lite: 1.0.30001695
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
-
- axios@1.7.9:
- dependencies:
- follow-redirects: 1.15.9
- form-data: 4.0.1
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
- balanced-match@1.0.2: {}
-
- binary-extensions@2.3.0: {}
-
- boring-avatars@1.11.2: {}
-
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- browserslist@4.24.4:
- dependencies:
- caniuse-lite: 1.0.30001695
- electron-to-chromium: 1.5.84
- node-releases: 2.0.19
- update-browserslist-db: 1.1.2(browserslist@4.24.4)
-
- callsites@3.1.0: {}
-
- camelcase-css@2.0.1: {}
-
- caniuse-lite@1.0.30001695: {}
-
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- chroma-js@3.1.2: {}
-
- clsx@2.1.1: {}
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
-
- commander@4.1.1: {}
-
- concat-map@0.0.1: {}
-
- convert-source-map@2.0.0: {}
-
- cross-spawn@7.0.6:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssesc@3.0.0: {}
-
- csstype@3.1.3: {}
-
- d3-array@3.2.4:
- dependencies:
- internmap: 2.0.3
-
- d3-color@3.1.0: {}
-
- d3-ease@3.0.1: {}
-
- d3-format@3.1.0: {}
-
- d3-interpolate@3.0.1:
- dependencies:
- d3-color: 3.1.0
-
- d3-path@3.1.0: {}
-
- d3-scale@4.0.2:
- dependencies:
- d3-array: 3.2.4
- d3-format: 3.1.0
- d3-interpolate: 3.0.1
- d3-time: 3.1.0
- d3-time-format: 4.1.0
-
- d3-shape@3.2.0:
- dependencies:
- d3-path: 3.1.0
-
- d3-time-format@4.1.0:
- dependencies:
- d3-time: 3.1.0
-
- d3-time@3.1.0:
- dependencies:
- d3-array: 3.2.4
-
- d3-timer@3.0.1: {}
-
- dayjs@1.11.13: {}
-
- debug@4.4.0:
- dependencies:
- ms: 2.1.3
-
- decimal.js-light@2.5.1: {}
-
- decimal.js@10.4.3: {}
-
- deep-is@0.1.4: {}
-
- delayed-stream@1.0.0: {}
-
- detect-node-es@1.1.0: {}
-
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
- dom-helpers@5.2.1:
- dependencies:
- '@babel/runtime': 7.26.0
- csstype: 3.1.3
-
- eastasianwidth@0.2.0: {}
-
- electron-to-chromium@1.5.84: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- esbuild@0.21.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
-
- escalade@3.2.0: {}
-
- escape-string-regexp@4.0.0: {}
-
- eslint-plugin-react-hooks@5.1.0(eslint@9.18.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
-
- eslint-plugin-react-refresh@0.4.18(eslint@9.18.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
-
- eslint-scope@8.2.0:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-visitor-keys@3.4.3: {}
-
- eslint-visitor-keys@4.2.0: {}
-
- eslint@9.18.0(jiti@1.21.7):
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
- '@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.1
- '@eslint/core': 0.10.0
- '@eslint/eslintrc': 3.2.0
- '@eslint/js': 9.18.0
- '@eslint/plugin-kit': 0.2.5
- '@humanfs/node': 0.16.6
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.0
- escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
- esquery: 1.6.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.2
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.4
- optionalDependencies:
- jiti: 1.21.7
- transitivePeerDependencies:
- - supports-color
-
- espree@10.3.0:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 4.2.0
-
- esquery@1.6.0:
- dependencies:
- estraverse: 5.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@5.3.0: {}
-
- esutils@2.0.3: {}
-
- eventemitter3@4.0.7: {}
-
- fast-deep-equal@3.1.3: {}
-
- fast-equals@5.2.2: {}
-
- fast-glob@3.3.3:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
- fastq@1.18.0:
- dependencies:
- reusify: 1.0.4
-
- file-entry-cache@8.0.0:
- dependencies:
- flat-cache: 4.0.1
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- find-up@5.0.0:
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
-
- flat-cache@4.0.1:
- dependencies:
- flatted: 3.3.2
- keyv: 4.5.4
-
- flatted@3.3.2: {}
-
- follow-redirects@1.15.9: {}
-
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- form-data@4.0.1:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
-
- fraction.js@4.3.7: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- gensync@1.0.0-beta.2: {}
-
- get-nonce@1.0.1: {}
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
- globals@11.12.0: {}
-
- globals@14.0.0: {}
-
- globals@15.14.0: {}
-
- graphemer@1.4.0: {}
-
- has-flag@4.0.0: {}
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- ignore@5.3.2: {}
-
- import-fresh@3.3.0:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- imurmurhash@0.1.4: {}
-
- internmap@2.0.3: {}
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-core-module@2.16.1:
- dependencies:
- hasown: 2.0.2
-
- is-extglob@2.1.1: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-number@7.0.0: {}
-
- isexe@2.0.0: {}
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- jiti@1.21.7: {}
-
- js-tokens@4.0.0: {}
-
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
-
- jsesc@3.1.0: {}
-
- json-buffer@3.0.1: {}
-
- json-schema-traverse@0.4.1: {}
-
- json-stable-stringify-without-jsonify@1.0.1: {}
-
- json5@2.2.3: {}
-
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
- lilconfig@3.1.3: {}
-
- lines-and-columns@1.2.4: {}
-
- locate-path@6.0.0:
- dependencies:
- p-locate: 5.0.0
-
- lodash.merge@4.6.2: {}
-
- lodash@4.17.21: {}
-
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
-
- lru-cache@10.4.3: {}
-
- lru-cache@5.1.1:
- dependencies:
- yallist: 3.1.1
-
- merge2@1.4.1: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mime-db@1.52.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- mini-svg-data-uri@1.4.4: {}
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minipass@7.1.2: {}
-
- ms@2.1.3: {}
-
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
- nanoid@3.3.8: {}
-
- natural-compare@1.4.0: {}
-
- node-releases@2.0.19: {}
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
- optionator@0.9.4:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.5
-
- p-limit@3.1.0:
- dependencies:
- yocto-queue: 0.1.0
-
- p-locate@5.0.0:
- dependencies:
- p-limit: 3.1.0
-
- package-json-from-dist@1.0.1: {}
-
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
- path-exists@4.0.0: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- pify@2.3.0: {}
-
- pirates@4.0.6: {}
-
- postcss-import@15.1.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
- postcss-js@4.0.1(postcss@8.5.1):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.5.1
-
- postcss-load-config@4.0.2(postcss@8.5.1):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.7.0
- optionalDependencies:
- postcss: 8.5.1
-
- postcss-mixins@9.0.4(postcss@8.5.1):
- dependencies:
- fast-glob: 3.3.3
- postcss: 8.5.1
- postcss-js: 4.0.1(postcss@8.5.1)
- postcss-simple-vars: 7.0.1(postcss@8.5.1)
- sugarss: 4.0.1(postcss@8.5.1)
-
- postcss-nested@6.2.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-selector-parser: 6.1.2
-
- postcss-preset-mantine@1.17.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-mixins: 9.0.4(postcss@8.5.1)
- postcss-nested: 6.2.0(postcss@8.5.1)
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-simple-vars@7.0.1(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.5.1:
- dependencies:
- nanoid: 3.3.8
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- prelude-ls@1.2.1: {}
-
- prop-types@15.8.1:
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
-
- proxy-from-env@1.1.0: {}
-
- punycode@2.3.1: {}
-
- queue-microtask@1.2.3: {}
-
- react-dom@18.3.1(react@18.3.1):
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
-
- react-is@16.13.1: {}
-
- react-is@18.3.1: {}
-
- react-number-format@5.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- react-refresh@0.14.2: {}
-
- react-remove-scroll-bar@2.3.8(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1)
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- react-remove-scroll@2.6.2(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.3.1)
- react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1)
- tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@18.3.18)(react@18.3.1)
- use-sidecar: 1.1.3(@types/react@18.3.18)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
-
- react-smooth@4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- fast-equals: 5.2.2
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-
- react-style-singleton@2.2.3(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- get-nonce: 1.0.1
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- react-textarea-autosize@8.5.6(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- '@babel/runtime': 7.26.0
- react: 18.3.1
- use-composed-ref: 1.4.0(@types/react@18.3.18)(react@18.3.1)
- use-latest: 1.3.0(@types/react@18.3.18)(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
-
- react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@babel/runtime': 7.26.0
- dom-helpers: 5.2.1
- loose-envify: 1.4.0
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- react@18.3.1:
- dependencies:
- loose-envify: 1.4.0
-
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- recharts-scale@0.4.5:
- dependencies:
- decimal.js-light: 2.5.1
-
- recharts@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- clsx: 2.1.1
- eventemitter3: 4.0.7
- lodash: 4.17.21
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-is: 18.3.1
- react-smooth: 4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- recharts-scale: 0.4.5
- tiny-invariant: 1.3.3
- victory-vendor: 36.9.2
-
- regenerator-runtime@0.14.1: {}
-
- resolve-from@4.0.0: {}
-
- resolve@1.22.10:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- reusify@1.0.4: {}
-
- rollup@4.31.0:
- dependencies:
- '@types/estree': 1.0.6
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.31.0
- '@rollup/rollup-android-arm64': 4.31.0
- '@rollup/rollup-darwin-arm64': 4.31.0
- '@rollup/rollup-darwin-x64': 4.31.0
- '@rollup/rollup-freebsd-arm64': 4.31.0
- '@rollup/rollup-freebsd-x64': 4.31.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.31.0
- '@rollup/rollup-linux-arm-musleabihf': 4.31.0
- '@rollup/rollup-linux-arm64-gnu': 4.31.0
- '@rollup/rollup-linux-arm64-musl': 4.31.0
- '@rollup/rollup-linux-loongarch64-gnu': 4.31.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0
- '@rollup/rollup-linux-riscv64-gnu': 4.31.0
- '@rollup/rollup-linux-s390x-gnu': 4.31.0
- '@rollup/rollup-linux-x64-gnu': 4.31.0
- '@rollup/rollup-linux-x64-musl': 4.31.0
- '@rollup/rollup-win32-arm64-msvc': 4.31.0
- '@rollup/rollup-win32-ia32-msvc': 4.31.0
- '@rollup/rollup-win32-x64-msvc': 4.31.0
- fsevents: 2.3.3
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- scheduler@0.23.2:
- dependencies:
- loose-envify: 1.4.0
-
- semver@6.3.1: {}
-
- semver@7.6.3: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@4.1.0: {}
-
- source-map-js@1.2.1: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.1.0
-
- strip-json-comments@3.1.1: {}
-
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
-
- sugarss@4.0.1(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- tabbable@6.2.0: {}
-
- tailwind-merge@2.6.0: {}
-
- tailwind-variants@0.2.1(tailwindcss@3.4.17):
- dependencies:
- tailwind-merge: 2.6.0
- tailwindcss: 3.4.17
-
- tailwindcss@3.4.17:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-import: 15.1.0(postcss@8.5.1)
- postcss-js: 4.0.1(postcss@8.5.1)
- postcss-load-config: 4.0.2(postcss@8.5.1)
- postcss-nested: 6.2.0(postcss@8.5.1)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.10
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
-
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
-
- tiny-invariant@1.3.3: {}
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- ts-api-utils@2.0.0(typescript@5.7.3):
- dependencies:
- typescript: 5.7.3
-
- ts-interface-checker@0.1.13: {}
-
- tslib@2.8.1: {}
-
- type-check@0.4.0:
- dependencies:
- prelude-ls: 1.2.1
-
- type-fest@4.33.0: {}
-
- typescript-eslint@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/parser': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- typescript@5.7.3: {}
-
- update-browserslist-db@1.1.2(browserslist@4.24.4):
- dependencies:
- browserslist: 4.24.4
- escalade: 3.2.0
- picocolors: 1.1.1
-
- uri-js@4.4.1:
- dependencies:
- punycode: 2.3.1
-
- use-callback-ref@1.3.3(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- use-composed-ref@1.4.0(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- use-isomorphic-layout-effect@1.2.0(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- use-latest@1.3.0(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- react: 18.3.1
- use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.18)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
-
- use-sidecar@1.1.3(@types/react@18.3.18)(react@18.3.1):
- dependencies:
- detect-node-es: 1.1.0
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- util-deprecate@1.0.2: {}
-
- victory-vendor@36.9.2:
- dependencies:
- '@types/d3-array': 3.2.1
- '@types/d3-ease': 3.0.2
- '@types/d3-interpolate': 3.0.4
- '@types/d3-scale': 4.0.8
- '@types/d3-shape': 3.1.7
- '@types/d3-time': 3.0.4
- '@types/d3-timer': 3.0.2
- d3-array: 3.2.4
- d3-ease: 3.0.1
- d3-interpolate: 3.0.1
- d3-scale: 4.0.2
- d3-shape: 3.2.0
- d3-time: 3.1.0
- d3-timer: 3.0.1
-
- vite@5.4.14(sugarss@4.0.1(postcss@8.5.1)):
- dependencies:
- esbuild: 0.21.5
- postcss: 8.5.1
- rollup: 4.31.0
- optionalDependencies:
- fsevents: 2.3.3
- sugarss: 4.0.1(postcss@8.5.1)
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- word-wrap@1.2.5: {}
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
- yallist@3.1.1: {}
-
- yaml@2.7.0: {}
-
- yocto-queue@0.1.0: {}
diff --git a/miner_objects/miner_dashboard/postcss.config.cjs b/miner_objects/miner_dashboard/postcss.config.cjs
deleted file mode 100644
index 3e22d510b..000000000
--- a/miner_objects/miner_dashboard/postcss.config.cjs
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
- plugins: {
- 'postcss-preset-mantine': {},
- 'postcss-simple-vars': {
- variables: {
- 'mantine-breakpoint-xs': '36em',
- 'mantine-breakpoint-sm': '48em',
- 'mantine-breakpoint-md': '62em',
- 'mantine-breakpoint-lg': '75em',
- 'mantine-breakpoint-xl': '88em',
- },
- },
- },
-};
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/postcss.config.js b/miner_objects/miner_dashboard/postcss.config.js
deleted file mode 100644
index 2e7af2b7f..000000000
--- a/miner_objects/miner_dashboard/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/miner_objects/miner_dashboard/public/vite.svg b/miner_objects/miner_dashboard/public/vite.svg
deleted file mode 100644
index e7b8dfb1b..000000000
--- a/miner_objects/miner_dashboard/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/assets/react.svg b/miner_objects/miner_dashboard/src/assets/react.svg
deleted file mode 100644
index 6c87de9bb..000000000
--- a/miner_objects/miner_dashboard/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/App/App.css b/miner_objects/miner_dashboard/src/components/App/App.css
deleted file mode 100644
index ce4433257..000000000
--- a/miner_objects/miner_dashboard/src/components/App/App.css
+++ /dev/null
@@ -1,3 +0,0 @@
-#root {
- width: 100%;
-}
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/App/App.tsx b/miner_objects/miner_dashboard/src/components/App/App.tsx
deleted file mode 100644
index d2de346aa..000000000
--- a/miner_objects/miner_dashboard/src/components/App/App.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-import { useState, useEffect } from "react";
-import { AppShell, Center, Loader } from "@mantine/core";
-import { useDisclosure } from "@mantine/hooks";
-
-import { MinerData } from "../../types";
-import { getMinerData } from "../../lib";
-
-import { ErrorBoundary } from "../ErrorBoundary";
-import { ErrorFallback } from "../ErrorFallback";
-import { AppHeader } from "../AppHeader";
-import { Main } from "../Main";
-
-import "./App.css";
-import { isEmpty } from "lodash";
-
-export const App = () => {
- const [opened, { toggle }] = useDisclosure();
-
- const [data, setData] = useState(null);
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState(null);
-
- useEffect(() => {
- const fetchData = async () => {
- setLoading(true);
-
- try {
- const minerData = await getMinerData();
-
- setData(minerData);
- } catch (error: unknown) {
- if (error instanceof Error) {
- setError(error.message);
- throw new Error(error.message);
- } else {
- setError("An unknown error occurred"); // Optional: Handle non-Error objects
- }
- } finally {
- setLoading(false);
- }
- };
-
- fetchData();
- }, []);
-
- if (loading) {
- return (
-
-
-
- );
- }
-
- if (isEmpty(data?.positions) || isEmpty(data?.statistics.data)) {
- return No data available;
- }
-
- return (
- }
- >
-
-
-
-
-
- Navbar
-
-
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/App/index.ts b/miner_objects/miner_dashboard/src/components/App/index.ts
deleted file mode 100644
index 946de733b..000000000
--- a/miner_objects/miner_dashboard/src/components/App/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { App } from "./App";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/AppHeader/AppHeader.tsx b/miner_objects/miner_dashboard/src/components/AppHeader/AppHeader.tsx
deleted file mode 100644
index cae3fa6d6..000000000
--- a/miner_objects/miner_dashboard/src/components/AppHeader/AppHeader.tsx
+++ /dev/null
@@ -1,77 +0,0 @@
-import {
- Anchor,
- Container,
- Group,
- Burger,
- Title,
- Stack,
- Badge,
-} from "@mantine/core";
-import Avatar from "boring-avatars";
-
-import { isInChallengePeriod, shortenAddress } from "../../utils";
-
-import { Copy } from "../Copy";
-
-const url = (uid: string) => `https://x.taostats.io/account/${uid}`;
-
-export const AppHeader = ({
- opened,
- toggle,
- data,
-}: {
- opened: boolean,
- toggle: () => void,
- data: any,
-}) => {
- const { challengeperiod, hotkey } = data.data[0];
- const isChallengePeriod = isInChallengePeriod(challengeperiod);
-
- return (
-
-
-
- taoshi
-
-
-
-
-
-
- {shortenAddress(hotkey, 10)}
-
-
-
-
- {isChallengePeriod && (
-
-
- In Challenge Period
-
-
- )}
-
-
-
-
-
-
-
-
-
- );
-};
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/AppHeader/index.ts b/miner_objects/miner_dashboard/src/components/AppHeader/index.ts
deleted file mode 100644
index 210783f98..000000000
--- a/miner_objects/miner_dashboard/src/components/AppHeader/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { AppHeader } from "./AppHeader";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Challenges/Challenges.tsx b/miner_objects/miner_dashboard/src/components/Challenges/Challenges.tsx
deleted file mode 100644
index 1b01e5ae0..000000000
--- a/miner_objects/miner_dashboard/src/components/Challenges/Challenges.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Title } from "@mantine/core";
-import { isNil } from "lodash";
-import { Fragment } from "react";
-import { Statistics as StatisticsType } from "../../types";
-import { ScoreCard } from "../ScoreCard";
-
-interface ChallengesProps {
- statistics: StatisticsType;
-}
-
-export const Challenges = ({ statistics }: ChallengesProps) => {
- const { challengeperiod, scores } = statistics.data[0];
- const { status } = challengeperiod;
- const { CHALLENGE_PERIOD_PERCENTILE_THRESHOLD } = statistics.constants;
-
- // if anything is in challenge period show element
- const isInChallenge = status === "testing";
- if (!isInChallenge) return null;
-
- const { omega, calmar, return:returnScore, sharpe, sortino, statistical_confidence } = scores
-
- const scoreData = [
- { label: "Omega", score: omega },
- { label: "Sharpe Ratio", score: sharpe },
- { label: "Sortino", score: sortino },
- { label: "Statistical Confidence", score: statistical_confidence },
- { label: "Calmar", score: calmar },
- { label: "Return", score: returnScore },
- ];
-
- return (
-
- {isInChallenge && (
-
-
- Challenge Period
-
-
- {scoreData.map(({ label, score }) => {
- if (!isNil(score)) {
- return (
-
- );
- }
- return null;
- })}
-
-
- )}
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Challenges/index.ts b/miner_objects/miner_dashboard/src/components/Challenges/index.ts
deleted file mode 100644
index 21080aa16..000000000
--- a/miner_objects/miner_dashboard/src/components/Challenges/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Challenges } from "./Challenges";
diff --git a/miner_objects/miner_dashboard/src/components/Checkpoints/Checkpoints.tsx b/miner_objects/miner_dashboard/src/components/Checkpoints/Checkpoints.tsx
deleted file mode 100644
index 36762ccd9..000000000
--- a/miner_objects/miner_dashboard/src/components/Checkpoints/Checkpoints.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import {
- Box,
- Group,
- ThemeIcon,
- Title,
- Text,
- Tooltip,
- SimpleGrid,
-} from "@mantine/core";
-import { IconHelp } from "@tabler/icons-react";
-
-import { Statistics } from "../../types";
-
-import { StatCard } from "../StatCard";
-import { PenaltyCard } from "../PenaltyCard";
-
-interface CheckpointsProps {
- statistics: Statistics;
-}
-
-export const Checkpoints = ({ statistics }: CheckpointsProps) => {
- const { penalties, scores } = statistics.data[0];
-
- return (
-
-
-
- Scoring Metrics
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Penalty Multipliers
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Checkpoints/index.ts b/miner_objects/miner_dashboard/src/components/Checkpoints/index.ts
deleted file mode 100644
index 8a6f27ee9..000000000
--- a/miner_objects/miner_dashboard/src/components/Checkpoints/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Checkpoints } from "./Checkpoints";
diff --git a/miner_objects/miner_dashboard/src/components/Contribution/Contribution.tsx b/miner_objects/miner_dashboard/src/components/Contribution/Contribution.tsx
deleted file mode 100644
index 801f38c86..000000000
--- a/miner_objects/miner_dashboard/src/components/Contribution/Contribution.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-"use client";
-
-import { Card, Box, Title, Progress } from "@mantine/core";
-
-import { type Statistics } from "../../types";
-
-interface StatisticsProps {
- statistics: Statistics;
-}
-
-export function Contribution({ statistics }: StatisticsProps) {
- const { scores } = statistics.data[0];
- const {
- omega,
- calmar,
- sharpe,
- sortino,
- statistical_confidence,
- return:returnScore,
- } = scores;
-
- return (
-
-
- Miner Contribution
-
-
-
-
- Omega
-
-
- Calmar
-
-
- Sharpe
-
-
- Sortino
-
-
- Statistical Confidence
-
-
- Return
-
-
-
-
- );
-}
diff --git a/miner_objects/miner_dashboard/src/components/Contribution/index.ts b/miner_objects/miner_dashboard/src/components/Contribution/index.ts
deleted file mode 100644
index 9dd4fd869..000000000
--- a/miner_objects/miner_dashboard/src/components/Contribution/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Contribution } from "./Contribution";
diff --git a/miner_objects/miner_dashboard/src/components/Copy/Copy.tsx b/miner_objects/miner_dashboard/src/components/Copy/Copy.tsx
deleted file mode 100644
index d4b14dd72..000000000
--- a/miner_objects/miner_dashboard/src/components/Copy/Copy.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { CopyButton, Tooltip, ActionIcon, rem } from "@mantine/core";
-import { IconCheck, IconCopy } from "@tabler/icons-react";
-
-interface CopyProps {
- value: string;
-}
-
-export const Copy = ({ value }: CopyProps) => {
- return (
-
- {({ copied, copy }) => (
-
-
- {copied ? (
-
- ) : (
-
- )}
-
-
- )}
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Copy/index.ts b/miner_objects/miner_dashboard/src/components/Copy/index.ts
deleted file mode 100644
index a1b0985d0..000000000
--- a/miner_objects/miner_dashboard/src/components/Copy/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Copy } from "./Copy";
diff --git a/miner_objects/miner_dashboard/src/components/ErrorBoundary/ErrorBoundary.tsx b/miner_objects/miner_dashboard/src/components/ErrorBoundary/ErrorBoundary.tsx
deleted file mode 100644
index 590243492..000000000
--- a/miner_objects/miner_dashboard/src/components/ErrorBoundary/ErrorBoundary.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import React, { ReactNode } from "react";
-
-interface ErrorBoundaryProps {
- children: ReactNode;
- fallback?: ReactNode;
-}
-
-interface ErrorBoundaryState {
- hasError: boolean;
-}
-
-class ErrorBoundary extends React.Component {
- constructor(props: ErrorBoundaryProps) {
- super(props);
- this.state = { hasError: false };
- }
-
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- static getDerivedStateFromError(_: Error): ErrorBoundaryState {
- return { hasError: true };
- }
-
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {
- console.log("Error:", error, errorInfo);
- }
-
- render() {
- if (this.state.hasError) {
- return this.props.fallback || Something went wrong.
;
- }
-
- return this.props.children;
- }
-}
-
-export default ErrorBoundary;
diff --git a/miner_objects/miner_dashboard/src/components/ErrorBoundary/index.ts b/miner_objects/miner_dashboard/src/components/ErrorBoundary/index.ts
deleted file mode 100644
index 745096690..000000000
--- a/miner_objects/miner_dashboard/src/components/ErrorBoundary/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import ErrorBoundary from "./ErrorBoundary";
-
-export { ErrorBoundary };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/ErrorFallback/ErrorFallback.tsx b/miner_objects/miner_dashboard/src/components/ErrorFallback/ErrorFallback.tsx
deleted file mode 100644
index 2cb4668fa..000000000
--- a/miner_objects/miner_dashboard/src/components/ErrorFallback/ErrorFallback.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from "react";
-import { Center } from "@mantine/core";
-
-interface ErrorFallbackProps {
- error: Error;
-}
-
-export const ErrorFallback: React.FC = ({ error }) => {
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/ErrorFallback/index.ts b/miner_objects/miner_dashboard/src/components/ErrorFallback/index.ts
deleted file mode 100644
index 932f52645..000000000
--- a/miner_objects/miner_dashboard/src/components/ErrorFallback/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./ErrorFallback";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Main/Main.tsx b/miner_objects/miner_dashboard/src/components/Main/Main.tsx
deleted file mode 100644
index aefcd4cb4..000000000
--- a/miner_objects/miner_dashboard/src/components/Main/Main.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Container } from "@mantine/core";
-
-import { MinerData } from "../../types";
-import { Challenges } from "../Challenges";
-
-import { Checkpoints } from "../Checkpoints";
-import { Contribution } from "../Contribution";
-import { Statistics } from "../Statistics";
-import { OverviewGraph } from "../OverviewGraph";
-import { Positions } from "../Positions";
-
-interface MainProps {
- data: MinerData;
-}
-
-export const Main = ({ data }: MainProps) => {
- const { statistics, positions } = data;
- const { hotkey } = statistics.data[0];
-
- return (
-
-
-
-
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Main/index.ts b/miner_objects/miner_dashboard/src/components/Main/index.ts
deleted file mode 100644
index d3313a196..000000000
--- a/miner_objects/miner_dashboard/src/components/Main/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Main } from "./Main";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Margins/Margins.tsx b/miner_objects/miner_dashboard/src/components/Margins/Margins.tsx
deleted file mode 100644
index 588add706..000000000
--- a/miner_objects/miner_dashboard/src/components/Margins/Margins.tsx
+++ /dev/null
@@ -1,179 +0,0 @@
-import {useState} from "react";
-import {
- Box,
- Card,
- Title,
- Group,
- Checkbox,
- Tooltip,
- Text, ThemeIcon,
-} from "@mantine/core";
-import {IconHelp} from "@tabler/icons-react";
-import {
- Area,
- AreaChart,
- XAxis,
- YAxis,
- Tooltip as RechartsTooltip,
- Legend,
- CartesianGrid,
- ResponsiveContainer,
-} from "recharts";
-
-import {formatDate} from "../../utils";
-
-interface MarginsProps {
- miner: any;
-}
-
-const SCALES = {
- gl: {
- min: -8,
- max: 8,
- },
- delta: {
- min: -0.1,
- max: 0.1,
- },
-};
-
-export const Margins = ({miner}: MarginsProps) => {
- const {checkpoints} = miner;
- const [autoScale, setAutoScale] = useState({
- gl: false,
- delta: false,
- });
-
- const data = checkpoints.map((item: any) => ({
- margin: item.gain + item.loss,
- ...item,
- }));
-
- const handleAutoScale = (chartType: "gl" | "delta") => {
- setAutoScale((prevAutoScale) => ({
- ...prevAutoScale,
- [chartType]: !prevAutoScale[chartType],
- }));
- };
-
- const gradientOffset = () => {
- const dataMax = Math.max(...data.map((i: any) => i.margin));
- const dataMin = Math.min(...data.map((i: any) => i.margin));
-
- if (dataMax <= 0) {
- return 0;
- }
- if (dataMin >= 0) {
- return 1;
- }
-
- return dataMax / (dataMax - dataMin);
- };
-
- const off = gradientOffset();
-
- return (
-
-
-
-
- Captured Margins
-
-
-
-
-
-
- handleAutoScale("delta")}
- />
-
-
-
- formatDate(unixTime, "MM/DD/YY")}
- />
-
-
-
-
-
- );
-}
diff --git a/miner_objects/miner_dashboard/src/components/Margins/index.ts b/miner_objects/miner_dashboard/src/components/Margins/index.ts
deleted file mode 100644
index 8ebabc72a..000000000
--- a/miner_objects/miner_dashboard/src/components/Margins/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Margins } from "./Margins";
diff --git a/miner_objects/miner_dashboard/src/components/Orders/Orders.tsx b/miner_objects/miner_dashboard/src/components/Orders/Orders.tsx
deleted file mode 100644
index 90c3c0f45..000000000
--- a/miner_objects/miner_dashboard/src/components/Orders/Orders.tsx
+++ /dev/null
@@ -1,145 +0,0 @@
-import { Fragment } from "react";
-import { Table, Text, Box, Button } from "@mantine/core";
-import {
- createColumnHelper,
- flexRender,
- getCoreRowModel,
- useReactTable,
- getExpandedRowModel,
-} from "@tanstack/react-table";
-
-import { Order, Source } from "../../types";
-import { formatCurrency, formatDate } from "../../utils";
-
-import { Sources } from "../Sources";
-
-import styles from "./orders.module.css";
-
-interface ColumnData {
- leverage: number;
- order_type: string;
- processed_ms: number;
- price: number;
- price_sources: Source[];
-}
-
-const columnHelper = createColumnHelper();
-
-const columns = [
- columnHelper.accessor("leverage", {
- header: "Leverage",
- cell: (info) => (
-
- {Math.abs(info.getValue())}
-
- ),
- }),
- columnHelper.accessor("order_type", {
- header: "Order Type",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("processed_ms", {
- header: "Processed Time",
- cell: (info) => (
-
- {formatDate(info.getValue())}
-
- ),
- }),
- columnHelper.accessor("price", {
- header: "Price",
- cell: (info) => (
-
- {formatCurrency(info.getValue())}
-
- ),
- }),
- columnHelper.display({
- id: "expander",
- cell: ({ row }) => {
- if (row.original.price_sources.length === 0) {
- return null;
- }
-
- return (
-
-
-
- );
- },
- }),
-];
-
-interface OrdersProps {
- orders: Order[];
-}
-
-export const Orders = ({ orders }: OrdersProps) => {
- const table = useReactTable({
- initialState: {
- pagination: {
- pageIndex: 0,
- },
- },
- data: orders,
- columns,
- getCoreRowModel: getCoreRowModel(),
- getExpandedRowModel: getExpandedRowModel(),
- });
-
- return (
-
-
-
-
- {table.getHeaderGroups().map((headerGroup) => (
-
- {headerGroup.headers.map((header) => (
-
-
- {header.isPlaceholder
- ? null
- : flexRender(
- header.column.columnDef.header,
- header.getContext(),
- )}
-
-
- ))}
-
- ))}
-
-
- {table.getRowModel().rows.map((row) => (
-
-
- {row.getVisibleCells().map((cell) => (
-
- {flexRender(
- cell.column.columnDef.cell,
- cell.getContext(),
- )}
-
- ))}
-
- {row.getIsExpanded() && !!row.original.price_sources.length && (
-
- )}
-
- ))}
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Orders/index.ts b/miner_objects/miner_dashboard/src/components/Orders/index.ts
deleted file mode 100644
index 3ebe39676..000000000
--- a/miner_objects/miner_dashboard/src/components/Orders/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Orders } from "./Orders";
diff --git a/miner_objects/miner_dashboard/src/components/Orders/orders.module.css b/miner_objects/miner_dashboard/src/components/Orders/orders.module.css
deleted file mode 100644
index 94baa8632..000000000
--- a/miner_objects/miner_dashboard/src/components/Orders/orders.module.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.tr {
- width: 100%;
-}
-
-.td {
- padding: 0;
-}
-
-.table {
- width: 100%;
-}
diff --git a/miner_objects/miner_dashboard/src/components/OverviewGraph/OverviewGraph.tsx b/miner_objects/miner_dashboard/src/components/OverviewGraph/OverviewGraph.tsx
deleted file mode 100644
index d75674e39..000000000
--- a/miner_objects/miner_dashboard/src/components/OverviewGraph/OverviewGraph.tsx
+++ /dev/null
@@ -1,149 +0,0 @@
-import { useState } from "react";
-import { Box, Card, Title, Group, Text, Slider } from "@mantine/core";
-import { Statistics, Checkpoint } from "../../types";
-
-import { formatDate, toPercent } from "../../utils";
-
-import {
- ComposedChart,
- Area,
- Bar,
- XAxis,
- YAxis,
- CartesianGrid,
- Tooltip,
- Legend,
- ResponsiveContainer,
-} from "recharts";
-
-interface OverviewGraphProps {
- statistics: Statistics;
-}
-
-export function OverviewGraph({ statistics }: OverviewGraphProps) {
- const [value, setValue] = useState(0.5);
- const [max, setMax] = useState(0.5);
- const { checkpoints } = statistics.data[0];
-
- const data = checkpoints.map((item: Checkpoint) => {
- return {
- ...item,
- mdd: 1 - item.mdd, // drawdown is negative, so we need to invert it
- };
- });
-
- return (
-
-
-
- Overall Returns vs Drawdown
-
-
- Drawdown Scale
-
-
-
-
-
-
- formatDate(unixTime, "MM/DD/YY")}
- minTickGap={40}
- tickMargin={10}
- style={{
- fontSize: "0.7rem",
- fontFamily: "inherit",
- }}
- />
-
-
-
- toPercent(value, 0)}
- />
-
- formatDate(unixTime, "MM/DD/YY")}
- />
-
-
-
-
-
- );
-}
diff --git a/miner_objects/miner_dashboard/src/components/OverviewGraph/index.ts b/miner_objects/miner_dashboard/src/components/OverviewGraph/index.ts
deleted file mode 100644
index 2537fa68e..000000000
--- a/miner_objects/miner_dashboard/src/components/OverviewGraph/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./OverviewGraph";
diff --git a/miner_objects/miner_dashboard/src/components/PenaltyCard/PenaltyCard.tsx b/miner_objects/miner_dashboard/src/components/PenaltyCard/PenaltyCard.tsx
deleted file mode 100644
index db71fa4eb..000000000
--- a/miner_objects/miner_dashboard/src/components/PenaltyCard/PenaltyCard.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-"use client";
-
-import { Card, Group, Text, Tooltip, ThemeIcon, Box } from "@mantine/core";
-import { IconQuestionMark } from "@tabler/icons-react";
-
-import { toShortFloat } from "../../utils";
-
-interface PenaltiesGroup {
- drawdown_threshold: number;
- risk_profile: number;
- total: number;
-}
-
-interface PenaltyCardProps {
- title: string;
- penalties: PenaltiesGroup;
- tooltipText: string;
-}
-
-export const PenaltyCard = ({
- title,
- penalties,
- tooltipText,
-}: PenaltyCardProps) => {
- return (
-
-
-
- {title}
-
-
-
-
-
-
-
-
-
-
- Drawdown Threshold:{" "}
-
- {toShortFloat(penalties.drawdown_threshold)}
-
-
-
-
-
-
- Total:{" "}
-
- {toShortFloat(penalties.total)}
-
-
-
-
-
-
- Risk Profile:{" "}
-
- {toShortFloat(penalties.risk_profile)}
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/PenaltyCard/index.ts b/miner_objects/miner_dashboard/src/components/PenaltyCard/index.ts
deleted file mode 100644
index 25fe2e43c..000000000
--- a/miner_objects/miner_dashboard/src/components/PenaltyCard/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { PenaltyCard } from "./PenaltyCard";
diff --git a/miner_objects/miner_dashboard/src/components/Positions/Positions.tsx b/miner_objects/miner_dashboard/src/components/Positions/Positions.tsx
deleted file mode 100644
index d8b67318a..000000000
--- a/miner_objects/miner_dashboard/src/components/Positions/Positions.tsx
+++ /dev/null
@@ -1,161 +0,0 @@
-import { useState, Fragment } from "react";
-import { Text, Box, Button, Table, Title, Card } from "@mantine/core";
-import {
- createColumnHelper,
- flexRender,
- getCoreRowModel,
- useReactTable,
- getExpandedRowModel,
- getSortedRowModel,
- SortingState,
-} from "@tanstack/react-table";
-
-import { Position, Order, TradePair } from "../../types";
-import { formatDate, toNormalizePercent } from "../../utils";
-
-import { Orders } from "../Orders";
-
-interface ColumnData {
- trade_pair: TradePair[];
- position_type: string;
- open_ms: number;
- close_ms: number;
- return_at_close: number;
- orders: Order[]; // Adjust the type based on what 'Orders' expects
-}
-
-const columnHelper = createColumnHelper();
-
-const columns = [
- columnHelper.accessor("trade_pair", {
- header: "Trade Pair",
- cell: (info) => {
- return (
-
- {info.getValue()[1]}
-
- );
- },
- }),
- columnHelper.accessor("position_type", {
- header: "Position Type",
- cell: (info) => (
-
- {info.getValue()}
-
-
- ),
- }),
- columnHelper.accessor("open_ms", {
- header: "Open",
- cell: (info) => (
-
- {formatDate(info.getValue())}
-
-
- ),
- }),
- columnHelper.accessor("close_ms", {
- header: "Close",
- cell: (info) => (
-
- {formatDate(info.getValue())}
-
-
- ),
- }),
- columnHelper.accessor("return_at_close", {
- header: "Return",
- cell: (info) => (
-
- {toNormalizePercent(info.getValue())}
-
- ),
- }),
- columnHelper.display({
- id: "expander",
- cell: ({ row }) => (
-
-
-
- ),
- }),
-];
-
-interface PositionsProps {
- positions: Position[];
-}
-
-export const Positions = ({ positions }: PositionsProps) => {
- const [sorting] = useState([{ id: "open_ms", desc: false }]);
-
- const table = useReactTable({
- data: positions,
- columns,
- state: {
- sorting,
- },
- initialState: {
- pagination: {
- pageIndex: 0,
- },
- sorting,
- },
- getSortedRowModel: getSortedRowModel(),
- getCoreRowModel: getCoreRowModel(),
- getExpandedRowModel: getExpandedRowModel(),
- });
-
- return (
-
- Positions
-
-
-
-
-
-
- {table.getHeaderGroups().map((headerGroup) => (
-
- {headerGroup.headers.map((header) => (
-
-
- {header.isPlaceholder
- ? null
- : flexRender(
- header.column.columnDef.header,
- header.getContext(),
- )}
-
-
- ))}
-
- ))}
-
-
- {table.getRowModel().rows.map((row) => (
-
-
- {row.getVisibleCells().map((cell) => (
-
- {flexRender(
- cell.column.columnDef.cell,
- cell.getContext(),
- )}
-
- ))}
-
- {row.getIsExpanded() && }
-
- ))}
-
-
-
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Positions/index.ts b/miner_objects/miner_dashboard/src/components/Positions/index.ts
deleted file mode 100644
index c6474f2cb..000000000
--- a/miner_objects/miner_dashboard/src/components/Positions/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Positions } from "./Positions";
diff --git a/miner_objects/miner_dashboard/src/components/ScoreCard/ScoreCard.tsx b/miner_objects/miner_dashboard/src/components/ScoreCard/ScoreCard.tsx
deleted file mode 100644
index ec55883fc..000000000
--- a/miner_objects/miner_dashboard/src/components/ScoreCard/ScoreCard.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Card, Badge } from "@mantine/core";
-import { ProgressBar } from "../Tremor";
-
-interface ScoreCardProps {
- label: string;
- value: number;
- target: number;
- max?: number;
-}
-
-export const ScoreCard = ({ label, value, target, max=1.00 }: ScoreCardProps) => {
- return (
-
-
-
-
{label}
-
- {value.toFixed(2)}
-
- /{max.toFixed(2)}
-
-
-
-
= target ? "success" : "default"}
- value={value}
- max={max}
- />
-
- {value >= target ? (
- Passing
- ) : (
- Not Passing
- )}
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/ScoreCard/index.ts b/miner_objects/miner_dashboard/src/components/ScoreCard/index.ts
deleted file mode 100644
index 8bb96cc78..000000000
--- a/miner_objects/miner_dashboard/src/components/ScoreCard/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { ScoreCard } from "./ScoreCard.tsx";
diff --git a/miner_objects/miner_dashboard/src/components/Sources/Sources.tsx b/miner_objects/miner_dashboard/src/components/Sources/Sources.tsx
deleted file mode 100644
index 81e2bbc55..000000000
--- a/miner_objects/miner_dashboard/src/components/Sources/Sources.tsx
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Table, Text } from "@mantine/core";
-import {
- createColumnHelper,
- flexRender,
- getCoreRowModel,
- useReactTable,
- getSortedRowModel,
-} from "@tanstack/react-table";
-import { Source } from "../../types";
-
-import { formatDate } from "../../utils";
-
-import styles from "./sources.module.css";
-
-interface ColumnData {
- source: string;
- start_ms: number;
- high: number;
- low: number;
- timespan_ms: number;
- lag_ms: number;
- open: number;
- close: number;
-}
-
-const columnHelper = createColumnHelper();
-
-const columns = [
- columnHelper.accessor("source", {
- header: "Source",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("start_ms", {
- header: "Start",
- cell: (info) => (
-
- {formatDate(info.getValue())}
-
- ),
- }),
- columnHelper.accessor("high", {
- header: "High",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("low", {
- header: "Low",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("timespan_ms", {
- header: "Timespan (ms)",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("lag_ms", {
- header: "Lag (ms)",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("open", {
- header: "Open",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
- columnHelper.accessor("close", {
- header: "Close",
- cell: (info) => (
-
- {info.getValue()}
-
- ),
- }),
-];
-
-
-interface SourcesProps {
- sources: Source[];
-}
-
-
-export const Sources = ({ sources = [] }: SourcesProps) => {
- const table = useReactTable({
- data: sources,
- columns,
- getSortedRowModel: getSortedRowModel(),
- getCoreRowModel: getCoreRowModel(),
- });
-
- return (
-
-
-
-
- {table.getHeaderGroups().map((headerGroup) => (
-
- {headerGroup.headers.map((header) => (
-
-
- {header.isPlaceholder
- ? null
- : flexRender(
- header.column.columnDef.header,
- header.getContext(),
- )}
-
-
- ))}
-
- ))}
-
-
- {table.getRowModel().rows.map((row) => (
-
- {row.getVisibleCells().map((cell) => (
-
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
-
- ))}
-
- ))}
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Sources/index.ts b/miner_objects/miner_dashboard/src/components/Sources/index.ts
deleted file mode 100644
index 5e3a163f3..000000000
--- a/miner_objects/miner_dashboard/src/components/Sources/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Sources } from "./Sources.tsx";
diff --git a/miner_objects/miner_dashboard/src/components/Sources/sources.module.css b/miner_objects/miner_dashboard/src/components/Sources/sources.module.css
deleted file mode 100644
index 170364f1e..000000000
--- a/miner_objects/miner_dashboard/src/components/Sources/sources.module.css
+++ /dev/null
@@ -1,20 +0,0 @@
-.th {
- border-top: 1px dashed #e35f25;
- border-bottom: 1px dashed #e35f25;
-}
-
-.tr {
- width: 100%;
-}
-
-.tr:not(:last-child) {
- border-bottom: 1px dashed #e35f25;
-}
-
-.td {
- padding: 0;
-}
-
-.table {
- width: 100%;
-}
diff --git a/miner_objects/miner_dashboard/src/components/StatCard/StatCard.tsx b/miner_objects/miner_dashboard/src/components/StatCard/StatCard.tsx
deleted file mode 100644
index e2ff60b98..000000000
--- a/miner_objects/miner_dashboard/src/components/StatCard/StatCard.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Card, Group, Text, Tooltip, ThemeIcon, Box } from "@mantine/core";
-import { IconHelp } from "@tabler/icons-react";
-
-import { Score } from "../../types";
-
-type StatCardProps = {
- disabled?: boolean;
- title: string;
- item: Score | number; // Accept both Score and number
- isPercentage?: boolean;
- sigFigs?: number;
- tooltipText: string;
-};
-
-export const StatCard = ({
- disabled,
- title,
- item,
- isPercentage = false,
- sigFigs = 4,
- tooltipText,
-}: StatCardProps) => {
- const { value, rank, percentile } = item as Score;
-
- return (
-
-
-
- {title}
-
-
-
-
-
-
-
-
- {value !== undefined && value !== null && !isNaN(value)
- ? isPercentage
- ? `${(value * 100).toFixed(sigFigs)}%`
- : value.toFixed(sigFigs)
- : "N/A"}
-
-
-
-
- {rank !== null && (
-
-
- Rank
-
-
- {rank}
-
-
- )}
-
- {percentile !== null && (
-
-
- Percentile
-
-
- {(percentile * 100).toFixed(0)}%
-
-
- )}
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/StatCard/index.ts b/miner_objects/miner_dashboard/src/components/StatCard/index.ts
deleted file mode 100644
index ddfcd6ebe..000000000
--- a/miner_objects/miner_dashboard/src/components/StatCard/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { StatCard } from "./StatCard";
diff --git a/miner_objects/miner_dashboard/src/components/Statistics/Statistics.tsx b/miner_objects/miner_dashboard/src/components/Statistics/Statistics.tsx
deleted file mode 100644
index 8735d84e6..000000000
--- a/miner_objects/miner_dashboard/src/components/Statistics/Statistics.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-import { Card, Box, Text, Title, Group, SimpleGrid } from "@mantine/core";
-import {
- toHours,
- toPercent,
- toRemainingPercent,
- toShortFloat,
-} from "../../utils";
-
-import { Statistics as StatisticsType, Positions } from "../../types";
-
-interface StatisticsProps {
- statistics: StatisticsType;
- positions: Record;
-}
-
-export const Statistics = ({ statistics, positions }: StatisticsProps) => {
- const { weight, engagement, drawdowns, hotkey } = statistics.data[0];
-
- const positionData = positions[hotkey];
-
- return (
-
- Statistics
-
-
-
-
- Weight
-
-
-
-
- Rank
-
- {weight.rank}
-
-
-
-
- Percentile
-
- {toPercent(weight.percentile, 0)}
-
-
-
-
- Value
-
- {toShortFloat(weight.value, 3)}
-
-
-
-
-
-
- Drawdown
-
-
-
-
- Max Drawdown
-
- {toRemainingPercent(drawdowns.max_drawdown, 2)}
-
-
-
-
-
- Engagement
-
-
-
- Number of Closed Positions
-
- {engagement.n_positions}
-
-
-
- Total Recorded Closed Position Duration
-
- {toHours(engagement.checkpoint_durations)} hr
-
-
-
-
-
- Positions
-
-
-
-
- 30-Day Returns
-
-
- {toPercent(positionData.thirty_day_returns, 0)}
-
-
-
-
-
- All Time Returns
-
-
- {toPercent(positionData.all_time_returns, 0)}
-
-
-
-
-
- Total Number of Positions
-
- {positionData.n_positions}
-
-
-
-
- Percentage Profitable
-
- {toPercent(positionData.percentage_profitable, 0)}
-
-
-
-
- );
-};
diff --git a/miner_objects/miner_dashboard/src/components/Statistics/index.ts b/miner_objects/miner_dashboard/src/components/Statistics/index.ts
deleted file mode 100644
index 0cac62003..000000000
--- a/miner_objects/miner_dashboard/src/components/Statistics/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./Statistics";
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Badge/Badge.tsx b/miner_objects/miner_dashboard/src/components/Tremor/Badge/Badge.tsx
deleted file mode 100644
index dda96b02d..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Badge/Badge.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-// Tremor Badge [v0.0.1]
-
-import React from "react";
-import { tv, type VariantProps } from "tailwind-variants";
-
-import { cx } from "../../../utils";
-
-const badgeVariants = tv({
- base: cx(
- "inline-flex items-center gap-x-1 whitespace-nowrap rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset",
- ),
- variants: {
- variant: {
- default: [
- "bg-gray-50 text-gray-900 ring-gray-500/30",
- "dark:bg-gray-400/10 dark:text-gray-400 dark:ring-gray-400/30",
- ],
- neutral: [
- "bg-gray-50 text-gray-900 ring-gray-500/30",
- "dark:bg-gray-400/10 dark:text-gray-400 dark:ring-gray-400/20",
- ],
- success: [
- "bg-orange-50 text-orange-900 ring-orange-600/30",
- "dark:bg-orange-400/10 dark:text-orange-400 dark:ring-orange-400/20",
- ],
- error: [
- "bg-red-50 text-red-900 ring-red-600/20",
- "dark:bg-red-400/10 dark:text-red-400 dark:ring-red-400/20",
- ],
- warning: [
- "bg-yellow-50 text-yellow-900 ring-yellow-600/30",
- "dark:bg-yellow-400/10 dark:text-yellow-500 dark:ring-yellow-400/20",
- ],
- },
- },
- defaultVariants: {
- variant: "default",
- },
-});
-
-interface BadgeProps
- extends React.ComponentPropsWithoutRef<"span">,
- VariantProps {
-}
-
-const Badge = React.forwardRef(
- ({ className, variant, ...props }: BadgeProps, forwardedRef) => {
- return (
-
- );
- },
-);
-
-Badge.displayName = "Badge";
-
-export { Badge, badgeVariants, type BadgeProps };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Badge/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/Badge/index.ts
deleted file mode 100644
index fe56447ee..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Badge/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Badge } from "./Badge";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Card/Card.tsx b/miner_objects/miner_dashboard/src/components/Tremor/Card/Card.tsx
deleted file mode 100644
index f56e0a0a2..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Card/Card.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from "react";
-import { Slot } from "@radix-ui/react-slot";
-
-import { cx } from "../../../utils";
-
-interface CardProps extends React.ComponentPropsWithoutRef<"div"> {
- asChild?: boolean;
-}
-
-const Card = React.forwardRef(
- ({ className, asChild, ...props }, forwardedRef) => {
- const Component = asChild ? Slot : "div";
- return (
-
- );
- },
-);
-
-Card.displayName = "Card";
-
-export { Card, type CardProps };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Card/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/Card/index.ts
deleted file mode 100644
index 2cbbf2a99..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Card/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Card } from "./Card.tsx";
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/CategoryBar.tsx b/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/CategoryBar.tsx
deleted file mode 100644
index 8e8471ed8..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/CategoryBar.tsx
+++ /dev/null
@@ -1,216 +0,0 @@
-"use client";
-
-import React from "react";
-
-import { AvailableChartColors, AvailableChartColorsKeys, getColorClassName } from "../../../lib";
-import { cx } from "../../../utils";
-
-import { Tooltip } from "../Tooltip";
-
-const getMarkerBgColor = (
- marker: number | undefined,
- values: number[],
- colors: AvailableChartColorsKeys[],
-): string => {
- if (marker === undefined) return "";
-
- if (marker === 0) {
- for (let index = 0; index < values.length; index++) {
- if (values[index] > 0) {
- return getColorClassName(colors[index], "bg");
- }
- }
- }
-
- let prefixSum = 0;
- for (let index = 0; index < values.length; index++) {
- prefixSum += values[index];
- if (prefixSum >= marker) {
- return getColorClassName(colors[index], "bg");
- }
- }
-
- return getColorClassName(colors[values.length - 1], "bg");
-};
-
-const getPositionLeft = (
- value: number | undefined,
- maxValue: number,
-): number => (value ? (value / maxValue) * 100 : 0);
-
-const sumNumericArray = (arr: number[]) =>
- arr.reduce((prefixSum, num) => Number(prefixSum + num), 0);
-
-const BarLabels = ({ values }: { values: number[] }) => {
- const sumValues = React.useMemo(() => sumNumericArray(values), [values]);
-
- let prefixSum = 0;
- let sumConsecutiveHiddenLabels = 0;
-
- return (
-
-
0
- {values.map((widthPercentage, index) => {
- prefixSum += Number(widthPercentage);
-
- const showLabel =
- (widthPercentage >= 0.1 * sumValues ||
- sumConsecutiveHiddenLabels >= 0.09 * sumValues) &&
- sumValues - prefixSum >= 0.1 * sumValues &&
- prefixSum >= 0.1 * sumValues &&
- prefixSum < 0.9 * sumValues;
-
- sumConsecutiveHiddenLabels = showLabel
- ? 0
- : (sumConsecutiveHiddenLabels += widthPercentage);
-
- const widthPositionLeft = getPositionLeft(widthPercentage, sumValues);
-
- return (
-
-
- {prefixSum}
-
-
- );
- })}
-
- {sumValues}
-
-
- );
-};
-
-interface CategoryBarProps extends React.HTMLAttributes {
- values: number[];
- colors?: AvailableChartColorsKeys[];
- marker?: { value: number; tooltip?: string; showAnimation?: boolean };
- showLabels?: boolean;
-}
-
-const CategoryBar = React.forwardRef(
- (
- {
- values = [],
- colors = AvailableChartColors,
- marker,
- showLabels = true,
- className,
- ...props
- },
- forwardedRef,
- ) => {
- const markerBgColor = React.useMemo(
- () => getMarkerBgColor(marker?.value, values, colors),
- [marker, values, colors],
- );
-
- const maxValue = React.useMemo(() => sumNumericArray(values), [values]);
-
- const adjustedMarkerValue = React.useMemo(() => {
- if (marker === undefined) return undefined;
- if (marker.value < 0) return 0;
- if (marker.value > maxValue) return maxValue;
- return marker.value;
- }, [marker, maxValue]);
-
- const markerPositionLeft: number = React.useMemo(
- () => getPositionLeft(adjustedMarkerValue, maxValue),
- [adjustedMarkerValue, maxValue],
- );
-
- return (
-
- {showLabels ?
: null}
-
-
- {values.map((value, index) => {
- const barColor = colors[index] ?? "gray";
- const percentage = (value / maxValue) * 100;
- return (
-
- );
- })}
-
-
- {marker !== undefined ? (
-
- {marker.tooltip ? (
-
-
-
- ) : (
-
- )}
-
- ) : null}
-
-
- );
- },
-);
-
-CategoryBar.displayName = "CategoryBar";
-
-export { CategoryBar, type CategoryBarProps };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/index.ts
deleted file mode 100644
index 4e4a60ef7..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/CategoryBar/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { CategoryBar } from "./CategoryBar.tsx";
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/ProgressBar.tsx b/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/ProgressBar.tsx
deleted file mode 100644
index 6df044d22..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/ProgressBar.tsx
+++ /dev/null
@@ -1,168 +0,0 @@
-// Tremor ProgressBar [v0.0.2]
-
-import React from "react";
-import { tv, type VariantProps } from "tailwind-variants";
-import Decimal from "decimal.js";
-
-import { cx } from "../../../utils";
-
-import { Tooltip } from "../Tooltip";
-
-const progressBarVariants = tv({
- slots: {
- background: "",
- bar: "",
- tick: "",
- },
- variants: {
- variant: {
- default: {
- background: "bg-gray-200 dark:bg-gray-500/30",
- bar: "bg-gray-500 dark:bg-gray-500",
- tick: "bg-gray-500 dark:bg-gray-500",
- },
- neutral: {
- background: "bg-gray-200 dark:bg-gray-500/40",
- bar: "bg-gray-500 dark:bg-gray-500",
- tick: "bg-gray-500 dark:bg-gray-500",
- },
- warning: {
- background: "bg-yellow-200 dark:bg-yellow-500/30",
- bar: "bg-yellow-500 dark:bg-yellow-500",
- tick: "bg-yellow-500 dark:bg-yellow-500",
- },
- error: {
- background: "bg-red-200 dark:bg-red-500/30",
- bar: "bg-red-500 dark:bg-red-500",
- tick: "bg-red-500 dark:bg-red-500",
- },
- success: {
- background: "bg-orange-200 dark:bg-orange-500/30",
- bar: "bg-orange-500 dark:bg-orange-500",
- tick: "bg-orange-500 dark:bg-orange-500",
- },
- },
- },
- defaultVariants: {
- variant: "default",
- },
-});
-
-interface ProgressBarProps
- extends React.HTMLProps,
- VariantProps {
- value?: number;
- max?: number;
- min?: number;
- showAnimation?: boolean;
- label?: string;
-}
-
-const ProgressBar = React.forwardRef(
- (
- {
- value = 0,
- max = 100,
- label,
- showAnimation = false,
- variant,
- className,
- ...props
- }: ProgressBarProps,
- forwardedRef,
- ) => {
- const { background, bar, tick } = progressBarVariants({ variant });
- let progressWidth: Decimal;
-
- const decimalValue = new Decimal(value); // Convert value to Decimal
- const decimalMax = new Decimal(max); // Convert max (target) to Decimal
-
- if (decimalValue.greaterThan(decimalMax)) {
- // Case 1: When the current value needs to decrease to hit the target (max)
- progressWidth = decimalValue.minus(decimalMax).div(decimalValue).times(100); // Inverse progress calculation
- } else {
- // Case 2: When the current value needs to increase to hit the target (max)
- progressWidth = decimalValue.div(decimalMax).times(100); // Normal progress calculation
- }
-
- // Ensure progressWidth is capped at 100% to avoid overflow
- progressWidth = Decimal.min(progressWidth, 100);
-
- // Format the progress width with 2 decimal places
- const formattedProgressWidth = progressWidth.toFixed(2);
-
- return (
-
-
- {label ? (
-
- {label}
-
- ) : null}
-
- );
- },
-);
-
-ProgressBar.displayName = "ProgressBar";
-
-export { ProgressBar, progressBarVariants, type ProgressBarProps };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/index.ts
deleted file mode 100644
index 0c301e437..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/ProgressBar/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { ProgressBar } from "./ProgressBar";
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/Tooltip.tsx b/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/Tooltip.tsx
deleted file mode 100644
index e22cb12f5..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/Tooltip.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-"use client";
-
-import React from "react";
-import * as TooltipPrimitives from "@radix-ui/react-tooltip";
-
-import { cx } from "../../../utils";
-
-interface TooltipProps
- extends Omit,
- Pick<
- TooltipPrimitives.TooltipProps,
- "open" | "defaultOpen" | "onOpenChange" | "delayDuration"
- > {
- content: React.ReactNode;
- onClick?: React.MouseEventHandler;
- side?: "bottom" | "left" | "top" | "right";
- showArrow?: boolean;
- triggerAsChild?: boolean;
-}
-
-const Tooltip = React.forwardRef<
- React.ElementRef,
- TooltipProps
->(
- (
- {
- children,
- className,
- content,
- delayDuration,
- defaultOpen,
- open,
- onClick,
- onOpenChange,
- showArrow = true,
- side,
- sideOffset = 10,
- triggerAsChild = false,
- ...props
- }: TooltipProps,
- forwardedRef,
- ) => {
- return (
-
-
-
- {children}
-
-
-
- {content}
- {showArrow ? (
-
- ) : null}
-
-
-
-
- );
- },
-);
-
-Tooltip.displayName = "Tooltip";
-
-export { Tooltip, type TooltipProps };
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/index.ts
deleted file mode 100644
index 1b921fd37..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/Tooltip/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Tooltip } from "./Tooltip.tsx";
diff --git a/miner_objects/miner_dashboard/src/components/Tremor/index.ts b/miner_objects/miner_dashboard/src/components/Tremor/index.ts
deleted file mode 100644
index 7a16a4ceb..000000000
--- a/miner_objects/miner_dashboard/src/components/Tremor/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { Badge } from "./Badge";
-export { ProgressBar } from "./ProgressBar";
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/fonts/ADLaMDisplay-Regular.ttf b/miner_objects/miner_dashboard/src/fonts/ADLaMDisplay-Regular.ttf
deleted file mode 100644
index 84b0e2c89..000000000
Binary files a/miner_objects/miner_dashboard/src/fonts/ADLaMDisplay-Regular.ttf and /dev/null differ
diff --git a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Bold.ttf b/miner_objects/miner_dashboard/src/fonts/SpaceMono-Bold.ttf
deleted file mode 100644
index 20e344951..000000000
Binary files a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Bold.ttf and /dev/null differ
diff --git a/miner_objects/miner_dashboard/src/fonts/SpaceMono-BoldItalic.ttf b/miner_objects/miner_dashboard/src/fonts/SpaceMono-BoldItalic.ttf
deleted file mode 100644
index ff2ea5a5c..000000000
Binary files a/miner_objects/miner_dashboard/src/fonts/SpaceMono-BoldItalic.ttf and /dev/null differ
diff --git a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Italic.ttf b/miner_objects/miner_dashboard/src/fonts/SpaceMono-Italic.ttf
deleted file mode 100644
index f36282f26..000000000
Binary files a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Italic.ttf and /dev/null differ
diff --git a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Regular.ttf b/miner_objects/miner_dashboard/src/fonts/SpaceMono-Regular.ttf
deleted file mode 100644
index 04e56b923..000000000
Binary files a/miner_objects/miner_dashboard/src/fonts/SpaceMono-Regular.ttf and /dev/null differ
diff --git a/miner_objects/miner_dashboard/src/index.css b/miner_objects/miner_dashboard/src/index.css
deleted file mode 100644
index cf5049c94..000000000
--- a/miner_objects/miner_dashboard/src/index.css
+++ /dev/null
@@ -1,64 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-:root {
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
-
- color-scheme: light dark;
- color: rgba(255, 255, 255, 0.87);
- background-color: #242424;
-
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-
-a:hover {
- color: #535bf2;
-}
-
-body {
- margin: 0;
- display: flex;
- place-items: center;
- min-width: 320px;
- min-height: 100vh;
- background-color: #F7F6F3;
- padding-bottom: 160px;
-}
-
-h1 {
- font-size: 3.2em;
- line-height: 1.1;
-}
-
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-
-button:hover {
- border-color: #646cff;
-}
-
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
diff --git a/miner_objects/miner_dashboard/src/lib/axios.ts b/miner_objects/miner_dashboard/src/lib/axios.ts
deleted file mode 100644
index f5588bd2f..000000000
--- a/miner_objects/miner_dashboard/src/lib/axios.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import axios, { AxiosError } from "axios";
-
-const MINER_URL = import.meta.env.VITE_MINER_URL;
-
-const api = axios.create({
- baseURL: MINER_URL,
- headers: {
- "Content-Type": "application/json",
- },
-});
-
-export async function getMinerData() {
- try {
- const response = await api.get(`/miner-data`);
-
- return response.data;
- } catch (error) {
- if (error instanceof AxiosError) {
- throw new Error(error.message);
- } else {
- throw new Error(`Unknown error: ${(error as Error).message}`);
- }
- }
-}
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/lib/chart.ts b/miner_objects/miner_dashboard/src/lib/chart.ts
deleted file mode 100644
index 965fc14bd..000000000
--- a/miner_objects/miner_dashboard/src/lib/chart.ts
+++ /dev/null
@@ -1,132 +0,0 @@
-// Tremor Raw chartColors [v0.1.0]
-
-export type ColorUtility = "bg" | "stroke" | "fill" | "text"
-
-export const chartColors = {
- orange: {
- bg: "bg-orange-500",
- stroke: "stroke-orange-500",
- fill: "fill-orange-500",
- text: "text-orange-500",
- },
- blue: {
- bg: "bg-blue-500",
- stroke: "stroke-blue-500",
- fill: "fill-blue-500",
- text: "text-blue-500",
- },
- emerald: {
- bg: "bg-emerald-500",
- stroke: "stroke-emerald-500",
- fill: "fill-emerald-500",
- text: "text-emerald-500",
- },
- violet: {
- bg: "bg-violet-500",
- stroke: "stroke-violet-500",
- fill: "fill-violet-500",
- text: "text-violet-500",
- },
- amber: {
- bg: "bg-amber-500",
- stroke: "stroke-amber-500",
- fill: "fill-amber-500",
- text: "text-amber-500",
- },
- gray: {
- bg: "bg-gray-500",
- stroke: "stroke-gray-500",
- fill: "fill-gray-500",
- text: "text-gray-500",
- },
- cyan: {
- bg: "bg-cyan-500",
- stroke: "stroke-cyan-500",
- fill: "fill-cyan-500",
- text: "text-cyan-500",
- },
- pink: {
- bg: "bg-pink-500",
- stroke: "stroke-pink-500",
- fill: "fill-pink-500",
- text: "text-pink-500",
- },
- lime: {
- bg: "bg-lime-500",
- stroke: "stroke-lime-500",
- fill: "fill-lime-500",
- text: "text-lime-500",
- },
- fuchsia: {
- bg: "bg-fuchsia-500",
- stroke: "stroke-fuchsia-500",
- fill: "fill-fuchsia-500",
- text: "text-fuchsia-500",
- },
-} as const satisfies {
- [color: string]: {
- [key in ColorUtility]: string
- }
-};
-
-export type AvailableChartColorsKeys = keyof typeof chartColors;
-
-export const AvailableChartColors: AvailableChartColorsKeys[] = Object.keys(
- chartColors,
-) as Array;
-
-export const constructCategoryColors = (
- categories: string[],
- colors: AvailableChartColorsKeys[],
-): Map => {
- const categoryColors = new Map();
- categories.forEach((category, index) => {
- categoryColors.set(category, colors[index % colors.length]);
- });
- return categoryColors;
-};
-
-export const getColorClassName = (
- color: AvailableChartColorsKeys,
- type: ColorUtility,
-): string => {
- const fallbackColor = {
- bg: "bg-gray-500",
- stroke: "stroke-gray-500",
- fill: "fill-gray-500",
- text: "text-gray-500",
- };
- return chartColors[color]?.[type] ?? fallbackColor[type];
-};
-
-// Tremor Raw getYAxisDomain [v0.0.0]
-
-export const getYAxisDomain = (
- autoMinValue: boolean,
- minValue: number | undefined,
- maxValue: number | undefined,
-) => {
- const minDomain = autoMinValue ? "auto" : minValue ?? 0;
- const maxDomain = maxValue ?? "auto";
- return [minDomain, maxDomain];
-};
-
-// Tremor Raw hasOnlyOneValueForKey [v0.1.0]
-
-export function hasOnlyOneValueForKey(
- array: any[],
- keyToCheck: string,
-): boolean {
- const val: any[] = [];
-
- for (const obj of array) {
- if (Object.prototype.hasOwnProperty.call(obj, keyToCheck)) {
- val.push(obj[keyToCheck]);
- if (val.length > 1) {
- return false;
- }
- }
- }
-
- return true;
-}
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/lib/index.ts b/miner_objects/miner_dashboard/src/lib/index.ts
deleted file mode 100644
index 1f7f9940c..000000000
--- a/miner_objects/miner_dashboard/src/lib/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { getMinerData } from "./axios.ts";
-export { AvailableChartColors, type AvailableChartColorsKeys, getColorClassName } from "./chart";
diff --git a/miner_objects/miner_dashboard/src/main.tsx b/miner_objects/miner_dashboard/src/main.tsx
deleted file mode 100644
index 608d2add1..000000000
--- a/miner_objects/miner_dashboard/src/main.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import "@mantine/core/styles.css";
-
-import { StrictMode } from "react";
-import { createRoot } from "react-dom/client";
-import { MantineProvider } from "@mantine/core";
-
-import "@fontsource/adlam-display";
-import "@fontsource-variable/dm-sans";
-
-import { theme } from "./theme";
-
-import { App } from "./components/App";
-
-import "./index.css";
-
-createRoot(document.getElementById("root")!).render(
-
-
-
-
- ,
-);
diff --git a/miner_objects/miner_dashboard/src/theme/colors.ts b/miner_objects/miner_dashboard/src/theme/colors.ts
deleted file mode 100644
index 9354ddbed..000000000
--- a/miner_objects/miner_dashboard/src/theme/colors.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { MantineColorsTuple } from "@mantine/core";
-
-export const orange: MantineColorsTuple = [
- "#ffefe4",
- "#fedfd1",
- "#f5bea5",
- "#ee9b75",
- "#e87d4d",
- "#e46933",
- "#e35f25",
- "#ca4f17",
- "#b54512",
- "#9e3909",
-];
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/theme/index.ts b/miner_objects/miner_dashboard/src/theme/index.ts
deleted file mode 100644
index 052ad964b..000000000
--- a/miner_objects/miner_dashboard/src/theme/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { createTheme } from "@mantine/core";
-
-import { orange } from "./colors";
-
-export const theme = createTheme({
- cursorType: "pointer",
- defaultRadius: "0",
- black: "#000",
- primaryColor: "orange",
- colors: {
- orange,
- },
- headings: { fontFamily: 'ADLaM Display' },
- fontFamily: 'DM Sans Variable',
-});
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/src/types/index.ts b/miner_objects/miner_dashboard/src/types/index.ts
deleted file mode 100644
index b14b4152b..000000000
--- a/miner_objects/miner_dashboard/src/types/index.ts
+++ /dev/null
@@ -1,138 +0,0 @@
-export interface Challenge {
- percentile: number;
- value: number;
-}
-
-export interface ChallengeMetric {
- omega: Challenge;
- calmar: Challenge;
- return: Challenge;
- sharpe: Challenge;
- sortino: Challenge;
- statistical_confidence: Challenge;
-}
-
-export interface ChallengePeriod {
- remaining_time_ms: number;
- start_time_ms: number;
- status: "testing" | "success";
- scores: ChallengeMetric;
-}
-
-export interface Source {
- close: number;
- high: number;
- lag_ms: number;
- low: number;
- open: number;
- source: string;
- start_ms: number;
- timespan_ms: number;
- volume: number;
-}
-
-export interface Order {
- leverage: number;
- order_type: string;
- order_uuid: string;
- price: number;
- price_sources: Source[];
- processed_ms: number;
- trade_pair: TradePair;
-}
-
-export type TradePair = [string, string, number, number, number, string];
-
-export interface Position {
- average_entry_price: number;
- close_ms: number;
- current_return: number;
- is_closed_position: boolean;
- miner_hotkey: string;
- net_leverage: number;
- open_ms: number;
- orders: Order[];
- position_type: string;
- position_uuid: string;
- return_at_close: number;
- trade_pair: TradePair[];
-}
-
-export interface Score {
- value: number;
- rank: number;
- percentile: number;
- overall_contribution: number;
-}
-
-export interface Scores {
- return: Score;
- omega: Score;
- sortino: Score;
- statistical_confidence: Score;
- sharpe: Score;
- calmar: Score;
-}
-
-export interface Penalties {
- drawdown_threshold: number;
- risk_profile: number;
- total: number;
-}
-
-export interface Engagement {
- n_positions: number;
- position_duration: number;
- checkpoint_durations: number;
-}
-
-export interface Checkpoint {
- mdd: number;
-}
-
-export interface PenalizedScores {
- omega: Score;
- sharpe: Score;
- risk_adjusted_return: Score;
- short_risk_adjusted_return: Score;
- calmar: Score;
- "short-calmar": Score;
-}
-
-export interface Drawdowns {
- max_drawdown: number;
-}
-
-export interface StatisticsData {
- hotkey: string;
- penalties: Penalties;
- penalized_scores: PenalizedScores;
- engagement: Engagement;
- drawdowns: Drawdowns;
- weight: Score;
- scores: Scores;
- checkpoints: Checkpoint[];
- challengeperiod: ChallengePeriod;
-}
-
-export interface Statistics {
- data: StatisticsData[];
- constants: Constants;
-}
-
-export interface Constants {
- CHALLENGE_PERIOD_PERCENTILE_THRESHOLD: number;
-}
-
-export interface Positions {
- positions: Position[];
- thirty_day_returns: number;
- all_time_returns: number;
- n_positions: number;
- percentage_profitable: number;
-}
-
-export interface MinerData {
- statistics: Statistics;
- positions: Record;
-}
diff --git a/miner_objects/miner_dashboard/src/utils/index.ts b/miner_objects/miner_dashboard/src/utils/index.ts
deleted file mode 100644
index 3b8eea881..000000000
--- a/miner_objects/miner_dashboard/src/utils/index.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import chroma from "chroma-js";
-import dayjs from "dayjs";
-import dayjsPluginUTC from "dayjs/plugin/utc";
-import duration from "dayjs/plugin/duration";
-import clsx, { type ClassValue } from "clsx";
-import { twMerge } from "tailwind-merge";
-
-import { ChallengePeriod } from "../types";
-
-dayjs.extend(dayjsPluginUTC);
-dayjs.extend(duration);
-
-export function cx(...args: ClassValue[]) {
- return twMerge(clsx(...args));
-}
-
-export const shortenAddress = (address: string, length = 4) => {
- const text = address.toString();
-
- if (text.length < 9) {
- return text;
- }
- return `${text.substring(0, length)}...${text.substring(text.length - length)}`;
-};
-
-export const formatDate = (
- value: string | number | Date,
- type = "MM/DD/YYYY HH:mm:ss",
-): string => {
- const validDate = Number(value);
-
- if (validDate === 0) {
- return "N/A";
- }
-
- return dayjs(validDate).utc().format(type);
-};
-
-export const formatCurrency = (tick: number, digits = 5) => {
- return new Intl.NumberFormat("en-US", {
- style: "currency",
- currency: "USD",
- minimumFractionDigits: digits,
- maximumFractionDigits: digits,
- }).format(tick);
-};
-
-export const toHours = (milliseconds: number, decimals = 0) => {
- const hours = milliseconds / (1000 * 60 * 60);
-
- return hours.toFixed(decimals);
-};
-
-export const toShortFloat = (num: number, decimals = 4) => {
- return num.toFixed(decimals);
-};
-
-export const toPercent = (num: number, decimals = 4) => {
- return (num * 100).toFixed(decimals) + "%";
-};
-
-export const toRemainingPercent = (num: number, decimals = 4) => {
- return ((1 - num) * 100).toFixed(decimals) + "%";
-};
-
-export const toNormalizePercent = (num: number, decimals = 2) => {
- const percentage = (num - 1) * 100;
-
- return percentage.toPrecision(decimals) + "%";
-};
-
-export const isInChallengePeriod = (challengeperiod: ChallengePeriod) => {
- return challengeperiod.status === "testing";
-};
-
-export const isColorDark = (color: string) => {
- const luminance = chroma(color).luminance();
-
- return luminance < 0.5;
-};
-
diff --git a/miner_objects/miner_dashboard/src/vite-env.d.ts b/miner_objects/miner_dashboard/src/vite-env.d.ts
deleted file mode 100644
index 11f02fe2a..000000000
--- a/miner_objects/miner_dashboard/src/vite-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/miner_objects/miner_dashboard/tailwind.config.js b/miner_objects/miner_dashboard/tailwind.config.js
deleted file mode 100644
index 8d36d2e3a..000000000
--- a/miner_objects/miner_dashboard/tailwind.config.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/* eslint-disable no-undef */
-/** @type {import("tailwindcss").Config} */
-
-// (Optional) Import default theme when using a custom font (Step 7)
-//import defaultTheme from 'tailwindcss/defaultTheme';
-
-export default {
- content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
- theme: {
- extend: {
- keyframes: {
- hide: {
- from: { opacity: "1" },
- to: { opacity: "0" },
- },
- slideDownAndFade: {
- from: { opacity: "0", transform: "translateY(-6px)" },
- to: { opacity: "1", transform: "translateY(0)" },
- },
- slideLeftAndFade: {
- from: { opacity: "0", transform: "translateX(6px)" },
- to: { opacity: "1", transform: "translateX(0)" },
- },
- slideUpAndFade: {
- from: { opacity: "0", transform: "translateY(6px)" },
- to: { opacity: "1", transform: "translateY(0)" },
- },
- slideRightAndFade: {
- from: { opacity: "0", transform: "translateX(-6px)" },
- to: { opacity: "1", transform: "translateX(0)" },
- },
- accordionOpen: {
- from: { height: "0px" },
- to: { height: "var(--radix-accordion-content-height)" },
- },
- accordionClose: {
- from: {
- height: "var(--radix-accordion-content-height)",
- },
- to: { height: "0px" },
- },
- dialogOverlayShow: {
- from: { opacity: "0" },
- to: { opacity: "1" },
- },
- dialogContentShow: {
- from: {
- opacity: "0",
- transform: "translate(-50%, -45%) scale(0.95)",
- },
- to: { opacity: "1", transform: "translate(-50%, -50%) scale(1)" },
- },
- drawerSlideLeftAndFade: {
- from: { opacity: "0", transform: "translateX(100%)" },
- to: { opacity: "1", transform: "translateX(0)" },
- },
- drawerSlideRightAndFade: {
- from: { opacity: "1", transform: "translateX(0)" },
- to: { opacity: "0", transform: "translateX(100%)" },
- },
- },
- animation: {
- hide: "hide 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- slideDownAndFade:
- "slideDownAndFade 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- slideLeftAndFade:
- "slideLeftAndFade 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- slideUpAndFade: "slideUpAndFade 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- slideRightAndFade:
- "slideRightAndFade 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- // Accordion
- accordionOpen: "accordionOpen 150ms cubic-bezier(0.87, 0, 0.13, 1)",
- accordionClose: "accordionClose 150ms cubic-bezier(0.87, 0, 0.13, 1)",
- // Dialog
- dialogOverlayShow:
- "dialogOverlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- dialogContentShow:
- "dialogContentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- // Drawer
- drawerSlideLeftAndFade:
- "drawerSlideLeftAndFade 150ms cubic-bezier(0.16, 1, 0.3, 1)",
- drawerSlideRightAndFade: "drawerSlideRightAndFade 150ms ease-in",
- },
- },
- },
- plugins: [require("@tailwindcss/forms")],
-};
\ No newline at end of file
diff --git a/miner_objects/miner_dashboard/tsconfig.app.json b/miner_objects/miner_dashboard/tsconfig.app.json
deleted file mode 100644
index f0a235055..000000000
--- a/miner_objects/miner_dashboard/tsconfig.app.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2020",
- "useDefineForClassFields": true,
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true
- },
- "include": ["src"]
-}
diff --git a/miner_objects/miner_dashboard/tsconfig.json b/miner_objects/miner_dashboard/tsconfig.json
deleted file mode 100644
index 1ffef600d..000000000
--- a/miner_objects/miner_dashboard/tsconfig.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "files": [],
- "references": [
- { "path": "./tsconfig.app.json" },
- { "path": "./tsconfig.node.json" }
- ]
-}
diff --git a/miner_objects/miner_dashboard/tsconfig.node.json b/miner_objects/miner_dashboard/tsconfig.node.json
deleted file mode 100644
index 0d3d71446..000000000
--- a/miner_objects/miner_dashboard/tsconfig.node.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2022",
- "lib": ["ES2023"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true
- },
- "include": ["vite.config.ts"]
-}
diff --git a/miner_objects/miner_dashboard/vite.config.ts b/miner_objects/miner_dashboard/vite.config.ts
deleted file mode 100644
index 5a33944a9..000000000
--- a/miner_objects/miner_dashboard/vite.config.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { defineConfig } from 'vite'
-import react from '@vitejs/plugin-react'
-
-// https://vitejs.dev/config/
-export default defineConfig({
- plugins: [react()],
-})
diff --git a/neurons/miner.py b/neurons/miner.py
index 4406433fc..0b92abd0a 100644
--- a/neurons/miner.py
+++ b/neurons/miner.py
@@ -9,7 +9,6 @@
import traceback
import time
import bittensor as bt
-import subprocess
from miner_config import MinerConfig
from miner_objects.dashboard import Dashboard
@@ -48,8 +47,6 @@ def __init__(self):
self.dashboard_api_thread.start()
except OSError as e:
bt.logging.info(f"Unable to start miner dashboard with error {e}. Restart miner and specify a new port if desired.")
- # Initialize the dashboard process variable for the frontend
- self.dashboard_frontend_process = None
def setup_logging_directory(self):
if not os.path.exists(self.config.full_path):
@@ -121,11 +118,6 @@ def get_config():
help="Whether to write logs for failed signals. Default is True unless --subtensor.network is 'test'.")
# Add argument so we can check if run_position_inspector is set which tells us to start the PI thread. Default false
parser.add_argument("--run-position-inspector", action="store_true", help="Run the position inspector thread.")
- parser.add_argument(
- '--start-dashboard',
- action='store_true',
- help='Start the miner-dashboard along with the miner.'
- )
# Parse the config (will take command-line arguments if provided)
# To print help message, run python3 template/miner.py --help
@@ -154,47 +146,10 @@ def get_config():
)
return config
- def start_dashboard_frontend(self):
- """
- starts the miner dashboard. Allows the use of npm, yarn, or pnpm
- """
- try:
- dashboard_dir = "miner_objects/miner_dashboard"
- # Determine which package manager is available
- package_manager = None
- for pm in ['pnpm', 'yarn', 'npm']:
- if subprocess.run(['which', pm], stdout=subprocess.PIPE, stderr=subprocess.PIPE).returncode == 0:
- package_manager = pm
- break
-
- if not package_manager:
- bt.logging.error("No package manager found. Please install npm, yarn, or pnpm.")
- return
-
- # Run 'install' command for the identified package manager
- subprocess.run([package_manager, "install"], cwd=dashboard_dir, check=True)
- bt.logging.info(f"Install completed using {package_manager}.")
-
- # Start the dashboard process
- if package_manager == 'npm':
- self.dashboard_frontend_process = subprocess.Popen(['npm', 'run', 'dev'], cwd=dashboard_dir) # Popen runs in the background
- else:
- self.dashboard_frontend_process = subprocess.Popen([package_manager, 'dev'], cwd=dashboard_dir)
- bt.logging.info("Dashboard started.")
- except subprocess.CalledProcessError as e:
- bt.logging.error(f"Command '{e.cmd}' failed with return code {e.returncode}.")
- except Exception as e:
- bt.logging.error(f"Failed to start dashboard: {e}")
-
def run(self):
bt.logging(config=self.config, logging_dir=self.config.full_path)
bt.logging.info("Starting miner loop.")
- # Start the dashboard if the flag is set
- if self.config.start_dashboard:
- bt.logging.info("Starting miner dashboard.")
- self.start_dashboard_frontend()
-
bt.logging.info("Waiting for signals...")
while True:
try:
@@ -205,10 +160,6 @@ def run(self):
# If someone intentionally stops the miner, it'll safely terminate operations.
except KeyboardInterrupt:
bt.logging.success("Miner killed by keyboard interrupt.")
- if self.dashboard_frontend_process:
- self.dashboard_frontend_process.terminate() # Terminate the dashboard if it was started
- self.dashboard_frontend_process.wait()
- bt.logging.info("Dashboard terminated.")
self.metagraph_updater_thread.join()
self.position_inspector.stop_update_loop()
if self.position_inspector_thread: