├── .editorconfig ├── .eslintrc.json ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── release.yaml ├── .gitignore ├── .prettierignore ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml ├── scripts ├── build-package-test.sh └── build-package.sh ├── src ├── index.ts ├── lib │ └── core │ │ ├── 2b2t.ts │ │ ├── ProxyServer.ts │ │ └── logger.ts └── types │ └── mineflayer.d.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | max_line_length = 80 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | max_line_length = 0 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { "project": "./tsconfig.json" }, 5 | "env": { "es6": true }, 6 | "ignorePatterns": ["node_modules", "build", "coverage"], 7 | "plugins": ["import", "eslint-comments", "functional"], 8 | "extends": [ 9 | "eslint:recommended", 10 | "plugin:eslint-comments/recommended", 11 | "plugin:@typescript-eslint/recommended", 12 | "plugin:import/typescript", 13 | "plugin:functional/lite", 14 | "prettier", 15 | "prettier/@typescript-eslint" 16 | ], 17 | "globals": { "BigInt": true, "console": true, "WebAssembly": true }, 18 | "rules": { 19 | "@typescript-eslint/explicit-module-boundary-types": "off", 20 | "eslint-comments/disable-enable-pair": [ 21 | "error", 22 | { "allowWholeFile": true } 23 | ], 24 | "eslint-comments/no-unused-disable": "error", 25 | "import/order": [ 26 | "error", 27 | { "newlines-between": "always", "alphabetize": { "order": "asc" } } 28 | ], 29 | "sort-imports": [ 30 | "error", 31 | { "ignoreDeclarationSort": true, "ignoreCase": true } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Example Contributing Guidelines 2 | 3 | This is an example of GitHub's contributing guidelines file. Check out GitHub's [CONTRIBUTING.md help center article](https://help.github.com/articles/setting-guidelines-for-repository-contributors/) for more information. 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | - **I'm submitting a ...** 2 | [ ] bug report 3 | [ ] feature request 4 | [ ] question about the decisions made in the repository 5 | [ ] question about how to use this project 6 | 7 | - **Summary** 8 | 9 | - **Other information** (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.) 10 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | - **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...) 2 | 3 | - **What is the current behavior?** (You can also link to an open issue here) 4 | 5 | - **What is the new behavior (if this is a feature change)?** 6 | 7 | - **Other information**: 8 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | # Sequence of patterns matched against refs/tags 4 | branches: 5 | - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 6 | 7 | name: Release 8 | 9 | jobs: 10 | build: 11 | name: Create Release 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout code 15 | uses: actions/checkout@v2 16 | 17 | - name: Build code 18 | run: | 19 | npm install 20 | npm run build:tsc 21 | 22 | - name: Compile to executable 23 | run: | 24 | npm run build:exe 25 | 26 | - name: Extract branch name 27 | shell: bash 28 | run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" 29 | id: extract_branch 30 | 31 | - name: Create Latest Release 32 | id: create_archive_release 33 | uses: "marvinpinto/action-automatic-releases@latest" 34 | with: 35 | repo_token: ${{ secrets.GITHUB_TOKEN }} 36 | automatic_release_tag: ${{ steps.extract_branch.outputs.branch }} 37 | title: 38 | body: | 39 | Automatic release by Github Actions. Pending review by a human. 40 | prerelease: true 41 | files: | 42 | exec/**/* 43 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | .env 3 | exec 4 | .idea/* 5 | .nyc_output 6 | build 7 | node_modules 8 | test 9 | src/**.js 10 | coverage 11 | *.log 12 | yarn.lock 13 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # package.json is formatted by package managers, so we ignore it here 2 | package.json -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "esbenp.prettier-vscode", 5 | "eamodio.gitlens", 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | // To debug, make sure a *.spec.ts file is active in the editor, then run a configuration 5 | { 6 | "type": "node", 7 | "request": "launch", 8 | "name": "Debug Active Spec", 9 | "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/ava", 10 | "runtimeArgs": ["debug", "--break", "--serial", "${file}"], 11 | "port": 9229, 12 | "outputCapture": "std", 13 | "skipFiles": ["/**/*.js"], 14 | "preLaunchTask": "npm: build" 15 | // "smartStep": true 16 | }, 17 | { 18 | // Use this one if you're already running `yarn watch` 19 | "type": "node", 20 | "request": "launch", 21 | "name": "Debug Active Spec (no build)", 22 | "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/ava", 23 | "runtimeArgs": ["debug", "--break", "--serial", "${file}"], 24 | "port": 9229, 25 | "outputCapture": "std", 26 | "skipFiles": ["/**/*.js"] 27 | // "smartStep": true 28 | }] 29 | } 30 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.userWords": [], // only use words from .cspell.json 3 | "cSpell.enabled": true, 4 | "editor.formatOnSave": true, 5 | "typescript.tsdk": "node_modules/typescript/lib", 6 | "typescript.enablePromptUseWorkspaceTsdk": true 7 | } 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Hackermon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Better2bored2wait 2 | ![repo size badge](https://img.shields.io/github/repo-size/hackermondev/better2bored2wait) 3 | ![open issues](https://img.shields.io/github/issues/hackermondev/better2bored2wait) 4 | 5 | ### Introduction 6 | 2bored2wait is a proxy for 2b2t.org's absurdly long queue. Better2bored2wait is based on 2bored2wait but aims to have more features and be faster. 7 | 8 | 9 | ### How To Use 10 | 1. Download [latest release](https://github.com/hackermondev/Better2bored2wait/releases) 11 | 2. Run executable 12 | 13 | ### Features 14 | - Anti-Afk-Disconnection system 15 | - Automatic server reconnection 16 | - Discord webhooks notification system 17 | - Supports Mojang & Microsoft accounts 18 | - Support newer versions of Minecrafts (coming soon) 19 | 20 | Want to suggest any features? Feel free to create a [issue](https://github.com/hackermondev/Better2bored2wait/issues/new)! 21 | 22 | 23 | ### Extra Configuration 24 | To configure Better2bored2wait, you will need to add enviroment variables. There is a probably a way to do this based on your operating system systems, but it is easier to do it this way. 25 | 26 | In the folder that contains the better2bored2wait executable, create a file called .env. This file will contain the following variables: 27 | ```bash 28 | MINECRAFT_USERNAME=chillydaniel160 29 | LOGGER_WEBHOOK= 30 | ``` 31 | 32 | then change the variables to your liking. 33 | 34 | For example: 35 | ```bash 36 | MINECRAFT_USERNAME=hackermon 37 | LOGGER_WEBHOOK=https://canary.discord.com/api/webhooks/123456789/43567nsdnfadsfanjdsfanasder4wefwef 38 | ``` 39 | 40 | You can leave the `LOGGER_WEBHOOK` variable empty if you don't want to use webhooks. 41 | 42 | #### Mojang Accounts 43 | If you want to use a Mojang account instead of a Microsoft account for the account configuration, you can add the following line to the .env file: 44 | ```bash 45 | MINEFLAYER_AUTH=mojang 46 | MINECRAFT_USERNAME=yourminecraftusername 47 | MINECRAFT_PASSWORD=yourminecraftpassword 48 | ``` 49 | 50 | ### Issues 51 | If you encounter any issues, please create an issue on [GitHub](https://github.com/hackermondev/Better2bored2wait/issues/new). 52 | 53 | If you have ran the program before, there should be a folder called ```2bored2wait-logs``` in the same directory as the executable. If you have any issues with the program, please upload the logs in both of the files in the logs folder to pastebin and attach the link to the issue. 54 | 55 | 56 | ### License 57 | Better2bored2wait is licensed under the [MIT license](LICENSE). -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "better2bored2wait", 3 | "version": "0.0.1", 4 | "description": "2bored2wait (v2), better features and faster than the original.", 5 | "main": "build/main/index.js", 6 | "typings": "build/main/index.d.ts", 7 | "repository": "https://github.com/hackermondev/better2bored2wait", 8 | "license": "MIT", 9 | "keywords": [], 10 | "scripts": { 11 | "build:tsc": "tsc -p tsconfig.json", 12 | "build:exe": "bash scripts/build-package.sh", 13 | "fix": "run-s fix:*", 14 | "fix:prettier": "prettier \"src/**/*.ts\" --write", 15 | "fix:lint": "eslint src --ext .ts --fix", 16 | "test": "run-s build test:*", 17 | "test:lint": "eslint src --ext .ts", 18 | "test:prettier": "prettier \"src/**/*.ts\" --list-different", 19 | "test:exebuild": "bash scripts/build-package-test.sh", 20 | "watch:build": "tsc -p tsconfig.json -w" 21 | }, 22 | "bin": { 23 | "2bored2wait": "build/main/index.js" 24 | }, 25 | "prettier": { 26 | "singleQuote": true, 27 | "trailingComma": "es5", 28 | "semi": true, 29 | "useTabs": false, 30 | "tabWidth": 2 31 | }, 32 | 33 | "pkg": { 34 | "scripts": "build/**/*.js", 35 | "targets": [ 36 | "node16-win-x64", 37 | "node16-linux-x64" 38 | ], 39 | "outputPath": "exec/" 40 | }, 41 | "engines": { 42 | "node": ">=10" 43 | }, 44 | "dependencies": { 45 | "@ptkdev/logger": "^1.8.0", 46 | "@rob9315/mcproxy": "^0.3.1", 47 | "discord-webhook-client": "^0.0.1", 48 | "dotenv": "^16.0.1", 49 | "minecraft-protocol": "^1.35.0", 50 | "mineflayer": "^4.3.0", 51 | "mineflayer-antiafk": "^1.1.1", 52 | "path": "^0.12.7" 53 | }, 54 | "devDependencies": { 55 | "@types/node": "^18.0.0", 56 | "@typescript-eslint/eslint-plugin": "^4.0.1", 57 | "@typescript-eslint/parser": "^4.0.1", 58 | "eslint": "^7.8.0", 59 | "eslint-config-prettier": "^6.11.0", 60 | "eslint-plugin-eslint-comments": "^3.2.0", 61 | "eslint-plugin-functional": "^3.0.2", 62 | "eslint-plugin-import": "^2.22.0", 63 | "prettier": "^2.1.1", 64 | "typescript": "^4.0.2" 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@ptkdev/logger': ^1.8.0 5 | '@rob9315/mcproxy': ^0.3.1 6 | '@types/node': ^18.0.0 7 | '@typescript-eslint/eslint-plugin': ^4.0.1 8 | '@typescript-eslint/parser': ^4.0.1 9 | discord-webhook-client: ^0.0.1 10 | dotenv: ^16.0.1 11 | eslint: ^7.8.0 12 | eslint-config-prettier: ^6.11.0 13 | eslint-plugin-eslint-comments: ^3.2.0 14 | eslint-plugin-functional: ^3.0.2 15 | eslint-plugin-import: ^2.22.0 16 | minecraft-protocol: ^1.35.0 17 | mineflayer: ^4.3.0 18 | mineflayer-antiafk: ^1.1.1 19 | path: ^0.12.7 20 | prettier: ^2.1.1 21 | typescript: ^4.0.2 22 | 23 | dependencies: 24 | '@ptkdev/logger': 1.8.0 25 | '@rob9315/mcproxy': 0.3.1 26 | discord-webhook-client: 0.0.1 27 | dotenv: 16.0.1 28 | minecraft-protocol: 1.35.0 29 | mineflayer: 4.3.0 30 | mineflayer-antiafk: 1.1.1 31 | path: 0.12.7 32 | 33 | devDependencies: 34 | '@types/node': 18.0.0 35 | '@typescript-eslint/eslint-plugin': 4.33.0_3ekaj7j3owlolnuhj3ykrb7u7i 36 | '@typescript-eslint/parser': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 37 | eslint: 7.32.0 38 | eslint-config-prettier: 6.15.0_eslint@7.32.0 39 | eslint-plugin-eslint-comments: 3.2.0_eslint@7.32.0 40 | eslint-plugin-functional: 3.7.2_hxadhbs2xogijvk7vq4t2azzbu 41 | eslint-plugin-import: 2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry 42 | prettier: 2.7.1 43 | typescript: 4.7.4 44 | 45 | packages: 46 | 47 | /@azure/msal-common/7.0.0: 48 | resolution: {integrity: sha512-EkaHGjv0kw1RljhboeffM91b+v9d5VtmyG+0a/gvdqjbLu3kDzEfoaS5BNM9QqMzbxgZylsjAjQDtxdHLX/ziA==} 49 | engines: {node: '>=0.8.0'} 50 | dev: false 51 | 52 | /@azure/msal-node/1.10.0: 53 | resolution: {integrity: sha512-oSv9mg199FpRTe+fZ3o9NDYpKShOHqeceaNcCHJcKUaAaCojAbfbxD1Cvsti8BEsLKE6x0HcnjilnM1MKmZekA==} 54 | engines: {node: 10 || 12 || 14 || 16 || 18} 55 | dependencies: 56 | '@azure/msal-common': 7.0.0 57 | jsonwebtoken: 8.5.1 58 | uuid: 8.3.2 59 | dev: false 60 | 61 | /@babel/code-frame/7.12.11: 62 | resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} 63 | dependencies: 64 | '@babel/highlight': 7.18.6 65 | dev: true 66 | 67 | /@babel/helper-validator-identifier/7.18.6: 68 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 69 | engines: {node: '>=6.9.0'} 70 | dev: true 71 | 72 | /@babel/highlight/7.18.6: 73 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 74 | engines: {node: '>=6.9.0'} 75 | dependencies: 76 | '@babel/helper-validator-identifier': 7.18.6 77 | chalk: 2.4.2 78 | js-tokens: 4.0.0 79 | dev: true 80 | 81 | /@eslint/eslintrc/0.4.3: 82 | resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} 83 | engines: {node: ^10.12.0 || >=12.0.0} 84 | dependencies: 85 | ajv: 6.12.6 86 | debug: 4.3.4 87 | espree: 7.3.1 88 | globals: 13.15.0 89 | ignore: 4.0.6 90 | import-fresh: 3.3.0 91 | js-yaml: 3.14.1 92 | minimatch: 3.1.2 93 | strip-json-comments: 3.1.1 94 | transitivePeerDependencies: 95 | - supports-color 96 | dev: true 97 | 98 | /@humanwhocodes/config-array/0.5.0: 99 | resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} 100 | engines: {node: '>=10.10.0'} 101 | dependencies: 102 | '@humanwhocodes/object-schema': 1.2.1 103 | debug: 4.3.4 104 | minimatch: 3.1.2 105 | transitivePeerDependencies: 106 | - supports-color 107 | dev: true 108 | 109 | /@humanwhocodes/object-schema/1.2.1: 110 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 111 | dev: true 112 | 113 | /@nodelib/fs.scandir/2.1.5: 114 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 115 | engines: {node: '>= 8'} 116 | dependencies: 117 | '@nodelib/fs.stat': 2.0.5 118 | run-parallel: 1.2.0 119 | dev: true 120 | 121 | /@nodelib/fs.stat/2.0.5: 122 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 123 | engines: {node: '>= 8'} 124 | dev: true 125 | 126 | /@nodelib/fs.walk/1.2.8: 127 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 128 | engines: {node: '>= 8'} 129 | dependencies: 130 | '@nodelib/fs.scandir': 2.1.5 131 | fastq: 1.13.0 132 | dev: true 133 | 134 | /@ptkdev/logger/1.8.0: 135 | resolution: {integrity: sha512-gwg0pleMUyzsZIErDtzz2OP4F2Q3nzRGjhUTP+831/eogq17LpG7PgbHo1n1HZ/dlz/v2xvotfUcPLO3IzwEVQ==} 136 | engines: {node: '>=10.0.0'} 137 | dependencies: 138 | chalk: 4.1.2 139 | fs-extra: 10.1.0 140 | lowdb: 1.0.0 141 | rotating-file-stream: 2.1.6 142 | strip-ansi: 6.0.1 143 | dev: false 144 | 145 | /@rob9315/mcproxy/0.3.1: 146 | resolution: {integrity: sha512-612ZaeXF516rmSlmiboMKrPo6TmfTAXeq5VS1Xswpbr8L5+cI70dKO4Xt4/yHDoHxgatk8Avy3etW/AEQbHCRw==} 147 | dependencies: 148 | minecraft-data: 2.221.0 149 | minecraft-protocol: 1.35.0 150 | mineflayer: 4.3.0 151 | prismarine-item: 1.11.5 152 | smart-buffer: 4.2.0 153 | transitivePeerDependencies: 154 | - encoding 155 | - supports-color 156 | dev: false 157 | 158 | /@types/json-schema/7.0.11: 159 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 160 | dev: true 161 | 162 | /@types/json5/0.0.29: 163 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 164 | dev: true 165 | 166 | /@types/node/18.0.0: 167 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 168 | 169 | /@types/readable-stream/2.3.13: 170 | resolution: {integrity: sha512-4JSCx8EUzaW9Idevt+9lsRAt1lcSccoQfE+AouM1gk8sFxnnytKNIO3wTl9Dy+4m6jRJ1yXhboLHHT/LXBQiEw==} 171 | dependencies: 172 | '@types/node': 18.0.0 173 | safe-buffer: 5.2.1 174 | dev: false 175 | 176 | /@typescript-eslint/eslint-plugin/4.33.0_3ekaj7j3owlolnuhj3ykrb7u7i: 177 | resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} 178 | engines: {node: ^10.12.0 || >=12.0.0} 179 | peerDependencies: 180 | '@typescript-eslint/parser': ^4.0.0 181 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 182 | typescript: '*' 183 | peerDependenciesMeta: 184 | typescript: 185 | optional: true 186 | dependencies: 187 | '@typescript-eslint/experimental-utils': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 188 | '@typescript-eslint/parser': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 189 | '@typescript-eslint/scope-manager': 4.33.0 190 | debug: 4.3.4 191 | eslint: 7.32.0 192 | functional-red-black-tree: 1.0.1 193 | ignore: 5.2.0 194 | regexpp: 3.2.0 195 | semver: 7.3.7 196 | tsutils: 3.21.0_typescript@4.7.4 197 | typescript: 4.7.4 198 | transitivePeerDependencies: 199 | - supports-color 200 | dev: true 201 | 202 | /@typescript-eslint/experimental-utils/4.33.0_hxadhbs2xogijvk7vq4t2azzbu: 203 | resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} 204 | engines: {node: ^10.12.0 || >=12.0.0} 205 | peerDependencies: 206 | eslint: '*' 207 | dependencies: 208 | '@types/json-schema': 7.0.11 209 | '@typescript-eslint/scope-manager': 4.33.0 210 | '@typescript-eslint/types': 4.33.0 211 | '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.7.4 212 | eslint: 7.32.0 213 | eslint-scope: 5.1.1 214 | eslint-utils: 3.0.0_eslint@7.32.0 215 | transitivePeerDependencies: 216 | - supports-color 217 | - typescript 218 | dev: true 219 | 220 | /@typescript-eslint/parser/4.33.0_hxadhbs2xogijvk7vq4t2azzbu: 221 | resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} 222 | engines: {node: ^10.12.0 || >=12.0.0} 223 | peerDependencies: 224 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 225 | typescript: '*' 226 | peerDependenciesMeta: 227 | typescript: 228 | optional: true 229 | dependencies: 230 | '@typescript-eslint/scope-manager': 4.33.0 231 | '@typescript-eslint/types': 4.33.0 232 | '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.7.4 233 | debug: 4.3.4 234 | eslint: 7.32.0 235 | typescript: 4.7.4 236 | transitivePeerDependencies: 237 | - supports-color 238 | dev: true 239 | 240 | /@typescript-eslint/scope-manager/4.33.0: 241 | resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} 242 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 243 | dependencies: 244 | '@typescript-eslint/types': 4.33.0 245 | '@typescript-eslint/visitor-keys': 4.33.0 246 | dev: true 247 | 248 | /@typescript-eslint/types/4.33.0: 249 | resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} 250 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 251 | dev: true 252 | 253 | /@typescript-eslint/typescript-estree/4.33.0_typescript@4.7.4: 254 | resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} 255 | engines: {node: ^10.12.0 || >=12.0.0} 256 | peerDependencies: 257 | typescript: '*' 258 | peerDependenciesMeta: 259 | typescript: 260 | optional: true 261 | dependencies: 262 | '@typescript-eslint/types': 4.33.0 263 | '@typescript-eslint/visitor-keys': 4.33.0 264 | debug: 4.3.4 265 | globby: 11.1.0 266 | is-glob: 4.0.3 267 | semver: 7.3.7 268 | tsutils: 3.21.0_typescript@4.7.4 269 | typescript: 4.7.4 270 | transitivePeerDependencies: 271 | - supports-color 272 | dev: true 273 | 274 | /@typescript-eslint/visitor-keys/4.33.0: 275 | resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} 276 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 277 | dependencies: 278 | '@typescript-eslint/types': 4.33.0 279 | eslint-visitor-keys: 2.1.0 280 | dev: true 281 | 282 | /@xboxreplay/errors/0.1.0: 283 | resolution: {integrity: sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g==} 284 | dev: false 285 | 286 | /@xboxreplay/xboxlive-auth/3.3.3_debug@4.3.4: 287 | resolution: {integrity: sha512-j0AU8pW10LM8O68CTZ5QHnvOjSsnPICy0oQcP7zyM7eWkDQ/InkiQiirQKsPn1XRYDl4ccNu0WM582s3UKwcBg==} 288 | dependencies: 289 | '@xboxreplay/errors': 0.1.0 290 | axios: 0.21.4_debug@4.3.4 291 | transitivePeerDependencies: 292 | - debug 293 | dev: false 294 | 295 | /acorn-jsx/5.3.2_acorn@7.4.1: 296 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 297 | peerDependencies: 298 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 299 | dependencies: 300 | acorn: 7.4.1 301 | dev: true 302 | 303 | /acorn/7.4.1: 304 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 305 | engines: {node: '>=0.4.0'} 306 | hasBin: true 307 | dev: true 308 | 309 | /aes-js/3.1.2: 310 | resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} 311 | dev: false 312 | 313 | /ajv/6.12.6: 314 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 315 | dependencies: 316 | fast-deep-equal: 3.1.3 317 | fast-json-stable-stringify: 2.1.0 318 | json-schema-traverse: 0.4.1 319 | uri-js: 4.4.1 320 | 321 | /ajv/8.11.0: 322 | resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} 323 | dependencies: 324 | fast-deep-equal: 3.1.3 325 | json-schema-traverse: 1.0.0 326 | require-from-string: 2.0.2 327 | uri-js: 4.4.1 328 | dev: true 329 | 330 | /ansi-colors/4.1.3: 331 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 332 | engines: {node: '>=6'} 333 | dev: true 334 | 335 | /ansi-regex/5.0.1: 336 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 337 | engines: {node: '>=8'} 338 | 339 | /ansi-styles/3.2.1: 340 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 341 | engines: {node: '>=4'} 342 | dependencies: 343 | color-convert: 1.9.3 344 | dev: true 345 | 346 | /ansi-styles/4.3.0: 347 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 348 | engines: {node: '>=8'} 349 | dependencies: 350 | color-convert: 2.0.1 351 | 352 | /argparse/1.0.10: 353 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 354 | dependencies: 355 | sprintf-js: 1.0.3 356 | dev: true 357 | 358 | /array-includes/3.1.5: 359 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 360 | engines: {node: '>= 0.4'} 361 | dependencies: 362 | call-bind: 1.0.2 363 | define-properties: 1.1.4 364 | es-abstract: 1.20.1 365 | get-intrinsic: 1.1.2 366 | is-string: 1.0.7 367 | dev: true 368 | 369 | /array-union/2.1.0: 370 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 371 | engines: {node: '>=8'} 372 | dev: true 373 | 374 | /array.prototype.flat/1.3.0: 375 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 376 | engines: {node: '>= 0.4'} 377 | dependencies: 378 | call-bind: 1.0.2 379 | define-properties: 1.1.4 380 | es-abstract: 1.20.1 381 | es-shim-unscopables: 1.0.0 382 | dev: true 383 | 384 | /array.prototype.flatmap/1.3.0: 385 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} 386 | engines: {node: '>= 0.4'} 387 | dependencies: 388 | call-bind: 1.0.2 389 | define-properties: 1.1.4 390 | es-abstract: 1.20.1 391 | es-shim-unscopables: 1.0.0 392 | dev: true 393 | 394 | /asn1/0.2.3: 395 | resolution: {integrity: sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==} 396 | dev: false 397 | 398 | /astral-regex/2.0.0: 399 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 400 | engines: {node: '>=8'} 401 | dev: true 402 | 403 | /axios/0.21.4_debug@4.3.4: 404 | resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} 405 | dependencies: 406 | follow-redirects: 1.15.1_debug@4.3.4 407 | transitivePeerDependencies: 408 | - debug 409 | dev: false 410 | 411 | /balanced-match/1.0.2: 412 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 413 | dev: true 414 | 415 | /brace-expansion/1.1.11: 416 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 417 | dependencies: 418 | balanced-match: 1.0.2 419 | concat-map: 0.0.1 420 | dev: true 421 | 422 | /braces/3.0.2: 423 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 424 | engines: {node: '>=8'} 425 | dependencies: 426 | fill-range: 7.0.1 427 | dev: true 428 | 429 | /buffer-equal-constant-time/1.0.1: 430 | resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} 431 | dev: false 432 | 433 | /buffer-equal/1.0.0: 434 | resolution: {integrity: sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==} 435 | engines: {node: '>=0.4.0'} 436 | dev: false 437 | 438 | /call-bind/1.0.2: 439 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 440 | dependencies: 441 | function-bind: 1.1.1 442 | get-intrinsic: 1.1.2 443 | dev: true 444 | 445 | /callsites/3.1.0: 446 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 447 | engines: {node: '>=6'} 448 | dev: true 449 | 450 | /chalk/2.4.2: 451 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 452 | engines: {node: '>=4'} 453 | dependencies: 454 | ansi-styles: 3.2.1 455 | escape-string-regexp: 1.0.5 456 | supports-color: 5.5.0 457 | dev: true 458 | 459 | /chalk/4.1.2: 460 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 461 | engines: {node: '>=10'} 462 | dependencies: 463 | ansi-styles: 4.3.0 464 | supports-color: 7.2.0 465 | 466 | /color-convert/1.9.3: 467 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 468 | dependencies: 469 | color-name: 1.1.3 470 | dev: true 471 | 472 | /color-convert/2.0.1: 473 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 474 | engines: {node: '>=7.0.0'} 475 | dependencies: 476 | color-name: 1.1.4 477 | 478 | /color-name/1.1.3: 479 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 480 | dev: true 481 | 482 | /color-name/1.1.4: 483 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 484 | 485 | /commander/2.20.3: 486 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 487 | dev: false 488 | 489 | /concat-map/0.0.1: 490 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 491 | dev: true 492 | 493 | /cross-spawn/7.0.3: 494 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 495 | engines: {node: '>= 8'} 496 | dependencies: 497 | path-key: 3.1.1 498 | shebang-command: 2.0.0 499 | which: 2.0.2 500 | dev: true 501 | 502 | /debug/2.6.9: 503 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 504 | peerDependencies: 505 | supports-color: '*' 506 | peerDependenciesMeta: 507 | supports-color: 508 | optional: true 509 | dependencies: 510 | ms: 2.0.0 511 | dev: true 512 | 513 | /debug/3.2.7: 514 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 515 | peerDependencies: 516 | supports-color: '*' 517 | peerDependenciesMeta: 518 | supports-color: 519 | optional: true 520 | dependencies: 521 | ms: 2.1.3 522 | dev: true 523 | 524 | /debug/4.3.4: 525 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 526 | engines: {node: '>=6.0'} 527 | peerDependencies: 528 | supports-color: '*' 529 | peerDependenciesMeta: 530 | supports-color: 531 | optional: true 532 | dependencies: 533 | ms: 2.1.2 534 | 535 | /deep-is/0.1.4: 536 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 537 | dev: true 538 | 539 | /deepmerge/4.2.2: 540 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 541 | engines: {node: '>=0.10.0'} 542 | dev: true 543 | 544 | /define-properties/1.1.4: 545 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 546 | engines: {node: '>= 0.4'} 547 | dependencies: 548 | has-property-descriptors: 1.0.0 549 | object-keys: 1.1.1 550 | dev: true 551 | 552 | /dir-glob/3.0.1: 553 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 554 | engines: {node: '>=8'} 555 | dependencies: 556 | path-type: 4.0.0 557 | dev: true 558 | 559 | /discontinuous-range/1.0.0: 560 | resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} 561 | dev: false 562 | 563 | /discord-webhook-client/0.0.1: 564 | resolution: {integrity: sha512-5h4DLEOvTSU56Br/MpN7kkY/1VfnCUkynr8LSf+yF8URY9ciVOFjlaMf9la7nVOBSq10cRdLgGIBuW+iC0a2zw==} 565 | dependencies: 566 | node-fetch: 2.6.7 567 | transitivePeerDependencies: 568 | - encoding 569 | dev: false 570 | 571 | /doctrine/2.1.0: 572 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 573 | engines: {node: '>=0.10.0'} 574 | dependencies: 575 | esutils: 2.0.3 576 | dev: true 577 | 578 | /doctrine/3.0.0: 579 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 580 | engines: {node: '>=6.0.0'} 581 | dependencies: 582 | esutils: 2.0.3 583 | dev: true 584 | 585 | /dotenv/16.0.1: 586 | resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} 587 | engines: {node: '>=12'} 588 | dev: false 589 | 590 | /ecdsa-sig-formatter/1.0.11: 591 | resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} 592 | dependencies: 593 | safe-buffer: 5.2.1 594 | dev: false 595 | 596 | /emoji-regex/8.0.0: 597 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 598 | dev: true 599 | 600 | /endian-toggle/0.0.0: 601 | resolution: {integrity: sha512-ShfqhXeHRE4TmggSlHXG8CMGIcsOsqDw/GcoPcosToE59Rm9e4aXaMhEQf2kPBsBRrKem1bbOAv5gOKnkliMFQ==} 602 | dev: false 603 | 604 | /enquirer/2.3.6: 605 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 606 | engines: {node: '>=8.6'} 607 | dependencies: 608 | ansi-colors: 4.1.3 609 | dev: true 610 | 611 | /es-abstract/1.20.1: 612 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 613 | engines: {node: '>= 0.4'} 614 | dependencies: 615 | call-bind: 1.0.2 616 | es-to-primitive: 1.2.1 617 | function-bind: 1.1.1 618 | function.prototype.name: 1.1.5 619 | get-intrinsic: 1.1.2 620 | get-symbol-description: 1.0.0 621 | has: 1.0.3 622 | has-property-descriptors: 1.0.0 623 | has-symbols: 1.0.3 624 | internal-slot: 1.0.3 625 | is-callable: 1.2.4 626 | is-negative-zero: 2.0.2 627 | is-regex: 1.1.4 628 | is-shared-array-buffer: 1.0.2 629 | is-string: 1.0.7 630 | is-weakref: 1.0.2 631 | object-inspect: 1.12.2 632 | object-keys: 1.1.1 633 | object.assign: 4.1.2 634 | regexp.prototype.flags: 1.4.3 635 | string.prototype.trimend: 1.0.5 636 | string.prototype.trimstart: 1.0.5 637 | unbox-primitive: 1.0.2 638 | dev: true 639 | 640 | /es-shim-unscopables/1.0.0: 641 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 642 | dependencies: 643 | has: 1.0.3 644 | dev: true 645 | 646 | /es-to-primitive/1.2.1: 647 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 648 | engines: {node: '>= 0.4'} 649 | dependencies: 650 | is-callable: 1.2.4 651 | is-date-object: 1.0.5 652 | is-symbol: 1.0.4 653 | dev: true 654 | 655 | /escape-string-regexp/1.0.5: 656 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 657 | engines: {node: '>=0.8.0'} 658 | dev: true 659 | 660 | /escape-string-regexp/4.0.0: 661 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 662 | engines: {node: '>=10'} 663 | dev: true 664 | 665 | /eslint-config-prettier/6.15.0_eslint@7.32.0: 666 | resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==} 667 | hasBin: true 668 | peerDependencies: 669 | eslint: '>=3.14.1' 670 | dependencies: 671 | eslint: 7.32.0 672 | get-stdin: 6.0.0 673 | dev: true 674 | 675 | /eslint-import-resolver-node/0.3.6: 676 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 677 | dependencies: 678 | debug: 3.2.7 679 | resolve: 1.22.1 680 | transitivePeerDependencies: 681 | - supports-color 682 | dev: true 683 | 684 | /eslint-module-utils/2.7.3_lkzaig2qiyp6elizstfbgvzhie: 685 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 686 | engines: {node: '>=4'} 687 | peerDependencies: 688 | '@typescript-eslint/parser': '*' 689 | eslint-import-resolver-node: '*' 690 | eslint-import-resolver-typescript: '*' 691 | eslint-import-resolver-webpack: '*' 692 | peerDependenciesMeta: 693 | '@typescript-eslint/parser': 694 | optional: true 695 | eslint-import-resolver-node: 696 | optional: true 697 | eslint-import-resolver-typescript: 698 | optional: true 699 | eslint-import-resolver-webpack: 700 | optional: true 701 | dependencies: 702 | '@typescript-eslint/parser': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 703 | debug: 3.2.7 704 | eslint-import-resolver-node: 0.3.6 705 | find-up: 2.1.0 706 | transitivePeerDependencies: 707 | - supports-color 708 | dev: true 709 | 710 | /eslint-plugin-eslint-comments/3.2.0_eslint@7.32.0: 711 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 712 | engines: {node: '>=6.5.0'} 713 | peerDependencies: 714 | eslint: '>=4.19.1' 715 | dependencies: 716 | escape-string-regexp: 1.0.5 717 | eslint: 7.32.0 718 | ignore: 5.2.0 719 | dev: true 720 | 721 | /eslint-plugin-functional/3.7.2_hxadhbs2xogijvk7vq4t2azzbu: 722 | resolution: {integrity: sha512-BuWPOeE0nuXYlZjObYOHnYf7G3iG+sysxw84I579MsrH+hy5XdXb2sdabmXQ5z7eFGCg2/DWNbZ/yz5GAgtcUg==} 723 | engines: {node: '>=10.18.0'} 724 | peerDependencies: 725 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 726 | tsutils: ^3.0.0 727 | typescript: ^3.4.1 || ^4.0.0 728 | peerDependenciesMeta: 729 | tsutils: 730 | optional: true 731 | typescript: 732 | optional: true 733 | dependencies: 734 | '@typescript-eslint/experimental-utils': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 735 | array.prototype.flatmap: 1.3.0 736 | deepmerge: 4.2.2 737 | escape-string-regexp: 4.0.0 738 | eslint: 7.32.0 739 | object.fromentries: 2.0.5 740 | typescript: 4.7.4 741 | transitivePeerDependencies: 742 | - supports-color 743 | dev: true 744 | 745 | /eslint-plugin-import/2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry: 746 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 747 | engines: {node: '>=4'} 748 | peerDependencies: 749 | '@typescript-eslint/parser': '*' 750 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 751 | peerDependenciesMeta: 752 | '@typescript-eslint/parser': 753 | optional: true 754 | dependencies: 755 | '@typescript-eslint/parser': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu 756 | array-includes: 3.1.5 757 | array.prototype.flat: 1.3.0 758 | debug: 2.6.9 759 | doctrine: 2.1.0 760 | eslint: 7.32.0 761 | eslint-import-resolver-node: 0.3.6 762 | eslint-module-utils: 2.7.3_lkzaig2qiyp6elizstfbgvzhie 763 | has: 1.0.3 764 | is-core-module: 2.9.0 765 | is-glob: 4.0.3 766 | minimatch: 3.1.2 767 | object.values: 1.1.5 768 | resolve: 1.22.1 769 | tsconfig-paths: 3.14.1 770 | transitivePeerDependencies: 771 | - eslint-import-resolver-typescript 772 | - eslint-import-resolver-webpack 773 | - supports-color 774 | dev: true 775 | 776 | /eslint-scope/5.1.1: 777 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 778 | engines: {node: '>=8.0.0'} 779 | dependencies: 780 | esrecurse: 4.3.0 781 | estraverse: 4.3.0 782 | dev: true 783 | 784 | /eslint-utils/2.1.0: 785 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 786 | engines: {node: '>=6'} 787 | dependencies: 788 | eslint-visitor-keys: 1.3.0 789 | dev: true 790 | 791 | /eslint-utils/3.0.0_eslint@7.32.0: 792 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 793 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 794 | peerDependencies: 795 | eslint: '>=5' 796 | dependencies: 797 | eslint: 7.32.0 798 | eslint-visitor-keys: 2.1.0 799 | dev: true 800 | 801 | /eslint-visitor-keys/1.3.0: 802 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 803 | engines: {node: '>=4'} 804 | dev: true 805 | 806 | /eslint-visitor-keys/2.1.0: 807 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 808 | engines: {node: '>=10'} 809 | dev: true 810 | 811 | /eslint/7.32.0: 812 | resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} 813 | engines: {node: ^10.12.0 || >=12.0.0} 814 | hasBin: true 815 | dependencies: 816 | '@babel/code-frame': 7.12.11 817 | '@eslint/eslintrc': 0.4.3 818 | '@humanwhocodes/config-array': 0.5.0 819 | ajv: 6.12.6 820 | chalk: 4.1.2 821 | cross-spawn: 7.0.3 822 | debug: 4.3.4 823 | doctrine: 3.0.0 824 | enquirer: 2.3.6 825 | escape-string-regexp: 4.0.0 826 | eslint-scope: 5.1.1 827 | eslint-utils: 2.1.0 828 | eslint-visitor-keys: 2.1.0 829 | espree: 7.3.1 830 | esquery: 1.4.0 831 | esutils: 2.0.3 832 | fast-deep-equal: 3.1.3 833 | file-entry-cache: 6.0.1 834 | functional-red-black-tree: 1.0.1 835 | glob-parent: 5.1.2 836 | globals: 13.15.0 837 | ignore: 4.0.6 838 | import-fresh: 3.3.0 839 | imurmurhash: 0.1.4 840 | is-glob: 4.0.3 841 | js-yaml: 3.14.1 842 | json-stable-stringify-without-jsonify: 1.0.1 843 | levn: 0.4.1 844 | lodash.merge: 4.6.2 845 | minimatch: 3.1.2 846 | natural-compare: 1.4.0 847 | optionator: 0.9.1 848 | progress: 2.0.3 849 | regexpp: 3.2.0 850 | semver: 7.3.7 851 | strip-ansi: 6.0.1 852 | strip-json-comments: 3.1.1 853 | table: 6.8.0 854 | text-table: 0.2.0 855 | v8-compile-cache: 2.3.0 856 | transitivePeerDependencies: 857 | - supports-color 858 | dev: true 859 | 860 | /espree/7.3.1: 861 | resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} 862 | engines: {node: ^10.12.0 || >=12.0.0} 863 | dependencies: 864 | acorn: 7.4.1 865 | acorn-jsx: 5.3.2_acorn@7.4.1 866 | eslint-visitor-keys: 1.3.0 867 | dev: true 868 | 869 | /esprima/4.0.1: 870 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 871 | engines: {node: '>=4'} 872 | hasBin: true 873 | dev: true 874 | 875 | /esquery/1.4.0: 876 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 877 | engines: {node: '>=0.10'} 878 | dependencies: 879 | estraverse: 5.3.0 880 | dev: true 881 | 882 | /esrecurse/4.3.0: 883 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 884 | engines: {node: '>=4.0'} 885 | dependencies: 886 | estraverse: 5.3.0 887 | dev: true 888 | 889 | /estraverse/4.3.0: 890 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 891 | engines: {node: '>=4.0'} 892 | dev: true 893 | 894 | /estraverse/5.3.0: 895 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 896 | engines: {node: '>=4.0'} 897 | dev: true 898 | 899 | /esutils/2.0.3: 900 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 901 | engines: {node: '>=0.10.0'} 902 | dev: true 903 | 904 | /fast-deep-equal/3.1.3: 905 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 906 | 907 | /fast-glob/3.2.11: 908 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 909 | engines: {node: '>=8.6.0'} 910 | dependencies: 911 | '@nodelib/fs.stat': 2.0.5 912 | '@nodelib/fs.walk': 1.2.8 913 | glob-parent: 5.1.2 914 | merge2: 1.4.1 915 | micromatch: 4.0.5 916 | dev: true 917 | 918 | /fast-json-stable-stringify/2.1.0: 919 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 920 | 921 | /fast-levenshtein/2.0.6: 922 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 923 | dev: true 924 | 925 | /fastq/1.13.0: 926 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 927 | dependencies: 928 | reusify: 1.0.4 929 | dev: true 930 | 931 | /file-entry-cache/6.0.1: 932 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 933 | engines: {node: ^10.12.0 || >=12.0.0} 934 | dependencies: 935 | flat-cache: 3.0.4 936 | dev: true 937 | 938 | /fill-range/7.0.1: 939 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 940 | engines: {node: '>=8'} 941 | dependencies: 942 | to-regex-range: 5.0.1 943 | dev: true 944 | 945 | /find-up/2.1.0: 946 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 947 | engines: {node: '>=4'} 948 | dependencies: 949 | locate-path: 2.0.0 950 | dev: true 951 | 952 | /flat-cache/3.0.4: 953 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 954 | engines: {node: ^10.12.0 || >=12.0.0} 955 | dependencies: 956 | flatted: 3.2.6 957 | rimraf: 3.0.2 958 | dev: true 959 | 960 | /flatted/3.2.6: 961 | resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==} 962 | dev: true 963 | 964 | /follow-redirects/1.15.1_debug@4.3.4: 965 | resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} 966 | engines: {node: '>=4.0'} 967 | peerDependencies: 968 | debug: '*' 969 | peerDependenciesMeta: 970 | debug: 971 | optional: true 972 | dependencies: 973 | debug: 4.3.4 974 | dev: false 975 | 976 | /fs-extra/10.1.0: 977 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 978 | engines: {node: '>=12'} 979 | dependencies: 980 | graceful-fs: 4.2.10 981 | jsonfile: 6.1.0 982 | universalify: 2.0.0 983 | dev: false 984 | 985 | /fs.realpath/1.0.0: 986 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 987 | dev: true 988 | 989 | /function-bind/1.1.1: 990 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 991 | dev: true 992 | 993 | /function.prototype.name/1.1.5: 994 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 995 | engines: {node: '>= 0.4'} 996 | dependencies: 997 | call-bind: 1.0.2 998 | define-properties: 1.1.4 999 | es-abstract: 1.20.1 1000 | functions-have-names: 1.2.3 1001 | dev: true 1002 | 1003 | /functional-red-black-tree/1.0.1: 1004 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1005 | dev: true 1006 | 1007 | /functions-have-names/1.2.3: 1008 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1009 | dev: true 1010 | 1011 | /get-intrinsic/1.1.2: 1012 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 1013 | dependencies: 1014 | function-bind: 1.1.1 1015 | has: 1.0.3 1016 | has-symbols: 1.0.3 1017 | dev: true 1018 | 1019 | /get-stdin/6.0.0: 1020 | resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} 1021 | engines: {node: '>=4'} 1022 | dev: true 1023 | 1024 | /get-symbol-description/1.0.0: 1025 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1026 | engines: {node: '>= 0.4'} 1027 | dependencies: 1028 | call-bind: 1.0.2 1029 | get-intrinsic: 1.1.2 1030 | dev: true 1031 | 1032 | /glob-parent/5.1.2: 1033 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1034 | engines: {node: '>= 6'} 1035 | dependencies: 1036 | is-glob: 4.0.3 1037 | dev: true 1038 | 1039 | /glob/7.2.3: 1040 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1041 | dependencies: 1042 | fs.realpath: 1.0.0 1043 | inflight: 1.0.6 1044 | inherits: 2.0.4 1045 | minimatch: 3.1.2 1046 | once: 1.4.0 1047 | path-is-absolute: 1.0.1 1048 | dev: true 1049 | 1050 | /globals/13.15.0: 1051 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} 1052 | engines: {node: '>=8'} 1053 | dependencies: 1054 | type-fest: 0.20.2 1055 | dev: true 1056 | 1057 | /globby/11.1.0: 1058 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1059 | engines: {node: '>=10'} 1060 | dependencies: 1061 | array-union: 2.1.0 1062 | dir-glob: 3.0.1 1063 | fast-glob: 3.2.11 1064 | ignore: 5.2.0 1065 | merge2: 1.4.1 1066 | slash: 3.0.0 1067 | dev: true 1068 | 1069 | /graceful-fs/4.2.10: 1070 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1071 | dev: false 1072 | 1073 | /has-bigints/1.0.2: 1074 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1075 | dev: true 1076 | 1077 | /has-flag/3.0.0: 1078 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1079 | engines: {node: '>=4'} 1080 | dev: true 1081 | 1082 | /has-flag/4.0.0: 1083 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1084 | engines: {node: '>=8'} 1085 | 1086 | /has-property-descriptors/1.0.0: 1087 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1088 | dependencies: 1089 | get-intrinsic: 1.1.2 1090 | dev: true 1091 | 1092 | /has-symbols/1.0.3: 1093 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1094 | engines: {node: '>= 0.4'} 1095 | dev: true 1096 | 1097 | /has-tostringtag/1.0.0: 1098 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1099 | engines: {node: '>= 0.4'} 1100 | dependencies: 1101 | has-symbols: 1.0.3 1102 | dev: true 1103 | 1104 | /has/1.0.3: 1105 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1106 | engines: {node: '>= 0.4.0'} 1107 | dependencies: 1108 | function-bind: 1.1.1 1109 | dev: true 1110 | 1111 | /ignore/4.0.6: 1112 | resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} 1113 | engines: {node: '>= 4'} 1114 | dev: true 1115 | 1116 | /ignore/5.2.0: 1117 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1118 | engines: {node: '>= 4'} 1119 | dev: true 1120 | 1121 | /import-fresh/3.3.0: 1122 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1123 | engines: {node: '>=6'} 1124 | dependencies: 1125 | parent-module: 1.0.1 1126 | resolve-from: 4.0.0 1127 | dev: true 1128 | 1129 | /imurmurhash/0.1.4: 1130 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1131 | engines: {node: '>=0.8.19'} 1132 | dev: true 1133 | 1134 | /inflight/1.0.6: 1135 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1136 | dependencies: 1137 | once: 1.4.0 1138 | wrappy: 1.0.2 1139 | dev: true 1140 | 1141 | /inherits/2.0.3: 1142 | resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} 1143 | dev: false 1144 | 1145 | /inherits/2.0.4: 1146 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1147 | 1148 | /internal-slot/1.0.3: 1149 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1150 | engines: {node: '>= 0.4'} 1151 | dependencies: 1152 | get-intrinsic: 1.1.2 1153 | has: 1.0.3 1154 | side-channel: 1.0.4 1155 | dev: true 1156 | 1157 | /is-bigint/1.0.4: 1158 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1159 | dependencies: 1160 | has-bigints: 1.0.2 1161 | dev: true 1162 | 1163 | /is-boolean-object/1.1.2: 1164 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1165 | engines: {node: '>= 0.4'} 1166 | dependencies: 1167 | call-bind: 1.0.2 1168 | has-tostringtag: 1.0.0 1169 | dev: true 1170 | 1171 | /is-callable/1.2.4: 1172 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 1173 | engines: {node: '>= 0.4'} 1174 | dev: true 1175 | 1176 | /is-core-module/2.9.0: 1177 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 1178 | dependencies: 1179 | has: 1.0.3 1180 | dev: true 1181 | 1182 | /is-date-object/1.0.5: 1183 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1184 | engines: {node: '>= 0.4'} 1185 | dependencies: 1186 | has-tostringtag: 1.0.0 1187 | dev: true 1188 | 1189 | /is-extglob/2.1.1: 1190 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1191 | engines: {node: '>=0.10.0'} 1192 | dev: true 1193 | 1194 | /is-fullwidth-code-point/3.0.0: 1195 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1196 | engines: {node: '>=8'} 1197 | dev: true 1198 | 1199 | /is-glob/4.0.3: 1200 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1201 | engines: {node: '>=0.10.0'} 1202 | dependencies: 1203 | is-extglob: 2.1.1 1204 | dev: true 1205 | 1206 | /is-negative-zero/2.0.2: 1207 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1208 | engines: {node: '>= 0.4'} 1209 | dev: true 1210 | 1211 | /is-number-object/1.0.7: 1212 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1213 | engines: {node: '>= 0.4'} 1214 | dependencies: 1215 | has-tostringtag: 1.0.0 1216 | dev: true 1217 | 1218 | /is-number/7.0.0: 1219 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1220 | engines: {node: '>=0.12.0'} 1221 | dev: true 1222 | 1223 | /is-promise/2.2.2: 1224 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 1225 | dev: false 1226 | 1227 | /is-regex/1.1.4: 1228 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1229 | engines: {node: '>= 0.4'} 1230 | dependencies: 1231 | call-bind: 1.0.2 1232 | has-tostringtag: 1.0.0 1233 | dev: true 1234 | 1235 | /is-shared-array-buffer/1.0.2: 1236 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1237 | dependencies: 1238 | call-bind: 1.0.2 1239 | dev: true 1240 | 1241 | /is-string/1.0.7: 1242 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1243 | engines: {node: '>= 0.4'} 1244 | dependencies: 1245 | has-tostringtag: 1.0.0 1246 | dev: true 1247 | 1248 | /is-symbol/1.0.4: 1249 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1250 | engines: {node: '>= 0.4'} 1251 | dependencies: 1252 | has-symbols: 1.0.3 1253 | dev: true 1254 | 1255 | /is-weakref/1.0.2: 1256 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1257 | dependencies: 1258 | call-bind: 1.0.2 1259 | dev: true 1260 | 1261 | /isexe/2.0.0: 1262 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1263 | dev: true 1264 | 1265 | /jose/4.8.3: 1266 | resolution: {integrity: sha512-7rySkpW78d8LBp4YU70Wb7+OTgE3OwAALNVZxhoIhp4Kscp+p/fBkdpxGAMKxvCAMV4QfXBU9m6l9nX/vGwd2g==} 1267 | dev: false 1268 | 1269 | /js-tokens/4.0.0: 1270 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1271 | dev: true 1272 | 1273 | /js-yaml/3.14.1: 1274 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1275 | hasBin: true 1276 | dependencies: 1277 | argparse: 1.0.10 1278 | esprima: 4.0.1 1279 | dev: true 1280 | 1281 | /json-schema-traverse/0.4.1: 1282 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1283 | 1284 | /json-schema-traverse/1.0.0: 1285 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 1286 | dev: true 1287 | 1288 | /json-stable-stringify-without-jsonify/1.0.1: 1289 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1290 | dev: true 1291 | 1292 | /json5/1.0.1: 1293 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 1294 | hasBin: true 1295 | dependencies: 1296 | minimist: 1.2.6 1297 | dev: true 1298 | 1299 | /jsonfile/6.1.0: 1300 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1301 | dependencies: 1302 | universalify: 2.0.0 1303 | optionalDependencies: 1304 | graceful-fs: 4.2.10 1305 | dev: false 1306 | 1307 | /jsonwebtoken/8.5.1: 1308 | resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} 1309 | engines: {node: '>=4', npm: '>=1.4.28'} 1310 | dependencies: 1311 | jws: 3.2.2 1312 | lodash.includes: 4.3.0 1313 | lodash.isboolean: 3.0.3 1314 | lodash.isinteger: 4.0.4 1315 | lodash.isnumber: 3.0.3 1316 | lodash.isplainobject: 4.0.6 1317 | lodash.isstring: 4.0.1 1318 | lodash.once: 4.1.1 1319 | ms: 2.1.3 1320 | semver: 5.7.1 1321 | dev: false 1322 | 1323 | /jwa/1.4.1: 1324 | resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} 1325 | dependencies: 1326 | buffer-equal-constant-time: 1.0.1 1327 | ecdsa-sig-formatter: 1.0.11 1328 | safe-buffer: 5.2.1 1329 | dev: false 1330 | 1331 | /jws/3.2.2: 1332 | resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} 1333 | dependencies: 1334 | jwa: 1.4.1 1335 | safe-buffer: 5.2.1 1336 | dev: false 1337 | 1338 | /levn/0.4.1: 1339 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1340 | engines: {node: '>= 0.8.0'} 1341 | dependencies: 1342 | prelude-ls: 1.2.1 1343 | type-check: 0.4.0 1344 | dev: true 1345 | 1346 | /locate-path/2.0.0: 1347 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 1348 | engines: {node: '>=4'} 1349 | dependencies: 1350 | p-locate: 2.0.0 1351 | path-exists: 3.0.0 1352 | dev: true 1353 | 1354 | /lodash.get/4.4.2: 1355 | resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} 1356 | dev: false 1357 | 1358 | /lodash.includes/4.3.0: 1359 | resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} 1360 | dev: false 1361 | 1362 | /lodash.isboolean/3.0.3: 1363 | resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} 1364 | dev: false 1365 | 1366 | /lodash.isinteger/4.0.4: 1367 | resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} 1368 | dev: false 1369 | 1370 | /lodash.isnumber/3.0.3: 1371 | resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} 1372 | dev: false 1373 | 1374 | /lodash.isplainobject/4.0.6: 1375 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 1376 | dev: false 1377 | 1378 | /lodash.isstring/4.0.1: 1379 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 1380 | dev: false 1381 | 1382 | /lodash.merge/4.6.2: 1383 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1384 | 1385 | /lodash.once/4.1.1: 1386 | resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} 1387 | dev: false 1388 | 1389 | /lodash.reduce/4.6.0: 1390 | resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==} 1391 | dev: false 1392 | 1393 | /lodash.truncate/4.4.2: 1394 | resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} 1395 | dev: true 1396 | 1397 | /lodash/4.17.21: 1398 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1399 | dev: false 1400 | 1401 | /lowdb/1.0.0: 1402 | resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} 1403 | engines: {node: '>=4'} 1404 | dependencies: 1405 | graceful-fs: 4.2.10 1406 | is-promise: 2.2.2 1407 | lodash: 4.17.21 1408 | pify: 3.0.0 1409 | steno: 0.4.4 1410 | dev: false 1411 | 1412 | /lru-cache/6.0.0: 1413 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1414 | engines: {node: '>=10'} 1415 | dependencies: 1416 | yallist: 4.0.0 1417 | dev: true 1418 | 1419 | /macaddress/0.5.3: 1420 | resolution: {integrity: sha512-vGBKTA+jwM4KgjGZ+S/8/Mkj9rWzePyGY6jManXPGhiWu63RYwW8dKPyk5koP+8qNVhPhHgFa1y/MJ4wrjsNrg==} 1421 | dev: false 1422 | 1423 | /merge2/1.4.1: 1424 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1425 | engines: {node: '>= 8'} 1426 | dev: true 1427 | 1428 | /micromatch/4.0.5: 1429 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1430 | engines: {node: '>=8.6'} 1431 | dependencies: 1432 | braces: 3.0.2 1433 | picomatch: 2.3.1 1434 | dev: true 1435 | 1436 | /minecraft-data/2.221.0: 1437 | resolution: {integrity: sha512-0AhqzbIKb6WqPSF6qBevaPryeWOz545hLxt6q+gfJF8YIQX/YfkyX/nXWhl+pSIS2rTBcQ0RJkRCtTeRzQwHDA==} 1438 | dev: false 1439 | 1440 | /minecraft-data/3.5.1: 1441 | resolution: {integrity: sha512-6EZJwauZckCualacuAJ/RCP1Q+aTUCQuY23CsCQey/xRMYstlBnqdxaXptsRtSGLAjs56mR9K/N8FdTB5+Y3lQ==} 1442 | dev: false 1443 | 1444 | /minecraft-folder-path/1.2.0: 1445 | resolution: {integrity: sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw==} 1446 | dev: false 1447 | 1448 | /minecraft-protocol/1.35.0: 1449 | resolution: {integrity: sha512-Ie4TQ/liooo77s58Xo68ywH998KW7Jemy8TkMjiqUrMpecNgpm7n/P2ddD85EvLS7EHVZLto7YmiTvVlSF6UGg==} 1450 | engines: {node: '>=14'} 1451 | dependencies: 1452 | '@types/readable-stream': 2.3.13 1453 | aes-js: 3.1.2 1454 | buffer-equal: 1.0.0 1455 | debug: 4.3.4 1456 | endian-toggle: 0.0.0 1457 | lodash.get: 4.4.2 1458 | lodash.merge: 4.6.2 1459 | minecraft-data: 3.5.1 1460 | minecraft-folder-path: 1.2.0 1461 | node-fetch: 2.6.7 1462 | node-rsa: 0.4.2 1463 | prismarine-auth: 1.5.3 1464 | prismarine-nbt: 2.2.1 1465 | protodef: 1.15.0 1466 | readable-stream: 3.6.0 1467 | uuid-1345: 1.0.2 1468 | yggdrasil: 1.7.0 1469 | transitivePeerDependencies: 1470 | - encoding 1471 | - supports-color 1472 | dev: false 1473 | 1474 | /mineflayer-antiafk/1.1.1: 1475 | resolution: {integrity: sha512-NflfEzBTNxnML15JhG1V8g65mwva/b9MhmsTVf70F0wMmdz2kT93S34KCwTE3/Xj/lJyE5tp0TVYk9iZYXrWhQ==} 1476 | dependencies: 1477 | mineflayer-auto-eat: 2.3.3 1478 | vec3: 0.1.7 1479 | dev: false 1480 | 1481 | /mineflayer-auto-eat/2.3.3: 1482 | resolution: {integrity: sha512-fy0Jjd9dcnjkcucPcs2uN13wYF4KChEby11pO6Iq3SyRDqjHuKa7U/DKbo5MZaTmucBMRPE1+ETl3kWEI/FCjg==} 1483 | dependencies: 1484 | minecraft-data: 2.221.0 1485 | dev: false 1486 | 1487 | /mineflayer/4.3.0: 1488 | resolution: {integrity: sha512-GOA/kjtwjw05/OQehei40YjJ215NrZaBjpK6jWshdo4KmJAs9cnSQ+3TmU838V5zb6wDDQ9XEnAJ55loTyYCPw==} 1489 | engines: {node: '>=14'} 1490 | dependencies: 1491 | minecraft-data: 3.5.1 1492 | minecraft-protocol: 1.35.0 1493 | prismarine-biome: 1.3.0_5k43kmgccxoykjx5wrvi4637fi 1494 | prismarine-block: 1.16.3 1495 | prismarine-chat: 1.6.1 1496 | prismarine-chunk: 1.31.0 1497 | prismarine-entity: 2.1.1 1498 | prismarine-item: 1.11.5 1499 | prismarine-nbt: 2.2.1 1500 | prismarine-physics: 1.5.2 1501 | prismarine-recipe: 1.2.0_minecraft-data@3.5.1 1502 | prismarine-registry: 1.2.0 1503 | prismarine-windows: 2.4.4 1504 | prismarine-world: 3.6.1 1505 | protodef: 1.15.0 1506 | typed-emitter: 1.4.0 1507 | vec3: 0.1.7 1508 | transitivePeerDependencies: 1509 | - encoding 1510 | - supports-color 1511 | dev: false 1512 | 1513 | /minimatch/3.1.2: 1514 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1515 | dependencies: 1516 | brace-expansion: 1.1.11 1517 | dev: true 1518 | 1519 | /minimist/1.2.6: 1520 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 1521 | dev: true 1522 | 1523 | /mojangson/2.0.2: 1524 | resolution: {integrity: sha512-iGPRE1Ez+W+42Dt4Ao91c9VVs+FmuRUlAFDef76xRX3mbZrTNuezDtFI0PbfYqheg/B0fSiq0Q0V1emZNt37cw==} 1525 | dependencies: 1526 | nearley: 2.20.1 1527 | dev: false 1528 | 1529 | /moo/0.5.1: 1530 | resolution: {integrity: sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==} 1531 | dev: false 1532 | 1533 | /ms/2.0.0: 1534 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1535 | dev: true 1536 | 1537 | /ms/2.1.2: 1538 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1539 | 1540 | /ms/2.1.3: 1541 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1542 | 1543 | /natural-compare/1.4.0: 1544 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1545 | dev: true 1546 | 1547 | /nearley/2.20.1: 1548 | resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} 1549 | hasBin: true 1550 | dependencies: 1551 | commander: 2.20.3 1552 | moo: 0.5.1 1553 | railroad-diagrams: 1.0.0 1554 | randexp: 0.4.6 1555 | dev: false 1556 | 1557 | /node-fetch/2.6.7: 1558 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1559 | engines: {node: 4.x || >=6.0.0} 1560 | peerDependencies: 1561 | encoding: ^0.1.0 1562 | peerDependenciesMeta: 1563 | encoding: 1564 | optional: true 1565 | dependencies: 1566 | whatwg-url: 5.0.0 1567 | dev: false 1568 | 1569 | /node-rsa/0.4.2: 1570 | resolution: {integrity: sha512-Bvso6Zi9LY4otIZefYrscsUpo2mUpiAVIEmSZV2q41sP8tHZoert3Yu6zv4f/RXJqMNZQKCtnhDugIuCma23YA==} 1571 | dependencies: 1572 | asn1: 0.2.3 1573 | dev: false 1574 | 1575 | /object-inspect/1.12.2: 1576 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 1577 | dev: true 1578 | 1579 | /object-keys/1.1.1: 1580 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1581 | engines: {node: '>= 0.4'} 1582 | dev: true 1583 | 1584 | /object.assign/4.1.2: 1585 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 1586 | engines: {node: '>= 0.4'} 1587 | dependencies: 1588 | call-bind: 1.0.2 1589 | define-properties: 1.1.4 1590 | has-symbols: 1.0.3 1591 | object-keys: 1.1.1 1592 | dev: true 1593 | 1594 | /object.fromentries/2.0.5: 1595 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} 1596 | engines: {node: '>= 0.4'} 1597 | dependencies: 1598 | call-bind: 1.0.2 1599 | define-properties: 1.1.4 1600 | es-abstract: 1.20.1 1601 | dev: true 1602 | 1603 | /object.values/1.1.5: 1604 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 1605 | engines: {node: '>= 0.4'} 1606 | dependencies: 1607 | call-bind: 1.0.2 1608 | define-properties: 1.1.4 1609 | es-abstract: 1.20.1 1610 | dev: true 1611 | 1612 | /once/1.4.0: 1613 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1614 | dependencies: 1615 | wrappy: 1.0.2 1616 | dev: true 1617 | 1618 | /optionator/0.9.1: 1619 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1620 | engines: {node: '>= 0.8.0'} 1621 | dependencies: 1622 | deep-is: 0.1.4 1623 | fast-levenshtein: 2.0.6 1624 | levn: 0.4.1 1625 | prelude-ls: 1.2.1 1626 | type-check: 0.4.0 1627 | word-wrap: 1.2.3 1628 | dev: true 1629 | 1630 | /p-limit/1.3.0: 1631 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 1632 | engines: {node: '>=4'} 1633 | dependencies: 1634 | p-try: 1.0.0 1635 | dev: true 1636 | 1637 | /p-locate/2.0.0: 1638 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 1639 | engines: {node: '>=4'} 1640 | dependencies: 1641 | p-limit: 1.3.0 1642 | dev: true 1643 | 1644 | /p-try/1.0.0: 1645 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 1646 | engines: {node: '>=4'} 1647 | dev: true 1648 | 1649 | /parent-module/1.0.1: 1650 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1651 | engines: {node: '>=6'} 1652 | dependencies: 1653 | callsites: 3.1.0 1654 | dev: true 1655 | 1656 | /path-exists/3.0.0: 1657 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 1658 | engines: {node: '>=4'} 1659 | dev: true 1660 | 1661 | /path-is-absolute/1.0.1: 1662 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1663 | engines: {node: '>=0.10.0'} 1664 | dev: true 1665 | 1666 | /path-key/3.1.1: 1667 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1668 | engines: {node: '>=8'} 1669 | dev: true 1670 | 1671 | /path-parse/1.0.7: 1672 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1673 | dev: true 1674 | 1675 | /path-type/4.0.0: 1676 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1677 | engines: {node: '>=8'} 1678 | dev: true 1679 | 1680 | /path/0.12.7: 1681 | resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} 1682 | dependencies: 1683 | process: 0.11.10 1684 | util: 0.10.4 1685 | dev: false 1686 | 1687 | /picomatch/2.3.1: 1688 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1689 | engines: {node: '>=8.6'} 1690 | dev: true 1691 | 1692 | /pify/3.0.0: 1693 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1694 | engines: {node: '>=4'} 1695 | dev: false 1696 | 1697 | /prelude-ls/1.2.1: 1698 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1699 | engines: {node: '>= 0.8.0'} 1700 | dev: true 1701 | 1702 | /prettier/2.7.1: 1703 | resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} 1704 | engines: {node: '>=10.13.0'} 1705 | hasBin: true 1706 | dev: true 1707 | 1708 | /prismarine-auth/1.5.3: 1709 | resolution: {integrity: sha512-MPkyJ0yXxL6r+aiOZV4PGlI47tXs13z3bA7rI+3vx2xpWEcmrGKP9m3sLJfGu9cOtmRz/4BGVkZ18XjD3cqjXA==} 1710 | dependencies: 1711 | '@azure/msal-node': 1.10.0 1712 | '@xboxreplay/xboxlive-auth': 3.3.3_debug@4.3.4 1713 | debug: 4.3.4 1714 | jose: 4.8.3 1715 | node-fetch: 2.6.7 1716 | smart-buffer: 4.2.0 1717 | uuid-1345: 1.0.2 1718 | transitivePeerDependencies: 1719 | - encoding 1720 | - supports-color 1721 | dev: false 1722 | 1723 | /prismarine-biome/1.3.0_5k43kmgccxoykjx5wrvi4637fi: 1724 | resolution: {integrity: sha512-GY6nZxq93mTErT7jD7jt8YS1aPrOakbJHh39seYsJFXvueIOdHAmW16kYQVrTVMW5MlWLQVxV/EquRwOgr4MnQ==} 1725 | peerDependencies: 1726 | minecraft-data: ^3.0.0 1727 | prismarine-registry: ^1.1.0 1728 | dependencies: 1729 | minecraft-data: 3.5.1 1730 | prismarine-registry: 1.2.0 1731 | dev: false 1732 | 1733 | /prismarine-block/1.16.3: 1734 | resolution: {integrity: sha512-E9OazjIqnEgcXM6me6EIeQFMcNRWZzsaftWtetRSIKVoW+4UKWleb6lTNKh9kq7wNxciKavcYBmKL3sF7HfSaA==} 1735 | dependencies: 1736 | minecraft-data: 3.5.1 1737 | prismarine-biome: 1.3.0_5k43kmgccxoykjx5wrvi4637fi 1738 | prismarine-chat: 1.6.1 1739 | prismarine-item: 1.11.5 1740 | prismarine-nbt: 2.2.1 1741 | prismarine-registry: 1.2.0 1742 | dev: false 1743 | 1744 | /prismarine-chat/1.6.1: 1745 | resolution: {integrity: sha512-BvDR6Jzz9aoSKa7L5peOPzEp0MyrEj+N5nRaBT2VBpPtGXx+jQCxqAK7XDWF65Z5iRhjubfGdZZf65ayWG3oDA==} 1746 | dependencies: 1747 | minecraft-data: 3.5.1 1748 | mojangson: 2.0.2 1749 | prismarine-item: 1.11.5 1750 | prismarine-nbt: 2.2.1 1751 | sprintf-js: 1.1.2 1752 | dev: false 1753 | 1754 | /prismarine-chunk/1.31.0: 1755 | resolution: {integrity: sha512-Co5nE63yRabMaK2dRfflk5fGbNafFStz5zm8fsgUmG0g4d7qtPvIuQiB7kpl66pm+nv55rtQcW2UvxCo6u4w1A==} 1756 | engines: {node: '>=14'} 1757 | dependencies: 1758 | minecraft-data: 3.5.1 1759 | prismarine-biome: 1.3.0_5k43kmgccxoykjx5wrvi4637fi 1760 | prismarine-block: 1.16.3 1761 | prismarine-registry: 1.2.0 1762 | smart-buffer: 4.2.0 1763 | uint4: 0.1.2 1764 | vec3: 0.1.7 1765 | xxhash-wasm: 0.4.2 1766 | dev: false 1767 | 1768 | /prismarine-entity/2.1.1: 1769 | resolution: {integrity: sha512-79iWUYNf0KRhMvvVJ4TTCQQZItPanA5zWBstx+eu98480WrCWi9fCdCPtY0Bsl4+o+tnkcTb6oMLlndx4yPwLA==} 1770 | dependencies: 1771 | minecraft-data: 3.5.1 1772 | prismarine-chat: 1.6.1 1773 | prismarine-item: 1.11.5 1774 | vec3: 0.1.7 1775 | dev: false 1776 | 1777 | /prismarine-item/1.11.5: 1778 | resolution: {integrity: sha512-aWH1AXTiSDUUM0LVnFtJJ96If/sOiuM3DBZmSvtwFD+ufQsF3WndH2QW2Pv6FbabKByneF9xyPsq5dhUnvcG7g==} 1779 | dependencies: 1780 | minecraft-data: 3.5.1 1781 | prismarine-nbt: 2.2.1 1782 | dev: false 1783 | 1784 | /prismarine-nbt/2.2.1: 1785 | resolution: {integrity: sha512-Mb50c58CPnuZ+qvM31DBa08tf9UumlTq1LkvpMoUpKfCuN05GZHTqCUwER3lxTSHLL0GZKghIPbYR/JQkINijQ==} 1786 | dependencies: 1787 | protodef: 1.15.0 1788 | dev: false 1789 | 1790 | /prismarine-physics/1.5.2: 1791 | resolution: {integrity: sha512-Ak1yM/Fv9qxIt8Lgp/pHYS0v5P1bkZLq27Cb35Z/0YMCEUk0zXGfJOg0R666EQJOnAA1ABNZlRjglL9ZBMnWqg==} 1792 | dependencies: 1793 | minecraft-data: 3.5.1 1794 | prismarine-nbt: 2.2.1 1795 | vec3: 0.1.7 1796 | dev: false 1797 | 1798 | /prismarine-recipe/1.2.0_minecraft-data@3.5.1: 1799 | resolution: {integrity: sha512-ZkCtEi5xDS7tAJgDS/BxjvEYPAXusikcyIWYhPOpA6nslIUqWF5+QevC6FpNa3eQVdebgiNBQqHggcnI4xww5g==} 1800 | peerDependencies: 1801 | minecraft-data: ^3.0.0 1802 | dependencies: 1803 | minecraft-data: 3.5.1 1804 | dev: false 1805 | 1806 | /prismarine-registry/1.2.0: 1807 | resolution: {integrity: sha512-c3aEnn9/KrHo0zv4KihX0caFilCw5VW8Kaj9LXtArGRk5NkncDCguhM0S1SEj4WqoXsFSY4yG5HM5G4F92SKHg==} 1808 | dependencies: 1809 | minecraft-data: 3.5.1 1810 | prismarine-nbt: 2.2.1 1811 | dev: false 1812 | 1813 | /prismarine-windows/2.4.4: 1814 | resolution: {integrity: sha512-bjva7DtEu9V37SGgCqMiAgMRtwTypqyB95bS8VULUxoMPNhbcyTxdQhU6Fe2OFq4ufT9x3hGMKpMwJy+oepE0A==} 1815 | dependencies: 1816 | minecraft-data: 3.5.1 1817 | prismarine-item: 1.11.5 1818 | dev: false 1819 | 1820 | /prismarine-world/3.6.1: 1821 | resolution: {integrity: sha512-sv7rR+vJ/ac3/dm4MoumreL4eqMi3B+h8I+JDYXQkNCdSJJISniQvi5qS4zTnAUCGXx/N6QfQ02bjBfyEoZuRw==} 1822 | engines: {node: '>=8.0.0'} 1823 | dependencies: 1824 | vec3: 0.1.7 1825 | dev: false 1826 | 1827 | /process/0.11.10: 1828 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1829 | engines: {node: '>= 0.6.0'} 1830 | dev: false 1831 | 1832 | /progress/2.0.3: 1833 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 1834 | engines: {node: '>=0.4.0'} 1835 | dev: true 1836 | 1837 | /protodef-validator/1.3.1: 1838 | resolution: {integrity: sha512-lZ5FWKZYR9xOjpMw1+EfZRfCjzNRQWPq+Dk+jki47Sikl2EeWEPnTfnJERwnU/EwFq6us+0zqHHzSsmLeYX+Lg==} 1839 | hasBin: true 1840 | dependencies: 1841 | ajv: 6.12.6 1842 | dev: false 1843 | 1844 | /protodef/1.15.0: 1845 | resolution: {integrity: sha512-bZ2Omw8dT+DACjJHLrBWZlqN4MlT9g9oSpJDdkUAJOStUzgJp+Zn42FJfPUdwutUxjaxA0PftN0PDlNa2XbneA==} 1846 | engines: {node: '>=14'} 1847 | dependencies: 1848 | lodash.get: 4.4.2 1849 | lodash.reduce: 4.6.0 1850 | protodef-validator: 1.3.1 1851 | readable-stream: 3.6.0 1852 | dev: false 1853 | 1854 | /punycode/2.1.1: 1855 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 1856 | engines: {node: '>=6'} 1857 | 1858 | /queue-microtask/1.2.3: 1859 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1860 | dev: true 1861 | 1862 | /railroad-diagrams/1.0.0: 1863 | resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} 1864 | dev: false 1865 | 1866 | /randexp/0.4.6: 1867 | resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} 1868 | engines: {node: '>=0.12'} 1869 | dependencies: 1870 | discontinuous-range: 1.0.0 1871 | ret: 0.1.15 1872 | dev: false 1873 | 1874 | /readable-stream/3.6.0: 1875 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 1876 | engines: {node: '>= 6'} 1877 | dependencies: 1878 | inherits: 2.0.4 1879 | string_decoder: 1.3.0 1880 | util-deprecate: 1.0.2 1881 | dev: false 1882 | 1883 | /regexp.prototype.flags/1.4.3: 1884 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 1885 | engines: {node: '>= 0.4'} 1886 | dependencies: 1887 | call-bind: 1.0.2 1888 | define-properties: 1.1.4 1889 | functions-have-names: 1.2.3 1890 | dev: true 1891 | 1892 | /regexpp/3.2.0: 1893 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 1894 | engines: {node: '>=8'} 1895 | dev: true 1896 | 1897 | /require-from-string/2.0.2: 1898 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 1899 | engines: {node: '>=0.10.0'} 1900 | dev: true 1901 | 1902 | /resolve-from/4.0.0: 1903 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1904 | engines: {node: '>=4'} 1905 | dev: true 1906 | 1907 | /resolve/1.22.1: 1908 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1909 | hasBin: true 1910 | dependencies: 1911 | is-core-module: 2.9.0 1912 | path-parse: 1.0.7 1913 | supports-preserve-symlinks-flag: 1.0.0 1914 | dev: true 1915 | 1916 | /ret/0.1.15: 1917 | resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} 1918 | engines: {node: '>=0.12'} 1919 | dev: false 1920 | 1921 | /reusify/1.0.4: 1922 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1923 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1924 | dev: true 1925 | 1926 | /rimraf/3.0.2: 1927 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1928 | hasBin: true 1929 | dependencies: 1930 | glob: 7.2.3 1931 | dev: true 1932 | 1933 | /rotating-file-stream/2.1.6: 1934 | resolution: {integrity: sha512-qS0ndAlDu80MMXeRonqGMXslF0FErzcUSbcXhus3asRG4cvCS79hc5f7s0x4bPAsH6wAwyHVIeARg69VUe3JmQ==} 1935 | engines: {node: '>=10.0'} 1936 | dev: false 1937 | 1938 | /run-parallel/1.2.0: 1939 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1940 | dependencies: 1941 | queue-microtask: 1.2.3 1942 | dev: true 1943 | 1944 | /safe-buffer/5.2.1: 1945 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1946 | dev: false 1947 | 1948 | /semver/5.7.1: 1949 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1950 | hasBin: true 1951 | dev: false 1952 | 1953 | /semver/7.3.7: 1954 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 1955 | engines: {node: '>=10'} 1956 | hasBin: true 1957 | dependencies: 1958 | lru-cache: 6.0.0 1959 | dev: true 1960 | 1961 | /shebang-command/2.0.0: 1962 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1963 | engines: {node: '>=8'} 1964 | dependencies: 1965 | shebang-regex: 3.0.0 1966 | dev: true 1967 | 1968 | /shebang-regex/3.0.0: 1969 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1970 | engines: {node: '>=8'} 1971 | dev: true 1972 | 1973 | /side-channel/1.0.4: 1974 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1975 | dependencies: 1976 | call-bind: 1.0.2 1977 | get-intrinsic: 1.1.2 1978 | object-inspect: 1.12.2 1979 | dev: true 1980 | 1981 | /slash/3.0.0: 1982 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1983 | engines: {node: '>=8'} 1984 | dev: true 1985 | 1986 | /slice-ansi/4.0.0: 1987 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 1988 | engines: {node: '>=10'} 1989 | dependencies: 1990 | ansi-styles: 4.3.0 1991 | astral-regex: 2.0.0 1992 | is-fullwidth-code-point: 3.0.0 1993 | dev: true 1994 | 1995 | /smart-buffer/4.2.0: 1996 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 1997 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 1998 | dev: false 1999 | 2000 | /sprintf-js/1.0.3: 2001 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2002 | dev: true 2003 | 2004 | /sprintf-js/1.1.2: 2005 | resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} 2006 | dev: false 2007 | 2008 | /steno/0.4.4: 2009 | resolution: {integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==} 2010 | dependencies: 2011 | graceful-fs: 4.2.10 2012 | dev: false 2013 | 2014 | /string-width/4.2.3: 2015 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2016 | engines: {node: '>=8'} 2017 | dependencies: 2018 | emoji-regex: 8.0.0 2019 | is-fullwidth-code-point: 3.0.0 2020 | strip-ansi: 6.0.1 2021 | dev: true 2022 | 2023 | /string.prototype.trimend/1.0.5: 2024 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 2025 | dependencies: 2026 | call-bind: 1.0.2 2027 | define-properties: 1.1.4 2028 | es-abstract: 1.20.1 2029 | dev: true 2030 | 2031 | /string.prototype.trimstart/1.0.5: 2032 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 2033 | dependencies: 2034 | call-bind: 1.0.2 2035 | define-properties: 1.1.4 2036 | es-abstract: 1.20.1 2037 | dev: true 2038 | 2039 | /string_decoder/1.3.0: 2040 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2041 | dependencies: 2042 | safe-buffer: 5.2.1 2043 | dev: false 2044 | 2045 | /strip-ansi/6.0.1: 2046 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2047 | engines: {node: '>=8'} 2048 | dependencies: 2049 | ansi-regex: 5.0.1 2050 | 2051 | /strip-bom/3.0.0: 2052 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2053 | engines: {node: '>=4'} 2054 | dev: true 2055 | 2056 | /strip-json-comments/3.1.1: 2057 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2058 | engines: {node: '>=8'} 2059 | dev: true 2060 | 2061 | /supports-color/5.5.0: 2062 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2063 | engines: {node: '>=4'} 2064 | dependencies: 2065 | has-flag: 3.0.0 2066 | dev: true 2067 | 2068 | /supports-color/7.2.0: 2069 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2070 | engines: {node: '>=8'} 2071 | dependencies: 2072 | has-flag: 4.0.0 2073 | 2074 | /supports-preserve-symlinks-flag/1.0.0: 2075 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2076 | engines: {node: '>= 0.4'} 2077 | dev: true 2078 | 2079 | /table/6.8.0: 2080 | resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==} 2081 | engines: {node: '>=10.0.0'} 2082 | dependencies: 2083 | ajv: 8.11.0 2084 | lodash.truncate: 4.4.2 2085 | slice-ansi: 4.0.0 2086 | string-width: 4.2.3 2087 | strip-ansi: 6.0.1 2088 | dev: true 2089 | 2090 | /text-table/0.2.0: 2091 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2092 | dev: true 2093 | 2094 | /to-regex-range/5.0.1: 2095 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2096 | engines: {node: '>=8.0'} 2097 | dependencies: 2098 | is-number: 7.0.0 2099 | dev: true 2100 | 2101 | /tr46/0.0.3: 2102 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2103 | dev: false 2104 | 2105 | /tsconfig-paths/3.14.1: 2106 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 2107 | dependencies: 2108 | '@types/json5': 0.0.29 2109 | json5: 1.0.1 2110 | minimist: 1.2.6 2111 | strip-bom: 3.0.0 2112 | dev: true 2113 | 2114 | /tslib/1.14.1: 2115 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2116 | dev: true 2117 | 2118 | /tsutils/3.21.0_typescript@4.7.4: 2119 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2120 | engines: {node: '>= 6'} 2121 | peerDependencies: 2122 | 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' 2123 | dependencies: 2124 | tslib: 1.14.1 2125 | typescript: 4.7.4 2126 | dev: true 2127 | 2128 | /type-check/0.4.0: 2129 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2130 | engines: {node: '>= 0.8.0'} 2131 | dependencies: 2132 | prelude-ls: 1.2.1 2133 | dev: true 2134 | 2135 | /type-fest/0.20.2: 2136 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2137 | engines: {node: '>=10'} 2138 | dev: true 2139 | 2140 | /typed-emitter/1.4.0: 2141 | resolution: {integrity: sha512-weBmoo3HhpKGgLBOYwe8EB31CzDFuaK7CCL+axXhUYhn4jo6DSkHnbefboCF5i4DQ2aMFe0C/FdTWcPdObgHyg==} 2142 | dev: false 2143 | 2144 | /typescript/4.7.4: 2145 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 2146 | engines: {node: '>=4.2.0'} 2147 | hasBin: true 2148 | dev: true 2149 | 2150 | /uint4/0.1.2: 2151 | resolution: {integrity: sha512-lhEx78gdTwFWG+mt6cWAZD/R6qrIj0TTBeH5xwyuDJyswLNlGe+KVlUPQ6+mx5Ld332pS0AMUTo9hIly7YsWxQ==} 2152 | dev: false 2153 | 2154 | /unbox-primitive/1.0.2: 2155 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2156 | dependencies: 2157 | call-bind: 1.0.2 2158 | has-bigints: 1.0.2 2159 | has-symbols: 1.0.3 2160 | which-boxed-primitive: 1.0.2 2161 | dev: true 2162 | 2163 | /universalify/2.0.0: 2164 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 2165 | engines: {node: '>= 10.0.0'} 2166 | dev: false 2167 | 2168 | /uri-js/4.4.1: 2169 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2170 | dependencies: 2171 | punycode: 2.1.1 2172 | 2173 | /util-deprecate/1.0.2: 2174 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2175 | dev: false 2176 | 2177 | /util/0.10.4: 2178 | resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} 2179 | dependencies: 2180 | inherits: 2.0.3 2181 | dev: false 2182 | 2183 | /uuid-1345/1.0.2: 2184 | resolution: {integrity: sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==} 2185 | dependencies: 2186 | macaddress: 0.5.3 2187 | dev: false 2188 | 2189 | /uuid/8.3.2: 2190 | resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} 2191 | hasBin: true 2192 | dev: false 2193 | 2194 | /v8-compile-cache/2.3.0: 2195 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 2196 | dev: true 2197 | 2198 | /vec3/0.1.7: 2199 | resolution: {integrity: sha512-EZSeXBL+L3go2wWwtQQse4fEcNGIQjT14qvi4LYVj1ifZt/J5XZ1QZqkDuOVVH07YwTEIFbsAv3pzwUpF7x9Wg==} 2200 | dev: false 2201 | 2202 | /webidl-conversions/3.0.1: 2203 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2204 | dev: false 2205 | 2206 | /whatwg-url/5.0.0: 2207 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2208 | dependencies: 2209 | tr46: 0.0.3 2210 | webidl-conversions: 3.0.1 2211 | dev: false 2212 | 2213 | /which-boxed-primitive/1.0.2: 2214 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2215 | dependencies: 2216 | is-bigint: 1.0.4 2217 | is-boolean-object: 1.1.2 2218 | is-number-object: 1.0.7 2219 | is-string: 1.0.7 2220 | is-symbol: 1.0.4 2221 | dev: true 2222 | 2223 | /which/2.0.2: 2224 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2225 | engines: {node: '>= 8'} 2226 | hasBin: true 2227 | dependencies: 2228 | isexe: 2.0.0 2229 | dev: true 2230 | 2231 | /word-wrap/1.2.3: 2232 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2233 | engines: {node: '>=0.10.0'} 2234 | dev: true 2235 | 2236 | /wrappy/1.0.2: 2237 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2238 | dev: true 2239 | 2240 | /xxhash-wasm/0.4.2: 2241 | resolution: {integrity: sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==} 2242 | dev: false 2243 | 2244 | /yallist/4.0.0: 2245 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2246 | dev: true 2247 | 2248 | /yggdrasil/1.7.0: 2249 | resolution: {integrity: sha512-QBIo5fiNd7688G3FqXXYGr36uyrYzczlNuzpWFy2zL3+R+3KT2lF+wFxm51synfA3l3z6IBiGOc1/EVXWCYY1Q==} 2250 | dependencies: 2251 | node-fetch: 2.6.7 2252 | uuid: 8.3.2 2253 | transitivePeerDependencies: 2254 | - encoding 2255 | dev: false 2256 | -------------------------------------------------------------------------------- /scripts/build-package-test.sh: -------------------------------------------------------------------------------- 1 | # Build program to executable file 2 | # Should be ran from the root directory of the project 3 | 4 | npm list -g | grep pkg || npm install -g pkg 5 | pkg -d -t node16-win-x64 --compress Brotli . -------------------------------------------------------------------------------- /scripts/build-package.sh: -------------------------------------------------------------------------------- 1 | # Build program to executable file 2 | # Should be ran from the root directory of the project 3 | 4 | npm list -g | grep pkg || npm install -g pkg 5 | pkg -d --compress Brotli . -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line import/order 2 | import path from 'path'; 3 | import dotenv from 'dotenv'; 4 | 5 | // eslint-disable-next-line @typescript-eslint/ban-ts-comment 6 | //@ts-ignore 7 | if (process.pkg) { 8 | dotenv.config({ path: path.join(process.cwd(), '.env') }); 9 | } else { 10 | dotenv.config({ path: path.join(__dirname, '../../.env') }); 11 | } 12 | 13 | import TwoBTwo from './lib/core/2b2t'; 14 | 15 | const t = new TwoBTwo({ 16 | username: process.env['MINECRAFT_USERNAME'], 17 | password: process.env['MINECRAFT_PASSWORD'], 18 | auth: process.env['MINEFLAYER_AUTH'] == 'mojang' ? 'mojang' : 'microsoft', 19 | }); 20 | 21 | t.start(); 22 | -------------------------------------------------------------------------------- /src/lib/core/2b2t.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-empty */ 2 | /* eslint-disable functional/prefer-readonly-type */ 3 | /* eslint-disable functional/no-this-expression */ 4 | /* eslint-disable functional/no-class */ 5 | 6 | import EventEmitter from 'events'; 7 | 8 | import { Conn } from '@rob9315/mcproxy'; 9 | import { Webhook } from 'discord-webhook-client'; 10 | import { ServerClient } from 'minecraft-protocol'; 11 | import { BotOptions } from 'mineflayer'; 12 | import AntiAFK from 'mineflayer-antiafk'; 13 | 14 | // eslint-disable-next-line functional/no-let 15 | let LOGGER_WEBHOOK = null; 16 | if (process.env['LOGGER_WEBHOOK']) 17 | LOGGER_WEBHOOK = new Webhook({ url: process.env['LOGGER_WEBHOOK'] }); 18 | 19 | import ProxyServer from './ProxyServer'; 20 | import { LoggerExtended } from './logger'; 21 | 22 | const MC_TWOBTWO2_HOST = '2b2t.org'; 23 | const MC_VERSION = '1.12.2'; 24 | 25 | export { MC_VERSION, MC_TWOBTWO2_HOST }; 26 | export default class TwoBTwo extends EventEmitter { 27 | private _bot: Conn; 28 | private readonly options: BotOptions; 29 | private readonly proxyServer: ProxyServer; 30 | private readonly _logger: LoggerExtended; 31 | private _lastTitle?: string; 32 | 33 | // eslint-disable-next-line @typescript-eslint/no-explicit-any 34 | private i?: any; 35 | public inQueue: boolean; 36 | public reconnecting: boolean; 37 | public readonly queuePosition: number; 38 | 39 | constructor(options?: BotOptions) { 40 | super(); 41 | this.queuePosition = -1; 42 | this.inQueue = true; 43 | this.reconnecting = false; 44 | this.options = { host: MC_TWOBTWO2_HOST, version: MC_VERSION, ...options }; 45 | 46 | this._logger = new LoggerExtended(); 47 | this.proxyServer = new ProxyServer(); 48 | 49 | this.init(); 50 | } 51 | 52 | init() { 53 | this._bot = new Conn(this.options); 54 | 55 | this._bot.bot.loadPlugin(AntiAFK); 56 | this._bot.bot.afk.setOptions({ 57 | minWalkingTime: 60 * 1000, 58 | maxWalkingTime: 5 * (60 * 1000), 59 | chatMessages: [ 60 | 'afk uwu', 61 | 'totally not afk ;-;', 62 | 'aaaaaaaaaaffffffkkkkkkkk', 63 | 'afk bruh moment', 64 | ], 65 | }); 66 | this._logger.info('Launched 2b2t constructor'); 67 | 68 | this._bot.bot.on('login', () => { 69 | this._logger.info(`Logged in as ${this._bot.bot.username}`); 70 | }); 71 | 72 | this._bot.bot.on('title', (title: string) => { 73 | const data = JSON.parse(title); 74 | if (data.text && data.text.length > 2) this._lastTitle = data.text; 75 | this._logger.debug(`Title: ${JSON.stringify(data)}`); 76 | }); 77 | 78 | this.onDisconnect = this.onDisconnect.bind(this); 79 | this._bot.bot.on('end', this.onDisconnect); 80 | this._bot.bot.on('kicked', this.onDisconnect); 81 | } 82 | 83 | getQueuePosition() { 84 | if (!this.inQueue) return -1; 85 | 86 | const bar = this._lastTitle; 87 | if (!bar) return -1; 88 | 89 | const queue = parseInt(bar.replace(/[^0-9]/g, '')); 90 | return queue; 91 | } 92 | 93 | async onDisconnect(reason: string) { 94 | this._logger.error(`Disconnected: ${reason}`); 95 | try { 96 | LOGGER_WEBHOOK?.send(`Disconnected: ${reason}`); 97 | } catch (err) {} 98 | 99 | if (!this.reconnecting) { 100 | this.inQueue = true; 101 | this.reconnecting = true; 102 | 103 | // eslint-disable-next-line functional/immutable-data 104 | this.proxyServer._server.motd = `DISCONNECTED | null.exe`; 105 | 106 | await new Promise((resolve) => setTimeout(resolve, 30 * 1000)); 107 | this.init(); 108 | this.start(); 109 | } 110 | } 111 | 112 | async start() { 113 | this.proxyServer._server.removeAllListeners('login'); 114 | if (this.proxyServer._server.playerCount > 0) 115 | Object.keys(this.proxyServer._server.clients).forEach((p) => 116 | this.proxyServer._server.clients[p].end('Disconnected') 117 | ); 118 | if (this.i) clearInterval(this.i); 119 | 120 | // eslint-disable-next-line functional/immutable-data 121 | this.proxyServer._server.motd = `LOADING | null.exe`; 122 | 123 | this._bot.bot.afk.start(); 124 | this.proxyServer._server.on('login', (client: ServerClient) => { 125 | this._logger.info(`PROXY: Client ${client.username} connected`); 126 | if (client.username != this._bot.bot.username) { 127 | this._logger.warning( 128 | `PROXY: Client ${client.username} tried to connect but not allowed` 129 | ); 130 | return client.end('bruh moment'); 131 | } 132 | 133 | this._bot.bot.afk.stop(); 134 | client.on('packet', (_, meta, rawData) => { 135 | this._logger.info( 136 | `PROXY: Proxying (${meta.name}) packet with length ${rawData.length}` 137 | ); 138 | if (meta.name == 'keep_alive' || meta.name == 'update_time') { 139 | this._logger.warning(`PROXY: Skipping keep_alive packet`); 140 | return; 141 | } 142 | 143 | this._bot.writeRaw(rawData); 144 | }); 145 | 146 | client.on('end', () => { 147 | this._logger.warning(`PROXY: Client ${client.username} disconnected`); 148 | this._bot.bot.afk.start(); 149 | }); 150 | 151 | this._bot.sendPackets(client); 152 | this._bot.link(client); 153 | }); 154 | 155 | // eslint-disable-next-line functional/no-let 156 | let lastPosition = 0; 157 | this.i = setInterval(() => { 158 | const position = this.getQueuePosition(); 159 | 160 | if (position == -1) 161 | return this._logger.error(`Unable to get queue position`); 162 | if (position > 2) { 163 | if (lastPosition != position) { 164 | try { 165 | LOGGER_WEBHOOK?.send(`Queue position: ${position}, ETA: unknown`); 166 | } catch (err) {} 167 | } 168 | 169 | // eslint-disable-next-line functional/immutable-data 170 | this.proxyServer._server.motd = `Queue position: ${position} | null.exe`; 171 | lastPosition = position; 172 | this._logger.info(`Queue position: ${position}`); 173 | } else { 174 | if (this.inQueue) { 175 | this._logger.info(`Queue is done. User is ready to join the game.`); 176 | this.inQueue = false; 177 | try { 178 | LOGGER_WEBHOOK?.send( 179 | `@everyone\nQueue is done. User is ready to join the game.` 180 | ); 181 | } catch (err) {} 182 | } 183 | } 184 | }, 10 * 1000); 185 | 186 | this.reconnecting = false; 187 | } 188 | } 189 | -------------------------------------------------------------------------------- /src/lib/core/ProxyServer.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/order */ 2 | /* eslint-disable functional/no-this-expression */ 3 | /* eslint-disable functional/no-class */ 4 | import { createServer, Server, ServerClient } from 'minecraft-protocol'; 5 | import { MC_VERSION } from './2b2t'; 6 | 7 | export default class ProxyServer { 8 | public readonly _server: Server; 9 | // eslint-disable-next-line functional/prefer-readonly-type 10 | public _clients: ServerClient[]; 11 | 12 | constructor() { 13 | this._clients = []; 14 | 15 | this._server = createServer({ 16 | version: MC_VERSION, 17 | 'online-mode': false, 18 | host: '0.0.0.0', 19 | port: 25565, 20 | maxPlayers: 1, 21 | }); 22 | this._server.on('login', (client: ServerClient) => { 23 | // eslint-disable-next-line functional/immutable-data 24 | this._clients.push(client); 25 | }); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/lib/core/logger.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/ban-ts-comment */ 2 | /* eslint-disable functional/no-class */ 3 | import { mkdirSync } from 'fs'; 4 | import path from 'path'; 5 | 6 | import Logger from '@ptkdev/logger'; 7 | 8 | const logsFolder = path.join(process.cwd(), '2bored2wait-logs'); 9 | 10 | //@ts-ignore 11 | if (process.pkg && !logsFolder) mkdirSync(logsFolder); 12 | 13 | export class LoggerExtended extends Logger { 14 | constructor() { 15 | super({ 16 | debug: process.env['DEBUG'] != undefined, 17 | path: { 18 | //@ts-ignore 19 | debug_log: process.pkg ? path.join(logsFolder, 'debug.log') : undefined, 20 | //@ts-ignore 21 | error_log: process.pkg ? path.join(logsFolder, 'error.log') : undefined, 22 | }, 23 | }); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/types/mineflayer.d.ts: -------------------------------------------------------------------------------- 1 | import mineflayer from 'mineflayer'; 2 | 3 | declare module 'mineflayer' { 4 | // eslint-disable-next-line functional/prefer-type-literal 5 | interface Bot extends Mineflayer.Bot { 6 | // eslint-disable-next-line @typescript-eslint/no-explicit-any 7 | readonly afk: any; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "incremental": true, 4 | "target": "es2017", 5 | "outDir": "build/main", 6 | "rootDir": "src", 7 | "moduleResolution": "node", 8 | "module": "commonjs", 9 | "declaration": true, 10 | "inlineSourceMap": true, 11 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 12 | "resolveJsonModule": true /* Include modules imported with .json extension. */, 13 | 14 | // "strict": true /* Enable all strict type-checking options. */, 15 | 16 | /* Strict Type-Checking Options */ 17 | // "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, 18 | // "strictNullChecks": true /* Enable strict null checks. */, 19 | // "strictFunctionTypes": true /* Enable strict checking of function types. */, 20 | // "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */, 21 | // "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */, 22 | // "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, 23 | 24 | /* Additional Checks */ 25 | "noUnusedLocals": true /* Report errors on unused locals. */, 26 | "noUnusedParameters": true /* Report errors on unused parameters. */, 27 | "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, 28 | "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, 29 | "skipLibCheck": true, 30 | 31 | /* Debugging Options */ 32 | "traceResolution": false /* Report module resolution log messages. */, 33 | "listEmittedFiles": false /* Print names of generated files part of the compilation. */, 34 | "listFiles": false /* Print names of files part of the compilation. */, 35 | "pretty": true /* Stylize errors and messages using color and context. */, 36 | 37 | /* Experimental Options */ 38 | // "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */, 39 | // "emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */, 40 | }, 41 | 42 | "include": ["src/**/*.ts"], 43 | "exclude": ["node_modules/**"], 44 | "compileOnSave": false 45 | } 46 | --------------------------------------------------------------------------------