From 5573eb28f51f63090b7e6181f53563e6b1b52219 Mon Sep 17 00:00:00 2001 From: Nutthapat Pongtanyavichai <59821765+Leomotors@users.noreply.github.com> Date: Sun, 10 Sep 2023 00:19:37 +0700 Subject: [PATCH] feat: bun and docker --- .github/workflows/release.yml | 52 + Dockerfile | 15 + README.md | 16 +- bun.lockb | Bin 0 -> 123842 bytes package.json | 11 +- pnpm-lock.yaml | 2393 --------------------------------- src/environment.ts | 2 - 7 files changed, 74 insertions(+), 2415 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 Dockerfile create mode 100755 bun.lockb delete mode 100644 pnpm-lock.yaml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e85f2e6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,52 @@ +name: Publish Release + +on: + push: + tags: + - "*.*" + +jobs: + tag-release: + name: Publish Release + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Publish Release + uses: Leomotors/auto-publish-release@main + with: + githubToken: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref }} + title: "Bots Gulag" + + docker-push: + name: Build Docker Image + runs-on: ubuntu-latest + + permissions: + id-token: write + packages: write + + steps: + - uses: actions/checkout@v4 + name: Check out code + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: Dockerfile + push: true + tags: ghcr.io/carelessdev/bots-gulag:${{ github.ref_name }},ghcr.io/carelessdev/bots-gulag:latest + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..78cb898 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM oven/bun as installer + +COPY package.json bun.lockb ./ + +RUN bun install --production --frozen-lockfile + +FROM oven/bun as runner + +USER bun + +COPY --chown=bun:bun src ./src +COPY --chown=bun:bun package.json ./ +COPY --chown=bun:bun --from=installer /home/bun/app/node_modules ./node_modules + +CMD ["bun", "run", "start"] diff --git a/README.md b/README.md index 0ca644f..379f8ae 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,4 @@ # Bots Gulag -## Problem - -Our server has many bots, but most of them doing nothing. - -Literally just online. - -By running many process, this is very laggy especially when [cocoa-grader](https://github.com/Leomotors/cocoa-grader) -the bots that use so many resources came in. - -## Solution - -Why not run all bots in a single process? - -~~A study~~ shows that a bare nodejs process take a lot of RAM +Run 5 Discord Bots in the same process to make server feels active and not dead. +(It actually dead :skull:) diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..b4bfe711959ac34d417db562401b75992f79f106 GIT binary patch literal 123842 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%0AaBwcSrn(&UL%5om*FO)}$f{Y!S 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 ZHYe=eJil}wXDqn$&(J?e@DupY{{eNm)VTlv literal 0 HcmV?d00001 diff --git a/package.json b/package.json index c634816..0d6425f 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,8 @@ "repository": "https://github.com/CarelessDev/bots-gulag", "type": "module", "private": true, - "packageManager": "pnpm@8.7.4", "scripts": { - "build": "tsc", - "clean": "rimraf dist/*", - "cb": "yarn clean && yarn build", - "start": "node dist/bot.js", + "start": "bun run src/bot.ts", "format": "eslint . --fix", "lint": "eslint . --max-warnings=0" }, @@ -18,7 +14,6 @@ "chalk": "5.3.0", "cocoa-discord-utils": "2.3.0", "discord.js": "14.13.0", - "dotenv": "16.3.1", "zod": "3.22.2" }, "devDependencies": { @@ -27,6 +22,10 @@ "@typescript-eslint/eslint-plugin": "6.6.0", "@typescript-eslint/parser": "6.6.0", "eslint": "8.49.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-sort-destructure-keys": "^1.5.0", "prettier": "3.0.3", "typescript": "5.2.2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 2179a9a..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,2393 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - chalk: - specifier: 5.3.0 - version: 5.3.0 - cocoa-discord-utils: - specifier: 2.3.0 - version: 2.3.0 - discord.js: - specifier: 14.13.0 - version: 14.13.0 - dotenv: - specifier: 16.3.1 - version: 16.3.1 - zod: - specifier: 3.22.2 - version: 3.22.2 - -devDependencies: - '@leomotors/config': - specifier: 0.11.0 - version: 0.11.0(@trivago/prettier-plugin-sort-imports@4.2.0)(@types/eslint@8.44.2)(@types/node@18.17.15)(@typescript-eslint/eslint-plugin@6.6.0)(@typescript-eslint/parser@6.6.0)(eslint-config-prettier@8.10.0)(eslint-plugin-import@2.28.1)(eslint-plugin-prettier@5.0.0)(eslint-plugin-sort-destructure-keys@1.5.0)(eslint@8.49.0)(prettier@3.0.3)(typescript@5.2.2) - '@trivago/prettier-plugin-sort-imports': - specifier: 4.2.0 - version: 4.2.0(prettier@3.0.3) - '@typescript-eslint/eslint-plugin': - specifier: 6.6.0 - version: 6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: 6.6.0 - version: 6.6.0(eslint@8.49.0)(typescript@5.2.2) - eslint: - specifier: 8.49.0 - version: 8.49.0 - prettier: - specifier: 3.0.3 - version: 3.0.3 - typescript: - specifier: 5.2.2 - version: 5.2.2 - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@babel/code-frame@7.22.13: - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.13 - chalk: 2.4.2 - dev: true - - /@babel/generator@7.17.7: - resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.22.17 - dev: true - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.17 - dev: true - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.17 - dev: true - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.15: - resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/highlight@7.22.13: - resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.15 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser@7.22.16: - resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.17.0 - dev: true - - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 - dev: true - - /@babel/traverse@7.17.3: - resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.17.7 - '@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.6 - '@babel/parser': 7.22.16 - '@babel/types': 7.17.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types@7.17.0: - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.15 - to-fast-properties: 2.0.0 - dev: true - - /@babel/types@7.22.17: - resolution: {integrity: sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.15 - to-fast-properties: 2.0.0 - dev: true - - /@discordjs/builders@1.6.5: - resolution: {integrity: sha512-SdweyCs/+mHj+PNhGLLle7RrRFX9ZAhzynHahMCLqp5Zeq7np7XC6/mgzHc79QoVlQ1zZtOkTTiJpOZu5V8Ufg==} - engines: {node: '>=16.11.0'} - dependencies: - '@discordjs/formatters': 0.3.2 - '@discordjs/util': 1.0.1 - '@sapphire/shapeshift': 3.9.2 - discord-api-types: 0.37.50 - fast-deep-equal: 3.1.3 - ts-mixer: 6.0.3 - tslib: 2.6.2 - dev: false - - /@discordjs/collection@1.5.3: - resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} - engines: {node: '>=16.11.0'} - dev: false - - /@discordjs/formatters@0.3.2: - resolution: {integrity: sha512-lE++JZK8LSSDRM5nLjhuvWhGuKiXqu+JZ/DsOR89DVVia3z9fdCJVcHF2W/1Zxgq0re7kCzmAJlCMMX3tetKpA==} - engines: {node: '>=16.11.0'} - dependencies: - discord-api-types: 0.37.50 - dev: false - - /@discordjs/rest@2.0.1: - resolution: {integrity: sha512-/eWAdDRvwX/rIE2tuQUmKaxmWeHmGealttIzGzlYfI4+a7y9b6ZoMp8BG/jaohs8D8iEnCNYaZiOFLVFLQb8Zg==} - engines: {node: '>=16.11.0'} - dependencies: - '@discordjs/collection': 1.5.3 - '@discordjs/util': 1.0.1 - '@sapphire/async-queue': 1.5.0 - '@sapphire/snowflake': 3.5.1 - '@vladfrangu/async_event_emitter': 2.2.2 - discord-api-types: 0.37.50 - magic-bytes.js: 1.0.15 - tslib: 2.6.2 - undici: 5.22.1 - dev: false - - /@discordjs/util@1.0.1: - resolution: {integrity: sha512-d0N2yCxB8r4bn00/hvFZwM7goDcUhtViC5un4hPj73Ba4yrChLSJD8fy7Ps5jpTLg1fE9n4K0xBLc1y9WGwSsA==} - engines: {node: '>=16.11.0'} - dev: false - - /@discordjs/ws@1.0.1: - resolution: {integrity: sha512-avvAolBqN3yrSvdBPcJ/0j2g42ABzrv3PEL76e3YTp2WYMGH7cuspkjfSyNWaqYl1J+669dlLp+YFMxSVQyS5g==} - engines: {node: '>=16.11.0'} - dependencies: - '@discordjs/collection': 1.5.3 - '@discordjs/rest': 2.0.1 - '@discordjs/util': 1.0.1 - '@sapphire/async-queue': 1.5.0 - '@types/ws': 8.5.5 - '@vladfrangu/async_event_emitter': 2.2.2 - discord-api-types: 0.37.50 - tslib: 2.6.2 - ws: 8.14.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.49.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.8.0: - resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.21.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.49.0: - resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true - - /@leomotors/config@0.11.0(@trivago/prettier-plugin-sort-imports@4.2.0)(@types/eslint@8.44.2)(@types/node@18.17.15)(@typescript-eslint/eslint-plugin@6.6.0)(@typescript-eslint/parser@6.6.0)(eslint-config-prettier@8.10.0)(eslint-plugin-import@2.28.1)(eslint-plugin-prettier@5.0.0)(eslint-plugin-sort-destructure-keys@1.5.0)(eslint@8.49.0)(prettier@3.0.3)(typescript@5.2.2): - resolution: {integrity: sha512-4vm4c+cgxoZUrZjo2yi4Ocw12xgFW9tab2JlLaLt3Wf6gvxlnJor3sRCbRk6xm1f7N5fbbgL6m8PjUdh67Snmw==} - peerDependencies: - '@trivago/prettier-plugin-sort-imports': ^4.1.1 - '@types/eslint': ^8.44.0 - '@types/node': ^18.16.19 - '@typescript-eslint/eslint-plugin': ^6.0.0 - '@typescript-eslint/parser': ^6.0.0 - eslint: ^8.45.0 - eslint-config-next: ^13.4.10 - eslint-config-prettier: ^8.8.0 - eslint-plugin-import: ^2.27.5 - eslint-plugin-jsx-a11y: ^6.7.1 - eslint-plugin-prettier: ^5.0.0 - eslint-plugin-react: ^7.32.2 - eslint-plugin-react-hooks: ^4.6.0 - eslint-plugin-sort-destructure-keys: ^1.5.0 - prettier: ^3.0.0 - prettier-plugin-tailwindcss: ^0.4.1 - typescript: ^5.1.6 - peerDependenciesMeta: - '@trivago/prettier-plugin-sort-imports': - optional: true - eslint-config-next: - optional: true - eslint-plugin-jsx-a11y: - optional: true - eslint-plugin-react: - optional: true - eslint-plugin-react-hooks: - optional: true - prettier-plugin-tailwindcss: - optional: true - dependencies: - '@trivago/prettier-plugin-sort-imports': 4.2.0(prettier@3.0.3) - '@types/eslint': 8.44.2 - '@types/node': 18.17.15 - '@typescript-eslint/eslint-plugin': 6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 - eslint-config-prettier: 8.10.0(eslint@8.49.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint@8.49.0) - eslint-plugin-prettier: 5.0.0(@types/eslint@8.44.2)(eslint-config-prettier@8.10.0)(eslint@8.49.0)(prettier@3.0.3) - eslint-plugin-sort-destructure-keys: 1.5.0(eslint@8.49.0) - prettier: 3.0.3 - typescript: 5.2.2 - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - - /@pkgr/utils@2.4.2: - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.1 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.2 - dev: true - - /@sapphire/async-queue@1.5.0: - resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false - - /@sapphire/shapeshift@3.9.2: - resolution: {integrity: sha512-YRbCXWy969oGIdqR/wha62eX8GNHsvyYi0Rfd4rNW6tSVVa8p0ELiMEuOH/k8rgtvRoM+EMV7Csqz77YdwiDpA==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dependencies: - fast-deep-equal: 3.1.3 - lodash: 4.17.21 - dev: false - - /@sapphire/snowflake@3.5.1: - resolution: {integrity: sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false - - /@trivago/prettier-plugin-sort-imports@4.2.0(prettier@3.0.3): - resolution: {integrity: sha512-YBepjbt+ZNBVmN3ev1amQH3lWCmHyt5qTbLCp/syXJRu/Kw2koXh44qayB1gMRxcL/gV8egmjN5xWSrYyfUtyw==} - peerDependencies: - '@vue/compiler-sfc': 3.x - prettier: 2.x - 3.x - peerDependenciesMeta: - '@vue/compiler-sfc': - optional: true - dependencies: - '@babel/generator': 7.17.7 - '@babel/parser': 7.22.16 - '@babel/traverse': 7.17.3 - '@babel/types': 7.17.0 - javascript-natural-sort: 0.7.1 - lodash: 4.17.21 - prettier: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@types/eslint@8.44.2: - resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} - dependencies: - '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 - dev: true - - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - dev: true - - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} - dev: true - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/node@18.17.15: - resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - dev: true - - /@types/node@20.6.0: - resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} - dev: false - - /@types/semver@7.5.1: - resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} - dev: true - - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} - dependencies: - '@types/node': 20.6.0 - dev: false - - /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.8.0 - '@typescript-eslint/parser': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.6.0 - '@typescript-eslint/type-utils': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.6.0 - debug: 4.3.4 - eslint: 8.49.0 - graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.6.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-setq5aJgUwtzGrhW177/i+DMLqBaJbdwGj2CPIVFFLE0NCliy5ujIdLHd2D1ysmlmsjdL2GWW+hR85neEfc12w==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.6.0 - '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.6.0 - debug: 4.3.4 - eslint: 8.49.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@6.6.0: - resolution: {integrity: sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/visitor-keys': 6.6.0 - dev: true - - /@typescript-eslint/type-utils@6.6.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@6.6.0: - resolution: {integrity: sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@6.6.0(typescript@5.2.2): - resolution: {integrity: sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/visitor-keys': 6.6.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@6.6.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.1 - '@typescript-eslint/scope-manager': 6.6.0 - '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2) - eslint: 8.49.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@6.6.0: - resolution: {integrity: sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.6.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@vladfrangu/async_event_emitter@2.2.2: - resolution: {integrity: sha512-HIzRG7sy88UZjBJamssEczH5q7t5+axva19UbZLO6u0ySbYPrwzWiXBcC0WuHyhKKoeCyneH+FvYzKQq/zTtkQ==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false - - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - is-string: 1.0.7 - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 - dev: true - - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - dev: true - - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - dev: true - - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: true - - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: true - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: false - - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false - - /cocoa-discord-utils@2.3.0: - resolution: {integrity: sha512-kkDRlTQK3yR+bDXmZV8MPkEKFMkr9AYzvm13jvcDGEZwn8dFRm2s9tD4B8qVjYwpxz/EvC/zvEXTsKEC/kkD+g==} - hasBin: true - dependencies: - '@discordjs/builders': 1.6.5 - chalk: 4.1.2 - commander: 9.5.0 - discord-api-types: 0.37.56 - discord.js: 14.13.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: false - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - dev: true - - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - dev: true - - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /discord-api-types@0.37.50: - resolution: {integrity: sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==} - dev: false - - /discord-api-types@0.37.56: - resolution: {integrity: sha512-Ih3wj0ZTaQxaJRqUEXHMIXfXB86bwMGC0wc2nNsyCJqeo3lC4qnxXtFIsC+IGI46+dSIinuayCAZ6sLEEM02Bw==} - dev: false - - /discord.js@14.13.0: - resolution: {integrity: sha512-Kufdvg7fpyTEwANGy9x7i4od4yu5c6gVddGi5CKm4Y5a6sF0VBODObI3o0Bh7TGCj0LfNT8Qp8z04wnLFzgnbA==} - engines: {node: '>=16.11.0'} - dependencies: - '@discordjs/builders': 1.6.5 - '@discordjs/collection': 1.5.3 - '@discordjs/formatters': 0.3.2 - '@discordjs/rest': 2.0.1 - '@discordjs/util': 1.0.1 - '@discordjs/ws': 1.0.1 - '@sapphire/snowflake': 3.5.1 - '@types/ws': 8.5.5 - discord-api-types: 0.37.50 - fast-deep-equal: 3.1.3 - lodash.snakecase: 4.1.1 - tslib: 2.6.2 - undici: 5.22.1 - ws: 8.14.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} - engines: {node: '>=12'} - dev: false - - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 - dev: true - - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true - - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@8.10.0(eslint@8.49.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.49.0 - dev: true - - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.0 - resolve: 1.22.4 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint@8.49.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - debug: 3.2.7 - eslint: 8.49.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.6.0)(eslint@8.49.0): - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 6.6.0(eslint@8.49.0)(typescript@5.2.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.49.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint@8.49.0) - has: 1.0.3 - is-core-module: 2.13.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-prettier@5.0.0(@types/eslint@8.44.2)(eslint-config-prettier@8.10.0)(eslint@8.49.0)(prettier@3.0.3): - resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - dependencies: - '@types/eslint': 8.44.2 - eslint: 8.49.0 - eslint-config-prettier: 8.10.0(eslint@8.49.0) - prettier: 3.0.3 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.5 - dev: true - - /eslint-plugin-sort-destructure-keys@1.5.0(eslint@8.49.0): - resolution: {integrity: sha512-xGLyqHtbFXZNXQSvAiQ4ISBYokrbUywEhmaA50fKtSKgceCv5y3zjoNuZwcnajdM6q29Nxj+oXC9KcqfMsAPrg==} - engines: {node: '>=6.0.0'} - peerDependencies: - eslint: 3 - 8 - dependencies: - eslint: 8.49.0 - natural-compare-lite: 1.4.0 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.49.0: - resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@eslint-community/regexpp': 4.8.0 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.49.0 - '@humanwhocodes/config-array': 0.11.11 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.21.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - 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 - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.1.0 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} - dependencies: - flatted: 3.2.7 - keyv: 4.5.3 - rimraf: 3.0.2 - dev: true - - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - dev: true - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - dev: true - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.0 - dev: true - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.1 - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.1 - dev: true - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} - dev: true - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 - dev: true - - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.11 - dev: true - - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} - dev: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.snakecase@4.1.1: - resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - dev: false - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /magic-bytes.js@1.0.15: - resolution: {integrity: sha512-bpRmwbRHqongRhA+mXzbLWjVy7ylqmfMBYaQkSs6pac0z6hBTvsgrH0r4FBYd/UYVJBmS6Rp/O+oCCQVLzKV1g==} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - dev: true - - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - dev: true - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} - hasBin: true - dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-regex: 1.1.4 - dev: true - - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.4.2 - tslib: 2.6.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /ts-api-utils@1.0.3(typescript@5.2.2): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.2.2 - dev: true - - /ts-mixer@6.0.3: - resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==} - dev: false - - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.12 - dev: true - - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - - /undici@5.22.1: - resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} - engines: {node: '>=14.0'} - dependencies: - busboy: 1.6.0 - dev: false - - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /ws@8.14.1: - resolution: {integrity: sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: false diff --git a/src/environment.ts b/src/environment.ts index 5d702cf..d548ed2 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -1,5 +1,3 @@ -import "dotenv/config"; - import { z } from "zod"; const environmentSchema = z.object({