diff --git a/frontend/.env b/frontend/.env
new file mode 100644
index 00000000..611e2069
--- /dev/null
+++ b/frontend/.env
@@ -0,0 +1,15 @@
+NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=1
+NEXT_PUBLIC_CHAIN_ID=1
+
+NEXT_PUBLIC_CONTRACT_PRICE_FEED_TESTNET=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_BOLD_TOKEN=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_SORTED_TROVES=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_TROVE_MANAGER=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_ACTIVE_POOL=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_STABILITY_POOL=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_GAS_POOL=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_DEFAULT_POOL=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_COLL_SURPLUS_POOL=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_FUNCTION_CALLER=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_BORROWER_OPERATIONS=0x0000000000000000000000000000000000000000
+NEXT_PUBLIC_CONTRACT_HINT_HELPERS=0x0000000000000000000000000000000000000000
diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json
new file mode 100644
index 00000000..15b1ed91
--- /dev/null
+++ b/frontend/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "next"
+}
diff --git a/frontend/.gitignore b/frontend/.gitignore
new file mode 100644
index 00000000..4558ed25
--- /dev/null
+++ b/frontend/.gitignore
@@ -0,0 +1,30 @@
+# dependencies
+/node_modules
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
+
+# panda
+/styled-system/
+/styled-system-static/
diff --git a/frontend/README.md b/frontend/README.md
new file mode 100644
index 00000000..6f48913d
--- /dev/null
+++ b/frontend/README.md
@@ -0,0 +1,87 @@
+# BOLD App
+
+## Preview
+
+
+
+## Requirements
+
+- [Node.js](https://nodejs.org/)
+- [pnpm](https://pnpm.io/)
+
+## Setup
+
+```sh
+git clone git@github.com:liquity/bold.git
+cd bold/frontend
+pnpm install
+```
+
+## How to develop
+
+Run the Hardhat Network local node:
+
+```sh
+cd bold/contracts
+ACCOUNTS_BALANCE=1000 pnpm hardhat node # ACCOUNTS_BALANCE=1000 is optional but nicer than the default values in the UI
+```
+
+Deploy the contracts:
+
+```sh
+cd bold/contracts
+pnpm hardhat run --network localhost utils/deploymentDev.js
+```
+
+Copy the addresses of the deployed contracts to the `.env.local` file.
+
+Run the development server:
+
+```sh
+cd bold/frontend
+pnpm dev
+```
+
+You can now open in your browser.
+
+See also `contracts/hardhatAccountsList2k.js` to import the accounts into MetaMask (the deployment script opens troves for the first six accounts).
+
+## Scripts
+
+```sh
+pnpm dev # run the development server
+pnpm build # build the static app in out/
+pnpm fmt # format the code
+pnpm lint # lint the code
+pnpm test # run the tests
+pnpm update-liquity-abis # build the contracts and update the ABIs
+```
+
+## Environment
+
+Create `.env.local` from the `.env` file and fill in the required values (see the description of each variable below).
+
+```sh
+cp .env .env.local
+```
+
+See [./src/env.ts](./src/env.ts) for details about how the environment variables are being imported by the app.
+
+### `NEXT_PUBLIC_CHAIN_ID`
+
+The Ethereum network to connect to.
+
+Supports the following IDs:
+
+- `1` (mainnet)
+- `31337` (hardhat)
+
+Defaults to `1` (mainnet) if the chain ID is not supported.
+
+### `NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID`
+
+A WalletConnect project ID which can be obtained by [creating a WalletConnect project](https://cloud.walletconnect.com/app).
+
+### `NEXT_PUBLIC_CONTRACT_…`
+
+Addresses of the Liquity contracts.
diff --git a/frontend/dprint.json b/frontend/dprint.json
new file mode 100644
index 00000000..2305faf6
--- /dev/null
+++ b/frontend/dprint.json
@@ -0,0 +1,20 @@
+{
+ "typescript": {
+ "useBraces": "always"
+ },
+ "json": {
+ },
+ "markdown": {
+ },
+ "includes": ["**/*.{ts,tsx,js,jsx,mjs,json,md,html,css}"],
+ "excludes": [
+ "**/node_modules",
+ "**/*-lock.json"
+ ],
+ "plugins": [
+ "https://plugins.dprint.dev/typescript-0.89.3.wasm",
+ "https://plugins.dprint.dev/json-0.19.2.wasm",
+ "https://plugins.dprint.dev/markdown-0.16.4.wasm",
+ "https://plugins.dprint.dev/g-plane/malva-v0.1.5.wasm"
+ ]
+}
diff --git a/frontend/next.config.js b/frontend/next.config.js
new file mode 100644
index 00000000..5206c370
--- /dev/null
+++ b/frontend/next.config.js
@@ -0,0 +1,10 @@
+/** @type {import('next').NextConfig} */
+module.exports = {
+ output: "export",
+ reactStrictMode: false,
+ webpack: (config) => {
+ // RainbowKit related dependencies
+ config.externals.push("pino-pretty", "lokijs", "encoding");
+ return config;
+ },
+};
diff --git a/frontend/package.json b/frontend/package.json
new file mode 100644
index 00000000..4bbc6419
--- /dev/null
+++ b/frontend/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "frontend",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "build": "next build",
+ "dev": "rm -rf ./.next && next dev",
+ "fmt": "dprint fmt **/*.{ts,tsx,js,json,html,md}",
+ "lint": "next lint",
+ "prepare": "panda codegen",
+ "test": "vitest",
+ "update-liquity-abis": "ts-node ./scripts/update-liquity-abis.ts"
+ },
+ "dependencies": {
+ "@react-spring/web": "^9.7.3",
+ "@tanstack/react-query": "^5.28.6",
+ "connectkit": "^1.7.2",
+ "dnum": "^2.11.0",
+ "dprint": "^0.45.0",
+ "focus-trap-react": "^10.2.3",
+ "next": "14.1.4",
+ "react": "^18",
+ "react-dom": "^18",
+ "ts-pattern": "^5.0.8",
+ "viem": "^2.8.18",
+ "wagmi": "^2.5.12",
+ "zod": "^3.22.4"
+ },
+ "devDependencies": {
+ "@babel/plugin-transform-private-methods": "^7.24.1",
+ "@pandacss/dev": "^0.36.0",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/react": "^14.2.2",
+ "@testing-library/user-event": "^14.5.2",
+ "@types/node": "^20.11.30",
+ "@types/react": "^18.2.68",
+ "@types/react-dom": "^18.2.22",
+ "@typescript-eslint/eslint-plugin": "^7.3.1",
+ "@typescript-eslint/parser": "^7.3.1",
+ "dax-sh": "^0.39.2",
+ "dprint": "^0.45.0",
+ "eslint": "^8.57.0",
+ "eslint-config-next": "14.1.4",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.6",
+ "jsdom": "^24.0.0",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.4.3",
+ "vitest": "^1.4.0"
+ }
+}
diff --git a/frontend/panda.config.ts b/frontend/panda.config.ts
new file mode 100644
index 00000000..87d4c170
--- /dev/null
+++ b/frontend/panda.config.ts
@@ -0,0 +1,35 @@
+import { defineConfig } from "@pandacss/dev";
+import { colors, theme } from "./src/theme";
+
+const tokenColors = Object.fromEntries(
+ Object.entries(colors).map(([key, value]) => [
+ key,
+ { value },
+ ]),
+);
+
+const semanticTokenColors = Object.fromEntries(
+ Object.entries(theme.colors).map(([key, value]) => [
+ key,
+ { value: `{colors.${value}}` },
+ ]),
+);
+
+export default defineConfig({
+ preflight: true, // CSS reset
+ presets: ["@pandacss/preset-base"],
+ include: ["./src/**/*.{ts,tsx}"],
+ exclude: [],
+ theme: {
+ tokens: {
+ colors: tokenColors,
+ fonts: {
+ body: { value: "Inter, sans-serif" },
+ },
+ },
+ semanticTokens: {
+ colors: semanticTokenColors,
+ },
+ },
+ outdir: "styled-system",
+});
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
new file mode 100644
index 00000000..8d5b7ae6
--- /dev/null
+++ b/frontend/pnpm-lock.yaml
@@ -0,0 +1,12125 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@react-spring/web':
+ specifier: ^9.7.3
+ version: 9.7.3(react-dom@18.2.0)(react@18.2.0)
+ '@tanstack/react-query':
+ specifier: ^5.28.6
+ version: 5.28.6(react@18.2.0)
+ connectkit:
+ specifier: ^1.7.2
+ version: 1.7.2(@babel/core@7.24.3)(@tanstack/react-query@5.28.6)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@2.8.18)(wagmi@2.5.12)
+ dnum:
+ specifier: ^2.11.0
+ version: 2.11.0
+ dprint:
+ specifier: ^0.45.0
+ version: 0.45.0
+ focus-trap-react:
+ specifier: ^10.2.3
+ version: 10.2.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)
+ next:
+ specifier: 14.1.4
+ version: 14.1.4(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: ^18
+ version: 18.2.0
+ react-dom:
+ specifier: ^18
+ version: 18.2.0(react@18.2.0)
+ ts-pattern:
+ specifier: ^5.0.8
+ version: 5.0.8
+ viem:
+ specifier: ^2.8.18
+ version: 2.8.18(typescript@5.4.3)(zod@3.22.4)
+ wagmi:
+ specifier: ^2.5.12
+ version: 2.5.12(@tanstack/react-query@5.28.6)(@types/react@18.2.68)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4)
+ zod:
+ specifier: ^3.22.4
+ version: 3.22.4
+
+devDependencies:
+ '@babel/plugin-transform-private-methods':
+ specifier: ^7.24.1
+ version: 7.24.1(@babel/core@7.24.3)
+ '@pandacss/dev':
+ specifier: ^0.36.0
+ version: 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@testing-library/jest-dom':
+ specifier: ^6.4.2
+ version: 6.4.2(vitest@1.4.0)
+ '@testing-library/react':
+ specifier: ^14.2.2
+ version: 14.2.2(react-dom@18.2.0)(react@18.2.0)
+ '@testing-library/user-event':
+ specifier: ^14.5.2
+ version: 14.5.2(@testing-library/dom@9.3.4)
+ '@types/node':
+ specifier: ^20.11.30
+ version: 20.11.30
+ '@types/react':
+ specifier: ^18.2.68
+ version: 18.2.68
+ '@types/react-dom':
+ specifier: ^18.2.22
+ version: 18.2.22
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^7.3.1
+ version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
+ '@typescript-eslint/parser':
+ specifier: ^7.3.1
+ version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ dax-sh:
+ specifier: ^0.39.2
+ version: 0.39.2
+ eslint:
+ specifier: ^8.57.0
+ version: 8.57.0
+ eslint-config-next:
+ specifier: 14.1.4
+ version: 14.1.4(eslint@8.57.0)(typescript@5.4.3)
+ eslint-plugin-react-hooks:
+ specifier: ^4.6.0
+ version: 4.6.0(eslint@8.57.0)
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.6
+ version: 0.4.6(eslint@8.57.0)
+ jsdom:
+ specifier: ^24.0.0
+ version: 24.0.0
+ ts-node:
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@20.11.30)(typescript@5.4.3)
+ typescript:
+ specifier: ^5.4.3
+ version: 5.4.3
+ vitest:
+ specifier: ^1.4.0
+ version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)
+
+packages:
+
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /@adobe/css-tools@4.3.3:
+ resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
+ dev: true
+
+ /@adraffy/ens-normalize@1.10.0:
+ resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==}
+ dev: false
+
+ /@ampproject/remapping@2.3.0:
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+
+ /@babel/code-frame@7.24.2:
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
+
+ /@babel/compat-data@7.24.1:
+ resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/core@7.24.3:
+ resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.1
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helpers': 7.24.1
+ '@babel/parser': 7.24.1
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ convert-source-map: 2.0.0
+ debug: 4.3.4(supports-color@5.5.0)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/generator@7.23.6:
+ resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+ dev: false
+
+ /@babel/generator@7.24.1:
+ resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.9
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
+ resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.24.1
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3):
+ resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+ dev: false
+
+ /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.0
+ debug: 4.3.4(supports-color@5.5.0)
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.0
+
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@babel/helper-module-imports@7.24.3:
+ resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-plugin-utils@7.24.0:
+ resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3):
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.22.20
+ dev: false
+
+ /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-wrap-function@7.22.20:
+ resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helpers@7.24.1:
+ resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/highlight@7.24.2:
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+
+ /@babel/parser@7.24.0:
+ resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/parser@7.24.1:
+ resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.3):
+ resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.3):
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.3):
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.3):
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.3):
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.24.1
+ '@babel/core': 7.24.3
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.3):
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3):
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ dev: false
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3):
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-split-export-declaration': 7.22.6
+ globals: 11.12.0
+ dev: false
+
+ /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/template': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-simple-access': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: false
+
+ /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3):
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+
+ /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ regenerator-transform: 0.15.2
+ dev: false
+
+ /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3)
+ babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3)
+ babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: false
+
+ /@babel/preset-env@7.24.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.24.1
+ '@babel/core': 7.24.3
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3)
+ '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3)
+ '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3)
+ babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3)
+ babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3)
+ babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3)
+ core-js-compat: 3.36.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/preset-flow@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3):
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/types': 7.24.0
+ esutils: 2.0.3
+ dev: false
+
+ /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
+ dev: false
+
+ /@babel/register@7.23.7(@babel/core@7.24.3):
+ resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ clone-deep: 4.0.1
+ find-cache-dir: 2.1.0
+ make-dir: 2.1.0
+ pirates: 4.0.6
+ source-map-support: 0.5.21
+ dev: false
+
+ /@babel/regjsgen@0.8.0:
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ dev: false
+
+ /@babel/runtime@7.23.9:
+ resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
+ dev: true
+
+ /@babel/runtime@7.24.1:
+ resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ /@babel/template@7.24.0:
+ resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+
+ /@babel/traverse@7.24.0(supports-color@5.5.0):
+ resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+ debug: 4.3.4(supports-color@5.5.0)
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/traverse@7.24.1:
+ resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.1
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.24.1
+ '@babel/types': 7.24.0
+ debug: 4.3.4(supports-color@5.5.0)
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/types@7.23.9:
+ resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+
+ /@babel/types@7.24.0:
+ resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+
+ /@clack/core@0.3.4:
+ resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==}
+ dependencies:
+ picocolors: 1.0.0
+ sisteransi: 1.0.5
+ dev: true
+
+ /@clack/prompts@0.7.0:
+ resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==}
+ dependencies:
+ '@clack/core': 0.3.4
+ picocolors: 1.0.0
+ sisteransi: 1.0.5
+ dev: true
+ bundledDependencies:
+ - is-unicode-supported
+
+ /@coinbase/wallet-sdk@3.9.1:
+ resolution: {integrity: sha512-cGUE8wm1/cMI8irRMVOqbFWYcnNugqCtuy2lnnHfgloBg+GRLs9RsrkOUDMdv/StfUeeKhCDyYudsXXvcL1xIA==}
+ dependencies:
+ bn.js: 5.2.1
+ buffer: 6.0.3
+ clsx: 1.2.1
+ eth-block-tracker: 7.1.0
+ eth-json-rpc-filters: 6.0.1
+ eventemitter3: 5.0.1
+ keccak: 3.0.4
+ preact: 10.20.0
+ sha.js: 2.4.11
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@cspotcode/source-map-support@0.8.1:
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.9
+ dev: true
+
+ /@csstools/postcss-cascade-layers@4.0.3(postcss@8.4.35):
+ resolution: {integrity: sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.4
+ dependencies:
+ '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15)
+ postcss: 8.4.35
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15):
+ resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss-selector-parser: ^6.0.13
+ dependencies:
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /@deno/shim-deno-test@0.5.0:
+ resolution: {integrity: sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==}
+ dev: true
+
+ /@deno/shim-deno@0.19.1:
+ resolution: {integrity: sha512-8hYIpmDqpG76sn+UY1853RCi+CI7ZWz9tt37nfyDL8rwr6xbW0+GHUwCLcsGbh1uMIKURuJy6xtrIcnW+a0duA==}
+ dependencies:
+ '@deno/shim-deno-test': 0.5.0
+ which: 4.0.0
+ dev: true
+
+ /@dprint/darwin-arm64@0.45.0:
+ resolution: {integrity: sha512-pkSSmixIKXr5t32bhXIUbpIBm8F8uhsJcUUvfkFNsRbQvNwRp71ribZpE8dKl0ZFOlAFeWD6WLE8smp/QtiGUA==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/darwin-x64@0.45.0:
+ resolution: {integrity: sha512-PHcXSrRO53KH9N+YPbPtr40NnDo2t7hO7KLMfl2ktRNLjrmKg6F8XDDsr2C7Z11k3jyEEU2Jq8hhpaKHwNapmQ==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/linux-arm64-glibc@0.45.0:
+ resolution: {integrity: sha512-NgIpvZHpiQaY4DxSygxknxBtvKE2KLK9dEbUNKNE098yTHhGq7ouPsoM7RtsO34RHJ3tEZLLJEuBHn20XP8LMg==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/linux-arm64-musl@0.45.0:
+ resolution: {integrity: sha512-Y8p+FC0RNyKCGQjy99Uh1LSPrlQtUTvo4brdvU1THF3pyWu6Bg1p6NiP5a6SjE/6t9CMKZJz39zPreQtnDkSDA==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/linux-x64-glibc@0.45.0:
+ resolution: {integrity: sha512-u03NCZIpJhE5gIl9Q7jNL4sOPBFd/8BLVBiuLoLtbiTZQ+NNudHKgGNATJBU67q1MKpqKnt8/gQm139cJkHhrw==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/linux-x64-musl@0.45.0:
+ resolution: {integrity: sha512-DQN8LPtxismkeU1X+sQywa80kWwCBcpQh9fXoJcvTEHrgzHBqbG2SEsUZpM12oKEua1KE/iBh+vgZ+4I3TdI2A==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@dprint/win32-x64@0.45.0:
+ resolution: {integrity: sha512-aZHIWG2jIlEp4BER1QG6YYqPd6TxT9S77AeUkWJixNiMEo+33mPRVCBcugRWI/WJWveX8yWFVXkToORtnSFeEA==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@emotion/babel-plugin@11.11.0:
+ resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
+ dependencies:
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/runtime': 7.24.1
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/serialize': 1.1.3
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/cache@11.11.0:
+ resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==}
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/hash@0.9.1:
+ resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
+ dev: false
+
+ /@emotion/is-prop-valid@0.8.8:
+ resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+ requiresBuild: true
+ dependencies:
+ '@emotion/memoize': 0.7.4
+ dev: false
+ optional: true
+
+ /@emotion/is-prop-valid@1.2.2:
+ resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==}
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ dev: false
+
+ /@emotion/memoize@0.7.4:
+ resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@emotion/memoize@0.8.1:
+ resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
+ dev: false
+
+ /@emotion/react@11.11.4(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.1
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ '@types/react': 18.2.68
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
+ dev: false
+
+ /@emotion/serialize@1.1.3:
+ resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==}
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/unitless': 0.8.1
+ '@emotion/utils': 1.2.1
+ csstype: 3.1.3
+ dev: false
+
+ /@emotion/sheet@1.2.2:
+ resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
+ dev: false
+
+ /@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==}
+ peerDependencies:
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.1
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/is-prop-valid': 1.2.2
+ '@emotion/react': 11.11.4(@types/react@18.2.68)(react@18.2.0)
+ '@emotion/serialize': 1.1.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@emotion/utils': 1.2.1
+ '@types/react': 18.2.68
+ react: 18.2.0
+ dev: false
+
+ /@emotion/stylis@0.8.5:
+ resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==}
+ dev: false
+
+ /@emotion/unitless@0.7.5:
+ resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==}
+ dev: false
+
+ /@emotion/unitless@0.8.1:
+ resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
+ dev: false
+
+ /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0):
+ resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /@emotion/utils@1.2.1:
+ resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==}
+ dev: false
+
+ /@emotion/weak-memoize@0.3.1:
+ resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
+ dev: false
+
+ /@esbuild/aix-ppc64@0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/aix-ppc64@0.20.2:
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.20.2:
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.20.2:
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.20.2:
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.20.2:
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.20.2:
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.20.2:
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.20.2:
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.20.2:
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.20.2:
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.20.2:
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.20.2:
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.20.2:
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.20.2:
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.20.2:
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.20.2:
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.20.2:
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.20.2:
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.20.2:
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.20.2:
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.20.2:
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.20.2:
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.20.2:
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.57.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4(supports-color@5.5.0)
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.57.0:
+ resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@ethereumjs/common@3.2.0:
+ resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==}
+ dependencies:
+ '@ethereumjs/util': 8.1.0
+ crc-32: 1.2.2
+ dev: false
+
+ /@ethereumjs/rlp@4.0.1:
+ resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: false
+
+ /@ethereumjs/tx@4.2.0:
+ resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@ethereumjs/common': 3.2.0
+ '@ethereumjs/rlp': 4.0.1
+ '@ethereumjs/util': 8.1.0
+ ethereum-cryptography: 2.1.3
+ dev: false
+
+ /@ethereumjs/util@8.1.0:
+ resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@ethereumjs/rlp': 4.0.1
+ ethereum-cryptography: 2.1.3
+ micro-ftch: 0.3.1
+ dev: false
+
+ /@hapi/hoek@9.3.0:
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ dev: false
+
+ /@hapi/topo@5.1.0:
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: false
+
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.2
+ debug: 4.3.4(supports-color@5.5.0)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
+
+ /@humanwhocodes/object-schema@2.0.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
+ dev: true
+
+ /@isaacs/cliui@8.0.2:
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+ 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
+ dev: true
+
+ /@isaacs/ttlcache@1.4.1:
+ resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /@jest/create-cache-key-function@29.7.0:
+ resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ dev: false
+
+ /@jest/environment@29.7.0:
+ resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.11.30
+ jest-mock: 29.7.0
+ dev: false
+
+ /@jest/fake-timers@29.7.0:
+ resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@sinonjs/fake-timers': 10.3.0
+ '@types/node': 20.11.30
+ jest-message-util: 29.7.0
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: false
+
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+
+ /@jest/types@26.6.2:
+ resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
+ engines: {node: '>= 10.14.2'}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.11.30
+ '@types/yargs': 15.0.19
+ chalk: 4.1.2
+ dev: false
+
+ /@jest/types@29.6.3:
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.11.30
+ '@types/yargs': 17.0.32
+ chalk: 4.1.2
+ dev: false
+
+ /@jridgewell/gen-mapping@0.3.5:
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@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/source-map@0.3.6:
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping@0.3.25:
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@jridgewell/trace-mapping@0.3.9:
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /@lit-labs/ssr-dom-shim@1.2.0:
+ resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==}
+ dev: false
+
+ /@lit/reactive-element@1.6.3:
+ resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==}
+ dependencies:
+ '@lit-labs/ssr-dom-shim': 1.2.0
+ dev: false
+
+ /@metamask/eth-json-rpc-provider@1.0.1:
+ resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/json-rpc-engine': 7.3.3
+ '@metamask/safe-event-emitter': 3.1.1
+ '@metamask/utils': 5.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@metamask/json-rpc-engine@7.3.3:
+ resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@metamask/rpc-errors': 6.2.1
+ '@metamask/safe-event-emitter': 3.1.1
+ '@metamask/utils': 8.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@metamask/object-multiplex@1.3.0:
+ resolution: {integrity: sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ readable-stream: 2.3.8
+ dev: false
+
+ /@metamask/onboarding@1.0.1:
+ resolution: {integrity: sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==}
+ dependencies:
+ bowser: 2.11.0
+ dev: false
+
+ /@metamask/post-message-stream@6.2.0:
+ resolution: {integrity: sha512-WunZ0bruClF862mvbKQGETn5SM0XKGmocPMQR1Ew6sYix9/FDzeoZnoI8RkXk01E+70FCdxhTE/r8kk5SFOuTw==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/utils': 5.0.2
+ readable-stream: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@metamask/providers@10.2.1:
+ resolution: {integrity: sha512-p2TXw2a1Nb8czntDGfeIYQnk4LLVbd5vlcb3GY//lylYlKdSqp+uUTegCvxiFblRDOT68jsY8Ib1VEEzVUOolA==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/object-multiplex': 1.3.0
+ '@metamask/safe-event-emitter': 2.0.0
+ '@types/chrome': 0.0.136
+ detect-browser: 5.3.0
+ eth-rpc-errors: 4.0.3
+ extension-port-stream: 2.1.1
+ fast-deep-equal: 2.0.1
+ is-stream: 2.0.1
+ json-rpc-engine: 6.1.0
+ json-rpc-middleware-stream: 4.2.3
+ pump: 3.0.0
+ webextension-polyfill-ts: 0.25.0
+ dev: false
+
+ /@metamask/rpc-errors@6.2.1:
+ resolution: {integrity: sha512-VTgWkjWLzb0nupkFl1duQi9Mk8TGT9rsdnQg6DeRrYEFxtFOh0IF8nAwxM/4GWqDl6uIB06lqUBgUrAVWl62Bw==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@metamask/utils': 8.4.0
+ fast-safe-stringify: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@metamask/safe-event-emitter@2.0.0:
+ resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==}
+ dev: false
+
+ /@metamask/safe-event-emitter@3.1.1:
+ resolution: {integrity: sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw==}
+ engines: {node: '>=12.0.0'}
+ dev: false
+
+ /@metamask/sdk-communication-layer@0.14.3:
+ resolution: {integrity: sha512-yjSbj8y7fFbQXv2HBzUX6D9C8BimkCYP6BDV7hdw53W8b/GlYCtXVxUFajQ9tuO1xPTRjR/xt/dkdr2aCi6WGw==}
+ dependencies:
+ bufferutil: 4.0.8
+ cross-fetch: 3.1.8
+ date-fns: 2.30.0
+ eciesjs: 0.3.18
+ eventemitter2: 6.4.9
+ socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.3)
+ utf-8-validate: 6.0.3
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@metamask/sdk-install-modal-web@0.14.1(@types/react@18.2.68)(react-native@0.73.6):
+ resolution: {integrity: sha512-emT8HKbnfVwGhPxyUfMja6DWzvtJvDEBQxqCVx93H0HsyrrOzOC43iGCAosslw6o5h7gOfRKLqWmK8V7jQAS2Q==}
+ dependencies:
+ '@emotion/react': 11.11.4(@types/react@18.2.68)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.68)(react@18.2.0)
+ i18next: 22.5.1
+ qr-code-styling: 1.6.0-rc.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - react-native
+ dev: false
+
+ /@metamask/sdk@0.14.3(@types/react@18.2.68)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0):
+ resolution: {integrity: sha512-BYLs//nY2wioVSih78gOQI6sLIYY3vWkwVqXGYUgkBV+bi49bv+9S0m+hZ2cwiRaxfMYtKs0KvhAQ8weiYwDrg==}
+ peerDependencies:
+ react: ^18.2.0
+ react-native: '*'
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@metamask/onboarding': 1.0.1
+ '@metamask/post-message-stream': 6.2.0
+ '@metamask/providers': 10.2.1
+ '@metamask/sdk-communication-layer': 0.14.3
+ '@metamask/sdk-install-modal-web': 0.14.1(@types/react@18.2.68)(react-native@0.73.6)
+ '@react-native-async-storage/async-storage': 1.23.1(react-native@0.73.6)
+ '@types/dom-screen-wake-lock': 1.0.3
+ bowser: 2.11.0
+ cross-fetch: 4.0.0
+ eciesjs: 0.3.18
+ eth-rpc-errors: 4.0.3
+ eventemitter2: 6.4.9
+ extension-port-stream: 2.1.1
+ i18next: 22.5.1
+ i18next-browser-languagedetector: 7.2.0
+ obj-multiplex: 1.0.0
+ pump: 3.0.0
+ qrcode-terminal-nooctal: 0.12.1
+ react: 18.2.0
+ react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)
+ react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0)
+ react-native-webview: 11.26.1(react-native@0.73.6)(react@18.2.0)
+ readable-stream: 2.3.8
+ rollup-plugin-visualizer: 5.12.0
+ socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.3)
+ util: 0.12.5
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - '@types/react'
+ - bufferutil
+ - encoding
+ - react-dom
+ - rollup
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@metamask/utils@5.0.2:
+ resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@types/debug': 4.1.12
+ debug: 4.3.4(supports-color@5.5.0)
+ semver: 7.6.0
+ superstruct: 1.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@metamask/utils@8.4.0:
+ resolution: {integrity: sha512-dbIc3C7alOe0agCuBHM1h71UaEaEqOk2W8rAtEn8QGz4haH2Qq7MoK6i7v2guzvkJVVh79c+QCzIqphC3KvrJg==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@noble/hashes': 1.4.0
+ '@scure/base': 1.1.6
+ '@types/debug': 4.1.12
+ debug: 4.3.4(supports-color@5.5.0)
+ pony-cause: 2.1.10
+ semver: 7.6.0
+ superstruct: 1.0.4
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@motionone/animation@10.17.0:
+ resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==}
+ dependencies:
+ '@motionone/easing': 10.17.0
+ '@motionone/types': 10.17.0
+ '@motionone/utils': 10.17.0
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/dom@10.12.0:
+ resolution: {integrity: sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==}
+ dependencies:
+ '@motionone/animation': 10.17.0
+ '@motionone/generators': 10.17.0
+ '@motionone/types': 10.17.0
+ '@motionone/utils': 10.17.0
+ hey-listen: 1.0.8
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/dom@10.17.0:
+ resolution: {integrity: sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==}
+ dependencies:
+ '@motionone/animation': 10.17.0
+ '@motionone/generators': 10.17.0
+ '@motionone/types': 10.17.0
+ '@motionone/utils': 10.17.0
+ hey-listen: 1.0.8
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/easing@10.17.0:
+ resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==}
+ dependencies:
+ '@motionone/utils': 10.17.0
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/generators@10.17.0:
+ resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==}
+ dependencies:
+ '@motionone/types': 10.17.0
+ '@motionone/utils': 10.17.0
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/svelte@10.16.4:
+ resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==}
+ dependencies:
+ '@motionone/dom': 10.17.0
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/types@10.17.0:
+ resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==}
+ dev: false
+
+ /@motionone/utils@10.17.0:
+ resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==}
+ dependencies:
+ '@motionone/types': 10.17.0
+ hey-listen: 1.0.8
+ tslib: 2.6.2
+ dev: false
+
+ /@motionone/vue@10.16.4:
+ resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==}
+ deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion
+ dependencies:
+ '@motionone/dom': 10.17.0
+ tslib: 2.6.2
+ dev: false
+
+ /@next/env@14.1.4:
+ resolution: {integrity: sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ==}
+ dev: false
+
+ /@next/eslint-plugin-next@14.1.4:
+ resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==}
+ dependencies:
+ glob: 10.3.10
+ dev: true
+
+ /@next/swc-darwin-arm64@14.1.4:
+ resolution: {integrity: sha512-ubmUkbmW65nIAOmoxT1IROZdmmJMmdYvXIe8211send9ZYJu+SqxSnJM4TrPj9wmL6g9Atvj0S/2cFmMSS99jg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-darwin-x64@14.1.4:
+ resolution: {integrity: sha512-b0Xo1ELj3u7IkZWAKcJPJEhBop117U78l70nfoQGo4xUSvv0PJSTaV4U9xQBLvZlnjsYkc8RwQN1HoH/oQmLlQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@14.1.4:
+ resolution: {integrity: sha512-457G0hcLrdYA/u1O2XkRMsDKId5VKe3uKPvrKVOyuARa6nXrdhJOOYU9hkKKyQTMru1B8qEP78IAhf/1XnVqKA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-musl@14.1.4:
+ resolution: {integrity: sha512-l/kMG+z6MB+fKA9KdtyprkTQ1ihlJcBh66cf0HvqGP+rXBbOXX0dpJatjZbHeunvEHoBBS69GYQG5ry78JMy3g==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-gnu@14.1.4:
+ resolution: {integrity: sha512-BapIFZ3ZRnvQ1uWbmqEGJuPT9cgLwvKtxhK/L2t4QYO7l+/DxXuIGjvp1x8rvfa/x1FFSsipERZK70pewbtJtw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-musl@14.1.4:
+ resolution: {integrity: sha512-mqVxTwk4XuBl49qn2A5UmzFImoL1iLm0KQQwtdRJRKl21ylQwwGCxJtIYo2rbfkZHoSKlh/YgztY0qH3wG1xIg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@14.1.4:
+ resolution: {integrity: sha512-xzxF4ErcumXjO2Pvg/wVGrtr9QQJLk3IyQX1ddAC/fi6/5jZCZ9xpuL9Tzc4KPWMFq8GGWFVDMshZOdHGdkvag==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@14.1.4:
+ resolution: {integrity: sha512-WZiz8OdbkpRw6/IU/lredZWKKZopUMhcI2F+XiMAcPja0uZYdMTZQRoQ0WZcvinn9xZAidimE7tN9W5v9Yyfyw==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-x64-msvc@14.1.4:
+ resolution: {integrity: sha512-4Rto21sPfw555sZ/XNLqfxDUNeLhNYGO2dlPqsnuCg8N8a2a9u1ltqBOPQ4vj1Gf7eJC0W2hHG2eYUHuiXgY2w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@noble/curves@1.2.0:
+ resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==}
+ dependencies:
+ '@noble/hashes': 1.3.2
+ dev: false
+
+ /@noble/curves@1.3.0:
+ resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==}
+ dependencies:
+ '@noble/hashes': 1.3.3
+ dev: false
+
+ /@noble/hashes@1.3.2:
+ resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==}
+ engines: {node: '>= 16'}
+ dev: false
+
+ /@noble/hashes@1.3.3:
+ resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==}
+ engines: {node: '>= 16'}
+ dev: false
+
+ /@noble/hashes@1.4.0:
+ resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
+ engines: {node: '>= 16'}
+ dev: false
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+ dev: true
+
+ /@pandacss/config@0.36.0:
+ resolution: {integrity: sha512-UFoIx7QYxGuFD8Rgp5ibkYMbO3XPzFKaDdEWo7X90yNP27ca0x1VauStdHZlGsmx0ZXSAhQogzQywSrJj+aOJw==}
+ dependencies:
+ '@pandacss/logger': 0.36.0
+ '@pandacss/preset-base': 0.36.0
+ '@pandacss/preset-panda': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/types': 0.36.0
+ bundle-n-require: 1.1.1
+ escalade: 3.1.2
+ merge-anything: 5.1.7
+ microdiff: 1.3.2
+ typescript: 5.3.3
+ dev: true
+
+ /@pandacss/core@0.36.0:
+ resolution: {integrity: sha512-IMwZTZ1fXaAnChALS+lDuelGJ8dqYeJNVl+svxYyQ/3ifWM8a71rQHkZiOm3WIHKX448QeljF1cu5FnFNK0g+g==}
+ dependencies:
+ '@csstools/postcss-cascade-layers': 4.0.3(postcss@8.4.35)
+ '@pandacss/is-valid-prop': 0.36.0
+ '@pandacss/logger': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/token-dictionary': 0.36.0
+ '@pandacss/types': 0.36.0
+ browserslist: 4.23.0
+ hookable: 5.5.3
+ lightningcss: 1.23.0
+ lodash.merge: 4.6.2
+ outdent: 0.8.0
+ postcss: 8.4.35
+ postcss-discard-duplicates: 6.0.1(postcss@8.4.35)
+ postcss-discard-empty: 6.0.1(postcss@8.4.35)
+ postcss-merge-rules: 6.0.3(postcss@8.4.35)
+ postcss-minify-selectors: 6.0.2(postcss@8.4.35)
+ postcss-nested: 6.0.1(postcss@8.4.35)
+ postcss-normalize-whitespace: 6.0.1(postcss@8.4.35)
+ postcss-selector-parser: 6.0.15
+ ts-pattern: 5.0.8
+ dev: true
+
+ /@pandacss/dev@0.36.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-Be6CuvBCgkiMkeXbj14i92ThkQMB0WttcVds52j1RQtu/G16HIRJVEp2l4lcjYvWVoiKZEi5r1/75P0nl7X5iQ==}
+ hasBin: true
+ dependencies:
+ '@clack/prompts': 0.7.0
+ '@pandacss/config': 0.36.0
+ '@pandacss/logger': 0.36.0
+ '@pandacss/node': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@pandacss/postcss': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@pandacss/preset-panda': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/token-dictionary': 0.36.0
+ '@pandacss/types': 0.36.0
+ cac: 6.7.14
+ transitivePeerDependencies:
+ - jsdom
+ - typescript
+ dev: true
+
+ /@pandacss/extractor@0.36.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-niYIMHokWwC/+h/IVK/aJPiTHSeLFFmG5rLB8M4+2MkpCCUyi7CNIHVtI4sUTdWHQxw2Pb+Zd8d8ZQgZwm9MVg==}
+ dependencies:
+ '@pandacss/shared': 0.36.0
+ ts-evaluator: 1.2.0(jsdom@24.0.0)(typescript@5.4.3)
+ ts-morph: 21.0.1
+ transitivePeerDependencies:
+ - jsdom
+ - typescript
+ dev: true
+
+ /@pandacss/generator@0.36.0:
+ resolution: {integrity: sha512-m15i2myad59DVBHHfEYmu6GuYbD4+Ok4qLtstz1soIGltRiLco0DFwWGtuga58qGWAO9AKQ7UtFj2bao6PGQlA==}
+ dependencies:
+ '@pandacss/core': 0.36.0
+ '@pandacss/is-valid-prop': 0.36.0
+ '@pandacss/logger': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/token-dictionary': 0.36.0
+ '@pandacss/types': 0.36.0
+ javascript-stringify: 2.1.0
+ outdent: 0.8.0
+ pluralize: 8.0.0
+ postcss: 8.4.35
+ ts-pattern: 5.0.8
+ dev: true
+
+ /@pandacss/is-valid-prop@0.36.0:
+ resolution: {integrity: sha512-GgTy97wfdwRqP7mrQPXgpafhoT+BBWd4YVtgXX36+xVrWqKH7tDjU+LvDFrRu+RxT7Zrlv0PSG6+Zc6wmGCjBw==}
+ dev: true
+
+ /@pandacss/logger@0.36.0:
+ resolution: {integrity: sha512-dVe/hGAQi9UUp1buCTkjsqAqEfyAgXbtLnSCAIH/CC0RZV/K82FcbEhTlsGwFw3rSt6A9tBL+G+Dlnfy42jBDQ==}
+ dependencies:
+ '@pandacss/types': 0.36.0
+ kleur: 4.1.5
+ dev: true
+
+ /@pandacss/node@0.36.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-6dNdNYnPFm6/kEbOS6Ib0zn8oCSKRM91B65psImWC90xDk8QAdmhxIAUNb3lNPGbQqBho6y0wvo/Uc3GVDwQjw==}
+ dependencies:
+ '@pandacss/config': 0.36.0
+ '@pandacss/core': 0.36.0
+ '@pandacss/extractor': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@pandacss/generator': 0.36.0
+ '@pandacss/logger': 0.36.0
+ '@pandacss/parser': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@pandacss/shared': 0.36.0
+ '@pandacss/token-dictionary': 0.36.0
+ '@pandacss/types': 0.36.0
+ browserslist: 4.23.0
+ chokidar: 3.6.0
+ fast-glob: 3.3.2
+ file-size: 1.0.0
+ filesize: 10.1.0
+ fs-extra: 11.2.0
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ lodash.merge: 4.6.2
+ look-it-up: 2.1.0
+ outdent: 0.8.0
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ pluralize: 8.0.0
+ postcss: 8.4.35
+ preferred-pm: 3.1.2
+ prettier: 3.2.5
+ ts-morph: 21.0.1
+ ts-pattern: 5.0.8
+ tsconfck: 3.0.2(typescript@5.4.3)
+ transitivePeerDependencies:
+ - jsdom
+ - typescript
+ dev: true
+
+ /@pandacss/parser@0.36.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-yJx0dICeuhkQtVw5Le5txEePF9KPJ9mijmCLg1GMksgcMW47IIY9NwEflezphMwTa1PLNTrAJy56NaVGetPdvg==}
+ dependencies:
+ '@pandacss/config': 0.36.0
+ '@pandacss/core': 0.36.0
+ '@pandacss/extractor': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ '@pandacss/logger': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/types': 0.36.0
+ '@vue/compiler-sfc': 3.4.19
+ magic-string: 0.30.8
+ ts-morph: 21.0.1
+ ts-pattern: 5.0.8
+ transitivePeerDependencies:
+ - jsdom
+ - typescript
+ dev: true
+
+ /@pandacss/postcss@0.36.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-mFNMJQUVNS5PLzoiUQ4yw+74nsDLKA2UsdQ2SkrWjx2nehif0ZlSQCpVJuh/U6VtjfRiqLluqB9sIq+F5c4oCg==}
+ dependencies:
+ '@pandacss/node': 0.36.0(jsdom@24.0.0)(typescript@5.4.3)
+ postcss: 8.4.35
+ transitivePeerDependencies:
+ - jsdom
+ - typescript
+ dev: true
+
+ /@pandacss/preset-base@0.36.0:
+ resolution: {integrity: sha512-ZskbtBIR5Mgrj6XFra6zNI+pCGYoTUsU6gp4YZ/UxtxTCqrwsJAhjQ6AIYytZ369xsw8wWU2njWNrJ+Pt0kpKw==}
+ dependencies:
+ '@pandacss/types': 0.36.0
+ dev: true
+
+ /@pandacss/preset-panda@0.36.0:
+ resolution: {integrity: sha512-dwv8avrBldcBX7v3cNIEqPShAb99ntNOVnpPjosCjULa69sHgqd8IWHh7L02oqj/fiY2IkRCHObkdQM0cYyLlA==}
+ dependencies:
+ '@pandacss/types': 0.36.0
+ dev: true
+
+ /@pandacss/shared@0.36.0:
+ resolution: {integrity: sha512-XL/UZPFK/QGwCFr6ALkQD2fuhTUTlDKjJ9gEufsEsx3KQkTRJkh6FS4QOqPF/O6n10fjGlzvmuzsydk2QK3L5w==}
+ dev: true
+
+ /@pandacss/token-dictionary@0.36.0:
+ resolution: {integrity: sha512-qR476xBdc7MrNoCaBhHSNTNbj2ALgIdVV7DtzkRC6w45pqPXmwUuoaxsg5csDckr8qC1s+j19RB+/kEakt5P1A==}
+ dependencies:
+ '@pandacss/logger': 0.36.0
+ '@pandacss/shared': 0.36.0
+ '@pandacss/types': 0.36.0
+ ts-pattern: 5.0.8
+ dev: true
+
+ /@pandacss/types@0.36.0:
+ resolution: {integrity: sha512-oFxoHnl3OdIuA7GWDoSPg/eVptyBbPQ4+eAl7vWN/Pf9fUZL+aW/zB3aSRYVjUWAiNiYIPAR5RaEe0Zi9m+iFA==}
+ dev: true
+
+ /@parcel/watcher-android-arm64@2.4.1:
+ resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-darwin-arm64@2.4.1:
+ resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-darwin-x64@2.4.1:
+ resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-freebsd-x64@2.4.1:
+ resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-linux-arm-glibc@2.4.1:
+ resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-linux-arm64-glibc@2.4.1:
+ resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-linux-arm64-musl@2.4.1:
+ resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-linux-x64-glibc@2.4.1:
+ resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-linux-x64-musl@2.4.1:
+ resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-wasm@2.4.1:
+ resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==}
+ engines: {node: '>= 10.0.0'}
+ dependencies:
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ dev: false
+ bundledDependencies:
+ - napi-wasm
+
+ /@parcel/watcher-win32-arm64@2.4.1:
+ resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-win32-ia32@2.4.1:
+ resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher-win32-x64@2.4.1:
+ resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@parcel/watcher@2.4.1:
+ resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
+ engines: {node: '>= 10.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ node-addon-api: 7.1.0
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.4.1
+ '@parcel/watcher-darwin-arm64': 2.4.1
+ '@parcel/watcher-darwin-x64': 2.4.1
+ '@parcel/watcher-freebsd-x64': 2.4.1
+ '@parcel/watcher-linux-arm-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-musl': 2.4.1
+ '@parcel/watcher-linux-x64-glibc': 2.4.1
+ '@parcel/watcher-linux-x64-musl': 2.4.1
+ '@parcel/watcher-win32-arm64': 2.4.1
+ '@parcel/watcher-win32-ia32': 2.4.1
+ '@parcel/watcher-win32-x64': 2.4.1
+ dev: false
+
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6):
+ resolution: {integrity: sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA==}
+ peerDependencies:
+ react-native: ^0.0.0-0 || >=0.60 <1.0
+ dependencies:
+ merge-options: 3.0.4
+ react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0)
+ dev: false
+
+ /@react-native-community/cli-clean@12.3.6:
+ resolution: {integrity: sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig==}
+ dependencies:
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ execa: 5.1.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-config@12.3.6:
+ resolution: {integrity: sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew==}
+ dependencies:
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ cosmiconfig: 5.2.1
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ joi: 17.12.2
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-debugger-ui@12.3.6:
+ resolution: {integrity: sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA==}
+ dependencies:
+ serve-static: 1.15.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@react-native-community/cli-doctor@12.3.6:
+ resolution: {integrity: sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ==}
+ dependencies:
+ '@react-native-community/cli-config': 12.3.6
+ '@react-native-community/cli-platform-android': 12.3.6
+ '@react-native-community/cli-platform-ios': 12.3.6
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ command-exists: 1.2.9
+ deepmerge: 4.3.1
+ envinfo: 7.11.1
+ execa: 5.1.1
+ hermes-profile-transformer: 0.0.6
+ node-stream-zip: 1.15.0
+ ora: 5.4.1
+ semver: 7.6.0
+ strip-ansi: 5.2.0
+ wcwidth: 1.0.1
+ yaml: 2.4.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-hermes@12.3.6:
+ resolution: {integrity: sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ==}
+ dependencies:
+ '@react-native-community/cli-platform-android': 12.3.6
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ hermes-profile-transformer: 0.0.6
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-platform-android@12.3.6:
+ resolution: {integrity: sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g==}
+ dependencies:
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-xml-parser: 4.3.6
+ glob: 7.2.3
+ logkitty: 0.7.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-platform-ios@12.3.6:
+ resolution: {integrity: sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg==}
+ dependencies:
+ '@react-native-community/cli-tools': 12.3.6
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-xml-parser: 4.3.6
+ glob: 7.2.3
+ ora: 5.4.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-plugin-metro@12.3.6:
+ resolution: {integrity: sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg==}
+ dev: false
+
+ /@react-native-community/cli-server-api@12.3.6:
+ resolution: {integrity: sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ==}
+ dependencies:
+ '@react-native-community/cli-debugger-ui': 12.3.6
+ '@react-native-community/cli-tools': 12.3.6
+ compression: 1.7.4
+ connect: 3.7.0
+ errorhandler: 1.5.1
+ nocache: 3.0.4
+ pretty-format: 26.6.2
+ serve-static: 1.15.0
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native-community/cli-tools@12.3.6:
+ resolution: {integrity: sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ==}
+ dependencies:
+ appdirsjs: 1.2.7
+ chalk: 4.1.2
+ find-up: 5.0.0
+ mime: 2.6.0
+ node-fetch: 2.7.0
+ open: 6.4.0
+ ora: 5.4.1
+ semver: 7.6.0
+ shell-quote: 1.8.1
+ sudo-prompt: 9.2.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-types@12.3.6:
+ resolution: {integrity: sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q==}
+ dependencies:
+ joi: 17.12.2
+ dev: false
+
+ /@react-native-community/cli@12.3.6:
+ resolution: {integrity: sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ '@react-native-community/cli-clean': 12.3.6
+ '@react-native-community/cli-config': 12.3.6
+ '@react-native-community/cli-debugger-ui': 12.3.6
+ '@react-native-community/cli-doctor': 12.3.6
+ '@react-native-community/cli-hermes': 12.3.6
+ '@react-native-community/cli-plugin-metro': 12.3.6
+ '@react-native-community/cli-server-api': 12.3.6
+ '@react-native-community/cli-tools': 12.3.6
+ '@react-native-community/cli-types': 12.3.6
+ chalk: 4.1.2
+ commander: 9.5.0
+ deepmerge: 4.3.1
+ execa: 5.1.1
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+ graceful-fs: 4.2.11
+ prompts: 2.4.2
+ semver: 7.6.0
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native/assets-registry@0.73.1:
+ resolution: {integrity: sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.3)
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
+ dev: false
+
+ /@react-native/babel-preset@0.73.21(@babel/core@7.24.3)(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.3)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.3)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.3)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
+ '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3)
+ '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3)
+ '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.3)
+ '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3)
+ '@babel/template': 7.24.0
+ '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.3)
+ babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.3)
+ react-refresh: 0.14.0
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
+ dev: false
+
+ /@react-native/codegen@0.73.3(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/preset-env': ^7.1.6
+ dependencies:
+ '@babel/parser': 7.24.1
+ '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
+ flow-parser: 0.206.0
+ glob: 7.2.3
+ invariant: 2.2.4
+ jscodeshift: 0.14.0(@babel/preset-env@7.24.3)
+ mkdirp: 0.5.6
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@react-native/community-cli-plugin@0.73.17(@babel/core@7.24.3)(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@react-native-community/cli-server-api': 12.3.6
+ '@react-native-community/cli-tools': 12.3.6
+ '@react-native/dev-middleware': 0.73.8
+ '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.3)(@babel/preset-env@7.24.3)
+ chalk: 4.1.2
+ execa: 5.1.1
+ metro: 0.80.7
+ metro-config: 0.80.7
+ metro-core: 0.80.7
+ node-fetch: 2.7.0
+ readline: 1.3.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@babel/preset-env'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native/debugger-frontend@0.73.3:
+ resolution: {integrity: sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /@react-native/dev-middleware@0.73.8:
+ resolution: {integrity: sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@isaacs/ttlcache': 1.4.1
+ '@react-native/debugger-frontend': 0.73.3
+ chrome-launcher: 0.15.2
+ chromium-edge-launcher: 1.0.0
+ connect: 3.7.0
+ debug: 2.6.9
+ node-fetch: 2.7.0
+ open: 7.4.2
+ serve-static: 1.15.0
+ temp-dir: 2.0.0
+ ws: 6.2.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native/gradle-plugin@0.73.4:
+ resolution: {integrity: sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /@react-native/js-polyfills@0.73.1:
+ resolution: {integrity: sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.3)(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.24.3
+ '@react-native/babel-preset': 0.73.21(@babel/core@7.24.3)(@babel/preset-env@7.24.3)
+ hermes-parser: 0.15.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
+ dev: false
+
+ /@react-native/normalize-colors@0.73.2:
+ resolution: {integrity: sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==}
+ dev: false
+
+ /@react-native/virtualized-lists@0.73.4(react-native@0.73.6):
+ resolution: {integrity: sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0)
+ dev: false
+
+ /@react-spring/animated@9.7.3(react@18.2.0):
+ resolution: {integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/shared': 9.7.3(react@18.2.0)
+ '@react-spring/types': 9.7.3
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/core@9.7.3(react@18.2.0):
+ resolution: {integrity: sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/animated': 9.7.3(react@18.2.0)
+ '@react-spring/shared': 9.7.3(react@18.2.0)
+ '@react-spring/types': 9.7.3
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/shared@9.7.3(react@18.2.0):
+ resolution: {integrity: sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/types': 9.7.3
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/types@9.7.3:
+ resolution: {integrity: sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==}
+ dev: false
+
+ /@react-spring/web@9.7.3(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/animated': 9.7.3(react@18.2.0)
+ '@react-spring/core': 9.7.3(react@18.2.0)
+ '@react-spring/shared': 9.7.3(react@18.2.0)
+ '@react-spring/types': 9.7.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@rollup/rollup-android-arm-eabi@4.13.0:
+ resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.13.0:
+ resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.13.0:
+ resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.13.0:
+ resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
+ resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.13.0:
+ resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.13.0:
+ resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.13.0:
+ resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.13.0:
+ resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.13.0:
+ resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.13.0:
+ resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.13.0:
+ resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.13.0:
+ resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rushstack/eslint-patch@1.8.0:
+ resolution: {integrity: sha512-0HejFckBN2W+ucM6cUOlwsByTKt9/+0tWhqUffNIcHqCXkthY/mZ7AuYPK/2IIaGWhdl0h+tICDO0ssLMd6XMQ==}
+ dev: true
+
+ /@safe-global/safe-apps-provider@0.18.1(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==}
+ dependencies:
+ '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.4.3)(zod@3.22.4)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@safe-global/safe-apps-sdk@8.1.0(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==}
+ dependencies:
+ '@safe-global/safe-gateway-typescript-sdk': 3.19.0
+ viem: 1.21.4(typescript@5.4.3)(zod@3.22.4)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@safe-global/safe-gateway-typescript-sdk@3.19.0:
+ resolution: {integrity: sha512-TRlP05KY6t3wjLJ74FiirWlEt3xTclnUQM2YdYto1jx5G1o0meMnugIUZXhzm7Bs3rDEDNhz/aDf2KMSZtoCFg==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /@scure/base@1.1.6:
+ resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==}
+ dev: false
+
+ /@scure/bip32@1.3.2:
+ resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==}
+ dependencies:
+ '@noble/curves': 1.2.0
+ '@noble/hashes': 1.3.2
+ '@scure/base': 1.1.6
+ dev: false
+
+ /@scure/bip32@1.3.3:
+ resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==}
+ dependencies:
+ '@noble/curves': 1.3.0
+ '@noble/hashes': 1.3.3
+ '@scure/base': 1.1.6
+ dev: false
+
+ /@scure/bip39@1.2.1:
+ resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==}
+ dependencies:
+ '@noble/hashes': 1.3.2
+ '@scure/base': 1.1.6
+ dev: false
+
+ /@scure/bip39@1.2.2:
+ resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==}
+ dependencies:
+ '@noble/hashes': 1.3.3
+ '@scure/base': 1.1.6
+ dev: false
+
+ /@sideway/address@4.1.5:
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: false
+
+ /@sideway/formula@3.0.1:
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+ dev: false
+
+ /@sideway/pinpoint@2.0.0:
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ dev: false
+
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+ /@sinonjs/commons@3.0.1:
+ resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
+ dependencies:
+ type-detect: 4.0.8
+ dev: false
+
+ /@sinonjs/fake-timers@10.3.0:
+ resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
+ dependencies:
+ '@sinonjs/commons': 3.0.1
+ dev: false
+
+ /@socket.io/component-emitter@3.1.0:
+ resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==}
+ dev: false
+
+ /@stablelib/aead@1.0.1:
+ resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==}
+ dev: false
+
+ /@stablelib/binary@1.0.1:
+ resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==}
+ dependencies:
+ '@stablelib/int': 1.0.1
+ dev: false
+
+ /@stablelib/bytes@1.0.1:
+ resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==}
+ dev: false
+
+ /@stablelib/chacha20poly1305@1.0.1:
+ resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==}
+ dependencies:
+ '@stablelib/aead': 1.0.1
+ '@stablelib/binary': 1.0.1
+ '@stablelib/chacha': 1.0.1
+ '@stablelib/constant-time': 1.0.1
+ '@stablelib/poly1305': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/chacha@1.0.1:
+ resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==}
+ dependencies:
+ '@stablelib/binary': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/constant-time@1.0.1:
+ resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==}
+ dev: false
+
+ /@stablelib/ed25519@1.0.3:
+ resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==}
+ dependencies:
+ '@stablelib/random': 1.0.2
+ '@stablelib/sha512': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/hash@1.0.1:
+ resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==}
+ dev: false
+
+ /@stablelib/hkdf@1.0.1:
+ resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==}
+ dependencies:
+ '@stablelib/hash': 1.0.1
+ '@stablelib/hmac': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/hmac@1.0.1:
+ resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==}
+ dependencies:
+ '@stablelib/constant-time': 1.0.1
+ '@stablelib/hash': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/int@1.0.1:
+ resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==}
+ dev: false
+
+ /@stablelib/keyagreement@1.0.1:
+ resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==}
+ dependencies:
+ '@stablelib/bytes': 1.0.1
+ dev: false
+
+ /@stablelib/poly1305@1.0.1:
+ resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==}
+ dependencies:
+ '@stablelib/constant-time': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/random@1.0.2:
+ resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==}
+ dependencies:
+ '@stablelib/binary': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/sha256@1.0.1:
+ resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==}
+ dependencies:
+ '@stablelib/binary': 1.0.1
+ '@stablelib/hash': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/sha512@1.0.1:
+ resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==}
+ dependencies:
+ '@stablelib/binary': 1.0.1
+ '@stablelib/hash': 1.0.1
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@stablelib/wipe@1.0.1:
+ resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==}
+ dev: false
+
+ /@stablelib/x25519@1.0.3:
+ resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==}
+ dependencies:
+ '@stablelib/keyagreement': 1.0.1
+ '@stablelib/random': 1.0.2
+ '@stablelib/wipe': 1.0.1
+ dev: false
+
+ /@swc/helpers@0.5.2:
+ resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /@tanstack/query-core@5.28.6:
+ resolution: {integrity: sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==}
+ dev: false
+
+ /@tanstack/react-query@5.28.6(react@18.2.0):
+ resolution: {integrity: sha512-/DdYuDBSsA21Qbcder1R8Cr/3Nx0ZnA2lgtqKsLMvov8wL4+g0HBz/gWYZPlIsof7iyfQafyhg4wUVUsS3vWZw==}
+ peerDependencies:
+ react: ^18.0.0
+ dependencies:
+ '@tanstack/query-core': 5.28.6
+ react: 18.2.0
+ dev: false
+
+ /@testing-library/dom@9.3.4:
+ resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/runtime': 7.24.1
+ '@types/aria-query': 5.0.4
+ aria-query: 5.1.3
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+ dev: true
+
+ /@testing-library/jest-dom@6.4.2(vitest@1.4.0):
+ resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+ peerDependencies:
+ '@jest/globals': '>= 28'
+ '@types/bun': latest
+ '@types/jest': '>= 28'
+ jest: '>= 28'
+ vitest: '>= 0.32'
+ peerDependenciesMeta:
+ '@jest/globals':
+ optional: true
+ '@types/bun':
+ optional: true
+ '@types/jest':
+ optional: true
+ jest:
+ optional: true
+ vitest:
+ optional: true
+ dependencies:
+ '@adobe/css-tools': 4.3.3
+ '@babel/runtime': 7.23.9
+ aria-query: 5.3.0
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ lodash: 4.17.21
+ redent: 3.0.0
+ vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)
+ dev: true
+
+ /@testing-library/react@14.2.2(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-SOUuM2ysCvjUWBXTNfQ/ztmnKDmqaiPV3SvoIuyxMUca45rbSWWAT/qB8CUs/JQ/ux/8JFs9DNdFQ3f6jH3crA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.24.1
+ '@testing-library/dom': 9.3.4
+ '@types/react-dom': 18.2.22
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4):
+ resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
+ engines: {node: '>=12', npm: '>=6'}
+ peerDependencies:
+ '@testing-library/dom': '>=7.21.4'
+ dependencies:
+ '@testing-library/dom': 9.3.4
+ dev: true
+
+ /@ts-morph/common@0.22.0:
+ resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==}
+ dependencies:
+ fast-glob: 3.3.2
+ minimatch: 9.0.3
+ mkdirp: 3.0.1
+ path-browserify: 1.0.1
+ dev: true
+
+ /@tsconfig/node10@1.0.9:
+ resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
+ dev: true
+
+ /@tsconfig/node12@1.0.11:
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+ dev: true
+
+ /@tsconfig/node14@1.0.3:
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+ dev: true
+
+ /@tsconfig/node16@1.0.4:
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+ dev: true
+
+ /@types/aria-query@5.0.4:
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+ dev: true
+
+ /@types/chrome@0.0.136:
+ resolution: {integrity: sha512-XDEiRhLkMd+SB7Iw3ZUIj/fov3wLd4HyTdLltVszkgl1dBfc3Rb7oPMVZ2Mz2TLqnF7Ow+StbR8E7r9lqpb4DA==}
+ dependencies:
+ '@types/filesystem': 0.0.36
+ '@types/har-format': 1.2.15
+ dev: false
+
+ /@types/debug@4.1.12:
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+ dependencies:
+ '@types/ms': 0.7.34
+ dev: false
+
+ /@types/dom-screen-wake-lock@1.0.3:
+ resolution: {integrity: sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==}
+ dev: false
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
+ /@types/filesystem@0.0.36:
+ resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==}
+ dependencies:
+ '@types/filewriter': 0.0.33
+ dev: false
+
+ /@types/filewriter@0.0.33:
+ resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==}
+ dev: false
+
+ /@types/har-format@1.2.15:
+ resolution: {integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==}
+ dev: false
+
+ /@types/istanbul-lib-coverage@2.0.6:
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+ dev: false
+
+ /@types/istanbul-lib-report@3.0.3:
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ dev: false
+
+ /@types/istanbul-reports@3.0.4:
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+ dev: false
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/ms@0.7.34:
+ resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ dev: false
+
+ /@types/node@17.0.45:
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+ dev: true
+
+ /@types/node@20.11.30:
+ resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
+ dependencies:
+ undici-types: 5.26.5
+
+ /@types/parse-json@4.0.2:
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ dev: false
+
+ /@types/prop-types@15.7.12:
+ resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+
+ /@types/react-dom@18.2.22:
+ resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==}
+ dependencies:
+ '@types/react': 18.2.68
+ dev: true
+
+ /@types/react@18.2.68:
+ resolution: {integrity: sha512-Fj/BAR6LDSRkqinWfo9nGzW9ndpjEtP049oIW8KWToucUq7AJVCr/fyY9NFpaJaCXnGrKHLLs2mwiHYE1SxaxA==}
+ dependencies:
+ '@types/prop-types': 15.7.12
+ '@types/scheduler': 0.16.8
+ csstype: 3.1.3
+
+ /@types/scheduler@0.16.8:
+ resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+
+ /@types/secp256k1@4.0.6:
+ resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==}
+ dependencies:
+ '@types/node': 20.11.30
+ dev: false
+
+ /@types/semver@7.5.8:
+ resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
+ dev: true
+
+ /@types/stack-utils@2.0.3:
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+ dev: false
+
+ /@types/trusted-types@2.0.7:
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+ dev: false
+
+ /@types/yargs-parser@21.0.3:
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+ dev: false
+
+ /@types/yargs@15.0.19:
+ resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+ dev: false
+
+ /@types/yargs@17.0.32:
+ resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+ dev: false
+
+ /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ '@typescript-eslint/scope-manager': 7.3.1
+ '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ '@typescript-eslint/visitor-keys': 7.3.1
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.57.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.3)
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3)
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.57.0
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 7.3.1
+ '@typescript-eslint/types': 7.3.1
+ '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
+ '@typescript-eslint/visitor-keys': 7.3.1
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.57.0
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@6.21.0:
+ resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+ dev: true
+
+ /@typescript-eslint/scope-manager@7.3.1:
+ resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.3.1
+ '@typescript-eslint/visitor-keys': 7.3.1
+ dev: true
+
+ /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
+ '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.57.0
+ ts-api-utils: 1.3.0(typescript@5.4.3)
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@6.21.0:
+ resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
+ /@typescript-eslint/types@7.3.1:
+ resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.3):
+ resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4(supports-color@5.5.0)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.3)
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3):
+ resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 7.3.1
+ '@typescript-eslint/visitor-keys': 7.3.1
+ debug: 4.3.4(supports-color@5.5.0)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.3)
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.8
+ '@typescript-eslint/scope-manager': 7.3.1
+ '@typescript-eslint/types': 7.3.1
+ '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
+ eslint: 8.57.0
+ semver: 7.6.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.21.0:
+ resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@typescript-eslint/visitor-keys@7.3.1:
+ resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.3.1
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ dev: true
+
+ /@vitest/expect@1.4.0:
+ resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==}
+ dependencies:
+ '@vitest/spy': 1.4.0
+ '@vitest/utils': 1.4.0
+ chai: 4.4.1
+ dev: true
+
+ /@vitest/runner@1.4.0:
+ resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==}
+ dependencies:
+ '@vitest/utils': 1.4.0
+ p-limit: 5.0.0
+ pathe: 1.1.2
+ dev: true
+
+ /@vitest/snapshot@1.4.0:
+ resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==}
+ dependencies:
+ magic-string: 0.30.8
+ pathe: 1.1.2
+ pretty-format: 29.7.0
+ dev: true
+
+ /@vitest/spy@1.4.0:
+ resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==}
+ dependencies:
+ tinyspy: 2.2.1
+ dev: true
+
+ /@vitest/utils@1.4.0:
+ resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==}
+ dependencies:
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
+ dev: true
+
+ /@vue/compiler-core@3.4.19:
+ resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==}
+ dependencies:
+ '@babel/parser': 7.24.1
+ '@vue/shared': 3.4.19
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
+ dev: true
+
+ /@vue/compiler-dom@3.4.19:
+ resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==}
+ dependencies:
+ '@vue/compiler-core': 3.4.19
+ '@vue/shared': 3.4.19
+ dev: true
+
+ /@vue/compiler-sfc@3.4.19:
+ resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==}
+ dependencies:
+ '@babel/parser': 7.24.1
+ '@vue/compiler-core': 3.4.19
+ '@vue/compiler-dom': 3.4.19
+ '@vue/compiler-ssr': 3.4.19
+ '@vue/shared': 3.4.19
+ estree-walker: 2.0.2
+ magic-string: 0.30.8
+ postcss: 8.4.35
+ source-map-js: 1.2.0
+ dev: true
+
+ /@vue/compiler-ssr@3.4.19:
+ resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==}
+ dependencies:
+ '@vue/compiler-dom': 3.4.19
+ '@vue/shared': 3.4.19
+ dev: true
+
+ /@vue/shared@3.4.19:
+ resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==}
+ dev: true
+
+ /@wagmi/connectors@4.1.18(@types/react@18.2.68)(@wagmi/core@2.6.9)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4):
+ resolution: {integrity: sha512-K/iLH/Z8jwvgPAYESU/uCQtQBvcIR1Jrqk+t2uCDSxew/tYtkOo2yOjtaPuOb+xJ5OrMGg+0tVHhGChYXry9Ow==}
+ peerDependencies:
+ '@wagmi/core': 2.6.9
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@coinbase/wallet-sdk': 3.9.1
+ '@metamask/sdk': 0.14.3(@types/react@18.2.68)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)
+ '@safe-global/safe-apps-provider': 0.18.1(typescript@5.4.3)(zod@3.22.4)
+ '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.4.3)(zod@3.22.4)
+ '@wagmi/core': 2.6.9(@types/react@18.2.68)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4)
+ '@walletconnect/ethereum-provider': 2.11.2(@types/react@18.2.68)(react@18.2.0)
+ '@walletconnect/modal': 2.6.2(@types/react@18.2.68)(react@18.2.0)
+ typescript: 5.4.3
+ viem: 2.8.18(typescript@5.4.3)(zod@3.22.4)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - react
+ - react-dom
+ - react-native
+ - rollup
+ - supports-color
+ - uWebSockets.js
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@wagmi/core@2.6.9(@types/react@18.2.68)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4):
+ resolution: {integrity: sha512-AbNbHK+m60mfMTds0flv5YYJGp+JSz8O8ikzX+T7MdemFrYA9tZr6G+iSEnf+JLtcgiaCgQqUwac/WmmTkDiMA==}
+ peerDependencies:
+ '@tanstack/query-core': '>=5.0.0'
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ '@tanstack/query-core':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ eventemitter3: 5.0.1
+ mipd: 0.0.5(typescript@5.4.3)(zod@3.22.4)
+ typescript: 5.4.3
+ viem: 2.8.18(typescript@5.4.3)(zod@3.22.4)
+ zustand: 4.4.1(@types/react@18.2.68)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - bufferutil
+ - immer
+ - react
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@walletconnect/core@2.11.2:
+ resolution: {integrity: sha512-bB4SiXX8hX3/hyBfVPC5gwZCXCl+OPj+/EDVM71iAO3TDsh78KPbrVAbDnnsbHzZVHlsMohtXX3j5XVsheN3+g==}
+ dependencies:
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/jsonrpc-ws-connection': 1.0.14
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 2.0.1
+ '@walletconnect/relay-api': 1.0.9
+ '@walletconnect/relay-auth': 1.0.4
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.2
+ '@walletconnect/utils': 2.11.2
+ events: 3.3.0
+ isomorphic-unfetch: 3.1.0
+ lodash.isequal: 4.5.0
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
+ /@walletconnect/environment@1.0.1:
+ resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==}
+ dependencies:
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/ethereum-provider@2.11.2(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-BUDqee0Uy2rCZVkW5Ao3q6Ado/3fePYnFdryVF+YL6bPhj+xQZ5OfKodl+uvs7Rwq++O5wTX2RqOTzpW7+v+Mg==}
+ dependencies:
+ '@walletconnect/jsonrpc-http-connection': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/modal': 2.6.2(@types/react@18.2.68)(react@18.2.0)
+ '@walletconnect/sign-client': 2.11.2
+ '@walletconnect/types': 2.11.2
+ '@walletconnect/universal-provider': 2.11.2
+ '@walletconnect/utils': 2.11.2
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - react
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
+ /@walletconnect/events@1.0.1:
+ resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==}
+ dependencies:
+ keyvaluestorage-interface: 1.0.0
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/heartbeat@1.2.1:
+ resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==}
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/time': 1.0.2
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/jsonrpc-http-connection@1.0.7:
+ resolution: {integrity: sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==}
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ cross-fetch: 3.1.8
+ tslib: 1.14.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@walletconnect/jsonrpc-provider@1.0.13:
+ resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==}
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/jsonrpc-types@1.0.3:
+ resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==}
+ dependencies:
+ keyvaluestorage-interface: 1.0.0
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/jsonrpc-utils@1.0.8:
+ resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==}
+ dependencies:
+ '@walletconnect/environment': 1.0.1
+ '@walletconnect/jsonrpc-types': 1.0.3
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/jsonrpc-ws-connection@1.0.14:
+ resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==}
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ events: 3.3.0
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
+ /@walletconnect/keyvaluestorage@1.1.1:
+ resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==}
+ peerDependencies:
+ '@react-native-async-storage/async-storage': 1.x
+ peerDependenciesMeta:
+ '@react-native-async-storage/async-storage':
+ optional: true
+ dependencies:
+ '@walletconnect/safe-json': 1.0.2
+ idb-keyval: 6.2.1
+ unstorage: 1.10.2(idb-keyval@6.2.1)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
+ /@walletconnect/logger@2.0.1:
+ resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==}
+ dependencies:
+ pino: 7.11.0
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/modal-core@2.6.2(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==}
+ dependencies:
+ valtio: 1.11.2(@types/react@18.2.68)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - react
+ dev: false
+
+ /@walletconnect/modal-ui@2.6.2(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==}
+ dependencies:
+ '@walletconnect/modal-core': 2.6.2(@types/react@18.2.68)(react@18.2.0)
+ lit: 2.8.0
+ motion: 10.16.2
+ qrcode: 1.5.3
+ transitivePeerDependencies:
+ - '@types/react'
+ - react
+ dev: false
+
+ /@walletconnect/modal@2.6.2(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==}
+ dependencies:
+ '@walletconnect/modal-core': 2.6.2(@types/react@18.2.68)(react@18.2.0)
+ '@walletconnect/modal-ui': 2.6.2(@types/react@18.2.68)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - react
+ dev: false
+
+ /@walletconnect/relay-api@1.0.9:
+ resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==}
+ dependencies:
+ '@walletconnect/jsonrpc-types': 1.0.3
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/relay-auth@1.0.4:
+ resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==}
+ dependencies:
+ '@stablelib/ed25519': 1.0.3
+ '@stablelib/random': 1.0.2
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ tslib: 1.14.1
+ uint8arrays: 3.1.1
+ dev: false
+
+ /@walletconnect/safe-json@1.0.2:
+ resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==}
+ dependencies:
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/sign-client@2.11.2:
+ resolution: {integrity: sha512-MfBcuSz2GmMH+P7MrCP46mVE5qhP0ZyWA0FyIH6/WuxQ6G+MgKsGfaITqakpRPsykWOJq8tXMs3XvUPDU413OQ==}
+ dependencies:
+ '@walletconnect/core': 2.11.2
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/logger': 2.0.1
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.2
+ '@walletconnect/utils': 2.11.2
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
+ /@walletconnect/time@1.0.2:
+ resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==}
+ dependencies:
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/types@2.11.2:
+ resolution: {integrity: sha512-p632MFB+lJbip2cvtXPBQslpUdiw1sDtQ5y855bOlAGquay+6fZ4h1DcDePeKQDQM3P77ax2a9aNPZxV6y/h1Q==}
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 2.0.1
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
+ /@walletconnect/universal-provider@2.11.2:
+ resolution: {integrity: sha512-cNtIn5AVoDxKAJ4PmB8m5adnf5mYQMUamEUPKMVvOPscfGtIMQEh9peKsh2AN5xcRVDbgluC01Id545evFyymw==}
+ dependencies:
+ '@walletconnect/jsonrpc-http-connection': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/logger': 2.0.1
+ '@walletconnect/sign-client': 2.11.2
+ '@walletconnect/types': 2.11.2
+ '@walletconnect/utils': 2.11.2
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
+ /@walletconnect/utils@2.11.2:
+ resolution: {integrity: sha512-LyfdmrnZY6dWqlF4eDrx5jpUwsB2bEPjoqR5Z6rXPiHJKUOdJt7az+mNOn5KTSOlRpd1DmozrBrWr+G9fFLYVw==}
+ dependencies:
+ '@stablelib/chacha20poly1305': 1.0.1
+ '@stablelib/hkdf': 1.0.1
+ '@stablelib/random': 1.0.2
+ '@stablelib/sha256': 1.0.1
+ '@stablelib/x25519': 1.0.3
+ '@walletconnect/relay-api': 1.0.9
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.2
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ detect-browser: 5.3.0
+ query-string: 7.1.3
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
+ /@walletconnect/window-getters@1.0.1:
+ resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==}
+ dependencies:
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/window-metadata@1.0.1:
+ resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==}
+ dependencies:
+ '@walletconnect/window-getters': 1.0.1
+ tslib: 1.14.1
+ dev: false
+
+ /abitype@0.9.8(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.19.1
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+ dependencies:
+ typescript: 5.4.3
+ zod: 3.22.4
+ dev: false
+
+ /abitype@1.0.0(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.22.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+ dependencies:
+ typescript: 5.4.3
+ zod: 3.22.4
+ dev: false
+
+ /abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+ dependencies:
+ event-target-shim: 5.0.1
+ dev: false
+
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: false
+
+ /acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /agent-base@7.1.0:
+ resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ debug: 4.3.4(supports-color@5.5.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /anser@1.4.10:
+ resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==}
+ dev: false
+
+ /ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /ansi-fragments@0.2.1:
+ resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==}
+ dependencies:
+ colorette: 1.4.0
+ slice-ansi: 2.1.0
+ strip-ansi: 5.2.0
+ dev: false
+
+ /ansi-regex@4.1.1:
+ resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ /ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ /appdirsjs@1.2.7:
+ resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==}
+ dev: false
+
+ /arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+ dev: true
+
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /aria-query@5.1.3:
+ resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
+ dependencies:
+ deep-equal: 2.2.3
+ dev: true
+
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
+ dev: true
+
+ /array-includes@3.1.8:
+ resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ is-string: 1.0.7
+ dev: true
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.findlastindex@1.2.5:
+ resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.5
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.5
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.toreversed@1.1.2:
+ resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.5
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.5
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+ dev: true
+
+ /asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+ dev: false
+
+ /assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+ dev: true
+
+ /ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ dev: true
+
+ /ast-types@0.15.2:
+ resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /astral-regex@1.0.0:
+ resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /async-limiter@1.0.1:
+ resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
+ dev: false
+
+ /async-mutex@0.2.6:
+ resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: true
+
+ /atomic-sleep@1.0.0:
+ resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
+ engines: {node: '>=8.0.0'}
+ dev: false
+
+ /available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ possible-typed-array-names: 1.0.0
+
+ /axe-core@4.7.0:
+ resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /babel-core@7.0.0-bridge.0(@babel/core@7.24.3):
+ resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ dev: false
+
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+ dev: false
+
+ /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3):
+ resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/compat-data': 7.24.1
+ '@babel/core': 7.24.3
+ '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3):
+ resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
+ core-js-compat: 3.36.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /babel-plugin-styled-components@2.1.4(@babel/core@7.24.3)(styled-components@5.3.11):
+ resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==}
+ peerDependencies:
+ styled-components: '>= 2'
+ dependencies:
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.3)
+ lodash: 4.17.21
+ picomatch: 2.3.1
+ styled-components: 5.3.11(@babel/core@7.24.3)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@babel/core'
+ dev: false
+
+ /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.3):
+ resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
+ dependencies:
+ '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3)
+ transitivePeerDependencies:
+ - '@babel/core'
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ dev: false
+
+ /binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: false
+
+ /bn.js@4.12.0:
+ resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==}
+ dev: false
+
+ /bn.js@5.2.1:
+ resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
+ dev: false
+
+ /bowser@2.11.0:
+ resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
+ dev: false
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+
+ /brorand@1.1.0:
+ resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
+ dev: false
+
+ /browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001599
+ electron-to-chromium: 1.4.713
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.23.0)
+
+ /bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+ dependencies:
+ node-int64: 0.4.0
+ dev: false
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: false
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
+ /buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
+ /bufferutil@4.0.8:
+ resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
+ engines: {node: '>=6.14.2'}
+ requiresBuild: true
+ dependencies:
+ node-gyp-build: 4.8.0
+ dev: false
+
+ /bundle-n-require@1.1.1:
+ resolution: {integrity: sha512-EB2wFjXF106LQLe/CYnKCMCdLeTW47AtcEtUfiqAOgr2a08k0+YgRklur2aLfEYHlhz6baMskZ8L2U92Hh0vyA==}
+ dependencies:
+ esbuild: 0.20.2
+ node-eval: 2.0.0
+ dev: true
+
+ /busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+ dependencies:
+ streamsearch: 1.1.0
+ dev: false
+
+ /bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
+ dependencies:
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.3
+ set-function-length: 1.2.0
+
+ /call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.1
+
+ /caller-callsite@2.0.0:
+ resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ callsites: 2.0.0
+ dev: false
+
+ /caller-path@2.0.0:
+ resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-callsite: 2.0.0
+ dev: false
+
+ /callsites@2.0.0:
+ resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+ dev: false
+
+ /caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001599
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: true
+
+ /caniuse-lite@1.0.30001599:
+ resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==}
+
+ /chai@4.4.1:
+ resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
+ engines: {node: '>=4'}
+ dependencies:
+ assertion-error: 1.1.0
+ check-error: 1.0.3
+ deep-eql: 4.1.3
+ get-func-name: 2.0.2
+ loupe: 2.3.7
+ pathval: 1.1.1
+ type-detect: 4.0.8
+ dev: true
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ /check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
+ /chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ 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
+
+ /chrome-launcher@0.15.2:
+ resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+ dependencies:
+ '@types/node': 20.11.30
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /chromium-edge-launcher@1.0.0:
+ resolution: {integrity: sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==}
+ dependencies:
+ '@types/node': 20.11.30
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /ci-info@2.0.0:
+ resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+ dev: false
+
+ /ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /citty@0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+ dependencies:
+ consola: 3.2.3
+ dev: false
+
+ /cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: false
+
+ /cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ dev: false
+
+ /clipboardy@4.0.0:
+ resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
+ engines: {node: '>=18'}
+ dependencies:
+ execa: 8.0.1
+ is-wsl: 3.1.0
+ is64bit: 2.0.0
+ dev: false
+
+ /cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+ dev: false
+
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: false
+
+ /clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+ dev: false
+
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+ dev: false
+
+ /clsx@1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /code-block-writer@12.0.0:
+ resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==}
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ /colorette@1.4.0:
+ resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
+ dev: false
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: true
+
+ /command-exists@1.2.9:
+ resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+ dev: false
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: false
+
+ /commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+ dev: false
+
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: false
+
+ /compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: false
+
+ /compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ /connect@3.7.0:
+ resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ debug: 2.6.9
+ finalhandler: 1.1.2
+ parseurl: 1.3.3
+ utils-merge: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /connectkit@1.7.2(@babel/core@7.24.3)(@tanstack/react-query@5.28.6)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@2.8.18)(wagmi@2.5.12):
+ resolution: {integrity: sha512-3a8Zr8VUYva6Ou4CQBf3PmiESOPLSSRHQ62DIBXQAoHXdmNL5l7ubhSQ+xZc56KcBjGVHEI1tBW1CF7KHSa8jA==}
+ engines: {node: '>=12.4'}
+ peerDependencies:
+ '@tanstack/react-query': '>=5.0.0'
+ react: 17.x || 18.x
+ react-dom: 17.x || 18.x
+ viem: 2.x
+ wagmi: 2.x
+ dependencies:
+ '@tanstack/react-query': 5.28.6(react@18.2.0)
+ buffer: 6.0.3
+ detect-browser: 5.3.0
+ framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
+ qrcode: 1.5.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-transition-state: 1.1.5(react-dom@18.2.0)(react@18.2.0)
+ react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0)
+ resize-observer-polyfill: 1.5.1
+ styled-components: 5.3.11(@babel/core@7.24.3)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
+ viem: 2.8.18(typescript@5.4.3)(zod@3.22.4)
+ wagmi: 2.5.12(@tanstack/react-query@5.28.6)(@types/react@18.2.68)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - react-is
+ dev: false
+
+ /consola@3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+ dev: false
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: false
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ /cookie-es@1.0.0:
+ resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==}
+ dev: false
+
+ /core-js-compat@3.36.1:
+ resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==}
+ dependencies:
+ browserslist: 4.23.0
+ dev: false
+
+ /core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ dev: false
+
+ /cosmiconfig@5.2.1:
+ resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
+ engines: {node: '>=4'}
+ dependencies:
+ import-fresh: 2.0.0
+ is-directory: 0.3.1
+ js-yaml: 3.14.1
+ parse-json: 4.0.0
+ dev: false
+
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: false
+
+ /crc-32@1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+ dev: false
+
+ /create-require@1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+ dev: true
+
+ /cross-fetch@3.1.8:
+ resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /cross-fetch@4.0.0:
+ resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /crosspath@2.0.0:
+ resolution: {integrity: sha512-ju88BYCQ2uvjO2bR+SsgLSTwTSctU+6Vp2ePbKPgSCZyy4MWZxYsT738DlKVRE5utUjobjPRm1MkTYKJxCmpTA==}
+ engines: {node: '>=14.9.0'}
+ dependencies:
+ '@types/node': 17.0.45
+ dev: true
+
+ /crossws@0.2.4:
+ resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==}
+ peerDependencies:
+ uWebSockets.js: '*'
+ peerDependenciesMeta:
+ uWebSockets.js:
+ optional: true
+ dev: false
+
+ /css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /css-to-react-native@3.2.0:
+ resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+ dev: true
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /cssnano-utils@4.0.2(postcss@8.4.35):
+ resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.35
+ dev: true
+
+ /cssstyle@4.0.1:
+ resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ rrweb-cssom: 0.6.0
+ dev: true
+
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
+
+ /data-urls@5.0.0:
+ resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
+ engines: {node: '>=18'}
+ dependencies:
+ whatwg-mimetype: 4.0.0
+ whatwg-url: 14.0.0
+ dev: true
+
+ /data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
+ /data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
+ /data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
+ /date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ dev: false
+
+ /dax-sh@0.39.2:
+ resolution: {integrity: sha512-gpuGEkBQM+5y6p4cWaw9+ePy5TNon+fdwFVtTI8leU3UhwhsBfPewRxMXGuQNC+M2b/MDGMlfgpqynkcd0C3FQ==}
+ dependencies:
+ '@deno/shim-deno': 0.19.1
+ undici-types: 5.26.5
+ dev: true
+
+ /dayjs@1.11.10:
+ resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
+ dev: false
+
+ /debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ dev: false
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: false
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug@4.3.4(supports-color@5.5.0):
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ supports-color: 5.5.0
+
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ dev: true
+
+ /decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+ dev: false
+
+ /deep-eql@4.1.3:
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
+ /deep-equal@2.2.3:
+ resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ es-get-iterator: 1.1.3
+ get-intrinsic: 1.2.4
+ is-arguments: 1.1.1
+ is-array-buffer: 3.0.4
+ is-date-object: 1.0.5
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ isarray: 2.0.5
+ object-is: 1.1.6
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ side-channel: 1.0.6
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+ dev: false
+
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+
+ /define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+ dev: true
+
+ /defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ dev: false
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /denodeify@1.2.1:
+ resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==}
+ dev: false
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /deprecated-react-native-prop-types@5.0.0:
+ resolution: {integrity: sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@react-native/normalize-colors': 0.73.2
+ invariant: 2.2.4
+ prop-types: 15.8.1
+ dev: false
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /destr@2.0.3:
+ resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+ dev: false
+
+ /destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dev: false
+
+ /detect-browser@5.3.0:
+ resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==}
+ dev: false
+
+ /detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ /diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: true
+
+ /diff@4.0.2:
+ resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
+ engines: {node: '>=0.3.1'}
+ dev: true
+
+ /dijkstrajs@1.0.3:
+ resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
+ dev: false
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /dnum@2.11.0:
+ resolution: {integrity: sha512-JaVo6HlaVC3xHqoKmiiqTqk2/z2khBmkQTaPw78WkDsJESVX0zPPAhQ3Zv/QKx4L18LkbbPHg6pKl5vdQA5YEA==}
+ dependencies:
+ from-exponential: 1.1.1
+ dev: false
+
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+ dev: true
+
+ /dom-accessibility-api@0.6.3:
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+ dev: true
+
+ /dprint@0.45.0:
+ resolution: {integrity: sha512-3444h7V47XoA16qgIWjw3CV/Eo/rQbT/XTGlbJ/6vJ+apQyuo0+M3Ai0GS3wu7X9HBUDcA0zIHA3mOxWNz6toA==}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@dprint/darwin-arm64': 0.45.0
+ '@dprint/darwin-x64': 0.45.0
+ '@dprint/linux-arm64-glibc': 0.45.0
+ '@dprint/linux-arm64-musl': 0.45.0
+ '@dprint/linux-x64-glibc': 0.45.0
+ '@dprint/linux-x64-musl': 0.45.0
+ '@dprint/win32-x64': 0.45.0
+ dev: false
+
+ /duplexify@4.1.3:
+ resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
+ dependencies:
+ end-of-stream: 1.4.4
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ stream-shift: 1.0.3
+ dev: false
+
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ dev: true
+
+ /eciesjs@0.3.18:
+ resolution: {integrity: sha512-RQhegEtLSyIiGJmFTZfvCTHER/fymipXFVx6OwSRYD6hOuy+6Kjpk0dGvIfP9kxn/smBpxQy71uxpGO406ITCw==}
+ dependencies:
+ '@types/secp256k1': 4.0.6
+ futoin-hkdf: 1.5.3
+ secp256k1: 5.0.0
+ dev: false
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+ dev: false
+
+ /electron-to-chromium@1.4.713:
+ resolution: {integrity: sha512-vDarADhwntXiULEdmWd77g2dV6FrNGa8ecAC29MZ4TwPut2fvosD0/5sJd1qWNNe8HcJFAC+F5Lf9jW1NPtWmw==}
+
+ /elliptic@6.5.5:
+ resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==}
+ dependencies:
+ bn.js: 4.12.0
+ brorand: 1.1.0
+ hash.js: 1.1.7
+ hmac-drbg: 1.0.1
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+ dev: false
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: true
+
+ /encode-utf8@1.0.3:
+ resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
+ dev: false
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
+ dev: false
+
+ /engine.io-client@6.5.3(bufferutil@4.0.8)(utf-8-validate@6.0.3):
+ resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4(supports-color@5.5.0)
+ engine.io-parser: 5.2.2
+ ws: 8.11.0(bufferutil@4.0.8)(utf-8-validate@6.0.3)
+ xmlhttprequest-ssl: 2.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /engine.io-parser@5.2.2:
+ resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /enhanced-resolve@5.16.0:
+ resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: true
+
+ /envinfo@7.11.1:
+ resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: false
+
+ /error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+ dependencies:
+ stackframe: 1.3.4
+ dev: false
+
+ /errorhandler@1.5.1:
+ resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ accepts: 1.3.8
+ escape-html: 1.0.3
+ dev: false
+
+ /es-abstract@1.22.5:
+ resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.5
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /es-abstract@1.23.2:
+ resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.5
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ /es-get-iterator@1.1.3:
+ resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ is-arguments: 1.1.1
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-string: 1.0.7
+ isarray: 2.0.5
+ stop-iteration-iterator: 1.0.0
+ dev: true
+
+ /es-iterator-helpers@1.0.18:
+ resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.1.2
+ dev: true
+
+ /es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ dev: true
+
+ /es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+ dev: true
+
+ /es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ dependencies:
+ hasown: 2.0.2
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+ dev: true
+
+ /esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+ dev: true
+
+ /escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: false
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ /escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ /eslint-config-next@14.1.4(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@next/eslint-plugin-next': 14.1.4
+ '@rushstack/eslint-patch': 1.8.0
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3)
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)
+ eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
+ eslint-plugin-react: 7.34.1(eslint@8.57.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
+ typescript: 5.4.3
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.1
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4(supports-color@5.5.0)
+ enhanced-resolve: 5.16.0
+ eslint: 8.57.0
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.3
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3)
+ debug: 3.2.7
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
+ resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ debug: 3.2.7
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
+ array-includes: 3.1.8
+ array.prototype.findlastindex: 1.2.5
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
+ hasown: 2.0.2
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.0
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0):
+ resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.24.1
+ aria-query: 5.3.0
+ array-includes: 3.1.8
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.8
+ axe-core: 4.7.0
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ es-iterator-helpers: 1.0.18
+ eslint: 8.57.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0):
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.57.0
+ dev: true
+
+ /eslint-plugin-react-refresh@0.4.6(eslint@8.57.0):
+ resolution: {integrity: sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==}
+ peerDependencies:
+ eslint: '>=7'
+ dependencies:
+ eslint: 8.57.0
+ dev: true
+
+ /eslint-plugin-react@7.34.1(eslint@8.57.0):
+ resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.2
+ array.prototype.toreversed: 1.1.2
+ array.prototype.tosorted: 1.1.3
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.18
+ eslint: 8.57.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ object.hasown: 1.1.3
+ object.values: 1.2.0
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.11
+ dev: true
+
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint@8.57.0:
+ resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.57.0
+ '@humanwhocodes/config-array': 0.11.14
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4(supports-color@5.5.0)
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: true
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ /etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /eth-block-tracker@7.1.0:
+ resolution: {integrity: sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/eth-json-rpc-provider': 1.0.1
+ '@metamask/safe-event-emitter': 3.1.1
+ '@metamask/utils': 5.0.2
+ json-rpc-random-id: 1.0.1
+ pify: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /eth-json-rpc-filters@6.0.1:
+ resolution: {integrity: sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/safe-event-emitter': 3.1.1
+ async-mutex: 0.2.6
+ eth-query: 2.1.2
+ json-rpc-engine: 6.1.0
+ pify: 5.0.0
+ dev: false
+
+ /eth-query@2.1.2:
+ resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==}
+ dependencies:
+ json-rpc-random-id: 1.0.1
+ xtend: 4.0.2
+ dev: false
+
+ /eth-rpc-errors@4.0.3:
+ resolution: {integrity: sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==}
+ dependencies:
+ fast-safe-stringify: 2.1.1
+ dev: false
+
+ /ethereum-cryptography@2.1.3:
+ resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==}
+ dependencies:
+ '@noble/curves': 1.3.0
+ '@noble/hashes': 1.3.3
+ '@scure/bip32': 1.3.3
+ '@scure/bip39': 1.2.2
+ dev: false
+
+ /event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /eventemitter2@6.4.9:
+ resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==}
+ dev: false
+
+ /eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+ dev: false
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+ dev: false
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: false
+
+ /execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.3.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+
+ /extension-port-stream@2.1.1:
+ resolution: {integrity: sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ webextension-polyfill: 0.10.0
+ dev: false
+
+ /fast-deep-equal@2.0.1:
+ resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==}
+ dev: false
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
+ /fast-redact@3.5.0:
+ resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+ dev: false
+
+ /fast-xml-parser@4.3.6:
+ resolution: {integrity: sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==}
+ hasBin: true
+ dependencies:
+ strnum: 1.0.5
+ dev: false
+
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ dependencies:
+ bser: 2.1.1
+ dev: false
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.2.0
+ dev: true
+
+ /file-size@1.0.0:
+ resolution: {integrity: sha512-tLIdonWTpABkU6Axg2yGChYdrOsy4V8xcm0IcyAP8fSsu6jiXLm5pgs083e4sq5fzNRZuAYolUbZyYmPvCKfwQ==}
+ dev: true
+
+ /filesize@10.1.0:
+ resolution: {integrity: sha512-GTLKYyBSDz3nPhlLVPjPWZCnhkd9TrrRArNcy8Z+J2cqScB7h2McAzR6NBX6nYOoWafql0roY8hrocxnZBv9CQ==}
+ engines: {node: '>= 10.4.0'}
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /finalhandler@1.1.2:
+ resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.3.0
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /find-cache-dir@2.1.0:
+ resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 2.1.0
+ pkg-dir: 3.0.0
+ dev: false
+
+ /find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ dev: false
+
+ /find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: 3.0.0
+ dev: false
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ /find-yarn-workspace-root2@1.2.16:
+ resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
+ dependencies:
+ micromatch: 4.0.5
+ pkg-dir: 4.2.0
+ dev: true
+
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.3.1
+ keyv: 4.5.4
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ dev: true
+
+ /flow-enums-runtime@0.0.6:
+ resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==}
+ dev: false
+
+ /flow-parser@0.206.0:
+ resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /focus-trap-react@10.2.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-YXBpFu/hIeSu6NnmV2xlXzOYxuWkoOtar9jzgp3lOmjWLWY59C/b8DtDHEAV4SPU07Nd/t+nS/SBNGkhUBFmEw==}
+ peerDependencies:
+ prop-types: ^15.8.1
+ react: '>=16.3.0'
+ react-dom: '>=16.3.0'
+ dependencies:
+ focus-trap: 7.5.4
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tabbable: 6.2.0
+ dev: false
+
+ /focus-trap@7.5.4:
+ resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
+ dependencies:
+ tabbable: 6.2.0
+ dev: false
+
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+ dev: true
+
+ /form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: true
+
+ /framer-motion@6.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==}
+ peerDependencies:
+ react: '>=16.8 || ^17.0.0 || ^18.0.0'
+ react-dom: '>=16.8 || ^17.0.0 || ^18.0.0'
+ dependencies:
+ '@motionone/dom': 10.12.0
+ framesync: 6.0.1
+ hey-listen: 1.0.8
+ popmotion: 11.0.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ style-value-types: 5.0.0
+ tslib: 2.6.2
+ optionalDependencies:
+ '@emotion/is-prop-valid': 0.8.8
+ dev: false
+
+ /framesync@6.0.1:
+ resolution: {integrity: sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /from-exponential@1.1.1:
+ resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==}
+ dev: false
+
+ /fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
+
+ /fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: false
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /futoin-hkdf@1.5.3:
+ resolution: {integrity: sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: false
+
+ /get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
+ dev: true
+
+ /get-intrinsic@1.2.3:
+ resolution: {integrity: sha512-JIcZczvcMVE7AUOP+X72bh8HqHBRxFdz5PDHYtNG/lE3yk9b3KZBJlwFcTyPYjg3L4RLLmZJzvjxhaZVapxFrQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+
+ /get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+
+ /get-port-please@3.1.2:
+ resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+ dev: false
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ /get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /get-tsconfig@4.7.3:
+ resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob@10.3.10:
+ resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.3
+ minipass: 7.0.4
+ path-scurry: 1.10.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.3
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
+ /h3@1.11.1:
+ resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==}
+ dependencies:
+ cookie-es: 1.0.0
+ crossws: 0.2.4
+ defu: 6.1.4
+ destr: 2.0.3
+ iron-webcrypto: 1.1.0
+ ohash: 1.1.3
+ radix3: 1.1.1
+ ufo: 1.5.3
+ uncrypto: 0.1.3
+ unenv: 1.9.0
+ transitivePeerDependencies:
+ - uWebSockets.js
+ dev: false
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ /has-property-descriptors@1.0.1:
+ resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
+ dependencies:
+ get-intrinsic: 1.2.3
+
+ /has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ dependencies:
+ es-define-property: 1.0.0
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+
+ /has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ /has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+
+ /hash.js@1.1.7:
+ resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ dev: false
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+
+ /hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+
+ /hermes-estree@0.15.0:
+ resolution: {integrity: sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==}
+ dev: false
+
+ /hermes-estree@0.20.1:
+ resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==}
+ dev: false
+
+ /hermes-parser@0.15.0:
+ resolution: {integrity: sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==}
+ dependencies:
+ hermes-estree: 0.15.0
+ dev: false
+
+ /hermes-parser@0.20.1:
+ resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==}
+ dependencies:
+ hermes-estree: 0.20.1
+ dev: false
+
+ /hermes-profile-transformer@0.0.6:
+ resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ source-map: 0.7.4
+ dev: false
+
+ /hey-listen@1.0.8:
+ resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
+ dev: false
+
+ /hmac-drbg@1.0.1:
+ resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+ dependencies:
+ hash.js: 1.1.7
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+ dev: false
+
+ /hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ dependencies:
+ react-is: 16.13.1
+ dev: false
+
+ /hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ dev: true
+
+ /html-encoding-sniffer@4.0.0:
+ resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ whatwg-encoding: 3.1.1
+ dev: true
+
+ /html-parse-stringify@3.0.1:
+ resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
+ dependencies:
+ void-elements: 3.1.0
+ dev: false
+
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+ dev: false
+
+ /http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4(supports-color@5.5.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /http-shutdown@1.2.2:
+ resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+ dev: false
+
+ /https-proxy-agent@7.0.4:
+ resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4(supports-color@5.5.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: false
+
+ /human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ /i18next-browser-languagedetector@7.2.0:
+ resolution: {integrity: sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ dev: false
+
+ /i18next@22.5.1:
+ resolution: {integrity: sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ dev: false
+
+ /iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /idb-keyval@6.2.1:
+ resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==}
+ dev: false
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ dev: false
+
+ /ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /image-size@1.1.1:
+ resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+ dependencies:
+ queue: 6.0.2
+ dev: false
+
+ /import-fresh@2.0.0:
+ resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-path: 2.0.0
+ resolve-from: 3.0.0
+ dev: false
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ /internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.0.6
+ dev: true
+
+ /invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /iron-webcrypto@1.1.0:
+ resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==}
+ dev: false
+
+ /is-arguments@1.1.1:
+ resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.2
+
+ /is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: false
+
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.3.0
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.2
+
+ /is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-typed-array: 1.1.13
+ dev: true
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-directory@0.3.1:
+ resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: false
+
+ /is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+ dev: false
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
+ /is-fullwidth-code-point@2.0.0:
+ resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+ dependencies:
+ is-docker: 3.0.0
+ dev: false
+
+ /is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-plain-obj@2.1.0:
+ resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: false
+
+ /is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.15
+
+ /is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
+ /is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+ dev: true
+
+ /is-wsl@1.1.0:
+ resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: false
+
+ /is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+ dependencies:
+ is-inside-container: 1.0.0
+ dev: false
+
+ /is64bit@2.0.0:
+ resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==}
+ engines: {node: '>=18'}
+ dependencies:
+ system-architecture: 0.1.0
+ dev: false
+
+ /isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ dev: false
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /isexe@3.1.1:
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /isomorphic-unfetch@3.1.0:
+ resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==}
+ dependencies:
+ node-fetch: 2.7.0
+ unfetch: 4.2.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /isows@1.0.3(ws@8.13.0):
+ resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==}
+ peerDependencies:
+ ws: '*'
+ dependencies:
+ ws: 8.13.0
+ dev: false
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.6
+ set-function-name: 2.0.2
+ dev: true
+
+ /jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+ dev: true
+
+ /javascript-stringify@2.1.0:
+ resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
+ dev: true
+
+ /jest-environment-node@29.7.0:
+ resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.11.30
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: false
+
+ /jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: false
+
+ /jest-message-util@29.7.0:
+ resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@jest/types': 29.6.3
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ dev: false
+
+ /jest-mock@29.7.0:
+ resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.11.30
+ jest-util: 29.7.0
+ dev: false
+
+ /jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.11.30
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: false
+
+ /jest-validate@29.7.0:
+ resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.7.0
+ dev: false
+
+ /jest-worker@29.7.0:
+ resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@types/node': 20.11.30
+ jest-util: 29.7.0
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: false
+
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
+ dev: false
+
+ /joi@17.12.2:
+ resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ '@hapi/topo': 5.1.0
+ '@sideway/address': 4.1.5
+ '@sideway/formula': 3.0.1
+ '@sideway/pinpoint': 2.0.0
+ dev: false
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-tokens@8.0.3:
+ resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==}
+ dev: true
+
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jsc-android@250231.0.0:
+ resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==}
+ dev: false
+
+ /jsc-safe-url@0.2.4:
+ resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
+ dev: false
+
+ /jscodeshift@0.14.0(@babel/preset-env@7.24.3):
+ resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==}
+ hasBin: true
+ peerDependencies:
+ '@babel/preset-env': ^7.1.6
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/parser': 7.24.1
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.3)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
+ '@babel/preset-flow': 7.24.1(@babel/core@7.24.3)
+ '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
+ '@babel/register': 7.23.7(@babel/core@7.24.3)
+ babel-core: 7.0.0-bridge.0(@babel/core@7.24.3)
+ chalk: 4.1.2
+ flow-parser: 0.206.0
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ neo-async: 2.6.2
+ node-dir: 0.1.17
+ recast: 0.21.5
+ temp: 0.8.4
+ write-file-atomic: 2.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /jsdom@24.0.0:
+ resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ canvas: ^2.11.2
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ cssstyle: 4.0.1
+ data-urls: 5.0.0
+ decimal.js: 10.4.3
+ form-data: 4.0.0
+ html-encoding-sniffer: 4.0.0
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.4
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.7
+ parse5: 7.1.2
+ rrweb-cssom: 0.6.0
+ saxes: 6.0.0
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.3
+ w3c-xmlserializer: 5.0.0
+ webidl-conversions: 7.0.0
+ whatwg-encoding: 3.1.1
+ whatwg-mimetype: 4.0.0
+ whatwg-url: 14.0.0
+ ws: 8.16.0
+ xml-name-validator: 5.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+ dev: false
+
+ /jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
+ /json-parse-better-errors@1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+ dev: false
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: false
+
+ /json-rpc-engine@6.1.0:
+ resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ '@metamask/safe-event-emitter': 2.0.0
+ eth-rpc-errors: 4.0.3
+ dev: false
+
+ /json-rpc-middleware-stream@4.2.3:
+ resolution: {integrity: sha512-4iFb0yffm5vo3eFKDbQgke9o17XBcLQ2c3sONrXSbcOLzP8LTojqo8hRGVgtJShhm5q4ZDSNq039fAx9o65E1w==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/safe-event-emitter': 3.1.1
+ json-rpc-engine: 6.1.0
+ readable-stream: 2.3.8
+ dev: false
+
+ /json-rpc-random-id@1.0.1:
+ resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==}
+ dev: false
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
+
+ /json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /jsonc-parser@3.2.1:
+ resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
+
+ /jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: false
+
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.flat: 1.3.2
+ object.assign: 4.1.5
+ object.values: 1.2.0
+ dev: true
+
+ /keccak@3.0.4:
+ resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==}
+ engines: {node: '>=10.0.0'}
+ requiresBuild: true
+ dependencies:
+ node-addon-api: 2.0.2
+ node-gyp-build: 4.8.0
+ readable-stream: 3.6.2
+ dev: false
+
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /keyvaluestorage-interface@1.0.0:
+ resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==}
+ dev: false
+
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /language-subtag-registry@0.3.22:
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
+ dev: true
+
+ /language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: true
+
+ /leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /lighthouse-logger@1.4.2:
+ resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==}
+ dependencies:
+ debug: 2.6.9
+ marky: 1.2.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /lightningcss-darwin-arm64@1.23.0:
+ resolution: {integrity: sha512-kl4Pk3Q2lnE6AJ7Qaij47KNEfY2/UXRZBT/zqGA24B8qwkgllr/j7rclKOf1axcslNXvvUdztjo4Xqh39Yq1aA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-darwin-x64@1.23.0:
+ resolution: {integrity: sha512-KeRFCNoYfDdcolcFXvokVw+PXCapd2yHS1Diko1z1BhRz/nQuD5XyZmxjWdhmhN/zj5sH8YvWsp0/lPLVzqKpg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-freebsd-x64@1.23.0:
+ resolution: {integrity: sha512-xhnhf0bWPuZxcqknvMDRFFo2TInrmQRWZGB0f6YoAsZX8Y+epfjHeeOIGCfAmgF0DgZxHwYc8mIR5tQU9/+ROA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm-gnueabihf@1.23.0:
+ resolution: {integrity: sha512-fBamf/bULvmWft9uuX+bZske236pUZEoUlaHNBjnueaCTJ/xd8eXgb0cEc7S5o0Nn6kxlauMBnqJpF70Bgq3zg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm64-gnu@1.23.0:
+ resolution: {integrity: sha512-RS7sY77yVLOmZD6xW2uEHByYHhQi5JYWmgVumYY85BfNoVI3DupXSlzbw+b45A9NnVKq45+oXkiN6ouMMtTwfg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm64-musl@1.23.0:
+ resolution: {integrity: sha512-cU00LGb6GUXCwof6ACgSMKo3q7XYbsyTj0WsKHLi1nw7pV0NCq8nFTn6ZRBYLoKiV8t+jWl0Hv8KkgymmK5L5g==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-x64-gnu@1.23.0:
+ resolution: {integrity: sha512-q4jdx5+5NfB0/qMbXbOmuC6oo7caPnFghJbIAV90cXZqgV8Am3miZhC4p+sQVdacqxfd+3nrle4C8icR3p1AYw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-x64-musl@1.23.0:
+ resolution: {integrity: sha512-G9Ri3qpmF4qef2CV/80dADHKXRAQeQXpQTLx7AiQrBYQHqBjB75oxqj06FCIe5g4hNCqLPnM9fsO4CyiT1sFSQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-win32-x64-msvc@1.23.0:
+ resolution: {integrity: sha512-1rcBDJLU+obPPJM6qR5fgBUiCdZwZLafZM5f9kwjFLkb/UBNIzmae39uCSmh71nzPCTXZqHbvwu23OWnWEz+eg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss@1.23.0:
+ resolution: {integrity: sha512-SEArWKMHhqn/0QzOtclIwH5pXIYQOUEkF8DgICd/105O+GCgd7jxjNod/QPnBCSWvpRHQBGVz5fQ9uScby03zA==}
+ engines: {node: '>= 12.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.23.0
+ lightningcss-darwin-x64: 1.23.0
+ lightningcss-freebsd-x64: 1.23.0
+ lightningcss-linux-arm-gnueabihf: 1.23.0
+ lightningcss-linux-arm64-gnu: 1.23.0
+ lightningcss-linux-arm64-musl: 1.23.0
+ lightningcss-linux-x64-gnu: 1.23.0
+ lightningcss-linux-x64-musl: 1.23.0
+ lightningcss-win32-x64-msvc: 1.23.0
+ dev: true
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: false
+
+ /listhen@1.7.2:
+ resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==}
+ hasBin: true
+ dependencies:
+ '@parcel/watcher': 2.4.1
+ '@parcel/watcher-wasm': 2.4.1
+ citty: 0.1.6
+ clipboardy: 4.0.0
+ consola: 3.2.3
+ crossws: 0.2.4
+ defu: 6.1.4
+ get-port-please: 3.1.2
+ h3: 1.11.1
+ http-shutdown: 1.2.2
+ jiti: 1.21.0
+ mlly: 1.6.1
+ node-forge: 1.3.1
+ pathe: 1.1.2
+ std-env: 3.7.0
+ ufo: 1.5.3
+ untun: 0.1.3
+ uqr: 0.1.2
+ transitivePeerDependencies:
+ - uWebSockets.js
+ dev: false
+
+ /lit-element@3.3.3:
+ resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==}
+ dependencies:
+ '@lit-labs/ssr-dom-shim': 1.2.0
+ '@lit/reactive-element': 1.6.3
+ lit-html: 2.8.0
+ dev: false
+
+ /lit-html@2.8.0:
+ resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==}
+ dependencies:
+ '@types/trusted-types': 2.0.7
+ dev: false
+
+ /lit@2.8.0:
+ resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
+ dependencies:
+ '@lit/reactive-element': 1.6.3
+ lit-element: 3.3.3
+ lit-html: 2.8.0
+ dev: false
+
+ /load-yaml-file@0.2.0:
+ resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
+ engines: {node: '>=6'}
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+ dev: true
+
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.6.1
+ pkg-types: 1.0.3
+ dev: true
+
+ /locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: false
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: false
+
+ /lodash.isequal@4.5.0:
+ resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
+ dev: false
+
+ /lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+ dev: false
+
+ /lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: true
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ /log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: false
+
+ /logkitty@0.7.1:
+ resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==}
+ hasBin: true
+ dependencies:
+ ansi-fragments: 0.2.1
+ dayjs: 1.11.10
+ yargs: 15.4.1
+ dev: false
+
+ /look-it-up@2.1.0:
+ resolution: {integrity: sha512-nMoGWW2HurtuJf6XAL56FWTDCWLOTSsanrgwOyaR5Y4e3zfG5N/0cU5xWZSEU3tBxhQugRbV1xL9jb+ug7yZww==}
+ dev: true
+
+ /loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+
+ /loupe@2.3.7:
+ resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
+ /lru-cache@10.2.0:
+ resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
+ engines: {node: 14 || >=16.14}
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+
+ /lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ hasBin: true
+ dev: true
+
+ /magic-string@0.30.8:
+ resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.2
+ dev: false
+
+ /make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ dev: true
+
+ /makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ dependencies:
+ tmpl: 1.0.5
+ dev: false
+
+ /marky@1.2.5:
+ resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==}
+ dev: false
+
+ /memoize-one@5.2.1:
+ resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
+ dev: false
+
+ /merge-anything@5.1.7:
+ resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
+ engines: {node: '>=12.13'}
+ dependencies:
+ is-what: 4.1.16
+ dev: true
+
+ /merge-options@3.0.4:
+ resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ is-plain-obj: 2.1.0
+ dev: false
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /metro-babel-transformer@0.80.7:
+ resolution: {integrity: sha512-b773yA16DsDQiM4OOzCsr1gwEd+iio9au98o3bj7F/bxVyoz1LuYox06BIdsiLL1o4kV5VtzTu3UXSJ2X0ZGXg==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/core': 7.24.3
+ hermes-parser: 0.20.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-cache-key@0.80.7:
+ resolution: {integrity: sha512-sfCOtooMqmmm2v0a4EsYr5knYJGIArZJ5Y7MAcmsVU2pcqg+JQyPhYr/zqSkXBBipRxXr7aNXul9StKzKjsnbw==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /metro-cache@0.80.7:
+ resolution: {integrity: sha512-N6HyLjwDKusqJDaVyP57SVZKP51m1FFVcbIWQXu938W30nCXQEuWOx4e6adKgfEOZpscisWojfrCFN42/A8uug==}
+ engines: {node: '>=18'}
+ dependencies:
+ metro-core: 0.80.7
+ rimraf: 3.0.2
+ dev: false
+
+ /metro-config@0.80.7:
+ resolution: {integrity: sha512-kpXCidthS/kFlEoXjWQp+IyCU5ICCOESVgwXEzViSDOv5bPJz2ytIr2lF623e50QzyrpFBSnOPjnyd1JbsVPvQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ connect: 3.7.0
+ cosmiconfig: 5.2.1
+ jest-validate: 29.7.0
+ metro: 0.80.7
+ metro-cache: 0.80.7
+ metro-core: 0.80.7
+ metro-runtime: 0.80.7
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /metro-core@0.80.7:
+ resolution: {integrity: sha512-bl3D6TtIa2mSdVTbkskMPcJSdoivO0F06u8ip/oS/T6RsbjkMTN3OZBjJXclY9I0FcN14q8I5YQt1oriySY/2Q==}
+ engines: {node: '>=18'}
+ dependencies:
+ lodash.throttle: 4.1.1
+ metro-resolver: 0.80.7
+ dev: false
+
+ /metro-file-map@0.80.7:
+ resolution: {integrity: sha512-A9IAmFZu/Ch7zJ4LzJChsvhedNOipuIXaOz6N8J44rqVZHI0uIqDKVGCne7lzc97djF1Ti4tH9nP64u4IdhpSg==}
+ engines: {node: '>=18'}
+ dependencies:
+ anymatch: 3.1.3
+ debug: 2.6.9
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ micromatch: 4.0.5
+ node-abort-controller: 3.1.1
+ nullthrows: 1.1.1
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-minify-terser@0.80.7:
+ resolution: {integrity: sha512-9/mYV1tMGeoFSTMFr94oigJM2qMXJO3hvlibkaQ21HZjVyrfb54bSYyfIIRvAsjY2RCBRg9r2OrT+YbxnMypig==}
+ engines: {node: '>=18'}
+ dependencies:
+ terser: 5.29.2
+ dev: false
+
+ /metro-resolver@0.80.7:
+ resolution: {integrity: sha512-xW7M0TITuKs2rYQqbIQn297+MVWfDuGptPnfZ+RBG9afdN//Zpmg14KFMIYU4r5AH2WS+nxwL57DbZft1MyoHg==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /metro-runtime@0.80.7:
+ resolution: {integrity: sha512-gWqzfm9YQw9I08L23hcLmY7XNx48W0c0vLEkVEF5P7ZNIOSfX9CkEv0JvTTJWshRYkbgIqsdtpMAHq13LJJ6iA==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ dev: false
+
+ /metro-source-map@0.80.7:
+ resolution: {integrity: sha512-6a1m/51ekkAl+ISNBcKQUXTU+AldbbPUHDE3DDDU17Y0HNoovkQR23DB/uH/SzUHQszYxK1fnwUTSxpzOjx+pw==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ invariant: 2.2.4
+ metro-symbolicate: 0.80.7
+ nullthrows: 1.1.1
+ ob1: 0.80.7
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-symbolicate@0.80.7:
+ resolution: {integrity: sha512-WrBR5FQhVf/Y2N3zBS5TvNdwYzcQTLdJj9kcn0MIt+DpdgfLuUDjHXYaq4G9fZubofInx2dUcqr4WCn6fkIxuA==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ invariant: 2.2.4
+ metro-source-map: 0.80.7
+ nullthrows: 1.1.1
+ source-map: 0.5.7
+ through2: 2.0.5
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-transform-plugins@0.80.7:
+ resolution: {integrity: sha512-ENGvQF7wZCtn2rO6jwsYy3XRSPrlm0G/1TgDC8AXdvz0yjfAe1ODSCYWxP8S3JXfjKL5m3b6j9RsV8sQIxsUjQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/generator': 7.24.1
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-transform-worker@0.80.7:
+ resolution: {integrity: sha512-QcgKpx3WZo71jTtXMEeeFuGpA+nG8YuWjxPTIsIYTjgDxcArS8zDDRzS18mmYkP65yyzH4dT94B1FJH9+flRag==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/generator': 7.24.1
+ '@babel/parser': 7.24.1
+ '@babel/types': 7.24.0
+ metro: 0.80.7
+ metro-babel-transformer: 0.80.7
+ metro-cache: 0.80.7
+ metro-cache-key: 0.80.7
+ metro-minify-terser: 0.80.7
+ metro-source-map: 0.80.7
+ metro-transform-plugins: 0.80.7
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /metro@0.80.7:
+ resolution: {integrity: sha512-con7RTEulmefHplqusjpoGD+r4CBuDLaeI261hFcSuTv6+Arm5FgSYmUcBa3MeqJbC/U8v0uT6MbdkEFCEl1xg==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/core': 7.24.3
+ '@babel/generator': 7.24.1
+ '@babel/parser': 7.24.1
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ accepts: 1.3.8
+ chalk: 4.1.2
+ ci-info: 2.0.0
+ connect: 3.7.0
+ debug: 2.6.9
+ denodeify: 1.2.1
+ error-stack-parser: 2.1.4
+ graceful-fs: 4.2.11
+ hermes-parser: 0.20.1
+ image-size: 1.1.1
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ jsc-safe-url: 0.2.4
+ lodash.throttle: 4.1.1
+ metro-babel-transformer: 0.80.7
+ metro-cache: 0.80.7
+ metro-cache-key: 0.80.7
+ metro-config: 0.80.7
+ metro-core: 0.80.7
+ metro-file-map: 0.80.7
+ metro-resolver: 0.80.7
+ metro-runtime: 0.80.7
+ metro-source-map: 0.80.7
+ metro-symbolicate: 0.80.7
+ metro-transform-plugins: 0.80.7
+ metro-transform-worker: 0.80.7
+ mime-types: 2.1.35
+ node-fetch: 2.7.0
+ nullthrows: 1.1.1
+ rimraf: 3.0.2
+ serialize-error: 2.1.0
+ source-map: 0.5.7
+ strip-ansi: 6.0.1
+ throat: 5.0.0
+ ws: 7.5.9
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /micro-ftch@0.3.1:
+ resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==}
+ dev: false
+
+ /microdiff@1.3.2:
+ resolution: {integrity: sha512-pKy60S2febliZIbwdfEQKTtL5bLNxOyiRRmD400gueYl9XcHyNGxzHSlJWn9IMHwYXT0yohPYL08+bGozVk8cQ==}
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ /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'}
+ dependencies:
+ mime-db: 1.52.0
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /mime@2.6.0:
+ resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+ dev: false
+
+ /mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ dev: false
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ /min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ dev: false
+
+ /minimalistic-crypto-utils@1.0.1:
+ resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+ dev: false
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ /minipass@7.0.4:
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dev: true
+
+ /mipd@0.0.5(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-gbKA784D2WKb5H/GtqEv+Ofd1S9Zj+Z/PGDIl1u1QAbswkxD28BQ5bSXQxkeBzPBABg1iDSbiwGG1XqlOxRspA==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.4.3
+ viem: 1.21.4(typescript@5.4.3)(zod@3.22.4)
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: false
+
+ /mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: false
+
+ /mkdirp@3.0.1:
+ resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
+ /mlly@1.6.1:
+ resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.5.2
+
+ /motion@10.16.2:
+ resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==}
+ dependencies:
+ '@motionone/animation': 10.17.0
+ '@motionone/dom': 10.17.0
+ '@motionone/svelte': 10.16.4
+ '@motionone/types': 10.17.0
+ '@motionone/utils': 10.17.0
+ '@motionone/vue': 10.16.4
+ dev: false
+
+ /mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: false
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ /multiformats@9.9.0:
+ resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
+ dev: false
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ dev: false
+
+ /next@14.1.4(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ==}
+ engines: {node: '>=18.17.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 14.1.4
+ '@swc/helpers': 0.5.2
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001599
+ graceful-fs: 4.2.11
+ postcss: 8.4.31
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.24.3)(react@18.2.0)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 14.1.4
+ '@next/swc-darwin-x64': 14.1.4
+ '@next/swc-linux-arm64-gnu': 14.1.4
+ '@next/swc-linux-arm64-musl': 14.1.4
+ '@next/swc-linux-x64-gnu': 14.1.4
+ '@next/swc-linux-x64-musl': 14.1.4
+ '@next/swc-win32-arm64-msvc': 14.1.4
+ '@next/swc-win32-ia32-msvc': 14.1.4
+ '@next/swc-win32-x64-msvc': 14.1.4
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: false
+
+ /nocache@3.0.4:
+ resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==}
+ engines: {node: '>=12.0.0'}
+ dev: false
+
+ /node-abort-controller@3.1.1:
+ resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
+ dev: false
+
+ /node-addon-api@2.0.2:
+ resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==}
+ dev: false
+
+ /node-addon-api@5.1.0:
+ resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
+ dev: false
+
+ /node-addon-api@7.1.0:
+ resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==}
+ engines: {node: ^16 || ^18 || >= 20}
+ dev: false
+
+ /node-dir@0.1.17:
+ resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
+ engines: {node: '>= 0.10.5'}
+ dependencies:
+ minimatch: 3.1.2
+ dev: false
+
+ /node-eval@2.0.0:
+ resolution: {integrity: sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==}
+ engines: {node: '>= 4'}
+ dependencies:
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /node-fetch-native@1.6.4:
+ resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+ dev: false
+
+ /node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: false
+
+ /node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+ dev: false
+
+ /node-gyp-build@4.8.0:
+ resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
+ hasBin: true
+ dev: false
+
+ /node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+ dev: false
+
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ /node-stream-zip@1.15.0:
+ resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==}
+ engines: {node: '>=0.12.0'}
+ dev: false
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: false
+
+ /npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+
+ /nullthrows@1.1.1:
+ resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
+ dev: false
+
+ /nwsapi@2.2.7:
+ resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
+ dev: true
+
+ /ob1@0.80.7:
+ resolution: {integrity: sha512-+m1cCNckRtDEnurNSVqywpN6LhFWc1Z3MdX7PX7boCwEdSzh4evlUjBIUzao1lBOpB7G5FvwfFagTVQGCMa0Yw==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /obj-multiplex@1.0.0:
+ resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ readable-stream: 2.3.8
+ dev: false
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+ dev: true
+
+ /object-is@1.1.6:
+ resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ dev: true
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object-path@0.11.8:
+ resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==}
+ engines: {node: '>= 10.12.0'}
+ dev: true
+
+ /object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ dev: true
+
+ /object.hasown@1.1.3:
+ resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.22.5
+ dev: true
+
+ /object.values@1.2.0:
+ resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /ofetch@1.3.4:
+ resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
+ dependencies:
+ destr: 2.0.3
+ node-fetch-native: 1.6.4
+ ufo: 1.5.3
+ dev: false
+
+ /ohash@1.1.3:
+ resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
+ dev: false
+
+ /on-exit-leak-free@0.2.0:
+ resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==}
+ dev: false
+
+ /on-finished@2.3.0:
+ resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: false
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: false
+
+ /on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: false
+
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
+
+ /open@6.4.0:
+ resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-wsl: 1.1.0
+ dev: false
+
+ /open@7.4.2:
+ resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: false
+
+ /open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: false
+
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: false
+
+ /outdent@0.8.0:
+ resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==}
+ dev: true
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+
+ /p-limit@5.0.0:
+ resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
+ /p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: false
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /parse-json@4.0.0:
+ resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
+ engines: {node: '>=4'}
+ dependencies:
+ error-ex: 1.3.2
+ json-parse-better-errors: 1.0.2
+ dev: false
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: false
+
+ /parse5@7.1.2:
+ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
+ dependencies:
+ entities: 4.5.0
+ dev: true
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: true
+
+ /path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.2.0
+ minipass: 7.0.4
+ dev: true
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ /pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ dev: true
+
+ /perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+ dev: true
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ /pify@5.0.0:
+ resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /pino-abstract-transport@0.5.0:
+ resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==}
+ dependencies:
+ duplexify: 4.1.3
+ split2: 4.2.0
+ dev: false
+
+ /pino-std-serializers@4.0.0:
+ resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==}
+ dev: false
+
+ /pino@7.11.0:
+ resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==}
+ hasBin: true
+ dependencies:
+ atomic-sleep: 1.0.0
+ fast-redact: 3.5.0
+ on-exit-leak-free: 0.2.0
+ pino-abstract-transport: 0.5.0
+ pino-std-serializers: 4.0.0
+ process-warning: 1.0.0
+ quick-format-unescaped: 4.0.4
+ real-require: 0.1.0
+ safe-stable-stringify: 2.4.3
+ sonic-boom: 2.8.0
+ thread-stream: 0.15.2
+ dev: false
+
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /pkg-dir@3.0.0:
+ resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
+ engines: {node: '>=6'}
+ dependencies:
+ find-up: 3.0.0
+ dev: false
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
+ /pkg-types@1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ dependencies:
+ jsonc-parser: 3.2.1
+ mlly: 1.6.1
+ pathe: 1.1.2
+
+ /pluralize@8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /pngjs@5.0.0:
+ resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
+ engines: {node: '>=10.13.0'}
+ dev: false
+
+ /pony-cause@2.1.10:
+ resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==}
+ engines: {node: '>=12.0.0'}
+ dev: false
+
+ /popmotion@11.0.3:
+ resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==}
+ dependencies:
+ framesync: 6.0.1
+ hey-listen: 1.0.8
+ style-value-types: 5.0.0
+ tslib: 2.6.2
+ dev: false
+
+ /possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+
+ /postcss-discard-duplicates@6.0.1(postcss@8.4.35):
+ resolution: {integrity: sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.35
+ dev: true
+
+ /postcss-discard-empty@6.0.1(postcss@8.4.35):
+ resolution: {integrity: sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.35
+ dev: true
+
+ /postcss-merge-rules@6.0.3(postcss@8.4.35):
+ resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ cssnano-utils: 4.0.2(postcss@8.4.35)
+ postcss: 8.4.35
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /postcss-minify-selectors@6.0.2(postcss@8.4.35):
+ resolution: {integrity: sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.35
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /postcss-nested@6.0.1(postcss@8.4.35):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.35
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /postcss-normalize-whitespace@6.0.1(postcss@8.4.35):
+ resolution: {integrity: sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.35
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-selector-parser@6.0.15:
+ resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+ dev: false
+
+ /postcss@8.4.35:
+ resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+ dev: true
+
+ /postcss@8.4.36:
+ resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.1.0
+ dev: true
+
+ /preact@10.20.0:
+ resolution: {integrity: sha512-wU7iZw2BjsaKDal3pDRDy/HpPB6cuFOnVUCcw9aIPKG98+ZrXx3F+szkos8BVME5bquyKDKvRlOJFG8kMkcAbg==}
+ dev: false
+
+ /preferred-pm@3.1.2:
+ resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ find-up: 5.0.0
+ find-yarn-workspace-root2: 1.2.16
+ path-exists: 4.0.0
+ which-pm: 2.0.0
+ dev: true
+
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /pretty-format@26.6.2:
+ resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@jest/types': 26.6.2
+ ansi-regex: 5.0.1
+ ansi-styles: 4.3.0
+ react-is: 17.0.2
+ dev: false
+
+ /pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+ dev: true
+
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+
+ /process-nextick-args@1.0.7:
+ resolution: {integrity: sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==}
+ dev: false
+
+ /process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ dev: false
+
+ /process-warning@1.0.0:
+ resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
+ dev: false
+
+ /promise@8.3.0:
+ resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
+ dependencies:
+ asap: 2.0.6
+ dev: false
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: false
+
+ /prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ /proxy-compare@2.5.1:
+ resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==}
+ dev: false
+
+ /psl@1.9.0:
+ resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+ dev: true
+
+ /pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: false
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /qr-code-styling@1.6.0-rc.1:
+ resolution: {integrity: sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==}
+ dependencies:
+ qrcode-generator: 1.4.4
+ dev: false
+
+ /qrcode-generator@1.4.4:
+ resolution: {integrity: sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==}
+ dev: false
+
+ /qrcode-terminal-nooctal@0.12.1:
+ resolution: {integrity: sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==}
+ hasBin: true
+ dev: false
+
+ /qrcode@1.5.3:
+ resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ dijkstrajs: 1.0.3
+ encode-utf8: 1.0.3
+ pngjs: 5.0.0
+ yargs: 15.4.1
+ dev: false
+
+ /query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+ dev: false
+
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+ dependencies:
+ inherits: 2.0.4
+ dev: false
+
+ /quick-format-unescaped@4.0.4:
+ resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
+ dev: false
+
+ /radix3@1.1.1:
+ resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==}
+ dev: false
+
+ /range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /react-devtools-core@4.28.5:
+ resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==}
+ dependencies:
+ shell-quote: 1.8.1
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
+ /react-dom@18.2.0(react@18.2.0):
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+
+ /react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0):
+ resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==}
+ peerDependencies:
+ i18next: '>= 23.2.3'
+ react: '>= 16.8.0'
+ react-dom: '*'
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.1
+ html-parse-stringify: 3.0.1
+ i18next: 22.5.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0)
+ dev: false
+
+ /react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ /react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+
+ /react-native-webview@11.26.1(react-native@0.73.6)(react@18.2.0):
+ resolution: {integrity: sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ escape-string-regexp: 2.0.0
+ invariant: 2.2.4
+ react: 18.2.0
+ react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0)
+ dev: false
+
+ /react-native@0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0):
+ resolution: {integrity: sha512-oqmZe8D2/VolIzSPZw+oUd6j/bEmeRHwsLn1xLA5wllEYsZ5zNuMsDus235ONOnCRwexqof/J3aztyQswSmiaA==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ react: 18.2.0
+ dependencies:
+ '@jest/create-cache-key-function': 29.7.0
+ '@react-native-community/cli': 12.3.6
+ '@react-native-community/cli-platform-android': 12.3.6
+ '@react-native-community/cli-platform-ios': 12.3.6
+ '@react-native/assets-registry': 0.73.1
+ '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.3)
+ '@react-native/community-cli-plugin': 0.73.17(@babel/core@7.24.3)(@babel/preset-env@7.24.3)
+ '@react-native/gradle-plugin': 0.73.4
+ '@react-native/js-polyfills': 0.73.1
+ '@react-native/normalize-colors': 0.73.2
+ '@react-native/virtualized-lists': 0.73.4(react-native@0.73.6)
+ abort-controller: 3.0.0
+ anser: 1.4.10
+ ansi-regex: 5.0.1
+ base64-js: 1.5.1
+ chalk: 4.1.2
+ deprecated-react-native-prop-types: 5.0.0
+ event-target-shim: 5.0.1
+ flow-enums-runtime: 0.0.6
+ invariant: 2.2.4
+ jest-environment-node: 29.7.0
+ jsc-android: 250231.0.0
+ memoize-one: 5.2.1
+ metro-runtime: 0.80.7
+ metro-source-map: 0.80.7
+ mkdirp: 0.5.6
+ nullthrows: 1.1.1
+ pretty-format: 26.6.2
+ promise: 8.3.0
+ react: 18.2.0
+ react-devtools-core: 4.28.5
+ react-refresh: 0.14.0
+ react-shallow-renderer: 16.15.0(react@18.2.0)
+ regenerator-runtime: 0.13.11
+ scheduler: 0.24.0-canary-efb381bbf-20230505
+ stacktrace-parser: 0.1.10
+ whatwg-fetch: 3.6.20
+ ws: 6.2.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@babel/preset-env'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /react-refresh@0.14.0:
+ resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /react-shallow-renderer@16.15.0(react@18.2.0):
+ resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ object-assign: 4.1.1
+ react: 18.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /react-transition-state@1.1.5(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-ITY2mZqc2dWG2eitJkYNdcSFW8aKeOlkL2A/vowRrLL8GH3J6Re/SpD/BLvQzrVOTqjsP0b5S9N10vgNNzwMUQ==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react-use-measure@2.1.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==}
+ peerDependencies:
+ react: '>=16.13'
+ react-dom: '>=16.13'
+ dependencies:
+ debounce: 1.2.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+
+ /readable-stream@2.3.3:
+ resolution: {integrity: sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 1.0.7
+ safe-buffer: 5.1.2
+ string_decoder: 1.0.3
+ util-deprecate: 1.0.2
+ dev: false
+
+ /readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: false
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: false
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+
+ /readline@1.3.0:
+ resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==}
+ dev: false
+
+ /real-require@0.1.0:
+ resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==}
+ engines: {node: '>= 12.13.0'}
+ dev: false
+
+ /recast@0.21.5:
+ resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
+ engines: {node: '>= 4'}
+ dependencies:
+ ast-types: 0.15.2
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tslib: 2.6.2
+ dev: false
+
+ /redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+ dev: true
+
+ /reflect.getprototypeof@1.0.6:
+ resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
+ /regenerate-unicode-properties@10.1.1:
+ resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: false
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: false
+
+ /regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ dev: false
+
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ /regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ dev: false
+
+ /regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+ dev: true
+
+ /regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+ dev: false
+
+ /regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: false
+
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+ dev: false
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /resize-observer-polyfill@1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+ dev: false
+
+ /resolve-from@3.0.0:
+ resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: false
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rimraf@2.6.3:
+ resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: false
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+
+ /rollup-plugin-visualizer@5.12.0:
+ resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ source-map: 0.7.4
+ yargs: 17.7.2
+ dev: false
+
+ /rollup@4.13.0:
+ resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.13.0
+ '@rollup/rollup-android-arm64': 4.13.0
+ '@rollup/rollup-darwin-arm64': 4.13.0
+ '@rollup/rollup-darwin-x64': 4.13.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
+ '@rollup/rollup-linux-arm64-gnu': 4.13.0
+ '@rollup/rollup-linux-arm64-musl': 4.13.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.13.0
+ '@rollup/rollup-linux-x64-gnu': 4.13.0
+ '@rollup/rollup-linux-x64-musl': 4.13.0
+ '@rollup/rollup-win32-arm64-msvc': 4.13.0
+ '@rollup/rollup-win32-ia32-msvc': 4.13.0
+ '@rollup/rollup-win32-x64-msvc': 4.13.0
+ fsevents: 2.3.3
+ dev: true
+
+ /rrweb-cssom@0.6.0:
+ resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: false
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: false
+
+ /safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+ dev: true
+
+ /safe-stable-stringify@2.4.3:
+ resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: true
+
+ /saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+ dependencies:
+ xmlchars: 2.2.0
+ dev: true
+
+ /scheduler@0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+
+ /scheduler@0.24.0-canary-efb381bbf-20230505:
+ resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /secp256k1@5.0.0:
+ resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==}
+ engines: {node: '>=14.0.0'}
+ requiresBuild: true
+ dependencies:
+ elliptic: 6.5.5
+ node-addon-api: 5.1.0
+ node-gyp-build: 4.8.0
+ dev: false
+
+ /semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+ dev: false
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ /semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /serialize-error@2.1.0:
+ resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ dev: false
+
+ /set-function-length@1.2.0:
+ resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+
+ /set-function-length@1.2.1:
+ resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+
+ /set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ dev: false
+
+ /sha.js@2.4.11:
+ resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
+ hasBin: true
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ dev: false
+
+ /shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+ dependencies:
+ kind-of: 6.0.3
+ dev: false
+
+ /shallowequal@1.1.0:
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+ dev: false
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ /shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ dev: false
+
+ /side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.1
+ dev: true
+
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: false
+
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ /slice-ansi@2.1.0:
+ resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-styles: 3.2.1
+ astral-regex: 1.0.0
+ is-fullwidth-code-point: 2.0.0
+ dev: false
+
+ /socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.3):
+ resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4(supports-color@5.5.0)
+ engine.io-client: 6.5.3(bufferutil@4.0.8)(utf-8-validate@6.0.3)
+ socket.io-parser: 4.2.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /socket.io-parser@4.2.4:
+ resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4(supports-color@5.5.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /sonic-boom@2.8.0:
+ resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==}
+ dependencies:
+ atomic-sleep: 1.0.0
+ dev: false
+
+ /source-map-js@1.1.0:
+ resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: false
+
+ /source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: false
+
+ /split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+ dev: false
+
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ /stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: false
+
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
+ /stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+ dev: false
+
+ /stacktrace-parser@0.1.10:
+ resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-fest: 0.7.1
+ dev: false
+
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /std-env@3.7.0:
+ resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
+
+ /stop-iteration-iterator@1.0.0:
+ resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ internal-slot: 1.0.7
+ dev: true
+
+ /stream-shift@1.0.3:
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
+ dev: false
+
+ /streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ /string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.2
+ side-channel: 1.0.6
+ dev: true
+
+ /string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.2
+ dev: true
+
+ /string_decoder@1.0.3:
+ resolution: {integrity: sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: false
+
+ /string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: false
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /strip-ansi@5.2.0:
+ resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-regex: 4.1.1
+ dev: false
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+
+ /strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-regex: 6.0.1
+ dev: true
+
+ /strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ /strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strip-literal@2.0.0:
+ resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==}
+ dependencies:
+ js-tokens: 8.0.3
+ dev: true
+
+ /strnum@1.0.5:
+ resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+ dev: false
+
+ /style-value-types@5.0.0:
+ resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==}
+ dependencies:
+ hey-listen: 1.0.8
+ tslib: 2.6.2
+ dev: false
+
+ /styled-components@5.3.11(@babel/core@7.24.3)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: '>= 16.8.0'
+ react-dom: '>= 16.8.0'
+ react-is: '>= 16.8.0'
+ dependencies:
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/traverse': 7.24.0(supports-color@5.5.0)
+ '@emotion/is-prop-valid': 1.2.2
+ '@emotion/stylis': 0.8.5
+ '@emotion/unitless': 0.7.5
+ babel-plugin-styled-components: 2.1.4(@babel/core@7.24.3)(styled-components@5.3.11)
+ css-to-react-native: 3.2.0
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 18.2.0
+ shallowequal: 1.1.0
+ supports-color: 5.5.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ dev: false
+
+ /styled-jsx@5.1.1(@babel/core@7.24.3)(react@18.2.0):
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.24.3
+ client-only: 0.0.1
+ react: 18.2.0
+ dev: false
+
+ /stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ dev: false
+
+ /sudo-prompt@9.2.1:
+ resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==}
+ dev: false
+
+ /superstruct@1.0.4:
+ resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==}
+ engines: {node: '>=14.0.0'}
+ dev: false
+
+ /supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+
+ /supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: false
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ dev: true
+
+ /system-architecture@0.1.0:
+ resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
+ engines: {node: '>=18'}
+ dev: false
+
+ /tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+ dev: false
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /temp@0.8.4:
+ resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ rimraf: 2.6.3
+ dev: false
+
+ /terser@5.29.2:
+ resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.6
+ acorn: 8.11.3
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: false
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
+ /thread-stream@0.15.2:
+ resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==}
+ dependencies:
+ real-require: 0.1.0
+ dev: false
+
+ /throat@5.0.0:
+ resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
+ dev: false
+
+ /through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+ dev: false
+
+ /tinybench@2.6.0:
+ resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
+ dev: true
+
+ /tinypool@0.8.2:
+ resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tinyspy@2.2.1:
+ resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+ dev: false
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: false
+
+ /tough-cookie@4.1.3:
+ resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
+ engines: {node: '>=6'}
+ dependencies:
+ psl: 1.9.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
+ dev: true
+
+ /tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ dev: false
+
+ /tr46@5.0.0:
+ resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
+ engines: {node: '>=18'}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /ts-api-utils@1.3.0(typescript@5.4.3):
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.4.3
+ dev: true
+
+ /ts-evaluator@1.2.0(jsdom@24.0.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-ncSGek1p92bj2ifB7s9UBgryHCkU9vwC5d+Lplt12gT9DH+e41X8dMoHRQjIMeAvyG7j9dEnuHmwgOtuRIQL+Q==}
+ engines: {node: '>=14.19.0'}
+ peerDependencies:
+ jsdom: '>=14.x || >=15.x || >=16.x || >=17.x || >=18.x || >=19.x || >=20.x || >=21.x || >=22.x'
+ typescript: '>=3.2.x || >= 4.x || >= 5.x'
+ peerDependenciesMeta:
+ jsdom:
+ optional: true
+ dependencies:
+ ansi-colors: 4.1.3
+ crosspath: 2.0.0
+ jsdom: 24.0.0
+ object-path: 0.11.8
+ typescript: 5.4.3
+ dev: true
+
+ /ts-morph@21.0.1:
+ resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==}
+ dependencies:
+ '@ts-morph/common': 0.22.0
+ code-block-writer: 12.0.0
+ dev: true
+
+ /ts-node@10.9.2(@types/node@20.11.30)(typescript@5.4.3):
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.9
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.11.30
+ acorn: 8.11.3
+ acorn-walk: 8.3.2
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.4.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ dev: true
+
+ /ts-pattern@5.0.8:
+ resolution: {integrity: sha512-aafbuAQOTEeWmA7wtcL94w6I89EgLD7F+IlWkr596wYxeb0oveWDO5dQpv85YP0CGbxXT/qXBIeV6IYLcoZ2uA==}
+
+ /tsconfck@3.0.2(typescript@5.4.3):
+ resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.4.3
+ dev: true
+
+ /tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: true
+
+ /tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: false
+
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ dev: false
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.7.1:
+ resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /typed-array-buffer@1.0.2:
+ resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typed-array-byte-length@1.0.1:
+ resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typed-array-byte-offset@1.0.2:
+ resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typed-array-length@1.0.5:
+ resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ possible-typed-array-names: 1.0.0
+ dev: true
+
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+ dev: true
+
+ /typescript@5.4.3:
+ resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /ufo@1.5.2:
+ resolution: {integrity: sha512-eiutMaL0J2MKdhcOM1tUy13pIrYnyR87fEd8STJQFrrAwImwvlXkxlZEjaKah8r2viPohld08lt73QfLG1NxMg==}
+
+ /ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+ dev: false
+
+ /uint8arrays@3.1.1:
+ resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==}
+ dependencies:
+ multiformats: 9.9.0
+ dev: false
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.7
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+ dev: false
+
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+ /unenv@1.9.0:
+ resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==}
+ dependencies:
+ consola: 3.2.3
+ defu: 6.1.4
+ mime: 3.0.0
+ node-fetch-native: 1.6.4
+ pathe: 1.1.2
+ dev: false
+
+ /unfetch@4.2.0:
+ resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==}
+ dev: false
+
+ /unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: false
+
+ /unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+ dev: false
+
+ /universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
+ /unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /unstorage@1.10.2(idb-keyval@6.2.1):
+ resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.5.0
+ '@azure/cosmos': ^4.0.0
+ '@azure/data-tables': ^13.2.2
+ '@azure/identity': ^4.0.1
+ '@azure/keyvault-secrets': ^4.8.0
+ '@azure/storage-blob': ^12.17.0
+ '@capacitor/preferences': ^5.0.7
+ '@netlify/blobs': ^6.5.0 || ^7.0.0
+ '@planetscale/database': ^1.16.0
+ '@upstash/redis': ^1.28.4
+ '@vercel/kv': ^1.0.1
+ idb-keyval: ^6.2.1
+ ioredis: ^5.3.2
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 3.6.0
+ destr: 2.0.3
+ h3: 1.11.1
+ idb-keyval: 6.2.1
+ listhen: 1.7.2
+ lru-cache: 10.2.0
+ mri: 1.2.0
+ node-fetch-native: 1.6.4
+ ofetch: 1.3.4
+ ufo: 1.5.3
+ transitivePeerDependencies:
+ - uWebSockets.js
+ dev: false
+
+ /untun@0.1.3:
+ resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==}
+ hasBin: true
+ dependencies:
+ citty: 0.1.6
+ consola: 3.2.3
+ pathe: 1.1.2
+ dev: false
+
+ /update-browserslist-db@1.0.13(browserslist@4.23.0):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.23.0
+ escalade: 3.1.2
+ picocolors: 1.0.0
+
+ /uqr@0.1.2:
+ resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==}
+ dev: false
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: true
+
+ /use-sync-external-store@1.2.0(react@18.2.0):
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /utf-8-validate@6.0.3:
+ resolution: {integrity: sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==}
+ engines: {node: '>=6.14.2'}
+ requiresBuild: true
+ dependencies:
+ node-gyp-build: 4.8.0
+ dev: false
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+ dependencies:
+ inherits: 2.0.4
+ is-arguments: 1.1.1
+ is-generator-function: 1.0.10
+ is-typed-array: 1.1.13
+ which-typed-array: 1.1.15
+ dev: false
+
+ /utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+ dev: false
+
+ /uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+ dev: false
+
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+ dev: false
+
+ /v8-compile-cache-lib@3.0.1:
+ resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+ dev: true
+
+ /valtio@1.11.2(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.68
+ proxy-compare: 2.5.1
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /viem@1.21.4(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@adraffy/ens-normalize': 1.10.0
+ '@noble/curves': 1.2.0
+ '@noble/hashes': 1.3.2
+ '@scure/bip32': 1.3.2
+ '@scure/bip39': 1.2.1
+ abitype: 0.9.8(typescript@5.4.3)(zod@3.22.4)
+ isows: 1.0.3(ws@8.13.0)
+ typescript: 5.4.3
+ ws: 8.13.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /viem@2.8.18(typescript@5.4.3)(zod@3.22.4):
+ resolution: {integrity: sha512-Kq3kwkKziJ8rQeLkmdbSLheHDnA+tx2EdLKLmQ3N4FVtjKYjBP9tPL1r+fI6KltVUM1TDOhIHOdslDSp57VMMg==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@adraffy/ens-normalize': 1.10.0
+ '@noble/curves': 1.2.0
+ '@noble/hashes': 1.3.2
+ '@scure/bip32': 1.3.2
+ '@scure/bip39': 1.2.1
+ abitype: 1.0.0(typescript@5.4.3)(zod@3.22.4)
+ isows: 1.0.3(ws@8.13.0)
+ typescript: 5.4.3
+ ws: 8.13.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /vite-node@1.4.0(@types/node@20.11.30):
+ resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4(supports-color@5.5.0)
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ vite: 5.1.6(@types/node@20.11.30)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite@5.1.6(@types/node@20.11.30):
+ resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 20.11.30
+ esbuild: 0.19.12
+ postcss: 8.4.36
+ rollup: 4.13.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0):
+ resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 1.4.0
+ '@vitest/ui': 1.4.0
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ dependencies:
+ '@types/node': 20.11.30
+ '@vitest/expect': 1.4.0
+ '@vitest/runner': 1.4.0
+ '@vitest/snapshot': 1.4.0
+ '@vitest/spy': 1.4.0
+ '@vitest/utils': 1.4.0
+ acorn-walk: 8.3.2
+ chai: 4.4.1
+ debug: 4.3.4(supports-color@5.5.0)
+ execa: 8.0.1
+ jsdom: 24.0.0
+ local-pkg: 0.5.0
+ magic-string: 0.30.8
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.0.0
+ tinybench: 2.6.0
+ tinypool: 0.8.2
+ vite: 5.1.6(@types/node@20.11.30)
+ vite-node: 1.4.0(@types/node@20.11.30)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vlq@1.0.1:
+ resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
+ dev: false
+
+ /void-elements@3.1.0:
+ resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /w3c-xmlserializer@5.0.0:
+ resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
+ engines: {node: '>=18'}
+ dependencies:
+ xml-name-validator: 5.0.0
+ dev: true
+
+ /wagmi@2.5.12(@tanstack/react-query@5.28.6)(@types/react@18.2.68)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4):
+ resolution: {integrity: sha512-n9XxiDgBUUzibZqFIdQI6/vKDjNlOTXH6mIHcuVO7ujYJuyw4aEjOJzDWivIGjVf2ygmb1aGryh2jx6W5KwjRw==}
+ peerDependencies:
+ '@tanstack/react-query': '>=5.0.0'
+ react: '>=18'
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@tanstack/react-query': 5.28.6(react@18.2.0)
+ '@wagmi/connectors': 4.1.18(@types/react@18.2.68)(@wagmi/core@2.6.9)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4)
+ '@wagmi/core': 2.6.9(@types/react@18.2.68)(react@18.2.0)(typescript@5.4.3)(viem@2.8.18)(zod@3.22.4)
+ react: 18.2.0
+ typescript: 5.4.3
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ viem: 2.8.18(typescript@5.4.3)(zod@3.22.4)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@tanstack/query-core'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - immer
+ - ioredis
+ - react-dom
+ - react-native
+ - rollup
+ - supports-color
+ - uWebSockets.js
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ dependencies:
+ makeerror: 1.0.12
+ dev: false
+
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+ dev: false
+
+ /webextension-polyfill-ts@0.25.0:
+ resolution: {integrity: sha512-ikQhwwHYkpBu00pFaUzIKY26I6L87DeRI+Q6jBT1daZUNuu8dSrg5U9l/ZbqdaQ1M/TTSPKeAa3kolP5liuedw==}
+ deprecated: This project has moved to @types/webextension-polyfill
+ dependencies:
+ webextension-polyfill: 0.7.0
+ dev: false
+
+ /webextension-polyfill@0.10.0:
+ resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==}
+ dev: false
+
+ /webextension-polyfill@0.7.0:
+ resolution: {integrity: sha512-su48BkMLxqzTTvPSE1eWxKToPS2Tv5DLGxKexLEVpwFd6Po6N8hhSLIvG6acPAg7qERoEaDL+Y5HQJeJeml5Aw==}
+ dev: false
+
+ /webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ dev: false
+
+ /webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /whatwg-encoding@3.1.1:
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ iconv-lite: 0.6.3
+ dev: true
+
+ /whatwg-fetch@3.6.20:
+ resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
+ dev: false
+
+ /whatwg-mimetype@4.0.0:
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /whatwg-url@14.0.0:
+ resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
+ engines: {node: '>=18'}
+ dependencies:
+ tr46: 5.0.0
+ webidl-conversions: 7.0.0
+ dev: true
+
+ /whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+ dev: false
+
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.2
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.3
+ dev: true
+
+ /which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+ dev: false
+
+ /which-pm@2.0.0:
+ resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==}
+ engines: {node: '>=8.15'}
+ dependencies:
+ load-yaml-file: 0.2.0
+ path-exists: 4.0.0
+ dev: true
+
+ /which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /which@4.0.0:
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
+ engines: {node: ^16.13.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ isexe: 3.1.1
+ dev: true
+
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
+ /wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: false
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ /wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /write-file-atomic@2.4.3:
+ resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+ dependencies:
+ graceful-fs: 4.2.11
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: false
+
+ /ws@6.2.2:
+ resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dependencies:
+ async-limiter: 1.0.1
+ dev: false
+
+ /ws@7.5.9:
+ resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /ws@8.11.0(bufferutil@4.0.8)(utf-8-validate@6.0.3):
+ resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dependencies:
+ bufferutil: 4.0.8
+ utf-8-validate: 6.0.3
+ dev: false
+
+ /ws@8.13.0:
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /xml-name-validator@5.0.0:
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ dev: true
+
+ /xmlhttprequest-ssl@2.0.0:
+ resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: false
+
+ /y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+ dev: false
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /yaml@2.4.1:
+ resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
+ engines: {node: '>= 14'}
+ hasBin: true
+ dev: false
+
+ /yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: false
+
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+ dev: false
+
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.2
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: false
+
+ /yn@3.1.1:
+ resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: false
+
+ /zustand@4.4.1(@types/react@18.2.68)(react@18.2.0):
+ resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.68
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
diff --git a/frontend/postcss.config.cjs b/frontend/postcss.config.cjs
new file mode 100644
index 00000000..573efad2
--- /dev/null
+++ b/frontend/postcss.config.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ '@pandacss/dev/postcss': {},
+ },
+}
\ No newline at end of file
diff --git a/frontend/public/InterVariable.woff2 b/frontend/public/InterVariable.woff2
new file mode 100644
index 00000000..22a12b04
Binary files /dev/null and b/frontend/public/InterVariable.woff2 differ
diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg
new file mode 100644
index 00000000..ad0efd40
--- /dev/null
+++ b/frontend/public/favicon.svg
@@ -0,0 +1,16 @@
+
diff --git a/frontend/scripts/update-liquity-abis.ts b/frontend/scripts/update-liquity-abis.ts
new file mode 100644
index 00000000..59a67669
--- /dev/null
+++ b/frontend/scripts/update-liquity-abis.ts
@@ -0,0 +1,68 @@
+const { $ } = require("dax-sh");
+const path = require("path");
+const z = require("zod");
+const fs = require("fs").promises;
+
+const rootDir = path.resolve(`${__dirname}/../..`);
+const frontendDir = `${rootDir}/frontend`;
+const contractsDir = `${rootDir}/contracts`;
+const artifactsDir = `${frontendDir}/liquity-artifacts`;
+const abisDir = `${rootDir}/frontend/src/abi`;
+
+const ABIS = [
+ "ActivePool",
+ "BoldToken",
+ "BorrowerOperations",
+ "CollSurplusPool",
+ "DefaultPool",
+ "GasPool",
+ "HintHelpers",
+ "MultiTroveGetter",
+ "PriceFeed",
+ "SortedTroves",
+ "StabilityPool",
+ "TroveManager",
+];
+
+const ArtifactSchema = z.object({
+ abi: z.array(z.unknown()),
+});
+
+async function writeAbiFromArtifact(artifactPath: string, abiName: string) {
+ const json = await fs.readFile(artifactPath, "utf-8");
+ const artifact = ArtifactSchema.parse(JSON.parse(json));
+
+ const tsFileContent = [
+ "// this file was generated by scripts/update-liquity-abis.ts",
+ "// please do not edit it manually",
+ `export const ${abiName} = ${JSON.stringify(artifact.abi)} as const;`,
+ ].join("\n");
+
+ await fs.writeFile(`${abisDir}/${abiName}.ts`, tsFileContent);
+ await $`dprint --log-level silent fmt ${abisDir}/${abiName}.ts`;
+}
+
+async function main() {
+ console.log("👉 Building Liquity contracts…\n");
+ await $`forge build --root ${contractsDir} --out ${artifactsDir}`;
+
+ console.log("👉 Building promises…");
+ await Promise.all(ABIS.map(async (abiName) => (
+ writeAbiFromArtifact(
+ `${artifactsDir}/${abiName}.sol/${abiName}.json`,
+ abiName,
+ )
+ )));
+
+ console.log("👉 Removing temporary artifacts…");
+ await $`rm -rf ${artifactsDir}`;
+ console.log("\nDone.");
+ console.log("");
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((error) => {
+ console.error(error);
+ process.exit(1);
+ });
diff --git a/frontend/src/abi/ActivePool.ts b/frontend/src/abi/ActivePool.ts
new file mode 100644
index 00000000..5ebb4d23
--- /dev/null
+++ b/frontend/src/abi/ActivePool.ts
@@ -0,0 +1,145 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const ActivePool = [{ "type": "receive", "stateMutability": "payable" }, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperationsAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "decreaseBoldDebt",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "defaultPoolAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getBoldDebt",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getETH",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "increaseBoldDebt",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "sendETH",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [
+ { "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" },
+ { "name": "_troveManagerAddress", "type": "address", "internalType": "address" },
+ { "name": "_stabilityPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_defaultPoolAddress", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "stabilityPoolAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "troveManagerAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "ActivePoolBoldDebtUpdated",
+ "inputs": [{ "name": "_boldDebt", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "ActivePoolETHBalanceUpdated",
+ "inputs": [{ "name": "_ETH", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{
+ "name": "_newBorrowerOperationsAddress",
+ "type": "address",
+ "indexed": false,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DefaultPoolAddressChanged",
+ "inputs": [{ "name": "_newDefaultPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "EtherSent",
+ "inputs": [{ "name": "_to", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "StabilityPoolAddressChanged",
+ "inputs": [{ "name": "_newStabilityPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_newTroveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/BoldToken.ts b/frontend/src/abi/BoldToken.ts
new file mode 100644
index 00000000..44971061
--- /dev/null
+++ b/frontend/src/abi/BoldToken.ts
@@ -0,0 +1,243 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const BoldToken = [{
+ "type": "constructor",
+ "inputs": [{ "name": "_troveManagerAddress", "type": "address", "internalType": "address" }, {
+ "name": "_stabilityPoolAddress",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "allowance",
+ "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "approve",
+ "inputs": [{ "name": "spender", "type": "address", "internalType": "address" }, {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "balanceOf",
+ "inputs": [{ "name": "account", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperationsAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "burn",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "decimals",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint8", "internalType": "uint8" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "decreaseAllowance",
+ "inputs": [{ "name": "spender", "type": "address", "internalType": "address" }, {
+ "name": "subtractedValue",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "deploymentStartTime",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "domainSeparator",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "increaseAllowance",
+ "inputs": [{ "name": "spender", "type": "address", "internalType": "address" }, {
+ "name": "addedValue",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "mint",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "name",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "nonces",
+ "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "permit",
+ "inputs": [
+ { "name": "owner", "type": "address", "internalType": "address" },
+ { "name": "spender", "type": "address", "internalType": "address" },
+ { "name": "amount", "type": "uint256", "internalType": "uint256" },
+ { "name": "deadline", "type": "uint256", "internalType": "uint256" },
+ { "name": "v", "type": "uint8", "internalType": "uint8" },
+ { "name": "r", "type": "bytes32", "internalType": "bytes32" },
+ { "name": "s", "type": "bytes32", "internalType": "bytes32" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "permitTypeHash",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "returnFromPool",
+ "inputs": [{ "name": "_poolAddress", "type": "address", "internalType": "address" }, {
+ "name": "_receiver",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "sendToPool",
+ "inputs": [{ "name": "_sender", "type": "address", "internalType": "address" }, {
+ "name": "_poolAddress",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "stabilityPoolAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "symbol",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "totalSupply",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "transfer",
+ "inputs": [{ "name": "recipient", "type": "address", "internalType": "address" }, {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "transferFrom",
+ "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, {
+ "name": "recipient",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "troveManagerAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "version",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "pure",
+}, {
+ "type": "event",
+ "name": "Approval",
+ "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "spender",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{
+ "name": "_newBorrowerOperationsAddress",
+ "type": "address",
+ "indexed": false,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "StabilityPoolAddressChanged",
+ "inputs": [{ "name": "_newStabilityPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "Transfer",
+ "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "to",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_troveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/BorrowerOperations.ts b/frontend/src/abi/BorrowerOperations.ts
new file mode 100644
index 00000000..47f6cbd3
--- /dev/null
+++ b/frontend/src/abi/BorrowerOperations.ts
@@ -0,0 +1,343 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const BorrowerOperations = [
+ {
+ "type": "function",
+ "name": "BOLD_GAS_COMPENSATION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "BORROWING_FEE_FLOOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "CCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "DECIMAL_PRECISION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "MAX_ANNUAL_INTEREST_RATE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "MCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "MIN_NET_DEBT",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "PERCENT_DIVISOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "_100pct",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "activePool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IActivePool" }],
+ "stateMutability": "view",
+ },
+ { "type": "function", "name": "addColl", "inputs": [], "outputs": [], "stateMutability": "payable" },
+ {
+ "type": "function",
+ "name": "adjustTrove",
+ "inputs": [
+ { "name": "_maxFeePercentage", "type": "uint256", "internalType": "uint256" },
+ { "name": "_collWithdrawal", "type": "uint256", "internalType": "uint256" },
+ { "name": "_boldChange", "type": "uint256", "internalType": "uint256" },
+ { "name": "_isDebtIncrease", "type": "bool", "internalType": "bool" },
+ ],
+ "outputs": [],
+ "stateMutability": "payable",
+ },
+ {
+ "type": "function",
+ "name": "adjustTroveInterestRate",
+ "inputs": [{ "name": "_newAnnualInterestRate", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_upperHint",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_lowerHint", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ },
+ {
+ "type": "function",
+ "name": "boldToken",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IBoldToken" }],
+ "stateMutability": "view",
+ },
+ { "type": "function", "name": "claimCollateral", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
+ { "type": "function", "name": "closeTrove", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
+ {
+ "type": "function",
+ "name": "defaultPool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IDefaultPool" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "getCompositeDebt",
+ "inputs": [{ "name": "_debt", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "pure",
+ },
+ {
+ "type": "function",
+ "name": "getEntireSystemColl",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemColl", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "getEntireSystemDebt",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemDebt", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "moveETHGainToTrove",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "payable",
+ },
+ {
+ "type": "function",
+ "name": "openTrove",
+ "inputs": [
+ { "name": "_maxFeePercentage", "type": "uint256", "internalType": "uint256" },
+ { "name": "_boldAmount", "type": "uint256", "internalType": "uint256" },
+ { "name": "_upperHint", "type": "address", "internalType": "address" },
+ { "name": "_lowerHint", "type": "address", "internalType": "address" },
+ { "name": "_annualInterestRate", "type": "uint256", "internalType": "uint256" },
+ ],
+ "outputs": [],
+ "stateMutability": "payable",
+ },
+ {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "priceFeed",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IPriceFeed" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "repayBold",
+ "inputs": [{ "name": "_boldAmount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ },
+ {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [
+ { "name": "_troveManagerAddress", "type": "address", "internalType": "address" },
+ { "name": "_activePoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_defaultPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_stabilityPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_gasPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_collSurplusPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_priceFeedAddress", "type": "address", "internalType": "address" },
+ { "name": "_sortedTrovesAddress", "type": "address", "internalType": "address" },
+ { "name": "_boldTokenAddress", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ },
+ {
+ "type": "function",
+ "name": "sortedTroves",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISortedTroves" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "troveManager",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ITroveManager" }],
+ "stateMutability": "view",
+ },
+ {
+ "type": "function",
+ "name": "withdrawBold",
+ "inputs": [{ "name": "_maxFeePercentage", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_boldAmount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ },
+ {
+ "type": "function",
+ "name": "withdrawColl",
+ "inputs": [{ "name": "_collWithdrawal", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ },
+ {
+ "type": "event",
+ "name": "ActivePoolAddressChanged",
+ "inputs": [{ "name": "_activePoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "BoldBorrowingFeePaid",
+ "inputs": [{ "name": "_borrower", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "_boldFee",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "BoldTokenAddressChanged",
+ "inputs": [{ "name": "_boldTokenAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "CollSurplusPoolAddressChanged",
+ "inputs": [{ "name": "_collSurplusPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "DefaultPoolAddressChanged",
+ "inputs": [{ "name": "_defaultPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "GasPoolAddressChanged",
+ "inputs": [{ "name": "_gasPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "PriceFeedAddressChanged",
+ "inputs": [{ "name": "_newPriceFeedAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "SortedTrovesAddressChanged",
+ "inputs": [{ "name": "_sortedTrovesAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "StabilityPoolAddressChanged",
+ "inputs": [{ "name": "_stabilityPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "TroveCreated",
+ "inputs": [{ "name": "_borrower", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "arrayIndex",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_newTroveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+ },
+ {
+ "type": "event",
+ "name": "TroveUpdated",
+ "inputs": [
+ { "name": "_borrower", "type": "address", "indexed": true, "internalType": "address" },
+ { "name": "_debt", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_coll", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "stake", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ {
+ "name": "operation",
+ "type": "uint8",
+ "indexed": false,
+ "internalType": "enum BorrowerOperations.BorrowerOperation",
+ },
+ ],
+ "anonymous": false,
+ },
+] as const;
diff --git a/frontend/src/abi/CollSurplusPool.ts b/frontend/src/abi/CollSurplusPool.ts
new file mode 100644
index 00000000..0d25c358
--- /dev/null
+++ b/frontend/src/abi/CollSurplusPool.ts
@@ -0,0 +1,127 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const CollSurplusPool = [{ "type": "receive", "stateMutability": "payable" }, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "accountSurplus",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "activePoolAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperationsAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "claimColl",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "getCollateral",
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getETH",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [{ "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" }, {
+ "name": "_troveManagerAddress",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_activePoolAddress", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "troveManagerAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "ActivePoolAddressChanged",
+ "inputs": [{ "name": "_newActivePoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{
+ "name": "_newBorrowerOperationsAddress",
+ "type": "address",
+ "indexed": false,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "CollBalanceUpdated",
+ "inputs": [{ "name": "_account", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "_newBalance",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "EtherSent",
+ "inputs": [{ "name": "_to", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_newTroveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/DefaultPool.ts b/frontend/src/abi/DefaultPool.ts
new file mode 100644
index 00000000..20954fb3
--- /dev/null
+++ b/frontend/src/abi/DefaultPool.ts
@@ -0,0 +1,113 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const DefaultPool = [{ "type": "receive", "stateMutability": "payable" }, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "activePoolAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "decreaseBoldDebt",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "getBoldDebt",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getETH",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "increaseBoldDebt",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "sendETHToActivePool",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [{ "name": "_troveManagerAddress", "type": "address", "internalType": "address" }, {
+ "name": "_activePoolAddress",
+ "type": "address",
+ "internalType": "address",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "troveManagerAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "ActivePoolAddressChanged",
+ "inputs": [{ "name": "_newActivePoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DefaultPoolBoldDebtUpdated",
+ "inputs": [{ "name": "_boldDebt", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DefaultPoolETHBalanceUpdated",
+ "inputs": [{ "name": "_ETH", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "EtherSent",
+ "inputs": [{ "name": "_to", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_newTroveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/GasPool.ts b/frontend/src/abi/GasPool.ts
new file mode 100644
index 00000000..4c8a08a3
--- /dev/null
+++ b/frontend/src/abi/GasPool.ts
@@ -0,0 +1,3 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const GasPool = [] as const;
diff --git a/frontend/src/abi/HintHelpers.ts b/frontend/src/abi/HintHelpers.ts
new file mode 100644
index 00000000..717e6a91
--- /dev/null
+++ b/frontend/src/abi/HintHelpers.ts
@@ -0,0 +1,195 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const HintHelpers = [{
+ "type": "function",
+ "name": "BOLD_GAS_COMPENSATION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "BORROWING_FEE_FLOOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "CCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "DECIMAL_PRECISION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_ANNUAL_INTEREST_RATE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MIN_NET_DEBT",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "PERCENT_DIVISOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "_100pct",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "activePool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IActivePool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "computeCR",
+ "inputs": [{ "name": "_coll", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_debt",
+ "type": "uint256",
+ "internalType": "uint256",
+ }, { "name": "_price", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "computeNominalCR",
+ "inputs": [{ "name": "_coll", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_debt",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "pure",
+}, {
+ "type": "function",
+ "name": "defaultPool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IDefaultPool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getApproxHint",
+ "inputs": [{ "name": "_CR", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_numTrials",
+ "type": "uint256",
+ "internalType": "uint256",
+ }, { "name": "_inputRandomSeed", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "hintAddress", "type": "address", "internalType": "address" }, {
+ "name": "diff",
+ "type": "uint256",
+ "internalType": "uint256",
+ }, { "name": "latestRandomSeed", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemColl",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemColl", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemDebt",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemDebt", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getRedemptionHints",
+ "inputs": [{ "name": "_boldamount", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_price",
+ "type": "uint256",
+ "internalType": "uint256",
+ }, { "name": "_maxIterations", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "firstRedemptionHint", "type": "address", "internalType": "address" }, {
+ "name": "partialRedemptionHintNICR",
+ "type": "uint256",
+ "internalType": "uint256",
+ }, { "name": "truncatedBoldamount", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "priceFeed",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IPriceFeed" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [{ "name": "_sortedTrovesAddress", "type": "address", "internalType": "address" }, {
+ "name": "_troveManagerAddress",
+ "type": "address",
+ "internalType": "address",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "sortedTroves",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISortedTroves" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "troveManager",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ITroveManager" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "SortedTrovesAddressChanged",
+ "inputs": [{ "name": "_sortedTrovesAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_troveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/MultiTroveGetter.ts b/frontend/src/abi/MultiTroveGetter.ts
new file mode 100644
index 00000000..1b99edcb
--- /dev/null
+++ b/frontend/src/abi/MultiTroveGetter.ts
@@ -0,0 +1,45 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const MultiTroveGetter = [{
+ "type": "constructor",
+ "inputs": [{ "name": "_troveManager", "type": "address", "internalType": "contract TroveManager" }, {
+ "name": "_sortedTroves",
+ "type": "address",
+ "internalType": "contract ISortedTroves",
+ }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "getMultipleSortedTroves",
+ "inputs": [{ "name": "_startIdx", "type": "int256", "internalType": "int256" }, {
+ "name": "_count",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{
+ "name": "_troves",
+ "type": "tuple[]",
+ "internalType": "struct MultiTroveGetter.CombinedTroveData[]",
+ "components": [
+ { "name": "owner", "type": "address", "internalType": "address" },
+ { "name": "debt", "type": "uint256", "internalType": "uint256" },
+ { "name": "coll", "type": "uint256", "internalType": "uint256" },
+ { "name": "stake", "type": "uint256", "internalType": "uint256" },
+ { "name": "snapshotETH", "type": "uint256", "internalType": "uint256" },
+ { "name": "snapshotBoldDebt", "type": "uint256", "internalType": "uint256" },
+ ],
+ }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "sortedTroves",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISortedTroves" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "troveManager",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract TroveManager" }],
+ "stateMutability": "view",
+}] as const;
diff --git a/frontend/src/abi/PriceFeed.ts b/frontend/src/abi/PriceFeed.ts
new file mode 100644
index 00000000..f73992d4
--- /dev/null
+++ b/frontend/src/abi/PriceFeed.ts
@@ -0,0 +1,123 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const PriceFeed = [{
+ "type": "function",
+ "name": "DECIMAL_PRECISION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "ETHUSD_TELLOR_REQ_ID",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_PRICE_DEVIATION_FROM_PREVIOUS_ROUND",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_PRICE_DIFFERENCE_BETWEEN_ORACLES",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "TARGET_DIGITS",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "TELLOR_DIGITS",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "TIMEOUT",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "fetchPrice",
+ "inputs": [],
+ "outputs": [{ "name": "_lastGoodPrice", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastGoodPrice",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "priceAggregator",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract AggregatorV3Interface" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [{ "name": "_priceAggregatorAddress", "type": "address", "internalType": "address" }, {
+ "name": "_tellorCallerAddress",
+ "type": "address",
+ "internalType": "address",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "status",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint8", "internalType": "enum PriceFeed.Status" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "tellorCaller",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ITellorCaller" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "LastGoodPriceUpdated",
+ "inputs": [{ "name": "_lastGoodPrice", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "PriceFeedStatusChanged",
+ "inputs": [{ "name": "newStatus", "type": "uint8", "indexed": false, "internalType": "enum PriceFeed.Status" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/SortedTroves.ts b/frontend/src/abi/SortedTroves.ts
new file mode 100644
index 00000000..a90aaae6
--- /dev/null
+++ b/frontend/src/abi/SortedTroves.ts
@@ -0,0 +1,195 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const SortedTroves = [{
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperationsAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "contains",
+ "inputs": [{ "name": "_id", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "data",
+ "inputs": [],
+ "outputs": [
+ { "name": "head", "type": "address", "internalType": "address" },
+ { "name": "tail", "type": "address", "internalType": "address" },
+ { "name": "maxSize", "type": "uint256", "internalType": "uint256" },
+ { "name": "size", "type": "uint256", "internalType": "uint256" },
+ ],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "findInsertPosition",
+ "inputs": [{ "name": "_annualInterestRate", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_prevId",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_nextId", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }, {
+ "name": "",
+ "type": "address",
+ "internalType": "address",
+ }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getFirst",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getLast",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getMaxSize",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getNext",
+ "inputs": [{ "name": "_id", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getPrev",
+ "inputs": [{ "name": "_id", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getSize",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "insert",
+ "inputs": [
+ { "name": "_id", "type": "address", "internalType": "address" },
+ { "name": "_annualInterestRate", "type": "uint256", "internalType": "uint256" },
+ { "name": "_prevId", "type": "address", "internalType": "address" },
+ { "name": "_nextId", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "isEmpty",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "isFull",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "reInsert",
+ "inputs": [
+ { "name": "_id", "type": "address", "internalType": "address" },
+ { "name": "_newAnnualInterestRate", "type": "uint256", "internalType": "uint256" },
+ { "name": "_prevId", "type": "address", "internalType": "address" },
+ { "name": "_nextId", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "remove",
+ "inputs": [{ "name": "_id", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "setParams",
+ "inputs": [{ "name": "_size", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_troveManagerAddress",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "troveManager",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ITroveManager" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "validInsertPosition",
+ "inputs": [{ "name": "_annualInterestRate", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_prevId",
+ "type": "address",
+ "internalType": "address",
+ }, { "name": "_nextId", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{ "name": "_borrowerOperationsAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "NodeAdded",
+ "inputs": [{ "name": "_id", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_annualInterestRate",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "NodeRemoved",
+ "inputs": [{ "name": "_id", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_troveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/StabilityPool.ts b/frontend/src/abi/StabilityPool.ts
new file mode 100644
index 00000000..782ac1de
--- /dev/null
+++ b/frontend/src/abi/StabilityPool.ts
@@ -0,0 +1,393 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const StabilityPool = [{ "type": "receive", "stateMutability": "payable" }, {
+ "type": "function",
+ "name": "BOLD_GAS_COMPENSATION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "BORROWING_FEE_FLOOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "CCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "DECIMAL_PRECISION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_ANNUAL_INTEREST_RATE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MIN_NET_DEBT",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "P",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "PERCENT_DIVISOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "SCALE_FACTOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "_100pct",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "activePool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IActivePool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "boldToken",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IBoldToken" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperations",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IBorrowerOperations" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "currentEpoch",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint128", "internalType": "uint128" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "currentScale",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint128", "internalType": "uint128" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "defaultPool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IDefaultPool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "depositSnapshots",
+ "inputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "outputs": [
+ { "name": "S", "type": "uint256", "internalType": "uint256" },
+ { "name": "P", "type": "uint256", "internalType": "uint256" },
+ { "name": "G", "type": "uint256", "internalType": "uint256" },
+ { "name": "scale", "type": "uint128", "internalType": "uint128" },
+ { "name": "epoch", "type": "uint128", "internalType": "uint128" },
+ ],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "deposits",
+ "inputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "initialValue", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "epochToScaleToSum",
+ "inputs": [{ "name": "", "type": "uint128", "internalType": "uint128" }, {
+ "name": "",
+ "type": "uint128",
+ "internalType": "uint128",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getCompoundedBoldDeposit",
+ "inputs": [{ "name": "_depositor", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getDepositorETHGain",
+ "inputs": [{ "name": "_depositor", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getETH",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemColl",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemColl", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemDebt",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemDebt", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTotalBoldDeposits",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastBoldLossError_Offset",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastETHError_Offset",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "offset",
+ "inputs": [{ "name": "_debtToOffset", "type": "uint256", "internalType": "uint256" }, {
+ "name": "_collToAdd",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "priceFeed",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IPriceFeed" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "provideToSP",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [
+ { "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" },
+ { "name": "_troveManagerAddress", "type": "address", "internalType": "address" },
+ { "name": "_activePoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_boldTokenAddress", "type": "address", "internalType": "address" },
+ { "name": "_sortedTrovesAddress", "type": "address", "internalType": "address" },
+ { "name": "_priceFeedAddress", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "sortedTroves",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISortedTroves" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "troveManager",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ITroveManager" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "withdrawETHGainToTrove",
+ "inputs": [],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "withdrawFromSP",
+ "inputs": [{ "name": "_amount", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "event",
+ "name": "ActivePoolAddressChanged",
+ "inputs": [{ "name": "_newActivePoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BoldTokenAddressChanged",
+ "inputs": [{ "name": "_newBoldTokenAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{
+ "name": "_newBorrowerOperationsAddress",
+ "type": "address",
+ "indexed": false,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DefaultPoolAddressChanged",
+ "inputs": [{ "name": "_newDefaultPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DepositSnapshotUpdated",
+ "inputs": [{ "name": "_depositor", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "_P",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }, { "name": "_S", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "ETHGainWithdrawn",
+ "inputs": [{ "name": "_depositor", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "_ETH",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }, { "name": "_boldLoss", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "EpochUpdated",
+ "inputs": [{ "name": "_currentEpoch", "type": "uint128", "indexed": false, "internalType": "uint128" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "EtherSent",
+ "inputs": [{ "name": "_to", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_amount",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "G_Updated",
+ "inputs": [{ "name": "_G", "type": "uint256", "indexed": false, "internalType": "uint256" }, {
+ "name": "_epoch",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128",
+ }, { "name": "_scale", "type": "uint128", "indexed": false, "internalType": "uint128" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "P_Updated",
+ "inputs": [{ "name": "_P", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "PriceFeedAddressChanged",
+ "inputs": [{ "name": "_newPriceFeedAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "S_Updated",
+ "inputs": [{ "name": "_S", "type": "uint256", "indexed": false, "internalType": "uint256" }, {
+ "name": "_epoch",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128",
+ }, { "name": "_scale", "type": "uint128", "indexed": false, "internalType": "uint128" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "ScaleUpdated",
+ "inputs": [{ "name": "_currentScale", "type": "uint128", "indexed": false, "internalType": "uint128" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "SortedTrovesAddressChanged",
+ "inputs": [{ "name": "_newSortedTrovesAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "StabilityPoolBoldBalanceUpdated",
+ "inputs": [{ "name": "_newBalance", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "StabilityPoolETHBalanceUpdated",
+ "inputs": [{ "name": "_newBalance", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveManagerAddressChanged",
+ "inputs": [{ "name": "_newTroveManagerAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "UserDepositChanged",
+ "inputs": [{ "name": "_depositor", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "_newDeposit",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/abi/TroveManager.ts b/frontend/src/abi/TroveManager.ts
new file mode 100644
index 00000000..1f68c174
--- /dev/null
+++ b/frontend/src/abi/TroveManager.ts
@@ -0,0 +1,664 @@
+// this file was generated by scripts/update-liquity-abis.ts
+// please do not edit it manually
+export const TroveManager = [{
+ "type": "function",
+ "name": "BETA",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "BOLD_GAS_COMPENSATION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "BOOTSTRAP_PERIOD",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "BORROWING_FEE_FLOOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "CCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "DECIMAL_PRECISION",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "L_ETH",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "L_boldDebt",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_ANNUAL_INTEREST_RATE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MAX_BORROWING_FEE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MCR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MINUTE_DECAY_FACTOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "MIN_NET_DEBT",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "NAME",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "PERCENT_DIVISOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "REDEMPTION_FEE_FLOOR",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "SECONDS_IN_ONE_MINUTE",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "TroveOwners",
+ "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "Troves",
+ "inputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "outputs": [
+ { "name": "debt", "type": "uint256", "internalType": "uint256" },
+ { "name": "coll", "type": "uint256", "internalType": "uint256" },
+ { "name": "stake", "type": "uint256", "internalType": "uint256" },
+ { "name": "status", "type": "uint8", "internalType": "enum TroveManager.Status" },
+ { "name": "arrayIndex", "type": "uint128", "internalType": "uint128" },
+ { "name": "annualInterestRate", "type": "uint256", "internalType": "uint256" },
+ ],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "_100pct",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "activePool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IActivePool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "addTroveOwnerToArray",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "applyPendingRewards",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "baseRate",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "batchLiquidateTroves",
+ "inputs": [{ "name": "_troveArray", "type": "address[]", "internalType": "address[]" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "boldToken",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IBoldToken" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "borrowerOperationsAddress",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "changeAnnualInterestRate",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_newAnnualInterestRate",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "checkRecoveryMode",
+ "inputs": [{ "name": "_price", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "closeTrove",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "decreaseTroveColl",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_collDecrease",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "decreaseTroveDebt",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_debtDecrease",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "defaultPool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IDefaultPool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getCurrentICR",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_price",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireDebtAndColl",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [
+ { "name": "debt", "type": "uint256", "internalType": "uint256" },
+ { "name": "coll", "type": "uint256", "internalType": "uint256" },
+ { "name": "pendingBoldDebtReward", "type": "uint256", "internalType": "uint256" },
+ { "name": "pendingETHReward", "type": "uint256", "internalType": "uint256" },
+ ],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemColl",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemColl", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getEntireSystemDebt",
+ "inputs": [],
+ "outputs": [{ "name": "entireSystemDebt", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getNominalICR",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getPendingBoldDebtReward",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getPendingETHReward",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getRedemptionFeeWithDecay",
+ "inputs": [{ "name": "_ETHDrawn", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getRedemptionRate",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getRedemptionRateWithDecay",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTCR",
+ "inputs": [{ "name": "_price", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveAnnualInterestRate",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveColl",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveDebt",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveFromTroveOwnersArray",
+ "inputs": [{ "name": "_index", "type": "uint256", "internalType": "uint256" }],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveOwnersCount",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveStake",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "getTroveStatus",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "hasPendingRewards",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "increaseTroveColl",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_collIncrease",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "increaseTroveDebt",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }, {
+ "name": "_debtIncrease",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "isOwner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastBoldDebtError_Redistribution",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastETHError_Redistribution",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "lastFeeOperationTime",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "liquidate",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "priceFeed",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IPriceFeed" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "redeemCollateral",
+ "inputs": [
+ { "name": "_boldamount", "type": "uint256", "internalType": "uint256" },
+ { "name": "_firstRedemptionHint", "type": "address", "internalType": "address" },
+ { "name": "_upperPartialRedemptionHint", "type": "address", "internalType": "address" },
+ { "name": "_lowerPartialRedemptionHint", "type": "address", "internalType": "address" },
+ { "name": "_partialRedemptionHintNICR", "type": "uint256", "internalType": "uint256" },
+ { "name": "_maxIterations", "type": "uint256", "internalType": "uint256" },
+ { "name": "_maxFeePercentage", "type": "uint256", "internalType": "uint256" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "removeStake",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "rewardSnapshots",
+ "inputs": [{ "name": "", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "ETH", "type": "uint256", "internalType": "uint256" }, {
+ "name": "boldDebt",
+ "type": "uint256",
+ "internalType": "uint256",
+ }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "setAddresses",
+ "inputs": [
+ { "name": "_borrowerOperationsAddress", "type": "address", "internalType": "address" },
+ { "name": "_activePoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_defaultPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_stabilityPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_gasPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_collSurplusPoolAddress", "type": "address", "internalType": "address" },
+ { "name": "_priceFeedAddress", "type": "address", "internalType": "address" },
+ { "name": "_boldTokenAddress", "type": "address", "internalType": "address" },
+ { "name": "_sortedTrovesAddress", "type": "address", "internalType": "address" },
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "setTrovePropertiesOnOpen",
+ "inputs": [
+ { "name": "_borrower", "type": "address", "internalType": "address" },
+ { "name": "_coll", "type": "uint256", "internalType": "uint256" },
+ { "name": "_debt", "type": "uint256", "internalType": "uint256" },
+ { "name": "_annualInterestRate", "type": "uint256", "internalType": "uint256" },
+ ],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "function",
+ "name": "sortedTroves",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISortedTroves" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "stabilityPool",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IStabilityPool" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "totalCollateralSnapshot",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "totalStakes",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "totalStakesSnapshot",
+ "inputs": [],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "view",
+}, {
+ "type": "function",
+ "name": "updateStakeAndTotalStakes",
+ "inputs": [{ "name": "_borrower", "type": "address", "internalType": "address" }],
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
+ "stateMutability": "nonpayable",
+}, {
+ "type": "event",
+ "name": "ActivePoolAddressChanged",
+ "inputs": [{ "name": "_activePoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BaseRateUpdated",
+ "inputs": [{ "name": "_baseRate", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BoldTokenAddressChanged",
+ "inputs": [{ "name": "_newBoldTokenAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "BorrowerOperationsAddressChanged",
+ "inputs": [{
+ "name": "_newBorrowerOperationsAddress",
+ "type": "address",
+ "indexed": false,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "CollSurplusPoolAddressChanged",
+ "inputs": [{ "name": "_collSurplusPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "DefaultPoolAddressChanged",
+ "inputs": [{ "name": "_defaultPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "GasPoolAddressChanged",
+ "inputs": [{ "name": "_gasPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "LTermsUpdated",
+ "inputs": [{ "name": "_L_ETH", "type": "uint256", "indexed": false, "internalType": "uint256" }, {
+ "name": "_L_boldDebt",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "LastFeeOpTimeUpdated",
+ "inputs": [{ "name": "_lastFeeOpTime", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "Liquidation",
+ "inputs": [
+ { "name": "_liquidatedDebt", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_liquidatedColl", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_collGasCompensation", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_boldGasCompensation", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ ],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "PriceFeedAddressChanged",
+ "inputs": [{ "name": "_newPriceFeedAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "Redemption",
+ "inputs": [
+ { "name": "_attemptedBoldAmount", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_actualBoldAmount", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_ETHSent", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_ETHFee", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ ],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "SortedTrovesAddressChanged",
+ "inputs": [{ "name": "_sortedTrovesAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "StabilityPoolAddressChanged",
+ "inputs": [{ "name": "_stabilityPoolAddress", "type": "address", "indexed": false, "internalType": "address" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "SystemSnapshotsUpdated",
+ "inputs": [{ "name": "_totalStakesSnapshot", "type": "uint256", "indexed": false, "internalType": "uint256" }, {
+ "name": "_totalCollateralSnapshot",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TotalStakesUpdated",
+ "inputs": [{ "name": "_newTotalStakes", "type": "uint256", "indexed": false, "internalType": "uint256" }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveIndexUpdated",
+ "inputs": [{ "name": "_borrower", "type": "address", "indexed": false, "internalType": "address" }, {
+ "name": "_newIndex",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveLiquidated",
+ "inputs": [
+ { "name": "_borrower", "type": "address", "indexed": true, "internalType": "address" },
+ { "name": "_debt", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_coll", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ {
+ "name": "_operation",
+ "type": "uint8",
+ "indexed": false,
+ "internalType": "enum TroveManager.TroveManagerOperation",
+ },
+ ],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveSnapshotsUpdated",
+ "inputs": [{ "name": "_L_ETH", "type": "uint256", "indexed": false, "internalType": "uint256" }, {
+ "name": "_L_boldDebt",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256",
+ }],
+ "anonymous": false,
+}, {
+ "type": "event",
+ "name": "TroveUpdated",
+ "inputs": [
+ { "name": "_borrower", "type": "address", "indexed": true, "internalType": "address" },
+ { "name": "_debt", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_coll", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ { "name": "_stake", "type": "uint256", "indexed": false, "internalType": "uint256" },
+ {
+ "name": "_operation",
+ "type": "uint8",
+ "indexed": false,
+ "internalType": "enum TroveManager.TroveManagerOperation",
+ },
+ ],
+ "anonymous": false,
+}] as const;
diff --git a/frontend/src/app/bold/page.tsx b/frontend/src/app/bold/page.tsx
new file mode 100644
index 00000000..54f8e8e5
--- /dev/null
+++ b/frontend/src/app/bold/page.tsx
@@ -0,0 +1,7 @@
+export default function Bold() {
+ return (
+
+ Use BOLD
+
+ );
+}
diff --git a/frontend/src/app/borrow/page.tsx b/frontend/src/app/borrow/page.tsx
new file mode 100644
index 00000000..3befddc9
--- /dev/null
+++ b/frontend/src/app/borrow/page.tsx
@@ -0,0 +1,92 @@
+"use client";
+
+import type { Property } from "@/styled-system/types/csstype";
+
+import { palette } from "@/src/colors";
+import { PercentageBars } from "@/src/comps/PercentageBars/PercentageBars";
+import { css } from "@/styled-system/css";
+import { match } from "ts-pattern";
+
+export default function Borrow() {
+ return (
+
+
+
+
Interest rate
+
5.00%
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function RiskLabel({
+ align = "start",
+ label,
+ rate,
+}: {
+ align?: "start" | "end" | "center";
+ label: string;
+ rate: string;
+}) {
+ return (
+ ()
+ .with("start", () => "left")
+ .with("end", () => "right")
+ .otherwise(() => "center")
+ ),
+ }}
+ >
+
+ {label}
+
+
+ {rate}
+
+
+ );
+}
diff --git a/frontend/src/app/contracts/Contract.tsx b/frontend/src/app/contracts/Contract.tsx
new file mode 100644
index 00000000..eac43b0a
--- /dev/null
+++ b/frontend/src/app/contracts/Contract.tsx
@@ -0,0 +1,36 @@
+import type { ReactNode } from "react";
+
+import { css } from "@/styled-system/css";
+import { Masonry } from "./Masonry";
+
+export function Contract({
+ children,
+ name,
+}: {
+ children?: ReactNode;
+ name: string;
+}) {
+ return (
+
+
+ {name}
+
+
+ {children}
+
+
+ );
+}
diff --git a/frontend/src/app/contracts/ContractAction.tsx b/frontend/src/app/contracts/ContractAction.tsx
new file mode 100644
index 00000000..39057fb8
--- /dev/null
+++ b/frontend/src/app/contracts/ContractAction.tsx
@@ -0,0 +1,75 @@
+import type { ReactNode } from "react";
+
+import { Button } from "@/src/comps/Button/Button";
+import { TextButton } from "@/src/comps/Button/TextButton";
+import { css } from "@/styled-system/css";
+
+export function ContractAction({
+ children,
+ onFillExample,
+ onSubmit,
+ title,
+}: {
+ children?: ReactNode;
+ onFillExample?: () => void;
+ onSubmit?: () => void;
+ title: string;
+}) {
+ return (
+
+
+
+ {title}
+
+ {onFillExample && (
+
+ )}
+
+
+
+ );
+}
diff --git a/frontend/src/app/contracts/ContractBorrowerOperations.tsx b/frontend/src/app/contracts/ContractBorrowerOperations.tsx
new file mode 100644
index 00000000..68ef7058
--- /dev/null
+++ b/frontend/src/app/contracts/ContractBorrowerOperations.tsx
@@ -0,0 +1,248 @@
+import type { Address } from "@/src/types";
+import type { Dnum } from "dnum";
+
+import { BorrowerOperations } from "@/src/abi/BorrowerOperations";
+import { FormField } from "@/src/comps/FormField/FormField";
+import { TextInput } from "@/src/comps/Input/TextInput";
+import { CONTRACT_BORROWER_OPERATIONS } from "@/src/env";
+import { ADDRESS_ZERO } from "@/src/eth-utils";
+import { parseInputAddress, parseInputPercentage, parseInputValue } from "@/src/form-utils";
+import * as dn from "dnum";
+import { useState } from "react";
+import { useAccount, useWriteContract } from "wagmi";
+import { Contract } from "./Contract";
+import { ContractAction } from "./ContractAction";
+
+export function ContractBorrowerOperations() {
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function OpenTrove() {
+ const account = useAccount();
+ const { writeContract } = useWriteContract();
+
+ const [formValues, setFormValues] = useState<{
+ maxFeePercentage: [string, Dnum];
+ boldAmount: [string, Dnum];
+ upperHint: [string, Address];
+ lowerHint: [string, Address];
+ annualInterestRate: [string, Dnum];
+ ethValue: [string, Dnum];
+ }>(() => ({
+ maxFeePercentage: ["", dn.from(0, 18)],
+ boldAmount: ["", dn.from(0, 18)],
+ upperHint: ["", ADDRESS_ZERO],
+ lowerHint: ["", ADDRESS_ZERO],
+ annualInterestRate: ["", dn.from(0, 18)],
+ ethValue: ["", dn.from(0, 18)],
+ }));
+
+ const formProps = Object.fromEntries([
+ ["maxFeePercentage", parseInputValue] as const,
+ ["boldAmount", parseInputValue] as const,
+ ["upperHint", parseInputAddress] as const,
+ ["lowerHint", parseInputAddress] as const,
+ ["annualInterestRate", parseInputPercentage] as const,
+ ["ethValue", parseInputValue] as const,
+ ].map(([name, valueParser]) => [name, {
+ onChange: (value: string) => {
+ const parsedValue = valueParser(value);
+ if (parsedValue !== null) {
+ setFormValues((values) => ({
+ ...values,
+ [name]: [value, parsedValue],
+ }));
+ }
+ },
+ value: formValues[name][0],
+ }]));
+
+ const onSubmit = () => {
+ if (account.address) {
+ writeContract({
+ abi: BorrowerOperations,
+ address: CONTRACT_BORROWER_OPERATIONS,
+ functionName: "openTrove",
+ args: [
+ formValues.maxFeePercentage[1][0],
+ formValues.boldAmount[1][0],
+ formValues.upperHint[1],
+ formValues.lowerHint[1],
+ formValues.annualInterestRate[1][0],
+ ],
+ value: formValues.ethValue[1][0],
+ });
+ }
+ };
+
+ const onFillExample = () => {
+ const address = account.address ?? ADDRESS_ZERO;
+ setFormValues({
+ maxFeePercentage: ["100", [100n * 10n ** 16n, 18]],
+ boldAmount: ["1800", [1800n * 10n ** 18n, 18]],
+ upperHint: [address, address],
+ lowerHint: [address, address],
+ annualInterestRate: ["5", [5n * 10n ** 16n, 18]],
+ ethValue: ["20", [20n * 10n ** 18n, 18]],
+ });
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function CloseTrove() {
+ const account = useAccount();
+ const { writeContract } = useWriteContract();
+ return (
+ {
+ if (account.address) {
+ writeContract({
+ abi: BorrowerOperations,
+ address: CONTRACT_BORROWER_OPERATIONS,
+ functionName: "closeTrove",
+ args: [],
+ });
+ }
+ }}
+ />
+ );
+}
+
+function AdjustTroveInterestRate() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function AdjustTrove() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function RepayBold() {
+ const account = useAccount();
+ const { writeContract } = useWriteContract();
+ const [[boldAmountInput, boldAmount], setBoldAmount] = useState<[string, Dnum]>(["", dn.from(0, 18)]);
+ return (
+ {
+ if (account.address) {
+ writeContract({
+ abi: BorrowerOperations,
+ address: CONTRACT_BORROWER_OPERATIONS,
+ functionName: "repayBold",
+ args: [boldAmount[0]],
+ });
+ }
+ }}
+ >
+
+ {
+ const parsedValue = parseInputValue(value);
+ if (parsedValue !== null) {
+ setBoldAmount([value, parsedValue]);
+ }
+ }}
+ value={boldAmountInput}
+ />
+
+
+ );
+}
+
+function AddCollateral() {
+ return (
+
+
+
+
+
+ );
+}
+
+function WithdrawCollateral() {
+ return (
+
+
+
+
+
+ );
+}
+
+function WithdrawBold() {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/app/contracts/ContractStabilityPool.tsx b/frontend/src/app/contracts/ContractStabilityPool.tsx
new file mode 100644
index 00000000..b8ed6e10
--- /dev/null
+++ b/frontend/src/app/contracts/ContractStabilityPool.tsx
@@ -0,0 +1,41 @@
+import { FormField } from "@/src/comps/FormField/FormField";
+import { TextInput } from "@/src/comps/Input/TextInput";
+import { Contract } from "./Contract";
+import { ContractAction } from "./ContractAction";
+
+export function ContractStabilityPool() {
+ return (
+
+
+
+
+
+ );
+}
+
+function ProvideToSp() {
+ return (
+
+
+
+
+
+ );
+}
+
+function WithdrawFromSp() {
+ return (
+
+
+
+
+
+ );
+}
+
+function WithdrawEthGainToTrove() {
+ return (
+
+
+ );
+}
diff --git a/frontend/src/app/contracts/Masonry.tsx b/frontend/src/app/contracts/Masonry.tsx
new file mode 100644
index 00000000..4337a6f0
--- /dev/null
+++ b/frontend/src/app/contracts/Masonry.tsx
@@ -0,0 +1,31 @@
+import type { ReactNode } from "react";
+
+import { css } from "@/styled-system/css";
+import { Children } from "react";
+
+export function Masonry({
+ children,
+}: {
+ children: ReactNode;
+}) {
+ return (
+
+ {Children.map(children, child => (
+
+ {child}
+
+ ))}
+
+ );
+}
diff --git a/frontend/src/app/contracts/page.tsx b/frontend/src/app/contracts/page.tsx
new file mode 100644
index 00000000..6bc55c48
--- /dev/null
+++ b/frontend/src/app/contracts/page.tsx
@@ -0,0 +1,341 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import { ADDRESS_ZERO, shortenAddress } from "@/src/eth-utils";
+import {
+ useBoldBalance,
+ useCloseTrove,
+ useLiquity2Info,
+ useOpenTrove,
+ useRewards,
+ useTroveDetails,
+} from "@/src/liquity-utils";
+import { css } from "@/styled-system/css";
+import { useModal } from "connectkit";
+import * as dn from "dnum";
+import { match, P } from "ts-pattern";
+import { useAccount, useBalance, useDisconnect } from "wagmi";
+import { ContractBorrowerOperations } from "./ContractBorrowerOperations";
+import { ContractStabilityPool } from "./ContractStabilityPool";
+
+export default function Home() {
+ return (
+
+ );
+}
+
+function AccountDetails() {
+ const { setOpen } = useModal();
+ const { disconnect } = useDisconnect();
+ const { address } = useAccount();
+ const balance = useBalance({ address: address ?? ADDRESS_ZERO });
+ const boldBalance = useBoldBalance(address ?? ADDRESS_ZERO);
+ const rewards = useRewards(address ?? ADDRESS_ZERO);
+ return (
+ ({
+ label: "Disconnect",
+ onClick: disconnect,
+ }))
+ .otherwise(() => ({
+ label: "Connect Wallet",
+ onClick: () => setOpen(true),
+ }))}
+ >
+ {match({ address, data: [balance, boldBalance, rewards] })
+ .when(
+ ({ address, data }) => address && data.some(({ status }) => status === "pending"),
+ () => loading…
,
+ )
+ .when(
+ ({ address, data }) => address && data.some(({ status }) => status === "error"),
+ () => error
,
+ )
+ .with(
+ {
+ address: P.string,
+ data: [
+ { status: "success" },
+ { status: "success" },
+ { status: "success" },
+ ],
+ },
+ ({ address, data: [balance, boldBalance, rewards] }) => (
+ <>
+ {shortenAddress(address, 4)}}
+ />
+
+ {dn.format([balance.data?.value ?? 0n, 18], 2)} ETH
+
+ }
+ />
+
+
+
+ >
+ ),
+ )
+ .otherwise(() => null)}
+
+ );
+}
+
+function TroveDetails() {
+ const { address } = useAccount();
+ const troveDetails = useTroveDetails(address ?? ADDRESS_ZERO);
+
+ const closeTrove = useCloseTrove(address ?? ADDRESS_ZERO);
+ const openTrove = useOpenTrove(address ?? ADDRESS_ZERO, {
+ maxFeePercentage: 100n * 10n ** 16n, // 100%
+ boldAmount: 1800n * 10n ** 18n, // 1800 BOLD
+ upperHint: address ?? ADDRESS_ZERO,
+ lowerHint: address ?? ADDRESS_ZERO,
+ interestRate: 5n * 10n ** 16n, // 5%
+ value: 20n * 10n ** 18n, // 20 ETH
+ });
+
+ return (
+ ({
+ label: "Open Trove",
+ onClick: () => {
+ const data = openTrove();
+ console.log("openTrove", data);
+ },
+ }),
+ )
+ .with(["active", P.not(undefined)], () => ({
+ label: "Close Trove",
+ onClick: () => {
+ const data = closeTrove();
+ console.log("closeTrove", data);
+ },
+ }))
+ .otherwise(() => null)}
+ >
+ {match([troveDetails, address])
+ .with([{ status: "pending" }, P.not(undefined)], () => "loading…")
+ .with([{ status: "error" }, P.not(undefined)], () => "error")
+ .with([{ status: "success", data: P.not(undefined) }, P.not(undefined)], ([{ data }]) => (
+ <>
+
+
+
+
+
+ >
+ ))
+ .otherwise(() => null)}
+
+ );
+}
+
+function Liquity2Info() {
+ const liquity2Info = useLiquity2Info();
+ return (
+
+ {match(liquity2Info)
+ .with({ status: "error" }, () => "error")
+ .with({ status: "pending" }, () => "loading…")
+ .with({ status: "success" }, ({ data }) => (
+ <>
+
+
+
+
+ TCR ($4k/ETH)
+ >
+ }
+ value={dn.format(dn.mul(data.tcr, 100n), 2) + "%"}
+ />
+
+ >
+ ))
+ .otherwise(() => null)}
+
+ );
+}
+
+function CardsGrid({ children }: { children: ReactNode }) {
+ return (
+
+ {children}
+
+ );
+}
+
+function Card({
+ action,
+ children,
+ title,
+}: {
+ action?: null | {
+ label: string;
+ onClick: () => void;
+ };
+ children: ReactNode;
+ title: string;
+}) {
+ return (
+
+
+
+ {title}
+
+
+ {children}
+
+
+ {action && (
+
+
+
+ )}
+
+ );
+}
+
+function CardRow({
+ name,
+ value,
+}: {
+ name: ReactNode;
+ value: ReactNode;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/app/earn/page.tsx b/frontend/src/app/earn/page.tsx
new file mode 100644
index 00000000..fd3f6305
--- /dev/null
+++ b/frontend/src/app/earn/page.tsx
@@ -0,0 +1,7 @@
+export default function Earn() {
+ return (
+
+ Earn
+
+ );
+}
diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx
new file mode 100644
index 00000000..18804c1c
--- /dev/null
+++ b/frontend/src/app/layout.tsx
@@ -0,0 +1,43 @@
+// All global CSS should be imported from here for easier maintenance
+import "@/src/index.css";
+
+import type { Metadata } from "next";
+import type { ReactNode } from "react";
+
+import { AppLayout } from "@/src/comps/AppLayout/AppLayout";
+import { Config } from "@/src/comps/Config/Config";
+import { ConfigModal } from "@/src/comps/ConfigModal/ConfigModal";
+import { Ethereum } from "@/src/comps/Ethereum/Ethereum";
+import { RootEntryPoint } from "@/src/comps/Root/Root";
+import { Inter } from "next/font/google";
+
+const inter = Inter({ subsets: ["latin"] });
+
+export const metadata: Metadata = {
+ title: "Bold",
+ icons: "/favicon.svg",
+};
+
+export default function Layout({
+ children,
+}: Readonly<{
+ children: ReactNode;
+}>) {
+ return (
+
+
+
+
+
+
+
+ {children}
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/app/leverage/page.tsx b/frontend/src/app/leverage/page.tsx
new file mode 100644
index 00000000..d7b1afa6
--- /dev/null
+++ b/frontend/src/app/leverage/page.tsx
@@ -0,0 +1,7 @@
+export default function Leverage() {
+ return (
+
+ Leverage
+
+ );
+}
diff --git a/frontend/src/app/not-found.tsx b/frontend/src/app/not-found.tsx
new file mode 100644
index 00000000..e3a5a50c
--- /dev/null
+++ b/frontend/src/app/not-found.tsx
@@ -0,0 +1,7 @@
+export default function NotFound() {
+ return (
+
+ Not Found
+
+ );
+}
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
new file mode 100644
index 00000000..908ae87d
--- /dev/null
+++ b/frontend/src/app/page.tsx
@@ -0,0 +1,17 @@
+import { AppLauncher } from "@/src/comps/AppLauncher/AppLauncher";
+import { css } from "@/styled-system/css";
+
+export default function Home() {
+ return (
+
+ );
+}
diff --git a/frontend/src/app/portfolio/page.tsx b/frontend/src/app/portfolio/page.tsx
new file mode 100644
index 00000000..eaee106d
--- /dev/null
+++ b/frontend/src/app/portfolio/page.tsx
@@ -0,0 +1,7 @@
+export default function Portfolio() {
+ return (
+
+ Portfolio
+
+ );
+}
diff --git a/frontend/src/app/stats/page.tsx b/frontend/src/app/stats/page.tsx
new file mode 100644
index 00000000..f2d7796e
--- /dev/null
+++ b/frontend/src/app/stats/page.tsx
@@ -0,0 +1,7 @@
+export default function Stats() {
+ return (
+
+ Stats
+
+ );
+}
diff --git a/frontend/src/colors.ts b/frontend/src/colors.ts
new file mode 100644
index 00000000..5ef1f80d
--- /dev/null
+++ b/frontend/src/colors.ts
@@ -0,0 +1,7 @@
+export const palette = {
+ sky: "#405AE5",
+ blue: "#121B44",
+ green: "#405AE5",
+ white: "#FFFFFF",
+ rain: "#9EA2B8",
+};
diff --git a/frontend/src/comps/AppLauncher/AppIcon.tsx b/frontend/src/comps/AppLauncher/AppIcon.tsx
new file mode 100644
index 00000000..5ffa6bc2
--- /dev/null
+++ b/frontend/src/comps/AppLauncher/AppIcon.tsx
@@ -0,0 +1,148 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import { a, useSpring } from "@react-spring/web";
+import { match } from "ts-pattern";
+
+type IconProps = {
+ state: "initial" | "idle" | "active";
+};
+
+export const springConfig = {
+ mass: 1,
+ tension: 800,
+ friction: 40,
+};
+
+export function AppIcon({
+ iconType,
+ state,
+}: {
+ iconType: "borrow" | "leverage" | "earn";
+ state: IconProps["state"];
+}) {
+ return match(iconType)
+ .with("borrow", () => )
+ .with("leverage", () => )
+ .with("earn", () => )
+ .exhaustive();
+}
+
+function AppIconBorrow({ state }: IconProps) {
+ const { t1, t2 } = useSpring({
+ t1: state === "active"
+ ? "translate(36 0) scale(1.1)"
+ : "translate(0 0) scale(1)",
+ t2: state === "active"
+ ? "translate(-36 0) scale(1.1)"
+ : "translate(0 0) scale(1)",
+ config: springConfig,
+ });
+ return (
+
+
+
+
+ );
+}
+
+function AppIconLeverage({ state }: IconProps) {
+ const { t1, t2 } = useSpring({
+ t1: state === "active"
+ ? "translate(0 56) scale(0)"
+ : "translate(0 36) scale(2)",
+ t2: state === "active"
+ ? "translate(-6 -6) scale(6.8)"
+ : "translate(20 0) scale(3.6)",
+ config: springConfig,
+ });
+
+ return (
+
+
+
+
+ );
+}
+
+function AppIconEarn({ state }: IconProps) {
+ const { squareT, squareRadius, circleT } = useSpring({
+ squareT: state === "active" ? "scale(1.4)" : "scale(1)",
+ squareRadius: state === "active" ? "28" : "0",
+ circleT: state === "active" ? "scale(0.8)" : "scale(1)",
+ config: springConfig,
+ });
+ return (
+
+
+
+
+ );
+}
+
+function IconBase({ children }: { children: ReactNode }) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/AppLauncher/AppLauncher.tsx b/frontend/src/comps/AppLauncher/AppLauncher.tsx
new file mode 100644
index 00000000..3ec1a3e4
--- /dev/null
+++ b/frontend/src/comps/AppLauncher/AppLauncher.tsx
@@ -0,0 +1,196 @@
+"use client";
+
+import { css } from "@/styled-system/css";
+import { a, useSpring } from "@react-spring/web";
+import Link from "next/link";
+import { useState } from "react";
+import { AppIcon, springConfig } from "./AppIcon";
+
+type AppData = readonly [
+ label: string,
+ description: string,
+ href: string,
+ bg: string,
+ fg: string,
+ iconType: "borrow" | "leverage" | "earn",
+];
+
+const apps: AppData[] = [
+ [
+ "Borrow",
+ "Borrow BOLD stablecoin against ETH and staked ETH at a rate that you set",
+ "/borrow",
+ "#121B44",
+ "#FFFFFF",
+ "borrow",
+ ],
+ [
+ "Leverage",
+ "Multiply your ETH and staked ETH at a funding rate that you set",
+ "/leverage",
+ "#63D77D",
+ "#121B44",
+ "leverage",
+ ],
+ [
+ "Earn",
+ "Deposit BOLD and earn real yield",
+ "/earn",
+ "#405AE5",
+ "#FFFFFF",
+ "earn",
+ ],
+];
+
+export function AppLauncher() {
+ const [highlighted, setHighlighted] = useState(null);
+
+ const { gridTemplateColumns } = useSpring({
+ gridTemplateColumns: apps.map((app) => (
+ highlighted === app ? "1.1fr" : "1fr"
+ )).join(" "),
+ config: springConfig,
+ });
+
+ return (
+
+ {apps.map((app) => (
+ {
+ setHighlighted(highlighted ? app : null);
+ }}
+ />
+ ))}
+
+ );
+}
+
+function AppCard({
+ app,
+ highlighted,
+ onHighlightChange,
+}: {
+ app: AppData;
+ highlighted: boolean;
+ onHighlightChange: (highlighted: boolean) => void;
+}) {
+ const [label, description, href, bg, fg, iconType] = app;
+
+ const { titleT, arrowT } = useSpring({
+ titleT: highlighted ? "scale(1.2)" : "scale(1)",
+ arrowT: highlighted ? "scale(1.4)" : "scale(1)",
+ config: springConfig,
+ });
+
+ return (
+ onHighlightChange(true)}
+ onMouseLeave={() => onHighlightChange(false)}
+ onFocus={() => onHighlightChange(true)}
+ onBlur={() => onHighlightChange(false)}
+ className={css({
+ outline: "none",
+ _active: {
+ translate: "0 2px",
+ },
+ _focusVisible: {
+ zIndex: 2,
+ outlineOffset: 0,
+ outlineColor: "#FFFFFF",
+ },
+ })}
+ >
+
+
+
+
+
+ {label}
+
+
+
+
+
+
+ {description}
+
+
+
+
+ );
+}
+
+function Arrow({ color }: { color: string }) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/AppLayout/AppLayout.tsx b/frontend/src/comps/AppLayout/AppLayout.tsx
new file mode 100644
index 00000000..3bc5175e
--- /dev/null
+++ b/frontend/src/comps/AppLayout/AppLayout.tsx
@@ -0,0 +1,55 @@
+import type { ReactNode } from "react";
+
+import { Footer } from "@/src/comps/Footer/Footer";
+import { TopBar } from "@/src/comps/TopBar/TopBar";
+import { css } from "@/styled-system/css";
+
+export function AppLayout({
+ children,
+}: Readonly<{
+ children: ReactNode;
+}>) {
+ return (
+
+
+
+
+
+ {children}
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/comps/Button/Button.tsx b/frontend/src/comps/Button/Button.tsx
new file mode 100644
index 00000000..20874e32
--- /dev/null
+++ b/frontend/src/comps/Button/Button.tsx
@@ -0,0 +1,36 @@
+import type { ComponentPropsWithoutRef } from "react";
+
+import { css } from "@/styled-system/css";
+
+export function Button({
+ label,
+ maxWidth,
+ ...props
+}: ComponentPropsWithoutRef<"button"> & {
+ label: string;
+ maxWidth?: number;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/Button/TextButton.tsx b/frontend/src/comps/Button/TextButton.tsx
new file mode 100644
index 00000000..929ba333
--- /dev/null
+++ b/frontend/src/comps/Button/TextButton.tsx
@@ -0,0 +1,27 @@
+import type { ComponentPropsWithoutRef } from "react";
+
+import { css } from "@/styled-system/css";
+
+export function TextButton({
+ label,
+ ...props
+}: ComponentPropsWithoutRef<"button"> & {
+ label: string;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/Config/Config.tsx b/frontend/src/comps/Config/Config.tsx
new file mode 100644
index 00000000..09001e79
--- /dev/null
+++ b/frontend/src/comps/Config/Config.tsx
@@ -0,0 +1,97 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import {
+ CHAIN_ID,
+ CONTRACT_ACTIVE_POOL,
+ CONTRACT_BOLD_TOKEN,
+ CONTRACT_BORROWER_OPERATIONS,
+ CONTRACT_COLL_SURPLUS_POOL,
+ CONTRACT_DEFAULT_POOL,
+ CONTRACT_FUNCTION_CALLER,
+ CONTRACT_GAS_POOL,
+ CONTRACT_HINT_HELPERS,
+ CONTRACT_PRICE_FEED_TESTNET,
+ CONTRACT_SORTED_TROVES,
+ CONTRACT_STABILITY_POOL,
+ CONTRACT_TROVE_MANAGER,
+} from "@/src/env";
+import { zAddress } from "@/src/zod-utils";
+import { createContext, useCallback, useContext, useState } from "react";
+import { z } from "zod";
+
+export const ConfigSchema = z.object({
+ chainId: z.number(),
+ contractActivePool: zAddress(),
+ contractBoldToken: zAddress(),
+ contractBorrowerOperations: zAddress(),
+ contractCollSurplusPool: zAddress(),
+ contractDefaultPool: zAddress(),
+ contractFunctionCaller: zAddress(),
+ contractGasPool: zAddress(),
+ contractHintHelpers: zAddress(),
+ contractPriceFeedTestnet: zAddress(),
+ contractSortedTroves: zAddress(),
+ contractStabilityPool: zAddress(),
+ contractTroveManager: zAddress(),
+});
+
+type Config = z.infer;
+
+const defaultConfig: Config = {
+ chainId: CHAIN_ID,
+ contractActivePool: CONTRACT_ACTIVE_POOL,
+ contractBoldToken: CONTRACT_BOLD_TOKEN,
+ contractBorrowerOperations: CONTRACT_BORROWER_OPERATIONS,
+ contractCollSurplusPool: CONTRACT_COLL_SURPLUS_POOL,
+ contractDefaultPool: CONTRACT_DEFAULT_POOL,
+ contractFunctionCaller: CONTRACT_FUNCTION_CALLER,
+ contractGasPool: CONTRACT_GAS_POOL,
+ contractHintHelpers: CONTRACT_HINT_HELPERS,
+ contractPriceFeedTestnet: CONTRACT_PRICE_FEED_TESTNET,
+ contractSortedTroves: CONTRACT_SORTED_TROVES,
+ contractStabilityPool: CONTRACT_STABILITY_POOL,
+ contractTroveManager: CONTRACT_TROVE_MANAGER,
+};
+
+export const ConfigContext = createContext<{
+ config: Config;
+ setConfig: (config: Config) => void;
+}>({
+ config: defaultConfig,
+ setConfig: () => {},
+});
+
+export function Config({ children }: { children: ReactNode }) {
+ const [config, setConfig] = useState(() => {
+ const storedConfig = typeof localStorage !== "undefined"
+ ? localStorage.getItem("liquity2:config")
+ : null;
+ if (storedConfig) {
+ try {
+ return ConfigSchema.parse(JSON.parse(storedConfig));
+ } catch {
+ return defaultConfig;
+ }
+ }
+ return defaultConfig;
+ });
+
+ const setAndSaveConfig = useCallback((config: Config) => {
+ if (typeof localStorage !== "undefined") {
+ localStorage.setItem("liquity2:config", JSON.stringify(config));
+ }
+ setConfig(config);
+ }, []);
+
+ return (
+
+ {children}
+
+ );
+}
+
+export function useConfig() {
+ return useContext(ConfigContext);
+}
diff --git a/frontend/src/comps/ConfigModal/ConfigModal.tsx b/frontend/src/comps/ConfigModal/ConfigModal.tsx
new file mode 100644
index 00000000..e37519aa
--- /dev/null
+++ b/frontend/src/comps/ConfigModal/ConfigModal.tsx
@@ -0,0 +1,35 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import { Modal } from "@/src/comps/Modal/Modal";
+import { createContext, useContext, useState } from "react";
+
+const ConfigModalContext = createContext({
+ open: () => {},
+ close: () => {},
+});
+
+export function ConfigModal({ children }: { children: ReactNode }) {
+ const [visible, setVisible] = useState(false);
+ return (
+ setVisible(true),
+ close: () => setVisible(false),
+ }}
+ >
+ {children}
+ setVisible(false)}
+ visible={visible}
+ >
+ ConfigModal
+
+
+ );
+}
+
+export function useConfigModal() {
+ return useContext(ConfigModalContext);
+}
diff --git a/frontend/src/comps/Ethereum/Ethereum.tsx b/frontend/src/comps/Ethereum/Ethereum.tsx
new file mode 100644
index 00000000..b4e03167
--- /dev/null
+++ b/frontend/src/comps/Ethereum/Ethereum.tsx
@@ -0,0 +1,57 @@
+"use client";
+
+import type { ReactNode } from "react";
+import type { Chain } from "wagmi/chains";
+
+import { useConfig } from "@/src/comps/Config/Config";
+import { WALLET_CONNECT_PROJECT_ID } from "@/src/env";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { ConnectKitProvider, getDefaultConfig } from "connectkit";
+import { useMemo } from "react";
+import { match } from "ts-pattern";
+import { createConfig, http, WagmiProvider } from "wagmi";
+import { hardhat, mainnet } from "wagmi/chains";
+
+const queryClient = new QueryClient();
+
+export function Ethereum({ children }: { children: ReactNode }) {
+ const { config } = useConfig();
+
+ const wagmiConfig = useMemo(() => {
+ const [chains, transports] = match(config.chainId)
+ .returnType<[
+ [Chain, ...Chain[]],
+ Record>,
+ ]>()
+ // Hardhat
+ .with(31337, () => [
+ [hardhat],
+ { [hardhat.id]: http("http://localhost:8545") },
+ ])
+ // Defaults to mainnet
+ .otherwise(() => [
+ [mainnet],
+ { [mainnet.id]: http() },
+ ]);
+
+ return createConfig(
+ getDefaultConfig({
+ appName: "Liquity 2",
+ chains,
+ transports,
+ ssr: true,
+ walletConnectProjectId: WALLET_CONNECT_PROJECT_ID,
+ }),
+ );
+ }, [config]);
+
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
diff --git a/frontend/src/comps/Footer/Footer.tsx b/frontend/src/comps/Footer/Footer.tsx
new file mode 100644
index 00000000..bbef8596
--- /dev/null
+++ b/frontend/src/comps/Footer/Footer.tsx
@@ -0,0 +1,102 @@
+"use client";
+
+import { palette } from "@/src/colors";
+import { TextButton } from "@/src/comps/Button/TextButton";
+import { useConfigModal } from "@/src/comps/ConfigModal/ConfigModal";
+import { css } from "@/styled-system/css";
+import Image from "next/image";
+import Link from "next/link";
+
+import logo from "./footer-logo.svg";
+
+export function Footer() {
+ const { open: openConfigModal } = useConfigModal();
+
+ const links: Array<[string, string | (() => void)]> = [
+ ["Liquity", "https://liquity.org"],
+ ["Disclaimer", "https://example.org"],
+ // ["Privacy Policy", "https://example.org"],
+ ["Settings", openConfigModal],
+ ];
+
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/Footer/footer-logo.svg b/frontend/src/comps/Footer/footer-logo.svg
new file mode 100644
index 00000000..ea45fcec
--- /dev/null
+++ b/frontend/src/comps/Footer/footer-logo.svg
@@ -0,0 +1,10 @@
+
diff --git a/frontend/src/comps/FormField/FormField.tsx b/frontend/src/comps/FormField/FormField.tsx
new file mode 100644
index 00000000..ee0e7379
--- /dev/null
+++ b/frontend/src/comps/FormField/FormField.tsx
@@ -0,0 +1,30 @@
+import type { ReactNode } from "react";
+
+import { css } from "@/styled-system/css";
+
+export function FormField({
+ children,
+ label,
+}: {
+ children: ReactNode;
+ label: string;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/Input/TextInput.tsx b/frontend/src/comps/Input/TextInput.tsx
new file mode 100644
index 00000000..cdc77d06
--- /dev/null
+++ b/frontend/src/comps/Input/TextInput.tsx
@@ -0,0 +1,28 @@
+import type { ComponentPropsWithoutRef } from "react";
+
+import { css } from "@/styled-system/css";
+
+export function TextInput({
+ onChange,
+ ...props
+}: Omit, "onChange"> & {
+ onChange?: (value: string) => void;
+}) {
+ return (
+ {
+ onChange?.(event.target.value);
+ }}
+ className={css({
+ width: "100%",
+ padding: 8,
+ height: 60,
+ fontSize: 24,
+ border: "1px solid",
+ borderColor: "#E5E6EE",
+ })}
+ />
+ );
+}
diff --git a/frontend/src/comps/Logo/Logo.tsx b/frontend/src/comps/Logo/Logo.tsx
new file mode 100644
index 00000000..b0dba2a1
--- /dev/null
+++ b/frontend/src/comps/Logo/Logo.tsx
@@ -0,0 +1,184 @@
+"use client";
+
+import type { SpringConfig } from "@react-spring/web";
+
+import { css } from "@/styled-system/css";
+import { a, useSprings } from "@react-spring/web";
+
+type Illustration = {
+ color: string;
+ w: number;
+ h: number;
+ x: number;
+ y: number;
+ from: {
+ transformOrigin?: string;
+ borderRadius?: string;
+ transform: string;
+ };
+ to: {
+ transform: string;
+ };
+ config?: SpringConfig;
+ delay?: number;
+};
+
+const illustration: Illustration[] = [
+ {
+ // big rectangle
+ color: "#121B44",
+ w: 34,
+ h: 24,
+ x: 0,
+ y: 0,
+ from: {
+ transformOrigin: "50% 100%",
+ transform: "scale(0)",
+ },
+ to: {
+ transform: "scale(1)",
+ },
+ config: {
+ mass: 1,
+ tension: 800,
+ friction: 40,
+ },
+ },
+ {
+ // big rectangle
+ color: "#F5D93A",
+ w: 34,
+ h: 24,
+ x: 0,
+ y: 24,
+ from: {
+ transformOrigin: "0 0",
+ transform: "scale(0)",
+ },
+ to: {
+ transform: "scale(1)",
+ },
+ config: {
+ mass: 1,
+ tension: 800,
+ friction: 40,
+ },
+ },
+ {
+ // small rectangle 1
+ color: "#FB7C59",
+ w: 10,
+ h: 24,
+ x: 0,
+ y: 0,
+ from: {
+ transform: "translateX(-10px)",
+ },
+ to: {
+ transform: "translateX(0)",
+ },
+ config: {
+ mass: 1,
+ tension: 600,
+ friction: 40,
+ },
+ delay: 200,
+ },
+ {
+ // small rectangle 2
+ color: "#405AE5",
+ w: 10,
+ h: 24,
+ x: 0,
+ y: 24,
+ from: {
+ transform: "translateX(-100%)",
+ },
+ to: {
+ transform: "translateX(0)",
+ },
+ config: {
+ mass: 1,
+ tension: 500,
+ friction: 40,
+ },
+ delay: 100,
+ },
+ {
+ // circle 1
+ color: "#39B457",
+ w: 24,
+ h: 24,
+ x: 10,
+ y: 0,
+ from: {
+ borderRadius: "50%",
+ transform: "scale(0)",
+ },
+ to: {
+ transform: "scale(1)",
+ },
+ config: {
+ mass: 1,
+ tension: 500,
+ friction: 40,
+ },
+ delay: 150,
+ },
+ {
+ // circle 2
+ color: "#121B44",
+ w: 24,
+ h: 24,
+ x: 10,
+ y: 24,
+ from: {
+ borderRadius: "50%",
+ transform: "scale(0)",
+ },
+ to: {
+ transform: "scale(1)",
+ },
+ config: {
+ mass: 1,
+ tension: 500,
+ friction: 40,
+ },
+ delay: 50,
+ },
+];
+
+export function Logo() {
+ const [springs] = useSprings(illustration.length, (index) => ({
+ config: illustration[index].config,
+ from: illustration[index].from,
+ to: illustration[index].to,
+ delay: illustration[index].delay,
+ }));
+ return (
+
+ {springs.map((spring, index) => (
+
+ ))}
+
+ );
+}
diff --git a/frontend/src/comps/Modal/Modal.tsx b/frontend/src/comps/Modal/Modal.tsx
new file mode 100644
index 00000000..abcaf0f5
--- /dev/null
+++ b/frontend/src/comps/Modal/Modal.tsx
@@ -0,0 +1,171 @@
+import type { ReactNode } from "react";
+
+import { Root } from "@/src/comps/Root/Root";
+import { css } from "@/styled-system/css";
+import { a, useTransition } from "@react-spring/web";
+import FocusTrap from "focus-trap-react";
+
+import closeSvg from "./close.svg";
+
+export function Modal({
+ children,
+ onClose,
+ visible,
+}: {
+ children: ReactNode;
+ onClose: () => void;
+ visible: boolean;
+}) {
+ const visibility = useTransition(visible, {
+ config: {
+ mass: 1,
+ tension: 1800,
+ friction: 80,
+ },
+ from: {
+ closeTransform: "scale3d(0.8, 0.8, 1)",
+ opacity: 0,
+ overlayOpacity: 0,
+ transform: "scale3d(0.95, 0.95, 1)",
+ },
+ enter: {
+ closeTransform: "scale3d(1, 1, 1)",
+ opacity: 1,
+ overlayOpacity: 1,
+ transform: "scale3d(1, 1, 1)",
+ },
+ leave: {
+ closeTransform: "scale3d(1, 1, 1)",
+ opacity: 0,
+ overlayOpacity: 0,
+ transform: "scale3d(1.05, 1.05, 1)",
+ },
+ });
+ return (
+
+ {visibility(({
+ closeTransform,
+ opacity,
+ overlayOpacity,
+ transform,
+ }, item) => (
+ item && (
+
+ {
+ if (target === currentTarget) {
+ onClose();
+ }
+ }}
+ className={css({
+ display: "flex",
+ justifyContent: "center",
+ minHeight: "100%",
+ })}
+ >
+
+ {
+ if (target === currentTarget) {
+ onClose();
+ }
+ }}
+ className={css({
+ minHeight: "100%",
+ padding: 64,
+ })}
+ >
+
+
+ {children}
+
+
+
+
+
+
+
+
+
+ )
+ ))}
+
+ );
+}
+
+function CloseButton({
+ onClick,
+}: {
+ onClick: () => void;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/Modal/close.svg b/frontend/src/comps/Modal/close.svg
new file mode 100644
index 00000000..7ce01bd7
--- /dev/null
+++ b/frontend/src/comps/Modal/close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/src/comps/PercentageBars/PercentageBars.tsx b/frontend/src/comps/PercentageBars/PercentageBars.tsx
new file mode 100644
index 00000000..a994492d
--- /dev/null
+++ b/frontend/src/comps/PercentageBars/PercentageBars.tsx
@@ -0,0 +1,188 @@
+"use client";
+
+import { palette } from "@/src/colors";
+import { css } from "@/styled-system/css";
+import { a, useSpring, useTransition } from "@react-spring/web";
+import { useId } from "react";
+
+const defaultValues = [
+ 5,
+ 8,
+ 9.2,
+ 14,
+ 15,
+ 16.1,
+ 18,
+ 18.4,
+ 18.4,
+ 20,
+ 20.7,
+ 23,
+ 24,
+ 25.3,
+ 28,
+ 31,
+ 33,
+ 36.8,
+ 40,
+ 42,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 44,
+ 41,
+ 36.8,
+ 34,
+ 31,
+ 29,
+ 28,
+ 26,
+ 25.3,
+ 24,
+ 22,
+ 20,
+ 17,
+ 14,
+ 12,
+ 11,
+ 10,
+ 10,
+ 6.9,
+ 5.75,
+ 5.75,
+ 2.3,
+ 13.8,
+ 13.8,
+ 2.3,
+].map((value) => value / 49);
+
+export function PercentageBars({
+ activeIndex = Math.floor(49 / 2),
+ values = defaultValues,
+}: {
+ activeIndex?: number;
+ values?: number[];
+}) {
+ const width = 658;
+ const height = 49;
+ const barsGap = 2;
+ const barWidth = (width - barsGap * values.length - 1) / values.length;
+ const gapWidth = barsGap * values.length / (values.length - 1);
+
+ const barsTransitions = useTransition(values.map((v, i) => [v, i]), {
+ keys: ([_, i]) => i,
+ from: { scaleY: 0 },
+ enter: { scaleY: 1 },
+ config: { mass: 2, tension: 1200, friction: 50 },
+ trail: 3,
+ });
+
+ const barsReveal = useSpring({
+ from: {
+ scaleX: 0,
+ },
+ to: {
+ scaleX: 1,
+ },
+ config: { mass: 1, tension: 1000, friction: 80 },
+ });
+
+ const revealMaskId = useId();
+ const barsMaskId = useId();
+ const gradientId = useId();
+
+ return (
+
+
+
+
+ );
+}
diff --git a/frontend/src/comps/Root/Root.tsx b/frontend/src/comps/Root/Root.tsx
new file mode 100644
index 00000000..45a3a615
--- /dev/null
+++ b/frontend/src/comps/Root/Root.tsx
@@ -0,0 +1,25 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import { createContext, useContext, useState } from "react";
+import ReactDOM from "react-dom";
+
+const RootContext = createContext(null);
+
+export function RootEntryPoint({ children }: { children: ReactNode }) {
+ const [element, setElement] = useState(null);
+ return (
+
+ {element ? children : null}
+
+ );
+}
+
+export function Root({ children }: { children: ReactNode }) {
+ const element = useContext(RootContext);
+ if (element === null) {
+ return ;
+ }
+ return ReactDOM.createPortal(children, element);
+}
diff --git a/frontend/src/comps/TopBar/AccountButton.tsx b/frontend/src/comps/TopBar/AccountButton.tsx
new file mode 100644
index 00000000..7716b0cb
--- /dev/null
+++ b/frontend/src/comps/TopBar/AccountButton.tsx
@@ -0,0 +1,31 @@
+import { shortenAddress } from "@/src/eth-utils";
+import { ConnectKitButton } from "connectkit";
+import { match, P } from "ts-pattern";
+import { IconAccount } from "./icons";
+import { MenuItem } from "./MenuItem";
+
+export function AccountButton() {
+ return (
+
+ {({ isConnected, show, address, ensName }) => (
+
+ )}
+
+ );
+}
diff --git a/frontend/src/comps/TopBar/Actions.tsx b/frontend/src/comps/TopBar/Actions.tsx
new file mode 100644
index 00000000..0d99a61b
--- /dev/null
+++ b/frontend/src/comps/TopBar/Actions.tsx
@@ -0,0 +1,36 @@
+import { css } from "@/styled-system/css";
+import Link from "next/link";
+import { usePathname } from "next/navigation";
+import { AccountButton } from "./AccountButton";
+import { IconStats } from "./icons";
+import { MenuItem } from "./MenuItem";
+
+export function Actions() {
+ const pathname = usePathname();
+ return (
+
+ {
+ /*
+
}
+ selected={pathname.startsWith("/stats")}
+ label="Stats"
+ />
+ */
+ }
+
+
}
+ selected={pathname.startsWith("/contracts")}
+ label="Contracts"
+ />
+
+
+
+ );
+}
diff --git a/frontend/src/comps/TopBar/Menu.tsx b/frontend/src/comps/TopBar/Menu.tsx
new file mode 100644
index 00000000..6a3c96d3
--- /dev/null
+++ b/frontend/src/comps/TopBar/Menu.tsx
@@ -0,0 +1,45 @@
+import type { ComponentType } from "react";
+
+import { css } from "@/styled-system/css";
+import Link from "next/link";
+import { usePathname } from "next/navigation";
+import { IconBold, IconBorrow, IconEarn, IconPortfolio } from "./icons";
+import { MenuItem } from "./MenuItem";
+
+const menuItems: [
+ string,
+ string,
+ ComponentType<{}>,
+][] = [
+ ["Borrow", "/borrow", IconBorrow],
+ ["Earn", "/earn", IconEarn],
+ ["Use BOLD", "/bold", IconBold],
+ ["Portfolio", "/portfolio", IconPortfolio],
+];
+
+export function Menu() {
+ const pathname = usePathname();
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/TopBar/MenuItem.tsx b/frontend/src/comps/TopBar/MenuItem.tsx
new file mode 100644
index 00000000..c8ee3709
--- /dev/null
+++ b/frontend/src/comps/TopBar/MenuItem.tsx
@@ -0,0 +1,40 @@
+import type { ReactNode } from "react";
+
+import { useTheme } from "@/src/theme";
+import { css } from "@/styled-system/css";
+
+export function MenuItem({
+ icon,
+ label,
+ selected,
+}: {
+ icon: ReactNode;
+ label: string;
+ selected?: boolean;
+}) {
+ const { color } = useTheme();
+ return (
+
+ {label}
+ {icon}
+
+ );
+}
diff --git a/frontend/src/comps/TopBar/TopBar.tsx b/frontend/src/comps/TopBar/TopBar.tsx
new file mode 100644
index 00000000..3fce3e61
--- /dev/null
+++ b/frontend/src/comps/TopBar/TopBar.tsx
@@ -0,0 +1,35 @@
+"use client";
+
+import { Logo } from "@/src/comps/Logo/Logo";
+import { css } from "@/styled-system/css";
+import Link from "next/link";
+import { Actions } from "./Actions";
+import { Menu } from "./Menu";
+
+export function TopBar() {
+ return (
+
+ );
+}
diff --git a/frontend/src/comps/TopBar/icon-account.svg b/frontend/src/comps/TopBar/icon-account.svg
new file mode 100644
index 00000000..c02496a2
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-account.svg
@@ -0,0 +1,4 @@
+
diff --git a/frontend/src/comps/TopBar/icon-bold.svg b/frontend/src/comps/TopBar/icon-bold.svg
new file mode 100644
index 00000000..18d24e0e
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-bold.svg
@@ -0,0 +1,7 @@
+
diff --git a/frontend/src/comps/TopBar/icon-borrow.svg b/frontend/src/comps/TopBar/icon-borrow.svg
new file mode 100644
index 00000000..9d765c5c
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-borrow.svg
@@ -0,0 +1,4 @@
+
diff --git a/frontend/src/comps/TopBar/icon-earn.svg b/frontend/src/comps/TopBar/icon-earn.svg
new file mode 100644
index 00000000..519fd823
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-earn.svg
@@ -0,0 +1,3 @@
+
diff --git a/frontend/src/comps/TopBar/icon-portfolio.svg b/frontend/src/comps/TopBar/icon-portfolio.svg
new file mode 100644
index 00000000..383de21a
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-portfolio.svg
@@ -0,0 +1,6 @@
+
diff --git a/frontend/src/comps/TopBar/icon-stats.svg b/frontend/src/comps/TopBar/icon-stats.svg
new file mode 100644
index 00000000..2eeb191c
--- /dev/null
+++ b/frontend/src/comps/TopBar/icon-stats.svg
@@ -0,0 +1,8 @@
+
diff --git a/frontend/src/comps/TopBar/icons.tsx b/frontend/src/comps/TopBar/icons.tsx
new file mode 100644
index 00000000..d5cafa10
--- /dev/null
+++ b/frontend/src/comps/TopBar/icons.tsx
@@ -0,0 +1,85 @@
+import type { ReactNode } from "react";
+
+function IconBase({
+ children,
+ color = "currentColor",
+}: {
+ children: ReactNode;
+ color?: string;
+}) {
+ return (
+
+ );
+}
+
+export function IconEarn({ color }: { color?: string }) {
+ return (
+
+
+
+ );
+}
+
+export function IconBold({ color }: { color?: string }) {
+ return (
+
+
+
+
+
+
+
+ );
+}
+
+export function IconBorrow({ color }: { color?: string }) {
+ return (
+
+
+
+
+ );
+}
+
+export function IconPortfolio({ color }: { color?: string }) {
+ return (
+
+
+
+
+
+
+ );
+}
+
+export function IconAccount({ color }: { color?: string }) {
+ return (
+
+
+
+
+ );
+}
+
+export function IconStats({ color }: { color?: string }) {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/contracts.ts b/frontend/src/contracts.ts
new file mode 100644
index 00000000..82be5199
--- /dev/null
+++ b/frontend/src/contracts.ts
@@ -0,0 +1,37 @@
+import type { Address } from "@/src/types";
+
+import { BoldToken } from "@/src/abi/BoldToken";
+import { BorrowerOperations } from "@/src/abi/BorrowerOperations";
+import { StabilityPool } from "@/src/abi/StabilityPool";
+import { TroveManager } from "@/src/abi/TroveManager";
+import {
+ CONTRACT_BOLD_TOKEN,
+ CONTRACT_BORROWER_OPERATIONS,
+ CONTRACT_STABILITY_POOL,
+ CONTRACT_TROVE_MANAGER,
+} from "@/src/env";
+
+type Contract = {
+ abi: Abi;
+ address: Address;
+};
+
+export const TroveManagerContract: Contract = {
+ abi: TroveManager,
+ address: CONTRACT_TROVE_MANAGER,
+};
+
+export const BoldTokenContract: Contract = {
+ abi: BoldToken,
+ address: CONTRACT_BOLD_TOKEN,
+};
+
+export const BorrowerOperationsContract: Contract = {
+ abi: BorrowerOperations,
+ address: CONTRACT_BORROWER_OPERATIONS,
+};
+
+export const StabilityPoolContract: Contract = {
+ abi: StabilityPool,
+ address: CONTRACT_STABILITY_POOL,
+};
diff --git a/frontend/src/env.ts b/frontend/src/env.ts
new file mode 100644
index 00000000..3344125a
--- /dev/null
+++ b/frontend/src/env.ts
@@ -0,0 +1,56 @@
+import z from "zod";
+import { zAddress } from "./zod-utils";
+
+export const EnvSchema = z.object({
+ CHAIN_ID: z.string(),
+ CONTRACT_ACTIVE_POOL: zAddress(),
+ CONTRACT_BOLD_TOKEN: zAddress(),
+ CONTRACT_BORROWER_OPERATIONS: zAddress(),
+ CONTRACT_COLL_SURPLUS_POOL: zAddress(),
+ CONTRACT_DEFAULT_POOL: zAddress(),
+ CONTRACT_FUNCTION_CALLER: zAddress(),
+ CONTRACT_GAS_POOL: zAddress(),
+ CONTRACT_HINT_HELPERS: zAddress(),
+ CONTRACT_PRICE_FEED_TESTNET: zAddress(),
+ CONTRACT_SORTED_TROVES: zAddress(),
+ CONTRACT_STABILITY_POOL: zAddress(),
+ CONTRACT_TROVE_MANAGER: zAddress(),
+ WALLET_CONNECT_PROJECT_ID: z.string(),
+}).transform((val) => ({
+ ...val,
+ CHAIN_ID: parseInt(val.CHAIN_ID, 10),
+}));
+
+export type Env = z.infer;
+
+export const {
+ CHAIN_ID,
+ CONTRACT_ACTIVE_POOL,
+ CONTRACT_BOLD_TOKEN,
+ CONTRACT_BORROWER_OPERATIONS,
+ CONTRACT_COLL_SURPLUS_POOL,
+ CONTRACT_DEFAULT_POOL,
+ CONTRACT_FUNCTION_CALLER,
+ CONTRACT_GAS_POOL,
+ CONTRACT_HINT_HELPERS,
+ CONTRACT_PRICE_FEED_TESTNET,
+ CONTRACT_SORTED_TROVES,
+ CONTRACT_STABILITY_POOL,
+ CONTRACT_TROVE_MANAGER,
+ WALLET_CONNECT_PROJECT_ID,
+} = EnvSchema.parse({
+ CHAIN_ID: process.env.NEXT_PUBLIC_CHAIN_ID,
+ CONTRACT_ACTIVE_POOL: process.env.NEXT_PUBLIC_CONTRACT_ACTIVE_POOL,
+ CONTRACT_BOLD_TOKEN: process.env.NEXT_PUBLIC_CONTRACT_BOLD_TOKEN,
+ CONTRACT_BORROWER_OPERATIONS: process.env.NEXT_PUBLIC_CONTRACT_BORROWER_OPERATIONS,
+ CONTRACT_COLL_SURPLUS_POOL: process.env.NEXT_PUBLIC_CONTRACT_COLL_SURPLUS_POOL,
+ CONTRACT_DEFAULT_POOL: process.env.NEXT_PUBLIC_CONTRACT_DEFAULT_POOL,
+ CONTRACT_FUNCTION_CALLER: process.env.NEXT_PUBLIC_CONTRACT_FUNCTION_CALLER,
+ CONTRACT_GAS_POOL: process.env.NEXT_PUBLIC_CONTRACT_GAS_POOL,
+ CONTRACT_HINT_HELPERS: process.env.NEXT_PUBLIC_CONTRACT_HINT_HELPERS,
+ CONTRACT_PRICE_FEED_TESTNET: process.env.NEXT_PUBLIC_CONTRACT_PRICE_FEED_TESTNET,
+ CONTRACT_SORTED_TROVES: process.env.NEXT_PUBLIC_CONTRACT_SORTED_TROVES,
+ CONTRACT_STABILITY_POOL: process.env.NEXT_PUBLIC_CONTRACT_STABILITY_POOL,
+ CONTRACT_TROVE_MANAGER: process.env.NEXT_PUBLIC_CONTRACT_TROVE_MANAGER,
+ WALLET_CONNECT_PROJECT_ID: process.env.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID,
+});
diff --git a/frontend/src/eth-utils.ts b/frontend/src/eth-utils.ts
new file mode 100644
index 00000000..f7884502
--- /dev/null
+++ b/frontend/src/eth-utils.ts
@@ -0,0 +1,16 @@
+import { Address } from "./types";
+
+export const ADDRESS_ZERO: Address = `0x${"0".repeat(40)}`;
+
+// shorten an address to look like 0x1234…5678
+// `chars` is the number of characters to show on each side.
+export function shortenAddress(address: Address, chars: number) {
+ return address.length < chars * 2 + 2
+ ? address
+ : address.slice(0, chars + 2) + "…" + address.slice(-chars);
+}
+
+export const ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
+export function isAddress(address: string): address is Address {
+ return ADDRESS_RE.test(address);
+}
diff --git a/frontend/src/form-utils.ts b/frontend/src/form-utils.ts
new file mode 100644
index 00000000..6f9c1446
--- /dev/null
+++ b/frontend/src/form-utils.ts
@@ -0,0 +1,35 @@
+import { ADDRESS_ZERO, isAddress } from "@/src/eth-utils";
+import * as dn from "dnum";
+
+const inputValueRegex = /^[0-9]*\.?[0-9]*?$/;
+export function isInputValueFloat(value: string) {
+ value = value.trim();
+ return inputValueRegex.test(value);
+}
+
+export function parseInputValue(value: string) {
+ value = value.trim();
+
+ if (!isInputValueFloat(value)) {
+ return null;
+ }
+
+ value = value
+ .replace(/\.$/, "")
+ .replace(/^\./, "0.");
+
+ return dn.from(value === "" ? 0 : value, 18);
+}
+
+export function parseInputPercentage(value: string) {
+ const parsedValue = parseInputValue(value);
+ if (parsedValue === null || dn.lt(parsedValue, 0) || dn.gt(parsedValue, 100)) {
+ return null;
+ }
+ return dn.div(parsedValue, 100);
+}
+
+export function parseInputAddress(value: string) {
+ value = value.trim();
+ return isAddress(value) ? value : ADDRESS_ZERO;
+}
diff --git a/frontend/src/index.css b/frontend/src/index.css
new file mode 100644
index 00000000..200268e2
--- /dev/null
+++ b/frontend/src/index.css
@@ -0,0 +1,22 @@
+@layer reset, base, tokens, recipes, utilities;
+
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/InterVariable.woff2") format("woff2");
+}
+
+body {
+ font-family: "Inter", sans-serif;
+ min-width: 1200px;
+ color: #121b44;
+}
+a {
+ text-decoration: none;
+ color: #121b44;
+}
+:focus-visible {
+ outline: 2px solid #405ae5;
+}
diff --git a/frontend/src/liquity-utils.ts b/frontend/src/liquity-utils.ts
new file mode 100644
index 00000000..2140e360
--- /dev/null
+++ b/frontend/src/liquity-utils.ts
@@ -0,0 +1,242 @@
+import type { Address } from "@/src/types";
+import type { Dnum } from "dnum";
+
+import { BoldTokenContract, BorrowerOperationsContract, TroveManagerContract } from "@/src/contracts";
+import { match } from "ts-pattern";
+import { useReadContract, useReadContracts, useWriteContract } from "wagmi";
+
+type TroveStatus =
+ | "nonExistent"
+ | "active"
+ | "closedByOwner"
+ | "closedByLiquidation"
+ | "closedByRedemption";
+
+type TroveDetails = {
+ status: TroveStatus;
+ stake: Dnum;
+ debt: Dnum;
+ collateral: Dnum;
+ interestRate: Dnum;
+};
+
+type LiquityInfo = {
+ trovesCount: number;
+ totalCollateral: Dnum;
+ totalDebt: Dnum;
+ tcr: Dnum;
+ redemptionRate: Dnum;
+};
+
+type Rewards = {
+ eth: Dnum;
+ bold: Dnum;
+};
+
+function troveStatusFromNumber(value: number): TroveStatus {
+ return match(value)
+ .with(0, () => "nonExistent")
+ .with(1, () => "active")
+ .with(2, () => "closedByOwner")
+ .with(3, () => "closedByLiquidation")
+ .with(4, () => "closedByRedemption")
+ .otherwise(() => {
+ throw new Error(`Unknown trove status number: ${value}`);
+ });
+}
+
+export function useTroveDetails(borrower: Address) {
+ const read = useReadContracts({
+ allowFailure: false,
+ contracts: [
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveStatus",
+ args: [borrower],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveStake",
+ args: [borrower],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveDebt",
+ args: [borrower],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveColl",
+ args: [borrower],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveAnnualInterestRate",
+ args: [borrower],
+ },
+ ],
+ });
+
+ if (!read.data || read.status !== "success") {
+ return {
+ ...read,
+ data: undefined,
+ };
+ }
+
+ const troveStatusNumber = Number(read.data[0]);
+
+ const data: TroveDetails = {
+ status: troveStatusFromNumber(isNaN(troveStatusNumber) ? 0 : troveStatusNumber),
+ stake: [read.data[1] ?? 0n, 18],
+ debt: [read.data[2] ?? 0n, 18],
+ collateral: [read.data[3] ?? 0n, 18],
+ interestRate: [read.data[4] ?? 0n, 18],
+ };
+
+ return {
+ ...read,
+ data,
+ };
+}
+
+export function useOpenTrove(address: Address, {
+ maxFeePercentage,
+ boldAmount,
+ upperHint,
+ lowerHint,
+ interestRate,
+ value,
+}: {
+ maxFeePercentage: bigint; // 0 to 1 * 10^18
+ boldAmount: bigint; // amount * 10^18
+ upperHint: Address;
+ lowerHint: Address;
+ interestRate: bigint; // 0 to 1 * 10^18
+ value: bigint; // amount * 10^18
+}) {
+ const { writeContract } = useWriteContract();
+ return () => (
+ writeContract({
+ ...BorrowerOperationsContract,
+ functionName: "openTrove",
+ args: [
+ maxFeePercentage,
+ boldAmount,
+ upperHint,
+ lowerHint,
+ interestRate,
+ ],
+ account: address,
+ value: value,
+ })
+ );
+}
+
+export function useCloseTrove(address: Address) {
+ const { writeContract } = useWriteContract();
+ return () => (
+ writeContract({
+ ...BorrowerOperationsContract,
+ functionName: "closeTrove",
+ args: [],
+ account: address,
+ })
+ );
+}
+
+export function useBoldBalance(address: Address) {
+ return useReadContract({
+ ...BoldTokenContract,
+ functionName: "balanceOf",
+ args: [address],
+ });
+}
+
+export function useRewards(address: Address) {
+ const read = useReadContracts({
+ allowFailure: false,
+ contracts: [
+ {
+ ...TroveManagerContract,
+ functionName: "getPendingETHReward",
+ args: [address],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getPendingBoldDebtReward",
+ args: [address],
+ },
+ ],
+ });
+
+ if (!read.data || read.status !== "success") {
+ return {
+ ...read,
+ data: undefined,
+ };
+ }
+
+ const data: Rewards = {
+ eth: [read.data[0] ?? 0n, 18],
+ bold: [read.data[1] ?? 0n, 18],
+ };
+
+ return {
+ ...read,
+ data,
+ };
+}
+
+export function useLiquity2Info() {
+ const read = useReadContracts({
+ allowFailure: false,
+ contracts: [
+ {
+ ...TroveManagerContract,
+ functionName: "getTroveOwnersCount",
+ args: [],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getEntireSystemColl",
+ args: [],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getEntireSystemDebt",
+ args: [],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getTCR",
+ args: [4_000n * 10n ** 18n],
+ },
+ {
+ ...TroveManagerContract,
+ functionName: "getRedemptionRate",
+ args: [],
+ },
+ ],
+ });
+
+ if (!read.data || read.status !== "success") {
+ return {
+ ...read,
+ data: undefined,
+ };
+ }
+
+ const data: LiquityInfo = {
+ trovesCount: Number(read.data[0]),
+ totalCollateral: [read.data[1], 18],
+ totalDebt: [read.data[2], 18],
+ tcr: [read.data[3], 18],
+ redemptionRate: [read.data[4], 18],
+ };
+
+ return {
+ ...read,
+ data,
+ };
+}
diff --git a/frontend/src/theme.tsx b/frontend/src/theme.tsx
new file mode 100644
index 00000000..3a7a9ffb
--- /dev/null
+++ b/frontend/src/theme.tsx
@@ -0,0 +1,67 @@
+"use client";
+
+import type { ReactNode } from "react";
+
+import { createContext, useContext, useState } from "react";
+
+export const colors = {
+ blue: "#121B44",
+ green: "#63D77D",
+ rain: "#9EA2B8",
+ red: "#FC5555",
+ sky: "#405AE5",
+ white: "#FFFFFF",
+};
+
+export type ColorName = keyof typeof colors;
+
+export type Theme = {
+ name: string;
+ colors: {
+ accent: ColorName;
+ content: ColorName;
+ contentAlt: ColorName;
+ negative: ColorName;
+ positive: ColorName;
+ };
+};
+
+export const theme: Theme = {
+ name: "light",
+ colors: {
+ accent: "sky",
+ content: "blue",
+ contentAlt: "white",
+ negative: "red",
+ positive: "green",
+ },
+};
+
+export function themeColor(theme: Theme, name: keyof Theme["colors"]) {
+ return colors[theme.colors[name]];
+}
+
+const ThemeContext = createContext({
+ theme,
+ setTheme: (_: Theme) => {},
+});
+
+export function useTheme() {
+ const { theme, setTheme } = useContext(ThemeContext);
+ return {
+ theme,
+ setTheme,
+ color: (name: keyof Theme["colors"]) => (
+ colors[theme.colors[name]]
+ ),
+ };
+}
+
+export function ThemeProvider({ children }: { children: ReactNode }) {
+ const [currentTheme, setTheme] = useState(theme);
+ return (
+
+ {children}
+
+ );
+}
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
new file mode 100644
index 00000000..f64ddbb9
--- /dev/null
+++ b/frontend/src/types.ts
@@ -0,0 +1 @@
+export type Address = `0x${string}`;
diff --git a/frontend/src/utils.ts b/frontend/src/utils.ts
new file mode 100644
index 00000000..55ddc83b
--- /dev/null
+++ b/frontend/src/utils.ts
@@ -0,0 +1,3 @@
+export function sleep(duration: number) {
+ return new Promise((resolve) => setTimeout(resolve, duration));
+}
diff --git a/frontend/src/zod-utils.ts b/frontend/src/zod-utils.ts
new file mode 100644
index 00000000..96994822
--- /dev/null
+++ b/frontend/src/zod-utils.ts
@@ -0,0 +1,15 @@
+import { isAddress } from "@/src/eth-utils";
+import z from "zod";
+
+export function zAddress() {
+ return z.string().transform((value: string, { addIssue }) => {
+ if (!isAddress(value)) {
+ addIssue({
+ code: z.ZodIssueCode.custom,
+ message: `${value} is not a valid Ethereum address`,
+ });
+ return z.NEVER;
+ }
+ return value;
+ });
+}
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
new file mode 100644
index 00000000..3eb506b8
--- /dev/null
+++ b/frontend/tsconfig.json
@@ -0,0 +1,35 @@
+{
+ "compilerOptions": {
+ "target": "es2020",
+ "useDefineForClassFields": true,
+ "lib": ["es2020", "dom", "dom.iterable"],
+ "module": "esnext",
+ "skipLibCheck": true,
+ "incremental": true,
+ /* Bundler mode */
+ "moduleResolution": "node",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "preserve",
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "paths": {
+ "@/*": ["./*"]
+ },
+ "allowJs": true,
+ "esModuleInterop": true,
+ "plugins": [
+ { "name": "next" }
+ ]
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "references": [],
+ "exclude": [
+ "node_modules"
+ ]
+}