diff --git a/README.md b/README.md index 77f9c2f..1b79559 100644 --- a/README.md +++ b/README.md @@ -26,26 +26,21 @@ export enum Currency { The AlexSDK class includes the following functions: -```typescript +```javascript export declare class AlexSDK { getFeeRate(from: Currency, to: Currency): Promise; getRouter(from: Currency, to: Currency): Promise; getAmountTo(from: Currency, fromAmount: bigint, to: Currency): Promise; runSwap(stxAddress: string, currencyX: Currency, currencyY: Currency, fromAmount: bigint, minDy: bigint, router: Currency[]): TxToBroadCast; getCurrencyFrom(address: string): Currency | undefined; - getLatestPrices(): Promise< - Partial<{ - [currency in Currency]: number; - }> - > - } +} ``` ### getFee Rate Get the swap fee (liquidity provider fee) between two currencies. -```typescript +```javascript async function getFeeRate(from: Currency, to: Currency): Promise; ``` @@ -53,7 +48,7 @@ async function getFeeRate(from: Currency, to: Currency): Promise; Get the router path for swapping between two currencies. -```typescript +```javascript async function getRouter(from: Currency, to: Currency): Promise; ``` @@ -61,7 +56,7 @@ async function getRouter(from: Currency, to: Currency): Promise; Get the amount of destination currency that will be received when swapping from one currency to another. -```typescript +```javascript async function getAmountTo(from: Currency, fromAmount: bigint, to: Currency): Promise; ``` @@ -69,7 +64,7 @@ async function getAmountTo(from: Currency, fromAmount: bigint, to: Currency): Pr Perform a swap between two currencies using the specified route and amount. -```typescript +```javascript function runSwap(stxAddress: string, currencyX: Currency, currencyY: Currency, fromAmount: bigint, minDy: bigint, router: Currency[]): TxToBroadCast; ``` @@ -77,51 +72,10 @@ function runSwap(stxAddress: string, currencyX: Currency, currencyY: Currency, f Get the corresponding currency for a given address. -```typescript +```javascript function getCurrencyFrom(address: string): Currency | undefined; ``` -### getAddressFrom - -Get the corresponding currency for a given address. - -```typescript -function getAddressFrom(currency: Exclude): string; -``` - -### isAlexSwapTransaction - -### getLatestPrices - -Get a list of token prices from Alex's price endpoint -```typescript -getLatestPrices(): Promise< - Partial<{ - [currency in Currency]: number; - }> -> -``` -It will do it's best to find the price, and where it can't, it will return undefined. - -Check if a transaction is a swap transaction from Alex -```typescript -function isAlexSwapTransaction(deployer: string, contractName: string, functionName: string): boolean; -``` - -### broadcastSponsoredTx - -Broadcast a sponsored transaction to Alex's sponsored tx services -```typescript -function broadcastSponsoredTx(txRaw: string): Promise; -```` - -### isSponsoredSwapEnabled - -Check if alex's swap sponsor service is activated -```typescript -function isSponsoredSwapEnabled(): Promise; -```` - ## Installation You can install Alex-SDK using npm: @@ -134,7 +88,7 @@ npm install alex-sdk To use the AlexSDK, you can import it into your project and instantiate a new object: -```typescript +```javascript import { AlexSDK, Currency } from 'alex-sdk'; const alex = new AlexSDK(); diff --git a/package.json b/package.json index 582d687..5139109 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.1.28", + "version": "2.1.0-beta.5", "license": "MIT", "main": "dist/index.js", "typings": "dist/index.d.ts", @@ -11,18 +11,18 @@ "node": ">=10" }, "scripts": { - "start": "tsdx watch", - "build": "tsdx build", - "test": "tsdx test", - "lint": "tsdx lint", - "prepare": "tsdx build", + "start": "dts watch", + "build": "dts build", + "prepare": "pnpm run build", + "test": "dts test", + "lint": "dts lint", "size": "size-limit", - "gen:contract": "rm -rf src/generated/smartContract/*.ts && node ./scripts/gen-contract.ts", + "gen:contract": "rm -rf src/generated/smartContract/* && tsx ./scripts/gen-contract.ts", "analyze": "size-limit --why" }, "husky": { "hooks": { - "pre-commit": "tsdx lint" + "pre-commit": "dts lint" } }, "prettier": { @@ -45,24 +45,26 @@ } ], "dependencies": { - "clarity-codegen": "^0.3.5" + "clarity-codegen": "^0.5.2" }, "peerDependencies": { - "@stacks/network": "*", - "@stacks/transactions": "*" + "@stacks/network": "^6.3.0", + "@stacks/transactions": "^6.2.0" }, "devDependencies": { "@size-limit/preset-small-lib": "^8.2.4", "@stacks/network": "^6.3.0", - "@stacks/stacks-blockchain-api-types": "^7.1.7", + "@stacks/stacks-blockchain-api-types": "^7.11.0", "@stacks/transactions": "^6.2.0", - "@types/node": "^20.1.0", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.2", "esm": "^3.2.25", "husky": "^8.0.3", "prettier": "^2.8.4", "size-limit": "^8.2.4", - "tsdx": "^0.14.1", - "tslib": "^2.5.0", - "typescript": "^4.9.5" + "dts-cli": "^2.0.5", + "tslib": "^2.6.3", + "tsx": "^4.15.5", + "typescript": "^5.4.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 833dbec..77921a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: clarity-codegen: - specifier: ^0.3.5 - version: 0.3.5(@stacks/transactions@6.5.0) + specifier: ^0.5.2 + version: 0.5.2(@stacks/transactions@6.5.0) devDependencies: '@size-limit/preset-small-lib': @@ -17,14 +17,20 @@ devDependencies: specifier: ^6.3.0 version: 6.3.0 '@stacks/stacks-blockchain-api-types': - specifier: ^7.1.7 - version: 7.1.7 + specifier: ^7.11.0 + version: 7.11.0 '@stacks/transactions': specifier: ^6.2.0 version: 6.5.0 + '@types/jest': + specifier: ^29.5.12 + version: 29.5.12 '@types/node': - specifier: ^20.1.0 - version: 20.1.0 + specifier: ^20.14.2 + version: 20.14.2 + dts-cli: + specifier: ^2.0.5 + version: 2.0.5(@babel/plugin-syntax-flow@7.24.7)(@babel/plugin-transform-react-jsx@7.24.7)(@types/node@20.14.2) esm: specifier: ^3.2.25 version: 3.2.25 @@ -37,15 +43,15 @@ devDependencies: size-limit: specifier: ^8.2.4 version: 8.2.4 - tsdx: - specifier: ^0.14.1 - version: 0.14.1(@types/node@20.1.0) tslib: - specifier: ^2.5.0 - version: 2.5.0 + specifier: ^2.6.3 + version: 2.6.3 + tsx: + specifier: ^4.15.5 + version: 4.15.5 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.4.5 + version: 5.4.5 packages: @@ -64,30 +70,38 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data@7.21.4: - resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.0 + dev: true + + /@babel/compat-data@7.24.7: + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.21.4: - resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} + /@babel/core@7.24.7: + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -102,6 +116,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.24.7: + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} @@ -109,35 +133,41 @@ packages: '@babel/types': 7.21.4 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + /@babel/helper-annotate-as-pure@7.24.7: + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.4 + '@babel/types': 7.24.7 dev: true - /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-compilation-targets@7.24.7: + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.4): + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.24.7): resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -150,47 +180,60 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.21.4): + /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.24.7): resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.2 dev: true - /@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.21.4): - resolution: {integrity: sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==} + /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/traverse': 7.21.4 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.2 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 - semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true @@ -200,11 +243,11 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-explode-assignable-expression@7.18.6: - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + /@babel/helper-environment-visitor@7.24.7: + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.24.7 dev: true /@babel/helper-function-name@7.21.0: @@ -215,11 +258,19 @@ packages: '@babel/types': 7.21.4 dev: true - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + /@babel/helper-function-name@7.24.7: + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: true + + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 dev: true /@babel/helper-member-expression-to-functions@7.21.0: @@ -229,25 +280,38 @@ packages: '@babel/types': 7.21.4 dev: true - /@babel/helper-module-imports@7.21.4: - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + /@babel/helper-member-expression-to-functions@7.24.7: + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-module-transforms@7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color dev: true @@ -259,22 +323,33 @@ packages: '@babel/types': 7.21.4 dev: true + /@babel/helper-optimise-call-expression@7.24.7: + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/helper-plugin-utils@7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + /@babel/helper-plugin-utils@7.24.7: + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.4 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 transitivePeerDependencies: - supports-color dev: true @@ -287,17 +362,34 @@ packages: '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 + '@babel/traverse': 7.24.7 '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color dev: true /@babel/helper-skip-transparent-expression-wrappers@7.20.0: @@ -307,6 +399,16 @@ packages: '@babel/types': 7.21.4 dev: true + /@babel/helper-skip-transparent-expression-wrappers@7.24.7: + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} @@ -314,42 +416,56 @@ packages: '@babel/types': 7.21.4 dev: true + /@babel/helper-split-export-declaration@7.24.7: + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.24.7: + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + /@babel/helper-validator-option@7.24.7: + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.24.7: + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/helpers@7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + /@babel/helpers@7.24.7: + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 dev: true /@babel/highlight@7.18.6: @@ -361,833 +477,979 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.4: - resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + + /@babel/parser@7.24.7: + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.21.4 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.7): 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.21.4 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.24.7) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/core': 7.24.7 dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - dev: true - - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4): - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 dev: true - /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.4): - resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + /@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) dev: true - /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.4): - resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.4): - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4): - resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) dev: true - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.4): - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + dev: true + + /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.4): - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + /@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: true - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + dev: true + + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + dev: true + + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.4): - resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) dev: true - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.4): - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 - dev: true - - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.4): - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - dev: true - - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4): - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4): - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4): - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/preset-env@7.21.4(@babel/core@7.21.4): - resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.4) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.4) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.4) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.4) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.4) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) - '@babel/types': 7.21.4 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) - core-js-compat: 3.30.1 - semver: 6.3.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.21.4): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true + + /@babel/preset-env@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7): + 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.7 + '@babel/helper-plugin-utils': 7.24.7 '@babel/types': 7.21.4 esutils: 2.0.3 dev: true @@ -1203,27 +1465,43 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@babel/runtime@7.24.7: + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.4 + '@babel/parser': 7.24.7 '@babel/types': 7.21.4 dev: true - /@babel/traverse@7.21.4: - resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + dev: true + + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -1239,19 +1517,35 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@cnakazawa/watch@1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: - exec-sh: 0.3.6 - minimist: 1.2.8 + '@jridgewell/trace-mapping': 0.3.9 dev: true + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.17.18: resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} engines: {node: '>=12'} @@ -1261,6 +1555,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.17.18: resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} engines: {node: '>=12'} @@ -1270,6 +1573,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.17.18: resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} engines: {node: '>=12'} @@ -1279,6 +1591,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.17.18: resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} engines: {node: '>=12'} @@ -1288,6 +1609,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.17.18: resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} engines: {node: '>=12'} @@ -1297,6 +1627,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.17.18: resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} engines: {node: '>=12'} @@ -1306,6 +1645,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.17.18: resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} engines: {node: '>=12'} @@ -1315,6 +1663,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.17.18: resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} engines: {node: '>=12'} @@ -1324,6 +1681,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.17.18: resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} engines: {node: '>=12'} @@ -1333,6 +1699,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.17.18: resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} engines: {node: '>=12'} @@ -1342,6 +1717,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.17.18: resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} engines: {node: '>=12'} @@ -1351,6 +1735,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.17.18: resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} engines: {node: '>=12'} @@ -1360,6 +1753,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.17.18: resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} engines: {node: '>=12'} @@ -1369,6 +1771,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.17.18: resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} engines: {node: '>=12'} @@ -1378,6 +1789,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.17.18: resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} engines: {node: '>=12'} @@ -1387,6 +1807,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.17.18: resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} engines: {node: '>=12'} @@ -1396,6 +1825,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.17.18: resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} engines: {node: '>=12'} @@ -1405,6 +1843,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.17.18: resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} engines: {node: '>=12'} @@ -1414,6 +1861,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.17.18: resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} engines: {node: '>=12'} @@ -1423,6 +1879,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.17.18: resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} engines: {node: '>=12'} @@ -1432,6 +1897,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.17.18: resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} engines: {node: '>=12'} @@ -1441,6 +1915,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.17.18: resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} engines: {node: '>=12'} @@ -1450,6 +1933,74 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@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.1: + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + 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 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.2.4 + 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 + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + 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.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -1466,186 +2017,218 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@25.5.0: - resolution: {integrity: sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==} - engines: {node: '>= 8.3'} + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 - chalk: 3.0.0 - jest-message-util: 25.5.0 - jest-util: 25.5.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 dev: true - /@jest/core@25.5.4: - resolution: {integrity: sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==} - engines: {node: '>= 8.3'} + /@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2): + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: - '@jest/console': 25.5.0 - '@jest/reporters': 25.5.1 - '@jest/test-result': 25.5.0 - '@jest/transform': 25.5.1 - '@jest/types': 25.5.0 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 ansi-escapes: 4.3.2 - chalk: 3.0.0 + chalk: 4.1.2 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 25.5.0 - jest-config: 25.5.4 - jest-haste-map: 25.5.1 - jest-message-util: 25.5.0 - jest-regex-util: 25.2.6 - jest-resolve: 25.5.1 - jest-resolve-dependencies: 25.5.4 - jest-runner: 25.5.4 - jest-runtime: 25.5.4 - jest-snapshot: 25.5.1 - jest-util: 25.5.0 - jest-validate: 25.5.0 - jest-watcher: 25.5.0 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.5 - p-each-series: 2.2.0 - realpath-native: 2.0.0 - rimraf: 3.0.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - - utf-8-validate + - ts-node dev: true - /@jest/environment@25.5.0: - resolution: {integrity: sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==} - engines: {node: '>= 8.3'} + /@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': 25.5.0 - '@jest/types': 25.5.0 - jest-mock: 25.5.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-mock: 29.7.0 dev: true - /@jest/fake-timers@25.5.0: - resolution: {integrity: sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==} - engines: {node: '>= 8.3'} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 - jest-message-util: 25.5.0 - jest-mock: 25.5.0 - jest-util: 25.5.0 - lolex: 5.1.2 + jest-get-type: 29.6.3 dev: true - /@jest/globals@25.5.2: - resolution: {integrity: sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==} - engines: {node: '>= 8.3'} + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 25.5.0 - '@jest/types': 25.5.0 - expect: 25.5.0 + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color dev: true - /@jest/reporters@25.5.1: - resolution: {integrity: sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==} - engines: {node: '>= 8.3'} + /@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.14.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 25.5.0 - '@jest/test-result': 25.5.0 - '@jest/transform': 25.5.1 - '@jest/types': 25.5.0 - chalk: 3.0.0 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.18 + '@types/node': 20.14.2 + chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 4.0.3 + istanbul-lib-instrument: 6.0.2 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 - jest-haste-map: 25.5.1 - jest-resolve: 25.5.1 - jest-util: 25.5.0 - jest-worker: 25.5.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 - source-map: 0.6.1 - string-length: 3.1.0 - terminal-link: 2.1.1 - v8-to-istanbul: 4.1.4 - optionalDependencies: - node-notifier: 6.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color dev: true - /@jest/source-map@25.5.0: - resolution: {integrity: sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==} - engines: {node: '>= 8.3'} + /@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: - callsites: 3.1.0 - graceful-fs: 4.2.11 - source-map: 0.6.1 + '@sinclair/typebox': 0.27.8 dev: true - /@jest/test-result@25.5.0: - resolution: {integrity: sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==} - engines: {node: '>= 8.3'} + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 25.5.0 - '@jest/types': 25.5.0 + '@jridgewell/trace-mapping': 0.3.18 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer@25.5.4: - resolution: {integrity: sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==} - engines: {node: '>= 8.3'} + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 25.5.0 + '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 - jest-haste-map: 25.5.1 - jest-runner: 25.5.4 - jest-runtime: 25.5.4 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate + jest-haste-map: 29.7.0 + slash: 3.0.0 dev: true - /@jest/transform@25.5.1: - resolution: {integrity: sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==} - engines: {node: '>= 8.3'} + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.21.4 - '@jest/types': 25.5.0 + '@babel/core': 7.24.7 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 - chalk: 3.0.0 - convert-source-map: 1.9.0 + chalk: 4.1.2 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 25.5.1 - jest-regex-util: 25.2.6 - jest-util: 25.5.0 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.5 pirates: 4.0.5 - realpath-native: 2.0.0 slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 + write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color dev: true - /@jest/types@25.5.0: - resolution: {integrity: sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==} - engines: {node: '>= 8.3'} + /@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.4 - '@types/istanbul-reports': 1.1.2 - '@types/yargs': 15.0.15 - chalk: 3.0.0 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.2 + '@types/yargs': 17.0.32 + chalk: 4.1.2 dev: true /@jridgewell/gen-mapping@0.3.3: @@ -1657,6 +2240,15 @@ packages: '@jridgewell/trace-mapping': 0.3.18 dev: true + /@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 + dev: true + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} @@ -1667,6 +2259,18 @@ packages: engines: {node: '>=6.0.0'} dev: true + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@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: true + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true @@ -1682,6 +2286,20 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@noble/hashes@1.1.5: resolution: {integrity: sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==} @@ -1709,91 +2327,144 @@ packages: fastq: 1.15.0 dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.21.4)(rollup@1.32.1): - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} + /@rollup/plugin-babel@6.0.4(@babel/core@7.24.7)(rollup@3.29.4): + resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} + engines: {node: '>=14.0.0'} peerDependencies: '@babel/core': ^7.0.0 '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: '@types/babel__core': optional: true + rollup: + optional: true dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.21.4 - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) - rollup: 1.32.1 + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + rollup: 3.29.4 + transitivePeerDependencies: + - supports-color dev: true - /@rollup/plugin-commonjs@11.1.0(rollup@1.32.1): - resolution: {integrity: sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==} - engines: {node: '>= 8.0.0'} + /@rollup/plugin-commonjs@24.1.0(rollup@3.29.4): + resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0 + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) commondir: 1.0.1 - estree-walker: 1.0.1 - glob: 7.2.3 + estree-walker: 2.0.2 + glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.2 - rollup: 1.32.1 + magic-string: 0.27.0 + rollup: 3.29.4 dev: true - /@rollup/plugin-json@4.1.0(rollup@1.32.1): - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} + /@rollup/plugin-json@6.1.0(rollup@3.29.4): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) - rollup: 1.32.1 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + rollup: 3.29.4 dev: true - /@rollup/plugin-node-resolve@9.0.0(rollup@1.32.1): - resolution: {integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==} - engines: {node: '>= 10.0.0'} + /@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0 + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) - '@types/resolve': 1.17.1 - builtin-modules: 3.3.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@types/resolve': 1.20.2 deepmerge: 4.3.1 + is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.2 - rollup: 1.32.1 + rollup: 3.29.4 dev: true - /@rollup/plugin-replace@2.4.2(rollup@1.32.1): - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + /@rollup/plugin-replace@5.0.7(rollup@3.29.4): + resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) - magic-string: 0.25.9 - rollup: 1.32.1 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + magic-string: 0.30.10 + rollup: 3.29.4 dev: true - /@rollup/pluginutils@3.1.0(rollup@1.32.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + /@rollup/plugin-terser@0.4.4(rollup@3.29.4): + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.29.4 + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.31.1 + dev: true + + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 + estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 1.32.1 dev: true - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + /@rollup/pluginutils@5.1.0(rollup@3.29.4): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.29.4 + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 dev: true + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.1 + dev: true + /@size-limit/esbuild@8.2.4(size-limit@8.2.4): resolution: {integrity: sha512-kPgNfpwUvBD98s5axlf1UciFg4Ki4AYSl/cOmSyyYBuzksHiwW7Myeu0w4mTxtV9nwBFbkrrNXqszE7b+OhFLA==} engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} @@ -1839,13 +2510,8 @@ packages: transitivePeerDependencies: - encoding - /@stacks/stacks-blockchain-api-types@7.1.7: - resolution: {integrity: sha512-6up6n3+qGYOwJ12bp+trsm0/npE7+ovSig+lFw6aboWCor/e0dO+fDXhJMQIrGJHHY0gw5OKeEsCcRCDwY4SYw==} - dev: true - - /@stacks/stacks-blockchain-api-types@7.3.0: - resolution: {integrity: sha512-kpv9UlOmgTdWjzBdv8WYpYLpR0A9shl7pAae25iP0RqtNKE0FZti/I3k7zkXxpxoNTVjb9ys9iEf0AFtfhSmPQ==} - dev: false + /@stacks/stacks-blockchain-api-types@7.11.0: + resolution: {integrity: sha512-R1H5qVJ+KkytWEGrQ4Jk2Ba2NjXexRPniFyY4MVmv+gm5eZ4rtfkmIwsGwGUNo9egUG+KvfKPROaVmiiN0930w==} /@stacks/transactions@6.5.0: resolution: {integrity: sha512-kwE8cZq+QdAum4/LC+lSlAXVvzkdsSHTkCbfg4+VCWPBqA+gdXEqZe6R9SNBtMb8yGQrqUY8uIGRLVCWcXJ8zQ==} @@ -1859,10 +2525,31 @@ packages: transitivePeerDependencies: - encoding + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + 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/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.21.4 + '@babel/parser': 7.24.7 '@babel/types': 7.21.4 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -1878,7 +2565,7 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.4 + '@babel/parser': 7.24.7 '@babel/types': 7.21.4 dev: true @@ -1891,24 +2578,23 @@ packages: /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 20.1.0 - - /@types/eslint-visitor-keys@1.0.0: - resolution: {integrity: sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==} - dev: true - - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true + '@types/node': 20.14.2 /@types/estree@1.0.1: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} dev: true + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.14.2 + dev: true + /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.1.0 + '@types/node': 20.14.2 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -1921,18 +2607,25 @@ packages: '@types/istanbul-lib-coverage': 2.0.4 dev: true - /@types/istanbul-reports@1.1.2: - resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest@25.2.3: - resolution: {integrity: sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==} + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: - jest-diff: 25.5.0 - pretty-format: 25.5.0 + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/jsdom@20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + dependencies: + '@types/node': 20.14.2 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 dev: true /@types/json-schema@7.0.11: @@ -1943,155 +2636,211 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + /@types/node@18.16.0: resolution: {integrity: sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==} - /@types/node@20.1.0: - resolution: {integrity: sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==} - - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true + /@types/node@20.14.2: + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + dependencies: + undici-types: 5.26.5 /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/prettier@1.19.1: - resolution: {integrity: sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==} + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/resolve@1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 20.1.0 + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@types/stack-utils@1.0.1: - resolution: {integrity: sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} dev: true /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@types/yargs@15.0.15: - resolution: {integrity: sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==} + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0)(eslint@6.8.0)(typescript@4.9.5): - resolution: {integrity: sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/parser': ^2.0.0 - eslint: ^5.0.0 || ^6.0.0 + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - eslint: 6.8.0 - functional-red-black-tree: 1.0.1 - regexpp: 3.2.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.6.2 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils@2.34.0(eslint@6.8.0)(typescript@4.9.5): - resolution: {integrity: sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.2 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.11 - '@typescript-eslint/typescript-estree': 2.34.0(typescript@4.9.5) - eslint: 6.8.0 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + eslint: 8.57.0 eslint-scope: 5.1.1 - eslint-utils: 2.1.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@4.9.5): - resolution: {integrity: sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@types/eslint-visitor-keys': 1.0.0 - '@typescript-eslint/experimental-utils': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 2.34.0(typescript@4.9.5) - eslint: 6.8.0 - eslint-visitor-keys: 1.3.0 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/typescript-estree@2.34.0(typescript@4.9.5): - resolution: {integrity: sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - debug: 4.3.4 - eslint-visitor-keys: 1.3.0 - glob: 7.2.3 - is-glob: 4.0.3 - lodash: 4.17.21 - semver: 7.5.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead dev: true - /acorn-globals@4.3.4: - resolution: {integrity: sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==} + /acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 6.4.2 - acorn-walk: 6.2.0 + acorn: 8.8.2 + acorn-walk: 8.3.3 dev: true - /acorn-jsx@5.3.2(acorn@7.4.1): + /acorn-jsx@5.3.2(acorn@8.12.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 7.4.1 + acorn: 8.12.0 dev: true - /acorn-walk@6.2.0: - resolution: {integrity: sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==} + /acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.0 dev: true - /acorn@6.4.2: - resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + /acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -2102,6 +2851,23 @@ packages: hasBin: true dev: true + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -2128,20 +2894,25 @@ packages: type-fest: 0.21.3 dev: true + /ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + dev: true + /ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} dev: true - /ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - dev: true - /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'} @@ -2155,13 +2926,9 @@ packages: dependencies: color-convert: 2.0.1 - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} dev: true /anymatch@3.1.3: @@ -2172,31 +2939,24 @@ packages: picomatch: 2.3.1 dev: true + /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 dev: true - /aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: - deep-equal: 2.2.0 - dev: true - - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} + dequal: 2.0.3 dev: true /array-buffer-byte-length@1.0.0: @@ -2206,18 +2966,23 @@ packages: is-array-buffer: 3.0.2 dev: true - /array-equal@1.0.0: - resolution: {integrity: sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==} - dev: true - - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.0 + 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.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -2226,9 +2991,28 @@ packages: engines: {node: '>=8'} dev: true - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} + /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.3 + 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.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flat@1.3.1: @@ -2241,49 +3025,62 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /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.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.0 dev: true - /array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.0 dev: true - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} dependencies: - safer-buffer: 2.1.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.0 dev: true - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} + /array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 dev: true - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} + /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.3 + 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 - /ast-types-flow@0.0.7: - resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} - dev: true - - /astral-regex@1.0.0: - resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} - engines: {node: '>=4'} + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} dev: true /asynckit@0.4.0: @@ -2293,28 +3090,16 @@ packages: resolution: {integrity: sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==} dev: true - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true - - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} dev: true - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true - - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + /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 dev: true /axe-core@4.7.0: @@ -2322,73 +3107,54 @@ packages: engines: {node: '>=4'} dev: true - /axios@1.5.0: - resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} + /axios@1.7.2: + resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: - deep-equal: 2.2.0 + dequal: 2.0.3 dev: true - /babel-eslint@10.1.0(eslint@6.8.0): - resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} - engines: {node: '>=6'} - deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. + /babel-jest@29.7.0(@babel/core@7.24.7): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - eslint: '>= 4.12.1' + '@babel/core': ^7.8.0 dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.4 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - eslint: 6.8.0 - eslint-visitor-keys: 1.3.0 - resolve: 1.22.2 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-jest@25.5.1(@babel/core@7.21.4): - resolution: {integrity: sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==} - engines: {node: '>= 8.3'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.21.4 - '@jest/transform': 25.5.1 - '@jest/types': 25.5.0 + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 25.5.0(@babel/core@7.21.4) - chalk: 3.0.0 + babel-preset-jest: 29.6.3(@babel/core@7.24.7) + chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.21.4): + /babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.24.7): resolution: {integrity: sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==} peerDependencies: '@babel/core': ^6.0.0-0 || 7.x dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 dev: true - /babel-plugin-dev-expression@0.2.3(@babel/core@7.21.4): + /babel-plugin-dev-expression@0.2.3(@babel/core@7.24.7): resolution: {integrity: sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 dev: true /babel-plugin-istanbul@6.1.1: @@ -2404,66 +3170,57 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@25.5.0: - resolution: {integrity: sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==} - engines: {node: '>= 8.3'} + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.4 + '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.3 dev: true - /babel-plugin-macros@2.8.0: - resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} + /babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} dependencies: '@babel/runtime': 7.21.0 - cosmiconfig: 6.0.0 + cosmiconfig: 7.1.0 resolve: 1.22.2 dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) - semver: 6.3.0 + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) - core-js-compat: 3.30.1 + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.21.4): - resolution: {integrity: sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==} + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.0.3(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) transitivePeerDependencies: - supports-color dev: true @@ -2472,34 +3229,35 @@ packages: resolution: {integrity: sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==} dev: true - /babel-preset-current-node-syntax@0.1.4(@babel/core@7.21.4): - resolution: {integrity: sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==} + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) dev: true - /babel-preset-jest@25.5.0(@babel/core@7.21.4): - resolution: {integrity: sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==} - engines: {node: '>= 8.3'} + /babel-preset-jest@29.6.3(@babel/core@7.24.7): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - babel-plugin-jest-hoist: 25.5.0 - babel-preset-current-node-syntax: 0.1.4(@babel/core@7.21.4) + '@babel/core': 7.24.7 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) dev: true /balanced-match@1.0.2: @@ -2509,23 +3267,8 @@ packages: /base-x@4.0.0: resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - dependencies: - tweetnacl: 0.14.5 + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true /binary-extensions@2.2.0: @@ -2533,6 +3276,14 @@ packages: engines: {node: '>=8'} dev: true + /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: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -2540,22 +3291,10 @@ packages: concat-map: 0.0.1 dev: true - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + balanced-match: 1.0.2 dev: true /braces@3.0.2: @@ -2565,25 +3304,15 @@ packages: fill-range: 7.0.1 dev: true - /browser-process-hrtime@1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - dev: true - - /browser-resolve@1.11.3: - resolution: {integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==} - dependencies: - resolve: 1.1.7 - dev: true - - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001481 - electron-to-chromium: 1.4.369 - node-releases: 2.0.10 - update-browserslist-db: 1.0.11(browserslist@4.21.5) + caniuse-lite: 1.0.30001634 + electron-to-chromium: 1.4.803 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) dev: true /bs-logger@0.2.6: @@ -2603,6 +3332,13 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -2620,21 +3356,6 @@ packages: '@noble/hashes': 1.1.5 base-x: 4.0.0 - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true - /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -2642,6 +3363,17 @@ packages: get-intrinsic: 1.2.0 dev: true + /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.2 + dev: true + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2657,19 +3389,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001481: - resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==} - dev: true - - /capture-exit@2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} - dependencies: - rsvp: 4.8.5 - dev: true - - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + /caniuse-lite@1.0.30001634: + resolution: {integrity: sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==} dev: true /chalk@2.4.2: @@ -2681,14 +3402,6 @@ packages: supports-color: 5.5.0 dev: true - /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'} @@ -2697,8 +3410,19 @@ packages: supports-color: 7.2.0 dev: true - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /char-regex@2.0.1: + resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} + engines: {node: '>=12.20'} dev: true /chokidar@3.5.3: @@ -2713,22 +3437,27 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} dev: true - /clarity-codegen@0.3.5(@stacks/transactions@6.5.0): - resolution: {integrity: sha512-tMYXP0lyZ/WViR2vRHCdv/vD+VLhzguawa+GyGRhwMTaYzBRzgyvaZf1qipEf8tIhd8wQGI+3e9KGaWC8TRcaA==} + /cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + dev: true + + /clarity-codegen@0.5.2(@stacks/transactions@6.5.0): + resolution: {integrity: sha512-t0uvboeZTII7n2lgobAxcQnhyjXwbUKYdUKJA3yjoaOXPvtr5i2zFV7H1E6ZeDMfqd3vIksMPvpdFfXum9SoNQ==} hasBin: true peerDependencies: '@stacks/transactions': '*' dependencies: - '@stacks/stacks-blockchain-api-types': 7.3.0 + '@stacks/stacks-blockchain-api-types': 7.11.0 '@stacks/transactions': 6.5.0 - axios: 1.5.0 + axios: 1.7.2 lodash: 4.17.21 yargs: 17.7.2 yqueue: 1.0.1 @@ -2736,14 +3465,9 @@ packages: - debug dev: false - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} dev: true /cli-cursor@2.1.0: @@ -2770,19 +3494,6 @@ packages: engines: {node: '>=6'} dev: true - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true - - /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: true - /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2790,7 +3501,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: false /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} @@ -2806,14 +3516,6 @@ packages: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -2847,10 +3549,6 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true - /component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true - /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -2859,28 +3557,19 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true - - /core-js-compat@3.30.1: - resolution: {integrity: sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==} + /core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} dependencies: - browserslist: 4.21.5 + browserslist: 4.23.1 dev: true - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true - - /cosmiconfig@6.0.0: - resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} - engines: {node: '>=8'} + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -2889,6 +3578,29 @@ packages: yaml: 1.10.2 dev: true + /create-jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + /cross-fetch@3.1.5: resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} dependencies: @@ -2896,17 +3608,6 @@ packages: transitivePeerDependencies: - encoding - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2920,8 +3621,8 @@ packages: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true - /cssom@0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + /cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} dev: true /cssstyle@2.3.0: @@ -2935,30 +3636,40 @@ packages: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - dev: true - - /data-urls@1.1.0: - resolution: {integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==} + /data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} dependencies: abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 7.1.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 dev: true - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} dependencies: - ms: 2.0.0 + 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 /debug@3.2.7: @@ -2984,36 +3695,19 @@ packages: ms: 2.1.2 dev: true - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + /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: true - - /deep-equal@2.2.0: - resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + /dedent@1.5.3(babel-plugin-macros@3.1.0): + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true dependencies: - call-bind: 1.0.2 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.0 - is-arguments: 1.1.1 - is-array-buffer: 3.0.2 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.9 + babel-plugin-macros: 3.1.0 dev: true /deep-is@0.1.4: @@ -3031,6 +3725,15 @@ packages: clone: 1.0.4 dev: true + /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 + dev: true + /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -3039,40 +3742,56 @@ packages: object-keys: 1.1.1 dev: true - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: - is-descriptor: 0.1.6 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 dev: true - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} + /del@5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 dev: true /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} dev: true - /diff-sequences@25.2.6: - resolution: {integrity: sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==} - engines: {node: '>= 8.3'} + /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 /dir-glob@3.0.1: @@ -3096,25 +3815,110 @@ packages: esutils: 2.0.3 dev: true - /domexception@1.0.1: - resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} + /domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead dependencies: - webidl-conversions: 4.0.2 + webidl-conversions: 7.0.0 dev: true - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + /dts-cli@2.0.5(@babel/plugin-syntax-flow@7.24.7)(@babel/plugin-transform-react-jsx@7.24.7)(@types/node@20.14.2): + resolution: {integrity: sha512-1pjG5By5qng5mjzoVArptA4fCdT4Ya3yo4d0TMKDHusq3CvqlU21zgqZYn3liFIF8z9BTN7OutaWbADe+VDngw==} + engines: {node: ^16.0.0 || >=18.0.0} + hasBin: true dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/traverse': 7.24.7 + '@rollup/plugin-babel': 6.0.4(@babel/core@7.24.7)(rollup@3.29.4) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.29.4) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.7(rollup@3.29.4) + '@rollup/plugin-terser': 0.4.4(rollup@3.29.4) + '@types/jest': 29.5.12 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + ansi-escapes: 4.3.2 + asyncro: 3.0.0 + babel-jest: 29.7.0(@babel/core@7.24.7) + babel-plugin-annotate-pure-calls: 0.4.0(@babel/core@7.24.7) + babel-plugin-dev-expression: 0.2.3(@babel/core@7.24.7) + babel-plugin-macros: 3.1.0 + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + babel-plugin-transform-rename-import: 2.3.0 + camelcase: 6.3.0 + chalk: 4.1.2 + confusing-browser-globals: 1.0.11 + enquirer: 2.4.1 + eslint: 8.57.0 + eslint-config-prettier: 8.10.0(eslint@8.57.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.7)(@babel/plugin-transform-react-jsx@7.24.7)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + eslint-plugin-react: 7.34.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint-plugin-testing-library: 5.11.1(eslint@8.57.0)(typescript@5.4.5) + execa: 4.1.0 + figlet: 1.7.0 + fs-extra: 10.1.0 + jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-environment-jsdom: 29.7.0 + jest-watch-typeahead: 2.2.2(jest@29.7.0) + jpjs: 1.2.1 + lodash.merge: 4.6.2 + ora: 5.4.1 + pascal-case: 3.1.2 + postcss: 8.4.38 + prettier: 2.8.8 + progress-estimator: 0.3.1 + regenerator-runtime: 0.14.1 + rollup: 3.29.4 + rollup-plugin-delete: 2.0.0 + rollup-plugin-dts: 5.3.1(rollup@3.29.4)(typescript@5.4.5) + rollup-plugin-typescript2: 0.36.0(rollup@3.29.4)(typescript@5.4.5) + sade: 1.8.1 + semver: 7.6.2 + shelljs: 0.8.5 + sort-package-json: 1.57.0 + tiny-glob: 0.2.9 + ts-jest: 29.1.4(@babel/core@7.24.7)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-node: 10.9.2(@types/node@20.14.2)(typescript@5.4.5) + tslib: 2.6.3 + type-fest: 2.19.0 + typescript: 5.4.5 + transitivePeerDependencies: + - '@babel/plugin-syntax-flow' + - '@babel/plugin-transform-react-jsx' + - '@jest/transform' + - '@jest/types' + - '@swc/core' + - '@swc/wasm' + - '@types/babel__core' + - '@types/node' + - bufferutil + - canvas + - esbuild + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - node-notifier + - supports-color + - utf-8-validate dev: true - /electron-to-chromium@1.4.369: - resolution: {integrity: sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==} + /electron-to-chromium@1.4.803: + resolution: {integrity: sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==} dev: true - /emoji-regex@7.0.3: - resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} dev: true /emoji-regex@8.0.0: @@ -3130,11 +3934,17 @@ packages: once: 1.4.0 dev: true - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} dev: true /error-ex@1.3.2: @@ -3183,18 +3993,95 @@ packages: which-typed-array: 1.1.9 dev: true - /es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + 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 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + 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 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 + 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.8 + 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.6 + 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 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + 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.1: @@ -3206,12 +4093,27 @@ packages: has-tostringtag: 1.0.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.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 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'} @@ -3251,10 +4153,46 @@ packages: '@esbuild/win32-x64': 0.17.18 dev: true + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -3265,70 +4203,43 @@ packages: engines: {node: '>=8'} dev: true - /escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 - estraverse: 4.3.0 + estraverse: 5.3.0 esutils: 2.0.3 - optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 dev: true - /eslint-config-prettier@6.15.0(eslint@6.8.0): - resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==} + /eslint-config-prettier@8.10.0(eslint@8.57.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: - eslint: '>=3.14.1' + eslint: '>=7.0.0' dependencies: - eslint: 6.8.0 - get-stdin: 6.0.0 + eslint: 8.57.0 dev: true - /eslint-config-react-app@5.2.1(@typescript-eslint/eslint-plugin@2.34.0)(@typescript-eslint/parser@2.34.0)(babel-eslint@10.1.0)(eslint-plugin-flowtype@3.13.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@2.5.1)(eslint-plugin-react@7.32.2)(eslint@6.8.0)(typescript@3.9.10): - resolution: {integrity: sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==} - peerDependencies: - '@typescript-eslint/eslint-plugin': 2.x - '@typescript-eslint/parser': 2.x - babel-eslint: 10.x - eslint: 6.x - eslint-plugin-flowtype: 3.x || 4.x - eslint-plugin-import: 2.x - eslint-plugin-jsx-a11y: 6.x - eslint-plugin-react: 7.x - eslint-plugin-react-hooks: 1.x || 2.x - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0)(eslint@6.8.0)(typescript@4.9.5) - '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - babel-eslint: 10.1.0(eslint@6.8.0) - confusing-browser-globals: 1.0.11 - eslint: 6.8.0 - eslint-plugin-flowtype: 3.13.0(eslint@6.8.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@2.34.0)(eslint@6.8.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@6.8.0) - eslint-plugin-react: 7.32.2(eslint@6.8.0) - eslint-plugin-react-hooks: 2.5.1(eslint@6.8.0) - typescript: 3.9.10 - dev: true - - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.12.0 - resolve: 1.22.2 + is-core-module: 2.13.1 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@2.34.0)(eslint-import-resolver-node@0.3.7)(eslint@6.8.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -3349,26 +4260,31 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 - eslint: 6.8.0 - eslint-import-resolver-node: 0.3.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-flowtype@3.13.0(eslint@6.8.0): - resolution: {integrity: sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==} - engines: {node: '>=4'} + /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.7)(@babel/plugin-transform-react-jsx@7.24.7)(eslint@8.57.0): + resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} + engines: {node: '>=12.0.0'} peerDependencies: - eslint: '>=5.0.0' + '@babel/plugin-syntax-flow': ^7.14.5 + '@babel/plugin-transform-react-jsx': ^7.14.9 + eslint: ^8.1.0 dependencies: - eslint: 6.8.0 + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + eslint: 8.57.0 lodash: 4.17.21 + string-natural-compare: 3.0.1 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@2.34.0)(eslint@6.8.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -3377,102 +4293,142 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + 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: 6.8.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@2.34.0)(eslint-import-resolver-node@0.3.7)(eslint@6.8.0) - has: 1.0.3 - is-core-module: 2.12.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(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.values: 1.1.6 - resolve: 1.22.2 - semver: 6.3.0 - tsconfig-paths: 3.14.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.7.1(eslint@6.8.0): - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + transitivePeerDependencies: + - supports-color + - typescript + 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.21.0 - aria-query: 5.1.3 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 + '@babel/runtime': 7.24.7 + 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.1.1 + axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 6.8.0 - has: 1.0.3 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.5 + es-iterator-helpers: 1.0.19 + 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.6 - object.fromentries: 2.0.6 - semver: 6.3.0 + object.entries: 1.1.8 + object.fromentries: 2.0.8 dev: true - /eslint-plugin-prettier@3.4.1(eslint-config-prettier@6.15.0)(eslint@6.8.0)(prettier@1.19.1): - resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==} - engines: {node: '>=6.0.0'} + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} peerDependencies: - eslint: '>=5.0.0' + eslint: '>=7.28.0' eslint-config-prettier: '*' - prettier: '>=1.13.0' + prettier: '>=2.0.0' peerDependenciesMeta: eslint-config-prettier: optional: true dependencies: - eslint: 6.8.0 - eslint-config-prettier: 6.15.0(eslint@6.8.0) - prettier: 1.19.1 + eslint: 8.57.0 + eslint-config-prettier: 8.10.0(eslint@8.57.0) + prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks@2.5.1(eslint@6.8.0): - resolution: {integrity: sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==} - engines: {node: '>=7'} + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 6.8.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.32.2(eslint@6.8.0): - resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + /eslint-plugin-react@7.34.2(eslint@8.57.0): + resolution: {integrity: sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 + 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.4 doctrine: 2.1.0 - eslint: 6.8.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.0 prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + dev: true + + /eslint-plugin-testing-library@5.11.1(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript dev: true /eslint-scope@5.1.1: @@ -3483,67 +4439,62 @@ packages: estraverse: 4.3.0 dev: true - /eslint-utils@1.4.3: - resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==} - engines: {node: '>=6'} + /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: - eslint-visitor-keys: 1.3.0 + esrecurse: 4.3.0 + estraverse: 5.3.0 dev: true - /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - - /eslint@6.8.0: - resolution: {integrity: sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.21.4 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.1 + '@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: 2.4.2 - cross-spawn: 6.0.5 + chalk: 4.1.2 + cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 - eslint-scope: 5.1.1 - eslint-utils: 1.4.3 - eslint-visitor-keys: 1.3.0 - espree: 6.2.1 + 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 - file-entry-cache: 5.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 12.4.0 - ignore: 4.0.6 - import-fresh: 3.3.0 + 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.2.4 imurmurhash: 0.1.4 - inquirer: 7.3.3 is-glob: 4.0.3 - js-yaml: 3.14.1 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.3.0 - lodash: 4.17.21 + levn: 0.4.1 + lodash.merge: 4.6.2 minimatch: 3.1.2 - mkdirp: 0.5.6 natural-compare: 1.4.0 - optionator: 0.8.3 - progress: 2.0.3 - regexpp: 2.0.1 - semver: 6.3.0 - strip-ansi: 5.2.0 - strip-json-comments: 3.1.1 - table: 5.4.6 + optionator: 0.9.4 + strip-ansi: 6.0.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true @@ -3553,13 +4504,13 @@ packages: engines: {node: '>=6'} dev: true - /espree@6.2.1: - resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} - engines: {node: '>=6.0.0'} + /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: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -3592,12 +4543,8 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true /esutils@2.0.3: @@ -3605,39 +4552,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /exec-sh@0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - dev: true - - /execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - - /execa@3.4.0: - resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} - engines: {node: ^8.12.0 || >=9.7.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - p-finally: 2.0.1 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - /execa@4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} @@ -3653,85 +4567,35 @@ packages: strip-final-newline: 2.0.0 dev: true + /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: true + /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} dev: true - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /expect@25.5.0: - resolution: {integrity: sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==} - engines: {node: '>= 8.3'} - dependencies: - '@jest/types': 25.5.0 - ansi-styles: 4.3.0 - jest-get-type: 25.2.6 - jest-matcher-utils: 25.5.0 - jest-message-util: 25.5.0 - jest-regex-util: 25.2.6 - dev: true - - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true - - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true /fast-deep-equal@3.1.3: @@ -3773,28 +4637,17 @@ packages: bser: 2.1.1 dev: true - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 + /figlet@1.7.0: + resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} + engines: {node: '>= 0.4.0'} + hasBin: true dev: true - /file-entry-cache@5.0.1: - resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==} - engines: {node: '>=4'} + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 2.0.1 - dev: true - - /fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 + flat-cache: 3.2.0 dev: true /fill-range@7.0.1: @@ -3821,21 +4674,29 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@2.0.1: - resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} - engines: {node: '>=4'} + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: - flatted: 2.0.2 - rimraf: 2.6.3 - write: 1.0.3 + locate-path: 6.0.0 + path-exists: 4.0.0 dev: true - /flatted@2.0.2: - resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} + /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 - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -3850,24 +4711,6 @@ packages: is-callable: 1.2.7 dev: true - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true - - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true - - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -3875,29 +4718,11 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: false - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: - map-cache: 0.2.2 - 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: true - - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 @@ -3907,8 +4732,8 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /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 @@ -3919,6 +4744,10 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} @@ -3929,8 +4758,14 @@ packages: functions-have-names: 1.2.3 dev: true - /functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + /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.3 + functions-have-names: 1.2.3 dev: true /functions-have-names@1.2.3: @@ -3954,23 +4789,22 @@ packages: has-symbols: 1.0.3 dev: true + /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.2 + dev: true + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} dev: true - /get-stdin@6.0.0: - resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} - engines: {node: '>=4'} - dev: true - - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -3978,6 +4812,11 @@ packages: pump: 3.0.0 dev: true + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -3986,15 +4825,23 @@ packages: get-intrinsic: 1.2.0 dev: true - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} + /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 - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + /get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} dependencies: - assert-plus: 1.0.0 + resolve-pkg-maps: 1.0.0 + dev: true + + /git-hooks-list@1.0.3: + resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} dev: true /glob-parent@5.1.2: @@ -4004,8 +4851,16 @@ packages: is-glob: 4.0.3 dev: true + /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@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4015,29 +4870,69 @@ packages: path-is-absolute: 1.0.1 dev: true + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} dev: true - /globals@12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: - type-fest: 0.8.1 + 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.0 + define-properties: 1.2.1 dev: true /globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true + /globby@10.0.0: + resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -4057,31 +4952,15 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true - /growly@1.3.0: - resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} - requiresBuild: true - dev: true - optional: true - - /har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - dev: true - - /har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /has-bigints@1.0.2: @@ -4101,7 +4980,13 @@ packages: /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 + dev: true + + /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: @@ -4109,6 +4994,11 @@ packages: engines: {node: '>= 0.4'} dev: true + /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'} @@ -4121,35 +5011,11 @@ packages: has-symbols: 1.0.3 dev: true - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 + has-symbols: 1.0.3 dev: true /has@1.0.3: @@ -4159,27 +5025,43 @@ packages: function-bind: 1.1.1 dev: true - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 dev: true - /html-encoding-sniffer@1.0.2: - resolution: {integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==} + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} dependencies: - whatwg-encoding: 1.0.5 + whatwg-encoding: 2.0.0 dev: true /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.17.0 + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color dev: true /human-signals@1.1.1: @@ -4187,6 +5069,11 @@ packages: engines: {node: '>=8.12.0'} dev: true + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + /humanize-duration@3.28.0: resolution: {integrity: sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A==} dev: true @@ -4197,16 +5084,15 @@ packages: hasBin: true dev: true - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + /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 - /ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true /ignore@5.2.4: @@ -4236,8 +5122,14 @@ packages: engines: {node: '>=0.8.19'} dev: true + /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==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -4247,25 +5139,6 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - dev: true - /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -4275,38 +5148,20 @@ packages: side-channel: 1.0.4 dev: true + /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.4 + dev: true + /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} dev: true - /ip-regex@2.1.0: - resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} - engines: {node: '>=4'} - dev: true - - /is-accessor-descriptor@0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: @@ -4315,10 +5170,25 @@ packages: is-typed-array: 1.1.10 dev: true + /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: true + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -4336,12 +5206,15 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-tostringtag: 1.0.0 dev: true - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 dev: true /is-callable@1.2.7: @@ -4349,31 +5222,23 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: true - /is-core-module@2.12.0: resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} dependencies: has: 1.0.3 dev: true - /is-data-descriptor@0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - kind-of: 3.2.2 + hasown: 2.0.2 dev: true - /is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} dependencies: - kind-of: 6.0.3 + is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: @@ -4383,49 +5248,17 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true + /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'} @@ -4440,6 +5273,13 @@ packages: engines: {node: '>=6'} dev: true + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -4465,6 +5305,11 @@ packages: 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'} @@ -4472,23 +5317,28 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 + /is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: true + + /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: true + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true /is-reference@1.2.1: @@ -4501,7 +5351,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-tostringtag: 1.0.0 dev: true @@ -4515,9 +5365,11 @@ packages: call-bind: 1.0.2 dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} + /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: @@ -4550,8 +5402,16 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} dev: true /is-weakmap@2.0.1: @@ -4561,32 +5421,14 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - dev: true - - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - is-docker: 2.2.1 - dev: true - optional: true - - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /isarray@2.0.5: @@ -4597,32 +5439,17 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true - - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true - /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} dev: true - /istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -4630,15 +5457,15 @@ packages: - supports-color dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + /istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} dependencies: - '@babel/core': 7.21.4 - '@babel/parser': 7.21.4 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: true @@ -4671,222 +5498,253 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jest-changed-files@25.5.0: - resolution: {integrity: sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==} - engines: {node: '>= 8.3'} + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: - '@jest/types': 25.5.0 - execa: 3.4.0 - throat: 5.0.0 + 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 - /jest-cli@25.5.4: - resolution: {integrity: sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==} - engines: {node: '>= 8.3'} - hasBin: true + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/core': 25.5.4 - '@jest/test-result': 25.5.0 - '@jest/types': 25.5.0 - chalk: 3.0.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - import-local: 3.1.0 - is-ci: 2.0.0 - jest-config: 25.5.4 - jest-util: 25.5.0 - jest-validate: 25.5.0 - prompts: 2.4.2 - realpath-native: 2.0.0 - yargs: 15.4.1 + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + dev: true + + /jest-circus@29.7.0(babel-plugin-macros@3.1.0): + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3(babel-plugin-macros@3.1.0) + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - - utf-8-validate dev: true - /jest-config@25.5.4: - resolution: {integrity: sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==} - engines: {node: '>= 8.3'} + /jest-cli@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: - '@babel/core': 7.21.4 - '@jest/test-sequencer': 25.5.4 - '@jest/types': 25.5.0 - babel-jest: 25.5.1(@babel/core@7.21.4) - chalk: 3.0.0 + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /jest-config@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.2 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-environment-jsdom: 25.5.0 - jest-environment-node: 25.5.0 - jest-get-type: 25.2.6 - jest-jasmine2: 25.5.4 - jest-regex-util: 25.2.6 - jest-resolve: 25.5.1 - jest-util: 25.5.0 - jest-validate: 25.5.0 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 - pretty-format: 25.5.0 - realpath-native: 2.0.0 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.2(@types/node@20.14.2)(typescript@5.4.5) transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - - utf-8-validate dev: true - /jest-diff@25.5.0: - resolution: {integrity: sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==} - engines: {node: '>= 8.3'} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - chalk: 3.0.0 - diff-sequences: 25.2.6 - jest-get-type: 25.2.6 - pretty-format: 25.5.0 + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-docblock@25.3.0: - resolution: {integrity: sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==} - engines: {node: '>= 8.3'} + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true - /jest-each@25.5.0: - resolution: {integrity: sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==} - engines: {node: '>= 8.3'} + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 - chalk: 3.0.0 - jest-get-type: 25.2.6 - jest-util: 25.5.0 - pretty-format: 25.5.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 dev: true - /jest-environment-jsdom@25.5.0: - resolution: {integrity: sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==} - engines: {node: '>= 8.3'} + /jest-environment-jsdom@29.7.0: + resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true dependencies: - '@jest/environment': 25.5.0 - '@jest/fake-timers': 25.5.0 - '@jest/types': 25.5.0 - jest-mock: 25.5.0 - jest-util: 25.5.0 - jsdom: 15.2.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/jsdom': 20.0.1 + '@types/node': 20.14.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jsdom: 20.0.3 transitivePeerDependencies: - bufferutil - - canvas + - supports-color - utf-8-validate dev: true - /jest-environment-node@25.5.0: - resolution: {integrity: sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==} - engines: {node: '>= 8.3'} + /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': 25.5.0 - '@jest/fake-timers': 25.5.0 - '@jest/types': 25.5.0 - jest-mock: 25.5.0 - jest-util: 25.5.0 - semver: 6.3.0 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /jest-get-type@25.2.6: - resolution: {integrity: sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==} - engines: {node: '>= 8.3'} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@25.5.1: - resolution: {integrity: sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==} - engines: {node: '>= 8.3'} + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 + '@types/node': 20.14.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-serializer: 25.5.0 - jest-util: 25.5.0 - jest-worker: 25.5.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.5 - sane: 4.1.0 walker: 1.0.8 - which: 2.0.2 optionalDependencies: - fsevents: 2.3.2 - transitivePeerDependencies: - - supports-color + fsevents: 2.3.3 dev: true - /jest-jasmine2@25.5.4: - resolution: {integrity: sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==} - engines: {node: '>= 8.3'} + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/traverse': 7.21.4 - '@jest/environment': 25.5.0 - '@jest/source-map': 25.5.0 - '@jest/test-result': 25.5.0 - '@jest/types': 25.5.0 - chalk: 3.0.0 - co: 4.6.0 - expect: 25.5.0 - is-generator-fn: 2.1.0 - jest-each: 25.5.0 - jest-matcher-utils: 25.5.0 - jest-message-util: 25.5.0 - jest-runtime: 25.5.4 - jest-snapshot: 25.5.1 - jest-util: 25.5.0 - pretty-format: 25.5.0 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-leak-detector@25.5.0: - resolution: {integrity: sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==} - engines: {node: '>= 8.3'} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 25.2.6 - pretty-format: 25.5.0 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-matcher-utils@25.5.0: - resolution: {integrity: sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==} - engines: {node: '>= 8.3'} - dependencies: - chalk: 3.0.0 - jest-diff: 25.5.0 - jest-get-type: 25.2.6 - pretty-format: 25.5.0 - dev: true - - /jest-message-util@25.5.0: - resolution: {integrity: sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==} - engines: {node: '>= 8.3'} + /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.21.4 - '@jest/types': 25.5.0 - '@types/stack-utils': 1.0.1 - chalk: 3.0.0 + '@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: 1.0.5 + stack-utils: 2.0.6 dev: true - /jest-mock@25.5.0: - resolution: {integrity: sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==} - engines: {node: '>= 8.3'} + /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': 25.5.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-util: 29.7.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@25.5.1): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -4895,210 +5753,209 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 25.5.1 + jest-resolve: 29.7.0 dev: true - /jest-regex-util@25.2.6: - resolution: {integrity: sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==} - engines: {node: '>= 8.3'} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@25.5.4: - resolution: {integrity: sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==} - engines: {node: '>= 8.3'} + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 - jest-regex-util: 25.2.6 - jest-snapshot: 25.5.1 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color dev: true - /jest-resolve@25.5.1: - resolution: {integrity: sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==} - engines: {node: '>= 8.3'} + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 25.5.0 - browser-resolve: 1.11.3 - chalk: 3.0.0 + chalk: 4.1.2 graceful-fs: 4.2.11 - jest-pnp-resolver: 1.2.3(jest-resolve@25.5.1) - read-pkg-up: 7.0.1 - realpath-native: 2.0.0 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 resolve: 1.22.2 + resolve.exports: 2.0.2 slash: 3.0.0 dev: true - /jest-runner@25.5.4: - resolution: {integrity: sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==} - engines: {node: '>= 8.3'} + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 25.5.0 - '@jest/environment': 25.5.0 - '@jest/test-result': 25.5.0 - '@jest/types': 25.5.0 - chalk: 3.0.0 - exit: 0.1.2 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + emittery: 0.13.1 graceful-fs: 4.2.11 - jest-config: 25.5.4 - jest-docblock: 25.3.0 - jest-haste-map: 25.5.1 - jest-jasmine2: 25.5.4 - jest-leak-detector: 25.5.0 - jest-message-util: 25.5.0 - jest-resolve: 25.5.1 - jest-runtime: 25.5.4 - jest-util: 25.5.0 - jest-worker: 25.5.0 - source-map-support: 0.5.21 - throat: 5.0.0 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate dev: true - /jest-runtime@25.5.4: - resolution: {integrity: sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==} - engines: {node: '>= 8.3'} - hasBin: true + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 25.5.0 - '@jest/environment': 25.5.0 - '@jest/globals': 25.5.2 - '@jest/source-map': 25.5.0 - '@jest/test-result': 25.5.0 - '@jest/transform': 25.5.1 - '@jest/types': 25.5.0 - '@types/yargs': 15.0.15 - chalk: 3.0.0 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.1 - exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-config: 25.5.4 - jest-haste-map: 25.5.1 - jest-message-util: 25.5.0 - jest-mock: 25.5.0 - jest-regex-util: 25.2.6 - jest-resolve: 25.5.1 - jest-snapshot: 25.5.1 - jest-util: 25.5.0 - jest-validate: 25.5.0 - realpath-native: 2.0.0 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 - yargs: 15.4.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate dev: true - /jest-serializer@25.5.0: - resolution: {integrity: sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==} - engines: {node: '>= 8.3'} - dependencies: - graceful-fs: 4.2.11 - dev: true - - /jest-snapshot@25.5.1: - resolution: {integrity: sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==} - engines: {node: '>= 8.3'} + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.21.4 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) '@babel/types': 7.21.4 - '@jest/types': 25.5.0 - '@types/prettier': 1.19.1 - chalk: 3.0.0 - expect: 25.5.0 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + chalk: 4.1.2 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 25.5.0 - jest-get-type: 25.2.6 - jest-matcher-utils: 25.5.0 - jest-message-util: 25.5.0 - jest-resolve: 25.5.1 - make-dir: 3.1.0 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 25.5.0 - semver: 6.3.0 - dev: true - - /jest-util@25.5.0: - resolution: {integrity: sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==} - engines: {node: '>= 8.3'} - dependencies: - '@jest/types': 25.5.0 - chalk: 3.0.0 - graceful-fs: 4.2.11 - is-ci: 2.0.0 - make-dir: 3.1.0 - dev: true - - /jest-validate@25.5.0: - resolution: {integrity: sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==} - engines: {node: '>= 8.3'} - dependencies: - '@jest/types': 25.5.0 - camelcase: 5.3.1 - chalk: 3.0.0 - jest-get-type: 25.2.6 - leven: 3.1.0 - pretty-format: 25.5.0 - dev: true - - /jest-watch-typeahead@0.5.0: - resolution: {integrity: sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==} - dependencies: - ansi-escapes: 4.3.2 - chalk: 3.0.0 - jest-regex-util: 25.2.6 - jest-watcher: 25.5.0 - slash: 3.0.0 - string-length: 3.1.0 - strip-ansi: 6.0.1 - dev: true - - /jest-watcher@25.5.0: - resolution: {integrity: sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==} - engines: {node: '>= 8.3'} - dependencies: - '@jest/test-result': 25.5.0 - '@jest/types': 25.5.0 - ansi-escapes: 4.3.2 - chalk: 3.0.0 - jest-util: 25.5.0 - string-length: 3.1.0 - dev: true - - /jest-worker@24.9.0: - resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==} - engines: {node: '>= 6'} - dependencies: - merge-stream: 2.0.0 - supports-color: 6.1.0 - dev: true - - /jest-worker@25.5.0: - resolution: {integrity: sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==} - engines: {node: '>= 8.3'} - dependencies: - merge-stream: 2.0.0 - supports-color: 7.2.0 - dev: true - - /jest@25.5.4: - resolution: {integrity: sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==} - engines: {node: '>= 8.3'} - hasBin: true - dependencies: - '@jest/core': 25.5.4 - import-local: 3.1.0 - jest-cli: 25.5.4 + pretty-format: 29.7.0 + semver: 7.6.2 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate + dev: true + + /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.14.2 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /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: true + + /jest-watch-typeahead@2.2.2(jest@29.7.0): + resolution: {integrity: sha512-+QgOFW4o5Xlgd6jGS5X37i08tuuXNW8X0CV9WNFi+3n8ExCIP+E1melYhvYLjv5fE6D0yyzk74vsSO8I6GqtvQ==} + engines: {node: ^14.17.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + jest: ^27.0.0 || ^28.0.0 || ^29.0.0 + dependencies: + ansi-escapes: 6.2.1 + chalk: 5.3.0 + jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-regex-util: 29.6.3 + jest-watcher: 29.7.0 + slash: 5.1.0 + string-length: 5.0.1 + strip-ansi: 7.1.0 + dev: true + + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + dev: true + + /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.14.2 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node dev: true /jpjs@1.2.1: @@ -5117,13 +5974,16 @@ packages: esprima: 4.0.1 dev: true - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 dev: true - /jsdom@15.2.1: - resolution: {integrity: sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==} - engines: {node: '>=8'} + /jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -5131,33 +5991,34 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 7.4.1 - acorn-globals: 4.3.4 - array-equal: 1.0.0 - cssom: 0.4.4 + acorn: 8.8.2 + acorn-globals: 7.0.1 + cssom: 0.5.0 cssstyle: 2.3.0 - data-urls: 1.1.0 - domexception: 1.0.1 - escodegen: 1.14.3 - html-encoding-sniffer: 1.0.2 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.4 - parse5: 5.1.0 - pn: 1.1.0 - request: 2.88.2 - request-promise-native: 1.0.9(request@2.88.2) - saxes: 3.1.11 + parse5: 7.1.2 + saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 3.0.1 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 1.1.2 - webidl-conversions: 4.0.2 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 7.1.0 - ws: 7.5.9 - xml-name-validator: 3.0.0 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.17.1 + xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil + - supports-color - utf-8-validate dev: true @@ -5172,6 +6033,10 @@ packages: hasBin: true dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5180,18 +6045,10 @@ packages: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true - /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true - /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -5205,12 +6062,6 @@ packages: hasBin: true dev: true - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -5219,46 +6070,28 @@ packages: graceful-fs: 4.2.11 dev: true - /jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: true - /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.6 + array-includes: 3.1.8 object.assign: 4.1.4 dev: true - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} dependencies: - is-buffer: 1.1.6 + array-includes: 3.1.8 + array.prototype.flat: 1.3.1 + object.assign: 4.1.4 + object.values: 1.1.6 dev: true - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + json-buffer: 3.0.1 dev: true /kleur@3.0.3: @@ -5270,8 +6103,9 @@ packages: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true - /language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} dependencies: language-subtag-registry: 0.3.22 dev: true @@ -5281,12 +6115,12 @@ packages: engines: {node: '>=6'} dev: true - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 + prelude-ls: 1.2.1 + type-check: 0.4.0 dev: true /lilconfig@2.1.0: @@ -5305,6 +6139,13 @@ packages: p-locate: 4.1.0 dev: true + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + /lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -5320,18 +6161,15 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-symbols@3.0.0: - resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} - engines: {node: '>=8'} + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: - chalk: 2.4.2 + chalk: 4.1.2 + is-unicode-supported: 0.1.0 dev: true /log-update@2.3.0: @@ -5343,12 +6181,6 @@ packages: wrap-ansi: 3.0.1 dev: true - /lolex@5.1.2: - resolution: {integrity: sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==} - dependencies: - '@sinonjs/commons': 1.8.6 - dev: true - /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -5359,7 +6191,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.3 dev: true /lru-cache@5.1.1: @@ -5375,10 +6207,17 @@ packages: yallist: 4.0.0 dev: true - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: @@ -5398,18 +6237,6 @@ packages: tmpl: 1.0.5 dev: true - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -5419,27 +6246,6 @@ packages: engines: {node: '>= 8'} dev: true - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -5474,34 +6280,22 @@ packages: brace-expansion: 1.1.11 dev: true + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} dev: true - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -5510,33 +6304,16 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true dev: true /nanospinner@1.1.0: @@ -5545,19 +6322,19 @@ packages: picocolors: 1.0.0 dev: true - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.5.0 + tslib: 2.6.3 dev: true /node-fetch@2.6.7: @@ -5575,36 +6352,8 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-notifier@6.0.0: - resolution: {integrity: sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==} - requiresBuild: true - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 6.3.0 - shellwords: 0.1.1 - which: 1.3.1 - dev: true - optional: true - - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /normalize-path@3.0.0: @@ -5612,13 +6361,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -5630,34 +6372,17 @@ packages: resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} dev: true - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: true - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true /object-keys@1.1.1: @@ -5665,13 +6390,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} @@ -5682,36 +6400,51 @@ packages: object-keys: 1.1.1 dev: true - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 dev: true - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 dev: true - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} + /object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} dependencies: - isobject: 3.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + dev: true + + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true /object.values@1.1.6: @@ -5723,6 +6456,15 @@ packages: es-abstract: 1.21.2 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 + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -5743,52 +6485,33 @@ packages: mimic-fn: 2.1.0 dev: true - /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 dev: true - /ora@4.1.1: - resolution: {integrity: sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==} - engines: {node: '>=8'} + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: - chalk: 3.0.0 + bl: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.8.0 is-interactive: 1.0.0 - log-symbols: 3.0.0 - mute-stream: 0.0.8 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 dev: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true - - /p-each-series@2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true - - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-finally@2.0.1: - resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} - engines: {node: '>=8'} - dev: true - /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5796,6 +6519,13 @@ packages: p-try: 2.2.0 dev: true + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -5803,6 +6533,20 @@ packages: p-limit: 2.3.0 dev: true + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -5825,20 +6569,17 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse5@5.1.0: - resolution: {integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==} + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 dev: true /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 - dev: true - - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} + tslib: 2.6.3 dev: true /path-exists@4.0.0: @@ -5851,11 +6592,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true - /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5870,14 +6606,14 @@ packages: engines: {node: '>=8'} dev: true - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: true - /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -5895,17 +6631,22 @@ packages: find-up: 4.1.0 dev: true - /pn@1.1.0: - resolution: {integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==} + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} dev: true - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 dev: true - /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} dev: true @@ -5916,30 +6657,23 @@ packages: fast-diff: 1.2.0 dev: true - /prettier@1.19.1: - resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} - engines: {node: '>=4'} - hasBin: true - dev: true - /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /pretty-format@25.5.0: - resolution: {integrity: sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==} - engines: {node: '>= 8.3'} + /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/types': 25.5.0 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 16.13.1 + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 dev: true - /progress-estimator@0.2.2: - resolution: {integrity: sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==} + /progress-estimator@0.3.1: + resolution: {integrity: sha512-I5bwE35adOrA2rfZ9iHHPESUp5C6cXrZd0J8LdFD9J+66ijSugBwZHooPCROf94Ox8YZaUyvTLViqSiRvBhSoA==} dependencies: chalk: 2.4.2 cli-spinners: 1.3.1 @@ -5947,11 +6681,6 @@ packages: log-update: 2.3.0 dev: true - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -5988,9 +6717,12 @@ packages: engines: {node: '>=6'} dev: true - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true /queue-microtask@1.2.3: @@ -6007,23 +6739,17 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 dev: true /readdirp@3.6.0: @@ -6033,11 +6759,6 @@ packages: picomatch: 2.3.1 dev: true - /realpath-native@2.0.0: - resolution: {integrity: sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==} - engines: {node: '>=8'} - dev: true - /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -6045,6 +6766,19 @@ packages: resolve: 1.22.2 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.3 + 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.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -6060,18 +6794,14 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} - dependencies: - '@babel/runtime': 7.21.0 + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 + '@babel/runtime': 7.21.0 dev: true /regexp.prototype.flags@1.5.0: @@ -6083,14 +6813,14 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp@2.0.1: - resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==} - engines: {node: '>=6.5.0'} - dev: true - - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} + /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: @@ -6112,76 +6842,12 @@ packages: jsesc: 0.5.0 dev: true - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true - - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - - /request-promise-core@1.1.4(request@2.88.2): - resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==} - engines: {node: '>=0.10.0'} - peerDependencies: - request: ^2.34 - dependencies: - lodash: 4.17.21 - request: 2.88.2 - dev: true - - /request-promise-native@1.0.9(request@2.88.2): - resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==} - engines: {node: '>=0.12.0'} - deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 - peerDependencies: - request: ^2.34 - dependencies: - request: 2.88.2 - request-promise-core: 1.1.4(request@2.88.2) - stealthy-require: 1.1.1 - tough-cookie: 2.5.0 - dev: true - - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - dependencies: - aws-sign2: 0.7.0 - aws4: 1.12.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true /resolve-cwd@3.0.0: @@ -6201,19 +6867,13 @@ packages: engines: {node: '>=8'} dev: true - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve@1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} - dev: true - - /resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - dependencies: - path-parse: 1.0.7 + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} dev: true /resolve@1.22.2: @@ -6225,11 +6885,20 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.12.0 + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /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 @@ -6250,98 +6919,61 @@ packages: signal-exit: 3.0.7 dev: true - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /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: true - /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup-plugin-sourcemaps@0.6.3(@types/node@20.1.0)(rollup@1.32.1): - resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==} - engines: {node: '>=10.0.0'} - peerDependencies: - '@types/node': '>=10.0.0' - rollup: '>=0.31.2' - peerDependenciesMeta: - '@types/node': - optional: true + /rollup-plugin-delete@2.0.0: + resolution: {integrity: sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA==} + engines: {node: '>=10'} dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) - '@types/node': 20.1.0 - rollup: 1.32.1 - source-map-resolve: 0.6.0 + del: 5.1.0 dev: true - /rollup-plugin-terser@5.3.1(rollup@1.32.1): - resolution: {integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + /rollup-plugin-dts@5.3.1(rollup@3.29.4)(typescript@5.4.5): + resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} + engines: {node: '>=v14.21.3'} peerDependencies: - rollup: '>=0.66.0 <3' + rollup: ^3.0 + typescript: ^4.1 || ^5.0 dependencies: - '@babel/code-frame': 7.21.4 - jest-worker: 24.9.0 - rollup: 1.32.1 - rollup-pluginutils: 2.8.2 - serialize-javascript: 4.0.0 - terser: 4.8.1 + magic-string: 0.30.10 + rollup: 3.29.4 + typescript: 5.4.5 + optionalDependencies: + '@babel/code-frame': 7.24.7 dev: true - /rollup-plugin-typescript2@0.27.3(rollup@1.32.1)(typescript@3.9.10): - resolution: {integrity: sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==} + /rollup-plugin-typescript2@0.36.0(rollup@3.29.4)(typescript@5.4.5): + resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} peerDependencies: rollup: '>=1.26.3' typescript: '>=2.4.0' dependencies: - '@rollup/pluginutils': 3.1.0(rollup@1.32.1) + '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 - fs-extra: 8.1.0 - resolve: 1.17.0 - rollup: 1.32.1 - tslib: 2.0.1 - typescript: 3.9.10 + fs-extra: 10.1.0 + rollup: 3.29.4 + semver: 7.6.2 + tslib: 2.6.3 + typescript: 5.4.5 dev: true - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - - /rollup@1.32.1: - resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - dependencies: - '@types/estree': 1.0.1 - '@types/node': 20.1.0 - acorn: 7.4.1 - dev: true - - /rsvp@4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - dev: true - - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} + optionalDependencies: + fsevents: 2.3.3 dev: true /run-parallel@1.2.0: @@ -6350,13 +6982,6 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - dependencies: - tslib: 1.14.1 - dev: true - /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -6364,6 +6989,16 @@ packages: mri: 1.2.0 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.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true @@ -6376,49 +7011,33 @@ packages: is-regex: 1.1.4 dev: true - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: - ret: 0.1.15 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sane@4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.2 - micromatch: 3.1.10 - minimist: 1.2.8 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - dev: true - - /saxes@3.1.11: - resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==} - engines: {node: '>=8'} + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 dev: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true @@ -6430,39 +7049,38 @@ packages: lru-cache: 6.0.0 dev: true - /semver@7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 dev: true - /serialize-javascript@4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + 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.2 dev: true - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 + 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 /shebang-command@2.0.0: @@ -6472,11 +7090,6 @@ packages: shebang-regex: 3.0.0 dev: true - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true - /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -6492,20 +7105,24 @@ packages: rechoir: 0.6.2 dev: true - /shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - requiresBuild: true - dev: true - optional: true - /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 object-inspect: 1.12.3 dev: true + /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 + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -6532,64 +7149,41 @@ packages: engines: {node: '>=8'} dev: true - /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 + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + /smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + dev: true + + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true + + /sort-package-json@1.57.0: + resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==} + hasBin: true + dependencies: + detect-indent: 6.1.0 + detect-newline: 3.1.0 + git-hooks-list: 1.0.3 + globby: 10.0.0 + is-plain-obj: 2.1.0 + sort-object-keys: 1.1.3 + dev: true + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 dev: true - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true - - /source-map-resolve@0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 + buffer-from: 1.1.2 + source-map: 0.6.1 dev: true /source-map-support@0.5.21: @@ -6599,113 +7193,40 @@ packages: source-map: 0.6.1 dev: true - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true - - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 - dev: true - - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true - - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 - dev: true - - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - dev: true - - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true - /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - dev: true - - /stack-utils@1.0.5: - resolution: {integrity: sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==} - engines: {node: '>=8'} + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 + char-regex: 1.0.2 + strip-ansi: 6.0.1 dev: true - /stealthy-require@1.1.1: - resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} - engines: {node: '>=0.10.0'} + /string-length@5.0.1: + resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} + engines: {node: '>=12.20'} + dependencies: + char-regex: 2.0.1 + strip-ansi: 7.1.0 dev: true - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - dependencies: - internal-slot: 1.0.5 - dev: true - - /string-length@3.1.0: - resolution: {integrity: sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==} - engines: {node: '>=8'} - dependencies: - astral-regex: 1.0.0 - strip-ansi: 5.2.0 + /string-natural-compare@3.0.1: + resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} dev: true /string-width@2.1.1: @@ -6716,15 +7237,6 @@ packages: strip-ansi: 4.0.0 dev: true - /string-width@3.1.0: - resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} - engines: {node: '>=6'} - dependencies: - emoji-regex: 7.0.3 - is-fullwidth-code-point: 2.0.0 - strip-ansi: 5.2.0 - dev: true - /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -6733,17 +7245,22 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + 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.5 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 + 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.7: @@ -6755,6 +7272,16 @@ packages: es-abstract: 1.21.2 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.3 + es-object-atoms: 1.0.0 + dev: true + /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: @@ -6763,6 +7290,14 @@ packages: es-abstract: 1.21.2 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.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: @@ -6771,6 +7306,21 @@ packages: es-abstract: 1.21.2 dev: true + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} engines: {node: '>=4'} @@ -6778,19 +7328,19 @@ packages: ansi-regex: 3.0.1 dev: true - /strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.1 - dev: true - /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'} @@ -6801,11 +7351,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true - /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -6823,13 +7368,6 @@ packages: has-flag: 3.0.0 dev: true - /supports-color@6.1.0: - resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} - engines: {node: '>=6'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -6837,12 +7375,11 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - supports-color: 7.2.0 dev: true /supports-preserve-symlinks-flag@1.0.0: @@ -6854,32 +7391,14 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /table@5.4.6: - resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} - engines: {node: '>=6.0.0'} - dependencies: - ajv: 6.12.6 - lodash: 4.17.21 - slice-ansi: 2.1.0 - string-width: 3.1.0 - dev: true - - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - - /terser@4.8.1: - resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} - engines: {node: '>=6.0.0'} + /terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} hasBin: true dependencies: + '@jridgewell/source-map': 0.3.6 acorn: 8.8.2 commander: 2.20.3 - source-map: 0.6.1 source-map-support: 0.5.21 dev: true @@ -6896,14 +7415,6 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - dev: true - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -6911,13 +7422,6 @@ packages: globrex: 0.1.2 dev: true - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: true - /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true @@ -6927,21 +7431,6 @@ packages: engines: {node: '>=4'} dev: true - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true - /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -6949,66 +7438,97 @@ packages: is-number: 7.0.0 dev: true - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - dependencies: - psl: 1.9.0 - punycode: 2.3.0 - dev: true - - /tough-cookie@3.0.1: - resolution: {integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==} + /tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} dependencies: - ip-regex: 2.1.0 psl: 1.9.0 punycode: 2.3.0 + universalify: 0.2.0 + url-parse: 1.5.10 dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + /tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} dependencies: punycode: 2.3.0 dev: true - /ts-jest@25.5.1(jest@25.5.4)(typescript@3.9.10): - resolution: {integrity: sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==} - engines: {node: '>= 8'} + /ts-jest@29.1.4(@babel/core@7.24.7)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-YiHwDhSvCiItoAgsKtoLFCuakDzDsJ1DLDnSouTaTmdOcOwIkSzbLXduaQ6M5DRVhuZC/NYaaZ/mtHbWMv/S6Q==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - jest: '>=25 <26' - typescript: '>=3.4 <4.0' + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true dependencies: + '@babel/core': 7.24.7 + babel-jest: 29.7.0(@babel/core@7.24.7) bs-logger: 0.2.6 - buffer-from: 1.1.2 fast-json-stable-stringify: 2.1.0 - jest: 25.5.4 + jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2) + jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - micromatch: 4.0.5 - mkdirp: 0.5.6 - semver: 6.3.0 - typescript: 3.9.10 - yargs-parser: 18.1.3 + semver: 7.6.2 + typescript: 5.4.5 + yargs-parser: 21.1.1 dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5): + 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.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.14.2 + acorn: 8.8.2 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + 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 @@ -7016,115 +7536,40 @@ packages: strip-bom: 3.0.0 dev: true - /tsdx@0.14.1(@types/node@20.1.0): - resolution: {integrity: sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.21.4 - '@babel/parser': 7.21.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) - '@babel/preset-env': 7.21.4(@babel/core@7.21.4) - '@babel/traverse': 7.21.4 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.4)(rollup@1.32.1) - '@rollup/plugin-commonjs': 11.1.0(rollup@1.32.1) - '@rollup/plugin-json': 4.1.0(rollup@1.32.1) - '@rollup/plugin-node-resolve': 9.0.0(rollup@1.32.1) - '@rollup/plugin-replace': 2.4.2(rollup@1.32.1) - '@types/jest': 25.2.3 - '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0)(eslint@6.8.0)(typescript@4.9.5) - '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - ansi-escapes: 4.3.2 - asyncro: 3.0.0 - babel-eslint: 10.1.0(eslint@6.8.0) - babel-plugin-annotate-pure-calls: 0.4.0(@babel/core@7.21.4) - babel-plugin-dev-expression: 0.2.3(@babel/core@7.21.4) - babel-plugin-macros: 2.8.0 - babel-plugin-polyfill-regenerator: 0.0.4(@babel/core@7.21.4) - babel-plugin-transform-rename-import: 2.3.0 - camelcase: 6.3.0 - chalk: 4.1.2 - enquirer: 2.3.6 - eslint: 6.8.0 - eslint-config-prettier: 6.15.0(eslint@6.8.0) - eslint-config-react-app: 5.2.1(@typescript-eslint/eslint-plugin@2.34.0)(@typescript-eslint/parser@2.34.0)(babel-eslint@10.1.0)(eslint-plugin-flowtype@3.13.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@2.5.1)(eslint-plugin-react@7.32.2)(eslint@6.8.0)(typescript@3.9.10) - eslint-plugin-flowtype: 3.13.0(eslint@6.8.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@2.34.0)(eslint@6.8.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@6.8.0) - eslint-plugin-prettier: 3.4.1(eslint-config-prettier@6.15.0)(eslint@6.8.0)(prettier@1.19.1) - eslint-plugin-react: 7.32.2(eslint@6.8.0) - eslint-plugin-react-hooks: 2.5.1(eslint@6.8.0) - execa: 4.1.0 - fs-extra: 9.1.0 - jest: 25.5.4 - jest-watch-typeahead: 0.5.0 - jpjs: 1.2.1 - lodash.merge: 4.6.2 - ora: 4.1.1 - pascal-case: 3.1.2 - prettier: 1.19.1 - progress-estimator: 0.2.2 - regenerator-runtime: 0.13.11 - rollup: 1.32.1 - rollup-plugin-sourcemaps: 0.6.3(@types/node@20.1.0)(rollup@1.32.1) - rollup-plugin-terser: 5.3.1(rollup@1.32.1) - rollup-plugin-typescript2: 0.27.3(rollup@1.32.1)(typescript@3.9.10) - sade: 1.8.1 - semver: 7.5.0 - shelljs: 0.8.5 - tiny-glob: 0.2.9 - ts-jest: 25.5.1(jest@25.5.4)(typescript@3.9.10) - tslib: 1.14.1 - typescript: 3.9.10 - transitivePeerDependencies: - - '@types/babel__core' - - '@types/node' - - bufferutil - - canvas - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - utf-8-validate - dev: true - /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.0.1: - resolution: {integrity: sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==} + /tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} dev: true - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.4.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.4.5 dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + /tsx@4.15.5: + resolution: {integrity: sha512-iKi8jQ2VBmZ2kU/FkGkL2OSHBHsazsUzsdC/W/RwhKIEsIoZ1alCclZHP5jGfNHEaEWUJFM1GquzCf+4db3b0w==} + engines: {node: '>=18.0.0'} + hasBin: true dependencies: - safe-buffer: 5.2.1 + esbuild: 0.21.5 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 dev: true - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: true - - /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: - prelude-ls: 1.1.2 + prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: @@ -7132,19 +7577,51 @@ packages: engines: {node: '>=4'} dev: true + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} dev: true - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: true - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + /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.4: @@ -7155,33 +7632,36 @@ packages: is-typed-array: 1.1.10 dev: true - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} dependencies: - is-typedarray: 1.0.0 + 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@3.9.10: - resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: true /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -7205,18 +7685,8 @@ packages: engines: {node: '>=4'} dev: true - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} dev: true @@ -7225,23 +7695,15 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - - /update-browserslist-db@1.0.11(browserslist@4.21.5): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.16(browserslist@4.23.1): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 dev: true /uri-js@4.4.1: @@ -7250,64 +7712,35 @@ packages: punycode: 2.3.0 dev: true - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - dev: true - - /v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - - /v8-to-istanbul@4.1.4: - resolution: {integrity: sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==} - engines: {node: 8.x.x || >=10.10.0} + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.18 '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 - source-map: 0.7.4 + convert-source-map: 2.0.0 dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + /w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: true - - /w3c-hr-time@1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. - dependencies: - browser-process-hrtime: 1.0.0 - dev: true - - /w3c-xmlserializer@1.1.2: - resolution: {integrity: sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==} - dependencies: - domexception: 1.0.1 - webidl-conversions: 4.0.2 - xml-name-validator: 3.0.0 + xml-name-validator: 4.0.0 dev: true /walker@1.0.8: @@ -7325,18 +7758,29 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} dev: true - /whatwg-encoding@1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} dependencies: - iconv-lite: 0.4.24 + iconv-lite: 0.6.3 dev: true - /whatwg-mimetype@2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 dev: true /whatwg-url@5.0.0: @@ -7345,14 +7789,6 @@ packages: tr46: 0.0.3 webidl-conversions: 3.0.1 - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -7363,6 +7799,24 @@ packages: 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.5 + has-tostringtag: 1.0.0 + 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.1 + which-typed-array: 1.1.9 + dev: true + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: @@ -7372,8 +7826,15 @@ packages: is-weakset: 2.0.2 dev: true - /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + /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 dev: true /which-typed-array@1.1.9: @@ -7388,13 +7849,6 @@ packages: is-typed-array: 1.1.10 dev: true - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -7403,8 +7857,8 @@ packages: isexe: 2.0.0 dev: true - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} dev: true @@ -7416,15 +7870,6 @@ packages: strip-ansi: 4.0.0 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: true - /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -7432,34 +7877,25 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: false /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 - is-typedarray: 1.0.0 signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 dev: true - /write@1.0.3: - resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} - engines: {node: '>=4'} - dependencies: - mkdirp: 0.5.6 - dev: true - - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} + /ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -7467,22 +7903,18 @@ packages: optional: true dev: true - /xml-name-validator@3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} dev: true /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true - /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==} @@ -7497,35 +7929,9 @@ packages: engines: {node: '>= 6'} dev: true - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: true - /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: true /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} @@ -7538,7 +7944,16 @@ packages: 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'} + dev: true /yqueue@1.0.1: resolution: {integrity: sha512-DBxJZBRafFLA/tCc5uO8ZTGFr+sQgn1FRJkZ4cVrIQIk6bv2bInraE3mbpLAJw9z93JGrLkqDoyTLrrZaCNq5w==} diff --git a/scripts/gen-contract.ts b/scripts/gen-contract.ts index 1cc43ee..ca81e8d 100644 --- a/scripts/gen-contract.ts +++ b/scripts/gen-contract.ts @@ -1,18 +1,10 @@ -const { generateContracts } = require('clarity-codegen/lib/generate'); -const path = require('path'); +import { generateContracts } from 'clarity-codegen/lib/generate'; +import * as path from 'path'; const API_HOST = 'https://stacks-node-api.alexlab.co'; -const CONTRACT_DEPLOYER = 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9'; +const CONTRACT_DEPLOYER = 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM'; -const contracts = [ - 'swap-helper-v1-02', - 'swap-helper-v1-03', - 'amm-swap-pool', - 'amm-swap-pool-v1-1', - 'token-amm-swap-pool', - 'swap-helper-bridged', - 'swap-helper-bridged-v1-1', -]; +const contracts = ['amm-pool-v2-01']; (async function main() { await generateContracts( diff --git a/src/alexSDK.ts b/src/alexSDK.ts index c0696ac..e2ff138 100644 --- a/src/alexSDK.ts +++ b/src/alexSDK.ts @@ -1,125 +1,90 @@ -import { Currency } from './currency'; -import { getLiquidityProviderFee } from './helpers/FeeHelper'; -import { AMMSwapPool } from './utils/ammPool'; -import { getRoute } from './helpers/RouteHelper'; -import { getYAmountFromXAmount } from './helpers/RateHelper'; +import { createCurrency, Currency } from './currency'; import { runSpot, TxToBroadCast } from './helpers/SwapHelper'; +import { getLiquidityProviderFee } from './helpers/FeeHelper'; +import { PoolData, PriceData, TokenMapping } from './types'; import { fetchBalanceForAccount, - findCurrencyByNativeAddress, - getCurrencyNativeAddress, -} from './utils/currencyUtils'; -import { fetchLatestPrices } from './utils/currencyPrice'; -import { assignConfig, AssignConfigParams, configs } from './config'; -import { AlexContracts } from './generated/smartContract/contracts_Alex'; -import { - broadcastSponsoredTx, - isSponsoredSwapEnabled, -} from './utils/sponsoredTx'; -import { - fetchSwappableCurrency, - fetchTokenList, - TokenInfo, -} from './utils/tokenlist'; -export { SponsoredTxError, SponsoredTxErrorCode } from './utils/sponsoredTx'; + getMappingData, + getPoolData, + getPrices, +} from './utils/fetchData'; +import { getRoute } from './helpers/RouteHelper'; +import { getYAmountFromXAmount } from './helpers/RateHelper'; +import { fromEntries } from './utils/utils'; export class AlexSDK { - static configure(config: AssignConfigParams) { - assignConfig(config); + tokenMappings?: Promise; + pools?: Promise; + + private async getTokenMappings(): Promise { + if (this.tokenMappings == null) { + this.tokenMappings = getMappingData(); + } + return this.tokenMappings; } - getBalances(stxAddress: string): Promise<{ [currency in Currency]: bigint }> { - return fetchBalanceForAccount(stxAddress); + private async getPools(): Promise { + if (this.pools == null) { + this.pools = getPoolData(); + } + return this.pools; } - getFeeRate(from: Currency, to: Currency): Promise { - return getLiquidityProviderFee( - from, - to, - AMMSwapPool.ammTokens, - AMMSwapPool.ammV1_1Tokens - ); + private async getPrices(): Promise { + return getPrices(await this.getTokenMappings()); } - getRouter(from: Currency, to: Currency): Promise { - return getRoute(from, to, AMMSwapPool.ammTokens, AMMSwapPool.ammV1_1Tokens); + async getListAllCurrency(): Promise { + const mappings = await this.getTokenMappings(); + return mappings.map((x) => x.token).map(createCurrency); } - getAmountTo( + async getFeeRate(from: Currency, to: Currency): Promise { + return getLiquidityProviderFee(from, to, await this.getPools()); + } + + async getRouter(from: Currency, to: Currency): Promise { + return getRoute(from, to, await this.getPools()); + } + + async getAmountTo( from: Currency, fromAmount: bigint, to: Currency ): Promise { - return getYAmountFromXAmount( - from, - to, - fromAmount, - AMMSwapPool.ammTokens, - AMMSwapPool.ammV1_1Tokens - ); + return getYAmountFromXAmount(from, to, fromAmount, await this.getPools()); } - runSwap( + async runSwap( stxAddress: string, currencyX: Currency, currencyY: Currency, fromAmount: bigint, - minDy: bigint, - router: Currency[] - ): TxToBroadCast { + minDy: bigint + ): Promise { return runSpot( stxAddress, currencyX, currencyY, fromAmount, minDy, - router, - AMMSwapPool.ammTokens, - AMMSwapPool.ammV1_1Tokens + await this.getPools(), + await this.getTokenMappings() ); } - getCurrencyFrom(address: string): Currency | undefined { - return findCurrencyByNativeAddress(address); - } - - getAddressFrom(currency: Exclude): string { - return getCurrencyNativeAddress(currency); - } - - getLatestPrices(): Promise< + async getLatestPrices(): Promise< Partial<{ [currency in Currency]: number; }> > { - return fetchLatestPrices(); + const priceData = await this.getPrices(); + return fromEntries(priceData.map((x) => [x.token, x.price])); } - isAlexSwapTransaction( - deployer: string, - contractName: string, - functionName: string - ): boolean { - if (deployer !== configs.CONTRACT_DEPLOYER) { - return false; - } - // @ts-ignore - return AlexContracts[contractName][functionName] != null; - } - - broadcastSponsoredTx(txRaw: string): Promise { - return broadcastSponsoredTx(txRaw); - } - - isSponsoredSwapEnabled(): Promise { - return isSponsoredSwapEnabled().catch(() => false); - } - - fetchTokenList(): Promise { - return fetchTokenList(); - } - - fetchSwappableCurrency(): Promise { - return fetchSwappableCurrency(); + async getBalances( + stxAddress: string + ): Promise> { + return fetchBalanceForAccount(stxAddress, await this.getTokenMappings()); } } diff --git a/src/config.ts b/src/config.ts index d2ea18b..615775d 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,229 +1,6 @@ -import { Currency } from './currency'; - -const CONTRACT_DEPLOYER = 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9'; -const API_HOST = 'https://stacks-blockchain-lb.alexlab.co'; -const IS_MAINNET = true; -const SPONSORED_TX_EXECUTOR = 'https://sponsor-tx.alexlab.co/v1/graphql'; - -const NATIVE_TOKEN_MAPPING: { - [P in Exclude]: { - decimals: number; - assetIdentifier: string; - }; -} = { - [Currency.ALEX]: { - assetIdentifier: - 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.age000-governance-token::alex', - decimals: 1e8, - }, - [Currency.sUSDT]: { - assetIdentifier: - 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-susdt::bridged-usdt', - decimals: 1e8, - }, - [Currency.ATALEXV2]: { - assetIdentifier: - 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.auto-alex-v2::auto-alex-v2', - decimals: 1e8, - }, - [Currency.XUSD]: { - assetIdentifier: - 'SP2TZK01NKDC89J6TA56SA47SDF7RTHYEQ79AAB9A.Wrapped-USD::wrapped-usd', - decimals: 1e8, - }, - [Currency.XBTC]: { - assetIdentifier: - 'SP3DX3H4FEYZJZ586MFBS25ZW3HZDMEW92260R2PR.Wrapped-Bitcoin::wrapped-bitcoin', - decimals: 1e8, - }, - [Currency.DIKO]: { - assetIdentifier: - 'SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-token::diko', - decimals: 1e6, - }, - [Currency.USDA]: { - assetIdentifier: - 'SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.usda-token::usda', - decimals: 1e6, - }, - [Currency.BANANA]: { - assetIdentifier: - 'SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C.btc-monkeys-bananas::BANANA', - decimals: 1e6, - }, - [Currency.SLIME]: { - assetIdentifier: - 'SP125J1ADVYWGWB9NQRCVGKYAG73R17ZNMV17XEJ7.slime-token::SLIME', - decimals: 1e6, - }, - [Currency.MIA]: { - assetIdentifier: - 'SP1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R.miamicoin-token-v2::miamicoin', - decimals: 1e6, - }, - [Currency.NYCC]: { - assetIdentifier: - 'SPSCWDV3RKV5ZRN1FQD84YE1NQFEDJ9R1F4DYQ11.newyorkcitycoin-token-v2::newyorkcitycoin', - decimals: 1e6, - }, - [Currency.CORGI]: { - decimals: 1e6, - assetIdentifier: `SP3NE50GEXFG9SZGTT51P40X2CKYSZ5CC4ZTZ7A2G.welshcorgicoin-token::welshcorgicoin`, - }, - [Currency.VIBES]: { - decimals: 1e8, - assetIdentifier: `SP27BB1Y2DGSXZHS7G9YHKTSH6KQ6BD3QG0AN3CR9.vibes-token::vibes-token`, - }, - [Currency.BRC20_DB20]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-db20::brc20-db20`, - }, - [Currency.BRC20_ORMM]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ormm::brc20-ormm`, - }, - [Currency.BRC20_CHAX]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-chax::brc20-chax`, - }, - [Currency.BRC20_ORDG]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ordg::brc20-ordg`, - }, - [Currency.BRC20_REOS]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-reos::brc20-reos`, - }, - [Currency.BRC20_ORNJ]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ornj::brc20-ornj`, - }, - [Currency.STX20_STXS]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.stx20-stxs::stx20-stxs`, - }, - [Currency.aBTC]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-abtc::bridged-btc`, - }, - [Currency.sLUNR]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-slunr::bridged-lunr`, - }, - [Currency.BRC20_CHAX]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-chax::brc20-chax`, - }, - [Currency.LEO]: { - decimals: 1e6, - assetIdentifier: 'SP1AY6K3PQV5MRT6R4S671NWW2FRVPKM0BR162CT6.leo-token::leo', - }, - [Currency.MEGA]: { - decimals: 1e2, - assetIdentifier: 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.mega::mega', - }, - [Currency.GUS]: { - decimals: 1e6, - assetIdentifier: 'SP1JFFSYTSH7VBM54K29ZFS9H4SVB67EA8VT2MYJ9.gus-token::gus', - }, - [Currency.BRC20_ORMM]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ormm::brc20-ormm`, - }, - [Currency.BRC20_ORDG]: { - decimals: 1e8, - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ordg::brc20-ordg`, - }, - [Currency.LONG]: { - assetIdentifier: - 'SP265WBWD4NH7TVPYQTVD23X3607NNK4484DTXQZ3.longcoin::longcoin', - decimals: 1e6, - }, - [Currency.WNOTHING]: { - assetIdentifier: - 'SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.wrapped-nothing-v8::wrapped-nthng', - decimals: 1, - }, - [Currency.AEWBTC]: { - assetIdentifier: - 'SP3Y2ZSH8P7D50B0VBTSX11S7XSG24M1VB9YFQA4K.token-aewbtc::aeWBTC', - decimals: 1e8, - }, - [Currency.MAX]: { - assetIdentifier: 'SP7V1SE7EA3ZG3QTWSBA2AAG8SRHEYJ06EBBD1J2.max-token::max', - decimals: 1e6, - }, - [Currency.PLAY]: { - assetIdentifier: 'SP1PW804599BZ46B4A0FYH86ED26XPJA7SFYNK1XS.play::play', - decimals: 1e6, - }, - [Currency.AEUSDC]: { - assetIdentifier: - 'SP3Y2ZSH8P7D50B0VBTSX11S7XSG24M1VB9YFQA4K.token-aeusdc::aeUSDC', - decimals: 1e6, - }, - [Currency.PEPE]: { - assetIdentifier: - 'SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.tokensoft-token-v4k68639zxz::tokensoft-token', - decimals: 1e3, - }, - [Currency.MICK]: { - assetIdentifier: - 'SP2Y8T3TR3FKH3Y2FPZVNQAEKNJXKWVS4RVQF48JE.stakemouse::stakemouse', - decimals: 1e6, - }, - [Currency.NOPE]: { - assetIdentifier: 'SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.nope::NOT', - decimals: 1, - }, - [Currency.FAST]: { - assetIdentifier: 'SP3951VNPC55BMS9RCF6SKRZP4K3Q2PQ2RSM1DD1V.fast::fast', - decimals: 1e6, - }, - [Currency.FRODO]: { - assetIdentifier: - 'SPPK49DG7WR1J5D50GZ4W7DYYWM5MAXSX0ZA9VEJ.FrodoSaylorKeanuPepe10Inu-token-v69::FrodoSaylorKeanuPepe10Inu', - decimals: 1e6, - }, - [Currency.PICSUM]: { - assetIdentifier: `${CONTRACT_DEPLOYER}.token-picsum-404::picsum-404`, - decimals: 1e8, - }, - [Currency.WIF]: { - assetIdentifier: `SP3WPNAEBYMX06RQNNYTH5PTJ1FRGX5A13ZZMZ01D.dogwifhat-token::wif`, - decimals: 1e6, - }, - [Currency.LQSTX]: { - assetIdentifier: `ST1HTBVD3JG9C05J7HBJTHGR0GGW7KXW28M5JS8QE.token-lqstx::lqstx`, - decimals: 1e6, - }, - [Currency.sSKO]: { - assetIdentifier: `SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-ssko::token-ssko`, - decimals: 1e8, - }, -}; - export const configs = { - IS_MAINNET, - CONTRACT_DEPLOYER, - API_HOST, - NATIVE_TOKEN_MAPPING, - SPONSORED_TX_EXECUTOR, + CONTRACT_DEPLOYER: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM', + API_HOST: "https://api.alexgo.io", + STACKS_API_HOST: "https://api.hiro.so", + READONLY_CALL_API_HOST: "https://stacks-node.alexlab.co", }; - -type AlexConfig = typeof configs; - -export type AssignConfigParams = Partial< - Omit -> & { - NATIVE_TOKEN_MAPPING: Partial; -}; - -export function assignConfig(newConfigs: AssignConfigParams) { - Object.assign(configs, newConfigs, { - NATIVE_TOKEN_MAPPING: { - ...NATIVE_TOKEN_MAPPING, - ...newConfigs.NATIVE_TOKEN_MAPPING, - }, - }); -} diff --git a/src/currency.ts b/src/currency.ts index 10882e3..e6f382c 100644 --- a/src/currency.ts +++ b/src/currency.ts @@ -1,47 +1,7 @@ -export enum Currency { - STX = 'token-wstx', +export type Currency = `${string}.${string}` & { readonly brand: unique symbol }; - ALEX = 'age000-governance-token', - USDA = 'token-wusda', - BANANA = 'token-wban', - XBTC = 'token-wbtc', - DIKO = 'token-wdiko', - SLIME = 'token-wslm', - XUSD = 'token-wxusd', - MIA = 'token-wmia', - NYCC = 'token-wnycc', - CORGI = 'token-wcorgi', - ATALEXV2 = 'auto-alex-v2', - sUSDT = 'token-susdt', - VIBES = 'token-wvibes', - aBTC = 'token-abtc', - sLUNR = 'token-slunr', - LEO = "token-wleo", - MEGA = "token-wmega-v2", - GUS = "token-wgus", - LONG = "token-wlong", - WNOTHING = "token-wnthng", - LQSTX = "token-wlqstx", - AEWBTC = "token-waewbtc", - MAX = "token-wmax", - PLAY = "token-wplay", - AEUSDC = "token-waeusdc", - PEPE = "token-wpepe", - MICK = "token-wmick", - NOPE = "token-wnope", - FAST = "token-wfast", - FRODO = "token-wfrodo", - PICSUM = "token-wpicsum", - WIF = "token-wwif", - - BRC20_DB20 = "brc20-db20", - BRC20_ORMM = "brc20-ormm", - BRC20_CHAX = "brc20-chax", - BRC20_ORDG = "brc20-ordg", - BRC20_REOS = "brc20-reos", - BRC20_ORNJ = "brc20-ornj", - - STX20_STXS = "stx20-stxs", - - sSKO = "token-ssko", +export function createCurrency(value: string): Currency { + return value as Currency; } + +export const STXCurrency = createCurrency('SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2') \ No newline at end of file diff --git a/src/generated/smartContract/contract_amm-swap-pool-v1-1.ts b/src/generated/smartContract/contract_Alex_amm-pool-v2-01.ts similarity index 83% rename from src/generated/smartContract/contract_amm-swap-pool-v1-1.ts rename to src/generated/smartContract/contract_Alex_amm-pool-v2-01.ts index 5502cd0..f1b1cbc 100644 --- a/src/generated/smartContract/contract_amm-swap-pool-v1-1.ts +++ b/src/generated/smartContract/contract_Alex_amm-pool-v2-01.ts @@ -1,21 +1,22 @@ import { defineContract, -principalT, +traitT, uintT, optionalT, responseSimpleT, tupleT, +principalT, booleanT, noneT } from "../smartContractHelpers/codegenImport" -export const ammSwapPoolV11 = defineContract({ -"amm-swap-pool-v1-1": { +export const ammPoolV201 = defineContract({ +"amm-pool-v2-01": { 'add-to-position': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'dx', type: uintT }, { name: 'max-dy', type: optionalT(uintT, ) } @@ -25,14 +26,14 @@ export const ammSwapPoolV11 = defineContract({ }, 'create-pool': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'pool-owner', type: principalT }, { name: 'dx', type: uintT }, { name: 'dy', type: uintT } ], - output: responseSimpleT(booleanT, ), + output: responseSimpleT(tupleT({ dx: uintT, dy: uintT, supply: uintT }, ), ), mode: 'public' }, pause: { @@ -42,19 +43,14 @@ export const ammSwapPoolV11 = defineContract({ }, 'reduce-position': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'percent', type: uintT } ], output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), mode: 'public' }, - 'set-contract-owner': { - input: [ { name: 'owner', type: principalT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, 'set-end-block': { input: [ { name: 'token-x', type: principalT }, @@ -85,16 +81,6 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(booleanT, ), mode: 'public' }, - 'set-fee-rebate': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'fee-rebate', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, 'set-max-in-ratio': { input: [ { name: 'token-x', type: principalT }, @@ -135,16 +121,6 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(booleanT, ), mode: 'public' }, - 'set-pool-owner': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'pool-owner', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, 'set-start-block': { input: [ { name: 'token-x', type: principalT }, @@ -155,11 +131,6 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(booleanT, ), mode: 'public' }, - 'set-switch-threshold': { - input: [ { name: 'new-threshold', type: uintT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, 'set-threshold-x': { input: [ { name: 'token-x', type: principalT }, @@ -182,8 +153,8 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-helper': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'dx', type: uintT }, { name: 'min-dy', type: optionalT(uintT, ) } @@ -193,9 +164,9 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-helper-a': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, + { name: 'token-z-trait', type: traitT }, { name: 'factor-x', type: uintT }, { name: 'factor-y', type: uintT }, { name: 'dx', type: uintT }, @@ -206,10 +177,10 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-helper-b': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'token-w-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, + { name: 'token-z-trait', type: traitT }, + { name: 'token-w-trait', type: traitT }, { name: 'factor-x', type: uintT }, { name: 'factor-y', type: uintT }, { name: 'factor-z', type: uintT }, @@ -221,11 +192,11 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-helper-c': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'token-w-trait', type: principalT }, - { name: 'token-v-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, + { name: 'token-z-trait', type: traitT }, + { name: 'token-w-trait', type: traitT }, + { name: 'token-v-trait', type: traitT }, { name: 'factor-x', type: uintT }, { name: 'factor-y', type: uintT }, { name: 'factor-z', type: uintT }, @@ -238,8 +209,8 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-x-for-y': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'dx', type: uintT }, { name: 'min-dy', type: optionalT(uintT, ) } @@ -249,8 +220,8 @@ export const ammSwapPoolV11 = defineContract({ }, 'swap-y-for-x': { input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, + { name: 'token-x-trait', type: traitT }, + { name: 'token-y-trait', type: traitT }, { name: 'factor', type: uintT }, { name: 'dy', type: uintT }, { name: 'min-dx', type: optionalT(uintT, ) } @@ -324,11 +295,6 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(tupleT({ 'balance-x': uintT, 'balance-y': uintT }, ), ), mode: 'readonly' }, - 'get-contract-owner': { - input: [], - output: responseSimpleT(principalT, ), - mode: 'readonly' - }, 'get-end-block': { input: [ { name: 'token-x', type: principalT }, @@ -444,6 +410,7 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(uintT, ), mode: 'readonly' }, + 'get-max-ratio-limit': { input: [], output: uintT, mode: 'readonly' }, 'get-oracle-average': { input: [ { name: 'token-x', type: principalT }, @@ -676,39 +643,14 @@ export const ammSwapPoolV11 = defineContract({ output: responseSimpleT(uintT, ), mode: 'readonly' }, + 'is-blocklisted-or-default': { + input: [ { name: 'sender', type: principalT } ], + output: booleanT, + mode: 'readonly' + }, + 'is-dao-or-extension': { input: [], output: responseSimpleT(booleanT, ), mode: 'readonly' }, 'is-paused': { input: [], output: booleanT, mode: 'readonly' }, - 'pools-data-map': { - input: tupleT({ factor: uintT, 'token-x': principalT, 'token-y': principalT }, ), - output: optionalT(tupleT({ - 'balance-x': uintT, - 'balance-y': uintT, - 'end-block': uintT, - 'fee-rate-x': uintT, - 'fee-rate-y': uintT, - 'fee-rebate': uintT, - 'max-in-ratio': uintT, - 'max-out-ratio': uintT, - 'oracle-average': uintT, - 'oracle-enabled': booleanT, - 'oracle-resilient': uintT, - 'pool-id': uintT, - 'pool-owner': principalT, - 'start-block': uintT, - 'threshold-x': uintT, - 'threshold-y': uintT, - 'total-supply': uintT - }, ), ), - mode: 'mapEntry' - }, - 'pools-id-map': { - input: uintT, - output: optionalT(tupleT({ factor: uintT, 'token-x': principalT, 'token-y': principalT }, ), ), - mode: 'mapEntry' - }, - 'contract-owner': { input: noneT, output: principalT, mode: 'variable' }, - paused: { input: noneT, output: booleanT, mode: 'variable' }, - 'pool-nonce': { input: noneT, output: uintT, mode: 'variable' }, - 'switch-threshold': { input: noneT, output: uintT, mode: 'variable' } + paused: { input: noneT, output: booleanT, mode: 'variable' } } } as const) diff --git a/src/generated/smartContract/contract_amm-swap-pool.ts b/src/generated/smartContract/contract_amm-swap-pool.ts deleted file mode 100644 index 6910b8b..0000000 --- a/src/generated/smartContract/contract_amm-swap-pool.ts +++ /dev/null @@ -1,685 +0,0 @@ - -import { -defineContract, -principalT, -uintT, -optionalT, -responseSimpleT, -tupleT, -booleanT, -noneT -} from "../smartContractHelpers/codegenImport" - -export const ammSwapPool = defineContract({ -"amm-swap-pool": { - 'add-to-position': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'max-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT, supply: uintT }, ), ), - mode: 'public' - }, - 'create-pool': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'pool-owner', type: principalT }, - { name: 'dx', type: uintT }, - { name: 'dy', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - pause: { - input: [ { name: 'new-paused', type: booleanT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'reduce-position': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'percent', type: uintT } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), - mode: 'public' - }, - 'set-contract-owner': { - input: [ { name: 'owner', type: principalT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-end-block': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'new-end-block', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-fee-rate-x': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'fee-rate-x', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-fee-rate-y': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'fee-rate-y', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-fee-rebate': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'fee-rebate', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-max-in-ratio': { - input: [ { name: 'new-max-in-ratio', type: uintT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-max-out-ratio': { - input: [ { name: 'new-max-out-ratio', type: uintT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-oracle-average': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'new-oracle-average', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-oracle-enabled': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'enabled', type: booleanT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-pool-owner': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'pool-owner', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-start-block': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'new-start-block', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-switch-threshold': { - input: [ { name: 'new-threshold', type: uintT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-threshold-x': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'new-threshold', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-threshold-y': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'new-threshold', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'swap-helper': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-helper-a': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dz', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-helper-b': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'token-w-trait', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dw', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-helper-c': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'token-w-trait', type: principalT }, - { name: 'token-v-trait', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT }, - { name: 'factor-w', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dv', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-x-for-y': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), - mode: 'public' - }, - 'swap-y-for-x': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dy', type: uintT }, - { name: 'min-dx', type: optionalT(uintT, ) } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), - mode: 'public' - }, - 'check-pool-status': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'readonly' - }, - 'fee-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'fee-helper-a': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'fee-helper-b': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'token-w', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'fee-helper-c': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'token-w', type: principalT }, - { name: 'token-v', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT }, - { name: 'factor-w', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-balances': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(tupleT({ 'balance-x': uintT, 'balance-y': uintT }, ), ), - mode: 'readonly' - }, - 'get-contract-owner': { - input: [], - output: responseSimpleT(principalT, ), - mode: 'readonly' - }, - 'get-end-block': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-fee-rate-x': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-fee-rate-y': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-fee-rebate': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-a': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-b': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'token-w', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-c': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'token-w', type: principalT }, - { name: 'token-v', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'factor-y', type: uintT }, - { name: 'factor-z', type: uintT }, - { name: 'factor-w', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-invariant': { - input: [ - { name: 'balance-x', type: uintT }, - { name: 'balance-y', type: uintT }, - { name: 't', type: uintT } - ], - output: uintT, - mode: 'readonly' - }, - 'get-max-in-ratio': { input: [], output: uintT, mode: 'readonly' }, - 'get-max-out-ratio': { input: [], output: uintT, mode: 'readonly' }, - 'get-oracle-average': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-oracle-enabled': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(booleanT, ), - mode: 'readonly' - }, - 'get-oracle-instant': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-oracle-resilient': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-pool-details': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(tupleT({ - 'balance-x': uintT, - 'balance-y': uintT, - 'end-block': uintT, - 'fee-rate-x': uintT, - 'fee-rate-y': uintT, - 'fee-rebate': uintT, - 'oracle-average': uintT, - 'oracle-enabled': booleanT, - 'oracle-resilient': uintT, - 'pool-id': uintT, - 'pool-owner': principalT, - 'start-block': uintT, - 'threshold-x': uintT, - 'threshold-y': uintT, - 'total-supply': uintT - }, ), ), - mode: 'readonly' - }, - 'get-pool-details-by-id': { - input: [ { name: 'pool-id', type: uintT } ], - output: responseSimpleT(tupleT({ factor: uintT, 'token-x': principalT, 'token-y': principalT }, ), ), - mode: 'readonly' - }, - 'get-pool-exists': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: optionalT(tupleT({ - 'balance-x': uintT, - 'balance-y': uintT, - 'end-block': uintT, - 'fee-rate-x': uintT, - 'fee-rate-y': uintT, - 'fee-rebate': uintT, - 'oracle-average': uintT, - 'oracle-enabled': booleanT, - 'oracle-resilient': uintT, - 'pool-id': uintT, - 'pool-owner': principalT, - 'start-block': uintT, - 'threshold-x': uintT, - 'threshold-y': uintT, - 'total-supply': uintT - }, ), ), - mode: 'readonly' - }, - 'get-pool-owner': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(principalT, ), - mode: 'readonly' - }, - 'get-position-given-burn': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'token', type: uintT } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), - mode: 'readonly' - }, - 'get-position-given-mint': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'token', type: uintT } - ], - output: responseSimpleT(tupleT({ dx: uintT, dy: uintT }, ), ), - mode: 'readonly' - }, - 'get-price': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-start-block': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-switch-threshold': { input: [], output: uintT, mode: 'readonly' }, - 'get-threshold-x': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-threshold-y': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-token-given-position': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'max-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(tupleT({ dy: uintT, token: uintT }, ), ), - mode: 'readonly' - }, - 'get-x-given-price': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'price', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-x-given-y': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dy', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-x-in-given-y-out': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dy', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-y-given-price': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'price', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-y-given-x': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-y-in-given-x-out': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'factor', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'is-paused': { input: [], output: booleanT, mode: 'readonly' }, - 'pools-data-map': { - input: tupleT({ factor: uintT, 'token-x': principalT, 'token-y': principalT }, ), - output: optionalT(tupleT({ - 'balance-x': uintT, - 'balance-y': uintT, - 'end-block': uintT, - 'fee-rate-x': uintT, - 'fee-rate-y': uintT, - 'fee-rebate': uintT, - 'oracle-average': uintT, - 'oracle-enabled': booleanT, - 'oracle-resilient': uintT, - 'pool-id': uintT, - 'pool-owner': principalT, - 'start-block': uintT, - 'threshold-x': uintT, - 'threshold-y': uintT, - 'total-supply': uintT - }, ), ), - mode: 'mapEntry' - }, - 'pools-id-map': { - input: uintT, - output: optionalT(tupleT({ factor: uintT, 'token-x': principalT, 'token-y': principalT }, ), ), - mode: 'mapEntry' - }, - 'MAX-IN-RATIO': { input: noneT, output: uintT, mode: 'variable' }, - 'MAX-OUT-RATIO': { input: noneT, output: uintT, mode: 'variable' }, - 'contract-owner': { input: noneT, output: principalT, mode: 'variable' }, - paused: { input: noneT, output: booleanT, mode: 'variable' }, - 'pool-nonce': { input: noneT, output: uintT, mode: 'variable' }, - 'switch-threshold': { input: noneT, output: uintT, mode: 'variable' } -} -} as const) - - diff --git a/src/generated/smartContract/contract_swap-helper-bridged-v1-1.ts b/src/generated/smartContract/contract_swap-helper-bridged-v1-1.ts deleted file mode 100644 index 1c56a4b..0000000 --- a/src/generated/smartContract/contract_swap-helper-bridged-v1-1.ts +++ /dev/null @@ -1,142 +0,0 @@ - -import { -defineContract, -principalT, -uintT, -optionalT, -responseSimpleT, -listT -} from "../smartContractHelpers/codegenImport" - -export const swapHelperBridgedV11 = defineContract({ -"swap-helper-bridged-v1-1": { - 'swap-helper-from-amm': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dz', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-helper-to-amm': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dz', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'fee-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'fee-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'route-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - }, - 'route-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - } -} -} as const) - - diff --git a/src/generated/smartContract/contract_swap-helper-bridged.ts b/src/generated/smartContract/contract_swap-helper-bridged.ts deleted file mode 100644 index a021a39..0000000 --- a/src/generated/smartContract/contract_swap-helper-bridged.ts +++ /dev/null @@ -1,142 +0,0 @@ - -import { -defineContract, -principalT, -uintT, -optionalT, -responseSimpleT, -listT -} from "../smartContractHelpers/codegenImport" - -export const swapHelperBridged = defineContract({ -"swap-helper-bridged": { - 'swap-helper-from-amm': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dz', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'swap-helper-to-amm': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'token-z-trait', type: principalT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT }, - { name: 'min-dz', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'fee-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'fee-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'route-helper-from-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-x', type: uintT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - }, - 'route-helper-to-amm': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'token-z', type: principalT }, - { name: 'factor-y', type: uintT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - } -} -} as const) - - diff --git a/src/generated/smartContract/contract_swap-helper-v1-02.ts b/src/generated/smartContract/contract_swap-helper-v1-02.ts deleted file mode 100644 index 3053392..0000000 --- a/src/generated/smartContract/contract_swap-helper-v1-02.ts +++ /dev/null @@ -1,82 +0,0 @@ - -import { -defineContract, -principalT, -uintT, -optionalT, -responseSimpleT, -listT, -tupleT -} from "../smartContractHelpers/codegenImport" - -export const swapHelperV102 = defineContract({ -"swap-helper-v1-02": { - 'swap-helper': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'dx', type: uintT }, - { name: 'min-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'fee-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-given-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'dy', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'route-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - }, - 'fwp-oracle-resilient-map': { - input: tupleT({ 'token-x': principalT, 'token-y': principalT }, ), - output: optionalT(uintT, ), - mode: 'mapEntry' - } -} -} as const) - - diff --git a/src/generated/smartContract/contract_swap-helper-v1-03.ts b/src/generated/smartContract/contract_swap-helper-v1-03.ts deleted file mode 100644 index f8ad8a2..0000000 --- a/src/generated/smartContract/contract_swap-helper-v1-03.ts +++ /dev/null @@ -1,87 +0,0 @@ - -import { -defineContract, -principalT, -uintT, -optionalT, -responseSimpleT, -listT, -tupleT -} from "../smartContractHelpers/codegenImport" - -export const swapHelperV103 = defineContract({ -"swap-helper-v1-03": { - 'swap-helper': { - input: [ - { name: 'token-x-trait', type: principalT }, - { name: 'token-y-trait', type: principalT }, - { name: 'dx', type: uintT }, - { name: 'min-dy', type: optionalT(uintT, ) } - ], - output: responseSimpleT(uintT, ), - mode: 'public' - }, - 'fee-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-given-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'dy', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT }, - { name: 'dx', type: uintT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-instant-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'oracle-resilient-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'route-helper': { - input: [ - { name: 'token-x', type: principalT }, - { name: 'token-y', type: principalT } - ], - output: responseSimpleT(listT(principalT, ), ), - mode: 'readonly' - }, - 'fwp-oracle-resilient-map': { - input: tupleT({ 'token-x': principalT, 'token-y': principalT }, ), - output: optionalT(uintT, ), - mode: 'mapEntry' - }, - 'simple-oracle-resilient-map': { - input: tupleT({ 'token-x': principalT, 'token-y': principalT }, ), - output: optionalT(uintT, ), - mode: 'mapEntry' - } -} -} as const) - - diff --git a/src/generated/smartContract/contract_token-amm-swap-pool.ts b/src/generated/smartContract/contract_token-amm-swap-pool.ts deleted file mode 100644 index be0f93c..0000000 --- a/src/generated/smartContract/contract_token-amm-swap-pool.ts +++ /dev/null @@ -1,306 +0,0 @@ - -import { -defineContract, -principalT, -responseSimpleT, -booleanT, -uintT, -stringAsciiT, -optionalT, -stringT, -listT, -tupleT, -bufferT, -noneT -} from "../smartContractHelpers/codegenImport" - -export const tokenAmmSwapPool = defineContract({ -"token-amm-swap-pool": { - 'add-approved-contract': { - input: [ { name: 'new-approved-contract', type: principalT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - burn: { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'burn-fixed': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - mint: { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'recipient', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'mint-fixed': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'recipient', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-approved-contract': { - input: [ - { name: 'owner', type: principalT }, - { name: 'approved', type: booleanT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-contract-owner': { - input: [ { name: 'owner', type: principalT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-decimals': { - input: [ { name: 'new-decimals', type: uintT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-name': { - input: [ { name: 'new-name', type: stringAsciiT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-symbol': { - input: [ { name: 'new-symbol', type: stringAsciiT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-token-uri': { - input: [ { name: 'new-uri', type: optionalT(stringT, ) } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'set-transferrable': { - input: [ { name: 'new-transferrable', type: booleanT } ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - transfer: { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT }, - { name: 'recipient', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-fixed': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT }, - { name: 'recipient', type: principalT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-many': { - input: [ - { - name: 'transfers', - type: listT(tupleT({ - amount: uintT, - recipient: principalT, - sender: principalT, - 'token-id': uintT - }, ), ) - } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-many-fixed': { - input: [ - { - name: 'transfers', - type: listT(tupleT({ - amount: uintT, - recipient: principalT, - sender: principalT, - 'token-id': uintT - }, ), ) - } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-many-memo': { - input: [ - { - name: 'transfers', - type: listT(tupleT({ - amount: uintT, - memo: bufferT, - recipient: principalT, - sender: principalT, - 'token-id': uintT - }, ), ) - } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-many-memo-fixed': { - input: [ - { - name: 'transfers', - type: listT(tupleT({ - amount: uintT, - memo: bufferT, - recipient: principalT, - sender: principalT, - 'token-id': uintT - }, ), ) - } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-memo': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT }, - { name: 'recipient', type: principalT }, - { name: 'memo', type: bufferT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'transfer-memo-fixed': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'amount', type: uintT }, - { name: 'sender', type: principalT }, - { name: 'recipient', type: principalT }, - { name: 'memo', type: bufferT } - ], - output: responseSimpleT(booleanT, ), - mode: 'public' - }, - 'fixed-to-decimals': { - input: [ { name: 'amount', type: uintT } ], - output: uintT, - mode: 'readonly' - }, - 'get-balance': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'who', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-balance-fixed': { - input: [ - { name: 'token-id', type: uintT }, - { name: 'who', type: principalT } - ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-contract-owner': { - input: [], - output: responseSimpleT(principalT, ), - mode: 'readonly' - }, - 'get-decimals': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-name': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(stringAsciiT, ), - mode: 'readonly' - }, - 'get-overall-balance': { - input: [ { name: 'who', type: principalT } ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-overall-balance-fixed': { - input: [ { name: 'who', type: principalT } ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-overall-supply': { input: [], output: responseSimpleT(uintT, ), mode: 'readonly' }, - 'get-overall-supply-fixed': { input: [], output: responseSimpleT(uintT, ), mode: 'readonly' }, - 'get-symbol': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(stringAsciiT, ), - mode: 'readonly' - }, - 'get-token-balance-owned-in-fixed': { - input: [ { name: 'owner', type: principalT } ], - output: listT(tupleT({ balance: uintT, 'token-id': uintT }, ), ), - mode: 'readonly' - }, - 'get-token-owned': { - input: [ { name: 'owner', type: principalT } ], - output: listT(uintT, ), - mode: 'readonly' - }, - 'get-token-uri': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(optionalT(stringT, ), ), - mode: 'readonly' - }, - 'get-total-supply': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-total-supply-fixed': { - input: [ { name: 'token-id', type: uintT } ], - output: responseSimpleT(uintT, ), - mode: 'readonly' - }, - 'get-transferrable': { input: [], output: responseSimpleT(booleanT, ), mode: 'readonly' }, - 'approved-contracts': { - input: principalT, - output: optionalT(booleanT, ), - mode: 'mapEntry' - }, - 'token-balances': { - input: tupleT({ owner: principalT, 'token-id': uintT }, ), - output: optionalT(uintT, ), - mode: 'mapEntry' - }, - 'token-owned': { - input: principalT, - output: optionalT(listT(uintT, ), ), - mode: 'mapEntry' - }, - 'token-supplies': { input: uintT, output: optionalT(uintT, ), mode: 'mapEntry' }, - 'contract-owner': { input: noneT, output: principalT, mode: 'variable' }, - 'token-decimals': { input: noneT, output: uintT, mode: 'variable' }, - 'token-name': { input: noneT, output: stringAsciiT, mode: 'variable' }, - 'token-symbol': { input: noneT, output: stringAsciiT, mode: 'variable' }, - 'token-uri': { input: noneT, output: optionalT(stringT, ), mode: 'variable' }, - transferrable: { input: noneT, output: booleanT, mode: 'variable' } -} -} as const) - - diff --git a/src/generated/smartContract/contracts_Alex.ts b/src/generated/smartContract/contracts_Alex.ts index 6c875b7..e552a3e 100644 --- a/src/generated/smartContract/contracts_Alex.ts +++ b/src/generated/smartContract/contracts_Alex.ts @@ -1,20 +1,8 @@ import { defineContract } from "../smartContractHelpers/codegenImport"; -import { swapHelperV102 } from "./contract_swap-helper-v1-02" -import { swapHelperV103 } from "./contract_swap-helper-v1-03" -import { ammSwapPool } from "./contract_amm-swap-pool" -import { ammSwapPoolV11 } from "./contract_amm-swap-pool-v1-1" -import { tokenAmmSwapPool } from "./contract_token-amm-swap-pool" -import { swapHelperBridged } from "./contract_swap-helper-bridged" -import { swapHelperBridgedV11 } from "./contract_swap-helper-bridged-v1-1" +import { ammPoolV201 } from "./contract_Alex_amm-pool-v2-01" export const AlexContracts = defineContract({ -...swapHelperV102, -...swapHelperV103, -...ammSwapPool, -...ammSwapPoolV11, -...tokenAmmSwapPool, -...swapHelperBridged, -...swapHelperBridgedV11 +...ammPoolV201 }); \ No newline at end of file diff --git a/src/generated/smartContractHelpers/codegenImport.ts b/src/generated/smartContractHelpers/codegenImport.ts index a7f9442..498cca1 100644 --- a/src/generated/smartContractHelpers/codegenImport.ts +++ b/src/generated/smartContractHelpers/codegenImport.ts @@ -1,36 +1 @@ -import { - ClarityType, - contractPrincipalCV, - PrincipalCV, - standardPrincipalCV, -} from '@stacks/transactions'; -import { addressResult, contractResult, transcoders } from 'clarity-codegen'; -import type { Decoder } from 'clarity-codegen/lib/runtime/types'; -import { configs } from '../../config'; - export * from 'clarity-codegen'; - -export function principalCV(principal: string): PrincipalCV { - if (principal.includes('.')) { - const [address, contractName] = principal.split('.'); - return contractPrincipalCV(address!, contractName!); - } - if (principal.startsWith('SP') || principal.startsWith('ST')) { - return standardPrincipalCV(principal); - } - return contractPrincipalCV(configs.CONTRACT_DEPLOYER, principal); -} - -export const principleResult: Decoder = (result) => { - if (result.type === ClarityType.PrincipalStandard) { - return addressResult(result); - } else if (result.type === ClarityType.PrincipalContract) { - return contractResult(result).split('.')[1]; - } - throw new Error(`Expected principal, got ${result.type}`); -}; - -export const principalT = transcoders({ - encode: principalCV, - decode: principleResult, -}); diff --git a/src/helpers/FeeHelper.ts b/src/helpers/FeeHelper.ts index 168db02..215cc60 100644 --- a/src/helpers/FeeHelper.ts +++ b/src/helpers/FeeHelper.ts @@ -1,145 +1,58 @@ -import { AMMSwapPool } from '../utils/ammPool'; import { unwrapResponse } from 'clarity-codegen'; import { readonlyCall } from '../utils/readonlyCallExecutor'; import { Currency } from '../currency'; import { AlexSDK } from '../alexSDK'; +import { PoolData, TokenMapping } from '../types'; +import { resolveAmmRoute } from '../utils/ammRouteResolver'; export async function getLiquidityProviderFee( tokenX: Currency, tokenY: Currency, - ammPools: AMMSwapPool.PoolTokens[], - ammV1_1Pools: AMMSwapPool.PoolTokens[] + pools: PoolData[] ): Promise { - const ammV1_1Route = AMMSwapPool.getRoute(tokenX, tokenY, ammV1_1Pools); - if (ammV1_1Route.length === 1) { - return await readonlyCall('amm-swap-pool-v1-1', 'fee-helper', { - 'token-x': tokenX, - 'token-y': tokenY, - factor: AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - }).then(unwrapResponse); + const ammRoute = resolveAmmRoute(tokenX, tokenY, pools); + if (ammRoute.length === 0) { + throw new Error('No AMM pools in route'); } - if (ammV1_1Route.length === 2) { - return await readonlyCall('amm-swap-pool-v1-1', 'fee-helper-a', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - }).then(unwrapResponse); - } - if (ammV1_1Route.length === 3) { - return await readonlyCall('amm-swap-pool-v1-1', 'fee-helper-b', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'token-w': ammV1_1Route[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - }).then(unwrapResponse); - } - if (ammV1_1Route.length === 4) { - return await readonlyCall('amm-swap-pool-v1-1', 'fee-helper-c', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'token-w': ammV1_1Route[2]!.neighbour, - 'token-v': ammV1_1Route[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammV1_1Route[3]!.pool), - }).then(unwrapResponse); - } - - const ammRoute = AMMSwapPool.getRoute(tokenX, tokenY, ammPools); if (ammRoute.length === 1) { - return await readonlyCall('amm-swap-pool', 'fee-helper', { + return await readonlyCall('amm-pool-v2-01', 'fee-helper', { 'token-x': tokenX, 'token-y': tokenY, - factor: AMMSwapPool.getFactor(ammRoute[0]!.pool), + factor: ammRoute[0]!.pool.factor, }).then(unwrapResponse); } if (ammRoute.length === 2) { - return await readonlyCall('amm-swap-pool', 'fee-helper-a', { + return await readonlyCall('amm-pool-v2-01', 'fee-helper-a', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, }).then(unwrapResponse); } if (ammRoute.length === 3) { - return await readonlyCall('amm-swap-pool', 'fee-helper-b', { + return await readonlyCall('amm-pool-v2-01', 'fee-helper-b', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, 'token-w': ammRoute[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, }).then(unwrapResponse); } if (ammRoute.length === 4) { - return await readonlyCall('amm-swap-pool', 'fee-helper-c', { + return await readonlyCall('amm-pool-v2-01', 'fee-helper-c', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, 'token-w': ammRoute[2]!.neighbour, 'token-v': ammRoute[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammRoute[3]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, + 'factor-w': ammRoute[3]!.pool.factor, }).then(unwrapResponse); } - - const reachableInAmm1_1 = AMMSwapPool.reachableInAMM( - tokenX, - tokenY, - ammV1_1Pools - ); - if (reachableInAmm1_1.type === 'fromAmm') { - return await readonlyCall( - 'swap-helper-bridged-v1-1', - 'fee-helper-from-amm', - { - 'token-x': reachableInAmm1_1.tokenX, - 'token-y': reachableInAmm1_1.tokenY, - 'token-z': reachableInAmm1_1.tokenZ, - 'factor-x': reachableInAmm1_1.factorX, - } - ).then(unwrapResponse); - } - if (reachableInAmm1_1.type === 'toAmm') { - return await readonlyCall('swap-helper-bridged-v1-1', 'fee-helper-to-amm', { - 'token-x': reachableInAmm1_1.tokenX, - 'token-y': reachableInAmm1_1.tokenY, - 'token-z': reachableInAmm1_1.tokenZ, - 'factor-y': reachableInAmm1_1.factorY, - }).then(unwrapResponse); - } - - const reachableInAmm = AMMSwapPool.reachableInAMM(tokenX, tokenY, ammPools); - if (reachableInAmm.type === 'fromAmm') { - return await readonlyCall('swap-helper-bridged', 'fee-helper-from-amm', { - 'token-x': reachableInAmm.tokenX, - 'token-y': reachableInAmm.tokenY, - 'token-z': reachableInAmm.tokenZ, - 'factor-x': reachableInAmm.factorX, - }).then(unwrapResponse); - } - if (reachableInAmm.type === 'toAmm') { - return await readonlyCall('swap-helper-bridged', 'fee-helper-to-amm', { - 'token-x': reachableInAmm.tokenX, - 'token-y': reachableInAmm.tokenY, - 'token-z': reachableInAmm.tokenZ, - 'factor-y': reachableInAmm.factorY, - }).then(unwrapResponse); - } - - return await readonlyCall('swap-helper-v1-03', 'fee-helper', { - 'token-x': tokenX, - 'token-y': tokenY, - }).then(unwrapResponse); + throw new Error('Too many AMM pools in route'); } diff --git a/src/helpers/RateHelper.ts b/src/helpers/RateHelper.ts index 59e4421..7662515 100644 --- a/src/helpers/RateHelper.ts +++ b/src/helpers/RateHelper.ts @@ -1,155 +1,62 @@ -import { AMMSwapPool } from '../utils/ammPool'; import { unwrapResponse } from 'clarity-codegen'; import { readonlyCall } from '../utils/readonlyCallExecutor'; import { Currency } from '../currency'; -import { AlexSDK } from '../alexSDK'; +import { PoolData } from '../types'; +import { resolveAmmRoute } from '../utils/ammRouteResolver'; export const getYAmountFromXAmount = async ( tokenX: Currency, tokenY: Currency, fromAmount: bigint, - ammPools: AMMSwapPool.PoolTokens[], - ammV1_1Tokens: AMMSwapPool.Pool[] + ammPools: PoolData[] ): Promise => { - const ammV1_1Route = AMMSwapPool.getRoute(tokenX, tokenY, ammV1_1Tokens); - if (ammV1_1Route.length === 1) { - return await readonlyCall('amm-swap-pool-v1-1', 'get-helper', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - dx: fromAmount, - factor: AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - }).then(unwrapResponse); + const ammRoute = resolveAmmRoute(tokenX, tokenY, ammPools); + if (ammRoute.length === 0) { + throw new Error('No AMM pool found for the given route'); } - if (ammV1_1Route.length === 2) { - return await readonlyCall('amm-swap-pool-v1-1', 'get-helper-a', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - dx: fromAmount, - }).then(unwrapResponse); - } - if (ammV1_1Route.length === 3) { - return await readonlyCall('amm-swap-pool-v1-1', 'get-helper-b', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'token-w': ammV1_1Route[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - dx: fromAmount, - }).then(unwrapResponse); - } - if (ammV1_1Route.length === 4) { - return await readonlyCall('amm-swap-pool-v1-1', 'get-helper-c', { - 'token-x': tokenX, - 'token-y': ammV1_1Route[0]!.neighbour, - 'token-z': ammV1_1Route[1]!.neighbour, - 'token-w': ammV1_1Route[2]!.neighbour, - 'token-v': ammV1_1Route[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammV1_1Route[3]!.pool), - dx: fromAmount, - }).then(unwrapResponse); - } - const ammRoute = AMMSwapPool.getRoute(tokenX, tokenY, ammPools); if (ammRoute.length === 1) { - return await readonlyCall('amm-swap-pool', 'get-helper', { + return await readonlyCall('amm-pool-v2-01', 'get-helper', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, dx: fromAmount, - factor: AMMSwapPool.getFactor(ammRoute[0]!.pool), + factor: ammRoute[0]!.pool.factor, }).then(unwrapResponse); } if (ammRoute.length === 2) { - return await readonlyCall('amm-swap-pool', 'get-helper-a', { + return await readonlyCall('amm-pool-v2-01', 'get-helper-a', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, dx: fromAmount, }).then(unwrapResponse); } if (ammRoute.length === 3) { - return await readonlyCall('amm-swap-pool', 'get-helper-b', { + return await readonlyCall('amm-pool-v2-01', 'get-helper-b', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, 'token-w': ammRoute[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, dx: fromAmount, }).then(unwrapResponse); } if (ammRoute.length === 4) { - return await readonlyCall('amm-swap-pool', 'get-helper-c', { + return await readonlyCall('amm-pool-v2-01', 'get-helper-c', { 'token-x': tokenX, 'token-y': ammRoute[0]!.neighbour, 'token-z': ammRoute[1]!.neighbour, 'token-w': ammRoute[2]!.neighbour, 'token-v': ammRoute[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammRoute[3]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, + 'factor-w': ammRoute[3]!.pool.factor, dx: fromAmount, }).then(unwrapResponse); } - const reachableInAMMV1_1 = AMMSwapPool.reachableInAMM( - tokenX, - tokenY, - ammV1_1Tokens - ); - if (reachableInAMMV1_1.type === 'fromAmm') { - return await readonlyCall( - 'swap-helper-bridged-v1-1', - 'get-helper-from-amm', - { - dx: fromAmount, - 'token-x': reachableInAMMV1_1.tokenX, - 'token-y': reachableInAMMV1_1.tokenY, - 'token-z': reachableInAMMV1_1.tokenZ, - 'factor-x': reachableInAMMV1_1.factorX, - } - ).then(unwrapResponse); - } - if (reachableInAMMV1_1.type === 'toAmm') { - return await readonlyCall('swap-helper-bridged-v1-1', 'get-helper-to-amm', { - dx: fromAmount, - 'token-x': reachableInAMMV1_1.tokenX, - 'token-y': reachableInAMMV1_1.tokenY, - 'token-z': reachableInAMMV1_1.tokenZ, - 'factor-y': reachableInAMMV1_1.factorY, - }).then(unwrapResponse); - } - const reachableInAMM = AMMSwapPool.reachableInAMM(tokenX, tokenY, ammPools); - if (reachableInAMM.type === 'fromAmm') { - return await readonlyCall('swap-helper-bridged', 'get-helper-from-amm', { - dx: fromAmount, - 'token-x': reachableInAMM.tokenX, - 'token-y': reachableInAMM.tokenY, - 'token-z': reachableInAMM.tokenZ, - 'factor-x': reachableInAMM.factorX, - }).then(unwrapResponse); - } - if (reachableInAMM.type === 'toAmm') { - return await readonlyCall('swap-helper-bridged', 'get-helper-to-amm', { - dx: fromAmount, - 'token-x': reachableInAMM.tokenX, - 'token-y': reachableInAMM.tokenY, - 'token-z': reachableInAMM.tokenZ, - 'factor-y': reachableInAMM.factorY, - }).then(unwrapResponse); - } - return await readonlyCall('swap-helper-v1-03', 'get-helper', { - 'token-x': tokenX, - 'token-y': tokenY, - dx: fromAmount, - }).then(unwrapResponse); + throw new Error('Too many AMM pools in route'); }; diff --git a/src/helpers/RouteHelper.ts b/src/helpers/RouteHelper.ts index caff0de..5fccfe1 100644 --- a/src/helpers/RouteHelper.ts +++ b/src/helpers/RouteHelper.ts @@ -1,83 +1,15 @@ -import { AMMSwapPool } from '../utils/ammPool'; -import { unwrapResponse } from 'clarity-codegen'; -import { readonlyCall } from '../utils/readonlyCallExecutor'; import { Currency } from '../currency'; +import { PoolData } from '../types'; +import { resolveAmmRoute } from '../utils/ammRouteResolver'; export async function getRoute( from: Currency, to: Currency, - ammPools: AMMSwapPool.PoolTokens[], - ammV1_1Tokens: AMMSwapPool.Pool[] + pools: PoolData[] ): Promise { - const ammV1_1Route = AMMSwapPool.getRoute(from, to, ammV1_1Tokens); - if (ammV1_1Route.length > 0) { - return [from, ...ammV1_1Route.map((a) => a.neighbour)]; - } - const ammRoute = AMMSwapPool.getRoute(from, to, ammPools); + const ammRoute = resolveAmmRoute(from, to, pools); if (ammRoute.length > 0) { return [from, ...ammRoute.map((a) => a.neighbour)]; } - const reachableInAmmV1_1 = AMMSwapPool.reachableInAMM( - from, - to, - ammV1_1Tokens - ); - if (reachableInAmmV1_1.type === 'fromAmm') { - const result = await readonlyCall( - 'swap-helper-bridged-v1-1', - 'route-helper-from-amm', - { - 'token-x': reachableInAmmV1_1.tokenX, - 'token-y': reachableInAmmV1_1.tokenY, - 'token-z': reachableInAmmV1_1.tokenZ, - 'factor-x': reachableInAmmV1_1.factorX, - } - ).then(unwrapResponse); - return result.map((x) => x as Currency); - } - if (reachableInAmmV1_1.type === 'toAmm') { - const result = await readonlyCall( - 'swap-helper-bridged-v1-1', - 'route-helper-to-amm', - { - 'token-x': reachableInAmmV1_1.tokenX, - 'token-y': reachableInAmmV1_1.tokenY, - 'token-z': reachableInAmmV1_1.tokenZ, - 'factor-y': reachableInAmmV1_1.factorY, - } - ).then(unwrapResponse); - return result.map((x) => x as Currency); - } - const reachableInAmm = AMMSwapPool.reachableInAMM(from, to, ammPools); - if (reachableInAmm.type === 'fromAmm') { - const result = await readonlyCall( - 'swap-helper-bridged', - 'route-helper-from-amm', - { - 'token-x': reachableInAmm.tokenX, - 'token-y': reachableInAmm.tokenY, - 'token-z': reachableInAmm.tokenZ, - 'factor-x': reachableInAmm.factorX, - } - ).then(unwrapResponse); - return result.map((x) => x as Currency); - } - if (reachableInAmm.type === 'toAmm') { - const result = await readonlyCall( - 'swap-helper-bridged', - 'route-helper-to-amm', - { - 'token-x': reachableInAmm.tokenX, - 'token-y': reachableInAmm.tokenY, - 'token-z': reachableInAmm.tokenZ, - 'factor-y': reachableInAmm.factorY, - } - ).then(unwrapResponse); - return result.map((x) => x as Currency); - } - const result = await readonlyCall('swap-helper-v1-03', 'route-helper', { - 'token-x': from, - 'token-y': to, - }).then(unwrapResponse); - return result.map((x) => x as Currency); + throw new Error("Can't find route"); } diff --git a/src/helpers/SwapHelper.ts b/src/helpers/SwapHelper.ts index 2e1a393..d6abdeb 100644 --- a/src/helpers/SwapHelper.ts +++ b/src/helpers/SwapHelper.ts @@ -1,5 +1,3 @@ -import { AMMSwapPool } from '../utils/ammPool'; -import { transfer } from '../utils/postConditions'; import { ClarityValue, FungibleConditionCode, @@ -13,6 +11,9 @@ import { import { AlexContracts } from '../generated/smartContract/contracts_Alex'; import { configs } from '../config'; import { Currency } from '../currency'; +import { PoolData, TokenMapping } from '../types'; +import { resolveAmmRoute } from '../utils/ammRouteResolver'; +import { transferFactory } from '../utils/postConditions'; export type TxToBroadCast = { contractAddress: string; @@ -57,197 +58,23 @@ export function runSpot( currencyY: Currency, fromAmount: bigint, minDy: bigint, - router: Currency[], - ammPools: AMMSwapPool.PoolTokens[], - ammV1_1Pools: AMMSwapPool.PoolTokens[] + ammPools: PoolData[], + mappings: TokenMapping[] ): TxToBroadCast { - const middleSteps = router.slice(1, -1); - const AlexVault = `${configs.CONTRACT_DEPLOYER}.alex-vault`; - const AlexVaultV1_1 = `${configs.CONTRACT_DEPLOYER}.alex-vault-v1-1`; - const ammV1_1Route = AMMSwapPool.getRoute(currencyX, currencyY, ammV1_1Pools); - - if (ammV1_1Route.length === 1) { - return composeTx( - 'amm-swap-pool-v1-1', - 'swap-helper', - { - 'token-x-trait': currencyX, - 'token-y-trait': ammV1_1Route[0]!.neighbour, - factor: AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - dx: fromAmount, - 'min-dy': minDy, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); + const AlexVault = `${configs.CONTRACT_DEPLOYER}.amm-vault-v2-01`; + const ammRoute = resolveAmmRoute(currencyX, currencyY, ammPools); + if (ammRoute.length === 0) { + throw new Error("Can't find AMM route"); } - if (ammV1_1Route.length === 2) { - return composeTx( - 'amm-swap-pool-v1-1', - 'swap-helper-a', - { - 'token-x-trait': currencyX, - 'token-y-trait': ammV1_1Route[0]!.neighbour, - 'token-z-trait': ammV1_1Route[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - dx: fromAmount, - 'min-dz': minDy, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - transfer( - AlexVaultV1_1, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - if (ammV1_1Route.length === 3) { - return composeTx( - 'amm-swap-pool-v1-1', - 'swap-helper-b', - { - 'token-x-trait': currencyX, - 'token-y-trait': ammV1_1Route[0]!.neighbour, - 'token-z-trait': ammV1_1Route[1]!.neighbour, - 'token-w-trait': ammV1_1Route[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - dx: fromAmount, - 'min-dw': minDy, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - transfer( - AlexVaultV1_1, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - ammV1_1Route[1]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[1]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - if (ammV1_1Route.length === 4) { - return composeTx( - 'amm-swap-pool-v1-1', - 'swap-helper-c', - { - 'token-x-trait': currencyX, - 'token-y-trait': ammV1_1Route[0]!.neighbour, - 'token-z-trait': ammV1_1Route[1]!.neighbour, - 'token-w-trait': ammV1_1Route[2]!.neighbour, - 'token-v-trait': ammV1_1Route[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammV1_1Route[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammV1_1Route[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammV1_1Route[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammV1_1Route[3]!.pool), - dx: fromAmount, - 'min-dv': minDy, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - transfer( - AlexVaultV1_1, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[0]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - ammV1_1Route[1]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[1]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - ammV1_1Route[2]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - ammV1_1Route[2]!.neighbour, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - - const ammRoute = AMMSwapPool.getRoute(currencyX, currencyY, ammPools); + const transfer = transferFactory(mappings); if (ammRoute.length === 1) { return composeTx( - 'amm-swap-pool', + 'amm-pool-v2-01', 'swap-helper', { 'token-x-trait': currencyX, 'token-y-trait': ammRoute[0]!.neighbour, - factor: AMMSwapPool.getFactor(ammRoute[0]!.pool), + factor: ammRoute[0]!.pool.factor, dx: fromAmount, 'min-dy': minDy, }, @@ -264,14 +91,14 @@ export function runSpot( } if (ammRoute.length === 2) { return composeTx( - 'amm-swap-pool', + 'amm-pool-v2-01', 'swap-helper-a', { 'token-x-trait': currencyX, 'token-y-trait': ammRoute[0]!.neighbour, 'token-z-trait': ammRoute[1]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, dx: fromAmount, 'min-dz': minDy, }, @@ -300,16 +127,16 @@ export function runSpot( } if (ammRoute.length === 3) { return composeTx( - 'amm-swap-pool', + 'amm-pool-v2-01', 'swap-helper-b', { 'token-x-trait': currencyX, 'token-y-trait': ammRoute[0]!.neighbour, 'token-z-trait': ammRoute[1]!.neighbour, 'token-w-trait': ammRoute[2]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, dx: fromAmount, 'min-dw': minDy, }, @@ -350,7 +177,7 @@ export function runSpot( } if (ammRoute.length === 4) { return composeTx( - 'amm-swap-pool', + 'amm-pool-v2-01', 'swap-helper-c', { 'token-x-trait': currencyX, @@ -358,10 +185,10 @@ export function runSpot( 'token-z-trait': ammRoute[1]!.neighbour, 'token-w-trait': ammRoute[2]!.neighbour, 'token-v-trait': ammRoute[3]!.neighbour, - 'factor-x': AMMSwapPool.getFactor(ammRoute[0]!.pool), - 'factor-y': AMMSwapPool.getFactor(ammRoute[1]!.pool), - 'factor-z': AMMSwapPool.getFactor(ammRoute[2]!.pool), - 'factor-w': AMMSwapPool.getFactor(ammRoute[3]!.pool), + 'factor-x': ammRoute[0]!.pool.factor, + 'factor-y': ammRoute[1]!.pool.factor, + 'factor-z': ammRoute[2]!.pool.factor, + 'factor-w': ammRoute[3]!.pool.factor, dx: fromAmount, 'min-dv': minDy, }, @@ -412,192 +239,5 @@ export function runSpot( ] ); } - - const reachableInAMMV1_1 = AMMSwapPool.reachableInAMM( - currencyX, - currencyY, - ammPools - ); - if (reachableInAMMV1_1.type === 'fromAmm') { - return composeTx( - 'swap-helper-bridged-v1-1', - 'swap-helper-from-amm', - { - 'token-x-trait': reachableInAMMV1_1.tokenX, - 'token-y-trait': reachableInAMMV1_1.tokenY, - 'token-z-trait': reachableInAMMV1_1.tokenZ, - dx: fromAmount, - 'min-dz': minDy, - 'factor-x': reachableInAMMV1_1.factorX, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - ...middleSteps.flatMap((middle, index) => [ - transfer( - index === 0 ? AlexVaultV1_1 : AlexVault, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - ]), - transfer( - AlexVault, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - if (reachableInAMMV1_1.type === 'toAmm') { - return composeTx( - 'swap-helper-bridged-v1-1', - 'swap-helper-to-amm', - { - 'token-x-trait': reachableInAMMV1_1.tokenX, - 'token-y-trait': reachableInAMMV1_1.tokenY, - 'token-z-trait': reachableInAMMV1_1.tokenZ, - dx: fromAmount, - 'min-dz': minDy, - 'factor-y': reachableInAMMV1_1.factorY, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - ...middleSteps.flatMap((middle) => [ - transfer( - AlexVault, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - ]), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - - const reachableInAMM = AMMSwapPool.reachableInAMM( - currencyX, - currencyY, - ammPools - ); - if (reachableInAMM.type === 'fromAmm') { - return composeTx( - 'swap-helper-bridged', - 'swap-helper-from-amm', - { - 'token-x-trait': reachableInAMM.tokenX, - 'token-y-trait': reachableInAMM.tokenY, - 'token-z-trait': reachableInAMM.tokenZ, - dx: fromAmount, - 'min-dz': minDy, - 'factor-x': reachableInAMM.factorX, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - ...middleSteps.flatMap((middle, index) => [ - transfer( - index === 0 ? AlexVaultV1_1 : AlexVault, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - ]), - transfer( - AlexVault, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - if (reachableInAMM.type === 'toAmm') { - return composeTx( - 'swap-helper-bridged', - 'swap-helper-to-amm', - { - 'token-x-trait': reachableInAMM.tokenX, - 'token-y-trait': reachableInAMM.tokenY, - 'token-z-trait': reachableInAMM.tokenZ, - dx: fromAmount, - 'min-dz': minDy, - 'factor-y': reachableInAMM.factorY, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - ...middleSteps.flatMap((middle) => [ - transfer( - AlexVault, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - ]), - transfer( - AlexVaultV1_1, - currencyY, - minDy, - FungibleConditionCode.GreaterEqual - ), - ] - ); - } - return composeTx( - 'swap-helper-v1-03', - 'swap-helper', - { - 'token-x-trait': currencyX, - 'token-y-trait': currencyY, - dx: fromAmount, - 'min-dy': minDy, - }, - [ - transfer(stxAddress, currencyX, fromAmount), - ...middleSteps.flatMap((middle) => [ - transfer( - AlexVault, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - transfer( - stxAddress, - middle, - BigInt(0), - FungibleConditionCode.GreaterEqual - ), - ]), - transfer(AlexVault, currencyY, minDy, FungibleConditionCode.GreaterEqual), - ] - ); + throw new Error('Too many AMM pools in route'); } diff --git a/src/index.ts b/src/index.ts index 6f00f50..a1d3eb4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,2 @@ -export * from './currency'; +export {Currency, STXCurrency} from './currency'; export * from './alexSDK'; -export { TokenInfo } from './utils/tokenlist'; diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..e0f7db5 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,21 @@ +import { Currency } from './currency'; + +export type TokenMapping = { + token: Currency; + token_decimals: 8; + token_asset: string; + wrapped_token: string; + wrapped_token_decimals: number; + wrapped_token_asset: string; +}; + +export type PoolData = { + token_x: Currency; + token_y: Currency; + factor: bigint; +}; + +export type PriceData = { + token: Currency; + price: number +} \ No newline at end of file diff --git a/src/utils/ammPool.ts b/src/utils/ammPool.ts deleted file mode 100644 index bf55708..0000000 --- a/src/utils/ammPool.ts +++ /dev/null @@ -1,301 +0,0 @@ -import { AMMSwapRoute, resolveAmmRoute } from './ammRouteResolver'; -import { bridgeHelperResolver } from './bridgeHelperResolver'; -import { assertNever } from './utils'; -import { Currency } from '../currency'; - -export namespace AMMSwapPool { - export enum Pool { - // AMM_SWAP_POOL - AMM_SWAP_POOL_WXUSD_WUSDA = 'token-amm-swap-pool:token-wxusd,token-wusda,0.0001e8', - AMM_SWAP_POOL_WXUSD_WUSDA_2 = 'token-amm-swap-pool:token-wxusd,token-wusda,0.005e8', - // not yet available - // AMM_SWAP_POOL_WSTX_ALEX = 'token-amm-swap-pool:token-wstx,age000-governance-token,1e8', - // AMM_SWAP_POOL_WSTX_XBTC = 'token-amm-swap-pool:token-wstx,token-wbtc,1e8', - // AMM_SWAP_POOL_ALEX_WBAN = 'token-amm-swap-pool:age000-governance-token,token-wban,1e8', - // AMM_SWAP_POOL_ALEX_WUSDA = 'token-amm-swap-pool:age000-governance-token,token-wusda,1e8', - AMM_SWAP_POOL_ALEX_WDIKO = 'token-amm-swap-pool:age000-governance-token,token-wdiko,1e8', - AMM_SWAP_POOL_WSTX_WCORGI = 'token-amm-swap-pool:token-wstx,token-wcorgi,1e8', - AMM_SWAP_POOL_WSTX_SUSDT = 'token-amm-swap-pool:token-wstx,token-susdt,1e8', - - AMM_SWAP_POOL_V1_1_WSTX_XBTC = 'token-amm-swap-pool-v1-1:token-wstx,token-wbtc,1e8', - AMM_SWAP_POOL_V1_1_WSTX_SUSDT = 'token-amm-swap-pool-v1-1:token-wstx,token-susdt,1e8', - AMM_SWAP_POOL_V1_1_WSTX_ALEX = 'token-amm-swap-pool-v1-1:token-wstx,age000-governance-token,1e8', - AMM_SWAP_POOL_V1_1_ALEX_DIKO = 'token-amm-swap-pool-v1-1:age000-governance-token,token-wdiko,1e8', - AMM_SWAP_POOL_V1_1_ALEX_ATALEXV2 = 'token-amm-swap-pool-v1-1:age000-governance-token,auto-alex-v2,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WVIBES = 'token-amm-swap-pool-v1-1:token-wstx,token-wvibes,1e8', - AMM_SWAP_POOL_V1_1_ALEX_BRC20DB20 = 'token-amm-swap-pool-v1-1:age000-governance-token,brc20-db20,1e8', - AMM_SWAP_POOL_V1_1_SUSDT_XUSD = 'token-amm-swap-pool-v1-1:token-susdt,token-wxusd,0.05e8', - AMM_SWAP_POOL_V1_1_WSTX_LUNAR = 'token-amm-swap-pool-v1-1:token-wstx,token-slunr,1e8', - AMM_SWAP_POOL_V1_1_SUSDT_CHAX = 'token-amm-swap-pool-v1-1:token-susdt,brc20-chax,1e8', - AMM_SWAP_POOL_V1_1_WSTX_ABTC = 'token-amm-swap-pool-v1-1:token-wstx,token-abtc,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WLEO = 'token-amm-swap-pool-v1-1:token-wstx,token-wleo,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WMEGA = 'token-amm-swap-pool-v1-1:token-wstx,token-wmega-v2,1e8', - AMM_SWAP_POOL_V1_1_ABTC_BRC20ORDG = 'token-amm-swap-pool-v1-1:token-abtc,brc20-ordg,1e8', - AMM_SWAP_POOL_V1_1_ABTC_BRC20ORMM = 'token-amm-swap-pool-v1-1:token-abtc,brc20-ormm,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WGUS = 'token-amm-swap-pool-v1-1:token-wstx,token-wgues,1e8', - AMM_SWAP_POOL_V1_1_ABTC_BRC20ORNJ = 'token-amm-swap-pool-v1-1:token-abtc,brc20-ornj,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WLONG = 'token-amm-swap-pool-v1-1:token-wstx,token-wlong,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WWNOTHING = 'token-amm-swap-pool-v1-1:token-wstx,token-wnthng,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WAEWBTC = 'token-amm-swap-pool-v1-1:token-wstx,token-waewbtc,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WLQSTX = 'token-amm-swap-pool-v1-1:token-wstx,token-wlqstx,0.05e8', - AMM_SWAP_POOL_V1_1_WSTX_WMAX = 'token-amm-swap-pool-v1-1:token-wstx,token-wmax,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WPLAY = 'token-amm-swap-pool-v1-1:token-wstx,token-wplay,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WAEUSDC = 'token-amm-swap-pool-v1-1:token-wstx,token-waeusdc,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WPEPE = 'token-amm-swap-pool-v1-1:token-wstx,token-wpepe,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WMICK = 'token-amm-swap-pool-v1-1:token-wstx,token-wmick,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WNOPE = 'token-amm-swap-pool-v1-1:token-wstx,token-wnope,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WFAST = 'token-amm-swap-pool-v1-1:token-wstx,token-wfast,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WFRODO = 'token-amm-swap-pool-v1-1:token-wstx,token-wfrodo,1e8', - AMM_SWAP_POOL_V1_1_WSTX_WPICSUM = 'token-amm-swap-pool-v1-1:token-wstx,token-wpicsum,1e8', - AMM_SWAP_POOL_V1_1_ABTC_WBTC = 'token-amm-swap-pool-v1-1:token-abtc,token-wbtc,0.05e8', - AMM_SWAP_POOL_V1_1_WSTX_WWIF = 'token-amm-swap-pool-v1-1:token-wstx,token-wwif,1e8', - AMM_SWAP_POOL_V1_1_WSTX_STX20STXS = 'token-amm-swap-pool-v1-1:token-wstx,stx20-stxs,1e8', - AMM_SWAP_POOL_V1_1_ABTC_BRC20DB20 = 'token-amm-swap-pool-v1-1:token-abtc,brc20-db20,1e8', - AMM_SWAP_POOL_V1_1_ABTC_SSKO = 'token-amm-swap-pool-v1-1:token-abtc,token-ssko,1e8', - } - - export type SwapTokens = Currency; - - export const getRoute = ( - tokenX: Currency, - tokenY: Currency, - ammPools: PoolTokens[] - ): AMMSwapRoute[] => - resolveAmmRoute( - tokenX, - tokenY, - // AMM_SWAP_POOL_WXUSD_WUSDA is deprecated now, don't use it if we have AMM_SWAP_POOL_WXUSD_WUSDA_2 is available - ammPools.includes(Pool.AMM_SWAP_POOL_WXUSD_WUSDA_2) - ? ammPools.filter((a) => a !== Pool.AMM_SWAP_POOL_WXUSD_WUSDA) - : ammPools - ); - - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - export const reachableInAMM: typeof bridgeHelperResolver = (...args) => - bridgeHelperResolver(...args); - - export const ammTokens = [ - Pool.AMM_SWAP_POOL_WXUSD_WUSDA, - Pool.AMM_SWAP_POOL_WXUSD_WUSDA_2, - Pool.AMM_SWAP_POOL_ALEX_WDIKO, - Pool.AMM_SWAP_POOL_WSTX_WCORGI, - Pool.AMM_SWAP_POOL_WSTX_SUSDT, - ]; - - export const ammV1_1Tokens = [ - Pool.AMM_SWAP_POOL_V1_1_WSTX_SUSDT, - Pool.AMM_SWAP_POOL_V1_1_WSTX_XBTC, - Pool.AMM_SWAP_POOL_V1_1_WSTX_ALEX, - Pool.AMM_SWAP_POOL_V1_1_ALEX_DIKO, - Pool.AMM_SWAP_POOL_V1_1_ALEX_ATALEXV2, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WVIBES, - Pool.AMM_SWAP_POOL_V1_1_ALEX_BRC20DB20, - Pool.AMM_SWAP_POOL_V1_1_SUSDT_XUSD, - Pool.AMM_SWAP_POOL_V1_1_WSTX_LUNAR, - Pool.AMM_SWAP_POOL_V1_1_SUSDT_CHAX, - Pool.AMM_SWAP_POOL_V1_1_WSTX_ABTC, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WLEO, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WMEGA, - Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORDG, - Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORMM, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WGUS, - Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORNJ, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WLONG, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WWNOTHING, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEWBTC, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WLQSTX, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WPLAY, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WMAX, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEUSDC, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WPEPE, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WMICK, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WNOPE, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WFAST, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WFRODO, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WPICSUM, - Pool.AMM_SWAP_POOL_V1_1_ABTC_WBTC, - Pool.AMM_SWAP_POOL_V1_1_WSTX_WWIF, - Pool.AMM_SWAP_POOL_V1_1_WSTX_STX20STXS, - Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20DB20, - Pool.AMM_SWAP_POOL_V1_1_ABTC_SSKO, - ]; - - export type PoolTokens = Pool; - - export const isPoolV1Token = (token: string): token is PoolTokens => - ammTokens.includes(token as any); - - export const isPoolV1_1Token = (token: string): token is PoolTokens => - ammV1_1Tokens.includes(token as any); - - export const fromXY = ( - x: Currency, - y: Currency, - factor: number - ): PoolTokens => { - if (x === Currency.XUSD && y === Currency.USDA && factor === 0.0001e8) { - return Pool.AMM_SWAP_POOL_WXUSD_WUSDA; - } - throw new Error(`Invalid AMM token: ${x} ${y}`); - }; - - export function breakDown( - poolToken: AMMSwapPool.PoolTokens - ): [ - ( - | Currency.STX - | Currency.ALEX - | Currency.XUSD - | Currency.sUSDT - | Currency.aBTC - ), - AMMSwapPool.SwapTokens - ] { - switch (poolToken) { - case Pool.AMM_SWAP_POOL_WXUSD_WUSDA: - case Pool.AMM_SWAP_POOL_WXUSD_WUSDA_2: - return [Currency.XUSD, Currency.USDA]; - // case Pool.AMM_SWAP_POOL_WSTX_ALEX: - // return [Currency.STX, Currency.ALEX]; - // case Pool.AMM_SWAP_POOL_WSTX_XBTC: - // return [Currency.STX, Currency.XBTC]; - // case Pool.AMM_SWAP_POOL_ALEX_WBAN: - // return [Currency.ALEX, Currency.BANANA]; - // case Pool.AMM_SWAP_POOL_ALEX_WUSDA: - // return [Currency.ALEX, Currency.USDA]; - case Pool.AMM_SWAP_POOL_ALEX_WDIKO: - return [Currency.ALEX, Currency.DIKO]; - case Pool.AMM_SWAP_POOL_WSTX_WCORGI: - return [Currency.STX, Currency.CORGI]; - case Pool.AMM_SWAP_POOL_WSTX_SUSDT: - return [Currency.STX, Currency.sUSDT]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_XBTC: - return [Currency.STX, Currency.XBTC]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_ALEX: - return [Currency.STX, Currency.ALEX]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_SUSDT: - return [Currency.STX, Currency.sUSDT]; - case Pool.AMM_SWAP_POOL_V1_1_ALEX_DIKO: - return [Currency.ALEX, Currency.DIKO]; - case Pool.AMM_SWAP_POOL_V1_1_ALEX_ATALEXV2: - return [Currency.ALEX, Currency.ATALEXV2]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WVIBES: - return [Currency.STX, Currency.VIBES]; - case Pool.AMM_SWAP_POOL_V1_1_ALEX_BRC20DB20: - return [Currency.ALEX, Currency.BRC20_DB20]; - case Pool.AMM_SWAP_POOL_V1_1_SUSDT_XUSD: - return [Currency.sUSDT, Currency.XUSD]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_LUNAR: - return [Currency.STX, Currency.sLUNR]; - case Pool.AMM_SWAP_POOL_V1_1_SUSDT_CHAX: - return [Currency.sUSDT, Currency.BRC20_CHAX]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_ABTC: - return [Currency.STX, Currency.aBTC]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLEO: - return [Currency.STX, Currency.LEO]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMEGA: - return [Currency.STX, Currency.MEGA]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORDG: - return [Currency.aBTC, Currency.BRC20_ORDG]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORMM: - return [Currency.aBTC, Currency.BRC20_ORMM]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WGUS: - return [Currency.STX, Currency.GUS]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORNJ: - return [Currency.aBTC, Currency.BRC20_ORNJ]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLONG: - return [Currency.STX, Currency.LONG]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WWNOTHING: - return [Currency.STX, Currency.WNOTHING]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEWBTC: - return [Currency.STX, Currency.AEWBTC]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLQSTX: - return [Currency.STX, Currency.LQSTX]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPLAY: - return [Currency.STX, Currency.PLAY]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMAX: - return [Currency.STX, Currency.MAX]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEUSDC: - return [Currency.STX, Currency.AEUSDC]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPEPE: - return [Currency.STX, Currency.PEPE]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMICK: - return [Currency.STX, Currency.MICK]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WNOPE: - return [Currency.STX, Currency.NOPE]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WFAST: - return [Currency.STX, Currency.FAST]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WFRODO: - return [Currency.STX, Currency.FRODO]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPICSUM: - return [Currency.STX, Currency.PICSUM]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_WBTC: - return [Currency.aBTC, Currency.XBTC]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WWIF: - return [Currency.STX, Currency.WIF]; - case Pool.AMM_SWAP_POOL_V1_1_WSTX_STX20STXS: - return [Currency.STX, Currency.STX20_STXS]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20DB20: - return [Currency.aBTC, Currency.BRC20_DB20]; - case Pool.AMM_SWAP_POOL_V1_1_ABTC_SSKO: - return [Currency.aBTC, Currency.sSKO]; - default: - assertNever(poolToken); - } - } - - export function getFactor(poolToken: PoolTokens): bigint { - switch (poolToken) { - case Pool.AMM_SWAP_POOL_WXUSD_WUSDA: - return BigInt(0.0001e8); - case Pool.AMM_SWAP_POOL_WXUSD_WUSDA_2: - return BigInt(0.005e8); - // case Pool.AMM_SWAP_POOL_WSTX_ALEX: - // case Pool.AMM_SWAP_POOL_WSTX_XBTC: - // case Pool.AMM_SWAP_POOL_ALEX_WBAN: - // case Pool.AMM_SWAP_POOL_ALEX_WUSDA: - case Pool.AMM_SWAP_POOL_ALEX_WDIKO: - case Pool.AMM_SWAP_POOL_WSTX_WCORGI: - case Pool.AMM_SWAP_POOL_WSTX_SUSDT: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_XBTC: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_ALEX: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_SUSDT: - case Pool.AMM_SWAP_POOL_V1_1_ALEX_DIKO: - case Pool.AMM_SWAP_POOL_V1_1_ALEX_ATALEXV2: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WVIBES: - case Pool.AMM_SWAP_POOL_V1_1_ALEX_BRC20DB20: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_LUNAR: - case Pool.AMM_SWAP_POOL_V1_1_SUSDT_CHAX: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_ABTC: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLEO: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMEGA: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORDG: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORMM: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WGUS: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20ORNJ: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLONG: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WWNOTHING: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEWBTC: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPLAY: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMAX: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WAEUSDC: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPEPE: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WMICK: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WNOPE: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WFAST: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WFRODO: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WPICSUM: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WWIF: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_STX20STXS: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_BRC20DB20: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_SSKO: - return BigInt(1e8); - case Pool.AMM_SWAP_POOL_V1_1_SUSDT_XUSD: - case Pool.AMM_SWAP_POOL_V1_1_WSTX_WLQSTX: - case Pool.AMM_SWAP_POOL_V1_1_ABTC_WBTC: - return BigInt(0.05e8); - default: - assertNever(poolToken); - } - } -} diff --git a/src/utils/ammRouteResolver.ts b/src/utils/ammRouteResolver.ts index b3572af..ef425b3 100644 --- a/src/utils/ammRouteResolver.ts +++ b/src/utils/ammRouteResolver.ts @@ -1,41 +1,36 @@ import { isNotNull } from './utils'; -import { AMMSwapPool } from './ammPool'; +import { Currency } from '../currency'; +import { PoolData } from '../types'; export type AMMSwapRoute = { - neighbour: AMMSwapPool.SwapTokens; - pool: AMMSwapPool.PoolTokens; + neighbour: Currency; + pool: PoolData; }; -function neighbours( - token: AMMSwapPool.SwapTokens, - pools: AMMSwapPool.PoolTokens[] -): AMMSwapRoute[] { +function neighbours(token: Currency, pools: PoolData[]): AMMSwapRoute[] { return pools .map((pool) => { - const [x, y] = AMMSwapPool.breakDown(pool); - if (x === token) return { neighbour: y, pool }; - if (y === token) return { neighbour: x, pool }; + if (pool.token_x === token) return { neighbour: pool.token_y, pool }; + if (pool.token_y === token) return { neighbour: pool.token_x, pool }; return null; }) .filter(isNotNull); } export function resolveAmmRoute( - tokenX: AMMSwapPool.SwapTokens, - tokenY: AMMSwapPool.SwapTokens, - pools: AMMSwapPool.PoolTokens[] + tokenX: Currency, + tokenY: Currency, + pools: PoolData[] ): AMMSwapRoute[] { if (pools.length === 0) { return []; } - const visited: { [key in AMMSwapPool.SwapTokens]?: AMMSwapRoute[] } = { + const visited: { [key: string]: AMMSwapRoute[] } = { [tokenX]: [], }; // contract only support up to 4 segments for (let i = 0; i < 4; i++) { - const visitedNodes = Object.keys(visited).map( - (a) => a as AMMSwapPool.SwapTokens - ); + const visitedNodes = Object.keys(visited).map((a) => a as Currency); for (const a of visitedNodes) { for (const b of neighbours(a, pools)) { if (b.neighbour === tokenY) { diff --git a/src/utils/bridgeHelperResolver.ts b/src/utils/bridgeHelperResolver.ts deleted file mode 100644 index 52a211e..0000000 --- a/src/utils/bridgeHelperResolver.ts +++ /dev/null @@ -1,50 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -import { AMMSwapPool } from './ammPool'; -import { Currency } from '../currency'; - -export function bridgeHelperResolver( - from: Currency, - to: Currency, - ammPools: AMMSwapPool.PoolTokens[] -) { - const bridgingToken = [Currency.STX, Currency.ALEX]; - if (bridgingToken.includes(from) || bridgingToken.includes(to)) { - return { type: "none" as const } - } - if (bridgingToken.includes(from) || bridgingToken.includes(to)) { - return { type: "none" as const } - } - const fromPool = ammPools.find((a) => { - if (!AMMSwapPool.breakDown(a).includes(from)) return false; - const [x, y] = AMMSwapPool.breakDown(a); - return bridgingToken.includes(x === from ? y : x); - }); - if (fromPool) { - const [x, y] = AMMSwapPool.breakDown(fromPool); - return { - pool: fromPool, - type: 'fromAmm' as const, - tokenX: from, - tokenY: x === from ? y : x, - factorX: AMMSwapPool.getFactor(fromPool), - tokenZ: to, - }; - } - const toPool = ammPools.find((a) => { - if (!AMMSwapPool.breakDown(a).includes(to)) return false; - const [x, y] = AMMSwapPool.breakDown(a); - return bridgingToken.includes(x === to ? y : x); - }); - if (toPool) { - const [x, y] = AMMSwapPool.breakDown(toPool); - return { - pool: toPool, - type: 'toAmm' as const, - tokenX: from, - tokenY: x === to ? y : x, - factorY: AMMSwapPool.getFactor(toPool), - tokenZ: to, - }; - } - return { type: 'none' as const }; -} diff --git a/src/utils/currencyPrice.ts b/src/utils/currencyPrice.ts deleted file mode 100644 index 7d6c0ce..0000000 --- a/src/utils/currencyPrice.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Currency } from '../currency'; - -export async function fetchLatestPrices(): Promise< - Partial<{ - [currency in Currency]: number; - }> -> { - const res = await fetch('https://gql.alexlab.co/v1/graphql', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - query: ` - query FetchLatestPrices { - laplace_current_token_price { - avg_price_usd - token - } - } - `, - }), - }).then((a) => a.json()); - const result: Partial<{ [currency in Currency]: number }> = {}; - for (const value of Object.values(Currency)) { - const external = res.data.laplace_current_token_price.find( - (a: any) => a.token === value + '-external' && a.avg_price_usd != null - ); - if (external) { - result[value] = external.avg_price_usd!; - } else { - const nonExternal = res.data.laplace_current_token_price.find( - (a: any) => a.token === value && a.avg_price_usd != null - ); - if (nonExternal) { - result[value] = nonExternal.avg_price_usd!; - } - } - } - return result; -} diff --git a/src/utils/currencyUtils.ts b/src/utils/currencyUtils.ts deleted file mode 100644 index 1c48a85..0000000 --- a/src/utils/currencyUtils.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Currency } from '../currency'; -import { configs } from '../config'; -import type { AddressBalanceResponse } from '@stacks/stacks-blockchain-api-types'; - -export function getCurrencyNativeScale(currency: Currency) { - if (currency === Currency.STX) { - return 1e6; - } - return configs.NATIVE_TOKEN_MAPPING[currency].decimals; -} - -export function getCurrencyNativeAddress(currency: Currency) { - if (currency === Currency.STX) { - throw new Error('STX does not have an address'); - } - return configs.NATIVE_TOKEN_MAPPING[currency].assetIdentifier; -} - -export function findCurrencyByNativeAddress( - address: string -): Currency | undefined { - return Object.values(Currency) - .filter((a) => a !== Currency.STX) - .find( - (a) => - getCurrencyNativeAddress(a).split('::')[0] === address.split('::')[0] - ); -} - -export async function fetchBalanceForAccount( - stxAddress: string -): Promise<{ [currency in Currency]: bigint }> { - const response: AddressBalanceResponse = await fetch( - `${configs.API_HOST}/extended/v1/address/${stxAddress}/balances` - ).then((a) => a.json()); - const allCurrencies = Object.values(Currency); - const balances = allCurrencies.map((a) => { - if (a === Currency.STX) return BigInt(response.stx.balance) * BigInt(100); - const fungibleToken = - response.fungible_tokens[getCurrencyNativeAddress(a)]?.balance; - if (fungibleToken == null) { - return BigInt(0); - } - return ( - (BigInt(fungibleToken) * BigInt(1e8)) / BigInt(getCurrencyNativeScale(a)) - ); - }); - return Object.fromEntries( - allCurrencies.map((a, i) => [a, balances[i]]) - ) as any; -} diff --git a/src/utils/fetchData.ts b/src/utils/fetchData.ts new file mode 100644 index 0000000..5b5edd2 --- /dev/null +++ b/src/utils/fetchData.ts @@ -0,0 +1,83 @@ +import { PoolData, PriceData, TokenMapping } from '../types'; +import { createCurrency, Currency, STXCurrency } from '../currency'; +import type { AddressBalanceResponse } from '@stacks/stacks-blockchain-api-types'; +import { configs } from '../config'; +import { fromEntries, isNotNull } from './utils'; + +export async function getMappingData(): Promise { + return fetch(`${configs.API_HOST}/v2/public/token-mappings`) + .then((r) => { + if (r.ok) { + return r.json(); + } + throw new Error('Failed to fetch token mappings'); + }) + .then((r: any) => r.data); +} + +export async function getPoolData(): Promise { + return fetch(`${configs.API_HOST}/v2/public/pools`) + .then((r) => { + if (r.ok) { + return r.json(); + } + throw new Error('Failed to fetch token mappings'); + }) + .then((x: any) => + x.data.map( + (a: any): PoolData => ({ + factor: BigInt(Math.round(a.factor * 1e8)), + token_x: a.token_x, + token_y: a.token_y, + }) + ) + ); +} +export async function getPrices(mappings: TokenMapping[]): Promise { + return fetch(`${configs.API_HOST}/v2/public/token-prices`) + .then((r) => { + if (r.ok) { + return r.json(); + } + throw new Error('Failed to fetch token mappings'); + }) + .then((x: any) => + x.data.map( + (a: any): PriceData | null => { + const token = mappings.find(b => b.wrapped_token === a.contract_id)?.token; + if (token == null) { + return null + } + return ({ + token, + price: a.last_price_usd, + }); + } + ).filter(isNotNull) + ); +} + +export async function fetchBalanceForAccount( + stxAddress: string, + tokenMappings: TokenMapping[] +): Promise> { + const response: AddressBalanceResponse = await fetch( + `${configs.STACKS_API_HOST}/extended/v1/address/${stxAddress}/balances` + ).then((a) => a.json()); + return fromEntries( + tokenMappings.map((a) => { + if (a.token === STXCurrency) { + return [a.token, BigInt(response.stx.balance) * BigInt(100)]; + } + const fungibleToken = response.fungible_tokens[a.wrapped_token]?.balance; + if (fungibleToken == null) { + return [a.token, BigInt(0)]; + } + return [ + a.token, + (BigInt(fungibleToken) * BigInt(1e8)) / + BigInt(10 ** a.wrapped_token_decimals), + ]; + }) + ); +} diff --git a/src/utils/postConditions.ts b/src/utils/postConditions.ts index d2c8d78..ec49576 100644 --- a/src/utils/postConditions.ts +++ b/src/utils/postConditions.ts @@ -5,35 +5,31 @@ import { FungiblePostCondition, STXPostCondition, } from '@stacks/transactions'; -import { - getCurrencyNativeAddress, - getCurrencyNativeScale, -} from './currencyUtils'; -import { Currency } from '../currency'; +import { Currency, STXCurrency } from '../currency'; +import { TokenMapping } from '../types'; -export function transfer( - senderAddress: string, - currency: Currency, - amount: bigint, - compare: FungibleConditionCode = FungibleConditionCode.Equal -): FungiblePostCondition | STXPostCondition { - const scale = getCurrencyNativeScale(currency); - if (currency === Currency.LQSTX) { - // LQSTX is a rebase token, the ft-event number will not match - // The amount inputted. So we set the amount to 0, and the compare - // to GreaterEqual to ensure the condition passes. - amount = BigInt(0); - compare = FungibleConditionCode.GreaterEqual; - } - const nativeAmount = (amount * BigInt(scale)) / BigInt(1e8); - if (currency === Currency.STX) { - return createSTXPostCondition(senderAddress, compare, nativeAmount); - } - const assetIdentifier = getCurrencyNativeAddress(currency); - return createFungiblePostCondition( - senderAddress, - compare, - nativeAmount, - assetIdentifier - ); -} +export const transferFactory = + (tokenMapping: TokenMapping[]) => + ( + senderAddress: string, + currency: Currency, + amount: bigint, + compare: FungibleConditionCode = FungibleConditionCode.Equal + ): FungiblePostCondition | STXPostCondition => { + const mapping = tokenMapping.find((m) => m.token === currency); + if (!mapping) { + throw new Error('Token mapping not found'); + } + const scale = BigInt(10 ** mapping.wrapped_token_decimals); + const nativeAmount = (amount * BigInt(scale)) / BigInt(1e8); + if (currency === STXCurrency) { + return createSTXPostCondition(senderAddress, compare, nativeAmount); + } + const assetIdentifier = `${mapping.wrapped_token}::${mapping.wrapped_token_asset}`; + return createFungiblePostCondition( + senderAddress, + compare, + nativeAmount, + assetIdentifier + ); + }; diff --git a/src/utils/readonlyCallExecutor.ts b/src/utils/readonlyCallExecutor.ts index 91c74ae..c904ee7 100644 --- a/src/utils/readonlyCallExecutor.ts +++ b/src/utils/readonlyCallExecutor.ts @@ -1,10 +1,10 @@ import { callReadOnlyFunction, - ReadOnlyFunctionOptions, ClarityValue, + ReadOnlyFunctionOptions, } from '@stacks/transactions'; import { configs } from '../config'; -import { StacksMainnet, StacksTestnet } from '@stacks/network'; +import { StacksMainnet } from '@stacks/network'; import { ParameterObjOfDescriptor, ReadonlyFunctionDescriptor, @@ -25,13 +25,9 @@ const defaultReadonlyCallExecutor: ReadonlyCallExecutor = async (options) => { return callReadOnlyFunction({ ...options, senderAddress: configs.CONTRACT_DEPLOYER, - network: configs.IS_MAINNET - ? new StacksMainnet({ - url: configs.API_HOST, - }) - : new StacksTestnet({ - url: configs.API_HOST, - }), + network: new StacksMainnet({ + url: configs.READONLY_CALL_API_HOST, + }), }); }; diff --git a/src/utils/sponsoredTx.ts b/src/utils/sponsoredTx.ts deleted file mode 100644 index 925888b..0000000 --- a/src/utils/sponsoredTx.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { configs } from '../config'; - -export enum SponsoredTxErrorCode { - // The submitted tx payload is invalid - 'invalid_tx' = 'invalid_tx', - // The requested contract / function aren't whitelisted - 'operation_not_supported' = 'operation_not_supported', - // Current user already have a pending sponsored transaction - 'pending_operation_exists' = 'pending_operation_exists', - // The requested tx exceed the capacity of the pool - 'capacity_exceed' = 'capacity_exceed', - // Current user have pending operation, we require the submitted nonce to be immediate nonce - 'invalid_nonce' = 'invalid_nonce', - // Worker failed to broadcast the tx - 'broadcast_error' = 'broadcast_error', - 'unknown_error' = 'unknown_error', -} - -export class SponsoredTxError extends Error { - constructor(readonly code: SponsoredTxErrorCode, message: string) { - super(message); - } -} - -export async function broadcastSponsoredTx(tx: string): Promise { - const response = await fetch(configs.SPONSORED_TX_EXECUTOR, { - method: 'POST', - mode: 'cors', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - query: `mutation run($tx:String!) { - execute(tx:$tx) -}`, - variables: { - tx, - }, - }), - }); - if (!response.ok) { - throw new SponsoredTxError( - SponsoredTxErrorCode.unknown_error, - response.statusText - ); - } - const result = await response.json(); - if (result.data == null) { - const message = result.errors?.[0]?.message ?? 'Unknown Error'; - const errorCode = result.errors?.[0]?.extensions?.code; - const code = Object.values(SponsoredTxErrorCode).includes(errorCode) - ? errorCode - : SponsoredTxErrorCode.unknown_error; - throw new SponsoredTxError(code, message); - } - const { - data: { execute: txId }, - } = result; - return await retry(() => tryToFetchTxId(txId), 10); -} - -async function tryToFetchTxId(txId: string): Promise { - const response = await fetch(configs.SPONSORED_TX_EXECUTOR, { - method: 'POST', - mode: 'cors', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - query: `query checkStatus($txId: bytea!) { - user_operations(where:{tx_id:{_eq:$txId}}) { - sponsor_tx_id - error - } -}`, - variables: { - txId: hexAddressToHasuraAddress(txId), - }, - }), - }); - if (!response.ok) { - throw new SponsoredTxError( - SponsoredTxErrorCode.unknown_error, - response.statusText - ); - } - const { - data: { user_operations }, - } = await response.json(); - if (user_operations.length === 0) { - return null; - } - const operation = user_operations[0]; - if (operation.error) { - throw new SponsoredTxError( - SponsoredTxErrorCode.broadcast_error, - operation.error - ); - } else if (operation.sponsor_tx_id) { - return hasuraAddressToHex(operation.sponsor_tx_id); - } - return null; -} - -async function retry( - action: () => Promise, - count = 20 -): Promise { - for (let i = 0; i < count; i++) { - const result = await action(); - if (result === null) { - await new Promise((resolve) => setTimeout(resolve, 1000)); - continue; - } - return result; - } - throw new SponsoredTxError( - SponsoredTxErrorCode.broadcast_error, - 'Timeout waiting for broadcast' - ); -} - -function hexAddressToHasuraAddress(input: string): string { - return '\\x' + input; -} - -function hasuraAddressToHex(input: string): string { - return input.replace(/\\x/, '0x').toLowerCase(); -} - -export async function isSponsoredSwapEnabled(): Promise { - const response = await fetch(configs.SPONSORED_TX_EXECUTOR, { - method: 'POST', - mode: 'cors', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - query: `query { - isSwapServiceAvailable { - status - } -}`, - }), - }); - if (!response.ok) { - return false; - } - const result = await response.json(); - return result?.data.isSwapServiceAvailable.status === 'ok'; -} diff --git a/src/utils/tokenlist.ts b/src/utils/tokenlist.ts deleted file mode 100644 index eaa5537..0000000 --- a/src/utils/tokenlist.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Currency } from '../currency'; - -export type TokenInfo = { - type: 'fungibleToken'; - id: string; - name: string; - displayPrecision: number; - icon: string; - availableInSwap: boolean; - contractAddress: string; - decimals: number; -}; - -export function fetchTokenList(): Promise { - return fetch('https://token-list.alexlab.co', { - mode: 'cors', - }) - .then((res) => res.json()) - .then((data) => data.tokens); -} - -export async function fetchSwappableCurrency(): Promise { - const tokens = await fetchTokenList(); - return tokens.filter( - (x) => - x.availableInSwap && Object.values(Currency).includes(x.id as Currency) - ); -} diff --git a/src/utils/utils.ts b/src/utils/utils.ts index cd8256a..44e8bd3 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -5,3 +5,12 @@ export function isNotNull(input: T | undefined | null): input is T { export function assertNever(x: never): never { throw new Error('Unexpected object: ' + x); } + +export function fromEntries( + entries: [K, V][] +): Record { + return entries.reduce((acc, [key, value]) => { + acc[key] = value; + return acc; + }, {} as Record); +} diff --git a/test/alexSDK.test.ts b/test/alexSDK.test.ts index 0e0aa4f..5f8c0b8 100644 --- a/test/alexSDK.test.ts +++ b/test/alexSDK.test.ts @@ -1,37 +1,38 @@ import { configs } from '../src/config'; -import { Currency } from '../src/currency'; -import { AlexSDK } from '../src/alexSDK'; +import { AlexSDK, Currency, STXCurrency } from '../src'; -describe.skip('AlexSDK', () => { +const tokenAlex = 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex' as Currency; +const tokenDiko = 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wdiko' as Currency + +describe('AlexSDK', () => { it('Get fee', async () => { const sdk = new AlexSDK(); - const result = await sdk.getFeeRate(Currency.ALEX, Currency.STX); + const result = await sdk.getFeeRate(tokenAlex, STXCurrency); console.log(result); }); it('Get Route', async () => { const sdk = new AlexSDK(); - const result = await sdk.getRouter(Currency.STX, Currency.DIKO); + const result = await sdk.getRouter(STXCurrency, tokenDiko); console.log(result); }); it('Get Rate', async () => { const sdk = new AlexSDK(); const result = await sdk.getAmountTo( - Currency.STX, + STXCurrency, BigInt(2) * BigInt(1e8), - Currency.DIKO + tokenDiko ); console.log(result); }); it('Get Tx', async () => { const sdk = new AlexSDK(); - const router = await sdk.getRouter(Currency.STX, Currency.DIKO); + const router = await sdk.getRouter(STXCurrency, tokenDiko); const result = await sdk.runSwap( configs.CONTRACT_DEPLOYER, - Currency.STX, - Currency.DIKO, + STXCurrency, + tokenDiko, BigInt(2) * BigInt(1e8), BigInt(0), - router ); console.log(result); }); diff --git a/tsconfig.json b/tsconfig.json index b907de0..38bd8f8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,5 +31,6 @@ "forceConsistentCasingInFileNames": true, // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc` "noEmit": true, + "resolveJsonModule": true } }