diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index 7aab670..21904db 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -4,7 +4,7 @@ addReviewers: true # Set to true to add assignees to pull requests -addAssignees: 'author' +addAssignees: "author" # A list of reviewers to be added to pull requests (GitHub user name) reviewers: diff --git a/.github/workflows/ci.yaml b/.github/workflows/cicd.yaml similarity index 69% rename from .github/workflows/ci.yaml rename to .github/workflows/cicd.yaml index 9538cd1..f5c377a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/cicd.yaml @@ -1,4 +1,4 @@ -name: Check codebase +name: CI / CD on: push: @@ -26,12 +26,15 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 + scope: "@subtopia-algo" + cache: "npm" + cache-dependency-path: ./package-lock.json - name: Install dependencies - run: yarn install --frozen-lockfile + run: npm ci - name: Run build - run: yarn build + run: npm run build lint: name: Linting @@ -44,12 +47,15 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 + scope: "@subtopia-algo" + cache: "npm" + cache-dependency-path: ./package-lock.json - name: Install dependencies - run: yarn install --frozen-lockfile + run: npm ci - name: Lint - run: yarn lint:scripts + run: npm run lint:scripts unit-tests: name: Unit tests @@ -66,26 +72,33 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} + scope: "@subtopia-algo" + cache: "npm" + cache-dependency-path: ./package-lock.json - uses: docker-practice/actions-setup-docker@master if: runner.os == 'macOS' timeout-minutes: 12 - name: Install dependencies - run: yarn install --frozen-lockfile + run: npm ci - name: Run sandbox - run: yarn localnet:start + run: npm run localnet:start - name: Run tests - run: yarn test:integration + env: + TESTNET_SUBTOPIA_DISPENSER_MNEMONIC: ${{ secrets.TESTNET_SUBTOPIA_DISPENSER_MNEMONIC }} + TESTNET_SUBTOPIA_CREATOR_MNEMONIC: ${{ secrets.TESTNET_SUBTOPIA_CREATOR_MNEMONIC }} + TESTNET_SUBTOPIA_BOB_MNEMONIC: ${{ secrets.TESTNET_SUBTOPIA_BOB_MNEMONIC }} + run: npm run test:integration - name: "Upload coverage to Codecov" uses: codecov/codecov-action@v3 if: runner.os == 'Linux' && matrix.node == '18' with: - fail_ci_if_error: true - token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + token: ${{ secrets.CODECOV_TOKEN }} deploy-docs: if: github.ref == 'refs/heads/main' @@ -101,12 +114,15 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 + scope: "@subtopia-algo" + cache: "npm" + cache-dependency-path: ./package-lock.json - name: Install dependencies - run: yarn install --frozen-lockfile + run: npm ci - name: Build docs - run: yarn docs + run: npm run docs - name: Deploy 🚀 uses: JamesIves/github-pages-deploy-action@v4 @@ -132,15 +148,18 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 + scope: "@subtopia-algo" + cache: "npm" + cache-dependency-path: ./package-lock.json - name: Install dependencies - run: yarn install --frozen-lockfile + run: npm ci - name: Run build - run: yarn build + run: npm run build - name: Release env: GITHUB_TOKEN: ${{ secrets.CUSTOM_GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - run: yarn release + run: npm run release diff --git a/.gitignore b/.gitignore index e414511..5194e65 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ lerna-debug.log* # misc coverage docs + +.env diff --git a/CHANGELOG.md b/CHANGELOG.md index e6c1d88..ffccd4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,86 +1,73 @@ ## [2.0.1](https://github.com/subtopia-algo/subtopia-js/compare/v2.0.0...v2.0.1) (2023-05-14) - ### Bug Fixes -* bumping versions ([9cc49c2](https://github.com/subtopia-algo/subtopia-js/commit/9cc49c27680b2ac3efdc6db7d0b57d074acd1af5)) +- bumping versions ([9cc49c2](https://github.com/subtopia-algo/subtopia-js/commit/9cc49c27680b2ac3efdc6db7d0b57d074acd1af5)) # [2.0.0](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.8...v2.0.0) (2023-04-13) - -* Discounts (#11) ([9eeedb7](https://github.com/subtopia-algo/subtopia-js/commit/9eeedb72e7fa5eb49b2209ece88241408866a878)), closes [#11](https://github.com/subtopia-algo/subtopia-js/issues/11) - +- Discounts (#11) ([9eeedb7](https://github.com/subtopia-algo/subtopia-js/commit/9eeedb72e7fa5eb49b2209ece88241408866a878)), closes [#11](https://github.com/subtopia-algo/subtopia-js/issues/11) ### BREAKING CHANGES -* ExpirationType parameter. Discounts feature support +- duration parameter. Discounts feature support ## [1.0.8](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.7...v1.0.8) (2023-03-29) - ### Bug Fixes -* **deps:** update dependency beaker-ts to ^0.1.0 ([#6](https://github.com/subtopia-algo/subtopia-js/issues/6)) ([ce04287](https://github.com/subtopia-algo/subtopia-js/commit/ce04287d36d8df89fc18cce598042a5e1acf6d77)) +- **deps:** update dependency beaker-ts to ^0.1.0 ([#6](https://github.com/subtopia-algo/subtopia-js/issues/6)) ([ce04287](https://github.com/subtopia-algo/subtopia-js/commit/ce04287d36d8df89fc18cce598042a5e1acf6d77)) ## [1.0.7](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.6...v1.0.7) (2023-03-29) - ### Bug Fixes -* typo and pr test ([#5](https://github.com/subtopia-algo/subtopia-js/issues/5)) ([417db29](https://github.com/subtopia-algo/subtopia-js/commit/417db296852c6dfe972315b81fe95eed6534ac8f)) +- typo and pr test ([#5](https://github.com/subtopia-algo/subtopia-js/issues/5)) ([417db29](https://github.com/subtopia-algo/subtopia-js/commit/417db296852c6dfe972315b81fe95eed6534ac8f)) ## [1.0.6](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.5...v1.0.6) (2023-03-29) - ### Bug Fixes -* testing ci ([6f65550](https://github.com/subtopia-algo/subtopia-js/commit/6f6555071fb4f54694488d130fc72a3c7fb048d8)) -* testing ci ([221ee41](https://github.com/subtopia-algo/subtopia-js/commit/221ee416b154bf9b81213c02e3330166675200d7)) +- testing ci ([6f65550](https://github.com/subtopia-algo/subtopia-js/commit/6f6555071fb4f54694488d130fc72a3c7fb048d8)) +- testing ci ([221ee41](https://github.com/subtopia-algo/subtopia-js/commit/221ee416b154bf9b81213c02e3330166675200d7)) ## [1.0.5](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.4...v1.0.5) (2023-03-29) - ### Bug Fixes -* testing ci ([de9917a](https://github.com/subtopia-algo/subtopia-js/commit/de9917a636ce82cf6a0e1035cfe26657795c4a95)) +- testing ci ([de9917a](https://github.com/subtopia-algo/subtopia-js/commit/de9917a636ce82cf6a0e1035cfe26657795c4a95)) ## [1.0.4](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.3...v1.0.4) (2023-03-29) - ### Bug Fixes -* testing ci ([b712a05](https://github.com/subtopia-algo/subtopia-js/commit/b712a058794e5ceb175dcd78c29cdff9fb962bf8)) +- testing ci ([b712a05](https://github.com/subtopia-algo/subtopia-js/commit/b712a058794e5ceb175dcd78c29cdff9fb962bf8)) ## [1.0.3](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.2...v1.0.3) (2023-03-29) - ### Bug Fixes -* testing ci ([3fdd4d1](https://github.com/subtopia-algo/subtopia-js/commit/3fdd4d1dec846cbdbf3c54d04e9561e300eb2667)) +- testing ci ([3fdd4d1](https://github.com/subtopia-algo/subtopia-js/commit/3fdd4d1dec846cbdbf3c54d04e9561e300eb2667)) ## [1.0.2](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.1...v1.0.2) (2023-03-29) - ### Bug Fixes -* bumping version ([f88cc80](https://github.com/subtopia-algo/subtopia-js/commit/f88cc80b68a98fb436b3610255bb636158128912)) +- bumping version ([f88cc80](https://github.com/subtopia-algo/subtopia-js/commit/f88cc80b68a98fb436b3610255bb636158128912)) ## [1.0.1](https://github.com/subtopia-algo/subtopia-js/compare/v1.0.0...v1.0.1) (2023-03-29) - ### Bug Fixes -* bumping version ([b243405](https://github.com/subtopia-algo/subtopia-js/commit/b2434052ef6059f6ce5fbdfcddf4df020cff41a8)) +- bumping version ([b243405](https://github.com/subtopia-algo/subtopia-js/commit/b2434052ef6059f6ce5fbdfcddf4df020cff41a8)) # 1.0.0 (2023-03-29) - ### Bug Fixes -* bumping version ([aec5725](https://github.com/subtopia-algo/subtopia-js/commit/aec5725df34a1a60be02435488d0b8b21964fb9c)) -* bumping version ([540ac32](https://github.com/subtopia-algo/subtopia-js/commit/540ac32dd3d286dd452f6257b7025e8e16ed96b1)) - +- bumping version ([aec5725](https://github.com/subtopia-algo/subtopia-js/commit/aec5725df34a1a60be02435488d0b8b21964fb9c)) +- bumping version ([540ac32](https://github.com/subtopia-algo/subtopia-js/commit/540ac32dd3d286dd452f6257b7025e8e16ed96b1)) ### Features -* initial setup ([3cb3f4d](https://github.com/subtopia-algo/subtopia-js/commit/3cb3f4da47b04a8ced8f3eef86254a8bc7194850)) +- initial setup ([3cb3f4d](https://github.com/subtopia-algo/subtopia-js/commit/3cb3f4da47b04a8ced8f3eef86254a8bc7194850)) diff --git a/README.md b/README.md index 0dfdc06..8109660 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ Example snippets of using the Subtopia JS SDK. const response = await SubtopiaClient.subscribe( { subscriber: { address: {PUT_WALLET_ADDRESS}, signer: {PUT_WALLET_SIGNER} }, - smiID: { PUT_SMI_ID_HERE }, // number - the ID of the SMI instance you want to subscribe to - expirationType: { PUT_EXPIRATION_TYPE_HERE }, // pick duration from SubscriptionExpirationType enum. If there is a discount available for this duration, it will be auto applied. + smiID: { PUT_PRODUCT_ID_HERE }, // number - the ID of the SMI instance you want to subscribe to + duration: { PUT_EXPIRATION_TYPE_HERE }, // pick duration from DurationType enum. If there is a discount available for this duration, it will be auto applied. }, { client: {PUT_ALGOD_INSTANCE_HERE} // object of type algosdk.Algodv2 ); @@ -74,7 +74,7 @@ console.log(response.returnValue) // response is of type ABIResult const subscriberBox = await SubtopiaClient.getSubscriptionRecordForAccount( client, { PUT_SUBSCRIBER_ADDRESS }, - { PUT_SMI_ID_HERE } + { PUT_PRODUCT_ID_HERE } ); // SubscriptionRecord (throws Error if not subscribed) @@ -136,9 +136,9 @@ console.log(deleteResult.txID); const discount = await SubtopiaClient.createDiscount( { creator: { address: {PUT_WALLET_ADDRESS}, signer: {PUT_WALLET_SIGNER} }, - smiID: { PUT_SMI_ID_HERE }, // number - the ID of the SMI instance you want to subscribe to + smiID: { PUT_PRODUCT_ID_HERE }, // number - the ID of the SMI instance you want to subscribe to discount: { - expirationType: SubscriptionExpirationType // number - the type of expiration to apply. Also serves as static id for the discount. + duration: DurationType // number - the type of expiration to apply. Also serves as static id for the discount. discountType: {PUT_DISCOUNT_TYPE_HERE} // number - the type of discount to apply. FIXED or PERCENTAGE discountValue: {PUT_DISCOUNT_VALUE_HERE} // number - the discount to be deducted from the subscription price expiresIn: {PUT_EXPIRATION_TIME_HERE} // (Optional) Set 0 for discount to never expire. Else set number of seconds to append to unix timestamp at time of creation. @@ -160,7 +160,7 @@ console.log(discount.returnValue) // response is of type ABIResult const discount = await SubtopiaClient.getDiscountRecordForType( client, - { PUT_SMI_ID_HERE } + { PUT_PRODUCT_ID_HERE } { PUT_EXPIRATION_TYPE_HERE }, ); @@ -181,7 +181,7 @@ const deleteResult = await SubtopiaClient.deleteDiscount( signer: { PUT_SUBSCRIBER_SIGNER }, }, smiID: { PUT_INFRASTRUCTURE_ID }, - expirationType: { PUT_EXPIRATION_TYPE_HERE }, + duration: { PUT_EXPIRATION_TYPE_HERE }, }, { client: { PUT_ALGOD_CLIENT }, diff --git a/codecov.yml b/codecov.yml index ff0d659..a790089 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,2 +1,2 @@ ignore: - - "src/contracts/*" + - "src/contracts/*" diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ee37e20 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,12979 @@ +{ + "name": "subtopia-js", + "version": "2.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "subtopia-js", + "version": "2.0.1", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@algorandfoundation/algokit-utils": "^2.3.2", + "algosdk": "^2.5.0", + "beaker-ts": "^0.1.2" + }, + "devDependencies": { + "@feki.de/semantic-release-yarn": "1.0.1", + "@semantic-release/changelog": "6.0.3", + "@semantic-release/git": "10.0.1", + "@types/node": "^18.13.0", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", + "@typescript-eslint/eslint-plugin": "^5.46.0", + "@typescript-eslint/parser": "^5.46.0", + "@vitejs/plugin-react": "^4.0.0", + "@vitest/coverage-c8": "^0.31.0", + "commitizen": "4.3.0", + "cz-conventional-changelog": "3.3.0", + "dotenv": "^16.3.1", + "dts-bundle-generator": "^8.0.0", + "eslint": "^8.29.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.1", + "semantic-release": "21.0.3", + "stylelint": "^14.16.0", + "stylelint-config-recommended": "^9.0.0", + "stylelint-config-sass-guidelines": "^9.0.1", + "ts-node": "^10.9.1", + "tslib": "^2.4.1", + "typescript": "^4.9.4", + "vite": "^4.0.0", + "vitest": "^0.31.0" + } + }, + "node_modules/@algorandfoundation/algokit-utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@algorandfoundation/algokit-utils/-/algokit-utils-2.3.2.tgz", + "integrity": "sha512-+Q4b8OVXogjkthapH04k+AqY19hxklfXFTmvoaQdQbbo2rUk1AgSXBRq0ThVg7n7RhfSMMUh0ZIL5bpse7MSKA==", + "dependencies": { + "algosdk": "^2.3.0", + "buffer": "^6.0.3" + }, + "engines": { + "node": ">=16.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.4", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.21.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@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.22.4", + "@babel/types": "^7.22.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.22.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "17.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.4.tgz", + "integrity": "sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/types": "^17.4.4", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@commitlint/execute-rule": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", + "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load": { + "version": "17.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.5.0.tgz", + "integrity": "sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.4.4", + "@commitlint/execute-rule": "^17.4.0", + "@commitlint/resolve-extends": "^17.4.4", + "@commitlint/types": "^17.4.4", + "@types/node": "*", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4 || ^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load/node_modules/@types/node": { + "version": "20.2.5", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/@commitlint/load/node_modules/typescript": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "17.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz", + "integrity": "sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.4.4", + "@commitlint/types": "^17.4.4", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/types": { + "version": "17.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", + "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.42.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@feki.de/semantic-release-yarn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@feki.de/semantic-release-yarn/-/semantic-release-yarn-1.0.1.tgz", + "integrity": "sha512-7y6PSJfJAnKu35exuPO32Iiy9e+Nab577bk4y+kO8Led3Zl/UcjiZxaYZenXZjMZg6Ms9vhNEXvUWUA3D9f5Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "execa": "^5.0.0", + "fs-extra": "^10.0.0", + "lodash": "^4.17.15", + "nerf-dart": "^1.0.0", + "normalize-url": "^6.0.0", + "rc": "^1.2.8", + "read-pkg": "^5.0.0", + "registry-auth-token": "^4.0.0", + "semver": "^7.1.2", + "tempy": "^1.0.0" + }, + "engines": { + "node": ">=16 || ^14.17" + }, + "peerDependencies": { + "semantic-release": ">=19.0.0" + } + }, + "node_modules/@feki.de/semantic-release-yarn/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@feki.de/semantic-release-yarn/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@feki.de/semantic-release-yarn/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@feki.de/semantic-release-yarn/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@feki.de/semantic-release-yarn/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint": { + "version": "7.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "17.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "4.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^4.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "6.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/types": { + "version": "9.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^17.2.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@semantic-release/changelog": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", + "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "fs-extra": "^11.0.0", + "lodash": "^4.17.4" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" + } + }, + "node_modules/@semantic-release/commit-analyzer": { + "version": "10.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^5.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.2.3", + "debug": "^4.0.0", + "import-from": "^4.0.0", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@semantic-release/git": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", + "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "debug": "^4.0.0", + "dir-glob": "^3.0.0", + "execa": "^5.0.0", + "lodash": "^4.17.4", + "micromatch": "^4.0.0", + "p-reduce": "^2.0.0" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" + } + }, + "node_modules/@semantic-release/git/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@semantic-release/git/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@semantic-release/git/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/git/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@semantic-release/github": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-retry": "^4.1.3", + "@octokit/plugin-throttling": "^6.0.0", + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^4.0.1", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^13.1.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^6.0.0", + "lodash-es": "^4.17.21", + "mime": "^3.0.0", + "p-filter": "^3.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/github/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/globby": { + "version": "13.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz", + "integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm": { + "version": "10.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^4.0.1", + "execa": "^7.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^9.5.0", + "rc": "^1.2.8", + "read-pkg": "^8.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/parse-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.0.0.tgz", + "integrity": "sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/parse-json/node_modules/type-fest": { + "version": "3.11.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/read-pkg": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.0.0.tgz", + "integrity": "sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^5.0.0", + "parse-json": "^7.0.0", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/read-pkg/node_modules/type-fest": { + "version": "3.11.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@semantic-release/npm/node_modules/tempy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.0.0.tgz", + "integrity": "sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^3.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator": { + "version": "11.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^5.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.2.3", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from": "^4.0.0", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-pkg-up": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.0.tgz", + "integrity": "sha512-ql6FW5b8tgMYvI4UaoxG3EQN3VyZ6VeQpxNBGg5BZ4xD4u+HJeprzhMMA4OCBEGQgSR+m87pstWMpiVW64W8Fw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", + "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^2.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", + "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0", + "read-pkg": "^7.1.0", + "type-fest": "^2.5.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "18.16.16", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/type-utils": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.8", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.8", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.4", + "@babel/plugin-transform-react-jsx-self": "^7.21.0", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/@vitest/coverage-c8": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.31.4.tgz", + "integrity": "sha512-VPx368m4DTcpA/P0v3YdVxl4QOSh1DbUcXURLRvDShrIB5KxOgfzw4Bn2R8AhAe/GyiWW/FIsJ/OJdYXCCiC1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "c8": "^7.13.0", + "magic-string": "^0.30.0", + "picocolors": "^1.0.0", + "std-env": "^3.3.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": ">=0.30.0 <1" + } + }, + "node_modules/@vitest/expect": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.31.4.tgz", + "integrity": "sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "0.31.4", + "@vitest/utils": "0.31.4", + "chai": "^4.3.7" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.31.4.tgz", + "integrity": "sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "0.31.4", + "concordance": "^5.0.4", + "p-limit": "^4.0.0", + "pathe": "^1.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.31.4.tgz", + "integrity": "sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.0", + "pathe": "^1.1.0", + "pretty-format": "^27.5.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.31.4.tgz", + "integrity": "sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.31.4.tgz", + "integrity": "sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "concordance": "^5.0.4", + "loupe": "^2.3.6", + "pretty-format": "^27.5.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/algo-msgpack-with-bigint": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz", + "integrity": "sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==", + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/algosdk": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/algosdk/-/algosdk-2.5.0.tgz", + "integrity": "sha512-MlbPjjx4utq5sETOE0okF7/Lz0fgoBtRJRvSbRu3GnoybLTq/n6To2ojDAjJMqi+qMDyUBE9fWu+8jdSvozavA==", + "dependencies": { + "algo-msgpack-with-bigint": "^2.1.1", + "buffer": "^6.0.3", + "cross-fetch": "^4.0.0", + "hi-base32": "^0.5.1", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "js-sha512": "^0.8.0", + "json-bigint": "^1.0.0", + "tweetnacl": "^1.0.3", + "vlq": "^2.0.4" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/argv-formatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", + "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/beaker-ts": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/beaker-ts/-/beaker-ts-0.1.2.tgz", + "integrity": "sha512-PWjLRdZTsVeClgqwa5HD61UnvRTlJx2mx5Y53Ln4821LN5oJ/nrbhhDEfqOysOmA2+bVQT/B43c8XGjtbMKuOQ==", + "license": "MIT", + "dependencies": { + "commander": "^9.4.0", + "typescript": "^4.7.4" + }, + "bin": { + "beaker": "dist/esm/beaker.js" + }, + "peerDependencies": { + "algosdk": "^2.2.0" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bl/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/blueimp-md5": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", + "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.7", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/c8": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.14.0.tgz", + "integrity": "sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^2.0.0", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.1.4", + "rimraf": "^3.0.2", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.0.0", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9" + }, + "bin": { + "c8": "bin/c8.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/c8/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/c8/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/c8/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001492", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/commitizen": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", + "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/commitizen/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/commitizen/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/commitizen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/commitizen/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/commitizen/node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concordance": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", + "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "date-time": "^3.1.0", + "esutils": "^2.0.3", + "fast-diff": "^1.2.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.15", + "md5-hex": "^3.0.1", + "semver": "^7.3.2", + "well-known-symbols": "^2.0.0" + }, + "engines": { + "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/conventional-changelog-writer/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-changelog-writer/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/conventional-changelog-writer/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/conventional-commits-parser/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "3.2.2", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-commits-parser/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/conventional-commits-parser/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-functions-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cz-conventional-changelog/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/date-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", + "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "time-zone": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dateformat": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/dts-bundle-generator": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-8.0.1.tgz", + "integrity": "sha512-9JVw78/OXdKfq+RUrmpLm6WAUJp+aOUGEHimVqIlOEH2VugRt1I8CVIoQZlirWZko+/SVZkNgpWCyZubUuzzPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "typescript": ">=5.0.2", + "yargs": "^17.6.0" + }, + "bin": { + "dts-bundle-generator": "dist/bin/dts-bundle-generator.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/dts-bundle-generator/node_modules/typescript": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.419", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/env-ci": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^7.0.0", + "java-properties": "^1.0.2" + }, + "engines": { + "node": "^16.14 || >=18" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.42.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-versions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", + "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver-regex": "^4.0.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-log-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", + "integrity": "sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "~0.6.6" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true, + "license": "MIT" + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hi-base32": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", + "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==", + "license": "MIT" + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hook-std": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", + "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/into-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", + "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/issue-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", + "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/java-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", + "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "license": "MIT" + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "license": "MIT" + }, + "node_modules/js-sha512": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.8.0.tgz", + "integrity": "sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==", + "license": "MIT" + }, + "node_modules/js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz", + "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/marked-terminal": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz", + "integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^6.2.0", + "cardinal": "^2.1.1", + "chalk": "^5.2.0", + "cli-table3": "^0.6.3", + "node-emoji": "^1.11.0", + "supports-hyperlinks": "^2.3.0" + }, + "engines": { + "node": ">=14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/marked-terminal/node_modules/ansi-escapes": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/marked-terminal/node_modules/chalk": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/marked-terminal/node_modules/type-fest": { + "version": "3.11.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/md5-hex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", + "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", + "dev": true, + "license": "MIT", + "dependencies": { + "blueimp-md5": "^2.10.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mlly": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.8.2", + "pathe": "^1.1.0", + "pkg-types": "^1.0.3", + "ufo": "^1.1.2" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nerf-dart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", + "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm": { + "version": "9.6.7", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dev": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-registry", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^6.2.9", + "@npmcli/config": "^6.1.7", + "@npmcli/map-workspaces": "^3.0.4", + "@npmcli/package-json": "^3.1.0", + "@npmcli/run-script": "^6.0.2", + "abbrev": "^2.0.0", + "archy": "~1.0.0", + "cacache": "^17.1.2", + "chalk": "^4.1.2", + "ci-info": "^3.8.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.3", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.2", + "glob": "^10.2.4", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^6.1.1", + "ini": "^4.1.0", + "init-package-json": "^5.0.0", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^3.0.0", + "libnpmaccess": "^7.0.2", + "libnpmdiff": "^5.0.17", + "libnpmexec": "^5.0.17", + "libnpmfund": "^4.0.17", + "libnpmhook": "^9.0.3", + "libnpmorg": "^5.0.4", + "libnpmpack": "^5.0.17", + "libnpmpublish": "^7.2.0", + "libnpmsearch": "^6.0.2", + "libnpmteam": "^5.0.3", + "libnpmversion": "^4.0.2", + "make-fetch-happen": "^11.1.1", + "minimatch": "^9.0.0", + "minipass": "^5.0.0", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^9.3.1", + "nopt": "^7.1.0", + "npm-audit-report": "^4.0.0", + "npm-install-checks": "^6.1.1", + "npm-package-arg": "^10.1.0", + "npm-pick-manifest": "^8.0.1", + "npm-profile": "^7.0.1", + "npm-registry-fetch": "^14.0.5", + "npm-user-validate": "^2.0.0", + "npmlog": "^7.0.1", + "p-map": "^4.0.0", + "pacote": "^15.1.3", + "parse-conflict-json": "^3.0.1", + "proc-log": "^3.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^2.1.0", + "read-package-json": "^6.0.3", + "read-package-json-fast": "^3.0.2", + "semver": "^7.5.1", + "ssri": "^10.0.4", + "tar": "^6.1.14", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^5.0.0", + "which": "^3.0.1", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "6.2.9", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^5.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/query": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "bin-links": "^4.0.1", + "cacache": "^17.0.4", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^6.1.1", + "json-parse-even-better-errors": "^3.0.0", + "json-stringify-nice": "^1.1.4", + "minimatch": "^9.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.1.0", + "npm-pick-manifest": "^8.0.1", + "npm-registry-fetch": "^14.0.3", + "npmlog": "^7.0.1", + "pacote": "^15.0.8", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.2", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.1", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "6.1.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^3.0.2", + "ini": "^4.1.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^17.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^15.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@tufjs/models": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abort-controller": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^4.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/buffer": { + "version": "6.0.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "17.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ci-info": { + "version": "3.8.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/event-target-shim": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/events": { + "version": "3.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^4.0.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "10.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.0", + "minipass": "^5.0.0 || ^6.0.0", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "6.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "6.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^10.0.0", + "promzard": "^1.0.0", + "read": "^2.0.0", + "read-package-json": "^6.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^10.1.0", + "npm-registry-fetch": "^14.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "5.0.17", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^6.2.9", + "@npmcli/disparity-colors": "^3.0.0", + "@npmcli/installed-package-contents": "^2.0.2", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^9.0.0", + "npm-package-arg": "^10.1.0", + "pacote": "^15.0.8", + "tar": "^6.1.13" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "5.0.17", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^6.2.9", + "@npmcli/run-script": "^6.0.0", + "chalk": "^4.1.0", + "ci-info": "^3.7.1", + "npm-package-arg": "^10.1.0", + "npmlog": "^7.0.1", + "pacote": "^15.0.8", + "proc-log": "^3.0.0", + "read": "^2.0.0", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "4.0.17", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^6.2.9" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "9.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^14.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "5.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^14.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "5.0.17", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^6.2.9", + "@npmcli/run-script": "^6.0.0", + "npm-package-arg": "^10.1.0", + "pacote": "^15.0.8" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "7.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^3.6.1", + "normalize-package-data": "^5.0.0", + "npm-package-arg": "^10.1.0", + "npm-registry-fetch": "^14.0.3", + "proc-log": "^3.0.0", + "semver": "^7.3.7", + "sigstore": "^1.4.0", + "ssri": "^10.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^14.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "5.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^14.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^4.0.1", + "@npmcli/run-script": "^6.0.0", + "json-parse-even-better-errors": "^3.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "11.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "9.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { + "version": "16.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "10.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { + "version": "9.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "6.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "10.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "7.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "14.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npmlog": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "15.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/path-scurry": { + "version": "1.9.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/path-scurry/node_modules/lru-cache": { + "version": "9.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/process": { + "version": "0.11.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "6.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "4.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.5.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.1.3" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.7.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.13", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "10.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.14", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", + "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", + "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-map": "^5.1.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter/node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter/node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter/node_modules/p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-is-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", + "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-reduce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz", + "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.19" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", + "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.3.9" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rollup": { + "version": "3.23.0", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/semantic-release": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.0.3.tgz", + "integrity": "sha512-DS/0P1DrL8cKpkhN7JCzhkbOge9sURSRqUlmEAjeXTzK0lOSWhp+oJJcji0bLFEIyu3DuYEeQrWCdJNwRHrFdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/commit-analyzer": "^10.0.0", + "@semantic-release/error": "^3.0.0", + "@semantic-release/github": "^9.0.0", + "@semantic-release/npm": "^10.0.2", + "@semantic-release/release-notes-generator": "^11.0.0", + "aggregate-error": "^4.0.1", + "cosmiconfig": "^8.0.0", + "debug": "^4.0.0", + "env-ci": "^9.0.0", + "execa": "^7.0.0", + "figures": "^5.0.0", + "find-versions": "^5.1.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^3.0.0", + "hosted-git-info": "^6.0.0", + "lodash-es": "^4.17.21", + "marked": "^4.1.0", + "marked-terminal": "^5.1.1", + "micromatch": "^4.0.2", + "p-each-series": "^3.0.0", + "p-reduce": "^3.0.0", + "read-pkg-up": "^9.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^4.0.0", + "signale": "^1.2.1", + "yargs": "^17.5.1" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/semantic-release/node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semantic-release/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semantic-release/node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semantic-release/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/p-reduce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/semantic-release/node_modules/read-pkg": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", + "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^2.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/read-pkg-up": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", + "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0", + "read-pkg": "^7.1.0", + "type-fest": "^2.5.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/signale/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-error-forwarder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", + "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", + "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", + "dev": true, + "license": "ISC", + "dependencies": { + "through2": "~2.0.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", + "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.8.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true, + "license": "ISC" + }, + "node_modules/stylelint": { + "version": "14.16.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz", + "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^7.1.0", + "css-functions-list": "^3.1.0", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.2.0", + "ignore": "^5.2.1", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.26.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.19", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^2.3.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^4.0.2" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz", + "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "stylelint": "^14.10.0" + } + }, + "node_modules/stylelint-config-sass-guidelines": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-9.0.1.tgz", + "integrity": "sha512-N06PsVsrgKijQ3YT5hqKA7x3NUkgELTRI1cbWMqcYiCGG6MjzvNk6Cb5YYA1PrvrksBV76BvY9P9bAswojVMqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-scss": "^4.0.2", + "stylelint-order": "^5.0.0", + "stylelint-scss": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^14.0.1" + } + }, + "node_modules/stylelint-order": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz", + "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^8.3.11", + "postcss-sorting": "^7.0.1" + }, + "peerDependencies": { + "stylelint": "^14.0.0" + } + }, + "node_modules/stylelint-scss": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz", + "integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "stylelint": "^14.5.1 || ^15.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tinybench": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", + "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz", + "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", + "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "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 + } + } + }, + "node_modules/tslib": { + "version": "2.5.3", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "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" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", + "license": "Unlicense" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ufo": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz", + "integrity": "sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.31.4.tgz", + "integrity": "sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.2.0", + "pathe": "^1.1.0", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.31.4.tgz", + "integrity": "sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.31.4", + "@vitest/runner": "0.31.4", + "@vitest/snapshot": "0.31.4", + "@vitest/spy": "0.31.4", + "@vitest/utils": "0.31.4", + "acorn": "^8.8.2", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "concordance": "^5.0.4", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "pathe": "^1.1.0", + "picocolors": "^1.0.0", + "std-env": "^3.3.2", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.5.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.31.4", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/@types/node": { + "version": "20.2.5", + "dev": true, + "license": "MIT" + }, + "node_modules/vlq": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-2.0.4.tgz", + "integrity": "sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==", + "license": "MIT" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/well-known-symbols": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", + "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index b19bcd2..71eb9e0 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,12 @@ "format:styles": "stylelint ./**/*.{css,scss} --fix", "docs": "npx typedoc src/index.ts --excludePrivate --excludeExternals --exclude '**/adminClient.ts'", "commit": "cz", - "release": "semantic-release" + "release": "semantic-release", + "pre-commit": "npm run lint:scripts && npm run format:scripts && npm run test:integration" }, "dependencies": { - "algosdk": "2.3.0", + "@algorandfoundation/algokit-utils": "^2.3.2", + "algosdk": "^2.5.0", "beaker-ts": "^0.1.2" }, "devDependencies": { @@ -42,6 +44,7 @@ "@vitest/coverage-c8": "^0.31.0", "commitizen": "4.3.0", "cz-conventional-changelog": "3.3.0", + "dotenv": "^16.3.1", "dts-bundle-generator": "^8.0.0", "eslint": "^8.29.0", "eslint-config-prettier": "^8.5.0", @@ -70,10 +73,12 @@ "@semantic-release/github" ], "branches": [ - "main", { - "name": "next", - "prerelease": "rc" + "name": "main", + "prerelease": "beta" + }, + { + "name": "release" } ], "verifyConditions": [ diff --git a/src/clients/SubtopiaAdminClient.ts b/src/clients/SubtopiaAdminClient.ts deleted file mode 100644 index a72ee46..0000000 --- a/src/clients/SubtopiaAdminClient.ts +++ /dev/null @@ -1,281 +0,0 @@ -// ============================================================================= -// Subtopia JS SDK -// Copyright (C) 2023 Altynbek Orumbayev -// ============================================================================= - -import { - decodeAddress, - makePaymentTxnWithSuggestedParamsFromObject, -} from "algosdk"; -import { ABIResult } from "beaker-ts"; -import { - getLocker, - getParamsWithFeeCount, - normalizePrice, - rekeyLocker, -} from "../utils"; -import { PendingTransfer, SMR } from "../contracts/smr_client"; -import { getAssetByID } from "../utils"; -import { PriceNormalizationType, SubscriptionType } from "../enums"; -import AlgodClient from "algosdk/dist/types/client/v2/algod/algod"; -import { SubtopiaClient } from "./SubtopiaClient"; -import { - SUBTOPIA_REGISTRY_APP_ID, - SUBTOPIA_CONTRACTS_VERSION, -} from "../constants"; -import { - PendingTransferRecord, - SMRAddInfrastructureParams, - SMRClaimInfrastructureParams, - SMRGetRegistryParams, - SMRTransferInfrastructureParams, -} from "../interfaces"; - -export class SubtopiaAdminClient { - static async getRegistryAddress({ - client, - user, - smrID = SUBTOPIA_REGISTRY_APP_ID, - }: SMRGetRegistryParams): Promise { - const smr = new SMR({ - client, - sender: user.address, - signer: user.signer, - appId: smrID, - }); - - return smr.appAddress; - } - - static async getPendingTransferRecordForAccount( - client: AlgodClient, - subscriberAddress: string, - smrID = SUBTOPIA_REGISTRY_APP_ID - ): Promise { - try { - const boxName = decodeAddress(subscriberAddress).publicKey; - - const response = await client - .getApplicationBoxByName(smrID, boxName) - .do(); - const decoded = PendingTransfer.decodeBytes(response.value); - - const pendingTransferRecord = { - locker: String(decoded["locker"]), - smiID: Number(decoded["smi_id"]), - } as PendingTransferRecord; - - return pendingTransferRecord; - } catch (e) { - return undefined; - } - } - - static async addInfrastructure({ - creator, - client, - smrID = SUBTOPIA_REGISTRY_APP_ID, - version = SUBTOPIA_CONTRACTS_VERSION, - name, - price, - subType = SubscriptionType.UNLIMITED, - maxSubs = 0, - coinID = 0, - }: SMRAddInfrastructureParams): Promise> { - const smr = new SMR({ - client, - sender: creator.address, - signer: creator.signer, - appId: smrID, - }); - const locker = await getLocker(client, creator.address, smr.appAddress); - - if (locker.authAddress !== smr.appAddress) { - const response = await rekeyLocker({ - client: client, - locker: locker.lsig, - creatorAddress: creator.address, - creatorSigner: creator.signer, - registryAddress: smr.appAddress, - registrySigner: smr.signer, - rekeyToAddress: smr.appAddress, - }); - - console.log("Rekeyed locker", response); - } - - const suggestedParams = await getParamsWithFeeCount(client, 2); - - const feeTxn = makePaymentTxnWithSuggestedParamsFromObject({ - from: creator.address, - to: smr.appAddress, - amount: Number(880_000 + (coinID === 0 ? 0 : 2_000)), - suggestedParams, - }); - - const asset = await getAssetByID(client, coinID); - - const result = await smr.add( - { - fee_txn: feeTxn, - name: name, - price: BigInt( - normalizePrice(price, asset.decimals, PriceNormalizationType.RAW) - ), - sub_type: BigInt(subType), - max_subs: BigInt(maxSubs), - coin_id: BigInt(coinID), - version: version, - manager: creator.address, - locker: locker.lsig.address(), - }, - { - appAccounts: [locker.lsig.address()], - appForeignAssets: coinID > 0 ? [coinID] : [], - } - ); - - const abiResult = new ABIResult(result); - - return abiResult; - } - - static async transferInfrastructure({ - creator, - newCreatorAddress, - smrID = SUBTOPIA_REGISTRY_APP_ID, - smiID, - client, - }: SMRTransferInfrastructureParams): Promise> { - const smr = new SMR({ - client, - sender: creator.address, - signer: creator.signer, - appId: smrID, - }); - const locker = await getLocker(client, creator.address, smr.appAddress); - - const pendingTransfers = - await SubtopiaAdminClient.getPendingTransferRecordForAccount( - client, - newCreatorAddress, - smrID - ); - - if (pendingTransfers) { - throw new Error( - "New owner have a pending transfer. He must complete it before accepting new transfers." - ); - } - - if (locker.authAddress !== smr.appAddress) { - const response = await rekeyLocker({ - client: client, - locker: locker.lsig, - creatorAddress: creator.address, - creatorSigner: creator.signer, - registryAddress: smr.appAddress, - registrySigner: smr.signer, - rekeyToAddress: smr.appAddress, - }); - console.log("Rekeyed locker", response); - } - - const suggestedParams = await getParamsWithFeeCount(client, 2); - - const newManagerLocker = await getLocker( - client, - newCreatorAddress, - smr.appAddress - ); - - const feeTxn = makePaymentTxnWithSuggestedParamsFromObject({ - from: creator.address, - to: smr.appAddress, - amount: Number(510_000), - suggestedParams, - }); - const result = await smr.transfer_smi( - { - transfer_fee_txn: feeTxn, - new_owner: newCreatorAddress, - smi_id: BigInt(smiID), - old_locker: locker.lsig.address(), - new_locker: newManagerLocker.lsig.address(), - }, - { - appAccounts: [locker.lsig.address(), newManagerLocker.lsig.address()], - appForeignApps: [smiID], - boxes: [ - { - appIndex: smr.appId, - name: decodeAddress(newCreatorAddress).publicKey, - }, - ], - } - ); - - const abiResult = new ABIResult(result); - - return abiResult; - } - - static async claimInfrastructure({ - creator, - smrID = SUBTOPIA_REGISTRY_APP_ID, - smiID, - client, - }: SMRClaimInfrastructureParams): Promise> { - const smr = new SMR({ - client, - sender: creator.address, - signer: creator.signer, - appId: smrID, - }); - const locker = await getLocker(client, creator.address, smr.appAddress); - - if (locker.authAddress !== smr.appAddress) { - const response = await rekeyLocker({ - client: client, - locker: locker.lsig, - creatorAddress: creator.address, - creatorSigner: creator.signer, - registryAddress: smr.appAddress, - registrySigner: smr.signer, - rekeyToAddress: smr.appAddress, - }); - console.log("Rekeyed locker", response); - } - - const smiState = await SubtopiaClient.getInfrastructureState(client, smiID); - const foreignAssetRef = - smiState.coinID > 0 ? { appForeignAssets: [smiState.coinID] } : {}; - - const result = await smr.claim_smi( - { - new_owner: creator.address, - smi: BigInt(smiID), - coin_id: BigInt(smiState.coinID), - }, - { - appAccounts: [locker.lsig.address()], - appForeignApps: [smiID], - suggestedParams: await getParamsWithFeeCount( - client, - smiState.coinID > 0 ? 3 : 2 - ), - boxes: [ - { - appIndex: smr.appId, - name: decodeAddress(creator.address).publicKey, - }, - ], - ...foreignAssetRef, - } - ); - - const abiResult = new ABIResult(result); - - return abiResult; - } -} diff --git a/src/clients/SubtopiaClient.ts b/src/clients/SubtopiaClient.ts index b7c5c98..f3a51af 100644 --- a/src/clients/SubtopiaClient.ts +++ b/src/clients/SubtopiaClient.ts @@ -4,748 +4,774 @@ // ============================================================================= import algosdk, { + ABIMethod, AtomicTransactionComposer, + algosToMicroalgos, decodeAddress, encodeAddress, encodeUint64, + getApplicationAddress, makeAssetTransferTxnWithSuggestedParamsFromObject, makePaymentTxnWithSuggestedParamsFromObject, } from "algosdk"; import AlgodClient from "algosdk/dist/types/client/v2/algod/algod"; -import { ABIResult } from "beaker-ts"; import { - loadApplicationState, - getLocker, normalizePrice, - optInAsset, getParamsWithFeeCount, - rekeyLocker, - expirationTypeToMonths, + calculateSmiCreationMbr, + calculateSmlCreationMbr, + calculateRegistryLockerBoxCreateMbr, + calculateProductDiscountBoxCreateMbr, + calculateProductSubscriptionBoxCreateMbr, } from "../utils"; -import { Discount, SMI, Subscription } from "../contracts/smi_client"; -import { SMR } from "../contracts/smr_client"; import { getAssetByID } from "../utils"; -import { SUBTOPIA_REGISTRY_APP_ID, DEFAULT_AWAIT_ROUNDS } from "../constants"; import { - SubscriptionType, - SubscriptionExpirationType, + MIN_APP_OPTIN_MBR, + MIN_APP_BALANCE_MBR, + MIN_ASA_OPTIN_MBR, + SUBSCRIPTION_PLATFORM_FEE_CENTS, + TESTNET_SUBTOPIA_REGISTRY_ID, +} from "../constants"; +import { PriceNormalizationType, + DurationType, DiscountType, + Duration, } from "../enums"; + import { - SMIState, - SubscriptionRecord, + getAppById, + getAppGlobalState, +} from "@algorandfoundation/algokit-utils"; +import { TransactionSignerAccount } from "@algorandfoundation/algokit-utils/types/account"; +import { SubtopiaRegistryClient } from "./SubtopiaRegistryClient"; +import { + ApplicationSpec, + AssetMetadata, DiscountRecord, - SMISubscribeParams, - ChainMethodParams, - SMIUnsubscribeParams, - SMIClaimSubscriptionParams, - SMIClaimRevenueParams, - SMITransferSubscriptionParams, - SMIMarkForDeletionParams, - SMIDeleteSubscriptionParams, - SMICreateDiscountParams, - SMIDeleteDiscountParams, -} from "../interfaces"; + SubscriptionRecord, +} from "interfaces"; export class SubtopiaClient { - static async getInfrastructureState( - client: AlgodClient, - smiID: number, - withPriceNormalization = true - ) { - const state = await loadApplicationState(client, smiID); - const asset = await getAssetByID(client, Number(state["coin_id"])); - - const expirationTypes = []; - if (state["sub_type"] === SubscriptionType.UNLIMITED) { - expirationTypes.push(SubscriptionExpirationType.UNLIMITED); - } else { - expirationTypes.push( - SubscriptionExpirationType.MONTHLY, - SubscriptionExpirationType.QUARTERLY, - SubscriptionExpirationType.SEMI_ANNUAL, - SubscriptionExpirationType.ANNUAL - ); - } + productName: string; + subscriptionName: string; + algodClient: algosdk.Algodv2; + creator: TransactionSignerAccount; + price: number; + coin: AssetMetadata; + oracleID: number; + version: string; + appID: number; + appAddress: string; + appSpec: ApplicationSpec; + + private constructor({ + algodClient, + productName, + subscriptionName, + creator, + appID, + appAddress, + appSpec, + oracleID, + price, + coin, + version, + }: { + algodClient: AlgodClient; + productName: string; + subscriptionName: string; + creator: TransactionSignerAccount; + appSpec: ApplicationSpec; + appID: number; + appAddress: string; + oracleID: number; + price: number; + coin: AssetMetadata; + version: string; + }) { + this.algodClient = algodClient; + this.productName = productName; + this.subscriptionName = subscriptionName; + this.creator = creator; + this.appID = appID; + this.appAddress = appAddress; + this.appSpec = appSpec; + this.oracleID = oracleID; + this.price = price; + this.coin = coin; + this.version = version; + } - const discounts = []; - for (const expirationType of expirationTypes) { - try { - const discount = await SubtopiaClient.getDiscountRecordForType( - client, - smiID, - expirationType - ); - discounts.push(discount); - } catch (e) { - /* empty */ - } + public static async init( + algodClient: AlgodClient, + productID: number, + creator: TransactionSignerAccount + ): Promise { + const productGlobalState = await getAppGlobalState( + productID, + algodClient + ).catch((error) => { + throw new Error(error); + }); + + if ( + !productGlobalState.price || + !productGlobalState.oracle_id || + !productGlobalState.coin_id + ) { + throw new Error("SMR is not initialized"); } - /* eslint-disable prettier/prettier */ - return { - smiID: smiID, - manager: state["manager"], - name: state["name"], - price: withPriceNormalization - ? normalizePrice( - Number(state["price"]), - asset.decimals, - PriceNormalizationType.PRETTY - ) - : Number(state["price"]), - subType: state["sub_type"], - maxSubs: state["max_subs"], - activeSubs: state["active_subs"], - lifecycle: state["lifecycle"], - totalSubs: state["total_subs"], - coinID: state["coin_id"], - expiresIn: state["expires_in"], - createdAt: new Date(Number(state["created_at"]) * 1000), - discounts: discounts, - } as SMIState; - /* eslint-enable prettier/prettier */ - } + const oracleID = productGlobalState.oracle_id.value as number; + const productAddress = getApplicationAddress(productID); + const productPrice = productGlobalState.price.value as number; + const productSpec = await getAppById(productID, algodClient); + const productName = String(productGlobalState.product_name.value); + const subscriptionName = String(productGlobalState.subscription_name.value); + + const versionAtc = new AtomicTransactionComposer(); + versionAtc.addMethodCall({ + appID: productID, + method: new ABIMethod({ + name: "get_version", + args: [], + returns: { type: "string" }, + }), + sender: creator.addr, + signer: creator.signer, + suggestedParams: await getParamsWithFeeCount(algodClient, 1), + }); + const response = await versionAtc.simulate(algodClient); + const version = response.methodResults[0].returnValue as string; + const coin = await getAssetByID( + algodClient, + productGlobalState.coin_id.value as number + ); - static async getSubscriptionRecordForAccount( - client: AlgodClient, - subscriberAddress: string, - smiID = 0 - ): Promise { - const boxName = decodeAddress(subscriberAddress).publicKey; - - const response = await client.getApplicationBoxByName(smiID, boxName).do(); - const decoded = Subscription.decodeBytes(response.value); - - const expiresAt = - Number(decoded["expires_at"]) === 0 - ? undefined - : new Date(Number(decoded["expires_at"]) * 1000); - - const subscriptionRecord = { - subID: Number(decoded["sub_id"]), - subType: Number(decoded["sub_type"]), - expiresAt: expiresAt, - expirationType: Number( - decoded["expiration_type"] - ) as SubscriptionExpirationType, - createdAt: new Date(Number(decoded["created_at"]) * 1000), - } as SubscriptionRecord; - - return subscriptionRecord; + return new SubtopiaClient({ + algodClient, + creator, + appID: productID, + productName: productName, + subscriptionName: subscriptionName, + appAddress: productAddress, + appSpec: { + approval: productSpec.params.approvalProgram, + clear: productSpec.params.clearStateProgram, + globalNumUint: + Number(productSpec.params.globalStateSchema?.numUint) || 0, + globalNumByteSlice: + Number(productSpec.params.globalStateSchema?.numByteSlice) || 0, + localNumUint: Number(productSpec.params.localStateSchema?.numUint) || 0, + localNumByteSlice: + Number(productSpec.params.localStateSchema?.numByteSlice) || 0, + }, + oracleID, + price: productPrice, + coin, + version, + }); } - static async getDiscountRecordForType( - client: AlgodClient, - smiID: number, - expirationType: SubscriptionExpirationType - ): Promise { - const response = await client - .getApplicationBoxByName(smiID, encodeUint64(expirationType)) - .do(); - const decoded = Discount.decodeBytes(response.value); - - const expiresAt = - Number(decoded["expires_at"]) === 0 - ? undefined - : new Date(Number(decoded["expires_at"]) * 1000); - - const discountRecord = { - discountType: Number(decoded["discount_type"]), - discountValue: Number(decoded["discount_value"]), - expirationType: Number(decoded["expiration_type"]), - expiresAt: expiresAt, - createdAt: new Date(Number(decoded["created_at"]) * 1000), - totalClaims: Number(decoded["total_claims"]), - } as DiscountRecord; - - return discountRecord; + public async getSubscriptionPrice(coinID = 0): Promise { + return ( + algosToMicroalgos(MIN_APP_OPTIN_MBR) + + algosToMicroalgos(MIN_APP_BALANCE_MBR) + + (await calculateSmiCreationMbr(this.appSpec)) + + (coinID > 0 ? algosToMicroalgos(MIN_ASA_OPTIN_MBR) : 0) + ); } - static async subscribe( - { - subscriber, - smiID, - smrID = SUBTOPIA_REGISTRY_APP_ID, - expirationType = SubscriptionExpirationType.UNLIMITED, - }: SMISubscribeParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? subscriber.address, - signer: signer ?? subscriber.signer, - appId: smiID, + public async getSubscriptionPlatformFee( + priceInCents: number + ): Promise { + const computePlatformFeeAtc = new AtomicTransactionComposer(); + computePlatformFeeAtc.addMethodCall({ + appID: this.oracleID, + method: new ABIMethod({ + name: "compute_platform_fee", + args: [ + { + type: "uint64", + name: "whole_usd", + desc: "Amount of USD in whole numbers (CENTS)", + }, + ], + returns: { type: "uint64" }, + }), + methodArgs: [priceInCents], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 1), }); - const smr = new SMR({ - client: client, - sender: sender ?? subscriber.address, - signer: signer ?? subscriber.signer, - appId: smrID, - }); + const response = await computePlatformFeeAtc.simulate(this.algodClient); - const smiState = await SubtopiaClient.getInfrastructureState( - client, - smi.appId, - false - ); + return Number(response.methodResults[0].returnValue); + } - const managerLocker = await getLocker( - client, - smiState.manager, - smr.appAddress + public async getLockerCreationFee(creatorAddress: string): Promise { + return ( + algosToMicroalgos(MIN_APP_OPTIN_MBR) + + (await calculateSmlCreationMbr(this.appSpec)) + + calculateRegistryLockerBoxCreateMbr(creatorAddress) ); + } - const feeTxn = { - txn: makePaymentTxnWithSuggestedParamsFromObject({ - from: subscriber.address, - to: smi.appAddress, - amount: Number( - 120_000 + 100_000 + 11_300 + (smiState.coinID > 0 ? 100 : 0) - ), - suggestedParams: await getParamsWithFeeCount(client, 5), + public async getDiscount({ + duration, + }: { + duration: DurationType; + }): Promise { + const getDiscountAtc = new AtomicTransactionComposer(); + getDiscountAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "get_discount", + args: [ + { + type: "uint64", + name: "duration", + desc: "The duration of the discount.", + }, + ], + returns: { type: "(uint64,uint64,uint64,uint64,uint64,uint64)" }, }), - signer: subscriber.signer, - }; - - let price = smiState.price * expirationTypeToMonths(expirationType); + methodArgs: [duration.valueOf()], + boxes: [ + { + appIndex: this.appID, + name: encodeUint64(duration.valueOf()), + }, + ], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 1), + }); - const discount: DiscountRecord | undefined = smiState.discounts.find( - (d) => d.expirationType === expirationType - ); + const response = await getDiscountAtc.simulate(this.algodClient); + const boxContent: Array = ( + response.methodResults[0].returnValue?.valueOf() as Array + ).map((value) => Number(value)); - if (discount) { - price = - discount.discountType === DiscountType.FIXED - ? price - discount.discountValue - : price - (price * discount.discountValue) / 100; + if (boxContent.length !== 6) { + throw new Error("Invalid subscription record"); } - /* eslint-disable prettier/prettier */ - const subscribePayTxn = { - txn: - smiState.coinID === 0 - ? makePaymentTxnWithSuggestedParamsFromObject({ - from: subscriber.address, - to: managerLocker.lsig.address(), - amount: price, - suggestedParams: await getParamsWithFeeCount(client, 0), - }) - : makeAssetTransferTxnWithSuggestedParamsFromObject({ - from: subscriber.address, - to: managerLocker.lsig.address(), - amount: price, - assetIndex: smiState.coinID, - suggestedParams: await getParamsWithFeeCount(client, 0), - }), - signer: subscriber.signer, + return { + duration: boxContent[0], + discountType: boxContent[1], + discountValue: boxContent[2], + expiresAt: boxContent[3] === 0 ? undefined : new Date(boxContent[3]), + createdAt: new Date(boxContent[4]), + totalClaims: boxContent[5], }; + } - const result = await smi.subscribe( - { - fee_txn: feeTxn, - subscribe_pay_txn: subscribePayTxn, - subscriber_account: subscriber.address, - expiration_type: BigInt(expirationType), - }, - { - boxes: [ + public async createDiscount({ + duration, + discountType, + discountValue, + expiresIn, + }: { + duration: Duration; + discountType: DiscountType; + discountValue: number; + expiresIn: number; + }): Promise<{ + txID: string; + }> { + const createDiscountAtc = new AtomicTransactionComposer(); + createDiscountAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "create_discount", + args: [ { - appIndex: smi.appId, - name: encodeUint64(expirationType), + type: "uint64", + name: "duration", + desc: "The duration of the discount.", }, { - appIndex: smi.appId, - name: decodeAddress(subscriber.address).publicKey, + type: "uint64", + name: "discount_type", + desc: "The type of discount (percentage or amount).", + }, + { + type: "uint64", + name: "discount_value", + desc: "The discount value in micro ALGOs.", }, - ], - } - ); - - return new ABIResult(result); - } - - static async unsubscribe( - { subscriber, smiID }: SMIUnsubscribeParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? subscriber.address, - signer: signer ?? subscriber.signer, - appId: smiID, - }); - - if (!smi) { - throw new Error("SMI not initialized"); - } - - const subscriptionRecord = - await SubtopiaClient.getSubscriptionRecordForAccount( - client, - subscriber.address, - smiID - ); - - const isOptedToPassId = await client - .accountAssetInformation(subscriber.address, subscriptionRecord.subID) - .do() - .then(() => true) - .catch(() => false); - const sp = await getParamsWithFeeCount(client, isOptedToPassId ? 3 : 2); - - const result = await smi.unsubscribe( - { sub_id: BigInt(subscriptionRecord.subID) }, - { - appAccounts: [subscriber.address], - boxes: [ { - appIndex: smiID, - name: decodeAddress(subscriber.address).publicKey, + type: "uint64", + name: "expires_in", + desc: "The number of seconds to append to creation date", + }, + { + type: "pay", + name: "fee_txn", + desc: "The transaction fee.", }, ], - suggestedParams: sp, - } - ); - - return new ABIResult(result); - } - - static async claimSubscriptionPass( - { smiID, subID, subscriber }: SMIClaimSubscriptionParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? subscriber.address, - signer: signer ?? subscriber.signer, - appId: smiID, + returns: { type: "void" }, + }), + methodArgs: [ + duration.valueOf(), + discountType.valueOf(), + discountValue, + expiresIn, + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: this.creator.addr, + to: this.appAddress, + amount: calculateProductDiscountBoxCreateMbr(), + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: this.creator.signer, + }, + ], + boxes: [ + { + appIndex: this.appID, + name: encodeUint64(duration.valueOf()), + }, + ], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 2), }); - if (!smi) { - throw new Error("SMI not initialized"); - } - const isOptedToPassId = await client - .accountAssetInformation(subscriber.address, subID) - .do() - .then(() => true) - .catch(() => false); - - if (!isOptedToPassId) { - await optInAsset(client, subscriber, subID); - } - - const sp = await getParamsWithFeeCount(client, 3); - - const result = await smi.claim_subscription( - { - subscription_id: BigInt(subID), - }, - { suggestedParams: sp, appForeignAssets: [subID] } - ); + const response = await createDiscountAtc.execute(this.algodClient, 10); - return new ABIResult(result); + return { + txID: response.txIDs.pop() as string, + }; } - static async claimRevenue( - { - smrID = SUBTOPIA_REGISTRY_APP_ID, - user, - coinID = 0, - }: SMIClaimRevenueParams, - { client, sender, signer }: ChainMethodParams - ) { - const smr = new SMR({ - client: client, - sender: sender ?? user.address, - signer: signer ?? user.signer, - appId: smrID, - }); - - if (!smr) { - throw new Error("SMI not initialized"); - } - - const locker = await getLocker(client, user.address, smr.appAddress); - - const atc = new AtomicTransactionComposer(); - - const sp = await getParamsWithFeeCount(client, 2); - - atc.addTransaction({ - txn: makePaymentTxnWithSuggestedParamsFromObject({ - from: user.address, - suggestedParams: sp, - to: locker.lsig.address(), - amount: 0, + public async deleteDiscount({ + duration, + }: { + duration: DurationType; + }): Promise<{ + txID: string; + }> { + const deleteDiscountAtc = new AtomicTransactionComposer(); + deleteDiscountAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "delete_discount", + args: [ + { + type: "uint64", + name: "duration", + desc: "The duration of the discount.", + }, + ], + returns: { type: "void" }, }), - signer: user.signer, + methodArgs: [duration.valueOf()], + boxes: [ + { + appIndex: this.appID, + name: encodeUint64(duration.valueOf()), + }, + ], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 2), }); - const app_sp = await getParamsWithFeeCount(client, 0); - const lockerInfo = await client - .accountInformation(locker.lsig.address()) - .do(); - - let withdrawalAmount = - lockerInfo["amount"] - lockerInfo["min-balance"] - 1000; - withdrawalAmount = withdrawalAmount < 0 ? 0 : withdrawalAmount; - - if (coinID > 0) { - const isOptedToCoinID = await client - .accountAssetInformation(user.address, coinID) - .do() - .then(() => true) - .catch(() => false); - if (!isOptedToCoinID) { - await optInAsset(client, user, coinID); - } - - withdrawalAmount = - lockerInfo["assets"].find( - (asset: { [x: string]: number }) => asset["asset-id"] === coinID - )?.amount ?? 0; - - atc.addTransaction({ - txn: makeAssetTransferTxnWithSuggestedParamsFromObject({ - from: locker.lsig.address(), - suggestedParams: app_sp, - to: user.address, - amount: withdrawalAmount, - assetIndex: coinID, - }), - signer: locker.signer, - }); - } else { - atc.addTransaction({ - txn: makePaymentTxnWithSuggestedParamsFromObject({ - from: locker.lsig.address(), - suggestedParams: app_sp, - to: user.address, - amount: withdrawalAmount, - }), - signer: locker.signer, - }); - } - - const response = await atc.execute(client, 4); + const response = await deleteDiscountAtc.execute(this.algodClient, 10); - return response.txIDs; + return { + txID: response.txIDs.pop() as string, + }; } - static async transferSubscriptionPass( - { newOwnerAddress, oldOwner, subID, smiID }: SMITransferSubscriptionParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? oldOwner.address, - signer: signer ?? oldOwner.signer, - appId: smiID, + public async createSubscription({ + subscriber, + duration, + }: { + subscriber: TransactionSignerAccount; + duration: DurationType; + }): Promise<{ + txID: string; + subscriptionID: number; + }> { + const oracleAdminState = ( + await getAppGlobalState(this.oracleID, this.algodClient) + ).admin; + const adminAddress = encodeAddress( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + oracleAdminState.valueRaw + ); + const platformFeeAmount = await this.getSubscriptionPlatformFee( + SUBSCRIPTION_PLATFORM_FEE_CENTS + ); + const creatorLockerId = await SubtopiaRegistryClient.getLocker({ + registryID: TESTNET_SUBTOPIA_REGISTRY_ID, + algodClient: this.algodClient, + ownerAddress: this.creator.addr, }); - if (!smi) { - throw new Error("SMI not initialized"); + if (!creatorLockerId) { + throw new Error("Creator locker is not initialized"); } - const result = await smi.transfer_subscription( - { - new_address: newOwnerAddress, - subscription_id: BigInt(subID), - }, - { - appAccounts: [newOwnerAddress], - appForeignAssets: [subID], - suggestedParams: await getParamsWithFeeCount(client, 2), - boxes: [ + const lockerAddress = getApplicationAddress(creatorLockerId); + + const createSubscriptionAtc = new AtomicTransactionComposer(); + createSubscriptionAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "create_subscription", + args: [ { - appIndex: smi.appId, - name: decodeAddress(oldOwner.address).publicKey, + type: "address", + name: "subscriber", + desc: "The subscriber's address.", + }, + { + type: "uint64", + name: "duration", + desc: "The duration of the subscription.", + }, + { + type: "application", + name: "creator_locker", + desc: "The locker of creator", + }, + { + type: "application", + name: "oracle_id", + desc: "The oracle app used.", + }, + { + type: "pay", + name: "fee_txn", + desc: "The transaction fee paid to the app.", }, - { - appIndex: smi.appId, - name: decodeAddress(newOwnerAddress).publicKey, + type: "pay", + name: "platform_fee_txn", + desc: "The platform fee paid.", + }, + { + type: "txn", + name: "pay_txn", + desc: "The payment transaction to fund the subscription.", }, ], - } - ); - - return new ABIResult(result); - } - - static async markForDeletion( - { smiID, user, smrID = SUBTOPIA_REGISTRY_APP_ID }: SMIMarkForDeletionParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? user.address, - signer: signer ?? user.signer, - appId: smiID, - }); - - const smr = new SMR({ - client: client, - sender: sender ?? user.address, - signer: signer ?? user.signer, - appId: smrID, - }); - - if (!smi) { - throw new Error("SMI not initialized"); - } - - const smiState = await SubtopiaClient.getInfrastructureState( - client, - smi.appId, - false - ); - - const sp = await getParamsWithFeeCount(client, 3); - const userLocker = await getLocker(client, user.address, smr.appAddress); - - const result = await smi.mark_for_deletion( - { - locker_fund_txn: { + returns: { type: "uint64" }, + }), + methodArgs: [ + subscriber.addr, + duration.valueOf(), + creatorLockerId, + this.oracleID, + { txn: makePaymentTxnWithSuggestedParamsFromObject({ - from: user.address, - to: userLocker.lsig.address(), - amount: ( - await getParamsWithFeeCount(client, 3 * smiState.activeSubs) - ).fee, - suggestedParams: await getParamsWithFeeCount(client, 2), + from: subscriber.addr, + to: this.appAddress, + amount: + calculateProductSubscriptionBoxCreateMbr(subscriber.addr) + + algosToMicroalgos(MIN_APP_OPTIN_MBR), + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), }), - signer: user.signer, + signer: subscriber.signer, }, - }, - { - suggestedParams: sp, - } - ); - - return new ABIResult(result); - } - - static async deleteSubscription( - { - smiID, - user, - smrID = SUBTOPIA_REGISTRY_APP_ID, - }: SMIDeleteSubscriptionParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? user.address, - signer: signer ?? user.signer, - appId: smiID, - }); - - const smr = new SMR({ - client: client, - sender: sender ?? user.address, - signer: signer ?? user.signer, - appId: smrID, + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: subscriber.addr, + to: adminAddress, + amount: platformFeeAmount, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: subscriber.signer, + }, + this.coin.index === 0 + ? { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: subscriber.addr, + to: lockerAddress, + amount: this.price, + suggestedParams: await getParamsWithFeeCount( + this.algodClient, + 0 + ), + }), + signer: subscriber.signer, + } + : { + txn: makeAssetTransferTxnWithSuggestedParamsFromObject({ + from: subscriber.addr, + to: lockerAddress, + amount: normalizePrice( + this.price, + this.coin.decimals, + PriceNormalizationType.RAW + ), + assetIndex: this.coin.index, + suggestedParams: await getParamsWithFeeCount( + this.algodClient, + 0 + ), + }), + signer: subscriber.signer, + }, + ], + boxes: [ + { + appIndex: this.appID, + name: decodeAddress(subscriber.addr).publicKey, + }, + { + appIndex: this.appID, + name: encodeUint64(duration.valueOf()), + }, + ], + sender: subscriber.addr, + signer: subscriber.signer, + suggestedParams: await getParamsWithFeeCount( + this.algodClient, + this.coin.index > 0 ? 6 : 5 + ), }); - if (!smi) { - throw new Error("SMI not initialized"); - } + const response = await createSubscriptionAtc.execute(this.algodClient, 10); - const smiState = await SubtopiaClient.getInfrastructureState( - client, - smi.appId, - false - ); + return { + txID: response.txIDs.pop() as string, + subscriptionID: Number(response.methodResults[0].returnValue), + }; + } - // True if the subscription is marked for deletion, value 1 - if (!smiState.lifecycle) { - await SubtopiaClient.markForDeletion( + public async transferSubscription({ + oldSubscriber, + newSubscriberAddress, + subscriptionID, + }: { + oldSubscriber: TransactionSignerAccount; + newSubscriberAddress: string; + subscriptionID: number; + }): Promise<{ + txID: string; + }> { + const transferSubscriptionAtc = new AtomicTransactionComposer(); + transferSubscriptionAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "transfer_subscription", + args: [ + { + type: "address", + name: "new_subscriber", + desc: "The new address to transfer the subscription to.", + }, + { + type: "asset", + name: "subscription", + desc: "The subscription asset.", + }, + ], + returns: { type: "void" }, + }), + boxes: [ { - smiID: smiID, - smrID: smrID, - user: user, + appIndex: this.appID, + name: decodeAddress(oldSubscriber.addr).publicKey, }, { - client: client, - } - ); - } - - const maxTxnsPerGroup = 16; - const userLocker = await getLocker(client, user.address, smr.appAddress); - const subscribersFromBoxes: string[] = ( - await client.getApplicationBoxes(smiID).do() - )["boxes"].map((item) => { - return encodeAddress(item.name); + appIndex: this.appID, + name: decodeAddress(newSubscriberAddress).publicKey, + }, + ], + methodArgs: [newSubscriberAddress, subscriptionID], + sender: oldSubscriber.addr, + signer: oldSubscriber.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 2), }); - for (let i = 0; i < subscribersFromBoxes.length; i += maxTxnsPerGroup) { - const subscribesSubsetFromBoxes = subscribersFromBoxes.slice( - i, - i + maxTxnsPerGroup - ); - const atc = new AtomicTransactionComposer(); - - const methodCalls = subscribesSubsetFromBoxes.map( - async (subscriber: string, j: number) => { - const subscriberBox = - await SubtopiaClient.getSubscriptionRecordForAccount( - client, - subscriber, - smiID - ); - atc.addMethodCall({ - sender: userLocker.authAddress, - signer: userLocker.signer, - appID: smiID, - method: algosdk.getMethodByName(smi.methods, "delete_subscription"), - methodArgs: [subscriber, subscriberBox.subID], - appForeignAssets: [subscriberBox.subID], - appAccounts: [subscriber], - boxes: [ - { - appIndex: smi.appId, - name: decodeAddress(subscriber).publicKey, - }, - ], - suggestedParams: - j === 0 - ? await getParamsWithFeeCount( - client, - 3 * subscribesSubsetFromBoxes.length - ) - : await getParamsWithFeeCount(client, 0), - }); - } - ); - - await Promise.all(methodCalls); - - await atc.execute(client, DEFAULT_AWAIT_ROUNDS); - } - - if (userLocker.authAddress !== smr.appAddress) { - const response = await rekeyLocker({ - client: client, - locker: userLocker.lsig, - creatorAddress: user.address, - creatorSigner: user.signer, - registryAddress: smr.appAddress, - registrySigner: smr.signer, - rekeyToAddress: smr.appAddress, - }); - console.log("Rekeyed locker", response); - } - - const response = await smr.delete_smi( - { - smi_id: BigInt(smiID), - }, - { - appForeignApps: [smiID], - appAccounts: [userLocker.lsig.address()], - suggestedParams: await getParamsWithFeeCount(client, 4), - } + const response = await transferSubscriptionAtc.execute( + this.algodClient, + 10 ); - return response; + return { + txID: response.txIDs.pop() as string, + }; } - static async createDiscount( - { smiID, creator, discount }: SMICreateDiscountParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? creator.address, - signer: signer ?? creator.signer, - appId: smiID, + public async claimSubscription({ + subscriber, + subscriptionID, + }: { + subscriber: TransactionSignerAccount; + subscriptionID: number; + }): Promise<{ + txID: string; + }> { + const claimSubscriptionAtc = new AtomicTransactionComposer(); + claimSubscriptionAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "claim_subscription", + args: [ + { + type: "asset", + name: "subscription", + desc: "The subscription ASA ID.", + }, + ], + returns: { type: "void" }, + }), + methodArgs: [subscriptionID], + boxes: [ + { + appIndex: this.appID, + name: decodeAddress(subscriber.addr).publicKey, + }, + ], + sender: subscriber.addr, + signer: subscriber.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 2), }); - if (!smi) { - throw new Error("SMI not initialized"); - } + const response = await claimSubscriptionAtc.execute(this.algodClient, 10); - const smiState = await SubtopiaClient.getInfrastructureState( - client, - smi.appId, - false - ); - const asset = await getAssetByID(client, smiState.coinID); - - const result = await smi.create_discount( - { - expiration_type: BigInt(discount.expirationType), - discount_value: BigInt( - discount.discountType === DiscountType.FIXED - ? normalizePrice( - discount.discountValue, - asset.decimals, - PriceNormalizationType.RAW - ) - : discount.discountValue - ), - discount_type: BigInt(discount.discountType), - expires_in: BigInt(discount.expiresIn ?? 0), - fee_txn: { - txn: makePaymentTxnWithSuggestedParamsFromObject({ - from: creator.address, - to: smi.appAddress, - amount: 100_000 + 24900, - suggestedParams: await getParamsWithFeeCount(client, 0), - }), - signer: creator.signer, - }, - }, - { - suggestedParams: await getParamsWithFeeCount(client, 2), - boxes: [ + return { + txID: response.txIDs.pop() as string, + }; + } + + public async deleteSubscription({ + subscriber, + subscriptionID, + }: { + subscriber: TransactionSignerAccount; + subscriptionID: number; + }): Promise<{ + txID: string; + }> { + const deleteSubscriptionAtc = new AtomicTransactionComposer(); + deleteSubscriptionAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "delete_subscription", + args: [ { - appIndex: smi.appId, - name: encodeUint64(discount.expirationType), + type: "asset", + name: "subscription", + desc: "The subscription ASA ID.", }, ], - } - ); + returns: { type: "uint64" }, + }), + methodArgs: [subscriptionID], + boxes: [ + { + appIndex: this.appID, + name: decodeAddress(subscriber.addr).publicKey, + }, + ], + sender: subscriber.addr, + signer: subscriber.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 3), + }); - return new ABIResult(result); + const response = await deleteSubscriptionAtc.execute(this.algodClient, 10); + + return { + txID: response.txIDs.pop() as string, + }; } - static async deleteDiscount( - { smiID, creator, expirationType }: SMIDeleteDiscountParams, - { client, sender, signer }: ChainMethodParams - ) { - const smi = new SMI({ - client: client, - sender: sender ?? creator.address, - signer: signer ?? creator.signer, - appId: smiID, + public async isSubscriber({ + subscriberAddress, + }: { + subscriberAddress: string; + }): Promise { + const isSubscriberAtc = new AtomicTransactionComposer(); + isSubscriberAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "is_subscriber", + args: [ + { + type: "address", + name: "subscriber", + desc: "The subscriber address.", + }, + ], + returns: { type: "uint64" }, + }), + methodArgs: [subscriberAddress], + sender: this.creator.addr, + signer: this.creator.signer, + boxes: [ + { + appIndex: this.appID, + name: decodeAddress(subscriberAddress).publicKey, + }, + ], + suggestedParams: await getParamsWithFeeCount(this.algodClient, 1), }); - if (!smi) { - throw new Error("SMI not initialized"); - } + const response = await isSubscriberAtc.simulate(this.algodClient); - const result = await smi.delete_discount( - { - expiration_type: BigInt(expirationType), - }, - { - signer: creator.signer, - suggestedParams: await getParamsWithFeeCount(client, 2), - boxes: [ + return Boolean(response.methodResults[0].returnValue); + } + + public async getSubscription({ + algodClient, + subscriberAddress, + }: { + algodClient: AlgodClient; + subscriberAddress: string; + }): Promise { + const getSubscriptionAtc = new AtomicTransactionComposer(); + getSubscriptionAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "get_subscription", + args: [ { - appIndex: smi.appId, - name: encodeUint64(expirationType), + type: "address", + name: "subscriber", + desc: "The subscriber address.", }, ], - } - ); + returns: { type: "(uint64,uint64,uint64,uint64,uint64)" }, + }), + methodArgs: [subscriberAddress], + sender: this.creator.addr, + signer: this.creator.signer, + boxes: [ + { + appIndex: this.appID, + name: decodeAddress(subscriberAddress).publicKey, + }, + ], + suggestedParams: await getParamsWithFeeCount(algodClient, 1), + }); + + const response = await getSubscriptionAtc.simulate(algodClient); + const boxContent: Array = ( + response.methodResults[0].returnValue?.valueOf() as Array + ).map((value) => Number(value)); + + if (boxContent.length !== 5) { + throw new Error("Invalid subscription record"); + } - return new ABIResult(result); + return { + subType: boxContent[0], + subID: boxContent[1], + createdAt: new Date(boxContent[2]), + expiresAt: boxContent[3] === 0 ? undefined : new Date(boxContent[3]), + duration: boxContent[4], + }; } } diff --git a/src/clients/SubtopiaRegistryClient.ts b/src/clients/SubtopiaRegistryClient.ts new file mode 100644 index 0000000..fbcd706 --- /dev/null +++ b/src/clients/SubtopiaRegistryClient.ts @@ -0,0 +1,589 @@ +// ============================================================================= +// Subtopia JS SDK +// Copyright (C) 2023 Altynbek Orumbayev +// ============================================================================= + +import algosdk, { + algosToMicroalgos, + decodeAddress, + decodeUint64, + encodeAddress, + AtomicTransactionComposer, + makePaymentTxnWithSuggestedParamsFromObject, + ABIMethod, + getApplicationAddress, +} from "algosdk"; +import AlgodClient from "algosdk/dist/types/client/v2/algod/algod"; +import { + normalizePrice, + getParamsWithFeeCount, + calculateSmiCreationMbr, + calculateSmlCreationMbr, + calculateRegistryLockerBoxCreateMbr, + getLockerBoxPrefix, +} from "../utils"; +import { getAssetByID } from "../utils"; +import { + PRODUCT_APPROVAL_KEY, + PRODUCT_CLEAR_KEY, + MIN_APP_OPTIN_MBR, + MIN_APP_BALANCE_MBR, + MIN_ASA_OPTIN_MBR, + PRODUCT_CREATION_PLATFORM_FEE_CENTS, + LOCKER_APPROVAL_KEY, + LOCKER_CLEAR_KEY, + SUBTOPIA_REGISTRY_ID, +} from "../constants"; +import { + SubscriptionType, + PriceNormalizationType, + ChainType, + LockerType, +} from "../enums"; + +import { + getAppById, + getAppGlobalState, +} from "@algorandfoundation/algokit-utils"; +import { TransactionSignerAccount } from "@algorandfoundation/algokit-utils/types/account"; +import { ApplicationSpec } from "interfaces"; + +const STP_IMAGE_URL = + "ipfs://bafybeicddz7kbuxajj6bob5bjqtweq6wchkdkiq4vvhwrwrne7iz4f25xi"; +const STP_UNIT_NAME = "STP"; +const encoder = new TextEncoder(); + +export class SubtopiaRegistryClient { + algodClient: algosdk.Algodv2; + creator: TransactionSignerAccount; + version: string; + appID: number; + appAddress: string; + appSpec: ApplicationSpec; + oracleID: number; + + private constructor({ + algodClient, + creator, + appID, + appAddress, + appSpec, + oracleID, + version, + }: { + algodClient: AlgodClient; + creator: TransactionSignerAccount; + appID: number; + appAddress: string; + appSpec: ApplicationSpec; + oracleID: number; + version: string; + }) { + this.algodClient = algodClient; + this.creator = creator; + this.appAddress = appAddress; + this.appID = appID; + this.appSpec = appSpec; + this.oracleID = oracleID; + this.version = version; + } + + public static async init( + algodClient: AlgodClient, + creator: TransactionSignerAccount, + chainType: ChainType + ): Promise { + const registryID = SUBTOPIA_REGISTRY_ID(chainType); + const registryAddress = getApplicationAddress(registryID); + const registrySpec = await getAppById(registryID, algodClient); + + const registryGlobalState = await getAppGlobalState( + registryID, + algodClient + ); + const oracleID = registryGlobalState.oracle_id.value as number; + + const versionAtc = new AtomicTransactionComposer(); + versionAtc.addMethodCall({ + appID: registryID, + method: new ABIMethod({ + name: "get_version", + args: [], + returns: { type: "string" }, + }), + sender: creator.addr, + signer: creator.signer, + suggestedParams: await getParamsWithFeeCount(algodClient, 1), + }); + const response = await versionAtc.simulate(algodClient); + const version = response.methodResults[0].returnValue as string; + + return new SubtopiaRegistryClient({ + algodClient: algodClient, + creator: creator, + appID: registryID, + appAddress: registryAddress, + appSpec: { + approval: registrySpec.params.approvalProgram, + clear: registrySpec.params.clearStateProgram, + globalNumUint: + Number(registrySpec.params.globalStateSchema?.numUint) || 0, + globalNumByteSlice: + Number(registrySpec.params.globalStateSchema?.numByteSlice) || 0, + localNumUint: + Number(registrySpec.params.localStateSchema?.numUint) || 0, + localNumByteSlice: + Number(registrySpec.params.localStateSchema?.numByteSlice) || 0, + }, + oracleID: oracleID, + version: version, + }); + } + + public async getProductCreationFee(coinID = 0): Promise { + return ( + algosToMicroalgos(MIN_APP_OPTIN_MBR) + + algosToMicroalgos(MIN_APP_BALANCE_MBR) + + (await calculateSmiCreationMbr(this.appSpec)) + + (coinID > 0 ? algosToMicroalgos(MIN_ASA_OPTIN_MBR) : 0) + ); + } + + public async getProductCreationPlatformFee( + priceInCents: number + ): Promise { + const computePlatformFeeAtc = new AtomicTransactionComposer(); + computePlatformFeeAtc.addMethodCall({ + appID: this.oracleID, + method: new ABIMethod({ + name: "compute_platform_fee", + args: [ + { + type: "uint64", + name: "whole_usd", + desc: "Amount of USD in whole numbers (CENTS)", + }, + ], + returns: { type: "uint64" }, + }), + methodArgs: [priceInCents], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 1), + }); + + const response = await computePlatformFeeAtc.simulate(this.algodClient); + + return Number(response.methodResults[0].returnValue); + } + + public async getLockerCreationFee(creatorAddress: string): Promise { + return ( + algosToMicroalgos(MIN_APP_OPTIN_MBR) + + (await calculateSmlCreationMbr(this.appSpec)) + + calculateRegistryLockerBoxCreateMbr(creatorAddress) + ); + } + + public async createLocker({ + creator, + lockerType, + }: { + creator: TransactionSignerAccount; + lockerType: LockerType; + }): Promise<{ + txID: string; + lockerID: number; + }> { + const feeAmount = (await this.getLockerCreationFee(creator.addr)) + 10000; + + const createLockerAtc = new AtomicTransactionComposer(); + createLockerAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "create_locker", + args: [ + { + name: "manager", + type: "address", + }, + { + name: "locker_type", + type: "uint64", + }, + { + name: "fee_txn", + type: "pay", + }, + ], + returns: { type: "uint64" }, + }), + methodArgs: [ + creator.addr, + lockerType.valueOf(), + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: creator.addr, + to: this.appAddress, + amount: feeAmount, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: creator.signer, + }, + ], + boxes: [ + { + appIndex: this.appID, + name: new Uint8Array([ + ...Buffer.from("cl-"), + ...decodeAddress(creator.addr).publicKey, + ]), + }, + { + appIndex: this.appID, + name: encoder.encode(LOCKER_APPROVAL_KEY), + }, + { + appIndex: this.appID, + name: encoder.encode(LOCKER_CLEAR_KEY), + }, + ], + sender: creator.addr, + signer: creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 4), + }); + + const response = await createLockerAtc.execute(this.algodClient, 10); + + return { + txID: response.txIDs.pop() as string, + lockerID: Number(response.methodResults[0].returnValue), + }; + } + + public static async getLocker({ + registryID, + algodClient, + ownerAddress, + }: { + registryID: number; + algodClient: AlgodClient; + ownerAddress: string; + }): Promise { + const boxValue = await algodClient + .getApplicationBoxByName( + registryID, + new Uint8Array([ + ...getLockerBoxPrefix(LockerType.CREATOR), + ...decodeAddress(ownerAddress).publicKey, + ]) + ) + .do() + .catch(() => undefined); + + return boxValue ? decodeUint64(boxValue.value, "safe") : undefined; + } + + public async transferInfrastructure({ + infrastructureID, + newOwnerAddress, + }: { + infrastructureID: number; + newOwnerAddress: string; + }): Promise<{ + txID: string; + }> { + const oldOwnerLockerId = await SubtopiaRegistryClient.getLocker({ + registryID: this.appID, + algodClient: this.algodClient, + ownerAddress: this.creator.addr, + }); + const newOwnerLockerId = await SubtopiaRegistryClient.getLocker({ + registryID: this.appID, + algodClient: this.algodClient, + ownerAddress: newOwnerAddress, + }); + + if (!oldOwnerLockerId) { + throw new Error("Locker not found"); + } + + const boxes = [ + { + appIndex: this.appID, + name: new Uint8Array([ + ...getLockerBoxPrefix(LockerType.CREATOR), + ...decodeAddress(this.creator.addr).publicKey, + ]), + }, + { + appIndex: this.appID, + name: new Uint8Array([ + ...getLockerBoxPrefix(LockerType.CREATOR), + ...decodeAddress(newOwnerAddress).publicKey, + ]), + }, + ]; + + if (!newOwnerLockerId) { + boxes.push.apply(boxes, [ + { + appIndex: this.appID, + name: encoder.encode(LOCKER_APPROVAL_KEY), + }, + { + appIndex: this.appID, + name: encoder.encode(LOCKER_CLEAR_KEY), + }, + ]); + } + + const transferInfraAtc = new AtomicTransactionComposer(); + transferInfraAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "transfer_infrastructure", + args: [ + { + type: "application", + name: "infrastructure", + desc: "The INFRASTRUCTURE.", + }, + { + type: "application", + name: "old_locker", + desc: "The old locker.", + }, + { + type: "address", + name: "new_manager", + desc: "The new manager address.", + }, + { + type: "pay", + name: "transfer_fee_txn", + desc: "The transfer fee transaction.", + }, + ], + returns: { type: "void" }, + }), + methodArgs: [ + infrastructureID, + oldOwnerLockerId, + newOwnerAddress, + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: this.creator.addr, + to: this.appAddress, + amount: algosToMicroalgos(newOwnerLockerId ? 1 : 0.5), + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: this.creator.signer, + }, + ], + boxes: boxes, + sender: this.creator.addr, + signer: this.creator.signer, + appForeignApps: newOwnerLockerId ? [newOwnerLockerId] : undefined, + suggestedParams: await getParamsWithFeeCount( + this.algodClient, + newOwnerLockerId ? 10 : 11 + ), + }); + + const response = await transferInfraAtc.execute(this.algodClient, 10); + + return { + txID: response.txIDs.pop() as string, + }; + } + + public async createInfrastructure({ + productName, + subscriptionName, + price, + lockerID, + subType = SubscriptionType.UNLIMITED, + maxSubs = 0, + coinID = 0, + unitName = STP_UNIT_NAME, + imageUrl = STP_IMAGE_URL, + }: { + productName: string; + subscriptionName: string; + price: number; + lockerID: number; + subType?: SubscriptionType; + maxSubs?: number; + coinID?: number; + unitName?: string; + imageUrl?: string; + }): Promise<{ + txID: string; + infrastructureID: number; + }> { + const asset = await getAssetByID(this.algodClient, coinID); + + if (!this.oracleID) { + throw new Error("SMR is not initialized"); + } + const oracleAdminState = ( + await getAppGlobalState(this.oracleID, this.algodClient) + ).admin; + const adminAddress = encodeAddress( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + oracleAdminState.valueRaw + ); + const feeAmount = await this.getProductCreationFee(coinID); + const platformFeeAmount = await this.getProductCreationPlatformFee( + PRODUCT_CREATION_PLATFORM_FEE_CENTS + ); + + const createInfraAtc = new AtomicTransactionComposer(); + createInfraAtc.addMethodCall({ + appID: this.appID, + method: new ABIMethod({ + name: "create_infrastructure", + args: [ + { + type: "string", + name: "product_name", + desc: "The name of the product (subtopia, netflix, etc)", + }, + { + type: "string", + name: "subscription_name", + desc: "The subscription name of the product (pro, etc)", + }, + { + type: "uint64", + name: "sub_type", + desc: "The sub type of the INFRASTRUCTURE.", + }, + { + type: "uint64", + name: "price", + desc: "The price of the INFRASTRUCTURE.", + }, + { + type: "uint64", + name: "max_subs", + desc: "The maximum number of subscriptions.", + }, + { + type: "asset", + name: "coin", + desc: "The coin of the INFRASTRUCTURE.", + }, + { + type: "string", + name: "unit_name", + desc: "The unit name of the INFRASTRUCTURE.", + }, + { + type: "string", + name: "image_url", + desc: "The image URL of the INFRASTRUCTURE.", + }, + { + type: "address", + name: "manager", + desc: "The manager address.", + }, + { + type: "application", + name: "locker", + desc: "The locker.", + }, + { + type: "application", + name: "oracle", + desc: "The oracle.", + }, + { + type: "pay", + name: "fee_txn", + desc: "The fee transaction.", + }, + { + type: "pay", + name: "platform_fee_txn", + desc: "The platform fee transaction.", + }, + ], + returns: { type: "uint64" }, + }), + methodArgs: [ + productName, + subscriptionName, + subType.valueOf(), + normalizePrice( + price, + asset.decimals, + PriceNormalizationType.RAW + ).valueOf(), + maxSubs, + asset.index, + unitName, + imageUrl, + this.creator.addr, + lockerID, + this.oracleID, + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: this.creator.addr, + to: this.appAddress, + amount: feeAmount, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: this.creator.signer, + }, + { + txn: makePaymentTxnWithSuggestedParamsFromObject({ + from: this.creator.addr, + to: adminAddress, + amount: platformFeeAmount, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 0), + }), + signer: this.creator.signer, + }, + ], + boxes: [ + { + appIndex: this.appID, + name: new Uint8Array([ + ...Buffer.from("cl-"), + ...decodeAddress(this.creator.addr).publicKey, + ]), + }, + { + appIndex: this.appID, + name: encoder.encode(PRODUCT_APPROVAL_KEY), + }, + { + appIndex: this.appID, + name: encoder.encode(PRODUCT_APPROVAL_KEY), + }, + { + appIndex: this.appID, + name: encoder.encode(PRODUCT_APPROVAL_KEY), + }, + { + appIndex: this.appID, + name: encoder.encode(PRODUCT_CLEAR_KEY), + }, + ], + sender: this.creator.addr, + signer: this.creator.signer, + suggestedParams: await getParamsWithFeeCount(this.algodClient, 8), + }); + + const response = await createInfraAtc.execute(this.algodClient, 10); + + return { + txID: response.txIDs.pop() as string, + infrastructureID: Number(response.methodResults[0].returnValue), + }; + } +} diff --git a/src/clients/index.ts b/src/clients/index.ts new file mode 100644 index 0000000..5f9afdf --- /dev/null +++ b/src/clients/index.ts @@ -0,0 +1,4 @@ +import { SubtopiaClient } from "./SubtopiaClient"; +import { SubtopiaRegistryClient } from "./SubtopiaRegistryClient"; + +export { SubtopiaClient, SubtopiaRegistryClient }; diff --git a/src/constants/index.ts b/src/constants/index.ts index 09e5a93..95a6e0b 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -3,11 +3,19 @@ // Copyright (C) 2023 Altynbek Orumbayev // ============================================================================= +import { ChainType } from "../enums"; import { AssetMetadata } from "../interfaces"; export const DEFAULT_AWAIT_ROUNDS = 10; -export const SUBTOPIA_CONTRACTS_VERSION = "0.3.0"; -export const SUBTOPIA_REGISTRY_APP_ID = 188962978; +export const TESTNET_SUBTOPIA_REGISTRY_ID = 269954941; +export const MAINNET_SUBTOPIA_REGISTRY_ID = 269954941; +export const SUBTOPIA_REGISTRY_ID = (chainType: ChainType) => { + if (chainType === ChainType.MAINNET) { + return TESTNET_SUBTOPIA_REGISTRY_ID; + } else { + return MAINNET_SUBTOPIA_REGISTRY_ID; + } +}; export const ALGO_ASSET = { index: 0, @@ -16,3 +24,24 @@ export const ALGO_ASSET = { decimals: 6, unitName: "ALGO", } as AssetMetadata; + +export const PRODUCT_STATE_MANAGER_KEY = "manager"; +export const PRODUCT_APPROVAL_KEY = "infrastructure_approval"; +export const PRODUCT_CLEAR_KEY = "infrastructure_clear"; +export const LOCKER_APPROVAL_KEY = "locker_approval"; +export const LOCKER_CLEAR_KEY = "locker_clear"; + +export const MIN_APP_BALANCE_MBR = 0.1; // ALGO +export const MIN_APP_OPTIN_MBR = 0.1; // ALGO +export const MIN_ASA_OPTIN_MBR = 0.1; // ALGO +export const MIN_ASA_CREATE_MBR = 0.1; // ALGO + +// Platform fees +export const SUBSCRIPTION_PLATFORM_FEE_CENTS = 10; +export const PRODUCT_CREATION_PLATFORM_FEE_CENTS = 500; + +// Algorand minimum transaction fee +export const REGISTRY_VERSION = "1.0"; +export const PRODUCTVERSION = "1.0"; +export const LOCKER_VERSION = "1.0"; +export const ORACLE_VERSION = "1.0"; diff --git a/src/contracts/smi_client.ts b/src/contracts/smi_client.ts deleted file mode 100644 index aa69c0b..0000000 --- a/src/contracts/smi_client.ts +++ /dev/null @@ -1,804 +0,0 @@ -/* c8 ignore start */ -import algosdk from "algosdk"; -import * as bkr from "beaker-ts"; -export class Discount { - expiration_type = BigInt(0); - discount_type = BigInt(0); - discount_value = BigInt(0); - expires_at = BigInt(0); - created_at = BigInt(0); - total_claims = BigInt(0); - static codec: algosdk.ABIType = algosdk.ABIType.from( - "(uint64,uint64,uint64,uint64,uint64,uint64)" - ); - static fields: string[] = [ - "expiration_type", - "discount_type", - "discount_value", - "expires_at", - "created_at", - "total_claims", - ]; - static decodeResult(val: algosdk.ABIValue | undefined): Discount { - return bkr.decodeNamedTuple(val, Discount.fields) as Discount; - } - static decodeBytes(val: Uint8Array): Discount { - return bkr.decodeNamedTuple( - Discount.codec.decode(val), - Discount.fields - ) as Discount; - } -} -export class Subscription { - sub_type = BigInt(0); - sub_id = BigInt(0); - created_at = BigInt(0); - expires_at = BigInt(0); - expiration_type = BigInt(0); - static codec: algosdk.ABIType = algosdk.ABIType.from( - "(uint64,uint64,uint64,uint64,uint64)" - ); - static fields: string[] = [ - "sub_type", - "sub_id", - "created_at", - "expires_at", - "expiration_type", - ]; - static decodeResult(val: algosdk.ABIValue | undefined): Subscription { - return bkr.decodeNamedTuple(val, Subscription.fields) as Subscription; - } - static decodeBytes(val: Uint8Array): Subscription { - return bkr.decodeNamedTuple( - Subscription.codec.decode(val), - Subscription.fields - ) as Subscription; - } -} -export class SMI extends bkr.ApplicationClient { - desc = ""; - override appSchema: bkr.Schema = { - declared: { - active_subs: { - type: bkr.AVMType.uint64, - key: "active_subs", - desc: "", - static: false, - }, - coin_id: { - type: bkr.AVMType.uint64, - key: "coin_id", - desc: "", - static: false, - }, - created_at: { - type: bkr.AVMType.uint64, - key: "created_at", - desc: "", - static: false, - }, - lifecycle: { - type: bkr.AVMType.uint64, - key: "lifecycle", - desc: "", - static: false, - }, - manager: { - type: bkr.AVMType.bytes, - key: "manager", - desc: "", - static: false, - }, - max_subs: { - type: bkr.AVMType.uint64, - key: "max_subs", - desc: "", - static: false, - }, - name: { type: bkr.AVMType.bytes, key: "name", desc: "", static: false }, - price: { - type: bkr.AVMType.uint64, - key: "price", - desc: "", - static: false, - }, - sub_type: { - type: bkr.AVMType.uint64, - key: "sub_type", - desc: "", - static: false, - }, - total_subs: { - type: bkr.AVMType.uint64, - key: "total_subs", - desc: "", - static: false, - }, - version: { - type: bkr.AVMType.bytes, - key: "version", - desc: "", - static: false, - }, - }, - reserved: {}, - }; - override acctSchema: bkr.Schema = { declared: {}, reserved: {} }; - override approvalProgram = - "I3ByYWdtYSB2ZXJzaW9uIDgKaW50Y2Jsb2NrIDAgMSA4IDMgMTI4IDI1NQpieXRlY2Jsb2NrIDB4IDB4NmQ2MTZlNjE2NzY1NzIgMHg2MTYzNzQ2OTc2NjU1ZjczNzU2MjczIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OSAweDcwNzI2OTYzNjUgMHgxNTFmN2M3NSAweDczNzU2MjVmNzQ3OTcwNjUgMHg2YzY5NjY2NTYzNzk2MzZjNjUgMHg2ZDYxNzg1ZjczNzU2MjczIDB4NzQ2Zjc0NjE2YzVmNzM3NTYyNzMgMHg2ZTYxNmQ2NSAweDUwNzI2ZjY3NzI2MTZkIDB4NjM2ZjY5NmU1ZjY5NjQgMHg2MzcyNjU2MTc0NjU2NDVmNjE3NCAweDc2NjU3MjczNjk2ZjZlCnR4biBOdW1BcHBBcmdzCmludGNfMCAvLyAwCj09CmJueiBtYWluX2wzMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDE3ZDcxNTVhIC8vICJjcmVhdGUoc3RyaW5nLHN0cmluZyxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgo9PQpibnogbWFpbl9sMjkKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHhjODZmZGIwMSAvLyAidXBkYXRlX21hbmFnZXIoYWRkcmVzcyl2b2lkIgo9PQpibnogbWFpbl9sMjgKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHgwOTFlMTMyZiAvLyAiZ2V0X2Rpc2NvdW50KHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgo9PQpibnogbWFpbl9sMjcKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHg3NGViYWEwYiAvLyAiY3JlYXRlX2Rpc2NvdW50KHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCxwYXkpdm9pZCIKPT0KYm56IG1haW5fbDI2CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4YTljMGVjYzAgLy8gImRlbGV0ZV9kaXNjb3VudCh1aW50NjQpdm9pZCIKPT0KYm56IG1haW5fbDI1CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4ZGM3MTZlNTAgLy8gInN1YnNjcmliZShhZGRyZXNzLHVpbnQ2NCxwYXksdHhuKXVpbnQ2NCIKPT0KYm56IG1haW5fbDI0CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4YzE2ODZmZWQgLy8gImdldF9zdWJzY3JpcHRpb24oYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCj09CmJueiBtYWluX2wyMwp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDFlYzVlOThhIC8vICJpc19zdWJzY3JpYmVyKGFkZHJlc3MpdWludDY0Igo9PQpibnogbWFpbl9sMjIKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHgzNTQ5Mzg2OCAvLyAiY2xhaW1fc3Vic2NyaXB0aW9uKHVpbnQ2NCl2b2lkIgo9PQpibnogbWFpbl9sMjEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHg3YjJlY2MzMSAvLyAidHJhbnNmZXJfc3Vic2NyaXB0aW9uKGFkZHJlc3MsdWludDY0KXZvaWQiCj09CmJueiBtYWluX2wyMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDkyYTkwYWY2IC8vICJ1bnN1YnNjcmliZShhc3NldCl1aW50NjQiCj09CmJueiBtYWluX2wxOQp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDgyZDU3ZmNjIC8vICJtYXJrX2Zvcl9kZWxldGlvbihwYXkpdm9pZCIKPT0KYm56IG1haW5fbDE4CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4MjhlMWVhOGYgLy8gImRlbGV0ZV9zdWJzY3JpcHRpb24oYWRkcmVzcyx1aW50NjQpdm9pZCIKPT0KYm56IG1haW5fbDE3CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4MjQzNzhkM2MgLy8gImRlbGV0ZSgpdm9pZCIKPT0KYm56IG1haW5fbDE2CmVycgptYWluX2wxNjoKdHhuIE9uQ29tcGxldGlvbgpwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgZGVsZXRlXzI3CmludGNfMSAvLyAxCnJldHVybgptYWluX2wxNzoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpzdG9yZSAyNAp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCmJ0b2kKc3RvcmUgMjUKbG9hZCAyNApsb2FkIDI1CmNhbGxzdWIgZGVsZXRlc3Vic2NyaXB0aW9uXzI2CmludGNfMSAvLyAxCnJldHVybgptYWluX2wxODoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuIEdyb3VwSW5kZXgKaW50Y18xIC8vIDEKLQpzdG9yZSAyMwpsb2FkIDIzCmd0eG5zIFR5cGVFbnVtCmludGNfMSAvLyBwYXkKPT0KYXNzZXJ0CmxvYWQgMjMKY2FsbHN1YiBtYXJrZm9yZGVsZXRpb25fMjUKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDE5Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmludGNfMCAvLyAwCmdldGJ5dGUKY2FsbHN1YiB1bnN1YnNjcmliZV8yNApzdG9yZSAyMgpieXRlYyA1IC8vIDB4MTUxZjdjNzUKbG9hZCAyMgppdG9iCmNvbmNhdApsb2cKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDIwOgp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCnN0b3JlIDIwCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKYnRvaQpzdG9yZSAyMQpsb2FkIDIwCmxvYWQgMjEKY2FsbHN1YiB0cmFuc2ZlcnN1YnNjcmlwdGlvbl8yMwppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMjE6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpjYWxsc3ViIGNsYWltc3Vic2NyaXB0aW9uXzIyCmludGNfMSAvLyAxCnJldHVybgptYWluX2wyMjoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpjYWxsc3ViIGlzc3Vic2NyaWJlcl8yMQpzdG9yZSAxOQpieXRlYyA1IC8vIDB4MTUxZjdjNzUKbG9hZCAxOQppdG9iCmNvbmNhdApsb2cKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDIzOgp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmNhbGxzdWIgZ2V0c3Vic2NyaXB0aW9uXzIwCnN0b3JlIDE4CmJ5dGVjIDUgLy8gMHgxNTFmN2M3NQpsb2FkIDE4CmNvbmNhdApsb2cKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDI0Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCnN0b3JlIDEzCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKYnRvaQpzdG9yZSAxNAp0eG4gR3JvdXBJbmRleApwdXNoaW50IDIgLy8gMgotCnN0b3JlIDE1CmxvYWQgMTUKZ3R4bnMgVHlwZUVudW0KaW50Y18xIC8vIHBheQo9PQphc3NlcnQKdHhuIEdyb3VwSW5kZXgKaW50Y18xIC8vIDEKLQpzdG9yZSAxNgpsb2FkIDEzCmxvYWQgMTQKbG9hZCAxNQpsb2FkIDE2CmNhbGxzdWIgc3Vic2NyaWJlXzE5CnN0b3JlIDE3CmJ5dGVjIDUgLy8gMHgxNTFmN2M3NQpsb2FkIDE3Cml0b2IKY29uY2F0CmxvZwppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMjU6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpjYWxsc3ViIGRlbGV0ZWRpc2NvdW50XzE4CmludGNfMSAvLyAxCnJldHVybgptYWluX2wyNjoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCnN0b3JlIDgKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgpidG9pCnN0b3JlIDkKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwpidG9pCnN0b3JlIDEwCnR4bmEgQXBwbGljYXRpb25BcmdzIDQKYnRvaQpzdG9yZSAxMQp0eG4gR3JvdXBJbmRleAppbnRjXzEgLy8gMQotCnN0b3JlIDEyCmxvYWQgMTIKZ3R4bnMgVHlwZUVudW0KaW50Y18xIC8vIHBheQo9PQphc3NlcnQKbG9hZCA4CmxvYWQgOQpsb2FkIDEwCmxvYWQgMTEKbG9hZCAxMgpjYWxsc3ViIGNyZWF0ZWRpc2NvdW50XzE3CmludGNfMSAvLyAxCnJldHVybgptYWluX2wyNzoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCmNhbGxzdWIgZ2V0ZGlzY291bnRfMTYKc3RvcmUgNwpieXRlYyA1IC8vIDB4MTUxZjdjNzUKbG9hZCA3CmNvbmNhdApsb2cKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDI4Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmNhbGxzdWIgdXBkYXRlbWFuYWdlcl8xNQppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMjk6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKPT0KJiYKYXNzZXJ0CnR4bmEgQXBwbGljYXRpb25BcmdzIDEKc3RvcmUgMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCnN0b3JlIDEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwpzdG9yZSAyCnR4bmEgQXBwbGljYXRpb25BcmdzIDQKYnRvaQpzdG9yZSAzCnR4bmEgQXBwbGljYXRpb25BcmdzIDUKYnRvaQpzdG9yZSA0CnR4bmEgQXBwbGljYXRpb25BcmdzIDYKYnRvaQpzdG9yZSA1CnR4bmEgQXBwbGljYXRpb25BcmdzIDcKYnRvaQpzdG9yZSA2CmxvYWQgMApsb2FkIDEKbG9hZCAyCmxvYWQgMwpsb2FkIDQKbG9hZCA1CmxvYWQgNgpjYWxsc3ViIGNyZWF0ZV8xMgppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMzA6CnR4biBPbkNvbXBsZXRpb24KaW50Y18xIC8vIE9wdEluCj09CmJueiBtYWluX2wzNAp0eG4gT25Db21wbGV0aW9uCnB1c2hpbnQgMiAvLyBDbG9zZU91dAo9PQpibnogbWFpbl9sMzMKZXJyCm1haW5fbDMzOgp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQphc3NlcnQKY2FsbHN1YiBjbG9zZW91dF8xNAppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMzQ6CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CmFzc2VydApjYWxsc3ViIG9wdGluXzEzCmludGNfMSAvLyAxCnJldHVybgoKLy8gaW50X3RvX2FzY2lpCmludHRvYXNjaWlfMDoKcHJvdG8gMSAxCnB1c2hieXRlcyAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgpmcmFtZV9kaWcgLTEKaW50Y18xIC8vIDEKZXh0cmFjdDMKcmV0c3ViCgovLyBpdG9hCml0b2FfMToKcHJvdG8gMSAxCmZyYW1lX2RpZyAtMQppbnRjXzAgLy8gMAo9PQpibnogaXRvYV8xX2w1CmZyYW1lX2RpZyAtMQpwdXNoaW50IDEwIC8vIDEwCi8KaW50Y18wIC8vIDAKPgpibnogaXRvYV8xX2w0CmJ5dGVjXzAgLy8gIiIKaXRvYV8xX2wzOgpmcmFtZV9kaWcgLTEKcHVzaGludCAxMCAvLyAxMAolCmNhbGxzdWIgaW50dG9hc2NpaV8wCmNvbmNhdApiIGl0b2FfMV9sNgppdG9hXzFfbDQ6CmZyYW1lX2RpZyAtMQpwdXNoaW50IDEwIC8vIDEwCi8KY2FsbHN1YiBpdG9hXzEKYiBpdG9hXzFfbDMKaXRvYV8xX2w1OgpwdXNoYnl0ZXMgMHgzMCAvLyAiMCIKaXRvYV8xX2w2OgpyZXRzdWIKCi8vIGVuY29kZV91dmFyaW50X2ltcGwKZW5jb2RldXZhcmludGltcGxfMjoKcHJvdG8gMiAxCmZyYW1lX2RpZyAtMQpmcmFtZV9kaWcgLTIKaW50YyA0IC8vIDEyOAo+PQpibnogZW5jb2RldXZhcmludGltcGxfMl9sMgpmcmFtZV9kaWcgLTIKaW50YyA1IC8vIDI1NQomCml0b2IKZXh0cmFjdCA3IDEKYiBlbmNvZGV1dmFyaW50aW1wbF8yX2wzCmVuY29kZXV2YXJpbnRpbXBsXzJfbDI6CmZyYW1lX2RpZyAtMgpwdXNoaW50IDcgLy8gNwpzaHIKZnJhbWVfZGlnIC0yCmludGMgNSAvLyAyNTUKJgppbnRjIDQgLy8gMTI4CnwKaXRvYgpleHRyYWN0IDcgMQpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzIKZW5jb2RldXZhcmludGltcGxfMl9sMzoKY29uY2F0CnJldHN1YgoKLy8gaW5uZXJfY3JlYXRlX25mdAppbm5lcmNyZWF0ZW5mdF8zOgpwcm90byAzIDEKaXR4bl9iZWdpbgppbnRjXzMgLy8gYWNmZwppdHhuX2ZpZWxkIFR5cGVFbnVtCmludGNfMSAvLyAxCml0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAppbnRjXzAgLy8gMAppdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKaW50Y18xIC8vIDEKaXR4bl9maWVsZCBDb25maWdBc3NldERlZmF1bHRGcm96ZW4KZnJhbWVfZGlnIC0yCml0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQpmcmFtZV9kaWcgLTMKaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKZnJhbWVfZGlnIC0xCml0eG5fZmllbGQgQ29uZmlnQXNzZXRVUkwKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKaXR4bl9maWVsZCBDb25maWdBc3NldFJlc2VydmUKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwppdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0Q2xhd2JhY2sKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKaXR4biBDcmVhdGVkQXNzZXRJRApyZXRzdWIKCi8vIGlubmVyX3RyYW5zZmVyX25mdAppbm5lcnRyYW5zZmVybmZ0XzQ6CnByb3RvIDMgMAppdHhuX2JlZ2luCnB1c2hpbnQgNCAvLyBheGZlcgppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAtMwppdHhuX2ZpZWxkIFhmZXJBc3NldAppbnRjXzEgLy8gMQppdHhuX2ZpZWxkIEFzc2V0QW1vdW50CmZyYW1lX2RpZyAtMgppdHhuX2ZpZWxkIEFzc2V0U2VuZGVyCmZyYW1lX2RpZyAtMQppdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKcmV0c3ViCgovLyBpbm5lcl9kZWxldGVfbmZ0CmlubmVyZGVsZXRlbmZ0XzU6CnByb3RvIDEgMAppdHhuX2JlZ2luCmludGNfMyAvLyBhY2ZnCml0eG5fZmllbGQgVHlwZUVudW0KZnJhbWVfZGlnIC0xCml0eG5fZmllbGQgQ29uZmlnQXNzZXQKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKcmV0c3ViCgovLyBpbm5lcl9kZWxldGVfc3Vic2NyaXB0aW9uCmlubmVyZGVsZXRlc3Vic2NyaXB0aW9uXzY6CnByb3RvIDIgMApmcmFtZV9kaWcgLTIKZnJhbWVfZGlnIC0xCmFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQpzdG9yZSA2NgpzdG9yZSA2NQpsb2FkIDY2CmxvYWQgNjUKaW50Y18wIC8vIDAKPgomJgpibnogaW5uZXJkZWxldGVzdWJzY3JpcHRpb25fNl9sMwppbm5lcmRlbGV0ZXN1YnNjcmlwdGlvbl82X2wxOgpmcmFtZV9kaWcgLTEKY2FsbHN1YiBpbm5lcmRlbGV0ZW5mdF81CmJ5dGVjXzIgLy8gImFjdGl2ZV9zdWJzIgphcHBfZ2xvYmFsX2dldAppbnRjXzAgLy8gMAohPQpieiBpbm5lcmRlbGV0ZXN1YnNjcmlwdGlvbl82X2w0CmJ5dGVjXzIgLy8gImFjdGl2ZV9zdWJzIgpieXRlY18yIC8vICJhY3RpdmVfc3VicyIKYXBwX2dsb2JhbF9nZXQKaW50Y18xIC8vIDEKLQphcHBfZ2xvYmFsX3B1dApiIGlubmVyZGVsZXRlc3Vic2NyaXB0aW9uXzZfbDQKaW5uZXJkZWxldGVzdWJzY3JpcHRpb25fNl9sMzoKZnJhbWVfZGlnIC0xCmZyYW1lX2RpZyAtMgpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpjYWxsc3ViIGlubmVydHJhbnNmZXJuZnRfNApiIGlubmVyZGVsZXRlc3Vic2NyaXB0aW9uXzZfbDEKaW5uZXJkZWxldGVzdWJzY3JpcHRpb25fNl9sNDoKZnJhbWVfZGlnIC0yCmJveF9kZWwKcG9wCnJldHN1YgoKLy8gaW5uZXJfY29tcHV0ZV9leHBpcmF0aW9uCmlubmVyY29tcHV0ZWV4cGlyYXRpb25fNzoKcHJvdG8gMiAxCmZyYW1lX2RpZyAtMgppbnRjXzAgLy8gMAo9PQpibnogaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83X2wxMApmcmFtZV9kaWcgLTEKaW50Y18xIC8vIDEKPT0KYm56IGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sOQpmcmFtZV9kaWcgLTEKcHVzaGludCAyIC8vIDIKPT0KYm56IGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sOApmcmFtZV9kaWcgLTEKaW50Y18zIC8vIDMKPT0KYm56IGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sNwpmcmFtZV9kaWcgLTEKcHVzaGludCA0IC8vIDQKPT0KYm56IGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sNgplcnIKaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83X2w2OgpnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCnB1c2hpbnQgMzE1MzYwMDAgLy8gMzE1MzYwMDAKKwpiIGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sMTEKaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83X2w3OgpnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCnB1c2hpbnQgMTU1NTIwMDAgLy8gMTU1NTIwMDAKKwpiIGlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sMTEKaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83X2w4OgpnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCnB1c2hpbnQgNzc3NjAwMCAvLyA3Nzc2MDAwCisKYiBpbm5lcmNvbXB1dGVleHBpcmF0aW9uXzdfbDExCmlubmVyY29tcHV0ZWV4cGlyYXRpb25fN19sOToKZ2xvYmFsIExhdGVzdFRpbWVzdGFtcApwdXNoaW50IDI1OTIwMDAgLy8gMjU5MjAwMAorCmIgaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83X2wxMQppbm5lcmNvbXB1dGVleHBpcmF0aW9uXzdfbDEwOgppbnRjXzAgLy8gMAppbm5lcmNvbXB1dGVleHBpcmF0aW9uXzdfbDExOgpyZXRzdWIKCi8vIGluY3JlbWVudF9kaXNjb3VudF90b3RhbF9jbGFpbXMKaW5jcmVtZW50ZGlzY291bnR0b3RhbGNsYWltc184Ogpwcm90byAxIDAKYnl0ZWNfMCAvLyAiIgppbnRjXzAgLy8gMApkdXBuIDUKYnl0ZWNfMCAvLyAiIgppbnRjXzAgLy8gMApkdXAKYnl0ZWNfMCAvLyAiIgpkdXAKZnJhbWVfZGlnIC0xCml0b2IKYm94X2xlbgpzdG9yZSA0NgpzdG9yZSA0NQpsb2FkIDQ2CmJ6IGluY3JlbWVudGRpc2NvdW50dG90YWxjbGFpbXNfOF9sMgpmcmFtZV9kaWcgLTEKaXRvYgpib3hfZ2V0CnN0b3JlIDQ4CnN0b3JlIDQ3CmxvYWQgNDgKYXNzZXJ0CmxvYWQgNDcKZnJhbWVfYnVyeSAwCmZyYW1lX2RpZyAwCmludGNfMiAvLyA4CmV4dHJhY3RfdWludDY0CmZyYW1lX2J1cnkgMQppbmNyZW1lbnRkaXNjb3VudHRvdGFsY2xhaW1zXzhfbDI6CmZyYW1lX2RpZyAwCnB1c2hpbnQgMTYgLy8gMTYKZXh0cmFjdF91aW50NjQKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAwCnB1c2hpbnQgMjQgLy8gMjQKZXh0cmFjdF91aW50NjQKZnJhbWVfYnVyeSAzCmZyYW1lX2RpZyAwCnB1c2hpbnQgMzIgLy8gMzIKZXh0cmFjdF91aW50NjQKZnJhbWVfYnVyeSA0CmZyYW1lX2RpZyAwCnB1c2hpbnQgNDAgLy8gNDAKZXh0cmFjdF91aW50NjQKZnJhbWVfYnVyeSA1CmZyYW1lX2RpZyA1CmludGNfMSAvLyAxCisKZnJhbWVfYnVyeSA2CmZyYW1lX2RpZyAtMQppdG9iCmZyYW1lX2RpZyAxCml0b2IKY29uY2F0CmZyYW1lX2RpZyAyCml0b2IKY29uY2F0CmZyYW1lX2RpZyAzCml0b2IKY29uY2F0CmZyYW1lX2RpZyA0Cml0b2IKY29uY2F0CmZyYW1lX2RpZyA2Cml0b2IKY29uY2F0CmZyYW1lX2J1cnkgNwpmcmFtZV9kaWcgLTEKaXRvYgpib3hfZGVsCnBvcApmcmFtZV9kaWcgLTEKaXRvYgpmcmFtZV9kaWcgNwpib3hfcHV0CnJldHN1YgoKLy8gaW5uZXJfY29tcHV0ZV9kaXNjb3VudF9wcmljZQppbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzk6CnByb3RvIDIgMQpieXRlY18wIC8vICIiCmludGNfMCAvLyAwCmR1cG4gMgpmcmFtZV9kaWcgLTIKaXRvYgpib3hfbGVuCnN0b3JlIDQyCnN0b3JlIDQxCmxvYWQgNDIKYm56IGlubmVyY29tcHV0ZWRpc2NvdW50cHJpY2VfOV9sMgpmcmFtZV9kaWcgLTEKYiBpbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzlfbDkKaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2wyOgpmcmFtZV9kaWcgLTIKaXRvYgpib3hfZ2V0CnN0b3JlIDQ0CnN0b3JlIDQzCmxvYWQgNDQKYXNzZXJ0CmxvYWQgNDMKZnJhbWVfYnVyeSAwCmZyYW1lX2RpZyAwCmludGNfMiAvLyA4CmV4dHJhY3RfdWludDY0CmZyYW1lX2J1cnkgMQpmcmFtZV9kaWcgMApwdXNoaW50IDE2IC8vIDE2CmV4dHJhY3RfdWludDY0CmZyYW1lX2J1cnkgMgpmcmFtZV9kaWcgMApwdXNoaW50IDI0IC8vIDI0CmV4dHJhY3RfdWludDY0CmZyYW1lX2J1cnkgMwpmcmFtZV9kaWcgMwpnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCjwKZnJhbWVfZGlnIDMKaW50Y18wIC8vIDAKPgomJgpibnogaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2w4CmZyYW1lX2RpZyAxCmludGNfMCAvLyAwCj09CmJueiBpbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzlfbDcKZnJhbWVfZGlnIDEKaW50Y18xIC8vIDEKPT0KYm56IGlubmVyY29tcHV0ZWRpc2NvdW50cHJpY2VfOV9sNgpmcmFtZV9kaWcgLTEKYiBpbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzlfbDkKaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2w2OgpmcmFtZV9kaWcgLTIKY2FsbHN1YiBpbmNyZW1lbnRkaXNjb3VudHRvdGFsY2xhaW1zXzgKZnJhbWVfZGlnIC0xCmZyYW1lX2RpZyAyCi0KYiBpbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzlfbDkKaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2w3OgpmcmFtZV9kaWcgLTIKY2FsbHN1YiBpbmNyZW1lbnRkaXNjb3VudHRvdGFsY2xhaW1zXzgKZnJhbWVfZGlnIC0xCmZyYW1lX2RpZyAtMQpmcmFtZV9kaWcgMgoqCnB1c2hpbnQgMTAwIC8vIDEwMAovCi0KYiBpbm5lcmNvbXB1dGVkaXNjb3VudHByaWNlXzlfbDkKaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2w4OgpmcmFtZV9kaWcgLTEKaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85X2w5OgpmcmFtZV9idXJ5IDAKcmV0c3ViCgovLyBpbm5lcl9jb21wdXRlX3ByaWNlCmlubmVyY29tcHV0ZXByaWNlXzEwOgpwcm90byAxIDEKaW50Y18wIC8vIDAKZnJhbWVfZGlnIC0xCmludGNfMCAvLyAwCj09CmJueiBpbm5lcmNvbXB1dGVwcmljZV8xMF9sMTAKZnJhbWVfZGlnIC0xCmludGNfMSAvLyAxCj09CmJueiBpbm5lcmNvbXB1dGVwcmljZV8xMF9sOQpmcmFtZV9kaWcgLTEKcHVzaGludCAyIC8vIDIKPT0KYm56IGlubmVyY29tcHV0ZXByaWNlXzEwX2w4CmZyYW1lX2RpZyAtMQppbnRjXzMgLy8gMwo9PQpibnogaW5uZXJjb21wdXRlcHJpY2VfMTBfbDcKZnJhbWVfZGlnIC0xCnB1c2hpbnQgNCAvLyA0Cj09CmJueiBpbm5lcmNvbXB1dGVwcmljZV8xMF9sNgplcnIKaW5uZXJjb21wdXRlcHJpY2VfMTBfbDY6CmJ5dGVjIDQgLy8gInByaWNlIgphcHBfZ2xvYmFsX2dldApwdXNoaW50IDEyIC8vIDEyCioKYiBpbm5lcmNvbXB1dGVwcmljZV8xMF9sMTEKaW5uZXJjb21wdXRlcHJpY2VfMTBfbDc6CmJ5dGVjIDQgLy8gInByaWNlIgphcHBfZ2xvYmFsX2dldApwdXNoaW50IDYgLy8gNgoqCmIgaW5uZXJjb21wdXRlcHJpY2VfMTBfbDExCmlubmVyY29tcHV0ZXByaWNlXzEwX2w4OgpieXRlYyA0IC8vICJwcmljZSIKYXBwX2dsb2JhbF9nZXQKaW50Y18zIC8vIDMKKgpiIGlubmVyY29tcHV0ZXByaWNlXzEwX2wxMQppbm5lcmNvbXB1dGVwcmljZV8xMF9sOToKYnl0ZWMgNCAvLyAicHJpY2UiCmFwcF9nbG9iYWxfZ2V0CmludGNfMSAvLyAxCioKYiBpbm5lcmNvbXB1dGVwcmljZV8xMF9sMTEKaW5uZXJjb21wdXRlcHJpY2VfMTBfbDEwOgpieXRlYyA0IC8vICJwcmljZSIKYXBwX2dsb2JhbF9nZXQKaW5uZXJjb21wdXRlcHJpY2VfMTBfbDExOgpmcmFtZV9idXJ5IDAKZnJhbWVfZGlnIC0xCmZyYW1lX2RpZyAwCmNhbGxzdWIgaW5uZXJjb21wdXRlZGlzY291bnRwcmljZV85CmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIGlubmVyX3ZlcmlmeV9leHBpcmF0aW9uX3R5cGUKaW5uZXJ2ZXJpZnlleHBpcmF0aW9udHlwZV8xMToKcHJvdG8gMSAwCmJ5dGVjIDYgLy8gInN1Yl90eXBlIgphcHBfZ2xvYmFsX2dldAppbnRjXzAgLy8gMAo9PQpmcmFtZV9kaWcgLTEKaW50Y18xIC8vIDEKPT0KfHwKZnJhbWVfZGlnIC0xCnB1c2hpbnQgMiAvLyAyCj09Cnx8CmZyYW1lX2RpZyAtMQppbnRjXzMgLy8gMwo9PQp8fApmcmFtZV9kaWcgLTEKcHVzaGludCA0IC8vIDQKPT0KfHwKLy8gRXhwaXJhdGlvbiB0eXBlIGlzIGludmFsaWQKYXNzZXJ0CnJldHN1YgoKLy8gY3JlYXRlCmNyZWF0ZV8xMjoKcHJvdG8gNyAwCmJ5dGVjXzIgLy8gImFjdGl2ZV9zdWJzIgppbnRjXzAgLy8gMAphcHBfZ2xvYmFsX3B1dApieXRlYyAxMiAvLyAiY29pbl9pZCIKaW50Y18wIC8vIDAKYXBwX2dsb2JhbF9wdXQKYnl0ZWMgMTMgLy8gImNyZWF0ZWRfYXQiCmludGNfMCAvLyAwCmFwcF9nbG9iYWxfcHV0CmJ5dGVjIDcgLy8gImxpZmVjeWNsZSIKaW50Y18wIC8vIDAKYXBwX2dsb2JhbF9wdXQKYnl0ZWNfMSAvLyAibWFuYWdlciIKZ2xvYmFsIENyZWF0b3JBZGRyZXNzCmFwcF9nbG9iYWxfcHV0CmJ5dGVjIDggLy8gIm1heF9zdWJzIgppbnRjXzAgLy8gMAphcHBfZ2xvYmFsX3B1dApieXRlYyAxMCAvLyAibmFtZSIKcHVzaGJ5dGVzIDB4NjQ2NTY2NjE3NTZjNzQgLy8gImRlZmF1bHQiCmFwcF9nbG9iYWxfcHV0CmJ5dGVjIDQgLy8gInByaWNlIgppbnRjXzAgLy8gMAphcHBfZ2xvYmFsX3B1dApieXRlYyA2IC8vICJzdWJfdHlwZSIKaW50Y18wIC8vIDAKYXBwX2dsb2JhbF9wdXQKYnl0ZWMgOSAvLyAidG90YWxfc3VicyIKaW50Y18wIC8vIDAKYXBwX2dsb2JhbF9wdXQKYnl0ZWMgMTQgLy8gInZlcnNpb24iCmJ5dGVjXzAgLy8gIiIKYXBwX2dsb2JhbF9wdXQKYnl0ZWMgMTQgLy8gInZlcnNpb24iCmZyYW1lX2RpZyAtNwpleHRyYWN0IDIgMAphcHBfZ2xvYmFsX3B1dApieXRlYyAxMCAvLyAibmFtZSIKZnJhbWVfZGlnIC02CmV4dHJhY3QgMiAwCmFwcF9nbG9iYWxfcHV0CmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmZyYW1lX2RpZyAtNQphcHBfZ2xvYmFsX3B1dApieXRlYyA2IC8vICJzdWJfdHlwZSIKZnJhbWVfZGlnIC00CmFwcF9nbG9iYWxfcHV0CmJ5dGVjIDQgLy8gInByaWNlIgpmcmFtZV9kaWcgLTMKYXBwX2dsb2JhbF9wdXQKYnl0ZWMgOCAvLyAibWF4X3N1YnMiCmZyYW1lX2RpZyAtMgphcHBfZ2xvYmFsX3B1dApieXRlYyAxMiAvLyAiY29pbl9pZCIKZnJhbWVfZGlnIC0xCmFwcF9nbG9iYWxfcHV0CmJ5dGVjIDEzIC8vICJjcmVhdGVkX2F0IgpnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCmFwcF9nbG9iYWxfcHV0CnJldHN1YgoKLy8gb3B0aW4Kb3B0aW5fMTM6CnByb3RvIDAgMApyZXRzdWIKCi8vIGNsb3Nlb3V0CmNsb3Nlb3V0XzE0Ogpwcm90byAwIDAKaW50Y18xIC8vIDEKcmV0dXJuCgovLyB1cGRhdGVfbWFuYWdlcgp1cGRhdGVtYW5hZ2VyXzE1Ogpwcm90byAxIDAKdHhuIFNlbmRlcgpnbG9iYWwgQ3JlYXRvckFkZHJlc3MKPT0KLy8gdW5hdXRob3JpemVkCmFzc2VydApieXRlY18xIC8vICJtYW5hZ2VyIgphcHBfZ2xvYmFsX2dldApmcmFtZV9kaWcgLTEKIT0KLy8gTmV3IG1hbmFnZXIgY2Fubm90IGJlIHRoZSBzYW1lIGFzIHRoZSBvbGQgbWFuYWdlcgphc3NlcnQKYnl0ZWNfMSAvLyAibWFuYWdlciIKZnJhbWVfZGlnIC0xCmFwcF9nbG9iYWxfcHV0CnJldHN1YgoKLy8gZ2V0X2Rpc2NvdW50CmdldGRpc2NvdW50XzE2Ogpwcm90byAxIDEKYnl0ZWNfMCAvLyAiIgpmcmFtZV9kaWcgLTEKaXRvYgpib3hfZ2V0CnN0b3JlIDI3CnN0b3JlIDI2CmxvYWQgMjcKYXNzZXJ0CmxvYWQgMjYKZnJhbWVfYnVyeSAwCnJldHN1YgoKLy8gY3JlYXRlX2Rpc2NvdW50CmNyZWF0ZWRpc2NvdW50XzE3Ogpwcm90byA1IDAKaW50Y18wIC8vIDAKZHVwbiAyCmJ5dGVjXzAgLy8gIiIKaW50Y18wIC8vIDAKZHVwCmJ5dGVjXzAgLy8gIiIKZHVwCnR4biBTZW5kZXIKYnl0ZWNfMSAvLyAibWFuYWdlciIKYXBwX2dsb2JhbF9nZXQKPT0KLy8gdW5hdXRob3JpemVkCmFzc2VydApmcmFtZV9kaWcgLTEKZ3R4bnMgU2VuZGVyCmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmFwcF9nbG9iYWxfZ2V0Cj09Ci8vIEZlZSB0eG4gbXVzdCBiZSBzZW50IGJ5IHRoZSBtYW5hZ2VyIGFuZCBtdXN0IGJlIGF0ICAgICAgICAgICAgICAgICBsZWFzdCB0aGUgc3Vic2NyaWJlciBib3ggZmVlCmFzc2VydApmcmFtZV9kaWcgLTEKZ3R4bnMgQW1vdW50CnB1c2hpbnQgMTg1MDAgLy8gMTg1MDAKPj0KLy8gRmVlIHR4biBtdXN0IGJlIHNlbnQgYnkgdGhlIG1hbmFnZXIgYW5kIG11c3QgYmUgYXQgICAgICAgICAgICAgICAgIGxlYXN0IHRoZSBzdWJzY3JpYmVyIGJveCBmZWUKYXNzZXJ0CmZyYW1lX2RpZyAtNAppbnRjXzAgLy8gMAo9PQpmcmFtZV9kaWcgLTQKaW50Y18xIC8vIDEKPT0KfHwKLy8gRGlzY291bnQgdHlwZSBtdXN0IGJlIGVpdGhlciBwZXJjZW50YWdlIG9yIGFtb3VudAphc3NlcnQKZnJhbWVfZGlnIC01Cml0b2IKYm94X2xlbgpzdG9yZSAyOQpzdG9yZSAyOApsb2FkIDI5CmludGNfMSAvLyAxCiE9Ci8vIERpc2NvdW50IGFscmVhZHkgZXhpc3RzLCBkZWxldGUgb25lIGZpcnN0CmFzc2VydApnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCmZyYW1lX2J1cnkgMApmcmFtZV9kaWcgLTIKaW50Y18wIC8vIDAKPgpibnogY3JlYXRlZGlzY291bnRfMTdfbDIKaW50Y18wIC8vIDAKYiBjcmVhdGVkaXNjb3VudF8xN19sMwpjcmVhdGVkaXNjb3VudF8xN19sMjoKZnJhbWVfZGlnIDAKZnJhbWVfZGlnIC0yCisKY3JlYXRlZGlzY291bnRfMTdfbDM6CmZyYW1lX2J1cnkgMQppbnRjXzAgLy8gMApmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIC01Cml0b2IKZnJhbWVfZGlnIC00Cml0b2IKY29uY2F0CmZyYW1lX2RpZyAtMwppdG9iCmNvbmNhdApmcmFtZV9kaWcgMQppdG9iCmNvbmNhdApmcmFtZV9kaWcgMAppdG9iCmNvbmNhdApmcmFtZV9kaWcgMgppdG9iCmNvbmNhdApmcmFtZV9idXJ5IDMKZnJhbWVfZGlnIC01Cml0b2IKYm94X2RlbApwb3AKZnJhbWVfZGlnIC01Cml0b2IKZnJhbWVfZGlnIDMKYm94X3B1dApyZXRzdWIKCi8vIGRlbGV0ZV9kaXNjb3VudApkZWxldGVkaXNjb3VudF8xODoKcHJvdG8gMSAwCnR4biBTZW5kZXIKYnl0ZWNfMSAvLyAibWFuYWdlciIKYXBwX2dsb2JhbF9nZXQKPT0KLy8gdW5hdXRob3JpemVkCmFzc2VydApmcmFtZV9kaWcgLTEKaXRvYgpib3hfbGVuCnN0b3JlIDMxCnN0b3JlIDMwCmxvYWQgMzEKaW50Y18xIC8vIDEKPT0KLy8gRGlzY291bnQgZG9lcyBub3QgZXhpc3QKYXNzZXJ0CmZyYW1lX2RpZyAtMQppdG9iCmJveF9kZWwKcG9wCnJldHN1YgoKLy8gc3Vic2NyaWJlCnN1YnNjcmliZV8xOToKcHJvdG8gNCAxCmludGNfMCAvLyAwCmR1cG4gMgpieXRlY18wIC8vICIiCmR1cAppbnRjXzAgLy8gMApkdXBuIDMKYnl0ZWNfMCAvLyAiIgppbnRjXzAgLy8gMApkdXAKYnl0ZWNfMCAvLyAiIgpkdXAKZnJhbWVfZGlnIC0zCmNhbGxzdWIgaW5uZXJ2ZXJpZnlleHBpcmF0aW9udHlwZV8xMQpieXRlYyA2IC8vICJzdWJfdHlwZSIKYXBwX2dsb2JhbF9nZXQKZnJhbWVfZGlnIC0zCmNhbGxzdWIgaW5uZXJjb21wdXRlZXhwaXJhdGlvbl83CmZyYW1lX2J1cnkgMQpmcmFtZV9kaWcgLTMKY2FsbHN1YiBpbm5lcmNvbXB1dGVwcmljZV8xMApmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIC00CmZyYW1lX2RpZyAtMgpndHhucyBTZW5kZXIKPT0KLy8gU3Vic2NyaWJlciBhY2NvdW50IG11c3QgYmUgdGhlIHNlbmRlcgphc3NlcnQKYnl0ZWMgMTEgLy8gIlByb2dyYW0iCmludGNfMCAvLyAwCnN0b3JlIDMzCmludGNfMCAvLyAwCnN0b3JlIDM0CmJ5dGVjXzAgLy8gIiIKc3RvcmUgMzUKYnl0ZWNfMCAvLyAiIgpzdG9yZSAzNgpieXRlY18xIC8vICJtYW5hZ2VyIgphcHBfZ2xvYmFsX2dldApsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzIKYnl0ZWNfMSAvLyAibWFuYWdlciIKYXBwX2dsb2JhbF9nZXQKY29uY2F0CnN0b3JlIDM1CmxvYWQgMzYKYnl0ZWNfMyAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCAzMwppbnRjXzIgLy8gOApzdWJzdHJpbmczCmNvbmNhdApsb2FkIDM1CmNvbmNhdApzdG9yZSAzNgpsb2FkIDM0CmxvYWQgMzUKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAzNAppbnRjXzIgLy8gOAppbnRjXzEgLy8gMQorCnN0b3JlIDMzCmdsb2JhbCBDcmVhdG9yQWRkcmVzcwpsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzIKZ2xvYmFsIENyZWF0b3JBZGRyZXNzCmNvbmNhdApzdG9yZSAzNQpsb2FkIDM2CmJ5dGVjXzMgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgMzMKcHVzaGludCAxMiAvLyAxMgpzdWJzdHJpbmczCmNvbmNhdApsb2FkIDM1CmNvbmNhdApzdG9yZSAzNgpsb2FkIDM0CmxvYWQgMzUKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAzNApwdXNoaW50IDEyIC8vIDEyCmludGNfMSAvLyAxCisKc3RvcmUgMzMKbG9hZCAzNgpieXRlY18zIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDMzCmRpZyAxCmxlbgpzdWJzdHJpbmczCmNvbmNhdApzdG9yZSAzNgpsb2FkIDM2CmNvbmNhdApzaGE1MTJfMjU2CmZyYW1lX2J1cnkgMwpmcmFtZV9kaWcgMwpsZW4KcHVzaGludCAzMiAvLyAzMgo9PQphc3NlcnQKZnJhbWVfZGlnIC0xCmd0eG5zIFR5cGVFbnVtCmludGNfMSAvLyBwYXkKPT0KZnJhbWVfZGlnIC0xCmd0eG5zIEFtb3VudApmcmFtZV9kaWcgMgo9PQomJgpmcmFtZV9kaWcgLTEKZ3R4bnMgUmVjZWl2ZXIKZnJhbWVfZGlnIDMKPT0KJiYKZnJhbWVfZGlnIC0xCmd0eG5zIFR5cGVFbnVtCnB1c2hpbnQgNCAvLyBheGZlcgo9PQpmcmFtZV9kaWcgLTEKZ3R4bnMgQXNzZXRBbW91bnQKZnJhbWVfZGlnIDIKPT0KJiYKZnJhbWVfZGlnIC0xCmd0eG5zIEFzc2V0UmVjZWl2ZXIKZnJhbWVfZGlnIDMKPT0KJiYKfHwKLy8gU3Vic2NyaXB0aW9uIHBheW1lbnQgbXVzdCBiZSBzZW5kIHRvIGxvY2tlciB3aXRoIHJpZ2h0IHBheQphc3NlcnQKYnl0ZWMgOCAvLyAibWF4X3N1YnMiCmFwcF9nbG9iYWxfZ2V0CmludGNfMCAvLyAwCj4KYm56IHN1YnNjcmliZV8xOV9sNgpzdWJzY3JpYmVfMTlfbDE6CmZyYW1lX2RpZyAtNApib3hfbGVuCnN0b3JlIDM4CnN0b3JlIDM3CmxvYWQgMzgKYm56IHN1YnNjcmliZV8xOV9sMwpieXRlY18yIC8vICJhY3RpdmVfc3VicyIKYnl0ZWNfMiAvLyAiYWN0aXZlX3N1YnMiCmFwcF9nbG9iYWxfZ2V0CmludGNfMSAvLyAxCisKYXBwX2dsb2JhbF9wdXQKYiBzdWJzY3JpYmVfMTlfbDcKc3Vic2NyaWJlXzE5X2wzOgpmcmFtZV9kaWcgLTQKYm94X2dldApzdG9yZSA0MApzdG9yZSAzOQpsb2FkIDQwCmFzc2VydApsb2FkIDM5CmZyYW1lX2J1cnkgNApmcmFtZV9kaWcgNApwdXNoaW50IDI0IC8vIDI0CmV4dHJhY3RfdWludDY0CmZyYW1lX2J1cnkgNQpmcmFtZV9kaWcgNQppbnRjXzAgLy8gMAohPQpibnogc3Vic2NyaWJlXzE5X2w1CmludGNfMCAvLyAwCnJldHVybgpzdWJzY3JpYmVfMTlfbDU6CmZyYW1lX2RpZyA1Cmdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKPAovLyBTdWJzY3JpcHRpb24gc3RpbGwgYWN0aXZlCmFzc2VydApiIHN1YnNjcmliZV8xOV9sNwpzdWJzY3JpYmVfMTlfbDY6CmJ5dGVjXzIgLy8gImFjdGl2ZV9zdWJzIgphcHBfZ2xvYmFsX2dldAppbnRjXzEgLy8gMQorCmJ5dGVjIDggLy8gIm1heF9zdWJzIgphcHBfZ2xvYmFsX2dldAo8PQovLyBNYXggaXRlbXMgcmVhY2hlZAphc3NlcnQKYiBzdWJzY3JpYmVfMTlfbDEKc3Vic2NyaWJlXzE5X2w3OgpieXRlYyA5IC8vICJ0b3RhbF9zdWJzIgpieXRlYyA5IC8vICJ0b3RhbF9zdWJzIgphcHBfZ2xvYmFsX2dldAppbnRjXzEgLy8gMQorCmFwcF9nbG9iYWxfcHV0CnB1c2hieXRlcyAweDIzIC8vICIjIgpieXRlYyA5IC8vICJ0b3RhbF9zdWJzIgphcHBfZ2xvYmFsX2dldApjYWxsc3ViIGl0b2FfMQpjb25jYXQKcHVzaGJ5dGVzIDB4MjAyZDIwIC8vICIgLSAiCmNvbmNhdApieXRlYyAxMCAvLyAibmFtZSIKYXBwX2dsb2JhbF9nZXQKY29uY2F0CnB1c2hieXRlcyAweDUzNTQ1MCAvLyAiU1RQIgpwdXNoYnl0ZXMgMHg2OTcwNjY3MzNhMmYyZjYyNjE2Njc5NjI2NTY5NjM2NDY0N2EzNzZiNjI3NTc4NjE2YTZhMzY2MjZmNjIzNTYyNmE3MTc0Nzc2NTcxMzY3NzYzNjg2YjY0NmI2OTcxMzQ3Njc2Njg3NzcyNzc3MjZlNjUzNzY5N2EzNDY2MzIzNTc4NjkgLy8gImlwZnM6Ly9iYWZ5YmVpY2RkejdrYnV4YWpqNmJvYjVianF0d2VxNndjaGtka2lxNHZ2aHdyd3JuZTdpejRmMjV4aSIKY2FsbHN1YiBpbm5lcmNyZWF0ZW5mdF8zCnN0b3JlIDMyCmxvYWQgMzIKaW50Y18wIC8vIDAKIT0KYXNzZXJ0CmJ5dGVjIDYgLy8gInN1Yl90eXBlIgphcHBfZ2xvYmFsX2dldApmcmFtZV9idXJ5IDYKbG9hZCAzMgpmcmFtZV9idXJ5IDcKZ2xvYmFsIExhdGVzdFRpbWVzdGFtcApmcmFtZV9idXJ5IDgKZnJhbWVfZGlnIDYKaXRvYgpmcmFtZV9kaWcgNwppdG9iCmNvbmNhdApmcmFtZV9kaWcgOAppdG9iCmNvbmNhdApmcmFtZV9kaWcgMQppdG9iCmNvbmNhdApmcmFtZV9kaWcgLTMKaXRvYgpjb25jYXQKZnJhbWVfYnVyeSA5CmZyYW1lX2RpZyAtNApib3hfZGVsCnBvcApmcmFtZV9kaWcgLTQKZnJhbWVfZGlnIDkKYm94X3B1dApsb2FkIDMyCmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIGdldF9zdWJzY3JpcHRpb24KZ2V0c3Vic2NyaXB0aW9uXzIwOgpwcm90byAxIDEKYnl0ZWNfMCAvLyAiIgpmcmFtZV9kaWcgLTEKYm94X2dldApzdG9yZSA1MApzdG9yZSA0OQpsb2FkIDUwCmFzc2VydApsb2FkIDQ5CmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIGlzX3N1YnNjcmliZXIKaXNzdWJzY3JpYmVyXzIxOgpwcm90byAxIDEKaW50Y18wIC8vIDAKYnl0ZWNfMCAvLyAiIgppbnRjXzAgLy8gMApmcmFtZV9kaWcgLTEKYm94X2xlbgpzdG9yZSA1MgpzdG9yZSA1MQpsb2FkIDUyCmJueiBpc3N1YnNjcmliZXJfMjFfbDIKaW50Y18wIC8vIDAKZnJhbWVfYnVyeSAwCmIgaXNzdWJzY3JpYmVyXzIxX2wzCmlzc3Vic2NyaWJlcl8yMV9sMjoKZnJhbWVfZGlnIC0xCmJveF9nZXQKc3RvcmUgNTQKc3RvcmUgNTMKbG9hZCA1NAphc3NlcnQKbG9hZCA1MwpmcmFtZV9idXJ5IDEKZnJhbWVfZGlnIDEKcHVzaGludCAyNCAvLyAyNApleHRyYWN0X3VpbnQ2NApmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIDIKZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAo+CmZyYW1lX2J1cnkgMAppc3N1YnNjcmliZXJfMjFfbDM6CnJldHN1YgoKLy8gY2xhaW1fc3Vic2NyaXB0aW9uCmNsYWltc3Vic2NyaXB0aW9uXzIyOgpwcm90byAxIDAKdHhuIFNlbmRlcgpmcmFtZV9kaWcgLTEKYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCnN0b3JlIDU2CnN0b3JlIDU1CmxvYWQgNTYKLy8gU3Vic2NyaWJlciBub3Qgb3B0ZWQtaW4gZm9yIFN1YnNjcmlwdGlvbiBORlQKYXNzZXJ0CmZyYW1lX2RpZyAtMQpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwp0eG4gU2VuZGVyCmNhbGxzdWIgaW5uZXJ0cmFuc2Zlcm5mdF80CnJldHN1YgoKLy8gdHJhbnNmZXJfc3Vic2NyaXB0aW9uCnRyYW5zZmVyc3Vic2NyaXB0aW9uXzIzOgpwcm90byAyIDAKYnl0ZWNfMCAvLyAiIgp0eG4gU2VuZGVyCmJveF9sZW4Kc3RvcmUgNTgKc3RvcmUgNTcKbG9hZCA1OAovLyBDdXJyZW50IGFkZHJlc3Mgbm90IHN1YnNjcmliZWQKYXNzZXJ0CnR4biBTZW5kZXIKZnJhbWVfZGlnIC0xCmFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQpzdG9yZSA2MApzdG9yZSA1OQpsb2FkIDYwCmxvYWQgNTkKaW50Y18wIC8vIDAKPgomJgpieiB0cmFuc2ZlcnN1YnNjcmlwdGlvbl8yM19sMgpmcmFtZV9kaWcgLTEKdHhuIFNlbmRlcgpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpjYWxsc3ViIGlubmVydHJhbnNmZXJuZnRfNAp0cmFuc2ZlcnN1YnNjcmlwdGlvbl8yM19sMjoKdHhuIFNlbmRlcgpib3hfZ2V0CnN0b3JlIDYyCnN0b3JlIDYxCmxvYWQgNjIKYXNzZXJ0CmxvYWQgNjEKZnJhbWVfYnVyeSAwCmZyYW1lX2RpZyAtMgpib3hfZGVsCnBvcApmcmFtZV9kaWcgLTIKZnJhbWVfZGlnIDAKYm94X3B1dAp0eG4gU2VuZGVyCmJveF9kZWwKcG9wCnJldHN1YgoKLy8gdW5zdWJzY3JpYmUKdW5zdWJzY3JpYmVfMjQ6CnByb3RvIDEgMQppbnRjXzAgLy8gMApieXRlY18wIC8vICIiCmludGNfMCAvLyAwCnR4biBTZW5kZXIKYm94X2xlbgpzdG9yZSA2NApzdG9yZSA2Mwpsb2FkIDY0Ci8vIE5vdCBzdWJzY3JpYmVkCmFzc2VydAp0eG4gU2VuZGVyCmZyYW1lX2J1cnkgMQpmcmFtZV9kaWcgMQpsZW4KcHVzaGludCAzMiAvLyAzMgo9PQphc3NlcnQKZnJhbWVfZGlnIC0xCnR4bmFzIEFzc2V0cwpmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIDEKZnJhbWVfZGlnIDIKY2FsbHN1YiBpbm5lcmRlbGV0ZXN1YnNjcmlwdGlvbl82CmZyYW1lX2RpZyAtMQp0eG5hcyBBc3NldHMKZnJhbWVfYnVyeSAwCnJldHN1YgoKLy8gbWFya19mb3JfZGVsZXRpb24KbWFya2ZvcmRlbGV0aW9uXzI1Ogpwcm90byAxIDAKYnl0ZWNfMCAvLyAiIgp0eG4gU2VuZGVyCmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmFwcF9nbG9iYWxfZ2V0Cj09Ci8vIHVuYXV0aG9yaXplZAphc3NlcnQKdHhuIFNlbmRlcgpieXRlY18xIC8vICJtYW5hZ2VyIgphcHBfZ2xvYmFsX2dldAo9PQovLyBPbmx5IG1hbmFnZXIgY2FuIG1hcmsgZm9yIGRlbGV0aW9uCmFzc2VydApmcmFtZV9kaWcgLTEKZ3R4bnMgU2VuZGVyCmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmFwcF9nbG9iYWxfZ2V0Cj09Ci8vIE9ubHkgbWFuYWdlciBjYW4gbWFyayBmb3IgZGVsZXRpb24KYXNzZXJ0CmJ5dGVjIDExIC8vICJQcm9ncmFtIgppbnRjXzAgLy8gMApzdG9yZSA2NwppbnRjXzAgLy8gMApzdG9yZSA2OApieXRlY18wIC8vICIiCnN0b3JlIDY5CmJ5dGVjXzAgLy8gIiIKc3RvcmUgNzAKYnl0ZWNfMSAvLyAibWFuYWdlciIKYXBwX2dsb2JhbF9nZXQKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8yCmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmFwcF9nbG9iYWxfZ2V0CmNvbmNhdApzdG9yZSA2OQpsb2FkIDcwCmJ5dGVjXzMgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgNjcKaW50Y18yIC8vIDgKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCA2OQpjb25jYXQKc3RvcmUgNzAKbG9hZCA2OApsb2FkIDY5CmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgNjgKaW50Y18yIC8vIDgKaW50Y18xIC8vIDEKKwpzdG9yZSA2NwpnbG9iYWwgQ3JlYXRvckFkZHJlc3MKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8yCmdsb2JhbCBDcmVhdG9yQWRkcmVzcwpjb25jYXQKc3RvcmUgNjkKbG9hZCA3MApieXRlY18zIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDY3CnB1c2hpbnQgMTIgLy8gMTIKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCA2OQpjb25jYXQKc3RvcmUgNzAKbG9hZCA2OApsb2FkIDY5CmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgNjgKcHVzaGludCAxMiAvLyAxMgppbnRjXzEgLy8gMQorCnN0b3JlIDY3CmxvYWQgNzAKYnl0ZWNfMyAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCA2NwpkaWcgMQpsZW4Kc3Vic3RyaW5nMwpjb25jYXQKc3RvcmUgNzAKbG9hZCA3MApjb25jYXQKc2hhNTEyXzI1NgpmcmFtZV9idXJ5IDAKZnJhbWVfZGlnIDAKbGVuCnB1c2hpbnQgMzIgLy8gMzIKPT0KYXNzZXJ0CmZyYW1lX2RpZyAtMQpndHhucyBSZWNlaXZlcgpmcmFtZV9kaWcgMAo9PQovLyBJbnZhbGlkIGxvY2tlciBhZGRyZXNzCmFzc2VydApieXRlY18yIC8vICJhY3RpdmVfc3VicyIKYXBwX2dsb2JhbF9nZXQKaW50Y18wIC8vIDAKPgpibnogbWFya2ZvcmRlbGV0aW9uXzI1X2wyCmZyYW1lX2RpZyAtMQpndHhucyBBbW91bnQKaW50Y18wIC8vIDAKPT0KLy8gTm8gc3Vic2NyaXB0aW9ucyB0byBkZWxldGUsIHNvIGZlZSBtdXN0IGJlIDAKYXNzZXJ0CmIgbWFya2ZvcmRlbGV0aW9uXzI1X2wzCm1hcmtmb3JkZWxldGlvbl8yNV9sMjoKZnJhbWVfZGlnIC0xCmd0eG5zIEFtb3VudApnbG9iYWwgTWluVHhuRmVlCmludGNfMyAvLyAzCioKYnl0ZWNfMiAvLyAiYWN0aXZlX3N1YnMiCmFwcF9nbG9iYWxfZ2V0CioKPj0KLy8gTm90IGVub3VnaCBmdW5kcyB0byBkZWxldGUgYWxsIHN1YnNjcmlwdGlvbnMKYXNzZXJ0Cm1hcmtmb3JkZWxldGlvbl8yNV9sMzoKYnl0ZWMgNyAvLyAibGlmZWN5Y2xlIgppbnRjXzEgLy8gMQphcHBfZ2xvYmFsX3B1dApyZXRzdWIKCi8vIGRlbGV0ZV9zdWJzY3JpcHRpb24KZGVsZXRlc3Vic2NyaXB0aW9uXzI2Ogpwcm90byAyIDAKYnl0ZWNfMCAvLyAiIgpieXRlYyA3IC8vICJsaWZlY3ljbGUiCmFwcF9nbG9iYWxfZ2V0CmludGNfMSAvLyAxCj09Ci8vIFN1YnNjcmlwdGlvbiBzZXJ2aWNlIG5vdCBtYXJrZWQgZm9yIGRlbGV0aW9uCmFzc2VydApieXRlYyAxMSAvLyAiUHJvZ3JhbSIKaW50Y18wIC8vIDAKc3RvcmUgNzEKaW50Y18wIC8vIDAKc3RvcmUgNzIKYnl0ZWNfMCAvLyAiIgpzdG9yZSA3MwpieXRlY18wIC8vICIiCnN0b3JlIDc0CmJ5dGVjXzEgLy8gIm1hbmFnZXIiCmFwcF9nbG9iYWxfZ2V0CmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMgpieXRlY18xIC8vICJtYW5hZ2VyIgphcHBfZ2xvYmFsX2dldApjb25jYXQKc3RvcmUgNzMKbG9hZCA3NApieXRlY18zIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDcxCmludGNfMiAvLyA4CnN1YnN0cmluZzMKY29uY2F0CmxvYWQgNzMKY29uY2F0CnN0b3JlIDc0CmxvYWQgNzIKbG9hZCA3MwpsZW4KKwppbnRjXzEgLy8gMQotCnN0b3JlIDcyCmludGNfMiAvLyA4CmludGNfMSAvLyAxCisKc3RvcmUgNzEKZ2xvYmFsIENyZWF0b3JBZGRyZXNzCmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMgpnbG9iYWwgQ3JlYXRvckFkZHJlc3MKY29uY2F0CnN0b3JlIDczCmxvYWQgNzQKYnl0ZWNfMyAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCA3MQpwdXNoaW50IDEyIC8vIDEyCnN1YnN0cmluZzMKY29uY2F0CmxvYWQgNzMKY29uY2F0CnN0b3JlIDc0CmxvYWQgNzIKbG9hZCA3MwpsZW4KKwppbnRjXzEgLy8gMQotCnN0b3JlIDcyCnB1c2hpbnQgMTIgLy8gMTIKaW50Y18xIC8vIDEKKwpzdG9yZSA3MQpsb2FkIDc0CmJ5dGVjXzMgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgNzEKZGlnIDEKbGVuCnN1YnN0cmluZzMKY29uY2F0CnN0b3JlIDc0CmxvYWQgNzQKY29uY2F0CnNoYTUxMl8yNTYKZnJhbWVfYnVyeSAwCmZyYW1lX2RpZyAwCmxlbgpwdXNoaW50IDMyIC8vIDMyCj09CmFzc2VydApmcmFtZV9kaWcgMAp0eG4gR3JvdXBJbmRleApndHhucyBTZW5kZXIKPT0KLy8gUHJlY29uZGl0aW9ucyBmb3IgU01MIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gZmFpbGVkCmFzc2VydAp0eG4gR3JvdXBJbmRleApndHhucyBSZWtleVRvCmdsb2JhbCBaZXJvQWRkcmVzcwo9PQovLyBQcmVjb25kaXRpb25zIGZvciBTTUwgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWQKYXNzZXJ0CnR4biBHcm91cEluZGV4Cmd0eG5zIENsb3NlUmVtYWluZGVyVG8KZ2xvYmFsIFplcm9BZGRyZXNzCj09Ci8vIFByZWNvbmRpdGlvbnMgZm9yIFNNTCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZAphc3NlcnQKZnJhbWVfZGlnIC0yCmZyYW1lX2RpZyAtMQpjYWxsc3ViIGlubmVyZGVsZXRlc3Vic2NyaXB0aW9uXzYKcmV0c3ViCgovLyBkZWxldGUKZGVsZXRlXzI3Ogpwcm90byAwIDAKdHhuIFNlbmRlcgpnbG9iYWwgQ3JlYXRvckFkZHJlc3MKPT0KLy8gdW5hdXRob3JpemVkCmFzc2VydApieXRlYyA3IC8vICJsaWZlY3ljbGUiCmFwcF9nbG9iYWxfZ2V0CmludGNfMSAvLyAxCj09Ci8vIEFwcCBzdGlsbCBoYXMgYWN0aXZlIHN1YnNjcmlwdGlvbnMgb3IgYWN0aXZlIGxpZmVjeWNsZSBzdGF0ZQphc3NlcnQKYnl0ZWNfMiAvLyAiYWN0aXZlX3N1YnMiCmFwcF9nbG9iYWxfZ2V0CmludGNfMCAvLyAwCj09Ci8vIEFwcCBzdGlsbCBoYXMgYWN0aXZlIHN1YnNjcmlwdGlvbnMgb3IgYWN0aXZlIGxpZmVjeWNsZSBzdGF0ZQphc3NlcnQKcmV0c3Vi"; - override clearProgram = - "I3ByYWdtYSB2ZXJzaW9uIDgKcHVzaGludCAwIC8vIDAKcmV0dXJu"; - override methods: algosdk.ABIMethod[] = [ - new algosdk.ABIMethod({ - name: "create", - desc: "Creates a new instance of the subscription service with the provided parameters.", - args: [ - { - type: "string", - name: "version", - desc: "The version of the subscription service.", - }, - { - type: "string", - name: "name", - desc: "The name of the subscription service.", - }, - { - type: "address", - name: "manager", - desc: "Manager of the subscription service.", - }, - { - type: "uint64", - name: "sub_type", - desc: "The type of subscription service (e.g., monthly, yearly).", - }, - { - type: "uint64", - name: "price", - desc: "The price of the subscription in the specified coin.", - }, - { - type: "uint64", - name: "max_subs", - desc: "The maximum number of allowed subscriptions.", - }, - { - type: "uint64", - name: "coin_id", - desc: "The ID of the coin used for subscription payments.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "update_manager", - desc: "Updates the manager account of the subscription service.", - args: [ - { - type: "address", - name: "new_manager_account", - desc: "The new manager account address.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "get_discount", - desc: "Returns the discount for the specified expiration type.", - args: [ - { - type: "uint64", - name: "expiration_type", - desc: "The expiration type of the discount.", - }, - ], - returns: { - type: "(uint64,uint64,uint64,uint64,uint64,uint64)", - desc: "An expression that returns the discount.", - }, - }), - new algosdk.ABIMethod({ - name: "create_discount", - desc: "Creates a new discount for the subscription service.", - args: [ - { type: "uint64", name: "expiration_type", desc: "" }, - { type: "uint64", name: "discount_type", desc: "" }, - { type: "uint64", name: "discount_value", desc: "" }, - { type: "uint64", name: "expires_in", desc: "" }, - { type: "pay", name: "fee_txn", desc: "" }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "delete_discount", - desc: "Deletes a discount for the subscription service.", - args: [{ type: "uint64", name: "expiration_type", desc: "" }], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "subscribe", - desc: "Subscribes a user to the subscription service and creates a new\nsubscription.", - args: [ - { - type: "address", - name: "subscriber_account", - desc: "The subscriber's account address.", - }, - { type: "uint64", name: "expiration_type", desc: "" }, - { - type: "pay", - name: "fee_txn", - desc: "The transaction for the subscription fee payment.", - }, - { - type: "txn", - name: "subscribe_pay_txn", - desc: "The transaction representing the payment for the subscription. Can be either abi.PaymentTransaction or abi.AssetTransferTransaction.", - }, - ], - returns: { - type: "uint64", - desc: "An expression that subscribes the user and creates a new subscription.", - }, - }), - new algosdk.ABIMethod({ - name: "get_subscription", - desc: "Retrieves the subscription details of a given subscriber.", - args: [ - { - type: "address", - name: "subscriber", - desc: "The subscriber address.", - }, - ], - returns: { - type: "(uint64,uint64,uint64,uint64,uint64)", - desc: "An expression that retrieves the subscription details.", - }, - }), - new algosdk.ABIMethod({ - name: "is_subscriber", - desc: "Checks if a given address is a subscriber of the subscription service.", - args: [ - { - type: "address", - name: "subscriber", - desc: "The subscriber address.", - }, - ], - returns: { - type: "uint64", - desc: "An expression that checks if the address is a subscriber.", - }, - }), - new algosdk.ABIMethod({ - name: "claim_subscription", - desc: "Allows a subscriber to claim their subscription.", - args: [{ type: "uint64", name: "subscription_id", desc: "" }], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "transfer_subscription", - desc: "Transfers a subscription from the sender's address to a new address.", - args: [ - { - type: "address", - name: "new_address", - desc: "The new address to transfer the subscription to.", - }, - { type: "uint64", name: "subscription_id", desc: "" }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "unsubscribe", - desc: "Unsubscribes a user from the subscription service and deletes the\nsubscription.", - args: [ - { type: "asset", name: "sub_id", desc: "The subscription ASA ID." }, - ], - returns: { - type: "uint64", - desc: "An expression that unsubscribes the user and deletes the subscription.", - }, - }), - new algosdk.ABIMethod({ - name: "mark_for_deletion", - desc: "Marks the subscription service for deletion. Can only be called by the\nmanager account.", - args: [ - { - type: "pay", - name: "locker_fund_txn", - desc: "The locker fund transaction.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "delete_subscription", - desc: "Deletes a subscription for a given subscriber. Can only be called by the\nmanager account.", - args: [ - { - type: "address", - name: "subscriber", - desc: "The subscriber address whose subscription needs to be deleted.", - }, - { - type: "uint64", - name: "subscription_id", - desc: "The subscription ID to delete.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "delete", - desc: "Deletes the subscription service. Can only be called by the manager account\nwhen there are no active subscriptions or the lifecycle state is not active.", - args: [], - returns: { type: "void", desc: "" }, - }), - ]; - async create( - args: { - version: string; - name: string; - manager: string; - sub_type: bigint; - price: bigint; - max_subs: bigint; - coin_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.create( - { - version: args.version, - name: args.name, - manager: args.manager, - sub_type: args.sub_type, - price: args.price, - max_subs: args.max_subs, - coin_id: args.coin_id, - }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async update_manager( - args: { - new_manager_account: string; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.update_manager( - { new_manager_account: args.new_manager_account }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async get_discount( - args: { - expiration_type: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.get_discount( - { expiration_type: args.expiration_type }, - txnParams - ) - ); - return new bkr.ABIResult( - result, - Discount.decodeResult(result.returnValue) - ); - } - async create_discount( - args: { - expiration_type: bigint; - discount_type: bigint; - discount_value: bigint; - expires_in: bigint; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.create_discount( - { - expiration_type: args.expiration_type, - discount_type: args.discount_type, - discount_value: args.discount_value, - expires_in: args.expires_in, - fee_txn: args.fee_txn, - }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async delete_discount( - args: { - expiration_type: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.delete_discount( - { expiration_type: args.expiration_type }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async subscribe( - args: { - subscriber_account: string; - expiration_type: bigint; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - subscribe_pay_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.subscribe( - { - subscriber_account: args.subscriber_account, - expiration_type: args.expiration_type, - fee_txn: args.fee_txn, - subscribe_pay_txn: args.subscribe_pay_txn, - }, - txnParams - ) - ); - return new bkr.ABIResult(result, result.returnValue as bigint); - } - async get_subscription( - args: { - subscriber: string; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.get_subscription( - { subscriber: args.subscriber }, - txnParams - ) - ); - return new bkr.ABIResult( - result, - Subscription.decodeResult(result.returnValue) - ); - } - async is_subscriber( - args: { - subscriber: string; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.is_subscriber( - { subscriber: args.subscriber }, - txnParams - ) - ); - return new bkr.ABIResult(result, result.returnValue as bigint); - } - async claim_subscription( - args: { - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.claim_subscription( - { subscription_id: args.subscription_id }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async transfer_subscription( - args: { - new_address: string; - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.transfer_subscription( - { - new_address: args.new_address, - subscription_id: args.subscription_id, - }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async unsubscribe( - args: { - sub_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.unsubscribe({ sub_id: args.sub_id }, txnParams) - ); - return new bkr.ABIResult(result, result.returnValue as bigint); - } - async mark_for_deletion( - args: { - locker_fund_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.mark_for_deletion( - { locker_fund_txn: args.locker_fund_txn }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async delete_subscription( - args: { - subscriber: string; - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.delete_subscription( - { subscriber: args.subscriber, subscription_id: args.subscription_id }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async delete( - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute(await this.compose.delete(txnParams)); - return new bkr.ABIResult(result); - } - compose = { - create: async ( - args: { - version: string; - name: string; - manager: string; - sub_type: bigint; - price: bigint; - max_subs: bigint; - coin_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "create"), - { - version: args.version, - name: args.name, - manager: args.manager, - sub_type: args.sub_type, - price: args.price, - max_subs: args.max_subs, - coin_id: args.coin_id, - }, - txnParams, - atc - ); - }, - update_manager: async ( - args: { - new_manager_account: string; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "update_manager"), - { new_manager_account: args.new_manager_account }, - txnParams, - atc - ); - }, - get_discount: async ( - args: { - expiration_type: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "get_discount"), - { expiration_type: args.expiration_type }, - txnParams, - atc - ); - }, - create_discount: async ( - args: { - expiration_type: bigint; - discount_type: bigint; - discount_value: bigint; - expires_in: bigint; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "create_discount"), - { - expiration_type: args.expiration_type, - discount_type: args.discount_type, - discount_value: args.discount_value, - expires_in: args.expires_in, - fee_txn: args.fee_txn, - }, - txnParams, - atc - ); - }, - delete_discount: async ( - args: { - expiration_type: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "delete_discount"), - { expiration_type: args.expiration_type }, - txnParams, - atc - ); - }, - subscribe: async ( - args: { - subscriber_account: string; - expiration_type: bigint; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - subscribe_pay_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "subscribe"), - { - subscriber_account: args.subscriber_account, - expiration_type: args.expiration_type, - fee_txn: args.fee_txn, - subscribe_pay_txn: args.subscribe_pay_txn, - }, - txnParams, - atc - ); - }, - get_subscription: async ( - args: { - subscriber: string; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "get_subscription"), - { subscriber: args.subscriber }, - txnParams, - atc - ); - }, - is_subscriber: async ( - args: { - subscriber: string; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "is_subscriber"), - { subscriber: args.subscriber }, - txnParams, - atc - ); - }, - claim_subscription: async ( - args: { - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "claim_subscription"), - { subscription_id: args.subscription_id }, - txnParams, - atc - ); - }, - transfer_subscription: async ( - args: { - new_address: string; - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "transfer_subscription"), - { - new_address: args.new_address, - subscription_id: args.subscription_id, - }, - txnParams, - atc - ); - }, - unsubscribe: async ( - args: { - sub_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "unsubscribe"), - { sub_id: args.sub_id }, - txnParams, - atc - ); - }, - mark_for_deletion: async ( - args: { - locker_fund_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "mark_for_deletion"), - { locker_fund_txn: args.locker_fund_txn }, - txnParams, - atc - ); - }, - delete_subscription: async ( - args: { - subscriber: string; - subscription_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "delete_subscription"), - { subscriber: args.subscriber, subscription_id: args.subscription_id }, - txnParams, - atc - ); - }, - delete: async ( - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - const deleteParams = await this._deleteParameters({ ...txnParams }); - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "delete"), - {}, - deleteParams, - atc - ); - }, - }; -} - -/* c8 ignore stop */ diff --git a/src/contracts/sml_client.ts b/src/contracts/sml_client.ts deleted file mode 100644 index 4c15e12..0000000 --- a/src/contracts/sml_client.ts +++ /dev/null @@ -1,536 +0,0 @@ -/* c8 ignore start */ -export const SML_TEAL = ` -#pragma version 8 -intcblock 1 0 2 4 -pushbytes TMPL_CREATOR_ADDRESS // TMPL_CREATOR_ADDRESS -store 0 -pushbytes TMPL_REGISTRY_ADDRESS // TMPL_REGISTRY_ADDRESS -store 1 -global GroupSize -intc_2 // 2 -== -bnz main_l39 -intc_1 // 0 -main_l2: -bnz main_l38 -global GroupSize -intc_2 // 2 -== -bnz main_l37 -intc_1 // 0 -main_l5: -bnz main_l36 -global GroupSize -intc_0 // 1 -== -bnz main_l35 -intc_1 // 0 -main_l8: -bnz main_l34 -global GroupSize -intc_2 // 2 -== -bnz main_l33 -global GroupSize -pushint 3 // 3 -== -bnz main_l32 -intc_1 // 0 -main_l12: -bnz main_l27 -global GroupSize -intc_2 // 2 -== -bnz main_l26 -intc_1 // 0 -main_l15: -bnz main_l25 -global GroupSize -pushint 17 // 17 -<= -bnz main_l21 -intc_1 // 0 -main_l18: -bnz main_l20 -err -main_l20: -intc_0 // 1 -b main_l40 -main_l21: -intc_1 // 0 -store 2 -intc_1 // 0 -store 3 -intc_1 // 0 -store 2 -main_l22: -load 2 -global GroupSize -< -bnz main_l24 -load 3 -global GroupSize -== -b main_l18 -main_l24: -load 2 -gtxns TypeEnum -pushint 6 // appl -== -assert -load 2 -gtxns OnCompletion -intc_1 // NoOp -== -assert -load 2 -gtxns CloseRemainderTo -global ZeroAddress -== -assert -load 2 -gtxns RekeyTo -global ZeroAddress -== -assert -load 2 -gtxns Fee -intc_1 // 0 -== -load 2 -gtxns Fee -global MinTxnFee -pushint 3 // 3 -global GroupSize -* -* -<= -|| -assert -load 3 -intc_0 // 1 -+ -store 3 -load 2 -intc_0 // 1 -+ -store 2 -b main_l22 -main_l25: -load 0 -callsub assertrevenueclaimconditions_7 -b main_l40 -main_l26: -intc_1 // 0 -gtxns TypeEnum -intc_0 // pay -== -intc_0 // 1 -gtxns TypeEnum -intc_3 // axfer -== -intc_0 // 1 -gtxns TypeEnum -intc_0 // pay -== -|| -&& -b main_l15 -main_l27: -global GroupSize -intc_2 // 2 -== -bnz main_l31 -global GroupSize -pushint 3 // 3 -== -bnz main_l30 -intc_1 // 0 -b main_l40 -main_l30: -load 1 -callsub assertappasaoptinconditions_4 -b main_l40 -main_l31: -load 1 -callsub assertappoptinconditions_3 -b main_l40 -main_l32: -intc_1 // 0 -gtxns TypeEnum -intc_0 // pay -== -intc_0 // 1 -gtxns TypeEnum -pushint 6 // appl -== -&& -intc_0 // 1 -gtxns OnCompletion -intc_0 // OptIn -== -&& -intc_2 // 2 -gtxns TypeEnum -intc_3 // axfer -== -&& -b main_l12 -main_l33: -intc_1 // 0 -gtxns TypeEnum -intc_0 // pay -== -intc_0 // 1 -gtxns TypeEnum -pushint 6 // appl -== -&& -intc_0 // 1 -gtxns OnCompletion -intc_0 // OptIn -== -&& -b main_l12 -main_l34: -intc_1 // 0 -pushint 6 // appl -callsub checkbaselinepreconditions_0 -intc_1 // 0 -gtxns Fee -global MinTxnFee -global GroupSize -* -<= -// fee not correct -assert -intc_0 // 1 -b main_l40 -main_l35: -intc_1 // 0 -gtxns TypeEnum -pushint 6 // appl -== -intc_1 // 0 -gtxns OnCompletion -intc_2 // CloseOut -== -&& -b main_l8 -main_l36: -load 1 -callsub assertcoinoptinconditions_6 -b main_l40 -main_l37: -intc_1 // 0 -gtxns TypeEnum -intc_0 // pay -== -intc_0 // 1 -gtxns TypeEnum -intc_3 // axfer -== -&& -intc_0 // 1 -gtxns AssetReceiver -load 0 -!= -&& -b main_l5 -main_l38: -load 0 -load 1 -callsub assertregistryrekeyconditions_5 -b main_l40 -main_l39: -intc_1 // 0 -gtxns TypeEnum -intc_0 // pay -== -intc_0 // 1 -gtxns TypeEnum -intc_0 // pay -== -&& -intc_0 // 1 -gtxns Receiver -load 0 -!= -&& -b main_l2 -main_l40: -return - -// check_baseline_preconditions -checkbaselinepreconditions_0: -proto 2 0 -frame_dig -2 -global GroupSize -< -// txn_id out of bounds -assert -frame_dig -2 -gtxns TypeEnum -frame_dig -1 -== -// wrong txn type -assert -frame_dig -2 -gtxns CloseRemainderTo -global ZeroAddress -== -// close_remainder_to not zero -assert -frame_dig -2 -gtxns TypeEnum -intc_3 // axfer -== -bz checkbaselinepreconditions_0_l2 -frame_dig -2 -gtxns AssetCloseTo -global ZeroAddress -== -// asset_close_to not zero -assert -checkbaselinepreconditions_0_l2: -retsub - -// check_baseline_preconditions_with_fee -checkbaselinepreconditionswithfee_1: -proto 3 0 -frame_dig -3 -frame_dig -1 -callsub checkbaselinepreconditions_0 -frame_dig -3 -gtxns Fee -frame_dig -2 -== -// fee not correct -assert -retsub - -// check_baseline_preconditions_with_rekey -checkbaselinepreconditionswithrekey_2: -proto 3 0 -frame_dig -3 -frame_dig -2 -frame_dig -1 -callsub checkbaselinepreconditionswithfee_1 -frame_dig -3 -gtxns RekeyTo -global ZeroAddress -== -// rekey_to incorrect -assert -retsub - -// assert_app_optin_conditions -assertappoptinconditions_3: -proto 1 1 -intc_1 // 0 -global MinTxnFee -global GroupSize -* -intc_0 // pay -callsub checkbaselinepreconditionswithrekey_2 -intc_0 // 1 -intc_1 // 0 -pushint 6 // appl -callsub checkbaselinepreconditionswithrekey_2 -intc_1 // 0 -gtxns Sender -frame_dig -1 -== -// wrong sender -assert -intc_0 // 1 -gtxns OnCompletion -intc_0 // OptIn -== -// wrong on_complete -assert -intc_0 // 1 -retsub - -// assert_app_asa_optin_conditions -assertappasaoptinconditions_4: -proto 1 1 -intc_2 // 2 -intc_1 // 0 -intc_3 // axfer -callsub checkbaselinepreconditionswithrekey_2 -intc_2 // 2 -gtxns AssetSender -intc_2 // 2 -gtxns Receiver -== -// wrong sender -assert -intc_2 // 2 -gtxns AssetAmount -intc_1 // 0 -== -// wrong amount -assert -frame_dig -1 -callsub assertappoptinconditions_3 -retsub - -// assert_registry_rekey_conditions -assertregistryrekeyconditions_5: -proto 2 1 -intc_1 // 0 -global MinTxnFee -global GroupSize -* -intc_0 // pay -callsub checkbaselinepreconditionswithrekey_2 -intc_0 // 1 -intc_1 // 0 -intc_0 // pay -callsub checkbaselinepreconditionswithfee_1 -intc_1 // 0 -gtxns Sender -frame_dig -2 -== -// wrong sender -assert -intc_1 // 0 -gtxns Amount -pushint 100000 // 100000 ->= -// payment too low -assert -intc_0 // 1 -gtxns Sender -intc_0 // 1 -gtxns Receiver -== -// sender not receiver -assert -intc_0 // 1 -gtxns Amount -intc_1 // 0 -== -// amount not zero -assert -intc_0 // 1 -gtxns RekeyTo -frame_dig -1 -== -intc_0 // 1 -gtxns RekeyTo -global ZeroAddress -== -|| -intc_0 // 1 -== -// rekey_to not registry or zero -assert -intc_0 // 1 -retsub - -// assert_coin_optin_conditions -assertcoinoptinconditions_6: -proto 1 1 -intc_1 // 0 -global MinTxnFee -intc_2 // 2 -* -intc_0 // pay -callsub checkbaselinepreconditionswithrekey_2 -intc_0 // 1 -global MinTxnFee -intc_2 // 2 -* -intc_3 // axfer -callsub checkbaselinepreconditionswithrekey_2 -intc_0 // 1 -gtxns AssetSender -global ZeroAddress -== -// wrong sender -assert -intc_1 // 0 -gtxns Sender -frame_dig -1 -== -// wrong sender -assert -intc_1 // 0 -gtxns Receiver -intc_0 // 1 -gtxns Sender -== -// wrong receiver -assert -intc_1 // 0 -gtxns Amount -pushint 210000 // 210000 ->= -// payment too low -assert -intc_0 // 1 -gtxns Sender -intc_0 // 1 -gtxns AssetReceiver -== -// wrong sender -assert -intc_0 // 1 -gtxns AssetAmount -intc_1 // 0 -== -// wrong amount -assert -intc_0 // 1 -retsub - -// assert_revenue_claim_conditions -assertrevenueclaimconditions_7: -proto 1 1 -intc_1 // 0 -global MinTxnFee -global GroupSize -* -intc_0 // pay -callsub checkbaselinepreconditionswithrekey_2 -intc_0 // 1 -gtxns TypeEnum -intc_3 // axfer -== -bnz assertrevenueclaimconditions_7_l2 -intc_0 // 1 -intc_1 // 0 -intc_0 // pay -callsub checkbaselinepreconditionswithrekey_2 -b assertrevenueclaimconditions_7_l3 -assertrevenueclaimconditions_7_l2: -intc_0 // 1 -intc_1 // 0 -intc_3 // axfer -callsub checkbaselinepreconditionswithrekey_2 -assertrevenueclaimconditions_7_l3: -intc_1 // 0 -gtxns Sender -frame_dig -1 -== -// wrong sender -assert -intc_0 // 1 -gtxns Receiver -frame_dig -1 -== -intc_0 // 1 -gtxns AssetReceiver -frame_dig -1 -== -|| -intc_0 // 1 -== -// wrong receiver -assert -intc_0 // 1 -retsub -`; -/* c8 ignore stop */ diff --git a/src/contracts/smr_client.ts b/src/contracts/smr_client.ts deleted file mode 100644 index e1d5795..0000000 --- a/src/contracts/smr_client.ts +++ /dev/null @@ -1,307 +0,0 @@ -/* c8 ignore start */ -import algosdk from "algosdk"; -import * as bkr from "beaker-ts"; -export class PendingTransfer { - locker = ""; - smi_id = BigInt(0); - static codec: algosdk.ABIType = algosdk.ABIType.from("(address,uint64)"); - static fields: string[] = ["locker", "smi_id"]; - static decodeResult(val: algosdk.ABIValue | undefined): PendingTransfer { - return bkr.decodeNamedTuple(val, PendingTransfer.fields) as PendingTransfer; - } - static decodeBytes(val: Uint8Array): PendingTransfer { - return bkr.decodeNamedTuple( - PendingTransfer.codec.decode(val), - PendingTransfer.fields - ) as PendingTransfer; - } -} -export class SMR extends bkr.ApplicationClient { - desc = ""; - override appSchema: bkr.Schema = { - declared: { - version: { - type: bkr.AVMType.bytes, - key: "version", - desc: "", - static: false, - }, - }, - reserved: {}, - }; - override acctSchema: bkr.Schema = { declared: {}, reserved: {} }; - override approvalProgram = - "I3ByYWdtYSB2ZXJzaW9uIDgKaW50Y2Jsb2NrIDAgMSA4IDEyIDEyOCAyNTUgMjAwMDAwIDEwMDAwMApieXRlY2Jsb2NrIDB4IDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OSAweDUwNzI2ZjY3NzI2MTZkIDB4MTUxZjdjNzUKdHhuIE51bUFwcEFyZ3MKaW50Y18wIC8vIDAKPT0KYm56IG1haW5fbDEyCnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4MjE1NTQwMmQgLy8gImFkZChzdHJpbmcsc3RyaW5nLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MscGF5KXVpbnQ2NCIKPT0KYm56IG1haW5fbDExCnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4ZmVlZmM4ZTIgLy8gInRyYW5zZmVyX3NtaSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLGFkZHJlc3MscGF5KShhZGRyZXNzLHVpbnQ2NCkiCj09CmJueiBtYWluX2wxMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDJmNjFlMDQyIC8vICJjbGFpbV9zbWkoYWRkcmVzcyxhcHBsaWNhdGlvbix1aW50NjQpdm9pZCIKPT0KYm56IG1haW5fbDkKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHg0ZGI3NDI5MiAvLyAicmVrZXlfbG9ja2VyX2JhY2soYWRkcmVzcyl2b2lkIgo9PQpibnogbWFpbl9sOAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDNmMTI5OTc5IC8vICJkZWxldGVfc21pKHVpbnQ2NCl2b2lkIgo9PQpibnogbWFpbl9sNwplcnIKbWFpbl9sNzoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCmNhbGxzdWIgZGVsZXRlc21pXzcKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDg6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CnR4bmEgQXBwbGljYXRpb25BcmdzIDEKY2FsbHN1YiByZWtleWxvY2tlcmJhY2tfNgppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sOToKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpzdG9yZSAxNgp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCmludGNfMCAvLyAwCmdldGJ5dGUKc3RvcmUgMTcKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwpidG9pCnN0b3JlIDE4CmxvYWQgMTYKbG9hZCAxNwpsb2FkIDE4CmNhbGxzdWIgY2xhaW1zbWlfNQppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sMTA6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpzdG9yZSAxMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCnN0b3JlIDExCnR4bmEgQXBwbGljYXRpb25BcmdzIDMKc3RvcmUgMTIKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNApzdG9yZSAxMwp0eG4gR3JvdXBJbmRleAppbnRjXzEgLy8gMQotCnN0b3JlIDE0CmxvYWQgMTQKZ3R4bnMgVHlwZUVudW0KaW50Y18xIC8vIHBheQo9PQphc3NlcnQKbG9hZCAxMApsb2FkIDExCmxvYWQgMTIKbG9hZCAxMwpsb2FkIDE0CmNhbGxzdWIgdHJhbnNmZXJzbWlfNApzdG9yZSAxNQpieXRlY18zIC8vIDB4MTUxZjdjNzUKbG9hZCAxNQpjb25jYXQKbG9nCmludGNfMSAvLyAxCnJldHVybgptYWluX2wxMToKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpzdG9yZSAwCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKc3RvcmUgMQp0eG5hIEFwcGxpY2F0aW9uQXJncyAzCmJ0b2kKc3RvcmUgMgp0eG5hIEFwcGxpY2F0aW9uQXJncyA0CmJ0b2kKc3RvcmUgMwp0eG5hIEFwcGxpY2F0aW9uQXJncyA1CmJ0b2kKc3RvcmUgNAp0eG5hIEFwcGxpY2F0aW9uQXJncyA2CmJ0b2kKc3RvcmUgNQp0eG5hIEFwcGxpY2F0aW9uQXJncyA3CnN0b3JlIDYKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOApzdG9yZSA3CnR4biBHcm91cEluZGV4CmludGNfMSAvLyAxCi0Kc3RvcmUgOApsb2FkIDgKZ3R4bnMgVHlwZUVudW0KaW50Y18xIC8vIHBheQo9PQphc3NlcnQKbG9hZCAwCmxvYWQgMQpsb2FkIDIKbG9hZCAzCmxvYWQgNApsb2FkIDUKbG9hZCA2CmxvYWQgNwpsb2FkIDgKY2FsbHN1YiBhZGRfMwpzdG9yZSA5CmJ5dGVjXzMgLy8gMHgxNTFmN2M3NQpsb2FkIDkKaXRvYgpjb25jYXQKbG9nCmludGNfMSAvLyAxCnJldHVybgptYWluX2wxMjoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQpibnogbWFpbl9sMTQKZXJyCm1haW5fbDE0Ogp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAo9PQphc3NlcnQKY2FsbHN1YiBjcmVhdGVfMQppbnRjXzEgLy8gMQpyZXR1cm4KCi8vIGVuY29kZV91dmFyaW50X2ltcGwKZW5jb2RldXZhcmludGltcGxfMDoKcHJvdG8gMiAxCmZyYW1lX2RpZyAtMQpmcmFtZV9kaWcgLTIKaW50YyA0IC8vIDEyOAo+PQpibnogZW5jb2RldXZhcmludGltcGxfMF9sMgpmcmFtZV9kaWcgLTIKaW50YyA1IC8vIDI1NQomCml0b2IKZXh0cmFjdCA3IDEKYiBlbmNvZGV1dmFyaW50aW1wbF8wX2wzCmVuY29kZXV2YXJpbnRpbXBsXzBfbDI6CmZyYW1lX2RpZyAtMgpwdXNoaW50IDcgLy8gNwpzaHIKZnJhbWVfZGlnIC0yCmludGMgNSAvLyAyNTUKJgppbnRjIDQgLy8gMTI4CnwKaXRvYgpleHRyYWN0IDcgMQpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzAKZW5jb2RldXZhcmludGltcGxfMF9sMzoKY29uY2F0CnJldHN1YgoKLy8gY3JlYXRlCmNyZWF0ZV8xOgpwcm90byAwIDAKcHVzaGJ5dGVzIDB4NzY2NTcyNzM2OTZmNmUgLy8gInZlcnNpb24iCnB1c2hieXRlcyAweDMwMmUzMzJlMzAgLy8gIjAuMy4wIgphcHBfZ2xvYmFsX3B1dApyZXRzdWIKCi8vIGlubmVyX29wdGluX3NtaV90b19sb2NrZXIKaW5uZXJvcHRpbnNtaXRvbG9ja2VyXzI6CnByb3RvIDMgMAppbnRjXzAgLy8gMApmcmFtZV9kaWcgLTIKaW50Y18wIC8vIDAKIT0KYm56IGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2w0CmludGNfMCAvLyAwCmlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2wyOgpmcmFtZV9idXJ5IDAKaXR4bl9iZWdpbgppbnRjXzEgLy8gcGF5Cml0eG5fZmllbGQgVHlwZUVudW0KZnJhbWVfZGlnIC0xCml0eG5fZmllbGQgUmVjZWl2ZXIKaW50YyA2IC8vIDIwMDAwMApmcmFtZV9kaWcgMAorCml0eG5fZmllbGQgQW1vdW50Cmdsb2JhbCBNaW5UeG5GZWUKcHVzaGludCAyIC8vIDIKKgppdHhuX2ZpZWxkIEZlZQppdHhuX25leHQKZnJhbWVfZGlnIC0xCml0eG5fZmllbGQgU2VuZGVyCnB1c2hpbnQgNiAvLyBhcHBsCml0eG5fZmllbGQgVHlwZUVudW0KaW50Y18xIC8vIE9wdEluCml0eG5fZmllbGQgT25Db21wbGV0aW9uCmZyYW1lX2RpZyAtMwppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKZnJhbWVfZGlnIC0yCmludGNfMCAvLyAwCiE9CmJ6IGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2w1Cml0eG5fbmV4dApwdXNoaW50IDQgLy8gYXhmZXIKaXR4bl9maWVsZCBUeXBlRW51bQpmcmFtZV9kaWcgLTEKaXR4bl9maWVsZCBTZW5kZXIKZnJhbWVfZGlnIC0xCml0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgppbnRjXzAgLy8gMAppdHhuX2ZpZWxkIEFzc2V0QW1vdW50CmZyYW1lX2RpZyAtMgppdHhuX2ZpZWxkIFhmZXJBc3NldApiIGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2w1CmlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2w0OgpwdXNoaW50IDIwMDAgLy8gMjAwMApiIGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2wyCmlubmVyb3B0aW5zbWl0b2xvY2tlcl8yX2w1OgppdHhuX3N1Ym1pdApyZXRzdWIKCi8vIGFkZAphZGRfMzoKcHJvdG8gOSAxCmludGNfMCAvLyAwCmJ5dGVjXzAgLy8gIiIKaW50Y18wIC8vIDAKYnl0ZWNfMCAvLyAiIgpmcmFtZV9kaWcgLTEKZ3R4bnMgU2VuZGVyCmZyYW1lX2RpZyAtMwo9PQovLyBNYW5hZ2VyIGFkZHJlc3MgbXVzdCBtYXRjaCBmZWUgdHhuIHNlbmRlcgphc3NlcnQKZnJhbWVfZGlnIC0zCmZyYW1lX2J1cnkgMQppdHhuX2JlZ2luCnB1c2hpbnQgNiAvLyBhcHBsCml0eG5fZmllbGQgVHlwZUVudW0KcHVzaGJ5dGVzIDB4MDgyMDA2MDAwMTA4MDM4MDAxZmYwMTI2MGYwMDA3NmQ2MTZlNjE2NzY1NzIwYjYxNjM3NDY5NzY2NTVmNzM3NTYyNzNlMTA1MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OTA1NzA3MjY5NjM2NTA0MTUxZjdjNzUwODczNzU2MjVmNzQ3OTcwNjUwOTZjNjk2NjY1NjM3OTYzNmM2NTA4NmQ2MTc4NWY3Mzc1NjI3MzBhNzQ2Zjc0NjE2YzVmNzM3NTYyNzMwNDZlNjE2ZDY1MDc1MDcyNmY2NzcyNjE2ZDA3NjM2ZjY5NmU1ZjY5NjQwYTYzNzI2NTYxNzQ2NTY0NWY2MTc0MDc3NjY1NzI3MzY5NmY2ZTMxMWIyMjEyNDAwMjg3MzYxYTAwODAwNDE3ZDcxNTVhMTI0MDAyMzYzNjFhMDA4MDA0Yzg2ZmRiMDExMjQwMDIxNzM2MWEwMDgwMDQwOTFlMTMyZjEyNDAwMWVmMzYxYTAwODAwNDc0ZWJhYTBiMTI0MDAxYTQzNjFhMDA4MDA0YTljMGVjYzAxMjQwMDE4NDM2MWEwMDgwMDRkYzcxNmU1MDEyNDAwMTM4MzYxYTAwODAwNGMxNjg2ZmVkMTI0MDAxMTEzNjFhMDA4MDA0MWVjNWU5OGExMjQwMDBlOTM2MWEwMDgwMDQzNTQ5Mzg2ODEyNDAwMGM5MzYxYTAwODAwNDdiMmVjYzMxMTI0MDAwOWUzNjFhMDA4MDA0OTJhOTBhZjYxMjQwMDA3NDM2MWEwMDgwMDQ4MmQ1N2ZjYzEyNDAwMDQ5MzYxYTAwODAwNDI4ZTFlYThmMTI0MDAwMWUzNjFhMDA4MDA0MjQzNzhkM2MxMjQwMDAwMTAwMzExOTgxMDUxMjMxMTgyMjEzMTA0NDg4MDllMjIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDM2MWEwMTM1NDkzNjFhMDIxNzM1NGEzNDQ5MzQ0YTg4MDkyMTIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDMxMTYyMzA5MzU0ODM0NDgzODEwMjMxMjQ0MzQ0ODg4MDg0NzIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDM2MWEwMTIyNTU4ODA4MDQzNTQ3MjcwNTM0NDcxNjUwYjAyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDEzNTQ1MzYxYTAyMTczNTQ2MzQ0NTM0NDY4ODA3OTYyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDExNzg4MDc2OTIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDM2MWEwMTg4MDcyMjM1NDQyNzA1MzQ0NDE2NTBiMDIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDM2MWEwMTg4MDZmNDM1NDMyNzA1MzQ0MzUwYjAyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDEzNTNlMzYxYTAyMTczNTNmMzExNjgxMDIwOTM1NDAzNDQwMzgxMDIzMTI0NDMxMTYyMzA5MzU0MTM0M2UzNDNmMzQ0MDM0NDE4ODA0ZjEzNTQyMjcwNTM0NDIxNjUwYjAyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDExNzg4MDRiOTIzNDMzMTE5MjIxMjMxMTgyMjEzMTA0NDM2MWEwMTE3MzUzOTM2MWEwMjE3MzUzYTM2MWEwMzE3MzUzYjM2MWEwNDE3MzUzYzMxMTYyMzA5MzUzZDM0M2QzODEwMjMxMjQ0MzQzOTM0M2EzNDNiMzQzYzM0M2Q4ODA0MDMyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDExNzg4MDNkYzM1MzgyNzA1MzQzODUwYjAyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDE4ODAzYWUyMzQzMzExOTIyMTIzMTE4MjIxMjEwNDQzNjFhMDEzNTMxMzYxYTAyMzUzMjM2MWEwMzM1MzMzNjFhMDQxNzM1MzQzNjFhMDUxNzM1MzUzNjFhMDYxNzM1MzYzNjFhMDcxNzM1MzczNDMxMzQzMjM0MzMzNDM0MzQzNTM0MzYzNDM3ODgwMmZkMjM0MzMxMTkyMzEyNDAwMDEzMzExOTgxMDIxMjQwMDAwMTAwMzExODIyMTM0NDg4MDM0YjIzNDMzMTE4MjIxMzQ0ODgwMzNkMjM0MzhhMDEwMTgwMGEzMDMxMzIzMzM0MzUzNjM3MzgzOThiZmYyMzU4ODk4YTAxMDE4YmZmMjIxMjQwMDAyMjhiZmY4MTBhMGEyMjBkNDAwMDBkMjg4YmZmODEwYTE4ODhmZmNmNTA0MjAwMGU4YmZmODEwYTBhODhmZmQ3NDJmZmU5ODAwMTMwODk4YTAyMDE4YmZmOGJmZTIxMDQwZjQwMDAwYzhiZmUyMTA1MWExNjU3MDcwMTQyMDAxNDhiZmU4MTA3OTE4YmZlMjEwNTFhMjEwNDE5MTY1NzA3MDE4OGZmZDM1MDg5OGEwMzAxYjEyNWIyMTAyM2IyMjIyMmIyMjMyM2IyMjQ4YmZlYjIyNThiZmRiMjI2OGJmZmIyMjczMjBhYjIyOTMyMGFiMjJhMzIwYWIyMmIzMjBhYjIyYzIyYjIwMWIzYjQzYzg5OGEwMzAwYjE4MTA0YjIxMDhiZmRiMjExMjNiMjEyOGJmZWIyMTM4YmZmYjIxNDIyYjIwMWIzODk4YTAxMDBiMTI1YjIxMDhiZmZiMjIxMjJiMjAxYjM4OThhMDIwMDhiZmU4YmZmNzAwMDM1MjgzNTI3MzQyODM0MjcyMjBkMTA0MDAwMTU4YmZmODhmZmQ0MmE2NDIyMTM0MTAwMTUyYTJhNjQyMzA5Njc0MjAwMGM4YmZmOGJmZTMyMGE4OGZmOWY0MmZmZGY4YmZlYmM0ODg5OGEwMjAxOGJmZTIyMTI0MDAwNGI4YmZmMjMxMjQwMDAzOThiZmY4MTAyMTI0MDAwMjY4YmZmMjUxMjQwMDAxNDhiZmY4MTA0MTI0MDAwMDEwMDMyMDc4MTgwZTc4NDBmMDg0MjAwMjIzMjA3ODE4MDljYjUwNzA4NDIwMDE3MzIwNzgxODBjZWRhMDMwODQyMDAwYzMyMDc4MTgwOWE5ZTAxMDg0MjAwMDEyMjg5OGEwMTAwMjgyMjQ3MDUyODIyNDkyODQ5OGJmZjE2YmQzNTE0MzUxMzM0MTQ0MTAwMTU4YmZmMTZiZTM1MTYzNTE1MzQxNjQ0MzQxNThjMDA4YjAwMjQ1YjhjMDE4YjAwODExMDViOGMwMjhiMDA4MTE4NWI4YzAzOGIwMDgxMjA1YjhjMDQ4YjAwODEyODViOGMwNThiMDUyMzA4OGMwNjhiZmYxNjhiMDExNjUwOGIwMjE2NTA4YjAzMTY1MDhiMDQxNjUwOGIwNjE2NTA4YzA3OGJmZjE2YmM0ODhiZmYxNjhiMDdiZjg5OGEwMjAxMjgyMjQ3MDI4YmZlMTZiZDM1MTAzNTBmMzQxMDQwMDAwNSAvLyAweDA4MjAwNjAwMDEwODAzODAwMWZmMDEyNjBmMDAwNzZkNjE2ZTYxNjc2NTcyMGI2MTYzNzQ2OTc2NjU1ZjczNzU2MjczZTEwNTA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkwNTcwNzI2OTYzNjUwNDE1MWY3Yzc1MDg3Mzc1NjI1Zjc0Nzk3MDY1MDk2YzY5NjY2NTYzNzk2MzZjNjUwODZkNjE3ODVmNzM3NTYyNzMwYTc0NmY3NDYxNmM1ZjczNzU2MjczMDQ2ZTYxNmQ2NTA3NTA3MjZmNjc3MjYxNmQwNzYzNmY2OTZlNWY2OTY0MGE2MzcyNjU2MTc0NjU2NDVmNjE3NDA3NzY2NTcyNzM2OTZmNmUzMTFiMjIxMjQwMDI4NzM2MWEwMDgwMDQxN2Q3MTU1YTEyNDAwMjM2MzYxYTAwODAwNGM4NmZkYjAxMTI0MDAyMTczNjFhMDA4MDA0MDkxZTEzMmYxMjQwMDFlZjM2MWEwMDgwMDQ3NGViYWEwYjEyNDAwMWE0MzYxYTAwODAwNGE5YzBlY2MwMTI0MDAxODQzNjFhMDA4MDA0ZGM3MTZlNTAxMjQwMDEzODM2MWEwMDgwMDRjMTY4NmZlZDEyNDAwMTExMzYxYTAwODAwNDFlYzVlOThhMTI0MDAwZTkzNjFhMDA4MDA0MzU0OTM4NjgxMjQwMDBjOTM2MWEwMDgwMDQ3YjJlY2MzMTEyNDAwMDllMzYxYTAwODAwNDkyYTkwYWY2MTI0MDAwNzQzNjFhMDA4MDA0ODJkNTdmY2MxMjQwMDA0OTM2MWEwMDgwMDQyOGUxZWE4ZjEyNDAwMDFlMzYxYTAwODAwNDI0Mzc4ZDNjMTI0MDAwMDEwMDMxMTk4MTA1MTIzMTE4MjIxMzEwNDQ4ODA5ZTIyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDEzNTQ5MzYxYTAyMTczNTRhMzQ0OTM0NGE4ODA5MjEyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzMTE2MjMwOTM1NDgzNDQ4MzgxMDIzMTI0NDM0NDg4ODA4NDcyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDEyMjU1ODgwODA0MzU0NzI3MDUzNDQ3MTY1MGIwMjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxMzU0NTM2MWEwMjE3MzU0NjM0NDUzNDQ2ODgwNzk2MjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxMTc4ODA3NjkyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDE4ODA3MjIzNTQ0MjcwNTM0NDQxNjUwYjAyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDE4ODA2ZjQzNTQzMjcwNTM0NDM1MGIwMjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxMzUzZTM2MWEwMjE3MzUzZjMxMTY4MTAyMDkzNTQwMzQ0MDM4MTAyMzEyNDQzMTE2MjMwOTM1NDEzNDNlMzQzZjM0NDAzNDQxODgwNGYxMzU0MjI3MDUzNDQyMTY1MGIwMjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxMTc4ODA0YjkyMzQzMzExOTIyMTIzMTE4MjIxMzEwNDQzNjFhMDExNzM1MzkzNjFhMDIxNzM1M2EzNjFhMDMxNzM1M2IzNjFhMDQxNzM1M2MzMTE2MjMwOTM1M2QzNDNkMzgxMDIzMTI0NDM0MzkzNDNhMzQzYjM0M2MzNDNkODgwNDAzMjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxMTc4ODAzZGMzNTM4MjcwNTM0Mzg1MGIwMjM0MzMxMTkyMjEyMzExODIyMTMxMDQ0MzYxYTAxODgwM2FlMjM0MzMxMTkyMjEyMzExODIyMTIxMDQ0MzYxYTAxMzUzMTM2MWEwMjM1MzIzNjFhMDMzNTMzMzYxYTA0MTczNTM0MzYxYTA1MTczNTM1MzYxYTA2MTczNTM2MzYxYTA3MTczNTM3MzQzMTM0MzIzNDMzMzQzNDM0MzUzNDM2MzQzNzg4MDJmZDIzNDMzMTE5MjMxMjQwMDAxMzMxMTk4MTAyMTI0MDAwMDEwMDMxMTgyMjEzNDQ4ODAzNGIyMzQzMzExODIyMTM0NDg4MDMzZDIzNDM4YTAxMDE4MDBhMzAzMTMyMzMzNDM1MzYzNzM4Mzk4YmZmMjM1ODg5OGEwMTAxOGJmZjIyMTI0MDAwMjI4YmZmODEwYTBhMjIwZDQwMDAwZDI4OGJmZjgxMGExODg4ZmZjZjUwNDIwMDBlOGJmZjgxMGEwYTg4ZmZkNzQyZmZlOTgwMDEzMDg5OGEwMjAxOGJmZjhiZmUyMTA0MGY0MDAwMGM4YmZlMjEwNTFhMTY1NzA3MDE0MjAwMTQ4YmZlODEwNzkxOGJmZTIxMDUxYTIxMDQxOTE2NTcwNzAxODhmZmQzNTA4OThhMDMwMWIxMjViMjEwMjNiMjIyMjJiMjIzMjNiMjI0OGJmZWIyMjU4YmZkYjIyNjhiZmZiMjI3MzIwYWIyMjkzMjBhYjIyYTMyMGFiMjJiMzIwYWIyMmMyMmIyMDFiM2I0M2M4OThhMDMwMGIxODEwNGIyMTA4YmZkYjIxMTIzYjIxMjhiZmViMjEzOGJmZmIyMTQyMmIyMDFiMzg5OGEwMTAwYjEyNWIyMTA4YmZmYjIyMTIyYjIwMWIzODk4YTAyMDA4YmZlOGJmZjcwMDAzNTI4MzUyNzM0MjgzNDI3MjIwZDEwNDAwMDE1OGJmZjg4ZmZkNDJhNjQyMjEzNDEwMDE1MmEyYTY0MjMwOTY3NDIwMDBjOGJmZjhiZmUzMjBhODhmZjlmNDJmZmRmOGJmZWJjNDg4OThhMDIwMThiZmUyMjEyNDAwMDRiOGJmZjIzMTI0MDAwMzk4YmZmODEwMjEyNDAwMDI2OGJmZjI1MTI0MDAwMTQ4YmZmODEwNDEyNDAwMDAxMDAzMjA3ODE4MGU3ODQwZjA4NDIwMDIyMzIwNzgxODA5Y2I1MDcwODQyMDAxNzMyMDc4MTgwY2VkYTAzMDg0MjAwMGMzMjA3ODE4MDlhOWUwMTA4NDIwMDAxMjI4OThhMDEwMDI4MjI0NzA1MjgyMjQ5Mjg0OThiZmYxNmJkMzUxNDM1MTMzNDE0NDEwMDE1OGJmZjE2YmUzNTE2MzUxNTM0MTY0NDM0MTU4YzAwOGIwMDI0NWI4YzAxOGIwMDgxMTA1YjhjMDI4YjAwODExODViOGMwMzhiMDA4MTIwNWI4YzA0OGIwMDgxMjg1YjhjMDU4YjA1MjMwODhjMDY4YmZmMTY4YjAxMTY1MDhiMDIxNjUwOGIwMzE2NTA4YjA0MTY1MDhiMDYxNjUwOGMwNzhiZmYxNmJjNDg4YmZmMTY4YjA3YmY4OThhMDIwMTI4MjI0NzAyOGJmZTE2YmQzNTEwMzUwZjM0MTA0MDAwMDUKaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwpwdXNoYnl0ZXMgMHg4YmZmNDIwMDY1OGJmZTE2YmUzNTEyMzUxMTM0MTI0NDM0MTE4YzAwOGIwMDI0NWI4YzAxOGIwMDgxMTA1YjhjMDI4YjAwODExODViOGMwMzhiMDMzMjA3MGM4YjAzMjIwZDEwNDAwMDMzOGIwMTIyMTI0MDAwMTk4YjAxMjMxMjQwMDAwNThiZmY0MjAwMjI4YmZlODhmZjJhOGJmZjhiMDIwOTQyMDAxNThiZmU4OGZmMWQ4YmZmOGJmZjhiMDIwYjgxNjQwYTA5NDIwMDAyOGJmZjhjMDA4OThhMDEwMTIyOGJmZjIyMTI0MDAwNDE4YmZmMjMxMjQwMDAzMjhiZmY4MTAyMTI0MDAwMjI4YmZmMjUxMjQwMDAxMjhiZmY4MTA0MTI0MDAwMDEwMDI3MDQ2NDgxMGMwYjQyMDAxYzI3MDQ2NDgxMDYwYjQyMDAxMzI3MDQ2NDI1MGI0MjAwMGIyNzA0NjQyMzBiNDIwMDAzMjcwNDY0OGMwMDhiZmY4YjAwODhmZjI3OGMwMDg5OGEwMTAwMjcwNjY0MjIxMjhiZmYyMzEyMTE4YmZmODEwMjEyMTE4YmZmMjUxMjExOGJmZjgxMDQxMjExNDQ4OThhMDcwMDJhMjI2NzI3MGMyMjY3MjcwZDIyNjcyNzA3MjI2NzI5MzIwOTY3MjcwODIyNjcyNzBhODAwNzY0NjU2NjYxNzU2Yzc0NjcyNzA0MjI2NzI3MDYyMjY3MjcwOTIyNjcyNzBlMjg2NzI3MGU4YmY5NTcwMjAwNjcyNzBhOGJmYTU3MDIwMDY3Mjk4YmZiNjcyNzA2OGJmYzY3MjcwNDhiZmQ2NzI3MDg4YmZlNjcyNzBjOGJmZjY3MjcwZDMyMDc2Nzg5OGEwMDAwODk4YTAwMDAyMzQzOGEwMTAwMzEwMDMyMDkxMjQ0Mjk2NDhiZmYxMzQ0Mjk4YmZmNjc4OThhMDEwMTI4OGJmZjE2YmUzNTAxMzUwMDM0MDE0NDM0MDA4YzAwODk4YTA1MDAyMjQ3MDIyODIyNDkyODQ5MzEwMDI5NjQxMjQ0OGJmZjM4MDAyOTY0MTI0NDhiZmYzODA4ODFjNDkwMDEwZjQ0OGJmYzIyMTI4YmZjMjMxMjExNDQ4YmZiMTZiZDM1MDMzNTAyMzQwMzIzMTM0NDMyMDc4YzAwOGJmZTIyMGQ0MDAwMDQyMjQyMDAwNThiMDA4YmZlMDg4YzAxMjI4YzAyOGJmYjE2OGJmYzE2NTA4YmZkMTY1MDhiMDExNjUwOGIwMDE2NTA4YjAyMTY1MDhjMDM4YmZiMTZiYzQ4OGJmYjE2OGIwM2JmODk4YTAxMDAzMTAwMjk2NDEyNDQ4YmZmMTZiZDM1MDUzNTA0MzQwNTIzMTI0NDhiZmYxNmJjNDg4OThhMDQwMTIyNDcwMjI4NDkyMjQ3MDMyODIyNDkyODQ5OGJmZDg4ZmVhMjI3MDY2NDhiZmQ4OGZjZjI4YzAxOGJmZDg4ZmUzODhjMDI4YmZjOGJmZTM4MDAxMjQ0MjcwYjIyMzUwNzIyMzUwODI4MzUwOTI4MzUwYTI5NjQxNTI4ODhmYzAxMjk2NDUwMzUwOTM0MGEyYjM0MDcyNDUyNTAzNDA5NTAzNTBhMzQwODM0MDkxNTA4MjMwOTM1MDgyNDIzMDgzNTA3MzIwOTE1Mjg4OGZiZDkzMjA5NTAzNTA5MzQwYTJiMzQwNzgxMGM1MjUwMzQwOTUwMzUwYTM0MDgzNDA5MTUwODIzMDkzNTA4ODEwYzIzMDgzNTA3MzQwYTJiMzQwNzRiMDExNTUyNTAzNTBhMzQwYTUwMDM4YzAzOGIwMzE1ODEyMDEyNDQ4YmZmMzgxMDIzMTI4YmZmMzgwODhiMDIxMjEwOGJmZjM4MDc4YjAzMTIxMDhiZmYzODEwODEwNDEyOGJmZjM4MTI4YjAyMTIxMDhiZmYzODE0OGIwMzEyMTAxMTQ0MjcwODY0MjIwZDQwMDAzYzhiZmNiZDM1MGMzNTBiMzQwYzQwMDAwOTJhMmE2NDIzMDg2NzQyMDAzMzhiZmNiZTM1MGUzNTBkMzQwZTQ0MzQwZDhjMDQ4YjA0ODExODViOGMwNThiMDUyMjEzNDAwMDAyMjI0MzhiMDUzMjA3MGM0NDQyMDAwYzJhNjQyMzA4MjcwODY0MGU0NDQyZmZiODI3MDkyNzA5NjQyMzA4Njc4MDAxMjMyNzA5NjQ4OGZhZGQ1MDgwMDMyMDJkMjA1MDI3MGE2NDUwODAwMzUzNTQ1MDgwNDI2OTcwNjY3MzNhMmYyZjYyNjE2Njc5NjI2NTY5NjM2NDY0N2EzNzZiNjI3NTc4NjE2YTZhMzY2MjZmNjIzNTYyNmE3MTc0Nzc2NTcxMzY3NzYzNjg2YjY0NmI2OTcxMzQ3Njc2Njg3NzcyNzc3MjZlNjUzNzY5N2EzNDY2MzIzNTc4Njk4OGZhZTUzNTA2MzQwNjIyMTM0NDI3MDY2NDhjMDYzNDA2OGMwNzMyMDc4YzA4OGIwNjE2OGIwNzE2NTA4YjA4MTY1MDhiMDExNjUwOGJmZDE2NTA4YzA5OGJmY2JjNDg4YmZjOGIwOWJmMzQwNjhjMDA4OThhMDEwMTI4OGJmZmJlMzUxODM1MTczNDE4NDQzNDE3OGMwMDg5OGEwMTAxMjIyODIyOGJmZmJkMzUxYTM1MTkzNDFhNDAwMDA2MjI4YzAwNDIwMDFjOGJmZmJlMzUxYzM1MWIzNDFjNDQzNDFiOGMwMThiMDE4MTE4NWI4YzAyOGIwMjMyMDcwZDhjMDA4OThhMDEwMDMxMDA4YmZmNzAwMDM1MWUzNTFkMzQxZTQ0OGJmZjMyMGEzMTAwODhmYTgwODk4YTAyMDAyODMxMDBiZDM1MjAzNTFmMzQyMDQ0MzEwMDhiZmY3MDAwMzUyMjM1MjEzNDIyMzQyMTIyMGQxMDQxMDAwOThiZmYzMTAwMzIwYTg4ZmE1NDMxMDBiZTM1MjQzNTIzMzQyNDQ0MzQyMzhjMDA4YmZlYmM0ODhiZmU4YjAwYmYzMTAwYmM0ODg5OGEwMTAxMjIyODIyMzEwMGJkMzUyNjM1MjUzNDI2NDQzMTAwOGMwMThiMDExNTgxMjAxMjQ0OGJmZmMwMzA4YzAyOGIwMThiMDI4OGZhM2M4YmZmYzAzMDhjMDA4OThhMDEwMDI4MzEwMDI5NjQxMjQ0MzEwMDI5NjQxMjQ0OGJmZjM4MDAyOTY0MTI0NDI3MGIyMjM1MjkyMjM1MmEyODM1MmIyODM1MmMyOTY0MTUyODg4Zjk3YTI5NjQ1MDM1MmIzNDJjMmIzNDI5MjQ1MjUwMzQyYjUwMzUyYzM0MmEzNDJiMTUwODIzMDkzNTJhMjQyMzA4MzUyOTMyMDkxNTI4ODhmOTUyMzIwOTUwMzUyYjM0MmMyYjM0Mjk4MTBjNTI1MDM0MmI1MDM1MmMzNDJhMzQyYjE1MDgyMzA5MzUyYTgxMGMyMzA4MzUyOTM0MmMyYjM0Mjk0YjAxMTU1MjUwMzUyYzM0MmM1MDAzOGMwMDhiMDAxNTgxMjAxMjQ0OGJmZjM4MDc4YjAwMTI0NDJhNjQyMjBkNDAwMDBhOGJmZjM4MDgyMjEyNDQ0MjAwMGQ4YmZmMzgwODMyMDAyNTBiMmE2NDBiMGY0NDI3MDcyMzY3ODk4YTAyMDAyODI3MDc2NDIzMTI0NDI3MGIyMjM1MmQyMjM1MmUyODM1MmYyODM1MzAyOTY0MTUyODg4ZjhjYzI5NjQ1MDM1MmYzNDMwMmIzNDJkMjQ1MjUwMzQyZjUwMzUzMDM0MmUzNDJmMTUwODIzMDkzNTJlMjQyMzA4MzUyZDMyMDkxNTI4ODhmOGE0MzIwOTUwMzUyZjM0MzAyYjM0MmQ4MTBjNTI1MDM0MmY1MDM1MzAzNDJlMzQyZjE1MDgyMzA5MzUyZTgxMGMyMzA4MzUyZDM0MzAyYjM0MmQ0YjAxMTU1MjUwMzUzMDM0MzA1MDAzOGMwMDhiMDAxNTgxMjAxMjQ0OGIwMDMxMTYzODAwMTI0NDMxMTYzODIwMzIwMzEyNDQzMTE2MzgwOTMyMDMxMjQ0OGJmZThiZmY4OGY4ZDc4OThhMDAwMDMxMDAzMjA5MTI0NDI3MDc2NDIzMTI0NDJhNjQyMjEyNDQ4OSAvLyAweDhiZmY0MjAwNjU4YmZlMTZiZTM1MTIzNTExMzQxMjQ0MzQxMThjMDA4YjAwMjQ1YjhjMDE4YjAwODExMDViOGMwMjhiMDA4MTE4NWI4YzAzOGIwMzMyMDcwYzhiMDMyMjBkMTA0MDAwMzM4YjAxMjIxMjQwMDAxOThiMDEyMzEyNDAwMDA1OGJmZjQyMDAyMjhiZmU4OGZmMmE4YmZmOGIwMjA5NDIwMDE1OGJmZTg4ZmYxZDhiZmY4YmZmOGIwMjBiODE2NDBhMDk0MjAwMDI4YmZmOGMwMDg5OGEwMTAxMjI4YmZmMjIxMjQwMDA0MThiZmYyMzEyNDAwMDMyOGJmZjgxMDIxMjQwMDAyMjhiZmYyNTEyNDAwMDEyOGJmZjgxMDQxMjQwMDAwMTAwMjcwNDY0ODEwYzBiNDIwMDFjMjcwNDY0ODEwNjBiNDIwMDEzMjcwNDY0MjUwYjQyMDAwYjI3MDQ2NDIzMGI0MjAwMDMyNzA0NjQ4YzAwOGJmZjhiMDA4OGZmMjc4YzAwODk4YTAxMDAyNzA2NjQyMjEyOGJmZjIzMTIxMThiZmY4MTAyMTIxMThiZmYyNTEyMTE4YmZmODEwNDEyMTE0NDg5OGEwNzAwMmEyMjY3MjcwYzIyNjcyNzBkMjI2NzI3MDcyMjY3MjkzMjA5NjcyNzA4MjI2NzI3MGE4MDA3NjQ2NTY2NjE3NTZjNzQ2NzI3MDQyMjY3MjcwNjIyNjcyNzA5MjI2NzI3MGUyODY3MjcwZThiZjk1NzAyMDA2NzI3MGE4YmZhNTcwMjAwNjcyOThiZmI2NzI3MDY4YmZjNjcyNzA0OGJmZDY3MjcwODhiZmU2NzI3MGM4YmZmNjcyNzBkMzIwNzY3ODk4YTAwMDA4OThhMDAwMDIzNDM4YTAxMDAzMTAwMzIwOTEyNDQyOTY0OGJmZjEzNDQyOThiZmY2Nzg5OGEwMTAxMjg4YmZmMTZiZTM1MDEzNTAwMzQwMTQ0MzQwMDhjMDA4OThhMDUwMDIyNDcwMjI4MjI0OTI4NDkzMTAwMjk2NDEyNDQ4YmZmMzgwMDI5NjQxMjQ0OGJmZjM4MDg4MWM0OTAwMTBmNDQ4YmZjMjIxMjhiZmMyMzEyMTE0NDhiZmIxNmJkMzUwMzM1MDIzNDAzMjMxMzQ0MzIwNzhjMDA4YmZlMjIwZDQwMDAwNDIyNDIwMDA1OGIwMDhiZmUwODhjMDEyMjhjMDI4YmZiMTY4YmZjMTY1MDhiZmQxNjUwOGIwMTE2NTA4YjAwMTY1MDhiMDIxNjUwOGMwMzhiZmIxNmJjNDg4YmZiMTY4YjAzYmY4OThhMDEwMDMxMDAyOTY0MTI0NDhiZmYxNmJkMzUwNTM1MDQzNDA1MjMxMjQ0OGJmZjE2YmM0ODg5OGEwNDAxMjI0NzAyMjg0OTIyNDcwMzI4MjI0OTI4NDk4YmZkODhmZWEyMjcwNjY0OGJmZDg4ZmNmMjhjMDE4YmZkODhmZTM4OGMwMjhiZmM4YmZlMzgwMDEyNDQyNzBiMjIzNTA3MjIzNTA4MjgzNTA5MjgzNTBhMjk2NDE1Mjg4OGZjMDEyOTY0NTAzNTA5MzQwYTJiMzQwNzI0NTI1MDM0MDk1MDM1MGEzNDA4MzQwOTE1MDgyMzA5MzUwODI0MjMwODM1MDczMjA5MTUyODg4ZmJkOTMyMDk1MDM1MDkzNDBhMmIzNDA3ODEwYzUyNTAzNDA5NTAzNTBhMzQwODM0MDkxNTA4MjMwOTM1MDg4MTBjMjMwODM1MDczNDBhMmIzNDA3NGIwMTE1NTI1MDM1MGEzNDBhNTAwMzhjMDM4YjAzMTU4MTIwMTI0NDhiZmYzODEwMjMxMjhiZmYzODA4OGIwMjEyMTA4YmZmMzgwNzhiMDMxMjEwOGJmZjM4MTA4MTA0MTI4YmZmMzgxMjhiMDIxMjEwOGJmZjM4MTQ4YjAzMTIxMDExNDQyNzA4NjQyMjBkNDAwMDNjOGJmY2JkMzUwYzM1MGIzNDBjNDAwMDA5MmEyYTY0MjMwODY3NDIwMDMzOGJmY2JlMzUwZTM1MGQzNDBlNDQzNDBkOGMwNDhiMDQ4MTE4NWI4YzA1OGIwNTIyMTM0MDAwMDIyMjQzOGIwNTMyMDcwYzQ0NDIwMDBjMmE2NDIzMDgyNzA4NjQwZTQ0NDJmZmI4MjcwOTI3MDk2NDIzMDg2NzgwMDEyMzI3MDk2NDg4ZmFkZDUwODAwMzIwMmQyMDUwMjcwYTY0NTA4MDAzNTM1NDUwODA0MjY5NzA2NjczM2EyZjJmNjI2MTY2Nzk2MjY1Njk2MzY0NjQ3YTM3NmI2Mjc1Nzg2MTZhNmEzNjYyNmY2MjM1NjI2YTcxNzQ3NzY1NzEzNjc3NjM2ODZiNjQ2YjY5NzEzNDc2NzY2ODc3NzI3NzcyNmU2NTM3Njk3YTM0NjYzMjM1Nzg2OTg4ZmFlNTM1MDYzNDA2MjIxMzQ0MjcwNjY0OGMwNjM0MDY4YzA3MzIwNzhjMDg4YjA2MTY4YjA3MTY1MDhiMDgxNjUwOGIwMTE2NTA4YmZkMTY1MDhjMDk4YmZjYmM0ODhiZmM4YjA5YmYzNDA2OGMwMDg5OGEwMTAxMjg4YmZmYmUzNTE4MzUxNzM0MTg0NDM0MTc4YzAwODk4YTAxMDEyMjI4MjI4YmZmYmQzNTFhMzUxOTM0MWE0MDAwMDYyMjhjMDA0MjAwMWM4YmZmYmUzNTFjMzUxYjM0MWM0NDM0MWI4YzAxOGIwMTgxMTg1YjhjMDI4YjAyMzIwNzBkOGMwMDg5OGEwMTAwMzEwMDhiZmY3MDAwMzUxZTM1MWQzNDFlNDQ4YmZmMzIwYTMxMDA4OGZhODA4OThhMDIwMDI4MzEwMGJkMzUyMDM1MWYzNDIwNDQzMTAwOGJmZjcwMDAzNTIyMzUyMTM0MjIzNDIxMjIwZDEwNDEwMDA5OGJmZjMxMDAzMjBhODhmYTU0MzEwMGJlMzUyNDM1MjMzNDI0NDQzNDIzOGMwMDhiZmViYzQ4OGJmZThiMDBiZjMxMDBiYzQ4ODk4YTAxMDEyMjI4MjIzMTAwYmQzNTI2MzUyNTM0MjY0NDMxMDA4YzAxOGIwMTE1ODEyMDEyNDQ4YmZmYzAzMDhjMDI4YjAxOGIwMjg4ZmEzYzhiZmZjMDMwOGMwMDg5OGEwMTAwMjgzMTAwMjk2NDEyNDQzMTAwMjk2NDEyNDQ4YmZmMzgwMDI5NjQxMjQ0MjcwYjIyMzUyOTIyMzUyYTI4MzUyYjI4MzUyYzI5NjQxNTI4ODhmOTdhMjk2NDUwMzUyYjM0MmMyYjM0MjkyNDUyNTAzNDJiNTAzNTJjMzQyYTM0MmIxNTA4MjMwOTM1MmEyNDIzMDgzNTI5MzIwOTE1Mjg4OGY5NTIzMjA5NTAzNTJiMzQyYzJiMzQyOTgxMGM1MjUwMzQyYjUwMzUyYzM0MmEzNDJiMTUwODIzMDkzNTJhODEwYzIzMDgzNTI5MzQyYzJiMzQyOTRiMDExNTUyNTAzNTJjMzQyYzUwMDM4YzAwOGIwMDE1ODEyMDEyNDQ4YmZmMzgwNzhiMDAxMjQ0MmE2NDIyMGQ0MDAwMGE4YmZmMzgwODIyMTI0NDQyMDAwZDhiZmYzODA4MzIwMDI1MGIyYTY0MGIwZjQ0MjcwNzIzNjc4OThhMDIwMDI4MjcwNzY0MjMxMjQ0MjcwYjIyMzUyZDIyMzUyZTI4MzUyZjI4MzUzMDI5NjQxNTI4ODhmOGNjMjk2NDUwMzUyZjM0MzAyYjM0MmQyNDUyNTAzNDJmNTAzNTMwMzQyZTM0MmYxNTA4MjMwOTM1MmUyNDIzMDgzNTJkMzIwOTE1Mjg4OGY4YTQzMjA5NTAzNTJmMzQzMDJiMzQyZDgxMGM1MjUwMzQyZjUwMzUzMDM0MmUzNDJmMTUwODIzMDkzNTJlODEwYzIzMDgzNTJkMzQzMDJiMzQyZDRiMDExNTUyNTAzNTMwMzQzMDUwMDM4YzAwOGIwMDE1ODEyMDEyNDQ4YjAwMzExNjM4MDAxMjQ0MzExNjM4MjAzMjAzMTI0NDMxMTYzODA5MzIwMzEyNDQ4YmZlOGJmZjg4ZjhkNzg5OGEwMDAwMzEwMDMyMDkxMjQ0MjcwNzY0MjMxMjQ0MmE2NDIyMTI0NDg5Cml0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKcHVzaGJ5dGVzIDB4MDg4MTAwNDMgLy8gMHgwODgxMDA0MwppdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKaW50Y18xIC8vIDEKaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwpwdXNoaW50IDMgLy8gMwppdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQppbnRjXzIgLy8gOAppdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKcHVzaGJ5dGVzIDB4MTdkNzE1NWEgLy8gMHgxN2Q3MTU1YQppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwpmcmFtZV9kaWcgLTkKaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKZnJhbWVfZGlnIC04Cml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCmZyYW1lX2RpZyAxCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCmZyYW1lX2RpZyAtNwppdG9iCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCmZyYW1lX2RpZyAtNgppdG9iCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCmZyYW1lX2RpZyAtNQppdG9iCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCmZyYW1lX2RpZyAtNAppdG9iCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCml0eG5fc3VibWl0Cml0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAyCmZyYW1lX2J1cnkgMApieXRlY18yIC8vICJQcm9ncmFtIgppbnRjXzAgLy8gMApzdG9yZSAxOQppbnRjXzAgLy8gMApzdG9yZSAyMApieXRlY18wIC8vICIiCnN0b3JlIDIxCmJ5dGVjXzAgLy8gIiIKc3RvcmUgMjIKZnJhbWVfZGlnIDEKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8wCmZyYW1lX2RpZyAxCmNvbmNhdApzdG9yZSAyMQpsb2FkIDIyCmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgMTkKaW50Y18yIC8vIDgKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCAyMQpjb25jYXQKc3RvcmUgMjIKbG9hZCAyMApsb2FkIDIxCmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgMjAKaW50Y18yIC8vIDgKaW50Y18xIC8vIDEKKwpzdG9yZSAxOQpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzAKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKY29uY2F0CnN0b3JlIDIxCmxvYWQgMjIKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCAxOQppbnRjXzMgLy8gMTIKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCAyMQpjb25jYXQKc3RvcmUgMjIKbG9hZCAyMApsb2FkIDIxCmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgMjAKaW50Y18zIC8vIDEyCmludGNfMSAvLyAxCisKc3RvcmUgMTkKbG9hZCAyMgpieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDE5CmRpZyAxCmxlbgpzdWJzdHJpbmczCmNvbmNhdApzdG9yZSAyMgpsb2FkIDIyCmNvbmNhdApzaGE1MTJfMjU2CmZyYW1lX2J1cnkgMwpmcmFtZV9kaWcgMwpsZW4KaXRvYgpleHRyYWN0IDYgMApmcmFtZV9kaWcgMwpjb25jYXQKZnJhbWVfYnVyeSAzCmZyYW1lX2RpZyAzCmV4dHJhY3QgMiAwCmZyYW1lX2RpZyAtMgo9PQphc3NlcnQKZnJhbWVfZGlnIDIKZnJhbWVfZGlnIC00CmZyYW1lX2RpZyAtMgpjYWxsc3ViIGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yCmZyYW1lX2RpZyAzCmV4dHJhY3QgMiAwCmZyYW1lX2RpZyAtMgo9PQphc3NlcnQKaXR4bl9iZWdpbgpmcmFtZV9kaWcgMwpleHRyYWN0IDIgMAppdHhuX2ZpZWxkIFNlbmRlcgppbnRjXzEgLy8gcGF5Cml0eG5fZmllbGQgVHlwZUVudW0KZnJhbWVfZGlnIDMKZXh0cmFjdCAyIDAKaXR4bl9maWVsZCBSZWNlaXZlcgpmcmFtZV9kaWcgMwpleHRyYWN0IDIgMAppdHhuX2ZpZWxkIFJla2V5VG8KaW50YyA3IC8vIDEwMDAwMAppdHhuX2ZpZWxkIEFtb3VudApnbG9iYWwgTWluVHhuRmVlCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0CnJldHN1YgoKLy8gdHJhbnNmZXJfc21pCnRyYW5zZmVyc21pXzQ6CnByb3RvIDUgMQpieXRlY18wIC8vICIiCmR1cG4gMwppbnRjXzAgLy8gMApkdXAKYnl0ZWNfMCAvLyAiIgpkdXAKZnJhbWVfZGlnIC0zCmJveF9sZW4Kc3RvcmUgMjQKc3RvcmUgMjMKbG9hZCAyNAppbnRjXzAgLy8gMAo9PQovLyBOZXcgb3duZXIgaGFzIHBlbmRpbmcgc3Vic2NyaXB0aW9uIHRyYW5zZmVycwphc3NlcnQKYnl0ZWNfMiAvLyAiUHJvZ3JhbSIKaW50Y18wIC8vIDAKc3RvcmUgMjUKaW50Y18wIC8vIDAKc3RvcmUgMjYKYnl0ZWNfMCAvLyAiIgpzdG9yZSAyNwpieXRlY18wIC8vICIiCnN0b3JlIDI4CmZyYW1lX2RpZyAtMQpndHhucyBTZW5kZXIKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8wCmZyYW1lX2RpZyAtMQpndHhucyBTZW5kZXIKY29uY2F0CnN0b3JlIDI3CmxvYWQgMjgKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCAyNQppbnRjXzIgLy8gOApzdWJzdHJpbmczCmNvbmNhdApsb2FkIDI3CmNvbmNhdApzdG9yZSAyOApsb2FkIDI2CmxvYWQgMjcKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAyNgppbnRjXzIgLy8gOAppbnRjXzEgLy8gMQorCnN0b3JlIDI1Cmdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMApnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpjb25jYXQKc3RvcmUgMjcKbG9hZCAyOApieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDI1CmludGNfMyAvLyAxMgpzdWJzdHJpbmczCmNvbmNhdApsb2FkIDI3CmNvbmNhdApzdG9yZSAyOApsb2FkIDI2CmxvYWQgMjcKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAyNgppbnRjXzMgLy8gMTIKaW50Y18xIC8vIDEKKwpzdG9yZSAyNQpsb2FkIDI4CmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgMjUKZGlnIDEKbGVuCnN1YnN0cmluZzMKY29uY2F0CnN0b3JlIDI4CmxvYWQgMjgKY29uY2F0CnNoYTUxMl8yNTYKZnJhbWVfYnVyeSAxCmZyYW1lX2RpZyAxCmxlbgpwdXNoaW50IDMyIC8vIDMyCj09CmFzc2VydApmcmFtZV9kaWcgMQpmcmFtZV9kaWcgLTQKPT0KLy8gT2xkIGxvY2tlciBhZGRyZXNzIGRvZXMgbm90IG1hdGNoIGFjY291bnQgcmVmZXJlbmNlCmFzc2VydApieXRlY18yIC8vICJQcm9ncmFtIgppbnRjXzAgLy8gMApzdG9yZSAyOQppbnRjXzAgLy8gMApzdG9yZSAzMApieXRlY18wIC8vICIiCnN0b3JlIDMxCmJ5dGVjXzAgLy8gIiIKc3RvcmUgMzIKZnJhbWVfZGlnIC0zCmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMApmcmFtZV9kaWcgLTMKY29uY2F0CnN0b3JlIDMxCmxvYWQgMzIKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCAyOQppbnRjXzIgLy8gOApzdWJzdHJpbmczCmNvbmNhdApsb2FkIDMxCmNvbmNhdApzdG9yZSAzMgpsb2FkIDMwCmxvYWQgMzEKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAzMAppbnRjXzIgLy8gOAppbnRjXzEgLy8gMQorCnN0b3JlIDI5Cmdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMApnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpjb25jYXQKc3RvcmUgMzEKbG9hZCAzMgpieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDI5CmludGNfMyAvLyAxMgpzdWJzdHJpbmczCmNvbmNhdApsb2FkIDMxCmNvbmNhdApzdG9yZSAzMgpsb2FkIDMwCmxvYWQgMzEKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSAzMAppbnRjXzMgLy8gMTIKaW50Y18xIC8vIDEKKwpzdG9yZSAyOQpsb2FkIDMyCmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgMjkKZGlnIDEKbGVuCnN1YnN0cmluZzMKY29uY2F0CnN0b3JlIDMyCmxvYWQgMzIKY29uY2F0CnNoYTUxMl8yNTYKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAyCmxlbgpwdXNoaW50IDMyIC8vIDMyCj09CmFzc2VydApmcmFtZV9kaWcgMgpmcmFtZV9kaWcgLTIKPT0KLy8gTmV3IGxvY2tlciBhZGRyZXNzIGRvZXMgbm90IG1hdGNoIGFjY291bnQgcmVmZXJlbmNlCmFzc2VydAppdHhuX2JlZ2luCmludGNfMSAvLyBwYXkKaXR4bl9maWVsZCBUeXBlRW51bQpmcmFtZV9kaWcgLTIKaXR4bl9maWVsZCBSZWNlaXZlcgppbnRjIDYgLy8gMjAwMDAwCml0eG5fZmllbGQgQW1vdW50Cmdsb2JhbCBNaW5UeG5GZWUKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKaXR4bl9iZWdpbgpmcmFtZV9kaWcgLTQKaXR4bl9maWVsZCBTZW5kZXIKcHVzaGludCA2IC8vIGFwcGwKaXR4bl9maWVsZCBUeXBlRW51bQpwdXNoaW50IDIgLy8gQ2xvc2VPdXQKaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KZnJhbWVfZGlnIC01Cml0eG5fZmllbGQgQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAppdHhuX2ZpZWxkIEZlZQppdHhuX3N1Ym1pdAppdHhuX2JlZ2luCnB1c2hpbnQgNiAvLyBhcHBsCml0eG5fZmllbGQgVHlwZUVudW0KZnJhbWVfZGlnIC01Cml0eG5fZmllbGQgQXBwbGljYXRpb25JRApwdXNoYnl0ZXMgMHhjODZmZGIwMSAvLyAidXBkYXRlX21hbmFnZXIoYWRkcmVzcyl2b2lkIgppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwpmcmFtZV9kaWcgLTMKaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKaXR4bl9zdWJtaXQKaXR4bl9iZWdpbgpmcmFtZV9kaWcgLTQKaXR4bl9maWVsZCBTZW5kZXIKaW50Y18xIC8vIHBheQppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAtNAppdHhuX2ZpZWxkIFJlY2VpdmVyCmZyYW1lX2RpZyAtNAppdHhuX2ZpZWxkIFJla2V5VG8KaW50YyA3IC8vIDEwMDAwMAppdHhuX2ZpZWxkIEFtb3VudApnbG9iYWwgTWluVHhuRmVlCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0CmZyYW1lX2RpZyAtMgpmcmFtZV9kaWcgLTUKaXRvYgpjb25jYXQKZnJhbWVfYnVyeSAzCmZyYW1lX2RpZyAtMwpib3hfZGVsCnBvcApmcmFtZV9kaWcgLTMKZnJhbWVfZGlnIDMKYm94X3B1dApmcmFtZV9kaWcgLTMKYm94X2dldApzdG9yZSAzNApzdG9yZSAzMwpsb2FkIDM0CmFzc2VydApsb2FkIDMzCmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIGNsYWltX3NtaQpjbGFpbXNtaV81Ogpwcm90byAzIDAKYnl0ZWNfMCAvLyAiIgpkdXAKaW50Y18wIC8vIDAKYnl0ZWNfMiAvLyAiUHJvZ3JhbSIKaW50Y18wIC8vIDAKc3RvcmUgMzUKaW50Y18wIC8vIDAKc3RvcmUgMzYKYnl0ZWNfMCAvLyAiIgpzdG9yZSAzNwpieXRlY18wIC8vICIiCnN0b3JlIDM4CmZyYW1lX2RpZyAtMwpsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzAKZnJhbWVfZGlnIC0zCmNvbmNhdApzdG9yZSAzNwpsb2FkIDM4CmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgMzUKaW50Y18yIC8vIDgKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCAzNwpjb25jYXQKc3RvcmUgMzgKbG9hZCAzNgpsb2FkIDM3CmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgMzYKaW50Y18yIC8vIDgKaW50Y18xIC8vIDEKKwpzdG9yZSAzNQpnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzAKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKY29uY2F0CnN0b3JlIDM3CmxvYWQgMzgKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCAzNQppbnRjXzMgLy8gMTIKc3Vic3RyaW5nMwpjb25jYXQKbG9hZCAzNwpjb25jYXQKc3RvcmUgMzgKbG9hZCAzNgpsb2FkIDM3CmxlbgorCmludGNfMSAvLyAxCi0Kc3RvcmUgMzYKaW50Y18zIC8vIDEyCmludGNfMSAvLyAxCisKc3RvcmUgMzUKbG9hZCAzOApieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDM1CmRpZyAxCmxlbgpzdWJzdHJpbmczCmNvbmNhdApzdG9yZSAzOApsb2FkIDM4CmNvbmNhdApzaGE1MTJfMjU2CmZyYW1lX2J1cnkgMApmcmFtZV9kaWcgMApsZW4KcHVzaGludCAzMiAvLyAzMgo9PQphc3NlcnQKdHhuIFNlbmRlcgpib3hfZ2V0CnN0b3JlIDQwCnN0b3JlIDM5CmxvYWQgNDAKYXNzZXJ0CmxvYWQgMzkKZnJhbWVfYnVyeSAxCmZyYW1lX2RpZyAxCnB1c2hpbnQgMzIgLy8gMzIKZXh0cmFjdF91aW50NjQKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAyCmZyYW1lX2RpZyAtMgp0eG5hcyBBcHBsaWNhdGlvbnMKPT0KYXNzZXJ0CmZyYW1lX2RpZyAyCmZyYW1lX2RpZyAtMQpmcmFtZV9kaWcgMApjYWxsc3ViIGlubmVyb3B0aW5zbWl0b2xvY2tlcl8yCml0eG5fYmVnaW4KZnJhbWVfZGlnIDAKaXR4bl9maWVsZCBTZW5kZXIKaW50Y18xIC8vIHBheQppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAwCml0eG5fZmllbGQgUmVjZWl2ZXIKZnJhbWVfZGlnIDAKaXR4bl9maWVsZCBSZWtleVRvCmludGNfMCAvLyAwCml0eG5fZmllbGQgQW1vdW50CmludGNfMCAvLyAwCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0CmZyYW1lX2RpZyAtMwpib3hfZGVsCnBvcApyZXRzdWIKCi8vIHJla2V5X2xvY2tlcl9iYWNrCnJla2V5bG9ja2VyYmFja182Ogpwcm90byAxIDAKYnl0ZWNfMCAvLyAiIgpieXRlY18yIC8vICJQcm9ncmFtIgppbnRjXzAgLy8gMApzdG9yZSA0MQppbnRjXzAgLy8gMApzdG9yZSA0MgpieXRlY18wIC8vICIiCnN0b3JlIDQzCmJ5dGVjXzAgLy8gIiIKc3RvcmUgNDQKdHhuIFNlbmRlcgpsZW4KYnl0ZWNfMCAvLyAiIgpjYWxsc3ViIGVuY29kZXV2YXJpbnRpbXBsXzAKdHhuIFNlbmRlcgpjb25jYXQKc3RvcmUgNDMKbG9hZCA0NApieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDQxCmludGNfMiAvLyA4CnN1YnN0cmluZzMKY29uY2F0CmxvYWQgNDMKY29uY2F0CnN0b3JlIDQ0CmxvYWQgNDIKbG9hZCA0MwpsZW4KKwppbnRjXzEgLy8gMQotCnN0b3JlIDQyCmludGNfMiAvLyA4CmludGNfMSAvLyAxCisKc3RvcmUgNDEKZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8wCmdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCmNvbmNhdApzdG9yZSA0Mwpsb2FkIDQ0CmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgNDEKaW50Y18zIC8vIDEyCnN1YnN0cmluZzMKY29uY2F0CmxvYWQgNDMKY29uY2F0CnN0b3JlIDQ0CmxvYWQgNDIKbG9hZCA0MwpsZW4KKwppbnRjXzEgLy8gMQotCnN0b3JlIDQyCmludGNfMyAvLyAxMgppbnRjXzEgLy8gMQorCnN0b3JlIDQxCmxvYWQgNDQKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCA0MQpkaWcgMQpsZW4Kc3Vic3RyaW5nMwpjb25jYXQKc3RvcmUgNDQKbG9hZCA0NApjb25jYXQKc2hhNTEyXzI1NgpmcmFtZV9idXJ5IDAKZnJhbWVfZGlnIDAKbGVuCml0b2IKZXh0cmFjdCA2IDAKZnJhbWVfZGlnIDAKY29uY2F0CmZyYW1lX2J1cnkgMApmcmFtZV9kaWcgMApleHRyYWN0IDIgMApmcmFtZV9kaWcgLTEKPT0KLy8gTG9ja2VyIGFkZHJlc3MgZG9lcyBub3QgbWF0Y2ggYWNjb3VudCByZWZlcmVuY2UKYXNzZXJ0Cml0eG5fYmVnaW4KZnJhbWVfZGlnIDAKZXh0cmFjdCAyIDAKaXR4bl9maWVsZCBTZW5kZXIKaW50Y18xIC8vIHBheQppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAwCmV4dHJhY3QgMiAwCml0eG5fZmllbGQgUmVjZWl2ZXIKZnJhbWVfZGlnIDAKZXh0cmFjdCAyIDAKaXR4bl9maWVsZCBSZWtleVRvCmludGNfMCAvLyAwCml0eG5fZmllbGQgQW1vdW50CmludGNfMCAvLyAwCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0CnJldHN1YgoKLy8gZGVsZXRlX3NtaQpkZWxldGVzbWlfNzoKcHJvdG8gMSAwCmJ5dGVjXzAgLy8gIiIKYnl0ZWNfMiAvLyAiUHJvZ3JhbSIKaW50Y18wIC8vIDAKc3RvcmUgNDUKaW50Y18wIC8vIDAKc3RvcmUgNDYKYnl0ZWNfMCAvLyAiIgpzdG9yZSA0NwpieXRlY18wIC8vICIiCnN0b3JlIDQ4CnR4biBTZW5kZXIKbGVuCmJ5dGVjXzAgLy8gIiIKY2FsbHN1YiBlbmNvZGV1dmFyaW50aW1wbF8wCnR4biBTZW5kZXIKY29uY2F0CnN0b3JlIDQ3CmxvYWQgNDgKYnl0ZWNfMSAvLyAweDA4MjAwNDAxMDAwMjA0ODAwMDM1MDA4MDAwMzUwMTMyMDQyNDEyNDAwMTVlMjM0MDAxNTAzMjA0MjQxMjQwMDEzNDIzNDAwMTI4MzIwNDIyMTI0MDAxMTIyMzQwMDBmYTMyMDQyNDEyNDAwMGRlMzIwNDgxMDMxMjQwMDBiYjIzNDAwMDk0MzIwNDI0MTI0MDAwNzkyMzQwMDA2ZDMyMDQ4MTExMGU0MDAwMDkyMzQwMDAwMTAwMjI0MjAxMmEyMzM1MDIyMzM1MDMyMzM1MDIzNDAyMzIwNDBjNDAwMDA4MzQwMzMyMDQxMjQyZmZkZjM0MDIzODEwODEwNjEyNDQzNDAyMzgxOTIzMTI0NDM0MDIzODA5MzIwMzEyNDQzNDAyMzgyMDMyMDMxMjQ0MzQwMjM4MDEyMzEyMzQwMjM4MDEzMjAwODEwMzMyMDQwYjBiMGUxMTQ0MzQwMzIyMDgzNTAzMzQwMjIyMDgzNTAyNDJmZmFkMzQwMDg4MDFlNDQyMDBjNjIzMzgxMDIyMTIyMjM4MTAyNTEyMjIzODEwMjIxMjExMTA0MmZmNzQzMjA0MjQxMjQwMDAxNDMyMDQ4MTAzMTI0MDAwMDQyMzQyMDA5ZjM0MDE4ODAxMTE0MjAwOTczNDAxODgwMGU2NDIwMDhmMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwMjQzODEwMjUxMjEwNDJmZjJiMjMzODEwMjIxMjIyMzgxMDgxMDYxMjEwMjIzODE5MjIxMjEwNDJmZjE2MjM4MTA2ODgwMDVhMjMzODAxMzIwMDMyMDQwYjBlNDQyMjQyMDA0YjIzMzgxMDgxMDYxMjIzMzgxOTI0MTIxMDQyZmVlMDM0MDE4ODAxMGU0MjAwMzQyMzM4MTAyMjEyMjIzODEwMjUxMjEwMjIzODE0MzQwMDEzMTA0MmZlYjgzNDAwMzQwMTg4MDBhYzQyMDAxNTIzMzgxMDIyMTIyMjM4MTAyMjEyMTAyMjM4MDczNDAwMTMxMDQyZmU4ZTQzOGEwMjAwOGJmZTMyMDQwYzQ0OGJmZTM4MTA4YmZmMTI0NDhiZmUzODA5MzIwMzEyNDQ4YmZlMzgxMDI1MTI0MTAwMDg4YmZlMzgxNTMyMDMxMjQ0ODk4YTAzMDA4YmZkOGJmZjg4ZmZjYjhiZmQzODAxOGJmZTEyNDQ4OThhMDMwMDhiZmQ4YmZlOGJmZjg4ZmZlMThiZmQzODIwMzIwMzEyNDQ4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZmRlMjIyMzgxMDY4OGZmZDcyMzM4MDA4YmZmMTI0NDIyMzgxOTIyMTI0NDIyODk4YTAxMDEyNDIzMjU4OGZmYmYyNDM4MTMyNDM4MDcxMjQ0MjQzODEyMjMxMjQ0OGJmZjg4ZmZjMTg5OGEwMjAxMjMzMjAwMzIwNDBiMjI4OGZmOWUyMjIzMjI4OGZmODUyMzM4MDA4YmZlMTI0NDIzMzgwODgxYTA4ZDA2MGY0NDIyMzgwMDIyMzgwNzEyNDQyMjM4MDgyMzEyNDQyMjM4MjA4YmZmMTIyMjM4MjAzMjAzMTIxMTIyMTI0NDIyODk4YTAxMDEyMzMyMDAyNDBiMjI4OGZmNWMyMjMyMDAyNDBiMjU4OGZmNTMyMjM4MTMzMjAzMTI0NDIzMzgwMDhiZmYxMjQ0MjMzODA3MjIzODAwMTI0NDIzMzgwODgxZDBlODBjMGY0NDIyMzgwMDIyMzgxNDEyNDQyMjM4MTIyMzEyNDQyMjg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmMTcyMjM4MTAyNTEyNDAwMDA5MjIyMzIyODhmZjA5NDIwMDA2MjIyMzI1ODhmZjAwMjMzODAwOGJmZjEyNDQyMjM4MDc4YmZmMTIyMjM4MTQ4YmZmMTIxMTIyMTI0NDIyODkKbG9hZCA0NQppbnRjXzIgLy8gOApzdWJzdHJpbmczCmNvbmNhdApsb2FkIDQ3CmNvbmNhdApzdG9yZSA0OApsb2FkIDQ2CmxvYWQgNDcKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSA0NgppbnRjXzIgLy8gOAppbnRjXzEgLy8gMQorCnN0b3JlIDQ1Cmdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCmxlbgpieXRlY18wIC8vICIiCmNhbGxzdWIgZW5jb2RldXZhcmludGltcGxfMApnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwpjb25jYXQKc3RvcmUgNDcKbG9hZCA0OApieXRlY18xIC8vIDB4MDgyMDA0MDEwMDAyMDQ4MDAwMzUwMDgwMDAzNTAxMzIwNDI0MTI0MDAxNWUyMzQwMDE1MDMyMDQyNDEyNDAwMTM0MjM0MDAxMjgzMjA0MjIxMjQwMDExMjIzNDAwMGZhMzIwNDI0MTI0MDAwZGUzMjA0ODEwMzEyNDAwMGJiMjM0MDAwOTQzMjA0MjQxMjQwMDA3OTIzNDAwMDZkMzIwNDgxMTEwZTQwMDAwOTIzNDAwMDAxMDAyMjQyMDEyYTIzMzUwMjIzMzUwMzIzMzUwMjM0MDIzMjA0MGM0MDAwMDgzNDAzMzIwNDEyNDJmZmRmMzQwMjM4MTA4MTA2MTI0NDM0MDIzODE5MjMxMjQ0MzQwMjM4MDkzMjAzMTI0NDM0MDIzODIwMzIwMzEyNDQzNDAyMzgwMTIzMTIzNDAyMzgwMTMyMDA4MTAzMzIwNDBiMGIwZTExNDQzNDAzMjIwODM1MDMzNDAyMjIwODM1MDI0MmZmYWQzNDAwODgwMWU0NDIwMGM2MjMzODEwMjIxMjIyMzgxMDI1MTIyMjM4MTAyMjEyMTExMDQyZmY3NDMyMDQyNDEyNDAwMDE0MzIwNDgxMDMxMjQwMDAwNDIzNDIwMDlmMzQwMTg4MDExMTQyMDA5NzM0MDE4ODAwZTY0MjAwOGYyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTAyNDM4MTAyNTEyMTA0MmZmMmIyMzM4MTAyMjEyMjIzODEwODEwNjEyMTAyMjM4MTkyMjEyMTA0MmZmMTYyMzgxMDY4ODAwNWEyMzM4MDEzMjAwMzIwNDBiMGU0NDIyNDIwMDRiMjMzODEwODEwNjEyMjMzODE5MjQxMjEwNDJmZWUwMzQwMTg4MDEwZTQyMDAzNDIzMzgxMDIyMTIyMjM4MTAyNTEyMTAyMjM4MTQzNDAwMTMxMDQyZmViODM0MDAzNDAxODgwMGFjNDIwMDE1MjMzODEwMjIxMjIyMzgxMDIyMTIxMDIyMzgwNzM0MDAxMzEwNDJmZThlNDM4YTAyMDA4YmZlMzIwNDBjNDQ4YmZlMzgxMDhiZmYxMjQ0OGJmZTM4MDkzMjAzMTI0NDhiZmUzODEwMjUxMjQxMDAwODhiZmUzODE1MzIwMzEyNDQ4OThhMDMwMDhiZmQ4YmZmODhmZmNiOGJmZDM4MDE4YmZlMTI0NDg5OGEwMzAwOGJmZDhiZmU4YmZmODhmZmUxOGJmZDM4MjAzMjAzMTI0NDg5OGEwMTAxMjMzMjAwMzIwNDBiMjI4OGZmZGUyMjIzODEwNjg4ZmZkNzIzMzgwMDhiZmYxMjQ0MjIzODE5MjIxMjQ0MjI4OThhMDEwMTI0MjMyNTg4ZmZiZjI0MzgxMzI0MzgwNzEyNDQyNDM4MTIyMzEyNDQ4YmZmODhmZmMxODk4YTAyMDEyMzMyMDAzMjA0MGIyMjg4ZmY5ZTIyMjMyMjg4ZmY4NTIzMzgwMDhiZmUxMjQ0MjMzODA4ODFhMDhkMDYwZjQ0MjIzODAwMjIzODA3MTI0NDIyMzgwODIzMTI0NDIyMzgyMDhiZmYxMjIyMzgyMDMyMDMxMjExMjIxMjQ0MjI4OThhMDEwMTIzMzIwMDI0MGIyMjg4ZmY1YzIyMzIwMDI0MGIyNTg4ZmY1MzIyMzgxMzMyMDMxMjQ0MjMzODAwOGJmZjEyNDQyMzM4MDcyMjM4MDAxMjQ0MjMzODA4ODFkMGU4MGMwZjQ0MjIzODAwMjIzODE0MTI0NDIyMzgxMjIzMTI0NDIyODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmYxNzIyMzgxMDI1MTI0MDAwMDkyMjIzMjI4OGZmMDk0MjAwMDYyMjIzMjU4OGZmMDAyMzM4MDA4YmZmMTI0NDIyMzgwNzhiZmYxMjIyMzgxNDhiZmYxMjExMjIxMjQ0MjI4OQpsb2FkIDQ1CmludGNfMyAvLyAxMgpzdWJzdHJpbmczCmNvbmNhdApsb2FkIDQ3CmNvbmNhdApzdG9yZSA0OApsb2FkIDQ2CmxvYWQgNDcKbGVuCisKaW50Y18xIC8vIDEKLQpzdG9yZSA0NgppbnRjXzMgLy8gMTIKaW50Y18xIC8vIDEKKwpzdG9yZSA0NQpsb2FkIDQ4CmJ5dGVjXzEgLy8gMHgwODIwMDQwMTAwMDIwNDgwMDAzNTAwODAwMDM1MDEzMjA0MjQxMjQwMDE1ZTIzNDAwMTUwMzIwNDI0MTI0MDAxMzQyMzQwMDEyODMyMDQyMjEyNDAwMTEyMjM0MDAwZmEzMjA0MjQxMjQwMDBkZTMyMDQ4MTAzMTI0MDAwYmIyMzQwMDA5NDMyMDQyNDEyNDAwMDc5MjM0MDAwNmQzMjA0ODExMTBlNDAwMDA5MjM0MDAwMDEwMDIyNDIwMTJhMjMzNTAyMjMzNTAzMjMzNTAyMzQwMjMyMDQwYzQwMDAwODM0MDMzMjA0MTI0MmZmZGYzNDAyMzgxMDgxMDYxMjQ0MzQwMjM4MTkyMzEyNDQzNDAyMzgwOTMyMDMxMjQ0MzQwMjM4MjAzMjAzMTI0NDM0MDIzODAxMjMxMjM0MDIzODAxMzIwMDgxMDMzMjA0MGIwYjBlMTE0NDM0MDMyMjA4MzUwMzM0MDIyMjA4MzUwMjQyZmZhZDM0MDA4ODAxZTQ0MjAwYzYyMzM4MTAyMjEyMjIzODEwMjUxMjIyMzgxMDIyMTIxMTEwNDJmZjc0MzIwNDI0MTI0MDAwMTQzMjA0ODEwMzEyNDAwMDA0MjM0MjAwOWYzNDAxODgwMTExNDIwMDk3MzQwMTg4MDBlNjQyMDA4ZjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDI0MzgxMDI1MTIxMDQyZmYyYjIzMzgxMDIyMTIyMjM4MTA4MTA2MTIxMDIyMzgxOTIyMTIxMDQyZmYxNjIzODEwNjg4MDA1YTIzMzgwMTMyMDAzMjA0MGIwZTQ0MjI0MjAwNGIyMzM4MTA4MTA2MTIyMzM4MTkyNDEyMTA0MmZlZTAzNDAxODgwMTBlNDIwMDM0MjMzODEwMjIxMjIyMzgxMDI1MTIxMDIyMzgxNDM0MDAxMzEwNDJmZWI4MzQwMDM0MDE4ODAwYWM0MjAwMTUyMzM4MTAyMjEyMjIzODEwMjIxMjEwMjIzODA3MzQwMDEzMTA0MmZlOGU0MzhhMDIwMDhiZmUzMjA0MGM0NDhiZmUzODEwOGJmZjEyNDQ4YmZlMzgwOTMyMDMxMjQ0OGJmZTM4MTAyNTEyNDEwMDA4OGJmZTM4MTUzMjAzMTI0NDg5OGEwMzAwOGJmZDhiZmY4OGZmY2I4YmZkMzgwMThiZmUxMjQ0ODk4YTAzMDA4YmZkOGJmZThiZmY4OGZmZTE4YmZkMzgyMDMyMDMxMjQ0ODk4YTAxMDEyMzMyMDAzMjA0MGIyMjg4ZmZkZTIyMjM4MTA2ODhmZmQ3MjMzODAwOGJmZjEyNDQyMjM4MTkyMjEyNDQyMjg5OGEwMTAxMjQyMzI1ODhmZmJmMjQzODEzMjQzODA3MTI0NDI0MzgxMjIzMTI0NDhiZmY4OGZmYzE4OThhMDIwMTIzMzIwMDMyMDQwYjIyODhmZjllMjIyMzIyODhmZjg1MjMzODAwOGJmZTEyNDQyMzM4MDg4MWEwOGQwNjBmNDQyMjM4MDAyMjM4MDcxMjQ0MjIzODA4MjMxMjQ0MjIzODIwOGJmZjEyMjIzODIwMzIwMzEyMTEyMjEyNDQyMjg5OGEwMTAxMjMzMjAwMjQwYjIyODhmZjVjMjIzMjAwMjQwYjI1ODhmZjUzMjIzODEzMzIwMzEyNDQyMzM4MDA4YmZmMTI0NDIzMzgwNzIyMzgwMDEyNDQyMzM4MDg4MWQwZTgwYzBmNDQyMjM4MDAyMjM4MTQxMjQ0MjIzODEyMjMxMjQ0MjI4OThhMDEwMTIzMzIwMDMyMDQwYjIyODhmZjE3MjIzODEwMjUxMjQwMDAwOTIyMjMyMjg4ZmYwOTQyMDAwNjIyMjMyNTg4ZmYwMDIzMzgwMDhiZmYxMjQ0MjIzODA3OGJmZjEyMjIzODE0OGJmZjEyMTEyMjEyNDQyMjg5CmxvYWQgNDUKZGlnIDEKbGVuCnN1YnN0cmluZzMKY29uY2F0CnN0b3JlIDQ4CmxvYWQgNDgKY29uY2F0CnNoYTUxMl8yNTYKZnJhbWVfYnVyeSAwCmZyYW1lX2RpZyAwCmxlbgpwdXNoaW50IDMyIC8vIDMyCj09CmFzc2VydAppdHhuX2JlZ2luCmZyYW1lX2RpZyAwCml0eG5fZmllbGQgU2VuZGVyCnB1c2hpbnQgNiAvLyBhcHBsCml0eG5fZmllbGQgVHlwZUVudW0KcHVzaGludCAyIC8vIENsb3NlT3V0Cml0eG5fZmllbGQgT25Db21wbGV0aW9uCmZyYW1lX2RpZyAtMQppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKaXR4bl9iZWdpbgpwdXNoaW50IDYgLy8gYXBwbAppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAtMQppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKcHVzaGJ5dGVzIDB4MjQzNzhkM2MgLy8gImRlbGV0ZSgpdm9pZCIKaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKcHVzaGludCA1IC8vIERlbGV0ZUFwcGxpY2F0aW9uCml0eG5fZmllbGQgT25Db21wbGV0aW9uCmludGNfMCAvLyAwCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0Cml0eG5fYmVnaW4KZnJhbWVfZGlnIDAKaXR4bl9maWVsZCBTZW5kZXIKaW50Y18xIC8vIHBheQppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAwCml0eG5fZmllbGQgUmVjZWl2ZXIKZnJhbWVfZGlnIDAKaXR4bl9maWVsZCBSZWtleVRvCmludGNfMCAvLyAwCml0eG5fZmllbGQgQW1vdW50CmludGNfMCAvLyAwCml0eG5fZmllbGQgRmVlCml0eG5fc3VibWl0CnJldHN1Yg=="; - override clearProgram = - "I3ByYWdtYSB2ZXJzaW9uIDgKcHVzaGludCAwIC8vIDAKcmV0dXJu"; - override methods: algosdk.ABIMethod[] = [ - new algosdk.ABIMethod({ - name: "add", - desc: "Adds a new Subscription Management Instance (SMI) to the SMR.\nArgs: fee_txn (abi.PaymentTransaction): The payment transaction containing the transaction fee. version (abi.String): The version of the Subtopia contracts. name (abi.String): The name of the SMI. sub_type (abi.Uint64): The type of subscription. price (abi.Uint64): The price of the subscription. max_subs (abi.Uint64): The maximum number of subscribers allowed. coin_id (abi.Uint64): The ID of the coin used for payment. output (abi.Uint64): The output of the created SMI.", - args: [ - { type: "string", name: "version", desc: "" }, - { type: "string", name: "name", desc: "" }, - { type: "uint64", name: "sub_type", desc: "" }, - { type: "uint64", name: "price", desc: "" }, - { type: "uint64", name: "max_subs", desc: "" }, - { type: "uint64", name: "coin_id", desc: "" }, - { type: "address", name: "manager", desc: "" }, - { type: "address", name: "locker", desc: "" }, - { type: "pay", name: "fee_txn", desc: "" }, - ], - returns: { type: "uint64", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "transfer_smi", - desc: "Transfers a Subscription Management Instance (SMI) to a new owner.\nArgs: transfer_fee_txn (abi.PaymentTransaction): The payment transaction containing the transfer fee. new_owner (abi.Address): The address of the new owner. smi_id (abi.Uint64): The ID of the SMI to be transferred. output (PendingTransfer): The output of the pending transfer.", - args: [ - { type: "uint64", name: "smi_id", desc: "" }, - { type: "address", name: "old_locker", desc: "" }, - { type: "address", name: "new_owner", desc: "" }, - { type: "address", name: "new_locker", desc: "" }, - { type: "pay", name: "transfer_fee_txn", desc: "" }, - ], - returns: { type: "(address,uint64)", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "claim_smi", - desc: "Claims a transferred Subscription Management Instance (SMI) by the new owner.", - args: [ - { - type: "address", - name: "new_owner", - desc: "The address of the new owner.", - }, - { type: "application", name: "smi", desc: "The SMI to be claimed." }, - { - type: "uint64", - name: "coin_id", - desc: "The ID of the coin in which SMI fees are paid.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "rekey_locker_back", - desc: "Rekeys the locker back to itself.", - args: [ - { - type: "address", - name: "locker_address", - desc: "The address of the locker.", - }, - ], - returns: { type: "void", desc: "" }, - }), - new algosdk.ABIMethod({ - name: "delete_smi", - desc: "", - args: [{ type: "uint64", name: "smi_id", desc: "" }], - returns: { type: "void", desc: "" }, - }), - ]; - async add( - args: { - version: string; - name: string; - sub_type: bigint; - price: bigint; - max_subs: bigint; - coin_id: bigint; - manager: string; - locker: string; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.add( - { - version: args.version, - name: args.name, - sub_type: args.sub_type, - price: args.price, - max_subs: args.max_subs, - coin_id: args.coin_id, - manager: args.manager, - locker: args.locker, - fee_txn: args.fee_txn, - }, - txnParams - ) - ); - return new bkr.ABIResult(result, result.returnValue as bigint); - } - async transfer_smi( - args: { - smi_id: bigint; - old_locker: string; - new_owner: string; - new_locker: string; - transfer_fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.transfer_smi( - { - smi_id: args.smi_id, - old_locker: args.old_locker, - new_owner: args.new_owner, - new_locker: args.new_locker, - transfer_fee_txn: args.transfer_fee_txn, - }, - txnParams - ) - ); - return new bkr.ABIResult( - result, - PendingTransfer.decodeResult(result.returnValue) - ); - } - async claim_smi( - args: { - new_owner: string; - smi: bigint; - coin_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.claim_smi( - { new_owner: args.new_owner, smi: args.smi, coin_id: args.coin_id }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async rekey_locker_back( - args: { - locker_address: string; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.rekey_locker_back( - { locker_address: args.locker_address }, - txnParams - ) - ); - return new bkr.ABIResult(result); - } - async delete_smi( - args: { - smi_id: bigint; - }, - txnParams?: bkr.TransactionOverrides - ): Promise> { - const result = await this._execute( - await this.compose.delete_smi({ smi_id: args.smi_id }, txnParams) - ); - return new bkr.ABIResult(result); - } - compose = { - add: async ( - args: { - version: string; - name: string; - sub_type: bigint; - price: bigint; - max_subs: bigint; - coin_id: bigint; - manager: string; - locker: string; - fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "add"), - { - version: args.version, - name: args.name, - sub_type: args.sub_type, - price: args.price, - max_subs: args.max_subs, - coin_id: args.coin_id, - manager: args.manager, - locker: args.locker, - fee_txn: args.fee_txn, - }, - txnParams, - atc - ); - }, - transfer_smi: async ( - args: { - smi_id: bigint; - old_locker: string; - new_owner: string; - new_locker: string; - transfer_fee_txn: algosdk.TransactionWithSigner | algosdk.Transaction; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "transfer_smi"), - { - smi_id: args.smi_id, - old_locker: args.old_locker, - new_owner: args.new_owner, - new_locker: args.new_locker, - transfer_fee_txn: args.transfer_fee_txn, - }, - txnParams, - atc - ); - }, - claim_smi: async ( - args: { - new_owner: string; - smi: bigint; - coin_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "claim_smi"), - { new_owner: args.new_owner, smi: args.smi, coin_id: args.coin_id }, - txnParams, - atc - ); - }, - rekey_locker_back: async ( - args: { - locker_address: string; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "rekey_locker_back"), - { locker_address: args.locker_address }, - txnParams, - atc - ); - }, - delete_smi: async ( - args: { - smi_id: bigint; - }, - txnParams?: bkr.TransactionOverrides, - atc?: algosdk.AtomicTransactionComposer - ): Promise => { - return this._addMethodCall( - algosdk.getMethodByName(this.methods, "delete_smi"), - { smi_id: args.smi_id }, - txnParams, - atc - ); - }, - }; -} - -/* c8 ignore stop */ diff --git a/src/enums/index.ts b/src/enums/index.ts index e038cb7..38906f5 100644 --- a/src/enums/index.ts +++ b/src/enums/index.ts @@ -8,7 +8,7 @@ export enum SubscriptionType { TIME_BASED = 1, } -export enum SubscriptionExpirationType { +export enum DurationType { UNLIMITED = 0, MONTHLY = 1, QUARTERLY = 2, @@ -16,17 +16,30 @@ export enum SubscriptionExpirationType { ANNUAL = 4, } +export enum Duration { + UNLIMITED = 0, + MONTH = 2592000, + QUARTER = 7776000, + SEMI_ANNUAL = 15552000, + ANNUAL = 31536000, +} + export enum PriceNormalizationType { RAW = 0, PRETTY = 1, } -export enum SMILifecycle { - ACTIVE = 0, - DELETING = 1, -} - export enum DiscountType { PERCENTAGE = 0, FIXED = 1, } + +export enum ChainType { + TESTNET = "testnet", + MAINNET = "mainnet", +} + +export enum LockerType { + CREATOR = 0, + USER = 1, +} diff --git a/src/index.ts b/src/index.ts index 003b8d7..ddc8643 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,91 +3,17 @@ // Copyright (C) 2023 Altynbek Orumbayev // ============================================================================= -import { SubtopiaClient } from "./clients/SubtopiaClient"; -import { SubtopiaAdminClient } from "./clients/SubtopiaAdminClient"; -import { - getLocker, - loadApplicationState, - normalizePrice, - optInAsset, - optOutAsset, -} from "./utils"; -import { - SUBTOPIA_CONTRACTS_VERSION, - SUBTOPIA_REGISTRY_APP_ID, -} from "./constants"; -import { - PriceNormalizationType, - SubscriptionType, - SubscriptionExpirationType, - DiscountType, - SMILifecycle, -} from "./enums"; -import { - Locker, - SMRGetRegistryParams, - SMIClaimRevenueParams, - SMIMarkForDeletionParams, - SMRAddInfrastructureParams, - SMRClaimInfrastructureParams, - SMRTransferInfrastructureParams, - SMIInputParams, - SMIDeleteSubscriptionParams, - SMIClaimSubscriptionParams, - User, - SMIState, - ChainMethodParams, - SMISubscribeParams, - SMITransferSubscriptionParams, - SMIUnsubscribeParams, - SubscriptionRecord, - DiscountRecord, - DiscountMetadata, - BaseDiscountRecord, - SMICreateDiscountParams, - SMIDeleteDiscountParams, - AssetMetadata, -} from "./interfaces"; +import { normalizePrice, optInAsset, optOutAsset } from "./utils"; +import { SubtopiaClient, SubtopiaRegistryClient } from "./clients"; +import * as interfaces from "./interfaces"; +import * as enums from "./enums"; export { - PriceNormalizationType, - SubtopiaAdminClient, SubtopiaClient, - SubscriptionType, - SubscriptionExpirationType, - DiscountType, - getLocker, - loadApplicationState, + SubtopiaRegistryClient, normalizePrice, - SUBTOPIA_CONTRACTS_VERSION, - SUBTOPIA_REGISTRY_APP_ID, - SMILifecycle, optInAsset, optOutAsset, -}; - -export type { - Locker, - SMRGetRegistryParams, - SMIClaimRevenueParams, - SMIMarkForDeletionParams, - SMRAddInfrastructureParams, - SMRClaimInfrastructureParams, - SMRTransferInfrastructureParams, - SMIInputParams, - SMIDeleteSubscriptionParams, - SMIClaimSubscriptionParams, - User, - SMIState, - ChainMethodParams, - SMISubscribeParams, - SMITransferSubscriptionParams, - SMIUnsubscribeParams, - SubscriptionRecord, - DiscountRecord, - DiscountMetadata, - BaseDiscountRecord, - SMICreateDiscountParams, - SMIDeleteDiscountParams, - AssetMetadata, + enums, + interfaces, }; diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts index 62a559d..071fe8c 100644 --- a/src/interfaces/index.ts +++ b/src/interfaces/index.ts @@ -3,27 +3,29 @@ // Copyright (C) 2023 Altynbek Orumbayev // ============================================================================= -import { Algodv2, LogicSigAccount, TransactionSigner } from "algosdk"; -import AlgodClient from "algosdk/dist/types/client/v2/algod/algod"; -import { - DiscountType, - SMILifecycle, - SubscriptionExpirationType, - SubscriptionType, -} from "../enums"; +import { DiscountType, DurationType, SubscriptionType } from "../enums"; // === Boxes === +export interface ApplicationSpec { + approval: Uint8Array; + clear: Uint8Array; + globalNumUint: number; + globalNumByteSlice: number; + localNumUint: number; + localNumByteSlice: number; +} + export interface SubscriptionRecord { createdAt: Date; expiresAt: Date | undefined; - expirationType: SubscriptionExpirationType; + duration: DurationType; subID: number; subType: SubscriptionType; } export interface BaseDiscountRecord { - expirationType: SubscriptionExpirationType; + duration: DurationType; discountType: DiscountType; discountValue: number; } @@ -33,30 +35,8 @@ export interface DiscountRecord extends BaseDiscountRecord { expiresAt: Date | undefined; totalClaims: number; } - -export interface PendingTransferRecord { - locker: string; - smiID: number; -} - // === Common === -export interface Locker { - lsig: LogicSigAccount; - signer: TransactionSigner; - authAddress: string; -} - -export interface LockerRekeyParameters { - client: AlgodClient; - locker: LogicSigAccount; - creatorAddress: string; - creatorSigner: TransactionSigner; - registryAddress: string; - registrySigner: TransactionSigner; - rekeyToAddress: string; -} - export interface AssetMetadata { index: number; creator: string; @@ -65,122 +45,6 @@ export interface AssetMetadata { unitName: string; } -export interface User { - address: string; - signer: TransactionSigner; -} - -export interface ChainMethodParams { - client: Algodv2; - sender?: string; - signer?: TransactionSigner; -} - -export interface SMIInputParams { - name: string; - price: number; - subType: SubscriptionType; - maxSubs: number; - coinID: number; -} - export interface DiscountMetadata extends BaseDiscountRecord { expiresIn?: number; } - -export interface SMICreateDiscountParams { - smiID: number; - creator: User; - discount: DiscountMetadata; - smrID?: number; -} - -export interface SMIDeleteDiscountParams { - smiID: number; - creator: User; - expirationType: SubscriptionExpirationType; - smrID?: number; -} - -// === SMR === - -export interface SMRAddInfrastructureParams extends SMIInputParams { - creator: User; - client: AlgodClient; - version?: string; - smrID?: number; -} - -export interface SMRGetRegistryParams { - client: AlgodClient; - user: User; - smrID?: number; -} - -export interface SMRClaimInfrastructureParams { - creator: User; - smrID?: number; - smiID: number; - client: AlgodClient; -} - -export interface SMRTransferInfrastructureParams - extends SMRClaimInfrastructureParams { - newCreatorAddress: string; -} - -// === SMI === - -export interface SMIState extends SMIInputParams { - smiID: number; - manager: string; - activeSubs: number; - totalSubs: number; - lifecycle: SMILifecycle; - discounts: DiscountRecord[]; - createdAt: Date; - isPendingTransfer?: boolean; -} - -export interface SMIUnsubscribeParams { - subscriber: User; - smiID: number; -} - -export interface SMIClaimSubscriptionParams { - smiID: number; - subID: number; - subscriber: User; -} - -export interface SMITransferSubscriptionParams { - newOwnerAddress: string; - oldOwner: User; - subID: number; - smiID: number; -} - -export interface SMISubscribeParams { - smrID?: number; - smiID: number; - expirationType?: SubscriptionExpirationType; - subscriber: User; -} - -export interface SMIMarkForDeletionParams { - smiID: number; - smrID?: number; - user: User; -} - -export interface SMIDeleteSubscriptionParams { - smiID: number; - smrID?: number; - user: User; -} - -export interface SMIClaimRevenueParams { - coinID?: number; - smrID?: number; - user: User; -} diff --git a/src/utils/index.ts b/src/utils/index.ts index f40f1f0..4d7cf12 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -4,187 +4,33 @@ // ============================================================================= import algosdk, { - LogicSigAccount, AtomicTransactionComposer, - encodeAddress, - makeLogicSigAccountTransactionSigner, makeAssetTransferTxnWithSuggestedParamsFromObject, Algodv2, ALGORAND_MIN_TX_FEE, SuggestedParams, ABIResult as SdkABIResult, + ABIType, + ABIArrayDynamicType, + ABIUintType, + decodeAddress, } from "algosdk"; -import AlgodClient from "algosdk/dist/types/client/v2/algod/algod"; -import { StateValue, State, ApplicationClient } from "beaker-ts"; -import { SML_TEAL } from "../contracts/sml_client"; -import { - AssetMetadata, - Locker, - LockerRekeyParameters, - User, -} from "../interfaces"; +import { ApplicationSpec, AssetMetadata } from "../interfaces"; import { DEFAULT_AWAIT_ROUNDS, ALGO_ASSET } from "../constants"; -import { PriceNormalizationType, SubscriptionExpirationType } from "../enums"; - -/* c8 ignore start */ -function strOrHex(v: Buffer): string { - try { - const response = v.toString(`utf-8`); - try { - if (response && v.toString(`hex`).length === 64) { - const addressString = encodeAddress(new Uint8Array(v)); - return addressString; - } - } catch (e) { - return response; - } - return response; - } catch (e) { - return v.toString(`hex`); - } -} - -export async function debugPcCode(client: ApplicationClient, pcLine: number) { - const [, appMap] = await client.compile( - Buffer.from(client.approvalProgram as string, "base64").toString() - ); - - return appMap.pcToLine[pcLine]; -} - -function decodeState(state: StateValue[], raw?: boolean): State { - const obj = {} as State; - - // Start with empty set - for (const stateVal of state) { - const keyBuff = Buffer.from(stateVal.key, `base64`); - const key = raw ? keyBuff.toString(`hex`) : strOrHex(keyBuff); - const value = stateVal.value; - - // In both global-state and state deltas, 1 is bytes and 2 is int - const dataTypeFlag = value.action ? value.action : value.type; - switch (dataTypeFlag) { - case 1: - // eslint-disable-next-line no-case-declarations - const valBuff = Buffer.from(value.bytes, `base64`); - obj[key] = raw ? new Uint8Array(valBuff) : strOrHex(valBuff); - break; - case 2: - obj[key] = value.uint; - break; - default: // ?? - } - } - - return obj; -} -/* c8 ignore stop */ - -export async function loadApplicationState( - client: AlgodClient, - appId: number, - - raw?: boolean -): Promise { - const appInfo = await client.getApplicationByID(appId).do(); - - if (!(`params` in appInfo) || !(`global-state` in appInfo[`params`])) - throw new Error(`No global state found`); - - const decoded = decodeState(appInfo[`params`][`global-state`], raw); - - return decoded; -} - -export function addressToHex(address: string): string { - return ( - "0x" + - Buffer.from(algosdk.decodeAddress(address).publicKey).toString("hex") + - " // addr " + - address - ); -} - -export async function getLocker( - client: AlgodClient, - creatorAddress: string, - registryAddress: string -): Promise { - // load sml.teal file into string - let sml = SML_TEAL; - - // replace TMPL_CREATOR_ADDRESS with decoded creator address - sml = sml.replace(`TMPL_CREATOR_ADDRESS`, addressToHex(creatorAddress)); - - // replace TMPL_REGISTRY_ADDRESS with decoded registry address - sml = sml.replace(`TMPL_REGISTRY_ADDRESS`, addressToHex(registryAddress)); - - // compile sml.teal - const response = await client.compile(sml).do(); - const compiled = new Uint8Array(Buffer.from(response.result, `base64`)); - - // wrap compiled sml.teal in LogicSigAccount - const smlAccount = new LogicSigAccount(compiled); - - const lockerInfo = await client.accountInformation(smlAccount.address()).do(); - const authAddress = lockerInfo["auth-addr"] || smlAccount.address(); - - return { - lsig: smlAccount, - authAddress: authAddress, - signer: makeLogicSigAccountTransactionSigner(smlAccount), - }; -} - -export async function rekeyLocker(params: LockerRekeyParameters): Promise<{ - confirmedRound: number; - txIDs: string[]; - methodResults: SdkABIResult[]; -}> { - const lsigSigner = makeLogicSigAccountTransactionSigner(params.locker); - const sp = await getParamsWithFeeCount(params.client, 2); - - const atc = new AtomicTransactionComposer(); - atc.addTransaction({ - txn: algosdk.makePaymentTxnWithSuggestedParams( - params.creatorAddress, - params.locker.address(), - 100_000, - undefined, - undefined, - sp - ), - signer: params.creatorSigner, - }); - - const rekey_sp = Object.assign({}, sp); - rekey_sp.fee = 0; - const rekeySigner = - params.registryAddress === params.rekeyToAddress - ? lsigSigner - : params.registrySigner; - atc.addTransaction({ - txn: algosdk.makePaymentTxnWithSuggestedParams( - params.locker.address(), - params.locker.address(), - 0, - undefined, - undefined, - rekey_sp, - params.rekeyToAddress - ), - signer: rekeySigner, - }); - - return await atc.execute(params.client, DEFAULT_AWAIT_ROUNDS); -} - -export async function optInAsset( - client: Algodv2, - user: User, - passId: number -): Promise<{ +import { LockerType, PriceNormalizationType, DurationType } from "../enums"; +import { APP_PAGE_MAX_SIZE } from "@algorandfoundation/algokit-utils/types/app"; +import { TransactionSignerAccount } from "@algorandfoundation/algokit-utils/types/account"; + +export async function optInAsset({ + client, + account, + assetID, +}: { + client: Algodv2; + account: TransactionSignerAccount; + assetID: number; +}): Promise<{ confirmedRound: number; txIDs: string[]; methodResults: SdkABIResult[]; @@ -192,13 +38,13 @@ export async function optInAsset( const optInAtc = new AtomicTransactionComposer(); optInAtc.addTransaction({ txn: makeAssetTransferTxnWithSuggestedParamsFromObject({ - from: user.address, - to: user.address, + from: account.addr, + to: account.addr, amount: 0, suggestedParams: await getParamsWithFeeCount(client, 1), - assetIndex: passId, + assetIndex: assetID, }), - signer: user.signer, + signer: account.signer, }); const optInResult = await optInAtc.execute(client, DEFAULT_AWAIT_ROUNDS); @@ -206,11 +52,15 @@ export async function optInAsset( return optInResult; } -export async function optOutAsset( - client: Algodv2, - user: User, - passId: number -): Promise<{ +export async function optOutAsset({ + client, + account, + assetID, +}: { + client: Algodv2; + account: TransactionSignerAccount; + assetID: number; +}): Promise<{ confirmedRound: number; txIDs: string[]; methodResults: SdkABIResult[]; @@ -218,14 +68,14 @@ export async function optOutAsset( const optInAtc = new AtomicTransactionComposer(); optInAtc.addTransaction({ txn: makeAssetTransferTxnWithSuggestedParamsFromObject({ - from: user.address, - to: user.address, - closeRemainderTo: user.address, + from: account.addr, + to: account.addr, + closeRemainderTo: account.addr, amount: 0, suggestedParams: await getParamsWithFeeCount(client, 1), - assetIndex: passId, + assetIndex: assetID, }), - signer: user.signer, + signer: account.signer, }); const optInResult = await optInAtc.execute(client, DEFAULT_AWAIT_ROUNDS); @@ -269,6 +119,12 @@ export async function getAssetByID( return asset; } +export function getTxnFeeCount(txnNumber: number): number { + // Get suggested params with a specific fee. + const fee = ALGORAND_MIN_TX_FEE * txnNumber; + return fee; +} + export async function getParamsWithFeeCount( client: Algodv2, txnNumber: number @@ -276,22 +132,131 @@ export async function getParamsWithFeeCount( // Get suggested params with a specific fee. const params: SuggestedParams = await client.getTransactionParams().do(); params.flatFee = true; - params.fee = ALGORAND_MIN_TX_FEE * txnNumber; + params.fee = getTxnFeeCount(txnNumber); return params; } -export function expirationTypeToMonths( - expirationType: SubscriptionExpirationType -): number { - if (expirationType === SubscriptionExpirationType.MONTHLY) { +export function durationToMonths(duration: DurationType): number { + if (duration === DurationType.MONTHLY) { return 1; - } else if (expirationType === SubscriptionExpirationType.QUARTERLY) { + } else if (duration === DurationType.QUARTERLY) { return 3; - } else if (expirationType === SubscriptionExpirationType.SEMI_ANNUAL) { + } else if (duration === DurationType.SEMI_ANNUAL) { return 6; - } else if (expirationType === SubscriptionExpirationType.ANNUAL) { + } else if (duration === DurationType.ANNUAL) { return 12; } else { return 1; } } + +// Price MBR calculations + +export async function calculateExtraPages( + approval: Uint8Array, + clear: Uint8Array +): Promise { + return Math.floor((approval.length + clear.length) / APP_PAGE_MAX_SIZE); +} + +export function calculateBoxMbr( + name: string | number | Uint8Array, + size: number, + action: string, + abiType: ABIType | null = null +): number { + if (action !== "create" && action !== "destroy") { + throw new Error("Action must be 'create' or 'destroy'"); + } + const nameSize = typeof name === "number" ? name : name.length; + let mbrChange = 2_500 + 400 * (nameSize + size); + + if (abiType !== null) { + if (abiType instanceof ABIArrayDynamicType) { + mbrChange += 800; + } else { + throw new Error(`Unknown abi type: ${abiType}`); + } + } + + return action === "create" ? mbrChange : -mbrChange; +} + +export function calculateRegistryLockerBoxCreateMbr( + locker_owner: string +): number { + const uint64Type = new ABIUintType(64); + return calculateBoxMbr( + decodeAddress(locker_owner).publicKey, + uint64Type.byteLen(), // UInt64 is 8 bytes - 800 is microalgos + "create" + ); +} + +export function calculateProductDiscountBoxCreateMbr(): number { + const uint64TypeByteLen = new ABIUintType(64).byteLen(); + const discountTypeByteLen = uint64TypeByteLen * 6; // 6 Uint64s in Discount tuple + return calculateBoxMbr(uint64TypeByteLen, discountTypeByteLen, "create"); +} + +export function calculateProductSubscriptionBoxCreateMbr( + subscriberAddress: string +): number { + const uint64TypeByteLen = new ABIUintType(64).byteLen(); + const subscriptionTypeByteLen = uint64TypeByteLen * 5; // 5 Uint64s in Subscription tuple + return calculateBoxMbr( + decodeAddress(subscriberAddress).publicKey, + subscriptionTypeByteLen, + "create" + ); +} + +export function calculateCreationMbr( + extraProgramPages: number, + globalNumUint: number, + globalNumByteSlice: number +): number { + return ( + 100_000 * (1 + extraProgramPages) + + (25_000 + 3_500) * globalNumUint + + (25_000 + 25_000) * globalNumByteSlice + ); +} + +export async function calculateSmiCreationMbr( + applicationSpec: ApplicationSpec +): Promise { + const extraPages = await calculateExtraPages( + applicationSpec.approval, + applicationSpec.clear + ); + return calculateCreationMbr( + extraPages, + applicationSpec.globalNumUint, + applicationSpec.globalNumByteSlice + ); +} + +export async function calculateSmlCreationMbr( + applicationSpec: ApplicationSpec +): Promise { + const extraPages = await calculateExtraPages( + applicationSpec.approval, + applicationSpec.clear + ); + return calculateCreationMbr( + extraPages, + applicationSpec.globalNumUint, + applicationSpec.globalNumByteSlice + ); +} + +export function getLockerBoxPrefix(lockerType: LockerType): Buffer { + if (lockerType === LockerType.CREATOR) { + return Buffer.from("cl-"); + } else if (lockerType === LockerType.USER) { + return Buffer.from("ul-"); + } else { + throw new Error(`Unknown locker type: ${lockerType}`); + } +} diff --git a/tests/subtopia.test.ts b/tests/subtopia.test.ts index ac1872c..d4c7c6b 100644 --- a/tests/subtopia.test.ts +++ b/tests/subtopia.test.ts @@ -1,1044 +1,307 @@ -import { Algodv2, decodeAddress } from "algosdk"; import { - getLocker, - SubscriptionType, - SubtopiaAdminClient, - SubtopiaClient, -} from "../src/index"; -import { it, describe, expect } from "vitest"; -import { sandbox } from "beaker-ts"; - -import { SMR } from "../src/contracts/smr_client"; -import { - getRandomAccount, - filterAsync, - generateRandomAsset, - getRandomElement, -} from "./utils"; -import { - expirationTypeToMonths, - normalizePrice, - optOutAsset, - rekeyLocker, -} from "../src/utils"; -import { SandboxAccount } from "beaker-ts/dist/types/sandbox/accounts"; + mnemonicToSecretKey, + makeBasicAccountTransactionSigner, + Account, +} from "algosdk"; +import "dotenv/config"; +import { enums, optInAsset, optOutAsset } from "../src/index"; +import { it, describe, expect, beforeAll, afterAll } from "vitest"; + +import { SubtopiaRegistryClient } from "../src/clients/SubtopiaRegistryClient"; +import { SubtopiaClient } from "../src/clients/SubtopiaClient"; import { + ChainType, + LockerType, + DurationType, + Duration, DiscountType, - PriceNormalizationType, - SubscriptionExpirationType, } from "../src/enums"; -import { assert } from "console"; - -const TIME_BASED_EXPIRATION_TYPES = [ - SubscriptionExpirationType.MONTHLY, - SubscriptionExpirationType.QUARTERLY, - SubscriptionExpirationType.SEMI_ANNUAL, - SubscriptionExpirationType.ANNUAL, -]; - -const algodClient = new Algodv2("a".repeat(64), "http://localhost", "4001"); -const accounts = await sandbox.getAccounts(); -const bigBalanceAccounts = await filterAsync(accounts, async (account) => { - const { amount } = await algodClient.accountInformation(account.addr).do(); - return amount > 1e6 * 100e6; -}); - -const adminAccount = bigBalanceAccounts.pop() as SandboxAccount; -const dummyRegistry = new SMR({ - client: algodClient, - sender: adminAccount.addr, - signer: adminAccount.signer, +import { + algos, + ensureFunded, + getAlgoClient, + getAppGlobalState, + microAlgos, + transactionSignerAccount, + transferAlgos, +} from "@algorandfoundation/algokit-utils"; + +const algodClient = getAlgoClient({ + server: "https://testnet-api.algonode.cloud", }); -async function setupDummyRegistry() { - const { appId: dummyRegistryId, appAddress } = - await dummyRegistry.createApplication({ - extraPages: 2, - }); - const dummyRegistryAddress = await SubtopiaAdminClient.getRegistryAddress({ - client: algodClient, - user: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - }); - expect(dummyRegistryAddress).toBe(appAddress); - return { dummyRegistryId, dummyRegistryAddress }; -} +const dispenserAccount = mnemonicToSecretKey( + process.env["TESTNET_SUBTOPIA_DISPENSER_MNEMONIC"] as string +); + +const creatorAccount = mnemonicToSecretKey( + process.env["TESTNET_SUBTOPIA_CREATOR_MNEMONIC"] as string +); +const creatorSignerAccount = transactionSignerAccount( + makeBasicAccountTransactionSigner(creatorAccount), + creatorAccount.addr +); + +const bobTestAccount = mnemonicToSecretKey( + process.env["TESTNET_SUBTOPIA_BOB_MNEMONIC"] as string +); + +const refundTestnetAlgos = async (account: Account) => { + const accountInfo = await algodClient.accountInformation(account.addr).do(); + + const minWithdrawableAmount = + accountInfo["amount"] - accountInfo["min-balance"] - algos(0.1).microAlgos; + + if (minWithdrawableAmount > 0) { + await transferAlgos( + { + amount: microAlgos(minWithdrawableAmount), + from: account, + to: dispenserAccount, + }, + algodClient + ); + } +}; describe("subtopia", () => { - it( - "should correctly add infrastructure", - async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - - // Test - const result = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, - client: algodClient, - subType: SubscriptionType.UNLIMITED, - maxSubs: 0, - coinID: 0, - }); - - const infrastructureID = Number(result.returnValue); - - const content = await SubtopiaClient.getInfrastructureState( - algodClient, - infrastructureID - ); - - const contentWithNoNormalization = - await SubtopiaClient.getInfrastructureState( - algodClient, - infrastructureID, - false - ); + beforeAll(async () => { + const dispenserInfo = await algodClient + .accountInformation(dispenserAccount.addr) + .do(); + + const dispenserBalance = dispenserInfo["amount"]; + + expect(dispenserBalance, "Dispenser must be funded").toBeGreaterThan( + algos(10).microAlgos + ); + + await ensureFunded( + { + accountToFund: creatorAccount, + fundingSource: dispenserAccount, + minSpendingBalance: algos(5), + minFundingIncrement: algos(5), + }, + algodClient + ); + + await ensureFunded( + { + accountToFund: bobTestAccount, + fundingSource: dispenserAccount, + minSpendingBalance: algos(2), + }, + algodClient + ); + }); - // Assert - expect(content.price).toBe(1); - expect(contentWithNoNormalization.price).toBe(1 * 1e6); - expect(result).toBeDefined(); - expect(result.txID).toBeDefined(); - }, - { timeout: 1e6 } - ); + afterAll(async () => { + await refundTestnetAlgos(creatorAccount); + await refundTestnetAlgos(bobTestAccount); + }); it( - "should correctly add infrastructure with already rekeyed locker", + "should correctly add product, create subscription, delete subscription and delete product", async () => { // Setup - const { dummyRegistryId, dummyRegistryAddress } = - await setupDummyRegistry(); - - const locker = await getLocker( + const subtopiaRegistryClient = await SubtopiaRegistryClient.init( algodClient, - adminAccount.addr, - dummyRegistryAddress + creatorSignerAccount, + ChainType.TESTNET ); - await rekeyLocker({ - client: algodClient, - locker: locker.lsig, - creatorAddress: adminAccount.addr, - creatorSigner: adminAccount.signer, - registryAddress: dummyRegistryAddress, - registrySigner: adminAccount.signer, - rekeyToAddress: dummyRegistryAddress, + let lockerID = await SubtopiaRegistryClient.getLocker({ + registryID: subtopiaRegistryClient.appID, + algodClient: algodClient, + ownerAddress: creatorAccount.addr, }); + if (lockerID === undefined) { + const response = await subtopiaRegistryClient.createLocker({ + creator: creatorSignerAccount, + lockerType: LockerType.CREATOR, + }); + lockerID = response.lockerID; + } // Test - const result = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", + const response = await subtopiaRegistryClient.createInfrastructure({ + productName: "Notflix", + subscriptionName: "Premium", price: 1, - client: algodClient, - subType: SubscriptionType.UNLIMITED, + subType: enums.SubscriptionType.UNLIMITED, maxSubs: 0, coinID: 0, + lockerID: lockerID, }); - const infrastructureID = Number(result.returnValue); - - const content = await SubtopiaClient.getInfrastructureState( - algodClient, - infrastructureID - ); - - const contentWithNoNormalization = - await SubtopiaClient.getInfrastructureState( - algodClient, - infrastructureID, - false - ); - - // Assert - expect(content.price).toBe(1); - expect(contentWithNoNormalization.price).toBe(1 * 1e6); - expect(result).toBeDefined(); - expect(result.txID).toBeDefined(); - }, - { timeout: 1e6 } - ); - - it.each([ - [SubscriptionExpirationType.UNLIMITED, DiscountType.FIXED, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.FIXED, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.FIXED, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.FIXED, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.FIXED, 10], - [SubscriptionExpirationType.UNLIMITED, DiscountType.PERCENTAGE, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.PERCENTAGE, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.PERCENTAGE, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.PERCENTAGE, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.PERCENTAGE, 10], - ])( - "should correctly create discount of type %i, %i and %i on SMI", - async (expirationType, discountType, discountValue) => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - const randomAsset = await generateRandomAsset(algodClient, adminAccount); - - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, - client: algodClient, - subType: - expirationType === SubscriptionExpirationType.UNLIMITED - ? SubscriptionType.UNLIMITED - : SubscriptionType.TIME_BASED, - maxSubs: 0, - coinID: randomAsset.index, - }); - const infrastructureID = Number(response.returnValue); - - // Test - const discount = await SubtopiaClient.createDiscount( - { - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smiID: infrastructureID, - smrID: dummyRegistryId, - discount: { - expirationType: expirationType, - discountType: discountType, - discountValue: discountValue, - }, - }, - { client: algodClient } - ); + expect(response.infrastructureID).toBeGreaterThan(0); - // Assert - expect(discount).toBeDefined(); - expect(discount.txID).toBeDefined(); - - const discountRecord = await SubtopiaClient.getDiscountRecordForType( - algodClient, - infrastructureID, - expirationType + const subscriberAccount = bobTestAccount; + const subscriberSigner = transactionSignerAccount( + makeBasicAccountTransactionSigner(subscriberAccount), + subscriberAccount.addr ); - const smiState = await SubtopiaClient.getInfrastructureState( + const productClient = await SubtopiaClient.init( algodClient, - infrastructureID + response.infrastructureID, + creatorSignerAccount ); - assert(smiState.discounts[0] === discountRecord); - assert(smiState.discounts.length === 1); - - expect(discountRecord).toBeDefined(); - expect(discountRecord.discountType).toBe(discountType); - expect(discountRecord.discountValue).toBe( - discountType === DiscountType.FIXED - ? normalizePrice( - discountValue, - randomAsset.decimals, - PriceNormalizationType.RAW - ) - : discountValue - ); - expect(discountRecord.expirationType).toBe(expirationType); - - await SubtopiaClient.deleteDiscount( - { - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: expirationType, - }, - { client: algodClient } - ); - - // Should be deleted - await expect( - SubtopiaClient.getDiscountRecordForType( - algodClient, - infrastructureID, - expirationType - ) - ).rejects.toThrowError(); - const postDeleteSmiState = await SubtopiaClient.getInfrastructureState( - algodClient, - infrastructureID - ); - assert(postDeleteSmiState.discounts.length === 0); - }, - { timeout: 1e6 } - ); - - it.each([ - [SubscriptionExpirationType.UNLIMITED, undefined, 0], - [SubscriptionExpirationType.UNLIMITED, DiscountType.FIXED, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.FIXED, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.FIXED, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.FIXED, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.FIXED, 10], - [SubscriptionExpirationType.UNLIMITED, DiscountType.PERCENTAGE, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.PERCENTAGE, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.PERCENTAGE, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.PERCENTAGE, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.PERCENTAGE, 10], - ])( - "should correctly purchase subscription with algo and discount of type %i, %i and %i", - async ( - expirationType: SubscriptionExpirationType, - discountType: DiscountType | undefined, - discountValue: number - ) => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 20, - client: algodClient, - subType: - expirationType === SubscriptionExpirationType.UNLIMITED - ? SubscriptionType.UNLIMITED - : SubscriptionType.TIME_BASED, - maxSubs: 0, - coinID: 0, + const subscribeResponse = await productClient.createSubscription({ + subscriber: subscriberSigner, + duration: DurationType.UNLIMITED, }); - const infrastructureID = Number(response.returnValue); - - // Test - const subscriber = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); - - if (discountType !== undefined) { - await SubtopiaClient.createDiscount( - { - creator: { - address: adminAccount.addr, - signer: adminAccount.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - discount: { - expirationType: expirationType, - discountType: discountType, - discountValue: discountValue, - }, - }, - { client: algodClient } - ); - } - - const result = await SubtopiaClient.subscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: expirationType, - }, - { - client: algodClient, - } - ); - - if (discountType !== undefined) { - const discountBox = await SubtopiaClient.getDiscountRecordForType( - algodClient, - infrastructureID, - expirationType - ); - - expect(discountBox).toBeDefined(); - expect(discountBox.totalClaims).toBe(1); - expect(discountBox.discountType).toBe(discountType); - expect(discountBox.expirationType).toBe(expirationType); - } - - const claimResult = await SubtopiaClient.claimSubscriptionPass( - { - smiID: infrastructureID, - subID: Number(result.returnValue), - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - }, - { - client: algodClient, - } - ); - - const boxContent = await SubtopiaClient.getSubscriptionRecordForAccount( - algodClient, - subscriber.address, - infrastructureID - ); - - // Assert - expect(boxContent.subID).toBe(Number(result.returnValue)); - expect(boxContent.expirationType).toBe(expirationType); - expect(result).toBeDefined(); - expect(result.txID).toBeDefined(); - expect(result.returnValue).toBeGreaterThan(0); - expect(claimResult).toBeDefined(); - - const balance = algodClient.accountAssetInformation( - subscriber.address, - Number(result.returnValue) - ); - expect(balance).toBeDefined(); - expect(balance["assetID"]).toBe(Number(result.returnValue)); - - await SubtopiaClient.unsubscribe( - { - smiID: infrastructureID, - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - }, - { - client: algodClient, - } - ); - - if (discountType !== undefined) { - await SubtopiaClient.deleteDiscount( - { - creator: { - address: adminAccount.addr, - signer: adminAccount.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: expirationType, - }, - { client: algodClient } - ); - } - }, - { timeout: 1e6 } - ); - - it.each([ - [SubscriptionExpirationType.UNLIMITED, undefined, 0], - [SubscriptionExpirationType.UNLIMITED, DiscountType.FIXED, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.FIXED, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.FIXED, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.FIXED, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.FIXED, 10], - [SubscriptionExpirationType.UNLIMITED, DiscountType.PERCENTAGE, 1], - [SubscriptionExpirationType.MONTHLY, DiscountType.PERCENTAGE, 2], - [SubscriptionExpirationType.QUARTERLY, DiscountType.PERCENTAGE, 3], - [SubscriptionExpirationType.SEMI_ANNUAL, DiscountType.PERCENTAGE, 4], - [SubscriptionExpirationType.ANNUAL, DiscountType.PERCENTAGE, 10], - ])( - "should correctly purchase subscription with custom ASA and discount of type %i %i %i", - async (expirationType, discountType, discountValue) => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); + expect(subscribeResponse.subscriptionID).toBeGreaterThan(0); - const randomAsset = await generateRandomAsset( - algodClient, - adminAccount, - undefined, - 1000 * expirationTypeToMonths(expirationType) - ); - - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1 + discountValue, - client: algodClient, - coinID: randomAsset.index, - subType: - expirationType === SubscriptionExpirationType.UNLIMITED - ? SubscriptionType.UNLIMITED - : SubscriptionType.TIME_BASED, - maxSubs: 0, + const getSubscriptionResponse = await productClient.getSubscription({ + subscriberAddress: subscriberSigner.addr, + algodClient: algodClient, }); - const infrastructureID = Number(response.returnValue); - - // Test - const subscriber = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer, - randomAsset + expect(getSubscriptionResponse.subID).toBe( + subscribeResponse.subscriptionID ); - if (discountType !== undefined) { - const response = await SubtopiaClient.createDiscount( - { - creator: { - address: adminAccount.addr, - signer: adminAccount.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - discount: { - expirationType: expirationType, - discountType: discountType, - discountValue: discountValue, - }, - }, - { client: algodClient } - ); - console.log(response); - } - - const result = await SubtopiaClient.subscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: expirationType, - }, - { - client: algodClient, - } - ); - - const claimResult = await SubtopiaClient.claimSubscriptionPass( - { - smiID: infrastructureID, - subID: Number(result.returnValue), - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - }, - { - client: algodClient, - } - ); - - const boxContent = await SubtopiaClient.getSubscriptionRecordForAccount( - algodClient, - subscriber.address, - infrastructureID - ); - - // Assert - expect(boxContent.subID).toBe(Number(result.returnValue)); - expect(result).toBeDefined(); - expect(result.txID).toBeDefined(); - expect(result.returnValue).toBeGreaterThan(0); - expect(claimResult).toBeDefined(); - - const balance = algodClient.accountAssetInformation( - subscriber.address, - Number(result.returnValue) - ); - expect(balance).toBeDefined(); - expect(balance["assetID"]).toBe(Number(result.returnValue)); - }, - { timeout: 1e6 } - ); - - it( - "should correctly claim revenue with algo", - async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - - const randomSubType = getRandomElement([ - SubscriptionType.TIME_BASED, - SubscriptionType.UNLIMITED, - ]); - - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, - client: algodClient, - subType: randomSubType, - maxSubs: 0, - coinID: 0, + const isSubscriberResponse = await productClient.isSubscriber({ + subscriberAddress: subscriberSigner.addr, }); - const infrastructureID = Number(response.returnValue); - - // Test - const subscriber = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); - - const randomExpirationType = - randomSubType === SubscriptionType.TIME_BASED - ? getRandomElement(TIME_BASED_EXPIRATION_TYPES) - : undefined; + expect(isSubscriberResponse).toBe(true); - const subResponse = await SubtopiaClient.subscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: randomExpirationType, - }, - { - client: algodClient, - } - ); - - await optOutAsset( - algodClient, - subscriber, - Number(subResponse.returnValue) - ); - - const claimResponse = await SubtopiaClient.claimRevenue( - { - user: { - address: adminAccount.addr, - signer: adminAccount.signer, - }, - smrID: dummyRegistryId, - }, - { - client: algodClient, - } - ); - - // Assert - expect(claimResponse).toBeDefined(); - }, - { timeout: 1e6 } - ); - - it.each([[SubscriptionType.UNLIMITED], [SubscriptionType.TIME_BASED]])( - "should correctly delete SMI of type %i with N subscribers before deleting SMI", - async (randomSubType) => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - - const addResponse = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, + await optInAsset({ client: algodClient, - subType: randomSubType, - maxSubs: 0, - coinID: 0, + account: subscriberSigner, + assetID: subscribeResponse.subscriptionID, }); - const infrastructureID = Number(addResponse.returnValue); - - // Test - // Create 50 subscribers - for (let index = 0; index < 50; index++) { - const subscriber = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); - - const randomExpirationType = - randomSubType === SubscriptionType.TIME_BASED - ? getRandomElement(TIME_BASED_EXPIRATION_TYPES) - : undefined; - - const result = await SubtopiaClient.subscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: randomExpirationType, - }, - { - client: algodClient, - } - ); - - const claimResult = await SubtopiaClient.claimSubscriptionPass( - { - smiID: infrastructureID, - subID: Number(result.returnValue), - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - }, - { - client: algodClient, - } - ); - - const boxContent = await SubtopiaClient.getSubscriptionRecordForAccount( - algodClient, - subscriber.address, - infrastructureID - ); - - // Assert - expect(boxContent.subID).toBe(Number(result.returnValue)); - expect(boxContent.expirationType).toBe(randomExpirationType ?? 0); - expect(result).toBeDefined(); - expect(result.txID).toBeDefined(); - expect(result.returnValue).toBeGreaterThan(0); - expect(claimResult).toBeDefined(); - - const balance = algodClient.accountAssetInformation( - subscriber.address, - Number(result.returnValue) - ); - expect(balance).toBeDefined(); - expect(balance["assetID"]).toBe(Number(result.returnValue)); - } - - const deleteResponse = await SubtopiaClient.deleteSubscription( - { - smiID: infrastructureID, - smrID: dummyRegistryId, - user: { - address: adminAccount.addr, - signer: adminAccount.signer, - }, - }, - { - client: algodClient, - } - ); - - expect(deleteResponse.txID).toBeDefined(); + const claimResponse = await productClient.claimSubscription({ + subscriber: subscriberSigner, + subscriptionID: subscribeResponse.subscriptionID, + }); - // Should be deleted - await expect( - SubtopiaClient.getInfrastructureState(algodClient, infrastructureID) - ).rejects.toThrowError(); - }, - { timeout: 1e6 } - ); + expect(claimResponse.txID).toBeDefined(); - it( - "should correctly transfer SMI to new owner", - async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); + const transferTxnId = await productClient.transferSubscription({ + oldSubscriber: subscriberSigner, + newSubscriberAddress: creatorSignerAccount.addr, + subscriptionID: subscribeResponse.subscriptionID, + }); - const randomSubType = getRandomElement([ - SubscriptionType.TIME_BASED, - SubscriptionType.UNLIMITED, - ]); - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, + await optOutAsset({ client: algodClient, - subType: randomSubType, - maxSubs: 0, - coinID: 0, + account: subscriberSigner, + assetID: subscribeResponse.subscriptionID, }); - const infrastructureID = Number(response.returnValue); - const oldOwner = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); + expect(transferTxnId).toBeDefined(); - const randomExpirationType = - randomSubType === SubscriptionType.TIME_BASED - ? getRandomElement(TIME_BASED_EXPIRATION_TYPES) - : undefined; - const result = await SubtopiaClient.subscribe( - { - subscriber: { address: oldOwner.address, signer: oldOwner.signer }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: randomExpirationType, - }, + const deleteSubscriptionResponse = await productClient.deleteSubscription( { - client: algodClient, + subscriber: creatorSignerAccount, + subscriptionID: subscribeResponse.subscriptionID, } ); - // Test - const newOwner = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); - - const oldBoxBeforeTransfer = await algodClient - .getApplicationBoxByName( - infrastructureID, - decodeAddress(oldOwner.address).publicKey - ) - .do(); + expect(deleteSubscriptionResponse.txID).toBeDefined(); - const transferResult = await SubtopiaClient.transferSubscriptionPass( - { - newOwnerAddress: newOwner.address, - oldOwner: { - address: oldOwner.address, - signer: oldOwner.signer, - }, - smiID: infrastructureID, - subID: Number(result.returnValue), - }, - { client: algodClient } + const content = await getAppGlobalState( + response.infrastructureID, + algodClient ); // Assert - await expect( - algodClient - .getApplicationBoxByName( - infrastructureID, - decodeAddress(oldOwner.address).publicKey - ) - .do() - ).rejects.toThrowError(); - const newBoxAfterTransfer = algodClient.getApplicationBoxByName( - infrastructureID, - decodeAddress(oldOwner.address).publicKey - ); - expect(transferResult).toBeDefined(); - expect(oldBoxBeforeTransfer).toBeDefined(); - expect(newBoxAfterTransfer).toBeDefined(); + expect(content.price.value).toBe(algos(1).microAlgos); }, - { timeout: 1e6 } + { timeout: 10e6 } ); it( - "should correctly unsubscribe/delete purchased Subscription", + "should correctly add product, create discount, transfer product and delete discount", async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, - client: algodClient, - subType: SubscriptionType.UNLIMITED, - maxSubs: 0, - coinID: 0, - }); - const infrastructureID = Number(response.returnValue); - - const subscriber = await getRandomAccount( + const subtopiaRegistryClient = await SubtopiaRegistryClient.init( algodClient, - adminAccount.addr, - adminAccount.signer + creatorSignerAccount, + ChainType.TESTNET ); - const randomExpirationType = getRandomElement( - TIME_BASED_EXPIRATION_TYPES - ); - const result = await SubtopiaClient.subscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - smrID: dummyRegistryId, - expirationType: randomExpirationType, - }, - { - client: algodClient, - } - ); - - // Test - const boxContent = await SubtopiaClient.getSubscriptionRecordForAccount( - algodClient, - subscriber.address, - infrastructureID - ); + const newOwner = bobTestAccount; - const deleteResult = await SubtopiaClient.unsubscribe( - { - subscriber: { - address: subscriber.address, - signer: subscriber.signer, - }, - smiID: infrastructureID, - }, - { - client: algodClient, - } - ); - - // Assert - expect(boxContent.subID).toBe(Number(result.returnValue)); - expect(deleteResult.returnValue).toBe(result.returnValue); - await expect( - algodClient - .getApplicationBoxByName( - infrastructureID, - decodeAddress(subscriber.address).publicKey - ) - .do() - ).rejects.toThrowError(); - expect(deleteResult).toBeDefined(); - expect(deleteResult.txID).toBeDefined(); - }, - { timeout: 1e6 } - ); - - it( - "should correctly transfer SMI ownership to new creator and claim", - async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); + let lockerID = await SubtopiaRegistryClient.getLocker({ + registryID: subtopiaRegistryClient.appID, + algodClient: algodClient, + ownerAddress: creatorAccount.addr, + }); + if (lockerID === undefined) { + const response = await subtopiaRegistryClient.createLocker({ + creator: creatorSignerAccount, + lockerType: LockerType.CREATOR, + }); + lockerID = response.lockerID; + } - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", + // Test + const response = await subtopiaRegistryClient.createInfrastructure({ + productName: "Hooli", + subscriptionName: "Pro", price: 1, - client: algodClient, - subType: SubscriptionType.UNLIMITED, + subType: enums.SubscriptionType.TIME_BASED, maxSubs: 0, coinID: 0, + lockerID: lockerID, }); - const infrastructureID = Number(response.returnValue); - // Test - const newOwner = await getRandomAccount( - algodClient, - adminAccount.addr, - adminAccount.signer - ); + expect(response.infrastructureID).toBeGreaterThan(0); - const transferResult = await SubtopiaAdminClient.transferInfrastructure({ - client: algodClient, - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - newCreatorAddress: newOwner.address, - smiID: infrastructureID, - smrID: dummyRegistryId, + const productClient = await SubtopiaClient.init( + algodClient, + response.infrastructureID, + creatorSignerAccount + ); + const createDiscountResponse = await productClient.createDiscount({ + duration: Duration.MONTH.valueOf(), + discountType: DiscountType.FIXED, + discountValue: 1e6, + expiresIn: 0, }); - const boxContent = - await SubtopiaAdminClient.getPendingTransferRecordForAccount( - algodClient, - newOwner.address, - dummyRegistryId - ); + expect(createDiscountResponse.txID).toBeDefined(); - await SubtopiaAdminClient.claimInfrastructure({ - client: algodClient, - creator: { address: newOwner.address, signer: newOwner.signer }, - smiID: infrastructureID, - smrID: dummyRegistryId, + const getDiscountResponse = await productClient.getDiscount({ + duration: Duration.MONTH.valueOf(), }); - // Assert - const expectedLocker = await getLocker( - algodClient, - newOwner.address, - dummyRegistry.appAddress - ); + expect(getDiscountResponse.discountValue).toBe(1e6); - expect(boxContent).toBeDefined(); - expect(boxContent?.smiID).toBe(infrastructureID); - expect(boxContent?.locker).toBe(expectedLocker.lsig.address()); - expect( - await SubtopiaAdminClient.getPendingTransferRecordForAccount( - algodClient, - newOwner.address, - dummyRegistryId - ) - ).toBe(undefined); - expect(transferResult.txID).toBeDefined(); - }, - { timeout: 1e6 } - ); - - it( - "should correctly transfer SMI ownership to new creator and claim", - async () => { - // Setup - const { dummyRegistryId } = await setupDummyRegistry(); - const randomAsset = await generateRandomAsset(algodClient, adminAccount); + const transferResponse = + await subtopiaRegistryClient.transferInfrastructure({ + infrastructureID: response.infrastructureID, + newOwnerAddress: newOwner.addr, + }); - const response = await SubtopiaAdminClient.addInfrastructure({ - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - smrID: dummyRegistryId, - name: "Cool infrastructure", - price: 1, - client: algodClient, - subType: SubscriptionType.UNLIMITED, - maxSubs: 0, - coinID: randomAsset.index, - }); - const infrastructureID = Number(response.returnValue); + expect(transferResponse.txID).toBeDefined(); - // Test - const newOwner = await getRandomAccount( + const newOwnerProductClient = await SubtopiaClient.init( algodClient, - adminAccount.addr, - adminAccount.signer + response.infrastructureID, + transactionSignerAccount( + makeBasicAccountTransactionSigner(newOwner), + newOwner.addr + ) ); - const transferResult = await SubtopiaAdminClient.transferInfrastructure({ - client: algodClient, - creator: { address: adminAccount.addr, signer: adminAccount.signer }, - newCreatorAddress: newOwner.address, - smiID: infrastructureID, - smrID: dummyRegistryId, - }); - - const boxContent = - await SubtopiaAdminClient.getPendingTransferRecordForAccount( - algodClient, - newOwner.address, - dummyRegistryId - ); - - await SubtopiaAdminClient.claimInfrastructure({ - client: algodClient, - creator: { address: newOwner.address, signer: newOwner.signer }, - smiID: infrastructureID, - smrID: dummyRegistryId, - }); - - // Assert - const expectedLocker = await getLocker( - algodClient, - newOwner.address, - dummyRegistry.appAddress + const deleteDiscountResponse = await newOwnerProductClient.deleteDiscount( + { + duration: Duration.MONTH.valueOf(), + } ); - expect(boxContent).toBeDefined(); - expect(boxContent?.smiID).toBe(infrastructureID); - expect(boxContent?.locker).toBe(expectedLocker.lsig.address()); - expect( - await SubtopiaAdminClient.getPendingTransferRecordForAccount( - algodClient, - newOwner.address, - dummyRegistryId - ) - ).toBe(undefined); - expect(transferResult.txID).toBeDefined(); + expect(deleteDiscountResponse.txID).toBeDefined(); }, - { timeout: 1e6 } + { + timeout: 10e6, + } ); }); diff --git a/tests/utils.ts b/tests/utils.ts index bdd5888..4874222 100644 --- a/tests/utils.ts +++ b/tests/utils.ts @@ -14,17 +14,6 @@ import { normalizePrice, optInAsset } from "../src/utils"; import { AssetMetadata } from "./interfaces"; import { SandboxAccount } from "beaker-ts/dist/types/sandbox/accounts"; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export async function filterAsync(arr: any[], callback: (arg0: any) => any) { - const fail = Symbol(); - return ( - await Promise.all( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - arr.map(async (item: any) => ((await callback(item)) ? item : fail)) - ) - ).filter((i) => i !== fail); -} - export async function getRandomAccount( client: Algodv2, funderAddress: string, @@ -47,14 +36,11 @@ export async function getRandomAccount( await atc.execute(client, DEFAULT_AWAIT_ROUNDS); if (asset) { - await optInAsset( - client, - { - address: randomAccount.addr, - signer: makeBasicAccountTransactionSigner(randomAccount), - }, - asset.index - ); + await optInAsset({ + client: client, + account: { signer: funderSigner, addr: randomAccount.addr }, + assetID: asset.index, + }); atc = new AtomicTransactionComposer(); atc.addTransaction({ diff --git a/vitest.config.ts b/vitest.config.ts index cd11553..35cb289 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -6,5 +6,6 @@ export default defineConfig({ provider: "c8", reporter: ["text", "json", "html"], }, + hookTimeout: 10_000_000, }, }); diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 71d76bf..0000000 --- a/yarn.lock +++ /dev/null @@ -1,6216 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== - dependencies: - "@babel/highlight" "^7.22.5" - -"@babel/compat-data@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" - integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== - -"@babel/core@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.5.tgz#d67d9747ecf26ee7ecd3ebae1ee22225fe902a89" - integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helpers" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" - integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== - dependencies: - "@babel/types" "^7.22.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz#fc7319fc54c5e2fa14b2909cf3c5fd3046813e02" - integrity sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw== - dependencies: - "@babel/compat-data" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-transforms@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" - integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" - integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== - -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== - -"@babel/helpers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.5.tgz#74bb4373eb390d1ceed74a15ef97767e63120820" - integrity sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q== - dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" - integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== - -"@babel/plugin-transform-react-jsx-self@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" - integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-source@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" - integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" - integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@commitlint/config-validator@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.4.tgz#d0742705719559a101d2ee49c0c514044af6d64d" - integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== - dependencies: - "@commitlint/types" "^17.4.4" - ajv "^8.11.0" - -"@commitlint/execute-rule@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" - integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== - -"@commitlint/load@>6.1.1": - version "17.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.5.0.tgz#be45dbbb50aaf5eb7e8e940e1e0d6171d1426bab" - integrity sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q== - dependencies: - "@commitlint/config-validator" "^17.4.4" - "@commitlint/execute-rule" "^17.4.0" - "@commitlint/resolve-extends" "^17.4.4" - "@commitlint/types" "^17.4.4" - "@types/node" "*" - chalk "^4.1.0" - cosmiconfig "^8.0.0" - cosmiconfig-typescript-loader "^4.0.0" - lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" - lodash.uniq "^4.5.0" - resolve-from "^5.0.0" - ts-node "^10.8.1" - typescript "^4.6.4 || ^5.0.0" - -"@commitlint/resolve-extends@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz#8f931467dea8c43b9fe38373e303f7c220de6fdc" - integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== - dependencies: - "@commitlint/config-validator" "^17.4.4" - "@commitlint/types" "^17.4.4" - import-fresh "^3.0.0" - lodash.mergewith "^4.6.2" - resolve-from "^5.0.0" - resolve-global "^1.0.0" - -"@commitlint/types@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" - integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== - dependencies: - chalk "^4.1.0" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@csstools/selector-specificity@^2.0.2": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" - integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== - -"@esbuild/android-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== - -"@esbuild/android-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== - -"@esbuild/android-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== - -"@esbuild/darwin-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== - -"@esbuild/darwin-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== - -"@esbuild/freebsd-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== - -"@esbuild/freebsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== - -"@esbuild/linux-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== - -"@esbuild/linux-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== - -"@esbuild/linux-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== - -"@esbuild/linux-loong64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== - -"@esbuild/linux-mips64el@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== - -"@esbuild/linux-ppc64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== - -"@esbuild/linux-riscv64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== - -"@esbuild/linux-s390x@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== - -"@esbuild/linux-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== - -"@esbuild/netbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== - -"@esbuild/openbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== - -"@esbuild/sunos-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== - -"@esbuild/win32-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== - -"@esbuild/win32-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== - -"@esbuild/win32-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" - integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== - -"@eslint/eslintrc@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d" - integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.44.0": - version "8.44.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af" - integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw== - -"@feki.de/semantic-release-yarn@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@feki.de/semantic-release-yarn/-/semantic-release-yarn-1.0.1.tgz#fc74ff10ec4d0a7d2ed736af3b93146fcdb62ba9" - integrity sha512-7y6PSJfJAnKu35exuPO32Iiy9e+Nab577bk4y+kO8Led3Zl/UcjiZxaYZenXZjMZg6Ms9vhNEXvUWUA3D9f5Pg== - dependencies: - "@semantic-release/error" "^3.0.0" - aggregate-error "^3.0.0" - execa "^5.0.0" - fs-extra "^10.0.0" - lodash "^4.17.15" - nerf-dart "^1.0.0" - normalize-url "^6.0.0" - rc "^1.2.8" - read-pkg "^5.0.0" - registry-auth-token "^4.0.0" - semver "^7.1.2" - tempy "^1.0.0" - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.10" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" - integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@isaacs/string-locale-compare@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" - integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/arborist@^6.2.10": - version "6.2.10" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-6.2.10.tgz#d12dbc772b5f2894e7eb680fde2b03ada81331ed" - integrity sha512-YpGd6RgYZ4JzIZCP6d+PfH81tD0XynOE7HyKUZPLss/YQZXR5pO6hyXWNYb1fcQw4yJrh9ed9umhGbxPhcjBRA== - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/fs" "^3.1.0" - "@npmcli/installed-package-contents" "^2.0.2" - "@npmcli/map-workspaces" "^3.0.2" - "@npmcli/metavuln-calculator" "^5.0.0" - "@npmcli/name-from-folder" "^2.0.0" - "@npmcli/node-gyp" "^3.0.0" - "@npmcli/package-json" "^3.0.0" - "@npmcli/query" "^3.0.0" - "@npmcli/run-script" "^6.0.0" - bin-links "^4.0.1" - cacache "^17.0.4" - common-ancestor-path "^1.0.1" - hosted-git-info "^6.1.1" - json-parse-even-better-errors "^3.0.0" - json-stringify-nice "^1.1.4" - minimatch "^9.0.0" - nopt "^7.0.0" - npm-install-checks "^6.0.0" - npm-package-arg "^10.1.0" - npm-pick-manifest "^8.0.1" - npm-registry-fetch "^14.0.3" - npmlog "^7.0.1" - pacote "^15.0.8" - parse-conflict-json "^3.0.0" - proc-log "^3.0.0" - promise-all-reject-late "^1.0.0" - promise-call-limit "^1.0.2" - read-package-json-fast "^3.0.2" - semver "^7.3.7" - ssri "^10.0.1" - treeverse "^3.0.0" - walk-up-path "^3.0.1" - -"@npmcli/config@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-6.2.1.tgz#954cc09b727b6bfc087cb1d2a48994dc342e45cc" - integrity sha512-Cj/OrSbrLvnwWuzquFCDTwFN8QmR+SWH6qLNCBttUreDkKM5D5p36SeSMbcEUiCGdwjUrVy2yd8C0REwwwDPEw== - dependencies: - "@npmcli/map-workspaces" "^3.0.2" - ci-info "^3.8.0" - ini "^4.1.0" - nopt "^7.0.0" - proc-log "^3.0.0" - read-package-json-fast "^3.0.2" - semver "^7.3.5" - walk-up-path "^3.0.1" - -"@npmcli/disparity-colors@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-3.0.0.tgz#60ea8c6eb5ba9de2d1950e15b06205b2c3ab7833" - integrity sha512-5R/z157/f20Fi0Ou4ZttL51V0xz0EdPEOauFtPCEYOLInDBRCj1/TxOJ5aGTrtShxEshN2d+hXb9ZKSi5RLBcg== - dependencies: - ansi-styles "^4.3.0" - -"@npmcli/fs@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" - integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== - dependencies: - semver "^7.3.5" - -"@npmcli/git@^4.0.0", "@npmcli/git@^4.0.1", "@npmcli/git@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6" - integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== - dependencies: - "@npmcli/promise-spawn" "^6.0.0" - lru-cache "^7.4.4" - npm-pick-manifest "^8.0.0" - proc-log "^3.0.0" - promise-inflight "^1.0.1" - promise-retry "^2.0.1" - semver "^7.3.5" - which "^3.0.0" - -"@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" - integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== - dependencies: - npm-bundled "^3.0.0" - npm-normalize-package-bin "^3.0.0" - -"@npmcli/map-workspaces@^3.0.2", "@npmcli/map-workspaces@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz#15ad7d854292e484f7ba04bc30187a8320dba799" - integrity sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg== - dependencies: - "@npmcli/name-from-folder" "^2.0.0" - glob "^10.2.2" - minimatch "^9.0.0" - read-package-json-fast "^3.0.0" - -"@npmcli/metavuln-calculator@^5.0.0": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz#426b3e524c2008bcc82dbc2ef390aefedd643d76" - integrity sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q== - dependencies: - cacache "^17.0.0" - json-parse-even-better-errors "^3.0.0" - pacote "^15.0.0" - semver "^7.3.5" - -"@npmcli/name-from-folder@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" - integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== - -"@npmcli/node-gyp@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" - integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== - -"@npmcli/package-json@^3.0.0", "@npmcli/package-json@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-3.1.1.tgz#5628332aac90fa1b4d6f98e03988c5958b35e0c5" - integrity sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA== - dependencies: - "@npmcli/git" "^4.1.0" - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^5.0.0" - npm-normalize-package-bin "^3.0.1" - proc-log "^3.0.0" - -"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" - integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== - dependencies: - which "^3.0.0" - -"@npmcli/query@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.0.0.tgz#51a0dfb85811e04f244171f164b6bc83b36113a7" - integrity sha512-MFNDSJNgsLZIEBVZ0Q9w9K7o07j5N4o4yjtdz2uEpuCZlXGMuPENiRaFYk0vRqAA64qVuUQwC05g27fRtfUgnA== - dependencies: - postcss-selector-parser "^6.0.10" - -"@npmcli/run-script@^6.0.0", "@npmcli/run-script@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.2.tgz#a25452d45ee7f7fb8c16dfaf9624423c0c0eb885" - integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== - dependencies: - "@npmcli/node-gyp" "^3.0.0" - "@npmcli/promise-spawn" "^6.0.0" - node-gyp "^9.0.0" - read-package-json-fast "^3.0.0" - which "^3.0.0" - -"@octokit/auth-token@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" - integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== - -"@octokit/core@^4.2.1": - version "4.2.4" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907" - integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ== - dependencies: - "@octokit/auth-token" "^3.0.0" - "@octokit/graphql" "^5.0.0" - "@octokit/request" "^6.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^7.0.0": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" - integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== - dependencies: - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^5.0.0": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" - integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== - dependencies: - "@octokit/request" "^6.0.0" - "@octokit/types" "^9.0.0" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^18.0.0": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.0.0.tgz#f43d765b3c7533fd6fb88f3f25df079c24fccf69" - integrity sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw== - -"@octokit/plugin-paginate-rest@^7.0.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.1.2.tgz#1e25e88acab8198858960f6ef7ae02e6c9f7139f" - integrity sha512-Jx8KuKqEAVRsK6fMzZKv3h6UH9/NRDHsDRtUAROqqmZlCptM///Uef7A1ViZ/cbDplekz7VbDWdFLAZ/mpuDww== - dependencies: - "@octokit/tsconfig" "^2.0.0" - "@octokit/types" "^9.3.2" - -"@octokit/plugin-retry@^5.0.0": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-5.0.4.tgz#c726c0e4e3fcd3b34a010e709f2c8b92cce1915a" - integrity sha512-hw00fDIhOgijy4aSxS6weWF5uqZVeoiC/AptLLyjL8KFCJRGRaXfcfgj76h/Z3cSLTjRsEIQnNCTig8INttL/g== - dependencies: - "@octokit/request-error" "^4.0.1" - "@octokit/types" "^10.0.0" - bottleneck "^2.15.3" - -"@octokit/plugin-throttling@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-6.1.0.tgz#093275e6b542be371acb0631252a428f2f1b0615" - integrity sha512-JqMbTiPC0sUSTsLQsdq3JVx1mx8UtTo5mwR80YqPXE93+XhevvSyOR1rO2Z+NbO/r0TK4hqFJSSi/9oIZBxZTg== - dependencies: - "@octokit/types" "^9.0.0" - bottleneck "^2.15.3" - -"@octokit/request-error@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" - integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== - dependencies: - "@octokit/types" "^9.0.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request-error@^4.0.1": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-4.0.2.tgz#0e16802f3e688e1dd6807e81c7810f419b2c530d" - integrity sha512-uqwUEmZw3x4I9DGYq9fODVAAvcLsPQv97NRycP6syEFu5916M189VnNBW2zANNwqg3OiligNcAey7P0SET843w== - dependencies: - "@octokit/types" "^10.0.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^6.0.0": - version "6.2.8" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.8.tgz#aaf480b32ab2b210e9dadd8271d187c93171d8eb" - integrity sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw== - dependencies: - "@octokit/endpoint" "^7.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" - universal-user-agent "^6.0.0" - -"@octokit/tsconfig@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-2.0.0.tgz#9f316995c2fd49516b2d2ffb2e02a4341e347fe8" - integrity sha512-tWnrai3quGt8+gRN2edzo9fmraWekeryXPeXDomMw2oFSpu/lH3VSWGn/q4V+rwjTRMeeXk/ci623/01Zet4VQ== - -"@octokit/types@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-10.0.0.tgz#7ee19c464ea4ada306c43f1a45d444000f419a4a" - integrity sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg== - dependencies: - "@octokit/openapi-types" "^18.0.0" - -"@octokit/types@^9.0.0", "@octokit/types@^9.3.2": - version "9.3.2" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5" - integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== - dependencies: - "@octokit/openapi-types" "^18.0.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pnpm/config.env-replace@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" - integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== - -"@pnpm/network.ca-file@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" - integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== - dependencies: - graceful-fs "4.2.10" - -"@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz#0058baf1c26cbb63a828f0193795401684ac86f0" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== - dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" - config-chain "^1.1.11" - -"@semantic-release/changelog@6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@semantic-release/changelog/-/changelog-6.0.3.tgz#6195630ecbeccad174461de727d5f975abc23eeb" - integrity sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag== - dependencies: - "@semantic-release/error" "^3.0.0" - aggregate-error "^3.0.0" - fs-extra "^11.0.0" - lodash "^4.17.4" - -"@semantic-release/commit-analyzer@^10.0.0": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.1.tgz#be6fcc1703459294c394ede41b37fd9a21d39807" - integrity sha512-9ejHzTAijYs9z246sY/dKBatmOPcd0GQ7lH4MgLCkv1q4GCiDZRkjHJkaQZXZVaK7mJybS+sH3Ng6G8i3pYMGQ== - dependencies: - conventional-changelog-angular "^6.0.0" - conventional-commits-filter "^3.0.0" - conventional-commits-parser "^4.0.0" - debug "^4.0.0" - import-from "^4.0.0" - lodash-es "^4.17.21" - micromatch "^4.0.2" - -"@semantic-release/error@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-3.0.0.tgz#30a3b97bbb5844d695eb22f9d3aa40f6a92770c2" - integrity sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw== - -"@semantic-release/error@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-4.0.0.tgz#692810288239637f74396976a9340fbc0aa9f6f9" - integrity sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ== - -"@semantic-release/git@10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@semantic-release/git/-/git-10.0.1.tgz#c646e55d67fae623875bf3a06a634dd434904498" - integrity sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w== - dependencies: - "@semantic-release/error" "^3.0.0" - aggregate-error "^3.0.0" - debug "^4.0.0" - dir-glob "^3.0.0" - execa "^5.0.0" - lodash "^4.17.4" - micromatch "^4.0.0" - p-reduce "^2.0.0" - -"@semantic-release/github@^9.0.0": - version "9.0.3" - resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-9.0.3.tgz#2559da9bcedeacb572f240469270a281c2a83615" - integrity sha512-X6gq4USKVlCxPwIIyXb99jU7gwVWlnsKOevs+OyABRdoqc+OIRITbFmrrYU3eE1vGMGk+Qu/GAoLUQQQwC3YOA== - dependencies: - "@octokit/core" "^4.2.1" - "@octokit/plugin-paginate-rest" "^7.0.0" - "@octokit/plugin-retry" "^5.0.0" - "@octokit/plugin-throttling" "^6.0.0" - "@semantic-release/error" "^4.0.0" - aggregate-error "^4.0.1" - debug "^4.3.4" - dir-glob "^3.0.1" - globby "^13.1.4" - http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.0" - issue-parser "^6.0.0" - lodash-es "^4.17.21" - mime "^3.0.0" - p-filter "^3.0.0" - url-join "^5.0.0" - -"@semantic-release/npm@^10.0.2": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-10.0.4.tgz#b55df5cb86d4b10b4e8eb56d5ce0bd3537c641e1" - integrity sha512-6R3timIQ7VoL2QWRkc9DG8v74RQtRp7UOe/2KbNaqwJ815qOibAv65bH3RtTEhs4axEaHoZf7HDgFs5opaZ9Jw== - dependencies: - "@semantic-release/error" "^4.0.0" - aggregate-error "^4.0.1" - execa "^7.0.0" - fs-extra "^11.0.0" - lodash-es "^4.17.21" - nerf-dart "^1.0.0" - normalize-url "^8.0.0" - npm "^9.5.0" - rc "^1.2.8" - read-pkg "^8.0.0" - registry-auth-token "^5.0.0" - semver "^7.1.2" - tempy "^3.0.0" - -"@semantic-release/release-notes-generator@^11.0.0": - version "11.0.3" - resolved "https://registry.yarnpkg.com/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.3.tgz#9d7d94e305441d3b31385e29aa5a79ce3f6a21ae" - integrity sha512-NU77dWKQf+QcZrv/Hcp3DPeSxglPu8hYKCipGxAPpeaneLkg6S0zfTVug4tg4mfDhZHC6RtoI7ljQDK8VoJ2Dw== - dependencies: - conventional-changelog-angular "^6.0.0" - conventional-changelog-writer "^6.0.0" - conventional-commits-filter "^3.0.0" - conventional-commits-parser "^4.0.0" - debug "^4.0.0" - get-stream "^7.0.0" - import-from "^4.0.0" - into-stream "^7.0.0" - lodash-es "^4.17.21" - read-pkg-up "^9.0.0" - -"@sigstore/protobuf-specs@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4" - integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ== - -"@sigstore/tuf@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-1.0.2.tgz#acbb2c8399fb03aca0c90fa1dc1934bda4160623" - integrity sha512-vjwcYePJzM01Ha6oWWZ9gNcdIgnzyFxfqfWzph483DPJTH8Tb7f7bQRRll3CYVkyH56j0AgcPAcl6Vg95DPF+Q== - dependencies: - "@sigstore/protobuf-specs" "^0.1.0" - tuf-js "^1.1.7" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@tufjs/canonical-json@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31" - integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== - -"@tufjs/models@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-1.0.4.tgz#5a689630f6b9dbda338d4b208019336562f176ef" - integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== - dependencies: - "@tufjs/canonical-json" "1.0.0" - minimatch "^9.0.0" - -"@types/chai-subset@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.3.tgz#97893814e92abd2c534de422cb377e0e0bdaac94" - integrity sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw== - dependencies: - "@types/chai" "*" - -"@types/chai@*", "@types/chai@^4.3.5": - version "4.3.5" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b" - integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng== - -"@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/json-schema@^7.0.9": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.3.tgz#329842940042d2b280897150e023e604d11657d6" - integrity sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw== - -"@types/node@^18.13.0": - version "18.16.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.19.tgz#cb03fca8910fdeb7595b755126a8a78144714eea" - integrity sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA== - -"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@^18.0.9": - version "18.2.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.6.tgz#ad621fa71a8db29af7c31b41b2ea3d8a6f4144d1" - integrity sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.0.26": - version "18.2.14" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" - integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== - -"@types/semver@^7.3.12": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" - integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== - -"@typescript-eslint/eslint-plugin@^5.46.0": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz#81382d6ecb92b8dda70e91f9035611cb2fecd1c3" - integrity sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.60.1" - "@typescript-eslint/type-utils" "5.60.1" - "@typescript-eslint/utils" "5.60.1" - debug "^4.3.4" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.46.0": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.1.tgz#0f2f58209c0862a73e3d5a56099abfdfa21d0fd3" - integrity sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q== - dependencies: - "@typescript-eslint/scope-manager" "5.60.1" - "@typescript-eslint/types" "5.60.1" - "@typescript-eslint/typescript-estree" "5.60.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz#35abdb47f500c68c08f2f2b4f22c7c79472854bb" - integrity sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ== - dependencies: - "@typescript-eslint/types" "5.60.1" - "@typescript-eslint/visitor-keys" "5.60.1" - -"@typescript-eslint/type-utils@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz#17770540e98d65ab4730c7aac618003f702893f4" - integrity sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A== - dependencies: - "@typescript-eslint/typescript-estree" "5.60.1" - "@typescript-eslint/utils" "5.60.1" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.60.1.tgz#a17473910f6b8d388ea83c9d7051af89c4eb7561" - integrity sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg== - -"@typescript-eslint/typescript-estree@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz#8c71824b7165b64d5ebd7aa42968899525959834" - integrity sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw== - dependencies: - "@typescript-eslint/types" "5.60.1" - "@typescript-eslint/visitor-keys" "5.60.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.60.1.tgz#6861ebedbefba1ac85482d2bdef6f2ff1eb65b80" - integrity sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.60.1" - "@typescript-eslint/types" "5.60.1" - "@typescript-eslint/typescript-estree" "5.60.1" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.60.1": - version "5.60.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz#19a877358bf96318ec35d90bfe6bd1445cce9434" - integrity sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw== - dependencies: - "@typescript-eslint/types" "5.60.1" - eslint-visitor-keys "^3.3.0" - -"@vitejs/plugin-react@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.1.tgz#793aa790633433558da7ac0a38c58ddf47dff518" - integrity sha512-g25lL98essfeSj43HJ0o4DMp0325XK0ITkxpgChzJU/CyemgyChtlxfnRbjfwxDGCTRxTiXtQAsdebQXKMRSOA== - dependencies: - "@babel/core" "^7.22.5" - "@babel/plugin-transform-react-jsx-self" "^7.22.5" - "@babel/plugin-transform-react-jsx-source" "^7.22.5" - react-refresh "^0.14.0" - -"@vitest/coverage-c8@^0.31.0": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.31.4.tgz#5628e415fd9bea99ee12127e0524b9d267a33e17" - integrity sha512-VPx368m4DTcpA/P0v3YdVxl4QOSh1DbUcXURLRvDShrIB5KxOgfzw4Bn2R8AhAe/GyiWW/FIsJ/OJdYXCCiC1w== - dependencies: - "@ampproject/remapping" "^2.2.1" - c8 "^7.13.0" - magic-string "^0.30.0" - picocolors "^1.0.0" - std-env "^3.3.2" - -"@vitest/expect@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.31.4.tgz#115c517404488bf3cb6ce4ac411c40d8e86891b8" - integrity sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg== - dependencies: - "@vitest/spy" "0.31.4" - "@vitest/utils" "0.31.4" - chai "^4.3.7" - -"@vitest/runner@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.31.4.tgz#e99abee89132a500d9726a53b58dfc9160db1078" - integrity sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg== - dependencies: - "@vitest/utils" "0.31.4" - concordance "^5.0.4" - p-limit "^4.0.0" - pathe "^1.1.0" - -"@vitest/snapshot@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.31.4.tgz#59a42046fec4950a1ac70cf0ec64aada3b995559" - integrity sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA== - dependencies: - magic-string "^0.30.0" - pathe "^1.1.0" - pretty-format "^27.5.1" - -"@vitest/spy@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.31.4.tgz#fce8e348cea32deff79996d116c67893b19cc47d" - integrity sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag== - dependencies: - tinyspy "^2.1.0" - -"@vitest/utils@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.31.4.tgz#5cfdcecfd604a7dbe3972cfe0f2b1e0af1246ad2" - integrity sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ== - dependencies: - concordance "^5.0.4" - loupe "^2.3.6" - pretty-format "^27.5.1" - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" - integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1, acorn-walk@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" - integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== - -agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2, agent-base@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" - -agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== - dependencies: - debug "^4.1.0" - depd "^2.0.0" - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -aggregate-error@^4.0.0, aggregate-error@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-4.0.1.tgz#25091fe1573b9e0be892aeda15c7c66a545f758e" - integrity sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== - dependencies: - clean-stack "^4.0.0" - indent-string "^5.0.0" - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1, ajv@^8.11.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -algo-msgpack-with-bigint@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz#38bb717220525b3ff42232eefdcd9efb9ad405d6" - integrity sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ== - -algosdk@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/algosdk/-/algosdk-2.3.0.tgz#fcb460b3c311f76fa7908dc14a889ead8054955b" - integrity sha512-voxoY2eue2CkzwkTh6UNN5JUeVOBL9qoNX3N/+OYwS2/Xd17ACSs6tLV/6dZumEgPa40ZL8TkO4zQF/ysDpy8w== - dependencies: - algo-msgpack-with-bigint "^2.1.1" - buffer "^6.0.3" - cross-fetch "^3.1.5" - hi-base32 "^0.5.1" - js-sha256 "^0.9.0" - js-sha3 "^0.8.0" - js-sha512 "^0.8.0" - json-bigint "^1.0.0" - tweetnacl "^1.0.3" - vlq "^2.0.4" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-escapes@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" - integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== - dependencies: - type-fest "^3.0.0" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== - -"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -are-we-there-yet@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.0.tgz#3ff397dc14f08b52dd8b2a64d3cee154ab8760d2" - integrity sha512-nSXlV+u3vtVjRgihdTzbfWYzxPWGo424zPgQbHD0ZqIla3jqYAewDcvee0Ua2hjS5IfTAmjGlx1Jf0PKwjZDEw== - dependencies: - delegates "^1.0.0" - readable-stream "^4.1.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -argv-formatter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9" - integrity sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -balanced-match@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" - integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -beaker-ts@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/beaker-ts/-/beaker-ts-0.1.2.tgz#03381f6ecd11a1dcb82a4d0b100e1feb4ee3d479" - integrity sha512-PWjLRdZTsVeClgqwa5HD61UnvRTlJx2mx5Y53Ln4821LN5oJ/nrbhhDEfqOysOmA2+bVQT/B43c8XGjtbMKuOQ== - dependencies: - commander "^9.4.0" - typescript "^4.7.4" - -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" - integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== - -bignumber.js@^9.0.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== - -bin-links@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.1.tgz#afeb0549e642f61ff889b58ea2f8dca78fb9d8d3" - integrity sha512-bmFEM39CyX336ZGGRsGPlc6jZHriIoHacOQcTt72MktIjpPhZoP4te2jOyUXF3BLILmJ8aNLncoPVeIIFlrDeA== - dependencies: - cmd-shim "^6.0.0" - npm-normalize-package-bin "^3.0.0" - read-cmd-shim "^4.0.0" - write-file-atomic "^5.0.0" - -binary-extensions@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blueimp-md5@^2.10.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" - integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== - -bottleneck@^2.15.3: - version "2.19.5" - resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" - integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.3: - version "4.21.9" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" - integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== - dependencies: - caniuse-lite "^1.0.30001503" - electron-to-chromium "^1.4.431" - node-releases "^2.0.12" - update-browserslist-db "^1.0.11" - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - -c8@^7.13.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/c8/-/c8-7.14.0.tgz#f368184c73b125a80565e9ab2396ff0be4d732f3" - integrity sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@istanbuljs/schema" "^0.1.3" - find-up "^5.0.0" - foreground-child "^2.0.0" - istanbul-lib-coverage "^3.2.0" - istanbul-lib-report "^3.0.0" - istanbul-reports "^3.1.4" - rimraf "^3.0.2" - test-exclude "^6.0.0" - v8-to-istanbul "^9.0.0" - yargs "^16.2.0" - yargs-parser "^20.2.9" - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -cacache@^17.0.0, cacache@^17.0.4, cacache@^17.1.3: - version "17.1.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.3.tgz#c6ac23bec56516a7c0c52020fd48b4909d7c7044" - integrity sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg== - dependencies: - "@npmcli/fs" "^3.1.0" - fs-minipass "^3.0.0" - glob "^10.2.2" - lru-cache "^7.7.1" - minipass "^5.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - -cachedir@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" - integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-lite@^1.0.30001503: - version "1.0.30001509" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz#2b7ad5265392d6d2de25cd8776d1ab3899570d14" - integrity sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA== - -cardinal@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" - integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== - dependencies: - ansicolors "~0.3.2" - redeyed "~2.1.0" - -chai@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" - integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^4.1.2" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^3.6.1, ci-info@^3.7.1, ci-info@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -cidr-regex@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" - integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== - dependencies: - ip-regex "^4.1.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -clean-stack@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-4.2.0.tgz#c464e4cde4ac789f4e0735c5d75beb49d7b30b31" - integrity sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== - dependencies: - escape-string-regexp "5.0.0" - -cli-columns@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" - integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== - dependencies: - string-width "^4.2.3" - strip-ansi "^6.0.1" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^2.5.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== - -cli-table3@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -cmd-shim@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d" - integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -commander@^9.4.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - -commitizen@4.3.0, commitizen@^4.0.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.3.0.tgz#0d056c542a2d2b1f9b9aba981aa32575b2849924" - integrity sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw== - dependencies: - cachedir "2.3.0" - cz-conventional-changelog "3.3.0" - dedent "0.7.0" - detect-indent "6.1.0" - find-node-modules "^2.1.2" - find-root "1.1.0" - fs-extra "9.1.0" - glob "7.2.3" - inquirer "8.2.5" - is-utf8 "^0.2.1" - lodash "4.17.21" - minimist "1.2.7" - strip-bom "4.0.0" - strip-json-comments "3.1.1" - -common-ancestor-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" - integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concordance@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/concordance/-/concordance-5.0.4.tgz#9896073261adced72f88d60e4d56f8efc4bbbbd2" - integrity sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw== - dependencies: - date-time "^3.1.0" - esutils "^2.0.3" - fast-diff "^1.2.0" - js-string-escape "^1.0.1" - lodash "^4.17.15" - md5-hex "^3.0.1" - semver "^7.3.2" - well-known-symbols "^2.0.0" - -config-chain@^1.1.11: - version "1.1.13" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -conventional-changelog-angular@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541" - integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg== - dependencies: - compare-func "^2.0.0" - -conventional-changelog-writer@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-6.0.0.tgz#8c8dea0441c6e648c9b25bb784e750d02f8002d5" - integrity sha512-8PyWTnn7zBIt9l4hj4UusFs1TyG+9Ulu1zlOAc72L7Sdv9Hsc8E86ot7htY3HXCVhXHB/NO0pVGvZpwsyJvFfw== - dependencies: - conventional-commits-filter "^3.0.0" - dateformat "^3.0.3" - handlebars "^4.7.7" - json-stringify-safe "^5.0.1" - meow "^8.1.2" - semver "^6.3.0" - split "^1.0.1" - -conventional-commit-types@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz#7c9214e58eae93e85dd66dbfbafe7e4fffa2365b" - integrity sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== - -conventional-commits-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz#bf1113266151dd64c49cd269e3eb7d71d7015ee2" - integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.1" - -conventional-commits-parser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505" - integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== - dependencies: - JSONStream "^1.3.5" - is-text-path "^1.0.1" - meow "^8.1.2" - split2 "^3.2.2" - -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig-typescript-loader@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" - integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== - -cosmiconfig@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== - dependencies: - import-fresh "^3.2.1" - js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^3.1.5: - version "3.1.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c" - integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g== - dependencies: - node-fetch "^2.6.11" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -crypto-random-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" - integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== - dependencies: - type-fest "^1.0.1" - -css-functions-list@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" - integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -cz-conventional-changelog@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz#9246947c90404149b3fe2cf7ee91acad3b7d22d2" - integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== - dependencies: - chalk "^2.4.1" - commitizen "^4.0.3" - conventional-commit-types "^3.0.0" - lodash.map "^4.5.1" - longest "^2.0.1" - word-wrap "^1.0.3" - optionalDependencies: - "@commitlint/load" ">6.1.1" - -date-time@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-3.1.0.tgz#0d1e934d170579f481ed8df1e2b8ff70ee845e1e" - integrity sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg== - dependencies: - time-zone "^1.0.0" - -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -dedent@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-eql@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -del@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -deprecation@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== - -detect-indent@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - -dir-glob@^3.0.0, dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dts-bundle-generator@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/dts-bundle-generator/-/dts-bundle-generator-8.0.1.tgz#faa34f8325d65a960696df20fe7ef0b46ab2dc4e" - integrity sha512-9JVw78/OXdKfq+RUrmpLm6WAUJp+aOUGEHimVqIlOEH2VugRt1I8CVIoQZlirWZko+/SVZkNgpWCyZubUuzzPA== - dependencies: - typescript ">=5.0.2" - yargs "^17.6.0" - -duplexer2@~0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== - dependencies: - readable-stream "^2.0.2" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.4.431: - version "1.4.447" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz#ac69d3a7b3713e9ae94bb30ba65c3114e4d76a38" - integrity sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -env-ci@^9.0.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-9.1.1.tgz#f081684c64a639c6ff5cb801bd70464bd40498a4" - integrity sha512-Im2yEWeF4b2RAMAaWvGioXk6m0UNaIjD8hj28j2ij5ldnIFrDQT0+pzDvpbRkcjurhXhf/AsBKv8P2rtmGi9Aw== - dependencies: - execa "^7.0.0" - java-properties "^1.0.2" - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -error-ex@^1.3.1, error-ex@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -esbuild@^0.17.5: - version "0.17.19" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== - optionalDependencies: - "@esbuild/android-arm" "0.17.19" - "@esbuild/android-arm64" "0.17.19" - "@esbuild/android-x64" "0.17.19" - "@esbuild/darwin-arm64" "0.17.19" - "@esbuild/darwin-x64" "0.17.19" - "@esbuild/freebsd-arm64" "0.17.19" - "@esbuild/freebsd-x64" "0.17.19" - "@esbuild/linux-arm" "0.17.19" - "@esbuild/linux-arm64" "0.17.19" - "@esbuild/linux-ia32" "0.17.19" - "@esbuild/linux-loong64" "0.17.19" - "@esbuild/linux-mips64el" "0.17.19" - "@esbuild/linux-ppc64" "0.17.19" - "@esbuild/linux-riscv64" "0.17.19" - "@esbuild/linux-s390x" "0.17.19" - "@esbuild/linux-x64" "0.17.19" - "@esbuild/netbsd-x64" "0.17.19" - "@esbuild/openbsd-x64" "0.17.19" - "@esbuild/sunos-x64" "0.17.19" - "@esbuild/win32-arm64" "0.17.19" - "@esbuild/win32-ia32" "0.17.19" - "@esbuild/win32-x64" "0.17.19" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^8.5.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" - integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== - -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" - integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" - integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== - -eslint@^8.29.0: - version "8.44.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.44.0.tgz#51246e3889b259bbcd1d7d736a0c10add4f0e500" - integrity sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.1.0" - "@eslint/js" "8.44.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.0" - eslint-visitor-keys "^3.4.1" - espree "^9.6.0" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f" - integrity sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2, esutils@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" - integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== - dependencies: - homedir-polyfill "^1.0.1" - -exponential-backoff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" - integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2, fast-diff@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.3.0" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" - integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastest-levenshtein@^1.0.16: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -figures@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-5.0.0.tgz#126cd055052dea699f8a54e8c9450e6ecfc44d5f" - integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== - dependencies: - escape-string-regexp "^5.0.0" - is-unicode-supported "^1.2.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-node-modules@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.3.tgz#3c976cff2ca29ee94b4f9eafc613987fc4c0ee44" - integrity sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg== - dependencies: - findup-sync "^4.0.0" - merge "^2.1.1" - -find-root@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -find-versions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" - integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== - dependencies: - semver-regex "^4.0.5" - -findup-sync@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" - integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^4.0.2" - resolve-dir "^1.0.1" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -foreground-child@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" - integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^3.0.2" - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -from2@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.0.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-minipass@^3.0.0, fs-minipass@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.2.tgz#5b383858efa8c1eb8c33b39e994f7e8555b8b3a3" - integrity sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g== - dependencies: - minipass "^5.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -gauge@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.1.tgz#1efc801b8ff076b86ef3e9a7a280a975df572112" - integrity sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^4.0.1" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-stream@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-7.0.0.tgz#f5695721f481f5581beb9d11cb90c41ddfceea18" - integrity sha512-ql6FW5b8tgMYvI4UaoxG3EQN3VyZ6VeQpxNBGg5BZ4xD4u+HJeprzhMMA4OCBEGQgSR+m87pstWMpiVW64W8Fw== - -git-log-parser@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/git-log-parser/-/git-log-parser-1.2.0.tgz#2e6a4c1b13fc00028207ba795a7ac31667b9fd4a" - integrity sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA== - dependencies: - argv-formatter "~1.0.0" - spawn-error-forwarder "~1.0.0" - split2 "~1.0.0" - stream-combiner2 "~1.1.1" - through2 "~2.0.0" - traverse "~0.6.6" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@7.2.3, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^10.2.2, glob@^10.2.7: - version "10.3.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.1.tgz#9789cb1b994515bedb811a6deca735b5c37d2bf4" - integrity sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.0.3" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2" - path-scurry "^1.10.0" - -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== - dependencies: - ini "^1.3.4" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.4: - version "13.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.0.tgz#7dd5678d765c4680c2e6d106230d86cb727cb1af" - integrity sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.2.11" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^4.0.0" - -globjoin@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" - integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg== - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -handlebars@^4.7.7: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hi-base32@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" - integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hook-std@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hook-std/-/hook-std-3.0.0.tgz#47038a01981e07ce9d83a6a3b2eb98cad0f7bd58" - integrity sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^6.0.0, hosted-git-info@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" - integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== - dependencies: - lru-cache "^7.5.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-tags@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" - integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz#75cb70d04811685667183b31ab158d006750418a" - integrity sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore-walk@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.3.tgz#0fcdb6decaccda35e308a7b0948645dd9523b7bb" - integrity sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA== - dependencies: - minimatch "^9.0.0" - -ignore@^5.2.0, ignore@^5.2.1: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" - integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== - -import-lazy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indent-string@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" - integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -ini@^4.1.0, ini@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" - integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== - -init-package-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-5.0.0.tgz#030cf0ea9c84cfc1b0dc2e898b45d171393e4b40" - integrity sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw== - dependencies: - npm-package-arg "^10.0.0" - promzard "^1.0.0" - read "^2.0.0" - read-package-json "^6.0.0" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^5.0.0" - -inquirer@8.2.5: - version "8.2.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" - integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^7.0.0" - -into-stream@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-7.0.0.tgz#d1a211e146be8acfdb84dabcbf00fe8205e72936" - integrity sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw== - dependencies: - from2 "^2.3.0" - p-is-promise "^3.0.0" - -ip-regex@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-cidr@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" - integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== - dependencies: - cidr-regex "^3.1.1" - -is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.12.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== - dependencies: - text-extensions "^1.0.0" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-unicode-supported@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - -is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - -is-windows@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -issue-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-6.0.0.tgz#b1edd06315d4f2044a9755daf85fdafde9b4014a" - integrity sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA== - dependencies: - lodash.capitalize "^4.2.1" - lodash.escaperegexp "^4.1.2" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.uniqby "^4.7.0" - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-reports@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^2.0.3: - version "2.2.1" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.2.1.tgz#655e8cf025d872c9c03d3eb63e8f0c024fef16a6" - integrity sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -java-properties@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" - integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== - -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha512@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.8.0.tgz#dd22db8d02756faccf19f218e3ed61ec8249f7d4" - integrity sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ== - -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-parse-even-better-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7" - integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-nice@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" - integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0, jsonparse@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -just-diff-apply@^5.2.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" - integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== - -just-diff@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" - integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== - -kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -known-css-properties@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.26.0.tgz#008295115abddc045a9f4ed7e2a84dc8b3a77649" - integrity sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libnpmaccess@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.2.tgz#7f056c8c933dd9c8ba771fa6493556b53c5aac52" - integrity sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw== - dependencies: - npm-package-arg "^10.1.0" - npm-registry-fetch "^14.0.3" - -libnpmdiff@^5.0.18: - version "5.0.18" - resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-5.0.18.tgz#58dae566f30f4ebcd1de8834530a3da739555623" - integrity sha512-KJeZxdI+tvsJMjFvyDOqg4lkcewRU8njf7N97uJXhW6IWr0w2nvICnHq5jt7gcmo2I9p9Tq6cu+6q+/2DrK9qg== - dependencies: - "@npmcli/arborist" "^6.2.10" - "@npmcli/disparity-colors" "^3.0.0" - "@npmcli/installed-package-contents" "^2.0.2" - binary-extensions "^2.2.0" - diff "^5.1.0" - minimatch "^9.0.0" - npm-package-arg "^10.1.0" - pacote "^15.0.8" - tar "^6.1.13" - -libnpmexec@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-6.0.1.tgz#187aac7f49b5ad4be1c0c446716f74a9adaeae02" - integrity sha512-4CLWMjGSthYC/UED6Z2rNN6oR/5kHqddmfArP4L6mdGefLU3aA7SnjLIGsFmc92Bkj4ktnqj3OwD5mYI81nOkw== - dependencies: - "@npmcli/arborist" "^6.2.10" - "@npmcli/run-script" "^6.0.0" - ci-info "^3.7.1" - npm-package-arg "^10.1.0" - npmlog "^7.0.1" - pacote "^15.0.8" - proc-log "^3.0.0" - read "^2.0.0" - read-package-json-fast "^3.0.2" - semver "^7.3.7" - walk-up-path "^3.0.1" - -libnpmfund@^4.0.18: - version "4.0.18" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-4.0.18.tgz#30593edfaa4becc51a1df2b7a715a295aa1da327" - integrity sha512-pJaWkHal9/qncuVQWoqzFvZ7vSBz9YvoBO+q/R+Sq4WYZMsB1qrVCzbYCYhLqfVlSUNV/6DH0BF3AUckHHOhIQ== - dependencies: - "@npmcli/arborist" "^6.2.10" - -libnpmhook@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-9.0.3.tgz#5dbd6a146feb7e11993d36a26f750ae2347bb1d9" - integrity sha512-wMZe58sI7KLhg0+nUWZW5KdMfjNNcOIIbkoP19BDHYoUF9El7eeUWkGNxUGzpHkPKiGoQ1z/v6CYin4deebeuw== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^14.0.3" - -libnpmorg@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-5.0.4.tgz#94eec2b84fbef736457eb27894c972ae6f5cac82" - integrity sha512-YqYXLMAN0Y1eJH4w3hUFN9648xfSdvJANMsdeZTOWJOW4Pqp8qapJFzQdqCfUkg+tEuQmnaFQQKXvkMZC51+Mw== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^14.0.3" - -libnpmpack@^5.0.18: - version "5.0.18" - resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-5.0.18.tgz#bdabd7798a98a0241a5078df2902cd17049789c0" - integrity sha512-Xvb8FkULAY9VXqMCh+S9bl7bb6l/j+xDXRsfyP0nSezW8QklFA4VWLgZgm9PdGupZWC759CYaIPaaXTkIUPYag== - dependencies: - "@npmcli/arborist" "^6.2.10" - "@npmcli/run-script" "^6.0.0" - npm-package-arg "^10.1.0" - pacote "^15.0.8" - -libnpmpublish@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.4.0.tgz#c396e0a56adc1511105cd4d4dec8798b3a5c2680" - integrity sha512-DoMMLif02eWBRDhKMov2TKFEexYaUD24L4QPfbteND2CdgrxCTRM4o8sj0XKcylcwcRxcp8i/IKeWTq0lPP53g== - dependencies: - ci-info "^3.6.1" - normalize-package-data "^5.0.0" - npm-package-arg "^10.1.0" - npm-registry-fetch "^14.0.3" - proc-log "^3.0.0" - semver "^7.3.7" - sigstore "^1.4.0" - ssri "^10.0.1" - -libnpmsearch@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-6.0.2.tgz#b6a531a312855dd3bf84dd273b1033dd09b4cbec" - integrity sha512-p+5BF19AvnVg8mcIQhy6yWhI6jHQRVMYaIaKeITEfYAffWsqbottA/WZdMtHL76hViC6SFM1WdclM1w5eAIa1g== - dependencies: - npm-registry-fetch "^14.0.3" - -libnpmteam@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-5.0.3.tgz#196657e9d87c0cc914c44fee588ad2b838074a3c" - integrity sha512-7XOGhi45s+ml6TyrhJUTyrErcoDMKGKfEtiTEco4ofU7BGGAUOalVztKMVLLJgJOOXdIAIlzCHqkTXEuSiyCiA== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^14.0.3" - -libnpmversion@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-4.0.2.tgz#cad9cd1b287fcf9576a64edfe71491b49a65d06f" - integrity sha512-n1X70mFHv8Piy4yos+MFWUARSkTbyV5cdsHScaIkuwYvRAF/s2VtYScDzWB4Oe8uNEuGNdjiRR1E/Dh1tMvv6g== - dependencies: - "@npmcli/git" "^4.0.1" - "@npmcli/run-script" "^6.0.0" - json-parse-even-better-errors "^3.0.0" - proc-log "^3.0.0" - semver "^7.3.7" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" - integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -local-pkg@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" - integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.capitalize@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" - integrity sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw== - -lodash.escaperegexp@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" - integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.map@^4.5.1: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== - -lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -longest@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" - integrity sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== - -loupe@^2.3.1, loupe@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== - dependencies: - get-func-name "^2.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.0.tgz#b9e2a6a72a129d81ab317202d93c7691df727e61" - integrity sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw== - -magic-string@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529" - integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.0.3, make-fetch-happen@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" - integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^17.0.0" - http-cache-semantics "^4.1.1" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^10.0.0" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -marked-terminal@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-5.2.0.tgz#c5370ec2bae24fb2b34e147b731c94fa933559d3" - integrity sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA== - dependencies: - ansi-escapes "^6.2.0" - cardinal "^2.1.1" - chalk "^5.2.0" - cli-table3 "^0.6.3" - node-emoji "^1.11.0" - supports-hyperlinks "^2.3.0" - -marked@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" - integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== - -mathml-tag-names@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" - integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== - -md5-hex@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-3.0.1.tgz#be3741b510591434b2784d79e556eefc2c9a8e5c" - integrity sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw== - dependencies: - blueimp-md5 "^2.10.0" - -meow@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merge@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" - integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.0, minimatch@^9.0.1: - version "9.0.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.2.tgz#397e387fff22f6795844d00badc903a3d5de7057" - integrity sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg== - dependencies: - brace-expansion "^2.0.1" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.3.tgz#d9df70085609864331b533c960fd4ffaa78d15ce" - integrity sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ== - dependencies: - minipass "^5.0.0" - minipass-sized "^1.0.3" - minizlib "^2.1.2" - optionalDependencies: - encoding "^0.1.13" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== - dependencies: - jsonparse "^1.3.1" - minipass "^3.0.0" - -minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -"minipass@^5.0.0 || ^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-6.0.2.tgz#542844b6c4ce95b202c0995b0a471f1229de4c81" - integrity sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w== - -minizlib@^2.1.1, minizlib@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mlly@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.0.tgz#830c10d63f1f97bd8785377b24dc2a15d972832b" - integrity sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg== - dependencies: - acorn "^8.9.0" - pathe "^1.1.1" - pkg-types "^1.0.3" - ufo "^1.1.2" - -modify-values@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.0.0, ms@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mute-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" - integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nerf-dart@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" - integrity sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g== - -node-emoji@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@^2.6.11, node-fetch@^2.6.7: - version "2.6.12" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== - dependencies: - whatwg-url "^5.0.0" - -node-gyp@^9.0.0, node-gyp@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369" - integrity sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg== - dependencies: - env-paths "^2.2.0" - exponential-backoff "^3.1.1" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^11.0.3" - nopt "^6.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-releases@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" - integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== - -nopt@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" - integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== - dependencies: - abbrev "^1.0.0" - -nopt@^7.0.0, nopt@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" - integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA== - dependencies: - abbrev "^2.0.0" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" - integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== - dependencies: - hosted-git-info "^6.0.0" - is-core-module "^2.8.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== - -npm-audit-report@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-5.0.0.tgz#83ac14aeff249484bde81eff53c3771d5048cf95" - integrity sha512-EkXrzat7zERmUhHaoren1YhTxFwsOu5jypE84k6632SXTHcQE1z8V51GC6GVZt8LxkC+tbBcKMUBZAgk8SUSbw== - -npm-bundled@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" - integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== - dependencies: - npm-normalize-package-bin "^3.0.0" - -npm-install-checks@^6.0.0, npm-install-checks@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.1.1.tgz#b459b621634d06546664207fde16810815808db1" - integrity sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw== - dependencies: - semver "^7.1.1" - -npm-normalize-package-bin@^3.0.0, npm-normalize-package-bin@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" - integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== - -npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" - integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== - dependencies: - hosted-git-info "^6.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-packlist@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" - integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== - dependencies: - ignore-walk "^6.0.0" - -npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz#c6acd97d1ad4c5dbb80eac7b386b03ffeb289e5f" - integrity sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA== - dependencies: - npm-install-checks "^6.0.0" - npm-normalize-package-bin "^3.0.0" - npm-package-arg "^10.0.0" - semver "^7.3.5" - -npm-profile@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-7.0.1.tgz#a37dae08b22e662ece2c6e08946f9fcd9fdef663" - integrity sha512-VReArOY/fCx5dWL66cbJ2OMogTQAVVQA//8jjmjkarboki3V7UJ0XbGFW+khRwiAJFQjuH0Bqr/yF7Y5RZdkMQ== - dependencies: - npm-registry-fetch "^14.0.0" - proc-log "^3.0.0" - -npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0.5: - version "14.0.5" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d" - integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== - dependencies: - make-fetch-happen "^11.0.0" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^10.0.0" - proc-log "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -npm-user-validate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-2.0.0.tgz#7b69bbbff6f7992a1d9a8968d52fd6b6db5431b6" - integrity sha512-sSWeqAYJ2dUPStJB+AEj0DyLRltr/f6YNcvCA7phkB8/RMLMnVsQ41GMwHo/ERZLYNDsyB2wPm7pZo1mqPOl7Q== - -npm@^9.5.0: - version "9.7.2" - resolved "https://registry.yarnpkg.com/npm/-/npm-9.7.2.tgz#95fdbba1b3b8e918f253cac1a45b38655f324ed5" - integrity sha512-LLoOudiSURxzRxfGj+vsD+hKKv2EfxyshDOznxruIkZMouvbaF5sFm4yAwHqxS8aVaOdRl03pRmGpcrFMqMt3g== - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^6.2.10" - "@npmcli/config" "^6.2.1" - "@npmcli/map-workspaces" "^3.0.4" - "@npmcli/package-json" "^3.1.1" - "@npmcli/run-script" "^6.0.2" - abbrev "^2.0.0" - archy "~1.0.0" - cacache "^17.1.3" - chalk "^5.2.0" - ci-info "^3.8.0" - cli-columns "^4.0.0" - cli-table3 "^0.6.3" - columnify "^1.6.0" - fastest-levenshtein "^1.0.16" - fs-minipass "^3.0.2" - glob "^10.2.7" - graceful-fs "^4.2.11" - hosted-git-info "^6.1.1" - ini "^4.1.1" - init-package-json "^5.0.0" - is-cidr "^4.0.2" - json-parse-even-better-errors "^3.0.0" - libnpmaccess "^7.0.2" - libnpmdiff "^5.0.18" - libnpmexec "^6.0.1" - libnpmfund "^4.0.18" - libnpmhook "^9.0.3" - libnpmorg "^5.0.4" - libnpmpack "^5.0.18" - libnpmpublish "^7.4.0" - libnpmsearch "^6.0.2" - libnpmteam "^5.0.3" - libnpmversion "^4.0.2" - make-fetch-happen "^11.1.1" - minimatch "^9.0.0" - minipass "^5.0.0" - minipass-pipeline "^1.2.4" - ms "^2.1.2" - node-gyp "^9.4.0" - nopt "^7.2.0" - npm-audit-report "^5.0.0" - npm-install-checks "^6.1.1" - npm-package-arg "^10.1.0" - npm-pick-manifest "^8.0.1" - npm-profile "^7.0.1" - npm-registry-fetch "^14.0.5" - npm-user-validate "^2.0.0" - npmlog "^7.0.1" - p-map "^4.0.0" - pacote "^15.2.0" - parse-conflict-json "^3.0.1" - proc-log "^3.0.0" - qrcode-terminal "^0.12.0" - read "^2.1.0" - semver "^7.5.2" - sigstore "^1.6.0" - ssri "^10.0.4" - supports-color "^9.3.1" - tar "^6.1.15" - text-table "~0.2.0" - tiny-relative-date "^1.3.0" - treeverse "^3.0.0" - validate-npm-package-name "^5.0.0" - which "^3.0.1" - write-file-atomic "^5.0.1" - -npmlog@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - -npmlog@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" - integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== - dependencies: - are-we-there-yet "^4.0.0" - console-control-strings "^1.1.0" - gauge "^5.0.0" - set-blocking "^2.0.0" - -once@^1.3.0, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-each-series@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-3.0.0.tgz#d1aed5e96ef29864c897367a7d2a628fdc960806" - integrity sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw== - -p-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-3.0.0.tgz#ce50e03b24b23930e11679ab8694bd09a2d7ed35" - integrity sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== - dependencies: - p-map "^5.1.0" - -p-is-promise@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" - integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-map@^5.1.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.5.0.tgz#054ca8ca778dfa4cf3f8db6638ccb5b937266715" - integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== - dependencies: - aggregate-error "^4.0.0" - -p-reduce@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" - integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== - -p-reduce@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-3.0.0.tgz#f11773794792974bd1f7a14c72934248abff4160" - integrity sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pacote@^15.0.0, pacote@^15.0.8, pacote@^15.2.0: - version "15.2.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" - integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== - dependencies: - "@npmcli/git" "^4.0.0" - "@npmcli/installed-package-contents" "^2.0.1" - "@npmcli/promise-spawn" "^6.0.1" - "@npmcli/run-script" "^6.0.0" - cacache "^17.0.0" - fs-minipass "^3.0.0" - minipass "^5.0.0" - npm-package-arg "^10.0.0" - npm-packlist "^7.0.0" - npm-pick-manifest "^8.0.0" - npm-registry-fetch "^14.0.0" - proc-log "^3.0.0" - promise-retry "^2.0.1" - read-package-json "^6.0.0" - read-package-json-fast "^3.0.0" - sigstore "^1.3.0" - ssri "^10.0.0" - tar "^6.1.11" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-conflict-json@^3.0.0, parse-conflict-json@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" - integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== - dependencies: - json-parse-even-better-errors "^3.0.0" - just-diff "^6.0.0" - just-diff-apply "^5.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-json@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-7.0.0.tgz#51c0713f233b804eb5adee3ef1e75d3243e0ff06" - integrity sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw== - dependencies: - "@babel/code-frame" "^7.21.4" - error-ex "^1.3.2" - json-parse-even-better-errors "^3.0.0" - lines-and-columns "^2.0.3" - type-fest "^3.8.0" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.0.tgz#0ffbd4c1f7de9600f98a1405507d9f9acb438ab3" - integrity sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathe@^1.1.0, pathe@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" - integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pkg-conf@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" - integrity sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g== - dependencies: - find-up "^2.0.0" - load-json-file "^4.0.0" - -pkg-types@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" - integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== - dependencies: - jsonc-parser "^3.2.0" - mlly "^1.2.0" - pathe "^1.1.0" - -postcss-media-query-parser@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" - integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig== - -postcss-resolve-nested-selector@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" - integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw== - -postcss-safe-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" - integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== - -postcss-scss@^4.0.2: - version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd" - integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ== - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-sorting@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-7.0.1.tgz#923b5268451cf2d93ebf8835e17a6537757049a5" - integrity sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g== - -postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.3.11, postcss@^8.4.19, postcss@^8.4.23: - version "8.4.24" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" - integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.8.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -promise-all-reject-late@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" - integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== - -promise-call-limit@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" - integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -promzard@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b" - integrity sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig== - dependencies: - read "^2.0.0" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qrcode-terminal@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" - integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -rc@1.2.8, rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -read-cmd-shim@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" - integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== - -read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" - integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== - dependencies: - json-parse-even-better-errors "^3.0.0" - npm-normalize-package-bin "^3.0.0" - -read-package-json@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" - integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== - dependencies: - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^5.0.0" - npm-normalize-package-bin "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg-up@^9.0.0, read-pkg-up@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.1.0.tgz#38ca48e0bc6c6b260464b14aad9bcd4e5b1fbdc3" - integrity sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== - dependencies: - find-up "^6.3.0" - read-pkg "^7.1.0" - type-fest "^2.5.0" - -read-pkg@^5.0.0, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read-pkg@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.1.0.tgz#438b4caed1ad656ba359b3e00fd094f3c427a43e" - integrity sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== - dependencies: - "@types/normalize-package-data" "^2.4.1" - normalize-package-data "^3.0.2" - parse-json "^5.2.0" - type-fest "^2.0.0" - -read-pkg@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-8.0.0.tgz#78b93774c15a3f151b56d5790d5127a5cb9fc507" - integrity sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw== - dependencies: - "@types/normalize-package-data" "^2.4.1" - normalize-package-data "^5.0.0" - parse-json "^7.0.0" - type-fest "^3.8.0" - -read@^2.0.0, read@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read/-/read-2.1.0.tgz#69409372c54fe3381092bc363a00650b6ac37218" - integrity sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ== - dependencies: - mute-stream "~1.0.0" - -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.1.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.1.tgz#fa0f0878c3bc0c12b6a82e4e58c5dc160e1faaa2" - integrity sha512-llAHX9QC25bz5RPIoTeJxPaA/hgryaldValRhVZ2fK9bzbmFiscpz8fw6iBTvJfAk1w4FC1KXQme/nO7fbKyKg== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redeyed@~2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" - integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== - dependencies: - esprima "~4.0.0" - -registry-auth-token@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" - integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== - dependencies: - rc "1.2.8" - -registry-auth-token@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== - dependencies: - "@pnpm/npm-conf" "^2.1.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-global@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" - -resolve@^1.10.0: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.21.0: - version "3.26.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.26.0.tgz#9f2e0316a4ca641911cefd8515c562a9124e6130" - integrity sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg== - optionalDependencies: - fsevents "~2.3.2" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.5.5: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -semantic-release@21.0.3: - version "21.0.3" - resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-21.0.3.tgz#e1c584dd045024a1372a5bf51b60d23fe5e26893" - integrity sha512-DS/0P1DrL8cKpkhN7JCzhkbOge9sURSRqUlmEAjeXTzK0lOSWhp+oJJcji0bLFEIyu3DuYEeQrWCdJNwRHrFdw== - dependencies: - "@semantic-release/commit-analyzer" "^10.0.0" - "@semantic-release/error" "^3.0.0" - "@semantic-release/github" "^9.0.0" - "@semantic-release/npm" "^10.0.2" - "@semantic-release/release-notes-generator" "^11.0.0" - aggregate-error "^4.0.1" - cosmiconfig "^8.0.0" - debug "^4.0.0" - env-ci "^9.0.0" - execa "^7.0.0" - figures "^5.0.0" - find-versions "^5.1.0" - get-stream "^6.0.0" - git-log-parser "^1.2.0" - hook-std "^3.0.0" - hosted-git-info "^6.0.0" - lodash-es "^4.17.21" - marked "^4.1.0" - marked-terminal "^5.1.1" - micromatch "^4.0.2" - p-each-series "^3.0.0" - p-reduce "^3.0.0" - read-pkg-up "^9.1.0" - resolve-from "^5.0.0" - semver "^7.3.2" - semver-diff "^4.0.0" - signale "^1.2.1" - yargs "^17.5.1" - -semver-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" - integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== - dependencies: - semver "^7.3.5" - -semver-regex@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" - integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== - -"semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.2: - version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" - integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== - -signale@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" - integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== - dependencies: - chalk "^2.3.2" - figures "^2.0.0" - pkg-conf "^2.1.0" - -sigstore@^1.3.0, sigstore@^1.4.0, sigstore@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.7.0.tgz#9186e6c8ce1ab0cba5d97b414212d40f0a01564e" - integrity sha512-KP7QULhWdlu3hlp+jw2EvgWKlOGOY9McLj/jrchLjHNlNPK0KWIwF919cbmOp6QiKXLmPijR2qH/5KYWlbtG9Q== - dependencies: - "@sigstore/protobuf-specs" "^0.1.0" - "@sigstore/tuf" "^1.0.1" - make-fetch-happen "^11.0.1" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -socks-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" - integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks@^2.6.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== - dependencies: - ip "^2.0.0" - smart-buffer "^4.2.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spawn-error-forwarder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz#1afd94738e999b0346d7b9fc373be55e07577029" - integrity sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== - -split2@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -split2@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-1.0.0.tgz#52e2e221d88c75f9a73f90556e263ff96772b314" - integrity sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg== - dependencies: - through2 "~2.0.0" - -split@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -ssri@^10.0.0, ssri@^10.0.1, ssri@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.4.tgz#5a20af378be586df139ddb2dfb3bf992cf0daba6" - integrity sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ== - dependencies: - minipass "^5.0.0" - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.3.3.tgz#a54f06eb245fdcfef53d56f3c0251f1d5c3d01fe" - integrity sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg== - -stream-combiner2@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -strip-literal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.0.1.tgz#0115a332710c849b4e46497891fb8d585e404bd2" - integrity sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q== - dependencies: - acorn "^8.8.2" - -style-search@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" - integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg== - -stylelint-config-recommended@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40" - integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ== - -stylelint-config-sass-guidelines@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-9.0.1.tgz#3114ce780f2085ba9ea5da2b7d97a1e85e968fa7" - integrity sha512-N06PsVsrgKijQ3YT5hqKA7x3NUkgELTRI1cbWMqcYiCGG6MjzvNk6Cb5YYA1PrvrksBV76BvY9P9bAswojVMqA== - dependencies: - postcss-scss "^4.0.2" - stylelint-order "^5.0.0" - stylelint-scss "^4.0.0" - -stylelint-order@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-5.0.0.tgz#abd20f6b85ac640774cbe40e70d3fe9c6fdf4400" - integrity sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw== - dependencies: - postcss "^8.3.11" - postcss-sorting "^7.0.1" - -stylelint-scss@^4.0.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.7.0.tgz#f986bf8c5a4b93eae2b67d3a3562eef822657908" - integrity sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg== - dependencies: - postcss-media-query-parser "^0.2.3" - postcss-resolve-nested-selector "^0.1.1" - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -stylelint@^14.16.0: - version "14.16.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.16.1.tgz#b911063530619a1bbe44c2b875fd8181ebdc742d" - integrity sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - balanced-match "^2.0.0" - colord "^2.9.3" - cosmiconfig "^7.1.0" - css-functions-list "^3.1.0" - debug "^4.3.4" - fast-glob "^3.2.12" - fastest-levenshtein "^1.0.16" - file-entry-cache "^6.0.1" - global-modules "^2.0.0" - globby "^11.1.0" - globjoin "^0.1.4" - html-tags "^3.2.0" - ignore "^5.2.1" - import-lazy "^4.0.0" - imurmurhash "^0.1.4" - is-plain-object "^5.0.0" - known-css-properties "^0.26.0" - mathml-tag-names "^2.1.3" - meow "^9.0.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.19" - postcss-media-query-parser "^0.2.3" - postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^6.0.0" - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - resolve-from "^5.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - style-search "^0.1.0" - supports-hyperlinks "^2.3.0" - svg-tags "^1.0.0" - table "^6.8.1" - v8-compile-cache "^2.3.0" - write-file-atomic "^4.0.2" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^9.3.1: - version "9.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" - integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== - -supports-hyperlinks@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== - -table@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tar@^6.1.11, tar@^6.1.13, tar@^6.1.15, tar@^6.1.2: - version "6.1.15" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" - integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" - integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== - dependencies: - del "^6.0.0" - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -tempy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-3.0.0.tgz#a6c0a15f5534a820e92c3e1369f1c1e87ebd6b68" - integrity sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA== - dependencies: - is-stream "^3.0.0" - temp-dir "^2.0.0" - type-fest "^2.12.2" - unique-string "^3.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - -text-table@^0.2.0, text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -through2@~2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@2, "through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -time-zone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" - integrity sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA== - -tiny-relative-date@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" - integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== - -tinybench@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.0.tgz#4711c99bbf6f3e986f67eb722fed9cddb3a68ba5" - integrity sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA== - -tinypool@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.5.0.tgz#3861c3069bf71e4f1f5aa2d2e6b3aaacc278961e" - integrity sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ== - -tinyspy@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.1.1.tgz#9e6371b00c259e5c5b301917ca18c01d40ae558c" - integrity sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -traverse@~0.6.6: - version "0.6.7" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" - integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== - -treeverse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" - integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -ts-node@^10.8.1, ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0, tslib@^2.4.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" - integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tuf-js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43" - integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== - dependencies: - "@tufjs/models" "1.0.4" - debug "^4.3.4" - make-fetch-happen "^11.1.1" - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-fest@^1.0.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-fest@^2.0.0, type-fest@^2.12.2, type-fest@^2.5.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -type-fest@^3.0.0, type-fest@^3.8.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.12.0.tgz#4ce26edc1ccc59fc171e495887ef391fe1f5280e" - integrity sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA== - -typescript@>=5.0.2, "typescript@^4.6.4 || ^5.0.0": - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== - -typescript@^4.7.4, typescript@^4.9.4: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -ufo@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.1.2.tgz#d0d9e0fa09dece0c31ffd57bd363f030a35cfe76" - integrity sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ== - -uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== - -unique-filename@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" - integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== - dependencies: - unique-slug "^4.0.0" - -unique-slug@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" - integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -unique-string@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" - integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== - dependencies: - crypto-random-string "^4.0.0" - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-join@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-5.0.0.tgz#c2f1e5cbd95fa91082a93b58a1f42fecb4bdbcf1" - integrity sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-compile-cache@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -vite-node@0.31.4: - version "0.31.4" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.31.4.tgz#0437f76c35fa83f0a868d3fb5896ca9e164291f5" - integrity sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ== - dependencies: - cac "^6.7.14" - debug "^4.3.4" - mlly "^1.2.0" - pathe "^1.1.0" - picocolors "^1.0.0" - vite "^3.0.0 || ^4.0.0" - -"vite@^3.0.0 || ^4.0.0", vite@^4.0.0: - version "4.3.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d" - integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg== - dependencies: - esbuild "^0.17.5" - postcss "^8.4.23" - rollup "^3.21.0" - optionalDependencies: - fsevents "~2.3.2" - -vitest@^0.31.0: - version "0.31.4" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.31.4.tgz#5abe02562675262949c10e40811f348a80f6b2a6" - integrity sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ== - dependencies: - "@types/chai" "^4.3.5" - "@types/chai-subset" "^1.3.3" - "@types/node" "*" - "@vitest/expect" "0.31.4" - "@vitest/runner" "0.31.4" - "@vitest/snapshot" "0.31.4" - "@vitest/spy" "0.31.4" - "@vitest/utils" "0.31.4" - acorn "^8.8.2" - acorn-walk "^8.2.0" - cac "^6.7.14" - chai "^4.3.7" - concordance "^5.0.4" - debug "^4.3.4" - local-pkg "^0.4.3" - magic-string "^0.30.0" - pathe "^1.1.0" - picocolors "^1.0.0" - std-env "^3.3.2" - strip-literal "^1.0.1" - tinybench "^2.5.0" - tinypool "^0.5.0" - vite "^3.0.0 || ^4.0.0" - vite-node "0.31.4" - why-is-node-running "^2.2.2" - -vlq@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-2.0.4.tgz#6057b85729245b9829e3cc7755f95b228d4fe041" - integrity sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA== - -walk-up-path@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" - integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -well-known-symbols@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz#e9c7c07dbd132b7b84212c8174391ec1f9871ba5" - integrity sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@^1.2.14, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@^3.0.0, which@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/which/-/which-3.0.1.tgz#89f1cd0c23f629a8105ffe69b8172791c87b4be1" - integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" - integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -word-wrap@^1.0.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -write-file-atomic@^5.0.0, write-file-atomic@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" - integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^4.0.1" - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.5.1, yargs@^17.6.0: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==